-Fri Oct 4 13:06:47 CEST 2013
+Fri Feb 14 13:26:38 CET 2014
set g_balance_shotgun_primary_refire 0.5
set g_balance_shotgun_primary_animtime 0.2
set g_balance_shotgun_primary_ammo 1
-set g_balance_shotgun_primary_speed 12000
-set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+set g_balance_shotgun_primary_solidpenetration 3.8
set g_balance_shotgun_secondary 1
set g_balance_shotgun_secondary_melee_delay 0.25 // 0.35 was too slow
set g_balance_shotgun_secondary_melee_range 120
set g_balance_uzi_sustained_refire 0.1
set g_balance_uzi_sustained_ammo 1
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
set g_balance_uzi_switchdelay_drop 0.15
set g_balance_uzi_switchdelay_raise 0.15
set g_balance_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
set g_balance_uzi_sustained_refire 0.1
set g_balance_uzi_sustained_ammo 1
-set g_balance_uzi_speed 18000
-set g_balance_uzi_bulletconstant 115 // 13.1qu
+set g_balance_uzi_solidpenetration 13.1
set g_balance_uzi_switchdelay_drop 0.15
set g_balance_uzi_switchdelay_raise 0.15
set g_balance_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
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
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
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
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
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
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
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
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
# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Belarusian (http://www.transifex.com/projects/p/xonotic/"
"language/be/)\n"
#: qcsrc/client/Main.qc:21
msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
-msgstr ""
+msgstr "ПАМЫЛКА - МЕНЮ БАЧНАЕ, АЛЕ НЕ ВЫЗНАЧАНАЕ"
#: qcsrc/client/Main.qc:46
msgid ""
#: qcsrc/client/Main.qc:56
#, c-format
msgid "^4CSQC Build information: ^1%s\n"
-msgstr ""
+msgstr "^4CSQC Інфармацыя пра збудову: ^1%s\n"
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: 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:1164
msgid "Revival progress"
msgstr ""
#: qcsrc/client/hud.qc:210
msgid "Start line"
-msgstr ""
+msgstr "Старт"
#: qcsrc/client/hud.qc:212 qcsrc/client/hud.qc:216
msgid "Finish line"
#: qcsrc/client/hud.qc:223
#, c-format
msgid "%s (%s %s)"
-msgstr ""
+msgstr "%s (%s %s)"
#: qcsrc/client/hud.qc:829
msgid "Out of ammo"
-msgstr ""
+msgstr "Няма боепрыпасаў"
#: qcsrc/client/hud.qc:833
msgid "Don't have"
#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
#, c-format
msgid "Player %d"
-msgstr ""
+msgstr "Гулец %d"
#: qcsrc/client/hud.qc:2384
msgid "^1Intermediate 1 (+15.42)"
#: qcsrc/client/hud.qc:2596
#, c-format
msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Так (%s): %d"
#: qcsrc/client/hud.qc:2598
#, 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
msgid "Personal best"
-msgstr ""
+msgstr "Уласны рэкорд"
#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
msgid "Server best"
-msgstr ""
+msgstr "Рэкорд сервера"
#: qcsrc/client/hud.qc:3552
msgid "^3Player^7: This is the chat area."
#: qcsrc/client/hud.qc:3618
#, c-format
msgid "FPS: %.*f"
-msgstr ""
+msgstr "кадры/с: %.*f"
#: qcsrc/client/hud.qc:3683
msgid "^1Observing"
#: qcsrc/client/hud.qc:3693
#, c-format
msgid "^1Press ^3%s^1 to spectate"
-msgstr ""
+msgstr "^1Націсніце ^3%s^1 каб назіраць"
#: qcsrc/client/hud.qc:3695
#, 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
#, c-format
#: qcsrc/client/hud.qc:3704
#, 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:3712
msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Матч ужо пачаўся"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Націсніце ^3%s^1 каб далучыцца"
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, 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:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
-msgstr ""
+msgstr "Колькасці каманд не збалансаваныя!"
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
-msgstr ""
+msgstr " Націсніце ^3%s%s каб карэктаваць"
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr ""
+msgstr "^7Націсніце ^3ESC ^7каб паглядзець настаўленні HUD."
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr " qu/с"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "м/с"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "км/г"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "м/г"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
-msgstr ""
+msgstr "вузлы"
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
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 ""
#: qcsrc/client/mapvoting.qc:292
msgid "Requesting preview...\n"
-msgstr ""
+msgstr "Запыт перадпрагляду...\n"
#: qcsrc/client/miscfunctions.qc:98
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"
#: 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"
#: 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"
#: qcsrc/client/scoreboard.qc:46
msgid "SCO^rank"
-msgstr ""
+msgstr "SCO^рэйтынг"
#: qcsrc/client/scoreboard.qc:47
msgid "SCO^returns"
#: qcsrc/client/scoreboard.qc:50
msgid "SCO^suicides"
-msgstr ""
+msgstr "SCO^самагубствы"
#: qcsrc/client/scoreboard.qc:51
msgid "SCO^takes"
#: qcsrc/client/scoreboard.qc:252
msgid "^3|---------------------------------------------------------------|\n"
-msgstr ""
+msgstr "^3|---------------------------------------------------------------|\n"
#: qcsrc/client/scoreboard.qc:253
msgid "Usage:\n"
-msgstr ""
+msgstr "Карыстанне:\n"
#: qcsrc/client/scoreboard.qc:254
msgid "^2scoreboard_columns_set default\n"
#: qcsrc/client/scoreboard.qc:259
msgid "^3name^7 or ^3nick^7 Name of a player\n"
-msgstr ""
+msgstr "^3імя^7 ці ^3мянушка^7 Імя гульца\n"
#: qcsrc/client/scoreboard.qc:260
msgid "^3ping^7 Ping time\n"
-msgstr ""
+msgstr "^3пінг^7 Час пінгу\n"
#: qcsrc/client/scoreboard.qc:261
msgid "^3pl^7 Packet loss\n"
-msgstr ""
+msgstr "^3пз^7 Пакетаў згублена\n"
#: qcsrc/client/scoreboard.qc:262
msgid "^3kills^7 Number of kills\n"
-msgstr ""
+msgstr "^3абойстваў^7 Колькасць забойстваў\n"
#: qcsrc/client/scoreboard.qc:263
msgid "^3deaths^7 Number of deaths\n"
-msgstr ""
+msgstr "^3deaths^7 Колькасць смерцяў\n"
#: qcsrc/client/scoreboard.qc:264
msgid "^3suicides^7 Number of suicides\n"
#: qcsrc/client/scoreboard.qc:265
msgid "^3frags^7 kills - suicides\n"
-msgstr ""
+msgstr "^3фрагі^7 забойствы - самагубствы\n"
#: qcsrc/client/scoreboard.qc:266
msgid "^3kd^7 The kill-death ratio\n"
"^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
msgid ""
#: 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
#, c-format
msgid "Accuracy stats (average %d%%)"
-msgstr ""
+msgstr "Статыстыка траплянняў (у сярэднім %d%%)"
#: qcsrc/client/scoreboard.qc:1047
#, c-format
msgid "%d%%"
-msgstr ""
+msgstr "%d%%"
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
+msgstr "Статыстыка мапы:"
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
-msgstr ""
+msgstr "Адшукана схованак:"
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
-msgstr ""
+msgstr "Рэйтынг"
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
-msgstr ""
+msgstr "^1Адраджэнне праз ^3%s^1..."
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, 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:1451
#, 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
#: 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!"
#: qcsrc/client/waypointsprites.qc:257
msgid "Blue base"
-msgstr ""
+msgstr "Сіняя база"
#: qcsrc/client/waypointsprites.qc:258
msgid "DANGER"
-msgstr ""
+msgstr "НЕБЯСПЕКА"
#: qcsrc/client/waypointsprites.qc:259
msgid "Enemy carrier"
-msgstr ""
+msgstr "Варожы носьбіт"
#: qcsrc/client/waypointsprites.qc:260
msgid "Flag carrier"
-msgstr ""
+msgstr "Носьбіт сцяга"
#: qcsrc/client/waypointsprites.qc:261
msgid "Dropped flag"
-msgstr ""
+msgstr "Кінуты сцяг"
#: qcsrc/client/waypointsprites.qc:262
msgid "Help me!"
-msgstr ""
+msgstr "Дапамажыце!"
#: qcsrc/client/waypointsprites.qc:263
msgid "Here"
-msgstr ""
+msgstr "Тут"
#: qcsrc/client/waypointsprites.qc:264
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
msgid "Key carrier"
-msgstr ""
+msgstr "Носьбіт ключа"
#: qcsrc/client/waypointsprites.qc:266
msgid "Run here"
-msgstr ""
+msgstr "Бяжы сюды"
#: qcsrc/client/waypointsprites.qc:271
msgid "Red base"
-msgstr ""
+msgstr "Чырвоная база"
#: qcsrc/client/waypointsprites.qc:272
msgid "Waypoint"
-msgstr ""
+msgstr "Арыентыр"
#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
#: qcsrc/client/waypointsprites.qc:275
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:309 qcsrc/client/waypointsprites.qc:310
#: qcsrc/client/waypointsprites.qc:311
msgid "Control point"
-msgstr ""
+msgstr "Кантрольны пункт"
#: qcsrc/client/waypointsprites.qc:284
msgid "Checkpoint"
-msgstr ""
+msgstr "Чэкпоінт"
#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
msgid "Finish"
-msgstr ""
+msgstr "Фініш"
#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
msgid "Start"
-msgstr ""
+msgstr "Старт"
#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
msgid "Ball"
-msgstr ""
+msgstr "Мяч"
#: qcsrc/client/waypointsprites.qc:290
msgid "Ball carrier"
-msgstr ""
+msgstr "Носьбіт мяча"
#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
msgid "Laser"
-msgstr ""
+msgstr "Laser"
#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
msgid "Shotgun"
-msgstr ""
+msgstr "Shotgun"
#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
msgid "Machine Gun"
-msgstr ""
+msgstr "Machine Gun"
#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
msgid "Mortar"
-msgstr ""
+msgstr "Mortar"
#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
msgid "Electro"
-msgstr ""
+msgstr "Electro"
#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
msgid "Crylink"
-msgstr ""
+msgstr "Crylink"
#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
msgid "Nex"
-msgstr ""
+msgstr "Nex"
#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
msgid "Hagar"
-msgstr ""
+msgstr "Hagar"
#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
msgid "Rocket Launcher"
-msgstr ""
+msgstr "Rocket Launcher"
#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
msgid "Port-O-Launch"
-msgstr ""
+msgstr "Port-O-Launch"
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
msgid "Hook"
-msgstr ""
+msgstr "Зачэпка"
#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
msgid "Fireball"
-msgstr ""
+msgstr "Fireball"
#: qcsrc/client/waypointsprites.qc:304
msgid "HLAC"
-msgstr ""
+msgstr "HLAC"
#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
msgid "Rifle"
-msgstr ""
+msgstr "Rifle"
#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
msgid "Mine Layer"
-msgstr ""
+msgstr "Mine Layer"
#: qcsrc/client/waypointsprites.qc:312
msgid "Invisibility"
-msgstr ""
+msgstr "Нябачнасць"
#: qcsrc/client/waypointsprites.qc:313
msgid "Extra life"
-msgstr ""
+msgstr "Дадатковае жыццё"
#: qcsrc/client/waypointsprites.qc:314
msgid "Speed"
-msgstr ""
+msgstr "Хуткасць"
#: qcsrc/client/waypointsprites.qc:315
msgid "Strength"
-msgstr ""
+msgstr "Моц"
#: qcsrc/client/waypointsprites.qc:316
msgid "Shield"
-msgstr ""
+msgstr "Панцыр"
#: qcsrc/client/waypointsprites.qc:317
msgid "Fuel regen"
#: qcsrc/client/waypointsprites.qc:318
msgid "Jet Pack"
-msgstr ""
+msgstr "Рэактыўны заплечнік"
#: qcsrc/client/waypointsprites.qc:319
msgid "Frozen!"
-msgstr ""
+msgstr "Замарожаны!"
#: qcsrc/client/waypointsprites.qc:320
msgid "Tagged"
#: qcsrc/client/waypointsprites.qc:321
msgid "Vehicle"
-msgstr ""
+msgstr "Машына"
#: qcsrc/client/waypointsprites.qc:595
#, 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
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, no-c-format
msgid "@!#%'n Tuba Throwing"
msgstr ""
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1111 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/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 ""
+msgstr "^1Сервер абвяшчае:"
#: qcsrc/common/net_notice.qc:95
#, c-format
msgid "^7%s (^3%d sec left)"
-msgstr ""
+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 ""
-#: 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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, 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
#: 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
msgid ""
"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_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_settings_user.c:65
msgid "Text language:"
-msgstr ""
+msgstr "Мова:"
#: qcsrc/menu/xonotic/dialog_firstrun.c:77
msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
-msgstr ""
+msgstr "Звязаць ваша імя са статыстыкай гульні на stats.xonotic.org?"
#: qcsrc/menu/xonotic/dialog_firstrun.c:81
msgid "ALWU2N^Yes"
-msgstr ""
+msgstr "ALWU2N^Так"
#: qcsrc/menu/xonotic/dialog_firstrun.c:82
msgid "ALWU2N^No"
-msgstr ""
+msgstr "ALWU2N^Не"
#: qcsrc/menu/xonotic/dialog_firstrun.c:83
msgid "ALWU2N^Undecided"
-msgstr ""
+msgstr "ALWU2N^Спытацца пазней"
#: qcsrc/menu/xonotic/dialog_firstrun.c:87
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
#: 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
#: 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
#: 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^Categories"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
msgid "SRVS^Empty"
-msgstr ""
+msgstr "Пустыя"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:37
+#: 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
#: 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"
#: 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 ""
+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
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"
--- /dev/null
+# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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:217 qcsrc/client/Main.qc:233
+#, c-format
+msgid "trying to switch to unsupported team %d\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:1294
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1164
+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:829
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:833
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:837
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2384
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2471
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2501
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2506
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2586
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2588
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2592
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2596
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2598
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3552
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3618
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3683
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3695
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3699
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3704
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3712
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3714
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3727
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3734
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3749
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3751
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3756
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3758
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3785
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3790
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3798
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3800
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3802
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3804
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3852
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3856
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3860
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3864
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3868
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4550
+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:98
+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:251
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3ping^7 Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3pl^7 Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3kills^7 Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid "^3deaths^7 Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3suicides^7 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3frags^7 kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3sum^7 frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+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
+msgid "^3captime^7 Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid "^3returns^7 Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid "^3drops^7 Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:274
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid "^3rank^7 Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:276
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:277
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:278
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:279
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:281
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:282
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:285
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:287
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:289
+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:294
+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
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:298
+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
+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/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:984
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1047
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1113
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1166
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1262
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1321
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1325
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1366
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1382 qcsrc/client/scoreboard.qc:1401
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1432
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1442
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1451
+#, 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:591
+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:254
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+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
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:266
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:272
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
+#: qcsrc/client/waypointsprites.qc:275
+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
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:304
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:321
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:595
+#, 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:714
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1111 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 "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:649
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:979
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:988
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1009
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1011
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1017
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1019
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1068
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1126
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1145
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1162
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1177
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, 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:40
+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_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_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+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_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:39 qcsrc/menu/xonotic/mainwindow.c:42
+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 ""
--- /dev/null
+# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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:217 qcsrc/client/Main.qc:233
+#, c-format
+msgid "trying to switch to unsupported team %d\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:1294
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1164
+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:829
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:833
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:837
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2384
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2471
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2501
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2506
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2586
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2588
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2592
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2596
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2598
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3552
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3618
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3683
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3695
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3699
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3704
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3712
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3714
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3727
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3734
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3749
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3751
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3756
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3758
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3785
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3790
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3798
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3800
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3802
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3804
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3852
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3856
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3860
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3864
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3868
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4550
+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:98
+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:251
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3ping^7 Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3pl^7 Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3kills^7 Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid "^3deaths^7 Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3suicides^7 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3frags^7 kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3sum^7 frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+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
+msgid "^3captime^7 Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid "^3returns^7 Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid "^3drops^7 Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:274
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid "^3rank^7 Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:276
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:277
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:278
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:279
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:281
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:282
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:285
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:287
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:289
+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:294
+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
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:298
+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
+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/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:984
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1047
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1113
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1166
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1262
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1321
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1325
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1366
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1382 qcsrc/client/scoreboard.qc:1401
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1432
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1442
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1451
+#, 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:591
+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:254
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+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
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:266
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:272
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
+#: qcsrc/client/waypointsprites.qc:275
+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
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:304
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:321
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:595
+#, 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:714
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1111 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 "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:649
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:979
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:988
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1009
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1011
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1017
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1019
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1068
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1126
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1145
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1162
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1177
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, 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:40
+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_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_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+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_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:39 qcsrc/menu/xonotic/mainwindow.c:42
+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 ""
#
# 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
+# 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"
+"POT-Creation-Date: 2014-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/xonotic/language/"
"de/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr "^4CSQC Build-Information: ^1%s\n"
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"Unbekannter Entity-Typ in CSQC_Ent_Update (enttype: %d, edict: %d, "
"classname: %s)\n"
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr "%s (nicht zugewiesen)"
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr "Wiederbelebungsfortschritt"
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:3712
msgid "^1Match has already begun"
msgstr "^1Das Match hat bereits begonnen"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
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:3716 qcsrc/client/hud.qc:3719
#, 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:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr "^2Momentan in der ^1Aufwärmphase^2!"
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
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:3758
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:3764
#, 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:3785
msgid "Teamnumbers are unbalanced!"
msgstr "Die Teams sind unausgeglichen!"
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, 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:3798
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:3800
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:3802
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:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr "^3ALT ^7+ ^3PFEILTASTEN ^7für Feinjustierungen."
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr " Knoten"
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
"Falsche/fehlende Panel-Nummern in _hud_panelorder wurden automatisch "
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 ""
msgid "%d%%"
msgstr "%d%%"
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr "Map-Statistiken:"
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr "Gefundene Geheimnisse:"
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr "Platzierungen"
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr "Tabelle"
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, 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:1325
#, 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:1359
msgid "Spectators"
msgstr "Zuschauer"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr "es wird auf ^2%s^7 gespielt"
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr " oder"
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr "SCO^is beaten"
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, 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:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr "^1Erneut spawnen in ^3%s^1..."
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, 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:1451
#, 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"
msgid "%dth"
msgstr "%dth"
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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 "^1Serverbenachrichtigungen:"
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 ""
+
+#: 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"
"^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 "
"^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"
"^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 "
"^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 "^BG%s%s^K1 wurde von ^BG%s^K1 gekocht^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 ""
-#: 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 "^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 ""
-#: 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 ""
+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 ""
-#: 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 ""
-#: qcsrc/common/notifications.qh:388
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
-msgstr ""
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr "^BG%s^K1 wurde von einem Geschützturm durchlöchert%s%s"
#: qcsrc/common/notifications.qh:415
#, c-format
-msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:424
#, c-format
-msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
-msgid "^TC^TT^BG team wins the round"
-msgstr "Das ^TC^TT^BG Team gewinnt die Runde"
+#: 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 qcsrc/common/notifications.qh:613
+#: 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 "Das ^TC^TT^BG Team gewinnt die Runde"
+
+#: 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 ""
-#: 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 "^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 ""
-#: 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 ""
-#: 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 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 ""
-#: 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 "^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 ""
-#: 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 ""
+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 ""
-#: 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 "^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"
"^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"
"^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"
"^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 ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: 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..."
"^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 ""
+
+#: qcsrc/common/notifications.qh:636
msgid ""
"^K1No spawnpoints available!\n"
"Hope your team can fix it..."
"^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."
"^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 "^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:641
msgid ""
"^BGAll keys are in your team's hands!\n"
"Help the key carriers to meet!"
"^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:642
msgid ""
"^BGAll keys are in ^TC^TT team^BG's hands!\n"
"Interfere ^F4NOW^BG!"
"^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:643
msgid ""
"^BGAll keys are in your team's hands!\n"
"Meet the other key carriers ^F4NOW^BG!"
"^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:644
msgid "^F4Round will start in ^COUNT"
msgstr "^F4Die Runde beginnt in ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr "^BGFrequenzbereich wird gescannt..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"^BGEs wird auf weitere Spieler gewartet...\n"
"Benötigte Spieler: %s"
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, 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:650
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:651
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:651
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:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Extra Leben übrig: ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr "^BGIndirekter Beschuss bewirkt keinen Schaden!"
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr "^BG%s"
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"^F2^COUNT^BG bis zum Waffenwechsel...\n"
"Nächste Waffe: ^F1%s"
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr "^F2Aktive Waffe: ^F1%s"
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
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:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
"^F4VERLÄNGERUNG^F2!\n"
"Töte weiter, bis wir einen Gewinner haben!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
"^F4VERLÄNGERUNG^F2!\n"
"Punkte weiter, bis wir einen Gewinner haben!"
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, c-format
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"^F4VERLÄNGERUNG^F2!\n"
"^F4%s ^BGwurde zum Spiel hinzugefügt!"
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:660
msgid "^F2Invisibility has worn off"
msgstr "^F2Die Unsichtbarkeit ist wieder verschwunden"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr "^F2Das Schild ist wieder verschwunden"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr "^F2Der Geschwindigkeitsbonus ist wieder verschwunden"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr "^F2Die Stärke ist wieder verschwunden"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr "^F2Du bist unsichtbar"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr "^F2Ein Schild umgibt dich"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr "^F2Du bist auf Speed"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
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:668
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:669
msgid "^F2Superweapons have broken down"
msgstr "^F2Die Superwaffen wurden zerstört"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr "^F2Die Superwaffen sind verloren gegangen"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr "^F2Du hast jetzt eine Superwaffe"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
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:673
msgid "^K1Changing team in ^COUNT"
msgstr "^K1Dein Team wird geändert in ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr "^K1Du schaust zu in ^COUNT"
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Selbstmord in ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Timeout beginnt in ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr "^F4Timeout endet in ^COUNT"
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr " (nahe %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr "primär"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr "sekundär"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr " ^F1(Drücke %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr " mit %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
msgstr "TRIPLE FRAG! "
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, 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:998
msgid "RAGE! "
msgstr "RAGE! "
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, 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:999
msgid "MASSACRE! "
msgstr "MASSAKER! "
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
#, 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:1000
msgid "MAYHEM! "
msgstr "CHAOS! "
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
#, 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:1001
msgid "BERSERKER! "
msgstr "BERSERKER! "
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
#, 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:1002
msgid "CARNAGE! "
msgstr "GEMETZEL! "
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, 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:1003
msgid "ARMAGEDDON! "
msgstr "WELTUNTERGANG! "
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Bot^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr "%s(Ping ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(Gesundheit ^1%d^BG / Rüstung ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Tot^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr "%d Punkte hintereinander! "
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr "%d Tötungen hintereinander! "
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr "Erster Kill!"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr "Erster Punkt! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Erster Kollateralschaden! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr "Erstes Opfer! "
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, 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:1146
#, 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:1162
#, 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:1163
#, 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:1177
#, 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:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ", und verliert seinen Lauf von %d Punkten"
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 "
"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"
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 ""
-#: 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"
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
#: 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"
#: 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:"
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:"
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:"
msgid "Exit setup"
msgstr "Verlassen"
+#: 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 "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 ""
+
+#: 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 "Mehrspieler"
#: 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:"
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..."
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:"
msgstr "Verbinden"
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: 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!"
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"
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 *"
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:"
msgstr "Client-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 "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"
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:"
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 ""
-#: qcsrc/menu/xonotic/serverlist.c:192
-msgid "Bookmark"
-msgstr "Speichern"
+#: 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: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 "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"
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"
"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"
"^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:"
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/xonotic/language/"
"el/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
#, c-format
msgid "%s (%s)"
msgstr ""
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
msgstr ""
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "μέτρα/δευτερόλεπτο"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "χλμ/ώρα"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "μίλια/ώρα"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
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 ""
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, no-c-format
msgid "@!#%'n Tuba Throwing"
msgstr ""
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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 ""
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:424
#, c-format
-msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
-msgid "^TC^TT^BG team wins the round"
-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: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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
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 ""
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"
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 "μόνο για ανάγνωση"
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_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 "Εντάξει"
#: 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 ""
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 "Μέγεθος περιθωρίου:"
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 ""
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_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:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
msgid "Advanced settings..."
msgstr "Προχωρημένες ρυθμίσεις..."
msgid "Goals:"
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_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 "Σύνδεση!"
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 "Προεπιλογή"
msgid "Sandbox Tools"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr ""
-
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
msgid "Remove *"
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 ""
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 "Ενεργοποίηση λειτουργία προγραμματιστή"
msgid "Value:"
msgstr "Τιμή:"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
msgid "Description:"
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)"
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 "Παίκτες"
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"
"Μπορεί να γίνει λήψη της αναβάθμισης στις:\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 "Χρώμα Ομαδάς:"
# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/xonotic/language/"
"es/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
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
msgid "Out of ammo"
-msgstr ""
+msgstr "Sin municiones"
#: qcsrc/client/hud.qc:833
msgid "Don't have"
-msgstr ""
+msgstr "No tienes"
#: qcsrc/client/hud.qc:837
msgid "Unavailable"
-msgstr ""
+msgstr "No disponible"
#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
#, c-format
msgid "Player %d"
-msgstr ""
+msgstr "Jugador %d"
#: qcsrc/client/hud.qc:2384
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
#, c-format
msgid "^1PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^1SANCION: %.1f (%s)"
#: qcsrc/client/hud.qc:2471
#, c-format
msgid "^2PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^2SANCION: %.1f(%s)"
#: qcsrc/client/hud.qc:2501
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
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
msgid "A vote has been called for:"
-msgstr ""
+msgstr "Una votacion ha sido iniciada para:"
#: qcsrc/client/hud.qc:2588
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
msgid "^1Configure the HUD"
-msgstr ""
+msgstr "^1Configurar la Interface"
#: qcsrc/client/hud.qc:2596
#, c-format
msgid "Yes (%s): %d"
-msgstr ""
+msgstr "SI (%s): %d"
#: qcsrc/client/hud.qc:2598
#, 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
msgid "Personal best"
-msgstr ""
+msgstr "Record personal"
#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
msgid "Server best"
-msgstr ""
+msgstr "Record del servidor"
#: qcsrc/client/hud.qc:3552
msgid "^3Player^7: This is the chat area."
-msgstr ""
+msgstr "^3Jugador^7: Esta es la alrea de chat."
#: qcsrc/client/hud.qc:3618
#, c-format
msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
#: qcsrc/client/hud.qc:3683
msgid "^1Observing"
-msgstr ""
+msgstr "^1Observando"
#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
#, c-format
msgid "^1Spectating: ^7%s"
-msgstr ""
+msgstr "^1Espectando: ^7%s"
#: qcsrc/client/hud.qc:3693
#, c-format
msgid "^1Press ^3%s^1 to spectate"
-msgstr ""
+msgstr "^1Presiona ^3%s^1 para espectar"
#: qcsrc/client/hud.qc:3695
#, 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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
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:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
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 ""
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:43
msgid "SCO^ping"
-msgstr ""
+msgstr "Ping"
#: qcsrc/client/scoreboard.qc:44
msgid "SCO^pl"
#: qcsrc/client/scoreboard.qc:253
msgid "Usage:\n"
-msgstr ""
+msgstr "Uso:\n"
#: qcsrc/client/scoreboard.qc:254
msgid "^2scoreboard_columns_set default\n"
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
msgid "%dth"
msgstr "%dth"
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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:"
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+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: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"
"^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"
"^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"
"^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..."
"^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..."
"^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."
"^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 "^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:641
msgid ""
"^BGAll keys are in your team's hands!\n"
"Help the key carriers to meet!"
"^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:642
msgid ""
"^BGAll keys are in ^TC^TT team^BG's hands!\n"
"Interfere ^F4NOW^BG!"
"^BGtTodas las llaves estan en manos del equipo ^TC^TT^BG!\n"
"Interfiere ^F4AHORA^BG!"
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:643
msgid ""
"^BGAll keys are in your team's hands!\n"
"Meet the other key carriers ^F4NOW^BG!"
"^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:644
msgid "^F4Round will start in ^COUNT"
msgstr "^F4La ronda iniciara en ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr "^BGEscaneando rango de frequencia..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"^BGEsperando a que se unan jugadores...\n"
"Se necesitan jugadores activos para: %s"
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, 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:650
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:651
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:651
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:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Vidas sobrantes: ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr "^BGModo de fuego secundary no hace daño!"
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr "^BG%s"
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr "^F2Arma activa: ^F1%s"
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
"^F2Ahora jugando en ^F4TIEMPO EXTRA^F2!\n"
"Sigue eliminando hasta que tengamos un ganador!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
"^F2Ahora jugando en ^F4TIEMPO EXTRA^F2!\n"
"Sigue acertando hasta que tengamos un ganador!"
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, c-format
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"^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:660
msgid "^F2Invisibility has worn off"
msgstr "^F2Invisibility se ha agotado"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr "^F2Shield se ha agotado"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr "^F2Speed se ha agotado"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr "^F2Strength se ha agotado"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr "^F2Eres invisible"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr "^F2Un escudo te rodea"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr "^F2Tienes la velocidad"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
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:668
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:669
msgid "^F2Superweapons have broken down"
msgstr "^F2Superarmas se han descompuesto"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr "^F2Se han perdido las superarmas"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr "^F2Ahora tienes una superarma"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
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:673
msgid "^K1Changing team in ^COUNT"
msgstr "^K1Cambiando equipo en ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr "^K1Cambiando a espectador en ^COUNT"
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Suicidio en ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Tiempo fuera comienza en ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
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:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr " (cerca de %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr "primario"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr " secundario"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr " ^F1(Presiona %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr " con %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
msgstr "ELIMINACION TRIPLE!"
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, 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:998
msgid "RAGE! "
msgstr "FURIA!"
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, 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:999
msgid "MASSACRE! "
msgstr "MASSACRE!"
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
#, 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:1000
msgid "MAYHEM! "
msgstr "ALBOROTO!"
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
#, 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:1001
msgid "BERSERKER! "
msgstr "BERSERKER!"
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
#, 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:1002
msgid "CARNAGE! "
msgstr "MATANZA!"
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, 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:1003
msgid "ARMAGEDDON! "
msgstr "ARMAGEDDON!"
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Bot^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr "%s(Latencia ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(Vida ^1%d^BG / Armadura ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Muerto^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr "%d anotaciones seguidas!"
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr "%d eliminaciones seguidas!"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr "Primera eliminacion!"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr "Primera anotacion!"
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Primera victima!"
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr "Primera victima!"
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, 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:1146
#, 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:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ", finalizando su cadena de %d eliminaciones"
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ", finalizando su cadena de %d eliminaciones"
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ", perdiendo su cadena de %d eliminaciones"
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ", perdiendo su cadena de %d eliminaciones"
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 "
"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"
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"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
#: 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
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!"
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"
#: 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:"
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 *"
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:"
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"
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:"
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"
#: 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"
"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"
"^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:"
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/xonotic/language/"
"fi/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
#, c-format
msgid "%s (%s)"
msgstr ""
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
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:43
msgid "SCO^ping"
-msgstr ""
+msgstr "Viive"
#: qcsrc/client/scoreboard.qc:44
msgid "SCO^pl"
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
msgid "%dth"
msgstr "%dth"
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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:"
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+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: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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ""
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 "
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"
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"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
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!"
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"
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 *"
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:"
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"
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:"
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"
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"
"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"
"^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"
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Calinou, 2013
# Calinou <calinou9999@gmail.com>, 2012
# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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"
#: 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 ""
"^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 à "
+"^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
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, c-format
msgid "trying to switch to unsupported team %d\n"
-msgstr "tentative de changement vers une équipe non supportée : %d\n"
+msgstr "tentative de transfert vers une équipe non prise en charge : %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
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr "%s (non assigné)"
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
-msgstr "Regénération en cours"
+msgstr "Dégel en cours"
#: qcsrc/client/hud.qc:186
#, c-format
#: qcsrc/client/hud.qc:829
msgid "Out of ammo"
-msgstr "Plus de munitions"
+msgstr "À court de munitions"
#: qcsrc/client/hud.qc:833
msgid "Don't have"
#: qcsrc/client/hud.qc:2501
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 en mode de configuration du hud\n"
#: qcsrc/client/hud.qc:2506
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
msgid "A vote has been called for:"
#: qcsrc/client/hud.qc:2588
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
msgid "^1Configure the HUD"
-msgstr "^1Configurer l'interface"
+msgstr "^1Configurer le HUD"
#: qcsrc/client/hud.qc:2596
#, c-format
#: qcsrc/client/hud.qc:3552
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 chat."
#: qcsrc/client/hud.qc:3618
#, c-format
#: qcsrc/client/hud.qc:3683
msgid "^1Observing"
-msgstr "^1Observation"
+msgstr "^1En observateur"
#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
#, c-format
#: qcsrc/client/hud.qc:3693
#, 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
#, 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 précédent ou "
+"suivant"
#: qcsrc/client/hud.qc:3699
#, c-format
#: qcsrc/client/hud.qc:3701
#, 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
#, 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:3712
msgid "^1Match has already begun"
msgstr "^1La partie a déjà commencé"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
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:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr "^1Appuyez sur ^3%s^1 pour jouer"
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, 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:3734
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:3749
#, 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:3751
#, 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:3756
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:3758
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:3764
#, 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:3785
msgid "Teamnumbers are unbalanced!"
msgstr "Les équipes ne sont pas équilibrées !"
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr " Appuyez sur ^3%s%s pour ajuster"
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr "^7Appuyez sur ^3ESC ^7pour afficher les options de l'interface."
+msgstr "^7Appuyez sur ^3ECHAP ^7pour afficher les options du HUD"
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
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:3802
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:3804
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:3852
msgid " qu/s"
msgstr " qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
msgstr " m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
msgstr " km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
msgstr " mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr " nœuds"
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
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 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
#: 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"
#: qcsrc/client/miscfunctions.qc:98
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 "Tentative de suppression d'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"
#: qcsrc/client/scoreboard.qc:25
msgid "SCO^drops"
-msgstr "lâchers"
+msgstr "lâchés"
#: qcsrc/client/scoreboard.qc:26
msgid "SCO^faults"
#: 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égelés"
#: 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
msgid ""
#: qcsrc/client/scoreboard.qc:256
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 sensible à la casse) :\n"
#: qcsrc/client/scoreboard.qc:257
msgid ""
#: qcsrc/client/scoreboard.qc:259
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 ^pseudo^7 Nom d'un joueur\n"
#: qcsrc/client/scoreboard.qc:260
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
msgid "^3pl^7 Packet loss\n"
-msgstr "^3pl^7 Pertes de paquet\n"
+msgstr "^3pl^7 Perte de paquets\n"
#: qcsrc/client/scoreboard.qc:262
msgid "^3kills^7 Number of kills\n"
#: qcsrc/client/scoreboard.qc:265
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
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
msgid "^3sum^7 frags - deaths\n"
-msgstr ""
+msgstr "^3somme^7 frags - morts\n"
#: qcsrc/client/scoreboard.qc:268
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
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
msgid "^3captime^7 Time of fastest cap (CTF)\n"
-msgstr ""
-"^3temps de capture ^7 Temps de la meilleure capture (CTF)\n"
+msgstr "^3captime^7 Temps de la meilleure capture (CTF)\n"
#: qcsrc/client/scoreboard.qc:271
msgid "^3fckills^7 Number of flag carrier kills\n"
#: qcsrc/client/scoreboard.qc:272
msgid "^3returns^7 Number of flag returns\n"
-msgstr "^3returns^7 Nombre de drapeaux retournés\n"
+msgstr "^3returns^7 Nombre de drapeaux récupérés\n"
#: qcsrc/client/scoreboard.qc:273
msgid "^3drops^7 Number of flag drops\n"
"^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
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
msgid "^3losses^7 Number of times a key was lost\n"
#: qcsrc/client/scoreboard.qc:280
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
msgid "^3time^7 Total time raced (race/cts)\n"
#: qcsrc/client/scoreboard.qc:282
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
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
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
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
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
msgid ""
"\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 "
+"par des virgules\n"
+"des 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"
+"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
"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"
+"Le type de jeu 'teams' et 'noteams' peut être utilisé pour\n"
+"inclure ou exclure TOUS les modes de jeu avec ou sans équipes.\n"
"\n"
#: qcsrc/client/scoreboard.qc:297
"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
"'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"
+"'champ3' ne sera affiché qu'en mode CTF, et 'champ4'\n"
+"sera affiché dans tous les modes sauf DM.\n"
#: qcsrc/client/scoreboard.qc:534 qcsrc/client/scoreboard.qc:541
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
msgid "%d%%"
msgstr "%d%%"
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr "Stats. de la carte :"
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr "Secrets trouvés :"
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr "Classements"
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr "Tableau des scores"
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr "Le plus rapide: %d ^7(%s^7)"
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr "Record de vitesse: %d ^7(%s^7)"
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr "Spectateurs"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr "en train de jouer sur ^2%s^7"
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr " ou"
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
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:1404 qcsrc/client/scoreboard.qc:1411
#, 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 points"
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr "^1Réapparition dans ^3%s^1..."
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, 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:1451
#, 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"
#: 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
msgid "Spam"
#: qcsrc/client/waypointsprites.qc:262
msgid "Help me!"
-msgstr "Aidez-moi !"
+msgstr "À l'aide !"
#: qcsrc/client/waypointsprites.qc:263
msgid "Here"
#: qcsrc/client/waypointsprites.qc:264
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
msgid "Key carrier"
-msgstr "Porteur de clé"
+msgstr "Porteur de clef"
#: qcsrc/client/waypointsprites.qc:266
msgid "Run here"
#: qcsrc/client/waypointsprites.qc:272
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:292 qcsrc/server/w_shotgun.qc:11
msgid "Shotgun"
-msgstr ""
+msgstr "Fusil"
#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
msgid "Machine Gun"
-msgstr ""
+msgstr "Mitrailleuse"
#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
msgid "Mortar"
-msgstr "Mortar"
+msgstr "Mortier"
#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
msgid "Electro"
-msgstr ""
+msgstr "Electro"
#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
msgid "Crylink"
#: qcsrc/client/waypointsprites.qc:299 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
msgid "Port-O-Launch"
#: qcsrc/client/waypointsprites.qc:302
#: 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
msgid "Fireball"
#: qcsrc/client/waypointsprites.qc:305 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
msgid "Mine Layer"
-msgstr ""
+msgstr "Poseur de Mines"
#: qcsrc/client/waypointsprites.qc:312
msgid "Invisibility"
#: qcsrc/client/waypointsprites.qc:320
msgid "Tagged"
-msgstr "Verrouillé"
+msgstr "Verrouillé pour cible"
#: qcsrc/client/waypointsprites.qc:321
msgid "Vehicle"
#: qcsrc/common/command/generic.qc:31
#, c-format
msgid "error: status is %d\n"
-msgstr ""
+msgstr "error: 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
#: 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:714
#, 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:1111 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 ""
+
+#: 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 "^1Notifications du serveur :"
+msgstr "^1Notices du serveur :"
#: qcsrc/common/net_notice.qc:95
#, c-format
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 ""
+
+#: 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"
"^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 "
"^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"
"^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é à 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 ""
+
+#: 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"
+msgstr "^BG%s%s^K1 a été explosé par 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^K1a é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^K1n'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 l'ennemi du 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 a cru qu'il avait 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 dans 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 vite%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 sourd%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 ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr "^BG%s^K1 s'est retrouvé à court de munitions%s%s"
-
-#: qcsrc/common/notifications.qh:391
-#, 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
-#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
-msgstr "^BG%s^K1 s'est transformé en étoile filante%s%s"
+"^BG%s^K1 est passé maître dans l'art d'exploser aves sa propre grenade%s%s"
#: qcsrc/common/notifications.qh:393
#, c-format
-msgid "^BG%s^K1 was slimed%s%s"
-msgstr "^BG%s^K1 a maigri%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
+msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
-msgstr "^BG%s^K1 n'en pouvait plus%s%s"
+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 is now preserved for centuries to come%s%s"
-msgstr "^BG%s^K1 est maintenant conservé pour les siècles à venir%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
+msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
-msgstr "^BG%s^K1 est mort dans un accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
+msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
-msgstr ""
+msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
+msgstr "^BG%s^K1 est mort%s%s. À quoi bon vivre sans munition ?"
-#: qcsrc/common/notifications.qh:402
+#: qcsrc/common/notifications.qh:401
#, c-format
-msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
-msgstr ""
+msgid "^BG%s^K1 ran out of ammo%s%s"
+msgstr "^BG%s^K1 s'est retrouvé à court de munitions%s%s"
+
+#: 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:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
-msgstr ""
+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:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
-msgstr ""
+msgid "^BG%s^K1 was slimed%s%s"
+msgstr "^BG%s^K1 a été englué%s%s"
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
-msgstr ""
+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:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
-msgstr ""
+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:407
#, c-format
-msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
-msgstr ""
+msgid "^BG%s^K1 switched to the %s%s"
+msgstr "^BG%s^K1 a basculé dans l' %s%s"
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
-msgstr ""
+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:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
-msgstr ""
+msgid "^BG%s^K1 ran into a turret%s%s"
+msgstr "^BG%s^K1 est rentré dans une tourelle%s%s"
#: qcsrc/common/notifications.qh:410
#, c-format
-msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
-msgstr ""
+msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgstr "^BG%s^K1 a été mis en miettes par une tourelle eWheel%s%s"
#: qcsrc/common/notifications.qh:411
#, c-format
-msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
-msgstr ""
+msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+msgstr "^BG%s^K1 a été pris sous le feu de la tourelle FLAC%s%s"
#: qcsrc/common/notifications.qh:412
#, c-format
-msgid "^BG%s^K1 was crushed by a vehicle%s%s"
-msgstr ""
+msgid "^BG%s^K1 was blasted away by a Hellion turret%s%s"
+msgstr "^BG%s^K1 a été mis en miettes par une tourelle Hellion%s%s"
#: qcsrc/common/notifications.qh:413
#, c-format
-msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
-msgstr ""
+msgid "^BG%s^K1 could not hide from the Hunter turret%s%s"
+msgstr "^BG%s^K1 n'a pas pu éviter la tourelle Hunter%s%s"
#: qcsrc/common/notifications.qh:414
#, c-format
-msgid "^BG%s^K1 got caught in the blast of a Raptor explosion%s%s"
-msgstr ""
+msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgstr "^BG%s^K1 a été criblé de balles par une tourelle Machinegun%s%s"
#: qcsrc/common/notifications.qh:415
#, c-format
-msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
-msgstr ""
+msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgstr "^BG%s^K1 a été transformé en gigot fumant par une tourelle MLRS%s%s"
#: qcsrc/common/notifications.qh:416
#, c-format
-msgid "^BG%s^K1 was blasted to bits by a Spiderbot rocket%s%s"
-msgstr ""
+msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgstr "^BG%s^K1 a été éliminé par une tourelle%s%s"
#: qcsrc/common/notifications.qh:417
#, c-format
-msgid "^BG%s^K1 got caught in the blast of a Racer explosion%s%s"
-msgstr ""
+msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+msgstr "^BG%s^K1 a goûté au plasma brûlant d'une tourelle%s%s"
#: qcsrc/common/notifications.qh:418
#, c-format
-msgid "^BG%s^K1 couldn't find shelter from a Racer rocket%s%s"
-msgstr ""
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
+msgstr "^BG%s^K1 a été électrocuté par une tourelle Tesla%s%s"
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
-msgstr ""
+msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgstr "^BG%s^K1 a été enrichi en plomb par une tourelle Walker%s%s"
#: qcsrc/common/notifications.qh:420
#, c-format
-msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
-msgstr ""
+msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+msgstr "^BG%s^K1 a été empalé par une tourelle Walker%s%s"
#: qcsrc/common/notifications.qh:421
#, c-format
-msgid "^BG%s^K1 was frozen by ^BG%s"
-msgstr ""
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
+msgstr "^BG%s^K1 a été soufflé par une tourelle Walker%s%s"
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
-msgstr ""
+msgid "^BG%s^K1 got caught in the blast of a Bumblebee explosion%s%s"
+msgstr "^BG%s^K1 a été pris dans l'explosion d'un Bumblebee%s%s"
#: qcsrc/common/notifications.qh:423
#, c-format
-msgid "^BG%s^K3 was revived by falling"
-msgstr ""
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
+msgstr "^BG%s^K1 a été écrasé par un véhicule%s%s"
#: qcsrc/common/notifications.qh:424
#, c-format
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
+msgstr "^BG%s^K1 a été pris dans le bombardement d'un Raptor%s%s"
+
+#: 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 a été pris dans l'explosion d'un Raptor%s%s"
+
+#: 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 a été pris dans l'explosion d'un Spiderbot%s%s"
+
+#: 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 a été réduit en miettes par une roquette de Spiderbot%s%s"
+
+#: 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 a été pris dans l'explosion d'un Racer%s%s"
+
+#: 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 n'a pas pu se mettre à l'abri de la roquette d'un Racer%s%s"
+
+#: qcsrc/common/notifications.qh:430
+#, c-format
+msgid "^BG%s^K1 was in the wrong place%s%s"
+msgstr "^BG%s^K1 était au mauvais endroit%s%s"
+
+#: qcsrc/common/notifications.qh:431
+#, c-format
+msgid "^BG%s^K1 was betrayed by ^BG%s^K1%s%s"
+msgstr "^BG%s^K1 a été trahi par ^BG%s^K1%s%s"
+
+#: qcsrc/common/notifications.qh:432
+#, c-format
+msgid "^BG%s^K1 was frozen by ^BG%s"
+msgstr "^BG%s^K1 a été gelé par ^BG%s"
+
+#: qcsrc/common/notifications.qh:433
+#, c-format
+msgid "^BG%s^K3 was revived by ^BG%s"
+msgstr "^BG%s^K3 a été dégelé par ^BG%s"
+
+#: qcsrc/common/notifications.qh:434
+#, c-format
+msgid "^BG%s^K3 was revived by falling"
+msgstr "^BG%s^K3 a dégelé après être tombé"
+
+#: 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 pas ^F4 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"
-#: 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"
-#: 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"
-#: 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 ""
+
+#: qcsrc/common/notifications.qh:460
#, c-format
msgid "^BG%s^K1 picked up Invisibility"
-msgstr ""
+msgstr "^BG%s^K1 a ramassé 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 ramassé 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 ramassé 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 ramassé 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."
"^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 %s%s^BG record au classement 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 %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, autrement 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 ramassé 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"
-#: 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 pu mesurer 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 pu mesurer la puissance de son 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 pris la foudre à cause du 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 plus légère%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 volée de roquettes du Hagar de ^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 fait un peu trop 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é attrapé 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 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 l'obus de 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é à l'obus 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 son propre obus 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é abbatu 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 grand 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 "^F4Commencez !"
-#: 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 que vous y arriverez."
-#: 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\n"
+"^BGcar vous avez ^F2échoué à de multiples reprises^BG à le capturer.\n"
+"^BGEssayez de défendre votre drapeau avant de 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"
-#: 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"
-#: 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 !"
-#: 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 !"
-#: 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 !"
-#: 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 neutralisé ^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"
-#: 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"
-#: 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 neutralisé ^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"
+msgstr "^K1%sVous avez neutralisé ^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 "
+"^K1%sVous avez été neutralisé par ^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 été neutralisé par ^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 neutralisé ^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 !"
+msgstr "^BGAppuyez sur ^F2DROPWEAPON^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"
"^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 !"
-#: qcsrc/common/notifications.qh:572
+#: qcsrc/common/notifications.qh:584
msgid "^K1Don't shoot your team mates!"
msgstr "^K1Ne tirez pas sur vos é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 injustement é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é !"
-#: qcsrc/common/notifications.qh:579
+#: qcsrc/common/notifications.qh:591
msgid "^K1You need to be more careful!"
-msgstr ""
+msgstr "^K1Vous devez être plus prudent !"
-#: qcsrc/common/notifications.qh:580
+#: qcsrc/common/notifications.qh:592
msgid "^K1You couldn't stand the heat!"
+msgstr "^K1Vous n'avez pas pu supporter la chaleur !"
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You need to watch out for monsters!"
msgstr ""
-#: qcsrc/common/notifications.qh:581
-msgid "^K1Tastes like chicken!"
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
msgstr ""
-#: qcsrc/common/notifications.qh:581
+#: qcsrc/common/notifications.qh:594
+msgid "^K1Tastes like chicken!"
+msgstr "^K1Ça a comme un goût de poulet !"
+
+#: 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 préserver 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 !"
-#: 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 Spider !"
-#: 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 vous mettre à l'abri d'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 descendu ^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 "^K1La manche a déjà commencé, vous apparaissez gelé"
+
+#: qcsrc/common/notifications.qh:629
+#, c-format
+msgid "^K1A %s has arrived!"
msgstr ""
-#: qcsrc/common/notifications.qh:622
+#: 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 "^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:641
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:642
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:643
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"
+"Retrouvez les autres porteurs de clef ^F4MAINTENANT^BG !"
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:644
msgid "^F4Round will start in ^COUNT"
-msgstr ""
+msgstr "^F4La manche va commencer dans ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
-msgstr ""
+msgstr "^BGBalayage de la gamme de fréquence..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, 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:649
#, 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:650
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:651
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:651
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:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Vies supplémentaires restantes : ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
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:654
#, c-format
msgid "^BG%s"
msgstr "^BG%s"
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, 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:656
#, 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:657
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:658
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:658
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:659
#, 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:660
msgid "^F2Invisibility has worn off"
-msgstr ""
+msgstr "^F2Le bonus d'Invisibilité a expiré"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
-msgstr ""
+msgstr "^F2Le bonus de Bouclier a expiré"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
-msgstr ""
+msgstr "^F2Le bonus de Vitesse a expiré"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
-msgstr ""
+msgstr "^F2Le bonus de Force a expiré"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
-msgstr ""
+msgstr "^F2Vous êtes invisible"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
-msgstr ""
+msgstr "^F2Le Bouclier vous entoure"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
-msgstr ""
+msgstr "^F2Vous êtes rapide comme l'éclair"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
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:668
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:669
msgid "^F2Superweapons have broken down"
-msgstr ""
+msgstr "^F2Les Super-armes sont tombées en panne"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
-msgstr ""
+msgstr "^F2Les Super-armes ont été égarées"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
-msgstr ""
+msgstr "^F2Vous avez maintenant une super-arme"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
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:673
msgid "^K1Changing team in ^COUNT"
-msgstr ""
+msgstr "^K1Changement d'équipe dans ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
-msgstr ""
+msgstr "^K1Spectateur dans ^COUNT"
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Suicide dans ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Le temps mort commence dans ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
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:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr " (près de %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
-msgstr ""
+msgstr "primaire"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr "secondaire"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr " ^F1(Appuyez sur %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr " avec %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
-msgstr ""
+msgstr "TRIPLE FRAG !"
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, 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:998
msgid "RAGE! "
-msgstr ""
+msgstr "RAGE !"
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, 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:999
msgid "MASSACRE! "
-msgstr ""
+msgstr "MASSACRE !"
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
#, 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:1000
msgid "MAYHEM! "
-msgstr ""
+msgstr "GRABUGE !"
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
#, 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:1001
msgid "BERSERKER! "
-msgstr ""
+msgstr "FOU FURIEUX !"
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
#, 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:1002
msgid "CARNAGE! "
-msgstr ""
+msgstr "CARNAGE !"
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, 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:1003
msgid "ARMAGEDDON! "
-msgstr ""
+msgstr "ARMAGEDDON !"
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Bot^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
-msgstr ""
+msgstr "%s(Ping ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(Santé ^1%d^BG / Armure ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Mort^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
-msgstr ""
+msgstr "%d points d'affilée ! "
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
-msgstr ""
+msgstr "%d frags d'affilée !"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
-msgstr ""
+msgstr "Premier sang !"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
-msgstr ""
+msgstr "Premier point !"
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Première victime ! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
-msgstr ""
+msgstr "Première victime !"
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, 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:1146
#, 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:1162
#, 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:1163
#, 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:1177
#, 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:1178
#, c-format
msgid ", losing their %d score spree"
-msgstr ""
+msgstr ", perdant sa série de %d points"
#: qcsrc/common/teams.qh:26
msgid "Red"
#: 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"
" 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 "
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"
#: 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 ""
-#: 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"
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
#: 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"
"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:83
msgid "ALWU2N^Undecided"
-msgstr "Non décidé"
+msgstr "Indécis"
#: qcsrc/menu/xonotic/dialog_firstrun.c:87
msgid "Save settings"
#: 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:"
#: 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"
#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
msgid "Chat Panel"
-msgstr "Tableau de discussion"
+msgstr "Chat"
#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:23
msgid "Chat entries:"
-msgstr "Entrées discussion :"
+msgstr "Entrées du chat :"
#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:26
msgid "Chat size:"
-msgstr "Taille de la discussion :"
+msgstr "Taille du chat :"
#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:30
msgid "Chat lifetime:"
-msgstr "Durée discussion :"
+msgstr "Durée chat :"
#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:34
msgid "Chat beep sound"
-msgstr "Notification de discussion"
+msgstr "Notification du chat"
#: 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:"
#: 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"
#: 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:"
#: 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:"
#: 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
#: 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"
#: 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"
#: 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"
#: 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"
#: 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"
#: 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:"
#: 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:"
#: 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:"
#: 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"
#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
msgid "Alpha"
-msgstr "Opacité"
+msgstr "Transparence"
#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
msgid "Slide"
#: 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"
#: 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 du HUD"
#: 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 :"
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 du HUD :"
#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
msgid "DOCK^Disabled"
msgid "Exit setup"
msgstr "Quitter la configuration"
+#: 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 "Retirer"
+
+#: 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 "Texture :"
+
#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
msgid "Multiplayer"
msgstr "Multijoueur"
#: 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:"
#: 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 :"
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..."
#: 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!"
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"
#: 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"
#: 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)"
#: 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"
#: 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
#: 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
#: 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
msgstr "Rejoindre"
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: 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 !"
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_playersetup.c:73
msgid "Glowing color:"
-msgstr "Couleur des néons :"
+msgstr "Couleur :"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:82
msgid "Detail color:"
#: 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:"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
msgid "Per weapon"
-msgstr "Pour chaque arme"
+msgstr "Selon arme"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
msgid "By health"
-msgstr "Par santé"
+msgstr "Selon santé"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
#: 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:"
#: 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:"
#: 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:"
#: 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"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:75
msgid "Edge offset:"
-msgstr "Décalage des bords :"
+msgstr "Compensation bord :"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
msgid "Show names above players"
#: 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 le 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 ""
-"Pour que l'éditeur d'interface fonctionne, vous devez rejoindre une partie."
+msgstr "Pour que l'éditeur du HUD 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 le HUD ?"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
msgid "HDCNFRM^Yes"
#: 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:"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
msgid "1st person perspective"
-msgstr "vue à la 1è personne"
+msgstr "Vue à la 1è 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 "Adoucir la vue après un saut"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
msgid "Smooth the view while crouching"
#: 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"
#: 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"
#: 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"
msgid "Sandbox Tools"
msgstr "Outils Sandbox"
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Spawn"
-
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
msgid "Remove *"
msgstr "Supprimer *"
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 :"
#: 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:"
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
msgid "Movable"
-msgstr "Déplaçable"
+msgstr "Mobile"
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:73
msgid "Physical"
#: 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"
#: 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"
#: 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"
#: 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"
#: 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"
#: 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 "Son du chat"
#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
msgid "Menu sounds"
#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
msgid "Time announcer:"
-msgstr "Avertissement de temps :"
+msgstr "Annonce temps restant :"
#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
msgid "WRN^Disabled"
#: 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!"
#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
msgid "RES^Lowest"
-msgstr "Plus bas"
+msgstr "Le plus bas"
#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
msgid "RES^Very low"
#: 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"
#: 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"
#: 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
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 "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"
-#: 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 "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"
-#: 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 "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"
-#: 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 "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 :"
-#: 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"
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 :"
#: 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"
#: 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:"
#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
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 ""
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 ""
+
+#: 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 "Favori"
+#: 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 "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"
#: 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"
"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"
"^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 :"
#: qcsrc/server/w_hook.qc:11
msgid "Grappling Hook"
-msgstr ""
+msgstr "Grappin"
#: qcsrc/server/w_minstanex.qc:11
msgid "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
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/xonotic/"
"language/hu/)\n"
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
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"Ismeretlen entitás típus CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
"%s)\n"
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr "%s (nincs kiosztva)"
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr "^1A játék már elkezdődött"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
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:3716 qcsrc/client/hud.qc:3719
#, 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:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr "^2Jelenleg ^1BEMELEGÍTÉS^7 zajlik!"
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
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:3758
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:3764
#, 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:3785
msgid "Teamnumbers are unbalanced!"
msgstr "A csapatok egyenlőtlenül vannak elosztva!"
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, 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:3798
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:3800
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:3802
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:3804
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:3852
msgid " qu/s"
msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr "Csomó"
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
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"
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 ""
msgid "%d%%"
msgstr "%d%%"
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr "Pálya statisztikák:"
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr "Feldezett titkok:"
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr "Helyezések"
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr "Ponttábla"
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, 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:1325
#, 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:1359
msgid "Spectators"
msgstr "Nézők"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr "A játék a ^2%s^7 pályán zajlik"
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr " vagy "
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
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:1404 qcsrc/client/scoreboard.qc:1411
#, 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:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
msgid "%dth"
msgstr "%d."
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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 ""
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:424
#, c-format
-msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
-msgid "^TC^TT^BG team wins the round"
+#: 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 qcsrc/common/notifications.qh:613
+#: qcsrc/common/notifications.qh:426
#, c-format
-msgid "^BG%s^BG wins the round"
+msgid "^BG%s^K1 got caught in the blast of a Spiderbot explosion%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:427 qcsrc/common/notifications.qh:542
-msgid "^BGRound tied"
+#: 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 qcsrc/common/notifications.qh:543
-msgid "^BGRound over, there's no winner"
+#: 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 froze themself"
+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: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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ""
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 "
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"
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ó"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
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!"
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"
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"
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:"
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"
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:"
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"
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"
"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"
"^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:"
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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"
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
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, c-format
msgid "trying to switch to unsupported team %d\n"
-msgstr "tentando di passare al team non supportato %d\n"
+msgstr "tentando di passare alla squadra non supportata %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: "
"Tipo di entity sconosciuta in CSQC_Ent_Update (enttype: %d, edict: %d, "
"classname: %s)\n"
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr "%s (nessun tasto)"
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr "Progresso del risveglio"
#: qcsrc/client/hud.qc:2501
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
msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
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:3712
msgid "^1Match has already begun"
msgstr "^1La partita è già iniziata"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
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:3716 qcsrc/client/hud.qc:3719
#, 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:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr "^2Attualmente in ^1warmup^2!"
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
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:3758
msgid "^2Waiting for others to ready up..."
msgstr "^2Attendendo che gli altri siano pronti..."
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, 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:3785
msgid "Teamnumbers are unbalanced!"
msgstr "Numero di giocatori per squadra sbilanciato!"
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, 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:3798
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:3800
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:3802
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:3804
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:3852
msgid " qu/s"
msgstr " qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
msgstr " m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
msgstr " km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
msgstr " mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr " nodi"
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
"Corretti automaticamente numeri di pannello sbagliati/mancanti in "
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"
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
msgid "%d%%"
msgstr "%d%%"
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr "Statistiche mappa:"
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr "Segreti trovati:"
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr "Classifica"
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr "Tabella dei punteggi"
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, 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:1325
#, 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:1359
msgid "Spectators"
msgstr "Spettatori"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr "giocando in ^2%s^7"
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr " o"
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr "è battuto"
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, 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:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr "^1Rinascita in ^3%s^1..."
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, 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:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr "Sei morto, premi ^2%s^7 per rinascere"
msgid "%dth"
msgstr "%d°"
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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 ""
+
+#: 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 "^1Note del server:"
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 ""
+
+#: 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"
"^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 "
"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"
"^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 "
"^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 ""
+
+#: 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"
"^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"
"^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 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 "^BG%s^K1 è morto%s%s. Qual'è il motivo di vivere senza munizioni?"
-#: 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 ha finito le munizioni%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 è marcito%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 è diventato una stella cadente%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 è stato sciolto%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 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 ""
+
+#: 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."
"^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 "
"^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 "
"^F2Devi entrare in gioco entro i prossimi %s, altrimenti sarai buttato "
"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 "
"^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 "
"^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"
"^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"
"^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"
"^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"
"^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"
"^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 ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: 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..."
"^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 ""
+
+#: qcsrc/common/notifications.qh:636
msgid ""
"^K1No spawnpoints available!\n"
"Hope your team can fix it..."
"^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."
"^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 "^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:641
msgid ""
"^BGAll keys are in your team's hands!\n"
"Help the key carriers to meet!"
"^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:642
msgid ""
"^BGAll keys are in ^TC^TT team^BG's hands!\n"
"Interfere ^F4NOW^BG!"
"^BGTutte le chiavi sono in mano alla squadra ^TC^TT!\n"
"Interferisci ^F4ORA^BG!"
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:643
msgid ""
"^BGAll keys are in your team's hands!\n"
"Meet the other key carriers ^F4NOW^BG!"
"^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:644
msgid "^F4Round will start in ^COUNT"
msgstr "^F4Il round incomincerà in ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr "^BGAnalizzando l'intervallo di frequenza..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"^BGIn attesa che i giocatori entrino...\n"
"Servono giocatori per: %s"
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, 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:650
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:651
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:651
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:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Vite extra rimanenti: ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr "^BGIl fuoco secondario non infligge alcun danno!"
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr "^BG%s"
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"^F2^COUNT^BG al cambio d'arma...\n"
"Prossima arma: ^F1%s"
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr "^F2Arma attiva: ^F1%s"
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
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:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
"^F2Si giocano i ^F4SUPPLEMENTARI^F2!\n"
"Continua a fraggare finché non c'è un vincitore!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
"^F2Si giocano i ^F4SUPPLEMENTARI^F2!\n"
"Continua a segnare finché non c'è un vincitore!"
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, c-format
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"^F2Si giocano i ^F4SUPPLEMENTARI^F2!\n"
"^BGAggiunti ^F4%s^BG alla partita!"
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:660
msgid "^F2Invisibility has worn off"
msgstr "^F2L'invisibilità è scaduta"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr "^F2L'invisibilità è scaduta"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr "^F2La Velocità è scaduta"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr "^F2La Forza è scaduta"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr "^F2Sei invisibile"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr "^F2Lo scudo ti circonda"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr "^F2Sei veloce"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
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:668
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:669
msgid "^F2Superweapons have broken down"
msgstr "^F2Le Superarmi si sono spaccate"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr "^F2Le Superarmi sono state perse"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr "^F2Ora hai una superarma"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
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:673
msgid "^K1Changing team in ^COUNT"
msgstr "^K1Cambiando squadra in ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr "^K1Spettatore in ^COUNT"
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Suicidio in ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Il timeout comincia in ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
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:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr " (vicino %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr "primario"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr "secondario"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr " ^F1(Premi %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr " con %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
msgstr "TRIPLO FRAG! "
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, 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:998
msgid "RAGE! "
msgstr "FURIA! "
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, 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:999
msgid "MASSACRE! "
msgstr "MASSACRO! "
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
#, 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:1000
msgid "MAYHEM! "
msgstr "CAOS! "
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
#, 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:1001
msgid "BERSERKER! "
msgstr "BERSERKER! "
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
#, 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:1002
msgid "CARNAGE! "
msgstr "CARNEFICINA! "
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, 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:1003
msgid "ARMAGEDDON! "
msgstr "ARMAGEDDON! "
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Bot^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr "%s(Ping ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(Vita ^1%d^BG / Armatura ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Morto^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr "serie di %d punti! "
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr "serie di %d frag! "
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr "Prima uccisione!"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr "Primo punto! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Primo incidente! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr "Prima vittima! "
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, 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:1146
#, 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:1162
#, 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:1163
#, 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:1177
#, 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:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ", perdendo la sua serie di %d punti"
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 "
"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"
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 ""
-#: 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"
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
#: 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"
#: 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à:"
#: 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"
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:"
msgid "Exit setup"
msgstr "Esci dal 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 "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 ""
+
+#: 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 "Imposta skin:"
+
#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
msgid "Multiplayer"
msgstr "Multiplayer"
#: 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:"
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..."
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:"
#: 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"
msgstr "Entra"
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:33
+msgid "SRVS^Categories"
+msgstr ""
+
+#: 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!"
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"
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 *"
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à:"
msgstr "Porta UDP del 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 "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"
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:"
#: 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"
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 ""
+
+#: 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 "Aggiungi tra i preferiti"
+#: 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 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"
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"
"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"
"^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"
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/xonotic/language/"
"nl/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
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:43
msgid "SCO^ping"
-msgstr ""
+msgstr "Ping"
#: qcsrc/client/scoreboard.qc:44
msgid "SCO^pl"
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
msgid "%dth"
msgstr "%dth"
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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:"
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+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: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"
"^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"
"^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"
"^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..."
"^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..."
"^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."
"^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 "^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:641
msgid ""
"^BGAll keys are in your team's hands!\n"
"Help the key carriers to meet!"
"^BGAlle sleutels zijn in handen van jouw team!\n"
"Help de dragers elkaar te ontmoeten!"
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:642
msgid ""
"^BGAll keys are in ^TC^TT team^BG's hands!\n"
"Interfere ^F4NOW^BG!"
"^BGAlle sleutels zijn in handen van team ^TC^TT ^BG!\n"
"Grijp ^F4NU^BG in!"
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:643
msgid ""
"^BGAll keys are in your team's hands!\n"
"Meet the other key carriers ^F4NOW^BG!"
"^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:644
msgid "^F4Round will start in ^COUNT"
msgstr "^F4De ronde start over ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr "^BGFrequentiebereik aan het scannen..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"^BGAan het wachten voor spelers...\n"
"Actieve spelers nodig voor: %s"
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, 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:650
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:651
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:651
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:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Resterende extra levens: ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr "^BGSecundaire vuurmodus doet geen damage!"
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr "^BG%s"
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"^F2^COUNT^BG tot de wapens veranderen...\n"
"Volgend wapen: ^F1%s"
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr "^F2Actief wapen: ^F1%s"
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
"^F4VERLENGING!^F2\n"
"Blijf spelen tot we een winnaar hebben!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
"^F4VERLENING^F2!\n"
"Blijf scoren tot we een winnaar hebben!"
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, c-format
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"^F4VERLENGING^F2!\n"
"^BG^F4%s^BG toegevoegd aan het spel!"
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:660
msgid "^F2Invisibility has worn off"
msgstr "^F2Onzichtbaarheid is uitgewerkt"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr "^F2Schild is uitgewerkt"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr "^F2Snelheid is uitgewerkt"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr "^F2Kracht is uitgewerkt"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr "^F2Je bent onzichtbaar"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr "^F2Een schild omringt je"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr "^F2Je bent op snelheid"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
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:668
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:669
msgid "^F2Superweapons have broken down"
msgstr "^F2Superwapens zijn afgebroken"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr "^F2De superwapens zijn kwijtgeraakt"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr "^F2Je hebt nu een superwapen"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
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:673
msgid "^K1Changing team in ^COUNT"
msgstr "^K1Verandering van team in ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr "^K1Toeschouwen in ^COUNT"
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Zelfmoord in ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Timeout begint in ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr "^F4Timeout eindigt in ^COUNT"
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr "(dichtbij %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr "primaire"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr "secundaire"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr "^F1(Druk %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr "met %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
msgstr "DRIEDUBBELE KILL!"
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, 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:998
msgid "RAGE! "
msgstr "RAGE!"
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, 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:999
msgid "MASSACRE! "
msgstr "BLOEDBAD!"
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
#, 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:1000
msgid "MAYHEM! "
msgstr "MAYHEM!"
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
#, 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:1001
msgid "BERSERKER! "
msgstr "BERSERKER!"
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
#, 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:1002
msgid "CARNAGE! "
msgstr "CARNAGE!"
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, 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:1003
msgid "ARMAGEDDON! "
msgstr "ARMAGEDDON!"
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Bot^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr "%s(Ping ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(LevenS ^1%d^BG / Pantser ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Dood^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr "%d score reeks!"
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr "%d frag reeks!"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr "Eerste bloed!"
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr "Eerste score! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Eerste ongeval! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr "Eerste slachtoffer!"
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, 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:1146
#, 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:1162
#, 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:1163
#, 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:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ", zijn %d frag reeks verliezend"
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ", zijn %d score reeks verliezend"
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 "
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"
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"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
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!"
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"
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 *"
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:"
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"
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:"
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"
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"
"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"
"^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:"
--- /dev/null
+# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 12:23+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:217 qcsrc/client/Main.qc:233
+#, c-format
+msgid "trying to switch to unsupported team %d\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:1294
+#, c-format
+msgid "%s (not bound)"
+msgstr "%s (nie związany)"
+
+#: qcsrc/client/Main.qc:1299 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:1164
+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:829
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:833
+msgid "Don't have"
+msgstr "Nie masz"
+
+#: qcsrc/client/hud.qc:837
+msgid "Unavailable"
+msgstr "Niedostępne"
+
+#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#, c-format
+msgid "Player %d"
+msgstr "Gracz %d"
+
+#: qcsrc/client/hud.qc:2384
+msgid "^1Intermediate 1 (+15.42)"
+msgstr "^1Pośredni 1 (+15.42)"
+
+#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr "^1KARA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2471
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr "^2KARA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2501
+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:2506
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr "^2Nazwa ^7zamiast \"^1Anonimowy gracz^7\" w statystykach"
+
+#: qcsrc/client/hud.qc:2586
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2588
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2592
+msgid "^1Configure the HUD"
+msgstr "^1Konfiguracja HUD"
+
+#: qcsrc/client/hud.qc:2596
+#, c-format
+msgid "Yes (%s): %d"
+msgstr "Tak (%s): %d"
+
+#: qcsrc/client/hud.qc:2598
+#, c-format
+msgid "No (%s): %d"
+msgstr "Nie (%s): %d"
+
+#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3552
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3618
+#, c-format
+msgid "FPS: %.*f"
+msgstr "FPS: %.*f"
+
+#: qcsrc/client/hud.qc:3683
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3695
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3699
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3704
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3712
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3714
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3727
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3734
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3749
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3751
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3756
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3758
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3785
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3790
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3798
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3800
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3802
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3804
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3852
+msgid " qu/s"
+msgstr "qu/s"
+
+#: qcsrc/client/hud.qc:3856
+msgid " m/s"
+msgstr "m/s"
+
+#: qcsrc/client/hud.qc:3860
+msgid " km/h"
+msgstr "km/h"
+
+#: qcsrc/client/hud.qc:3864
+msgid " mph"
+msgstr "mil/h"
+
+#: qcsrc/client/hud.qc:3868
+msgid " knots"
+msgstr "węzłów"
+
+#: qcsrc/client/hud.qc:4550
+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:98
+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:251
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "Usage:\n"
+msgstr " Stosowanie:\n"
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3ping^7 Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3pl^7 Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3kills^7 Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid "^3deaths^7 Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3suicides^7 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3frags^7 kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3sum^7 frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+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
+msgid "^3captime^7 Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid "^3returns^7 Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid "^3drops^7 Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:274
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid "^3rank^7 Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:276
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:277
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:278
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:279
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:281
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:282
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:285
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:287
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:289
+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:294
+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
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:298
+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
+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/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:984
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1047
+#, c-format
+msgid "%d%%"
+msgstr "%d%%"
+
+#: qcsrc/client/scoreboard.qc:1113
+msgid "Map stats:"
+msgstr "Statystyka:"
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1166
+msgid "Rankings"
+msgstr "Rankingi"
+
+#: qcsrc/client/scoreboard.qc:1262
+msgid "Scoreboard"
+msgstr "Tablica wyników"
+
+#: qcsrc/client/scoreboard.qc:1321
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1325
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1366
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1382 qcsrc/client/scoreboard.qc:1401
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1432
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1442
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1451
+#, 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:591
+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:254
+msgid "Push"
+msgstr "Pchnięcie"
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr "Zniszczyć"
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr "Bronić"
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr "Baza niebieska"
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr "ZAGROŻENIE"
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Help me!"
+msgstr "Pomóż mi!"
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Here"
+msgstr "Tutaj"
+
+#: qcsrc/client/waypointsprites.qc:264
+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
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:266
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:272
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
+#: qcsrc/client/waypointsprites.qc:275
+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
+msgid "Control point"
+msgstr "Punkt kontroli"
+
+#: qcsrc/client/waypointsprites.qc:284
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr "Laser"
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:304
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Invisibility"
+msgstr "Niewidzialność"
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Extra life"
+msgstr "Dodatkowe życie "
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Speed"
+msgstr "Prędkość"
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Strength"
+msgstr "Siła"
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Shield"
+msgstr "Tarcza"
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Frozen!"
+msgstr "Zamrożone!"
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:321
+msgid "Vehicle"
+msgstr "Pojazd"
+
+#: qcsrc/client/waypointsprites.qc:595
+#, 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:714
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1111 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 "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:649
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:979
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:988
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1009
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1011
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1017
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1019
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1068
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1126
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1145
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1162
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1177
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, 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:40
+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_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_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr "Nie"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+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_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:39 qcsrc/menu/xonotic/mainwindow.c:42
+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 ""
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-02-14 12:09+0100\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"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
#, c-format
msgid "%s (%s)"
msgstr ""
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
msgstr ""
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
msgstr ""
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
msgstr ""
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
msgstr ""
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
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 ""
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, no-c-format
msgid "@!#%'n Tuba Throwing"
msgstr ""
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr ""
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
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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
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 ""
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 ""
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 ""
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_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 ""
#: 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 ""
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 ""
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 ""
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_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:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
msgid "Advanced settings..."
msgstr ""
msgid "Goals:"
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_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 ""
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 ""
msgid "Sandbox Tools"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr ""
-
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
msgid "Remove *"
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 ""
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 ""
msgid "Value:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
msgid "Description:"
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 ""
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 ""
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Portuguese (http://www.transifex.com/projects/p/xonotic/"
"language/pt/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
#, c-format
msgid "%s (%s)"
msgstr ""
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
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:43
msgid "SCO^ping"
-msgstr ""
+msgstr "Ping"
#: qcsrc/client/scoreboard.qc:44
msgid "SCO^pl"
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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 ""
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+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: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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ""
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 "
"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"
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"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
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!"
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"
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 *"
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:"
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"
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:"
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"
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"
"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"
"^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:"
# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/xonotic/"
"language/ro/)\n"
#: 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 ""
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
#, c-format
msgid "%s (%s)"
msgstr ""
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1164
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
#: qcsrc/client/hud.qc:837
msgid "Unavailable"
-msgstr ""
+msgstr "Indisponibil"
#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
#, c-format
msgid "Player %d"
-msgstr ""
+msgstr "Jucator: %d"
#: qcsrc/client/hud.qc:2384
msgid "^1Intermediate 1 (+15.42)"
#: qcsrc/client/hud.qc:2588
msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Permiti serverelor sa-ti stocheze si afiseze numele? "
#: qcsrc/client/hud.qc:2592
msgid "^1Configure the HUD"
#: qcsrc/client/hud.qc:2596
#, c-format
msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Da (%s): %d"
#: qcsrc/client/hud.qc:2598
#, 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
msgid "Personal best"
-msgstr ""
+msgstr "Record personal"
#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
msgid "Server best"
-msgstr ""
+msgstr "Record server"
#: qcsrc/client/hud.qc:3552
msgid "^3Player^7: This is the chat area."
#: qcsrc/client/hud.qc:3618
#, c-format
msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
#: qcsrc/client/hud.qc:3683
msgid "^1Observing"
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:3712
msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Meciul deja a inceput"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
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:3716 qcsrc/client/hud.qc:3719
#, 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:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
-msgstr ""
+msgstr "^2Momentan in ^1incalzire^2!"
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
-msgstr ""
+msgstr "Numarul de jucatori din echipe nu este echilibrat! "
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
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 ""
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:23
msgid "SCO^deaths"
-msgstr ""
+msgstr "SCO^morti"
#: qcsrc/client/scoreboard.qc:24
msgid "SCO^destroyed"
#: qcsrc/client/scoreboard.qc:43
msgid "SCO^ping"
-msgstr ""
+msgstr "Latenta"
#: qcsrc/client/scoreboard.qc:44
msgid "SCO^pl"
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
-msgstr ""
+msgstr "Spectatori"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
-msgstr ""
+msgstr "sau"
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
#: qcsrc/client/waypointsprites.qc:255
msgid "Destroy"
-msgstr ""
+msgstr "Distruge"
#: qcsrc/client/waypointsprites.qc:256
msgid "Defend"
-msgstr ""
+msgstr "Apara"
#: qcsrc/client/waypointsprites.qc:257
msgid "Blue base"
-msgstr ""
+msgstr "Baza albastra"
#: qcsrc/client/waypointsprites.qc:258
msgid "DANGER"
-msgstr ""
+msgstr "PERICOL"
#: qcsrc/client/waypointsprites.qc:259
msgid "Enemy carrier"
-msgstr ""
+msgstr "Purtator inamic"
#: qcsrc/client/waypointsprites.qc:260
msgid "Flag carrier"
-msgstr ""
+msgstr "Purtator steag"
#: qcsrc/client/waypointsprites.qc:261
msgid "Dropped flag"
-msgstr ""
+msgstr "Steag scapat"
#: qcsrc/client/waypointsprites.qc:262
msgid "Help me!"
-msgstr ""
+msgstr "Ajutor! "
#: qcsrc/client/waypointsprites.qc:263
msgid "Here"
-msgstr ""
+msgstr "Aici"
#: qcsrc/client/waypointsprites.qc:264
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
msgid "Key carrier"
-msgstr ""
+msgstr "Purtator cheie"
#: qcsrc/client/waypointsprites.qc:266
msgid "Run here"
-msgstr ""
+msgstr "Fugi aici"
#: qcsrc/client/waypointsprites.qc:271
msgid "Red base"
-msgstr ""
+msgstr "Baza rosie"
#: qcsrc/client/waypointsprites.qc:272
msgid "Waypoint"
-msgstr ""
+msgstr "Indicator"
#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
#: qcsrc/client/waypointsprites.qc:275
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:288 qcsrc/client/waypointsprites.qc:289
msgid "Ball"
-msgstr ""
+msgstr "Minge"
#: qcsrc/client/waypointsprites.qc:290
msgid "Ball carrier"
-msgstr ""
+msgstr "Purtator minge"
#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
msgid "Laser"
#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
msgid "Shotgun"
-msgstr "Shotgun"
+msgstr "Pusca"
#: qcsrc/client/waypointsprites.qc:293 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
msgid "Mortar"
#: qcsrc/client/waypointsprites.qc:299 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
msgid "Port-O-Launch"
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "Minstanex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
msgid "Fireball"
-msgstr "Fireball"
+msgstr "Minge de foc"
#: qcsrc/client/waypointsprites.qc:304
msgid "HLAC"
#: qcsrc/client/waypointsprites.qc:312
msgid "Invisibility"
-msgstr ""
+msgstr "Invizibilitate"
#: qcsrc/client/waypointsprites.qc:313
msgid "Extra life"
-msgstr ""
+msgstr "Viata aditionala"
#: qcsrc/client/waypointsprites.qc:314
msgid "Speed"
-msgstr ""
+msgstr "Viteza"
#: qcsrc/client/waypointsprites.qc:315
msgid "Strength"
-msgstr ""
+msgstr "Forta"
#: qcsrc/client/waypointsprites.qc:316
msgid "Shield"
-msgstr ""
+msgstr "Scut"
#: qcsrc/client/waypointsprites.qc:317
msgid "Fuel regen"
#: qcsrc/client/waypointsprites.qc:319
msgid "Frozen!"
-msgstr ""
+msgstr "Inghetat!"
#: qcsrc/client/waypointsprites.qc:320
msgid "Tagged"
#: qcsrc/client/waypointsprites.qc:321
msgid "Vehicle"
-msgstr ""
+msgstr "Vehicul"
#: qcsrc/client/waypointsprites.qc:595
#, c-format
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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 ""
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 couldn't take it anymore%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:395
+#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:396
+#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+msgid "^BG%s^K1 was given kung fu lessons by a Zombie%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:397
+#: 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: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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ""
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 "
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"
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"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
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!"
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"
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 *"
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:"
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"
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:"
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"
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"
"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"
"^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:"
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Alex Talker <alextalker7@gmail.com>, 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/xonotic/language/"
"ru/)\n"
#: qcsrc/client/Main.qc:56
#, c-format
msgid "^4CSQC Build information: ^1%s\n"
-msgstr ""
+msgstr "^4CSQC Информация о сборке: ^1%s\n"
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
+"Неизвестный примитивный тип в CSQC_Ent_Update (enttype: %d, edict: %d, "
+"classname: %s)\n"
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
-msgstr ""
+msgstr "%s (не связаны)"
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
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
msgid "Out of ammo"
-msgstr ""
+msgstr "Нет патронов"
#: qcsrc/client/hud.qc:833
msgid "Don't have"
#: qcsrc/client/hud.qc:837
msgid "Unavailable"
-msgstr ""
+msgstr "Недоступен"
#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
#, c-format
msgid "Player %d"
-msgstr ""
+msgstr "Игрок %d"
#: qcsrc/client/hud.qc:2384
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
#, c-format
msgid "^1PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^1ШТРАФ: %.1f (%s)"
#: qcsrc/client/hud.qc:2471
#, c-format
msgid "^2PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^2ШТРАФ: %.1f (%s)"
#: qcsrc/client/hud.qc:2501
msgid "^1You must answer before entering hud configure mode\n"
-msgstr ""
+msgstr "^1Вы должны ответить перед входом в режиме настройки HUD\n"
#: qcsrc/client/hud.qc:2506
msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
-msgstr ""
+msgstr "^2Имя ^7вместо \"^1Anonymous player^7\" в статистике"
#: qcsrc/client/hud.qc:2586
msgid "A vote has been called for:"
-msgstr ""
+msgstr "Голосование было создано для:"
#: qcsrc/client/hud.qc:2588
msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Позволить серверам хранить и отображать ваше имя?"
#: qcsrc/client/hud.qc:2592
msgid "^1Configure the HUD"
-msgstr ""
+msgstr "^1Настроить HUD"
#: qcsrc/client/hud.qc:2596
#, c-format
msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Да (%s): %d"
#: qcsrc/client/hud.qc:2598
#, 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
msgid "Personal best"
-msgstr ""
+msgstr "Персональный рекорд"
#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
msgid "Server best"
-msgstr ""
+msgstr "Рекорд на сервере"
#: qcsrc/client/hud.qc:3552
msgid "^3Player^7: This is the chat area."
-msgstr ""
+msgstr "^3Игрок^7: Это чат."
#: qcsrc/client/hud.qc:3618
#, c-format
msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
#: qcsrc/client/hud.qc:3683
msgid "^1Observing"
-msgstr ""
+msgstr "^1Наблюдение"
#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
#, c-format
msgid "^1Spectating: ^7%s"
-msgstr ""
+msgstr "^1Наблюдает: ^7%s"
#: qcsrc/client/hud.qc:3693
#, c-format
msgid "^1Press ^3%s^1 to spectate"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для наблюдения"
#: qcsrc/client/hud.qc:3695
#, 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
#, 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
#, c-format
msgid "^1Press ^3%s^1 to observe"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для свободного обзора"
#: qcsrc/client/hud.qc:3704
#, 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:3712
msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Матч уже начался"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
-msgstr ""
+msgstr "^1У вас закончились жизни"
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Нажмите ^3%s^1 для входа"
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
-msgstr ""
+msgstr "^2Сейчас в ^1тренировочном^2 этапе!"
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
msgid "^2Waiting for others to ready up to end warmup..."
-msgstr ""
+msgstr "^2Ожидание других игроков для окончания разминки..."
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
-msgstr ""
+msgstr "^2Ожидание других игроков..."
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, 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:3785
msgid "Teamnumbers are unbalanced!"
-msgstr ""
+msgstr "Неравенство в числе участников команд!"
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
-msgstr ""
+msgstr " Нажмите ^3%s%s для настройки"
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr ""
+msgstr "^7Нажмите ^3ESC ^7для просмотра настроек HUD."
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
-msgstr ""
+msgstr "^3Дважды кликните ^7по панели для панельно-спецефичных настроек."
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "м/с"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "км/ч"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "м/ч"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
#, c-format
msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
msgstr ""
+"^2Удачно экспортировано в %s! (Примечание: это сохранено в data/data/)\n"
#: qcsrc/client/hud_config.qc:200
#, c-format
#: 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 ""
#: qcsrc/client/mapvoting.qc:292
msgid "Requesting preview...\n"
-msgstr ""
+msgstr "Запрос предпросмотра...\n"
#: qcsrc/client/miscfunctions.qc:98
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"
#: 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"
#: qcsrc/client/scoreboard.qc:27
msgid "SCO^fckills"
-msgstr ""
+msgstr "зубийства"
#: qcsrc/client/scoreboard.qc:28
msgid "SCO^goals"
#: qcsrc/client/scoreboard.qc:29
msgid "SCO^kckills"
-msgstr ""
+msgstr "нкубийства"
#: qcsrc/client/scoreboard.qc:30
msgid "SCO^kdratio"
#: qcsrc/client/scoreboard.qc:34
msgid "SCO^kills"
-msgstr ""
+msgstr "убийства"
#: qcsrc/client/scoreboard.qc:35
msgid "SCO^laps"
#: qcsrc/client/scoreboard.qc:36
msgid "SCO^lives"
-msgstr ""
+msgstr "жизни"
#: qcsrc/client/scoreboard.qc:37
msgid "SCO^losses"
#: qcsrc/client/scoreboard.qc:38
msgid "SCO^name"
-msgstr ""
+msgstr "имя"
#: qcsrc/client/scoreboard.qc:39
msgid "SCO^sum"
#: qcsrc/client/scoreboard.qc:40
msgid "SCO^nick"
-msgstr ""
+msgstr "ник"
#: qcsrc/client/scoreboard.qc:41
msgid "SCO^objectives"
#: 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"
#: 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"
#: qcsrc/client/scoreboard.qc:252
msgid "^3|---------------------------------------------------------------|\n"
-msgstr ""
+msgstr "^3|---------------------------------------------------------------|\n"
#: qcsrc/client/scoreboard.qc:253
msgid "Usage:\n"
-msgstr ""
+msgstr "Использование:\n"
#: qcsrc/client/scoreboard.qc:254
msgid "^2scoreboard_columns_set default\n"
#: qcsrc/client/scoreboard.qc:259
msgid "^3name^7 or ^3nick^7 Name of a player\n"
-msgstr ""
+msgstr "^3имя^7 или ^3ник^7 Имя игрока\n"
#: qcsrc/client/scoreboard.qc:260
msgid "^3ping^7 Ping time\n"
-msgstr ""
+msgstr "^3ping^7 время пинга\n"
#: qcsrc/client/scoreboard.qc:261
msgid "^3pl^7 Packet loss\n"
-msgstr ""
+msgstr "^3pl^7 Потеря пакетов\n"
#: qcsrc/client/scoreboard.qc:262
msgid "^3kills^7 Number of kills\n"
-msgstr ""
+msgstr "^3убитые^7 Число убитых\n"
#: qcsrc/client/scoreboard.qc:263
msgid "^3deaths^7 Number of deaths\n"
#: qcsrc/client/scoreboard.qc:265
msgid "^3frags^7 kills - suicides\n"
-msgstr ""
+msgstr "^3фраги^7 убийств - самоубийств\n"
#: qcsrc/client/scoreboard.qc:266
msgid "^3kd^7 The kill-death ratio\n"
#: qcsrc/client/scoreboard.qc:267
msgid "^3sum^7 frags - deaths\n"
-msgstr ""
+msgstr "^3сумма^7 фраги - смерти\n"
#: qcsrc/client/scoreboard.qc:268
msgid ""
"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
"captured\n"
msgstr ""
+"^3caps^7 Как часто флаг (CTF) или ключ (KeyHunt) был "
+"захвачен\n"
#: qcsrc/client/scoreboard.qc:269
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
msgid "^3captime^7 Time of fastest cap (CTF)\n"
-msgstr ""
+msgstr "^3captime^7 Время наибыстрейшего захвата(CTF)\n"
#: qcsrc/client/scoreboard.qc:271
msgid "^3fckills^7 Number of flag carrier kills\n"
-msgstr ""
+msgstr "^3зубийств^7 Число убийств знаменосцев\n"
#: qcsrc/client/scoreboard.qc:272
msgid "^3returns^7 Number of flag returns\n"
#: qcsrc/client/scoreboard.qc:275
msgid "^3rank^7 Player rank\n"
-msgstr ""
+msgstr "^3рейтинг^7 Рейтинг игрока\n"
#: qcsrc/client/scoreboard.qc:276
msgid "^3pushes^7 Number of players pushed into void\n"
#: qcsrc/client/scoreboard.qc:278
msgid "^3kckills^7 Number of keys carrier kills\n"
-msgstr ""
+msgstr "^3нкубийства^7 Число убийств носителей ключей\n"
#: qcsrc/client/scoreboard.qc:279
msgid "^3losses^7 Number of times a key was lost\n"
#: qcsrc/client/scoreboard.qc:285
msgid "^3bckills^7 Number of ball carrier kills\n"
-msgstr ""
+msgstr "^3нмубийств^7 Число убийств носителей мячей\n"
#: qcsrc/client/scoreboard.qc:286
msgid ""
#: qcsrc/client/scoreboard.qc:297
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
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/menu/xonotic/dialog_multiplayer_join_serverinfo.c:121
#: qcsrc/client/scoreboard.qc:984
#, c-format
msgid "Accuracy stats (average %d%%)"
-msgstr ""
+msgstr "Статистика точности (среднее %d%%)"
#: qcsrc/client/scoreboard.qc:1047
#, c-format
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
-msgstr ""
+msgstr "Счет:"
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
-msgstr ""
+msgstr "Зрители"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
-msgstr ""
+msgstr "или"
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
-msgstr ""
+msgstr "^1Возрождение в ^3%s^1..."
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, 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
#: qcsrc/client/tturrets.qc:299 qcsrc/client/waypointsprites.qc:591
msgid "Spam"
-msgstr ""
+msgstr "Спам"
#: qcsrc/client/tturrets.qc:308
#, c-format
#: 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
msgid "Push"
-msgstr ""
+msgstr "Нажать"
#: qcsrc/client/waypointsprites.qc:255
msgid "Destroy"
-msgstr ""
+msgstr "Уничтожить"
#: qcsrc/client/waypointsprites.qc:256
msgid "Defend"
-msgstr ""
+msgstr "Защитить"
#: qcsrc/client/waypointsprites.qc:257
msgid "Blue base"
-msgstr ""
+msgstr "Синяя база"
#: qcsrc/client/waypointsprites.qc:258
msgid "DANGER"
-msgstr ""
+msgstr "ОПАСНОСТЬ"
#: qcsrc/client/waypointsprites.qc:259
msgid "Enemy carrier"
-msgstr ""
+msgstr "Вражеский знаменосец"
#: qcsrc/client/waypointsprites.qc:260
msgid "Flag carrier"
-msgstr ""
+msgstr "Знаменосец"
#: qcsrc/client/waypointsprites.qc:261
msgid "Dropped flag"
-msgstr ""
+msgstr "Флаг брошен"
#: qcsrc/client/waypointsprites.qc:262
msgid "Help me!"
-msgstr ""
+msgstr "Помогите мне!"
#: qcsrc/client/waypointsprites.qc:263
msgid "Here"
-msgstr ""
+msgstr "Здесь"
#: qcsrc/client/waypointsprites.qc:264
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
msgid "Key carrier"
-msgstr ""
+msgstr "Носитель ключа"
#: qcsrc/client/waypointsprites.qc:266
msgid "Run here"
-msgstr ""
+msgstr "Беги сюда"
#: qcsrc/client/waypointsprites.qc:271
msgid "Red base"
-msgstr ""
+msgstr "Красная база"
#: qcsrc/client/waypointsprites.qc:272
msgid "Waypoint"
-msgstr ""
+msgstr "Точка маршрута"
#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
#: qcsrc/client/waypointsprites.qc:275
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:309 qcsrc/client/waypointsprites.qc:310
#: qcsrc/client/waypointsprites.qc:311
msgid "Control point"
-msgstr ""
+msgstr "Контрольная точка"
#: qcsrc/client/waypointsprites.qc:284
msgid "Checkpoint"
-msgstr ""
+msgstr "Контрольная точка"
#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
msgid "Finish"
-msgstr ""
+msgstr "Конец"
#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
msgid "Start"
-msgstr ""
+msgstr "Начало"
#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
msgid "Ball"
-msgstr ""
+msgstr "Мяч"
#: qcsrc/client/waypointsprites.qc:290
msgid "Ball carrier"
-msgstr ""
+msgstr "Носитель мяча"
#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
msgid "Laser"
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "MinstaNex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
#: qcsrc/client/waypointsprites.qc:312
msgid "Invisibility"
-msgstr ""
+msgstr "Невидимость"
#: qcsrc/client/waypointsprites.qc:313
msgid "Extra life"
-msgstr ""
+msgstr "Дополнительная жизнь"
#: qcsrc/client/waypointsprites.qc:314
msgid "Speed"
-msgstr ""
+msgstr "Скорость"
#: qcsrc/client/waypointsprites.qc:315
msgid "Strength"
-msgstr ""
+msgstr "Сила"
#: qcsrc/client/waypointsprites.qc:316
msgid "Shield"
-msgstr ""
+msgstr "Щит"
#: qcsrc/client/waypointsprites.qc:317
msgid "Fuel regen"
-msgstr ""
+msgstr "Энергия для регенерации"
#: qcsrc/client/waypointsprites.qc:318
msgid "Jet Pack"
-msgstr ""
+msgstr "Реактивный ранец"
#: qcsrc/client/waypointsprites.qc:319
msgid "Frozen!"
-msgstr ""
+msgstr "Заморожен!"
#: qcsrc/client/waypointsprites.qc:320
msgid "Tagged"
-msgstr ""
+msgstr "Отмечен"
#: qcsrc/client/waypointsprites.qc:321
msgid "Vehicle"
-msgstr ""
+msgstr "Транспорт"
#: qcsrc/client/waypointsprites.qc:595
#, c-format
msgid "%s needing help!"
-msgstr ""
+msgstr "%s требуется помощь!"
#: qcsrc/common/command/generic.qc:31
#, c-format
#: qcsrc/common/counting.qh:52
#, c-format
msgid "CI_MUL^%d seconds"
-msgstr "%d минут"
+msgstr "%d секунд"
#: qcsrc/common/counting.qh:68
#, c-format
msgid "%dth"
msgstr "%dй"
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, no-c-format
msgid "@!#%'n Tuba Throwing"
msgstr "@!#%'n Швыряние Тубой"
-#: qcsrc/common/mapinfo.qc:1109 qcsrc/menu/xonotic/skinlist.c:166
+#: qcsrc/common/mapinfo.qc:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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Уведомления от сервера:"
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'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 ""
-#: 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 команда выиграла этот раунд"
-#: 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 ""
-#: 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У вас отсутствует ^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 " У ^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 ""
+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 ""
-#: 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 закончил гонку"
-#: 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 ""
+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 ""
-#: 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 "^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"
"^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"
"^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"
"^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 ""
+
+#: qcsrc/common/notifications.qh:593
+msgid "^K1You were killed by a monster!"
+msgstr ""
+
+#: 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..."
"^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 ""
+
+#: qcsrc/common/notifications.qh:636
msgid ""
"^K1No spawnpoints available!\n"
"Hope your team can fix it..."
"^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."
"^K1Вы не можете присоединиться к игре в данный момент.\n"
"Превышено максимальное количество игроков."
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
msgid "^BGKilling people while you don't have the ball gives no points!"
msgstr "^BGПока мяч находится не у вас, вы очки за убийства не начисляются!"
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
msgid ""
"^BGAll keys are in your team's hands!\n"
"Help the key carriers to meet!"
"^BGВсе ключи у членов вашей команды!\n"
"Теперь вам нужно встретиться!"
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:642
msgid ""
"^BGAll keys are in ^TC^TT team^BG's hands!\n"
"Interfere ^F4NOW^BG!"
"^BG^TC^TT команда^BG собрала все ключи!\n"
"Помешайте им встретиться. ^F4БЫСТРО^BG!"
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:643
msgid ""
"^BGAll keys are in your team's hands!\n"
"Meet the other key carriers ^F4NOW^BG!"
"^BGВсе ключи у членов вашей команды\n"
"Встретьтесь с ними. ^F4БЫСТРО^BG!"
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:644
msgid "^F4Round will start in ^COUNT"
msgstr "^F4Раунд начнётся через ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr "^BGСканирование частотного диапазона..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"^BGОжидание игроков...\n"
"Активные игроки необходимы для: %s"
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr "^BGОжидаем присоединения %s игроков(а)..."
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr "^F4^COUNT^BG осталось на поиск патронов!"
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
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:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr "^BGРаздобудьте патронов! Осталось ^F4^COUNT^BG!"
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Осталось дополнительных жизней: ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr "^BGАльтернативный режим огня не наносит урона!"
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr "^BG%s"
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"^F2^COUNT^BG до смены оружия...\n"
"Следующее оружие: ^F1%s"
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr "^F2Текущее оружие: ^F1%s"
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr "^BGНажмите кнопку ^F2БРОСИТЬ ОРУЖИЕ^BG снова чтобы бросить гранату!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
"^F2Продолжаем играть в ^F4ОВЕРТАЙМЕ^F2!\n"
"Убивайте противников, пока не определится победитель!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
"^F2Продолжаем играть в ^F4ОВЕРТАЙМЕ^F2!\n"
"Зарабатывайте очки, пока не определится победитель!"
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, c-format
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"^F2Продолжаем играть в ^F4ОВЕРТАЙМЕ^F2!\n"
"^BGК игровому времени добавлено ^F4%s^BG!"
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:660
msgid "^F2Invisibility has worn off"
msgstr "^F2Действие Невидимости закончилось"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr "^F2Действие Щита закончилось"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr "^F2Действие Скорости закончилось"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr "^F2Действие Силы закончилось"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr "^F2Вы невидимы"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr "^F2Вас окружает щит"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr "^F2Ваша скорость передвижения повышена"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr "^F2Сила придаёт разрушительную мощь вашему оружие"
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr "^F2Гонка окончена, завершите ваш круг!"
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr "^F2Супероружие разрушилось"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr "^F2Супероружие потеряно"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr "^F2Вы получили супероружие"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr "^K1Переход в ^TC^TT^K1 через ^COUNT"
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr "^K1Смена команды через ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr "^K1Вы станете наблюдателем через ^COUNT"
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Вы совершите самоубийство через ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Тайм-аут начнётся через ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr "^F4Тайм-аут законится через ^COUNT"
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr " (возле %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr "основной"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr "альтернативный"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr " ^F1(Нажмите %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr " с %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
msgstr "ТРОЙНОЕ УБИЙСТВО! "
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr "%s^K1 высвободил свою ЯРОСТЬ! %s^BG"
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr "ЯРОСТЬ! "
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr "%s^K1 начал РЕЗНЮ! %s^BG"
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr "РЕЗНЯ! "
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr "%s^K1 творит БЕСПРЕДЕЛ! %s^BG"
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
msgid "MAYHEM! "
msgstr "БЕСПРЕДЕЛ! "
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr "%s^K1 БЕРСЕРКЕР! %s^BG"
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
msgid "BERSERKER! "
msgstr "БЕРСЕРКЕР! "
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr "%s^K1 начинает БОЙНЮ! %s^BG"
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
msgid "CARNAGE! "
msgstr "БОЙНЯ! "
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr "%s^K1 предрекает АРМАГЕДДОН! %s^BG"
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr "АРМАГЕДДОН! "
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Бот^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr "%s(Пинг ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(Здоровье ^1%d^BG / Броня ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Мёртв^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr "%d очков подряд! "
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr "%d убийств подряд! "
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr "Первая кровь! "
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr "Первое очко! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Первая смерть! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr "Первая жертва! "
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr "%s^K1 пролил первую кровь! %s^BG"
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, 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:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ", прервав серию из %d убийств подряд"
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ", прервав серию из %d очков подряд"
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ", окончив свою серию из %d убийств подряд"
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ", прервав свою серию из %d очков подряд"
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, чтобы получить список доступных "
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"
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 "только чтение"
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_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 "ОК"
#: 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 "Прозрачность:"
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 "Ширина краёв:"
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 "Отступ:"
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_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:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
msgid "Advanced settings..."
msgstr "Доп. настройки..."
msgid "Goals:"
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_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 "Присоединиться!"
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 "По умолчанию"
msgid "Sandbox Tools"
msgstr "Инструменты песочницы"
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Новое"
-
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
msgid "Remove *"
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 "Установить прозрачность:"
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 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
msgid "MAXFPS^10 fps"
msgstr "10 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
msgid "MAXFPS^20 fps"
msgstr "20 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
msgid "MAXFPS^30 fps"
msgstr "30 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
msgid "MAXFPS^40 fps"
msgstr "40 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
msgid "MAXFPS^50 fps"
msgstr "50 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
msgid "MAXFPS^60 fps"
msgstr "60 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:95
msgid "MAXFPS^70 fps"
msgstr "70 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:96
msgid "MAXFPS^100 fps"
msgstr "100 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:97
msgid "MAXFPS^125 fps"
msgstr "125 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
msgid "MAXFPS^200 fps"
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 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
msgid "TRGT^40 fps"
msgstr "40 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
msgid "TRGT^50 fps"
msgstr "50 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:109
msgid "TRGT^60 fps"
msgstr "60 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:110
msgid "TRGT^100 fps"
msgstr "100 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
msgid "TRGT^125 fps"
msgstr "125 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:108
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:112
msgid "TRGT^200 fps"
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 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:119
msgid "IDLFPS^20 fps"
msgstr "20 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:120
msgid "IDLFPS^30 fps"
msgstr "30 кадров в секунду"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:121
msgid "IDLFPS^60 fps"
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)"
-#: 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 "Включить режим разработчика"
msgid "Value:"
msgstr "Значение:"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
msgid "Description:"
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 "Игроки"
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"
"Обновление может быть загружено с:\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"
"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 "Цвет команды:"
--- /dev/null
+# 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
+msgid ""
+msgstr ""
+"Project-Id-Version: Xonotic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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:217 qcsrc/client/Main.qc:233
+#, c-format
+msgid "trying to switch to unsupported team %d\n"
+msgstr "pokušaj prebacivanja u nepodržani tim %d\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:1294
+#, c-format
+msgid "%s (not bound)"
+msgstr "%s (nije obavezno)"
+
+#: qcsrc/client/Main.qc:1299 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:1164
+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:829
+msgid "Out of ammo"
+msgstr "Municija potrošena"
+
+#: qcsrc/client/hud.qc:833
+msgid "Don't have"
+msgstr "Nema"
+
+#: qcsrc/client/hud.qc:837
+msgid "Unavailable"
+msgstr "Nedostupno"
+
+#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#, c-format
+msgid "Player %d"
+msgstr "Igrač %d"
+
+#: qcsrc/client/hud.qc:2384
+msgid "^1Intermediate 1 (+15.42)"
+msgstr "^1Prosek 1 (+15.42)"
+
+#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr "^1KAZNA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2471
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr "^2KAZNA: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2501
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr "^1Potreban odgovor pre ulaska u hud podešavanje\n"
+
+#: qcsrc/client/hud.qc:2506
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr "^2Ime ^7umesto of \"^1Anonymous player^7\" u statistici"
+
+#: qcsrc/client/hud.qc:2586
+msgid "A vote has been called for:"
+msgstr "Glasanje je započeto za:"
+
+#: qcsrc/client/hud.qc:2588
+msgid "Allow servers to store and display your name?"
+msgstr "Dozvoli serverima da skadište i prikazuju tvoje ime?"
+
+#: qcsrc/client/hud.qc:2592
+msgid "^1Configure the HUD"
+msgstr "^1Podešavanje HUD"
+
+#: qcsrc/client/hud.qc:2596
+#, c-format
+msgid "Yes (%s): %d"
+msgstr "Da (%s): %d"
+
+#: qcsrc/client/hud.qc:2598
+#, c-format
+msgid "No (%s): %d"
+msgstr "Ne (%s): %d"
+
+#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+msgid "Personal best"
+msgstr "Lični rekord"
+
+#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+msgid "Server best"
+msgstr "Rekord servera"
+
+#: qcsrc/client/hud.qc:3552
+msgid "^3Player^7: This is the chat area."
+msgstr "^3Igrač^7: Ovo je mesto za ćaskanje."
+
+#: qcsrc/client/hud.qc:3618
+#, c-format
+msgid "FPS: %.*f"
+msgstr "FPS: %.*f"
+
+#: qcsrc/client/hud.qc:3683
+msgid "^1Observing"
+msgstr "^1Posmatranje"
+
+#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr "^1Praćenje: ^7%s"
+
+#: qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr "^1Pritisni ^3%s^1 da pratiš igrača"
+
+#: qcsrc/client/hud.qc:3695
+#, 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:3699
+#, 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:3701
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr "^1Pritisni ^3%s^1 da slobodno posmatraš"
+
+#: qcsrc/client/hud.qc:3704
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr "^1Pritisni ^3%s^1 za informacije o vrsti igre"
+
+#: qcsrc/client/hud.qc:3712
+msgid "^1Match has already begun"
+msgstr "^1Igra je već počela"
+
+#: qcsrc/client/hud.qc:3714
+msgid "^1You have no more lives left"
+msgstr "^1Nemaš više života"
+
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr "^1Pritisni ^3%s^1 da se uključiš"
+
+#: qcsrc/client/hud.qc:3727
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr "^1Igra počinje za ^3%d^1 sekundi"
+
+#: qcsrc/client/hud.qc:3734
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr "^2Trenutno u ^1zagrevnom^2 stadijumu!"
+
+#: qcsrc/client/hud.qc:3749
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr "%sPritisni ^3%s%s da završiš zagrevanje"
+
+#: qcsrc/client/hud.qc:3751
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr "%sPritisni ^3%s%s kada si spreman/a"
+
+#: qcsrc/client/hud.qc:3756
+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:3758
+msgid "^2Waiting for others to ready up..."
+msgstr "^2Čekanje ostalih da se spreme..."
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr "^2Pritisni ^3%s^2 da završiš zagrevanje"
+
+#: qcsrc/client/hud.qc:3785
+msgid "Teamnumbers are unbalanced!"
+msgstr "Timovi su neujednačeni!"
+
+#: qcsrc/client/hud.qc:3790
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr "Pritisni ^3%s%s za podešavanje"
+
+#: qcsrc/client/hud.qc:3798
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr "^7Pritisni ^3ESC ^7da se pojave opcije za HUD."
+
+#: qcsrc/client/hud.qc:3800
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr "^3Dupli klik ^7a na panel opcije u vezi panela."
+
+#: qcsrc/client/hud.qc:3802
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr "^3CTRL ^7za onemogućavanje testiranja kolizije, ^3SHIFT ^7i"
+
+#: qcsrc/client/hud.qc:3804
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr "^3ALT ^7+ ^3ARROW KEYS ^7za fina podešavanja."
+
+#: qcsrc/client/hud.qc:3852
+msgid " qu/s"
+msgstr "qu/s"
+
+#: qcsrc/client/hud.qc:3856
+msgid " m/s"
+msgstr "m/s"
+
+#: qcsrc/client/hud.qc:3860
+msgid " km/h"
+msgstr "km/h"
+
+#: qcsrc/client/hud.qc:3864
+msgid " mph"
+msgstr "mph"
+
+#: qcsrc/client/hud.qc:3868
+msgid " knots"
+msgstr "knots"
+
+#: qcsrc/client/hud.qc:4550
+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:98
+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:251
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+"Možeš modifikovati tablu rezultata koristeći ^2scoreboard_columns_set "
+"command.\n"
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr "^3|---------------------------------------------------------------|\n"
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "Usage:\n"
+msgstr "Korišćenje:\n"
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^2scoreboard_columns_set default\n"
+msgstr "^2scoreboard_columns_set default\n"
+
+#: qcsrc/client/scoreboard.qc:255
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n"
+
+#: qcsrc/client/scoreboard.qc:256
+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:257
+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:259
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3ping^7 Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3pl^7 Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3kills^7 Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid "^3deaths^7 Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3suicides^7 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3frags^7 kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3sum^7 frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+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
+msgid "^3captime^7 Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid "^3returns^7 Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid "^3drops^7 Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:274
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid "^3rank^7 Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:276
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:277
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:278
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:279
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:281
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:282
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:285
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:287
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:289
+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:294
+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
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:298
+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
+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/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:984
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1047
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1113
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1166
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1262
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1321
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1325
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1366
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1382 qcsrc/client/scoreboard.qc:1401
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1432
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1442
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1451
+#, 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:591
+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:254
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+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
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:266
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:272
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
+#: qcsrc/client/waypointsprites.qc:275
+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
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:304
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:321
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:595
+#, 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:714
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1111 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 "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:649
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:979
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:988
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1009
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1011
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1017
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1019
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1068
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1126
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1145
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1162
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1177
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, 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:40
+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_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_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+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_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:39 qcsrc/menu/xonotic/mainwindow.c:42
+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 "%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"
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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/xonotic/language/"
"sv/)\n"
msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 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:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
msgstr ""
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:3712
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:3736
+#: qcsrc/client/hud.qc:3734
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3753
+#: qcsrc/client/hud.qc:3751
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:3758
+#: qcsrc/client/hud.qc:3756
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:3787
+#: qcsrc/client/hud.qc:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/s"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "m/s"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "km/h"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "mph"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
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 ""
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr ""
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 ""
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
-#, c-format
-msgid "^BG%s^K1 turned into hot slag%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:389
-#, c-format
-msgid "^BG%s^K1 mastered the art of self-nading%s%s"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 died%s%s. What's the point of living without ammo?"
-msgstr ""
-
-#: qcsrc/common/notifications.qh:390
-#, c-format
-msgid "^BG%s^K1 ran out of ammo%s%s"
-msgstr ""
-
#: qcsrc/common/notifications.qh:391
#, c-format
-msgid "^BG%s^K1 rotted away%s%s"
+msgid "^BG%s^K1 turned into hot slag%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:392
#, c-format
-msgid "^BG%s^K1 became a shooting star%s%s"
+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 slimed%s%s"
+msgid "^BG%s^K1 was exploded by a Mage%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:394
#, c-format
-msgid "^BG%s^K1 couldn't take it anymore%s%s"
+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 is now preserved for centuries to come%s%s"
+msgid "^BG%s^K1 was smashed by a Shambler%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:396
#, c-format
-msgid "^BG%s^K1 switched to the %s%s"
+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 died in an accident%s%s"
+msgid "^BG%s^K1 was bitten by a Spider%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:398
#, c-format
-msgid "^BG%s^K1 ran into a turret%s%s"
+msgid "^BG%s^K1 was fireballed by a Wyvern%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:399
#, c-format
-msgid "^BG%s^K1 was blasted away by an eWheel turret%s%s"
+msgid "^BG%s^K1 joins the Zombies%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:400
#, c-format
-msgid "^BG%s^K1 got caught up in the FLAC turret fire%s%s"
+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 was blasted away by a Hellion turret%s%s"
+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 could not hide from the Hunter turret%s%s"
+msgid "^BG%s^K1 rotted away%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:403
#, c-format
-msgid "^BG%s^K1 was riddled full of holes by a Machinegun turret%s%s"
+msgid "^BG%s^K1 became a shooting star%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:404
#, c-format
-msgid "^BG%s^K1 got turned into smoldering gibs by an MLRS turret%s%s"
+msgid "^BG%s^K1 was slimed%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:405
#, c-format
-msgid "^BG%s^K1 was phased out by a turret%s%s"
+msgid "^BG%s^K1 couldn't take it anymore%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:406
#, c-format
-msgid "^BG%s^K1 got served some superheated plasma from a turret%s%s"
+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 was electrocuted by a Tesla turret%s%s"
+msgid "^BG%s^K1 switched to the %s%s"
msgstr ""
#: qcsrc/common/notifications.qh:408
#, c-format
-msgid "^BG%s^K1 got served a lead enrichment by a Walker turret%s%s"
+msgid "^BG%s^K1 died in an accident%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:409
#, c-format
-msgid "^BG%s^K1 was impaled by a Walker turret%s%s"
+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 a Walker turret%s%s"
+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 in the blast of a Bumblebee explosion%s%s"
+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 crushed by a vehicle%s%s"
+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 was caught in a Raptor cluster bomb%s%s"
+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 got caught in the blast of a Raptor explosion%s%s"
+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 caught in the blast of a Spiderbot explosion%s%s"
+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 blasted to bits by a Spiderbot rocket%s%s"
+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 caught in the blast of a Racer explosion%s%s"
+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 couldn't find shelter from a Racer rocket%s%s"
+msgid "^BG%s^K1 was electrocuted by a Tesla turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:419
#, c-format
-msgid "^BG%s^K1 was in the wrong place%s%s"
+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 betrayed by ^BG%s^K1%s%s"
+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 frozen by ^BG%s"
+msgid "^BG%s^K1 was blasted away by a Walker turret%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:422
#, c-format
-msgid "^BG%s^K3 was revived by ^BG%s"
+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^K3 was revived by falling"
+msgid "^BG%s^K1 was crushed by a vehicle%s%s"
msgstr ""
#: qcsrc/common/notifications.qh:424
#, c-format
-msgid "^BG%s^K3 was automatically revived after %s second(s)"
+msgid "^BG%s^K1 was caught in a Raptor cluster bomb%s%s"
msgstr ""
-#: qcsrc/common/notifications.qh:425 qcsrc/common/notifications.qh:612
+#: 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: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 "^BGKilling people while you don't have the ball gives no points!"
msgstr ""
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
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:642
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:643
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:644
msgid "^F4Round will start in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr ""
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
msgid "^BGYou are starting with the ^TC^TT Key"
msgstr ""
-#: qcsrc/common/notifications.qh:633 qcsrc/common/notifications.qh:634
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"Need active players for: %s"
msgstr ""
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr ""
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
msgstr ""
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr ""
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr ""
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"Next weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr ""
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
msgstr ""
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, 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:660
msgid "^F2Invisibility has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr ""
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr ""
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr ""
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr ""
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr ""
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr ""
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr ""
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr ""
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr ""
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
msgid "^K1Spectating in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:661
+#: qcsrc/common/notifications.qh:675
msgid "^K1Suicide in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr ""
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr ""
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr ""
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr ""
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, c-format
msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
msgid "TRIPLE FRAG! "
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
msgid "MAYHEM! "
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
msgid "BERSERKER! "
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
msgid "CARNAGE! "
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr ""
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr ""
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"(Health ^1%d^BG / Armor ^2%d^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"(^F4Dead^BG)%s"
msgstr ""
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr ""
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr ""
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr ""
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, c-format
msgid "%s^K1 has %d frags in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1104
+#: qcsrc/common/notifications.qh:1127
#, c-format
msgid "%s^K1 made %d scores in a row! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1122
+#: qcsrc/common/notifications.qh:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, c-format
msgid "%s^K1 got the first score! %s^BG"
msgstr ""
-#: qcsrc/common/notifications.qh:1139
+#: qcsrc/common/notifications.qh:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ""
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ""
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 "
"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"
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"
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
#: 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"
#: 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:"
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:"
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:"
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"
#: 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:"
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..."
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:"
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!"
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"
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 *"
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:"
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 ""
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:"
#: 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)"
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 ""
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"
"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"
"^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:"
# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+0000\n"
"Last-Translator: divVerent <divVerent@xonotic.org>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/xonotic/"
"language/uk/)\n"
"^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 ""
+msgstr "^4CSQC Відомості про збірку: ^1%s\n"
-#: qcsrc/client/Main.qc:216 qcsrc/client/Main.qc:232
+#: qcsrc/client/Main.qc:217 qcsrc/client/Main.qc:233
#, 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: "
"%s)\n"
msgstr ""
-#: qcsrc/client/Main.qc:1295
+#: qcsrc/client/Main.qc:1294
#, c-format
msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/Main.qc:1300 qcsrc/client/hud.qc:221
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
#, c-format
msgid "%s (%s)"
msgstr ""
-#: qcsrc/client/View.qc:1096
+#: qcsrc/client/View.qc:1164
msgid "Revival progress"
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
#: qcsrc/client/hud.qc:829
msgid "Out of ammo"
-msgstr ""
+msgstr "Боєприпаси скінчилися"
#: qcsrc/client/hud.qc:833
msgid "Don't have"
-msgstr ""
+msgstr "Немає"
#: qcsrc/client/hud.qc:837
msgid "Unavailable"
-msgstr ""
+msgstr "Недоступно"
#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
#, c-format
msgid "Player %d"
-msgstr ""
+msgstr "Гравець %d"
#: qcsrc/client/hud.qc:2384
msgid "^1Intermediate 1 (+15.42)"
#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
#, c-format
msgid "^1PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^1ШТРАФ: %.1f (%s)"
#: qcsrc/client/hud.qc:2471
#, c-format
msgid "^2PENALTY: %.1f (%s)"
-msgstr ""
+msgstr "^2ШТРАФ: %.1f (%s)"
#: qcsrc/client/hud.qc:2501
msgid "^1You must answer before entering hud configure mode\n"
#: qcsrc/client/hud.qc:2506
msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
-msgstr ""
+msgstr "^2Ім'я ^7замість \"^1Анонімний гравець^7\" у статистиці"
#: qcsrc/client/hud.qc:2586
msgid "A vote has been called for:"
-msgstr ""
+msgstr "Було створено голосування щодо:"
#: qcsrc/client/hud.qc:2588
msgid "Allow servers to store and display your name?"
-msgstr ""
+msgstr "Дозволити серверу зберігати та використовувати ваше ім'я?"
#: qcsrc/client/hud.qc:2592
msgid "^1Configure the HUD"
-msgstr ""
+msgstr "^1Налаштувати HUD"
#: qcsrc/client/hud.qc:2596
#, c-format
msgid "Yes (%s): %d"
-msgstr ""
+msgstr "Так (%s): %d"
#: qcsrc/client/hud.qc:2598
#, 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
msgid "Personal best"
-msgstr ""
+msgstr "Власний найкращий результат"
#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
msgid "Server best"
-msgstr ""
+msgstr "Найкращий результат на сервері"
#: qcsrc/client/hud.qc:3552
msgid "^3Player^7: This is the chat area."
-msgstr ""
+msgstr "^3Гравець^7: Це зона чату."
#: qcsrc/client/hud.qc:3618
#, c-format
msgid "FPS: %.*f"
-msgstr ""
+msgstr "FPS: %.*f"
#: qcsrc/client/hud.qc:3683
msgid "^1Observing"
#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
#, c-format
msgid "^1Spectating: ^7%s"
-msgstr ""
+msgstr "^1Спостерігаєте за: ^7%s"
#: qcsrc/client/hud.qc:3693
#, c-format
#, 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
#, 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
#, 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:3712
msgid "^1Match has already begun"
-msgstr ""
+msgstr "^1Матч вже почався"
-#: qcsrc/client/hud.qc:3716
+#: qcsrc/client/hud.qc:3714
msgid "^1You have no more lives left"
-msgstr ""
+msgstr "^1У вас не залишилося більше життів"
-#: qcsrc/client/hud.qc:3718 qcsrc/client/hud.qc:3721
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
#, c-format
msgid "^1Press ^3%s^1 to join"
-msgstr ""
+msgstr "^1Натисніть ^3%s^1 щоб приєднатися"
-#: qcsrc/client/hud.qc:3729
+#: qcsrc/client/hud.qc:3727
#, 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:3734
msgid "^2Currently in ^1warmup^2 stage!"
-msgstr ""
+msgstr "^2Зараз ^1розминка^2!"
-#: qcsrc/client/hud.qc:3751
+#: qcsrc/client/hud.qc:3749
#, 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:3751
#, 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:3756
msgid "^2Waiting for others to ready up to end warmup..."
-msgstr ""
+msgstr "^2Чекаємо на готовність інших для завершення розминки..."
-#: qcsrc/client/hud.qc:3760
+#: qcsrc/client/hud.qc:3758
msgid "^2Waiting for others to ready up..."
-msgstr ""
+msgstr "^2Чекаємо на готовність інших гравців..."
-#: qcsrc/client/hud.qc:3766
+#: qcsrc/client/hud.qc:3764
#, 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:3785
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:3792
+#: qcsrc/client/hud.qc:3790
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:3800
+#: qcsrc/client/hud.qc:3798
msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr ""
+msgstr "^7Натисніть ^3ESC ^7щоб показати опції HUD"
-#: qcsrc/client/hud.qc:3802
+#: qcsrc/client/hud.qc:3800
msgid "^3Doubleclick ^7a panel for panel-specific options."
-msgstr ""
+msgstr "^3Клацніть двічі ^7a панель щоб побачити її опції."
-#: qcsrc/client/hud.qc:3804
+#: qcsrc/client/hud.qc:3802
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:3806
+#: qcsrc/client/hud.qc:3804
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:3854
+#: qcsrc/client/hud.qc:3852
msgid " qu/s"
-msgstr ""
+msgstr "qu/с"
-#: qcsrc/client/hud.qc:3858
+#: qcsrc/client/hud.qc:3856
msgid " m/s"
-msgstr ""
+msgstr "м/с"
-#: qcsrc/client/hud.qc:3862
+#: qcsrc/client/hud.qc:3860
msgid " km/h"
-msgstr ""
+msgstr "км/с"
-#: qcsrc/client/hud.qc:3866
+#: qcsrc/client/hud.qc:3864
msgid " mph"
-msgstr ""
+msgstr "милі"
-#: qcsrc/client/hud.qc:3870
+#: qcsrc/client/hud.qc:3868
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4547
+#: qcsrc/client/hud.qc:4550
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
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"
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:43
msgid "SCO^ping"
-msgstr ""
+msgstr "Пінг"
#: qcsrc/client/scoreboard.qc:44
msgid "SCO^pl"
msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1105
+#: qcsrc/client/scoreboard.qc:1113
msgid "Map stats:"
+msgstr "Статистика мапи:"
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1121
+#: qcsrc/client/scoreboard.qc:1138
msgid "Secrets found:"
-msgstr ""
+msgstr "Знайдено секретів:"
-#: qcsrc/client/scoreboard.qc:1148
+#: qcsrc/client/scoreboard.qc:1166
msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1244
+#: qcsrc/client/scoreboard.qc:1262
msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1303
+#: qcsrc/client/scoreboard.qc:1321
#, c-format
msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1307
+#: qcsrc/client/scoreboard.qc:1325
#, c-format
msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1341
+#: qcsrc/client/scoreboard.qc:1359
msgid "Spectators"
-msgstr ""
+msgstr "Спектатори"
-#: qcsrc/client/scoreboard.qc:1348
+#: qcsrc/client/scoreboard.qc:1366
#, c-format
msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1355 qcsrc/client/scoreboard.qc:1360
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
#, 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:1382 qcsrc/client/scoreboard.qc:1401
msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1367 qcsrc/client/scoreboard.qc:1374
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
#, 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:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
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:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
#, c-format
msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1414
+#: qcsrc/client/scoreboard.qc:1432
#, c-format
msgid "^1Respawning in ^3%s^1..."
msgstr ""
-#: qcsrc/client/scoreboard.qc:1424
+#: qcsrc/client/scoreboard.qc:1442
#, c-format
msgid "You are dead, wait ^3%s^7 before respawning"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1433
+#: qcsrc/client/scoreboard.qc:1451
#, c-format
msgid "You are dead, press ^2%s^7 to respawn"
msgstr ""
#: qcsrc/client/waypointsprites.qc:258
msgid "DANGER"
-msgstr ""
+msgstr "НЕБЕЗПЕКА"
#: qcsrc/client/waypointsprites.qc:259
msgid "Enemy carrier"
#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
msgid "Electro"
-msgstr "Електро"
+msgstr "Electro"
#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
msgid "Crylink"
-msgstr "Крайлінк"
+msgstr "Crylink"
#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
msgid "Nex"
#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
msgid "Hagar"
-msgstr "Хейгар"
+msgstr "Hagar"
#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
msgid "Rocket Launcher"
#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
msgid "Port-O-Launch"
-msgstr "Портал-О-Пуск"
+msgstr "Port-O-Launch"
#: qcsrc/client/waypointsprites.qc:301
msgid "Minstanex"
-msgstr ""
+msgstr "Minstanex"
#: qcsrc/client/waypointsprites.qc:302
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
msgid "Fireball"
-msgstr "Метеор"
+msgstr "Fireball"
#: qcsrc/client/waypointsprites.qc:304
msgid "HLAC"
-msgstr ""
+msgstr "HLAC"
#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
msgid "Rifle"
#: qcsrc/client/waypointsprites.qc:312
msgid "Invisibility"
-msgstr ""
+msgstr "Невидимість"
#: qcsrc/client/waypointsprites.qc:313
msgid "Extra life"
-msgstr ""
+msgstr "Додаткове життя"
#: qcsrc/client/waypointsprites.qc:314
msgid "Speed"
-msgstr ""
+msgstr "Швидкість"
#: qcsrc/client/waypointsprites.qc:315
msgid "Strength"
-msgstr ""
+msgstr "Сила"
#: qcsrc/client/waypointsprites.qc:316
msgid "Shield"
-msgstr ""
+msgstr "Щит"
#: qcsrc/client/waypointsprites.qc:317
msgid "Fuel regen"
-msgstr ""
+msgstr "Відновлення палива"
#: qcsrc/client/waypointsprites.qc:318
msgid "Jet Pack"
-msgstr ""
+msgstr "Реактивний ранець"
#: qcsrc/client/waypointsprites.qc:319
msgid "Frozen!"
-msgstr ""
+msgstr "Заморожені!"
#: qcsrc/client/waypointsprites.qc:320
msgid "Tagged"
msgid "%dth"
msgstr ""
-#: qcsrc/common/mapinfo.qc:712
+#: qcsrc/common/mapinfo.qc:714
#, 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:1111 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
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Повідомлення сервера:"
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"
"^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"
"^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"
"^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..."
"^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..."
"^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."
"^K1Зараз ви не зможете приєднатися до гри.\n"
"Досягнуто ліміту гравців."
-#: qcsrc/common/notifications.qh:626
+#: qcsrc/common/notifications.qh:640
msgid "^BGKilling people while you don't have the ball gives no points!"
msgstr "^BGВбивство людей коли ви не володієте м'ячем не приносить очок!"
-#: qcsrc/common/notifications.qh:627
+#: qcsrc/common/notifications.qh:641
msgid ""
"^BGAll keys are in your team's hands!\n"
"Help the key carriers to meet!"
"^BGВаша команда володіє всіма ключами!\n"
"Допоможіть носіям ключів зустрітися!"
-#: qcsrc/common/notifications.qh:628
+#: qcsrc/common/notifications.qh:642
msgid ""
"^BGAll keys are in ^TC^TT team^BG's hands!\n"
"Interfere ^F4NOW^BG!"
"^BGВсі ключі зараз у руках ^TC^TT команди!^BG\n"
"Ви маєте зупинити їх ^F4НЕГАЙНО^BG!"
-#: qcsrc/common/notifications.qh:629
+#: qcsrc/common/notifications.qh:643
msgid ""
"^BGAll keys are in your team's hands!\n"
"Meet the other key carriers ^F4NOW^BG!"
"^BGВсі ключі в руках вашої команди!\n"
"Зустріньтесь з іншими носіями ключів ^F4НЕГАЙНО^BG!"
-#: qcsrc/common/notifications.qh:630
+#: qcsrc/common/notifications.qh:644
msgid "^F4Round will start in ^COUNT"
msgstr "^F4Раунд почнеться через ^COUNT"
-#: qcsrc/common/notifications.qh:631
+#: qcsrc/common/notifications.qh:645
msgid "^BGScanning frequency range..."
msgstr "^BGСканується діапазон частот..."
-#: qcsrc/common/notifications.qh:632
+#: qcsrc/common/notifications.qh:646
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:647 qcsrc/common/notifications.qh:648
#, c-format
msgid ""
"^BGWaiting for players to join...\n"
"^BGОчікування приєднання гравців...\n"
"Потрібні активні гравця для: %s"
-#: qcsrc/common/notifications.qh:635
+#: qcsrc/common/notifications.qh:649
#, c-format
msgid "^BGWaiting for %s player(s) to join..."
msgstr "^BGОчікування приєднання %s гравця(ців)..."
-#: qcsrc/common/notifications.qh:636
+#: qcsrc/common/notifications.qh:650
msgid "^F4^COUNT^BG left to find some ammo!"
msgstr "^F4^COUNT^BG залишилось часу щоб знайти набої!"
-#: qcsrc/common/notifications.qh:637
+#: qcsrc/common/notifications.qh:651
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:651
msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
msgstr "^BGЗнайдіть набої! ^F4^COUNT^BG залишилось!"
-#: qcsrc/common/notifications.qh:638
+#: qcsrc/common/notifications.qh:652
#, c-format
msgid "^F2Extra lives remaining: ^K1%s"
msgstr "^F2Додаткових життів залишилось: ^K1%s"
-#: qcsrc/common/notifications.qh:639
+#: qcsrc/common/notifications.qh:653
msgid "^BGSecondary fire inflicts no damage!"
msgstr "^BGДодатковий режим вогню не завдає шкоди!"
-#: qcsrc/common/notifications.qh:640
+#: qcsrc/common/notifications.qh:654
#, c-format
msgid "^BG%s"
msgstr ""
-#: qcsrc/common/notifications.qh:641
+#: qcsrc/common/notifications.qh:655
#, c-format
msgid ""
"^F2^COUNT^BG until weapon change...\n"
"^F2^COUNT^BG до зміни зброї...\n"
"Наступна зброя: ^F1%s"
-#: qcsrc/common/notifications.qh:642
+#: qcsrc/common/notifications.qh:656
#, c-format
msgid "^F2Active weapon: ^F1%s"
msgstr "^F2Поточна зброя: ^F1%s"
-#: qcsrc/common/notifications.qh:643
+#: qcsrc/common/notifications.qh:657
msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
msgstr ""
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep fragging until we have a winner!"
"^F2Почався ^F4ДОДАТКОВИЙ ЧАС^F2!\n"
"Продовжуйте боротьбу доки не визначиться переможець!"
-#: qcsrc/common/notifications.qh:644
+#: qcsrc/common/notifications.qh:658
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"Keep scoring until we have a winner!"
"^F2Почався ^F4ДОДАТКОВИЙ ЧАС^F2!\n"
"Продовжуйте набирати очки доки не визначиться переможець!"
-#: qcsrc/common/notifications.qh:645
+#: qcsrc/common/notifications.qh:659
#, c-format
msgid ""
"^F2Now playing ^F4OVERTIME^F2!\n"
"^F2Йде ^F4ДОДАТКОВИЙ ЧАС^F2!\n"
"^BGДодано ^F4%s^BG у гру!"
-#: qcsrc/common/notifications.qh:646
+#: qcsrc/common/notifications.qh:660
msgid "^F2Invisibility has worn off"
msgstr "^F2Невидимість вичерпалася"
-#: qcsrc/common/notifications.qh:647
+#: qcsrc/common/notifications.qh:661
msgid "^F2Shield has worn off"
msgstr "^F2Щит вичерпався"
-#: qcsrc/common/notifications.qh:648
+#: qcsrc/common/notifications.qh:662
msgid "^F2Speed has worn off"
msgstr "^F2Швидкість вичерпалася"
-#: qcsrc/common/notifications.qh:649
+#: qcsrc/common/notifications.qh:663
msgid "^F2Strength has worn off"
msgstr "^F2Сила вичерпалася"
-#: qcsrc/common/notifications.qh:650
+#: qcsrc/common/notifications.qh:664
msgid "^F2You are invisible"
msgstr "^F2Ви невидимі"
-#: qcsrc/common/notifications.qh:651
+#: qcsrc/common/notifications.qh:665
msgid "^F2Shield surrounds you"
msgstr "^F2Вас оточує щит"
-#: qcsrc/common/notifications.qh:652
+#: qcsrc/common/notifications.qh:666
msgid "^F2You are on speed"
msgstr "^F2Ви прискоренні"
-#: qcsrc/common/notifications.qh:653
+#: qcsrc/common/notifications.qh:667
msgid "^F2Strength infuses your weapons with devastating power"
msgstr "^F2Сила надає вашій зброї руйнівної потужності"
-#: qcsrc/common/notifications.qh:654
+#: qcsrc/common/notifications.qh:668
msgid "^F2The race is over, finish your lap!"
msgstr "^F2Гонка закінчилася, завершуйте своє коло!"
-#: qcsrc/common/notifications.qh:655
+#: qcsrc/common/notifications.qh:669
msgid "^F2Superweapons have broken down"
msgstr "^F2Суперзброя зламалася"
-#: qcsrc/common/notifications.qh:656
+#: qcsrc/common/notifications.qh:670
msgid "^F2Superweapons have been lost"
msgstr "^F2Суперзброя втрачена"
-#: qcsrc/common/notifications.qh:657
+#: qcsrc/common/notifications.qh:671
msgid "^F2You now have a superweapon"
msgstr "^F2Ви отримали суперзброю"
-#: qcsrc/common/notifications.qh:658
+#: qcsrc/common/notifications.qh:672
msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
msgstr "^K1Перехід до ^TC^TT^K1 через ^COUNT"
-#: qcsrc/common/notifications.qh:659
+#: qcsrc/common/notifications.qh:673
msgid "^K1Changing team in ^COUNT"
msgstr "^K1Зміна команди через ^COUNT"
-#: qcsrc/common/notifications.qh:660
+#: qcsrc/common/notifications.qh:674
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:675
msgid "^K1Suicide in ^COUNT"
msgstr "^K1Самогубство через ^COUNT"
-#: qcsrc/common/notifications.qh:662
+#: qcsrc/common/notifications.qh:676
msgid "^F4Timeout begins in ^COUNT"
msgstr "^F4Тайм-аут почнеться через ^COUNT"
-#: qcsrc/common/notifications.qh:663
+#: qcsrc/common/notifications.qh:677
msgid "^F4Timeout ends in ^COUNT"
msgstr "^F4Тайм-аут закінчиться через ^COUNT"
-#: qcsrc/common/notifications.qh:937 qcsrc/common/notifications.qh:938
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
#, c-format
msgid " (near %s)"
msgstr " (біля %s)"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "primary"
msgstr "основний режим вогню"
-#: qcsrc/common/notifications.qh:945 qcsrc/common/notifications.qh:946
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
msgid "secondary"
msgstr "додатковий режим вогню"
-#: qcsrc/common/notifications.qh:956
+#: qcsrc/common/notifications.qh:979
#, c-format
msgid " ^F1(Press %s)"
msgstr " ^F1(Натисніть %s)"
-#: qcsrc/common/notifications.qh:965
+#: qcsrc/common/notifications.qh:988
#, c-format
msgid " with %s"
msgstr " з %s"
-#: qcsrc/common/notifications.qh:974
+#: qcsrc/common/notifications.qh:997
#, 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:997
#, 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:997
msgid "TRIPLE FRAG! "
msgstr "ПОТРІЙНИЙ ФРАГ!"
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
#, 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:998
#, c-format
msgid "%s^K1 unlocked RAGE! %s^BG"
msgstr "%s^K1 відімкнув ЛЮТЬ! %s^BG"
-#: qcsrc/common/notifications.qh:975
+#: qcsrc/common/notifications.qh:998
msgid "RAGE! "
msgstr "ЛЮТЬ!"
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
#, 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:999
#, c-format
msgid "%s^K1 started a MASSACRE! %s^BG"
msgstr "%s^K1 почав РІЗАНИНУ! %s^BG"
-#: qcsrc/common/notifications.qh:976
+#: qcsrc/common/notifications.qh:999
msgid "MASSACRE! "
msgstr "РІЗАНИНА!"
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, c-format
msgid "%s^K1 executed MAYHEM! %s^BG"
msgstr "%s^K1 створив ХАОС! %s^BG"
-#: qcsrc/common/notifications.qh:977
+#: qcsrc/common/notifications.qh:1000
#, 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:1000
msgid "MAYHEM! "
msgstr "ХАОС!"
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, c-format
msgid "%s^K1 is a BERSERKER! %s^BG"
msgstr "%s^K1 став БЕРСЕРКОМ! %s^BG"
-#: qcsrc/common/notifications.qh:978
+#: qcsrc/common/notifications.qh:1001
#, 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:1001
msgid "BERSERKER! "
msgstr "БЕРСЕРК!"
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, c-format
msgid "%s^K1 inflicts CARNAGE! %s^BG"
msgstr "%s^K1 скоїв МАСОВЕ ВБИВСТВО! %s^BG"
-#: qcsrc/common/notifications.qh:979
+#: qcsrc/common/notifications.qh:1002
#, 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:1002
msgid "CARNAGE! "
msgstr "МАСОВЕ ВБИВСТВО!"
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
#, 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:1003
#, c-format
msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
msgstr "%s^K1 почав АРМАГЕДДОН! %s^BG"
-#: qcsrc/common/notifications.qh:980
+#: qcsrc/common/notifications.qh:1003
msgid "ARMAGEDDON! "
msgstr "АРМАГЕДДОН!"
-#: qcsrc/common/notifications.qh:986
+#: qcsrc/common/notifications.qh:1009
#, c-format
msgid "%s(^F1Bot^BG)"
msgstr "%s(^F1Бот^BG)"
-#: qcsrc/common/notifications.qh:988
+#: qcsrc/common/notifications.qh:1011
#, c-format
msgid "%s(Ping ^F1%d^BG)"
msgstr "%s(Пінг ^F1%d^BG)"
-#: qcsrc/common/notifications.qh:994
+#: qcsrc/common/notifications.qh:1017
#, c-format
msgid ""
"\n"
"\n"
"(Здоров'я ^1%d^BG / Броня ^2%d^BG)%s"
-#: qcsrc/common/notifications.qh:996
+#: qcsrc/common/notifications.qh:1019
#, c-format
msgid ""
"\n"
"\n"
"(^F4Мертвий^BG)%s"
-#: qcsrc/common/notifications.qh:1033 qcsrc/common/notifications.qh:1046
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
#, c-format
msgid "%d score spree! "
msgstr "%d череда очок! "
-#: qcsrc/common/notifications.qh:1045
+#: qcsrc/common/notifications.qh:1068
#, c-format
msgid "%d frag spree! "
msgstr "%d череда фрагів! "
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First blood! "
msgstr "Перша кров! "
-#: qcsrc/common/notifications.qh:1058
+#: qcsrc/common/notifications.qh:1081
msgid "First score! "
msgstr "Перше очко! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First casualty! "
msgstr "Перший вбитий! "
-#: qcsrc/common/notifications.qh:1062
+#: qcsrc/common/notifications.qh:1085
msgid "First victim! "
msgstr "Перша жертва! "
-#: qcsrc/common/notifications.qh:1103
+#: qcsrc/common/notifications.qh:1126
#, 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:1127
#, 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:1145
#, c-format
msgid "%s^K1 drew first blood! %s^BG"
msgstr "%s^K1 пролив першу кров! %s^BG"
-#: qcsrc/common/notifications.qh:1123
+#: qcsrc/common/notifications.qh:1146
#, 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:1162
#, c-format
msgid ", ending their %d frag spree"
msgstr ", зупиняючи %d череду фрагів"
-#: qcsrc/common/notifications.qh:1140
+#: qcsrc/common/notifications.qh:1163
#, c-format
msgid ", ending their %d score spree"
msgstr ", зупиняючи %d череду очок"
-#: qcsrc/common/notifications.qh:1154
+#: qcsrc/common/notifications.qh:1177
#, c-format
msgid ", losing their %d frag spree"
msgstr ", втрачаючи %d череду фрагів"
-#: qcsrc/common/notifications.qh:1155
+#: qcsrc/common/notifications.qh:1178
#, c-format
msgid ", losing their %d score spree"
msgstr ", втрачаючи %d череду очків"
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 "
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"
#: 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
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 "тільки читання"
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_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 "Гаразд"
#: 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
#: 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 "Прозорість:"
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 "Розмір обвідки:"
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 "Підкладка:"
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_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:96
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:146
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:150
msgid "Advanced settings..."
msgstr "Розширені налаштування..."
msgid "Goals:"
msgstr "Голів:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
msgid "Frag limit:"
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 "Приєднатися"
#: 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 "Приєднатися!"
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 "За замовчуванням"
#: 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"
msgid "Sandbox Tools"
msgstr "Інструменти Пісочниці"
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Spawn"
-msgstr "Створити"
-
#: qcsrc/menu/xonotic/dialog_sandboxtools.c:26
msgid "Remove *"
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 "Встановити прозорість:"
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 "Увімкнути режим розробника"
msgid "Value:"
msgstr "Значення:"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:72
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
msgid "Description:"
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 "Гравці"
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"
"Оновлення можливо завантажити тут:\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"
"^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 "Колір команди:"
--- /dev/null
+# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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:217 qcsrc/client/Main.qc:233
+#, c-format
+msgid "trying to switch to unsupported team %d\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:1294
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1164
+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:829
+msgid "Out of ammo"
+msgstr "子弹耗尽"
+
+#: qcsrc/client/hud.qc:833
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:837
+msgid "Unavailable"
+msgstr "不可用"
+
+#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2384
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2471
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2501
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2506
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2586
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2588
+msgid "Allow servers to store and display your name?"
+msgstr "允许服务器存储并显示你的名字?"
+
+#: qcsrc/client/hud.qc:2592
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2596
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2598
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+msgid "Personal best"
+msgstr "个人最佳"
+
+#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+msgid "Server best"
+msgstr "服务器最佳"
+
+#: qcsrc/client/hud.qc:3552
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3618
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3683
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3695
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3699
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3704
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3712
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3714
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3727
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3734
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3749
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3751
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3756
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3758
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3785
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3790
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3798
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3800
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3802
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3804
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3852
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3856
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3860
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3864
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3868
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4550
+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:98
+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:251
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3ping^7 Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3pl^7 Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3kills^7 Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid "^3deaths^7 Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3suicides^7 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3frags^7 kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3sum^7 frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+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
+msgid "^3captime^7 Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid "^3returns^7 Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid "^3drops^7 Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:274
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid "^3rank^7 Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:276
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:277
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:278
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:279
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:281
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:282
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:285
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:287
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:289
+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:294
+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
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:298
+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
+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/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:984
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1047
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1113
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1166
+msgid "Rankings"
+msgstr "排名"
+
+#: qcsrc/client/scoreboard.qc:1262
+msgid "Scoreboard"
+msgstr "计分板"
+
+#: qcsrc/client/scoreboard.qc:1321
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1325
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359
+msgid "Spectators"
+msgstr "观察者"
+
+#: qcsrc/client/scoreboard.qc:1366
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1382 qcsrc/client/scoreboard.qc:1401
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1432
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1442
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1451
+#, 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:591
+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:254
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Help me!"
+msgstr "需要支援"
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+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
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:266
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:272
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
+#: qcsrc/client/waypointsprites.qc:275
+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
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:304
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:321
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:595
+#, 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:714
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1111 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 "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:649
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:979
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:988
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1009
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1011
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1017
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1019
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1068
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1126
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1145
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1162
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1177
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, 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:40
+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_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_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+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_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:39 qcsrc/menu/xonotic/mainwindow.c:42
+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 ""
--- /dev/null
+# 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-02-14 12:09+0100\n"
+"PO-Revision-Date: 2014-02-14 11:09+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:217 qcsrc/client/Main.qc:233
+#, c-format
+msgid "trying to switch to unsupported team %d\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:1294
+#, c-format
+msgid "%s (not bound)"
+msgstr ""
+
+#: qcsrc/client/Main.qc:1299 qcsrc/client/hud.qc:221
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:157
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: qcsrc/client/View.qc:1164
+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:829
+msgid "Out of ammo"
+msgstr ""
+
+#: qcsrc/client/hud.qc:833
+msgid "Don't have"
+msgstr ""
+
+#: qcsrc/client/hud.qc:837
+msgid "Unavailable"
+msgstr ""
+
+#: qcsrc/client/hud.qc:1704 qcsrc/client/hud.qc:1705 qcsrc/client/hud.qc:2068
+#, c-format
+msgid "Player %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2384
+msgid "^1Intermediate 1 (+15.42)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2386 qcsrc/client/hud.qc:2428 qcsrc/client/hud.qc:2469
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2471
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2501
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2506
+msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2586
+msgid "A vote has been called for:"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2588
+msgid "Allow servers to store and display your name?"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2592
+msgid "^1Configure the HUD"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2596
+#, c-format
+msgid "Yes (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:2598
+#, c-format
+msgid "No (%s): %d"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3169 qcsrc/client/hud.qc:3172 qcsrc/client/hud.qc:3174
+msgid "Personal best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3187 qcsrc/client/hud.qc:3190 qcsrc/client/hud.qc:3192
+msgid "Server best"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3552
+msgid "^3Player^7: This is the chat area."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3618
+#, c-format
+msgid "FPS: %.*f"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3683
+msgid "^1Observing"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3686 qcsrc/client/hud.qc:3688
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3693
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3695
+#, c-format
+msgid "^1Press ^3%s^1 or ^3%s^1 for next or previous player"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3699
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3701
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3704
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3712
+msgid "^1Match has already begun"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3714
+msgid "^1You have no more lives left"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3716 qcsrc/client/hud.qc:3719
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3727
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3734
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3749
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3751
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3756
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3758
+msgid "^2Waiting for others to ready up..."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3764
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3785
+msgid "Teamnumbers are unbalanced!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3790
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3798
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3800
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3802
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3804
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr ""
+
+#: qcsrc/client/hud.qc:3852
+msgid " qu/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3856
+msgid " m/s"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3860
+msgid " km/h"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3864
+msgid " mph"
+msgstr ""
+
+#: qcsrc/client/hud.qc:3868
+msgid " knots"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4550
+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:98
+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:251
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "Usage:\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^2scoreboard_columns_set default\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:255
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:256
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:257
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3ping^7 Ping time\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3pl^7 Packet loss\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3kills^7 Number of kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:263
+msgid "^3deaths^7 Number of deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3suicides^7 Number of suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3frags^7 kills - suicides\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3sum^7 frags - deaths\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:268
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:269
+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
+msgid "^3captime^7 Time of fastest cap (CTF)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:272
+msgid "^3returns^7 Number of flag returns\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:273
+msgid "^3drops^7 Number of flag drops\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:274
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:275
+msgid "^3rank^7 Player rank\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:276
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:277
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:278
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:279
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:280
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:281
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:282
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:284
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:285
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:287
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:289
+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:294
+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
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:298
+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
+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/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:984
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1047
+#, c-format
+msgid "%d%%"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1113
+msgid "Map stats:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1131
+msgid "Monsters killed:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1138
+msgid "Secrets found:"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1166
+msgid "Rankings"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1262
+msgid "Scoreboard"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1321
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1325
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1359
+msgid "Spectators"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1366
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1373 qcsrc/client/scoreboard.qc:1378
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1382 qcsrc/client/scoreboard.qc:1401
+msgid " or"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1385 qcsrc/client/scoreboard.qc:1392
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1386 qcsrc/client/scoreboard.qc:1393
+#: qcsrc/client/scoreboard.qc:1405 qcsrc/client/scoreboard.qc:1412
+msgid "SCO^points"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1387 qcsrc/client/scoreboard.qc:1394
+#: qcsrc/client/scoreboard.qc:1406 qcsrc/client/scoreboard.qc:1413
+msgid "SCO^is beaten"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1404 qcsrc/client/scoreboard.qc:1411
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1432
+#, c-format
+msgid "^1Respawning in ^3%s^1..."
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1442
+#, c-format
+msgid "You are dead, wait ^3%s^7 before respawning"
+msgstr ""
+
+#: qcsrc/client/scoreboard.qc:1451
+#, 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:591
+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:254
+msgid "Push"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Enemy carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Flag carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Dropped flag"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Help me!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:264
+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
+msgid "Key carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:266
+msgid "Run here"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Red base"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:272
+msgid "Waypoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/client/waypointsprites.qc:274
+#: qcsrc/client/waypointsprites.qc:275
+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
+msgid "Control point"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:284
+msgid "Checkpoint"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:287
+msgid "Finish"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:286 qcsrc/client/waypointsprites.qc:287
+msgid "Start"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:288 qcsrc/client/waypointsprites.qc:289
+msgid "Ball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Ball carrier"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_laser.qc:11
+msgid "Laser"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_shotgun.qc:11
+msgid "Shotgun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_uzi.qc:11
+msgid "Machine Gun"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_grenadelauncher.qc:11
+msgid "Mortar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_electro.qc:11
+msgid "Electro"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_crylink.qc:11
+msgid "Crylink"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_nex.qc:11
+msgid "Nex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_hagar.qc:11
+msgid "Hagar"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_rocketlauncher.qc:11
+msgid "Rocket Launcher"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:300 qcsrc/server/w_porto.qc:11
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Minstanex"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:302
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:303 qcsrc/server/w_fireball.qc:11
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:304
+msgid "HLAC"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_rifle.qc:11
+msgid "Rifle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/server/w_minelayer.qc:11
+msgid "Mine Layer"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Invisibility"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Extra life"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Speed"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Strength"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Shield"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Fuel regen"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Jet Pack"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Frozen!"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Tagged"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:321
+msgid "Vehicle"
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:595
+#, 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:714
+#, no-c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qc:1111 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 "^BGKilling people while you don't have the ball gives no points!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:641
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Help the key carriers to meet!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:642
+msgid ""
+"^BGAll keys are in ^TC^TT team^BG's hands!\n"
+"Interfere ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:643
+msgid ""
+"^BGAll keys are in your team's hands!\n"
+"Meet the other key carriers ^F4NOW^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:644
+msgid "^F4Round will start in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:645
+msgid "^BGScanning frequency range..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:646
+msgid "^BGYou are starting with the ^TC^TT Key"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:647 qcsrc/common/notifications.qh:648
+#, c-format
+msgid ""
+"^BGWaiting for players to join...\n"
+"Need active players for: %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:649
+#, c-format
+msgid "^BGWaiting for %s player(s) to join..."
+msgstr ""
+
+#: qcsrc/common/notifications.qh:650
+msgid "^F4^COUNT^BG left to find some ammo!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:651
+msgid "^BGGet some ammo! ^F4^COUNT^BG left!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:652
+#, c-format
+msgid "^F2Extra lives remaining: ^K1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:653
+msgid "^BGSecondary fire inflicts no damage!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:654
+#, c-format
+msgid "^BG%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:655
+#, c-format
+msgid ""
+"^F2^COUNT^BG until weapon change...\n"
+"Next weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:656
+#, c-format
+msgid "^F2Active weapon: ^F1%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:657
+msgid "^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep fragging until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:658
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"Keep scoring until we have a winner!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:659
+#, c-format
+msgid ""
+"^F2Now playing ^F4OVERTIME^F2!\n"
+"^BGAdded ^F4%s^BG to the game!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:660
+msgid "^F2Invisibility has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:661
+msgid "^F2Shield has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:662
+msgid "^F2Speed has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:663
+msgid "^F2Strength has worn off"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:664
+msgid "^F2You are invisible"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:665
+msgid "^F2Shield surrounds you"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:666
+msgid "^F2You are on speed"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:667
+msgid "^F2Strength infuses your weapons with devastating power"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:668
+msgid "^F2The race is over, finish your lap!"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:669
+msgid "^F2Superweapons have broken down"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:670
+msgid "^F2Superweapons have been lost"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:671
+msgid "^F2You now have a superweapon"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:672
+msgid "^K1Changing to ^TC^TT^K1 in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:673
+msgid "^K1Changing team in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:674
+msgid "^K1Spectating in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:675
+msgid "^K1Suicide in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:676
+msgid "^F4Timeout begins in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:677
+msgid "^F4Timeout ends in ^COUNT"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:960 qcsrc/common/notifications.qh:961
+#, c-format
+msgid " (near %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "primary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:968 qcsrc/common/notifications.qh:969
+msgid "secondary"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:979
+#, c-format
+msgid " ^F1(Press %s)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:988
+#, c-format
+msgid " with %s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE FRAG! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+#, c-format
+msgid "%s^K1 made a TRIPLE SCORE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:997
+msgid "TRIPLE FRAG! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 made FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+#, c-format
+msgid "%s^K1 unlocked RAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:998
+msgid "RAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 made TEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+#, c-format
+msgid "%s^K1 started a MASSACRE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:999
+msgid "MASSACRE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 executed MAYHEM! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+#, c-format
+msgid "%s^K1 made FIFTEEN SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1000
+msgid "MAYHEM! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 is a BERSERKER! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+#, c-format
+msgid "%s^K1 made TWENTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1001
+msgid "BERSERKER! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 inflicts CARNAGE! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+#, c-format
+msgid "%s^K1 made TWENTY FIVE SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1002
+msgid "CARNAGE! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 made THIRTY SCORES IN A ROW! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+#, c-format
+msgid "%s^K1 unleashes ARMAGEDDON! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1003
+msgid "ARMAGEDDON! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1009
+#, c-format
+msgid "%s(^F1Bot^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1011
+#, c-format
+msgid "%s(Ping ^F1%d^BG)"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1017
+#, c-format
+msgid ""
+"\n"
+"(Health ^1%d^BG / Armor ^2%d^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1019
+#, c-format
+msgid ""
+"\n"
+"(^F4Dead^BG)%s"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1056 qcsrc/common/notifications.qh:1069
+#, c-format
+msgid "%d score spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1068
+#, c-format
+msgid "%d frag spree! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First blood! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1081
+msgid "First score! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First casualty! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1085
+msgid "First victim! "
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1126
+#, c-format
+msgid "%s^K1 has %d frags in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1127
+#, c-format
+msgid "%s^K1 made %d scores in a row! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1145
+#, c-format
+msgid "%s^K1 drew first blood! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1146
+#, c-format
+msgid "%s^K1 got the first score! %s^BG"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1162
+#, c-format
+msgid ", ending their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1163
+#, c-format
+msgid ", ending their %d score spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1177
+#, c-format
+msgid ", losing their %d frag spree"
+msgstr ""
+
+#: qcsrc/common/notifications.qh:1178
+#, 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:40
+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_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_settings_user.c:65
+msgid "Text language:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+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_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:39 qcsrc/menu/xonotic/mainwindow.c:42
+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 ""
seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (brakes 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"
// 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)
set g_warmup 0 "split the game into a warmup- and match-stage when set to 1"
set g_warmup_limit 0 "if set to -1 the warmup-stage is not affected by any timelimit, if set to 0 the usual timelimit also affects warmup-stage, otherwise warmup will be limited to this time in SECONDS (useful for public matches)"
set g_warmup_allow_timeout 0 "if set to 1 timeouts can also be called in the warmup-stage, when sv_timeout is set to 1"
-set g_warmup_allguns 1 "if set players start with all guns in warmup mode"
+set g_warmup_allguns 1 "provide more weapons on start while in warmup: 0 = normal start weapons, 1 = all guns available on the map, 2 = all normal weapons"
set g_warmup_majority_factor 0.8 "minimum percentage of players ready needed for warmup to end"
set g_chat_nospectators 0 "if 0 spec/observer chat is always visible to the player, if 1 it is never visible to players, if 2 it is only visible to players during warmup stage"
set g_spawnshieldtime 1 "number of seconds you are invincible after you spawned, this shield is lost after you fire"
set g_antilag 2 "AntiLag (0 = no AntiLag, 1 = verified client side hit scan, 2 = server side hit scan in the past, 3 = unverified client side hit scan)"
set g_antilag_nudge 0 "don't touch"
-set g_antilag_bullets 1 "Bullets AntiLag (0 = no AntiLag, 1 = server side hit scan in the past) - DO NOT TOUCH (severely changes weapon balance)"
set g_shootfromclient 2 "let client decide if it has the gun left or right; if set to 2, center handedness is allowed; see also cl_gunalign"
set g_shootfromeye 0 "shots are fired from your eye/crosshair; visual gun position can still be influenced by cl_gunalign 1 and 2"
set g_shootfromcenter 0 "weapon gets moved to the center, shots still come from the barrel of your weapon; visual gun position can still be influenced by cl_gunalign 1 and 2"
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"
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"
// overtime
seta menu_slist_showempty 1 "show servers even if they are no empty and have no opponents to play against"
seta menu_slist_modfilter "" // set to either: !modname or modname. modname of = means "same as we are running now".
+// other serverlist cvars
+seta menu_slist_categories 1
+seta menu_slist_categories_onlyifmultiple 1
+seta menu_slist_purethreshold 0
+seta menu_slist_modimpurity 0
+seta menu_slist_recommendations 3
+seta menu_slist_recommendations_maxping 150
+seta menu_slist_recommendations_minfreeslots 1
+seta menu_slist_recommendations_minhumans 0
+seta menu_slist_recommendations_purethreshold -1
+
+// serverlist category override cvars
+seta menu_slist_categories_CAT_FAVORITED_override ""
+seta menu_slist_categories_CAT_RECOMMENDED_override ""
+seta menu_slist_categories_CAT_NORMAL_override ""
+seta menu_slist_categories_CAT_SERVERS_override "CAT_NORMAL"
+seta menu_slist_categories_CAT_XPM_override "CAT_NORMAL"
+seta menu_slist_categories_CAT_MODIFIED_override ""
+seta menu_slist_categories_CAT_OVERKILL_override ""
+seta menu_slist_categories_CAT_MINSTAGIB_override ""
+seta menu_slist_categories_CAT_DEFRAG_override ""
+
seta menu_weaponarena ""
seta menu_maxplayers 16 "maxplayers value when the menu starts a game"
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
// 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!)"
r_cullentities_trace 0
// less "lagging" of other players, but also less PL tolerant... let's try this
-sv_clmovement_inputtimeout 0.07 // more than 2, less than 3 server frames
+sv_clmovement_inputtimeout 0.066 // slightly less than 2 frames, so only one frame can be compensated
// exact gloss looks better, e.g. on g-23
r_shadow_glossexact 1
exec gamemodes.cfg
exec mutators.cfg
exec notifications.cfg
+exec monsters.cfg
// load console command aliases and settings
exec commands.cfg
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."
sizeincrease -80
color 0xFFFFFF 0xFFFFFF
-
// nade effects
effect nade_blue
trailspacing 1
alias cl_hook_gamestart_dom
alias cl_hook_gamestart_ctf
alias cl_hook_gamestart_lms
-alias cl_hook_gamestart_arena
alias cl_hook_gamestart_ca
alias cl_hook_gamestart_kh
alias cl_hook_gamestart_ons
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
alias sv_hook_gamestart_dom
alias sv_hook_gamestart_ctf
alias sv_hook_gamestart_lms
-alias sv_hook_gamestart_arena
alias sv_hook_gamestart_ca
alias sv_hook_gamestart_kh
alias sv_hook_gamestart_ons
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
seta leadlimit_override -1 "Lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta capturelimit_override -1 "Capture limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta captureleadlimit_override -1 "Capture llead imit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
-seta g_arena_point_limit -1 "Arena point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
-seta g_arena_point_leadlimit -1 "Arena point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_domination_point_limit -1 "Domination point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_domination_point_leadlimit -1 "Domination point lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_keyhunt_point_limit -1 "Keyhunt point limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
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_round_limit -1 "Invasion round 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_arena_respawn_delay 0
-set g_arena_respawn_waves 0
-set g_arena_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
-
-
-// =======
-// arena
-// =======
-set g_arena 0 "Arena: many one-on-one rounds are played to find the winner"
-set g_arena_maxspawned 2 "maximum number of players to spawn at once (the rest is spectating, waiting for their turn)"
-set g_arena_roundbased 1 "if disabled, the next player will spawn as soon as someone dies"
-set g_arena_round_timelimit 180
-set g_arena_warmup 5 "time, newly spawned players have to prepare themselves in round based matches"
+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
// =========
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
-
// ==================
// capture the flag
// ==================
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"
// ==========================
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"
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
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
// ==========
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 2 "spawn more monsters after this delay"
--- /dev/null
+/*
+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
--- /dev/null
+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
--- /dev/null
+//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
--- /dev/null
+/*
+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
--- /dev/null
+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
-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
--- /dev/null
+bloodyskull,bloodyskull
+meat,meat
\ No newline at end of file
--- /dev/null
+//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
--- /dev/null
+bloodyskull,bloodyskull_alien
+meat,meat_alien
\ No newline at end of file
--- /dev/null
+bloodyskull,bloodyskull_robot
+meat,meat_robot
\ No newline at end of file
--- /dev/null
+bloodyskull,cleanskull
+meat,meat
\ No newline at end of file
+++ /dev/null
-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
-
--- /dev/null
+// {{{ #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_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
+// }}}
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
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
// =====================
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"
// ========================
set g_campcheck_interval 10
set g_campcheck_damage 100
set g_campcheck_distance 1800
+
g_mod_physics Xonotic
// current Xonotic physics
-sv_gravity 700
+sv_gravity 720
sv_maxspeed 360
sv_maxairspeed 360
// 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
--- /dev/null
+// 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 ?}
SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi)
PERL ?= perl
-QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON=1
+QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"'
QCC ?= gmqcc
QCCVERSIONFILE := qccversion.$(shell $(QCC) --version > qccversion.txt && git hash-object qccversion.txt)
entity clearentity_ent;
void clearentity(entity e)
{
- if not(clearentity_ent)
+ if (!clearentity_ent)
{
clearentity_ent = spawn();
clearentity_ent.classname = "clearentity";
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;
//registercommand("hud_configure");
//registercommand("hud_save");
//registercommand("menu_action");
-
+
ConsoleCommand_macro_init();
registercvar("hud_usecsqc", "1");
// needs to be done so early because of the constants they create
CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
CALL_ACCUMULATED_FUNCTION(RegisterTurrets);
+ CALL_ACCUMULATED_FUNCTION(RegisterMonsters);
CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
Vehicles_Precache();
Tuba_Precache();
CSQCPlayer_Precache();
-
+
if(autocvar_cl_reticle)
{
if(autocvar_cl_reticle_item_normal) { precache_pic("gfx/reticle_normal"); }
if(autocvar_cl_reticle_item_nex) { precache_pic("gfx/reticle_nex"); }
}
-
+
get_mi_min_max_texcoords(1); // try the CLEVER way first
minimapname = strcat("gfx/", mi_shortname, "_radar.tga");
shortmapname = mi_shortname;
if(autocvar_chase_active < 0)
cvar_set("chase_active", "0");
- if not(isdemo())
+ if (!isdemo())
{
- if not(calledhooks & HOOK_START)
+ if (!(calledhooks & HOOK_START))
localcmd("\n_cl_hook_gamestart nop\n");
- if not(calledhooks & HOOK_END)
+ if (!(calledhooks & HOOK_END))
localcmd("\ncl_hook_gameend\n");
}
}
default:
if(GetTeam(Team, false) == world)
{
- print(sprintf(_("trying to switch to unsupported team %d\n"), Team));
+ printf(_("trying to switch to unsupported team %d\n"), Team);
Team = NUM_SPECTATOR;
}
break;
default:
if(GetTeam(Team, false) == world)
{
- print(sprintf(_("trying to switch to unsupported team %d\n"), Team));
+ printf(_("trying to switch to unsupported team %d\n"), Team);
Team = NUM_SPECTATOR;
}
break;
}
else
{
- if not(o.has_team)
+ if (!o.has_team)
{
o.team = Team;
tm = GetTeam(Team, true);
}
else
{
- if not(e.sort_prev)
+ if (!e.sort_prev)
{
// player connected
- if not(e)
+ if (!e)
playerslots[i] = e = spawn();
e.sv_entnum = i;
e.ping = 0;
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;
self.sv_entnum = n;
- if not(playerslots[self.sv_entnum])
+ if (!(playerslots[self.sv_entnum]))
playerslots[self.sv_entnum] = spawn();
o = self.owner = playerslots[self.sv_entnum];
o.sv_entnum = self.sv_entnum;
o.gotscores = 1;
- //if not(o.sort_prev)
+ //if (!o.sort_prev)
// RegisterPlayer(o);
//playerchecker will do this for us later, if it has not already done so
{
f = ReadByte();
for(j = i-1, b = 1; b < 256; b *= 2, ++j)
- if not(f & b)
+ if (!(f & b))
if(playerslots[j])
playerslots[j].ready = 0;
}
spn_origin_x = ReadShort();
spn_origin_y = ReadShort();
spn_origin_z = ReadShort();
-
+
if(is_new)
{
self.origin = spn_origin;
}
}
else { self.cnt = particleeffectnum("spawn_point_neutral"); }
-
+
self.draw = Spawn_Draw;
}
}
- //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)
// this way the server can disable the sending of
// spawn origin or such to clients if wanted.
float entnum = ReadByte();
-
+
if(entnum)
{
self.origin_x = ReadShort();
}
}
}
-
+
// local spawn actions
if(is_new && (!entnum || (entnum == player_localentnum)))
{
button_zoom = FALSE;
}
}
-
- //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.
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;
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;
{
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;
}
}
case ENT_CLIENT_GAUNTLET: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_GAUNTLET); break;
case ENT_CLIENT_ACCURACY: Ent_ReadAccuracy(); break;
case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break;
- case ENT_CLIENT_TURRET: ent_turret(); break;
+ case ENT_CLIENT_TURRET: ent_turret(); break;
case ENT_CLIENT_MODEL: CSQCModel_Read(bIsNewEntity); break;
- case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break;
+ case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break;
case ENT_CLIENT_BUMBLE_RAYGUN: bumble_raygun_read(bIsNewEntity); break;
case ENT_CLIENT_SPAWNPOINT: Ent_ReadSpawnPoint(bIsNewEntity); break;
case ENT_CLIENT_SPAWNEVENT: Ent_ReadSpawnEvent(bIsNewEntity); break;
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))
{
void Gamemode_Init()
{
- if not(isdemo())
+ if (!isdemo())
{
if(!(calledhooks & HOOK_START))
localcmd("\n_cl_hook_gamestart ", MapInfo_Type_ToString(gametype), "\n");
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);
}
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));
}
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);
}
{
// 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();
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());
pi = ReadShort();
pl = ReadByte();
ml = ReadByte();
- if not(playerslots[e])
+ if (!(playerslots[e]))
return;
playerslots[e].ping = pi;
playerslots[e].ping_packetloss = pl / 255.0;
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)
Net_ReadRace();
bHandled = true;
break;
- case TE_CSQC_ZCURVEPARTICLES:
- Net_ReadZCurveParticles();
- bHandled = true;
- break;
case TE_CSQC_NEXGUNBEAMPARTICLE:
Net_ReadNexgunBeamParticle();
bHandled = true;
else if(autocvar_cl_spawnzoom && zoomin_effect)
{
float spawnzoomfactor = bound(1, autocvar_cl_spawnzoom_factor, 16);
-
- current_viewzoom += (autocvar_cl_spawnzoom_speed * (spawnzoomfactor - current_viewzoom) * drawframetime);
+
+ current_viewzoom += (autocvar_cl_spawnzoom_speed * (spawnzoomfactor - current_viewzoom) * drawframetime);
current_viewzoom = bound(1 / spawnzoomfactor, current_viewzoom, 1);
if(current_viewzoom == 1) { zoomin_effect = 0; }
}
setsensitivityscale(pow(current_viewzoom, 1 - zoomsensitivity));
else
setsensitivityscale(1);
-
+
makevectors(view_angles);
if(autocvar_cl_velocityzoom && autocvar_cl_velocityzoom_type) // _type = 0 disables velocity zoom too
case 1: default: curspeed = vlen(v); break;
}
}
-
+
velocityzoom = bound(0, drawframetime / max(0.000000001, autocvar_cl_velocityzoom_time), 1); // speed at which the zoom adapts to player velocity
avgspeed = avgspeed * (1 - velocityzoom) + (curspeed / autocvar_cl_velocityzoom_speed) * velocityzoom;
velocityzoom = exp(float2range11(avgspeed * -autocvar_cl_velocityzoom / 1) * 1);
-
+
//print(ftos(avgspeed), " avgspeed, ", ftos(curspeed), " curspeed, ", ftos(velocityzoom), " return\n"); // for debugging
}
else
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;
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;
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
// 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)
+ if(((spectatee_status >= 0 && (autocvar_cl_eventchase_death && is_dead)) || intermission) && !autocvar_cl_orthoview)
{
// 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);
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);
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)
drawstring('0 0 0', "", '1 1 0', '1 1 1', 0, 0);
if(autocvar_r_fakelight >= 2 || autocvar_r_fullbright)
- if not(serverflags & SERVERFLAG_ALLOW_FULLBRIGHT)
+ if (!(serverflags & SERVERFLAG_ALLOW_FULLBRIGHT))
{
// apply night vision effect
vector tc_00, tc_01, tc_10, tc_11;
R_PolygonVertex(autocvar_vid_conheight * '0 1 0', tc_01, rgb, a);
R_EndPolygon();
}
-
+
// Draw the aiming reticle for weapons that use it
// reticle_type is changed to the item we are zooming / aiming with, to decide which reticle to use
// It must be a persisted float for fading out to work properly (you let go of the zoom button for
reticle_type = 1; // normal zoom
else if((activeweapon == WEP_NEX) && button_attack2)
reticle_type = 2; // nex zoom
-
+
if(reticle_type && autocvar_cl_reticle)
{
if(autocvar_cl_reticle_stretch)
old_bluralpha = 0;
}
- // edge detection postprocess handling done second (used by hud_powerup)
+ // edge detection postprocess handling done second (used by hud_powerup)
float sharpen_intensity = 0, strength_finished = getstatf(STAT_STRENGTH_FINISHED), invincible_finished = getstatf(STAT_INVINCIBLE_FINISHED);
if (strength_finished - time > 0) { sharpen_intensity += (strength_finished - time); }
if (invincible_finished - time > 0) { sharpen_intensity += (invincible_finished - time); }
-
+
sharpen_intensity = bound(0, ((getstati(STAT_HEALTH) > 0) ? sharpen_intensity : 0), 5); // Check to see if player is alive (if not, set 0) - also bound to fade out starting at 5 seconds.
-
+
if(autocvar_hud_powerup && sharpen_intensity > 0)
{
if(sharpen_intensity != old_sharpen_intensity) // reduce cvar_set spam as much as possible
{
if(time - hit_time < MAX_TIME_DIFF) // don't play the sound if it's too old.
sound(world, CH_INFO, "misc/hit.wav", VOL_BASE, ATTEN_NONE);
-
+
nextsound_hit_time = time + autocvar_cl_hitsound_antispam_time;
}
typehit_time = getstatf(STAT_TYPEHIT_TIME);
- if(typehit_time > nextsound_typehit_time)
+ if(typehit_time > nextsound_typehit_time)
{
if(time - typehit_time < MAX_TIME_DIFF) // don't play the sound if it's too old.
sound(world, CH_INFO, "misc/typehit.wav", VOL_BASE, ATTEN_NONE);
-
+
nextsound_typehit_time = time + autocvar_cl_hitsound_antispam_time;
}
CSQC_common_hud();
// crosshair goes VERY LAST
- if(!scoreboard_active && !camera_active && intermission != 2 && spectatee_status != -1 && hud == HUD_NORMAL)
+ if(!scoreboard_active && !camera_active && intermission != 2 && spectatee_status != -1 && hud == HUD_NORMAL)
{
- if not(autocvar_crosshair_enabled) // main toggle for crosshair rendering
+ if (!autocvar_crosshair_enabled) // main toggle for crosshair rendering
return;
-
+
string wcross_style;
float wcross_alpha, wcross_resolution;
wcross_style = autocvar_crosshair;
}
}
- //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
if(autocvar_crosshair_pickup)
{
float stat_pickup_time = getstatf(STAT_LAST_PICKUP);
-
+
if(pickup_crosshair_time < stat_pickup_time)
{
if(time - stat_pickup_time < MAX_TIME_DIFF) // don't trigger the animation if it's too old
pickup_crosshair_size = 1;
-
+
pickup_crosshair_time = stat_pickup_time;
}
if(autocvar_crosshair_hitindication)
{
vector hitindication_color = ((autocvar_crosshair_color_special == 1) ? stov(autocvar_crosshair_hitindication_per_weapon_color) : stov(autocvar_crosshair_hitindication_color));
-
+
if(hitindication_crosshair_time < hit_time)
{
if(time - hit_time < MAX_TIME_DIFF) // don't trigger the animation if it's too old
hitindication_crosshair_size = 1;
-
+
hitindication_crosshair_time = hit_time;
}
// handle the values
if (autocvar_crosshair_ring && activeweapon == WEP_NEX && nex_charge && autocvar_crosshair_ring_nex) // ring around crosshair representing velocity-dependent damage for the nex
{
- if (nex_chargepool || use_nex_chargepool) {
- use_nex_chargepool = 1;
+ if (nex_chargepool || use_nex_chargepool) {
+ use_nex_chargepool = 1;
ring_inner_value = nex_chargepool;
- } else {
+ } else {
nex_charge_movingavg = (1 - autocvar_crosshair_ring_nex_currentcharge_movingavg_rate) * nex_charge_movingavg + autocvar_crosshair_ring_nex_currentcharge_movingavg_rate * nex_charge;
- ring_inner_value = bound(0, autocvar_crosshair_ring_nex_currentcharge_scale * (nex_charge - nex_charge_movingavg), 1);
+ ring_inner_value = bound(0, autocvar_crosshair_ring_nex_currentcharge_scale * (nex_charge - nex_charge_movingavg), 1);
}
ring_inner_alpha = autocvar_crosshair_ring_nex_inner_alpha;
ring_rgb = wcross_color;
ring_image = "gfx/crosshair_ring_nexgun.tga";
}
- else if (autocvar_crosshair_ring && activeweapon == WEP_MINE_LAYER && minelayer_maxmines && autocvar_crosshair_ring_minelayer)
+ else if (autocvar_crosshair_ring && activeweapon == WEP_MINE_LAYER && minelayer_maxmines && autocvar_crosshair_ring_minelayer)
{
ring_value = bound(0, getstati(STAT_LAYED_MINES) / minelayer_maxmines, 1); // if you later need to use the count of bullets in another place, then add a float for it. For now, no need to.
ring_alpha = autocvar_crosshair_ring_minelayer_alpha;
ring_image = "gfx/crosshair_ring.tga";
}
- if(autocvar_crosshair_ring_reload && weapon_clipsize) // forces there to be only an ammo ring
+ if(autocvar_crosshair_ring_reload && weapon_clipsize) // forces there to be only an ammo ring
{
ring_value = bound(0, weapon_clipload / weapon_clipsize, 1);
ring_scale = autocvar_crosshair_ring_reload_size;
if(autocvar_crosshair_effect_time > 0)
{
f = (time - wcross_name_changestarttime) / autocvar_crosshair_effect_time;
- if not(f < 1)
+ if (!(f < 1))
{
wcross_ring_prev = ((ring_image) ? TRUE : FALSE);
}
-
+
if(wcross_ring_prev)
{
if(f < 1)
{
vector wcross_color_old;
wcross_color_old = wcross_color;
-
+
if((autocvar_crosshair_dot_color_custom) && (autocvar_crosshair_dot_color != "0"))
wcross_color = stov(autocvar_crosshair_dot_color);
-
+
CROSSHAIR_DRAW(wcross_resolution * autocvar_crosshair_dot_size, "gfx/crosshairdot.tga", f * autocvar_crosshair_dot_alpha);
// FIXME why don't we use wcross_alpha here?cl_notice_run();
wcross_color = wcross_color_old;
if(autocvar__hud_configure)
HUD_Panel_Mouse();
-
+
if(hud && !intermission)
- {
+ {
if(hud == HUD_SPIDERBOT)
CSQC_SPIDER_HUD();
else if(hud == HUD_WAKIZASHI)
else if(hud == HUD_BUMBLEBEE_GUN)
CSQC_BUMBLE_GUN_HUD();
}
-
+
cl_notice_run();
-
+
// let's reset the view back to normal for the end
setproperty(VF_MIN, '0 0 0');
setproperty(VF_SIZE, '1 0 0' * w + '0 1 0' * h);
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();
}
- */
}
float announcer_1min;
float announcer_5min;
-void Announcer_Countdown()
+void Announcer_Countdown()
{
float starttime = getstatf(STAT_GAMESTARTTIME);
float roundstarttime = getstatf(STAT_ROUNDSTARTTIME);
if(countdown <= 0) // countdown has finished, starttime is now
{
- Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_BEGIN);
- Local_Notification(MSG_MULTI, MULTI_COUNTDOWN_BEGIN);
+ Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_BEGIN);
+ Local_Notification(MSG_MULTI, MULTI_COUNTDOWN_BEGIN);
remove(self);
return;
}
* and STAT_FRAGLIMIT to be auto-sent)
*/
float previous_game_starttime;
-void Announcer_Gamestart()
+void Announcer_Gamestart()
{
float startTime = getstatf(STAT_GAMESTARTTIME);
float roundstarttime = getstatf(STAT_ROUNDSTARTTIME);
if(roundstarttime > startTime)
startTime = roundstarttime;
- if(previous_game_starttime != startTime)
+ if(previous_game_starttime != startTime)
{
if((time + 5.0) < startTime) // if connecting to server while restart was active don't always play prepareforbattle
Local_Notification(MSG_ANNCE, ANNCE_PREPARE);
- if(time < startTime)
+ if(time < startTime)
{
entity e = find(world, classname, "announcer_countdown");
- if not(e)
+ if (!e)
{
e = spawn();
e.classname = "announcer_countdown";
e.nextthink = startTime - floor(startTime - time); //synchronize nextthink to startTime
}
}
-
+
previous_game_starttime = startTime;
}
// Plays the 1 minute or 5 minutes (of maptime) remaining sound, if client wants it
-void Announcer_Time()
+void Announcer_Time()
{
float timelimit = getstatf(STAT_TIMELIMIT);
float timeleft = max(0, timelimit * 60 + getstatf(STAT_GAMESTARTTIME) - time);
float warmup_timeleft = 0;
-
- if(warmup_stage)
+
+ if(warmup_stage)
if(autocvar_g_warmup_limit > 0)
- warmup_timeleft = max(0, autocvar_g_warmup_limit + getstatf(STAT_GAMESTARTTIME) - time);
+ warmup_timeleft = max(0, autocvar_g_warmup_limit + getstatf(STAT_GAMESTARTTIME) - time);
// 5 minute check
- if(autocvar_cl_announcer_maptime >= 2)
+ if(autocvar_cl_announcer_maptime >= 2)
{
// make sure that after connect (and e.g. 4 minutes left) we will not get a wrong sound
if(announcer_5min)
{
- if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timeleft > 300)
+ if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timeleft > 300)
|| (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft > 300))
announcer_5min = FALSE;
}
- else
+ else
{
- if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timelimit > 0 && timeleft < 300 && timeleft > 299)
+ if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timelimit > 0 && timeleft < 300 && timeleft > 299)
|| (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft < 300 && warmup_timeleft > 299))
{
//if we're in warmup mode, check whether there's a warmup timelimit
- if not(autocvar_g_warmup_limit == -1 && warmup_stage)
+ if(!(autocvar_g_warmup_limit == -1 && warmup_stage))
{
announcer_5min = TRUE;
Local_Notification(MSG_ANNCE, ANNCE_REMAINING_MIN_5);
{
if (announcer_1min)
{
- if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timeleft > 60)
+ if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timeleft > 60)
|| (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft > 60))
announcer_1min = FALSE;
}
- else if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timelimit > 0 && timeleft < 60)
+ else if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timelimit > 0 && timeleft < 60)
|| (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft < 60))
{
// if we're in warmup mode, check whether there's a warmup timelimit
- if not(autocvar_g_warmup_limit == -1 && warmup_stage)
+ if(!(autocvar_g_warmup_limit == -1 && warmup_stage))
{
announcer_1min = TRUE;
Local_Notification(MSG_ANNCE, ANNCE_REMAINING_MIN_1);
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;
float autocvar_hud_panel_weapons_timeout_effect;
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_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;
// attack: from 0 to 1, in time a for a full length
// decay: from 1 to s, in time d
// sustain: s
-
+
if(t < 0)
return 0;
-
+
if(a)
if(t <= a)
return t / a;
if(!r)
return 0;
-
+
if(t > r)
return 0;
-
+
releaseval = s * (1 - t / r);
if(t < -d)
if(!s)
return 0;
-
+
// if amp > s, we may be in the attack or in the prolonged decay curve
releasetime = (1 - amp / s) * r;
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;
}
if(e.bgmscript == "")
return 1;
-
+
if(autocvar_bgmvolume <= 0)
return -1;
blurtest_radius = stof(argv(2));
blurtest_power = stof(argv(3));
print("Enabled blurtest\n");
- return;
+ return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
float fh;
string filename = strcat(MapInfo_Map_bspname, "_scrshot_ent.txt");
fh = fopen(filename, FILE_WRITE);
-
+
if(fh >= 0)
{
fputs(fh, "{\n");
fputs(fh, strcat("\"origin\" \"", strcat(ftos(view_origin_x), " ", ftos(view_origin_y), " ", ftos(view_origin_z)), "\"\n"));
fputs(fh, strcat("\"angles\" \"", strcat(ftos(view_angles_x), " ", ftos(view_angles_y), " ", ftos(view_angles_z)), "\"\n"));
fputs(fh, "}\n");
-
+
print("Completed screenshot entity dump in ^2data/data/", MapInfo_Map_bspname, "_scrshot_ent.txt^7.\n");
-
+
fclose(fh);
}
else
}
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
string modelname = argv(1);
entity debugmodel_entity;
-
+
debugmodel_entity = spawn();
precache_model(modelname);
setmodel(debugmodel_entity, modelname);
debugmodel_entity.angles = view_angles;
debugmodel_entity.draw = DrawDebugModel;
debugmodel_entity.classname = "debugmodel";
-
- return;
+
+ return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
float vote_selection;
string vote_string;
-
+
if(InterpretBoolean(argv(1)))
{
- vote_selection = 2;
+ vote_selection = 2;
vote_string = "yes";
}
else
{
- vote_selection = 1;
- vote_string = "no";
+ vote_selection = 1;
+ vote_string = "no";
}
-
+
if(vote_selection)
{
if(uid2name_dialog) // handled by "uid2name" option
uid2name_dialog = 0;
}
else { localcmd(strcat("cmd vote ", vote_string, "\n")); }
-
+
return;
}
}
-
+
default:
print("Incorrect parameters for ^2handlevote^7\n");
case CMD_REQUEST_USAGE:
cvar_set("_hud_configure", ftos(!autocvar__hud_configure));
return;
}
-
+
case "save":
{
if(argv(2))
break; // go to usage, we're missing the paramater needed here.
}
}
-
+
case "scoreboard_columns_set":
{
- Cmd_HUD_SetFields(argc);
+ Cmd_HUD_SetFields(argc);
return;
}
Cmd_HUD_Help();
return;
}
-
+
case "radar":
{
if(argv(2))
}
}
}
-
+
default:
print("Incorrect parameters for ^2hud^7\n");
case CMD_REQUEST_USAGE:
if(argv(1))
{
centerprint_hud(argv(1));
- return;
+ return;
}
}
-
+
default:
print("Incorrect parameters for ^2localprint^7\n");
case CMD_REQUEST_USAGE:
if(argv(1))
{
Cmd_MapVote_MapDownload(argc);
- return;
+ return;
}
}
-
+
default:
print("Incorrect parameters for ^2mv_download^7\n");
case CMD_REQUEST_USAGE:
// W_FixWeaponOrder will trash argv, so save what we need.
string thiscvar = strzone(argv(1));
string s = cvar_string(thiscvar);
-
+
if(thiscvar == "cl_weaponpriority")
s = W_FixWeaponOrder(W_NumberWeaponOrder(s), 1);
else if(substring(thiscvar, 0, 17) == "cl_weaponpriority" && strlen(thiscvar) == 18)
s = W_FixWeaponOrder(W_NumberWeaponOrder(s), 0);
-
+
localcmd("cmd sentcvar ", thiscvar, " \"", s, "\"\n");
strunzone(thiscvar);
- return;
+ return;
}
}
-
+
default:
print("Incorrect parameters for ^2sendcvar^7\n");
case CMD_REQUEST_USAGE:
{
case CMD_REQUEST_COMMAND:
{
-
- return;
+
+ return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
CLIENT_COMMAND("mv_download", LocalCommand_mv_download(request, arguments), "Retrieve mapshot picture from the server") \
CLIENT_COMMAND("sendcvar", LocalCommand_sendcvar(request, arguments), "Send a cvar to the server (like weaponpriority)") \
/* nothing */
-
+
void LocalCommand_macro_help()
{
#define CLIENT_COMMAND(name,function,description) \
{ if(strtolower(description) != "") { print(" ^2", name, "^7: ", description, "\n"); } }
-
+
CLIENT_COMMANDS(0, 0)
#undef CLIENT_COMMAND
-
+
return;
}
{
#define CLIENT_COMMAND(name,function,description) \
{ if(name == strtolower(argv(0))) { function; return TRUE; } }
-
+
CLIENT_COMMANDS(CMD_REQUEST_COMMAND, argc)
#undef CLIENT_COMMAND
-
+
return FALSE;
}
{
#define CLIENT_COMMAND(name,function,description) \
{ if(name == strtolower(argv(1))) { function; return TRUE; } }
-
+
CLIENT_COMMANDS(CMD_REQUEST_USAGE, argc)
#undef CLIENT_COMMAND
-
+
return FALSE;
}
{
#define CLIENT_COMMAND(name,function,description) \
{ if(strtolower(description) != "") { CMD_Write_Alias("qc_cmd_cl", name, description); } }
-
+
CLIENT_COMMANDS(0, 0)
#undef CLIENT_COMMAND
-
+
return;
}
// Guide for working with argc arguments by example:
// argc: 1 - 2 - 3 - 4
- // argv: 0 - 1 - 2 - 3
+ // argv: 0 - 1 - 2 - 3
// cmd vote - master - login - password
- if(strtolower(argv(0)) == "help")
+ if(strtolower(argv(0)) == "help")
{
- if(argc == 1)
+ if(argc == 1)
{
print("\nClient console commands:\n");
LocalCommand_macro_help();
print("\nGeneric commands shared by all programs:\n");
GenericCommand_macro_help();
-
+
print("\nUsage:^3 cl_cmd COMMAND...^7, where possible commands are listed above.\n");
print("For help about a specific command, type cl_cmd help COMMAND\n");
-
+
return;
- }
+ }
else if(GenericCommand_macro_usage(argc)) // Instead of trying to call a command, we're going to see detailed information about it
{
return;
{
return;
}
- }
- else if(GenericCommand(command))
+ }
+ else if(GenericCommand(command))
{
return; // handled by common/command/generic.qc
}
{
return; // handled by one of the above LocalCommand_* functions
}
-
+
// nothing above caught the command, must be invalid
print(((command != "") ? strcat("Unknown client command \"", command, "\"") : "No command provided"), ". For a list of supported commands, try cl_cmd help.\n");
-
+
return;
}
CONSOLE_COMMAND("+showaccuracy", { scoreboard_showaccuracy = TRUE; }) \
CONSOLE_COMMAND("-showaccuracy", { scoreboard_showaccuracy = FALSE; }) \
/* nothing */
-
+
#define CONSOLE_COMMANDS_MOVEMENT \
CONSOLE_COMMAND("+forward", { ++camera_direction_x; }) \
CONSOLE_COMMAND("-forward", { --camera_direction_x; }) \
CONSOLE_COMMANDS_NORMAL
#undef CONSOLE_COMMAND
-
+
// then init movement commands
#ifndef CAMERATEST
if(isdemo())
#ifndef CAMERATEST
}
#endif
-
+
return;
}
{
#define CONSOLE_COMMAND(name,execution) \
{ if(name == strtolower(argv(0))) { { execution } return TRUE; } }
-
+
CONSOLE_COMMANDS_NORMAL
#undef CONSOLE_COMMAND
-
+
return FALSE;
}
CONSOLE_COMMANDS_MOVEMENT
#undef CONSOLE_COMMAND
}
-
+
return FALSE;
}
{
return TRUE;
}
-
+
// Return value should be 1 if CSQC handled the command, otherwise return 0 to have the engine handle it.
return FALSE;
const float VF_CL_VIEWANGLES = 33; //(vector)
const float VF_CL_VIEWANGLES_X = 34; //(float)
const float VF_CL_VIEWANGLES_Y = 35; //(float)
-const float VF_CL_VIEWANGLES_Z = 36; //(float)
+const float VF_CL_VIEWANGLES_Z = 36; //(float)
// Server Autosent Stat Constants
const float STAT_HEALTH = 0;
float forceplayermodels_goodmodelindex;
.vector glowmod;
-.vector old_glowmod;
+.vector old_glowmod;
void CSQCPlayer_ModelAppearance_PreUpdate(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)
{
// FORCEMODEL
// which one is ALWAYS good?
- if not(forceplayermodels_goodmodel)
+ if (!forceplayermodels_goodmodel)
{
entity e;
e = spawn();
// 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)
// Fade out to black now...
if(self.old_glowmod == '0 0 0') { self.old_glowmod = self.glowmod; }
self.colormap = 0;
-
+
self.glowmod = self.old_glowmod * bound(0, 1 - (time - self.death_time) / autocvar_cl_deathglow, 1);
self.glowmod_x = max(self.glowmod_x, 0.0001);
self.glowmod_y = max(self.glowmod_y, 0.0001);
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
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)
self.renderflags &= ~(RF_DEPTHHACK | RF_ADDITIVE | RF_FULLBRIGHT | EF_NOSHADOW | RF_USEAXIS);
self.effects = 0;
self.traileffect = 0;
-
+
if(eff & EF_BRIGHTFIELD)
self.traileffect = particleeffectnum("TR_NEXUIZPLASMA");
// ignoring EF_MUZZLEFLASH
CSQCPlayer_ModelAppearance_Apply(self.entnum == player_localnum + 1);
CSQCPlayer_LOD_Apply();
if(!isplayer)
+ {
+ skeleton_loadinfo(self);
+ float doblend = (self.bone_upperbody >= 0);
CSQCPlayer_FallbackFrame_Apply();
+ if(doblend)
+ {
+ skeleton_from_frames(self, self.csqcmodel_isdead);
+ }
+ else
+ {
+ free_skeleton_from_frames(self);
+ // just in case, clear these (we're animating in frame and frame3)
+ self.lerpfrac = 0;
+ self.lerpfrac4 = 0;
+ }
+ }
else
{
// we know that frame3 and frame4 fields, used by InterpolateAnimation, are left alone - but that is all we know!
e = get_weaponinfo(type);
effectname = strcat("damage_", e.netname);
-
+
// if damage was dealt with a bullet weapon, our effect is blood
// since blood is species dependent, include the species tag
if(type == WEP_SHOTGUN || type == WEP_UZI || type == WEP_RIFLE)
force = decompressShortVector(ReadShort());
species = ReadByte();
- if not(isNew)
+ if (!isNew)
return;
if(rad < 0)
}
else
forcemul = 1;
-
+
for(self = findradius(w_org, rad + MAX_DAMAGEEXTRARADIUS); self; self = self.chain)
{
// attached ents suck
}
self = oldself;
-
+
if(DEATH_ISVEHICLE(w_deathtype))
{
traceline(w_org - normalize(force) * 16, w_org + normalize(force) * 16, MOVE_NOMONSTERS, world);
w_backoff = trace_plane_normal;
else
w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16));
-
+
setorigin(self, w_org + w_backoff * 2); // for sound() calls
-
+
switch(w_deathtype)
{
case DEATH_VH_CRUSH:
break;
-
+
// spiderbot
case DEATH_VH_SPID_MINIGUN:
string _snd;
sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_MIN);
pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
break;
-
+
case DEATH_VH_WAKI_GUN:
sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTEN_NORM);
pointparticles(particleeffectnum("wakizashi_gun_impact"), self.origin, w_backoff * 1000, 1);
sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_MIN);
pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
break;
-
+
case DEATH_VH_RAPT_CANNON:
sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTEN_NORM);
pointparticles(particleeffectnum("raptor_cannon_impact"), self.origin, w_backoff * 1000, 1);
break;
}
}
-
-
+
+
if(DEATH_ISTURRET(w_deathtype))
{
string _snd;
w_backoff = trace_plane_normal;
else
w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16));
-
+
setorigin(self, w_org + w_backoff * 2); // for sound() calls
-
+
switch(w_deathtype)
- {
+ {
case DEATH_TURRET_EWHEEL:
sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTEN_MIN);
pointparticles(particleeffectnum("laser_impact"), self.origin, w_backoff * 1000, 1);
break;
-
+
case DEATH_TURRET_FLAC:
pointparticles(particleeffectnum("hagar_explode"), w_org, '0 0 0', 1);
_snd = strcat("weapons/hagexp", ftos(1 + rint(random() * 2)), ".waw");
sound(self, CH_SHOTS, _snd, VOL_BASE, ATTEN_NORM);
break;
-
+
case DEATH_TURRET_MLRS:
case DEATH_TURRET_HK:
case DEATH_TURRET_WALK_ROCKET:
sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_MIN);
pointparticles(particleeffectnum("rocket_explode"), self.origin, w_backoff * 1000, 1);
break;
-
+
case DEATH_TURRET_MACHINEGUN:
case DEATH_TURRET_WALK_GUN:
_snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
sound(self, CH_SHOTS, _snd, VOL_BASE, ATTEN_NORM);
pointparticles(particleeffectnum("machinegun_impact"), self.origin, w_backoff * 1000, 1);
break;
-
+
case DEATH_TURRET_PLASMA:
sound(self, CH_SHOTS, "weapons/electro_impact.wav", VOL_BASE, ATTEN_MIN);
pointparticles(particleeffectnum("electro_impact"), self.origin, w_backoff * 1000, 1);
break;
-
+
case DEATH_TURRET_WALK_MELEE:
sound(self, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTEN_MIN);
pointparticles(particleeffectnum("TE_SPARK"), self.origin, w_backoff * 1000, 1);
case DEATH_TURRET_PHASER:
break;
-
+
case DEATH_TURRET_TESLA:
te_smallflash(self.origin);
break;
}
}
-
+
// TODO spawn particle effects and sounds based on w_deathtype
if(!DEATH_ISSPECIAL(w_deathtype))
- if not(hitplayer && !rad) // don't show ground impacts for hitscan weapons if a player was hit
+ if(!hitplayer || rad) // don't show ground impacts for hitscan weapons if a player was hit
{
float hitwep;
{
if(cl_gentle_gibs == 2)
gentle_prefix = "";
- else if(cl_gentle_gibs == 3)
+ else if(cl_gentle_gibs == 3)
gentle_prefix = "happy_";
}
else if(autocvar_cl_particlegibs)
gentle_prefix = "particlegibs_";
}
- if not(cl_gentle_gibs || autocvar_cl_gentle)
+ if (!(cl_gentle_gibs || autocvar_cl_gentle))
amount *= 1 - autocvar_cl_nogibs;
if(autocvar_ekg)
{
// I want to draw a quad...
// from and to are MIDPOINTS.
-
+
vector axis, thickdir, A, B, C, D;
float length_tex;
return stringwidth(s, FALSE, theSize);
}
-void drawstringright(vector position, string text, vector scale, vector rgb, float theAlpha, float flag)
+void drawstringright(vector position, string text, vector theScale, vector rgb, float theAlpha, float flag)
{
- position_x -= 2 / 3 * strlen(text) * scale_x;
- drawstring(position, text, scale, rgb, theAlpha, flag);
+ position_x -= 2 / 3 * strlen(text) * theScale_x;
+ drawstring(position, text, theScale, rgb, theAlpha, flag);
}
-void drawstringcenter(vector position, string text, vector scale, vector rgb, float theAlpha, float flag)
+void drawstringcenter(vector position, string text, vector theScale, vector rgb, float theAlpha, float flag)
{
- position_x = 0.5 * (vid_conwidth - 0.6025 * strlen(text) * scale_x);
- drawstring(position, text, scale, rgb, theAlpha, flag);
+ position_x = 0.5 * (vid_conwidth - 0.6025 * strlen(text) * theScale_x);
+ drawstring(position, text, theScale, rgb, theAlpha, flag);
}
// return the string of the onscreen race timer
float GetPlayerColor(float i)
{
- if not(playerslots[i].gotscores) // unconnected
+ if(!playerslots[i].gotscores) // unconnected
return NUM_SPECTATOR;
else if(stof(getplayerkeyvalue(i, "frags")) == FRAGS_SPECTATOR)
return NUM_SPECTATOR;
// 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)
// update generic hud functions
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
draw_beginBoldFont();
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;
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;
// skip this weapon if we don't own it (and onlyowned is enabled)-- or if weapons_complainbubble is showing for this weapon
if(autocvar_hud_panel_weapons_onlyowned)
- if not((weapons_stat & WepSet_FromWeapon(self.weapon)) || (self.weapon == complain_weapon))
+ if (!((weapons_stat & WepSet_FromWeapon(self.weapon)) || (self.weapon == complain_weapon)))
continue;
// figure out the drawing position of weapon
- weapon_pos = (panel_pos
- + eX * column * weapon_size_x
+ weapon_pos = (panel_pos
+ + eX * column * weapon_size_x
+ eY * row * weapon_size_y);
// draw background behind currently selected weapon
void HUD_Ammo(void)
{
- if(hud != HUD_NORMAL) return;
+ if(hud != HUD_NORMAL) return;
if(!autocvar__hud_configure)
{
if(!autocvar_hud_panel_ammo) return;
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
draw_beginBoldFont();
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)
{
if(!autocvar_hud_panel_powerups) return;
if(spectatee_status == -1) return;
- if not(getstati(STAT_ITEMS, 0, 24) & (IT_STRENGTH | IT_INVINCIBLE | IT_SUPERWEAPON)) return;
+ if(!(getstati(STAT_ITEMS, 0, 24) & (IT_STRENGTH | IT_INVINCIBLE | IT_SUPERWEAPON))) return;
if (getstati(STAT_HEALTH) <= 0) return;
strength_time = bound(0, getstatf(STAT_STRENGTH_FINISHED) - time, 99);
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
draw_beginBoldFont();
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)
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)
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)
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
vector pos, mySize;
pos = panel_pos;
mySize = panel_size;
{
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);
{
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);
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
{
{
if(autocvar_hud_panel_healtharmor_progressbar)
{
- HUD_Panel_GetProgressBarColor(health);
float p_health, pain_health_alpha;
p_health = health;
pain_health_alpha = 1;
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;
{
float BLINK_FACTOR = 0.15;
float BLINK_BASE = 0.85;
- float BLINK_FREQ = 9;
+ float BLINK_FREQ = 9;
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);
{
if(autocvar_hud_panel_healtharmor_progressbar)
{
- HUD_Panel_GetProgressBarColor(armor);
float p_armor;
p_armor = armor;
if (autocvar_hud_panel_healtharmor_progressbar_gfx)
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);
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);
}
}
}
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
vector pos, mySize;
pos = panel_pos;
mySize = panel_size;
float entries, height;
entries = bound(1, floor(KN_MAX_ENTRIES * mySize_y/mySize_x), KN_MAX_ENTRIES);
height = mySize_y/entries;
-
+
vector fontsize;
float fontheight = height * autocvar_hud_panel_notify_fontsize;
fontsize = '0.5 0.5 0' * fontheight;
{
break;
}
-
+
attacker = notify_attackers[j];
victim = notify_victims[j];
icon = notify_icon[j];
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
draw_beginBoldFont();
{
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;
panel_size_y = bound(0.2, panel_size_y, 1) * vid_conheight;
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)
{
default:
f = 1;
break;
}
-
+
switch(hud_panel_radar_maximized_rotation)
{
case 0:
f = 1;
break;
}
-
+
switch(hud_panel_radar_rotation)
{
case 0:
// 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;
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
vector pos, mySize;
pos = panel_pos;
mySize = panel_size;
} 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]
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);
score = tm.(teamscores[ts_primary]);
if(autocvar__hud_configure)
score = 123;
-
+
if (score > max_fragcount)
max_fragcount = score;
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
draw_beginBoldFont();
return;
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
if(uid2name_dialog)
{
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)
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;
stat_items = getstati(STAT_ITEMS, 0, 24);
redflag = (stat_items/IT_RED_FLAG_TAKEN) & 3;
blueflag = (stat_items/IT_BLUE_FLAG_TAKEN) & 3;
-
+
if(redflag || blueflag)
mod_active = 1;
else
float kaball_prevstatus; // last remembered status
float kaball_statuschange_time; // time when the status changed
-// we don't need to reset for keepaway since it immediately
+// we don't need to reset for keepaway since it immediately
// autocorrects prevstatus as to if the player has the ball or not
void HUD_Mod_Keepaway(vector pos, vector mySize)
{
mod_active = 1; // keepaway should always show the mod HUD
-
+
float BLINK_FACTOR = 0.15;
float BLINK_BASE = 0.85;
- float BLINK_FREQ = 5;
+ float BLINK_FREQ = 5;
float kaball_alpha = BLINK_BASE + BLINK_FACTOR * cos(time * BLINK_FREQ);
-
+
float stat_items = getstati(STAT_ITEMS, 0, 24);
float kaball = (stat_items/IT_KEY1) & 1;
-
+
if(kaball != kaball_prevstatus)
{
kaball_statuschange_time = time;
kaball_prevstatus = kaball;
}
-
+
vector kaball_pos, kaball_size;
-
+
if(mySize_x > mySize_y) {
kaball_pos = pos + eX * 0.25 * mySize_x;
kaball_size = eX * 0.5 * mySize_x + eY * mySize_y;
kaball_pos = pos + eY * 0.25 * mySize_y;
kaball_size = eY * 0.5 * mySize_y + eX * mySize_x;
}
-
+
float kaball_statuschange_elapsedtime = time - kaball_statuschange_time;
float f = bound(0, kaball_statuschange_elapsedtime*2, 1);
-
+
if(kaball_prevstatus && f < 1)
drawpic_aspect_skin_expanding(kaball_pos, "keepawayball_carrying", kaball_size, '1 1 1', panel_fg_alpha * kaball_alpha, DRAWFLAG_NORMAL, f);
-
+
if(kaball)
drawpic_aspect_skin(pos, "keepawayball_carrying", eX * mySize_x + eY * mySize_y, '1 1 1', panel_fg_alpha * kaball_alpha * f, DRAWFLAG_NORMAL);
}
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)
float f; // yet another function has this
score = me.(scores[ps_primary]);
- if not((scores_flags[ps_primary] & SFL_TIME) && !teamplay) // race/cts record display on HUD
+ if(!(scores_flags[ps_primary] & SFL_TIME) || teamplay) // race/cts record display on HUD
return; // no records in the actual race
// clientside personal record
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;
}
}
+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
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;
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();
}
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
vector pos, mySize;
pos = panel_pos;
mySize = panel_size;
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
}
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
vector pos, mySize;
pos = panel_pos;
mySize = panel_size;
frametimeavg = (frametimeavg + frametimeavg1 + frametimeavg2 + currentframetime)/4; // average three frametimes into framecounter for slightly more stable fps readings :P
frametimeavg2 = frametimeavg1;
frametimeavg1 = frametimeavg;
-
+
float weight;
weight = cvar("hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight");
if(currentframetime > 0.0001) // filter out insane values which sometimes seem to occur and throw off the average? If you are getting 10,000 fps or more, then you don't need a framerate counter.
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
vector pos, mySize;
pos = panel_pos;
mySize = panel_size;
vector fontsize;
fontsize = '0.20 0.20 0' * mySize_y;
-
+
float a;
a = panel_fg_alpha;
s = sprintf(_("^1Press ^3%s^1 for gamemode info"), getcommandkey("server info", "+show_info"));
drawInfoMessage(s)
- if(gametype == MAPINFO_TYPE_ARENA)
- s = _("^1Wait for your turn to join");
- else if(gametype == MAPINFO_TYPE_LMS)
+ if(gametype == MAPINFO_TYPE_LMS)
{
entity sk;
sk = playerslots[player_localnum];
}
}
}
- else
+ else
{
s = _("^7Press ^3ESC ^7to show HUD options.");
drawInfoMessage(s)
}
HUD_Panel_UpdateCvars();
- HUD_Panel_ApplyFadeAlpha();
draw_beginBoldFont();
conversion_factor = 0.0254 * 1.943844492; // 1 m/s = 1.943844492 knots, because 1 knot = 1.852 km/h
break;
}
-
+
vector vel = (csqcplayer ? csqcplayer.velocity : pmove_vel);
float max_speed = floor( autocvar_hud_panel_physics_speed_max * conversion_factor + 0.5 );
acceleration = (vlen(vel) - vlen(acc_prevspeed));
else
acceleration = (vlen(vel - '0 0 1' * vel_z) - vlen(acc_prevspeed - '0 0 1' * acc_prevspeed_z));
-
+
acceleration = acceleration * (1 / max(0.0001, f)) * (0.0254 / 9.80665);
-
+
acc_prevspeed = vel;
acc_prevtime = time;
//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)
{
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
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)
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)
}
}
+ // 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;
vector target_pos;
-
+
target_pos = eY * scoreboard_bottom + eX * 0.5 * (vid_conwidth - panel_size_x);
-
+
if(target_pos_y > panel_pos_y)
{
panel_pos = panel_pos + (target_pos - panel_pos) * sqrt(scoreboard_fade_alpha);
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)
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)
+ // fade the centerprint_hud in/out
+ 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);
-
+ sz = autocvar_hud_panel_centerprint_fade_minfontsize + a * (1 - autocvar_hud_panel_centerprint_fade_minfontsize);
+
// also fade it based on positioning
if(autocvar_hud_panel_centerprint_fade_subsequent)
{
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));
+ sz = sz * (autocvar_hud_panel_centerprint_fade_subsequent_minfontsize + a * (1 - autocvar_hud_panel_centerprint_fade_subsequent_minfontsize));
drawfontscale = sz * '1 1 0';
-
+
if (centerprint_countdown_num[j])
n = tokenizebyseparator(strreplace("^COUNT", count_seconds(centerprint_countdown_num[j]), centerprint_messages[j]), "\n");
else
{
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
}
}
- ++g; // move next position number up
-
+ ++g; // move next position number up
+
msg_size = pos_y - msg_size;
if (autocvar_hud_panel_centerprint_flip)
{
pos_y = current_msg_pos_y - CENTERPRINT_SPACING * fontsize_y;
if (a < 1 && centerprint_msgID[j] == 0) // messages with id can be replaced just after they are faded out, so never move over them the next messages
pos_y += (msg_size + CENTERPRINT_SPACING * fontsize_y) * (1 - sqrt(sz));
-
+
if (pos_y < panel_pos_y) // check if the next message can be shown
{
drawfontscale = '1 1 0';
pos_y += CENTERPRINT_SPACING * fontsize_y;
if (a < 1 && centerprint_msgID[j] == 0) // messages with id can be replaced just after they are faded out, so never move over them the next messages
pos_y -= (msg_size + CENTERPRINT_SPACING * fontsize_y) * (1 - sqrt(sz));
-
+
if(pos_y > panel_pos_y + panel_size_y - fontsize_y) // check if the next message can be shown
{
drawfontscale = '1 1 0';
}
}
drawfontscale = '1 1 0';
- if (n == -1)
+ if (all_messages_expired)
{
centerprint_showing = FALSE;
reset_centerprint_messages();
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();
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
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;
}
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)
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;
vector myteamcolors;
-var vector progressbar_color;
-
entity highlightedPanel_backup;
var vector panel_pos_backup;
var vector panel_size_backup;
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;
// ----------------------
// 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 {\
}\
}\
}\
-}
+}\
+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()\
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()\
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()\
}\
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)\
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\
{\
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() \
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() \
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();
HUD_Write_PanelCvar_q("_maximized_scale");
HUD_Write_PanelCvar_q("_maximized_size");
HUD_Write_PanelCvar_q("_maximized_rotation");
- HUD_Write_PanelCvar_q("_maximized_zoommode");
+ HUD_Write_PanelCvar_q("_maximized_zoommode");
break;
case HUD_PANEL_SCORE:
HUD_Write_PanelCvar_q("_rankings");
}
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()
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;
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;
if (bInputType == 1)
return true;
menu_enabled = 1;
- menu_enabled_time = time;
localcmd("menu_showhudexit\n");
}
else if(nPrimary == K_BACKSPACE && hudShiftState & S_CTRL)
}
// now save the new top id
panel_order[0] = id;
-
+
// let's save them into the cvar by some strcat trickery
string s = "";
for(i = 0; i < HUD_PANEL_NUM; ++i)
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;
- if not(autocvar_hud_cursormode)
+ if (!autocvar_hud_cursormode)
{
mousepos = mousepos + getmousepos() * autocvar_menu_mouse_speed;
-
+
mousepos_x = bound(0, mousepos_x, vid_conwidth);
mousepos_y = bound(0, mousepos_y, vid_conheight);
}
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";
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));
+ }
+ }
+}
Draw_CylindricLine(self.origin, trace_endpos, self.scale, "particles/laserbeam", 0, time * 3, self.colormod, 0.5, DRAWFLAG_ADDITIVE, view_origin);
}
}
- if not(trace_dphitq3surfaceflags & (Q3SURFACEFLAG_SKY | Q3SURFACEFLAG_NOIMPACT))
+ if (!(trace_dphitq3surfaceflags & (Q3SURFACEFLAG_SKY | Q3SURFACEFLAG_NOIMPACT)))
{
if(self.cnt >= 0)
pointparticles(self.cnt, trace_endpos, trace_plane_normal, drawframetime * 1000);
vector rgb;
string label;
float text_size;
-
+
isize -= hud_fontsize_y; // respect the text when calculating the image size
rgb = MapVote_RGB(id, count);
-
+
img_size_y = isize;
img_size_x = isize / 0.75; // 4:3 x can be stretched easily, height is defined in isize
pos_y = pos_y + img_size_y;
-
+
label = MapVote_FormatMapItem(id, map, count, tsize, hud_fontsize);
text_size = stringwidth(label, false, hud_fontsize);
pos_x -= text_size*0.5;
drawstring(pos, label, hud_fontsize, rgb, theAlpha, DRAWFLAG_NORMAL);
-
+
pos_x = pos_x + text_size*0.5 - img_size_x*0.5;
pos_y = pos_y - img_size_y;
vector rgb;
float text_size;
string label;
-
+
rgb = MapVote_RGB(id, count);
pos_y = pos_y + hud_fontsize_y;
-
+
label = MapVote_FormatMapItem(id, _("Don't care"), count, tsize, hud_fontsize);
text_size = stringwidth(label, false, hud_fontsize);
-
+
pos_x -= text_size*0.5;
drawstring(pos, label, hud_fontsize, rgb, 1, DRAWFLAG_NORMAL);
}
if(!mv_active)
return;
- if not(autocvar_hud_cursormode)
+ if (!autocvar_hud_cursormode)
{
mv_mousepos = mv_mousepos + getmousepos();
-
+
mv_mousepos_x = bound(0, mv_mousepos_x, vid_conwidth);
mv_mousepos_y = bound(0, mv_mousepos_y, vid_conheight);
}
print(_("mv_mapdownload: ^3You're not supposed to use this command on your own!\n"));
return;
}
-
+
id = stof(argv(1));
for(pak = mv_pk3list; pak; pak = pak.chain)
if(pak.sv_entnum == id)
break;
-
+
if(!pak || pak.sv_entnum != id) {
print(_("^1Error:^7 Couldn't find pak index.\n"));
return;
pak.netname = pk3;
pak.message = pic;
pak.sv_entnum = id;
-
+
pak.chain = mv_pk3list;
mv_pk3list = pak;
-
+
if(pk3 != "")
{
localcmd(strcat("\ncurl --pak ", pk3, "; wait; cl_cmd mv_download ", ftos(id), "\n"));
mv_maps_mask = ReadByte();
else
mv_maps_mask = ReadShort();
-
+
// 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)
{
mv_votes[i] = 0;
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));
// remove votes that no longer apply
for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
- if not(mv_maps_mask & power)
+ if (!(mv_maps_mask & power))
mv_votes[i] = -1;
mv_top2_time = time;
entity players;
entity teams;
+var float team_count; // real teams
void AuditLists()
{
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;
}
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();
}
num = (Team == NUM_SPECTATOR) ? 16 : Team;
if(teamslots[num])
return teamslots[num];
- if not(add)
+ if (!add)
return world;
tm = spawn();
tm.team = Team;
_drawpic_picpath = string_null;\
} while(0)
-void drawpic_aspect_skin_expanding(vector position, string pic, vector scale, vector rgb, float theAlpha, float flag, float fadelerp)
+void drawpic_aspect_skin_expanding(vector position, string pic, vector theScale, vector rgb, float theAlpha, float flag, float fadelerp)
{
float sz;
sz = expandingbox_sizefactor_from_fadelerp(fadelerp);
- drawpic_aspect_skin(position + expandingbox_resize_centered_box_offset(sz, scale, 1), pic, scale * sz, rgb, theAlpha * (1 - fadelerp), flag);
+ drawpic_aspect_skin(position + expandingbox_resize_centered_box_offset(sz, theScale, 1), pic, theScale * sz, rgb, theAlpha * (1 - fadelerp), flag);
}
-void drawpic_aspect_skin_expanding_two(vector position, string pic, vector scale, vector rgb, float theAlpha, float flag, float fadelerp)
+void drawpic_aspect_skin_expanding_two(vector position, string pic, vector theScale, vector rgb, float theAlpha, float flag, float fadelerp)
{
- drawpic_aspect_skin_expanding(position, pic, scale, rgb, theAlpha, flag, fadelerp);
- drawpic_skin(position, pic, scale, rgb, theAlpha * fadelerp, flag);
+ drawpic_aspect_skin_expanding(position, pic, theScale, rgb, theAlpha, flag, fadelerp);
+ drawpic_skin(position, pic, theScale, rgb, theAlpha * fadelerp, flag);
}
#define SET_POS_AND_SZ_Y_ASPECT(allow_colors)\
float textaspect, oldsz;\
}
vector drawfontscale;
-void drawstring_expanding(vector position, string text, vector scale, vector rgb, float theAlpha, float flag, float fadelerp)
+void drawstring_expanding(vector position, string text, vector theScale, vector rgb, float theAlpha, float flag, float fadelerp)
{
float sz;
sz = expandingbox_sizefactor_from_fadelerp(fadelerp);
drawfontscale = sz * '1 1 0';
dummyfunction(0, 0, 0, 0, 0, 0, 0, 0);
- drawstring(position + expandingbox_resize_centered_box_offset(sz, scale, stringwidth(text, FALSE, scale * (sz / drawfontscale_x)) / (scale_x * sz)), text, scale * (sz / drawfontscale_x), rgb, theAlpha * (1 - fadelerp), flag);
+ drawstring(position + expandingbox_resize_centered_box_offset(sz, theScale, stringwidth(text, FALSE, theScale * (sz / drawfontscale_x)) / (theScale_x * sz)), text, theScale * (sz / drawfontscale_x), rgb, theAlpha * (1 - fadelerp), flag);
// width parameter:
// (scale_x * sz / drawfontscale_x) * drawfontscale_x * SIZE1 / (scale_x * sz)
// SIZE1
drawstring_expanding(pos, text, '1 1 0' * sz_y, color, theAlpha, drawflag, fadelerp);
}
-void drawcolorcodedstring_expanding(vector position, string text, vector scale, float theAlpha, float flag, float fadelerp)
+void drawcolorcodedstring_expanding(vector position, string text, vector theScale, float theAlpha, float flag, float fadelerp)
{
float sz;
sz = expandingbox_sizefactor_from_fadelerp(fadelerp);
drawfontscale = sz * '1 1 0';
dummyfunction(0, 0, 0, 0, 0, 0, 0, 0);
- drawcolorcodedstring(position + expandingbox_resize_centered_box_offset(sz, scale, stringwidth(text, TRUE, scale * (sz / drawfontscale_x)) / (scale_x * sz)), text, scale * (sz / drawfontscale_x), theAlpha * (1 - fadelerp), flag);
+ drawcolorcodedstring(position + expandingbox_resize_centered_box_offset(sz, theScale, stringwidth(text, TRUE, theScale * (sz / drawfontscale_x)) / (theScale_x * sz)), text, theScale * (sz / drawfontscale_x), theAlpha * (1 - fadelerp), flag);
drawfontscale = '1 1 0';
}
vector tri;
string tex;
tex = getsurfacetexture(e, i_s);
- if not(tex)
+ if (!tex)
return 0; // this is beyond the last one
n_t = getsurfacenumtriangles(e, i_s);
for(i_t = 0; i_t < n_t; ++i_t)
return GETPLAYERORIGIN_ERROR;
}
+float getplayeralpha(float pl)
+{
+ entity e;
+
+ e = CSQCModel_server2csqc(pl + 1);
+ if(e)
+ return e.alpha;
+
+ return 1;
+}
+
float getplayerisdead(float pl)
{
entity e;
-
+
e = CSQCModel_server2csqc(pl + 1);
if(e)
return e.csqcmodel_isdead;
-
+
return FALSE;
}
}
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);
}
}
{
}
-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
vector org;
float cont;
org = self.move_origin + ofs;
-
+
cont = self.dphitcontentsmask;
self.dphitcontentsmask = DPCONTENTS_SOLID;
tracebox(self.move_origin, self.mins, self.maxs, self.move_origin, MOVE_NOMONSTERS, self);
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;
}
_Movetype_PushEntity(move, TRUE);
if(wasfreed(self))
return;
-
+
if(trace_startsolid)
{
_Movetype_UnstickEntity();
self.move_velocity_z -= 0.5 * dt * getstatf(STAT_MOVEVARS_GRAVITY);
}
- _Movetype_CheckWaterTransition();
+ _Movetype_CheckWaterTransition(self);
}
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);
.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();
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;
shotorg_x = ReadCoord(); shotorg_y = ReadCoord(); shotorg_z = ReadCoord();
endpos_x = ReadCoord(); endpos_y = ReadCoord(); endpos_z = ReadCoord();
charge = ReadByte() / 255.0;
-
+
pointparticles(particleeffectnum("nex_muzzleflash"), shotorg, normalize(endpos - shotorg) * 1000, 1);
-
+
//draw either the old v2.3 beam or the new beam
charge = sqrt(charge); // divide evenly among trail spacing and alpha
particles_alphamin = particles_alphamax = particles_fade = charge;
/*
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);
*/
}
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;
../common/animdecide.qh
command/cl_cmd.qh
+../common/monsters/monsters.qh
+
autocvars.qh
../common/notifications.qh // must be after autocvars
../common/urllib.qc
command/cl_cmd.qc
+../common/monsters/monsters.qc
+
../warpzonelib/anglestransform.qc
../warpzonelib/mathlib.qc
../warpzonelib/common.qc
player_skeleton.qc
../common/animdecide.qc
-
-../common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
case PROJECTILE_NADE_PINK:
case PROJECTILE_NADE_BURN:
case PROJECTILE_NADE:
- rot = self.avelocity;
+ rot = self.avelocity;
break;
case PROJECTILE_HOOKBOMB:
rot = '1000 0 0'; // forward
switch(self.cnt)
{
- case PROJECTILE_BULLET_GLOWING:
- case PROJECTILE_BULLET_GLOWING_TRACER:
- adddynamiclight(self.origin, 50 * a, '1 1 0');
- break;
+ // Possibly add dlights here.
default:
break;
}
{
case PROJECTILE_ELECTRO: setmodel(self, "models/ebomb.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
case PROJECTILE_ROCKET: setmodel(self, "models/rocket.md3");self.traileffect = particleeffectnum("TR_ROCKET"); self.scale = 2; break;
- case PROJECTILE_BULLET: setmodel(self, "models/tracer.mdl");self.traileffect = particleeffectnum("tr_bullet"); break;
- case PROJECTILE_BULLET_GLOWING: setmodel(self, "models/tracer.mdl");self.traileffect = particleeffectnum("tr_rifle_weak"); break;
- case PROJECTILE_BULLET_GLOWING_TRACER: setmodel(self, "models/tracer.mdl");self.traileffect = particleeffectnum("tr_rifle"); break;
case PROJECTILE_CRYLINK: setmodel(self, "models/plasmatrail.mdl");self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
case PROJECTILE_CRYLINK_BOUNCING: setmodel(self, "models/plasmatrail.mdl");self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
case PROJECTILE_ELECTRO_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_SEEKER"); break;
case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.traileffect = particleeffectnum("TR_SEEKER"); break;
+ case PROJECTILE_MAGE_SPIKE: setmodel(self, "models/ebomb.mdl"); self.traileffect = particleeffectnum("TR_VORESPIKE"); break;
+ case PROJECTILE_SHAMBLER_LIGHTNING: setmodel(self, "models/ebomb.mdl"); self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
+
case PROJECTILE_RAPTORBOMB: setmodel(self, "models/vehicles/clusterbomb.md3"); self.gravity = 1; self.avelocity = '0 0 180'; self.traileffect = particleeffectnum(""); break;
case PROJECTILE_RAPTORBOMBLET: setmodel(self, "models/vehicles/bomblet.md3"); self.gravity = 1; self.avelocity = '0 0 180'; self.traileffect = particleeffectnum(""); break;
case PROJECTILE_RAPTORCANNON: setmodel(self, "models/plasmatrail.mdl"); self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
case PROJECTILE_BUMBLE_GUN: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
case PROJECTILE_BUMBLE_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
-
+
case PROJECTILE_NADE_RED: setmodel(self, "models/weapons/v_ok_grenade.md3");self.traileffect = particleeffectnum("nade_red"); break;
case PROJECTILE_NADE_RED_BURN: setmodel(self, "models/weapons/v_ok_grenade.md3");self.traileffect = particleeffectnum("nade_red_burn"); break;
case PROJECTILE_NADE_BLUE: setmodel(self, "models/weapons/v_ok_grenade.md3");self.traileffect = particleeffectnum("nade_blue"); break;
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';
break;
case PROJECTILE_WAKIROCKET:
loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTEN_NORM);
- break;
+ break;
/*
case PROJECTILE_WAKICANNON:
break;
precache_model("models/rocket.md3");
precache_model("models/tagrocket.md3");
precache_model("models/tracer.mdl");
-
+
precache_model("models/weapons/v_ok_grenade.md3");
precache_sound("weapons/electro_fly.wav");
}
}
-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()
{
pattern = substring(str, 0, slash);
str = substring(str, slash + 1, strlen(str) - (slash + 1));
- if not(isGametypeInFilter(gametype, teamplay, FALSE, pattern))
+ if (!isGametypeInFilter(gametype, teamplay, FALSE, pattern))
continue;
}
}
else
{
- if not(nocomplain)
- print(sprintf("^1Error:^7 Unknown score field: '%s'\n", str));
+ if (!nocomplain)
+ printf("^1Error:^7 Unknown score field: '%s'\n", str);
continue;
}
:found
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)
{
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]);
}
}
switch(field)
{
case SP_PING:
- if not(pl.gotscores)
+ if (!pl.gotscores)
return "\xEE\x82\x8D\xEE\x82\x8D\xEE\x82\x8D"; // >>> sign
//str = getplayerkeyvalue(pl.sv_entnum, "ping");
f = pl.ping;
return ftos(f);
case SP_PL:
- if not(pl.gotscores)
+ if (!pl.gotscores)
return _("N/A");
f = pl.ping_packetloss;
tmp = pl.ping_movementloss;
} else
str = sprintf("%.1f", num/denom);
return str;
-
+
case SP_SUM:
f = pl.(scores[SP_KILLS]);
f -= pl.(scores[SP_DEATHS]);
for(i = WEP_FIRST; i <= WEP_LAST; ++i)
{
self = get_weaponinfo(i);
- if not(self.weapon)
+ if (!self.weapon)
continue;
if ((i == WEP_NEX && g_minstagib) || i == WEP_PORTO || (i == WEP_MINSTANEX && !g_minstagib) || i == WEP_TUBA) // skip port-o-launch, nex || minstanex and tuba
continue;
drawstring(pos, value, hud_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
pos_x = px;
pos_y+= hud_fontsize_y;
-
+
return pos;
}
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 not(rows)
+ if (!rows)
return pos;
// draw table header
drawstring(pos, _("Map stats:"), hud_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
pos_y += 1.25 * hud_fontsize_y + autocvar_scoreboard_border_thickness;
-
- // draw table
+
+ // draw table
vector tmp = '0 0 0';
tmp_x = sbwidth;
tmp_y = hud_fontsize_y * rows;
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;
return pos;
scoreboard_fade_alpha = 0;
}
- if not(scoreboard_fade_alpha)
+ if (!scoreboard_fade_alpha)
return;
HUD_UpdatePlayerTeams();
pos = HUD_DrawScoreboardAccuracyStats(pos, rgb, bg_size);
}
-
+
if(teamplay)
pos = HUD_DrawMapStats(pos, Team_ColorRGB(myteam), bg_size);
else
str = strcat(str, _(" or"));
if(teamplay)
{
- str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], fl),
+ str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], fl),
(teamscores_label[ts_primary] == "score") ? CTX(_("SCO^points")) :
(teamscores_label[ts_primary] == "fastest") ? CTX(_("SCO^is beaten")) :
TranslateScoresLabel(teamscores_label[ts_primary])));
}
else
{
- str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(scores_flags[ps_primary], fl),
+ str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(scores_flags[ps_primary], fl),
(scores_label[ps_primary] == "score") ? CTX(_("SCO^points")) :
(scores_label[ps_primary] == "fastest") ? CTX(_("SCO^is beaten")) :
TranslateScoresLabel(scores_label[ps_primary])));
str = strcat(str, _(" or"));
if(teamplay)
{
- str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], ll),
+ str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], ll),
(teamscores_label[ts_primary] == "score") ? CTX(_("SCO^points")) :
(teamscores_label[ts_primary] == "fastest") ? CTX(_("SCO^is beaten")) :
TranslateScoresLabel(teamscores_label[ts_primary])));
}
else
{
- str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(scores_flags[ps_primary], ll),
+ str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(scores_flags[ps_primary], ll),
(scores_label[ps_primary] == "score") ? CTX(_("SCO^points")) :
(scores_label[ps_primary] == "fastest") ? CTX(_("SCO^is beaten")) :
TranslateScoresLabel(scores_label[ps_primary])));
// a negative number means we are awaiting respawn, time value is still the same
respawn_time *= -1; // remove mark now that we checked it
respawn_time = max(time, respawn_time); // don't show a negative value while the server is respawning the player (lag)
-
+
str = sprintf(_("^1Respawning in ^3%s^1..."),
(autocvar_scoreboard_respawntime_decimals ?
count_seconds_decs(respawn_time - time, autocvar_scoreboard_respawntime_decimals)
{
if(!autocvar_hud_shownames)
return;
-
+
#ifdef COMPAT_XON050_ENGINE
if((ent.sv_entnum == player_localentnum) || (ent.sv_entnum == spectatee_status)) // ent is me or person i'm spectating
#else
if(ent.sv_entnum == player_localentnum) // ent is me or person i'm spectating
#endif
- if not (autocvar_hud_shownames_self && autocvar_chase_active)
+ if(!(autocvar_hud_shownames_self && autocvar_chase_active))
return;
makevectors(view_angles);
if(ent.sameteam || (!ent.sameteam && autocvar_hud_shownames_enemies))
{
ent.origin_z += autocvar_hud_shownames_offset;
-
+
float hit;
if(ent.sameteam && !autocvar_hud_shownames_crosshairdistance)
{
// handle tag fading
float overlap = FALSE, onscreen, crosshairdistance;
vector o, eo;
-
+
o = project_3d_to_2d(ent.origin);
-
+
if(autocvar_hud_shownames_antioverlap)
{
// fade tag out if another tag that is closer to you overlaps
if(e == ent)
continue;
eo = project_3d_to_2d(e.origin);
- if not(eo_z < 0 || eo_x < 0 || eo_y < 0 || eo_x > vid_conwidth || eo_y > vid_conheight)
+ if (!(eo_z < 0 || eo_x < 0 || eo_y < 0 || eo_x > vid_conwidth || eo_y > vid_conheight))
{
eo_z = 0;
if(vlen((eX * o_x + eY * o_y) - eo) < autocvar_hud_shownames_antioverlap_distance && vlen(ent.origin - view_origin) > vlen(e.origin - view_origin))
onscreen = (o_z >= 0 && o_x >= 0 && o_y >= 0 && o_x <= vid_conwidth && o_y <= vid_conheight);
crosshairdistance = sqrt( pow(o_x - vid_conwidth/2, 2) + pow(o_y - vid_conheight/2, 2) );
-
+
if(autocvar_hud_shownames_crosshairdistance)
{
if(autocvar_hud_shownames_crosshairdistance > crosshairdistance)
ent.pointtime = time;
-
- if not(ent.pointtime + autocvar_hud_shownames_crosshairdistance_time > time)
+
+ if (!(ent.pointtime + autocvar_hud_shownames_crosshairdistance_time > time))
overlap = TRUE;
else
overlap = (autocvar_hud_shownames_crosshairdistance_antioverlap ? overlap : FALSE); // override what antioverlap says unless allowed by cvar.
}
-
+
if(!ent.fadedelay)
ent.fadedelay = time + SHOWNAMES_FADEDELAY;
if(!ent.sameteam && (!onscreen || !hit)) // out of view, fade out
- {
- ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * frametime);
+ {
+ ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * frametime);
ent.fadedelay = 0; // reset fade in delay, enemy has left the view
}
else if(ent.csqcmodel_isdead) // dead player, fade out slowly
- ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * 0.25 * frametime);
+ ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * 0.25 * frametime);
else if(overlap) // tag overlap detected, fade out
- ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * frametime);
+ ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * frametime);
else if(ent.sameteam) // fade in for team mates
ent.alpha = min(1, ent.alpha + SHOWNAMES_FADESPEED * frametime);
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)
return;
-
+
float dist;
dist = vlen(ent.origin - view_origin);
setorigin(e, getplayerorigin(i));
if(e.origin == GETPLAYERORIGIN_ERROR)
continue;
-
+
e.csqcmodel_isdead = getplayerisdead(i);
Draw_ShowNames(e);
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;
}
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;
}
--- /dev/null
+string tid2info_base;
+string tid2info_head;
+string tid2info_name;
+vector tid2info_min;
+vector tid2info_max;
+
+void turret_tid2info(float _tid);
+void turret_precache(float _tid);
+float turret_is_precache[TID_LAST];
+
+void turrets_precache()
+{
+ turret_precache(TID_COMMON);
+}
+
+void turret_precache(float _tid)
+{
+ if (!turret_is_precache[TID_COMMON])
+ {
+ precache_sound ("weapons/rocket_impact.wav");
+ precache_model ("models/turrets/base-gib1.md3");
+ precache_model ("models/turrets/base-gib2.md3");
+ precache_model ("models/turrets/base-gib3.md3");
+ precache_model ("models/turrets/base-gib4.md3");
+ precache_model ("models/turrets/head-gib1.md3");
+ precache_model ("models/turrets/head-gib2.md3");
+ precache_model ("models/turrets/head-gib3.md3");
+ precache_model ("models/turrets/head-gib4.md3");
+ precache_model ("models/turrets/terrainbase.md3");
+ precache_model ("models/turrets/base.md3");
+ precache_model ("models/turrets/rocket.md3");
+ }
+ turret_tid2info(_tid);
+ if(turret_is_precache[_tid])
+ return;
+
+ switch(_tid)
+ {
+ case TID_EWHEEL:
+ precache_model ("models/turrets/ewheel-base2.md3");
+ precache_model ("models/turrets/ewheel-gun1.md3");
+ break;
+ case TID_FLAC:
+ precache_model ("models/turrets/flac.md3");
+ break;
+ case TID_FUSION:
+ precache_model ("models/turrets/reactor.md3");
+ break;
+ case TID_HELLION:
+ precache_model ("models/turrets/hellion.md3");
+ break;
+ case TID_HK:
+ precache_model ("models/turrets/hk.md3");
+ break;
+ case TID_MACHINEGUN:
+ precache_model ("models/turrets/machinegun.md3");
+ precache_sound ("weapons/uzi_fire.wav");
+ break;
+ case TID_MLRS:
+ precache_model ("models/turrets/mlrs.md3");
+ break;
+ case TID_PHASER:
+ precache_model ("models/turrets/phaser.md3");
+ precache_model ("models/turrets/phaser_beam.md3");
+ precache_sound ("turrets/phaser.wav");
+ break;
+ case TID_PLASMA:
+ precache_model ("models/turrets/plasma.md3");
+ break;
+ case TID_PLASMA_DUAL:
+ precache_model ("models/turrets/plasmad.md3");
+ break;
+ case TID_TESLA:
+ precache_model ("models/turrets/tesla_head.md3");
+ precache_model ("models/turrets/tesla_base.md3");
+ break;
+ case TID_WALKER:
+ precache_model ("models/turrets/walker_head_minigun.md3");
+ precache_model ("models/turrets/walker_body.md3");
+ precache_sound ("weapons/uzi_fire.wav");
+ break;
+ }
+ turret_is_precache[_tid] = TRUE;
+}
+
+void turret_tid2info(float _tid)
+{
+ tid2info_base = "models/turrets/base.md3";
+ tid2info_min = '-32 -32 0';
+ tid2info_max = '32 32 64';
+
+ switch(_tid)
+ {
+ case TID_EWHEEL:
+ tid2info_base = "models/turrets/ewheel-base2.md3";
+ tid2info_head = "models/turrets/ewheel-gun1.md3";
+ tid2info_name = "eWheel";
+ break;
+ case TID_FLAC:
+ tid2info_head = "models/turrets/flac.md3";
+ tid2info_name = "Flac Cannon";
+ break;
+ case TID_FUSION:
+ tid2info_head = "models/turrets/reactor.md3";
+ tid2info_name = "Fusion Reactor";
+ tid2info_min = '-34 -34 0';
+ tid2info_max = '34 34 90';
+ break;
+ case TID_HELLION:
+ tid2info_head = "models/turrets/hellion.md3";
+ tid2info_name = "Hellion";
+ break;
+ case TID_HK:
+ tid2info_head = "models/turrets/hk.md3";
+ tid2info_name = "Hunter-Killer";
+ break;
+ case TID_MACHINEGUN:
+ tid2info_head = "models/turrets/machinegun.md3";
+ tid2info_name = "Machinegun";
+ break;
+ case TID_MLRS:
+ tid2info_head = "models/turrets/mlrs.md3";
+ tid2info_name = "MLRS";
+ break;
+ case TID_PHASER:
+ tid2info_head = "models/turrets/phaser.md3";
+ tid2info_name = "Phaser";
+ break;
+ case TID_PLASMA:
+ tid2info_head = "models/turrets/plasma.md3";
+ tid2info_name = "Plasma";
+ break;
+ case TID_PLASMA_DUAL:
+ tid2info_head = "models/turrets/plasmad.md3";
+ tid2info_name = "Dual Plasma";
+ break;
+ case TID_TESLA:
+ tid2info_base = "models/turrets/tesla_base.md3";
+ tid2info_head = "models/turrets/tesla_head.md3";
+ tid2info_name = "Tesla coil";
+ tid2info_min = '-60 -60 0';
+ tid2info_max ='60 60 128';
+ break;
+ case TID_WALKER:
+ tid2info_base = "models/turrets/walker_body.md3";
+ tid2info_head = "models/turrets/walker_head_minigun.md3";
+ tid2info_name = "Walker";
+ tid2info_min = '-70 -70 0';
+ tid2info_max = '70 70 95';
+ break;
+ }
+}
+
+void turret_remove()
+{
+ remove(self.tur_head);
+ //remove(self.enemy);
+ self.tur_head = world;
+}
+
+.vector glowmod;
+void turret_changeteam()
+{
+ switch(self.team - 1)
+ {
+ case NUM_TEAM_1: // Red
+ self.glowmod = '2 0 0';
+ self.teamradar_color = '1 0 0';
+ break;
+
+ case NUM_TEAM_2: // Blue
+ self.glowmod = '0 0 2';
+ self.teamradar_color = '0 0 1';
+ break;
+
+ case NUM_TEAM_3: // Yellow
+ self.glowmod = '1 1 0';
+ self.teamradar_color = '1 1 0';
+ break;
+
+ case NUM_TEAM_4: // Pink
+ self.glowmod = '1 0 1';
+ self.teamradar_color = '1 0 1';
+ break;
+ }
+
+ if(self.team)
+ self.colormap = 1024 + (self.team - 1) * 17;
+
+ self.tur_head.colormap = self.colormap;
+ self.tur_head.glowmod = self.glowmod;
+
+}
+
+void turret_head_draw()
+{
+ self.drawmask = MASK_NORMAL;
+}
+
+void turret_draw()
+{
+ float dt;
+
+ dt = time - self.move_time;
+ self.move_time = time;
+ if(dt <= 0)
+ return;
+
+ self.tur_head.angles += dt * self.tur_head.move_avelocity;
+
+ if (self.health < 127)
+ {
+ dt = random();
+
+ if(dt < 0.03)
+ te_spark(self.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+ }
+
+ if(self.health < 85)
+ if(dt < 0.01)
+ pointparticles(particleeffectnum("smoke_large"), (self.origin + (randomvec() * 80)), '0 0 0', 1);
+
+ if(self.health < 32)
+ if(dt < 0.015)
+ pointparticles(particleeffectnum("smoke_small"), (self.origin + (randomvec() * 80)), '0 0 0', 1);
+
+}
+
+void turret_draw2d()
+{
+ if(self.netname == "")
+ return;
+
+ if(!autocvar_g_waypointsprite_turrets)
+ return;
+
+ if(autocvar_cl_hidewaypoints)
+ return;
+
+ float dist = vlen(self.origin - view_origin);
+ float t = (GetPlayerColor(player_localnum) + 1);
+
+ vector o;
+ string txt;
+
+ if(autocvar_cl_vehicles_hud_tactical)
+ if(dist < 10240 && t != self.team)
+ {
+ // TODO: Vehicle tactical hud
+ o = project_3d_to_2d(self.origin + '0 0 32');
+ if(o_z < 0
+ || o_x < (vid_conwidth * waypointsprite_edgeoffset_left)
+ || o_y < (vid_conheight * waypointsprite_edgeoffset_top)
+ || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right))
+ || o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)))
+ return; // Dont draw wp's for turrets out of view
+ o_z = 0;
+ if(hud != HUD_NORMAL)
+ {
+ switch(hud)
+ {
+ case HUD_SPIDERBOT:
+ case HUD_WAKIZASHI:
+ case HUD_RAPTOR:
+ case HUD_BUMBLEBEE:
+ if(self.turret_type == TID_EWHEEL || self.turret_type == TID_WALKER)
+ txt = "gfx/vehicles/vth-mover.tga";
+ else
+ txt = "gfx/vehicles/vth-stationary.tga";
+
+ vector pz = drawgetimagesize(txt) * 0.25;
+ drawpic(o - pz * 0.5, txt, pz , '1 1 1', 0.75, DRAWFLAG_NORMAL);
+ break;
+ }
+ }
+ }
+
+ if(dist > self.maxdistance)
+ return;
+
+ string spriteimage = self.netname;
+ float a = self.alpha * autocvar_hud_panel_fg_alpha;
+ vector rgb = spritelookupcolor(spriteimage, self.teamradar_color);
+
+
+ if(self.maxdistance > waypointsprite_normdistance)
+ a *= pow(bound(0, (self.maxdistance - dist) / (self.maxdistance - waypointsprite_normdistance), 1), waypointsprite_distancealphaexponent);
+ else if(self.maxdistance > 0)
+ a *= pow(bound(0, (waypointsprite_fadedistance - dist) / (waypointsprite_fadedistance - waypointsprite_normdistance), 1), waypointsprite_distancealphaexponent) * (1 - waypointsprite_minalpha) + waypointsprite_minalpha;
+
+ if(rgb == '0 0 0')
+ {
+ self.teamradar_color = '1 0 1';
+ printf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage);
+ }
+
+ txt = self.netname;
+ if(autocvar_g_waypointsprite_spam && waypointsprite_count >= autocvar_g_waypointsprite_spam)
+ txt = _("Spam");
+ else
+ txt = spritelookuptext(spriteimage);
+
+ if(time - floor(time) > 0.5 && t == self.team)
+ {
+ if(self.helpme && time < self.helpme)
+ {
+ a *= SPRITE_HELPME_BLINK;
+ txt = sprintf(_("%s under attack!"), txt);
+ }
+ else
+ a *= spritelookupblinkvalue(spriteimage);
+ }
+
+ if(autocvar_g_waypointsprite_uppercase)
+ txt = strtoupper(txt);
+
+ if(a > 1)
+ {
+ rgb *= a;
+ a = 1;
+ }
+
+ if(a <= 0)
+ return;
+
+ rgb = fixrgbexcess(rgb);
+
+ o = project_3d_to_2d(self.origin + '0 0 64');
+ if(o_z < 0
+ || o_x < (vid_conwidth * waypointsprite_edgeoffset_left)
+ || o_y < (vid_conheight * waypointsprite_edgeoffset_top)
+ || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right))
+ || o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)))
+ return; // Dont draw wp's for turrets out of view
+
+ o_z = 0;
+
+ float edgedistance_min, crosshairdistance;
+ edgedistance_min = min((o_y - (vid_conheight * waypointsprite_edgeoffset_top)),
+ (o_x - (vid_conwidth * waypointsprite_edgeoffset_left)),
+ (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - o_x,
+ (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)) - o_y);
+
+ float vidscale = max(vid_conwidth / vid_width, vid_conheight / vid_height);
+
+ crosshairdistance = sqrt( pow(o_x - vid_conwidth/2, 2) + pow(o_y - vid_conheight/2, 2) );
+
+ t = waypointsprite_scale * vidscale;
+ a *= waypointsprite_alpha;
+
+ {
+ a = a * (1 - (1 - waypointsprite_distancefadealpha) * (bound(0, dist/waypointsprite_distancefadedistance, 1)));
+ t = t * (1 - (1 - waypointsprite_distancefadescale) * (bound(0, dist/waypointsprite_distancefadedistance, 1)));
+ }
+ if (edgedistance_min < waypointsprite_edgefadedistance) {
+ a = a * (1 - (1 - waypointsprite_edgefadealpha) * (1 - bound(0, edgedistance_min/waypointsprite_edgefadedistance, 1)));
+ t = t * (1 - (1 - waypointsprite_edgefadescale) * (1 - bound(0, edgedistance_min/waypointsprite_edgefadedistance, 1)));
+ }
+ if(crosshairdistance < waypointsprite_crosshairfadedistance) {
+ a = a * (1 - (1 - waypointsprite_crosshairfadealpha) * (1 - bound(0, crosshairdistance/waypointsprite_crosshairfadedistance, 1)));
+ t = t * (1 - (1 - waypointsprite_crosshairfadescale) * (1 - bound(0, crosshairdistance/waypointsprite_crosshairfadedistance, 1)));
+ }
+
+ o = drawspritearrow(o, M_PI, rgb, a, SPRITE_ARROW_SCALE * t);
+ o = drawspritetext(o, M_PI, (SPRITE_HEALTHBAR_WIDTH + 2 * SPRITE_HEALTHBAR_BORDER) * t, rgb, a, waypointsprite_fontsize * '1 1 0', txt);
+ drawhealthbar(
+ o,
+ 0,
+ self.health / 255,
+ '0 0 0',
+ '0 0 0',
+ 0.5 * SPRITE_HEALTHBAR_WIDTH * t,
+ 0.5 * SPRITE_HEALTHBAR_HEIGHT * t,
+ SPRITE_HEALTHBAR_MARGIN * t + 0.5 * waypointsprite_fontsize,
+ SPRITE_HEALTHBAR_BORDER * t,
+ 0,
+ rgb,
+ a * SPRITE_HEALTHBAR_BORDERALPHA,
+ rgb,
+ a * SPRITE_HEALTHBAR_HEALTHALPHA,
+ DRAWFLAG_NORMAL
+ );
+}
+
+void turret_walker_draw()
+{
+ float dt;
+
+ dt = time - self.move_time;
+ self.move_time = time;
+ if(dt <= 0)
+ return;
+
+ fixedmakevectors(self.angles);
+ movelib_groundalign4point(300, 100, 0.25, 45);
+ setorigin(self, self.origin + self.velocity * dt);
+ self.tur_head.angles += dt * self.tur_head.move_avelocity;
+ self.angles_y = self.move_angles_y;
+
+ if (self.health < 127)
+ if(random() < 0.15)
+ te_spark(self.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+}
+
+void turret_ewheel_draw()
+{
+ float dt;
+
+ dt = time - self.move_time;
+ self.move_time = time;
+ if(dt <= 0)
+ return;
+
+ fixedmakevectors(self.angles);
+ setorigin(self, self.origin + self.velocity * dt);
+ self.tur_head.angles += dt * self.tur_head.move_avelocity;
+ self.angles_y = self.move_angles_y;
+
+ if (self.health < 127)
+ if(random() < 0.05)
+ te_spark(self.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16);
+}
+
+void(entity e, entity tagentity, string tagname) setattachment = #443;
+void turret_construct()
+{
+ if(self.tur_head == world)
+ self.tur_head = spawn();
+
+ turret_tid2info(self.turret_type);
+ self.netname = tid2info_name;
+
+ setorigin(self, self.origin);
+ setmodel(self, tid2info_base);
+ setmodel(self.tur_head, tid2info_head);
+ setsize(self, tid2info_min, tid2info_max);
+ setsize(self.tur_head, '0 0 0', '0 0 0');
+
+ if(self.turret_type == TID_EWHEEL)
+ setattachment(self.tur_head, self, "");
+ else
+ setattachment(self.tur_head, self, "tag_head");
+
+ self.tur_head.classname = "turret_head";
+ self.tur_head.owner = self;
+ self.tur_head.move_movetype = MOVETYPE_NOCLIP;
+ self.move_movetype = MOVETYPE_NOCLIP;
+ self.tur_head.angles = self.angles;
+ self.health = 255;
+ self.solid = SOLID_BBOX;
+ self.tur_head.solid = SOLID_NOT;
+ self.movetype = MOVETYPE_NOCLIP;
+ self.tur_head.movetype = MOVETYPE_NOCLIP;
+ self.draw = turret_draw;
+ self.entremove = turret_remove;
+ self.drawmask = MASK_NORMAL;
+ self.tur_head.drawmask = MASK_NORMAL;
+ self.anim_start_time = 0;
+ self.draw2d = turret_draw2d;
+ self.maxdistance = autocvar_g_waypointsprite_turrets_maxdist;
+ self.teamradar_color = '1 0 0';
+ self.alpha = 1;
+
+ if(self.turret_type == TID_EWHEEL || self.turret_type == TID_WALKER)
+ {
+ self.gravity = 1;
+ self.movetype = MOVETYPE_BOUNCE;
+ self.move_movetype = MOVETYPE_BOUNCE;
+ self.move_origin = self.origin;
+ self.move_time = time;
+ switch(self.turret_type)
+ {
+ case TID_EWHEEL:
+ self.draw = turret_ewheel_draw;
+ break;
+ case TID_WALKER:
+ self.draw = turret_walker_draw;
+ break;
+
+ }
+ }
+}
+
+entity turret_gibtoss(string _model, vector _from, vector _to, vector _cmod, float _explode);
+void turret_gibboom();
+void turret_gib_draw()
+{
+ Movetype_Physics_MatchTicrate(autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy);
+
+ self.drawmask = MASK_NORMAL;
+
+ if(self.cnt)
+ {
+ if(time >= self.nextthink)
+ {
+ turret_gibboom();
+ remove(self);
+ }
+ }
+ else
+ {
+ self.alpha = bound(0, self.nextthink - time, 1);
+ if(self.alpha < ALPHA_MIN_VISIBLE)
+ remove(self);
+ }
+}
+
+void turret_gibboom()
+{
+ float i;
+
+ sound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
+ pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
+
+ for (i = 1; i < 5; i = i + 1)
+ turret_gibtoss(strcat("models/turrets/head-gib", ftos(i), ".md3"), self.origin + '0 0 2', self.velocity + randomvec() * 700, '0 0 0', FALSE);
+}
+
+entity turret_gibtoss(string _model, vector _from, vector _to, vector _cmod, float _explode)
+{
+ entity gib;
+
+ traceline(_from, _to, MOVE_NOMONSTERS, world);
+ if(trace_startsolid)
+ return world;
+
+ gib = spawn();
+ setorigin(gib, _from);
+ setmodel(gib, _model);
+ gib.colormod = _cmod;
+ gib.solid = SOLID_CORPSE;
+ gib.draw = turret_gib_draw;
+ gib.cnt = _explode;
+ setsize(gib, '-1 -1 -1', '1 1 1');
+ if(_explode)
+ {
+ gib.nextthink = time + 0.2 * (autocvar_cl_gibs_lifetime * (1 + prandom() * 0.15));
+ gib.effects = EF_FLAME;
+ }
+ else
+ gib.nextthink = time + autocvar_cl_gibs_lifetime * (1 + prandom() * 0.15);
+
+ gib.gravity = 1;
+ gib.move_movetype = MOVETYPE_BOUNCE;
+ gib.move_origin = _from;
+ setorigin(gib, _from);
+ gib.move_velocity = _to;
+ gib.move_avelocity = prandomvec() * 32;
+ gib.move_time = time;
+ gib.damageforcescale = 1;
+ gib.classname = "turret_gib";
+
+ return gib;
+}
+
+void turret_die()
+{
+
+ sound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
+ pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
+ turret_tid2info(self.turret_type);
+ if (!autocvar_cl_nogibs)
+ {
+ // Base
+ if(self.turret_type == TID_EWHEEL)
+ turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 400' + '0.1 0.1 1' * (random() * 400), '-1 -1 -1', TRUE);
+ else if (self.turret_type == TID_WALKER)
+ turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 300' + '0.1 0.1 1' * (random() * 200), '-1 -1 -1', TRUE);
+ else if (self.turret_type == TID_TESLA)
+ turret_gibtoss(tid2info_base, self.origin + '0 0 18', '0 0 200', '-1 -1 -1', FALSE);
+ else
+ {
+ if (random() > 0.5)
+ {
+ turret_gibtoss("models/turrets/base-gib2.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE);
+ turret_gibtoss("models/turrets/base-gib3.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE);
+ turret_gibtoss("models/turrets/base-gib4.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE);
+ }
+ else
+ turret_gibtoss("models/turrets/base-gib1.md3", self.origin + '0 0 8', '0 0 0', '0 0 0', TRUE);
+
+ entity headgib = turret_gibtoss(tid2info_head, self.origin + '0 0 32', '0 0 200' + randomvec() * 200, '-1 -1 -1', TRUE);
+ if(headgib)
+ {
+ headgib.angles = headgib.move_angles = self.tur_head.angles;
+ headgib.avelocity = headgib.move_avelocity = self.tur_head.move_avelocity + randomvec() * 45;
+ headgib.avelocity_y = headgib.move_avelocity_y = headgib.move_avelocity_y * 5;
+ headgib.gravity = 0.5;
+ }
+ }
+ }
+
+ setmodel(self, "null");
+ setmodel(self.tur_head, "null");
+}
+
+void ent_turret()
+{
+ float sf;
+ sf = ReadByte();
+
+ if(sf & TNSF_SETUP)
+ {
+ self.turret_type = ReadByte();
+
+ self.origin_x = ReadCoord();
+ self.origin_y = ReadCoord();
+ self.origin_z = ReadCoord();
+ setorigin(self, self.origin);
+
+ self.angles_x = ReadAngle();
+ self.angles_y = ReadAngle();
+
+ turret_precache(self.turret_type);
+ turret_construct();
+ self.colormap = 1024;
+ self.glowmod = '0 1 1';
+ self.tur_head.colormap = self.colormap;
+ self.tur_head.glowmod = self.glowmod;
+ }
+
+ if(sf & TNSF_ANG)
+ {
+ if(self.tur_head == world) // aparenly this can happpen before TNSF_SETUP. great.
+ self.tur_head = spawn();
+
+ self.tur_head.move_angles_x = ReadShort();
+ self.tur_head.move_angles_y = ReadShort();
+ //self.tur_head.angles = self.angles + self.tur_head.move_angles;
+ self.tur_head.angles = self.tur_head.move_angles;
+ }
+
+ if(sf & TNSF_AVEL)
+ {
+ if(self.tur_head == world) // aparenly this can happpen before TNSF_SETUP. great.
+ self.tur_head = spawn();
+
+ self.tur_head.move_avelocity_x = ReadShort();
+ self.tur_head.move_avelocity_y = ReadShort();
+ }
+
+ if(sf & TNSF_MOVE)
+ {
+ self.origin_x = ReadShort();
+ self.origin_y = ReadShort();
+ self.origin_z = ReadShort();
+ setorigin(self, self.origin);
+
+ self.velocity_x = ReadShort();
+ self.velocity_y = ReadShort();
+ self.velocity_z = ReadShort();
+
+ self.move_angles_y = ReadShort();
+
+ self.move_time = time;
+ self.move_velocity = self.velocity;
+ self.move_origin = self.origin;
+ }
+
+ if(sf & TNSF_ANIM)
+ {
+ self.frame1time = ReadCoord();
+ self.frame = ReadByte();
+ }
+
+ if(sf & TNSF_STATUS)
+ {
+ float _tmp;
+ _tmp = ReadByte();
+ if(_tmp != self.team)
+ {
+ self.team = _tmp;
+ turret_changeteam();
+ }
+
+ _tmp = ReadByte();
+ if(_tmp == 0 && self.health != 0)
+ turret_die();
+ else if(self.health && self.health != _tmp)
+ self.helpme = servertime + 10;
+
+ self.health = _tmp;
+ }
+ //self.enemy.health = self.health / 255;
+}
psize = self.axh_scale * draw_getimagesize(self.axh_image);
loc = project_3d_to_2d(self.move_origin) - 0.5 * psize;
- if not (loc_z < 0 || loc_x < 0 || loc_y < 0 || loc_x > vid_conwidth || loc_y > vid_conheight)
+ if (!(loc_z < 0 || loc_x < 0 || loc_y < 0 || loc_x > vid_conwidth || loc_y > vid_conheight))
{
loc_z = 0;
psize_z = 0;
axh.alpha = 1;
AuxiliaryXhair[axh_id] = axh;
}
-
+
axh.move_origin_x = ReadCoord();
axh.move_origin_y = ReadCoord();
axh.move_origin_z = ReadCoord();
axh.colormod_y = ReadByte() / 255;
axh.colormod_z = ReadByte() / 255;
axh.cnt = time;
- axh.draw2d = AuxiliaryXhair_Draw2D;
+ axh.draw2d = AuxiliaryXhair_Draw2D;
}
void Net_VehicleSetup()
{
float i;
-
+
float hud_id = ReadByte();
-
+
// Weapon update?
if(hud_id > HUD_VEHICLE_LAST)
{
weapon2mode = hud_id - HUD_VEHICLE_LAST;
return;
}
-
+
// hud_id == 0 means we exited a vehicle, so stop alarm sound/s
if(hud_id == 0)
{
sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
- sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
+ sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
return;
}
-
+
hud_id = bound(HUD_VEHICLE_FIRST, hud_id, HUD_VEHICLE_LAST);
// Init auxiliary crosshairs
// Raygun-locked
AuxiliaryXhair[0].axh_image = "gfx/vehicles/axh-bracket.tga";
AuxiliaryXhair[0].axh_scale = 0.5;
-
+
// Gunner1
AuxiliaryXhair[1].axh_image = "gfx/vehicles/axh-target.tga";
AuxiliaryXhair[1].axh_scale = 0.75;
-
+
// Gunner2
AuxiliaryXhair[2].axh_image = "gfx/vehicles/axh-target.tga";
AuxiliaryXhair[2].axh_scale = 0.75;
- break;
+ break;
case HUD_BUMBLEBEE_GUN:
// Plasma cannons
AuxiliaryXhair[0].axh_image = "gfx/vehicles/axh-bracket.tga";
pic2size = draw_getimagesize(bumb_ico) * (autocvar_cl_vehicles_hudscale * 0.8);
picloc = picsize * 0.5 - pic2size * 0.5;
-
+
if(vh_health < 0.25)
drawpic(hudloc + picloc, bumb_ico, pic2size, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
else
drawpic(hudloc + picloc, bumb_ico, pic2size, '1 1 1' * vh_health + '1 0 0' * (1 - vh_health), 1, DRAWFLAG_NORMAL);
-
+
drawpic(hudloc + picloc, bumb_lgun, pic2size, '1 1 1' * energy + '1 0 0' * (1 - energy), 1, DRAWFLAG_NORMAL);
drawpic(hudloc + picloc, bumb_lgun, pic2size, '1 1 1' * energy + '1 0 0' * (1 - energy), 1, DRAWFLAG_NORMAL);
drawpic(hudloc + picloc, hud_sh, pic2size, '1 1 1', shield, DRAWFLAG_NORMAL);
alarm1time = time + 2;
sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTEN_NONE);
}
-
+
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
- }
+ }
else
{
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
{
sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm1time = 0;
- }
+ }
}
// Shield bar
{
drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
if(alarm2time)
- {
+ {
sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm2time = 0;
}
}
-
+
ammo1 *= 0.01;
ammo2 *= 0.01;
-
+
// Gunner1 bar
picsize = draw_getimagesize(hud_ammo1_bar) * autocvar_cl_vehicles_hudscale;
picloc = '450 69 0' * autocvar_cl_vehicles_hudscale;
// Right gunner slot occupied?
if(!AuxiliaryXhair[1].draw2d)
{
- shield = (picsize_x * 0.5) - (0.5 * stringwidth(_("No right gunner!"), FALSE, '1 0 0' * picsize_y + '0 1 0' * picsize_y));
+ shield = (picsize_x * 0.5) - (0.5 * stringwidth(_("No right gunner!"), FALSE, '1 0 0' * picsize_y + '0 1 0' * picsize_y));
drawfill(hudloc + picloc - '0.2 0.2 0', picsize + '0.4 0.4 0', '0.25 0.25 0.25', 0.75, DRAWFLAG_NORMAL);
drawstring(hudloc + picloc + '1 0 0' * shield, _("No right gunner!"), '1 0 0' * picsize_y + '0 1 0' * picsize_y, '1 0 0' + '0 1 1' * sin(time * 10), 1, DRAWFLAG_NORMAL);
}
-
+
// .. and icon
picsize = 1.5 * draw_getimagesize(hud_energy) * autocvar_cl_vehicles_hudscale;
picloc = '664 60 0' * autocvar_cl_vehicles_hudscale;
drawpic(hudloc + picloc, hud_energy, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
else
drawpic(hudloc + picloc, hud_energy, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
-
+
// Gunner2 bar
picsize = draw_getimagesize(hud_ammo2_bar) * autocvar_cl_vehicles_hudscale;
picloc = '450 140 0' * autocvar_cl_vehicles_hudscale;
// Left gunner slot occupied?
if(!AuxiliaryXhair[2].draw2d)
{
- shield = (picsize_x * 0.5) - (0.5 * stringwidth(_("No left gunner!"), FALSE, '1 0 0' * picsize_y + '0 1 0' * picsize_y));
+ shield = (picsize_x * 0.5) - (0.5 * stringwidth(_("No left gunner!"), FALSE, '1 0 0' * picsize_y + '0 1 0' * picsize_y));
drawfill(hudloc + picloc - '0.2 0.2 0', picsize + '0.4 0.4 0', '0.25 0.25 0.25', 0.75, DRAWFLAG_NORMAL);
drawstring(hudloc + picloc + '1 0 0' * shield, _("No left gunner!"), '1 0 0' * picsize_y + '0 1 0' * picsize_y, '1 0 0' + '0 1 1' * sin(time * 10), 1, DRAWFLAG_NORMAL);
}
picsize_y *= 0.5;
drawpic('0.5 0 0' * (vid_conwidth - picsize_x) + '0 0.5 0' * (vid_conheight - picsize_y), waki_xhair, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
}
-
+
}
void CSQC_BUMBLE_GUN_HUD()
pic2size = draw_getimagesize(bumb_gun_ico) * (autocvar_cl_vehicles_hudscale * 0.8);
picloc = picsize * 0.5 - pic2size * 0.5;
-
+
if(vh_health < 0.25)
drawpic(hudloc + picloc, bumb_gun_ico, pic2size, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
else
drawpic(hudloc + picloc, bumb_gun_ico, pic2size, '1 1 1' * vh_health + '1 0 0' * (1 - vh_health), 1, DRAWFLAG_NORMAL);
-
+
drawpic(hudloc + picloc, bumb_gun_gun, pic2size, '1 1 1' * energy + '1 0 0' * (1 - energy), 1, DRAWFLAG_NORMAL);
drawpic(hudloc + picloc, hud_sh, pic2size, '1 1 1', shield, DRAWFLAG_NORMAL);
alarm1time = time + 2;
sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTEN_NONE);
}
-
+
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
- }
+ }
else
{
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
{
sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm1time = 0;
- }
+ }
}
// Shield bar
{
drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
if(alarm2time)
- {
+ {
sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm2time = 0;
}
}
-
+
// Gun bar
picsize = draw_getimagesize(hud_ammo1_bar) * autocvar_cl_vehicles_hudscale;
picloc = '450 69 0' * autocvar_cl_vehicles_hudscale;
drawsetcliparea(hudloc_x + picloc_x, picloc_y, picsize_x * energy, vid_conheight);
drawpic(hudloc + picloc, hud_ammo1_bar, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
drawresetcliparea();
-
+
// .. and icon
picsize = 1.5 * draw_getimagesize(hud_energy) * autocvar_cl_vehicles_hudscale;
picloc = '664 60 0' * autocvar_cl_vehicles_hudscale;
if(vh_health < 0.25)
drawpic(hudloc + picloc, spider_ico, pic2size, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
else
- drawpic(hudloc + picloc, spider_ico, pic2size, '1 1 1' * vh_health + '1 0 0' * (1 - vh_health), 1, DRAWFLAG_NORMAL);
+ drawpic(hudloc + picloc, spider_ico, pic2size, '1 1 1' * vh_health + '1 0 0' * (1 - vh_health), 1, DRAWFLAG_NORMAL);
drawpic(hudloc + picloc, spider_rkt, pic2size, '1 1 1' * reload2 + '1 0 0' * (1 - reload2), 1, DRAWFLAG_NORMAL);
drawpic(hudloc + picloc, spider_mgun, pic2size, '1 1 1' * ammo1 + '1 0 0' * (1 - ammo1), 1, DRAWFLAG_NORMAL);
drawpic(hudloc + picloc, hud_sh, pic2size, '1 1 1', shield, DRAWFLAG_NORMAL);
{
alarm1time = time + 2;
sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTEN_NONE);
- }
+ }
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
- }
+ }
else
{
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
{
sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm1time = 0;
- }
+ }
}
// Shield bar
picsize = draw_getimagesize(hud_sh_bar) * autocvar_cl_vehicles_hudscale;
{
drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
if(alarm2time)
- {
+ {
sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm2time = 0;
}
alarm1time = time + 2;
sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTEN_NONE);
}
-
+
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
- }
+ }
else
{
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
{
drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
if(alarm2time)
- {
+ {
sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm2time = 0;
}
}
-
+
// Gun bar
picsize = draw_getimagesize(hud_ammo1_bar) * autocvar_cl_vehicles_hudscale;
picloc = '450 69 0' * autocvar_cl_vehicles_hudscale;
drawpic(hudloc + picloc, hud_ammo2_ico, pic2size, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
else
drawpic(hudloc + picloc, hud_ammo2_ico, pic2size, '1 1 1', 1, DRAWFLAG_NORMAL);
-
+
if(weapon2mode == RSM_FLARE)
{
raptor_xhair = "gfx/vehicles/axh-bracket.tga";
else
{
raptor_xhair = "gfx/vehicles/axh-ring.tga";
-
+
// Bombing crosshair
if(!dropmark)
{
setorigin(dropmark, trace_endpos);
picsize = draw_getimagesize(raptor_drop) * 0.2;
- if not (where_z < 0 || where_x < 0 || where_y < 0 || where_x > vid_conwidth || where_y > vid_conheight)
+ if (!(where_z < 0 || where_x < 0 || where_y < 0 || where_x > vid_conwidth || where_y > vid_conheight))
{
where_x -= picsize_x * 0.5;
where_y -= picsize_y * 0.5;
where = project_3d_to_2d(dropmark.origin);
picsize = draw_getimagesize(raptor_drop) * 0.25;
- if not (where_z < 0 || where_x < 0 || where_y < 0 || where_x > vid_conwidth || where_y > vid_conheight)
+ if (!(where_z < 0 || where_x < 0 || where_y < 0 || where_x > vid_conwidth || where_y > vid_conheight))
{
where_x -= picsize_x * 0.5;
where_y -= picsize_y * 0.5;
}
}
}
-
+
if (scoreboard_showscores)
HUD_DrawScoreboard();
else
alarm1time = time + 2;
sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTEN_NONE);
}
-
+
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
- }
+ }
else
{
drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
{
sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm1time = 0;
- }
+ }
}
-
+
// Shield bar
picsize = draw_getimagesize(hud_sh_bar) * autocvar_cl_vehicles_hudscale;
{
drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
if(alarm2time)
- {
+ {
sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTEN_NONE);
alarm2time = 0;
}
}
-
+
// Gun bar
picsize = draw_getimagesize(hud_ammo1_bar) * autocvar_cl_vehicles_hudscale;
picloc = '450 69 0' * autocvar_cl_vehicles_hudscale;
precache_model("models/vehicles/clusterbomb_fragment.md3");
precache_model("models/vehicles/rocket01.md3");
precache_model("models/vehicles/rocket02.md3");
-
+
precache_sound ("vehicles/alarm.wav");
precache_sound ("vehicles/alarm_shield.wav");
}
void RaptorCBShellfragDraw()
{
if(wasfreed(self))
- return;
-
+ return;
+
Movetype_Physics_MatchTicrate(autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy);
self.move_avelocity += randomvec() * 15;
self.renderflags = 0;
-
+
if(self.cnt < time)
self.alpha = bound(0, self.nextthink - time, 1);
void RaptorCBShellfragToss(vector _org, vector _vel, vector _ang)
{
entity sfrag;
-
+
sfrag = spawn();
setmodel(sfrag, "models/vehicles/clusterbomb_fragment.md3");
setorigin(sfrag, _org);
o = hotspot;
ri = '1 0 0';
up = '0 1 0';
-
+
rot = -rot; // rotate by the opposite angle, as our coordinate system is reversed
o = rotate(o, rot) + org;
ri = rotate(ri, rot);
// 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
return;
++waypointsprite_newcount;
-
+
float dist;
dist = vlen(self.origin - view_origin);
-
+
float a;
a = self.alpha * autocvar_hud_panel_fg_alpha;
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)
float ang;
o = project_3d_to_2d(self.origin);
- if(o_z < 0
- || o_x < (vid_conwidth * waypointsprite_edgeoffset_left)
- || o_y < (vid_conheight * waypointsprite_edgeoffset_top)
- || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right))
+ if(o_z < 0
+ || o_x < (vid_conwidth * waypointsprite_edgeoffset_left)
+ || o_y < (vid_conheight * waypointsprite_edgeoffset_top)
+ || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right))
|| o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)))
{
// scale it to be just in view
o_z = 0;
float edgedistance_min, crosshairdistance;
- edgedistance_min = min((o_y - (vid_conheight * waypointsprite_edgeoffset_top)),
+ edgedistance_min = min((o_y - (vid_conheight * waypointsprite_edgeoffset_top)),
(o_x - (vid_conwidth * waypointsprite_edgeoffset_left)),
- (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - o_x,
+ (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - o_x,
(vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)) - o_y);
float vidscale;
}
o = drawspritearrow(o, ang, rgb, a, SPRITE_ARROW_SCALE * t);
-
+
string txt;
if(autocvar_g_waypointsprite_spam && waypointsprite_count >= autocvar_g_waypointsprite_spam)
txt = _("Spam");
campaign_entries = campaign_entries + 1;
- if(campaign_entries >= n)
+ if(campaign_entries >= n)
break;
}
lineno = lineno + 1;
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;
strunzone(do_cvar);
}
if(!do_exec)
- if not(do_cvar)
+ if (!do_cvar)
print(data);
}
case CMD_REQUEST_COMMAND:
{
float i;
-
+
if(argc >= 2)
{
string original_cvar = argv(1);
string tmp_string = argv(2);
-
+
if(cvar_string(original_cvar) == "") // cvar was empty
{
cvar_set(original_cvar, tmp_string);
else // add it to the end of the list if the list doesn't already have it
{
argc = tokenizebyseparator(cvar_string(original_cvar), " ");
-
+
for(i = 0; i < argc; ++i)
if(argv(i) == tmp_string)
return; // already in list
-
+
cvar_set(original_cvar, strcat(tmp_string, " ", cvar_string(original_cvar)));
}
return;
}
}
-
+
default:
print("Incorrect parameters for ^2addtolist^7\n");
case CMD_REQUEST_USAGE:
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
float fh;
string filename = strcat(GetProgramCommandPrefix(), "_dump.txt");
fh = fopen(filename, FILE_WRITE);
-
+
if(fh >= 0)
{
#ifdef SVQC
CMD_Write("dump of server console commands:\n");
GameCommand_macro_write_aliases(fh);
-
+
CMD_Write("\ndump of networked client only commands:\n");
ClientCommand_macro_write_aliases(fh);
-
+
CMD_Write("\ndump of common commands:\n");
CommonCommand_macro_write_aliases(fh);
CMD_Write("\ndump of ban commands:\n");
BanCommand_macro_write_aliases(fh);
#endif
-
+
#ifdef CSQC
CMD_Write("dump of client commands:\n");
LocalCommand_macro_write_aliases(fh);
#endif
-
+
CMD_Write("\ndump of generic commands:\n");
GenericCommand_macro_write_aliases(fh);
-
+
print("Completed dump of aliases in ^2data/data/", GetProgramCommandPrefix(), "_dump.txt^7.\n");
-
+
fclose(fh);
}
else
}
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
#ifndef MENUQC
float fh, alsoprint = FALSE;
string filename = argv(1);
-
+
if(filename == "")
{
filename = "notifications.cfg";
alsoprint = TRUE;
}
fh = fopen(filename, FILE_WRITE);
-
+
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"));
#endif
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
string tmp_string;
float i;
-
+
switch(argv(1))
{
case "add": // appends new maps to the maplist
print("maplist: ERROR: ", argv(2), " does not exist!\n");
break;
}
-
+
if(cvar_string("g_maplist") == "")
cvar_set("g_maplist", argv(2));
else
cvar_set("g_maplist", strcat(argv(2), " ", cvar_string("g_maplist")));
-
+
return;
}
break; // go to usage
}
-
+
case "cleanup": // scans maplist and only adds back the ones which are really usable
{
MapInfo_Enumerate();
MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
argc = tokenizebyseparator(cvar_string("g_maplist"), " ");
-
+
tmp_string = "";
for(i = 0; i < argc; ++i)
if(MapInfo_CheckMap(argv(i)))
tmp_string = strcat(tmp_string, " ", argv(i));
-
+
tmp_string = substring(tmp_string, 1, strlen(tmp_string) - 1);
cvar_set("g_maplist", tmp_string);
-
+
return;
}
-
+
case "remove": // scans maplist and only adds back whatever maps were not provided in argv(2)
{
if(argc == 3)
{
argc = tokenizebyseparator(cvar_string("g_maplist"), " ");
-
+
tmp_string = "";
for(i = 0; i < argc; ++i)
if(argv(i) != argv(2))
tmp_string = strcat(tmp_string, " ", argv(i));
-
+
tmp_string = substring(tmp_string, 1, strlen(tmp_string) - 1);
cvar_set("g_maplist", tmp_string);
-
+
return;
}
break; // go to usage
}
-
+
case "shuffle": // randomly shuffle the maplist
{
cvar_set("g_maplist", shufflewords(cvar_string("g_maplist")));
return;
}
-
+
default: break;
}
}
-
+
default:
print("Incorrect parameters for ^2maplist^7\n");
case CMD_REQUEST_USAGE:
queue_to_execute_next_frame(substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)));
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
string original_cvar = argv(1);
string removal = argv(2);
string tmp_string;
-
+
argc = tokenizebyseparator(cvar_string(original_cvar), " ");
-
+
tmp_string = "";
for(i = 0; i < argc; ++i)
if(argv(i) != removal)
tmp_string = strcat(tmp_string, " ", argv(i));
-
+
tmp_string = substring(tmp_string, 1, strlen(tmp_string) - 1);
cvar_set(original_cvar, tmp_string);
-
+
return;
}
}
-
+
default:
print("Incorrect parameters for ^2removefromlist^7\n");
case CMD_REQUEST_USAGE:
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"
NOTIF_CENTER_COUNT,
NOTIF_MULTI_COUNT,
NOTIF_CHOICE_COUNT
- ));
+ );
Destroy_All_Notifications();
CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
#else
#endif
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
float f = cvar_settemp(argv(1), argv(2));
if(f == 1)
- dprint("Creating new settemp tracker for ", argv(1), " and setting it to \"", argv(2), "\" temporarily.\n");
+ dprint("Creating new settemp tracker for ", argv(1), " and setting it to \"", argv(2), "\" temporarily.\n");
else if(f == -1)
dprint("Already had a tracker for ", argv(1), ", updating it to \"", argv(2), "\".\n");
// else cvar_settemp itself errors out
case CMD_REQUEST_COMMAND:
{
float i = cvar_settemp_restore();
-
+
if(i)
dprint("Restored ", ftos(i), " temporary cvar settings to their original values.\n");
else
dprint("Nothing to restore.\n");
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
TEST_RunAll();
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
#define GENERIC_COMMAND(name,function,description) \
{ print(" ^2", name, "^7: ", description, "\n"); }
-
+
GENERIC_COMMANDS(0, 0, "")
#undef GENERIC_COMMAND
-
+
return;
}
{
#define GENERIC_COMMAND(name,function,description) \
{ if(name == strtolower(argv(0))) { function; return TRUE; } }
-
+
GENERIC_COMMANDS(CMD_REQUEST_COMMAND, argc, command)
#undef GENERIC_COMMAND
-
+
return FALSE;
}
{
#define GENERIC_COMMAND(name,function,description) \
{ if(name == strtolower(argv(1))) { function; return TRUE; } }
-
+
GENERIC_COMMANDS(CMD_REQUEST_USAGE, argc, "")
#undef GENERIC_COMMAND
-
+
return FALSE;
}
{
#define GENERIC_COMMAND(name,function,description) \
{ CMD_Write_Alias("qc_cmd_svmenu", name, description); }
-
+
GENERIC_COMMANDS(0, 0, "")
#undef GENERIC_COMMAND
-
+
return;
}
-
+
// ===========================================
// Main Common Function For Generic Commands
// ===========================================
-// Commands spread out among all programs (menu, client, and server)
+// Commands spread out among all programs (menu, client, and server)
float GenericCommand(string command)
{
// Guide for working with argc arguments by example:
// argc: 1 - 2 - 3 - 4
- // argv: 0 - 1 - 2 - 3
+ // argv: 0 - 1 - 2 - 3
// cmd vote - master - login - password
-
+
if(GenericCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
{
return TRUE; // handled by one of the above GenericCommand_* functions
// test case for terencehill's color codes
s = strdecolorize(substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
s2 = "";
-
+
n = strlen(s);
j = ((6 * max(1, floor(strlen(s)/32 + random() * 2 - 1))) / n) * (1 - 2 * (random() > 0.5));
f = random() * 6;
// =========================================================
// Used by other game command systems for common commands,
-// and it returns true if handled, false if not.
+// and it returns true if handled, false if not.
// Note: It tokenizes its input, so be careful!
float GenericCommand(string command);
// Returns command prefix specific for whatever program it is compiled in
-string GetProgramCommandPrefix(void);
+string GetProgramCommandPrefix(void);
// used by common/command/generic.qc:GenericCommand_dumpcommands to list all commands into a .txt file
#define CMD_Write(s) fputs(fh, s)
// Last updated: December 28th, 2011
// ========================================
-string rpn_pop()
+string rpn_pop()
{
if(rpn_sp > 0) {
--rpn_sp;
return "";
}
}
-void rpn_push(string s)
+void rpn_push(string s)
{
if(rpn_sp < MAX_RPN_STACK) {
rpn_stack[rpn_sp] = s;
rpn_error = TRUE;
}
}
-string rpn_get()
+string rpn_get()
{
if(rpn_sp > 0) {
return rpn_stack[rpn_sp - 1];
return "";
}
}
-void rpn_set(string s)
+void rpn_set(string s)
{
if(rpn_sp > 0) {
rpn_stack[rpn_sp - 1] = s;
float i, j, f, f2, f3, rpnpos;
//vector rgb;
string s, s2, rpncmd;
-
+
if(!rpn_db)
{
rpn_db = db_create();
db_put(rpn_db, "stack.pointer", "0");
db_put(rpn_db, "stack.pos", "-1");
}
-
+
if(argc >= 2)
{
rpn_sp = 0;
print("rpn: database underflow\n");
}
} else if(rpncmd == "dbget") {
-
+
i = stof(db_get(rpn_db, "stack.pointer"));
if(i)
{
{
j = stof(db_get(rpn_db, "stack.pointer"));
i = stof(db_get(rpn_db, "stack.pos"));
-
+
if(i < 0)
{
i = 0;
db_put(rpn_db, "stack.pos", "0");
}
-
+
db_put(rpn_db, "stack.pointer", ftos(j+1));
for(--j; j >= i; --j)
{
i = 0;
else
i = stof(s);
-
+
j = stof(db_get(rpn_db, "stack.pointer"));
if(i < 0 || i >= j)
{
// tokens f..f2 represent s2
// UNION: add all tokens to s that are in s2 but not in s
s = "";
- for(i = 0; i < f; ++i)
+ for(i = 0; i < f; ++i)
s = strcat(s, " ", argv(i));
for(i = f; i < f2; ++i) {
for(j = 0; j < f; ++j)
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
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;
const float STAT_WEAPONS2 = 74;
const float STAT_WEAPONS3 = 75;
+const float STAT_MONSTERS_TOTAL = 76;
+const float STAT_MONSTERS_KILLED = 77;
+
// mod stats (1xx)
const float STAT_REDALIVE = 100;
const float STAT_BLUEALIVE = 101;
const float PROJECTILE_ELECTRO = 1;
const float PROJECTILE_ROCKET = 2;
const float PROJECTILE_TAG = 3;
-const float PROJECTILE_BULLET = 4;
const float PROJECTILE_CRYLINK = 5;
const float PROJECTILE_ELECTRO_BEAM = 6;
const float PROJECTILE_GRENADE = 7;
const float PROJECTILE_HOOKBOMB = 16;
const float PROJECTILE_HAGAR = 17;
const float PROJECTILE_HAGAR_BOUNCING = 18;
-const float PROJECTILE_BULLET_GLOWING = 19;
const float PROJECTILE_CRYLINK_BOUNCING = 20;
const float PROJECTILE_FIREBALL = 21;
const float PROJECTILE_FIREMINE = 22;
-const float PROJECTILE_BULLET_GLOWING_TRACER = 23;
const float PROJECTILE_RAPTORCANNON = 24;
const float PROJECTILE_RAPTORBOMB = 25;
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;
ZCTX(_("CI_SEC^%d seconds")), /* second */ \
ZCTX(_("CI_THI^%d seconds")), /* third */ \
ZCTX(_("CI_MUL^%d seconds"))) /* multi */
-
+
string count_ordinal(float interval)
{
// This function is designed primarily for the English language, it's impossible
}
}
else { return sprintf(_("%dth"), interval); }
-
+
return "";
}
// 1 second
// 2 seconds
// 3 seconds
- // etc... minutes, hours, days, etc.
+ // etc... minutes, hours, days, etc.
switch(floor(interval))
{
{
float tmp_hours = 0, tmp_minutes = 0, tmp_seconds = 0;
float tmp_years = 0, tmp_weeks = 0, tmp_days = 0;
-
+
tmp_seconds = floor(seconds);
if(tmp_seconds)
{
tmp_minutes = floor(tmp_seconds / 60);
-
+
if(tmp_minutes)
{
tmp_seconds -= (tmp_minutes * 60);
tmp_hours = floor(tmp_minutes / 60);
-
+
if(tmp_hours)
{
tmp_minutes -= (tmp_hours * 60);
tmp_days = floor(tmp_hours / 24);
-
+
if(tmp_days)
{
tmp_hours -= (tmp_days * 24);
tmp_weeks = floor(tmp_days / 7);
-
+
if(tmp_weeks)
{
tmp_days -= (tmp_weeks * 7);
CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_x, 255, 0, 255) \
CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_y, 255, 0, 255) \
CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_z, 255, 0, 255) \
+ CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_x, 255, 0, 255) \
+ CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_y, 255, 0, 255) \
+ CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, colormod_z, 255, 0, 255) \
CSQCMODEL_ENDIF \
CSQCMODEL_IF(isplayer) \
CSQCMODEL_PROPERTY(128, float, ReadByte, WriteByte, anim_state) \
CSQCMODEL_ENDIF \
CSQCMODEL_PROPERTY(512, float, ReadChar, WriteChar, anim_upper_action) \
CSQCMODEL_PROPERTY(512, float, ReadApproxPastTime, WriteApproxPastTime, anim_upper_time) \
- CSQCMODEL_PROPERTY(1024, float, ReadAngle, WriteAngle, v_angle_x) \
- CSQCMODEL_ENDIF
+ CSQCMODEL_ENDIF \
+ CSQCMODEL_PROPERTY(1024, float, ReadAngle, WriteAngle, v_angle_x) \
+ CSQCMODEL_PROPERTY_SCALED(4096, float, ReadByte, WriteByte, scale, 16, 0, 255)
// TODO get rid of colormod/glowmod here, find good solution for nex charge glowmod hack; also get rid of some useless properties on non-players that only exist for CopyBody
// add hook function calls here
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) \
#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))
if(DEATH_ISSPECIAL(deathtype))
{
entity deathent = deathtypes[(deathtype - DT_FIRST)];
- if not(deathent) { backtrace("Deathtype_Name: Could not find deathtype entity!\n"); return ""; }
+ if (!deathent) { backtrace("Deathtype_Name: Could not find deathtype entity!\n"); return ""; }
return deathent.nent_name;
}
else { return ftos(deathtype); }
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);
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;
// GLOB HANDLING (for all BSP files)
float _MapInfo_globopen;
-float _MapInfo_globcount;
+float _MapInfo_globcount;
float _MapInfo_globhandle;
string _MapInfo_GlobItem(float i)
{
float MapInfo_FilterGametype(float pGametype, float pFeatures, float pFlagsRequired, float pFlagsForbidden, float pAbortOnGenerate)
{
float i, j;
- if not(_MapInfo_filtered_allocated)
+ if (!_MapInfo_filtered_allocated)
{
_MapInfo_filtered_allocated = 1;
_MapInfo_filtered = buf_create();
}
MapInfo_count = j + 1;
MapInfo_ClearTemps();
-
+
// sometimes the glob isn't sorted nicely, so fix it here...
heapsort(MapInfo_count, _MapInfo_FilterList_swap, _MapInfo_FilterList_cmp, world);
for(;;)
{
- if not((s = fgets(fh)))
+ if (!((s = fgets(fh))))
break;
if(inWorldspawn == 1)
if(startsWith(s, "}"))
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")
MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_FREEZETAG;
MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_CA;
}
- if( diameter < 4096)
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_ARENA;
if(spawnpoints >= 12 && diameter > 5120)
MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_KEYHUNT;
}
case MAPINFO_TYPE_DOMINATION: return "200 20 0";
case MAPINFO_TYPE_CTF: return "300 20 10 0";
case MAPINFO_TYPE_LMS: return "9 20 0";
- case MAPINFO_TYPE_ARENA: return "10 20 0";
case MAPINFO_TYPE_CA: return "10 20 0";
case MAPINFO_TYPE_KEYHUNT: return "1000 20 3 0";
case MAPINFO_TYPE_ASSAULT: return "20 0";
if(load_default)
_MapInfo_Map_ApplyGametype(_MapInfo_GetDefault(pThisType), pWantedType, pThisType, FALSE);
-
+
if(pWantedType == MAPINFO_TYPE_ASSAULT || pWantedType == MAPINFO_TYPE_ONSLAUGHT || pWantedType == MAPINFO_TYPE_RACE || pWantedType == MAPINFO_TYPE_CTS) // these modes don't use fraglimit
{
cvar_set("fraglimit", "0");
s = cdr(s);
}
*/
-
+
// rc = timelimit timelimit_qualification laps laps_teamplay
if(pWantedType == MAPINFO_TYPE_RACE)
{
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")
{
}
else
{
- print("Invalid gametype key in mapinfo: ", k, "\n");
+ print("Invalid gametype setting in mapinfo for gametype ", MapInfo_Type_ToString(pWantedType), ": ", sa, "\n");
}
}
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)
string MapInfo_Type_ToString(float t)
{
entity e;
- if(t == MAPINFO_TYPE_ALL)
+ if(t == MAPINFO_TYPE_ALL)
return "all";
for(e = MapInfo_Type_first; e; e = e.enemy)
if(t == e.items)
o = strstrofs(s, "\"", 0);
if(o >= 0)
s = substring(s, 0, o);
-
+
// remove // comments
o = strstrofs(s, "//", 0);
if(o >= 0)
s = substring(s, 0, o);
-
+
// remove trailing spaces
while(substring(s, -1, 1) == " ")
s = substring(s, 0, -2);
{
for(;;)
{
- if not((s = fgets(fh)))
+ if (!((s = fgets(fh))))
break;
// catch different sorts of comments
}
else if(t == "")
print("Map ", pFilename, " contains a potentially harmful setting, ignored\n");
- else if not(cvar_value_issafe(t))
+ else if (!cvar_value_issafe(t))
print("Map ", pFilename, " contains a potentially harmful setting, ignored\n");
- else if not (cvar_value_issafe(s))
+ else if (!cvar_value_issafe(s))
print("Map ", pFilename, " contains a potentially harmful setting, ignored\n");
else if(matchacl(MAPINFO_SETTEMP_ACL_SYSTEM, t) <= 0)
print("Map ", pFilename, " contains a potentially harmful setting, ignored\n");
_MapInfo_Map_Reset();
for(;;)
{
- if not((s = fgets(fh)))
+ if (!((s = fgets(fh))))
break;
// catch different sorts of comments
}
else if(t == "fog")
{
- if not(cvar_value_issafe(s))
+ if (!cvar_value_issafe(s))
print("Map ", pFilename, " contains a potentially harmful fog setting, ignored\n");
else
MapInfo_Map_fog = s;
t = car(s); s = cdr(s);
if(pGametypeToSet) // FIXME is this check right here?
{
- if not(cvar_value_issafe(t))
+ if (!cvar_value_issafe(t))
print("Map ", pFilename, " contains a potentially harmful cdtrack, ignored\n");
else
MapInfo_Map_clientstuff = strcat(
if(cvar("g_tdm_on_dm_maps"))
{
// if this is set, all DM maps support TDM too
- if not(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_TEAM_DEATHMATCH)
+ if (!(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_TEAM_DEATHMATCH))
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DEATHMATCH)
_MapInfo_Map_ApplyGametypeEx ("", pGametypeToSet, MAPINFO_TYPE_TEAM_DEATHMATCH);
}
// print("EMERGENCY: can't play the selected map in the given game mode. Falling back to DM.\n");
// MapInfo_SwitchGameType(MAPINFO_TYPE_DEATHMATCH);
//}
-
+
cvar_settemp_restore();
if(reinit)
localcmd(strcat("\nmap ", s, "\n"));
f = MAPINFO_FLAG_FORBIDDEN;
#ifndef MENUQC
- if not(cvar("g_maplist_allow_hidden"))
+ if (!cvar("g_maplist_allow_hidden"))
#endif
f |= MAPINFO_FLAG_HIDDEN;
- if not(cvar("g_maplist_allow_frustrating"))
+ if (!cvar("g_maplist_allow_frustrating"))
f |= MAPINFO_FLAG_FRUSTRATING;
return f;
REGISTER_GAMETYPE(_("Last Man Standing"),lms,g_lms,LMS,"timelimit=20 lives=9 leadlimit=0");
#define g_lms IS_GAMETYPE(LMS)
-REGISTER_GAMETYPE(_("Arena"),arena,g_arena,ARENA,"timelimit=20 pointlimit=10 leadlimit=0");
-#define g_arena IS_GAMETYPE(ARENA)
-
REGISTER_GAMETYPE(_("Race"),rc,g_race,RACE,"timelimit=20 qualifying_timelimit=5 laplimit=7 teamlaplimit=15 leadlimit=0");
#define g_race IS_GAMETYPE(RACE)
REGISTER_GAMETYPE(_("Keepaway"),ka,g_keepaway,KEEPAWAY,"timelimit=20 pointlimit=30");
#define g_keepaway IS_GAMETYPE(KEEPAWAY)
+REGISTER_GAMETYPE(_("Invasion"),inv,g_invasion,INVASION,"pointlimit=5");
+#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;
--- /dev/null
+#include "monster/zombie.qc"
+#include "monster/spider.qc"
+#include "monster/mage.qc"
+#include "monster/wyvern.qc"
+#include "monster/shambler.qc"
--- /dev/null
+#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);
+ 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";
+
+ self.monster_spawnfunc = spawnfunc_monster_mage;
+
+ if(Monster_CheckAppearFlags(self))
+ return;
+
+ if(!monster_initialize(MON_MAGE, FALSE)) { 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:
+ {
+ precache_model ("models/monsters/mage.dpm");
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
--- /dev/null
+#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(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";
+
+ self.monster_spawnfunc = spawnfunc_monster_shambler;
+
+ if(Monster_CheckAppearFlags(self))
+ return;
+
+ if(!monster_initialize(MON_SHAMBLER, FALSE)) { 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:
+ {
+ precache_model ("models/monsters/shambler.mdl");
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
--- /dev/null
+#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)
+ 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";
+
+ self.monster_spawnfunc = spawnfunc_monster_spider;
+
+ if(Monster_CheckAppearFlags(self))
+ return;
+
+ if(!monster_initialize(MON_SPIDER, FALSE)) { 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:
+ {
+ precache_model ("models/monsters/spider.dpm");
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
--- /dev/null
+#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";
+
+ self.monster_spawnfunc = spawnfunc_monster_wyvern;
+
+ if(Monster_CheckAppearFlags(self))
+ return;
+
+ if(!monster_initialize(MON_WYVERN, TRUE)) { 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:
+ {
+ precache_model ("models/monsters/wizard.mdl");
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
--- /dev/null
+#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";
+
+ self.monster_spawnfunc = spawnfunc_monster_zombie;
+
+ self.spawnflags |= MONSTER_RESPAWN_DEATHPOINT;
+
+ if(Monster_CheckAppearFlags(self))
+ return;
+
+ if(!monster_initialize(MON_ZOMBIE, FALSE)) { 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.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:
+ {
+ precache_model ("models/monsters/zombie.dpm");
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+#endif // CSQC
+#endif // REGISTER_MONSTER
--- /dev/null
+#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));
+
+ #ifndef MENUQC
+ func(MR_PRECACHE);
+ #endif
+}
+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;
+}
\ No newline at end of file
--- /dev/null
+// 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);
--- /dev/null
+entity spawnmonster (string monster, float monster_id, entity spawnedby, entity own, vector orig, float respwn, 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;
+
+ 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;
+ 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);
+
+ target_spawn_edit_entity(e, monster, world, world, world, world, world);
+
+ return e;
+}
--- /dev/null
+entity spawnmonster (string monster, float monster_id, entity spawnedby, entity own, vector orig, float respwn, float moveflag);
--- /dev/null
+// =========================
+// SVQC Monster Properties
+// =========================
+
+
+void monster_item_spawn()
+{
+ if(self.monster_loot)
+ self.monster_loot();
+
+ self.gravity = 1;
+ self.reset = SUB_Remove;
+ self.noalign = TRUE;
+ self.velocity = randomvec() * 175 + '0 0 325';
+ self.classname = "droppedweapon"; // hax
+ self.item_spawnshieldtime = time + 0.7;
+
+ SUB_SetFade(self, time + autocvar_g_monsters_drop_time, 1);
+}
+
+void monster_dropitem()
+{
+ if(!self.candrop || !self.monster_loot)
+ return;
+
+ vector org = self.origin + ((self.mins + self.maxs) * 0.5);
+ entity e = spawn();
+
+ setorigin(e, org);
+
+ e.monster_loot = self.monster_loot;
+
+ other = e;
+ MUTATOR_CALLHOOK(MonsterDropItem);
+ e = other;
+
+ if(e)
+ {
+ e.think = monster_item_spawn;
+ e.nextthink = time + 0.3;
+ }
+}
+
+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(vlen(targ.origin - ent.origin) >= ent.target_range)
+ return FALSE; // enemy is too far away
+
+ 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);
+
+ 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 ent_center = CENTER_OR_VIEWOFS(ent);
+
+ //if(ctf_CheckPassDirection(head_center, ent_center, ent.v_angle, head.WarpZone_findradius_nearest))
+ if(closest_target)
+ {
+ vector closest_target_center = 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(delaytoo && 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;
+}
+
+void Monster_Fade ()
+{
+ if(Monster_CanRespawn(self))
+ {
+ self.spawnflags |= MONSTERFLAG_RESPAWNED;
+ self.think = self.monster_spawnfunc;
+ self.nextthink = time + self.respawntime;
+ self.ltime = 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;
+
+ if(IS_CLIENT(self.realowner))
+ self.realowner.monstercount -= 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)
+ {
+ 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;
+ self.last_trace = time + 2;
+
+ self.angles_y = rint(random() * 500);
+ makevectors(self.angles);
+ pos = self.origin + v_forward * 600;
+
+ if(self.flags & FL_FLY || self.flags & FL_SWIM)
+ if(self.spawnflags & MONSTERFLAG_FLY_VERTICAL)
+ {
+ pos_z = random() * 200;
+ if(random() >= 0.5)
+ pos_z *= -1;
+ }
+
+ if(targ)
+ {
+ self.last_trace = time + 0.5;
+ pos = targ.origin;
+ }
+
+ return pos;
+ }
+ }
+}
+
+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 || (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(self.enemy && self.enemy.health < 1)
+ self.enemy = world; // enough!
+
+ if(time >= self.last_enemycheck)
+ {
+ if(!monster_isvalidtarget(self.enemy, self))
+ self.enemy = world;
+
+ if(!self.enemy)
+ {
+ self.enemy = FindTarget(self);
+ if(self.enemy)
+ MonsterSound(monstersound_sight, 0, FALSE, CH_VOICE);
+ }
+
+ self.last_enemycheck = time + 0.5;
+ }
+
+ 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.state != MONSTER_STATE_ATTACK_MELEE)
+ self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+
+ if(self.state == MONSTER_STATE_ATTACK_LEAP && (self.flags & FL_ONGROUND))
+ {
+ self.state = 0;
+ self.touch = MonsterTouch;
+ }
+
+ //self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+
+ float turny = 0;
+ vector real_angle = vectoangles(self.steerto) - self.angles;
+
+ if(self.state != MONSTER_STATE_ATTACK_LEAP && self.state != MONSTER_STATE_ATTACK_MELEE)
+ turny = 20;
+
+ if(self.flags & FL_SWIM)
+ turny = vlen(self.angles - self.moveto);
+
+ if(turny)
+ {
+ turny = bound(turny * -1, shortangle_f(real_angle_y, self.angles_y), turny);
+ self.angles_y += turny;
+ }
+
+ 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.flags & FL_SWIM)) && self.spawnflags & MONSTERFLAG_FLY_VERTICAL)
+ 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_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;
+ }
+
+ 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.ltime != 0)
+ if(time >= self.ltime)
+ {
+ 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;
+ self.monster_spawnfunc();
+}
+
+float Monster_CheckAppearFlags(entity ent)
+{
+ if(!(ent.spawnflags & MONSTERFLAG_APPEAR))
+ return FALSE;
+
+ ent.think = func_null;
+ 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;
+
+ if(IS_CLIENT(self.realowner))
+ self.realowner.monstercount -= 1;
+
+ self.think = SUB_Remove;
+ self.nextthink = time + 0.1;
+ }
+}
+
+void monster_die(entity attacker, float gibbed)
+{
+ self.think = monster_dead_think;
+ self.nextthink = time;
+ self.ltime = 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(IS_CLIENT(self.realowner))
+ self.realowner.monstercount -= 1;
+ }
+
+ if(self.candrop && self.weapon)
+ W_ThrowNewWeapon(self, self.weapon, 0, self.origin, randomvec() * 150 + '0 0 325');
+
+ self.event_damage = 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.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(time < self.pain_finished && deathtype != DEATH_KILL)
+ return;
+
+ if(time < self.spawnshieldtime && deathtype != DEATH_KILL)
+ 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()
+{
+ if(IS_PLAYER(self.monster_owner))
+ self.colormap = self.monster_owner.colormap;
+ else if(teamplay && self.team)
+ self.colormap = 1024 + (self.team - 1) * 17;
+ else
+ {
+ if(self.monster_skill <= MONSTER_SKILL_EASY)
+ self.colormap = 1029;
+ else if(self.monster_skill <= MONSTER_SKILL_MEDIUM)
+ self.colormap = 1027;
+ else if(self.monster_skill <= MONSTER_SKILL_HARD)
+ self.colormap = 1038;
+ else if(self.monster_skill <= MONSTER_SKILL_INSANE)
+ self.colormap = 1028;
+ else if(self.monster_skill <= MONSTER_SKILL_NIGHTMARE)
+ self.colormap = 1032;
+ else
+ self.colormap = 1024;
+ }
+}
+
+void monster_think()
+{
+ self.think = monster_think;
+ self.nextthink = self.ticrate;
+
+ if(self.ltime)
+ if(time >= self.ltime)
+ {
+ 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;
+
+ 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'));
+ 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, float nodrop)
+{
+ if(!autocvar_g_monsters)
+ return FALSE;
+
+ 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))
+ 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.deadflag = DEAD_NO;
+ self.scale = 1;
+ self.noalign = nodrop;
+ self.spawn_time = time;
+ self.spider_slowness = 0;
+ self.gravity = 1;
+ self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_MONSTERCLIP;
+
+ 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)
+ self.scale = 1.3;
+
+ 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();
+
+ CSQCMODEL_AUTOINIT();
+
+ return TRUE;
+}
--- /dev/null
+.string spawnmob;
+.float monster_attack;
+
+.entity monster_owner; // new monster owner entity, fixes non-solid monsters
+.float monstercount; // per player monster count
+
+.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 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_SPAWNED = 16384; // flag for spawned monsters
+const float MONSTERFLAG_RESPAWNED = 32768; // flag for re-spawned monsters
+
+.void() monster_spawnfunc;
+
+.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;
float argc = tokenizebyseparator(autocvar_sv_join_notices, "|");
if(argc > 0)
{
- float i;
- for(i = argc - 1; i >= 0; --i)
+ float i;
+ for(i = argc - 1; i >= 0; --i)
sv_notice_to(self.owner, argv(i), autocvar_sv_join_notices_time, FALSE);
- }
+ }
remove(self);
}
entity n = spawn();
n.owner = self;
n.think = sv_notice_join_think;
- n.nextthink = time + 1;
+ n.nextthink = time + 1;
}
void sv_notice_to(entity _to, string _notice, float _howlong, float _modal)
entity _head;
FOR_EACH_REALCLIENT(_head)
sv_notice_to(_head, _notice, _howlong, _modal);
-
+
}
#endif // SVQC
entity _notes;
string _notice;
float m = FALSE;
-
+
_notes = findchain(classname, "sv_notice");
if(!_notes)
return FALSE;
#define M1 30
#define M2 10
-
+
vector v1, v2 = '0 0 0', v3;
v1 = '1 1 0' * M1;
v2_x = vid_conwidth - (2 * M1);
v2_y = vid_conheight - (2 * M1);
-
+
drawfill(v1, v2, '0 0 0', 0.5, DRAWFLAG_NORMAL);
v1 = '1 1 0' * (M1 + M2);
v2_x = vid_conwidth - (2 * (M1 + M2));
v2_y = vid_conheight - (2 * (M1 + M2));
drawfill(v1, v2, '0.5 0.5 0.5', 0.5, DRAWFLAG_NORMAL);
v3 = v1 + '10 10 0';
-
+
#define OUT(s,z) drawcolorcodedstring(v3, s, '1 1 0' * z, 1, DRAWFLAG_NORMAL); v3_y += z + 4
-
+
OUT(_("^1Server notices:"), 32);
-
+
//drawcolorcodedstring(v1 + '5 5 0', "^1Server notices:", '32 32 0', 1, DRAWFLAG_NORMAL);
while(_notes)
{
-
+
_notice = sprintf(_("^7%s (^3%d sec left)"), _notes.netname , rint(_notes.alpha - time));
OUT(_notice, 16);
- if(_notes.skin)
+ if(_notes.skin)
m = TRUE;
-
+
if(_notes.alpha <= time)
{
_notes.think = SUB_Remove;
_notes.nextthink = time;
}
-
- _notes = _notes.chain;
+
+ _notes = _notes.chain;
}
-
+
#undef OUT
#undef M1
#undef M2
-
+
return m;
}
{ checkargs = sprintf("%sNo client provided!", checkargs); }
break;
}
-
+
case NOTIF_ALL_EXCEPT:
{
if(IS_NOT_A_CLIENT(client))
{ checkargs = sprintf("%sException can't be a non-client!", checkargs); }
break;
}
-
+
case NOTIF_ALL:
{
if(client)
{ checkargs = sprintf("%sEntity provided when world was required!", checkargs); }
break;
}
-
+
case NOTIF_TEAM:
{
- if not(teamplay)
+ if (!teamplay)
{ checkargs = sprintf("%sTeamplay not active!", checkargs); }
- //else if not(client.team) { checkargs = sprintf("%sNo team provided!", checkargs); }
+ //else if (!client.team) { checkargs = sprintf("%sNo team provided!", checkargs); }
break;
}
-
+
case NOTIF_TEAM_EXCEPT:
{
- if not(teamplay)
+ if (!teamplay)
{ checkargs = sprintf("%sTeamplay not active!", checkargs); }
else if(IS_NOT_A_CLIENT(client))
{ checkargs = sprintf("%sException can't be a non-client!", checkargs); }
break;
}
-
+
default: { checkargs = sprintf("%sImproper broadcast: %d!", checkargs, broadcast); break; }
}
return checkargs;
{
entity notif;
float i;
-
+
#define DESTROY_LOOP(type,count) \
for(i = 1; i <= count; ++i) \
{ \
notif = Get_Notif_Ent(type, i); \
- if not(notif) { backtrace("Destroy_All_Notifications(): Missing notification entity!\n"); return; } \
+ if (!notif) { backtrace("Destroy_All_Notifications(): Missing notification entity!\n"); return; } \
Destroy_Notification_Entity(notif); \
}
// 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"
notiftype,
notifname,
stringtype
- ));
+ );
notif_error = TRUE;
input = substring(input, 1, (strlen(input) - 1));
}
{
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"
notiftype,
notifname,
NOTIF_MAX_ARGS
- ));
+ );
notif_error = TRUE;
break;
}
#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"
notiftype,
notifname,
selected
- ));
+ );
notif_error = TRUE;
break;
}
{
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"
notiftype,
notifname,
NOTIF_MAX_HUDARGS
- ));
+ );
notif_error = TRUE;
break;
}
#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"
notiftype,
notifname,
selected
- ));
+ );
notif_error = TRUE;
break;
}
}
break;
}
- case 3: // durcnt
+ case 3: // durcnt
{
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"
notiftype,
notifname,
NOTIF_MAX_DURCNT
- ));
+ );
notif_error = TRUE;
break;
}
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"
notiftype,
notifname,
selected
- ));
+ );
notif_error = TRUE;
}
break;
float strnum,
float flnum,
/* MSG_ANNCE */
- float channel,
+ float channel,
string snd,
float vol,
float position,
notif.nent_type = typeid;
notif.nent_id = nameid;
notif.nent_name = strzone(namestring);
-
+
string typestring = Get_Notif_TypeName(typeid);
// Other pre-notif-setup requisites
{
// Set MSG_ANNCE information and handle precaching
#ifdef CSQC
- if not(GENTLE && (var_cvar == 1))
+ if (!(GENTLE && (var_cvar == 1)))
{
if(snd != "")
{
}
else
{
- print(sprintf(
+ printf(
strcat(
"^1NOTIFICATION WITH NO SOUND: ",
"^7net_type = %s, net_name = %s.\n"
),
typestring,
namestring
- ));
+ );
notif_error = TRUE;
}
}
break;
}
-
+
case MSG_INFO:
case MSG_CENTER:
{
}
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"
namestring,
strnum,
flnum
- ));
+ );
notif_error = TRUE;
}
}
{
notif.nent_hudargs = strzone(
Process_Notif_Args(2, hudargs, typestring, namestring));
-
+
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;
}
{
notif.nent_durcnt = strzone(
Process_Notif_Args(3, durcnt, typestring, namestring));
-
+
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;
}
- }
+ }
else if(cpid != NO_MSG) { notif.nent_cpid = cpid; }
#endif
else if(normal != "") { SET_NOTIF_STRING(normal, "NORMAL") }
}
else if(normal != "") { SET_NOTIF_STRING(normal, "NORMAL") }
-
+
#undef SET_NOTIF_STRING
// 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;
}
}
// 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
{
// announcements don't actually need any arguments, so lets not even count them.
if(anncename != NO_MSG) { notif.nent_msgannce = msg_annce_notifs[anncename - 1]; }
-
+
float infoname_stringcount = 0, infoname_floatcount = 0;
float centername_stringcount = 0, centername_floatcount = 0;
-
+
if(infoname != NO_MSG)
{
notif.nent_msginfo = msg_info_notifs[infoname - 1];
infoname_stringcount = notif.nent_msginfo.nent_stringcount;
infoname_floatcount = notif.nent_msginfo.nent_floatcount;
}
-
+
if(centername != NO_MSG)
{
notif.nent_msgcenter = msg_center_notifs[centername - 1];
centername_stringcount = notif.nent_msgcenter.nent_stringcount;
centername_floatcount = notif.nent_msgcenter.nent_floatcount;
}
-
+
// set the requirements of THIS notification to the totals of its subcalls
notif.nent_stringcount = max(infoname_stringcount, centername_stringcount);
notif.nent_floatcount = max(infoname_floatcount, centername_floatcount);
}
-
+
break;
}
{
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
notif.nent_optionb = msg_multi_notifs[optionb - 1];
break;
}
- case MSG_CHOICE: // should we REALLY allow nested options?...
+ case MSG_CHOICE: // should we REALLY allow nested options?...
{
notif.nent_optiona = msg_choice_notifs[optiona - 1];
notif.nent_optionb = msg_choice_notifs[optionb - 1];
default:
{
- print(sprintf(
+ printf(
strcat(
"^1NOTIFICATION WITH IMPROPER TYPE: ",
"^7net_type = %d, net_name = %s.\n"
),
typeid,
namestring
- ));
+ );
notif_error = TRUE;
break;
}
notif.nent_challow_var = challow_var; // 0: never allowed, 1: allowed in warmup, 2: always allowed
notif.nent_stringcount = max(notif.nent_optiona.nent_stringcount, notif.nent_optionb.nent_stringcount);
notif.nent_floatcount = max(notif.nent_optiona.nent_floatcount, notif.nent_optionb.nent_floatcount);
-
+
/*#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
"Create_Notification_Entity(...): MSG_CHOICE: %s\n%s\n%s\n",
}
break;
}
-
+
default:
{
- print(sprintf(
+ printf(
strcat(
"^1NOTIFICATION WITH IMPROPER TYPE: ",
"^7net_type = %d, net_name = %s.\n"
),
typeid,
namestring
- ));
+ );
notif_error = TRUE;
break;
}
}
- // now check to see if any errors happened
+ // now check to see if any errors happened
if(notif_error)
{
notif.nent_enabled = FALSE; // disable the notification so it can't cause trouble
for(i = 1; i <= NOTIF_ANNCE_COUNT; ++i)
{
e = Get_Notif_Ent(MSG_ANNCE, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
+ if (!e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
+
NOTIF_WRITE_ENTITY(
"Notification control cvar: 0 = disabled, 1 = enabled if gentle mode is off, 2 = always enabled)"
);
for(i = 1; i <= NOTIF_INFO_COUNT; ++i)
{
e = Get_Notif_Ent(MSG_INFO, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
+ if (!e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
+
NOTIF_WRITE_ENTITY(
"Notification control cvar: 0 = off, 1 = print to console, "
"2 = print to console and chatbox (if notification_allow_chatboxprint is enabled)"
for(i = 1; i <= NOTIF_CENTER_COUNT; ++i)
{
e = Get_Notif_Ent(MSG_CENTER, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
+ if (!e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
+
NOTIF_WRITE_ENTITY(
"Notification control cvar: 0 = off, 1 = centerprint"
);
for(i = 1; i <= NOTIF_MULTI_COUNT; ++i)
{
e = Get_Notif_Ent(MSG_MULTI, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
+ if (!e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
+
NOTIF_WRITE_ENTITY(
"Notification control cvar: 0 = off, 1 = trigger subcalls"
);
for(i = 1; i <= NOTIF_CHOICE_COUNT; ++i)
{
e = Get_Notif_Ent(MSG_CHOICE, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
+ if (!e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
+
NOTIF_WRITE_ENTITY_CHOICE(
"Notification control cvar: 0 = off, 1 = trigger option A subcall, 2 = trigger option B subcall",
"Notification control cvar: 0 = off, 1 = allowed in warmup mode, 2 = always allowed"
// edit these to match whichever cvars are used for specific notification options
NOTIF_WRITE("\n// HARD CODED notification variables:\n");
-
+
NOTIF_WRITE_HARDCODED(
"allow_chatboxprint", "1",
"Allow notifications to be printed to chat box by setting notification cvar to 2 "
"(You can also set this cvar to 2 to force ALL notifications to be printed to the chatbox)"
);
-
+
NOTIF_WRITE_HARDCODED(
"debug", "0",
"Print extra debug information on all notification function calls "
"(Requires -DNOTIFICATIONS_DEBUG flag to be enabled on QCSRC compilation)... "
"0 = disabled, 1 = dprint, 2 = print"
);
-
+
NOTIF_WRITE_HARDCODED(
"errors_are_fatal", "1",
"If a notification fails upon initialization, cause a Host_Error to stop the program"
);
-
+
NOTIF_WRITE_HARDCODED(
"item_centerprinttime", "1.5",
"How long to show item information centerprint messages (like 'You got the Electro' or such)"
);
-
+
NOTIF_WRITE_HARDCODED(
"lifetime_mapload", "10",
"Amount of time that notification entities last immediately at mapload (in seconds) "
"to help prevent notifications from being lost on early init (like gamestart countdown)"
);
-
+
NOTIF_WRITE_HARDCODED(
"lifetime_runtime", "0.5",
"Amount of time that notification entities last on the server during runtime (In seconds)"
);
-
+
NOTIF_WRITE_HARDCODED(
"server_allows_location", "1",
"Server side cvar for allowing death messages to show location information too"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_location", "0",
"Append location information to MSG_INFO death/kill messages"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_location_string", "",
"Replacement string piped into sprintf, "
"so you can do different messages like this: ' at the %s' or ' (near %s)'"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_sprees", "1",
"Print information about sprees in death/kill messages"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_sprees_center", "1",
"Show spree information in MSG_CENTER messages... "
"0 = off, 1 = target (but only for first victim) and attacker"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_sprees_center_specialonly", "1",
"Don't show spree information in MSG_CENTER messages if it isn't an achievement"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_sprees_info", "3",
"Show spree information in MSG_INFO messages... "
"0 = off, 1 = target only, 2 = attacker only, 3 = target and attacker"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_sprees_info_newline", "1",
"Show attacker spree information for MSG_INFO messages on a separate line than the death notification itself"
);
-
+
NOTIF_WRITE_HARDCODED(
"show_sprees_info_specialonly", "1",
"Don't show attacker spree information in MSG_INFO messages if it isn't an achievement"
NOTIF_MULTI_COUNT,
NOTIF_CHOICE_COUNT
));
-
+
return;
#undef NOTIF_WRITE_HARDCODED
#undef NOTIF_WRITE_ENTITY
#endif
string Local_Notification_sprintf(
- string input, string args,
+ string input, string args,
string s1, string s2, string s3, string s4,
float f1, float f2, float f3, float f4)
{
sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
));
#endif
-
+
string selected;
float sel_num;
for(sel_num = 0; sel_num < NOTIF_MAX_ARGS; ++sel_num) { arg_slot[sel_num] = ""; }
soundposition
));
#endif
-
+
sound(
world,
soundchannel,
soundvolume,
soundposition
);
-
+
if(prev_soundfile) { strunzone(prev_soundfile); }
prev_soundfile = strzone(soundfile);
prev_soundtime = time;
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;
}
#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
#endif
return;
}
-
+
// check supplied type and name for errors
string checkargs = Notification_CheckArgs_TypeName(net_type, net_name);
if(checkargs != "")
// retreive entity of this notification
entity notif = Get_Notif_Ent(net_type, net_name);
- if not(notif)
+ if (!notif)
{
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
}
// check if the notification is enabled
- if not(notif.nent_enabled)
+ if (!notif.nent_enabled)
{
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
));
#endif
-
+
if((notif.nent_stringcount + notif.nent_floatcount) > count)
{
backtrace(sprintf(
strcat(
"Not enough arguments for Local_Notification(%s, %s, ...)! ",
- "stringcount(%d) + floatcount(%d) > count(%d)\n",
+ "stringcount(%d) + floatcount(%d) > count(%d)\n",
"Check the definition and function call for accuracy...?\n"
),
Get_Notif_TypeName(net_type),
));
return;
}
-
+
switch(net_type)
{
case MSG_ANNCE:
#endif
break;
}
-
+
case MSG_INFO:
{
print(
Local_Notification_sprintf(
notif.nent_string,
- notif.nent_args,
+ notif.nent_args,
s1, s2, s3, s4,
f1, f2, f3, f4)
);
- #ifdef CSQC
+ #ifdef CSQC
if(notif.nent_icon != "")
{
Local_Notification_HUD_Notify_Push(
notif.nent_icon,
notif.nent_hudargs,
- s1, s2, s3, s4);
- }
- #endif
+ s1, s2, s3, s4,
+ f1, f2, f3, f4);
+ }
+ #endif
break;
}
-
+
#ifdef CSQC
case MSG_CENTER:
{
Local_Notification_centerprint_generic(
Local_Notification_sprintf(
notif.nent_string,
- notif.nent_args,
+ notif.nent_args,
s1, s2, s3, s4,
f1, f2, f3, f4),
notif.nent_durcnt,
break;
}
#endif
-
+
case MSG_MULTI:
{
if(notif.nent_msginfo)
{
Local_Notification_WOVA(
MSG_INFO,
- notif.nent_msginfo.nent_id,
- notif.nent_msginfo.nent_stringcount,
- notif.nent_msginfo.nent_floatcount,
+ notif.nent_msginfo.nent_id,
+ notif.nent_msginfo.nent_stringcount,
+ notif.nent_msginfo.nent_floatcount,
s1, s2, s3, s4,
f1, f2, f3, f4);
}
{
Local_Notification_WOVA(
MSG_ANNCE,
- notif.nent_msgannce.nent_id,
- 0, 0,
+ notif.nent_msgannce.nent_id,
+ 0, 0,
"", "", "", "",
0, 0, 0, 0);
}
{
Local_Notification_WOVA(
MSG_CENTER,
- notif.nent_msgcenter.nent_id,
- notif.nent_msgcenter.nent_stringcount,
- notif.nent_msgcenter.nent_floatcount,
+ notif.nent_msgcenter.nent_id,
+ notif.nent_msgcenter.nent_stringcount,
+ notif.nent_msgcenter.nent_floatcount,
s1, s2, s3, s4,
- f1, f2, f3, f4);
+ f1, f2, f3, f4);
}
#endif
break;
case MSG_CHOICE:
{
entity found_choice;
-
+
if(notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2)))
{
switch(cvar_string(sprintf("notification_%s", notif.nent_name)))
}
}
else { found_choice = notif.nent_optiona; }
-
+
Local_Notification_WOVA(
found_choice.nent_type,
- found_choice.nent_id,
- found_choice.nent_stringcount,
- found_choice.nent_floatcount,
+ found_choice.nent_id,
+ found_choice.nent_stringcount,
+ found_choice.nent_floatcount,
s1, s2, s3, s4,
- f1, f2, f3, f4);
+ f1, f2, f3, f4);
}
}
}
-// WOVA = Without Variable Arguments
+// WOVA = Without Variable Arguments
void Local_Notification_WOVA(
float net_type, float net_name,
float stringcount, float floatcount,
net_name
));
#endif
-
+
if(is_new)
{
if(net_name == 0) { reset_centerprint_messages(); }
is_new,
time
));
- }
+ }
}
}
else
{
notif = Get_Notif_Ent(net_type, net_name);
- if not(notif) { backtrace("Read_Notification: Could not find notification entity!\n"); return; }
+ if (!notif) { backtrace("Read_Notification: Could not find notification entity!\n"); return; }
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
float f2 = ((1 < notif.nent_floatcount) ? ReadLong() : 0);
float f3 = ((2 < notif.nent_floatcount) ? ReadLong() : 0);
float f4 = ((3 < notif.nent_floatcount) ? ReadLong() : 0);
-
+
if(is_new)
{
Local_Notification_WOVA(
#ifdef SVQC
void Net_Notification_Remove()
{
- if not(self) { backtrace(sprintf("Net_Notification_Remove() at %f: Missing self!?\n", time)); return; }
-
+ if (!self) { backtrace(sprintf("Net_Notification_Remove() at %f: Missing self!?\n", time)); return; }
+
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
"Net_Notification_Remove() at %f: %s '%s - %s' notification\n",
self.owner.nent_name
));
#endif
-
+
float i;
for(i = 0; i < 4; ++i) { if(self.nent_strings[i]) { strunzone(self.nent_strings[i]); } }
remove(self);
WriteByte(MSG_ENTITY, ENT_CLIENT_NOTIFICATION);
WriteByte(MSG_ENTITY, self.nent_net_type);
WriteShort(MSG_ENTITY, self.nent_net_name);
- for(i = 0; i < self.nent_stringcount; ++i) { WriteString(MSG_ENTITY, self.nent_strings[i]); }
+ for(i = 0; i < self.nent_stringcount; ++i) { WriteString(MSG_ENTITY, self.nent_strings[i]); }
for(i = 0; i < self.nent_floatcount; ++i) { WriteLong(MSG_ENTITY, self.nent_floats[i]); }
return TRUE;
}
net_name
));
#endif
-
+
string checkargs = Notification_CheckArgs(broadcast, client, 1, 1);
if(checkargs != "") { backtrace(sprintf("Incorrect usage of Kill_Notification: %s\n", checkargs)); return; }
entity notif, net_notif;
float killed_cpid = NO_CPID;
-
+
switch(net_type)
{
case 0:
killed_cpid = 0; // kill ALL centerprints
break;
}
-
+
case MSG_CENTER:
{
if(net_name)
{
entity notif = Get_Notif_Ent(net_type, net_name);
- if not(notif) { backtrace("Kill_Notification: Could not find notification entity!\n"); return; }
-
+ if (!notif) { backtrace("Kill_Notification: Could not find notification entity!\n"); return; }
+
if(notif.nent_cpid)
killed_cpid = notif.nent_cpid;
else
#endif
return;
}
-
+
// check supplied broadcast, target, type, and name for errors
string checkargs = Notification_CheckArgs(broadcast, client, net_type, net_name);
if(checkargs != "")
// retreive entity of this notification
entity notif = Get_Notif_Ent(net_type, net_name);
- if not(notif)
+ if (!notif)
{
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
backtrace(sprintf(
strcat(
"Not enough arguments for Send_Notification(%s, ...)! ",
- "stringcount(%d) + floatcount(%d) > count(%d)\n",
+ "stringcount(%d) + floatcount(%d) > count(%d)\n",
"Check the definition and function call for accuracy...?\n"
),
sprintf(
// It's slow, but it's better than the alternatives:
// 1. Constantly networking all info and letting client decide
// 2. Manually handling each separate call on per-usage basis (See old CTF usage of verbose)
- entity found_choice;
+ entity found_choice;
#define RECURSE_FROM_CHOICE(ent,action) \
if(notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) \
net_notif.nent_net_name = net_name;
net_notif.nent_stringcount = notif.nent_stringcount;
net_notif.nent_floatcount = notif.nent_floatcount;
-
+
float i;
for(i = 0; i < net_notif.nent_stringcount; ++i)
{ net_notif.nent_strings[i] = strzone(...(i, string)); }
(time + autocvar_notification_lifetime_runtime)
:
autocvar_notification_lifetime_mapload
- );
+ );
Net_LinkEntity(net_notif, FALSE, 0, Net_Write_Notification);
}
}
-// WOVA = Without Variable Arguments
+// WOVA = Without Variable Arguments
void Send_Notification_WOVA(
float broadcast, entity client,
float net_type, float net_name,
sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
));
#endif
-
+
#define VARITEM(stringc,floatc,args) \
if((stringcount == stringc) && (floatcount == floatc)) \
{ Send_Notification(broadcast, client, net_type, net_name, args); return; }
Send_Notification(broadcast, client, net_type, net_name); // some notifications don't have any arguments at all
}
-// WOCOVA = Without Counts Or Variable Arguments
+// WOCOVA = Without Counts Or Variable Arguments
void Send_Notification_WOCOVA(
float broadcast, entity client,
float net_type, float net_name,
float f1, float f2, float f3, float f4)
{
entity notif = Get_Notif_Ent(net_type, net_name);
-
+
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
"Send_Notification_WOCOVA(%s, %s, %s);\n",
sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
));
#endif
-
+
#define VARITEM(stringc,floatc,args) \
if((notif.nent_stringcount == stringc) && (notif.nent_floatcount == floatc)) \
{ Send_Notification(broadcast, client, net_type, net_name, args); return; }
// main types/groups of notifications
#define MSG_ANNCE 1 // "Global" AND "personal" announcer messages
-#define MSG_INFO 2 // "Global" information messages
+#define MSG_INFO 2 // "Global" information messages
#define MSG_CENTER 3 // "Personal" centerprint messages
#define MSG_CENTER_CPID 4 // Kill centerprint message
#define MSG_MULTI 5 // Subcall MSG_INFO and/or MSG_CENTER notifications
float strnum,
float flnum,
/* MSG_ANNCE */
- float channel,
+ float channel,
string snd,
float vol,
float position,
Check out the definitions in util.qc/util.qh/teams.qh for string CCR(...) and
string TCR(...) to better understand how these code replacements work.
-
+
Additionally, you can find all the definitions and explanations for
the argument values and what they return down below in this file.
MULTITEAM_INFO##teams(default,prefix,strnum,flnum,args,hudargs,icon,normal,gentle)
#define MSG_INFO_NOTIFICATIONS \
+ MSG_INFO_NOTIF(2, INFO_CHAT_NOSPECTATORS, 0, 0, "", "", "", _("^F4NOTE: ^BGSpectator chat is not sent to players during the match"), "") \
MULTITEAM_INFO(1, INFO_CTF_CAPTURE_, 2, 1, 0, "s1", "s1", "notify_%s_captured", _("^BG%s^BG captured the ^TC^TT^BG flag"), "") \
MULTITEAM_INFO(1, INFO_CTF_CAPTURE_BROKEN_, 2, 2, 2, "s1 f1p2dec s2 f2p2dec", "s1", "notify_%s_captured", _("^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds, breaking ^BG%s^BG's previous record of ^F2%s^BG seconds"), "") \
MULTITEAM_INFO(1, INFO_CTF_CAPTURE_TIME_, 2, 1, 1, "s1 f1p2dec", "s1", "notify_%s_captured", _("^BG%s^BG captured the ^TC^TT^BG flag in ^F1%s^BG seconds"), "") \
MULTITEAM_INFO(1, INFO_CTF_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"), "") \
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"), "") \
MULTITEAM_INFO(1, INFO_KEYHUNT_PICKUP_, 4, 1, 0, "s1", "", "", _("^BG%s^BG picked up the ^TC^TT Key"), "") \
MSG_INFO_NOTIF(1, INFO_LMS_FORFEIT, 1, 0, "s1", "", "", _("^BG%s^F3 forfeited"), "") \
MSG_INFO_NOTIF(1, INFO_LMS_NOLIVES, 1, 0, "s1", "", "", _("^BG%s^F3 has no more lives left"), "") \
+ MSG_INFO_NOTIF(1, INFO_MONSTERS_DISABLED, 0, 0, "", "", "", _("^BGMonsters are currently disabled"), "") \
MSG_INFO_NOTIF(1, INFO_POWERUP_INVISIBILITY, 1, 0, "s1", "s1", "strength", _("^BG%s^K1 picked up Invisibility"), "") \
MSG_INFO_NOTIF(1, INFO_POWERUP_SHIELD, 1, 0, "s1", "s1", "shield", _("^BG%s^K1 picked up Shield"), "") \
MSG_INFO_NOTIF(1, INFO_POWERUP_SPEED, 1, 0, "s1", "s1", "shield", _("^BG%s^K1 picked up Speed"), "") \
MSG_INFO_NOTIF(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"), "") \
MSG_INFO_NOTIF(1, INFO_WEAPON_TUBA_MURDER, 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1", "weapontuba", _("^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s%s"), "") \
MSG_INFO_NOTIF(1, INFO_WEAPON_TUBA_SUICIDE, 2, 1, "s1 s2loc spree_lost", "s1", "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"), "") \
MSG_INFO_NOTIF(1, INFO_WEAPON_UZI_MURDER_SNIPE, 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1", "weaponuzi", _("^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"), "") \
- MSG_INFO_NOTIF(1, INFO_WEAPON_UZI_MURDER_SPRAY, 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1", "weaponuzi", _("^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"), "")
+ MSG_INFO_NOTIF(1, INFO_WEAPON_UZI_MURDER_SPRAY, 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1", "weaponuzi", _("^BG%s%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s%s"), "")
#define MULTITEAM_CENTER2(default,prefix,strnum,flnum,args,cpid,durcnt,normal,gentle) \
MSG_CENTER_NOTIF(default, prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \
MSG_CENTER_NOTIF(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")) \
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_WEAPON_DONTHAVE, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^BGYou do not have the ^F1%s"), "") \
MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_DROP, 1, 1, "item_wepname item_wepammo", CPID_ITEM, "item_centime 0", _("^BGYou dropped the ^F1%s^BG%s"), "") \
MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_GOT, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^BGYou got the ^F1%s"), "") \
MSG_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) \
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) \
// 0 = no, 1 = yes, 2 = forced on for all MSG_INFO notifs
// DISABLED IN CODE, BUT ENABLED IN CONFIG FOR COMPATIBILITY WITH OLD CLIENTS
-var float autocvar_notification_allow_chatboxprint = 0;
+var float autocvar_notification_allow_chatboxprint = 0;
var float autocvar_notification_show_sprees_center = TRUE;
var float autocvar_notification_show_sprees_center_specialonly = TRUE;
allows for more dynamic data to be inferred by the local
notification parser, so that the server does not have to network
anything too crazy on a per-client/per-situation basis.
-
+
Pay attention to the CSQC/SVQC relations, some of these are redefined
in slightly different ways for different programs, this is because the
server does a more conservative approach to the notifs than the client.
-
+
All arguments are swapped into strings, so be sure that your
sprintf usage matches with proper %s placement.
-
+
Argument descriptions:
s1-s4: string arguments to be literally swapped into sprintf
s2loc: s2 string of locations of deaths or other events
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)) \
string notif_arg_frag_stats(float fhealth, float farmor, float fping)
{
- if not(fhealth < 1)
+ if (!(fhealth < 1))
return sprintf(CCR(_("\n(Health ^1%d^BG / Armor ^2%d^BG)%s")), fhealth, farmor, notif_arg_frag_ping(FALSE, fping));
else
return sprintf(CCR(_("\n(^F4Dead^BG)%s")), notif_arg_frag_ping(FALSE, fping));
string notif_arg_spree_cen(float spree)
{
// 0 = off, 1 = target (but only for first victim) and attacker
- if(autocvar_notification_show_sprees_center)
+ if(autocvar_notification_show_sprees_center)
{
if(spree > 1)
{
#define SPREE_ITEM(counta,countb,center,normal,gentle) \
case counta: { return normal_or_gentle(center, sprintf(_("%d score spree! "), spree)); }
-
+
switch(spree)
{
KILL_SPREE_LIST
default:
{
- if not(autocvar_notification_show_sprees_center_specialonly)
+ if (!autocvar_notification_show_sprees_center_specialonly)
{
return
sprintf(
),
spree);
}
- else { return ""; } // don't show spree information if it isn't an achievement
+ else { return ""; } // don't show spree information if it isn't an achievement
}
}
{
// 0 = off, 1 = target only, 2 = attacker only, 3 = target and attacker
// this conditional (& 2) is true for 2 and 3
- if(autocvar_notification_show_sprees_info & 2)
+ if(autocvar_notification_show_sprees_info & 2)
{
#ifdef CSQC
string spree_newline =
string spree_newline =
(autocvar_notification_show_sprees_info_newline ? "\n" : "");
#endif
-
+
if(spree > 1)
{
#define SPREE_ITEM(counta,countb,center,normal,gentle) \
case counta: { return sprintf(CCR(normal_or_gentle(normal, gentle)), player, spree_newline); }
-
+
switch(spree)
{
KILL_SPREE_LIST
default:
{
- if not(autocvar_notification_show_sprees_info_specialonly)
+ if (!autocvar_notification_show_sprees_info_specialonly)
{
return
sprintf(
spree_newline
);
}
- else { return ""; } // don't show spree information if it isn't an achievement
+ else { return ""; } // don't show spree information if it isn't an achievement
}
}
#else
#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)
{
#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);
}*/
}
case NUM_TEAM_3: return COL_TEAM_3;
case NUM_TEAM_4: return COL_TEAM_4;
}
-
+
return "^7";
}
case NUM_TEAM_3: return NAME_TEAM_3;
case NUM_TEAM_4: return NAME_TEAM_4;
}
-
+
return NAME_NEUTRAL;
}
case NUM_TEAM_3: return STATIC_NAME_TEAM_3;
case NUM_TEAM_4: return STATIC_NAME_TEAM_4;
}
-
+
return NAME_NEUTRAL;
}
case "pink": return NUM_TEAM_4;
case "auto": return 0;
}
-
+
return -1;
}
case 3: return NUM_TEAM_3;
case 4: return NUM_TEAM_4;
}
-
+
return -1;
}
case NUM_TEAM_3: return 3;
case NUM_TEAM_4: return 4;
}
-
+
return -1;
}
void TEST_Fail(string cond)
{
- print(sprintf("Assertion failed: ", cond));
+ printf("Assertion failed: ", cond);
//backtrace();
++TEST_failed;
}
}
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;
{
if(self.enemy)
te_lightning1(self,self.origin, self.enemy.origin);
-
+
self.nextthink = time + 0.25;
}
#endif
{
setorigin(self,self.origin);
self.think = turret_checkpoint_init;
- self.nextthink = time + 0.2;
+ self.nextthink = time + 0.2;
}
// Compat.
o_z = 0;
if(hud != HUD_NORMAL)
{
- switch(hud)
- {
- case HUD_SPIDERBOT:
- case HUD_WAKIZASHI:
- case HUD_RAPTOR:
- case HUD_BUMBLEBEE:
- if((get_turretinfo(self.turretid)).spawnflags & TUR_FLAG_MOVE)
- txt = "gfx/vehicles/vth-mover.tga";
- else
- txt = "gfx/vehicles/vth-stationary.tga";
-
- vector pz = drawgetimagesize(txt) * 0.25;
- drawpic(o - pz * 0.5, txt, pz , '1 1 1', 0.75, DRAWFLAG_NORMAL);
- break;
- }
+ if((get_turretinfo(self.turretid)).spawnflags & TUR_FLAG_MOVE)
+ txt = "gfx/vehicles/vth-mover.tga";
+ else
+ txt = "gfx/vehicles/vth-stationary.tga";
+
+ vector pz = drawgetimagesize(txt) * 0.25;
+ drawpic(o - pz * 0.5, txt, pz , '1 1 1', 0.75, DRAWFLAG_NORMAL);
}
}
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;
{
if (self.aim_flags & TFL_AIM_SHOTTIMECOMPENSATE) // Need to conpensate for shot traveltime
{
- // FIXME: this cant be the best way to do this..
prep = pre_pos;
-
- for(i = 0; i < 4; ++i)
- {
- distance = vlen(prep - self.tur_shotorg);
- impact_time = distance / self.shot_speed;
- prep = pre_pos + self.enemy.velocity * impact_time;
- }
+
+ distance = vlen(prep - self.tur_shotorg);
+ impact_time = distance / self.shot_speed;
prep = pre_pos + (self.enemy.velocity * (impact_time + mintime));
if(self.aim_flags & TFL_AIM_ZPREDICT)
- if not(self.enemy.flags & FL_ONGROUND)
+ if(!(self.enemy.flags & FL_ONGROUND))
if(self.enemy.movetype == MOVETYPE_WALK || self.enemy.movetype == MOVETYPE_TOSS || self.enemy.movetype == MOVETYPE_BOUNCE)
{
float vz;
return;
// Inactive turrets take no damage. (hm..)
- if not (self.active)
+ if(!self.active)
return;
if (teamplay)
if (ent == world)
return;
- if not (ent.turret_scale_damage) ent.turret_scale_damage = 1;
- if not (ent.turret_scale_range) ent.turret_scale_range = 1;
- if not (ent.turret_scale_refire) ent.turret_scale_refire = 1;
- if not (ent.turret_scale_ammo) ent.turret_scale_ammo = 1;
- if not (ent.turret_scale_aim) ent.turret_scale_aim = 1;
- if not (ent.turret_scale_health) ent.turret_scale_health = 1;
- if not (ent.turret_scale_respawn) ent.turret_scale_respawn = 1;
+ if(!ent.turret_scale_damage) ent.turret_scale_damage = 1;
+ if(!ent.turret_scale_range) ent.turret_scale_range = 1;
+ if(!ent.turret_scale_refire) ent.turret_scale_refire = 1;
+ if(!ent.turret_scale_ammo) ent.turret_scale_ammo = 1;
+ if(!ent.turret_scale_aim) ent.turret_scale_aim = 1;
+ if(!ent.turret_scale_health) ent.turret_scale_health = 1;
+ if(!ent.turret_scale_respawn) ent.turret_scale_respawn = 1;
sbase = strcat(cvar_base,unitname);
if (is_reload)
if (self.track_flags == TFL_TRACK_NO)
return;
- if not (self.active)
+ if(!self.active)
target_angle = self.idle_aim - ('1 0 0' * self.aim_maxpitch);
else if (self.enemy == world)
{
if(e_target.owner == e_turret)
return -0.5;
- if not(checkpvs(e_target.origin, e_turret))
+ if(!checkpvs(e_target.origin, e_turret))
return -1;
- if not (e_target)
+ if(!e_target)
return -2;
if(g_onslaught)
}
else if (e_target.health <= 0)
return -6;
+ else if(e_target.freezetag_frozen > 0)
+ return -6;
// player
if (IS_CLIENT(e_target))
{
- if not (validate_flags & TFL_TARGETSELECT_PLAYERS)
+ if(!(validate_flags & TFL_TARGETSELECT_PLAYERS))
return -7;
if (e_target.deadflag != DEAD_NO)
// Missile
if (e_target.flags & FL_PROJECTILE)
- if not (validate_flags & TFL_TARGETSELECT_MISSILES)
- return -10;
+ if(!(validate_flags & TFL_TARGETSELECT_MISSILES))
+ return -10;
if (validate_flags & TFL_TARGETSELECT_MISSILESONLY)
- if not (e_target.flags & FL_PROJECTILE)
- return -10.5;
+ if(!(e_target.flags & FL_PROJECTILE))
+ return -10.5;
// Team check
if (validate_flags & TFL_TARGETSELECT_TEAMCHECK)
#endif
// Handle ammo
- if not (self.spawnflags & TSF_NO_AMMO_REGEN)
+ if (!(self.spawnflags & TSF_NO_AMMO_REGEN))
if (self.ammo < self.ammo_max)
self.ammo = min(self.ammo + self.ammo_recharge, self.ammo_max);
// Inactive turrets needs to run the think loop,
// So they can handle animation and wake up if need be.
- if not (self.active)
+ if(!self.active)
{
turret_track();
return;
// This one is doing something.. oddball. assume its handles what needs to be handled.
// Predict?
- if not(self.aim_flags & TFL_AIM_NO)
+ if(!(self.aim_flags & TFL_AIM_NO))
self.tur_aimpos = turret_aim_generic();
// Turn & pitch?
- if not(self.track_flags & TFL_TRACK_NO)
+ if(!(self.track_flags & TFL_TRACK_NO))
turret_track();
turret_do_updates(self);
if(self.volly_counter != self.shot_volly)
{
// Predict or whatnot
- if not(self.aim_flags & TFL_AIM_NO)
+ if(!(self.aim_flags & TFL_AIM_NO))
self.tur_aimpos = turret_aim_generic();
// Turn & pitch
- if not(self.track_flags & TFL_TRACK_NO)
+ if(!(self.track_flags & TFL_TRACK_NO))
turret_track();
turret_do_updates(self);
if (self.enemy == world)
{
// Turn & pitch
- if not(self.track_flags & TFL_TRACK_NO)
+ if(!(self.track_flags & TFL_TRACK_NO))
turret_track();
TUR_ACTION(self.turretid, TR_THINK);
self.lip = time + autocvar_g_turrets_aimidle_delay; // Keep track of the last time we had a target.
// Predict?
- if not(self.aim_flags & TFL_AIM_NO)
+ if(!(self.aim_flags & TFL_AIM_NO))
self.tur_aimpos = turret_aim_generic();
// Turn & pitch?
- if not(self.track_flags & TFL_TRACK_NO)
+ if(!(self.track_flags & TFL_TRACK_NO))
turret_track();
turret_do_updates(self);
float turret_initialize(float tur_id)
{
- if not(autocvar_g_turrets)
+ if(!autocvar_g_turrets)
return FALSE;
entity e;
return FALSE; // invalid turret
e = find(world, classname, "turret_manager");
- if not (e)
+ if(!e)
{
e = spawn();
e.classname = "turret_manager";
e.nextthink = time + 2;
}
- if not(self.spawnflags & TSF_SUSPENDED)
+ if(!(self.spawnflags & TSF_SUSPENDED))
builtin_droptofloor();
self.cvar_basename = tur.cvar_basename;
load_unit_settings(self, self.cvar_basename, 0);
- if not(self.team || teamplay) { self.team = MAX_SHOT_DISTANCE; }
- if not(self.ticrate) { self.ticrate = ((self.turret_flags & TUR_FLAG_SUPPORT) ? 0.2 : 0.1); }
- if not(self.health) { self.health = 1000; }
- if not(self.shot_refire) { self.shot_refire = 1; }
- if not(self.tur_shotorg) { self.tur_shotorg = '50 0 50'; }
- if not(self.turret_flags) { self.turret_flags = TUR_FLAG_SPLASH | TUR_FLAG_MEDPROJ | TUR_FLAG_PLAYER; }
- if not(self.damage_flags) { self.damage_flags = TFL_DMG_YES | TFL_DMG_RETALIATE | TFL_DMG_AIMSHAKE; }
- if not(self.aim_flags) { self.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE; }
- if not(self.track_type) { self.track_type = TFL_TRACKTYPE_STEPMOTOR; }
- if not(self.track_flags) { self.track_flags = TFL_TRACK_PITCH | TFL_TRACK_ROTATE; }
- if not(self.ammo_flags) { self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE; }
- if not(self.target_select_flags){ self.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_ANGLELIMITS; }
- if not(self.firecheck_flags) { self.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_LOS
+ if(!self.team || !teamplay) { self.team = MAX_SHOT_DISTANCE; }
+ if(!self.ticrate) { self.ticrate = ((self.turret_flags & TUR_FLAG_SUPPORT) ? 0.2 : 0.1); }
+ if(!self.health) { self.health = 1000; }
+ if(!self.shot_refire) { self.shot_refire = 1; }
+ if(!self.tur_shotorg) { self.tur_shotorg = '50 0 50'; }
+ if(!self.turret_flags) { self.turret_flags = TUR_FLAG_SPLASH | TUR_FLAG_MEDPROJ | TUR_FLAG_PLAYER; }
+ if(!self.damage_flags) { self.damage_flags = TFL_DMG_YES | TFL_DMG_RETALIATE | TFL_DMG_AIMSHAKE; }
+ if(!self.aim_flags) { self.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE; }
+ if(!self.track_type) { self.track_type = TFL_TRACKTYPE_STEPMOTOR; }
+ if(!self.track_flags) { self.track_flags = TFL_TRACK_PITCH | TFL_TRACK_ROTATE; }
+ if(!self.ammo_flags) { self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE; }
+ if(!self.target_select_flags) { self.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_ANGLELIMITS; }
+ if(!self.firecheck_flags) { self.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_LOS
| TFL_FIRECHECK_AIMDIST | TFL_FIRECHECK_TEAMCHECK | TFL_FIRECHECK_AMMO_OWN | TFL_FIRECHECK_REFIRE; }
if(self.track_type != TFL_TRACKTYPE_STEPMOTOR)
self.aim_speed = bound(0.1, ((!self.aim_speed) ? 180 : self.aim_speed), 1000);
- if not(self.track_accel_pitch) { self.track_accel_pitch = 0.5; }
- if not(self.track_accel_rotate) { self.track_accel_rotate = 0.5; }
- if not(self.track_blendrate) { self.track_blendrate = 0.35; }
+ if(!self.track_accel_pitch) { self.track_accel_pitch = 0.5; }
+ if(!self.track_accel_rotate) { self.track_accel_rotate = 0.5; }
+ if(!self.track_blendrate) { self.track_blendrate = 0.35; }
}
self.respawntime = max(-1, ((!self.respawntime) ? 60 : self.respawntime));
self.tur_head.solid = SOLID_NOT;
self.tur_head.movetype = self.movetype;
- if not(self.tur_defend)
+ if(!self.tur_defend)
if(self.target != "")
{
self.tur_defend = find(world, targetname, self.target);
return FALSE;
return TRUE;
-}
\ No newline at end of file
+}
*/
void spawnfunc_turret_targettrigger()
{
- if not(autocvar_g_turrets) { remove(self); return; }
+ if(!autocvar_g_turrets) { remove(self); return; }
InitTrigger ();
/* netname */ "ewheel",
/* fullname */ _("eWheel Turret")
);
-
-#define EWHEEL_SETTINGS(turret) \
- TUR_ADD_CVAR(turret, speed_fast) \
- TUR_ADD_CVAR(turret, speed_slow) \
- TUR_ADD_CVAR(turret, speed_slower) \
- TUR_ADD_CVAR(turret, speed_stop) \
- TUR_ADD_CVAR(turret, turnrate)
-
-
-#ifdef SVQC
-EWHEEL_SETTINGS(ewheel)
-#endif // SVQC
#else
#ifdef SVQC
+float autocvar_g_turrets_unit_ewheel_speed_fast;
+float autocvar_g_turrets_unit_ewheel_speed_slow;
+float autocvar_g_turrets_unit_ewheel_speed_slower;
+float autocvar_g_turrets_unit_ewheel_speed_stop;
+float autocvar_g_turrets_unit_ewheel_turnrate;
+
const float ewheel_anim_stop = 0;
const float ewheel_anim_fwd_slow = 1;
const float ewheel_anim_fwd_fast = 2;
self.moveto = self.pathcurrent.origin;
self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
- movelib_move_simple(v_forward, TUR_CVAR(ewheel, speed_fast), 0.4);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_ewheel_speed_fast), 0.4);
}
}
if ( self.tur_head.spawnshieldtime < 1 )
{
newframe = ewheel_anim_fwd_fast;
- movelib_move_simple(v_forward, TUR_CVAR(ewheel, speed_fast), 0.4);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_ewheel_speed_fast), 0.4);
}
else if (self.tur_head.spawnshieldtime < 2)
{
newframe = ewheel_anim_fwd_slow;
- movelib_move_simple(v_forward, TUR_CVAR(ewheel, speed_slow), 0.4);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_ewheel_speed_slow), 0.4);
}
else
{
newframe = ewheel_anim_fwd_slow;
- movelib_move_simple(v_forward, TUR_CVAR(ewheel, speed_slower), 0.4);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_ewheel_speed_slower), 0.4);
}
}
else if (self.tur_dist_enemy < self.target_range_optimal * 0.5)
{
newframe = ewheel_anim_bck_slow;
- movelib_move_simple(v_forward * -1, TUR_CVAR(ewheel, speed_slow), 0.4);
+ movelib_move_simple(v_forward * -1, (autocvar_g_turrets_unit_ewheel_speed_slow), 0.4);
}
else
{
newframe = ewheel_anim_stop;
- movelib_beak_simple(TUR_CVAR(ewheel, speed_stop));
+ movelib_beak_simple((autocvar_g_turrets_unit_ewheel_speed_stop));
}
turrets_setframe(newframe, FALSE);
self.frame = 0;
if (vlen(self.velocity))
- movelib_beak_simple(TUR_CVAR(ewheel, speed_stop));
+ movelib_beak_simple((autocvar_g_turrets_unit_ewheel_speed_stop));
}
-void spawnfunc_turret_ewheel() { if not(turret_initialize(TUR_EWHEEL)) remove(self); }
+void spawnfunc_turret_ewheel() { if(!turret_initialize(TUR_EWHEEL)) remove(self); }
float t_ewheel(float req)
{
self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
// Convert from dgr / sec to dgr / tic
- self.tur_head.aim_speed = TUR_CVAR(ewheel, turnrate);
+ self.tur_head.aim_speed = (autocvar_g_turrets_unit_ewheel_turnrate);
self.tur_head.aim_speed = self.tur_head.aim_speed / (1 / self.ticrate);
return TRUE;
precache_model ("models/turrets/ewheel-gun1.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(EWHEEL_SETTINGS(ewheel))
- return TRUE;
- }
}
return TRUE;
/* netname */ "flac",
/* fullname */ _("FLAC Cannon")
);
-
-#define FLAC_SETTINGS(turret)
-
-
-#ifdef SVQC
-FLAC_SETTINGS(flac)
-#endif // SVQC
#else
#ifdef SVQC
-
void turret_flac_projectile_think_explode()
{
if(self.enemy != world)
remove(self);
}
-void spawnfunc_turret_flac() { if not(turret_initialize(TUR_FLAC)) remove(self); }
+void spawnfunc_turret_flac() { if(!turret_initialize(TUR_FLAC)) remove(self); }
float t_flac(float req)
{
precache_model ("models/turrets/flac.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(FLAC_SETTINGS(flac))
- return TRUE;
- }
}
return TRUE;
/* netname */ "fusionreactor",
/* fullname */ _("Fusion Reactor")
);
-
-#define FUSIONREACTOR_SETTINGS(turret)
-
-
-#ifdef SVQC
-FUSIONREACTOR_SETTINGS(fusionreactor)
-#endif // SVQC
#else
#ifdef SVQC
-
float turret_fusionreactor_firecheck()
{
if (self.attack_finished_single > time)
if(self.team != self.enemy.team)
return 0;
- if not (self.enemy.ammo_flags & TFL_AMMO_ENERGY)
+ if(!(self.enemy.ammo_flags & TFL_AMMO_ENERGY))
return 0;
return 1;
}
-void spawnfunc_turret_fusionreactor() { if not(turret_initialize(TUR_FUSIONREACTOR)) remove(self); }
+void spawnfunc_turret_fusionreactor() { if(!turret_initialize(TUR_FUSIONREACTOR)) remove(self); }
float t_fusionreactor(float req)
{
precache_model ("models/turrets/reactor.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(FUSIONREACTOR_SETTINGS(fusionreactor))
- return TRUE;
- }
}
return TRUE;
/* netname */ "hellion",
/* fullname */ _("Hellion Missile Turret")
);
-
-#define HELLION_SETTINGS(turret) \
- TUR_ADD_CVAR(turret, shot_speed_gain) \
- TUR_ADD_CVAR(turret, shot_speed_max)
-
-
-#ifdef SVQC
-HELLION_SETTINGS(hellion)
-#endif // SVQC
#else
#ifdef SVQC
+float autocvar_g_turrets_unit_hellion_shot_speed_gain;
+float autocvar_g_turrets_unit_hellion_shot_speed_max;
void turret_hellion_missile_think()
{
turret_projectile_explode();
// Accelerate
- self.velocity = olddir * min(vlen(self.velocity) * TUR_CVAR(hellion, shot_speed_gain), TUR_CVAR(hellion, shot_speed_max));
+ self.velocity = olddir * min(vlen(self.velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
UpdateCSQCProjectile(self);
self.angles = vectoangles(self.velocity);
// Accelerate
- self.velocity = newdir * min(vlen(self.velocity) * TUR_CVAR(hellion, shot_speed_gain), TUR_CVAR(hellion, shot_speed_max));
+ self.velocity = newdir * min(vlen(self.velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
if (itime < 0.05)
self.think = turret_projectile_explode;
UpdateCSQCProjectile(self);
}
-void spawnfunc_turret_hellion() { if not(turret_initialize(TUR_HELLION)) remove(self); }
+void spawnfunc_turret_hellion() { if(!turret_initialize(TUR_HELLION)) remove(self); }
float t_hellion(float req)
{
precache_model ("models/turrets/hellion.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(HELLION_SETTINGS(hellion))
- return TRUE;
- }
}
return TRUE;
/* netname */ "hk",
/* fullname */ _("Hunter-Killer Turret")
);
-
-#define HK_SETTINGS(turret) \
- TUR_ADD_CVAR(turret, shot_speed) \
- TUR_ADD_CVAR(turret, shot_speed_accel) \
- TUR_ADD_CVAR(turret, shot_speed_accel2) \
- TUR_ADD_CVAR(turret, shot_speed_decel) \
- TUR_ADD_CVAR(turret, shot_speed_max) \
- TUR_ADD_CVAR(turret, shot_speed_turnrate)
-
-
-#ifdef SVQC
-HK_SETTINGS(hk)
-#endif // SVQC
#else
#ifdef SVQC
+float autocvar_g_turrets_unit_hk_shot_speed;
+float autocvar_g_turrets_unit_hk_shot_speed_accel;
+float autocvar_g_turrets_unit_hk_shot_speed_accel2;
+float autocvar_g_turrets_unit_hk_shot_speed_decel;
+float autocvar_g_turrets_unit_hk_shot_speed_max;
+float autocvar_g_turrets_unit_hk_shot_speed_turnrate;
//#define TURRET_DEBUG_HK
ad = vlen(vectoangles(normalize(self.enemy.origin - self.origin)) - self.angles);
// To close to something, Slow down!
- if ( ((ff < 0.7) || (ad > 4)) && (myspeed > TUR_CVAR(hk, shot_speed)) )
- myspeed = max(myspeed * TUR_CVAR(hk, shot_speed_decel), TUR_CVAR(hk, shot_speed));
+ if ( ((ff < 0.7) || (ad > 4)) && (myspeed > (autocvar_g_turrets_unit_hk_shot_speed)) )
+ myspeed = max(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_decel), (autocvar_g_turrets_unit_hk_shot_speed));
// Failry clear, accelerate.
- if ( (ff > 0.7) && (myspeed < TUR_CVAR(hk, shot_speed_max)) )
- myspeed = min(myspeed * TUR_CVAR(hk, shot_speed_accel), TUR_CVAR(hk, shot_speed_max));
+ if ( (ff > 0.7) && (myspeed < (autocvar_g_turrets_unit_hk_shot_speed_max)) )
+ myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel), (autocvar_g_turrets_unit_hk_shot_speed_max));
// Setup trace pitch
pt_seek = 1 - ff;
{
// Got a clear path to target, speed up fast (if not at full speed) and go straight for it.
myspeed = vlen(self.velocity);
- if (myspeed < TUR_CVAR(hk, shot_speed_max))
- myspeed = min(myspeed * TUR_CVAR(hk, shot_speed_accel2),TUR_CVAR(hk, shot_speed_max));
+ if (myspeed < (autocvar_g_turrets_unit_hk_shot_speed_max))
+ myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel2),(autocvar_g_turrets_unit_hk_shot_speed_max));
wishdir = ve;
}
- if ((myspeed > TUR_CVAR(hk, shot_speed)) && (self.cnt > time))
- myspeed = min(myspeed * TUR_CVAR(hk, shot_speed_accel2),TUR_CVAR(hk, shot_speed_max));
+ if ((myspeed > (autocvar_g_turrets_unit_hk_shot_speed)) && (self.cnt > time))
+ myspeed = min(myspeed * (autocvar_g_turrets_unit_hk_shot_speed_accel2),(autocvar_g_turrets_unit_hk_shot_speed_max));
// Ranoutagazfish?
if (self.cnt < time)
// Calculate new heading
olddir = normalize(self.velocity);
- newdir = normalize(olddir + wishdir * TUR_CVAR(hk, shot_speed_turnrate));
+ newdir = normalize(olddir + wishdir * (autocvar_g_turrets_unit_hk_shot_speed_turnrate));
// Set heading & speed
self.velocity = newdir * myspeed;
return 0;
}
-void spawnfunc_turret_hk() { if not(turret_initialize(TUR_HK)) remove(self); }
+void spawnfunc_turret_hk() { if(!turret_initialize(TUR_HK)) remove(self); }
float t_hk(float req)
{
precache_model ("models/turrets/hk.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(HK_SETTINGS(hk))
- return TRUE;
- }
}
return TRUE;
/* netname */ "machinegun",
/* fullname */ _("Machinegun Turret")
);
-
-#define MACHINEGUN_SETTINGS(turret)
-
-
-#ifdef SVQC
-MACHINEGUN_SETTINGS(machinegun)
-#endif // SVQC
#else
#ifdef SVQC
-
-void spawnfunc_turret_machinegun() { if not(turret_initialize(TUR_MACHINEGUN)) remove(self); }
+void spawnfunc_turret_machinegun() { if(!turret_initialize(TUR_MACHINEGUN)) remove(self); }
float t_machinegun(float req)
{
{
case TR_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, 1, 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");
self.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK;
self.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
self.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
-
- if not(autocvar_g_antilag_bullets)
- self.turret_flags |= TUR_FLAG_HITSCAN;
+ self.turret_flags |= TUR_FLAG_HITSCAN;
return TRUE;
}
precache_sound ("weapons/uzi_fire.wav");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(MACHINEGUN_SETTINGS(machinegun))
- return TRUE;
- }
}
return TRUE;
/* netname */ "mlrs",
/* fullname */ _("MLRS Turret")
);
-
-#define MLRS_SETTINGS(turret)
-
-
-#ifdef SVQC
-MLRS_SETTINGS(mlrs)
-#endif // SVQC
#else
#ifdef SVQC
-
-void spawnfunc_turret_mlrs() { if not(turret_initialize(TUR_MLRS)) remove(self); }
+void spawnfunc_turret_mlrs() { if(!turret_initialize(TUR_MLRS)) remove(self); }
float t_mlrs(float req)
{
precache_model ("models/turrets/mlrs.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(MLRS_SETTINGS(mlrs))
- return TRUE;
- }
}
return TRUE;
/* netname */ "phaser",
/* fullname */ _("Phaser Cannon")
);
-
-#define PHASER_SETTINGS(turret)
-
-
-#ifdef SVQC
-PHASER_SETTINGS(phaser)
-#endif // SVQC
#else
#ifdef SVQC
-
.float fireflag;
float turret_phaser_firecheck()
}
-void spawnfunc_turret_phaser() { if not(turret_initialize(TUR_PHASER)) remove(self); }
+void spawnfunc_turret_phaser() { if(!turret_initialize(TUR_PHASER)) remove(self); }
float t_phaser(float req)
{
precache_sound ("turrets/phaser.wav");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(PHASER_SETTINGS(phaser))
- return TRUE;
- }
}
return TRUE;
/* netname */ "plasma",
/* fullname */ _("Plasma Cannon")
);
-
-#define PLASMA_SETTINGS(turret)
-
-
-#ifdef SVQC
-PLASMA_SETTINGS(plasma)
-#endif // SVQC
#else
#ifdef SVQC
-
-void spawnfunc_turret_plasma() { if not(turret_initialize(TUR_PLASMA)) remove(self); }
+void spawnfunc_turret_plasma() { if(!turret_initialize(TUR_PLASMA)) remove(self); }
float t_plasma(float req)
{
FireRailgunBullet (self.tur_shotorg, self.tur_shotorg + self.tur_shotdir_updated * MAX_SHOT_DISTANCE, 10000000000,
800, 0, 0, 0, 0, DEATH_TURRET_PLASMA);
-
pointparticles(particleeffectnum("nex_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1);
// teamcolor / hit beam effect
vector v;
+ string s;
v = WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos);
- if(teamplay)
- {
- switch(self.team)
- {
- case NUM_TEAM_1: // Red
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3RED"), self.tur_shotorg, v);
- break;
- case NUM_TEAM_2: // Blue
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3BLUE"), self.tur_shotorg, v);
- break;
- case NUM_TEAM_3: // Yellow
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3YELLOW"), self.tur_shotorg, v);
- break;
- case NUM_TEAM_4: // Pink
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3PINK"), self.tur_shotorg, v);
- break;
- }
- }
- else
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3"), self.tur_shotorg, v);
+ s = strcat("TE_TEI_G3", Static_Team_ColorName_Upper(self.team));
+
+ WarpZone_TrailParticles(world, particleeffectnum(s), self.tur_shotorg, v);
+
if (self.tur_head.frame == 0)
self.tur_head.frame = 1;
}
precache_model ("models/turrets/plasma.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(PLASMA_SETTINGS(plasma))
- return TRUE;
- }
}
return TRUE;
/* netname */ "plasma_dual",
/* fullname */ _("Dual Plasma Cannon")
);
-
-#define PLASMA_DUAL_SETTINGS(turret)
-
-
-#ifdef SVQC
-PLASMA_DUAL_SETTINGS(plasma_dual)
-#endif // SVQC
#else
#ifdef SVQC
-
-void spawnfunc_turret_plasma_dual() { if not(turret_initialize(TUR_PLASMA_DUAL)) remove(self); }
+void spawnfunc_turret_plasma_dual() { if(!turret_initialize(TUR_PLASMA_DUAL)) remove(self); }
float t_plasma_dual(float req)
{
// teamcolor / hit beam effect
vector v;
+ string s;
v = WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos);
- if(teamplay)
- {
- switch(self.team)
- {
- case NUM_TEAM_1: // Red
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3RED"), self.tur_shotorg, v);
- break;
- case NUM_TEAM_2: // Blue
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3BLUE"), self.tur_shotorg, v);
- break;
- case NUM_TEAM_3: // Yellow
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3YELLOW"), self.tur_shotorg, v);
- break;
- case NUM_TEAM_4: // Pink
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3PINK"), self.tur_shotorg, v);
- break;
- }
- }
- else
- WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3"), self.tur_shotorg, v);
+ s = strcat("TE_TEI_G3", Static_Team_ColorName_Upper(self.team));
+
+ WarpZone_TrailParticles(world, particleeffectnum(s), self.tur_shotorg, v);
self.tur_head.frame += 1;
}
precache_model ("models/turrets/plasmad.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(PLASMA_DUAL_SETTINGS(plasma_dual))
- return TRUE;
- }
}
return TRUE;
/* netname */ "tesla",
/* fullname */ _("Tesla Coil")
);
-
-#define TESLA_SETTINGS(turret)
-
-
-#ifdef SVQC
-TESLA_SETTINGS(tesla)
-#endif // SVQC
#else
#ifdef SVQC
-
entity toast(entity from, float range, float damage)
{
entity e;
self.target_select_time = time;
}
- if not (turret_firecheck())
+ if(!turret_firecheck())
return 0;
if(self.enemy)
return 0;
}
-void spawnfunc_turret_tesla() { if not(turret_initialize(TUR_TESLA)) remove(self); }
+void spawnfunc_turret_tesla() { if(!turret_initialize(TUR_TESLA)) remove(self); }
float t_tesla(float req)
{
}
case TR_THINK:
{
- if not (self.active)
+ if(!self.active)
{
self.tur_head.avelocity = '0 0 0';
return TRUE;
precache_model ("models/turrets/tesla_head.md3");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(TESLA_SETTINGS(tesla))
- return TRUE;
- }
}
return TRUE;
/* netname */ "walker",
/* fullname */ _("Walker Turret")
);
-
-#define WALKER_SETTINGS(turret) \
- TUR_ADD_CVAR(turret, melee_damage) \
- TUR_ADD_CVAR(turret, melee_force) \
- TUR_ADD_CVAR(turret, melee_range) \
- TUR_ADD_CVAR(turret, rocket_damage) \
- TUR_ADD_CVAR(turret, rocket_radius) \
- TUR_ADD_CVAR(turret, rocket_force) \
- TUR_ADD_CVAR(turret, rocket_speed) \
- TUR_ADD_CVAR(turret, rocket_range) \
- TUR_ADD_CVAR(turret, rocket_range_min) \
- TUR_ADD_CVAR(turret, rocket_refire) \
- TUR_ADD_CVAR(turret, rocket_turnrate) \
- TUR_ADD_CVAR(turret, speed_stop) \
- TUR_ADD_CVAR(turret, speed_walk) \
- TUR_ADD_CVAR(turret, speed_run) \
- TUR_ADD_CVAR(turret, speed_jump) \
- TUR_ADD_CVAR(turret, speed_swim) \
- TUR_ADD_CVAR(turret, speed_roam) \
- TUR_ADD_CVAR(turret, turn) \
- TUR_ADD_CVAR(turret, turn_walk) \
- TUR_ADD_CVAR(turret, turn_strafe) \
- TUR_ADD_CVAR(turret, turn_swim) \
- TUR_ADD_CVAR(turret, turn_run)
-
-
-#ifdef SVQC
-WALKER_SETTINGS(walker)
-#endif // SVQC
#else
#ifdef SVQC
+float autocvar_g_turrets_unit_walker_melee_damage;
+float autocvar_g_turrets_unit_walker_melee_force;
+float autocvar_g_turrets_unit_walker_melee_range;
+float autocvar_g_turrets_unit_walker_rocket_damage;
+float autocvar_g_turrets_unit_walker_rocket_radius;
+float autocvar_g_turrets_unit_walker_rocket_force;
+float autocvar_g_turrets_unit_walker_rocket_speed;
+float autocvar_g_turrets_unit_walker_rocket_range;
+float autocvar_g_turrets_unit_walker_rocket_range_min;
+float autocvar_g_turrets_unit_walker_rocket_refire;
+float autocvar_g_turrets_unit_walker_rocket_turnrate;
+float autocvar_g_turrets_unit_walker_speed_stop;
+float autocvar_g_turrets_unit_walker_speed_walk;
+float autocvar_g_turrets_unit_walker_speed_run;
+float autocvar_g_turrets_unit_walker_speed_jump;
+float autocvar_g_turrets_unit_walker_speed_swim;
+float autocvar_g_turrets_unit_walker_speed_roam;
+float autocvar_g_turrets_unit_walker_turn;
+float autocvar_g_turrets_unit_walker_turn_walk;
+float autocvar_g_turrets_unit_walker_turn_strafe;
+float autocvar_g_turrets_unit_walker_turn_swim;
+float autocvar_g_turrets_unit_walker_turn_run;
#define ANIM_NO 0
#define ANIM_TURN 1
{
if (turret_validate_target(self, e, self.target_validate_flags))
if (e != self && e.owner != self)
- Damage(e, self, self, TUR_CVAR(walker, melee_damage), DEATH_TURRET_WALK_MELEE, '0 0 0', v_forward * TUR_CVAR(walker, melee_force));
+ Damage(e, self, self, (autocvar_g_turrets_unit_walker_melee_damage), DEATH_TURRET_WALK_MELEE, '0 0 0', v_forward * (autocvar_g_turrets_unit_walker_melee_force));
e = e.chain;
}
}
void walker_rocket_explode()
{
- RadiusDamage (self, self.owner, TUR_CVAR(walker, rocket_damage), 0, TUR_CVAR(walker, rocket_radius), self, TUR_CVAR(walker, rocket_force), DEATH_TURRET_WALK_ROCKET, world);
+ RadiusDamage (self, self.owner, (autocvar_g_turrets_unit_walker_rocket_damage), 0, (autocvar_g_turrets_unit_walker_rocket_radius), self, (autocvar_g_turrets_unit_walker_rocket_force), DEATH_TURRET_WALK_ROCKET, world);
remove (self);
}
W_PrepareExplosionByDamage(self.owner, walker_rocket_explode);
}
-#define WALKER_ROCKET_MOVE movelib_move_simple(newdir, TUR_CVAR(walker, rocket_speed), TUR_CVAR(walker, rocket_turnrate)); UpdateCSQCProjectile(self)
+#define WALKER_ROCKET_MOVE movelib_move_simple(newdir, (autocvar_g_turrets_unit_walker_rocket_speed), (autocvar_g_turrets_unit_walker_rocket_turnrate)); UpdateCSQCProjectile(self)
void walker_rocket_loop();
void walker_rocket_think()
{
rocket.nextthink = time;
rocket.movetype = MOVETYPE_FLY;
- rocket.velocity = normalize((v_forward + v_up * 0.5) + (randomvec() * 0.2)) * TUR_CVAR(walker, rocket_speed);
+ rocket.velocity = normalize((v_forward + v_up * 0.5) + (randomvec() * 0.2)) * (autocvar_g_turrets_unit_walker_rocket_speed);
rocket.angles = vectoangles(rocket.velocity);
rocket.touch = walker_rocket_explode;
rocket.flags = FL_PROJECTILE;
#endif
}
-void spawnfunc_turret_walker() { if not(turret_initialize(TUR_WALKER)) remove(self); }
+void spawnfunc_turret_walker() { if(!turret_initialize(TUR_WALKER)) remove(self); }
float t_walker(float req)
{
case TR_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, 1, 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);
return TRUE;
}
else
{
- if (self.tur_dist_enemy < TUR_CVAR(walker, melee_range) && self.animflag != ANIM_MELEE)
+ if (self.tur_dist_enemy < (autocvar_g_turrets_unit_walker_melee_range) && self.animflag != ANIM_MELEE)
{
vector wish_angle;
self.tur_head.shot_volly = self.tur_head.shot_volly -1;
if(self.tur_head.shot_volly == 0)
- self.tur_head.attack_finished_single = time + TUR_CVAR(walker, rocket_refire);
+ self.tur_head.attack_finished_single = time + (autocvar_g_turrets_unit_walker_rocket_refire);
else
self.tur_head.attack_finished_single = time + 0.2;
}
else
{
- if (self.tur_dist_enemy > TUR_CVAR(walker, rocket_range_min))
- if (self.tur_dist_enemy < TUR_CVAR(walker, rocket_range))
+ if (self.tur_dist_enemy > (autocvar_g_turrets_unit_walker_rocket_range_min))
+ if (self.tur_dist_enemy < (autocvar_g_turrets_unit_walker_rocket_range))
self.tur_head.shot_volly = 4;
}
}
switch (self.animflag)
{
case ANIM_NO:
- movelib_beak_simple(TUR_CVAR(walker, speed_stop));
+ movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_TURN:
- turny = TUR_CVAR(walker, turn);
- movelib_beak_simple(TUR_CVAR(walker, speed_stop));
+ turny = (autocvar_g_turrets_unit_walker_turn);
+ movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_WALK:
- turny = TUR_CVAR(walker, turn_walk);
- movelib_move_simple(v_forward, TUR_CVAR(walker, speed_walk), 0.6);
+ turny = (autocvar_g_turrets_unit_walker_turn_walk);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_walk), 0.6);
break;
case ANIM_RUN:
- turny = TUR_CVAR(walker, turn_run);
- movelib_move_simple(v_forward, TUR_CVAR(walker, speed_run), 0.6);
+ turny = (autocvar_g_turrets_unit_walker_turn_run);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_run), 0.6);
break;
case ANIM_STRAFE_L:
- turny = TUR_CVAR(walker, turn_strafe);
- movelib_move_simple(v_right * -1, TUR_CVAR(walker, speed_walk), 0.8);
+ turny = (autocvar_g_turrets_unit_walker_turn_strafe);
+ movelib_move_simple(v_right * -1, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
break;
case ANIM_STRAFE_R:
- turny = TUR_CVAR(walker, turn_strafe);
- movelib_move_simple(v_right, TUR_CVAR(walker, speed_walk), 0.8);
+ turny = (autocvar_g_turrets_unit_walker_turn_strafe);
+ movelib_move_simple(v_right, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
break;
case ANIM_JUMP:
- self.velocity += '0 0 1' * TUR_CVAR(walker, speed_jump);
+ self.velocity += '0 0 1' * (autocvar_g_turrets_unit_walker_speed_jump);
break;
case ANIM_LAND:
defer(0.21, walker_melee_do_dmg);
}
- movelib_beak_simple(TUR_CVAR(walker, speed_stop));
+ movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_SWIM:
- turny = TUR_CVAR(walker, turn_swim);
- turnx = TUR_CVAR(walker, turn_swim);
+ turny = (autocvar_g_turrets_unit_walker_turn_swim);
+ turnx = (autocvar_g_turrets_unit_walker_turn_swim);
self.angles_x += bound(-10, shortangle_f(real_angle_x, self.angles_x), 10);
- movelib_move_simple(v_forward, TUR_CVAR(walker, speed_swim), 0.3);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_swim), 0.3);
vz = self.velocity_z + sin(time * 4) * 8;
break;
case ANIM_ROAM:
- turny = TUR_CVAR(walker, turn_walk);
- movelib_move_simple(v_forward ,TUR_CVAR(walker, speed_roam), 0.5);
+ turny = (autocvar_g_turrets_unit_walker_turn_walk);
+ movelib_move_simple(v_forward ,(autocvar_g_turrets_unit_walker_speed_roam), 0.5);
break;
}
self.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
self.aim_flags = TFL_AIM_LEAD;
-
- if (autocvar_g_antilag_bullets)
- self.turret_flags |= TUR_FLAG_HITSCAN;
- else
- self.aim_flags |= TFL_AIM_SHOTTIMECOMPENSATE;
+ self.turret_flags |= TUR_FLAG_HITSCAN;
self.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
precache_sound ("weapons/rocket_impact.wav");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(WALKER_SETTINGS(walker))
- return TRUE;
- }
}
return TRUE;
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;
}
float dist_point_line(vector p, vector l0, vector ldir)
{
ldir = normalize(ldir);
-
+
// remove the component in line direction
p = p - (p * ldir) * ldir;
string fstrunzone(string s)
{
string sc;
- if not(s)
+ if (!s)
return s;
sc = strcat(s, "");
strunzone(s);
{
float fh, i, n;
fh = fopen(pFilename, FILE_WRITE);
- if(fh < 0)
+ if(fh < 0)
{
print(strcat("^1Can't write DB to ", pFilename));
return;
valstr = TIME_ENCODED_TOSTRING(pValue);
else
valstr = ftos(pValue);
-
+
return valstr;
}
neworder = strcat(neworder, ftos(w), " ");
}
}
-
+
return substring(neworder, 0, strlen(neworder) - 1);
}
neworder = "";
for(i = 0; i < n; ++i)
neworder = strcat(neworder, mapfunc(argv(i)), " ");
-
+
return substring(neworder, 0, strlen(neworder) - 1);
}
}
return substring(s, 0, strlen(s) - 1);
}
-
+
return order;
}
created_saved_value = 0;
- if not(tmp_cvar || tmp_value)
+ if (!(tmp_cvar || tmp_value))
{
dprint("Error: Invalid usage of cvar_settemp(string, string); !\n");
return 0;
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;
}
++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;
hsv_y = 0;
else
hsv_y = 1 - mi/ma;
-
+
return hsv;
}
ma = max(rgb_x, rgb_y, rgb_z);
hsl_x = rgb_mi_ma_to_hue(rgb, mi, ma);
-
+
hsl_z = 0.5 * (mi + ma);
if(mi == ma)
hsl_y = 0;
hsl_y = (ma - mi) / (2*hsl_z);
else // if(hsl_z > 0.5)
hsl_y = (ma - mi) / (2 - 2*hsl_z);
-
+
return hsl;
}
maminusmi = hsl_y * 2 * hsl_z;
else
maminusmi = hsl_y * (2 - 2 * hsl_z);
-
+
// hsl_z = 0.5 * mi + 0.5 * ma
// maminusmi = - mi + ma
mi = hsl_z - 0.5 * maminusmi;
// terminate, as the range still halves each time - but nevertheless, it is
// guaranteed that it finds ONE valid cutoff place (where "left" is in
// range, and "right" is outside).
-
+
// terencehill: the following code detects truncated ^xrgb tags (e.g. ^x or ^x4)
// and decrease left on the basis of the chars detected of the truncated tag
// Even if the ^xrgb tag is not complete/correct, left is decreased
}
}
}
-
+
return left;
}
// terminate, as the range still halves each time - but nevertheless, it is
// guaranteed that it finds ONE valid cutoff place (where "left" is in
// range, and "right" is outside).
-
+
// terencehill: the following code detects truncated ^xrgb tags (e.g. ^x or ^x4)
// and decrease left on the basis of the chars detected of the truncated tag
// Even if the ^xrgb tag is not complete/correct, left is decreased
}
}
}
-
+
return left;
}
++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)
string s;
s = getWrappedLine_remaining;
-
+
if(w <= 0)
{
getWrappedLine_remaining = string_null;
string s;
s = getWrappedLine_remaining;
-
+
if(w <= 0)
{
getWrappedLine_remaining = string_null;
if(strstrofs(strcat(",", pattern, ","), subpattern2, 0) < 0)
if(strstrofs(strcat(",", pattern, ","), subpattern3, 0) < 0)
{
- if not(subpattern4)
+ if (!subpattern4)
return 0;
if(strstrofs(strcat(",", pattern, ","), subpattern4, 0) < 0)
return 0;
error("fteqcc bug introduced with revision 3178 detected. Please upgrade fteqcc to a later revision, downgrade fteqcc to revision 3177, or pester Spike until he fixes it. You can set _allow_unacceptable_compiler_bugs 1 to skip this check, but expect stuff to be horribly broken then.");
string s = "";
- if not(s)
+ if (!s)
error("The empty string counts as false. We do not want that!");
}
}
get_model_parameters_fixbone = 0;
- if not(m)
+ if (!m)
return 1;
if(substring(m, -9, 5) == "_lod1" || substring(m, -9, 5) == "_lod2")
case "true":
case "on":
return TRUE;
-
+
case "no":
case "false":
case "off":
return FALSE;
-
+
default: return stof(input);
}
}
/*
// if this is the case, the possible zeros of the first derivative are outside
// 0..1
- We can calculate this condition as condition
+ We can calculate this condition as condition
if(se <= 3)
return TRUE;
*/
Therefore: there is an inflection point iff:
e outside (3 - s)/2 .. 3 - s*2
-
+
in other words, if (s,e) in triangle (1,1)(0,3)(0,1.5) or in triangle (1,1)(3,0)(1.5,0)
*/
}
string CCR(string input)
{
// See the autocvar declarations in util.qh for default values
-
+
// foreground/normal colors
- input = strreplace("^F1", strcat("^", autocvar_hud_colorset_foreground_1), input);
- input = strreplace("^F2", strcat("^", autocvar_hud_colorset_foreground_2), input);
- input = strreplace("^F3", strcat("^", autocvar_hud_colorset_foreground_3), input);
- input = strreplace("^F4", strcat("^", autocvar_hud_colorset_foreground_4), input);
+ input = strreplace("^F1", strcat("^", autocvar_hud_colorset_foreground_1), input);
+ input = strreplace("^F2", strcat("^", autocvar_hud_colorset_foreground_2), input);
+ input = strreplace("^F3", strcat("^", autocvar_hud_colorset_foreground_3), input);
+ input = strreplace("^F4", strcat("^", autocvar_hud_colorset_foreground_4), input);
// "kill" colors
input = strreplace("^K1", strcat("^", autocvar_hud_colorset_kill_1), input);
switch(num)
{
case 10: return ANNCE_NUM_GAMESTART_10;
- case 9: return ANNCE_NUM_GAMESTART_9;
- case 8: return ANNCE_NUM_GAMESTART_8;
- case 7: return ANNCE_NUM_GAMESTART_7;
- case 6: return ANNCE_NUM_GAMESTART_6;
- case 5: return ANNCE_NUM_GAMESTART_5;
- case 4: return ANNCE_NUM_GAMESTART_4;
- case 3: return ANNCE_NUM_GAMESTART_3;
- case 2: return ANNCE_NUM_GAMESTART_2;
- case 1: return ANNCE_NUM_GAMESTART_1;
+ case 9: return ANNCE_NUM_GAMESTART_9;
+ case 8: return ANNCE_NUM_GAMESTART_8;
+ case 7: return ANNCE_NUM_GAMESTART_7;
+ case 6: return ANNCE_NUM_GAMESTART_6;
+ case 5: return ANNCE_NUM_GAMESTART_5;
+ case 4: return ANNCE_NUM_GAMESTART_4;
+ case 3: return ANNCE_NUM_GAMESTART_3;
+ case 2: return ANNCE_NUM_GAMESTART_2;
+ case 1: return ANNCE_NUM_GAMESTART_1;
}
break;
}
switch(num)
{
case 10: return ANNCE_NUM_IDLE_10;
- case 9: return ANNCE_NUM_IDLE_9;
- case 8: return ANNCE_NUM_IDLE_8;
- case 7: return ANNCE_NUM_IDLE_7;
- case 6: return ANNCE_NUM_IDLE_6;
- case 5: return ANNCE_NUM_IDLE_5;
- case 4: return ANNCE_NUM_IDLE_4;
- case 3: return ANNCE_NUM_IDLE_3;
- case 2: return ANNCE_NUM_IDLE_2;
- case 1: return ANNCE_NUM_IDLE_1;
+ case 9: return ANNCE_NUM_IDLE_9;
+ case 8: return ANNCE_NUM_IDLE_8;
+ case 7: return ANNCE_NUM_IDLE_7;
+ case 6: return ANNCE_NUM_IDLE_6;
+ case 5: return ANNCE_NUM_IDLE_5;
+ case 4: return ANNCE_NUM_IDLE_4;
+ case 3: return ANNCE_NUM_IDLE_3;
+ case 2: return ANNCE_NUM_IDLE_2;
+ case 1: return ANNCE_NUM_IDLE_1;
}
break;
}
switch(num)
{
case 10: return ANNCE_NUM_KILL_10;
- case 9: return ANNCE_NUM_KILL_9;
- case 8: return ANNCE_NUM_KILL_8;
- case 7: return ANNCE_NUM_KILL_7;
- case 6: return ANNCE_NUM_KILL_6;
- case 5: return ANNCE_NUM_KILL_5;
- case 4: return ANNCE_NUM_KILL_4;
- case 3: return ANNCE_NUM_KILL_3;
- case 2: return ANNCE_NUM_KILL_2;
- case 1: return ANNCE_NUM_KILL_1;
+ case 9: return ANNCE_NUM_KILL_9;
+ case 8: return ANNCE_NUM_KILL_8;
+ case 7: return ANNCE_NUM_KILL_7;
+ case 6: return ANNCE_NUM_KILL_6;
+ case 5: return ANNCE_NUM_KILL_5;
+ case 4: return ANNCE_NUM_KILL_4;
+ case 3: return ANNCE_NUM_KILL_3;
+ case 2: return ANNCE_NUM_KILL_2;
+ case 1: return ANNCE_NUM_KILL_1;
}
break;
}
switch(num)
{
case 10: return ANNCE_NUM_RESPAWN_10;
- case 9: return ANNCE_NUM_RESPAWN_9;
- case 8: return ANNCE_NUM_RESPAWN_8;
- case 7: return ANNCE_NUM_RESPAWN_7;
- case 6: return ANNCE_NUM_RESPAWN_6;
- case 5: return ANNCE_NUM_RESPAWN_5;
- case 4: return ANNCE_NUM_RESPAWN_4;
- case 3: return ANNCE_NUM_RESPAWN_3;
- case 2: return ANNCE_NUM_RESPAWN_2;
- case 1: return ANNCE_NUM_RESPAWN_1;
+ case 9: return ANNCE_NUM_RESPAWN_9;
+ case 8: return ANNCE_NUM_RESPAWN_8;
+ case 7: return ANNCE_NUM_RESPAWN_7;
+ case 6: return ANNCE_NUM_RESPAWN_6;
+ case 5: return ANNCE_NUM_RESPAWN_5;
+ case 4: return ANNCE_NUM_RESPAWN_4;
+ case 3: return ANNCE_NUM_RESPAWN_3;
+ case 2: return ANNCE_NUM_RESPAWN_2;
+ case 1: return ANNCE_NUM_RESPAWN_1;
}
break;
}
switch(num)
{
case 10: return ANNCE_NUM_ROUNDSTART_10;
- case 9: return ANNCE_NUM_ROUNDSTART_9;
- case 8: return ANNCE_NUM_ROUNDSTART_8;
- case 7: return ANNCE_NUM_ROUNDSTART_7;
- case 6: return ANNCE_NUM_ROUNDSTART_6;
- case 5: return ANNCE_NUM_ROUNDSTART_5;
- case 4: return ANNCE_NUM_ROUNDSTART_4;
- case 3: return ANNCE_NUM_ROUNDSTART_3;
- case 2: return ANNCE_NUM_ROUNDSTART_2;
- case 1: return ANNCE_NUM_ROUNDSTART_1;
+ case 9: return ANNCE_NUM_ROUNDSTART_9;
+ case 8: return ANNCE_NUM_ROUNDSTART_8;
+ case 7: return ANNCE_NUM_ROUNDSTART_7;
+ case 6: return ANNCE_NUM_ROUNDSTART_6;
+ case 5: return ANNCE_NUM_ROUNDSTART_5;
+ case 4: return ANNCE_NUM_ROUNDSTART_4;
+ case 3: return ANNCE_NUM_ROUNDSTART_3;
+ case 2: return ANNCE_NUM_ROUNDSTART_2;
+ case 1: return ANNCE_NUM_ROUNDSTART_1;
}
break;
}
switch(num)
{
case 10: return ANNCE_NUM_10;
- case 9: return ANNCE_NUM_9;
- case 8: return ANNCE_NUM_8;
- case 7: return ANNCE_NUM_7;
- case 6: return ANNCE_NUM_6;
- case 5: return ANNCE_NUM_5;
- case 4: return ANNCE_NUM_4;
- case 3: return ANNCE_NUM_3;
- case 2: return ANNCE_NUM_2;
- case 1: return ANNCE_NUM_1;
+ case 9: return ANNCE_NUM_9;
+ case 8: return ANNCE_NUM_8;
+ case 7: return ANNCE_NUM_7;
+ case 6: return ANNCE_NUM_6;
+ case 5: return ANNCE_NUM_5;
+ case 4: return ANNCE_NUM_4;
+ case 3: return ANNCE_NUM_3;
+ case 2: return ANNCE_NUM_2;
+ case 1: return ANNCE_NUM_1;
}
break;
}
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;
+}
// a dummy macro that prevents the "hanging ;" warning
#define ENDS_WITH_CURLY_BRACE
+#ifdef GMQCC
+# define ACCUMULATE_FUNCTION(func,otherfunc) \
+ [[accumulate]] void func() { otherfunc(); }
+# define CALL_ACCUMULATED_FUNCTION(func) \
+ func()
+#else
#ifdef HAVE_YO_DAWG_CPP
// TODO make ascii art pic of xzibit
// YO DAWG!
# define CALL_ACCUMULATED_FUNCTION(func) \
ACCUMULATE_call(#func)
#endif
+#endif
// used for simplifying ACCUMULATE_FUNCTIONs
#define SET_FIRST_OR_LAST(input,first,count) if(!input) { input = (first + count); }
#define SET_FIELD_COUNT(field,first,count) if(!field) { field = (first + count); ++count; }
-#define CHECK_MAX_COUNT(name,max,count,type) if(count == max) { error(strcat("Maximum ", type, " hit: ", #name, ": ", ftos(count), ".\n")); }
+#define CHECK_MAX_COUNT(name,max,count,type) if(count > max) { error(strcat("Maximum ", type, " hit: ", #name, ": ", ftos(count), ".\n")); }
// this returns a tempstring containing a copy of s with additional \n newlines added, it also replaces \n in the text with a real newline
// NOTE: s IS allowed to be a tempstring
// modulo function
#ifndef MENUQC
-float mod(float a, float b) { return a - (floor(a / b) * b); }
+float mod(float a, float b) { return a - (floor(a / b) * b); }
#endif
#define TIME_TO_NTHS(t,n) floor((t) * (n) + 0.4)
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
// 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
#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);
void CSQCModel_Read(float isnew)
{
float sf;
- sf = ReadShort();
+ sf = ReadInt24_t();
// some nice flags for CSQCMODEL_IF and the hooks
local noref float isplayer = (self.entnum >= 1 && self.entnum <= maxclients);
#undef CSQCMODEL_IF
if(sf & CSQCMODEL_PROPERTY_MODELINDEX)
+ {
+ vector pmin = self.mins, pmax = self.maxs;
setmodelindex(self, self.modelindex); // this retrieves the .model key and sets mins/maxs/absmin/absmax
- // FIXME do we WANT this to override mins/maxs?
+ setsize(self, pmin, pmax);
+ }
if(sf & CSQCMODEL_PROPERTY_TELEPORTED)
{
self.iflags |= IFLAG_TELEPORTED;
self.csqcmodel_teleported = 1;
}
-
+
CSQCModel_InterpolateAnimation_Note(sf);
InterpolateOrigin_Note();
CSQCPlayer_PostUpdate();
// 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;
}
.float frame2time;
.float lerpfrac;
-#define CSQCMODEL_PROPERTY_FRAME 32768
-#define CSQCMODEL_PROPERTY_TELEPORTED 16384 // the "teleport bit" cancelling interpolation
-#define CSQCMODEL_PROPERTY_MODELINDEX 8192
-#define CSQCMODEL_PROPERTY_ORIGIN 4096
-#define CSQCMODEL_PROPERTY_YAW 2048
-#define CSQCMODEL_PROPERTY_PITCHROLL 1024
-#define CSQCMODEL_PROPERTY_FRAME2 512
-#define CSQCMODEL_PROPERTY_LERPFRAC 256
+#define CSQCMODEL_PROPERTY_FRAME 8388608
+#define CSQCMODEL_PROPERTY_TELEPORTED 4194304 // the "teleport bit" cancelling interpolation
+#define CSQCMODEL_PROPERTY_MODELINDEX 2097152
+#define CSQCMODEL_PROPERTY_ORIGIN 1048576
+#define CSQCMODEL_PROPERTY_YAW 524288
+#define CSQCMODEL_PROPERTY_PITCHROLL 262144
+#define CSQCMODEL_PROPERTY_FRAME2 131072
+#define CSQCMODEL_PROPERTY_LERPFRAC 65536
+#define CSQCMODEL_PROPERTY_SIZE 32768
#define ALLPROPERTIES_COMMON \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_FRAME, float, ReadByte, WriteByte, frame) \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_ORIGIN, float, ReadCoord, WriteCoord, origin_x) \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_ORIGIN, float, ReadCoord, WriteCoord, origin_y) \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_ORIGIN, float, ReadCoord, WriteCoord, origin_z) \
+ CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, float, ReadShort, WriteShort, mins_x) \
+ CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, float, ReadShort, WriteShort, mins_y) \
+ CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, float, ReadShort, WriteShort, mins_z) \
+ CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, float, ReadShort, WriteShort, maxs_x) \
+ CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, float, ReadShort, WriteShort, maxs_y) \
+ CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, float, ReadShort, WriteShort, maxs_z) \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_PITCHROLL, float, ReadAngle, WriteAngle, angles_x) \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_YAW, float, ReadAngle, WriteAngle, angles_y) \
CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_PITCHROLL, float, ReadAngle, WriteAngle, angles_z) \
unused_float = isnolocalplayer;
WriteByte(MSG_ENTITY, ENT_CLIENT_MODEL);
- WriteShort(MSG_ENTITY, sf);
+ WriteInt24_t(MSG_ENTITY, sf);
#define CSQCMODEL_IF(cond) if(cond) {
#define CSQCMODEL_ENDIF }
}
#define CSQCMODEL_PROPERTY_SCALED(flag,t,r,w,f,s,mi,ma) \
{ \
- t tmp = bound(mi, s * self.f, ma) - mi; \
+ t tmp = rint(bound(mi, s * self.f, ma) - mi); \
if(tmp != self.csqcmodel_##f) \
{ \
self.csqcmodel_##f = tmp; \
const float VF_CL_VIEWANGLES = 33; //(vector)
const float VF_CL_VIEWANGLES_X = 34; //(float)
const float VF_CL_VIEWANGLES_Y = 35; //(float)
-const float VF_CL_VIEWANGLES_Z = 36; //(float)
+const float VF_CL_VIEWANGLES_Z = 36; //(float)
const float VF_PERSPECTIVE = 200;
const float TE_EXPLOSIONQUAD = 70;
const float TE_SPIKEQUAD = 58;
const float TE_SUPERSPIKEQUAD = 59;
-
+
// PFlags for Dynamic Lights
const float PFLAGS_NOSHADOW = 1;
const float PFLAGS_CORONA = 2;
float particle_type; // one of PT_
float particle_blendmode; // one of PBLEND_ values
float particle_orientation; // one of PARTICLE_ values
-vector particle_color1;
+vector particle_color1;
vector particle_color2;
float particle_tex; // number of chunk in particlefont
float particle_size;
-float particle_sizeincrease;
+float particle_sizeincrease;
float particle_alpha;
float particle_alphafade;
float particle_time;
float(vector org, vector vel, float theme) quickparticle = #527; // not reading globals, just theme, returns 0 when failed, 1 when spawned
float(vector org, vector vel, float delay, float collisiondelay) delayedparticle = #528;
float(vector org, vector vel, float delay, float collisiondelay, float theme) quickdelayedparticle = #528;
-// description: this builtin provides an easy and flexible way to spawn particles,
-// it is not created as replace for DP_SV_POINTPARTICLES but as an addition to it.
+// description: this builtin provides an easy and flexible way to spawn particles,
+// it is not created as replace for DP_SV_POINTPARTICLES but as an addition to it.
// With this extension you can create a specific particles like rain particles, or entity particles
-// notes:
+// notes:
// 1) 0 is default particle template, it could be changed
// 2) color vectors could have value 0-255 of each component
// restrictions: max themes could be between 4 and 2048
//darkplaces implementation: Blub\0
//console commands:
// loadfont fontname fontmaps size1 size2 ...
-// A font can simply be gfx/tgafile (freetype fonts doent need extension),
+// A font can simply be gfx/tgafile (freetype fonts doent need extension),
// or alternatively you can specify multiple fonts and faces
// Like this: gfx/vera-sans:2,gfx/fallback:1
// to load face 2 of the font gfx/vera-sans and use face 1
float FONT_USER7 = 15; // 'user7' slot, userdefined fonts
//builtin definitions:
float findfont(string s) = #356; // find font by fontname and return it's index
-float loadfont(string fontname, string fontmaps, string sizes, float slot, float fix_scale, float fix_voffset) = #357;
+float loadfont(string fontname, string fontmaps, string sizes, float slot, float fix_scale, float fix_voffset) = #357;
// loads font immediately so stringwidth() function can be used just after builtin call
// returns a font slotnum (which is used to set drawfont to)
// first 3 parms are identical to "loadfont" console command ones
// r_font_postprocess_shadow_y X : font outline shadow y shift amount, applied during outlining
// r_font_postprocess_shadow_z X : font outline shadow z shift amount, applied during blurring
//description: engine support for truetype/freetype fonts
-//so .AFM+.PFB/.OTF/.TTF files could be stuffed as fontmaps in loadfont()
+//so .AFM+.PFB/.OTF/.TTF files could be stuffed as fontmaps in loadfont()
//(console command version will support them as well)
//DP_CSQC_BINDMAPS
//constant definitions:
const float VF_MAINVIEW = 400;
//use setproperty(VF_MAINVIEW, 1); before calling R_RenderView for the render
-//that shall become the "main" view, which is e.g. used by PRYDON_CLIENTCURSOR
+//that shall become the "main" view, which is e.g. used by PRYDON_CLIENTCURSOR
//this flag is set for the first scene, and not cleared by R_ClearScene
//this flag is automatically cleared by R_RenderView
//so when not using this extension, the first view rendered is the main view
//darkplaces implementation: Blub\0
//cvar definitions:
// utf8_enable: enable utf8 encoding
-//description: utf8 characters are allowed inside cvars, protocol strings, files, progs strings, etc.,
+//description: utf8 characters are allowed inside cvars, protocol strings, files, progs strings, etc.,
//and count as 1 char for string functions like strlen, substring, etc.
// note: utf8_enable is run-time cvar, could be changed during execution
// note: beware that str2chr() could return value bigger than 255 once utf8 is enabled
// description: allows alternative 'static' lightstyle syntax : "=value"
// examples: "=0.5", "=2.0", "=2.75"
// could be used to control switchable lights or making styled lights with brightness > 2
-// Warning: this extension is experimental. It safely works in CSQC, but SVQC use is limited by the fact
+// Warning: this extension is experimental. It safely works in CSQC, but SVQC use is limited by the fact
// that other engines (which do not support this extension) could connect to a game and misunderstand this kind of lightstyle syntax
//DP_LITSPRITES
//syntax of .dpsubs files: each line in .dpsubs file defines 1 subtitle, there are three tokens:
// <start> <end> "string"
// start: subtitle start time in seconds
-// end: subtitle time-to-show in seconds, if 0 - subtitle will be showed until next subtitle is started,
+// end: subtitle time-to-show in seconds, if 0 - subtitle will be showed until next subtitle is started,
// if below 0 - show until next subtitles minus this number of seconds
// text: subtitle text, color codes (Q3-style and ^xRGB) are allowed
//example of subtitle file:
// 3 0 "Vengeance! Vengeance for my eternity of suffering!"
// 9 0 "Whelp! As if you knew what eternity was!"
// 13 0 "Grovel before your true master."
-// 17 0 "Never!"
+// 17 0 "Never!"
// 18 7 "I'll hack you from crotch to gizzard and feed what's left of you to your brides..."
//DP_SOLIDCORPSE
.vector massofs; // offsets a mass center out of object center, if not set a center of model bounds is used
.float friction; // a friction of object, get multiplied by second objects's friction on contact
.float bouncefactor;
-.float bouncestop;
+.float bouncestop;
.float jointtype; // type of joint
.float forcetype; // type of force
-.float erp; // error restitution parameter, makes ODE solver attempt to fix errors in contacts,
- // bringing together 2 joints or fixing object being stuch in other object,
+.float erp; // error restitution parameter, makes ODE solver attempt to fix errors in contacts,
+ // bringing together 2 joints or fixing object being stuch in other object,
// a value of 0.1 will fix slightly, a value of 1.0 attempts to fix whole error in one frame
// use with care as high values makes system unstable and likely to explode
//builtin definitions:
void(float width, float height) m_draw;
void(float mode) m_toggle;
void() m_shutdown;
+// optional: float(float) m_gethostcachecategory;
/////////////////////////////////////////////////////////
// sys constants
float drawcolorcodedstring(vector position, string text, vector scale, float alpha, float flag) = #467;
vector drawcolorcodedstring2(vector position, string text, vector scale, vector rgb, float alpha, float flag) = #467;
-
+
float drawpic(vector position, string pic, vector size, vector rgb, float alpha, float flag) = #456;
float drawfill(vector position, vector size, vector rgb, float alpha, float flag) = #457;
void sethostcachemaskstring(float mask, float fld, string str, float op) = #616;
void sethostcachemasknumber(float mask, float fld, float num, float op) = #617;
void resorthostcache(void) = #618;
-void sethostcachesort(float fld, float descending) = #619;
-void refreshhostcache(void) = #620;
+float SLSF_DESCENDING = 1;
+float SLSF_FAVORITES = 2;
+float SLSF_CATEGORIES = 4;
+void sethostcachesort(float fld, float slsf) = #619;
+void refreshhostcache(...) = #620; // optional boolean argument "clear_list"
float gethostcachenumber(float fld, float hostnr) = #621;
float gethostcacheindexforkey(string key) = #622;
void addwantedhostcachekey(string key) = #623;
#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"
me.mouseDrag(me, pos); // verify coordinates
if(me.pressed)
{
- if not(me.disabled)
+ if (!me.disabled)
{
if(cvar("menu_sounds"))
localsound("sound/misc/menu2.wav");
if(me.clickTime > 0 && me.clickTime <= frametime)
{
// keyboard click timer expired? Fire the event then.
- if not(me.disabled)
+ if (!me.disabled)
if(me.onClick)
me.onClick(me, me.onClickEntity);
}
void Container_hideNotify(entity me)
{
entity e;
- if not(me.shown)
+ if (!me.shown)
return;
me.shown = 0;
for(e = me.firstChild; e; e = e.nextSibling)
void Container_setFocus(entity me, entity other)
{
if(other)
- if not(me.focused)
+ if (!me.focused)
error("Trying to set focus in a non-focused control!");
if(me.focusedChild == other)
return;
n.prevSibling = p;
else
me.lastChild = p;
-
+
// now other got removed. Insert it behind dest now.
other.prevSibling = dest;
if(dest)
// - closable is 0
// - rootDialog is 0
// - title is ""
-// - marginTop is
+// - marginTop is
// - intendedHeight ends up to be the tab's actual height, or at least close
// - titleFontSize is 0
// - marginTop cancels out as much of titleHeight as needed (that is, it should be actualMarginTop - titleHeight)
me.frame.alpha = me.alpha;
me.addItem(me, me.frame, '0 0 0', '1 1 0', 1);
- if not(me.titleFontSize)
+ if (!me.titleFontSize)
me.titleHeight = 0; // no title bar
absWidth = me.intendedWidth * conwidth;
vector p;
vector theTempColor;
float component;
-
+
p = me.realOrigin - eX * me.scrollPos;
theColor = '1 1 1';
theAlpha = 1; //theVariableAlpha = 1; // changes when ^ax found
-
+
n = strlen(me.text);
for(i = 0; i < n; ++i)
{
else if(ch2 == "x") // ^x found
{
theColor = '1 1 1';
-
+
component = HEXDIGIT_TO_DEC(substring(me.text, i+2, 1));
if (component >= 0) // ^xr found
{
theTempColor_x = component/15;
-
+
component = HEXDIGIT_TO_DEC(substring(me.text, i+3, 1));
if (component >= 0) // ^xrg found
{
theTempColor_y = component/15;
-
+
component = HEXDIGIT_TO_DEC(substring(me.text, i+4, 1));
if (component >= 0) // ^xrgb found
{
theTempColor_z = component/15;
theColor = theTempColor;
w = draw_TextWidth(substring(me.text, i, 5), 0, me.realFontSize);
-
+
draw_Fill(p, eX * w + eY * me.realFontSize_y, '1 1 1', 0.5);
draw_Text(p, substring(me.text, i, 5), me.realFontSize, theColor, 1, 0); // theVariableAlpha instead of 1 using alpha tags ^ax
i += 3;
{
for(ff = f.prevSibling; ff; ff = ff.prevSibling)
{
- if not(ff.focusable)
+ if (!ff.focusable)
continue;
me.setFocus(me, ff);
return 1;
{
for(ff = me.lastChild; ff; ff = ff.prevSibling)
{
- if not(ff.focusable)
+ if (!ff.focusable)
continue;
me.setFocus(me, ff);
return 1;
{
for(ff = f.nextSibling; ff; ff = ff.nextSibling)
{
- if not(ff.focusable)
+ if (!ff.focusable)
continue;
me.setFocus(me, ff);
return 1;
{
for(ff = me.firstChild; ff; ff = ff.nextSibling)
{
- if not(ff.focusable)
+ if (!ff.focusable)
continue;
me.setFocus(me, ff);
return 1;
e = me.mouseFocusedChild;
ne = me.itemFromPoint(me, pos);
if(ne)
- if not(ne.focusable)
+ if (!ne.focusable)
ne = NULL;
me.mouseFocusedChild = ne;
if(ne)
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)
float scale;
entity e, e2;
vector emins, emaxs, e2mins, e2maxs;
-
+
for(scale = 0.7;; scale *= 0.99)
{
Nexposee_Calc_Scale(me, scale);
}
else if(me.animationState == 2)
{
- if not(SUPER(Nexposee).mousePress(me, pos))
+ if (!(SUPER(Nexposee).mousePress(me, pos)))
{
me.animationState = 3;
SUPER(Nexposee).setFocus(me, NULL);
{
if(me.selectedChild)
me.selectedChild = me.selectedChild.prevSibling;
- if not(me.selectedChild)
+ if (!me.selectedChild)
me.selectedChild = me.lastChild;
}
else
{
if(me.selectedChild)
me.selectedChild = me.selectedChild.nextSibling;
- if not(me.selectedChild)
+ if (!me.selectedChild)
me.selectedChild = me.firstChild;
}
}
}
if(me.focusedChild)
me.selectedChild = me.focusedChild;
- if not(me.selectedChild)
+ if (!me.selectedChild)
me.animationState = 0;
SUPER(Nexposee).setFocus(me, NULL);
return 1;
ATTRIB(Tab, rootDialog, float, 0)
ATTRIB(Tab, title, string, string_null)
ATTRIB(Tab, titleFontSize, float, 0) // pixels
-
+
// still to be customized
ATTRIB(Tab, intendedWidth, float, 0)
ATTRIB(Tab, rows, float, 3)
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)
for(i = 0; ; ++i)
{
s = getgamedirinfo(i, GETGAMEDIRINFO_NAME);
- if not(s)
+ if (!s)
break;
dprint(s, ": ", getgamedirinfo(i, GETGAMEDIRINFO_DESCRIPTION));
}
CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
+ RegisterSLCategories();
+
float ddsload = cvar("r_texture_dds_load");
float texcomp = cvar("gl_texturecompression");
updateCompression();
v = pos + avoidplus;
if(m_testtooltipbox(v))
return TRUE;
-
+
// bottom center
v_x = pos_x - menuTooltipSize_x * 0.5;
if(m_testtooltipbox(v))
v_x = pos_x - menuTooltipSize_x * 0.5;
if(m_testtooltipbox(v))
return TRUE;
-
+
// top right
v_x = pos_x + avoidplus_x;
if(m_testtooltipbox(v))
return TRUE;
-
+
return FALSE;
}
entity m_findtooltipitem(entity root, vector pos)
for(e = NULL; (e = find(e, name, itemname)); )
if(e.classname != "vtbl")
break;
-
+
if((e) && (!e.requiresConnection || (gamestatus & (GAME_ISSERVER | GAME_CONNECTED))))
{
m_hide();
#endif
#define CLASS(cname) entity spawn##cname(); entity cname##_vtbl;
-#define EXTENDS(base)
+#define EXTENDS(base)
#define METHOD(cname,name,prototype) prototype cname##_##name; .prototype name;
#define ATTRIB(cname,name,type,val) .type name;
#define ATTRIBARRAY(cname,name,type,cnt) .type name[cnt];
../common/command/generic.qh
../common/command/shared_defs.qh
../common/urllib.qh
+../common/monsters/monsters.qh
command/menu_cmd.qh
menu.qh
../common/mapinfo.qc
../common/items.qc
../common/urllib.qc
+../common/monsters/monsters.qc
../warpzonelib/mathlib.qc
-
-../common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
{
float m, d;
- if not(me.cvarName)
+ if (!me.cvarName)
return;
m = (me.yesValue + me.noValue) * 0.5;
}
void XonoticCheckBox_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.checked)
if(theControlledSlider.value == median(theControlledSlider.valueMin, theControlledSlider.value, theControlledSlider.valueMax))
me.savedValue = theControlledSlider.value;
else
- me.savedValue = theControlledSlider.valueMin;
+ me.savedValue = theControlledSlider.valueMin;
me.controlledSlider = theControlledSlider;
me.configureCheckBox(me, theText, me.fontSize, me.image);
me.tooltip = theControlledSlider.tooltip;
}
void XonoticCheckBoxString_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(cvar_string(me.cvarName) == me.yesString)
}
void XonoticCheckBoxString_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.checked)
}
void XonoticColorButton_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(cvar_string(me.cvarName) == cvar_defstring(me.cvarName))
}
void XonoticColorButton_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.checked)
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)
// for this to work, C/(1-B) must be in 0..1
// B must be < 1
// C must be < 1-B
-
+
B = bound(0, B, 1);
C = bound(0, C, 1-B);
void XonoticColorPickerString_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(substring(me.cvarName, -1, 1) == "_")
void XonoticColorPickerString_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(substring(me.cvarName, -1, 1) == "_")
}
void XonoticCrosshairButton_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
me.checked = (cvar(me.cvarName) == me.cvarValueFloat);
}
void XonoticCrosshairButton_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.checked)
{
if(cvar("crosshair_dot_color_custom") && (cvar_string("crosshair_dot_color") != "0"))
rgb = stov(cvar_string("crosshair_dot_color"));
-
+
draw_Picture('0.5 0.5 0' - 0.5 * sz * cvar("crosshair_dot_size"), me.src4, sz * cvar("crosshair_dot_size"), rgb, a * cvar("crosshair_dot_alpha"));
}
}
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)
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)
{
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;
SUPER(XonoticCvarList).setSelected(me, i);
if(me.nItems == 0)
return;
-
+
if(me.cvarName)
strunzone(me.cvarName);
if(me.cvarDescription)
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)
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-
+
k = bufstr_get(me.handle, 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;
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)
METHOD(XonoticDemoList, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(XonoticDemoList, drawListBoxItem, void(entity, float, vector, float))
METHOD(XonoticDemoList, getDemos, void(entity))
- METHOD(XonoticDemoList, startDemo, void(entity))
+ METHOD(XonoticDemoList, startDemo, void(entity))
METHOD(XonoticDemoList, demoName, string(entity, float))
METHOD(XonoticDemoList, clickListBoxItem, void(entity, float, vector))
METHOD(XonoticDemoList, keyDown, float(entity, float, float, float))
METHOD(XonoticDemoList, destroy, void(entity))
METHOD(XonoticDemoList, showNotify, void(entity))
-
+
ATTRIB(XonoticDemoList, listDemo, float, -1)
ATTRIB(XonoticDemoList, realFontSize, vector, '0 0 0')
ATTRIB(XonoticDemoList, columnNameOrigin, float, 0)
ATTRIB(XonoticDemoList, realUpperMargin, float, 0)
ATTRIB(XonoticDemoList, origin, vector, '0 0 0')
ATTRIB(XonoticDemoList, itemAbsSize, vector, '0 0 0')
-
+
ATTRIB(XonoticDemoList, lastClickedDemo, float, -1)
ATTRIB(XonoticDemoList, lastClickedTime, float, 0)
- ATTRIB(XonoticDemoList, filterString, string, string_null)
+ ATTRIB(XonoticDemoList, filterString, string, string_null)
ENDCLASS(XonoticDemoList)
entity makeXonoticDemoList();
void XonoticDemoList_configureXonoticDemoList(entity me)
{
me.configureXonoticListBox(me);
- me.getDemos(me);
+ me.getDemos(me);
}
string XonoticDemoList_demoName(entity me, float i )
void XonoticDemoList_getDemos(entity me)
{
string s;
-
+
if(me.filterString)
- //subdirectory in filterString allowed
- s=strcat("demos/*", me.filterString, "*.dem");
+ //subdirectory in filterString allowed
+ s=strcat("demos/*", me.filterString, "*.dem");
else
s="demos/*.dem";
-
- //dprint("Search demos with the pattern ", s, "\n");
+
+ //dprint("Search demos with the pattern ", s, "\n");
if(me.listDemo >= 0)
search_end(me.listDemo);
-
+
me.listDemo = search_begin(s, FALSE, TRUE);
if(me.listDemo < 0)
me.nItems=0;
else
- me.nItems=search_getsize(me.listDemo);
+ me.nItems=search_getsize(me.listDemo);
}
void XonoticDemoList_destroy(entity me)
string s;
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-
+
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, '1 1 1', SKINALPHA_TEXT, 0);
}
void XonoticDemoList_showNotify(entity me)
}
void DemoList_Filter_Change(entity box, entity me)
-{
+{
if(me.filterString)
strunzone(me.filterString);
-
+
if(box.text != "")
me.filterString = strzone(box.text);
else
me.filterString = string_null;
-
+
me.getDemos(me);
}
{
string s;
s = me.demoName(me,me.selectedItem);
- localcmd("playdemo \"demos/", s, ".dem\" \nwait \ntogglemenu\n");
+ localcmd("playdemo \"demos/", s, ".dem\" \nwait \ntogglemenu\n");
}
void StartDemo_Click(entity btn, entity me)
{
string s;
s = me.demoName(me,me.selectedItem);
- localcmd("timedemo \"demos/", s, ".dem\" \nwait \ntogglemenu\n");
+ localcmd("timedemo \"demos/", s, ".dem\" \nwait \ntogglemenu\n");
}
void XonoticDemoList_clickListBoxItem(entity me, float i, vector where)
{
if(cvar_string("_cl_name") != "Player")
return 1;
-
+
if(cvar_string("_menu_prvm_language") != prvm_language)
return 1; // OK will then reopen the dialog in another language
-
+
if(cvar_string("cl_allow_uid2name") != "-1")
- return 1;
-
+ return 1;
+
return 0;
}
me.TR(me);
me.TR(me);
me.TR(me);
-
+
me.gotoRC(me, 3, 4); me.setFirstColumn(me, me.currentColumn);
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Text language:")));
me.gotoRC(me, me.rows - 4, 0);
me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, _("Allow player statistics to use your nickname at stats.xonotic.org?")));
-
+
me.gotoRC(me, me.rows - 3, 0);
me.TDempty(me, 1.5);
me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "1", ZCTX(_("ALWU2N^Yes"))));
me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
me.TR(me);
- me.TR(me);
+ me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_alpha"));
--- /dev/null
+#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 :-) */
ATTRIB(XonoticServerCreateTab, title, string, _("Create"))
ATTRIB(XonoticServerCreateTab, intendedWidth, float, 0.9)
ATTRIB(XonoticServerCreateTab, rows, float, 22)
- ATTRIB(XonoticServerCreateTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticServerCreateTab, columns, float, 6.2) // added extra .2 for center space
ATTRIB(XonoticServerCreateTab, mapListBox, entity, NULL)
ATTRIB(XonoticServerCreateTab, sliderFraglimit, entity, NULL)
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);
ATTRIB(XonoticDemoBrowserTab, intendedWidth, float, 0.9)
ATTRIB(XonoticDemoBrowserTab, rows, float, 22)
ATTRIB(XonoticDemoBrowserTab, columns, float, 4)
- ATTRIB(XonoticDemoBrowserTab, name, string, "DemoBrowser")
+ ATTRIB(XonoticDemoBrowserTab, name, string, "DemoBrowser")
ENDCLASS(XonoticDemoBrowserTab)
entity makeXonoticDemoBrowserTab();
#endif
e.onChange = DemoList_Filter_Change;
e.onChangeEntity = dlist;
dlist.controlledTextbox = e;
-
+
me.TR(me);
me.TD(me, me.rows - 4, me.columns, dlist);
-
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Timedemo"), '0 0 0'));
e.onClick = TimeDemo_Click;
me.TR(me);
me.TD(me, 1, 0.4, e = makeXonoticTextLabel(0, _("Filter:")));
- me.TD(me, 1, me.columns - 0.6 * 3 - 0.4, e = makeXonoticInputBox(0, string_null));
+ me.TD(me, 1, me.columns - 0.6 * 3 - 0.9 - 0.4, e = makeXonoticInputBox(0, string_null));
e.onChange = ServerList_Filter_Change;
e.onChangeEntity = slist;
slist.controlledTextbox = e;
+ me.TD(me, 1, 0.9, e = makeXonoticCheckBox(0, "menu_slist_categories", ZCTX(_("SRVS^Categories"))));
+ e.onClickEntity = slist;
+ e.onClick = ServerList_Categories_Click;
me.TD(me, 1, 0.6, e = makeXonoticCheckBox(0, "menu_slist_showempty", ZCTX(_("SRVS^Empty"))));
slist.filterShowEmpty = e.checked;
e.onClickEntity = slist;
if(me.currentServerName)
strunzone(me.currentServerName);
me.currentServerName = string_null;
-
+
if(me.currentServerCName)
strunzone(me.currentServerCName);
me.currentServerCName = string_null;
-
+
if(me.currentServerType)
strunzone(me.currentServerType);
me.currentServerType = string_null;
-
+
if(me.currentServerMap)
strunzone(me.currentServerMap);
me.currentServerMap = string_null;
-
+
if(me.currentServerPlayers)
strunzone(me.currentServerPlayers);
me.currentServerPlayers = string_null;
-
+
if(me.currentServerNumPlayers)
strunzone(me.currentServerNumPlayers);
me.currentServerNumPlayers = string_null;
-
+
if(me.currentServerNumBots)
strunzone(me.currentServerNumBots);
me.currentServerNumBots = string_null;
-
+
if(me.currentServerNumFreeSlots)
strunzone(me.currentServerNumFreeSlots);
me.currentServerNumFreeSlots = string_null;
-
+
if(me.currentServerMod)
strunzone(me.currentServerMod);
me.currentServerMod = string_null;
-
+
if(me.currentServerVersion)
strunzone(me.currentServerVersion);
me.currentServerVersion = string_null;
-
+
// not zoned!
//if(me.currentServerEncrypt)
// strunzone(me.currentServerEncrypt);
if(me.currentServerPure)
strunzone(me.currentServerPure);
me.currentServerPure = string_null;
-
+
if(me.currentServerKey)
strunzone(me.currentServerKey);
me.currentServerKey = string_null;
-
+
if(me.currentServerID)
strunzone(me.currentServerID);
me.currentServerID = string_null;
j = MapInfo_Type_FromString(typestr); // try and get the real name of the game type
if(j) { typestr = MapInfo_Type_ToText(j); } // only set it if we actually found it
-
+
me.currentServerType = strzone(typestr);
me.typeLabel.setText(me.typeLabel, me.currentServerType);
s = ftos(numb);
me.currentServerNumBots = strzone(s);
me.numBotsLabel.setText(me.numBotsLabel, me.currentServerNumBots);
-
+
if(freeslots < 0) { freeslots = maxp - numh - numb; }
s = ftos(freeslots);
me.currentServerNumFreeSlots = strzone(s);
break;
}
me.encryptLabel.setText(me.encryptLabel, me.currentServerEncrypt);
-
+
s = crypto_getidfp(me.currentServerCName);
- if not(s) { s = _("N/A"); }
+ if (!s) { s = _("N/A"); }
me.currentServerID = strzone(s);
me.idLabel.setText(me.idLabel, me.currentServerID);
s = crypto_getkeyfp(me.currentServerCName);
- if not(s) { s = _("N/A"); }
+ if (!s) { s = _("N/A"); }
me.currentServerKey = strzone(s);
me.keyLabel.setText(me.keyLabel, me.currentServerKey);
}
e.colorL = SKINCOLOR_SERVERINFO_IP;
e.allowCut = 1;
me.cnameLabel = e;
-
+
me.TR(me);
me.TR(me);
me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Gametype:")));
me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
e.allowCut = 1;
me.pureLabel = e;
-
+
me.TR(me);
me.TR(me);
me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Players:")));
me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
e.allowCut = 1;
me.numFreeSlotsLabel = e;
-
+
me.gotoRC(me, me.rows - 5, 0);
me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Encryption:")));
me.TD(me, 1, 5.4, e = makeXonoticTextLabel(0, ""));
ATTRIB(XonoticPlayerSettingsTab, title, string, _("Player Setup"))
ATTRIB(XonoticPlayerSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticPlayerSettingsTab, rows, float, 22)
- ATTRIB(XonoticPlayerSettingsTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticPlayerSettingsTab, columns, float, 6.2) // added extra .2 for center space
ATTRIB(XonoticPlayerSettingsTab, playerNameLabel, entity, NULL)
ATTRIB(XonoticPlayerSettingsTab, playerNameLabelAlpha, float, 0)
ENDCLASS(XonoticPlayerSettingsTab)
e.onClickEntity = main.weaponsDialog;
// I don't really think this is useful as is, and especially it doesn't look very clean...
// In the future, if ALL of these buttons had some information, then it would be justified/clean
- //me.TD(me, 1, 1, e0 = makeXonoticTextLabel(0, string_null));
+ //me.TD(me, 1, 1, e0 = makeXonoticTextLabel(0, string_null));
// e0.textEntity = main.weaponsDialog;
// e0.allowCut = 1;
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticButton(_("HUD settings"), '0 0 0'));
e.onClick = DialogOpenButton_Click;
e.onClickEntity = main.hudDialog;
- // TODO: show hud config name with text here
+ // TODO: show hud config name with text here
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "color -1 -1;name \"$_cl_name\";sendcvar cl_weaponpriority;sendcvar cl_autoswitch;sendcvar cl_forceplayermodels;sendcvar cl_forceplayermodelsfromxonotic;playermodel $_cl_playermodel;playerskin $_cl_playerskin", COMMANDBUTTON_APPLY));
void XonoticCrosshairDialog_fill(entity me)
{
entity e;
-
+
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_dot", _("Enable center crosshair dot")));
setDependent(e, "crosshair_enabled", 1, 2);
me.TDempty(me, 0.2);
me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.25, 0, "crosshair_pickup", _("Animate when picking up an item")));
setDependent(e, "crosshair_enabled", 1, 2);
-
+
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;
#ifdef IMPLEMENTATION
void HUDSetup_Check_Gamestatus(entity me, entity btn)
{
- if not(gamestatus & (GAME_CONNECTED | GAME_ISSERVER)) // we're not in a match, ask the player if they want to start one anyway
+ if(!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) // we're not in a match, ask the player if they want to start one anyway
{
DialogOpenButton_Click(me, main.hudconfirmDialog);
}
}
string XonoticHUDDialog_toString(entity me)
{
- return "hi"; // TODO: show hud config name with text here
+ return "hi"; // TODO: show hud config name with text here
}
void XonoticHUDDialog_fill(entity me)
{
entity e;
-
+
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Damage:")));
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticSlider(0.25, 1, 0.05, "hud_damage_fade_rate"));
setDependent(e, "hud_damage", 0.001, 100);
me.TR(me);
-
+
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_hidewaypoints", _("Waypoints")));
me.TR(me);
makeMulti(e, "g_waypointsprite_edgeoffset_top g_waypointsprite_edgeoffset_left g_waypointsprite_edgeoffset_right");
setDependent(e, "cl_hidewaypoints", 0, 0);
me.TR(me);
-
+
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_shownames", _("Show names above players")));
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticButton(_("Enter HUD editor"), '0 0 0'));
e.onClick = HUDSetup_Check_Gamestatus;
e.onClickEntity = me;
- // TODO: show hud config name with text here
-
+ // TODO: show hud config name with text here
+
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
\ No newline at end of file
+#endif
#ifdef IMPLEMENTATION
void HUDSetup_Start(entity me, entity btn)
{
- if not(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))
+ if (!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER)))
localcmd("map hudsetup/hudsetup", "\n");
else
localcmd("togglemenu 0\n");
-
+
localcmd("_hud_configure 1", "\n");
}
void XonoticModelDialog_fill(entity me)
{
entity e;
-
+
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Body fading:")));
me.TD(me, 1, 2, e = makeXonoticSlider(0, 2, 0.2, "cl_deathglow"));
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayercolors", _("Force player colors to mine")));
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;
ATTRIB(XonoticViewDialog, color, vector, SKINCOLOR_DIALOG_VIEW)
ATTRIB(XonoticViewDialog, intendedWidth, float, 0.9)
ATTRIB(XonoticViewDialog, rows, float, 11)
- ATTRIB(XonoticViewDialog, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticViewDialog, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticViewDialog)
#endif
void XonoticViewDialog_fill(entity me)
{
entity e;
-
+
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
me.TD(me, 1, 2, e = makeXonoticSlider(60, 130, 5, "fov"));
me.TR(me);
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
-
+
me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
makeMulti(e, "crosshair_hittest_showimpact");
me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
setDependent(e, "chase_active", 1, 1);
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;
me.TD(me, 1, 1, e = makeXonoticButton(_("Down"), '0 0 0'));
e.onClick = WeaponsList_MoveDown_Click;
e.onClickEntity = me.weaponsList;
-
+
me.gotoRC(me, 0, 2.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling")));
me.TR(me);
// setDependent(e, "r_drawviewmodel", 1, 1);
// me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 2, 0.1, "cl_viewmodel_scale"));
// setDependent(e, "r_drawviewmodel", 1, 1);
-
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
e.onClick = Dialog_Close;
ATTRIB(XonoticAudioSettingsTab, title, string, _("Audio"))
ATTRIB(XonoticAudioSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticAudioSettingsTab, rows, float, 17)
- ATTRIB(XonoticAudioSettingsTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticAudioSettingsTab, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticAudioSettingsTab)
entity makeXonoticAudioSettingsTab();
#endif
me.TD(me, 1, 3, makeXonoticCheckBox(0, "menu_snd_attenuation_method", _("New style sound attenuation")));
me.TR(me);
me.TD(me, 1, 3, makeXonoticCheckBox(0, "snd_mutewhenidle", _("Mute sounds when not active")));
-
+
me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Frequency:")));
me.TD(me, 1, 2, e = makeXonoticTextSlider("snd_speed"));
ATTRIB(XonoticEffectsSettingsTab, title, string, _("Effects"))
ATTRIB(XonoticEffectsSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticEffectsSettingsTab, rows, float, 17)
- ATTRIB(XonoticEffectsSettingsTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticEffectsSettingsTab, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticEffectsSettingsTab)
entity makeXonoticEffectsSettingsTab();
float updateCompression();
setDependent(e, "cl_decals", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(1, 20, 1, "cl_decals_time"));
setDependent(e, "cl_decals", 1, 1);
-
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "vid_restart", COMMANDBUTTON_APPLY));
}
ATTRIB(XonoticInputSettingsTab, title, string, _("Input"))
ATTRIB(XonoticInputSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticInputSettingsTab, rows, float, 17)
- ATTRIB(XonoticInputSettingsTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticInputSettingsTab, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticInputSettingsTab)
entity makeXonoticInputSettingsTab();
#endif
me.TR(me);
me.TDempty(me, 0.2);
me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration")));
-
-
+
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_movement_track_canjump", COMMANDBUTTON_APPLY));
}
{
loadAllCvars(me);
}
-void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIST_CONTROLS to color ALL controls
+void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIST_CONTROLS to color ALL controls
{
entity e, cvarlist;
cvarlist = makeXonoticCvarList();
- cvarlist.color =
- cvarlist.colorF =
- cvarlist.color2 =
- cvarlist.colorC =
+ cvarlist.color =
+ cvarlist.colorF =
+ cvarlist.color2 =
+ cvarlist.colorC =
SKINCOLOR_CVARLIST_CONTROLS;
me.TR(me);
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;
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));
me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set font"), '0 0 0'));
e.onClick = SetLanguage_Click;
e.onClickEntity = sk;*/
-
+
me.gotoRC(me, 0, 2.85); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Text language:")));
me.TR(me);
me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set language"), '0 0 0'));
e.onClick = SetLanguage_Click;
e.onClickEntity = sk;
-
+
me.gotoRC(me, 9, 2.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_gentle", _("Disable gore effects and harsh language")));
me.TR(me);
me.TR(me);
me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_allow_uid2name", _("Allow player statistics to use your nickname")));
setDependent(e, "cl_allow_uidtracking", 1, 1);
-
+
me.gotoRC(me, me.rows - 3, 2.6);
me.TD(me, 1, 2, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_gentle; sendcvar cl_allow_uidtracking; sendcvar cl_allow_uid2name;", COMMANDBUTTON_APPLY));
ATTRIB(XonoticVideoSettingsTab, title, string, _("Video"))
ATTRIB(XonoticVideoSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticVideoSettingsTab, rows, float, 17)
- ATTRIB(XonoticVideoSettingsTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticVideoSettingsTab, columns, float, 6.2) // added extra .2 for center space
ATTRIB(XonoticVideoSettingsTab, name, string, "videosettings")
ENDCLASS(XonoticVideoSettingsTab)
entity makeXonoticVideoSettingsTab();
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "vid_fullscreen", _("Full screen")));
me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "vid_vsync", _("Vertical Synchronization")));
-
+
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Anisotropy:")));
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "r_viewfbo", _("High-quality frame buffer")));
setDependent(e, "vid_samples", 1, 1);
-
+
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Depth first:")));
}
void XonoticGametypeButton_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
me.checked = cvar(me.cvarName);
}
void XonoticGametypeButton_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
cvar_set(me.cvarName, ftos(me.checked));
void XonoticGametypeList_drawListBoxItem(entity me, float i, vector absSize, float isSelected)
{
string s;
-
+
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
{
me.itemAbsSize = '0 0 0';
SUPER(XonoticServerList).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
-
+
me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight));
me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth)));
me.realUpperMargin1 = 0.5 * (1 - me.realFontSize_y);
}
void XonoticInputBox_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
SUPER(XonoticInputBox).setText(me, cvar_string(me.cvarName));
}
void XonoticInputBox_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
cvar_set(me.cvarName, me.text);
}
me.firstRunDialog = i = spawnXonoticFirstRunDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
-
+
+
// hud_configure dialogs
i = spawnXonoticHUDExitDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDNotificationDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDAmmoDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDHealthArmorDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDChatDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDModIconsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDPowerupsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDPressedKeysDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDRaceTimerDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDRadarDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDScoreDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDTimerDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDVoteDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
i = spawnXonoticHUDWeaponsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
i = spawnXonoticHUDCenterprintDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
-
+
+
// dialogs used by settings
me.userbindEditDialog = i = spawnXonoticUserbindEditDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
me.cvarsDialog = i = spawnXonoticCvarsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
-
+
+
// dialog used by singleplayer
me.winnerDialog = i = spawnXonoticWinnerDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
-
+
+
// dialog used by multiplayer/join
me.serverInfoDialog = i = spawnXonoticServerInfoDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
-
+
+
// dialogs used by multiplayer/create
me.mapInfoDialog = i = spawnXonoticMapInfoDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
me.advancedDialog = i = spawnXonoticAdvancedDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
me.mutatorsDialog = i = spawnXonoticMutatorsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
// dialogs used by multiplayer/player setup
me.crosshairDialog = i = spawnXonoticCrosshairDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
me.hudDialog = i = spawnXonoticHUDDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
me.hudconfirmDialog = i = spawnXonoticHUDConfirmDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
me.modelDialog = i = spawnXonoticModelDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
me.viewDialog = i = spawnXonoticViewDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
me.weaponsDialog = i = spawnXonoticWeaponsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
// mutator dialogs
i = spawnXonoticSandboxToolsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z * SKINALPHA_DIALOG_SANDBOXTOOLS);
-
-
+
+
// miscellaneous dialogs
i = spawnXonoticTeamSelectDialog();
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();
/*
i.configureDialog(i);
n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
n.setNexposee(n, i, SKINPOSITION_DIALOG_SINGLEPLAYER, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
-
+
i = spawnXonoticMultiplayerDialog();
i.configureDialog(i);
n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
n.setNexposee(n, i, SKINPOSITION_DIALOG_QUIT, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
n.pullNexposee(n, i, eY * (SKINHEIGHT_TITLE * SKINFONTSIZE_TITLE / conheight));
-
+
me.addItem(me, n, '0 0 0', '1 1 0', SKINALPHAS_MAINMENU_z);
me.moveItemAfter(me, n, NULL);
string a, b, c, s, bspname;
float n;
s = me.g_maplistCache;
- if not(s)
+ if (!s)
return;
b = substring(s, i, 1);
if(b == "0")
strunzone(s);
me.g_maplistCache = strzone(strcat(a, b, c));
// TODO also update the actual cvar
- if not((bspname = MapInfo_BSPName_ByID(i)))
+ if (!((bspname = MapInfo_BSPName_ByID(i))))
return;
if(b == "1")
cvar_set("g_maplist", strcat(bspname, " ", cvar_string("g_maplist")));
return;
m = MapInfo_BSPName_ByID(i);
- if not(m)
+ if (!m)
{
print(_("Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"));
me.refilter(me);
}
else if(ascii == 43) // +
{
- if not(me.g_maplistCacheQuery(me, me.selectedItem))
+ if (!me.g_maplistCacheQuery(me, me.selectedItem))
me.g_maplistCacheToggle(me, me.selectedItem);
}
else if(ascii == 45) // -
rgb = colormapPaletteColor(9, 0);
else
rgb = '1 1 1';
-
+
s = me.getPlayerList(me, i, PLAYERPARM_NAME);
score = me.getPlayerList(me, i, PLAYERPARM_SCORE);
score = substring(score, 0, t);
if((t = strstrofs(score, ",", 0)) >= 0)
score = substring(score, 0, t);
-
+
if(stof(score) == -666)
score = _("spectator");
}
}
void XonoticRadioButton_draw(entity me)
{
- if not(me.cvarValue)
- if not(me.cvarName)
+ if (!me.cvarValue)
+ if (!me.cvarName)
{
// this is the "other" option
// always select this if none other is
METHOD(XonoticServerList, clickListBoxItem, void(entity, float, vector))
METHOD(XonoticServerList, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(XonoticServerList, keyDown, float(entity, float, float, float))
+ METHOD(XonoticServerList, toggleFavorite, void(entity, string))
ATTRIB(XonoticServerList, iconsSizeFactor, float, 0.85)
ATTRIB(XonoticServerList, ipAddressBox, entity, NULL)
ATTRIB(XonoticServerList, favoriteButton, entity, NULL)
ATTRIB(XonoticServerList, nextRefreshTime, float, 0)
- METHOD(XonoticServerList, refreshServerList, void(entity, float)) // refresh mode: 0 = just reparametrize, 1 = send new requests, 2 = clear
+ METHOD(XonoticServerList, refreshServerList, void(entity, float)) // refresh mode: REFRESHSERVERLIST_*
ATTRIB(XonoticServerList, needsRefresh, float, 1)
METHOD(XonoticServerList, focusEnter, void(entity))
METHOD(XonoticServerList, positionSortButton, void(entity, entity, float, float, string, void(entity, entity)))
ATTRIB(XonoticServerList, seenIPv4, float, 0)
ATTRIB(XonoticServerList, seenIPv6, float, 0)
+ ATTRIB(XonoticServerList, categoriesHeight, float, 1.25)
+
+ METHOD(XonoticServerList, getTotalHeight, float(entity))
+ METHOD(XonoticServerList, getItemAtPos, float(entity, float))
+ METHOD(XonoticServerList, getItemStart, float(entity, float))
+ METHOD(XonoticServerList, getItemHeight, float(entity, float))
ENDCLASS(XonoticServerList)
entity makeXonoticServerList();
+#ifndef IMPLEMENTATION
+float autocvar_menu_slist_categories;
+float autocvar_menu_slist_categories_onlyifmultiple;
+float autocvar_menu_slist_purethreshold;
+float autocvar_menu_slist_modimpurity;
+float autocvar_menu_slist_recommendations;
+float autocvar_menu_slist_recommendations_maxping;
+float autocvar_menu_slist_recommendations_minfreeslots;
+float autocvar_menu_slist_recommendations_minhumans;
+float autocvar_menu_slist_recommendations_purethreshold;
+
+// server cache fields
+#define SLIST_FIELDS \
+ SLIST_FIELD(CNAME, "cname") \
+ SLIST_FIELD(PING, "ping") \
+ SLIST_FIELD(GAME, "game") \
+ SLIST_FIELD(MOD, "mod") \
+ SLIST_FIELD(MAP, "map") \
+ SLIST_FIELD(NAME, "name") \
+ SLIST_FIELD(MAXPLAYERS, "maxplayers") \
+ SLIST_FIELD(NUMPLAYERS, "numplayers") \
+ SLIST_FIELD(NUMHUMANS, "numhumans") \
+ SLIST_FIELD(NUMBOTS, "numbots") \
+ SLIST_FIELD(PROTOCOL, "protocol") \
+ SLIST_FIELD(FREESLOTS, "freeslots") \
+ SLIST_FIELD(PLAYERS, "players") \
+ SLIST_FIELD(QCSTATUS, "qcstatus") \
+ SLIST_FIELD(CATEGORY, "category") \
+ SLIST_FIELD(ISFAVORITE, "isfavorite")
+
+#define SLIST_FIELD(suffix,name) float SLIST_FIELD_##suffix;
+SLIST_FIELDS
+#undef SLIST_FIELD
+
+const float REFRESHSERVERLIST_RESORT = 0; // sort the server list again to update for changes to e.g. favorite status, categories
+const float REFRESHSERVERLIST_REFILTER = 1; // ..., also update filter and sort criteria
+const float REFRESHSERVERLIST_ASK = 2; // ..., also suggest querying servers now
+const float REFRESHSERVERLIST_RESET = 3; // ..., also clear the list first
+
+// function declarations
+float IsServerInList(string list, string srv);
+#define IsFavorite(srv) IsServerInList(cvar_string("net_slist_favorites"), srv)
+#define IsPromoted(srv) IsServerInList(_Nex_ExtResponseSystem_PromotedServers, srv)
+#define IsRecommended(srv) IsServerInList(_Nex_ExtResponseSystem_RecommendedServers, srv)
+
+entity RetrieveCategoryEnt(float catnum);
+
+float CheckCategoryOverride(float cat);
+float CheckCategoryForEntry(float entry);
+float m_gethostcachecategory(float entry) { return CheckCategoryOverride(CheckCategoryForEntry(entry)); }
+
+void RegisterSLCategories();
+
void ServerList_Connect_Click(entity btn, entity me);
+void ServerList_Categories_Click(entity box, entity me);
void ServerList_ShowEmpty_Click(entity box, entity me);
void ServerList_ShowFull_Click(entity box, entity me);
void ServerList_Filter_Change(entity box, entity me);
void ServerList_Info_Click(entity btn, entity me);
void ServerList_Update_favoriteButton(entity btn, entity me);
-#ifndef IMPLEMENTATION
-float SLIST_FIELD_CNAME;
-float SLIST_FIELD_PING;
-float SLIST_FIELD_GAME;
-float SLIST_FIELD_MOD;
-float SLIST_FIELD_MAP;
-float SLIST_FIELD_NAME;
-float SLIST_FIELD_MAXPLAYERS;
-float SLIST_FIELD_NUMPLAYERS;
-float SLIST_FIELD_NUMHUMANS;
-float SLIST_FIELD_NUMBOTS;
-float SLIST_FIELD_PROTOCOL;
-float SLIST_FIELD_FREESLOTS;
-float SLIST_FIELD_PLAYERS;
-float SLIST_FIELD_QCSTATUS;
-float SLIST_FIELD_ISFAVORITE;
-#endif
+// fields for category entities
+#define MAX_CATEGORIES 9
+#define CATEGORY_FIRST 1
+entity categories[MAX_CATEGORIES];
+float category_ent_count;
+.string cat_name;
+.string cat_string;
+.string cat_enoverride_string;
+.string cat_dioverride_string;
+.float cat_enoverride;
+.float cat_dioverride;
+
+// fields for drawing categories
+float category_name[MAX_CATEGORIES];
+float category_item[MAX_CATEGORIES];
+float category_draw_count;
+
+#define SLIST_CATEGORIES \
+ SLIST_CATEGORY(CAT_FAVORITED, "", "", ZCTX(_("SLCAT^Favorites"))) \
+ SLIST_CATEGORY(CAT_RECOMMENDED, "", "", ZCTX(_("SLCAT^Recommended"))) \
+ SLIST_CATEGORY(CAT_NORMAL, "", "CAT_SERVERS", ZCTX(_("SLCAT^Normal Servers"))) \
+ SLIST_CATEGORY(CAT_SERVERS, "CAT_NORMAL", "CAT_SERVERS", ZCTX(_("SLCAT^Servers"))) \
+ SLIST_CATEGORY(CAT_XPM, "CAT_NORMAL", "CAT_SERVERS", ZCTX(_("SLCAT^Competitive Mode"))) \
+ SLIST_CATEGORY(CAT_MODIFIED, "", "CAT_SERVERS", ZCTX(_("SLCAT^Modified Servers"))) \
+ SLIST_CATEGORY(CAT_OVERKILL, "", "CAT_SERVERS", ZCTX(_("SLCAT^Overkill Mode"))) \
+ SLIST_CATEGORY(CAT_MINSTAGIB, "", "CAT_SERVERS", ZCTX(_("SLCAT^MinstaGib Mode"))) \
+ SLIST_CATEGORY(CAT_DEFRAG, "", "CAT_SERVERS", ZCTX(_("SLCAT^Defrag Mode")))
+
+#define SLIST_CATEGORY_AUTOCVAR(name) autocvar_menu_slist_categories_##name##_override
+#define SLIST_CATEGORY(name,enoverride,dioverride,str) \
+ float name; \
+ var string SLIST_CATEGORY_AUTOCVAR(name) = enoverride;
+SLIST_CATEGORIES
+#undef SLIST_CATEGORY
#endif
-
+#endif
#ifdef IMPLEMENTATION
-void ServerList_UpdateFieldIDs()
+
+void RegisterSLCategories()
+{
+ entity cat;
+ #define SLIST_CATEGORY(name,enoverride,dioverride,str) \
+ SET_FIELD_COUNT(name, CATEGORY_FIRST, category_ent_count) \
+ CHECK_MAX_COUNT(name, MAX_CATEGORIES, category_ent_count, "SLIST_CATEGORY") \
+ cat = spawn(); \
+ categories[name - 1] = cat; \
+ cat.classname = "slist_category"; \
+ cat.cat_name = strzone(#name); \
+ cat.cat_enoverride_string = strzone(SLIST_CATEGORY_AUTOCVAR(name)); \
+ cat.cat_dioverride_string = strzone(dioverride); \
+ cat.cat_string = strzone(str);
+ SLIST_CATEGORIES
+ #undef SLIST_CATEGORY
+
+ float i, x, catnum;
+ string s;
+
+ #define PROCESS_OVERRIDE(override_string,override_field) \
+ for(i = 0; i < category_ent_count; ++i) \
+ { \
+ s = categories[i].override_string; \
+ if((s != "") && (s != categories[i].cat_name)) \
+ { \
+ catnum = 0; \
+ for(x = 0; x < category_ent_count; ++x) \
+ { if(categories[x].cat_name == s) { \
+ catnum = (x+1); \
+ break; \
+ } } \
+ if(catnum) \
+ { \
+ strunzone(categories[i].override_string); \
+ categories[i].override_field = catnum; \
+ continue; \
+ } \
+ else \
+ { \
+ printf( \
+ "RegisterSLCategories(): Improper override '%s' for category '%s'!\n", \
+ s, \
+ categories[i].cat_name \
+ ); \
+ } \
+ } \
+ strunzone(categories[i].override_string); \
+ categories[i].override_field = 0; \
+ }
+ PROCESS_OVERRIDE(cat_enoverride_string, cat_enoverride)
+ PROCESS_OVERRIDE(cat_dioverride_string, cat_dioverride)
+ #undef PROCESS_OVERRIDE
+}
+
+// Supporting Functions
+entity RetrieveCategoryEnt(float catnum)
{
- SLIST_FIELD_CNAME = gethostcacheindexforkey( "cname" );
- SLIST_FIELD_PING = gethostcacheindexforkey( "ping" );
- SLIST_FIELD_GAME = gethostcacheindexforkey( "game" );
- SLIST_FIELD_MOD = gethostcacheindexforkey( "mod" );
- SLIST_FIELD_MAP = gethostcacheindexforkey( "map" );
- SLIST_FIELD_NAME = gethostcacheindexforkey( "name" );
- SLIST_FIELD_MAXPLAYERS = gethostcacheindexforkey( "maxplayers" );
- SLIST_FIELD_NUMPLAYERS = gethostcacheindexforkey( "numplayers" );
- SLIST_FIELD_NUMHUMANS = gethostcacheindexforkey( "numhumans" );
- SLIST_FIELD_NUMBOTS = gethostcacheindexforkey( "numbots" );
- SLIST_FIELD_PROTOCOL = gethostcacheindexforkey( "protocol" );
- SLIST_FIELD_FREESLOTS = gethostcacheindexforkey( "freeslots" );
- SLIST_FIELD_PLAYERS = gethostcacheindexforkey( "players" );
- SLIST_FIELD_QCSTATUS = gethostcacheindexforkey( "qcstatus" );
- SLIST_FIELD_ISFAVORITE = gethostcacheindexforkey( "isfavorite" );
-}
-
-float IsFavorite(string srv)
+ if((catnum > 0) && (catnum <= category_ent_count))
+ {
+ return categories[catnum - 1];
+ }
+ else
+ {
+ error(sprintf("RetrieveCategoryEnt(%d): Improper category number!\n", catnum));
+ return world;
+ }
+}
+
+float IsServerInList(string list, string srv)
{
string p;
float i, n;
if(srv == "")
return FALSE;
p = crypto_getidfp(srv);
- n = tokenize_console(cvar_string("net_slist_favorites"));
+ n = tokenize_console(list);
for(i = 0; i < n; ++i)
{
if(substring(argv(i), 0, 1) != "[" && strlen(argv(i)) == 44 && strstrofs(argv(i), ".", 0) < 0)
return FALSE;
}
-void ToggleFavorite(string srv)
+float CheckCategoryOverride(float cat)
+{
+ entity catent = RetrieveCategoryEnt(cat);
+ if(catent)
+ {
+ float override = (autocvar_menu_slist_categories ? catent.cat_enoverride : catent.cat_dioverride);
+ if(override) { return override; }
+ else { return cat; }
+ }
+ else
+ {
+ error(sprintf("CheckCategoryOverride(%d): Improper category number!\n", cat));
+ return cat;
+ }
+}
+
+float CheckCategoryForEntry(float entry)
+{
+ string s, k, v, modtype = "";
+ float j, m, impure = 0, freeslots = 0, sflags = 0;
+ s = gethostcachestring(SLIST_FIELD_QCSTATUS, entry);
+ m = tokenizebyseparator(s, ":");
+
+ for(j = 2; j < m; ++j)
+ {
+ if(argv(j) == "") { break; }
+ k = substring(argv(j), 0, 1);
+ v = substring(argv(j), 1, -1);
+ switch(k)
+ {
+ case "P": { impure = stof(v); break; }
+ case "S": { freeslots = stof(v); break; }
+ case "F": { sflags = stof(v); break; }
+ case "M": { modtype = strtolower(v); break; }
+ }
+ }
+
+ if(modtype != "xonotic") { impure += autocvar_menu_slist_modimpurity; }
+
+ // check if this server is favorited
+ if(gethostcachenumber(SLIST_FIELD_ISFAVORITE, entry)) { return CAT_FAVORITED; }
+
+ // now check if it's recommended
+ if(autocvar_menu_slist_recommendations)
+ {
+ string cname = gethostcachestring(SLIST_FIELD_CNAME, entry);
+
+ if(IsPromoted(cname)) { return CAT_RECOMMENDED; }
+ else
+ {
+ float recommended = 0;
+ if(autocvar_menu_slist_recommendations & 1)
+ {
+ if(IsRecommended(cname)) { ++recommended; }
+ else { --recommended; }
+ }
+ if(autocvar_menu_slist_recommendations & 2)
+ {
+ if(
+ ///// check for minimum free slots
+ (freeslots >= autocvar_menu_slist_recommendations_minfreeslots)
+
+ && // check for purity requirement
+ (
+ (autocvar_menu_slist_recommendations_purethreshold < 0)
+ ||
+ (impure <= autocvar_menu_slist_recommendations_purethreshold)
+ )
+
+ && // check for minimum amount of humans
+ (
+ gethostcachenumber(SLIST_FIELD_NUMHUMANS, entry)
+ >=
+ autocvar_menu_slist_recommendations_minhumans
+ )
+
+ && // check for maximum latency
+ (
+ gethostcachenumber(SLIST_FIELD_PING, entry)
+ <=
+ autocvar_menu_slist_recommendations_maxping
+ )
+ )
+ { ++recommended; }
+ else
+ { --recommended; }
+ }
+ if(recommended > 0) { return CAT_RECOMMENDED; }
+ }
+ }
+
+ // if not favorited or recommended, check modname
+ if(modtype != "xonotic")
+ {
+ switch(modtype)
+ {
+ // old servers which don't report their mod name are considered modified now
+ case "": { return CAT_MODIFIED; }
+
+ case "xpm": { return CAT_XPM; }
+ case "minstagib": { return CAT_MINSTAGIB; }
+ case "overkill": { return CAT_OVERKILL; }
+ //case "nix": { return CAT_NIX; }
+ //case "newtoys": { return CAT_NEWTOYS; }
+
+ // "cts" is allowed as compat, xdf is replacement
+ case "cts":
+ case "xdf": { return CAT_DEFRAG; }
+
+ default: { dprintf("Found strange mod type: %s\n", modtype); return CAT_MODIFIED; }
+ }
+ }
+
+ // must be normal or impure server
+ return ((impure > autocvar_menu_slist_purethreshold) ? CAT_MODIFIED : CAT_NORMAL);
+}
+
+void XonoticServerList_toggleFavorite(entity me, string srv)
{
string s, s0, s1, s2, srv_resolved, p;
float i, n, f;
f = 1;
--i;
}
-
+
if(!f)
{
s1 = "";
cvar_set("net_slist_favorites", strcat(s, s1, srv));
}
- resorthostcache();
+ me.refreshServerList(me, REFRESHSERVERLIST_RESORT);
}
void ServerList_Update_favoriteButton(entity btn, entity me)
{
- if(IsFavorite(me.ipAddressBox.text))
- me.favoriteButton.setText(me.favoriteButton, _("Remove"));
- else
- me.favoriteButton.setText(me.favoriteButton, _("Bookmark"));
+ me.favoriteButton.setText(me.favoriteButton,
+ (IsFavorite(me.ipAddressBox.text) ?
+ _("Remove") : _("Favorite")
+ )
+ );
}
entity makeXonoticServerList()
{
me.configureXonoticListBox(me);
- ServerList_UpdateFieldIDs();
+ // update field ID's
+ #define SLIST_FIELD(suffix,name) SLIST_FIELD_##suffix = gethostcacheindexforkey(name);
+ SLIST_FIELDS
+ #undef SLIST_FIELD
+ // clear list
me.nItems = 0;
}
void XonoticServerList_setSelected(entity me, float i)
}
void XonoticServerList_refreshServerList(entity me, float mode)
{
- // 0: just reparametrize
- // 1: also ask for new servers
- // 2: clear
//print("refresh of type ", ftos(mode), "\n");
- /* if(mode == 2) // borken
- {
- // clear list
- localcmd("net_slist\n");
- me.needsRefresh = 1; // net_slist kills sort order, so we need to restore it later
- }
- else */
+
+ if(mode >= REFRESHSERVERLIST_REFILTER)
{
- float m, o, i, n; // moin moin
+ float m, i, n;
+ float listflags = 0;
string s, typestr, modstr;
+
s = me.filterString;
m = strstrofs(s, ":", 0);
sethostcachemaskstring(++m, SLIST_FIELD_PLAYERS, s, SLIST_TEST_CONTAINS);
sethostcachemaskstring(++m, SLIST_FIELD_QCSTATUS, strcat(s, ":"), SLIST_TEST_STARTSWITH);
}
- o = 2; // favorites first
- if(me.currentSortOrder < 0)
- o |= 1; // descending
- sethostcachesort(me.currentSortField, o);
- resorthostcache();
- if(mode >= 1)
- refreshhostcache();
+
+ // sorting flags
+ //listflags |= SLSF_FAVORITES;
+ listflags |= SLSF_CATEGORIES;
+ if(me.currentSortOrder < 0) { listflags |= SLSF_DESCENDING; }
+ sethostcachesort(me.currentSortField, listflags);
}
+
+ resorthostcache();
+ if(mode >= REFRESHSERVERLIST_ASK)
+ refreshhostcache(mode >= REFRESHSERVERLIST_RESET);
}
void XonoticServerList_focusEnter(entity me)
{
return;
}
me.nextRefreshTime = time + 10;
- me.refreshServerList(me, 1);
+ me.refreshServerList(me, REFRESHSERVERLIST_ASK);
}
+
void XonoticServerList_draw(entity me)
{
float i, found, owned;
_Nex_ExtResponseSystem_BannedServersNeedsRefresh = 0;
}
+ if(_Nex_ExtResponseSystem_PromotedServersNeedsRefresh)
+ {
+ if(!me.needsRefresh)
+ me.needsRefresh = 3;
+ _Nex_ExtResponseSystem_PromotedServersNeedsRefresh = 0;
+ }
+
+ if(_Nex_ExtResponseSystem_RecommendedServersNeedsRefresh)
+ {
+ if(!me.needsRefresh)
+ me.needsRefresh = 3;
+ _Nex_ExtResponseSystem_RecommendedServersNeedsRefresh = 0;
+ }
+
if(me.currentSortField == -1)
{
me.setSortOrder(me, SLIST_FIELD_PING, +1);
- me.refreshServerList(me, 2);
+ me.refreshServerList(me, REFRESHSERVERLIST_RESET);
}
else if(me.needsRefresh == 1)
{
else if(me.needsRefresh == 2)
{
me.needsRefresh = 0;
- me.refreshServerList(me, 0);
+ me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
+ }
+ else if(me.needsRefresh == 3)
+ {
+ me.needsRefresh = 0;
+ me.refreshServerList(me, REFRESHSERVERLIST_RESORT);
}
owned = ((me.selectedServer == me.ipAddressBox.text) && (me.ipAddressBox.text != ""));
- me.nItems = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT);
+ for(i = 0; i < category_draw_count; ++i) { category_name[i] = -1; category_item[i] = -1; }
+ category_draw_count = 0;
+
+ if(autocvar_menu_slist_categories >= 0) // if less than 0, don't even draw a category heading for favorites
+ {
+ float itemcount = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT);
+ me.nItems = itemcount;
+
+ //float visible = floor(me.scrollPos / me.itemHeight);
+ // ^ unfortunately no such optimization can be made-- we must process through the
+ // entire list, otherwise there is no way to know which item is first in its category.
+
+ // binary search method suggested by div
+ float x;
+ float begin = 0;
+ for(x = 1; x <= category_ent_count; ++x) {
+ float first = begin;
+ float last = (itemcount - 1);
+ if (first > last) {
+ // List is empty.
+ break;
+ }
+ float catf = gethostcachenumber(SLIST_FIELD_CATEGORY, first);
+ float catl = gethostcachenumber(SLIST_FIELD_CATEGORY, last);
+ if (catf > x) {
+ // The first one is already > x.
+ // Therefore, category x does not exist.
+ // Higher numbered categories do exist though.
+ } else if (catl < x) {
+ // The last one is < x.
+ // Thus this category - and any following -
+ // don't exist.
+ break;
+ } else if (catf == x) {
+ // Starts at first. This breaks the loop
+ // invariant in the binary search and thus has
+ // to be handled separately.
+ if(gethostcachenumber(SLIST_FIELD_CATEGORY, first) != x)
+ error("Category mismatch I");
+ if(first > 0)
+ if(gethostcachenumber(SLIST_FIELD_CATEGORY, first - 1) == x)
+ error("Category mismatch II");
+ category_name[category_draw_count] = x;
+ category_item[category_draw_count] = first;
+ ++category_draw_count;
+ begin = first + 1;
+ } else {
+ // At this point, catf <= x < catl, thus
+ // catf < catl, thus first < last.
+ // INVARIANTS:
+ // last - first >= 1
+ // catf == gethostcachenumber(SLIST_FIELD_CATEGORY(first)
+ // catl == gethostcachenumber(SLIST_FIELD_CATEGORY(last)
+ // catf < x
+ // catl >= x
+ while (last - first > 1) {
+ float middle = floor((first + last) / 2);
+ // By loop condition, middle != first && middle != last.
+ float cat = gethostcachenumber(SLIST_FIELD_CATEGORY, middle);
+ if (cat >= x) {
+ last = middle;
+ catl = cat;
+ } else {
+ first = middle;
+ catf = cat;
+ }
+ }
+ if (catl == x) {
+ if(gethostcachenumber(SLIST_FIELD_CATEGORY, last) != x)
+ error("Category mismatch III");
+ if(last > 0)
+ if(gethostcachenumber(SLIST_FIELD_CATEGORY, last - 1) == x)
+ error("Category mismatch IV");
+ category_name[category_draw_count] = x;
+ category_item[category_draw_count] = last;
+ ++category_draw_count;
+ begin = last + 1; // already scanned through these, skip 'em
+ }
+ else
+ begin = last; // already scanned through these, skip 'em
+ }
+ }
+ if(autocvar_menu_slist_categories_onlyifmultiple && (category_draw_count == 1))
+ {
+ category_name[0] = -1;
+ category_item[0] = -1;
+ category_draw_count = 0;
+ me.nItems = itemcount;
+ }
+ }
+ else { me.nItems = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT); }
me.connectButton.disabled = ((me.nItems == 0) && (me.ipAddressBox.text == ""));
me.infoButton.disabled = ((me.nItems == 0) || !owned);
if(me.selectedServer)
{
for(i = 0; i < me.nItems; ++i)
+ {
if(gethostcachestring(SLIST_FIELD_CNAME, i) == me.selectedServer)
{
if(i != me.selectedItem)
found = 1;
break;
}
+ }
}
if(!found)
+ {
if(me.nItems > 0)
{
if(me.selectedItem >= me.nItems)
strunzone(me.selectedServer);
me.selectedServer = strzone(gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem));
}
-
+ }
+
if(owned)
{
if(me.selectedServer != me.ipAddressBox.text)
me.filterString = strzone(box.text);
else
me.filterString = string_null;
- me.refreshServerList(me, 0);
+ me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
+
+ me.ipAddressBox.setText(me.ipAddressBox, "");
+ me.ipAddressBox.cursorPos = 0;
+ me.ipAddressBoxFocused = -1;
+}
+void ServerList_Categories_Click(entity box, entity me)
+{
+ box.setChecked(box, autocvar_menu_slist_categories = !autocvar_menu_slist_categories);
+ me.refreshServerList(me, REFRESHSERVERLIST_RESORT);
me.ipAddressBox.setText(me.ipAddressBox, "");
me.ipAddressBox.cursorPos = 0;
void ServerList_ShowEmpty_Click(entity box, entity me)
{
box.setChecked(box, me.filterShowEmpty = !me.filterShowEmpty);
- me.refreshServerList(me, 0);
+ me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
me.ipAddressBox.setText(me.ipAddressBox, "");
me.ipAddressBox.cursorPos = 0;
void ServerList_ShowFull_Click(entity box, entity me)
{
box.setChecked(box, me.filterShowFull = !me.filterShowFull);
- me.refreshServerList(me, 0);
+ me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
me.ipAddressBox.setText(me.ipAddressBox, "");
me.ipAddressBox.cursorPos = 0;
if(me.selectedServer)
strunzone(me.selectedServer);
me.selectedServer = string_null;
- me.refreshServerList(me, 0);
+ me.refreshServerList(me, REFRESHSERVERLIST_REFILTER);
}
void XonoticServerList_positionSortButton(entity me, entity btn, float theOrigin, float theSize, string theTitle, void(entity, entity) theFunc)
{
}
void ServerList_Connect_Click(entity btn, entity me)
{
- if(me.ipAddressBox.text == "")
- localcmd("connect ", me.selectedServer, "\n");
- else
- localcmd("connect ", me.ipAddressBox.text, "\n");
+ localcmd(sprintf("connect %s\n",
+ ((me.ipAddressBox.text != "") ?
+ me.ipAddressBox.text : me.selectedServer
+ )
+ ));
}
void ServerList_Favorite_Click(entity btn, entity me)
{
ipstr = netaddress_resolve(me.ipAddressBox.text, 26000);
if(ipstr != "")
{
- ToggleFavorite(me.ipAddressBox.text);
+ me.toggleFavorite(me, me.ipAddressBox.text);
me.ipAddressBoxFocused = -1;
}
}
void ServerList_Info_Click(entity btn, entity me)
{
- main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem);
+ if (me.nItems != 0)
+ main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem);
DialogOpenButton_Click(me, main.serverInfoDialog);
}
void XonoticServerList_clickListBoxItem(entity me, float i, vector where)
float m, pure, freeslots, j, sflags;
string s, typestr, versionstr, k, v, modname;
+ //printf("time: %f, i: %d, item: %d, nitems: %d\n", time, i, item, me.nItems);
+
+ vector oldscale = draw_scale;
+ vector oldshift = draw_shift;
+#define SET_YRANGE(start,end) \
+ draw_scale = boxToGlobalSize(eX * 1 + eY * (end - start), oldscale); \
+ draw_shift = boxToGlobal(eY * start, oldshift, oldscale);
+
+ for (j = 0; j < category_draw_count; ++j) {
+ // Matches exactly the headings with increased height.
+ if (i == category_item[j])
+ break;
+ }
+
+ if (j < category_draw_count)
+ {
+ entity catent = RetrieveCategoryEnt(category_name[j]);
+ if(catent)
+ {
+ SET_YRANGE(
+ (me.categoriesHeight - 1) / (me.categoriesHeight + 1),
+ me.categoriesHeight / (me.categoriesHeight + 1)
+ );
+ draw_Text(
+ eY * me.realUpperMargin
+ +
+#if 0
+ eX * (me.columnNameOrigin + (me.columnNameSize - draw_TextWidth(catent.cat_string, 0, me.realFontSize)) * 0.5),
+ catent.cat_string,
+#else
+ eX * (me.columnNameOrigin),
+ strcat(catent.cat_string, ":"),
+#endif
+ me.realFontSize,
+ '1 1 1',
+ SKINALPHA_TEXT,
+ 0
+ );
+ SET_YRANGE(me.categoriesHeight / (me.categoriesHeight + 1), 1);
+ }
+ }
+
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
theAlpha = SKINALPHA_SERVERLIST_FULL;
else if(freeslots == 0)
theAlpha = SKINALPHA_SERVERLIST_FULL; // g_maxplayers support
- else if not(gethostcachenumber(SLIST_FIELD_NUMHUMANS, i))
+ else if (!gethostcachenumber(SLIST_FIELD_NUMHUMANS, i))
theAlpha = SKINALPHA_SERVERLIST_EMPTY;
else
theAlpha = 1;
// 4: AES recommended and will be used
// 5: AES required
- {
- vector iconSize = '0 0 0';
- iconSize_y = me.realFontSize_y * me.iconsSizeFactor;
- iconSize_x = me.realFontSize_x * me.iconsSizeFactor;
+ // --------------
+ // RENDER ICONS
+ // --------------
+ vector iconSize = '0 0 0';
+ iconSize_y = me.realFontSize_y * me.iconsSizeFactor;
+ iconSize_x = me.realFontSize_x * me.iconsSizeFactor;
- vector iconPos = '0 0 0';
- iconPos_x = (me.columnIconsSize - 3 * iconSize_x) * 0.5;
- iconPos_y = (1 - iconSize_y) * 0.5;
+ vector iconPos = '0 0 0';
+ iconPos_x = (me.columnIconsSize - 3 * iconSize_x) * 0.5;
+ iconPos_y = (1 - iconSize_y) * 0.5;
- string n;
+ string n;
- if not(me.seenIPv4 && me.seenIPv6)
- {
- iconPos_x += iconSize_x * 0.5;
- }
- else if(me.seenIPv4 && me.seenIPv6)
- {
- n = string_null;
- if(isv6)
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_ipv6"), 0); // PRECACHE_PIC_MIPMAP
- else if(isv4)
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_ipv4"), 0); // PRECACHE_PIC_MIPMAP
- if(n)
- draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
- iconPos_x += iconSize_x;
- }
-
- if(q > 0)
- {
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_aeslevel", ftos(q)), 0); // PRECACHE_PIC_MIPMAP
+ if (!(me.seenIPv4 && me.seenIPv6))
+ {
+ iconPos_x += iconSize_x * 0.5;
+ }
+ else if(me.seenIPv4 && me.seenIPv6)
+ {
+ n = string_null;
+ if(isv6)
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_ipv6"), 0); // PRECACHE_PIC_MIPMAP
+ else if(isv4)
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_ipv4"), 0); // PRECACHE_PIC_MIPMAP
+ if(n)
draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
- }
iconPos_x += iconSize_x;
+ }
- if(modname == "Xonotic")
- {
- if(pure == 0)
- {
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_pure1"), PRECACHE_PIC_MIPMAP);
- draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
- }
- }
- else
- {
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_mod_", modname), PRECACHE_PIC_MIPMAP);
- if(draw_PictureSize(n) == '0 0 0')
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_mod_"), PRECACHE_PIC_MIPMAP);
- if(pure == 0)
- draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
- else
- draw_Picture(iconPos, n, iconSize, '1 1 1', SKINALPHA_SERVERLIST_ICON_NONPURE);
- }
- iconPos_x += iconSize_x;
+ if(q > 0)
+ {
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_aeslevel", ftos(q)), 0); // PRECACHE_PIC_MIPMAP
+ draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
+ }
+ iconPos_x += iconSize_x;
- if(sflags >= 0 && (sflags & SERVERFLAG_PLAYERSTATS))
+ if(modname == "Xonotic")
+ {
+ if(pure == 0)
{
- draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_stats1"), 0); // PRECACHE_PIC_MIPMAP
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_pure1"), PRECACHE_PIC_MIPMAP);
draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
}
- iconPos_x += iconSize_x;
}
+ else
+ {
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_mod_", modname), PRECACHE_PIC_MIPMAP);
+ if(draw_PictureSize(n) == '0 0 0')
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_mod_"), PRECACHE_PIC_MIPMAP);
+ if(pure == 0)
+ draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
+ else
+ draw_Picture(iconPos, n, iconSize, '1 1 1', SKINALPHA_SERVERLIST_ICON_NONPURE);
+ }
+ iconPos_x += iconSize_x;
+ if(sflags >= 0 && (sflags & SERVERFLAG_PLAYERSTATS))
+ {
+ draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_stats1"), 0); // PRECACHE_PIC_MIPMAP
+ draw_Picture(iconPos, n, iconSize, '1 1 1', 1);
+ }
+ iconPos_x += iconSize_x;
+
+ // --------------
+ // RENDER TEXT
+ // --------------
+
+ // ping
s = ftos(p);
draw_Text(me.realUpperMargin * eY + (me.columnPingOrigin + me.columnPingSize - draw_TextWidth(s, 0, me.realFontSize)) * eX, s, me.realFontSize, theColor, theAlpha, 0);
+
+ // server name
s = draw_TextShortenToWidth(gethostcachestring(SLIST_FIELD_NAME, i), me.columnNameSize, 0, me.realFontSize);
draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, theColor, theAlpha, 0);
+
+ // server map
s = draw_TextShortenToWidth(gethostcachestring(SLIST_FIELD_MAP, i), me.columnMapSize, 0, me.realFontSize);
draw_Text(me.realUpperMargin * eY + (me.columnMapOrigin + (me.columnMapSize - draw_TextWidth(s, 0, me.realFontSize)) * 0.5) * eX, s, me.realFontSize, theColor, theAlpha, 0);
+
+ // server gametype
s = draw_TextShortenToWidth(typestr, me.columnTypeSize, 0, me.realFontSize);
draw_Text(me.realUpperMargin * eY + (me.columnTypeOrigin + (me.columnTypeSize - draw_TextWidth(s, 0, me.realFontSize)) * 0.5) * eX, s, me.realFontSize, theColor, theAlpha, 0);
+
+ // server playercount
s = strcat(ftos(gethostcachenumber(SLIST_FIELD_NUMHUMANS, i)), "/", ftos(gethostcachenumber(SLIST_FIELD_MAXPLAYERS, i)));
draw_Text(me.realUpperMargin * eY + (me.columnPlayersOrigin + (me.columnPlayersSize - draw_TextWidth(s, 0, me.realFontSize)) * 0.5) * eX, s, me.realFontSize, theColor, theAlpha, 0);
}
float XonoticServerList_keyDown(entity me, float scan, float ascii, float shift)
{
- float i;
vector org, sz;
org = boxToGlobal(eY * (me.selectedItem * me.itemHeight - me.scrollPos), me.origin, me.size);
}
else if(scan == K_INS || scan == K_MOUSE3 || scan == K_KP_INS)
{
- i = me.selectedItem;
- if(i < me.nItems)
+ if(me.nItems != 0)
{
- ToggleFavorite(me.selectedServer);
+ me.toggleFavorite(me, me.selectedServer);
me.ipAddressBoxFocused = -1;
return 1;
}
else
return me.controlledTextbox.keyDown(me.controlledTextbox, scan, ascii, shift);
}
+
+float XonoticServerList_getTotalHeight(entity me) {
+ float num_normal_rows = me.nItems;
+ float num_headers = category_draw_count;
+ return me.itemHeight * (num_normal_rows + me.categoriesHeight * num_headers);
+}
+float XonoticServerList_getItemAtPos(entity me, float pos) {
+ pos = pos / me.itemHeight;
+ float i;
+ for (i = category_draw_count - 1; i >= 0; --i) {
+ float itemidx = category_item[i];
+ float itempos = i * me.categoriesHeight + category_item[i];
+ if (pos >= itempos + me.categoriesHeight + 1)
+ return itemidx + 1 + floor(pos - (itempos + me.categoriesHeight + 1));
+ if (pos >= itempos)
+ return itemidx;
+ }
+ // No category matches? Note that category 0 is... 0. Therefore no headings exist at all.
+ return floor(pos);
+}
+float XonoticServerList_getItemStart(entity me, float item) {
+ float i;
+ for (i = category_draw_count - 1; i >= 0; --i) {
+ float itemidx = category_item[i];
+ float itempos = i * me.categoriesHeight + category_item[i];
+ if (item >= itemidx + 1)
+ return (itempos + me.categoriesHeight + 1 + item - (itemidx + 1)) * me.itemHeight;
+ if (item >= itemidx)
+ return itempos * me.itemHeight;
+ }
+ // No category matches? Note that category 0 is... 0. Therefore no headings exist at all.
+ return item * me.itemHeight;
+}
+float XonoticServerList_getItemHeight(entity me, float item) {
+ float i;
+ for (i = 0; i < category_draw_count; ++i) {
+ // Matches exactly the headings with increased height.
+ if (item == category_item[i])
+ return me.itemHeight * (me.categoriesHeight + 1);
+ }
+ return me.itemHeight;
+}
+
#endif
void XonoticSkinList_drawListBoxItem(entity me, float i, vector absSize, float isSelected)
{
string s;
-
+
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
-
+
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 = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
}
void XonoticSlider_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
me.setValue( me, cvar(me.cvarName) );
}
void XonoticSlider_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
cvar_set(me.cvarName, ftos(me.value));
{
float v;
- if not(me.cvarName)
+ if (!me.cvarName)
return;
v = cvar(me.cvarName);
}
void XonoticDecibelsSlider_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.value > me.valueMax - 0.5 * me.valueStep)
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();
}
void XonoticTextSlider_loadCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
var float n = tokenize_console(me.cvarName);
}
void XonoticTextSlider_saveCvars(entity me)
{
- if not(me.cvarName)
+ if (!me.cvarName)
return;
if(me.value >= 0 && me.value < me.nValues)
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)
{
}
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);
}
}
+void DisableServerBackwardsCompatibility()
+{
+ cvar_set("gameversion_min", ftos(100 * floor(cvar("gameversion") / 100)));
+}
+
void UpdateNotification_URI_Get_Callback(float id, float status, string data)
{
float n;
}
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) == "<")
n = 0;
else
n = tokenizebyseparator(data, "\n");
+
+ float i;
+ string s;
- if(n >= 1)
+ string un_version = "";
+ string un_download = "";
+ string un_url = "";
+ string un_bannedservers = "";
+ string un_emergency_pk3s = "";
+ string un_promoted = "";
+ string un_recommended = "";
+ string un_compatexpire = "";
+
+ for(i = 0; i < n; ++i)
{
- _Nex_ExtResponseSystem_UpdateTo = argv(0);
-
- if(vercmp(cvar_string("g_xonoticversion"), _Nex_ExtResponseSystem_UpdateTo) >= 0)
- {
- _Nex_ExtResponseSystem_UpdateTo = ""; // no update needed
- }
- else
+ s = substring(argv(i), 2, -1);
+ if(s == "") { continue; } // ignore empty lines
+
+ switch(substring(argv(i), 0, 1))
{
- // update needed
- if(n >= 2)
- print(sprintf(_("Update can be downloaded at:\n%s\n"), argv(1)));
- if(n >= 3)
- _Nex_ExtResponseSystem_UpdateToURL = strzone(argv(2));
+ #define APPEND_TO_STRING(list,sep,add) ((list) = (((list) != "") ? strcat(list, sep, add) : (add)))
+ case "V":
+ {
+ un_version = s;
+ break;
+ }
+ case "C":
+ {
+ un_compatexpire = s;
+ break;
+ }
+ case "D":
+ {
+ un_download = s;
+ break;
+ }
+ case "U":
+ {
+ un_url = s;
+ break;
+ }
+ case "B":
+ {
+ APPEND_TO_STRING(un_bannedservers, " ", s);
+ break;
+ }
+ case "E":
+ {
+ if(cvar("menu_updatecheck_getpacks"))
+ APPEND_TO_STRING(un_emergency_pk3s, " ", s);
+ break;
+ }
+ case "P":
+ {
+ APPEND_TO_STRING(un_promoted, " ", s);
+ break;
+ }
+ case "R":
+ {
+ APPEND_TO_STRING(un_recommended, " ", s);
+ break;
+ }
}
+ }
- _Nex_ExtResponseSystem_UpdateTo = strzone(_Nex_ExtResponseSystem_UpdateTo);
-
- if(n >= 4)
+ if(un_version != "")
+ {
+ if(vercmp(cvar_string("g_xonoticversion"), un_version) < 0)
{
- _Nex_ExtResponseSystem_BannedServers = strzone(argv(3));
- _Nex_ExtResponseSystem_BannedServersNeedsRefresh = 1;
+ // update needed
+ _Nex_ExtResponseSystem_UpdateTo = strzone(un_version);
+ if(un_download) { printf(_("Update can be downloaded at:\n%s\n"), un_download); }
+ if(un_url) { _Nex_ExtResponseSystem_UpdateToURL = strzone(un_url); }
+ DisableServerBackwardsCompatibility();
}
-
- if(n >= 5)
+ else if(cvar_string("g_xonoticversion") == un_version)
{
- if(cvar("menu_updatecheck_getpacks"))
+ if(un_compatexpire != "")
{
- _Nex_ExtResponseSystem_Packs = strzone(argv(4));
- _Nex_ExtResponseSystem_PacksStep = 1;
+ string curdate = strftime(FALSE, "%Y%m%d%H%M%S");
+ if (strcmp(curdate, un_compatexpire) >= 0)
+ DisableServerBackwardsCompatibility();
}
}
}
+
+ if(un_emergency_pk3s != "")
+ {
+ _Nex_ExtResponseSystem_Packs = strzone(un_emergency_pk3s);
+ _Nex_ExtResponseSystem_PacksStep = 1;
+ }
+
+ if(un_promoted != "")
+ {
+ _Nex_ExtResponseSystem_PromotedServers = strzone(un_promoted);
+ _Nex_ExtResponseSystem_PromotedServersNeedsRefresh = 1;
+ }
+
+ if(un_recommended != "")
+ {
+ _Nex_ExtResponseSystem_RecommendedServers = strzone(un_recommended);
+ _Nex_ExtResponseSystem_RecommendedServersNeedsRefresh = 1;
+ }
}
// END OF URI SYSTEM ////////////////////////////////////////////////////////
// for privacy, munge the start count a little
startcnt = floor((floor(startcnt / 10) + random()) * 10);
- uri = sprintf("http://www.xonotic.org/dl/checkupdate.txt?version=%s&cnt=%d", uri_escape(cvar_string("g_xonoticversion")), startcnt);
-
-#ifdef CVAR_POPCON
- float cvar_handle, popcon_handle;
- float n, i, j;
- string k, s;
- cvar_handle = buf_create();
- buf_cvarlist(cvar_handle, "", "");
- n = buf_getsize(cvar_handle);
- popcon_handle = buf_create();
- for(i= 0, j = 0; i < n; ++i)
- {
- k = bufstr_get(cvar_handle, i);
- if(!(cvar_type(k) & CVAR_TYPEFLAG_SAVED))
- continue;
- s = sprintf("%s=%d", uri_escape(k), cvar_string(k) != cvar_defstring(k));
- bufstr_set(popcon_handle, j, s);
- ++j;
- }
- buf_del(cvar_handle);
- uri_postbuf(
- uri, URI_GET_UPDATENOTIFICATION,
- "application/x-www-form-urlencoded",
- "&",
- popcon_handle
- );
- buf_del(popcon_handle);
-#else
+ uri = sprintf("http://update.xonotic.org/checkupdate.txt?version=%s&cnt=%d", uri_escape(cvar_string("g_xonoticversion")), startcnt);
uri_get(uri, URI_GET_UPDATENOTIFICATION);
-#endif
}
}
boxA = '0.05 0.5 0' + 0.25 * sz_y * eY;
boxB = '0.95 0.5 0' + 1.25 * sz_y * eY;
draw_Fill(boxA, boxB - boxA, '1 1 1', 1);
-
+
boxA += sz * 0.1;
boxB -= sz * 0.1;
draw_Fill(boxA, boxB - boxA, '0.1 0.1 0.1', 1);
draw_CenterText(mid - 1 * line, l1, fs, '1 0 0', 1, 0);
draw_CenterText(mid - 0 * line, l2, fs, '0 0 1', 1, 0);
}
- if not(campaign_name_previous)
+ if (!campaign_name_previous)
campaign_name_previous = strzone(strcat(campaign_name, "x")); // force unequal
if(campaign_name == campaign_name_previous)
{
// note: include only those that should be in the menu!
#define GAMETYPES \
- GAMETYPE(MAPINFO_TYPE_ARENA) \
GAMETYPE(MAPINFO_TYPE_ASSAULT) \
GAMETYPE(MAPINFO_TYPE_CTF) \
GAMETYPE(MAPINFO_TYPE_CA) \
GAMETYPE(MAPINFO_TYPE_RACE) \
GAMETYPE(MAPINFO_TYPE_CTS) \
GAMETYPE(MAPINFO_TYPE_TEAM_DEATHMATCH) \
+ //GAMETYPE(MAPINFO_TYPE_INVASION) \
/* nothing */
float GameType_GetID(float cnt)
{
float i;
i = 0;
-
+
#define GAMETYPE(id) if(i++ == cnt) return id;
GAMETYPES
#undef GAMETYPE
unused_float = i;
-
+
return 0;
}
{
float i;
i = 0;
-
+
#define GAMETYPE(id) ++i;
GAMETYPES
#undef GAMETYPE
-
+
return i;
}
string GameType_GetName(float cnt)
{
float i = GameType_GetID(cnt);
-
+
if(i)
return MapInfo_Type_ToText(i);
-
+
return "";
}
string GameType_GetIcon(float cnt)
{
float i = GameType_GetID(cnt);
-
+
if(i)
return strcat("gametype_", MapInfo_Type_ToString(i));
-
+
return "";
}
{
float i = GameType_GetID(cnt);
string s = _MapInfo_GetDefaultEx(i);
-
+
if(i)
{
if(strstrofs(s, "teams", 0) >= 0)
else
return _("free for all");
}
-
+
return _("tuba for all");
}*/
string _Nex_ExtResponseSystem_BannedServers;
float _Nex_ExtResponseSystem_BannedServersNeedsRefresh;
+string _Nex_ExtResponseSystem_PromotedServers;
+float _Nex_ExtResponseSystem_PromotedServersNeedsRefresh;
+string _Nex_ExtResponseSystem_RecommendedServers;
+float _Nex_ExtResponseSystem_RecommendedServersNeedsRefresh;
float f, i;
i = me.selectedItem;
f = SUPER(XonoticWeaponsList).mouseDrag(me, pos);
-
+
if(me.pressed != 1) // don't change priority if the person is just scrolling
{
if(me.selectedItem != i)
cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i));
}
-
+
return f;
}
string XonoticWeaponsList_toString(entity me)
dprint("TESTCASE: START\n");
r = test();
if(r == 1)
- error("TESTCASE: PASS");
+ error("TESTCASE: PASS");
else if(r == 0)
- error("TESTCASE: FAIL");
+ error("TESTCASE: FAIL");
else
- error("TESTCASE: INVALID");
+ error("TESTCASE: INVALID");
}
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)
a = a.accuracy;
if(to != a.owner)
- if not(self.owner.cvar_cl_accuracy_data_share && autocvar_sv_accuracy_data_share)
+ if (!(self.owner.cvar_cl_accuracy_data_share && autocvar_sv_accuracy_data_share))
sf = 0;
// note: zero sendflags can never be sent... so we can use that to say that we send no accuracy!
WriteInt24_t(MSG_ENTITY, sf);
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;
{
if (e.vehicle && e.vehicle.vehicle_flags == VHF_PLAYERSLOT)
return;
-
+
if(e.vehicle)
antilag_record(e.vehicle, t);
#define autocvar_fraglimit_override cvar("fraglimit_override")
float autocvar_g_allow_oldnexbeam;
float autocvar_g_antilag;
-float autocvar_g_antilag_bullets;
float autocvar_g_antilag_nudge;
-float autocvar_g_arena_maxspawned;
-float autocvar_g_arena_point_leadlimit;
-float autocvar_g_arena_point_limit;
-float autocvar_g_arena_roundbased;
-float autocvar_g_arena_round_timelimit;
-float autocvar_g_arena_warmup;
float autocvar_g_balance_armor_blockpercent;
float autocvar_g_balance_armor_limit;
float autocvar_g_balance_armor_regen;
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;
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;
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;
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;
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;
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;
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")
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;
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")
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;
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_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;
+#define autocvar_g_invasion_round_limit cvar("g_invasion_round_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;
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;
return FALSE;
if(e.flags & FL_NOTARGET)
return FALSE;
-
+
checkentity = e;
if(MUTATOR_CALLHOOK(BotShouldAttack))
return FALSE;
-
+
return TRUE;
}
void bot_clientdisconnect()
{
- if not(IS_BOT_CLIENT(self))
+ if (!IS_BOT_CLIENT(self))
return;
bot_clearqueue(self);
if(self.cleanname)
void bot_clientconnect()
{
- if not(IS_BOT_CLIENT(self))
+ if (!IS_BOT_CLIENT(self))
return;
self.bot_preferredcolors = self.clientcolors;
self.bot_nextthink = time - random();
FOR_EACH_REALCLIENT(head)
{
- if(IS_PLAYER(head) || g_lms || g_arena || head.caplayer == 1)
+ if(IS_PLAYER(head) || g_lms || head.caplayer == 1)
++activerealplayers;
++realplayers;
}
}
else
{
- if not(self.jumppadcount)
+ if (!self.jumppadcount)
self.havocbot_role();
}
havocbot_movetogoal();
// if the bot is not attacking, consider reloading weapons
- if not(self.aistatus & AI_STATUS_ATTACKING)
+ if (!(self.aistatus & AI_STATUS_ATTACKING))
{
float i;
entity e;
if(self.aistatus & AI_STATUS_ROAMING)
if(self.goalcurrent.classname=="waypoint")
- if not(self.goalcurrent.wpflags & WAYPOINTFLAG_PERSONAL)
+ if (!(self.goalcurrent.wpflags & WAYPOINTFLAG_PERSONAL))
if(fabs(gco_z - self.origin_z) < self.maxs_z - self.mins_z)
if(self.goalstack01!=world)
{
}
// Take off
- if not(self.aistatus & AI_STATUS_JETPACK_FLYING)
+ if (!(self.aistatus & AI_STATUS_JETPACK_FLYING))
{
// Brake almost completely so it can get a good direction
if(vlen(self.velocity)>10)
// If there is a trigger_hurt right below try to use the jetpack or make a rocketjump
if(skill>6)
- if not(self.flags & FL_ONGROUND)
+ if (!(self.flags & FL_ONGROUND))
{
tracebox(self.origin, self.mins, self.maxs, self.origin + '0 0 -65536', MOVE_NOMONSTERS, self);
if(tracebox_hits_trigger_hurt(self.origin, self.mins, self.maxs, trace_endpos ))
cp = world;
for (; cp1; cp1 = cp1.chain)
{
- if not(cp1.wpconsidered)
+ if (!cp1.wpconsidered)
continue;
if(cp1.wpcost<bestvalue)
}
}
- if not(cp)
+ if (!cp)
return;
// dprint(self.netname, " chose cp ranked ", ftos(bestvalue), "\n");
found = FALSE;
// Look for auto generated waypoint
- if not(bot_waypoints_for_items)
+ if (!bot_waypoints_for_items)
for (wp = findradius(cp.origin,100); wp; wp = wp.chain)
{
if(wp.classname=="waypoint")
}
// Nothing found, rate the controlpoint itself
- if not(found)
+ if (!found)
navigation_routerating(cp, ratingscale, 10000);
}
}
break;
}
- if not (pointcontents(org + '0 0 1') == CONTENT_EMPTY)
+ if (!(pointcontents(org + '0 0 1') == CONTENT_EMPTY))
{
if(autocvar_bot_debug_tracewalk)
debugnodestatus(org, DEBUG_NODE_FAIL);
{
float c;
c = pointcontents(org + '0 0 1');
- if not(c == CONTENT_WATER || c == CONTENT_LAVA || c == CONTENT_SLIME)
+ if (!(c == CONTENT_WATER || c == CONTENT_LAVA || c == CONTENT_SLIME))
swimming = FALSE;
else
continue;
}
// 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;
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;
}
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
t = zdistance / autocvar_g_jetpack_maxspeed_up;
t += xydistance / autocvar_g_jetpack_maxspeed_side;
fuel = t * autocvar_g_jetpack_fuel * 0.8;
-
+
bot_debug(strcat("jetpack ai: required fuel ", ftos(fuel), " self.ammo_fuel ", ftos(self.ammo_fuel), "\n"));
// enough fuel ?
if(e.flags & FL_ITEM)
{
- if not(e.flags & FL_WEAPON)
+ if (!(e.flags & FL_WEAPON))
if(e.nearestwaypoint)
search = FALSE;
}
bot_debug(strcat("best goal ", self.goalcurrent.classname , "\n"));
// If the bot got stuck then try to reach the farthest waypoint
- if not (self.navigation_hasgoals)
+ if (!self.navigation_hasgoals)
if (autocvar_bot_wander_enable)
{
- if not(self.aistatus & AI_STATUS_STUCK)
+ if (!(self.aistatus & AI_STATUS_STUCK))
{
bot_debug(strcat(self.netname, " cannot walk to any goal\n"));
self.aistatus |= AI_STATUS_STUCK;
{
float search_radius = 1000;
- if not(autocvar_bot_wander_enable)
+ if (!autocvar_bot_wander_enable)
return;
- if not(bot_waypoint_queue_owner)
+ if (!bot_waypoint_queue_owner)
{
bot_debug(strcat(self.netname, " sutck, taking over the waypoints queue\n"));
bot_waypoint_queue_owner = self;
}
bot_waypoint_queue_goal = bot_waypoint_queue_goal.bot_waypoint_queue_nextgoal;
- if not(bot_waypoint_queue_goal)
+ if (!bot_waypoint_queue_goal)
{
if (bot_waypoint_queue_bestgoal)
{
void debugnode(vector node)
{
- if not(IS_PLAYER(self))
+ if (!IS_PLAYER(self))
return;
if(debuglastnode=='0 0 0')
ispressingkey = !!bot_presskeys();
// Handle conditions
- if not(bot_cmd.bot_cmd_type==BOT_CMD_FI||bot_cmd.bot_cmd_type==BOT_CMD_ELSE)
+ if (!(bot_cmd.bot_cmd_type==BOT_CMD_FI||bot_cmd.bot_cmd_type==BOT_CMD_ELSE))
if(self.bot_cmd_condition_status & CMD_CONDITION_TRUE && self.bot_cmd_condition_status & CMD_CONDITION_FALSE_BLOCK)
{
bot_command_executed(TRUE);
entity w;
w = find(world, classname, "waypoint");
- if not(f & WAYPOINTFLAG_PERSONAL)
+ if (!(f & WAYPOINTFLAG_PERSONAL))
while (w)
{
// if a matching spawnfunc_waypoint already exists, don't add a duplicate
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()
{
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;
{
m1 = stov(s);
s = fgets(file);
- if not(s)
+ if (!s)
break;
m2 = stov(s);
s = fgets(file);
- if not(s)
+ if (!s)
break;
fl = stof(s);
waypoint_spawn(m1, m2, fl);
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;
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;
}
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;
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)
}
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;
}
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()
botframe_autowaypoints_fix(p, TRUE, botframe_autowaypoints_lastwp1);
//te_explosion(p.botframe_autowaypoints_lastwp0.origin);
}
+
+ botframe_deleteuselesswaypoints();
}
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;
return 1;
}
-string cvar_campaignwrapper_list; // string of format ; var value; var value; var value;
+string cvar_campaignwrapper_list; // string of format ; var value; var value; var value;
string cvar_string_campaignwrapper(string theCvar)
{
float p, q;
return 0;
if(gamestart_sv_cheats < 2 && !IS_PLAYER(self))
return 0;
-
+
// sv_clones
if(i == CHIMPULSE_CLONE_MOVING || i == CHIMPULSE_CLONE_STANDING)
if(self.lip < sv_clones)
// haha
if(self.maycheat)
return 1;
-
+
// sv_cheats
if(gamestart_sv_cheats && autocvar_sv_cheats)
return 1;
// 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;
}
self.oldvelocity = self.velocity = self.personal.velocity;
self.angles = self.personal.v_angle;
self.fixangle = TRUE;
-
+
MUTATOR_CALLHOOK(AbortSpeedrun);
}
END_CHEAT_FUNCTION();
}
-float Drag(entity e, float grab, float ischeat);
+float Drag(float force_allow_pick, float ischeat);
void Drag_Begin(entity dragger, entity draggee, vector touchpoint);
void Drag_Finish(entity dragger);
float Drag_IsDraggable(entity draggee);
{
// use cheat dragging if cheats are enabled
crosshair_trace_plusvisibletriggers(self);
- Drag(trace_ent, TRUE, TRUE);
+ Drag(TRUE, TRUE);
}
else
{
- // drag is TRUE if the object can be picked up. While an object is being carried, the Drag() function
- // must execute for it either way, otherwise it would cause bugs if it went out of the player's trace.
- // This also makes sure that an object can only pe picked up if in range, but does not get dropped if
- // it goes out of range while slinging it around.
-
- float drag;
- crosshair_trace_plusvisibletriggers(self);
- drag = FALSE;
- if(vlen(self.origin - trace_ent.origin) <= autocvar_g_grab_range)
- {
- switch(trace_ent.grab)
- {
- case 0: // can't grab
- break;
- case 1: // owner can grab
- if(trace_ent.owner == self || trace_ent.realowner == self)
- drag = TRUE;
- break;
- case 2: // owner and team mates can grab
- if(SAME_TEAM(trace_ent.owner, self) || SAME_TEAM(trace_ent.realowner, self) || trace_ent.team == self.team)
- drag = TRUE;
- break;
- case 3: // anyone can grab
- drag = TRUE;
- break;
- default:
- break;
- }
- }
- Drag(trace_ent, drag, FALSE); // execute dragging
+ Drag(FALSE, FALSE); // execute dragging
}
break;
}
// ENTITY DRAGGING
-float Drag(entity e, float pick, float ischeat)
+float Drag(float force_allow_pick, float ischeat)
{
BEGIN_CHEAT_FUNCTION();
else
{
if(Drag_CanDrag(self))
- if(self.BUTTON_DRAG && pick)
+ if(self.BUTTON_DRAG)
{
- if(e)
+ crosshair_trace_plusvisibletriggers(self);
+ entity e = trace_ent;
+ float pick = force_allow_pick;
+ if (e && !pick)
+ {
+ // pick is TRUE if the object can be picked up. While an object is being carried, the Drag() function
+ // must execute for it either way, otherwise it would cause bugs if it went out of the player's trace.
+ // This also makes sure that an object can only pe picked up if in range, but does not get dropped if
+ // it goes out of range while slinging it around.
+
+ if(vlen(self.origin - e.origin) <= autocvar_g_grab_range)
+ {
+ switch(e.grab)
+ {
+ case 0: // can't grab
+ break;
+ case 1: // owner can grab
+ if(e.owner == self || e.realowner == self)
+ pick = TRUE;
+ break;
+ case 2: // owner and team mates can grab
+ if(SAME_TEAM(e.owner, self) || SAME_TEAM(e.realowner, self) || e.team == self.team)
+ pick = TRUE;
+ break;
+ case 3: // anyone can grab
+ pick = TRUE;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ // Find e and pick
+ if(e && pick)
if(Drag_IsDraggable(e))
{
if(ischeat)
MUTATOR_CALLHOOK(MakePlayerObserver);
Portal_ClearAll(self);
-
+
if(self.alivetime)
{
if(!warmup_stage)
}
if(self.vehicle)
- vehicles_exit(VHEF_RELESE);
+ vehicles_exit(VHEF_RELESE);
WaypointSprite_PlayerDead();
- if not(g_ca) // don't reset teams when moving a ca player to the spectators
+ if (!g_ca) // don't reset teams when moving a ca player to the spectators
self.team = -1; // move this as it is needed to log the player spectating in eventlog
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);
accuracy_resend(self);
self.spectatortime = time;
-
+
self.classname = "observer";
self.iscreature = FALSE;
self.teleportable = TELEPORT_SIMPLE;
RemoveGrapplingHook(self); // Wazat's Grappling Hook
+ if(self.vehicle)
+ vehicles_exit(VHEF_RELESE);
+
self.classname = "player";
self.wasplayer = TRUE;
self.iscreature = TRUE;
self.ammo_fuel = warmup_start_ammo_fuel;
self.health = warmup_start_health;
self.armorvalue = warmup_start_armorvalue;
- self.weapons = warmup_start_weapons;
+ self.weapons = WARMUP_START_WEAPONS;
}
else
{
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;
//stuffcmd(self, "chase_active 0");
//stuffcmd(self, "set viewsize $tmpviewsize \n");
-
+
target_voicescript_clear(self);
// reset fields the weapons may use
if(!self.killindicator_teamchange)
{
self.vehicle_health = -1;
- Damage(self, self, self, 1 , DEATH_KILL, self.origin, '0 0 0');
+ Damage(self, self, self, 1 , DEATH_KILL, self.origin, '0 0 0');
}
}
if(gameover) return;
if(self.player_blocked) return;
if(self.freezetag_frozen) return;
-
+
ClientKill_TeamChange(0);
}
string s;
// NOTE: we do NOT check crypto_keyfp here, an unsigned ID is fine too for this
- if not(p.crypto_idfp)
+ if (!p.crypto_idfp)
return 0;
// this function allows abbreviated player IDs too!
if(self.vehicle)
vehicles_exit(VHEF_RELESE);
- if not(IS_CLIENT(self))
+ if (!IS_CLIENT(self))
{
print("Warning: ClientDisconnect without ClientConnect\n");
return;
if(autocvar_sv_eventlog)
GameLogEcho(strcat(":part:", ftos(self.playerid)));
-
+
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_QUIT_DISCONNECT, self.netname);
MUTATOR_CALLHOOK(ClientDisconnect);
Fire_ApplyDamage(self);
Fire_ApplyEffect(self);
- if not(g_minstagib)
+ if (!g_minstagib)
{
if (self.items & IT_STRENGTH)
{
self.superweapons_finished = 0;
}
}
-
+
if(autocvar_g_nodepthtestplayers)
self.effects = self.effects | EF_NODEPTHTEST;
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;
-
- max_mod = regen_mod = rot_mod = limit_mod = 1;
-
- 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))
+ if(!MUTATOR_CALLHOOK(PlayerRegen))
{
+ float minh, mina, maxh, maxa, limith, limita, max_mod, regen_mod, rot_mod, limit_mod;
+ 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 = rot_mod = limit_mod = 1;
+
+ maxh = maxh * max_mod;
+ minh = minh * max_mod;
+ limith = limith * limit_mod;
+ limita = limita * limit_mod;
+
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 not(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);
+ // 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))
+ {
+ 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;
setorigin(self, spectatee.origin);
setsize(self, spectatee.mins, spectatee.maxs);
SetZoomState(spectatee.zoomstate);
-
+
anticheat_spectatecopy(spectatee);
self.hud = spectatee.hud;
if(spectatee.vehicle)
self.vehicle_reload2 = spectatee.vehicle_reload2;
msg_entity = self;
-
+
WriteByte (MSG_ONE, SVC_SETVIEWANGLES);
WriteAngle(MSG_ONE, spectatee.v_angle_x);
WriteAngle(MSG_ONE, spectatee.v_angle_y);
WriteAngle(MSG_ONE, spectatee.v_angle_z);
//WriteByte (MSG_ONE, SVC_SETVIEW);
- // WriteEntity(MSG_ONE, self);
+ // WriteEntity(MSG_ONE, self);
//makevectors(spectatee.v_angle);
- //setorigin(self, spectatee.origin - v_forward * 400 + v_up * 300);*/
+ //setorigin(self, spectatee.origin - v_forward * 400 + v_up * 300);*/
}
}
float SpectateUpdate() {
if(!self.enemy)
- return 0;
+ return 0;
if (self == self.enemy)
return 0;
- if not(IS_PLAYER(self.enemy))
+ if (!IS_PLAYER(self.enemy))
return 0;
SpectateCopy(self.enemy);
if (start.team == self.team) {
return start;
}
-
+
other = start;
// continue from current player
while(other && other.team != self.team) {
other = find(other, classname, "player");
}
-
+
if (!other) {
// restart from begining
other = find(other, classname, "player");
other = find(other, classname, "player");
}
}
-
+
return other;
}
{
// NOTE: chain order is from the highest to the lower entnum (unlike find)
other = findchain(classname, "player");
- if not(other) // no player
+ if (!other) // no player
return FALSE;
entity first = other;
do { other = other.chain; }
while(other && other.team != self.team);
- if not(other)
+ if (!other)
{
other = first;
while(other.team != self.team)
void PlayerUseKey()
{
- if not(IS_PLAYER(self))
+ if (!IS_PLAYER(self))
return;
if(self.vehicle)
vehicles_exit(VHEF_NORMAL);
return;
}
-
+
// a use key was pressed; call handlers
MUTATOR_CALLHOOK(PlayerUseKey);
}
if(frametime)
player_anim();
button_pressed = (self.BUTTON_ATCK || self.BUTTON_JUMP || self.BUTTON_ATCK2 || self.BUTTON_HOOK || self.BUTTON_USE);
-
+
if (self.deadflag == DEAD_DYING)
{
- if(self.respawn_flags & RESPAWN_FORCE)
+ if((self.respawn_flags & RESPAWN_FORCE) && !autocvar_g_respawn_delay_max)
self.deadflag = DEAD_RESPAWNING;
else if(!button_pressed)
self.deadflag = DEAD_DEAD;
{
if(button_pressed)
self.deadflag = DEAD_RESPAWNABLE;
+ else if(time >= self.respawn_time_max && (self.respawn_flags & RESPAWN_FORCE))
+ self.deadflag = DEAD_RESPAWNING;
}
else if (self.deadflag == DEAD_RESPAWNABLE)
{
if(time > self.respawn_time)
{
self.respawn_time = time + 1; // only retry once a second
+ self.respawn_time_max = self.respawn_time;
respawn();
}
}
if(self.respawn_flags & RESPAWN_SILENT)
self.stat_respawn_time = 0;
+ else if((self.respawn_flags & RESPAWN_FORCE) && autocvar_g_respawn_delay_max)
+ self.stat_respawn_time = self.respawn_time_max;
else
self.stat_respawn_time = self.respawn_time;
}
if(frametime)
player_anim();
-
+
// 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
return; // intermission or finale
GetPressedKeys();
}
-
+
#ifdef TETRIS
}
#endif
if((g_cts || g_race) && self.cvar_cl_allow_uidtracking == 1 && self.cvar_cl_allow_uid2name == 1)
{
- if not(self.stored_netname)
+ if (!self.stored_netname)
self.stored_netname = strzone(uid2name(self.crypto_idfp));
if(self.stored_netname != self.netname)
{
/*
if(g_race)
- dprint(sprintf("%f %.6f\n", time, race_GetFractionalLapCount(self)));
+ dprintf("%f %.6f\n", time, race_GetFractionalLapCount(self));
*/
CSQCMODEL_AUTOUPDATE();
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
return;
-
+
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))
{
}
case 33:
if(self.deadflag == DEAD_NO && teamplay)
{
- if not(MUTATOR_CALLHOOK(HelpMePing))
+ if (!MUTATOR_CALLHOOK(HelpMePing))
{
wp = WaypointSprite_Attach("helpme", TRUE, RADARICON_HELPME, '1 0.5 0');
if(!wp)
case 104:
e = navigation_findnearestwaypoint(self, FALSE);
if (e)
- if not(e.wpflags & WAYPOINTFLAG_GENERATED)
+ if (!(e.wpflags & WAYPOINTFLAG_GENERATED))
{
bprint(strcat("Waypoint removed at ",vtos(e.origin),"\n"));
waypoint_remove(e);
{
print("cannot reach me: ", etos(e), " ", vtos(e.origin), "\n");
e.colormod_x = 8;
- if not(e.effects & EF_NODEPTHTEST) // not already reported before
+ if(!(e.effects & EF_NODEPTHTEST)) // not already reported before
++m;
e.effects |= EF_NODEPTHTEST | EF_RED;
++i;
player_multijump = doublejump;
if(MUTATOR_CALLHOOK(PlayerJump))
return;
-
+
doublejump = player_multijump;
float mjumpheight;
-
+
if (autocvar_sv_doublejump)
{
tracebox(self.origin + '0 0 0.01', self.mins, self.maxs, self.origin - '0 0 0.01', MOVE_NORMAL, self);
self.flags &= ~FL_JUMPRELEASED;
animdecide_setaction(self, ANIMACTION_JUMP, TRUE);
-
+
if(autocvar_g_jump_grunt)
PlayerSound(playersound_jump, CH_PLAYER, VOICETYPE_PLAYERSOUND);
}
else
vel_perpend = vel_perpend * max(0, 1 - frametime * wishspeed * sidefric);
-
+
vel_xy = vel_straight * wishdir + vel_perpend;
-
+
if(speedclamp >= 0)
{
float vel_xy_preclamp;
string c;
WarpZone_PlayerPhysics_FixVAngle();
-
+
maxspd_mod = 1;
if(self.ballcarried)
if(g_nexball)
return;
bot_think();
}
-
+
self.items &= ~IT_USING_JETPACK;
if(IS_PLAYER(self))
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)
if(self.conveyor.state)
self.velocity -= self.conveyor.movedir;
- if not(IS_PLAYER(self))
+ if (!IS_PLAYER(self))
{
maxspd_mod = autocvar_sv_spectator_speed_multiplier;
if(!self.spectatorspeed)
if(self.waterlevel < WATERLEVEL_SWIMMING)
if(time >= self.ladder_time)
- if not(self.hook)
+ if (!self.hook)
{
self.nextstep = time + 0.3 + random() * 0.1;
trace_dphitq3surfaceflags = 0;
tracebox(self.origin, self.mins, self.maxs, self.origin - '0 0 1', MOVE_NOMONSTERS, self);
- if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
+ if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS))
{
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
GlobalSound(globalsound_metalfall, CH_PLAYER, VOICETYPE_PLAYERSOUND);
if (f > 0 && wishvel != '0 0 0')
{
self.velocity = self.velocity + wishvel * f * frametime;
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
self.ammo_fuel -= autocvar_g_jetpack_fuel * frametime * fvel * f;
self.flags &= ~FL_ONGROUND;
self.items |= IT_USING_JETPACK;
self.teleportable = oldself.teleportable;
self.damagedbycontents = oldself.damagedbycontents;
self.angles = oldself.angles;
+ self.v_angle = oldself.v_angle;
self.avelocity = oldself.avelocity;
self.classname = "body";
self.damageforcescale = oldself.damageforcescale;
}
}
+// 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(g_cts || 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;
ear1 += v_right * -10;
ear2 += v_right * +10;
d = inflictor.origin - self.origin;
- f = (d * v_right) / vlen(d); // this is cos of angle of d and v_right!
+ if (d)
+ f = (d * v_right) / vlen(d); // this is cos of angle of d and v_right!
+ else
+ f = 0; // Assum ecenter.
force = v_right * vlen(force);
Violence_GibSplash_At(ear1, force * -1, 2, bound(0, damage, 25) / 2 * (0.5 - 0.5 * f), self, attacker);
Violence_GibSplash_At(ear2, force, 2, bound(0, damage, 25) / 2 * (0.5 + 0.5 * f), self, attacker);
// 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((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)
msgin = formatmessage(msgin);
- if not(IS_PLAYER(source))
+ if (!IS_PLAYER(source))
colorstr = "^0"; // black for spectators
else if(teamplay)
colorstr = Team_ColorCode(source.team);
}
if(!privatesay)
- if not(IS_PLAYER(source))
+ if (!IS_PLAYER(source))
{
- if not(intermission_running)
+ if (!intermission_running)
if(teamsay || (autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !(warmup_stage || gameover)))
teamsay = -1; // spectators
}
{
sprint(source, sourcemsgstr);
sprint(privatesay, msgstr);
- if not(autocvar_g_chat_tellprivacy) { dedicated_print(msgstr); } // send to server console too if "tellprivacy" is disabled
+ if (!autocvar_g_chat_tellprivacy) { dedicated_print(msgstr); } // send to server console too if "tellprivacy" is disabled
if(cmsgstr != "")
centerprint(privatesay, cmsgstr);
}
{
sprint(source, sourcemsgstr);
dedicated_print(msgstr); // send to server console too
- FOR_EACH_REALCLIENT(head) if not(IS_PLAYER(head))
+ FOR_EACH_REALCLIENT(head) if (!IS_PLAYER(head))
if(head != source)
sprint(head, msgstr);
}
}
fclose(fh);
- if not(allvoicesamples)
+ if (!allvoicesamples)
{
#define _VOICEMSG(m) allvoicesamples = strcat(allvoicesamples, " ", #m);
ALLVOICEMSGS
return 0;
if(w == 0)
return 0;
-
+
wa = W_AmmoItemCode(w);
if(start_weapons & WepSet_FromWeapon(w))
{
W_SwitchWeapon_Force(self, w_getbestweapon(self));
a = W_ThrowNewWeapon(self, w, doreduce, self.origin + delta, velo);
-
- if not(a) return;
+
+ if (!a) return;
Send_Notification(NOTIF_ONE, self, MSG_MULTI, ITEM_WEAPON_DROP, a, w);
}
// 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)
self.switchingweapon = self.switchweapon;
entity oldwep = get_weaponinfo(self.weapon);
-
+
#ifndef INDEPENDENT_ATTACK_FINISHED
if(ATTACK_FINISHED(self) <= time + self.weapon_frametime * 0.5)
{
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
}
lag = ANTILAG_LATENCY(player);
if(lag < 0.001)
lag = 0;
- if not(IS_REAL_CLIENT(player))
+ if (!IS_REAL_CLIENT(player))
lag = 0; // only antilag for clients
org = player.origin + player.view_ofs;
}
self.angles = '0 0 0';
-
+
float f = (self.owner.weapon_nextthink - time);
if (self.state == WS_RAISE && !intermission_running)
{
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)
complain = 0;
if(complain)
self.hasweapon_complain_spam = time + 0.2;
-
+
if(wpn == WEP_HOOK && !g_grappling_hook && autocvar_g_nades && !((cl.weapons | weaponsInMap) & WepSet_FromWeapon(wpn)))
complain = 0;
{
if(e.classname == "droppedweapon")
continue;
- if not(e.flags & FL_ITEM)
+ if (!(e.flags & FL_ITEM))
continue;
WaypointSprite_Spawn(
s,
.float prevwarntime;
float weapon_prepareattack_checkammo(float secondary)
{
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
if (!weapon_action(self.weapon, WR_CHECKAMMO1 + secondary))
{
// always keep the Mine Layer if we placed mines, so that we can detonate them
{
W_SwitchToOtherWeapon(self);
}
-
+
return FALSE;
}
return TRUE;
if(spread <= 0)
return forward;
sstyle = autocvar_g_projectiles_spread_style;
-
+
if(sstyle == 0)
{
// this is the baseline for the spread value!
e = get_weaponinfo(self.weapon);
// don't reload weapons that don't have the RELOADABLE flag
- if not(e.spawnflags & WEP_FLAG_RELOADABLE)
+ if (!(e.spawnflags & WEP_FLAG_RELOADABLE))
{
dprint("Warning: Attempted to reload a weapon that does not have the WEP_FLAG_RELOADABLE flag. Fix your code!\n");
return;
// no ammo, so nothing to load
if(!self.(self.current_ammo) && self.reload_ammo_min)
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
if(IS_REAL_CLIENT(self) && self.reload_complain < time)
{
self.reload_complain = time + 1;
}
// switch away if the amount of ammo is not enough to keep using this weapon
- if not(weapon_action(self.weapon, WR_CHECKAMMO1) + weapon_action(self.weapon, WR_CHECKAMMO2))
+ if (!(weapon_action(self.weapon, WR_CHECKAMMO1) + weapon_action(self.weapon, WR_CHECKAMMO2)))
{
self.clip_load = -1; // reload later
W_SwitchToOtherWeapon(self);
string ip = argv(1);
float reason_arg, bantime;
string reason;
-
- reason_arg = 2;
-
+
+ reason_arg = 2;
+
GET_BAN_ARG(bantime, autocvar_g_ban_default_bantime);
GET_BAN_REASON(reason, "No reason provided");
return;
}
}
-
+
default:
print("Incorrect parameters for ^2ban^7\n");
case CMD_REQUEST_USAGE:
Ban_View();
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
float accepted = VerifyClientEntity(client, TRUE, FALSE);
float reason_arg, bantime, masksize;
string reason;
-
- if(accepted > 0)
+
+ if(accepted > 0)
{
- reason_arg = next_token;
+ reason_arg = next_token;
GET_BAN_ARG(bantime, autocvar_g_ban_default_bantime);
GET_BAN_ARG(masksize, autocvar_g_ban_default_masksize);
GET_BAN_REASON(reason, "No reason provided");
Ban_KickBanClient(client, bantime, masksize, reason);
-
+
return;
}
else
{
- print("kickban: ", GetClientErrorString(accepted, argv(1)), ".\n");
+ print("kickban: ", GetClientErrorString(accepted, argv(1)), ".\n");
}
}
}
-
+
default:
print("Incorrect parameters for ^2kickban^7\n");
case CMD_REQUEST_USAGE:
{
entity client = GetFilteredEntity(argv(1));
float accepted = VerifyClientEntity(client, TRUE, FALSE);
-
- if(accepted > 0)
+
+ if(accepted > 0)
{
client.muted = TRUE;
return;
}
else
{
- print("mute: ", GetClientErrorString(accepted, argv(1)), ".\n");
+ print("mute: ", GetClientErrorString(accepted, argv(1)), ".\n");
}
}
}
-
+
default:
print("Incorrect parameters for ^2mute^7\n");
case CMD_REQUEST_USAGE:
switch(request)
{
case CMD_REQUEST_COMMAND:
- {
+ {
if(argv(1))
{
float tmp_number = -1;
string tmp_string;
-
+
if(substring(argv(1), 0, 1) == "#")
{
tmp_string = substring(argv(1), 1, -1);
-
+
if(tmp_string != "") // is it all one token? like #1
{
tmp_number = stof(tmp_string);
else // maybe it's ONLY a number?
{
tmp_number = stof(argv(1));
-
+
if((tmp_number == 0) && (argv(1) != "0"))
{ tmp_number = -1; }
}
}
}
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
entity client = GetFilteredEntity(argv(1));
float accepted = VerifyClientEntity(client, TRUE, FALSE);
-
- if(accepted > 0)
+
+ if(accepted > 0)
{
client.muted = FALSE;
return;
}
else
{
- print("unmute: ", GetClientErrorString(accepted, argv(1)), ".\n");
+ print("unmute: ", GetClientErrorString(accepted, argv(1)), ".\n");
}
}
}
-
+
default:
print("Incorrect parameters for ^2mute^7\n");
case CMD_REQUEST_USAGE:
{
case CMD_REQUEST_COMMAND:
{
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
#define BAN_COMMAND(name,function,description) \
{ if(strtolower(description) != "") { print(" ^2", name, "^7: ", description, "\n"); } }
-
+
BAN_COMMANDS(0, 0, "")
#undef BAN_COMMAND
-
+
return;
}
{
#define BAN_COMMAND(name,function,description) \
{ if(name == strtolower(argv(0))) { function; return TRUE; } }
-
+
BAN_COMMANDS(CMD_REQUEST_COMMAND, argc, command)
#undef BAN_COMMAND
-
+
return FALSE;
}
{
#define BAN_COMMAND(name,function,description) \
{ if(name == strtolower(argv(1))) { function; return TRUE; } }
-
+
BAN_COMMANDS(CMD_REQUEST_USAGE, argc, "")
#undef BAN_COMMAND
-
+
return FALSE;
}
{
#define BAN_COMMAND(name,function,description) \
{ if(strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } }
-
+
BAN_COMMANDS(0, 0, "")
#undef BAN_COMMAND
-
+
return;
}
float BanCommand(string command)
{
float argc = tokenize_console(command);
-
+
// Guide for working with argc arguments by example:
// argc: 1 - 2 - 3 - 4
- // argv: 0 - 1 - 2 - 3
+ // argv: 0 - 1 - 2 - 3
// cmd vote - master - login - password
if(BanCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
{
return TRUE; // handled by one of the above GenericCommand_* functions
}
-
+
return FALSE;
}
float SV_ParseClientCommand_floodcheck()
{
- if not(timeout_status) // not while paused
+ if (!timeout_status) // not while paused
{
if(time <= (self.cmd_floodtime + autocvar_sv_clientcommand_antispam_time))
{
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2autoswitch^7\n");
case CMD_REQUEST_USAGE:
{
sprint(self, "\nUsage:^3 cmd autoswitch selection\n");
- sprint(self, " Where 'selection' controls if autoswitch is on or off.\n");
+ sprint(self, " Where 'selection' controls if autoswitch is on or off.\n");
return;
}
}
{
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
}
-
+
default:
sprint(self, "Incorrect parameters for ^2checkfail^7\n");
case CMD_REQUEST_USAGE:
if(IS_CLIENT(self))
{
self.version = ((argv(1) == "$gameversion") ? 1 : stof(argv(1)));
-
+
if(self.version < autocvar_gameversion_min || self.version > autocvar_gameversion_max)
{
self.version_mismatch = 1;
ClientKill_TeamChange(-2); // observe
- }
- else if(autocvar_g_campaign || autocvar_g_balance_teams)
+ }
+ else if(autocvar_g_campaign || autocvar_g_balance_teams)
{
//JoinBestTeam(self, FALSE, TRUE);
- }
- else if(teamplay && !autocvar_sv_spectate && !(self.team_forced > 0))
+ }
+ else if(teamplay && !autocvar_sv_spectate && !(self.team_forced > 0))
{
self.classname = "observer"; // really?
stuffcmd(self, "menu_showteamselect\n");
}
}
-
+
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2clientversion^7\n");
case CMD_REQUEST_USAGE:
{
if(argv(1) != "")
{
- if(intermission_running)
+ if(intermission_running)
MapVote_SendPicture(stof(argv(1)));
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2mv_getpicture^7\n");
case CMD_REQUEST_USAGE:
}
}
-void ClientCommand_join(float request)
+void ClientCommand_join(float request)
{
switch(request)
{
{
if(IS_CLIENT(self))
{
- if(!IS_PLAYER(self) && !lockteams && !g_arena)
+ if(!IS_PLAYER(self) && !lockteams)
{
- if(nJoinAllowed(self))
+ if(nJoinAllowed(self))
{
if(autocvar_g_campaign) { campaign_bots_may_start = 1; }
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_JOIN_PLAY, self.netname);
PutClientInServer();
}
- else
+ else
{
//player may not join because of g_maxplayers is set
Send_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CENTER_JOIN_PREVENT);
}
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
}
+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;
+
+ moveflag = (argv(2) ? stof(argv(2)) : 1); // follow owner if not defined
+ tospawn = strtolower(argv(1));
+
+ if(tospawn == "list")
+ {
+ sprint(self, monsterlist_reply);
+ return;
+ }
+
+ 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(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(self.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)
+ {
+ self.monstercount += 1;
+ 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, 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)
}
// cannot reset the game while a timeout is active!
- if not(timeout_status)
+ if (!timeout_status)
ReadyCount();
} else {
sprint(self, "^1Game has already been restarted\n");
}
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
if(argc >= 2) { Say(self, FALSE, world, substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)), 1); }
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
if(argc >= 2) { Say(self, TRUE, world, substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)), 1); }
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
if(IS_CLIENT(self))
{
if(teamplay)
- if not(self.team_forced > 0)
- if not(lockteams)
+ if(self.team_forced <= 0)
+ if (!lockteams)
{
float selection;
-
+
switch(argv(1))
{
case "red": selection = NUM_TEAM_1; break;
case "yellow": selection = NUM_TEAM_3; break;
case "pink": selection = NUM_TEAM_4; break;
case "auto": selection = (-1); break;
-
+
default: selection = 0; break;
}
-
+
if(selection)
{
if(self.team == selection && self.deadflag == DEAD_NO)
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)
+ {
+ GetTeamCounts(self);
+ if(!TeamSmallerEqThanTeam(selection, self.team, self))
+ {
+ sprint(self, "Cannot change to a larger/better/shinier team\n");
+ return;
+ }
+ }
ClientKill_TeamChange(selection);
+ }
}
}
else
else
sprint(self, "^7selectteam can only be used in teamgames\n");
}
- return;
+ return;
}
}
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2selectteam^7\n");
case CMD_REQUEST_USAGE:
{
//float tokens;
string s;
-
+
if(argc == 2) // undefined cvar: use the default value on the server then
{
s = strcat(substring(command, argv_start_index(0), argv_end_index(1) - argv_start_index(0)), " \"", cvar_defstring(argv(1)), "\"");
tokenize_console(s);
}
-
+
GetCvars(1);
-
+
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2sentcvar^7\n");
case CMD_REQUEST_USAGE:
}
}
-void ClientCommand_spectate(float request)
+void ClientCommand_spectate(float request)
{
switch(request)
{
{
if(IS_CLIENT(self))
{
- if(g_arena) { return; }
if(g_lms)
{
if(self.lms_spectate_warning)
return;
}
}
-
- if(IS_PLAYER(self) && autocvar_sv_spectate == 1)
+
+ if(IS_PLAYER(self) && autocvar_sv_spectate == 1)
ClientKill_TeamChange(-2); // observe
// in CA, allow a dead player to move to spectators (without that, caplayer!=0 will be moved back to the player list)
}
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2suggestmap^7\n");
case CMD_REQUEST_USAGE:
{
entity tell_to = GetIndexedEntity(argc, 1);
float tell_accepted = VerifyClientEntity(tell_to, TRUE, FALSE);
-
+
if(tell_accepted > 0) // the target is a real client
{
if(tell_to != self) // and we're allowed to send to them :D
}
else { print_to(self, "You can't ^2tell^7 a message to yourself."); return; }
}
- else if(argv(1) == "#0")
- {
+ else if(argv(1) == "#0")
+ {
trigger_magicear_processmessage_forallears(self, -1, world, substring(command, argv_start_index(next_token), argv_end_index(-1) - argv_start_index(next_token)));
return;
}
else { print_to(self, strcat("tell: ", GetClientErrorString(tell_accepted, argv(1)), ".")); return; }
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2tell^7\n");
case CMD_REQUEST_USAGE:
}
}
-void ClientCommand_voice(float request, float argc, string command)
+void ClientCommand_voice(float request, float argc, string command)
{
switch(request)
{
VoiceMessage(argv(1), substring(command, argv_start_index(2), argv_end_index(-1) - argv_start_index(2)));
else
VoiceMessage(argv(1), "");
-
+
return;
}
}
-
+
default:
sprint(self, "Incorrect parameters for ^2voice^7\n");
case CMD_REQUEST_USAGE:
{
case CMD_REQUEST_COMMAND:
{
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
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") \
CLIENT_COMMAND("tell", ClientCommand_tell(request, arguments, command), "Send a message directly to a player") \
CLIENT_COMMAND("voice", ClientCommand_voice(request, arguments, command), "Send voice message via sound") \
/* nothing */
-
+
void ClientCommand_macro_help()
{
#define CLIENT_COMMAND(name,function,description) \
{ sprint(self, " ^2", name, "^7: ", description, "\n"); }
-
+
CLIENT_COMMANDS(0, 0, "")
#undef CLIENT_COMMAND
-
+
return;
}
{
#define CLIENT_COMMAND(name,function,description) \
{ if(name == strtolower(argv(0))) { function; return TRUE; } }
-
+
CLIENT_COMMANDS(CMD_REQUEST_COMMAND, argc, command)
#undef CLIENT_COMMAND
-
+
return FALSE;
}
{
#define CLIENT_COMMAND(name,function,description) \
{ if(name == strtolower(argv(1))) { function; return TRUE; } }
-
+
CLIENT_COMMANDS(CMD_REQUEST_USAGE, argc, "")
#undef CLIENT_COMMAND
-
+
return FALSE;
}
void ClientCommand_macro_write_aliases(float fh)
{
#define CLIENT_COMMAND(name,function,description) \
- { CMD_Write_Alias("qc_cmd_cmd", name, description); }
-
+ { CMD_Write_Alias("qc_cmd_cmd", name, description); }
+
CLIENT_COMMANDS(0, 0, "")
#undef CLIENT_COMMAND
-
+
return;
}
return;
float argc = tokenize_console(command);
-
+
// for the mutator hook system
cmd_name = strtolower(argv(0));
cmd_argc = argc;
cmd_string = command;
-
+
// Guide for working with argc arguments by example:
// argc: 1 - 2 - 3 - 4
- // argv: 0 - 1 - 2 - 3
+ // argv: 0 - 1 - 2 - 3
// cmd vote - master - login - password
-
+
// for floodcheck
switch(strtolower(argv(0)))
{
case "prespawn": break; // handled by engine in host_cmd.c
case "sentcvar": break; // handled by server in this file
case "spawn": break; // handled by engine in host_cmd.c
-
- default:
+
+ default:
if(SV_ParseClientCommand_floodcheck())
break; // "TRUE": continue, as we're not flooding yet
else
return; // "FALSE": not allowed to continue, halt // print("^1ERROR: ^7ANTISPAM CAUGHT: ", command, ".\n");
}
-
+
/* NOTE: should this be disabled? It can be spammy perhaps, but hopefully it's okay for now */
- if(argv(0) == "help")
+ if(argv(0) == "help")
{
- if(argc == 1)
+ if(argc == 1)
{
sprint(self, "\nClient networked commands:\n");
ClientCommand_macro_help();
-
+
sprint(self, "\nCommon networked commands:\n");
CommonCommand_macro_help(self);
-
+
sprint(self, "\nUsage:^3 cmd COMMAND...^7, where possible commands are listed above.\n");
sprint(self, "For help about a specific command, type cmd help COMMAND\n");
return;
- }
+ }
else if(CommonCommand_macro_usage(argc, self)) // Instead of trying to call a command, we're going to see detailed information about it
{
return;
{
return;
}
- }
+ }
else if(MUTATOR_CALLHOOK(SV_ParseClientCommand))
{
return; // handled by a mutator
}
- else if(CheatCommand(argc))
+ else if(CheatCommand(argc))
{
return; // handled by server/cheats.qc
}
.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);
// verify that the client provided is acceptable for use
float VerifyClientEntity(entity client, float must_be_real, float must_be_bots)
{
- if not(IS_CLIENT(client))
+ if (!IS_CLIENT(client))
return CLIENT_DOESNT_EXIST;
else if(must_be_real && !IS_REAL_CLIENT(client))
return CLIENT_NOT_REAL;
else if(must_be_bots && !IS_BOT_CLIENT(client))
return CLIENT_NOT_BOT;
-
+
return CLIENT_ACCEPTABLE;
}
entity tmp_player, selection;
float tmp_number, index;
string tmp_string;
-
+
next_token = -1;
index = start_index;
selection = world;
-
+
if(argc > start_index)
{
if(substring(argv(index), 0, 1) == "#")
{
tmp_string = substring(argv(index), 1, -1);
++index;
-
+
if(tmp_string != "") // is it all one token? like #1
{
tmp_number = stof(tmp_string);
tmp_number = stof(argv(index));
++index;
}
-
+
if(VerifyClientNumber(tmp_number))
{
selection = edict_num(tmp_number); // yes, it was a number
FOR_EACH_CLIENT(tmp_player)
if (strdecolorize(tmp_player.netname) == strdecolorize(argv(start_index)))
selection = tmp_player;
-
+
index = (start_index + 1);
}
}
-
+
next_token = index;
//print(strcat("start_index: ", ftos(start_index), ", next_token: ", ftos(next_token), ", edict: ", ftos(num_for_edict(selection)), ".\n"));
return selection;
{
entity tmp_player, selection;
float tmp_number;
-
+
if(substring(input, 0, 1) == "#")
tmp_number = stof(substring(input, 1, -1));
else
tmp_number = stof(input);
-
+
if(VerifyClientNumber(tmp_number))
{
selection = edict_num(tmp_number);
if (strdecolorize(tmp_player.netname) == strdecolorize(input))
selection = tmp_player;
}
-
+
return selection;
}
{
entity selection = GetFilteredEntity(input);
float output;
-
+
output = num_for_edict(selection);
return output;
timeout_caller = world;
timeout_time = 0;
timeout_leadtime = 0;
-
+
remove(self);
}
-void timeout_handler_think()
+void timeout_handler_think()
{
entity tmp_player;
-
+
switch(timeout_status)
{
case TIMEOUT_ACTIVE:
else // time to end the timeout
{
timeout_status = TIMEOUT_INACTIVE;
-
+
// reset the slowmo value back to normal
cvar_set("slowmo", ftos(orig_slowmo));
-
+
// unlock the view for players so they can move around again
- FOR_EACH_REALPLAYER(tmp_player)
+ FOR_EACH_REALPLAYER(tmp_player)
tmp_player.fixangle = FALSE;
-
+
timeout_handler_reset();
}
-
+
return;
}
-
+
case TIMEOUT_LEADTIME:
{
if(timeout_leadtime > 0) // countdown is still going
{
Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_TIMEOUT_BEGINNING, timeout_leadtime);
-
+
self.nextthink = time + 1; // think again in one second
timeout_leadtime -= 1; // decrease the time counter
}
else // time to begin the timeout
{
timeout_status = TIMEOUT_ACTIVE;
-
+
// set the slowmo value to the timeout default slowmo value
cvar_set("slowmo", ftos(TIMEOUT_SLOWMO_VALUE));
-
+
// reset all the flood variables
FOR_EACH_CLIENT(tmp_player)
tmp_player.nickspamcount = tmp_player.nickspamtime = tmp_player.floodcontrol_chat =
- tmp_player.floodcontrol_chatteam = tmp_player.floodcontrol_chattell =
+ tmp_player.floodcontrol_chatteam = tmp_player.floodcontrol_chattell =
tmp_player.floodcontrol_voice = tmp_player.floodcontrol_voiceteam = 0;
-
+
// copy .v_angle to .lastV_angle for every player in order to fix their view during pause (see PlayerPreThink)
- FOR_EACH_REALPLAYER(tmp_player)
+ FOR_EACH_REALPLAYER(tmp_player)
tmp_player.lastV_angle = tmp_player.v_angle;
-
+
self.nextthink = time; // think again next frame to handle it under TIMEOUT_ACTIVE code
}
-
+
return;
}
-
-
+
+
case TIMEOUT_INACTIVE:
default:
{
print_to(caller, cvar_changes);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, cvar_purechanges);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
}
-void CommonCommand_info(float request, entity caller, float argc)
-{
+void CommonCommand_info(float request, entity caller, float argc)
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
{
- string command = builtin_cvar_string(strcat("sv_info_", argv(1)));
-
+ string command = builtin_cvar_string(strcat("sv_info_", argv(1)));
+
if(command)
- wordwrap_sprint(command, 1000);
+ wordwrap_sprint(command, 1000);
else
print_to(caller, "ERROR: unsupported info command");
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, ladder_reply);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, lsmaps_reply);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, maplist_reply);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, rankings_reply);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
void CommonCommand_records(float request, entity caller)
-{
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
{
float i;
-
+
for(i = 0; i < 10; ++i)
if(records_reply[i] != "")
print_to(caller, records_reply[i]);
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
Score_NicePrint(caller);
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, strcat("gmtime = ", strftime(FALSE, "%a %b %e %H:%M:%S %Z %Y")));
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
if(!caller || autocvar_sv_timeout)
{
- if not(timeout_status) { print_to(caller, "^7Error: There is no active timeout called."); }
+ if (!timeout_status) { print_to(caller, "^7Error: There is no active timeout called."); }
else if(caller && (caller != timeout_caller)) { print_to(caller, "^7Error: You are not allowed to stop the active timeout."); }
-
+
else // everything should be okay, continue aborting timeout
{
switch(timeout_status)
bprint(strcat("^7The timeout was aborted by ", GetCallerName(caller), " !\n"));
return;
}
-
+
case TIMEOUT_ACTIVE:
{
timeout_time = autocvar_sv_timeout_resumetime;
bprint(strcat("^1Attention: ^7", GetCallerName(caller), " resumed the game! Prepare for battle!\n"));
return;
}
-
+
default: dprint("timeout status was inactive, but this code was executed anyway?"); return;
}
}
}
else { print_to(caller, "^1Timeins are not allowed to be called, enable them with sv_timeout 1.\n"); }
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
if(!caller || autocvar_sv_timeout)
{
float last_possible_timeout = ((autocvar_timelimit * 60) - autocvar_sv_timeout_leadtime - 1);
-
+
if(timeout_status) { print_to(caller, "^7Error: A timeout is already active."); }
else if(vote_called) { print_to(caller, "^7Error: You can not call a timeout while a vote is active."); }
else if(warmup_stage && !g_warmup_allow_timeout) { print_to(caller, "^7Error: You can not call a timeout in warmup-stage."); }
else if(caller && (caller.allowed_timeouts < 1)) { print_to(caller, "^7Error: You already used all your timeout calls for this map."); }
else if(caller && !IS_PLAYER(caller)) { print_to(caller, "^7Error: You must be a player to call a timeout."); }
else if((autocvar_timelimit) && (last_possible_timeout < time - game_starttime)) { print_to(caller, "^7Error: It is too late to call a timeout now!"); }
-
+
else // everything should be okay, proceed with starting the timeout
- {
+ {
if(caller) { caller.allowed_timeouts -= 1; }
-
+
bprint(GetCallerName(caller), " ^7called a timeout", (caller ? strcat(" (", ftos(caller.allowed_timeouts), " timeout(s) left)") : ""), "!\n"); // write a bprint who started the timeout (and how many they have left)
-
+
timeout_status = TIMEOUT_LEADTIME;
timeout_caller = caller;
timeout_time = autocvar_sv_timeout_length;
timeout_leadtime = autocvar_sv_timeout_leadtime;
-
+
timeout_handler = spawn();
timeout_handler.think = timeout_handler_think;
timeout_handler.nextthink = time; // always let the entity think asap
}
}
else { print_to(caller, "^1Timeouts are not allowed to be called, enable them with sv_timeout 1.\n"); }
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
float total_listed_players, is_bot;
entity tmp_player;
-
+
float privacy = (caller && autocvar_sv_status_privacy);
string separator = strreplace("%", " ", strcat((argv(1) ? argv(1) : " "), "^7"));
string tmp_netaddress, tmp_crypto_idfp;
-
+
print_to(caller, strcat("List of client information", (privacy ? " (some data is hidden for privacy)" : ""), ":"));
- print_to(caller, sprintf(strreplace(" ", separator, " %-4s %-20s %-5s %-3s %-9s %-16s %s "),
+ print_to(caller, sprintf(strreplace(" ", separator, " %-4s %-20s %-5s %-3s %-9s %-16s %s "),
"ent", "nickname", "ping", "pl", "time", "ip", "crypto_id"));
-
+
total_listed_players = 0;
FOR_EACH_CLIENT(tmp_player)
{
is_bot = (IS_BOT_CLIENT(tmp_player));
-
+
if(is_bot)
{
tmp_netaddress = "null/botclient";
tmp_crypto_idfp = tmp_player.crypto_idfp;
}
- print_to(caller, sprintf(strreplace(" ", separator, " #%-3d %-20.20s %-5d %-3d %-9s %-16s %s "),
- num_for_edict(tmp_player),
+ print_to(caller, sprintf(strreplace(" ", separator, " #%-3d %-20.20s %-5d %-3d %-9s %-16s %s "),
+ num_for_edict(tmp_player),
tmp_player.netname,
- tmp_player.ping,
- tmp_player.ping_packetloss,
+ tmp_player.ping,
+ tmp_player.ping_packetloss,
process_time(1, time - tmp_player.jointime),
tmp_netaddress,
tmp_crypto_idfp));
-
+
++total_listed_players;
}
-
+
print_to(caller, strcat("Finished listing ", ftos(total_listed_players), " client(s) out of ", ftos(maxclients), " slots."));
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
-
+
return; // never fall through to usage
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
#define COMMON_COMMAND(name,function,description) \
{ print_to(caller, strcat(" ^2", name, "^7: ", description)); }
-
+
COMMON_COMMANDS(0, caller, 0, "")
#undef COMMON_COMMAND
-
+
return;
}
{
#define COMMON_COMMAND(name,function,description) \
{ if(name == strtolower(argv(0))) { function; return TRUE; } }
-
+
COMMON_COMMANDS(CMD_REQUEST_COMMAND, caller, argc, command)
#undef COMMON_COMMAND
-
+
return FALSE;
}
{
#define COMMON_COMMAND(name,function,description) \
{ if(name == strtolower(argv(1))) { function; return TRUE; } }
-
+
COMMON_COMMANDS(CMD_REQUEST_USAGE, caller, argc, "")
#undef COMMON_COMMAND
-
+
return FALSE;
}
{
#define COMMON_COMMAND(name,function,description) \
{ CMD_Write_Alias("qc_cmd_svcmd", name, description); }
-
+
COMMON_COMMANDS(0, world, 0, "")
#undef COMMON_COMMAND
-
+
return;
}
// without using any extra processing time.
// See common.qc for their proper commands
-
+
string getrecords(float page) // 50 records per page
-{
+{
float rec = 0, r, i;
string h, s;
-
+
s = "";
if (g_ctf)
if (MapInfo_Get_ByID(i))
{
r = stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, "/captimerecord/time")));
-
- if not(r)
+
+ if (!r)
continue;
-
+
// TODO: uid2name
h = db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, "/captimerecord/netname"));
s = strcat(s, strpad(32, MapInfo_Map_bspname), " ", strpad(-6, ftos_decimals(r, 2)), " ", h, "\n");
if (MapInfo_Get_ByID(i))
{
r = race_readTime(MapInfo_Map_bspname, 1);
-
- if not(r)
+
+ if (!r)
continue;
-
+
h = race_readName(MapInfo_Map_bspname, 1);
s = strcat(s, strpad(32, MapInfo_Map_bspname), " ", strpad(-8, TIME_ENCODED_TOSTRING(r)), " ", h, "\n");
++rec;
if (MapInfo_Get_ByID(i))
{
r = race_readTime(MapInfo_Map_bspname, 1);
-
- if not(r)
+
+ if (!r)
continue;
-
+
h = race_readName(MapInfo_Map_bspname, 1);
s = strcat(s, strpad(32, MapInfo_Map_bspname), " ", strpad(-8, TIME_ENCODED_TOSTRING(r)), " ", h, "\n");
++rec;
for (i = 1; i <= RANKINGS_CNT; ++i)
{
t = race_readTime(map, i);
-
+
if (t == 0)
continue;
-
+
n = race_readName(map, i);
p = count_ordinal(i);
s = strcat(s, strpad(8, p), " ", strpad(-8, TIME_ENCODED_TOSTRING(t)), " ", n, "\n");
{
float i, j, k, uidcnt = 0, thiscnt;
string s, temp_s, rr, myuid, thisuid;
-
+
if(g_cts)
rr = CTS_RECORD;
else
// LADDER_CNT+1 = total points
temp_s = db_get(TemporaryDB, strcat("ladder", myuid));
-
+
if(temp_s == "")
{
db_put(TemporaryDB, strcat("uid", ftos(uidcnt)), myuid);
++uidcnt;
-
+
for(j = 0; j <= LADDER_CNT + 1; ++j)
{
if(j != LADDER_CNT + 1)
top_uids[k] = top_uids[k-1];
top_scores[k] = top_scores[k-1];
}
-
+
top_uids[j] = thisuid;
top_scores[j] = thiscnt;
break;
}
}
}
-
+
s = "^3-----------------------\n\n";
-
+
s = strcat(s, "Pos ^3|");
s = strcat(s, " ^7Total ^3|");
-
+
for(i = 1; i <= LADDER_CNT; ++i)
{ s = strcat(s, " ^7", count_ordinal(i), " ^3|"); }
-
+
s = strcat(s, " ^7Speed awards ^3| ^7Name");
s = strcat(s, "\n^3----+--------");
-
+
for(i = 1; i <= min(9, LADDER_CNT); ++i)
{ s = strcat(s, "+-----"); }
-
+
#if LADDER_CNT > 9
for(i = 1; i <= LADDER_CNT - 9; ++i)
{ s = strcat(s, "+------"); }
{
temp_s = db_get(TemporaryDB, strcat("ladder", top_uids[i]));
tokenize_console(temp_s);
-
+
if(argv(LADDER_CNT+1) == "") // total is 0, skip
continue;
-
+
s = strcat(s, strpad(4, count_ordinal(i+1)), "^3| ^7"); // pos
s = strcat(s, strpad(7, argv(LADDER_CNT+1)), "^3| ^7"); // total
-
+
for(j = 1; j <= min(9, LADDER_CNT); ++j)
{ s = strcat(s, strpad(4, argv(j)), "^3| ^7"); } // 1st, 2nd, 3rd etc cnt
-
+
#if LADDER_CNT > 9
for(j = 10; j <= LADDER_CNT; ++j)
{ s = strcat(s, strpad(4, argv(j)), " ^3| ^7"); } // 1st, 2nd, 3rd etc cnt
{
string maplist = "", col;
float i, argc;
-
+
argc = tokenize_console(autocvar_g_maplist);
for(i = 0; i < argc; ++i)
{
return sprintf("^7Maps in list: %s\n", maplist);
}
-
+
string getlsmaps()
{
string lsmaps = "", col;
float i, newmaps = 0;
-
+
for(i = 0; i < MapInfo_count; ++i)
{
if((MapInfo_Get_ByID(i)) && !(MapInfo_Map_flags & MapInfo_ForbiddenFlags()))
MapInfo_ClearTemps();
return sprintf("^7Maps available%s: %s\n", (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);
+}
string getladder(void);
string getmaplist(void);
string getlsmaps(void);
+string getmonsterlist(void);
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;
// size: pixel width/height
// maxs: cell width/height
// frame: counter
-
+
float i, x, l;
string si;
float RadarMap_Make(float argc)
{
float i;
-
+
if(!radarmapper)
{
radarmapper = spawn();
case "--resolution": { ++i; radarmapper.size_x = stof(argv(i)); ++i; radarmapper.size_y = stof(argv(i)); break; }
case "--qual": // minor alias
case "--quality": { ++i; radarmapper.size_z = stof(argv(i)); break; }
-
- default:
- i = argc;
+
+ default:
+ i = argc;
remove(radarmapper);
radarmapper = world;
break;
}
}
-
- if(radarmapper) // after doing the arguments, see if we successfully went forward.
+
+ if(radarmapper) // after doing the arguments, see if we successfully went forward.
{
print("Radarmap entity spawned.\n");
return TRUE; // if so, don't print usage.
}
}
-
+
return FALSE;
}
{
entity client;
float accepted;
-
+
string targets = strreplace(",", " ", argv(1));
string original_targets = strreplace(" ", ", ", targets);
string admin_message = argv(2);
float infobartime = stof(argv(3));
-
+
string successful, t;
successful = string_null;
-
+
if((targets) && (admin_message))
{
for(;targets;)
{
t = car(targets); targets = cdr(targets);
-
+
// Check to see if the player is a valid target
client = GetFilteredEntity(t);
accepted = VerifyClientEntity(client, TRUE, FALSE);
-
- if not(accepted > 0)
+
+ if(accepted <= 0)
{
- print("adminmsg: ", GetClientErrorString(accepted, t), (targets ? ", skipping to next player.\n" : ".\n"));
+ print("adminmsg: ", GetClientErrorString(accepted, t), (targets ? ", skipping to next player.\n" : ".\n"));
continue;
}
-
+
// send the centerprint/console print or infomessage
if(infobartime)
{
centerprint(client, strcat("^3", admin_name(), ":\n^7", admin_message));
sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", admin_message, "\n"));
}
-
+
successful = strcat(successful, (successful ? ", " : ""), client.netname);
dprint("Message sent to ", client.netname, "\n");
continue;
}
-
+
if(successful)
bprint("Successfully sent message '", admin_message, "' to ", successful, ".\n");
else
print("No players given (", original_targets, ") could receive the message.\n");
-
+
return;
}
}
-
+
default:
print("Incorrect parameters for ^2adminmsg^7\n");
case CMD_REQUEST_USAGE:
}
}
+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;
+ }
+
+ FOR_EACH_PLAYER(head)
+ head.monstercount = 0;
+
+ 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)
ReadyRestart();
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
void GameCommand_allspec(float request, float argc)
-{
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
entity client;
string reason = argv(1);
float i = 0;
-
+
FOR_EACH_REALPLAYER(client)
{
self = client;
else { print("No players found to spectate.\n"); }
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
}
-void GameCommand_anticheat(float request, float argc)
+void GameCommand_anticheat(float request, float argc)
{
switch(request)
{
{
entity client = GetIndexedEntity(argc, 1);
float accepted = VerifyClientEntity(client, FALSE, FALSE);
-
- if(accepted > 0)
+
+ if(accepted > 0)
{
self = client;
anticheat_report();
}
else
{
- print("anticheat: ", GetClientErrorString(accepted, argv(1)), ".\n");
+ print("anticheat: ", GetClientErrorString(accepted, argv(1)), ".\n");
}
}
-
+
default:
print("Incorrect parameters for ^2anticheat^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_bbox(float request)
+void GameCommand_bbox(float request)
{
switch(request)
{
print(" ", ftos(world.absmax_z));
else
print(" ", ftos(trace_endpos_z));
-
+
print("\n");
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
case CMD_REQUEST_COMMAND:
{
entity bot;
-
+
if(argv(1) == "reset")
{
bot_resetqueues();
print(strcat("Error: Can't find bot with the name or id '", argv(1),"' - Did you mistype the command?\n")); // don't return so that usage is shown
}
}
-
+
default:
print("Incorrect parameters for ^2bot_cmd^7\n");
case CMD_REQUEST_USAGE:
string result1 = (argv(2) ? strcat("^7", argv(1), "^3!\n") : "^1HEADS^3!\n");
string result2 = (argv(2) ? strcat("^7", argv(2), "^3!\n") : "^4TAILS^3!\n");
string choice = ((random() > 0.5) ? result1 : result2);
-
+
FOR_EACH_CLIENT(client)
centerprint(client, strcat("^3Throwing coin... Result: ", choice));
bprint(strcat("^3Throwing coin... Result: ", choice));
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
}
-void GameCommand_database(float request, float argc)
+void GameCommand_database(float request, float argc)
{
switch(request)
{
}
}
}
-
+
default:
print("Incorrect parameters for ^2database^7\n");
case CMD_REQUEST_USAGE:
}
void GameCommand_defer_clear(float request, float argc)
-{
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
{
entity client;
float accepted;
-
+
if(argc >= 2)
{
client = GetIndexedEntity(argc, 1);
accepted = VerifyClientEntity(client, TRUE, FALSE);
-
+
if(accepted > 0)
{
stuffcmd(client, "defer clear\n");
print("defer clear stuffed to ", client.netname, "\n");
}
else { print("defer_clear: ", GetClientErrorString(accepted, argv(1)), ".\n"); }
-
+
return;
}
}
-
+
default:
print("Incorrect parameters for ^2defer_clear^7\n");
case CMD_REQUEST_USAGE:
}
void GameCommand_defer_clear_all(float request)
-{
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
entity client;
float i = 0;
float argc;
-
+
FOR_EACH_CLIENT(client)
{
argc = tokenize_console(strcat("defer_clear ", ftos(num_for_edict(client))));
- GameCommand_defer_clear(CMD_REQUEST_COMMAND, argc);
+ GameCommand_defer_clear(CMD_REQUEST_COMMAND, argc);
++i;
}
- if(i) { print(strcat("Successfully stuffed defer clear to all clients (", ftos(i), ")\n")); } // should a message be added if no players were found?
+ if(i) { print(strcat("Successfully stuffed defer clear to all clients (", ftos(i), ")\n")); } // should a message be added if no players were found?
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
race_deleteTime(GetMapname(), stof(argv(1)));
return;
}
- }
-
+ }
+
default:
print("Incorrect parameters for ^2delrec^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_effectindexdump(float request)
+void GameCommand_effectindexdump(float request)
{
switch(request)
{
{
float fh, d;
string s;
-
+
d = db_create();
print("begin of effects list\n");
db_put(d, "TE_GUNSHOT", "1"); print("effect TE_GUNSHOT is ", ftos(particleeffectnum("TE_GUNSHOT")), "\n");
db_close(d);
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
}
-void GameCommand_extendmatchtime(float request)
+void GameCommand_extendmatchtime(float request)
{
switch(request)
{
changematchtime(autocvar_timelimit_increment * 60, autocvar_timelimit_min * 60, autocvar_timelimit_max * 60);
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
void GameCommand_find(float request, float argc) // is this even needed? We have prvm_edicts command and such ANYWAY
-{
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
{
entity client;
-
+
for(client = world; (client = find(client, classname, argv(1))); )
print(etos(client), "\n");
-
+
return;
}
-
+
default:
print("Incorrect parameters for ^2find^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_gametype(float request, float argc)
-{
+void GameCommand_gametype(float request, float argc)
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
{
string s = argv(1);
float t = MapInfo_Type_FromString(s), tsave = MapInfo_CurrentGametype();
-
+
if(t)
{
MapInfo_SwitchGameType(t);
}
else
bprint("Game type switch to ", s, " failed: this type does not exist!\n");
-
+
return;
}
}
-
+
default:
print("Incorrect parameters for ^2gametype^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_gettaginfo(float request, float argc)
-{
+void GameCommand_gettaginfo(float request, float argc)
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
entity tmp_entity;
float i;
vector v;
-
+
if(argc >= 4)
{
tmp_entity = spawn();
}
else
print("bone not found\n");
-
+
remove(tmp_entity);
return;
}
}
-
+
default:
print("Incorrect parameters for ^2gettaginfo^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_animbench(float request, float argc)
+void GameCommand_animbench(float request, float argc)
{
switch(request)
{
return;
}
}
-
+
default:
print("Incorrect parameters for ^2gotomap^7\n");
case CMD_REQUEST_USAGE:
}
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
}
-void GameCommand_make_mapinfo(float request)
+void GameCommand_make_mapinfo(float request)
{
switch(request)
{
case CMD_REQUEST_COMMAND:
- {
+ {
entity tmp_entity;
-
+
tmp_entity = spawn();
tmp_entity.classname = "make_mapinfo";
tmp_entity.think = make_mapinfo_Think;
MapInfo_Enumerate();
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
float accepted;
entity client;
-
+
string targets = strreplace(",", " ", argv(1));
string original_targets = strreplace(" ", ", ", targets);
string destination = argv(2);
-
+
string successful, t;
successful = string_null;
-
+
// lets see if the target(s) even actually exist.
if((targets) && (destination))
- {
+ {
for(;targets;)
{
t = car(targets); targets = cdr(targets);
// Check to see if the player is a valid target
client = GetFilteredEntity(t);
accepted = VerifyClientEntity(client, FALSE, FALSE);
-
- if not(accepted > 0)
+
+ if(accepted <= 0)
{
- print("moveplayer: ", GetClientErrorString(accepted, t), (targets ? ", skipping to next player.\n" : ".\n"));
+ print("moveplayer: ", GetClientErrorString(accepted, t), (targets ? ", skipping to next player.\n" : ".\n"));
continue;
}
-
+
// Where are we putting this player?
- if(destination == "spec" || destination == "spectator")
+ if(destination == "spec" || destination == "spectator")
{
if(!IS_SPEC(client) && !IS_OBSERVER(client))
{
self = client;
PutObserverInServer();
-
+
successful = strcat(successful, (successful ? ", " : ""), client.netname);
}
else
// keep the forcing undone
print("Player ", ftos(GetFilteredNumber(t)), " (", client.netname, ") is already on the ", Team_ColoredFullName(client.team), (targets ? "^7, skipping to next player.\n" : "^7.\n"));
continue;
- }
+ }
else if(team_id == 0) // auto team
{
+ CheckAllowedTeams(client);
team_id = Team_NumberToTeam(FindSmallestTeam(client, FALSE));
}
else
CheckAllowedTeams(client);
}
client.team_forced = save;
-
+
// Check to see if the destination team is even available
- switch(team_id)
+ switch(team_id)
{
case NUM_TEAM_1: if(c1 == -1) { print("Sorry, can't move player to red team if it doesn't exist.\n"); return; } break;
case NUM_TEAM_2: if(c2 == -1) { print("Sorry, can't move player to blue team if it doesn't exist.\n"); return; } break;
case NUM_TEAM_3: if(c3 == -1) { print("Sorry, can't move player to yellow team if it doesn't exist.\n"); return; } break;
case NUM_TEAM_4: if(c4 == -1) { print("Sorry, can't move player to pink team if it doesn't exist.\n"); return; } break;
-
+
default: print("Sorry, can't move player here if team ", destination, " doesn't exist.\n"); return;
}
-
+
// If so, lets continue and finally move the player
client.team_forced = 0;
MoveToTeam(client, team_id, 6);
}
else
{
- print("Can't change teams if the player isn't in the game.\n"); // well technically we could, but should we allow that? :P
+ print("Can't change teams if the player isn't in the game.\n"); // well technically we could, but should we allow that? :P
return;
}
}
}
-
+
if(successful)
bprint("Successfully moved players ", successful, " to destination ", destination, ".\n");
else
print("No players given (", original_targets, ") are able to move.\n");
-
+
return; // still correct parameters so return to avoid usage print
}
}
-
+
default:
print("Incorrect parameters for ^2moveplayer^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_nospectators(float request)
+void GameCommand_nospectators(float request)
{
switch(request)
{
bprint(strcat("^7All spectators will be automatically kicked when not joining the game after ", ftos(autocvar_g_maxplayers_spectator_blocktime), " seconds!\n"));
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
}
void GameCommand_playerdemo(float request, float argc)
-{
+{
switch(request)
{
case CMD_REQUEST_COMMAND:
{
entity client;
float i, n, accepted;
-
+
switch(argv(1))
{
case "read":
{
client = GetIndexedEntity(argc, 2);
accepted = VerifyClientEntity(client, FALSE, TRUE);
-
- if not(accepted > 0)
+
+ if(accepted <= 0)
{
- print("playerdemo: read: ", GetClientErrorString(accepted, argv(2)), ".\n");
+ print("playerdemo: read: ", GetClientErrorString(accepted, argv(2)), ".\n");
return;
}
-
+
self = client;
playerdemo_open_read(argv(next_token));
return;
}
-
+
case "write":
{
client = GetIndexedEntity(argc, 2);
accepted = VerifyClientEntity(client, FALSE, FALSE);
-
- if not(accepted > 0)
+
+ if(accepted <= 0)
{
- print("playerdemo: write: ", GetClientErrorString(accepted, argv(2)), ".\n");
+ print("playerdemo: write: ", GetClientErrorString(accepted, argv(2)), ".\n");
return;
}
-
+
self = client;
playerdemo_open_write(argv(next_token));
return;
}
-
+
case "auto_read_and_write":
{
n = GetFilteredNumber(argv(3));
cvar_set("bot_number", ftos(n));
-
+
localcmd("wait; wait; wait\n");
for(i = 0; i < n; ++i) { localcmd("sv_cmd playerdemo read ", ftos(i+2), " ", argv(2), ftos(i+1), "\n"); }
-
+
localcmd("sv_cmd playerdemo write 1 ", ftos(n+1), "\n");
return;
}
-
+
case "auto_read":
{
n = GetFilteredNumber(argv(3));
cvar_set("bot_number", ftos(n));
-
+
localcmd("wait; wait; wait\n");
for(i = 0; i < n; ++i) { localcmd("sv_cmd playerdemo read ", ftos(i+2), " ", argv(2), ftos(i+1), "\n"); }
return;
}
}
}
-
+
default:
print("Incorrect parameters for ^2playerdemo^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_printstats(float request)
+void GameCommand_printstats(float request)
{
switch(request)
{
print("stats dumped.\n");
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
if(RadarMap_Make(argc))
return;
}
-
+
default:
print("Incorrect parameters for ^2radarmap^7\n");
case CMD_REQUEST_USAGE:
}
}
-void GameCommand_reducematchtime(float request)
+void GameCommand_reducematchtime(float request)
{
switch(request)
{
changematchtime(autocvar_timelimit_decrement *-60, autocvar_timelimit_min * 60, autocvar_timelimit_max * 60);
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
return;
}
}
-
+
default:
print("Incorrect parameters for ^2setbots^7\n");
case CMD_REQUEST_USAGE:
FOR_EACH_PLAYER(tmp_player)
{
CheckAllowedTeams(tmp_player);
-
+
if(c1 >= 0) t_teams = max(1, t_teams);
if(c2 >= 0) t_teams = max(2, t_teams);
if(c3 >= 0) t_teams = max(3, t_teams);
if(c4 >= 0) t_teams = max(4, t_teams);
-
+
++t_players;
}
-
+
// build a list of the players in a random order
FOR_EACH_PLAYER(tmp_player)
{
for(;;)
{
i = bound(1, floor(random() * maxclients) + 1, maxclients);
-
+
if(shuffleteams_players[i])
{
continue; // a player is already assigned to this slot
}
}
- // finally, from the list made earlier, re-join the players in different order.
+ // finally, from the list made earlier, re-join the players in different order.
for(i = 1; i <= t_teams; ++i)
{
// find out how many players to assign to this team
x = (t_players / t_teams);
x = ((i == 1) ? ceil(x) : floor(x));
-
+
team_color = Team_NumberToTeam(i);
-
- // sort through the random list of players made earlier
+
+ // sort through the random list of players made earlier
for(z = 1; z <= maxclients; ++z)
- {
- if not(shuffleteams_teams[i] >= x)
+ {
+ if (!(shuffleteams_teams[i] >= x))
{
- if not(shuffleteams_players[z])
+ if (!(shuffleteams_players[z]))
continue; // not a player, move on to next random slot
-
+
if(VerifyClientNumber(shuffleteams_players[z]))
self = edict_num(shuffleteams_players[z]);
- if(self.team != team_color)
+ if(self.team != team_color)
MoveToTeam(self, team_color, 6);
shuffleteams_players[z] = 0;
}
}
}
-
+
bprint("Successfully shuffled the players around randomly.\n");
-
+
// clear the buffers now
for (i=0; i<SHUFFLETEAMS_MAX_PLAYERS; ++i)
shuffleteams_players[i] = 0;
-
+
for (i=0; i<SHUFFLETEAMS_MAX_TEAMS; ++i)
shuffleteams_teams[i] = 0;
}
{
print("Can't shuffle teams when currently not playing a team game.\n");
}
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
entity client = GetIndexedEntity(argc, 1);
float accepted = VerifyClientEntity(client, TRUE, FALSE);
-
+
if(accepted > 0)
{
stuffcmd(client, strcat("\n", argv(next_token), "\n"));
print(strcat("Command: \"", argv(next_token), "\" sent to ", GetCallerName(client), " (", argv(1) ,").\n"));
}
else
- print("stuffto: ", GetClientErrorString(accepted, argv(1)), ".\n");
-
+ print("stuffto: ", GetClientErrorString(accepted, argv(1)), ".\n");
+
return;
}
}
-
+
default:
print("Incorrect parameters for ^2stuffto^7\n");
case CMD_REQUEST_USAGE:
entity e;
vector org, delta, start, end, p, q, q0, pos, vv, dv;
float i, f, safe, unsafe, dq, dqf;
-
+
switch(argv(1))
{
case "debug":
}
return;
}
-
+
case "debug2":
{
e = nextent(world);
print("highest possible dist: ", ftos(f), "\n");
return;
}
-
+
case "walk":
{
if(argc == 4)
return;
}
}
-
+
case "showline":
{
if(argc == 4)
return;
}
}
-
+
// no default case, just go straight to invalid
}
}
-
+
default:
print("Incorrect parameters for ^2trace^7\n");
case CMD_REQUEST_USAGE:
}
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
CampaignLevelWarp(stof(argv(1)));
print("Successfully warped to campaign level ", stof(argv(1)), ".\n");
- }
+ }
else
{
CampaignLevelWarp(-1);
print("Not in campaign, can't level warp\n");
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
// 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") \
{
#define SERVER_COMMAND(name,function,description) \
{ print(" ^2", name, "^7: ", description, "\n"); }
-
+
SERVER_COMMANDS(0, 0, "")
#undef SERVER_COMMAND
-
+
return;
}
{
#define SERVER_COMMAND(name,function,description) \
{ if(name == strtolower(argv(0))) { function; return TRUE; } }
-
+
SERVER_COMMANDS(CMD_REQUEST_COMMAND, argc, command)
#undef SERVER_COMMAND
-
+
return FALSE;
}
{
#define SERVER_COMMAND(name,function,description) \
{ if(name == strtolower(argv(1))) { function; return TRUE; } }
-
+
SERVER_COMMANDS(CMD_REQUEST_USAGE, argc, "")
#undef SERVER_COMMAND
-
+
return FALSE;
}
{
#define SERVER_COMMAND(name,function,description) \
{ CMD_Write_Alias("qc_cmd_sv", name, description); }
-
+
SERVER_COMMANDS(0, 0, "")
#undef SERVER_COMMAND
-
+
return;
}
-
+
// =========================================
// Main Function Called By Engine (sv_cmd)
void GameCommand(string command)
{
float argc = tokenize_console(command);
-
+
// Guide for working with argc arguments by example:
// argc: 1 - 2 - 3 - 4
- // argv: 0 - 1 - 2 - 3
+ // argv: 0 - 1 - 2 - 3
// cmd vote - master - login - password
- if(strtolower(argv(0)) == "help")
+ if(strtolower(argv(0)) == "help")
{
- if(argc == 1)
+ if(argc == 1)
{
print("\nServer console commands:\n");
GameCommand_macro_help();
-
+
print("\nBanning commands:\n");
BanCommand_macro_help();
-
+
print("\nCommon networked commands:\n");
CommonCommand_macro_help(world);
-
+
print("\nGeneric commands shared by all programs:\n");
GenericCommand_macro_help();
-
+
print("\nUsage:^3 sv_cmd COMMAND...^7, where possible commands are listed above.\n");
print("For help about a specific command, type sv_cmd help COMMAND\n");
-
+
return;
- }
+ }
else if(BanCommand_macro_usage(argc)) // Instead of trying to call a command, we're going to see detailed information about it
{
return;
{
return;
}
- }
- else if(BanCommand(command))
+ }
+ else if(BanCommand(command))
{
return; // handled by server/command/ipban.qc
}
{
return; // handled by server/command/common.qc
}
- else if(GenericCommand(command))
+ else if(GenericCommand(command))
{
return; // handled by common/command/generic.qc
}
{
return; // handled by one of the above GameCommand_* functions
}
-
+
// nothing above caught the command, must be invalid
print(((command != "") ? strcat("Unknown server command \"", command, "\"") : "No command provided"), ". For a list of supported commands, try sv_cmd help.\n");
-
+
return;
}
// Game logic for voting
// =======================
-void VoteReset()
+void VoteReset()
{
entity tmp_player;
vote_called = VOTE_NULL;
vote_caller = world;
vote_endtime = 0;
-
+
vote_called_command = string_null;
vote_called_display = string_null;
-
+
vote_parsed_command = string_null;
vote_parsed_display = string_null;
Nagger_VoteChanged();
}
-void VoteStop(entity stopper)
+void VoteStop(entity stopper)
{
bprint("\{1}^2* ^3", GetCallerName(stopper), "^2 stopped ^3", GetCallerName(vote_caller), "^2's vote\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vstop:", ftos(stopper.playerid))); }
-
+
// Don't force them to wait for next vote, this way they can e.g. correct their vote.
if((vote_caller) && (stopper == vote_caller)) { vote_caller.vote_waittime = time + autocvar_sv_vote_stop; }
VoteReset();
}
-void VoteAccept()
+void VoteAccept()
{
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2's vote for ^1", vote_called_display, "^2 was accepted\n");
-
+
if((vote_called == VOTE_MASTER) && vote_caller)
vote_caller.vote_master = 1;
else
localcmd(strcat(vote_called_command, "\n"));
-
+
if(vote_caller) { vote_caller.vote_waittime = 0; } // people like your votes, you don't need to wait to vote again
VoteReset();
Send_Notification(NOTIF_ALL, world, MSG_ANNCE, ANNCE_VOTE_ACCEPT);
}
-void VoteReject()
+void VoteReject()
{
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2's vote for ", vote_called_display, "^2 was rejected\n");
VoteReset();
Send_Notification(NOTIF_ALL, world, MSG_ANNCE, ANNCE_VOTE_FAIL);
}
-void VoteTimeout()
+void VoteTimeout()
{
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2's vote for ", vote_called_display, "^2 timed out\n");
VoteReset();
((mincount >= 0) ? strcat("^2 (^1", ftos(mincount), "^2 needed)") : "^2"),
strcat(", ^1", ftos(vote_abstain_count), "^2 didn't care"),
strcat(", ^1", ftos(notvoters), strcat("^2 didn't ", ((mincount >= 0) ? "" : "have to "), "vote\n"))));
-
+
if(autocvar_sv_eventlog)
{
GameLogEcho(strcat(
}
}
-void VoteCount(float first_count)
+void VoteCount(float first_count)
{
// declarations
vote_accept_count = vote_reject_count = vote_abstain_count = 0;
-
- float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
+
+ float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
|| ((autocvar_sv_vote_nospectators == 1) && (warmup_stage || gameover))
|| (autocvar_sv_vote_nospectators == 0));
-
+
float vote_player_count = 0, notvoters = 0;
float vote_real_player_count = 0, vote_real_accept_count = 0;
float vote_real_reject_count = 0, vote_real_abstain_count = 0;
float vote_needed_of_voted, final_needed_votes;
float vote_factor_overall, vote_factor_of_voted;
-
+
entity tmp_player;
Nagger_VoteCountChanged();
-
+
// add up all the votes from each connected client
FOR_EACH_REALCLIENT(tmp_player)
{
++vote_player_count;
if(IS_PLAYER(tmp_player)) { ++vote_real_player_count; }
-
+
switch(tmp_player.vote_selection)
{
case VOTE_SELECT_REJECT: { ++vote_reject_count; { if(IS_PLAYER(tmp_player)) ++vote_real_reject_count; } break; }
default: break;
}
}
-
+
// Check to see if there are enough players on the server to allow master voting... otherwise, vote master could be used for evil.
- if((vote_called == VOTE_MASTER) && autocvar_sv_vote_master_playerlimit > vote_player_count)
+ if((vote_called == VOTE_MASTER) && autocvar_sv_vote_master_playerlimit > vote_player_count)
{
if(vote_caller) { vote_caller.vote_waittime = 0; }
print_to(vote_caller, "^1There are not enough players on this server to allow you to become vote master.");
VoteReset();
return;
}
-
- // if spectators aren't allowed to vote and there are players in a match, then only count the players in the vote and ignore spectators.
+
+ // if spectators aren't allowed to vote and there are players in a match, then only count the players in the vote and ignore spectators.
if(!spectators_allowed && (vote_real_player_count > 0))
{
vote_accept_count = vote_real_accept_count;
vote_abstain_count = vote_real_abstain_count;
vote_player_count = vote_real_player_count;
}
-
+
// people who have no opinion in any way :D
notvoters = (vote_player_count - vote_accept_count - vote_reject_count - vote_abstain_count);
// determine the goal for the vote to be passed or rejected normally
vote_factor_overall = bound(0.5, autocvar_sv_vote_majority_factor, 0.999);
vote_needed_overall = floor((vote_player_count - vote_abstain_count) * vote_factor_overall) + 1;
-
+
// if the vote times out, determine the amount of votes needed of the people who actually already voted
vote_factor_of_voted = bound(0.5, autocvar_sv_vote_majority_factor_of_voted, 0.999);
vote_needed_of_voted = floor((vote_accept_count + vote_reject_count) * vote_factor_of_voted) + 1;
-
+
// are there any players at all on the server? it could be an admin vote
if(vote_player_count == 0 && first_count)
{
- VoteSpam(0, -1, "yes"); // no players at all, just accept it
+ VoteSpam(0, -1, "yes"); // no players at all, just accept it
VoteAccept();
return;
}
-
- // since there ARE players, finally calculate the result of the vote
+
+ // since there ARE players, finally calculate the result of the vote
if(vote_accept_count >= vote_needed_overall)
{
VoteSpam(notvoters, -1, "yes"); // there is enough acceptions to pass the vote
VoteAccept();
return;
}
-
+
if(vote_reject_count > vote_player_count - vote_abstain_count - vote_needed_overall)
{
VoteSpam(notvoters, -1, "no"); // there is enough rejections to deny the vote
VoteReject();
return;
}
-
+
// there is not enough votes in either direction, now lets just calculate what the voters have said
if(time > vote_endtime)
{
final_needed_votes = vote_needed_overall;
-
+
if(autocvar_sv_vote_majority_factor_of_voted)
{
if(vote_accept_count >= vote_needed_of_voted)
VoteAccept();
return;
}
-
+
if(vote_accept_count + vote_reject_count > 0)
{
VoteSpam(notvoters, min(vote_needed_overall, vote_needed_of_voted), "no");
VoteReject();
return;
}
-
+
final_needed_votes = min(vote_needed_overall, vote_needed_of_voted);
}
- // it didn't pass or fail, so not enough votes to even make a decision.
+ // it didn't pass or fail, so not enough votes to even make a decision.
VoteSpam(notvoters, final_needed_votes, "timeout");
VoteTimeout();
}
}
-void VoteThink()
+void VoteThink()
{
if(vote_endtime > 0) // a vote was called
if(time > vote_endtime) // time is up
{
VoteCount(FALSE);
}
-
+
return;
}
}
// Restarts the map after the countdown is over (and cvar sv_ready_restart_after_countdown is set)
-void ReadyRestart_think()
+void ReadyRestart_think()
{
restart_mapalreadyrestarted = 1;
reset_map(TRUE);
Score_ClearAll();
remove(self);
-
+
return;
}
if(autocvar_sv_timeout) { FOR_EACH_REALPLAYER(tmp_player) { tmp_player.allowed_timeouts = autocvar_sv_timeout_number; } }
//reset map immediately if this cvar is not set
- if not(autocvar_sv_ready_restart_after_countdown) { reset_map(TRUE); }
+ if (!autocvar_sv_ready_restart_after_countdown) { reset_map(TRUE); }
if(autocvar_sv_eventlog) { GameLogEcho(":restart"); }
}
void ReadyRestart()
{
// no arena, assault support yet...
- if(g_arena | g_assault | gameover | intermission_running | race_completing)
+ if(g_assault | gameover | intermission_running | race_completing)
localcmd("restart\n");
else
localcmd("\nsv_hook_gamerestart\n");
// Reset ALL scores, but only do that at the beginning of the countdown if sv_ready_restart_after_countdown is off!
// Otherwise scores could be manipulated during the countdown.
- if not(autocvar_sv_ready_restart_after_countdown) { Score_ClearAll(); }
+ if (!autocvar_sv_ready_restart_after_countdown) { Score_ClearAll(); }
ReadyRestart_force();
-
+
return;
}
ready_needed_factor = bound(0.5, cvar("g_warmup_majority_factor"), 0.999);
ready_needed_count = floor(t_players * ready_needed_factor) + 1;
-
+
if(readycount >= ready_needed_count)
{
ReadyRestart();
}
-
+
return;
}
float Votecommand_check_assignment(entity caller, float assignment)
{
float from_server = (!caller);
-
- if((assignment == VC_ASGNMNT_BOTH)
- || ((!from_server && assignment == VC_ASGNMNT_CLIENTONLY)
+
+ if((assignment == VC_ASGNMNT_BOTH)
+ || ((!from_server && assignment == VC_ASGNMNT_CLIENTONLY)
|| (from_server && assignment == VC_ASGNMNT_SERVERONLY)))
{
return TRUE;
return FALSE;
}
-string VoteCommand_extractcommand(string input, float startpos, float argc)
+string VoteCommand_extractcommand(string input, float startpos, float argc)
{
string output;
-
+
if((argc - 1) < startpos)
output = "";
else
output = substring(input, argv_start_index(startpos), argv_end_index(-1) - argv_start_index(startpos));
-
+
return output;
}
|| (strstrofs(vote_command, "\r", 0) >= 0)
|| (strstrofs(vote_command, "$", 0) >= 0))
return FALSE;
-
+
return TRUE;
}
float VoteCommand_checkinlist(string vote_command, string list)
{
string l = strcat(" ", list, " ");
-
+
if(strstrofs(l, strcat(" ", vote_command, " "), 0) >= 0)
return TRUE;
-
+
return FALSE;
}
string ValidateMap(string validated_map, entity caller)
{
validated_map = MapInfo_FixName(validated_map);
-
- if not(validated_map)
+
+ if (!validated_map)
{
print_to(caller, "This map is not available on this server.");
return string_null;
}
-
+
if(!autocvar_sv_vote_override_mostrecent && caller)
{
if(Map_IsRecent(validated_map))
return string_null;
}
}
-
+
if(!MapInfo_CheckMap(validated_map))
{
print_to(caller, strcat("^1Invalid mapname, \"^3", validated_map, "^1\" does not support the current game mode."));
float VoteCommand_parse(entity caller, string vote_command, string vote_list, float startpos, float argc)
{
string first_command;
-
+
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)
)
return FALSE;
- if not(VoteCommand_checkinlist(first_command, vote_list))
+ if (!VoteCommand_checkinlist(first_command, vote_list))
return FALSE;
- if not(VoteCommand_checkargs(startpos, argc))
+ if (!VoteCommand_checkargs(startpos, argc))
return FALSE;
switch(first_command) // now go through and parse the proper commands to adjust as needed.
{
entity victim = GetIndexedEntity(argc, (startpos + 1));
float accepted = VerifyClientEntity(victim, TRUE, FALSE);
-
+
if(accepted > 0)
{
string reason = ((argc > next_token) ? substring(vote_command, argv_start_index(next_token), strlen(vote_command) - argv_start_index(next_token)) : "No reason provided");
string command_arguments;
-
+
if(first_command == "kickban")
command_arguments = strcat(ftos(autocvar_g_ban_default_bantime), " ", ftos(autocvar_g_ban_default_masksize), " ~");
else
command_arguments = reason;
-
+
vote_parsed_command = strcat(first_command, " # ", ftos(num_for_edict(victim)), " ", command_arguments);
vote_parsed_display = strcat("^1", vote_command, " (^7", victim.netname, "^1): ", reason);
}
else { print_to(caller, strcat("vcall: ", GetClientErrorString(accepted, argv(startpos + 1)), ".\n")); return FALSE; }
-
+
break;
}
-
+
case "map":
case "chmap":
case "gotomap": // re-direct all map selection commands to gotomap
{
vote_command = ValidateMap(argv(startpos + 1), caller);
- if not(vote_command) { return FALSE; }
+ if (!vote_command) { return FALSE; }
vote_parsed_command = strcat("gotomap ", vote_command);
vote_parsed_display = strzone(strcat("^1", vote_parsed_command));
-
+
break;
}
-
- default:
- {
+
+ default:
+ {
vote_parsed_command = vote_command;
vote_parsed_display = strzone(strcat("^1", vote_command));
-
- break;
+
+ break;
}
}
{
case CMD_REQUEST_COMMAND:
{
- if not(vote_called) { print_to(caller, "^1No vote called."); }
- else if not(caller.vote_selection == VOTE_SELECT_NULL || autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
-
+ 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 // everything went okay, continue changing vote
{
print_to(caller, "^1You abstained from your vote.");
msg_entity = caller;
if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); }
}
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
- float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
- || ((autocvar_sv_vote_nospectators == 1) && warmup_stage)
+ float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
+ || ((autocvar_sv_vote_nospectators == 1) && warmup_stage)
|| (autocvar_sv_vote_nospectators == 0));
-
+
float tmp_playercount = 0;
entity tmp_player;
-
+
vote_command = VoteCommand_extractcommand(vote_command, 2, argc);
-
- if not(autocvar_sv_vote_call || !caller) { print_to(caller, "^1Vote calling is not allowed."); }
+
+ if(!autocvar_sv_vote_call && caller) { print_to(caller, "^1Vote calling is not allowed."); }
else if(!autocvar_sv_vote_gamestart && time < game_starttime) { print_to(caller, "^1Vote calling is not allowed before the match has started."); }
else if(vote_called) { print_to(caller, "^1There is already a vote called."); }
else if(!spectators_allowed && (caller && !IS_PLAYER(caller))) { print_to(caller, "^1Only players can call a vote."); }
else if(timeout_status) { print_to(caller, "^1You can not call a vote while a timeout is active."); }
else if(caller && (time < caller.vote_waittime)) { print_to(caller, strcat("^1You have to wait ^2", ftos(ceil(caller.vote_waittime - time)), "^1 seconds before you can again call a vote.")); }
- else if not(VoteCommand_checknasty(vote_command)) { print_to(caller, "^1Syntax error in command, see 'vhelp' for more info."); }
- else if not(VoteCommand_parse(caller, vote_command, autocvar_sv_vote_commands, 2, argc)) { print_to(caller, "^1This command is not acceptable, see 'vhelp' for more info."); }
+ else if (!VoteCommand_checknasty(vote_command)) { print_to(caller, "^1Syntax error in command, see 'vhelp' for more info."); }
+ else if (!VoteCommand_parse(caller, vote_command, autocvar_sv_vote_commands, 2, argc)) { print_to(caller, "^1This command is not acceptable, see 'vhelp' for more info."); }
else // everything went okay, continue with calling the vote
{
vote_called_command = strzone(vote_parsed_command);
vote_called_display = strzone(vote_parsed_display);
vote_endtime = time + autocvar_sv_vote_timeout;
-
+
if(caller)
{
caller.vote_selection = VOTE_SELECT_ACCEPT;
caller.vote_waittime = time + autocvar_sv_vote_wait;
msg_entity = caller;
}
-
+
FOR_EACH_REALCLIENT(tmp_player) { ++tmp_playercount; }
if(tmp_playercount > 1) { Send_Notification(NOTIF_ALL, world, MSG_ANNCE, ANNCE_VOTE_CALL); } // don't announce a "vote now" sound if player is alone
-
+
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2 calls a vote for ", vote_called_display, "\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vcall:", ftos(vote_caller.playerid), ":", vote_called_display)); }
Nagger_VoteChanged();
VoteCount(TRUE); // needed if you are the only one
}
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
case "do":
{
vote_command = VoteCommand_extractcommand(vote_command, 3, argc);
-
- if not(caller.vote_master) { print_to(caller, "^1You do not have vote master privelages."); }
- else if not(VoteCommand_checknasty(vote_command)) { print_to(caller, "^1Syntax error in command, see 'vhelp' for more info."); }
- else if not(VoteCommand_parse(caller, vote_command, strcat(autocvar_sv_vote_commands, " ", autocvar_sv_vote_master_commands), 3, argc)) { print_to(caller, "^1This command is not acceptable, see 'vhelp' for more info."); }
-
+
+ if (!caller.vote_master) { print_to(caller, "^1You do not have vote master privelages."); }
+ else if (!VoteCommand_checknasty(vote_command)) { print_to(caller, "^1Syntax error in command, see 'vhelp' for more info."); }
+ else if (!VoteCommand_parse(caller, vote_command, strcat(autocvar_sv_vote_commands, " ", autocvar_sv_vote_master_commands), 3, argc)) { print_to(caller, "^1This command is not acceptable, see 'vhelp' for more info."); }
+
else // everything went okay, proceed with command
{
localcmd(strcat(vote_parsed_command, "\n"));
bprint("\{1}^2* ^3", GetCallerName(caller), "^2 used their ^3master^2 status to do \"^2", vote_parsed_display, "^2\".\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vdo:", ftos(caller.playerid), ":", vote_parsed_display)); }
}
-
+
return;
}
-
+
case "login":
{
- if not(autocvar_sv_vote_master_password != "") { print_to(caller, "^1Login to vote master is not allowed."); }
+ if(autocvar_sv_vote_master_password == "") { print_to(caller, "^1Login to vote master is not allowed."); }
else if(caller.vote_master) { print_to(caller, "^1You are already logged in as vote master."); }
- else if not(autocvar_sv_vote_master_password == argv(3)) { print_to(caller, strcat("Rejected vote master login from ", GetCallerName(caller))); }
+ else if(autocvar_sv_vote_master_password != argv(3)) { print_to(caller, strcat("Rejected vote master login from ", GetCallerName(caller))); }
else // everything went okay, proceed with giving this player master privilages
{
bprint("\{1}^2* ^3", GetCallerName(caller), "^2 logged in as ^3master^2\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vlogin:", ftos(caller.playerid))); }
}
-
+
return;
}
-
+
default: // calling a vote for master
{
- float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
- || ((autocvar_sv_vote_nospectators == 1) && warmup_stage)
+ float spectators_allowed = ((autocvar_sv_vote_nospectators != 2)
+ || ((autocvar_sv_vote_nospectators == 1) && warmup_stage)
|| (autocvar_sv_vote_nospectators == 0));
-
- if not(autocvar_sv_vote_master_callable) { print_to(caller, "^1Vote to become vote master is not allowed."); }
+
+ if (!autocvar_sv_vote_master_callable) { print_to(caller, "^1Vote to become vote master is not allowed."); }
else if(vote_called) { print_to(caller, "^1There is already a vote called."); }
else if(!spectators_allowed && (caller && !IS_PLAYER(caller))) { print_to(caller, "^1Only players can call a vote."); }
else if(timeout_status) { print_to(caller, "^1You can not call a vote while a timeout is active."); }
-
+
else // everything went okay, continue with creating vote
{
vote_caller = caller;
vote_called_command = strzone("XXX");
vote_called_display = strzone("^3master");
vote_endtime = time + autocvar_sv_vote_timeout;
-
+
caller.vote_selection = VOTE_SELECT_ACCEPT;
caller.vote_waittime = time + autocvar_sv_vote_wait;
-
+
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2 calls a vote to become ^3master^2.\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vcall:", ftos(vote_caller.playerid), ":", vote_called_display)); }
Nagger_VoteChanged();
VoteCount(TRUE); // needed if you are the only one
}
-
+
return;
}
}
}
else { print_to(caller, "^1Master control of voting is not allowed."); }
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
- if not(vote_called) { print_to(caller, "^1No vote called."); }
- else if not(caller.vote_selection == VOTE_SELECT_NULL || autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
+ 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_caller) || caller.vote_master) && autocvar_sv_vote_no_stops_vote) { VoteStop(caller); }
-
+
else // everything went okay, continue changing vote
{
print_to(caller, "^1You rejected the vote.");
msg_entity = caller;
if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); }
}
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, strcat("^7Vote for ", vote_called_display, "^7 called by ^7", GetCallerName(vote_caller), "^7."));
else
print_to(caller, "^1No vote called.");
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
- if not(vote_called) { print_to(caller, "^1No vote called."); }
+ if (!vote_called) { print_to(caller, "^1No vote called."); }
else if((caller == vote_caller) || !caller || caller.vote_master) { VoteStop(caller); }
else { print_to(caller, "^1You are not allowed to stop that vote."); }
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
- if not(vote_called) { print_to(caller, "^1No vote called."); }
- else if not(caller.vote_selection == VOTE_SELECT_NULL || autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
-
+ 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 // everything went okay, continue changing vote
{
print_to(caller, "^1You accepted the vote.");
msg_entity = caller;
if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); }
}
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
{
case CMD_REQUEST_COMMAND:
{
-
+
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{
print_to(caller, "\nVoting commands:\n");
#define VOTE_COMMAND(name,function,description,assignment) \
{ if(Votecommand_check_assignment(caller, assignment)) { print_to(caller, strcat(" ^2", name, "^7: ", description)); } }
-
+
VOTE_COMMANDS(0, caller, 0, "")
#undef VOTE_COMMAND
-
+
print_to(caller, strcat("\nUsage:^3 ", command_origin, " vote COMMAND...^7, where possible commands are listed above.\n"));
print_to(caller, strcat("For help about a specific command, type ", command_origin, " vote help COMMAND"));
print_to(caller, strcat("\n^7You can call a vote for or execute these commands: ^3", autocvar_sv_vote_commands, "^7 and maybe further ^3arguments^7"));
{
#define VOTE_COMMAND(name,function,description,assignment) \
{ if(Votecommand_check_assignment(caller, assignment)) { if(name == strtolower(argv(2))) { function; return; } } }
-
+
VOTE_COMMANDS(CMD_REQUEST_USAGE, caller, argc, "")
#undef VOTE_COMMAND
}
-
+
return;
}
{
#define VOTE_COMMAND(name,function,description,assignment) \
{ if(Votecommand_check_assignment(caller, assignment)) { if(name == strtolower(argv(1))) { function; return TRUE; } } }
-
+
VOTE_COMMANDS(CMD_REQUEST_COMMAND, caller, argc, vote_command)
#undef VOTE_COMMAND
-
+
return FALSE;
}
// Main function handling vote commands
// ======================================
-void VoteCommand(float request, entity caller, float argc, string vote_command)
+void VoteCommand(float request, entity caller, float argc, string vote_command)
{
// Guide for working with argc arguments by example:
// argc: 1 - 2 - 3 - 4
- // argv: 0 - 1 - 2 - 3
+ // argv: 0 - 1 - 2 - 3
// cmd vote - master - login - password
-
+
switch(request)
{
case CMD_REQUEST_COMMAND:
if(VoteCommand_macro_command(caller, argc, vote_command))
return;
}
-
+
default:
print_to(caller, strcat(((argv(1) != "") ? strcat("Unknown vote command \"", argv(1), "\"") : "No command provided"), ". For a list of supported commands, try ", GetCommandPrefix(caller), " vote help.\n"));
case CMD_REQUEST_USAGE:
float vote_reject_count; // same as above, but rejected
float vote_abstain_count; // same as above, but abstained
float vote_needed_overall; // total amount of players NEEDED for a vote to pass (based on sv_vote_majority_factor)
-.float vote_master; // flag for if the player has vote master privelages
+.float vote_master; // flag for if the player has vote master privelages
.float vote_waittime; // flag for how long the player must wait before they can vote again
.float vote_selection; // flag for which vote selection the player has made (See VOTE_SELECT_*)
string vote_called_command; // command sent by client
if(sf & 2)
WriteByte(MSG_ENTITY, self.csqcprojectile_type); // TODO maybe put this into sf?
-
+
return 1;
}
void CSQCProjectile(entity e, float clientanimate, float type, float docull)
{
Net_LinkEntity(e, docull, 0, CSQCProjectile_SendEntity);
-
+
e.csqcprojectile_clientanimate = clientanimate;
-
+
if(e.movetype == MOVETYPE_TOSS || e.movetype == MOVETYPE_BOUNCE)
{
if(e.gravity == 0)
float maxclients;
// flag set on worldspawn so that the code knows if it is dedicated or not
-float server_is_dedicated;
+float server_is_dedicated;
// Fields
.float play_time;
.float respawn_flags;
.float respawn_time;
+.float respawn_time_max;
.float death_time;
.float fade_time;
.float fade_rate;
float nJoinAllowed(entity ignore);
.float spawnshieldtime;
+.float item_spawnshieldtime;
.entity flagcarried;
.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
.float target_random;
.float trigger_reverse;
-// Nexball
+// Nexball
.entity ballcarried; // Also used for keepaway
.float metertime;
float g_nexball_meter_period;
.float last_pickup;
-.float hit_time;
-.float typehit_time;
+.float hit_time;
+.float typehit_time;
.float stat_leadlimit;
o = self.owner;
if(o.deadflag != DEAD_NO)
return FALSE;
- if not(IS_PLAYER(o))
+ if (!IS_PLAYER(o))
return FALSE;
if(other == o)
return FALSE;
if((IS_PLAYER(other)) || other.caplayer)
if(!teamplay || o.team != other.team)
- if not (radar_showennemies)
+ if (!radar_showennemies)
return FALSE;
return TRUE;
}
void func_breakable_colormod()
{
float h;
- if not(self.spawnflags & 2)
+ if (!(self.spawnflags & 2))
return;
h = self.health / self.max_health;
if(h < 0.25)
self.colormod = '1 0 0' + '0 1 0' * (2 * h - 0.5);
else
self.colormod = '1 1 1';
+
+ CSQCMODEL_AUTOUPDATE();
}
void func_breakable_look_destroyed()
{
func_breakable_look_destroyed();
func_breakable_behave_destroyed();
+
+ CSQCMODEL_AUTOUPDATE();
}
void func_breakable_restore()
{
func_breakable_look_restore();
func_breakable_behave_restore();
+
+ CSQCMODEL_AUTOUPDATE();
}
vector debrisforce; // global, set before calling this
func_breakable_behave_destroyed();
else
func_breakable_behave_restore();
+
+ CSQCMODEL_AUTOUPDATE();
}
// destructible walls that can be used to trigger target_objective_decrease
self.reset = func_breakable_reset;
func_breakable_reset();
+
+ CSQCMODEL_AUTOINIT();
}
// for use in maps with a "model" key set
}
if(warmup_stage)
- GiveFrags_randomweapons.weapons = warmup_start_weapons;
+ GiveFrags_randomweapons.weapons = WARMUP_START_WEAPONS;
else
GiveFrags_randomweapons.weapons = start_weapons;
}
// after a frag, choose another random weapon set
- if not(attacker.weapons & WepSet_FromWeapon(attacker.weapon))
+ if (!(attacker.weapons & WepSet_FromWeapon(attacker.weapon)))
W_SwitchWeapon_Force(attacker, w_getbestweapon(attacker));
}
if(DEATH_ISSPECIAL(deathtype))
{
entity deathent = deathtypes[(deathtype - DT_FIRST)];
- if not(deathent) { backtrace("Obituary_SpecialDeath: Could not find deathtype entity!\n"); return; }
+ if (!deathent) { backtrace("Obituary_SpecialDeath: Could not find deathtype entity!\n"); return; }
if(murder)
{
}
else
{
- dprint(sprintf(
+ dprintf(
"Obituary_WeaponDeath(): ^1Deathtype ^7(%d)^1 has no notification for weapon %d!\n",
deathtype,
death_weapon
- ));
+ );
}
return TRUE;
void Obituary(entity attacker, entity inflictor, entity targ, float deathtype)
{
// Sanity check
- if not(IS_PLAYER(targ)) { backtrace("Obituary called on non-player?!\n"); return; }
+ if (!IS_PLAYER(targ)) { backtrace("Obituary called on non-player?!\n"); return; }
// Declarations
float notif_firstblood = FALSE;
)
);
#endif
-
+
// =======
// SUICIDE
// =======
Obituary_SpecialDeath(targ, FALSE, deathtype, targ.netname, deathlocation, "", targ.killcount, 0, 0);
break;
}
-
+
default:
{
Obituary_SpecialDeath(targ, FALSE, deathtype, targ.netname, deathlocation, "", targ.killcount, 0, 0);
}
}
}
- else if not(Obituary_WeaponDeath(targ, FALSE, deathtype, targ.netname, deathlocation, "", targ.killcount, 0))
+ else if (!Obituary_WeaponDeath(targ, FALSE, deathtype, targ.netname, deathlocation, "", targ.killcount, 0))
{
backtrace("SUICIDE: what the hell happened here?\n");
return;
GiveFrags(attacker, targ, -1, deathtype);
attacker.killcount = 0;
-
+
Send_Notification(NOTIF_ONE, attacker, MSG_CENTER, CENTER_DEATH_TEAMKILL_FRAG, targ.netname);
Send_Notification(NOTIF_ONE, targ, MSG_CENTER, CENTER_DEATH_TEAMKILL_FRAGGED, attacker.netname);
Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_NUM_4(targ.team, INFO_DEATH_TEAMKILL_), targ.netname, attacker.netname, deathlocation, targ.killcount);
);
}
- if not(Obituary_WeaponDeath(targ, TRUE, deathtype, targ.netname, attacker.netname, deathlocation, targ.killcount, kill_count_to_attacker))
+ if (!Obituary_WeaponDeath(targ, TRUE, deathtype, targ.netname, attacker.netname, deathlocation, targ.killcount, kill_count_to_attacker))
Obituary_SpecialDeath(targ, TRUE, deathtype, targ.netname, attacker.netname, deathlocation, targ.killcount, kill_count_to_attacker, 0);
}
}
0);
break;
}
-
+
default:
{
Obituary_SpecialDeath(targ, FALSE, deathtype, targ.netname, deathlocation, "", targ.killcount, 0, 0);
{
float mirrordamage;
float mirrorforce;
- float complainteamdamage = 0;
+ float complainteamdamage = 0;
entity attacker_save;
mirrordamage = 0;
mirrorforce = 0;
// exit the vehicle before killing (fixes a crash)
if(IS_PLAYER(targ) && targ.vehicle)
vehicles_exit(VHEF_RELESE);
-
+
// These are ALWAYS lethal
// No damage modification here
// Instead, prepare the victim for his death...
}
}
- if not(DEATH_ISSPECIAL(deathtype))
+ if (!DEATH_ISSPECIAL(deathtype))
{
damage *= g_weapondamagefactor;
mirrordamage *= g_weapondamagefactor;
force = force * g_weaponforcefactor;
mirrorforce *= g_weaponforcefactor;
}
-
+
// should this be changed at all? If so, in what way?
frag_attacker = attacker;
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;
mirrordamage = frag_mirrordamage;
force = frag_force;
-
- if not(g_minstagib)
+
+ if (!g_minstagib)
{
// apply strength multiplier
if (attacker.items & IT_STRENGTH)
else
victim = targ;
- if(IS_PLAYER(victim) || victim.turret_flags & TUR_FLAG_ISTURRET)
+ if(IS_PLAYER(victim) || ((victim.turret_flags & TUR_FLAG_ISTURRET) && victim.active == ACTIVE_ACTIVE) || (victim.flags & FL_MONSTER))
{
if(DIFF_TEAM(victim, attacker))
{
damage_goodhits += 1;
damage_gooddamage += damage;
- if not(DEATH_ISSPECIAL(deathtype))
+ if (!DEATH_ISSPECIAL(deathtype))
{
if(IS_PLAYER(targ)) // don't do this for vehicles
if(IsFlying(victim))
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));
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)
{
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
if(maxtime > mintime || maxdps > mindps)
{
// Constraints:
-
+
// damage we have right now
mindamage = mindps * mintime;
float t, d, hi, ty;
entity o;
- if not(Fire_IsBurning(e))
+ if (!Fire_IsBurning(e))
return;
for(t = 0, o = e.owner; o.owner && t < 16; o = o.owner, ++t);
}
e.fire_hitsound = TRUE;
- if not(IS_INDEPENDENT_PLAYER(e))
+ if (!IS_INDEPENDENT_PLAYER(e))
FOR_EACH_PLAYER(other) if(e != other)
{
if(IS_PLAYER(other))
if(other.deadflag == DEAD_NO)
- if not(IS_INDEPENDENT_PLAYER(other))
+ if (!IS_INDEPENDENT_PLAYER(other))
if(boxesoverlap(e.absmin, e.absmax, other.absmin, other.absmax))
{
t = autocvar_g_balance_firetransfer_time * (e.fire_endtime - time);
{
if(self.health <= 0)
return;
-
+
if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, -1)) // no exceptions
return; // g_balance_projectiledamage says to halt
-
+
self.health = self.health - damage;
-
+
if (self.health <= 0)
{
if(attacker != self.realowner)
// offhand hook controls
if(self.BUTTON_HOOK)
{
- if not(self.hook || (self.hook_state & HOOK_WAITING_FOR_RELEASE))
+ if (!(self.hook || (self.hook_state & HOOK_WAITING_FOR_RELEASE)))
{
self.hook_state |= HOOK_FIRING;
self.hook_state |= HOOK_WAITING_FOR_RELEASE;
sf |= 0x40;
if(self.lodmodelindex1)
sf |= 0x80;
-
+
WriteByte(MSG_ENTITY, ENT_CLIENT_WALL);
WriteByte(MSG_ENTITY, sf);
void setanim(entity e, vector anim, float looping, float override, float restart)
{
if (!anim)
- return; // no animation was given to us! We can't use this.
-
+ return; // no animation was given to us! We can't use this.
+
if (anim_x == e.animstate_startframe)
if (anim_y == e.animstate_numframes)
if (anim_z == e.animstate_framerate)
// the thinking is now done by the controller
self.think = SUB_NullThink; // for PushMove
self.nextthink = self.ltime + traveltime;
-
+
// invoke controller
self = controller;
self.think();
// check whether antilagged traces are enabled
if (lag < 0.001)
lag = 0;
- if not(IS_REAL_CLIENT(forent))
+ if (!IS_REAL_CLIENT(forent))
lag = 0; // only antilag for clients
// change shooter to SOLID_BBOX so the shot can hit corpses
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;
for(;;)
{
- if((pos - v1) * dir >= (v2 - v1) * dir)
+ if(pos * dir >= v2 * dir)
{
// went too far
trace_fraction = 1;
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;
}
}
-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);
}
/*
}
if(self.lodmodelindex1)
- if not(self.SendEntity)
+ if (!self.SendEntity)
SetCustomizer(self, LOD_customize, LOD_uncustomize);
}
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;
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);
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;
/*
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]);
}
*/
if (self.classname == "trigger_secret")
{
- if not(IS_PLAYER(self.enemy))
+ if (!IS_PLAYER(self.enemy))
return;
found_secrets = found_secrets + 1;
WriteByte (MSG_ALL, SVC_FOUNDSECRET);
void multi_touch()
{
- if not(self.spawnflags & 2)
- if not(other.iscreature)
+ if (!(self.spawnflags & 2))
+ if (!other.iscreature)
return;
if(self.team)
.float triggerhurttime;
void trigger_hurt_touch()
{
- if (self.active != ACTIVE_ACTIVE)
+ if (self.active != ACTIVE_ACTIVE)
return;
if(self.team)
entity own;
own = self.enemy;
- if not(IS_PLAYER(own))
+ if (!IS_PLAYER(own))
{
own = self;
self.enemy = world; // I still hate you all
.float triggerhealtime;
void trigger_heal_touch()
{
- if (self.active != ACTIVE_ACTIVE)
+ if (self.active != ACTIVE_ACTIVE)
return;
-
+
// only do the EXACTTRIGGER_TOUCH checks when really needed (saves some cpu)
if (other.iscreature)
{
{
EXACTTRIGGER_TOUCH;
other.triggerhealtime = time + 1;
-
+
if (other.health < self.max_health)
{
other.health = min(other.health + self.health, self.max_health);
void spawnfunc_trigger_heal()
{
self.active = ACTIVE_ACTIVE;
-
+
EXACTTRIGGER_INIT;
self.touch = trigger_heal_touch;
if (!self.health)
g = self.gravity;
- if not(self.spawnflags & 1)
+ if (!(self.spawnflags & 1))
{
if(other.trigger_gravity_check)
{
void target_speaker_use_off();
void target_speaker_use_activator()
{
- if not(IS_REAL_CLIENT(activator))
+ if (!IS_REAL_CLIENT(activator))
return;
string snd;
if(substring(self.noise, 0, 1) == "*")
setmodel(self, self.model);
if(self.noise != "")
precache_sound (self.noise);
-
+
if(!self.bgmscriptsustain)
self.bgmscriptsustain = 1;
else if(self.bgmscriptsustain < 0)
if(self.enemy)
{
o = self.enemy.origin;
- if not(self.spawnflags & 2)
+ if (!(self.spawnflags & 2))
o = self.origin + normalize(o - self.origin) * 32768;
}
else
float pushdeltatime;
float str;
- if (self.active != ACTIVE_ACTIVE)
+ if (self.active != ACTIVE_ACTIVE)
return;
if (!isPushable(other))
{
float pushdeltatime;
- if (self.active != ACTIVE_ACTIVE)
+ if (self.active != ACTIVE_ACTIVE)
return;
if (!isPushable(other))
float pushdeltatime;
float str;
- if (self.active != ACTIVE_ACTIVE)
+ if (self.active != ACTIVE_ACTIVE)
return;
if (!isPushable(other))
return;
if(vs.message == "")
return;
- if not(IS_PLAYER(pl))
+ if (!IS_PLAYER(pl))
return;
if(gameover)
return;
// added after this message
// wait: average time between messages
// delay: initial delay before the first message
-
+
float i, n;
self.use = target_voicescript_use;
dotrigger = ((IS_PLAYER(source)) && (source.deadflag == DEAD_NO) && ((ear.radius == 0) || (vlen(source.origin - ear.origin) <= ear.radius)));
domatch = ((ear.spawnflags & 32) || dotrigger);
- if not(domatch)
+ if (!domatch)
return msgin;
- if not(msgin)
+ if (!msgin)
{
// we are in TUBA mode!
- if not(ear.spawnflags & 256)
+ if (!(ear.spawnflags & 256))
return msgin;
if(!W_Tuba_HasPlayed(source, ear.message, ear.movedir_x, !(ear.spawnflags & 512), ear.movedir_y, ear.movedir_z))
if(ear.spawnflags & 8)
return msgin;
}
-
+
matchstart = -1;
l = strlen(ear.message);
for(ear = magicears; ear; ear = ear.enemy)
{
msgout = trigger_magicear_processmessage(ear, source, teamsay, privatesay, msgin);
- if not(ear.spawnflags & 64)
+ if (!(ear.spawnflags & 64))
if(magicear_matched)
return msgout;
msgin = msgout;
void relay_activators_use()
{
entity trg, os;
-
+
os = self;
-
+
for(trg = world; (trg = find(trg, targetname, os.target)); )
{
self = trg;
if(os.cnt == ACTIVE_TOGGLE)
if(trg.active == ACTIVE_ACTIVE)
trg.active = ACTIVE_NOT;
- else
+ else
trg.active = ACTIVE_ACTIVE;
else
trg.active = os.cnt;
- }
+ }
}
self = os;
}
void spawnfunc_relay_deactivate()
{
self.cnt = ACTIVE_NOT;
- self.use = relay_activators_use;
+ self.use = relay_activators_use;
}
void spawnfunc_relay_activatetoggle()
{
self.cnt = ACTIVE_TOGGLE;
- self.use = relay_activators_use;
+ self.use = relay_activators_use;
}
.string chmap, gametype;
// mapinfo
BADCVAR("fraglimit");
- BADCVAR("g_arena");
BADCVAR("g_assault");
BADCVAR("g_ca");
BADCVAR("g_ca_teams");
// does nothing visible
BADCVAR("captureleadlimit_override");
- BADCVAR("g_arena_point_leadlimit");
BADCVAR("g_balance_kill_delay");
BADCVAR("g_ca_point_leadlimit");
BADCVAR("g_ctf_captimerecord_always");
BADCVAR("g_nix");
BADCVAR("g_grappling_hook");
BADCVAR("g_jetpack");
-
+
#undef BADPREFIX
#undef BADCVAR
// needs to be done so early because of the constants they create
CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
CALL_ACCUMULATED_FUNCTION(RegisterTurrets);
+ CALL_ACCUMULATED_FUNCTION(RegisterMonsters);
CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
// needs to be done so early because of the constants they create
CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
CALL_ACCUMULATED_FUNCTION(RegisterTurrets);
+ CALL_ACCUMULATED_FUNCTION(RegisterMonsters);
CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
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);
// 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);
{
s = strcat(":player:see-labels:", GetPlayerScoreString(other, 0), ":");
s = strcat(s, ftos(rint(time - other.jointime)), ":");
- if(IS_PLAYER(other) || g_arena || other.caplayer == 1 || g_lms)
+ if(IS_PLAYER(other) || other.caplayer == 1 || g_lms)
s = strcat(s, ftos(other.team), ":");
else
s = strcat(s, "spectator:");
PlayerStats_AddGlobalInfo(e);
PlayerStats_Shutdown();
WeaponStats_Shutdown();
-
+
Kill_Notification(NOTIF_ALL, world, MSG_CENTER, 0); // kill all centerprints now
if(autocvar_sv_eventlog)
if(WinningConditionHelper_zeroisworst)
leadlimit = 0; // not supported in this mode
- if(g_dm || g_tdm || g_arena || 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)
if(mapvote_initialized)
return "Can't suggest - voting is already in progress!";
m = MapInfo_FixName(m);
- if not(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))
* GET g_ban_sync_uri?action=unban&hostname=...&ip=xxx.xxx.xxx
* - Querying the ban list
* GET g_ban_sync_uri?action=list&hostname=...&servers=xxx.xxx.xxx.xxx;xxx.xxx.xxx.xxx;...
- *
+ *
* shows the bans from the listed servers, and possibly others.
* Format of a ban is ASCII plain text, four lines per ban, delimited by
* newline ONLY (no carriage return):
}
if(syncinterval > 0)
syncinterval *= 60;
-
+
if(status != 0)
{
print("error: status is ", ftos(status), "\n");
float argc;
string uri;
float i, n;
-
+
if(autocvar_g_ban_sync_uri == "")
goto killme;
if(autocvar_g_ban_sync_interval == 0) // < 0 is okay, it means "sync on level start only"
for(i = 1; i < argc; ++i)
OnlineBanList_Servers = strcat(OnlineBanList_Servers, ";", argv(i));
OnlineBanList_Servers = strzone(OnlineBanList_Servers);
-
+
uri = strcat( "action=list&hostname=", uri_escape(autocvar_hostname));
uri = strcat(uri, "&servers=", uri_escape(OnlineBanList_Servers));
else
uri_get(strcat(argv(i), "?", uri), URI_GET_IPBAN + i); // 1000 = "banlist" callback target
}
-
+
if(autocvar_g_ban_sync_interval > 0)
self.nextthink = time + max(60, autocvar_g_ban_sync_interval * 60);
else
{
float i, n;
string msg;
-
+
print("^2Listing all existing active bans:\n");
-
+
n = 0;
for(i = 0; i < ban_count; ++i)
{
if(time > ban_expire[i])
continue;
-
+
++n; // total number of existing bans
-
+
msg = strcat("#", ftos(i), ": ");
msg = strcat(msg, ban_ip[i], " is still banned for ");
msg = strcat(msg, ftos(ban_expire[i] - time), " seconds");
-
+
print(" ", msg, "\n");
}
-
+
print("^2Done listing all active (", ftos(n), ") bans.\n");
}
i4 = strstrofs(s, ".", i3 + 1);
if(i4 >= 0)
s = substring(s, 0, i4);
-
+
ban_ip1 = substring(s, 0, i1); // 8
ban_ip2 = substring(s, 0, i2); // 16
ban_ip3 = substring(s, 0, i3); // 24
{
if(!autocvar_g_banned_list_idmode)
return TRUE;
- if not(ban_idfp)
+ if (!ban_idfp)
return TRUE;
}
return FALSE;
float item_keys_usekey(entity l, entity p) {
float valid = l.itemkeys & p.itemkeys;
-
- if not(valid) {
+
+ if (!valid) {
// other has none of the needed keys
return FALSE;
} else if (l.itemkeys == valid) {
string item_keys_keylist(float keylist) {
float base, l;
string n;
-
+
// no keys
- if not(keylist)
+ if (!keylist)
return "";
-
+
// one key
if ((keylist & (keylist-1)) != 0)
return strcat("the ", item_keys_names[lowestbit(keylist)]);
-
+
n = "";
base = 0;
while (keylist) {
n = strcat(n, ", the ", item_keys_names[base + l]);
else
n = strcat("the ", item_keys_names[base + l]);
-
+
keylist = bitshift(keylist, -(l + 1));
base+= l + 1;
}
-
+
return n;
}
* Key touch handler.
*/
void item_key_touch(void) {
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
-
+
// player already picked up this key
if (other.itemkeys & self.itemkeys)
return;
-
+
other.itemkeys |= self.itemkeys;
play2(other, self.noise);
-
+
centerprint(other, self.message);
};
*/
void spawn_item_key() {
precache_model(self.model);
-
+
if (self.spawnflags & 1) // FLOATING
self.noalign = 1;
-
+
if (self.noalign)
self.movetype = MOVETYPE_NONE;
else
self.movetype = MOVETYPE_TOSS;
-
+
precache_sound(self.noise);
-
+
self.mdl = self.model;
self.effects = EF_LOWPRECISION;
setmodel(self, self.model);
setsize(self, '-16 -16 -56', '16 16 0');
self.modelflags |= MF_ROTATE;
self.solid = SOLID_TRIGGER;
-
+
if (!self.noalign)
{
// first nudge it off the floor a little bit to avoid math errors
/*QUAKED item_key (0 .5 .8) (-16 -16 -24) (16 16 32) FLOATING
A key entity.
The itemkeys should contain one of the following key IDs:
-1 - GOLD key -
+1 - GOLD key -
2 - SILVER key
4 - BRONZE key
8 - RED keycard
void spawnfunc_item_key() {
local string _model, _netname;
local vector _colormod;
-
+
// reject this entity if more than one key was set!
if (self.itemkeys>0 && (self.itemkeys & (self.itemkeys-1)) != 0) {
objerror("item_key.itemkeys must contain only 1 bit set specifying the key it represents!");
_netname = "GOLD key";
_colormod = '1 .9 0';
break;
-
+
case 2:
_netname = "SILVER key";
_colormod = '.9 .9 .9';
break;
-
+
case 4:
_netname = "BRONZE key";
_colormod = '.6 .25 0';
break;
-
+
case 8:
_netname = "RED keycard";
_colormod = '.9 0 0';
break;
-
+
case 16:
_netname = "BLUE keycard";
_colormod = '0 0 .9';
break;
-
+
case 32:
_netname = "GREEN keycard";
_colormod = '0 .9 0';
break;
-
+
default:
_netname = "FLUFFY PINK keycard";
_colormod = '1 1 1';
return;
}
break;
-
+
}
-
+
// find default model
#ifdef GMQCC
_model = string_null;
remove(self);
return;
}
-
+
// set defailt netname
if (self.netname == "")
self.netname = _netname;
-
+
// set default colormod
if (!self.colormod)
self.colormod = _colormod;
-
+
// set default model
if (self.model == "")
self.model = _model;
-
+
// set default pickup message
if (self.message == "")
self.message = strzone(strcat("You've picked up the ", self.netname, "!"));
if (self.noise == "")
self.noise = "misc/itempickup.wav";
-
+
// save the name for later
item_keys_names[lowestbit(self.itemkeys)] = self.netname;
- // put the key on the map
+ // put the key on the map
spawn_item_key();
}
*/
void trigger_keylock_trigger(string s) {
local entity t, stemp, otemp, atemp;
-
+
stemp = self;
otemp = other;
atemp = activator;
-
-
+
+
for(t = world; (t = find(t, targetname, s)); )
if (t.use) {
self = t;
activator = atemp;
self.use();
}
-
+
self = stemp;
other = otemp;
activator = atemp;
void trigger_keylock_touch(void) {
local float key_used, started_delay;
-
+
key_used = FALSE;
started_delay = FALSE;
-
+
// only player may trigger the lock
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
-
-
+
+
// check silver key
if (self.itemkeys)
key_used = item_keys_usekey(self, other);
-
+
activator = other;
-
+
if (self.itemkeys) {
// at least one of the keys is missing
if (key_used) {
centerprint(other, strcat("You need ", item_keys_keylist(self.itemkeys), "!"));
other.key_door_messagetime = time + 2;
}
-
+
// trigger target2
if (self.delay <= time || started_delay == TRUE)
if (self.target2) {
// all keys were given!
play2(other, self.noise);
centerprint(other, self.message);
-
+
if (self.target)
trigger_keylock_trigger(self.target);
-
+
if (self.killtarget)
trigger_keylock_kill(self.killtarget);
-
+
remove(self);
}
-
+
};
/*QUAKED trigger_keylock (.0 .5 .8) ?
return;
}
- // set unlocked message
+ // set unlocked message
if (self.message == "")
self.message = "Unlocked!";
-
+
// set default unlock noise
if (self.noise == "") {
if (self.sounds == 1)
else //if (self.sounds == 3) {
self.noise = "misc/trigger1.wav";
}
-
+
// set default use key sound
if (self.noise1 == "")
self.noise1 = "misc/decreasevalue.wav";
-
+
// set closed sourd
if (self.noise2 == "")
self.noise2 = "misc/talk.wav";
-
+
// delay between triggering message2 and trigger2
if (!self.wait)
self.wait = 5;
-
+
// precache sounds
precache_sound(self.noise);
precache_sound(self.noise1);
precache_sound(self.noise2);
-
+
EXACTTRIGGER_INIT;
-
+
self.touch = trigger_keylock_touch;
};
#define FOR_EACH_REALCLIENT(v) FOR_EACH_CLIENT(v) if(IS_REAL_CLIENT(v))
#define FOR_EACH_PLAYER(v) FOR_EACH_CLIENT(v) if(IS_PLAYER(v))
-#define FOR_EACH_SPEC(v) FOR_EACH_CLIENT(v) if not(IS_PLAYER(v)) // Samual: shouldn't this be IS_SPEC(v)? and rather create a separate macro to include observers too
+#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)
WepSet warmup_start_weapons;
WepSet warmup_start_weapons_default;
WepSet warmup_start_weapons_defaultmask;
+#define WARMUP_START_WEAPONS ((g_warmup_allguns == 1) ? (warmup_start_weapons & (weaponsInMap | start_weapons)) : warmup_start_weapons)
float warmup_start_ammo_shells;
float warmup_start_ammo_nails;
float warmup_start_ammo_rockets;
d = 0; // weapon is set a few lines later
else
d = (i == WEP_LASER || i == WEP_SHOTGUN);
-
+
if(g_grappling_hook) // if possible, redirect off-hand hook to on-hand hook
d |= (i == WEP_HOOK);
if(weaponinfo.spawnflags & WEP_FLAG_MUTATORBLOCKED) // never default mutator blocked guns
d = 0;
var float t = cvar(strcat(cvarprefix, weaponinfo.netname));
-
+
//print(strcat("want_weapon: ", weaponinfo.netname, " - d: ", ftos(d), ", t: ", ftos(t), ". \n"));
-
+
// bit order in t:
// 1: want or not
// 2: is default?
for (j = WEP_FIRST; j <= WEP_LAST; ++j)
{
e = get_weaponinfo(j);
- if not(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
+ if (!(e.spawnflags & WEP_FLAG_MUTATORBLOCKED))
g_weaponarena_weapons |= WepSet_FromWeapon(j);
}
}
for (j = WEP_FIRST; j <= WEP_LAST; ++j)
{
e = get_weaponinfo(j);
- if not(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
+ if (!(e.spawnflags & WEP_FLAG_MUTATORBLOCKED))
if (e.spawnflags & WEP_FLAG_NORMAL)
g_weaponarena_weapons |= WepSet_FromWeapon(j);
}
if(!cvar("g_use_ammunition"))
start_items |= IT_UNLIMITED_AMMO;
-
+
if(start_items & IT_UNLIMITED_WEAPON_AMMO)
{
start_ammo_rockets = 999;
for (i = WEP_FIRST; i <= WEP_LAST; ++i)
{
e = get_weaponinfo(i);
- float w = want_weapon("g_start_weapon_", e, cvar("g_warmup_allguns"));
+ float w = want_weapon("g_start_weapon_", e, g_warmup_allguns);
if(w & 1)
warmup_start_weapons |= WepSet_FromWeapon(i);
if(w & 2)
warmup_start_ammo_fuel = max(warmup_start_ammo_fuel, cvar("g_balance_fuel_rotstable"));
}
+ WepSet precache_weapons = start_weapons;
+ if (g_warmup_allguns != 1)
+ precache_weapons |= warmup_start_weapons;
for (i = WEP_FIRST; i <= WEP_LAST; ++i)
{
e = get_weaponinfo(i);
- if((start_weapons | warmup_start_weapons) & WepSet_FromWeapon(i))
+ if(precache_weapons & WepSet_FromWeapon(i))
weapon_action(i, WR_PRECACHE);
}
// 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_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, 1);
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
-
+
if(cvar("sv_allow_fullbright"))
serverflags |= SERVERFLAG_ALLOW_FULLBRIGHT;
g_bugrigs_speed_ref = cvar("g_bugrigs_speed_ref");
g_bugrigs_speed_pow = cvar("g_bugrigs_speed_pow");
g_bugrigs_steer = cvar("g_bugrigs_steer");
-
+
g_minstagib = cvar("g_minstagib");
sv_clones = cvar("sv_clones");
g_warmup_allguns = cvar("g_warmup_allguns");
g_warmup_allow_timeout = cvar("g_warmup_allow_timeout");
- if ((g_race && g_race_qualifying == 2) || g_arena || g_assault || cvar("g_campaign"))
+ if ((g_race && g_race_qualifying == 2) || g_assault || cvar("g_campaign"))
warmup_stage = 0; // these modes cannot work together, sorry
g_pickup_respawntime_weapon = cvar("g_pickup_respawntime_weapon");
if(!g_weapon_stay)
g_weapon_stay = cvar("g_weapon_stay");
- if not(warmup_stage)
+ if (!warmup_stage)
game_starttime = time + cvar("g_start_delay");
readplayerstartcvars();
void adaptor_think2use_hittype_splash() // for timed projectile detonation
{
- if not(self.flags & FL_ONGROUND) // if onground, we ARE touching something, but HITTYPE_SPLASH is to be networked if the damage causing projectile is not touching ANYTHING
+ if(!(self.flags & FL_ONGROUND)) // if onground, we ARE touching something, but HITTYPE_SPLASH is to be networked if the damage causing projectile is not touching ANYTHING
self.projectiledeathtype |= HITTYPE_SPLASH;
adaptor_think2use();
}
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)
db_put(ServerProgsDB, strcat("uid2name", myuid), "");
}
}
-
+
if(s == "")
s = "^1Unregistered Player";
return s;
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)));
float randombit(float bits)
{
- if not(bits & (bits-1)) // this ONLY holds for powers of two!
+ if(!(bits & (bits-1))) // this ONLY holds for powers of two!
return bits;
float n, f, b, r;
#else
string cvar_string_normal(string n)
{
- if not(cvar_type(n) & 1)
+ if (!(cvar_type(n) & 1))
backtrace(strcat("Attempt to access undefined cvar: ", n));
return builtin_cvar_string(n);
}
-#ifdef SVQC
+#ifdef SVQC
.vector moveto;
/**
#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;
{
if(name == loaded_mutators[i])
return 1; // already added
- if not(loaded_mutators[i])
+ if (!(loaded_mutators[i]))
j = i;
}
if(j < 0)
entity frag_attacker;
entity frag_target; // same as self
float frag_deathtype;
-
+
MUTATOR_HOOKABLE(PlayerJump);
// called when a player presses the jump key
// INPUT, OUTPUT:
// appends ", Mutator name" to ret_string for display
// INPUT, OUTPUT:
string ret_string;
-
+
MUTATOR_HOOKABLE(CustomizeWaypoint);
// called every frame
// customizes the waypoint for spectators
MUTATOR_HOOKABLE(TurretSpawn);
// return error to request removal
// INPUT: self - turret
-
+
MUTATOR_HOOKABLE(OnEntityPreSpawn);
// return error to prevent entity spawn, or modify the entity
// 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.
// INPUT, OUTPUT:
float damage_take;
float damage_save;
-
+
MUTATOR_HOOKABLE(PlayerDamage_Calculate);
// called to adjust damage and force values which are applied to the player, used for e.g. strength damage/force multiplier
// i'm not sure if I should change this around slightly (Naming of the entities, and also how they're done in g_damage).
// called at the end of player_powerups() in cl_client.qc, used for manipulating the values which are set by powerup items.
// INPUT
entity self;
- float olditems; // also technically output, but since it is at the end of the function it's useless for that :P
+ 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
MUTATOR_HOOKABLE(PlayerUseKey);
// called when the use key is pressed
MUTATOR_HOOKABLE(SetModname);
// OUT
string modname; // name of the mutator/mod if it warrants showing as such in the server browser
-
+
MUTATOR_HOOKABLE(Item_Spawn);
// called for each item being spawned on a map, including dropped weapons
// return 1 to remove an item
entity other; // weapon info
// IN+OUT
string ret_string;
-
+
MUTATOR_HOOKABLE(Item_RespawnCountdown);
// called when an item is about to respawn
// INPUT+OUTPUT:
string item_name;
vector item_color;
-
+
MUTATOR_HOOKABLE(BotShouldAttack);
// called when a bot checks a target to attack
// INPUT
// allows you to strip a player of an item if they go through the teleporter to help prevent cheating
// INPUT
entity self;
-
+
MUTATOR_HOOKABLE(HelpMePing);
// called whenever a player uses impulse 33 (help me) in cl_impulse.qc
// normally help me ping uses self.waypointsprite_attachedforcarrier,
// in a special manner using this hook
// INPUT
entity self; // the player who pressed impulse 33
-
+
MUTATOR_HOOKABLE(VehicleSpawn);
// called when a vehicle initializes
// return TRUE to remove the vehicle
-
+
MUTATOR_HOOKABLE(VehicleEnter);
// called when a player enters a vehicle
// allows mutators to set special settings in this event
// INPUT
entity vh_player; // player
entity vh_vehicle; // vehicle
-
+
MUTATOR_HOOKABLE(VehicleTouch);
// called when a player touches a vehicle
// return TRUE to stop player from entering the vehicle
// INPUT
entity self; // vehicle
entity other; // player
-
+
MUTATOR_HOOKABLE(VehicleExit);
// called when a player exits a vehicle
// allows mutators to set special settings in this event
// INPUT
entity vh_player; // player
entity vh_vehicle; // vehicle
-
+
MUTATOR_HOOKABLE(AbortSpeedrun);
// called when a speedrun is aborted and the player is teleported back to start position
// INPUT
MUTATOR_HOOKABLE(HavocBot_ChooseRule);
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
+++ /dev/null
-.float spawned;
-float maxspawned;
-float numspawned;
-.entity spawnqueue_next;
-.entity spawnqueue_prev;
-.float spawnqueue_in;
-entity spawnqueue_first;
-entity spawnqueue_last;
-
-void Spawnqueue_Insert(entity e)
-{
- if(e.spawnqueue_in)
- return;
- dprint(strcat("Into queue: ", e.netname, "\n"));
- e.spawnqueue_in = TRUE;
- e.spawnqueue_prev = spawnqueue_last;
- e.spawnqueue_next = world;
- if(spawnqueue_last)
- spawnqueue_last.spawnqueue_next = e;
- spawnqueue_last = e;
- if(!spawnqueue_first)
- spawnqueue_first = e;
-}
-
-void Spawnqueue_Remove(entity e)
-{
- if(!e.spawnqueue_in)
- return;
- dprint(strcat("Out of queue: ", e.netname, "\n"));
- e.spawnqueue_in = FALSE;
- if(e == spawnqueue_first)
- spawnqueue_first = e.spawnqueue_next;
- if(e == spawnqueue_last)
- spawnqueue_last = e.spawnqueue_prev;
- if(e.spawnqueue_prev)
- e.spawnqueue_prev.spawnqueue_next = e.spawnqueue_next;
- if(e.spawnqueue_next)
- e.spawnqueue_next.spawnqueue_prev = e.spawnqueue_prev;
- e.spawnqueue_next = world;
- e.spawnqueue_prev = world;
-}
-
-void Spawnqueue_Unmark(entity e)
-{
- if(!e.spawned)
- return;
- e.spawned = FALSE;
- numspawned = numspawned - 1;
-}
-
-void Spawnqueue_Mark(entity e)
-{
- if(e.spawned)
- return;
- e.spawned = TRUE;
- numspawned = numspawned + 1;
-}
-
-float Arena_CheckWinner()
-{
- entity e;
-
- if(round_handler_GetEndTime() > 0 && round_handler_GetEndTime() - time <= 0)
- {
- 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_arena_warmup, autocvar_g_arena_round_timelimit);
- return 1;
- }
-
- if(numspawned > 1)
- return 0;
-
- entity champion;
- champion = world;
- FOR_EACH_CLIENT(e)
- {
- if(e.spawned && IS_PLAYER(e))
- champion = e;
- }
-
- if(champion)
- {
- Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_PLAYER_WIN, champion.netname);
- Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_PLAYER_WIN, champion.netname);
- UpdateFrags(champion, +1);
- }
- else
- {
- Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_TIED);
- Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_TIED);
- }
- round_handler_Init(5, autocvar_g_arena_warmup, autocvar_g_arena_round_timelimit);
- return 1;
-}
-
-void Arena_AddChallengers()
-{
- entity e;
- if(time < 2) // don't force players to spawn so early
- return;
- e = self;
- while(numspawned < maxspawned && spawnqueue_first)
- {
- self = spawnqueue_first;
-
- bprint ("^4", self.netname, "^4 is the next challenger\n");
-
- Spawnqueue_Remove(self);
- Spawnqueue_Mark(self);
-
- self.classname = "player";
- PutClientInServer();
- }
- self = e;
-}
-
-float prev_numspawned;
-float Arena_CheckPlayers()
-{
- Arena_AddChallengers();
-
- if(numspawned >= 2)
- {
- if(prev_numspawned > 0)
- Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_PLAYERS);
- prev_numspawned = -1;
- return 1;
- }
-
- if(prev_numspawned != numspawned && numspawned == 1)
- {
- if(maxspawned - numspawned > 0)
- Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_MISSING_PLAYERS, maxspawned - numspawned);
- prev_numspawned = numspawned;
- }
-
- return 0;
-}
-
-void Arena_RoundStart()
-{
- entity e;
- FOR_EACH_PLAYER(e)
- e.player_blocked = 0;
-}
-
-MUTATOR_HOOKFUNCTION(arena_ClientDisconnect)
-{
- Spawnqueue_Unmark(self);
- Spawnqueue_Remove(self);
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_reset_map_players)
-{
- FOR_EACH_CLIENT(self)
- {
- if(self.spawned)
- {
- PutClientInServer();
- self.player_blocked = 1;
- }
- else
- PutObserverInServer();
- }
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_MakePlayerObserver)
-{
- if(self.version_mismatch)
- {
- self.frags = FRAGS_SPECTATOR;
- Spawnqueue_Unmark(self);
- Spawnqueue_Remove(self);
- }
- else
- {
- self.frags = FRAGS_LMS_LOSER;
- Spawnqueue_Insert(self);
- }
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_PutClientInServer)
-{
- if(!self.spawned)
- self.classname = "observer";
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_ClientConnect)
-{
- self.classname = "observer";
- Spawnqueue_Insert(self);
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_PlayerSpawn)
-{
- Spawnqueue_Remove(self);
- Spawnqueue_Mark(self);
- if(arena_roundbased)
- self.player_blocked = 1;
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_ForbidPlayerScore_Clear)
-{
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_GiveFragsForKill)
-{
- if(arena_roundbased)
- frag_score = 0; // score will be given to the champion when the round ends
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_PlayerDies)
-{
- // put dead players in the spawn queue
- if(arena_roundbased)
- self.respawn_flags = (RESPAWN_FORCE | RESPAWN_SILENT);
- else
- self.respawn_flags = RESPAWN_SILENT;
- Spawnqueue_Unmark(self);
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_SV_StartFrame)
-{
- if(gameover) return 1;
- if(time <= game_starttime || !arena_roundbased)
- Arena_AddChallengers();
- return 1;
-}
-
-MUTATOR_HOOKFUNCTION(arena_FilterItem)
-{
- if(autocvar_g_powerups <= 0)
- if(self.flags & FL_POWERUP)
- return TRUE;
-
- return FALSE;
-}
-
-void arena_Initialize()
-{
- maxspawned = max(2, autocvar_g_arena_maxspawned);
- arena_roundbased = autocvar_g_arena_roundbased;
- if(arena_roundbased)
- {
- round_handler_Spawn(Arena_CheckPlayers, Arena_CheckWinner, Arena_RoundStart);
- round_handler_Init(5, autocvar_g_arena_warmup, autocvar_g_arena_round_timelimit);
- }
-}
-
-MUTATOR_DEFINITION(gamemode_arena)
-{
- MUTATOR_HOOK(ClientDisconnect, arena_ClientDisconnect, CBC_ORDER_ANY);
- MUTATOR_HOOK(reset_map_players, arena_reset_map_players, CBC_ORDER_ANY);
- MUTATOR_HOOK(MakePlayerObserver, arena_MakePlayerObserver, CBC_ORDER_ANY);
- MUTATOR_HOOK(PutClientInServer, arena_PutClientInServer, CBC_ORDER_ANY);
- MUTATOR_HOOK(ClientConnect, arena_ClientConnect, CBC_ORDER_ANY);
- MUTATOR_HOOK(PlayerSpawn, arena_PlayerSpawn, CBC_ORDER_ANY);
- MUTATOR_HOOK(ForbidPlayerScore_Clear, arena_ForbidPlayerScore_Clear, CBC_ORDER_ANY);
- MUTATOR_HOOK(GiveFragsForKill, arena_GiveFragsForKill, CBC_ORDER_ANY);
- MUTATOR_HOOK(PlayerDies, arena_PlayerDies, CBC_ORDER_ANY);
- MUTATOR_HOOK(SV_StartFrame, arena_SV_StartFrame, CBC_ORDER_ANY);
- MUTATOR_HOOK(FilterItem, arena_FilterItem, 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.");
- arena_Initialize();
- }
-
- MUTATOR_ONREMOVE
- {
- print("This is a game type and it cannot be removed at runtime.");
- return -1;
- }
-
- return 0;
-}
+++ /dev/null
-// should be removed in the future, as other code should not have to care
-float arena_roundbased;
// 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;
// spawnfuncs
void spawnfunc_info_player_attacker()
{
- if not(g_assault) { remove(self); return; }
-
+ if (!g_assault) { remove(self); return; }
+
self.team = NUM_TEAM_1; // red, gets swapped every round
spawnfunc_info_player_deathmatch();
}
void spawnfunc_info_player_defender()
{
- if not(g_assault) { remove(self); return; }
-
+ if (!g_assault) { remove(self); return; }
+
self.team = NUM_TEAM_2; // blue, gets swapped every round
spawnfunc_info_player_deathmatch();
}
void spawnfunc_target_objective()
{
- if not(g_assault) { remove(self); return; }
-
+ if (!g_assault) { remove(self); return; }
+
self.classname = "target_objective";
self.use = assault_objective_use;
assault_objective_reset();
void spawnfunc_target_objective_decrease()
{
- if not(g_assault) { remove(self); return; }
+ if (!g_assault) { remove(self); return; }
self.classname = "target_objective_decrease";
// destructible walls that can be used to trigger target_objective_decrease
void spawnfunc_func_assault_destructible()
{
- if not(g_assault) { remove(self); return; }
-
+ if (!g_assault) { remove(self); return; }
+
self.spawnflags = 3;
self.classname = "func_assault_destructible";
-
+
if(assault_attacker_team == NUM_TEAM_1)
self.team = NUM_TEAM_2;
else
void spawnfunc_func_assault_wall()
{
- if not(g_assault) { remove(self); return; }
-
+ if (!g_assault) { remove(self); return; }
+
self.classname = "func_assault_wall";
self.mdl = self.model;
setmodel(self, self.mdl);
void spawnfunc_target_assault_roundend()
{
- if not(g_assault) { remove(self); return; }
+ if (!g_assault) { remove(self); return; }
self.winning = 0; // round not yet won by attackers
self.classname = "target_assault_roundend";
void spawnfunc_target_assault_roundstart()
{
- if not(g_assault) { remove(self); return; }
-
+ if (!g_assault) { remove(self); return; }
+
assault_attacker_team = NUM_TEAM_1;
self.classname = "target_assault_roundstart";
self.use = assault_roundstart_use;
if (ad.target == "")
continue;
- if not(ad.bot_attack)
+ if (!ad.bot_attack)
continue;
found = FALSE;
centerprint(self, "You are attacking!");
else
centerprint(self, "You are defending!");
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(assault_TurretSpawn)
{
- if not (self.team)
+ if (!self.team)
self.team = 14;
return FALSE;
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_ONADD
{
if(time > 1) // game loads at time 1
if(!allowed_to_spawn)
{
self.classname = "observer";
+ if(self.jointime != time) //not when connecting
if(!self.caplayer)
{
self.caplayer = 0.5;
{
FOR_EACH_CLIENT(self)
{
+ self.killcount = 0;
if(self.caplayer)
{
self.classname = "player";
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)
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;
}
if(frag_target.deadflag == DEAD_NO)
if(frag_target == frag_attacker || SAME_TEAM(frag_target, frag_attacker) || frag_deathtype == DEATH_FALL)
frag_damage = 0;
-
+
frag_mirrordamage = 0;
-
+
return FALSE;
}
if(autocvar_g_powerups <= 0)
if(self.flags & FL_POWERUP)
return TRUE;
-
+
if(autocvar_g_pickup_items <= 0)
return TRUE;
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(ca_PlayerDamage_SplitHealthArmor)
{
float excess = max(0, frag_damage - damage_take - damage_save);
-
+
if(frag_target != frag_attacker && IS_PLAYER(frag_attacker))
PlayerTeamScore_Add(frag_attacker, SP_SCORE, ST_SCORE, (frag_damage - excess) * autocvar_g_ca_damage2score_multiplier);
-
- 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();
+ return FALSE;
}
-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);
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)
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
{
// 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
float cap_record = ctf_captimerecord;
float cap_time = (time - flag.ctf_pickuptime);
string refername = db_get(ServerProgsDB, strcat(GetMapname(), "/captimerecord/netname"));
-
+
// notify about shit
if(!ctf_captimerecord) { Send_Notification(NOTIF_ALL, world, MSG_CHOICE, APP_TEAM_ENT_2(flag, CHOICE_CTF_CAPTURE_TIME_), player.netname, (cap_time * 100)); }
else if(cap_time < cap_record) { Send_Notification(NOTIF_ALL, world, MSG_CHOICE, APP_TEAM_ENT_2(flag, CHOICE_CTF_CAPTURE_BROKEN_), player.netname, refername, (cap_time * 100), (cap_record * 100)); }
else { Send_Notification(NOTIF_ALL, world, MSG_CHOICE, APP_TEAM_ENT_2(flag, CHOICE_CTF_CAPTURE_UNBROKEN_), player.netname, refername, (cap_time * 100), (cap_record * 100)); }
-
+
// write that shit in the database
if((!ctf_captimerecord) || (cap_time < cap_record))
{
ctf_captimerecord = cap_time;
db_put(ServerProgsDB, strcat(GetMapname(), "/captimerecord/time"), ftos(cap_time));
db_put(ServerProgsDB, strcat(GetMapname(), "/captimerecord/netname"), player.netname);
- write_recordmarker(player, (time - cap_time), cap_time);
- }
+ write_recordmarker(player, (time - cap_time), cap_time);
+ }
}
void ctf_FlagcarrierWaypoints(entity player)
float ang; // angle between shotdir and h
float h; // hypotenuse, which is the distance between attacker to head
float a; // adjacent side, which is the distance between attacker and the point on w_shotdir that is closest to head.origin
-
+
h = vlen(head_center - passer_center);
ang = acos(dotproduct(normalize(head_center - passer_center), v_forward));
a = h * cos(ang);
// =======================
-// CaptureShield Functions
+// CaptureShield Functions
// =======================
-float ctf_CaptureShield_CheckStatus(entity p)
+float ctf_CaptureShield_CheckStatus(entity p)
{
float s, se;
entity e;
// player is in the worse half, if >= half the players are better than him, or consequently, if < half of the players are worse
// use this rule here
-
+
if(players_worseeq >= players_total * ctf_captureshield_max_ratio)
return FALSE;
{
if(!other.ctf_captureshielded) { return FALSE; }
if(SAME_TEAM(self, other)) { return FALSE; }
-
+
return TRUE;
}
{
if(!other.ctf_captureshielded) { return; }
if(SAME_TEAM(self, other)) { return; }
-
+
vector mymid = (self.absmin + self.absmax) * 0.5;
vector othermid = (other.absmin + other.absmax) * 0.5;
void ctf_CaptureShield_Spawn(entity flag)
{
entity shield = spawn();
-
+
shield.enemy = self;
shield.team = self.team;
shield.touch = ctf_CaptureShield_Touch;
shield.solid = SOLID_TRIGGER;
shield.avelocity = '7 0 11';
shield.scale = 0.5;
-
+
setorigin(shield, self.origin);
setmodel(shield, "models/ctf/shield.md3");
setsize(shield, shield.scale * shield.mins, shield.scale * shield.maxs);
flag.ctf_droptime = time;
flag.ctf_dropper = player;
flag.ctf_status = FLAG_DROPPED;
-
+
// messages and sounds
Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_LOST_), player.netname);
sound(flag, CH_TRIGGER, flag.snd_flag_dropped, VOL_BASE, ATTEN_NONE);
ctf_EventLog("dropped", player.team, player);
// scoring
- PlayerTeamScore_AddScore(player, -autocvar_g_ctf_score_penalty_drop);
+ PlayerTeamScore_AddScore(player, -autocvar_g_ctf_score_penalty_drop);
PlayerScore_Add(player, SP_CTF_DROPS, 1);
-
+
// waypoints
if(autocvar_g_ctf_flag_dropped_waypoint)
WaypointSprite_Spawn("flagdropped", 0, 0, flag, FLAG_WAYPOINT_OFFSET, world, ((autocvar_g_ctf_flag_dropped_waypoint == 2) ? 0 : player.team), flag, wps_flagdropped, TRUE, RADARICON_FLAG, WPCOLOR_DROPPEDFLAG(flag.team));
WaypointSprite_UpdateMaxHealth(flag.wps_flagdropped, flag.max_flag_health);
WaypointSprite_UpdateHealth(flag.wps_flagdropped, flag.health);
}
-
+
player.throw_antispam = time + autocvar_g_ctf_pass_wait;
-
+
if(droptype == DROP_PASS)
{
flag.pass_distance = 0;
{
entity tmp_player; // temporary entity which the FOR_EACH_PLAYER loop uses to scan players
entity sender = flag.pass_sender;
-
+
// transfer flag to player
flag.owner = player;
flag.owner.flagcarried = flag;
-
+
// reset flag
setattachment(flag, player, "");
setorigin(flag, FLAG_CARRY_OFFSET);
// messages and sounds
sound(player, CH_TRIGGER, flag.snd_flag_pass, VOL_BASE, ATTEN_NORM);
ctf_EventLog("receive", flag.team, player);
-
+
FOR_EACH_REALPLAYER(tmp_player)
{
if(tmp_player == sender)
else if(SAME_TEAM(tmp_player, sender))
Send_Notification(NOTIF_ONE, tmp_player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_PASS_OTHER_), sender.netname, player.netname);
}
-
+
// create new waypoint
ctf_FlagcarrierWaypoints(player);
-
+
sender.throw_antispam = time + autocvar_g_ctf_pass_wait;
player.throw_antispam = sender.throw_antispam;
{
entity flag = player.flagcarried;
vector targ_origin, flag_velocity;
-
+
if(!flag) { return; }
if((droptype == DROP_PASS) && !receiver) { return; }
-
+
if(flag.speedrunning) { ctf_RespawnFlag(flag); return; }
-
+
// reset the flag
setattachment(flag, world, "");
setorigin(flag, player.origin + FLAG_DROP_OFFSET);
flag.solid = SOLID_TRIGGER;
flag.ctf_dropper = player;
flag.ctf_droptime = time;
-
+
flag.flags = FL_ITEM | FL_NOTARGET; // clear FL_ONGROUND for MOVETYPE_TOSS
-
+
switch(droptype)
{
case DROP_PASS:
flag.pass_sender = player;
flag.pass_target = receiver;
flag.ctf_status = FLAG_PASSING;
-
+
// other
sound(player, CH_TRIGGER, flag.snd_flag_touch, VOL_BASE, ATTEN_NORM);
WarpZone_TrailParticles(world, particleeffectnum(flag.passeffect), player.origin, targ_origin);
ctf_EventLog("pass", flag.team, player);
break;
}
-
+
case DROP_THROW:
{
makevectors((player.v_angle_y * '0 1 0') + (bound(autocvar_g_ctf_throw_angle_min, player.v_angle_x, autocvar_g_ctf_throw_angle_max) * '1 0 0'));
-
+
flag_velocity = (('0 0 1' * autocvar_g_ctf_throw_velocity_up) + ((v_forward * autocvar_g_ctf_throw_velocity_forward) * ((player.items & IT_STRENGTH) ? autocvar_g_ctf_throw_strengthmultiplier : 1)));
flag.velocity = W_CalculateProjectileVelocity(player.velocity, flag_velocity, FALSE);
ctf_Handle_Drop(flag, player, droptype);
break;
}
-
+
case DROP_RESET:
{
flag.velocity = '0 0 0'; // do nothing
break;
}
-
+
default:
case DROP_NORMAL:
{
// kill old waypointsprite
WaypointSprite_Ping(player.wps_flagcarrier);
WaypointSprite_Kill(player.wps_flagcarrier);
-
+
if(player.wps_enemyflagcarrier)
WaypointSprite_Kill(player.wps_enemyflagcarrier);
-
+
// captureshield
ctf_CaptureShield_Update(player, 0); // shield player from picking up flag
}
{
entity enemy_flag = ((capturetype == CAPTURE_NORMAL) ? toucher.flagcarried : toucher);
entity player = ((capturetype == CAPTURE_NORMAL) ? toucher : enemy_flag.ctf_dropper);
- float old_time, new_time;
-
- if not(player) { return; } // without someone to give the reward to, we can't possibly cap
-
+ float old_time, new_time;
+
+ if (!player) { return; } // without someone to give the reward to, we can't possibly cap
+
// messages and sounds
Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_ENT_2(enemy_flag, CENTER_CTF_CAPTURE_));
ctf_CaptureRecord(enemy_flag, player);
sound(player, CH_TRIGGER, flag.snd_flag_capture, VOL_BASE, ATTEN_NONE);
-
+
switch(capturetype)
{
case CAPTURE_NORMAL: ctf_EventLog("capture", enemy_flag.team, player); break;
case CAPTURE_DROPPED: ctf_EventLog("droppedcapture", enemy_flag.team, player); break;
default: break;
}
-
+
// scoring
PlayerTeamScore_AddScore(player, autocvar_g_ctf_score_capture);
PlayerTeamScore_Add(player, SP_CTF_CAPS, ST_CTF_CAPS, 1);
{
WaypointSprite_Kill(player.wps_flagcarrier);
if(flag.speedrunning) { ctf_FakeTimeLimit(player, -1); }
-
+
if((enemy_flag.ctf_dropper) && (player != enemy_flag.ctf_dropper))
{ PlayerTeamScore_AddScore(enemy_flag.ctf_dropper, autocvar_g_ctf_score_capture_assist); }
}
-
+
// reset the flag
player.next_take_time = time + autocvar_g_ctf_flag_collect_delay;
ctf_RespawnFlag(enemy_flag);
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
-
- if(flag.ctf_dropper)
+
+ if(flag.ctf_dropper)
{
PlayerScore_Add(flag.ctf_dropper, SP_SCORE, -autocvar_g_ctf_score_penalty_returned); // punish the player who dropped the flag
- ctf_CaptureShield_Update(flag.ctf_dropper, 0); // shield player from picking up flag
+ ctf_CaptureShield_Update(flag.ctf_dropper, 0); // shield player from picking up flag
flag.ctf_dropper.next_take_time = time + autocvar_g_ctf_flag_collect_delay; // set next take time
}
-
+
// reset the flag
ctf_RespawnFlag(flag);
}
{
// declarations
float pickup_dropped_score; // used to calculate dropped pickup score
-
+
// attach the flag to the player
flag.owner = player;
player.flagcarried = flag;
setattachment(flag, player, "");
setorigin(flag, FLAG_CARRY_OFFSET);
-
+
// flag setup
flag.movetype = MOVETYPE_NONE;
flag.takedamage = DAMAGE_NO;
flag.solid = SOLID_NOT;
flag.angles = '0 0 0';
flag.ctf_status = FLAG_CARRY;
-
+
switch(pickuptype)
{
case PICKUP_BASE: flag.ctf_pickuptime = time; break; // used for timing runs
}
// messages and sounds
- Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_PICKUP_), player.netname);
+ Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_PICKUP_), player.netname);
Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_PICKUP_));
if(ctf_stalemate) { Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CTF_STALEMATE_CARRIER); }
-
+
Send_Notification(NOTIF_TEAM_EXCEPT, player, MSG_CHOICE, CHOICE_CTF_PICKUP_TEAM, Team_ColorCode(player.team), player.netname);
Send_Notification(NOTIF_TEAM, flag, MSG_CHOICE, CHOICE_CTF_PICKUP_ENEMY, Team_ColorCode(player.team), player.netname);
-
+
sound(player, CH_TRIGGER, flag.snd_flag_taken, VOL_BASE, ATTEN_NONE);
-
+
// scoring
PlayerScore_Add(player, SP_CTF_PICKUPS, 1);
switch(pickuptype)
- {
+ {
case PICKUP_BASE:
{
PlayerTeamScore_AddScore(player, autocvar_g_ctf_score_pickup_base);
ctf_EventLog("steal", flag.team, player);
break;
}
-
+
case PICKUP_DROPPED:
{
pickup_dropped_score = (autocvar_g_ctf_flag_return_time ? bound(0, ((flag.ctf_droptime + autocvar_g_ctf_flag_return_time) - time) / autocvar_g_ctf_flag_return_time, 1) : 1);
ctf_EventLog("pickup", flag.team, player);
break;
}
-
+
default: break;
}
-
+
// speedrunning
if(pickuptype == PICKUP_BASE)
{
if((player.speedrunning) && (ctf_captimerecord))
ctf_FakeTimeLimit(player, time + ctf_captimerecord);
}
-
+
// effects
pointparticles(particleeffectnum(flag.toucheffect), player.origin, '0 0 0', 1);
-
- // waypoints
+
+ // waypoints
if(pickuptype == PICKUP_DROPPED) { WaypointSprite_Kill(flag.wps_flagdropped); }
ctf_FlagcarrierWaypoints(player);
WaypointSprite_Ping(player.wps_flagcarrier);
if((flag.ctf_status == FLAG_DROPPED) || (flag.ctf_status == FLAG_PASSING))
{
if(flag.wps_flagdropped) { WaypointSprite_UpdateHealth(flag.wps_flagdropped, flag.health); }
-
+
if((flag.health <= 0) || (time >= flag.ctf_droptime + autocvar_g_ctf_flag_return_time))
{
switch(returntype)
case RETURN_DAMAGE: Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_FLAGRETURN_DAMAGED_)); break;
case RETURN_SPEEDRUN: Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_FLAGRETURN_SPEEDRUN_), ctf_captimerecord); break;
case RETURN_NEEDKILL: Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_FLAGRETURN_NEEDKILL_)); break;
-
+
default:
case RETURN_TIMEOUT:
{ Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_FLAGRETURN_TIMEOUT_)); break; }
{
tmp_entity.ctf_staleflagnext = ctf_staleflaglist; // link flag into staleflaglist
ctf_staleflaglist = tmp_entity;
-
+
switch(tmp_entity.team)
{
case NUM_TEAM_1: ++stale_red_flags; break;
{ ctf_stalemate = FALSE; wpforenemy_announced = FALSE; }
else if((!stale_red_flags || !stale_blue_flags) && autocvar_g_ctf_stalemate_endcondition == 1)
{ ctf_stalemate = FALSE; wpforenemy_announced = FALSE; }
-
+
// if sufficient stalemate, then set up the waypointsprite and announce the stalemate if necessary
if(ctf_stalemate)
{
if((tmp_entity.owner) && (!tmp_entity.owner.wps_enemyflagcarrier))
WaypointSprite_Spawn("enemyflagcarrier", 0, 0, tmp_entity.owner, FLAG_WAYPOINT_OFFSET, world, tmp_entity.team, tmp_entity.owner, wps_enemyflagcarrier, TRUE, RADARICON_FLAG, WPCOLOR_ENEMYFC(tmp_entity.owner.team));
}
-
- if not(wpforenemy_announced)
+
+ if (!wpforenemy_announced)
{
FOR_EACH_REALPLAYER(tmp_entity)
Send_Notification(NOTIF_ONE, tmp_entity, MSG_CENTER, ((tmp_entity.flagcarried) ? CENTER_CTF_STALEMATE_CARRIER : CENTER_CTF_STALEMATE_OTHER));
-
+
wpforenemy_announced = TRUE;
}
}
ctf_CheckFlagReturn(self, RETURN_NEEDKILL);
return;
}
- if(autocvar_g_ctf_flag_return_damage)
+ if(autocvar_g_ctf_flag_return_damage)
{
// reduce health and check if it should be returned
self.health = self.health - damage;
tracebox(self.origin, FLAG_MIN, FLAG_MAX, self.origin, MOVE_NOMONSTERS, self);
if(!trace_startsolid) // 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
{
case FLAG_DROPPED:
self.angles = '0 0 0';
break;
}
-
+
default: break;
}
// main think method
switch(self.ctf_status)
- {
+ {
case FLAG_BASE:
{
if(autocvar_g_ctf_dropped_capture_radius)
}
return;
}
-
+
case FLAG_DROPPED:
{
if(autocvar_g_ctf_flag_dropped_floatinwater)
if(pointcontents(midpoint) == CONTENT_WATER)
{
self.velocity = self.velocity * 0.5;
-
+
if(pointcontents(midpoint + FLAG_FLOAT_OFFSET) == CONTENT_WATER)
{ self.velocity_z = autocvar_g_ctf_flag_dropped_floatinwater; }
else
self.health -= ((self.max_flag_health / autocvar_g_ctf_flag_return_time) * FLAG_THINKRATE);
ctf_CheckFlagReturn(self, RETURN_TIMEOUT);
return;
- }
+ }
return;
}
-
+
case FLAG_CARRY:
{
- if(self.speedrunning && ctf_captimerecord && (time >= self.ctf_pickuptime + ctf_captimerecord))
+ if(self.speedrunning && ctf_captimerecord && (time >= self.ctf_pickuptime + ctf_captimerecord))
{
self.health = 0;
ctf_CheckFlagReturn(self, RETURN_SPEEDRUN);
}
return;
}
-
+
case FLAG_PASSING:
{
vector targ_origin = ((self.pass_target.absmin + self.pass_target.absmax) * 0.5);
targ_origin = WarpZone_RefSys_TransformOrigin(self.pass_target, self, targ_origin); // origin of target as seen by the flag (us)
WarpZone_TraceLine(self.origin, targ_origin, MOVE_NOMONSTERS, self);
-
+
if((self.pass_target == world)
|| (self.pass_target.deadflag != DEAD_NO)
|| (vlen(self.origin - targ_origin) > autocvar_g_ctf_pass_radius)
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())
{
ctf_CheckFlagReturn(self, RETURN_NEEDKILL);
return;
}
-
+
// special touch behaviors
if(toucher.vehicle_flags & VHF_ISVEHICLE)
{
else
return; // do nothing
}
- else if not(IS_PLAYER(toucher)) // The flag just touched an object, most likely the world
+ 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
{
}
else if(toucher.deadflag != DEAD_NO) { return; }
- switch(self.ctf_status)
- {
+ switch(self.ctf_status)
+ {
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;
}
-
+
case FLAG_DROPPED:
{
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;
}
-
+
case FLAG_CARRY:
{
dprint("Someone touched a flag even though it was being carried?\n");
break;
}
-
+
case FLAG_PASSING:
{
if((IS_PLAYER(toucher)) && (toucher.deadflag == DEAD_NO) && (toucher != self.pass_sender))
{ backtrace("flag respawn called twice quickly! please notify Samual about this..."); }
flag.last_respawn = time;
-
+
// reset the player (if there is one)
if((flag.owner) && (flag.owner.flagcarried == flag))
{
if(flag.owner.wps_enemyflagcarrier)
WaypointSprite_Kill(flag.owner.wps_enemyflagcarrier);
-
+
WaypointSprite_Kill(flag.wps_flagcarrier);
-
+
flag.owner.flagcarried = world;
if(flag.speedrunning)
// reset the flag
setattachment(flag, world, "");
setorigin(flag, flag.ctf_spawnorigin);
-
+
flag.movetype = ((flag.noalign) ? MOVETYPE_NONE : MOVETYPE_TOSS);
flag.takedamage = DAMAGE_NO;
flag.health = flag.max_flag_health;
flag.velocity = '0 0 0';
flag.angles = flag.mangle;
flag.flags = FL_ITEM | FL_NOTARGET;
-
+
flag.ctf_status = FLAG_BASE;
flag.owner = world;
flag.pass_distance = 0;
if(self.owner)
if(IS_PLAYER(self.owner))
ctf_Handle_Throw(self.owner, world, DROP_RESET);
-
+
ctf_RespawnFlag(self);
}
ctf_CaptureShield_Spawn(self);
}
-void ctf_FlagSetup(float teamnumber, entity flag) // called when spawning a flag entity on the map as a spawnfunc
-{
+void ctf_FlagSetup(float teamnumber, entity flag) // called when spawning a flag entity on the map as a spawnfunc
+{
// declarations
- teamnumber = fabs(teamnumber - bound(0, autocvar_g_ctf_reverse, 1)); // if we were originally 1, this will become 0. If we were originally 0, this will become 1.
+ teamnumber = fabs(teamnumber - bound(0, autocvar_g_ctf_reverse, 1)); // if we were originally 1, this will become 0. If we were originally 0, this will become 1.
self = flag; // for later usage with droptofloor()
-
+
// main setup
flag.ctf_worldflagnext = ctf_worldflaglist; // link flag into ctf_worldflaglist
ctf_worldflaglist = flag;
flag.flags = FL_ITEM | FL_NOTARGET;
flag.solid = SOLID_TRIGGER;
flag.takedamage = DAMAGE_NO;
- flag.damageforcescale = autocvar_g_ctf_flag_damageforcescale;
+ flag.damageforcescale = autocvar_g_ctf_flag_damageforcescale;
flag.max_flag_health = ((autocvar_g_ctf_flag_return_damage && autocvar_g_ctf_flag_health) ? autocvar_g_ctf_flag_health : 100);
flag.health = flag.max_flag_health;
flag.event_damage = ctf_FlagDamage;
if(flag.toucheffect == "") { flag.toucheffect = ((teamnumber) ? "redflag_touch" : "blueflag_touch"); }
if(flag.passeffect == "") { flag.passeffect = ((teamnumber) ? "red_pass" : "blue_pass"); }
if(flag.capeffect == "") { flag.capeffect = ((teamnumber) ? "red_cap" : "blue_cap"); }
-
- // sound
+
+ // sound
if(flag.snd_flag_taken == "") { flag.snd_flag_taken = ((teamnumber) ? "ctf/red_taken.wav" : "ctf/blue_taken.wav"); }
if(flag.snd_flag_returned == "") { flag.snd_flag_returned = ((teamnumber) ? "ctf/red_returned.wav" : "ctf/blue_returned.wav"); }
if(flag.snd_flag_capture == "") { flag.snd_flag_capture = ((teamnumber) ? "ctf/red_capture.wav" : "ctf/blue_capture.wav"); } // blue team scores by capturing the red flag
if(flag.snd_flag_dropped == "") { flag.snd_flag_dropped = ((teamnumber) ? "ctf/red_dropped.wav" : "ctf/blue_dropped.wav"); }
if(flag.snd_flag_touch == "") { flag.snd_flag_touch = "ctf/touch.wav"; } // again has no team-based sound
if(flag.snd_flag_pass == "") { flag.snd_flag_pass = "ctf/pass.wav"; } // same story here
-
+
// precache
precache_sound(flag.snd_flag_taken);
precache_sound(flag.snd_flag_returned);
setmodel(flag, flag.model); // precision set below
setsize(flag, FLAG_MIN, FLAG_MAX);
setorigin(flag, (flag.origin + FLAG_SPAWN_OFFSET));
-
+
if(autocvar_g_ctf_flag_glowtrails)
{
flag.glow_color = ((teamnumber) ? 251 : 210); // 251: red - 210: blue
flag.glow_size = 25;
flag.glow_trail = 1;
}
-
+
flag.effects |= EF_LOWPRECISION;
if(autocvar_g_ctf_fullbrightflags) { flag.effects |= EF_FULLBRIGHT; }
if(autocvar_g_ctf_dynamiclights) { flag.effects |= ((teamnumber) ? EF_RED : EF_BLUE); }
-
+
// flag placement
if((flag.spawnflags & 1) || flag.noalign) // don't drop to floor, just stay at fixed location
- {
- flag.dropped_origin = flag.origin;
+ {
+ flag.dropped_origin = flag.origin;
flag.noalign = TRUE;
flag.movetype = MOVETYPE_NONE;
}
else // drop to floor, automatically find a platform and set that as spawn origin
- {
+ {
flag.noalign = FALSE;
self = flag;
droptofloor();
- flag.movetype = MOVETYPE_TOSS;
- }
-
+ flag.movetype = MOVETYPE_TOSS;
+ }
+
InitializeEntity(flag, ctf_DelayedFlagSetup, INITPRIO_SETLOCATION);
}
float havocbot_ctf_teamcount(entity bot, vector org, float tc_radius)
{
- if not(teamplay)
+ if (!teamplay)
return 0;
float c = 0;
break;
head = head.ctf_worldflagnext;
}
- if not(head)
+ if (!head)
return;
navigation_routerating(head.bot_basewaypoint, ratingscale, 10000);
void havocbot_goalrating_ctf_enemybase(float ratingscale)
{
- if not(bot_waypoints_for_items)
+ if (!bot_waypoints_for_items)
{
havocbot_goalrating_ctf_enemyflag(ratingscale);
return;
head = havocbot_ctf_find_enemy_flag(self);
- if not(head)
+ if (!head)
return;
navigation_routerating(head.bot_basewaypoint, ratingscale, 10000);
MUTATOR_HOOKFUNCTION(ctf_PlayerPreThink)
{
entity flag;
-
+
// initially clear items so they can be set as necessary later.
self.items &= ~(IT_RED_FLAG_CARRYING | IT_RED_FLAG_TAKEN | IT_RED_FLAG_LOST
| IT_BLUE_FLAG_CARRYING | IT_BLUE_FLAG_TAKEN | IT_BLUE_FLAG_LOST | IT_CTF_SHIELDED);
- // scan through all the flags and notify the client about them
+ // scan through all the flags and notify the client about them
for(flag = ctf_worldflaglist; flag; flag = flag.ctf_worldflagnext)
{
switch(flag.ctf_status)
{
if((flag.owner == self) || (flag.pass_sender == self))
self.items |= ((flag.items & IT_KEY2) ? IT_RED_FLAG_CARRYING : IT_BLUE_FLAG_CARRYING); // carrying: self is currently carrying the flag
- else
+ else
self.items |= ((flag.items & IT_KEY2) ? IT_RED_FLAG_TAKEN : IT_BLUE_FLAG_TAKEN); // taken: someone on self's team is carrying the flag
break;
}
}
}
}
-
+
// item for stopping players from capturing the flag too often
if(self.ctf_captureshielded)
self.items |= IT_CTF_SHIELDED;
-
+
// update the health of the flag carrier waypointsprite
- if(self.wps_flagcarrier)
+ if(self.wps_flagcarrier)
WaypointSprite_UpdateHealth(self.wps_flagcarrier, '1 0 0' * healtharmor_maxdamage(self.health, self.armorvalue, autocvar_g_balance_armor_blockpercent, DEATH_WEAPON));
-
+
return FALSE;
}
PlayerTeamScore_AddScore(frag_attacker, autocvar_g_ctf_score_kill);
PlayerScore_Add(frag_attacker, SP_CTF_FCKILLS, 1);
}
-
+
if(frag_target.flagcarried)
{ ctf_Handle_Throw(frag_target, world, DROP_NORMAL); }
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(ctf_RemovePlayer)
{
entity flag; // temporary entity for the search method
-
+
if(self.flagcarried)
{ ctf_Handle_Throw(self, world, DROP_NORMAL); }
-
+
for(flag = ctf_worldflaglist; flag; flag = flag.ctf_worldflagnext)
{
if(flag.pass_sender == self) { flag.pass_sender = world; }
if(flag.pass_target == self) { flag.pass_target = world; }
if(flag.ctf_dropper == self) { flag.ctf_dropper = world; }
}
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(ctf_PortalTeleport)
{
- if(self.flagcarried)
+ if(self.flagcarried)
if(!autocvar_g_ctf_portalteleport)
{ ctf_Handle_Throw(self, world, DROP_NORMAL); }
MUTATOR_HOOKFUNCTION(ctf_PlayerUseKey)
{
if(MUTATOR_RETURNVALUE || gameover) { return FALSE; }
-
+
entity player = self;
if((time > player.throw_antispam) && (player.deadflag == DEAD_NO) && !player.speedrunning && (!player.vehicle || autocvar_g_ctf_allow_vehicle_touch))
{
entity head, closest_target = world;
head = WarpZone_FindRadius(player.origin, autocvar_g_ctf_pass_radius, TRUE);
-
+
while(head) // find the closest acceptable target to pass to
{
if(IS_PLAYER(head) && head.deadflag == DEAD_NO)
if(head != player && SAME_TEAM(head, player))
if(!head.speedrunning && !head.vehicle)
{
- // if it's a player, use the view origin as reference (stolen from RadiusDamage functions in g_damage.qc)
+ // if it's a player, use the view origin as reference (stolen from RadiusDamage functions in g_damage.qc)
vector head_center = WarpZone_UnTransformOrigin(head, CENTER_OR_VIEWOFS(head));
vector passer_center = CENTER_OR_VIEWOFS(player);
-
+
if(ctf_CheckPassDirection(head_center, passer_center, player.v_angle, head.WarpZone_findradius_nearest))
{
- if(autocvar_g_ctf_pass_request && !player.flagcarried && head.flagcarried)
- {
+ if(autocvar_g_ctf_pass_request && !player.flagcarried && head.flagcarried)
+ {
if(IS_BOT_CLIENT(head))
{
Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CTF_PASS_REQUESTING, head.netname);
Send_Notification(NOTIF_ONE, head, MSG_CENTER, CENTER_CTF_PASS_REQUESTED, player.netname);
Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CTF_PASS_REQUESTING, head.netname);
}
- player.throw_antispam = time + autocvar_g_ctf_pass_wait;
- return TRUE;
+ player.throw_antispam = time + autocvar_g_ctf_pass_wait;
+ return TRUE;
}
else if(player.flagcarried)
{
}
head = head.chain;
}
-
+
if(closest_target) { ctf_Handle_Throw(player, closest_target, DROP_PASS); return TRUE; }
}
-
+
// throw the flag in front of you
if(autocvar_g_ctf_throw && player.flagcarried)
{
if(time > player.throw_prevtime + autocvar_g_ctf_throw_punish_time) { player.throw_count = 1; }
else { player.throw_count += 1; }
if(player.throw_count >= autocvar_g_ctf_throw_punish_count) { player.throw_count = -1; }
-
+
player.throw_prevtime = time;
ctf_Handle_Throw(player, world, DROP_THROW);
return TRUE;
}
}
}
-
+
return FALSE;
}
{
self.wps_helpme_time = time;
WaypointSprite_HelpMePing(self.wps_flagcarrier);
- }
+ }
else // create a normal help me waypointsprite
{
WaypointSprite_Spawn("helpme", waypointsprite_deployed_lifetime, waypointsprite_limitedrange, self, FLAG_WAYPOINT_OFFSET, world, self.team, self, wps_helpme, FALSE, RADARICON_HELPME, '1 0.5 0');
ctf_Handle_Throw(vh_player, world, DROP_NORMAL);
}
else
- {
- setattachment(vh_player.flagcarried, vh_vehicle, "");
+ {
+ setattachment(vh_player.flagcarried, vh_vehicle, "");
setorigin(vh_player.flagcarried, VEHICLE_FLAG_OFFSET);
vh_player.flagcarried.scale = VEHICLE_FLAG_SCALE;
- //vh_player.flagcarried.angles = '0 0 0';
+ //vh_player.flagcarried.angles = '0 0 0';
}
return TRUE;
}
-
+
return FALSE;
}
{
if(vh_player.flagcarried)
{
- setattachment(vh_player.flagcarried, vh_player, "");
+ setattachment(vh_player.flagcarried, vh_player, "");
setorigin(vh_player.flagcarried, FLAG_CARRY_OFFSET);
vh_player.flagcarried.scale = FLAG_SCALE;
vh_player.flagcarried.angles = '0 0 0';
ctf_RespawnFlag(self.flagcarried);
return TRUE;
}
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(ctf_MatchEnd)
{
entity flag; // temporary entity for the search method
-
+
for(flag = ctf_worldflaglist; flag; flag = flag.ctf_worldflagnext)
{
switch(flag.ctf_status)
flag.takedamage = DAMAGE_NO;
flag.solid = SOLID_NOT;
flag.nextthink = FALSE; // stop thinking
-
+
//dprint("stopping the ", flag.netname, " from moving.\n");
break;
}
-
+
default:
case FLAG_BASE:
case FLAG_CARRY:
}
}
}
-
+
return FALSE;
}
void spawnfunc_info_player_team1()
{
if(g_assault) { remove(self); return; }
-
+
self.team = NUM_TEAM_1; // red
spawnfunc_info_player_deathmatch();
}
void spawnfunc_info_player_team2()
{
if(g_assault) { remove(self); return; }
-
+
self.team = NUM_TEAM_2; // blue
spawnfunc_info_player_deathmatch();
}
void spawnfunc_info_player_team3()
{
if(g_assault) { remove(self); return; }
-
+
self.team = NUM_TEAM_3; // yellow
spawnfunc_info_player_deathmatch();
}
void spawnfunc_info_player_team4()
{
if(g_assault) { remove(self); return; }
-
+
self.team = NUM_TEAM_4; // purple
spawnfunc_info_player_deathmatch();
}
/*QUAKED spawnfunc_item_flag_team1 (0 0.5 0.8) (-48 -48 -37) (48 48 37)
CTF flag for team one (Red).
-Keys:
-"angle" Angle the flag will point (minus 90 degrees)...
+Keys:
+"angle" Angle the flag will point (minus 90 degrees)...
"model" model to use, note this needs red and blue as skins 0 and 1...
"noise" sound played when flag is picked up...
"noise1" sound played when flag is returned by a teammate...
"noise2" sound played when flag is captured...
-"noise3" sound played when flag is lost in the field and respawns itself...
+"noise3" sound played when flag is lost in the field and respawns itself...
"noise4" sound played when flag is dropped by a player...
"noise5" sound played when flag touches the ground... */
void spawnfunc_item_flag_team1()
/*QUAKED spawnfunc_item_flag_team2 (0 0.5 0.8) (-48 -48 -37) (48 48 37)
CTF flag for team two (Blue).
-Keys:
-"angle" Angle the flag will point (minus 90 degrees)...
+Keys:
+"angle" Angle the flag will point (minus 90 degrees)...
"model" model to use, note this needs red and blue as skins 0 and 1...
"noise" sound played when flag is picked up...
"noise1" sound played when flag is returned by a teammate...
"noise2" sound played when flag is captured...
-"noise3" sound played when flag is lost in the field and respawns itself...
+"noise3" sound played when flag is lost in the field and respawns itself...
"noise4" sound played when flag is dropped by a player...
"noise5" sound played when flag touches the ground... */
void spawnfunc_item_flag_team2()
void spawnfunc_ctf_team()
{
if(!g_ctf) { remove(self); return; }
-
+
self.classname = "ctf_team";
self.team = self.cnt + 1;
}
ctf_SpawnTeam("Red", NUM_TEAM_1 - 1);
ctf_SpawnTeam("Blue", NUM_TEAM_2 - 1);
}
-
+
ctf_ScoreRules();
}
ctf_captureshield_min_negscore = autocvar_g_ctf_shield_min_negscore;
ctf_captureshield_max_ratio = autocvar_g_ctf_shield_max_ratio;
ctf_captureshield_force = autocvar_g_ctf_shield_force;
-
+
InitializeEntity(world, ctf_DelayedInit, INITPRIO_GAMETYPE);
}
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_ONADD
{
if(time > 1) // game loads at time 1
#define WPCOLOR_FLAGCARRIER(t) ('0.8 0.8 0')
#define WPCOLOR_DROPPEDFLAG(t) (('0.25 0.25 0.25' + colormapPaletteColor(t - 1, FALSE)) * 0.5)
-// sounds
+// sounds
#define snd_flag_taken noise
#define snd_flag_returned noise1
#define snd_flag_capture noise2
// waypoint sprites
.entity bot_basewaypoint; // flag waypointsprite
.entity wps_helpme;
-.entity wps_flagbase;
+.entity wps_flagbase;
.entity wps_flagcarrier;
.entity wps_flagdropped;
.entity wps_enemyflagcarrier;
self.model = head.mdl;
self.modelindex = head.dmg;
self.skin = head.skin;
-
+
float points, wait_time;
if (autocvar_g_domination_point_amt)
points = autocvar_g_domination_point_amt;
SUB_UseTargets ();
self.delay = old_delay;
self.team = old_team;
-
+
switch(self.team)
{
case NUM_TEAM_1: msg = "dom-red"; break;
}
WaypointSprite_UpdateSprites(self.sprite, msg, "", "");
-
+
total_pps = 0, pps_red = 0, pps_blue = 0, pps_yellow = 0, pps_pink = 0;
for(head = world; (head = find(head, classname, "dom_controlpoint")) != world; )
{
void dompointtouch()
{
entity head;
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if (other.health < 1)
return;
print("No ""dom_team"" entities found on this map, creating them anyway.\n");
dom_spawnteams();
}
-
+
ScoreRules_dom();
}
precache_model("models/domination/dom_pink.md3");
precache_model("models/domination/dom_unclaimed.md3");
precache_sound("domination/claim.wav");
-
+
addstat(STAT_DOM_TOTAL_PPS, AS_FLOAT, dom_total_pps);
addstat(STAT_DOM_PPS_RED, AS_FLOAT, dom_pps_red);
addstat(STAT_DOM_PPS_BLUE, AS_FLOAT, dom_pps_blue);
if(c3 >= 0) addstat(STAT_DOM_PPS_YELLOW, AS_FLOAT, dom_pps_yellow);
if(c4 >= 0) addstat(STAT_DOM_PPS_PINK, AS_FLOAT, dom_pps_pink);
-
+
InitializeEntity(world, dom_DelayedInit, INITPRIO_GAMETYPE);
}
{
MUTATOR_HOOK(ClientConnect, dom_ClientConnect, CBC_ORDER_ANY);
MUTATOR_HOOK(HavocBot_ChooseRule, dom_BotRoles, CBC_ORDER_ANY);
-
+
MUTATOR_ONADD
{
if(time > 1) // game loads at time 1
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;
}
}
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;
}
{
FOR_EACH_PLAYER(self)
{
+ self.killcount = 0;
if (self.freezetag_frozen)
freezetag_Unfreeze(world);
self.freezetag_frozen_timeout = -1;
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)
{
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)
{
}
else
self.movement = '0 0 0';
-
+
self.disableclientprediction = 1;
}
return 1;
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_FREEZETAG_REVIVED_FALL, frag_target.netname);
Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_FREEZETAG_REVIVE_FALL);
}
-
+
frag_damage = 0;
frag_force = frag_force * autocvar_g_freezetag_frozen_force;
}
{
if(self.freezetag_frozen)
return TRUE; // no jumping in freezetag when frozen
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(freezetag_BotRoles)
{
- if not(self.deadflag)
+ if (!self.deadflag)
{
if (random() < 0.5)
self.havocbot_role = havocbot_role_ft_freeing;
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;
}
{
if(other.freezetag_frozen)
return TRUE;
-
+
return FALSE;
}
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);
--- /dev/null
+void invasion_spawnpoint()
+{
+ if(!g_invasion) { remove(self); return; }
+
+ self.classname = "invasion_spawnpoint";
+}
+
+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, "", 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, 1);
+
+ 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, no monsters will spawn!\n");
+ return;
+ }
+
+ monster = spawnmonster("", mon, spawn_point, spawn_point, spawn_point.origin, FALSE, 2);
+
+ 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);
+
+ if(inv_roundcnt >= inv_maxrounds)
+ {
+ NextLevel();
+ return 1;
+ }
+
+ 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;
+
+ FOR_EACH_MONSTER(head) if(head.health > 0)
+ {
+ if((get_monsterinfo(head.monsterid)).spawnflags & MON_FLAG_SUPERMONSTER)
+ ++supermonster_count;
+ ++total_alive_monsters;
+ }
+
+ if((total_alive_monsters + inv_numkilled) < inv_maxspawned && inv_maxcurrent < 10) // 10 at a time should be plenty
+ {
+ if(time >= inv_lastcheck)
+ {
+ invasion_SpawnMonsters(supermonster_count);
+ inv_lastcheck = time + autocvar_g_invasion_spawn_delay;
+ }
+
+ return 0;
+ }
+
+ if(inv_numspawned < 1 || inv_numkilled < inv_maxspawned)
+ return 0; // nothing has spawned yet, or there are still alive monsters
+
+ if(inv_roundcnt >= inv_maxrounds)
+ {
+ NextLevel();
+ return 1;
+ }
+
+ entity winner = world;
+ float winning_score = 0;
+
+ 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(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;
+ }
+
+ inv_roundcnt += 1;
+
+ inv_monsterskill = inv_roundcnt + (numplayers * 0.3);
+
+ inv_maxcurrent = 0;
+ inv_numspawned = 0;
+ inv_numkilled = 0;
+
+ inv_maxspawned = rint(min(autocvar_g_invasion_monster_count, autocvar_g_invasion_monster_count * (inv_roundcnt * 0.5)));
+}
+
+MUTATOR_HOOKFUNCTION(invasion_MonsterDies)
+{
+ if(!(self.spawnflags & MONSTERFLAG_RESPAWNED))
+ {
+ inv_numkilled += 1;
+ inv_maxcurrent -= 1;
+
+ if(IS_PLAYER(frag_attacker))
+ PlayerScore_Add(frag_attacker, SP_KILLS, +1);
+ }
+
+ return FALSE;
+}
+
+MUTATOR_HOOKFUNCTION(invasion_MonsterSpawn)
+{
+ if(!(self.spawnflags & MONSTERFLAG_SPAWNED))
+ {
+ monster_remove(self);
+ return FALSE;
+ }
+
+ 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_PlayerThink)
+{
+ 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_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;
+}
+
+void invasion_ScoreRules()
+{
+ ScoreRules_basics(0, 0, 0, FALSE);
+ ScoreInfo_SetLabel_PlayerScore(SP_KILLS, "frags", SFL_SORT_PRIO_PRIMARY);
+ ScoreRules_basics_end();
+}
+
+void invasion_Initialize()
+{
+ independent_players = 1; // to disable extra useless scores
+
+ invasion_ScoreRules();
+
+ 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;
+}
+
+MUTATOR_DEFINITION(gamemode_invasion)
+{
+ MUTATOR_HOOK(MonsterDies, invasion_MonsterDies, CBC_ORDER_ANY);
+ MUTATOR_HOOK(MonsterSpawn, invasion_MonsterSpawn, CBC_ORDER_ANY);
+ MUTATOR_HOOK(PlayerPreThink, invasion_PlayerThink, 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(SetStartItems, invasion_SetStartItems, CBC_ORDER_ANY);
+ MUTATOR_HOOK(AccuracyTargetValid, invasion_AccuracyTargetValid, CBC_ORDER_ANY);
+ MUTATOR_HOOK(AllowMobSpawning, invasion_AllowMobSpawning, 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;
+}
--- /dev/null
+float inv_numspawned;
+float inv_maxspawned;
+float inv_roundcnt;
+float inv_maxrounds;
+float inv_numkilled;
+float inv_lastcheck;
+float inv_maxcurrent;
+
+float inv_monsterskill;
// Last updated: September, 2012
// ===========================================================
-float ka_ballcarrier_waypointsprite_visible_for_player(entity e) // runs on waypoints which are attached to ballcarriers, updates once per frame
+float ka_ballcarrier_waypointsprite_visible_for_player(entity e) // runs on waypoints which are attached to ballcarriers, updates once per frame
{
if(e.ballcarried)
- if(IS_SPEC(other))
+ if(IS_SPEC(other))
return FALSE; // we don't want spectators of the ballcarrier to see the attached waypoint on the top of their screen
-
+
// TODO: Make the ballcarrier lack a waypointsprite whenever they have the invisibility powerup
return TRUE;
{
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))
{
makevectors(self.angles);
self.effects = autocvar_g_keepawayball_effects;
self.think = ka_RespawnBall;
self.nextthink = time + autocvar_g_keepawayball_respawntime;
-
+
pointparticles(particleeffectnum("electro_combo"), oldballorigin, '0 0 0', 1);
pointparticles(particleeffectnum("electro_combo"), self.origin, '0 0 0', 1);
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);
+ 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)
+ 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
+ ka_RespawnBall(); // finding a location failed, retry
}
}
{ // add points for holding the ball after a certain amount of time
if(autocvar_g_keepaway_score_timepoints)
PlayerScore_Add(self.owner, SP_SCORE, autocvar_g_keepaway_score_timepoints);
-
+
PlayerScore_Add(self.owner, SP_KEEPAWAY_BCTIME, (autocvar_g_keepaway_score_timeinterval / 1)); // interval is divided by 1 so that time always shows "seconds"
self.nextthink = time + autocvar_g_keepaway_score_timeinterval;
}
return;
}
if(other.deadflag != DEAD_NO) { return; }
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
{ // The ball just touched an object, most likely the world
pointparticles(particleeffectnum("kaball_sparks"), self.origin, '0 0 0', 1);
sound(self, CH_TRIGGER, "keepaway/touch.wav", VOL_BASE, ATTEN_NORM);
- return;
+ return;
}
else if(self.wait > time) { return; }
other.ballcarried = self;
setattachment(self, other, "");
setorigin(self, '0 0 0');
-
+
// make the ball invisible/unable to do anything/set up time scoring
self.velocity = '0 0 0';
self.movetype = MOVETYPE_NONE;
other.glow_color = autocvar_g_keepawayball_trail_color;
other.glow_trail = TRUE;
other.effects |= autocvar_g_keepaway_ballcarrier_effects;
-
+
// 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);
- sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
-
+ sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
+
// scoring
PlayerScore_Add(other, SP_KEEPAWAY_PICKUPS, 1);
WaypointSprite_AttachCarrier("ka-ballcarrier", other, RADARICON_FLAGCARRIER, '1 0 0');
other.waypointsprite_attachedforcarrier.waypointsprite_visible_for_player = ka_ballcarrier_waypointsprite_visible_for_player;
WaypointSprite_UpdateRule(other.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT);
- WaypointSprite_Ping(other.waypointsprite_attachedforcarrier);
+ WaypointSprite_Ping(other.waypointsprite_attachedforcarrier);
WaypointSprite_Kill(self.waypointsprite_attachedforcarrier);
}
ball = plyr.ballcarried;
if(!ball) { return; }
-
+
// reset the ball
setattachment(ball, world, "");
ball.movetype = MOVETYPE_BOUNCE;
- ball.wait = time + 1;
+ ball.wait = time + 1;
ball.touch = ka_TouchEvent;
ball.think = ka_RespawnBall;
ball.nextthink = time + autocvar_g_keepawayball_respawntime;
ball.takedamage = DAMAGE_YES;
- ball.effects &= ~EF_NODRAW;
+ ball.effects &= ~EF_NODRAW;
setorigin(ball, plyr.origin + '0 0 10');
ball.velocity = '0 0 200' + '0 100 0'*crandom() + '100 0 0'*crandom();
- ball.owner.ballcarried = world; // I hope nothing checks to see if the world has the ball in the rest of my code :P
+ ball.owner.ballcarried = world; // I hope nothing checks to see if the world has the ball in the rest of my code :P
ball.owner = world;
-
+
// reset the player effects
plyr.glow_trail = FALSE;
plyr.effects &= ~autocvar_g_keepaway_ballcarrier_effects;
ka_EventLog("dropped", plyr);
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_KEEPAWAY_DROPPED, plyr.netname);
Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEEPAWAY_DROPPED, plyr.netname);
- sound(other, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
-
+ sound(other, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere)
+
// scoring
// PlayerScore_Add(plyr, SP_KEEPAWAY_DROPS, 1); Not anymore, this is 100% the same as pickups and is useless.
-
+
// waypoints
WaypointSprite_Spawn("ka-ball", 0, 0, ball, '0 0 64', world, ball.team, ball, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, '0 1 1');
WaypointSprite_UpdateRule(ball.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT);
- WaypointSprite_Ping(ball.waypointsprite_attachedforcarrier);
+ WaypointSprite_Ping(ball.waypointsprite_attachedforcarrier);
WaypointSprite_Kill(plyr.waypointsprite_attachedforcarrier);
}
MUTATOR_HOOKFUNCTION(ka_GiveFragsForKill)
{
frag_score = 0; // no frags counted in keepaway
- return 1; // you deceptive little bugger ;3 This needs to be true in order for this function to even count.
+ return 1; // you deceptive little bugger ;3 This needs to be true in order for this function to even count.
}
MUTATOR_HOOKFUNCTION(ka_PlayerPreThink)
{
// clear the item used for the ball in keepaway
self.items &= ~IT_KEY1;
-
+
// if the player has the ball, make sure they have the item for it (Used for HUD primarily)
if(self.ballcarried)
self.items |= IT_KEY1;
frag_force *= autocvar_g_keepaway_ballcarrier_force;
}
}
- else if not(frag_target.ballcarried) // if the target is a noncarrier
+ else if (!frag_target.ballcarried) // if the target is a noncarrier
{
if(frag_target == frag_attacker) // damage done to yourself
{
MUTATOR_HOOKFUNCTION(ka_PlayerPowerups)
{
// In the future this hook is supposed to allow me to do some extra stuff with waypointsprites and invisibility powerup
- // So bare with me until I can fix a certain bug with ka_ballcarrier_waypointsprite_visible_for_player()
-
+ // So bare with me until I can fix a certain bug with ka_ballcarrier_waypointsprite_visible_for_player()
+
self.effects &= ~autocvar_g_keepaway_ballcarrier_effects;
if(self.ballcarried)
self.effects |= autocvar_g_keepaway_ballcarrier_effects;
-
+
return 0;
}
void ka_SpawnBall() // loads various values for the ball, runs only once at start of match
{
if(!g_keepaway) { return; }
-
+
entity e;
e = spawn();
- e.model = "models/orbs/orbblue.md3";
+ e.model = "models/orbs/orbblue.md3";
precache_model(e.model);
setmodel(e, e.model);
setsize(e, '-16 -16 -20', '16 16 20'); // 20 20 20 was too big, player is only 16 16 24... gotta cheat with the Z (20) axis so that the particle isn't cut off
e.owner = world;
ka_ball = e;
- InitializeEntity(e, ka_RespawnBall, INITPRIO_SETLOCATION); // is this the right priority? Neh, I have no idea.. Well-- it works! So.
+ InitializeEntity(e, ka_RespawnBall, INITPRIO_SETLOCATION); // is this the right priority? Neh, I have no idea.. Well-- it works! So.
}
void ka_ScoreRules()
{
if(!g_keepaway)
return;
-
+
precache_sound("keepaway/pickedup.wav");
precache_sound("keepaway/dropped.wav");
precache_sound("keepaway/respawn.wav");
// maybe start a shorter countdown?
}
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if(other.deadflag != DEAD_NO)
return;
--j;
}
}
-
+
Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_4(lostkey, INFO_KEYHUNT_LOST_), lostkey.kh_previous_owner.netname);
-
+
play2all(kh_sound_destroy);
te_tarexplosion(lostkey.origin);
kh_Scores_Event(player, key, "dropkey", 0, 0);
PlayerScore_Add(player, SP_KH_LOSSES, 1);
Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_4(key, INFO_KEYHUNT_DROP_), player.netname);
-
+
kh_Key_AssignTo(key, world);
makevectors(player.v_angle);
key.velocity = W_CalculateProjectileVelocity(player.velocity, autocvar_g_balance_keyhunt_throwvelocity * v_forward, FALSE);
if(!tmp_player.BUTTON_CHAT)
if(tmp_player.team == t_team)
++players;
-
- if not(players) { return t_team; }
+
+ if (!players) { return t_team; }
}
return 0;
}
}
float p1 = kh_CheckPlayers(0), p2 = kh_CheckPlayers(1), p3 = kh_CheckPlayers(2), p4 = kh_CheckPlayers(3);
- if not(p1 || p2 || p3 || p4)
+ if (!(p1 || p2 || p3 || p4))
{
Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEYHUNT_ROUNDSTART, autocvar_g_balance_keyhunt_delay_round);
kh_Controller_SetThink(autocvar_g_balance_keyhunt_delay_round, kh_StartRound);
Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEYHUNT_WAIT, p1, p2, p3, p4);
return;
}
-
+
Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_KEYHUNT);
Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_KEYHUNT_OTHER);
{
lms_lowest_lives = 999;
lms_next_place = player_count;
-
+
return FALSE;
}
FOR_EACH_CLIENT(self)
if(IS_PLAYER(self))
PlayerScore_Add(self, SP_LMS_LIVES, LMS_NewPlayerLives());
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(lms_PlayerDies)
{
self.respawn_flags |= RESPAWN_FORCE;
-
+
return FALSE;
}
self.frags = FRAGS_SPECTATOR;
else
self.frags = FRAGS_LMS_LOSER;
-
+
if(self.killcount != -666)
if(PlayerScore_Add(self, SP_LMS_RANK, 0) > 0 && self.lms_spectate_warning != 2)
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_LMS_NOLIVES, self.netname);
else
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_LMS_FORFEIT, self.netname);
-
+
return FALSE;
}
{
self.classname = "player";
campaign_bots_may_start = 1;
-
+
if(PlayerScore_Add(self, SP_LMS_LIVES, LMS_NewPlayerLives()) <= 0)
{
PlayerScore_Add(self, SP_LMS_RANK, 666);
self.frags = FRAGS_SPECTATOR;
}
-
+
return FALSE;
}
{
if(self.deadflag == DEAD_DYING)
self.deadflag = DEAD_RESPAWNING;
-
+
return FALSE;
}
+MUTATOR_HOOKFUNCTION(lms_PlayerRegen)
+{
+ if(autocvar_g_lms_regenerate)
+ return FALSE;
+ return TRUE;
+}
+
MUTATOR_HOOKFUNCTION(lms_ForbidThrowing)
{
// forbode!
--lms_next_place;
}
frag_score = 0;
-
+
return TRUE;
}
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;
}
self.max_health = 1;
return FALSE;
}
-
+
return TRUE;
}
Send_Notification(NOTIF_ONE, other, MSG_CENTER, CENTER_EXTRALIVES);
PlayerScore_Add(other, SP_LMS_LIVES, autocvar_g_lms_extra_lives);
}
-
+
return MUT_ITEMTOUCH_CONTINUE;
}
{
lms_lowest_lives = 9999;
lms_next_place = 0;
-
+
lms_ScoreRules();
}
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);
{
WaypointSprite_Kill(ball.waypointsprite_attachedforcarrier);
}
-
+
//setattachment(ball, plyr, "");
setorigin(ball, plyr.origin + plyr.view_ofs);
ball.think = DropOwner;
ball.nextthink = time + autocvar_g_nexball_basketball_delay_hold;
}
-
+
ownr = self;
- self = plyr;
+ self = plyr;
self.weaponentity.weapons = self.weapons;
self.weaponentity.switchweapon = self.weapon;
self.weapons = WEPSET_PORTO;
self.nextthink = time + autocvar_g_nexball_delay_idle;
return;
}
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if(other.health < 1)
return;
{
nexball_mode |= NBM_BASKETBALL;
self.classname = "nexball_basketball";
- if not(balls & BALL_BASKET)
+ if (!(balls & BALL_BASKET))
{
/*
CVTOV(g_nexball_basketball_effects_default);
//dprint("W_Nexball_Think\n");
//vector new_dir = steerlib_arrive(self.enemy.origin, 2500);
vector new_dir = normalize(self.enemy.origin + '0 0 50' - self.origin);
- vector old_dir = normalize(self.velocity);
- float _speed = vlen(self.velocity);
+ vector old_dir = normalize(self.velocity);
+ float _speed = vlen(self.velocity);
vector new_vel = normalize(old_dir + (new_dir * autocvar_g_nexball_safepass_turnrate)) * _speed;
//vector new_vel = (new_dir * autocvar_g_nexball_safepass_turnrate
-
+
self.velocity = new_vel;
-
+
self.nextthink = time;
}
attacker = self.owner;
//self.think = func_null;
//self.enemy = world;
-
+
PROJECTILE_TOUCH;
if(attacker.team != other.team || autocvar_g_nexball_basketball_teamsteal)
if((ball = other.ballcarried) && (IS_PLAYER(attacker)))
mul = 2 - mul;
mul = mi + (ma - mi) * mul; // range from the minimal power to the maximal power
}
-
+
DropBall(ball, w_shotorg, W_CalculateProjectileVelocity(self.velocity, w_shotdir * autocvar_g_balance_nexball_primary_speed * mul, FALSE));
-
+
//TODO: use the speed_up cvar too ??
}
_ball.nextthink = time;
return;
}
-
+
if(!autocvar_g_nexball_tackling)
return;
-
+
entity missile;
if(!(balls & BALL_BASKET))
return;
self.scale = 1;
self.customizeentityforclient = func_null;
return TRUE;
- }
-
+ }
+
if(other == self.owner)
{
self.scale = autocvar_g_nexball_viewmodel_scale;
self.effects |= EF_FLAME;
else
self.effects &= ~EF_FLAME;
- }
+ }
else
{
self.effects &= ~EF_FLAME;
self.scale = 1;
}
-
+
return TRUE;
}
{
makevectors(self.v_angle);
if(nexball_mode & NBM_BASKETBALL)
- {
+ {
if(self.ballcarried)
{
// 'view ball'
- self.ballcarried.velocity = self.velocity;
+ self.ballcarried.velocity = self.velocity;
self.ballcarried.customizeentityforclient = ball_customize;
-
- setorigin(self.ballcarried, self.origin + self.view_ofs +
- v_forward * autocvar_g_nexball_viewmodel_offset_x +
- v_right * autocvar_g_nexball_viewmodel_offset_y +
- v_up * autocvar_g_nexball_viewmodel_offset_z);
-
+
+ setorigin(self.ballcarried, self.origin + self.view_ofs +
+ v_forward * autocvar_g_nexball_viewmodel_offset_x +
+ v_right * autocvar_g_nexball_viewmodel_offset_y +
+ v_up * autocvar_g_nexball_viewmodel_offset_z);
+
// 'safe passing'
if(autocvar_g_nexball_safepass_maxdist)
{
//centerprint(self, sprintf("Lost lock on %s", self.ballcarried.enemy.netname));
self.ballcarried.enemy = world;
}
-
-
+
+
//tracebox(self.origin + self.view_ofs, '-2 -2 -2', '2 2 2', self.origin + self.view_ofs + v_forward * autocvar_g_nexball_safepass_maxdist);
crosshair_trace(self);
- if( trace_ent &&
+ if( trace_ent &&
IS_CLIENT(trace_ent) &&
trace_ent.deadflag == DEAD_NO &&
trace_ent.team == self.team &&
vlen(trace_ent.origin - self.origin) <= autocvar_g_nexball_safepass_maxdist )
{
-
+
//if(self.ballcarried.enemy != trace_ent)
// centerprint(self, sprintf("Locked to %s", trace_ent.netname));
self.ballcarried.enemy = trace_ent;
self.ballcarried.wait = time + autocvar_g_nexball_safepass_holdtime;
-
-
+
+
}
}
}
else
- {
+ {
if(self.weaponentity.weapons)
{
self.weapons = self.weaponentity.weapons;
weapon_action(WEP_PORTO, WR_RESETPLAYER);
self.switchweapon = self.weaponentity.switchweapon;
W_SwitchWeapon(self.switchweapon);
-
+
self.weaponentity.weapons = '0 0 0';
}
}
-
+
}
-
+
nexball_setstatus();
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(nexball_PlayerSpawn)
-{
+{
self.weaponentity.weapons = '0 0 0';
-
+
if(nexball_mode & NBM_BASKETBALL)
self.weapons |= WEPSET_PORTO;
else
MUTATOR_HOOKFUNCTION(nexball_SetStartItems)
{
start_items |= IT_UNLIMITED_SUPERWEAPONS; // FIXME BAD BAD BAD BAD HACK, NEXBALL SHOULDN'T ABUSE PORTO'S WEAPON SLOT
-
+
return FALSE;
}
d = d + 1;
e = e.chain;
}
-
+
if(autocvar_g_campaign && autocvar__campaign_testrun)
d = d * self.max_health;
else
d = d * self.max_health / max(30, 60 * autocvar_timelimit_suddendeath);
-
+
Damage(self, self, self, d, DEATH_HURTTRIGGER, self.origin, '0 0 0');
}
else if (overtime_msg_time)
vector org;
float i;
- if not (self.count)
+ if (!self.count)
self.count = 40;
// White shockwave
#endif
self.lasthealth = self.health;
}
- else if not(warmup_stage)
+ else if (!warmup_stage)
{
if (attacker == self)
bprint(Team_ColoredFullName(self.team), " generator spontaneously exploded due to overtime!\n");
precache_sound("onslaught/electricity_explode.wav");
if (!self.team)
objerror("team must be set");
-
+
if(self.team == NUM_TEAM_1)
ons_red_generator = self;
if(self.team == NUM_TEAM_2)
ons_blue_generator = self;
-
+
self.team_saved = self.team;
self.colormap = 1024 + (self.team - 1) * 17;
self.solid = SOLID_BBOX;
waypoint_spawnforitem(self);
onslaught_updatelinks();
-
+
self.reset = onslaught_generator_reset;
}
float _friendly_count = 0;
float _dist;
entity _player;
-
+
FOR_EACH_PLAYER(_player)
{
if(!_player.deadflag)
a = onslaught_controlpoint_can_be_linked(self.owner, self.owner.team);
if(!a)
return;
-
+
self.health = self.health + self.count;
if (self.health >= self.max_health)
{
entity e;
float a;
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
a = onslaught_controlpoint_attackable(self, other.team);
if(a != 2 && a != 4)
onslaught_updatelinks();
}
+void onslaught_controlpoint_think()
+{
+ self.nextthink = time;
+ CSQCMODEL_AUTOUPDATE();
+}
+
void onslaught_controlpoint_reset()
{
if(self.goalentity && self.goalentity != world)
self.isshielded = TRUE;
self.enemy.solid = SOLID_NOT;
self.enemy.colormap = self.colormap;
- self.think = self.enemy.think = func_null;
- self.nextthink = 0; // don't like func_null :P
+ self.think = onslaught_controlpoint_think;
+ self.enemy.think = func_null;
+ self.nextthink = time; // don't like func_null :P
setmodel(self, "models/onslaught/controlpoint_pad.md3");
//setsize(self, '-32 -32 0', '32 32 8');
activator = self;
SUB_UseTargets(); // to reset the structures, playerspawns etc.
+
+ CSQCMODEL_AUTOUPDATE();
}
/*QUAKED spawnfunc_onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128)
self.enemy.colormap = self.colormap;
waypoint_spawnforitem(self);
+
+ self.think = onslaught_controlpoint_think;
+ self.nextthink = time;
WaypointSprite_SpawnFixed(string_null, self.origin + '0 0 128', self, sprite, RADARICON_NONE, '0 0 0');
WaypointSprite_UpdateRule(self.sprite, NUM_TEAM_2, SPRITERULE_TEAMPLAY);
onslaught_updatelinks();
self.reset = onslaught_controlpoint_reset;
+
+ CSQCMODEL_AUTOINIT();
}
float onslaught_link_send(entity to, float sendflags)
MUTATOR_HOOKFUNCTION(ons_Spawn_Score)
{
-
+
/*
float _neer_home = (random() > 0.5 ? TRUE : FALSE);
-
+
RandomSelection_Init();
-
+
if(self.team == NUM_TEAM_1)
RandomSelection_Add(ons_red_generator, 0, string_null, 1, 1);
-
+
if(self.team == NUM_TEAM_2)
RandomSelection_Add(ons_blue_generator, 0, string_null, 1, 1);
-
+
entity _cp = findchain(classname, "onslaught_controlpoint"):
while _cp;
{
- if(_cp.team == self.team)
+ if(_cp.team == self.team)
RandomSelection_Add(_cp, 0, string_null, 1, 1);
-
+
_cp = _cp.chain;
}
}
else if(self.team == spawn_spot.team)
spawn_score_x += SPAWN_PRIO_NEAR_TEAMMATE_SAMETEAM; // prefer same team, if we can't find a spawn near teammate
-
+
*/
-
+
return 0;
}
{
if(!autocvar_g_onslaught_spawn_at_controlpoints)
return 0;
-
+
if(random() < 0.5) // 50/50 chane to use default spawnsystem.
return 0;
-
+
float _close_to_home = ((random() > 0.5) ? TRUE : FALSE);
entity _best = world, _trg_gen = world;
float _score, _best_score = MAX_SHOT_DISTANCE;
-
+
RandomSelection_Init();
-
+
if(self.team == NUM_TEAM_1)
{
if(!_close_to_home)
_trg_gen = ons_blue_generator;
- else
- _trg_gen = ons_red_generator;
+ else
+ _trg_gen = ons_red_generator;
}
-
+
if(self.team == NUM_TEAM_2)
{
if(_close_to_home)
_trg_gen = ons_blue_generator;
- else
- _trg_gen = ons_red_generator;
+ else
+ _trg_gen = ons_red_generator;
}
-
+
entity _cp = findchain(classname, "onslaught_controlpoint");
while(_cp)
{
- if(_cp.team == self.team)
- {
+ if(_cp.team == self.team)
+ {
_score = vlen(_trg_gen.origin - _cp.origin);
if(_score < _best_score)
{
_best = _cp;
- _best_score = _score;
+ _best_score = _score;
}
- }
+ }
_cp = _cp.chain;
}
-
- vector _loc;
- float i;
+
+ vector _loc;
+ float i;
if(_best)
{
for(i = 0; i < 10; ++i)
{
_loc = _best.origin + '0 0 96';
- _loc += ('0 1 0' * random()) * 128;
+ _loc += ('0 1 0' * random()) * 128;
tracebox(_loc, PL_MIN, PL_MAX, _loc, MOVE_NORMAL, self);
if(trace_fraction == 1.0 && !trace_startsolid)
{
{
if(!autocvar_g_onslaught_spawn_at_generator)
return 0;
-
+
_trg_gen = ((self.team == NUM_TEAM_1) ? ons_red_generator : ons_blue_generator);
-
+
for(i = 0; i < 10; ++i)
{
_loc = _trg_gen.origin + '0 0 96';
- _loc += ('0 1 0' * random()) * 128;
+ _loc += ('0 1 0' * random()) * 128;
tracebox(_loc, PL_MIN, PL_MAX, _loc, MOVE_NORMAL, self);
if(trace_fraction == 1.0 && !trace_startsolid)
{
}
}
}
-
+
return 0;
}
if(self.targetname)
{
e = find(world, target, self.targetname);
+
if(e != world)
{
self.team = e.team;
activator = ee;
self.use();
}
+
+ return FALSE;
+}
+
+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);
+ activator = ee;
+ self.use();
+ }
+
return FALSE;
}
MUTATOR_HOOK(BuildMutatorsString, ons_BuildMutatorsString, CBC_ORDER_ANY);
MUTATOR_HOOK(PlayerSpawn, ons_PlayerSpawn, CBC_ORDER_ANY);
MUTATOR_HOOK(TurretSpawn, ons_TurretSpawn, 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
if(self.health <= autocvar_g_bloodloss && self.deadflag == DEAD_NO)
{
self.BUTTON_CROUCH = TRUE;
-
+
if(time >= self.bloodloss_timer)
{
self.event_damage(self, self, 1, DEATH_ROT, self.origin, '0 0 0');
self.bloodloss_timer = time + 0.5 + random() * 0.5;
}
}
-
+
return FALSE;
}
{
if(self.health <= autocvar_g_bloodloss)
return TRUE;
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(campcheck_PlayerDies)
{
Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_CAMPCHECK);
-
+
return FALSE;
}
frag_target.campcheck_traveled_distance = autocvar_g_campcheck_distance;
frag_attacker.campcheck_traveled_distance = autocvar_g_campcheck_distance;
}
-
+
return FALSE;
}
{
self.campcheck_nextcheck = time + autocvar_g_campcheck_interval * 2;
self.campcheck_traveled_distance = 0;
-
+
return FALSE;
}
float velocity_difference;
float clean_up_and_do_nothing;
float horiz_speed = autocvar_sv_dodging_horiz_speed;
-
+
if(self.freezetag_frozen)
horiz_speed = autocvar_sv_dodging_horiz_speed_frozen;
// make sure v_up, v_right and v_forward are sane
makevectors(self.angles);
- // if we have e.g. 0.5 sec ramptime and a frametime of 0.25, then the ramp code
- // will be called ramp_time/frametime times = 2 times. so, we need to
+ // if we have e.g. 0.5 sec ramptime and a frametime of 0.25, then the ramp code
+ // will be called ramp_time/frametime times = 2 times. so, we need to
// add 0.5 * the total speed each frame until the dodge action is done..
common_factor = sys_frametime / autocvar_sv_dodging_ramp_time;
// if ramp time is smaller than frametime we get problems ;D
- if (common_factor > 1)
+ if (common_factor > 1)
common_factor = 1;
new_velocity_gain = self.dodging_velocity_gain - (common_factor * horiz_speed);
//disable jump key during dodge accel phase
if (self.movement_z > 0) self.movement_z = 0;
- self.velocity =
- self.velocity
+ self.velocity =
+ self.velocity
+ ((self.dodging_direction_y * velocity_difference) * v_right)
+ ((self.dodging_direction_x * velocity_difference) * v_forward);
if (self.dodging_single_action == 1) {
self.flags &= ~FL_ONGROUND;
- self.velocity =
- self.velocity
+ self.velocity =
+ self.velocity
+ (autocvar_sv_dodging_up_speed * v_up);
if (autocvar_sv_dodging_sound == 1)
tap_direction_x = 0;
tap_direction_y = 0;
-
+
float frozen_dodging;
frozen_dodging = (self.freezetag_frozen && autocvar_sv_dodging_frozen);
if ((time - self.last_dodging_time) < autocvar_sv_dodging_delay)
return 0;
- if (check_close_to_ground(autocvar_sv_dodging_height_threshold) != 1
+ if (check_close_to_ground(autocvar_sv_dodging_height_threshold) != 1
&& check_close_to_wall(autocvar_sv_dodging_wall_distance_threshold) != 1)
return 0;
if (self.movement_x > 0) {
// is this a state change?
if (!(self.pressedkeys & KEY_FORWARD) || frozen_dodging) {
- if ((time - self.last_FORWARD_KEY_time) < self.cvar_cl_dodging_timeout) {
+ if ((time - self.last_FORWARD_KEY_time) < self.cvar_cl_dodging_timeout) {
tap_direction_x = 1.0;
dodge_detected = 1;
}
// is this a state change?
if (!(self.pressedkeys & KEY_BACKWARD) || frozen_dodging) {
tap_direction_x = -1.0;
- if ((time - self.last_BACKWARD_KEY_time) < self.cvar_cl_dodging_timeout) {
+ if ((time - self.last_BACKWARD_KEY_time) < self.cvar_cl_dodging_timeout) {
dodge_detected = 1;
}
self.last_BACKWARD_KEY_time = time;
// is this a state change?
if (!(self.pressedkeys & KEY_RIGHT) || frozen_dodging) {
tap_direction_y = 1.0;
- if ((time - self.last_RIGHT_KEY_time) < self.cvar_cl_dodging_timeout) {
+ if ((time - self.last_RIGHT_KEY_time) < self.cvar_cl_dodging_timeout) {
dodge_detected = 1;
}
self.last_RIGHT_KEY_time = time;
// is this a state change?
if (!(self.pressedkeys & KEY_LEFT) || frozen_dodging) {
tap_direction_y = -1.0;
- if ((time - self.last_LEFT_KEY_time) < self.cvar_cl_dodging_timeout) {
+ if ((time - self.last_LEFT_KEY_time) < self.cvar_cl_dodging_timeout) {
dodge_detected = 1;
}
self.last_LEFT_KEY_time = time;
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)
case IT_ARMOR_SHARD:
return FALSE;
}
-
+
return TRUE;
}
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);
self.effects |= (EF_ADDITIVE | EF_FULLBRIGHT);
self.midair_shieldtime = max(self.midair_shieldtime, time + autocvar_g_midair_shieldtime);
}
-
+
return FALSE;
}
-void spawnfunc_item_minst_cells (void)
+void spawnfunc_item_minst_cells (void)
{
- if not(g_minstagib) { remove(self); return; }
- if not(self.ammo_cells)
+ if (!g_minstagib) { remove(self); return; }
+ if (!self.ammo_cells)
self.ammo_cells = autocvar_g_minstagib_ammo_drop;
-
+
StartItem ("models/items/a_cells.md3",
"misc/itempickup.wav", 45, 0,
"MinstaNex Ammo", IT_CELLS, 0, 0, generic_pickupevalfunc, 100);
}
void minstagib_ammocheck()
{
- if not(IS_PLAYER(self))
+ if (!IS_PLAYER(self))
return; // not a player
if (time < self.minstagib_nextthink)
return;
entity head;
FOR_EACH_PLAYER(head)
minstagib_stop_countdown(head);
-
+
+ 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;
}
{
if(checkentity.items & IT_STRENGTH)
return TRUE;
-
+
return FALSE;
}
return FALSE;
}
+MUTATOR_HOOKFUNCTION(minstagib_PlayerRegen)
+{
+ // no regeneration in minstagib
+ return TRUE;
+}
+
MUTATOR_HOOKFUNCTION(minstagib_PlayerPowerups)
{
- if not(self.effects & EF_FULLBRIGHT)
+ if (!(self.effects & EF_FULLBRIGHT))
self.effects |= EF_FULLBRIGHT;
if (self.items & IT_STRENGTH)
{
if(self.items & IT_INVINCIBLE)
self.stat_sv_maxspeed = self.stat_sv_maxspeed * autocvar_g_minstagib_speed_highspeed;
-
+
return FALSE;
}
{
damage_save = 0;
damage_take = frag_damage;
-
+
return FALSE;
}
{
if(autocvar_g_friendlyfire == 0 && SAME_TEAM(frag_target, frag_attacker) && IS_PLAYER(frag_target) && IS_PLAYER(frag_attacker))
frag_damage = 0;
-
+
if(IS_PLAYER(frag_target))
{
if ((frag_deathtype == DEATH_FALL) ||
{
frag_damage = 0;
}
-
+
if(IS_PLAYER(frag_attacker))
if(DEATH_ISWEAPON(frag_deathtype, WEP_MINSTANEX))
if(frag_target.armorvalue)
frag_target.hitsound += 1;
frag_attacker.hitsound += 1; // TODO change this to a future specific hitsound for armor hit
}
-
+
if(IS_PLAYER(frag_attacker))
if (DEATH_ISWEAPON(frag_deathtype, WEP_LASER))
{
}
}
}
-
+
if(IS_PLAYER(frag_attacker))
if(frag_mirrordamage > 0)
{
}
frag_mirrordamage = 0;
}
-
+
if(frag_target.items & IT_STRENGTH)
yoda = 1;
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(minstagib_SetStartItems)
{
start_ammo_cells = cvar("g_minstagib_ammo_start");
-
+
start_health = 100;
start_armorvalue = 0;
start_weapons = WEPSET_MINSTANEX;
warmup_start_weapons = WEPSET_MINSTANEX;
start_items |= IT_UNLIMITED_SUPERWEAPONS;
-
+
return FALSE;
}
{
if(self.classname == "item_cells")
return TRUE; // no normal cells?
-
+
if(self.weapon == WEP_MINSTANEX && self.classname == "droppedweapon")
{
self.ammo_cells = autocvar_g_minstagib_ammo_drop;
return FALSE;
}
-
+
if(self.weapon == WEP_ROCKET_LAUNCHER || self.weapon == WEP_NEX)
{
entity e = spawn();
self = oldself;
return TRUE;
}
-
+
if(self.flags & FL_POWERUP)
return FALSE;
-
+
if(self.ammo_cells > autocvar_g_minstagib_ammo_drop && self.classname != "item_minst_cells")
self.ammo_cells = autocvar_g_minstagib_ammo_drop;
-
+
if(self.ammo_cells && !self.weapon)
return FALSE;
-
+
return TRUE;
}
MUTATOR_HOOKFUNCTION(minstagib_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.items & IT_STRENGTH) && (e == other))
if(DIFF_TEAM(self.owner, e))
return TRUE;
-
+
return FALSE;
}
return MUT_ITEMTOUCH_CONTINUE;
}
-
+
if(self.max_health)
{
other.armorvalue = bound(other.armorvalue, 999, other.armorvalue + autocvar_g_minstagib_extralives);
Send_Notification(NOTIF_ONE, other, MSG_CENTER, CENTER_EXTRALIVES);
return MUT_ITEMTOUCH_PICKUP;
}
-
+
return MUT_ITEMTOUCH_CONTINUE;
}
MUTATOR_HOOKFUNCTION(minstagib_OnEntityPreSpawn)
{
- if not(autocvar_g_powerups) { return FALSE; }
- if not(self.classname == "item_strength" || self.classname == "item_invincible" || self.classname == "item_health_mega")
+ if (!autocvar_g_powerups) { return FALSE; }
+ if (!(self.classname == "item_strength" || self.classname == "item_invincible" || self.classname == "item_health_mega"))
return FALSE;
-
+
entity e = spawn();
-
+
if(random() < 0.3)
e.think = spawnfunc_item_strength;
else if(random() < 0.6)
e.think = minstagib_health_mega;
else
e.think = spawnfunc_item_invincible;
-
+
e.nextthink = time + 0.1;
e.spawnflags = self.spawnflags;
e.noalign = self.noalign;
setorigin(e, self.origin);
-
+
return TRUE;
}
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);
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);
else
self.multijump_count = -2; // the cvar value for infinite jumps is -1, so this needs to be smaller
}
-
+
return FALSE;
}
self.multijump_ready = TRUE; // this is necessary to check that we released the jump button and pressed it again
else
self.multijump_ready = FALSE;
-
+
if(!player_multijump && self.multijump_ready && self.multijump_count < autocvar_g_multijump && self.velocity_z > autocvar_g_multijump_speed)
{
if (autocvar_g_multijump)
self.nextthink = time;
if(!self.owner || wasfreed(self.owner))
remove(self);
-
+
}
void nade_burn_spawn(entity _nade)
{
float p;
-
+
switch(_nade.realowner.team)
{
case NUM_TEAM_1: p = PROJECTILE_NADE_RED_BURN; break;
case NUM_TEAM_4: p = PROJECTILE_NADE_PINK_BURN; break;
default: p = PROJECTILE_NADE_BURN; break;
}
-
+
CSQCProjectile(_nade, TRUE, p, TRUE);
}
timer.think = nade_timer_think;
timer.nextthink = time;
timer.wait = _nade.wait;
- timer.owner = _nade;
+ timer.owner = _nade;
timer.skin = 10;
-
+
switch(_nade.realowner.team)
{
case NUM_TEAM_1: p = PROJECTILE_NADE_RED; break;
case NUM_TEAM_4: p = PROJECTILE_NADE_PINK; break;
default: p = PROJECTILE_NADE; break;
}
-
+
CSQCProjectile(_nade, TRUE, p, TRUE);
-
+
}
void nade_boom()
{
string expef;
-
+
switch(self.realowner.team)
{
case NUM_TEAM_1: expef = "nade_red_explode"; break;
case NUM_TEAM_4: expef = "nade_pink_explode"; break;
default: expef = "nade_explode"; break;
}
-
+
sound(self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTEN_NORM);
sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
pointparticles(particleeffectnum(expef), self.origin + '0 0 1', '0 0 0', 1);
-
+
Damage_DamageInfo(self.origin, autocvar_g_nades_nade_damage, autocvar_g_nades_nade_edgedamage, autocvar_g_nades_nade_radius, '1 1 1' * autocvar_g_nades_nade_force, self.projectiledeathtype, 0, self);
self.takedamage = DAMAGE_NO;
if(DEATH_ISWEAPON(deathtype, WEP_SHOTGUN) && !(deathtype & HITTYPE_SECONDARY))
damage = self.max_health * 1.1;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_SHOTGUN) && (deathtype & HITTYPE_SECONDARY))
{
damage = self.max_health * 0.1;
force *= 15;
}
-
+
self.velocity += force;
if(!damage || (self.flags & FL_ONGROUND && IS_PLAYER(attacker)))
{
entity _nade = e.nade;
e.nade = world;
-
+
remove(e.fake_nade);
e.fake_nade = world;
-
+
makevectors(e.v_angle);
-
+
W_SetupShot(e, FALSE, FALSE, "", CH_WEAPON_A, 0);
-
+
Kill_Notification(NOTIF_ONE_ONLY, e, MSG_CENTER_CPID, CPID_NADES);
-
+
//setorigin(_nade, CENTER_OR_VIEWOFS(e) + (v_right * 10) * -1);
setorigin(_nade, w_shotorg + (v_right * 25) * -1);
setmodel(_nade, "models/weapons/v_ok_grenade.md3");
PROJECTILE_MAKETRIGGER(_nade);
setsize(_nade, '-16 -16 -16', '16 16 16');
_nade.movetype = MOVETYPE_BOUNCE;
-
+
tracebox(_nade.origin, _nade.mins, _nade.maxs, _nade.origin, FALSE, _nade);
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;
{
if(self.nade)
remove(self.nade);
-
+
if(self.fake_nade)
remove(self.fake_nade);
-
+
self.nade = spawn();
setmodel(self.nade, "null");
setattachment(self.nade, self, "bip01 l hand");
{
if(self.vehicle)
return FALSE;
-
+
if(gameover)
return FALSE;
-
+
if(self.deadflag != DEAD_NO)
return FALSE;
-
- if not(autocvar_g_nades)
+
+ if (!autocvar_g_nades)
return FALSE; // allow turning them off mid match
-
+
if(forbidWeaponUse())
return FALSE;
-
- if not(IS_PLAYER(self))
+
+ if (!IS_PLAYER(self))
return FALSE;
-
+
return TRUE;
}
{
if(!CanThrowNade())
return;
-
+
if(!self.nade)
{
if(self.nade_refire < time)
{
if(other.nade)
toss_nade(other, '0 0 100', max(other.nade.wait, time + 0.05));
-
+
return FALSE;
}
MUTATOR_HOOKFUNCTION(nades_PlayerPreThink)
{
float key_pressed = ((g_grappling_hook || client_hasweapon(self, WEP_HOOK, FALSE, FALSE) || (weaponsInMap & WEPSET_HOOK)) ? self.button16 : self.BUTTON_HOOK);
-
+
if(self.nade)
if(self.nade.wait - 0.1 <= time)
toss_nade(self, '0 0 0', time + 0.05);
-
+
if(CanThrowNade())
if(self.nade_refire < time)
{
makevectors(self.v_angle);
float _force = time - self.nade.lifetime;
_force /= autocvar_g_nades_nade_lifetime;
- _force = autocvar_g_nades_nade_minforce + (_force * (autocvar_g_nades_nade_maxforce - autocvar_g_nades_nade_minforce));
+ _force = autocvar_g_nades_nade_minforce + (_force * (autocvar_g_nades_nade_maxforce - autocvar_g_nades_nade_minforce));
toss_nade(self, (v_forward * 0.7 + v_up * 0.2 + v_right * 0.1) * _force, 0);
}
}
{
if(self.nade)
toss_nade(self, '0 0 100', max(self.nade.wait, time + 0.05));
-
+
return FALSE;
}
if(self.fake_nade)
remove(self.fake_nade);
-
+
return FALSE;
}
MUTATOR_HOOK(ClientDisconnect, nades_RemovePlayer, CBC_ORDER_ANY);
MUTATOR_HOOK(BuildMutatorsString, nades_BuildMutatorsString, CBC_ORDER_ANY);
MUTATOR_HOOK(BuildMutatorsPrettyString, nades_BuildMutatorsPrettyString, CBC_ORDER_ANY);
-
+
MUTATOR_ONADD
{
precache_model("models/ok_nade_counter/ok_nade_counter.md3");
-
+
precache_model("models/weapons/h_ok_grenade.iqm");
precache_model("models/weapons/v_ok_grenade.md3");
precache_sound("weapons/rocket_impact.wav");
minsta porto
tuba
-NEW rifle hlac minel seeker
+NEW rifle hlac minel seeker
IDEAS OPEN flak OPEN FUN FUN FUN FUN
if(m == NT_AUTOREPLACE_NEVER)
return w;
string s = nt_GetFullReplacement(w);
- if not(s)
+ if (!s)
return w;
if(m == NT_AUTOREPLACE_RANDOM)
s = strcat(w, " ", s);
WepSet newdefault;
WepSet warmup_newdefault;
-
+
newdefault = '0 0 0';
warmup_newdefault = '0 0 0';
return FALSE;
if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
return FALSE;
- if not(e.spawnflags & WEP_FLAG_NORMAL)
+ if (!(e.spawnflags & WEP_FLAG_NORMAL))
return FALSE;
}
return TRUE;
// check if we have a physics engine
MUTATOR_ONADD
{
- if not(autocvar_physics_ode && checkextension("DP_PHYSICS_ODE"))
+ if (!(autocvar_physics_ode && checkextension("DP_PHYSICS_ODE")))
{
dprint("Warning: Physical items are enabled but no physics engine can be used. Reverting to old items.\n");
return -1;
if(self.switchweapon != j)
if(W_IsWeaponThrowable(j))
W_ThrowNewWeapon(self, j, FALSE, self.origin + (self.mins + self.maxs) * 0.5, randomvec() * 175 + '0 0 325');
-
+
return TRUE;
}
MUTATOR_HOOKFUNCTION(gravity_StartFrame)
{
- if(gameover || !cvar("g_random_gravity")) return FALSE;
+ if(gameover || !cvar("g_random_gravity")) return FALSE;
if(time < gravity_delay) return FALSE;
if(time < game_starttime) return FALSE;
if(round_handler_IsActive() && !round_handler_IsRoundStarted()) return FALSE;
-
- if(random() >= autocvar_g_random_gravity_negative_chance)
+
+ if(random() >= autocvar_g_random_gravity_negative_chance)
cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() - random() * -autocvar_g_random_gravity_negative, autocvar_g_random_gravity_max)));
else
cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() * autocvar_g_random_gravity_positive, autocvar_g_random_gravity_max)));
-
+
gravity_delay = time + autocvar_g_random_gravity_delay;
-
+
dprint("Gravity is now: ", ftos(autocvar_sv_gravity), "\n");
-
+
return FALSE;
}
MUTATOR_HOOK(SV_StartFrame, gravity_StartFrame, CBC_ORDER_ANY);
MUTATOR_HOOK(BuildMutatorsString, gravity_BuildMutatorsString, CBC_ORDER_ANY);
MUTATOR_HOOK(BuildMutatorsPrettyString, gravity_BuildMutatorsPrettyString, CBC_ORDER_ANY);
-
+
MUTATOR_ONADD
{
cvar_settemp("sv_gravity", cvar_string("sv_gravity")); // settemp current gravity so it's restored on match end
-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;
MUTATOR_HOOKFUNCTION(msnt_PlayerSpawn)
{
- if(spawn_spot.msnt_lookat)
+ 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
+ self.fixangle = TRUE; // turn this way immediately
+ 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
+ self.fixangle = TRUE; // turn this way immediately
+ 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
+ self.fixangle = TRUE; // turn this way immediately
/*
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");
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;
}
string fn = "superspec-local.options";
float fh;
- if not(_ISLOCAL)
+ if (!_ISLOCAL)
{
if(self.crypto_idfp == "")
return;
return;
if(_spamlevel > 1)
- if not(_to.superspec_flags & SSF_VERBOSE)
+ if (!(_to.superspec_flags & SSF_VERBOSE))
return;
centerprint(_to, strcat(_center_title, _msg));
_hello.think = superspec_hello;
_hello.nextthink = time + 5;
- if not(_ISLOCAL)
+ if (!_ISLOCAL)
{
if(self.crypto_idfp == "")
return FALSE;
MUTATOR_HOOKFUNCTION(touchexplode_PlayerThink)
{
if(time > self.touchexplode_time)
- if not(gameover)
+ if (!gameover)
if(IS_PLAYER(self))
if(self.deadflag == DEAD_NO)
- if not(IS_INDEPENDENT_PLAYER(self))
+ if (!IS_INDEPENDENT_PLAYER(self))
FOR_EACH_PLAYER(other) if(self != other)
{
if(time > other.touchexplode_time)
if(other.deadflag == DEAD_NO)
- if not(IS_INDEPENDENT_PLAYER(other))
+ if (!IS_INDEPENDENT_PLAYER(other))
if(boxesoverlap(self.absmin, self.absmax, other.absmin, other.absmax))
{
PlayerTouchExplode(self, other);
frag_attacker.health += bound(0, damage_take, frag_target.health);
frag_attacker.health = bound(0, frag_attacker.health, autocvar_g_balance_health_limit);
}
-
+
return FALSE;
}
MUTATOR_DECLARATION(gamemode_assault);
-MUTATOR_DECLARATION(gamemode_arena);
MUTATOR_DECLARATION(gamemode_ca);
MUTATOR_DECLARATION(gamemode_keyhunt);
MUTATOR_DECLARATION(gamemode_freezetag);
MUTATOR_DECLARATION(gamemode_onslaught);
MUTATOR_DECLARATION(gamemode_domination);
MUTATOR_DECLARATION(gamemode_lms);
+MUTATOR_DECLARATION(gamemode_invasion);
MUTATOR_DECLARATION(mutator_dodging);
MUTATOR_DECLARATION(mutator_invincibleprojectiles);
intensity = vlen(self.velocity) + vlen(other.velocity);
if(intensity) // avoid divisions by 0
intensity /= 2; // average the two velocities
- if not(intensity >= autocvar_g_sandbox_object_material_velocity_min)
+ if (!(intensity >= autocvar_g_sandbox_object_material_velocity_min))
return; // impact not strong enough to do anything
// now offset intensity and apply it to the effects
intensity -= autocvar_g_sandbox_object_material_velocity_min; // start from minimum velocity, not actual velocity
}
self.nextthink = time;
+
+ CSQCMODEL_AUTOUPDATE();
}
.float old_solid, old_movetype;
return trace_ent; // don't check permissions, anyone can edit this object
if(trace_ent.crypto_idfp == "")
return trace_ent; // the player who spawned this object did not have an UID, so anyone can edit it
- if not(trace_ent.realowner != self && autocvar_g_sandbox_editor_free < 2)
+ if (!(trace_ent.realowner != self && autocvar_g_sandbox_editor_free < 2))
return trace_ent; // object does not belong to the player, and players can only edit their own objects on this server
return world;
}
{
// spawn a new object with default properties
- entity e;
+ entity e, oldself;
e = spawn();
e.classname = "object";
e.takedamage = DAMAGE_AIM;
setorigin(e, trace_endpos);
e.angles_y = self.v_angle_y;
}
+
+ oldself = self;
+ self = e;
+ CSQCMODEL_AUTOINIT();
+ self = oldself;
object_count += 1;
return e;
print_to(self, "^1SANDBOX - WARNING: ^7Attempted to spawn an object without specifying a model. Please specify the path to your model file after the 'object_spawn' command");
return TRUE;
}
- if not(fexists(argv(2)))
+ if (!(fexists(argv(2))))
{
print_to(self, "^1SANDBOX - WARNING: ^7Attempted to spawn an object with a non-existent model. Make sure the path to your model file is correct");
return TRUE;
case CONTENT_SKY:
return 0;
case CONTENT_EMPTY:
- if not (pointcontents(point - '0 0 1') == CONTENT_SOLID)
+ if (!(pointcontents(point - '0 0 1') == CONTENT_SOLID))
return 0;
break;
case CONTENT_WATER:
}
*/
-#define _pcheck(p) traceline(p+z_up,p-z_down,MOVE_WORLDONLY,self); if not(floor_ok(trace_endpos)) return 1
+#define _pcheck(p) traceline(p+z_up,p-z_down,MOVE_WORLDONLY,self); if (!floor_ok(trace_endpos)) return 1
float edge_check(vector point,float fsize)
{
vector z_up,z_down;
traceline(end + ('0 0 0.25' * pathlib_gridsize),end - ('0 0 1' * pathlib_gridsize),MOVE_WORLDONLY,self);
end = trace_endpos;
- if not(pointcontents(end - '0 0 1') == CONTENT_SOLID)
+ if (!(pointcontents(end - '0 0 1') == CONTENT_SOLID))
return end;
for(surface = start ; surface_z < (end_z + 32); ++surface_z)
return trace_endpos;
point = trace_endpos;
- if not(floor_ok(trace_endpos))
+ if (!floor_ok(trace_endpos))
return trace_endpos;
tracebox(last_point + walknode_boxup, walknode_boxmin,walknode_boxmax, point + walknode_boxup, MOVE_WORLDONLY, self);
point = trace_endpos;
- if not(floor_ok(trace_endpos))
+ if (!floor_ok(trace_endpos))
return trace_endpos;
tracebox(last_point + walknode_boxup, walknode_boxmin,walknode_boxmax, point + walknode_boxup, MOVE_WORLDONLY, self);
}
where = pathlib_movenode(parent.origin,to,0);
- if not(pathlib_movenode_goodnode)
+ if (!pathlib_movenode_goodnode)
return 0;
if(doedge)
node.path_prev = parent;
}
- if not (best_open_node)
+ if (!best_open_node)
best_open_node = node;
else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
best_open_node = node;
node.pathlib_node_g = g;
node.pathlib_node_f = f;
- if not (best_open_node)
+ if (!best_open_node)
best_open_node = node;
else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
best_open_node = node;
pathlib_movenode = pathlib_swimnode;
}
- if not(openlist)
+ if (!openlist)
openlist = spawn();
- if not(closedlist)
+ if (!closedlist)
closedlist = spawn();
- if not(scraplist)
+ if (!scraplist)
scraplist = spawn();
pathlib_closed_cnt = 0;
void __showpath2_think()
{
- #ifdef TURRET_DEBUG
+ #ifdef TURRET_DEBUG
mark_info(self.origin,1);
#endif
if(self.path_next)
node.path_prev = parent;
}
- if not (best_open_node)
+ if (!best_open_node)
best_open_node = node;
else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
best_open_node = node;
where = pathlib_movenode(parent.origin, to, 0);
- if not(pathlib_movenode_goodnode)
+ if (!pathlib_movenode_goodnode)
{
//pathlib_showsquare(where, 0 ,30);
//pathlib_showsquare(parent.origin, 1 ,30);
if(doedge)
- if not (tile_check(where))
+ if (!tile_check(where))
{
dprint("tile_check fail\n");
pathlib_showsquare(where, 0 ,30);
//}
}
- if not (best_open_node)
+ if (!best_open_node)
best_open_node = node;
else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
best_open_node = node;
node.pathlib_node_g = g;
node.pathlib_node_f = f;
- if not (best_open_node)
+ if (!best_open_node)
best_open_node = node;
else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
best_open_node = node;
pathlib_movenode = pathlib_swimnode;
}
- if not(openlist)
+ if (!openlist)
openlist = spawn();
- if not(closedlist)
+ if (!closedlist)
closedlist = spawn();
pathlib_closed_cnt = 0;
traceline(end + ('0 0 0.25' * pathlib_gridsize),end - ('0 0 1' * pathlib_gridsize),MOVE_WORLDONLY,self);
end = trace_endpos;
- if not(pointcontents(end - '0 0 1') == CONTENT_SOLID)
+ if (!(pointcontents(end - '0 0 1') == CONTENT_SOLID))
return end;
for(surface = start ; surface_z < (end_z + 32); ++surface_z)
// FIXME! wp.wp##mincost is NOT distance. Make it distance or add a field for distance to be used here (for better speed)
cost = vlen(child.origin - wp.origin);
-
+
child.path_prev = wp;
child.pathlib_list = openlist;
child.pathlib_node_g = wp.pathlib_node_g + cost;
child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
child.pathlib_node_c = pathlib_wpp_waypointcallback(child, wp);
child.pathlib_node_f = child.pathlib_node_g + child.pathlib_node_h + child.pathlib_node_c;
-
+
if(child == goal_node)
pathlib_foundgoal = TRUE;
// FIXME! wp.wp##mincost is NOT distance. Make it distance or add a field for distance to be used here (for better speed)
cost = vlen(child.origin - wp.origin);
-
+
child.path_prev = wp;
child.pathlib_list = openlist;
child.pathlib_node_g = wp.pathlib_node_g + cost;
- child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
+ child.pathlib_node_h = pathlib_heuristic(child.origin, goal_node.origin);
child.pathlib_node_f = child.pathlib_node_g + child.pathlib_node_h;
if(child == goal_node)
if(wp.wp29) pathlib_wpp_open(wp,wp.wp29,wp.wp29mincost); else return 29;
if(wp.wp30) pathlib_wpp_open(wp,wp.wp30,wp.wp30mincost); else return 30;
if(wp.wp31) pathlib_wpp_open(wp,wp.wp31,wp.wp31mincost); else return 31;
-
+
return 32;
}
float ptime;
ptime = gettime(GETTIME_REALTIME);
- pathlib_starttime = ptime;
+ pathlib_starttime = ptime;
pathlib_movecost = 300;
pathlib_movecost_diag = vlen('1 1 0' * pathlib_movecost);
-
- if not (pathlib_wpp_waypointcallback)
+
+ if (!pathlib_wpp_waypointcallback)
callback = FALSE;
-
+
if (callback)
pathlib_wpp_open = pathlib_wpp_opencb;
else
pathlib_wpp_open = pathlib_wpp_openncb;
-
+
pathlib_heuristic = pathlib_h_none;
-
- if not(openlist)
+
+ if (!openlist)
openlist = spawn();
- if not(closedlist)
+ if (!closedlist)
closedlist = spawn();
pathlib_closed_cnt = 0;
n.pathlib_node_g = 0;
n.pathlib_node_f = 0;
n.pathlib_node_h = 0;
-
+
//setmodel(n, "models/runematch/rune.mdl");
//n.effects = EF_LOWPRECISION;
//n.colormod = '0 0 0';
//n.scale = 1;
-
+
}
goal_node = wp_to;
}
pathlib_wpp_close(n);
dprint("Expanding ",ftos(pathlib_wpp_expand(n))," links\n");
-
+
if(pathlib_foundgoal)
{
entity start, end, open, ln;
-
+
dprint("Target found. Rebuilding and filtering path...\n");
-
+
buildpath_nodefilter = buildpath_nodefilter_none;
start = path_build(world, start_node.origin, world, world);
end = path_build(world, goal_node.origin, world, start);
ln = end;
-
+
for(open = goal_node; open.path_prev != start_node; open = open.path_prev)
{
n = path_build(ln,open.origin,open.path_prev,start);
ln = n;
}
start.path_next = n;
- n.path_prev = start;
-
+ n.path_prev = start;
+
return start;
}
// forward-right
p = where + f + r;
traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self);
- if not (location_isok(trace_endpos, 1, 0))
+ if (!location_isok(trace_endpos, 1, 0))
return 0;
// Forward-left
p = where + f - r;
traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self);
- if not (location_isok(trace_endpos, 1, 0))
+ if (!location_isok(trace_endpos, 1, 0))
return 0;
// Back-right
p = where - f + r;
traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self);
- if not (location_isok(trace_endpos, 1 ,0))
+ if (!location_isok(trace_endpos, 1 ,0))
return 0;
//Back-left
p = where - f - r;
traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, self);
- if not (location_isok(trace_endpos, 1, 0))
+ if (!location_isok(trace_endpos, 1, 0))
return 0;
return 1;
// forward
p = where + f;
traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self);
- if not (location_isok(trace_endpos,1,0))
+ if (!location_isok(trace_endpos,1,0))
return 0;
//left
p = where - r;
traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self);
- if not (location_isok(trace_endpos,1,0))
+ if (!location_isok(trace_endpos,1,0))
return 0;
// Right
p = where + r;
traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self);
- if not (location_isok(trace_endpos,1,0))
+ if (!location_isok(trace_endpos,1,0))
return 0;
//Back
p = where - f;
traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,self);
- if not (location_isok(trace_endpos,1,0))
+ if (!location_isok(trace_endpos,1,0))
return 0;
return 1;
if(playerstats_db >= 0)
playerstats_waitforme = FALSE; // must wait for it at match end
- serverflags |= SERVERFLAG_PLAYERSTATS;
+ serverflags |= SERVERFLAG_PLAYERSTATS;
PlayerStats_AddEvent(PLAYERSTATS_ALIVETIME);
PlayerStats_AddEvent(PLAYERSTATS_AVGLATENCY);
string key;
key = sprintf("%s:*", e.playerstats_id);
-
+
string p;
p = db_get(playerstats_db, key);
if(p == "")
string key;
key = sprintf("%d", t);
-
+
string p;
p = db_get(playerstats_db, key);
if(p == "")
{
if(playerstats_db < 0)
return;
-
+
string key;
key = sprintf("*:%s", event_id);
-
+
string p;
p = db_get(playerstats_db, key);
if(p == "")
{
if((e.playerstats_id == "") || playerstats_db < 0)
return 0;
-
+
string key;
float val;
key = sprintf("%s:%s", e.playerstats_id, event_id);
U: UDP port number of the server
D: duration of the match
P: player ID of an existing player; this also sets the owner for all following "n", "e" and "t" lines (lower case!)
- Q: team number of an existing team (format: team#NN); this also sets the owner for all following "e" lines (lower case!)
+ Q: team number of an existing team (format: team#NN); this also sets the owner for all following "e" lines (lower case!)
n: nickname of the player (optional)
t: team ID
i: player index
vector from, to, safe, step, transform, ang, newvel;
float planeshift, s, t;
- if not(teleporter.enemy)
+ if (!teleporter.enemy)
{
backtrace("Portal_TeleportPlayer called without other portal being set. Stop.");
return 0;
player = self;
self = oldself;
- if not(teleporter.enemy)
+ if (!teleporter.enemy)
{
backtrace("Portal_TeleportPlayer ended up without other portal being set BEFORE TeleportPlayer. Stop.");
return 0;
Send_Notification(NOTIF_ONE, player, MSG_ANNCE, ANNCE_ACHIEVEMENT_AMAZING);
}
- if not(teleporter.enemy)
+ if (!teleporter.enemy)
{
backtrace("Portal_TeleportPlayer ended up without other portal being set AFTER TeleportPlayer. Stop.");
return 0;
../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
mutators/base.qh
mutators/mutators.qh
mutators/gamemode_assault.qh
-mutators/gamemode_arena.qh
mutators/gamemode_ca.qh
mutators/gamemode_ctf.qh
mutators/gamemode_domination.qh
mutators/gamemode_keepaway.qh
mutators/gamemode_nexball.qh
mutators/gamemode_lms.qh
+mutators/gamemode_invasion.qh
mutators/mutator_dodging.qh
mutators/mutator_nades.qh
../common/turrets/checkpoint.qc
../common/turrets/targettrigger.qc
+../common/monsters/sv_monsters.qc
+../common/monsters/monsters.qc
+
+../common/monsters/spawn.qc
+
mutators/base.qc
mutators/gamemode_assault.qc
-mutators/gamemode_arena.qc
mutators/gamemode_ca.qc
mutators/gamemode_ctf.qc
mutators/gamemode_domination.qc
mutators/gamemode_nexball.qc
mutators/gamemode_onslaught.qc
mutators/gamemode_lms.qc
+mutators/gamemode_invasion.qc
mutators/mutator_invincibleproj.qc
mutators/mutator_new_toys.qc
mutators/mutator_nix.qc
../common/test.qc
../common/util.qc
../common/notifications.qc
-
-../common/if-this-file-errors-scroll-up-and-fix-the-warnings.fteqccfail
oldrec = race_readTime(GetMapname(), newpos);
oldrec_holder = race_readName(GetMapname(), newpos);
-
+
// store new ranking
race_writeTime(GetMapname(), t, myuid);
if(rankings_reply)
strunzone(rankings_reply);
rankings_reply = strzone(getrankings());
-
+
if(newpos == player_prevpos)
{
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_RACE_NEW_IMPROVED, mynetname, newpos, t, oldrec);
if(tvalid)
if(cp == race_timed_checkpoint) // finish line
- if not(e.race_completed)
+ if (!e.race_completed)
{
float s;
if(g_race_qualifying)
/*
* Trigger targets
*/
- if not((self.spawnflags & 2) && (IS_PLAYER(other)))
+ if (!((self.spawnflags & 2) && (IS_PLAYER(other))))
{
activator = other;
oldmsg = self.message;
self.message = oldmsg;
}
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
/*
other.porto_forbidden = 2; // decreased by 1 each StartFrame
if(defrag_ents) {
- if(self.race_checkpoint == -2)
+ if(self.race_checkpoint == -2)
{
self.race_checkpoint = other.race_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(have_verified)
return;
have_verified = 1;
-
+
qual = g_race_qualifying;
oldself = self;
self.race_place = race_lowest_place_spawn;
if(!Spawn_FilterOutBadSpots(findchain(classname, "info_player_deathmatch"), 0, FALSE))
error(strcat("Checkpoint ", ftos(i), " misses a spawnpoint with race_place==", ftos(self.race_place), " (used for qualifying) - bailing out"));
-
+
// race only (initial spawn)
g_race_qualifying = 0;
for(p = 1; p <= race_highest_place_spawn; ++p)
self.race_checkpoint = race_NextCheckpoint(0);
g_race_qualifying = 1;
self.race_place = 0; // there's only one spawn on defrag maps
-
+
// check if a defragcp file already exists, then read it and apply the checkpoint order
float fh;
float len;
targ.wait = 0;
targ.delay = 0;
- // These just make the game crash on some maps with oddly shaped triggers.
- // (on the other hand they used to fix the case when two players ran through a checkpoint at once,
+ // These just make the game crash on some maps with oddly shaped triggers.
+ // (on the other hand they used to fix the case when two players ran through a checkpoint at once,
// and often one of them just passed through without being registered. Hope it's fixed in a better way now.
// (happened on item triggers too)
//
EXACTTRIGGER_INIT;
self.use = checkpoint_use;
- if not(self.spawnflags & 1)
+ if (!(self.spawnflags & 1))
self.touch = checkpoint_touch;
o = (self.absmin + self.absmax) * 0.5;
self.message2 = "was pushed backwards by";
if (self.race_penalty_reason == "")
self.race_penalty_reason = "missing a checkpoint";
-
+
self.race_checkpoint = self.cnt;
if(self.race_checkpoint > race_highest_checkpoint)
EXACTTRIGGER_INIT;
self.use = checkpoint_use;
- if not(self.spawnflags & 1)
+ if (!(self.spawnflags & 1))
self.touch = checkpoint_touch;
o = (self.absmin + self.absmax) * 0.5;
EXACTTRIGGER_INIT;
self.use = penalty_use;
- if not(self.spawnflags & 1)
+ if (!(self.spawnflags & 1))
self.touch = penalty_touch;
if (self.race_penalty_reason == "")
l = PlayerScore_Add(e, SP_RACE_LAPS, 0);
if(e.race_completed)
return l; // not fractional
-
+
vector o0, o1;
float bestfraction, fraction;
entity lastcp, cp0, cp1;
if(nextcpindex == lastcpindex)
return l; // finish
-
+
bestfraction = 1;
for(cp0 = world; (cp0 = find(cp0, classname, "trigger_race_checkpoint")); )
{
entity s;
if(gameover)
- if not(g_lms && scorefield == SP_LMS_RANK) // allow writing to this field in intermission as it is needed for newly joining players
+ if(!(g_lms && scorefield == SP_LMS_RANK)) // allow writing to this field in intermission as it is needed for newly joining players
score = 0;
if(!scores_initialized) return 0; // FIXME remove this when everything uses this system
s = strcat(s, ":human");
else
s = strcat(s, ":bot");
- if(!IS_PLAYER(p) && !g_arena && p.caplayer != 1 && !g_lms)
+ if(!IS_PLAYER(p) && p.caplayer != 1 && !g_lms)
s = strcat(s, ":spectator");
}
else
{
- if(IS_PLAYER(p) || g_arena || p.caplayer == 1 || g_lms)
+ if(IS_PLAYER(p) || p.caplayer == 1 || g_lms)
s = GetPlayerScoreString(p, 2);
else
s = "-666";
if(teams < 0)
return 0;
}
-
+
return PlayerScore_Compare(p1.scorekeeper, p2.scorekeeper, strict);
}
plist = p;
}
// Now plist points to the whole list.
-
+
pfirst = plast = world;
i = j = 0;
pbest.field = j;
- if not(pfirst)
+ if (!pfirst)
pfirst = pbest;
if(plast)
plast.chain = pbest;
}
sk = teamscorekeepers[t - 1];
- if not(sk)
+ if (!sk)
return -999999999;
s = sk.teamscores_primary;
if(teamscores_flags_primary & SFL_ZERO_IS_WORST)
s = "Scores:";
s = strcat(s, strpad(max(0, NAMEWIDTH - strlennocol(s)), ""));
-
+
for(i = 0; i < MAX_SCORE; ++i)
if(scores_label[i] != "")
{
break;
}
}
-
+
for(i = 0; i < MAX_SCORE; ++i)
if(scores_label[i] != "")
{
t = p.team;
p = p.chain;
}
-
+
t = 0;
FOR_EACH_CLIENT(p)
- if not(IS_PLAYER(p))
+ if (!IS_PLAYER(p))
{
- if not(t)
+ if (!t)
Score_NicePrint_Spectators(to);
Score_NicePrint_Spectator(to, p);
t = 1;
if(score_enabled)
ScoreInfo_SetLabel_TeamScore (ST_SCORE, "score", stprio);
- if not(INDEPENDENT_PLAYERS)
+ if (!INDEPENDENT_PLAYERS)
ScoreInfo_SetLabel_PlayerScore(SP_KILLS, "kills", 0);
ScoreInfo_SetLabel_PlayerScore(SP_DEATHS, "deaths", SFL_LOWER_IS_BETTER);
- if not(INDEPENDENT_PLAYERS)
+ if (!INDEPENDENT_PLAYERS)
ScoreInfo_SetLabel_PlayerScore(SP_SUICIDES, "suicides", SFL_LOWER_IS_BETTER);
if(score_enabled)
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();
+}
*/
void trigger_secret_touch() {
// only a player can trigger this
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
-
+
// update secrets found counter
secrets_found += 1;
//print("Secret found: ", ftos(secret_counter.cnt), "/");
// centerprint message (multi_touch() doesn't always call centerprint())
centerprint(other, self.message);
self.message = "";
-
+
// handle normal trigger features
multi_touch();
remove(self);
*/
void spawnfunc_trigger_secret() {
// FIXME: should it be disabled in most modes?
-
+
// update secrets count
secrets_total += 1;
-
+
// add default message
if (self.message == "")
self.message = "You found a secret!";
-
+
// set default sound
if (self.noise == "")
- if not(self.sounds)
+ if (!self.sounds)
self.sounds = 1; // misc/secret.wav
-
+
// this entity can't be a target itself!!!!
self.targetname = "";
-
+
// you can't just shoot a room to find it, can you?
self.health = 0;
-
+
// a secret can not be delayed
self.delay = 0;
-
+
// convert this trigger to trigger_once
self.classname = "trigger_once";
spawnfunc_trigger_once();
-
+
// take over the touch() function, so we can mark secret as found
self.touch = trigger_secret_touch;
// ignore triggering;
float SpawnEvent_Send(entity to, float sf)
{
float send;
-
+
WriteByte(MSG_ENTITY, ENT_CLIENT_SPAWNEVENT);
if(autocvar_g_spawn_alloweffects)
}
else
{
- float mindist;
- if(g_arena && arena_roundbased)
- mindist = 800;
- else
- mindist = 100;
- firstspot = Spawn_FilterOutBadSpots(firstspot, mindist, teamcheck);
+ firstspot = Spawn_FilterOutBadSpots(firstspot, 100, teamcheck);
// there is 50/50 chance of choosing a random spot or the furthest spot
// (this means that roughly every other spawn will be furthest, so you
{
entity oldself;
float dm;
-
+
oldself = self;
for(self = world; (self = findfloat(self, damagedbycontents, TRUE)); )
{
if (self.movetype == MOVETYPE_NOCLIP) { continue; }
-
+
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)
{
if (!(self.flags & FL_INWATER))
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)
{
}
}
}
-
+
if (self.dmgtime < time)
{
- self.dmgtime = time + autocvar_g_balance_contents_damagerate;
-
+ self.dmgtime = time + autocvar_g_balance_contents_damagerate;
+
if (projectile)
{
if (self.watertype == CONTENT_LAVA)
else
dprint(ftos(trace_dphitq3surfaceflags), "\n");
*/
- if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
+ if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS))
{
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
GlobalSound(globalsound_metalstep, CH_PLAYER, VOICETYPE_PLAYERSOUND);
}
}
}
-
+
self.oldvelocity = self.velocity;
}
self = oldself;
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)
{
if (self)
if (self.gametypefilter != "")
- if not(isGametypeInFilter(MapInfo_LoadedGametype, teamplay, have_team_spawns, self.gametypefilter))
+ if (!isGametypeInFilter(MapInfo_LoadedGametype, teamplay, have_team_spawns, self.gametypefilter))
{
remove(self);
return;
else
{
k = s;
- if not(cvar(k))
+ if (!cvar(k))
goto cvar_fail;
}
}
inv = !inv;
:cvar_fail
// now inv is 1 if we want to keep the item, and 0 if we want to get rid of it
- if not(inv)
+ if (!inv)
{
//print("cvarfilter fail\n");
remove(self);
void func_ladder_touch()
{
- if not(other.iscreature)
+ if (!other.iscreature)
return;
if (other.vehicle_flags & VHF_ISVEHICLE)
return;
.float gravity;
.vector colormod;
void ItemDraw()
-{
+{
if(self.gravity)
- {
+ {
Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
- if(self.move_flags & FL_ONGROUND)
+ if(self.move_flags & FL_ONGROUND)
{ // For some reason move_avelocity gets set to '0 0 0' here ...
self.oldorigin = self.origin;
self.gravity = 0;
- if(autocvar_cl_animate_items)
- { // ... so reset it if animations are requested.
+ if(autocvar_cl_animate_items)
+ { // ... so reset it if animations are requested.
if(self.ItemStatus & ITS_ANIMATE1)
self.move_avelocity = '0 180 0';
-
+
if(self.ItemStatus & ITS_ANIMATE2)
self.move_avelocity = '0 -90 0';
}
}
}
else if (autocvar_cl_animate_items)
- {
+ {
if(self.ItemStatus & ITS_ANIMATE1)
{
self.angles += self.move_avelocity * frametime;
- setorigin(self, '0 0 10' + self.oldorigin + '0 0 8' * sin(time * 2));
- }
-
+ setorigin(self, '0 0 10' + self.oldorigin + '0 0 8' * sin(time * 2));
+ }
+
if(self.ItemStatus & ITS_ANIMATE2)
{
self.angles += self.move_avelocity * frametime;
- setorigin(self, '0 0 8' + self.oldorigin + '0 0 4' * sin(time * 3));
+ setorigin(self, '0 0 8' + self.oldorigin + '0 0 4' * sin(time * 3));
}
}
}
void ItemDrawSimple()
{
if(self.gravity)
- {
- Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
-
+ {
+ Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
+
if(self.move_flags & FL_ONGROUND)
self.gravity = 0;
}
setorigin(self, self.origin);
self.oldorigin = self.origin;
}
-
- if(sf & ISF_ANGLES)
+
+ if(sf & ISF_ANGLES)
{
self.angles_x = ReadCoord();
self.angles_y = ReadCoord();
- self.angles_z = ReadCoord();
+ self.angles_z = ReadCoord();
self.move_angles = self.angles;
}
-
+
if(sf & ISF_STATUS) // need to read/write status frist so model can handle simple, fb etc.
{
- self.ItemStatus = ReadByte();
-
+ self.ItemStatus = ReadByte();
+
if(self.ItemStatus & ITS_AVAILABLE)
{
self.alpha = 1;
}
else
self.alpha = -1;
- }
-
+ }
+
if(autocvar_cl_fullbright_items)
if(self.ItemStatus & ITS_ALLOWFB)
self.effects |= EF_FULLBRIGHT;
-
+
if(self.ItemStatus & ITS_STAYWEP)
{
self.colormod = self.glowmod = autocvar_cl_weapon_stay_color;
self.alpha = autocvar_cl_weapon_stay_alpha;
-
+
}
-
+
if(self.ItemStatus & ITS_POWERUP)
{
if(self.ItemStatus & ITS_AVAILABLE)
self.effects &= ~(EF_ADDITIVE | EF_FULLBRIGHT);
}
}
-
+
if(sf & ISF_MODEL)
{
self.drawmask = MASK_NORMAL;
self.movetype = MOVETYPE_NOCLIP;
self.draw = ItemDraw;
-
+
if(self.mdl)
strunzone(self.mdl);
-
+
self.mdl = "";
string _fn = ReadString();
-
+
if(autocvar_cl_simple_items && (self.ItemStatus & ITS_ALLOWSI))
{
string _fn2 = substring(_fn, 0 , strlen(_fn) -4);
self.draw = ItemDrawSimple;
-
-
-
+
+
+
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)))
dprint("Simple item requested for ", _fn, " but no model exsist for it\n");
}
}
-
- if(self.draw != ItemDrawSimple)
- self.mdl = strzone(_fn);
-
-
+
+ if(self.draw != ItemDrawSimple)
+ self.mdl = strzone(_fn);
+
+
if(self.mdl == "")
dprint("^1WARNING!^7 self.mdl is unset for item ", self.classname, " tell tZork aboute this!\n");
-
+
precache_model(self.mdl);
setmodel(self, self.mdl);
}
-
+
if(sf & ISF_COLORMAP)
self.colormap = ReadShort();
-
+
if(sf & ISF_DROP)
{
self.gravity = 1;
self.move_velocity_z = ReadCoord();
self.velocity = self.move_velocity;
self.move_origin = self.oldorigin;
-
+
if(!self.move_time)
{
self.move_time = time;
else
self.move_time = max(self.move_time, time);
}
-
+
if(autocvar_cl_animate_items)
- {
+ {
if(self.ItemStatus & ITS_ANIMATE1)
self.move_avelocity = '0 180 0';
-
+
if(self.ItemStatus & ITS_ANIMATE2)
self.move_avelocity = '0 -90 0';
}
sf |= ISF_DROP;
else
sf &= ~ISF_DROP;
-
- WriteByte(MSG_ENTITY, ENT_CLIENT_ITEM);
+
+ WriteByte(MSG_ENTITY, ENT_CLIENT_ITEM);
WriteByte(MSG_ENTITY, sf);
//WriteByte(MSG_ENTITY, self.cnt);
WriteCoord(MSG_ENTITY, self.origin_y);
WriteCoord(MSG_ENTITY, self.origin_z);
}
-
+
if(sf & ISF_ANGLES)
{
WriteCoord(MSG_ENTITY, self.angles_x);
if(sf & ISF_MODEL)
{
-
+
if(self.mdl == "")
dprint("^1WARNING!^7 self.mdl is unset for item ", self.classname, "exspect a crash just aboute now\n");
-
+
WriteString(MSG_ENTITY, self.mdl);
}
-
-
+
+
if(sf & ISF_COLORMAP)
WriteShort(MSG_ENTITY, self.colormap);
WriteCoord(MSG_ENTITY, self.velocity_y);
WriteCoord(MSG_ENTITY, self.velocity_z);
}
-
+
return TRUE;
}
*/
void Item_Show (entity e, float mode)
-{
+{
e.effects &= ~(EF_ADDITIVE | EF_STARDUST | EF_FULLBRIGHT | EF_NODEPTHTEST);
e.ItemStatus &= ~ITS_STAYWEP;
if (mode > 0)
e.spawnshieldtime = 1;
e.ItemStatus &= ~ITS_AVAILABLE;
}
-
+
if (e.items & IT_STRENGTH || e.items & IT_INVINCIBLE)
- e.ItemStatus |= ITS_POWERUP;
-
+ e.ItemStatus |= ITS_POWERUP;
+
if (autocvar_g_nodepthtestitems)
e.effects |= EF_NODEPTHTEST;
-
-
+
+
if (autocvar_g_fullbrightitems)
e.ItemStatus |= ITS_ALLOWFB;
-
+
if (autocvar_sv_simple_items)
e.ItemStatus |= ITS_ALLOWSI;
if (player.switchweapon == w_getbestweapon(player))
_switchweapon = TRUE;
- if not(player.weapons & WepSet_FromWeapon(player.switchweapon))
+ if (!(player.weapons & WepSet_FromWeapon(player.switchweapon)))
_switchweapon = TRUE;
pickedup |= Item_GiveAmmoTo(item, player, ammo_fuel, g_pickup_fuel_max, ITEM_MODE_FUEL);
}
:skip
-
+
// always eat teamed entities
if(item.team)
pickedup = TRUE;
void Item_Touch (void)
{
entity e, head;
-
+
// remove the item if it's currnetly in a NODROP brush or hits a NOIMPACT surface (such as sky)
if(self.classname == "droppedweapon")
{
}
}
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if (other.deadflag)
return;
return;
if (self.owner == other)
return;
+ if (time < self.item_spawnshieldtime)
+ return;
switch(MUTATOR_CALLHOOK(ItemTouch))
{
if (self.classname == "droppedweapon")
remove (self);
- else if not(self.spawnshieldtime)
+ else if (!self.spawnshieldtime)
return;
else
{
{
wi = get_weaponinfo(i);
- if not(player.weapons & WepSet_FromWeapon(i))
+ if (!(player.weapons & WepSet_FromWeapon(i)))
continue;
if(wi.items & IT_SHELLS)
if(self.model == "")
self.model = itemmodel;
-
+
if(self.model == "")
{
error(strcat("^1Tried to spawn ", itemname, " with no model!\n"));
return;
}
-
+
if(self.item_pickupsound == "")
self.item_pickupsound = pickupsound;
-
+
if(!self.respawntime) // both need to be set
{
self.respawntime = defaultrespawntime;
if(weaponid)
self.weapons = WepSet_FromWeapon(weaponid);
-
+
self.flags = FL_ITEM | itemflags;
if(MUTATOR_CALLHOOK(FilterItem)) // error means we do not want the item
remove (self);
return;
}
-
+
if(self.angles != '0 0 0')
self.SendFlags |= ISF_ANGLES;
self.netname = itemname;
self.touch = Item_Touch;
setmodel(self, "null"); // precision set below
- //self.effects |= EF_LOWPRECISION;
-
+ //self.effects |= EF_LOWPRECISION;
+
if((itemflags & FL_POWERUP) || self.health || self.armorvalue)
{
self.pos1 = '-16 -16 0';
self.pos2 = '16 16 32';
}
setsize (self, self.pos1, self.pos2);
-
- if(itemflags & FL_POWERUP)
+
+ if(itemflags & FL_POWERUP)
self.ItemStatus |= ITS_ANIMATE1;
-
+
if(self.armorvalue || self.health)
self.ItemStatus |= ITS_ANIMATE2;
-
+
if(itemflags & FL_WEAPON)
{
if (self.classname != "droppedweapon") // if dropped, colormap is already set up nicely
self.colormap = 1024; // color shirt=0 pants=0 grey
else
self.gravity = 1;
-
+
self.ItemStatus |= ITS_ANIMATE1;
self.ItemStatus |= ISF_COLORMAP;
}
{
if(!self.cnt)
self.cnt = 1; // item probability weight
-
+
self.effects |= EF_NODRAW; // marker for item team search
InitializeEntity(self, Item_FindTeam, INITPRIO_FINDTARGET);
}
else
Item_Reset();
-
+
Net_LinkEntity(self, FALSE, 0, ItemSend);
// call this hook after everything else has been done
return;
}
- if not(IS_PLAYER(activator))
+ if (!IS_PLAYER(activator))
return;
if(activator.deadflag != DEAD_NO)
return;
e.strength_finished = max(0, e.strength_finished - time);
e.invincible_finished = max(0, e.invincible_finished - time);
e.superweapons_finished = max(0, e.superweapons_finished - time);
-
+
PREGIVE(e, items);
PREGIVE_WEAPONS(e);
PREGIVE(e, strength_finished);
{
wi = get_weaponinfo(j);
if(wi.weapon)
- if not(wi.spawnflags & WEP_FLAG_MUTATORBLOCKED)
+ if (!(wi.spawnflags & WEP_FLAG_MUTATORBLOCKED))
got += GiveWeapon(e, j, op, val);
}
case "allammo":
if(wi.weapon)
{
POSTGIVE_WEAPON(e, j, "weapons/weaponpickup.wav", string_null);
- if not(save_weapons & WepSet_FromWeapon(j))
+ if (!(save_weapons & WepSet_FromWeapon(j)))
if(e.weapons & WepSet_FromWeapon(j))
weapon_action(wi.weapon, WR_PRECACHE);
}
else
e.superweapons_finished += time;
- if not(e.weapons & WepSet_FromWeapon(e.switchweapon))
+ if (!(e.weapons & WepSet_FromWeapon(e.switchweapon)))
_switchweapon = TRUE;
if(_switchweapon)
W_SwitchWeapon_Force(e, w_getbestweapon(e));
self.speed = 1000;
self.movedir = self.movedir * self.speed * 10;
- if not(self.noise)
+ if (!self.noise)
self.noise = "misc/jumppad.wav";
precache_sound (self.noise);
void plat_center_touch()
{
- if not(other.iscreature)
+ if (!other.iscreature)
return;
if (other.health <= 0)
void plat_outside_touch()
{
- if not(other.iscreature)
+ if (!other.iscreature)
return;
if (other.health <= 0)
self.angles = '0 0 0';
self.classname = "plat";
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
self.effects |= EF_LOWPRECISION;
setsize (self, self.mins , self.maxs);
if (!self.speed)
self.speed = 100;
+ if (!InitMovingBrushTrigger())
+ return;
+ self.effects |= EF_LOWPRECISION;
+
if (self.spawnflags & 2)
{
self.platmovetype_turn = TRUE;
else
self.view_ofs = self.mins;
- if not(InitMovingBrushTrigger())
- return;
- self.effects |= EF_LOWPRECISION;
-
// wait for targets to spawn
InitializeEntity(self, func_train_find, INITPRIO_SETLOCATION);
void func_rotating_setactive(float astate)
{
-
+
if (astate == ACTIVE_TOGGLE)
- {
+ {
if(self.active == ACTIVE_ACTIVE)
self.active = ACTIVE_NOT;
else
}
else
self.active = astate;
-
- if(self.active == ACTIVE_NOT)
+
+ if(self.active == ACTIVE_NOT)
self.avelocity = '0 0 0';
else
self.avelocity = self.pos1;
precache_sound(self.noise);
ambientsound(self.origin, self.noise, VOL_BASE, ATTEN_IDLE);
}
-
+
self.active = ACTIVE_ACTIVE;
self.setactive = func_rotating_setactive;
-
+
if (!self.speed)
self.speed = 100;
// FIXME: test if this turns the right way, then remove this comment (negate as needed)
// FIXME: test if this turns the right way, then remove this comment (negate as needed)
else // Z
self.avelocity = '0 1 0' * self.speed;
-
+
self.pos1 = self.avelocity;
-
+
if(self.dmg && (self.message == ""))
self.message = " was squished";
if(self.dmg && (self.message2 == ""))
self.dmgtime2 = time;
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
// no EF_LOWPRECISION here, as rounding angles is bad
{
vector v;
self.nextthink = time + 0.1;
-
- if not (self.owner.active == ACTIVE_ACTIVE)
+
+ if (!(self.owner.active == ACTIVE_ACTIVE))
{
- self.owner.velocity = '0 0 0';
+ self.owner.velocity = '0 0 0';
return;
}
-
+
// calculate sinewave using makevectors
makevectors((self.nextthink * self.owner.cnt + self.owner.phase * 360) * '0 1 0');
v = self.owner.destvec + self.owner.movedir * v_forward_y;
else // Z
self.movedir = '0 0 1' * self.height;
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
// wait for targets to spawn
float v;
self.nextthink = time + 0.1;
- if not (self.owner.active == ACTIVE_ACTIVE)
+ if (!(self.owner.active == ACTIVE_ACTIVE))
{
self.owner.avelocity_x = 0;
return;
self.blocked = generic_plat_blocked;
self.avelocity_z = 0.0000001;
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
if(!self.freq)
void button_use()
{
- if not (self.active == ACTIVE_ACTIVE)
+ if (!(self.active == ACTIVE_ACTIVE))
return;
self.enemy = activator;
{
if (!other)
return;
- if not(other.iscreature)
+ if (!other.iscreature)
return;
if(other.velocity * self.movedir < 0)
return;
{
SetMovedir ();
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
self.effects |= EF_LOWPRECISION;
float door_check_keys(void) {
local entity door;
-
-
+
+
if (self.owner)
door = self.owner;
else
door = self;
-
+
// no key needed
- if not(door.itemkeys)
+ if (!door.itemkeys)
return TRUE;
// this door require a key
// only a player can have a key
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return FALSE;
-
+
if (item_keys_usekey(door, other)) {
// some keys were used
if (other.key_door_messagetime <= time) {
entity oself;
//dprint("door_use (model: ");dprint(self.model);dprint(")\n");
-
+
if (self.owner)
{
oself = self;
void door_trigger_touch()
{
if (other.health < 1)
- if not(other.iscreature && other.deadflag == DEAD_NO)
+ if (!(other.iscreature && other.deadflag == DEAD_NO))
return;
if (time < self.attack_finished_single)
return;
-
+
// check if door is locked
if (!door_check_keys())
return;
-
+
self.attack_finished_single = time + 1;
activator = other;
if(!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH))
return;
self.health = self.health - damage;
-
+
if (self.itemkeys) {
// don't allow opening doors through damage if keys are required
return;
}
-
+
if (self.health <= 0)
{
oself = self;
*/
void door_touch()
{
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if (self.owner.attack_finished_single > time)
return;
self.itemkeys |= ITEM_KEY_BIT(0);
if (self.spawnflags & SPAWNFLAGS_SILVER_KEY)
self.itemkeys |= ITEM_KEY_BIT(1);
-
+
//if (!self.deathtype) // map makers can override this
// self.deathtype = " got in the way";
SetMovedir ();
self.max_health = self.health;
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
self.effects |= EF_LOWPRECISION;
self.classname = "door";
self.max_health = self.health;
self.avelocity = self.movedir;
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
self.velocity = '0 0 0';
//self.effects |= EF_LOWPRECISION;
*/
void secret_touch()
{
- if not(other.iscreature)
+ if (!other.iscreature)
return;
if (self.attack_finished_single > time)
return;
self.mangle = self.angles;
self.angles = '0 0 0';
self.classname = "door";
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
self.effects |= EF_LOWPRECISION;
float n, i, t;
self.nextthink = time + 0.1;
- if not (self.owner.active == ACTIVE_ACTIVE)
+ if (!(self.owner.active == ACTIVE_ACTIVE))
{
- self.owner.velocity = '0 0 0';
+ self.owner.velocity = '0 0 0';
return;
}
if(self.netname == "")
self.netname = "1 0 0 0 1";
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
self.active = ACTIVE_ACTIVE;
{
self.nextthink = time + 0.1;
- if not (self.owner.active == ACTIVE_ACTIVE)
+ if (!(self.owner.active == ACTIVE_ACTIVE))
{
- self.owner.velocity = '0 0 0';
+ self.owner.velocity = '0 0 0';
return;
}
if(self.netname == "")
self.netname = "1 0 0 0 1";
- if not(InitMovingBrushTrigger())
+ if (!InitMovingBrushTrigger())
return;
// wait for targets to spawn
return 1;
if(self.notta)
- if not(!teamplay || g_tdm || g_ctf)
+ if (!(!teamplay || g_tdm || g_ctf))
return 1;
if(self.notsingle)
gametypename = "ffa";
if(teamplay)
gametypename = "team";
- if(g_arena)
- gametypename = "tournament";
if(g_ctf)
gametypename = "ctf";
if(maxclients == 1)
/*
* t_swamp.c
* Adds spawnfunc_trigger_swamp and suppoart routines for xonotic 1.2.1+
-* Author tZork (Jakob MG)
+* Author tZork (Jakob MG)
* jakob@games43.se
* 2005 11 29
*/
* It works like this: When the plyer enters teh swamp the spawnfunc_trigger_swamp
* attaches a new "swampslug" to the player. As long as the plyer is inside
* the swamp the swamp gives the slug new health. But the slug slowly kills itself
-* so when the player goes outside the swamp, it dies and releases the player from the
-* swamps curses (dmg/slowdown)
-*
+* so when the player goes outside the swamp, it dies and releases the player from the
+* swamps curses (dmg/slowdown)
+*
* I do it this way becuz there is no "untouch" event.
*
-* --NOTE--
+* --NOTE--
* THE ACCTUAL slowdown is done in cl_physics.c on line 57-60
* --NOTE--
*/
-void swampslug_think(void)
+void swampslug_think(void)
{
//Slowly kill the slug
self.health = self.health - 1;
//centerprint(self.owner,"Killing slug...\n");
return;
}
-
+
// Slug still alive, so we are still in the swamp
// Or we have exited it very recently.
// Do the damage and renew the timer.
self.nextthink = time + self.swamp_interval;
}
-void swamp_touch(void)
+void swamp_touch(void)
{
// If whatever thats touching the swamp is not a player
// or if its a dead player, just dont care abt it.
}
/*QUAKED spawnfunc_trigger_swamp (.5 .5 .5) ?
-Players gettin into the swamp will
+Players gettin into the swamp will
get slowd down and damaged
*/
void spawnfunc_trigger_swamp(void)
{
// Init stuff
EXACTTRIGGER_INIT;
- self.touch = swamp_touch;
+ self.touch = swamp_touch;
// Setup default keys, if missing
- if(self.dmg <= 0)
+ if(self.dmg <= 0)
self.dmg = 5;
- if(self.swamp_interval <= 0)
+ if(self.swamp_interval <= 0)
self.swamp_interval = 1;
- if(self.swamp_slowdown <= 0)
+ if(self.swamp_slowdown <= 0)
self.swamp_slowdown = 0.5;
}
if(head != player) \
if(head.takedamage) \
if(boxesoverlap(deathmin, deathmax, head.absmin, head.absmax))
-
+
float check_tdeath(entity player, vector org, vector telefragmin, vector telefragmax)
{
{
TDEATHLOOP(org)
{
- if not(teamplay && autocvar_g_telefrags_teamplay && head.team == player.team)
+ if (!(teamplay && autocvar_g_telefrags_teamplay && head.team == player.team))
if(IS_PLAYER(head))
if(head.health >= 1)
return 1;
{
if (IS_PLAYER(player) && player.health >= 1)
{
- if not(teamplay && autocvar_g_telefrags_teamplay && head.team == player.team)
+ if (!(teamplay && autocvar_g_telefrags_teamplay && head.team == player.team))
{
if(IS_PLAYER(head))
if(head.health >= 1)
vector locout;
entity e;
float p;
-
+
// Find the output teleporter
if(teleporter.enemy)
{
e = teleporter.enemy;
}
else
- {
+ {
RandomSelection_Init();
for(e = world; (e = find(e, targetname, teleporter.target)); )
{
}
if(!e) { sprint(player, "Teleport destination vanished. Sorry... please complain to the mapper.\n"); }
-
+
makevectors(e.mangle);
if(e.speed)
if(vlen(player.velocity) > e.speed)
player.velocity = normalize(player.velocity) * max(0, e.speed);
-
+
if(autocvar_g_teleport_maxspeed)
if(vlen(player.velocity) > autocvar_g_teleport_maxspeed)
player.velocity = normalize(player.velocity) * max(0, autocvar_g_teleport_maxspeed);
if (self.active != ACTIVE_ACTIVE)
return;
-
- if not(other.teleportable)
+
+ if (!other.teleportable)
return;
-
+
if(other.vehicle)
if(!other.vehicle.teleportable)
return;
-
+
if(other.turret_flags & TUR_FLAG_ISTURRET)
return;
-
+
if(other.deadflag != DEAD_NO)
return;
if(IS_PLAYER(other))
RemoveGrapplingHook(other);
-
+
entity e;
e = Simple_TeleportPlayer(self, other);
activator = other;
s = self.target; self.target = string_null;
SUB_UseTargets();
- if not(self.target) self.target = s;
+ if (!self.target) self.target = s;
oldself = self;
self = e;
return world;
}
-entity teleport_first;
+entity teleport_first;
.entity teleport_next;
void spawnfunc_trigger_teleport (void)
{
self.angles = '0 0 0';
EXACTTRIGGER_INIT;
-
- self.active = ACTIVE_ACTIVE;
-
+
+ self.active = ACTIVE_ACTIVE;
+
self.use = trigger_teleport_use;
// this must be called to spawn the teleport waypoints for bots
objerror ("Teleporter with no target");
return;
}
-
+
self.teleport_next = teleport_first;
teleport_first = self;
}
++c; // increase count to not include MYSELF
for(e = world; (e = findfloat(e, target_spawn_id, self.target_spawn_id)); --c)
;
-
+
// if c now is 0, we have AT LEAST the given count (maybe more), so don't spawn any more
if(c == 0)
return 0;
teamplay = 0;
serverflags &= ~SERVERFLAG_TEAMPLAY;
- if not(cvar_value_issafe(world.fog))
+ if (!cvar_value_issafe(world.fog))
{
print("The current map contains a potentially harmful fog setting, ignored\n");
world.fog = string_null;
MUTATOR_ADD(gamemode_lms);
}
- if(g_arena)
- {
- fraglimit_override = autocvar_g_arena_point_limit;
- leadlimit_override = autocvar_g_arena_point_leadlimit;
- MUTATOR_ADD(gamemode_arena);
- }
-
if(g_ca)
{
ActivateTeamplay();
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)
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)
have_team_spawns = -1; // request team spawns
MUTATOR_ADD(gamemode_nexball);
}
-
+
if(g_keepaway)
{
MUTATOR_ADD(gamemode_keepaway);
}
+ if(g_invasion)
+ {
+ timelimit_override = 0; // no timelimit in invasion, round based
+ fraglimit_override = autocvar_g_invasion_round_limit;
+ MUTATOR_ADD(gamemode_invasion);
+ }
+
if(teamplay)
entcs_init();
else
g_race_qualifying = 0;
}
+
+ if(g_invasion)
+ {
+ inv_maxrounds = cvar("fraglimit");
+ cvar_set("fraglimit", "0");
+ }
if(g_race || g_cts)
{
}
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");
cb -= cbb * 0.999;
}
}
-
+
// keep teams alive (teams of size 0 always count as smaller, ignoring score)
if(ca < 1)
if(cb >= 1)
GetTeamCounts(world);
RandomSelection_Init();
-
+
t = 1;
if(TeamSmallerEqThanTeam(2, t, pl))
t = 2;
self = vehic;
-
-
+
+
vehic.solid = SOLID_NOT;
//setorigin(gunner, vehic.origin);
gunner.velocity = vehic.velocity;
-
+
float _in, _out;
vehic.angles_x *= -1;
makevectors(vehic.angles);
{
_in = autocvar_g_vehicle_bumblebee_cannon_turnlimit_out;
_out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in;
- setorigin(gunner, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128);
+ setorigin(gunner, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128);
}
-
+
crosshair_trace(gunner);
vector _ct = trace_endpos;
vector ad;
WriteAngle(MSG_ONE, self.vehicle.angles_y);
WriteAngle(MSG_ONE, 0);
}
-
+
CSQCVehicleSetup(self, HUD_NORMAL);
setsize(self, PL_MIN, PL_MAX);
if(self == self.vehicle.owner.gunner1)
{
- self.vehicle.owner.gunner1 = world;
+ self.vehicle.owner.gunner1 = world;
}
else if(self == self.vehicle.owner.gunner2)
{
- self.vehicle.owner.gunner2 = world;
+ self.vehicle.owner.gunner2 = world;
v_right *= -1;
- }
+ }
else
dprint("^1self != gunner1 or gunner2, this is a BIG PROBLEM, tell tZork this happend.\n");
-
+
vector spot = self.vehicle.owner.origin + + v_up * 128 + v_right * 300;
spot = vehicles_findgoodexit(spot);
//setorigin(self , spot);
_gun.vehicle_hudmodel.viewmodelforclient = other;
CSQCVehicleSetup(other, other.hud);
-
+
vh_player = other;
vh_vehicle = _gun;
MUTATOR_CALLHOOK(VehicleEnter);
float vehicles_valid_pilot()
{
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return FALSE;
if(other.deadflag != DEAD_NO)
if(other.vehicle != world)
return FALSE;
- if not(IS_REAL_CLIENT(other))
+ if (!IS_REAL_CLIENT(other))
if(!autocvar_g_vehicles_allow_bots)
return FALSE;
// Pitch
ftmp = 0;
- if(pilot.movement_x > 0 && vang_x < autocvar_g_vehicle_bumblebee_pitchlimit)
+ if(pilot.movement_x > 0 && vang_x < autocvar_g_vehicle_bumblebee_pitchlimit)
ftmp = 4;
- else if(pilot.movement_x < 0 && vang_x > -autocvar_g_vehicle_bumblebee_pitchlimit)
+ else if(pilot.movement_x < 0 && vang_x > -autocvar_g_vehicle_bumblebee_pitchlimit)
ftmp = -8;
newvel_x = bound(-autocvar_g_vehicle_bumblebee_pitchlimit, newvel_x , autocvar_g_vehicle_bumblebee_pitchlimit);
vehic.velocity += newvel * frametime;
pilot.velocity = pilot.movement = vehic.velocity;
-
+
if(autocvar_g_vehicle_bumblebee_healgun_locktime)
- {
+ {
if(vehic.tur_head.lock_time < time || vehic.tur_head.enemy.deadflag)
vehic.tur_head.enemy = world;
}
}
else
- {
+ {
vehic.tur_head.enemy = trace_ent;
vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime;
}
}
-
+
if(vehic.tur_head.enemy)
{
- trace_endpos = real_origin(vehic.tur_head.enemy);
- UpdateAuxiliaryXhair(pilot, trace_endpos, '0 0.75 0', 0);
+ trace_endpos = real_origin(vehic.tur_head.enemy);
+ UpdateAuxiliaryXhair(pilot, trace_endpos, '0 0.75 0', 0);
}
}
-
+
vang = vehicle_aimturret(vehic, trace_endpos, self.gun3, "fire",
autocvar_g_vehicle_bumblebee_raygun_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_raygun_pitchlimit_up,
autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides * -1, autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides, autocvar_g_vehicle_bumblebee_raygun_turnspeed);
{
vehic.gun3.enemy.realowner = pilot;
vehic.gun3.enemy.effects &= ~EF_NODRAW;
-
+
vehic.gun3.enemy.hook_start = gettaginfo(vehic.gun3, gettagindex(vehic.gun3, "fire"));
vehic.gun3.enemy.SendFlags |= BRG_START;
-
+
traceline(vehic.gun3.enemy.hook_start, vehic.gun3.enemy.hook_start + v_forward * autocvar_g_vehicle_bumblebee_raygun_range, MOVE_NORMAL, vehic);
-
+
if(trace_ent)
{
if(autocvar_g_vehicle_bumblebee_raygun)
}
}
}
-
+
vehic.gun3.enemy.hook_end = trace_endpos;
setorigin(vehic.gun3.enemy, trace_endpos);
vehic.gun3.enemy.SendFlags |= BRG_END;
-
+
vehic.wait = time + 1;
}
else
vehic.gun3.enemy = world;
}
*/
-
+
VEHICLE_UPDATE_PLAYER(pilot, health, bumblebee);
VEHICLE_UPDATE_PLAYER(pilot, energy, bumblebee);
if(vehic.vehicle_flags & VHF_HASSHIELD)
VEHICLE_UPDATE_PLAYER(pilot, shield, bumblebee);
-
+
vehic.angles_x *= -1;
makevectors(vehic.angles);
vehic.angles_x *= -1;
void bumb_think()
{
self.movetype = MOVETYPE_TOSS;
-
+
//self.velocity = self.velocity * 0.5;
self.angles_z *= 0.8;
self.angles_x *= 0.8;
-
+
self.nextthink = time + 0.05;
-
+
if(!self.owner)
{
- entity oldself = self;
+ entity oldself = self;
if(self.gunner1)
{
self = self.gunner1;
other = oldother;
return;
}
-
+
if(self.gunner2)
{
self = self.gunner2;
self.touch();
other = oldother;
return;
- }
+ }
}
-
+
}
void bumb_enter()
self.touch = vehicles_touch;
self.think = bumb_think;
self.nextthink = time;
-
+
if(!self.owner)
return;
-
+
fixedmakevectors(self.angles);
vector spot;
- if(vlen(self.velocity) > autocvar_g_vehicle_bumblebee_speed_forward * 0.5)
+ if(vlen(self.velocity) > autocvar_g_vehicle_bumblebee_speed_forward * 0.5)
spot = self.origin + v_up * 128 + v_forward * 200;
else
spot = self.origin + v_up * 128 - v_forward * 200;
-
+
spot = vehicles_findgoodexit(spot);
-
+
// Hide beam
if(self.gun3.enemy || !wasfreed(self.gun3.enemy)) {
self.gun3.enemy.effects |= EF_NODRAW;
self.owner.velocity = 0.75 * self.vehicle.velocity + normalize(spot - self.vehicle.origin) * 200;
self.owner.velocity_z += 10;
setorigin(self.owner, spot);
-
+
antilag_clear(self.owner);
self.owner = world;
}
sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
pointparticles(particleeffectnum("explosion_large"), randomvec() * 80 + (self.origin + '0 0 100'), '0 0 0', 1);
-
+
if(self.owner.deadflag == DEAD_DYING)
self.owner.deadflag = DEAD_DEAD;
-
+
remove(self);
}
void bumb_die()
{
entity oldself = self;
-
+
// Hide beam
if(self.gun3.enemy || !wasfreed(self.gun3.enemy))
self.gun3.enemy.effects |= EF_NODRAW;
-
+
if(self.gunner1)
{
self = self.gunner1;
_body.touch = bumb_blowup;
else
_body.touch = func_null;
-
+
_body.think = bumb_diethink;
_body.nextthink = time;
_body.wait = time + 2 + (random() * 8);
_body.owner = self;
_body.enemy = self.enemy;
-
+
pointparticles(particleeffectnum("explosion_medium"), findbetterlocation(self.origin, 16), '0 0 0', 1);
-
+
self.health = 0;
self.event_damage = func_null;
self.solid = SOLID_CORPSE;
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)
setorigin(self.gun2.vehicle_viewport, '-85 0 50');
self.scale = 1.5;
-
+
// Raygun beam
if(self.gun3.enemy == world)
- {
+ {
self.gun3.enemy = spawn();
Net_LinkEntity(self.gun3.enemy, TRUE, 0, bumble_raygun_send);
- self.gun3.enemy.SendFlags = BRG_SETUP;
- self.gun3.enemy.cnt = autocvar_g_vehicle_bumblebee_raygun;
+ self.gun3.enemy.SendFlags = BRG_SETUP;
+ self.gun3.enemy.cnt = autocvar_g_vehicle_bumblebee_raygun;
self.gun3.enemy.effects = EF_NODRAW | EF_LOWPRECISION;
}
}
self.movetype = MOVETYPE_TOSS;
self.vehicle_impact = bumb_impact;
self.damageforcescale = 0.025;
-
+
setorigin(self, self.origin + '0 0 25');
}
if(autocvar_g_vehicle_bumblebee_health_regen)
self.vehicle_flags |= VHF_HEALTHREGEN;
- if not(vehicle_initialize(
+ if(!vehicle_initialize(
"Bumblebee", "models/vehicles/bumblebee_body.dpm",
"", "models/vehicles/spiderbot_cockpit.dpm", "", "", "tag_viewport",
HUD_BUMBLEBEE, BUMB_MIN, BUMB_MAX, FALSE,
_len = vlen(self.origin - self.move_origin);
_dir = normalize(self.move_origin - self.origin);
-
+
if(self.total_damages < time)
{
boxparticles(self.traileffect, self, self.origin, self.origin + _dir * -64, _dir * -_len , _dir * -_len, 1, PARTICLES_USEALPHA);
self.cnt = ReadByte();
self.team = ReadByte();
self.cnt = ReadByte();
-
+
if(self.cnt)
self.colormod = '1 0 0';
else
self.colormod = '0 1 0';
self.traileffect = particleeffectnum("healray_muzzleflash");
- self.lip = particleeffectnum("healray_impact");
+ self.lip = particleeffectnum("healray_impact");
self.draw = bumble_raygun_draw;
}
-
-
+
+
if(sf & BRG_START)
{
self.origin_x = ReadCoord();
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)
{
return;
}
- if not (self.realowner.vehicle)
+ if (!self.realowner.vehicle)
{
UpdateCSQCProjectile(self);
return;
return;
}
- if not (self.realowner.vehicle)
+ if (!self.realowner.vehicle)
{
UpdateCSQCProjectile(self);
return;
self.movetype = MOVETYPE_BOUNCE;
sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
- if not (self.owner)
+ if (!self.owner)
return;
makevectors(self.angles);
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()
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()
self.damageforcescale = 0.5;
//self.destvec = autocvar_g_vehicle_racer_bouncepain;
}
-void racer_spawn_default()
-{
- racer_spawn(0);
-}
-
-
void spawnfunc_vehicle_racer()
{
{
remove(self);
return;
- }
-
+ }
+
self.vehicle_flags |= VHF_DMGSHAKE;
self.vehicle_flags |= VHF_DMGROLL;
if(autocvar_g_vehicle_racer_health_regen)
self.vehicle_flags |= VHF_HEALTHREGEN;
- if not (vehicle_initialize(
+ if(!vehicle_initialize(
"Wakizashi",
"models/vehicles/wakizashi.dpm",
"null", // we need this so tur_head is networked and usable for sounds
racer_frame,
racer_enter, racer_exit,
racer_die, racer_think,
- TRUE,
+ TRUE,
autocvar_g_vehicle_racer_health,
autocvar_g_vehicle_racer_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;
if(self.owner.flagcarried)
setorigin(self.owner.flagcarried, '-20 0 96');
-
+
CSQCVehicleSetup(self.owner, 0);
}
void raptor_land()
-{
+{
float hgt;
-
- hgt = raptor_altitude(512);
+
+ hgt = raptor_altitude(512);
self.velocity = (self.velocity * 0.9) + ('0 0 -1800' * (hgt / 256) * sys_frametime);
self.angles_x *= 0.95;
self.angles_z *= 0.95;
self.nextthink = time;
}
- if not (self.owner)
+ if (!self.owner)
return;
-
+
makevectors(self.angles);
if(eject)
{
self.owner.oldvelocity = self.owner.velocity;
setorigin(self.owner , spot);
}
-
- antilag_clear(self.owner);
+
+ antilag_clear(self.owner);
self.owner = world;
}
float raptor_takeoff()
{
entity player, raptor;
-
+
player = self;
raptor = self.vehicle;
self = raptor;
if(self.sound_nexttime < time)
- {
+ {
self.sound_nexttime = time + 7.955812; //soundlength("vehicles/raptor_fly.wav");
sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
- }
+ }
// Takeoff sequense
if(raptor.frame < 25)
_missile.enemy = self;
_missile = _missile.chain;
}
-
+
if(self.tur_impacttime < time)
remove(self);
}
entity player, raptor;
float ftmp = 0;
vector df;
-
+
if(intermission_running)
return 1;
vehicles_painframe();
/*
ftmp = vlen(self.velocity);
- if(ftmp > autocvar_g_vehicle_raptor_speed_forward)
+ if(ftmp > autocvar_g_vehicle_raptor_speed_forward)
ftmp = 1;
- else
+ else
ftmp = ftmp / autocvar_g_vehicle_raptor_speed_forward;
*/
-
+
if(self.sound_nexttime < time)
- {
- self.sound_nexttime = time + 7.955812;
+ {
+ self.sound_nexttime = time + 7.955812;
//sound (self.tur_head, CH_TRIGGER_SINGLE, "vehicles/raptor_fly.wav", 1 - ftmp, ATTEN_NORM );
- sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", 1, ATTEN_NORM);
+ sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", 1, ATTEN_NORM);
self.wait = ftmp;
- }
+ }
/*
else if(fabs(ftmp - self.wait) > 0.2)
{
sound (self.tur_head, CH_TRIGGER_SINGLE, "", 1 - ftmp, ATTEN_NORM );
- sound (self, CH_TRIGGER_SINGLE, "", ftmp, ATTEN_NORM);
+ sound (self, CH_TRIGGER_SINGLE, "", ftmp, ATTEN_NORM);
self.wait = ftmp;
}
*/
-
+
if(raptor.deadflag != DEAD_NO)
{
self = player;
{
if(raptor.gun1.lock_time < time || raptor.gun1.enemy.deadflag)
raptor.gun1.enemy = world;
-
+
if(trace_ent)
if(trace_ent.movetype)
if(trace_ent.takedamage)
}
}
else
- {
+ {
raptor.gun1.enemy = trace_ent;
raptor.gun1.lock_time = time + 0.5;
}
}
-
+
if(raptor.gun1.enemy)
{
float i, distance, impact_time;
vector _vel = raptor.gun1.enemy.velocity;
if(raptor.gun1.enemy.movetype == MOVETYPE_WALK)
_vel_z *= 0.1;
-
+
if(autocvar_g_vehicle_raptor_cannon_predicttarget)
{
ad = vf;
impact_time = distance / autocvar_g_vehicle_raptor_cannon_speed;
ad = vf + _vel * impact_time;
}
- trace_endpos = ad;
+ trace_endpos = ad;
}
else
- trace_endpos = vf;
+ trace_endpos = vf;
}
}
else if(autocvar_g_vehicle_raptor_cannon_locktarget == 1)
}
- vehicle_aimturret(raptor, trace_endpos, raptor.gun1, "fire1",
- autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1, autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
+ vehicle_aimturret(raptor, trace_endpos, raptor.gun1, "fire1",
+ autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1, autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
autocvar_g_vehicle_raptor_cannon_turnlimit * -1, autocvar_g_vehicle_raptor_cannon_turnlimit, autocvar_g_vehicle_raptor_cannon_turnspeed);
- vehicle_aimturret(raptor, trace_endpos, raptor.gun2, "fire1",
- autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1, autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
+ vehicle_aimturret(raptor, trace_endpos, raptor.gun2, "fire1",
+ autocvar_g_vehicle_raptor_cannon_pitchlimit_down * -1, autocvar_g_vehicle_raptor_cannon_pitchlimit_up,
autocvar_g_vehicle_raptor_cannon_turnlimit * -1, autocvar_g_vehicle_raptor_cannon_turnlimit, autocvar_g_vehicle_raptor_cannon_turnspeed);
/*
traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, raptor);
UpdateAuxiliaryXhair(player, trace_endpos, '0 1 0', 0);
*/
-
+
if(player.BUTTON_ATCK)
if(raptor.attack_finished_single <= time)
if(raptor.vehicle_energy > autocvar_g_vehicle_raptor_cannon_cost)
raptor_bombdrop();
raptor.delay = time + autocvar_g_vehicle_raptor_bombs_refire;
raptor.lip = time;
- }
+ }
}
else
{
{
float i;
entity _flare;
-
+
for(i = 0; i < 3; ++i)
{
_flare = spawn();
- setmodel(_flare, "models/runematch/rune.mdl");
+ setmodel(_flare, "models/runematch/rune.mdl");
_flare.effects = EF_LOWPRECISION | EF_FLAME;
_flare.scale = 0.5;
setorigin(_flare, self.origin - '0 0 16');
raptor.lip = time;
}
}
-
+
raptor.bomb1.alpha = raptor.bomb2.alpha = (time - raptor.lip) / (raptor.delay - raptor.lip);
player.vehicle_reload2 = bound(0, raptor.bomb1.alpha * 100, 100);
_missile = _missile.chain;
}
-
+
if(_incomming)
sound(self, CH_PAIN_SINGLE, "vehicles/missile_alarm.wav", VOL_BASE, ATTEN_NONE);
-
+
self.bomb1.cnt = time + 1;
}
-
+
VEHICLE_UPDATE_PLAYER(player, health, raptor);
VEHICLE_UPDATE_PLAYER(player, energy, raptor);
VEHICLE_UPDATE_PLAYER(player, shield, raptor);
player.BUTTON_ATCK = player.BUTTON_ATCK2 = player.BUTTON_CROUCH = 0;
-
+
self = player;
return 1;
}
{
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;
{
if(time >= self.wait)
self.think = raptor_blowup;
-
+
if(random() < 0.1)
{
sound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
self.think = raptor_diethink;
self.nextthink = time;
self.wait = time + 5 + (random() * 5);
-
+
pointparticles(particleeffectnum("explosion_medium"), findbetterlocation (self.origin, 16), '0 0 0', 1);
self.velocity_z += 600;
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
switch(_imp)
{
case 10:
- case 15:
+ case 15:
case 18:
self.vehicle.vehicle_weapon2mode += 1;
if(self.vehicle.vehicle_weapon2mode > RSM_LAST)
self.vehicle.vehicle_weapon2mode = RSM_FIRST;
-
+
CSQCVehicleSetup(self, 0);
return TRUE;
case 12:
self.vehicle.vehicle_weapon2mode -= 1;
if(self.vehicle.vehicle_weapon2mode < RSM_FIRST)
self.vehicle.vehicle_weapon2mode = RSM_LAST;
-
+
CSQCVehicleSetup(self, 0);
return TRUE;
- /*
+ /*
case 17: // toss gun, could be used to exit?
break;
case 20: // Manual minigun reload?
break;
*/
- }
+ }
return FALSE;
}
//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;
self.bomb1 = spawn();
setsize(self, RAPTOR_MIN, RAPTOR_MAX );
self.delay = time;
-
+
self.bouncefactor = autocvar_g_vehicle_raptor_bouncefactor;
- self.bouncestop = autocvar_g_vehicle_raptor_bouncestop;
- self.vehicle_impact = raptor_impact;
+ self.bouncestop = autocvar_g_vehicle_raptor_bouncestop;
+ self.vehicle_impact = raptor_impact;
self.damageforcescale = 0.25;
}
{
remove(self);
return;
- }
-
+ }
+
self.vehicle_flags |= VHF_DMGSHAKE;
self.vehicle_flags |= VHF_DMGROLL;
-
+
if(autocvar_g_vehicle_raptor_shield)
self.vehicle_flags |= VHF_HASSHIELD;
//precache_model ("models/vehicles/clusterbomb.md3");
precache_model ("models/vehicles/clusterbomb_folded.md3");
precache_model ("models/vehicles/raptor_body.dpm");
-
+
precache_sound ("vehicles/raptor_fly.wav");
precache_sound ("vehicles/raptor_speed.wav");
precache_sound ("vehicles/missile_alarm.wav");
-
- if not (vehicle_initialize(
+
+ if(!vehicle_initialize(
"Raptor",
"models/vehicles/raptor.dpm",
"",
raptor_frame,
raptor_enter, raptor_exit,
raptor_die, raptor_think,
- FALSE,
+ FALSE,
autocvar_g_vehicle_raptor_health,
autocvar_g_vehicle_raptor_shield))
{
remove(self);
return;
}
-
-
+
+
}
#endif // SVQC
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;
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;
self.nextthink = time;
- if not (self.realowner.vehicle)
+ if (!self.realowner.vehicle)
self.think = spiderbot_rocket_unguided;
crosshair_trace(self.realowner);
{
entity rkt;
rkt = findchainentity(realowner, self.owner);
- if not (rkt)
+ if (!rkt)
return;
crosshair_trace(self.owner);
}
}
-float spiberbot_calcartillery_flighttime;
+float spiberbot_calcartillery_flighttime;
vector spiberbot_calcartillery(vector org, vector tgt, float ht)
{
float grav, sdist, zdist, vs, vz, jumpheight;
vector sdir;
-
+
grav = autocvar_sv_gravity;
zdist = tgt_z - org_z;
sdist = vlen(tgt - org - zdist * '0 0 1');
entity rocket = world;
if (self.wait != -10)
- {
+ {
if (self.owner.BUTTON_ATCK2 && self.vehicle_weapon2mode == SBRM_GUIDE)
{
if (self.wait == 1)
self.wait = 0;
}
}
-
+
if(self.gun2.cnt > time)
return;
self.tur_head.frame = 1;
self.wait = 0;
}
-
+
if (self.wait != -10)
- if not (self.owner.BUTTON_ATCK2)
+ if (!self.owner.BUTTON_ATCK2)
return;
v = gettaginfo(self.tur_head,gettagindex(self.tur_head,"tag_fire"));
-
+
switch(self.vehicle_weapon2mode)
{
case SBRM_VOLLY:
rocket.nextthink = time;
rocket.think = spiderbot_rocket_guided;
-
+
break;
case SBRM_ARTILLERY:
rocket = vehicles_projectile("spiderbot_rocket_launch", "weapons/rocket_fire.wav",
v, normalize(v_forward) * autocvar_g_vehicle_spiderbot_rocket_speed,
autocvar_g_vehicle_spiderbot_rocket_damage, autocvar_g_vehicle_spiderbot_rocket_radius, autocvar_g_vehicle_spiderbot_rocket_force, 1,
DEATH_VH_SPID_ROCKET, PROJECTILE_SPIDERROCKET, autocvar_g_vehicle_spiderbot_rocket_health, FALSE, TRUE, self.owner);
-
+
crosshair_trace(self.owner);
-
+
rocket.pos1 = trace_endpos + randomvec() * (0.75 * autocvar_g_vehicle_spiderbot_rocket_radius);
rocket.pos1_z = trace_endpos_z;
-
- traceline(v, v + '0 0 1' * MAX_SHOT_DISTANCE, MOVE_WORLDONLY, self);
+
+ traceline(v, v + '0 0 1' * MAX_SHOT_DISTANCE, MOVE_WORLDONLY, self);
float h1 = 0.75 * vlen(v - trace_endpos);
-
+
//v = trace_endpos;
- traceline(v , rocket.pos1 + '0 0 1' * MAX_SHOT_DISTANCE, MOVE_WORLDONLY, self);
+ traceline(v , rocket.pos1 + '0 0 1' * MAX_SHOT_DISTANCE, MOVE_WORLDONLY, self);
float h2 = 0.75 * vlen(rocket.pos1 - v);
-
+
rocket.velocity = spiberbot_calcartillery(v, rocket.pos1, ((h1 < h2) ? h1 : h2));
- rocket.movetype = MOVETYPE_TOSS;
+ rocket.movetype = MOVETYPE_TOSS;
rocket.gravity = 1;
- //rocket.think = spiderbot_rocket_artillery;
+ //rocket.think = spiderbot_rocket_artillery;
break;
}
rocket.classname = "spiderbot_rocket";
-
+
rocket.cnt = time + autocvar_g_vehicle_spiderbot_rocket_lifetime;
-
+
self.tur_head.frame += 1;
if (self.tur_head.frame == 9)
self.attack_finished_single = autocvar_g_vehicle_spiderbot_rocket_reload;
if(intermission_running)
return 1;
-
+
player = self;
spider = self.vehicle;
self = spider;
vehicles_painframe();
-
+
player.BUTTON_ZOOM = 0;
player.BUTTON_CROUCH = 0;
player.switchweapon = 0;
-
+
#if 1 // 0 to enable per-gun impact aux crosshairs
// Avarage gun impact point's -> aux cross
ad = AnglesTransform_ToAngles(AnglesTransform_LeftDivide(AnglesTransform_FromAngles(spider.angles), AnglesTransform_FromAngles(ad))) - spider.tur_head.angles;
ad = AnglesTransform_Normalize(ad, TRUE);
//UpdateAuxiliaryXhair(player, trace_endpos, ('1 0 0' * player.vehicle_reload2) + ('0 1 0' * (1 - player.vehicle_reload2)), 2);
-
+
// Rotate head
- ftmp = autocvar_g_vehicle_spiderbot_head_turnspeed * sys_frametime;
+ ftmp = autocvar_g_vehicle_spiderbot_head_turnspeed * sys_frametime;
ad_y = bound(-ftmp, ad_y, ftmp);
spider.tur_head.angles_y = bound(autocvar_g_vehicle_spiderbot_head_turnlimit * -1, spider.tur_head.angles_y + ad_y, autocvar_g_vehicle_spiderbot_head_turnlimit);
//fixedmakevectors(spider.angles);
makevectors(spider.angles + '-2 0 0' * spider.angles_x);
-
+
movelib_groundalign4point(autocvar_g_vehicle_spiderbot_springlength, autocvar_g_vehicle_spiderbot_springup, autocvar_g_vehicle_spiderbot_springblend, autocvar_g_vehicle_spiderbot_tiltlimit);
if(spider.flags & FL_ONGROUND)
if(spider.frame == 4 && self.tur_head.wait != 0)
{
sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_land.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
- spider.frame = 5;
+ spider.frame = 5;
}
-
+
if(player.BUTTON_JUMP && self.tur_head.wait < time)
- {
+ {
sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_jump.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
//dprint("spiderbot_jump:", ftos(soundlength("vehicles/spiderbot_jump.wav")), "\n");
self.delay = 0;
if(vlen(player.movement) == 0)
{
if(self.sound_nexttime < time || self.delay != 3)
- {
+ {
self.delay = 3;
self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_idle.wav");
//dprint("spiderbot_idle:", ftos(soundlength("vehicles/spiderbot_idle.wav")), "\n");
sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_idle.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
- }
+ }
movelib_beak_simple(autocvar_g_vehicle_spiderbot_speed_stop);
spider.frame = 5;
}
ftmp = autocvar_g_vehicle_spiderbot_turnspeed_strafe * sys_frametime;
else
ftmp = autocvar_g_vehicle_spiderbot_turnspeed * sys_frametime;
-
- ftmp = bound(-ftmp, spider.tur_head.angles_y, ftmp);
+
+ ftmp = bound(-ftmp, spider.tur_head.angles_y, ftmp);
spider.angles_y = anglemods(spider.angles_y + ftmp);
spider.tur_head.angles_y -= ftmp;
movelib_move_simple(normalize(v_forward * player.movement_x),autocvar_g_vehicle_spiderbot_speed_walk,autocvar_g_vehicle_spiderbot_movement_inertia);
if(self.sound_nexttime < time || self.delay != 1)
- {
+ {
self.delay = 1;
self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_walk.wav");
sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_walk.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
}
movelib_move_simple(normalize(v_right * player.movement_y),autocvar_g_vehicle_spiderbot_speed_strafe,autocvar_g_vehicle_spiderbot_movement_inertia);
if(self.sound_nexttime < time || self.delay != 2)
- {
+ {
self.delay = 2;
self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_strafe.wav");
sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_strafe.wav", VOL_VEHICLEENGINE, ATTEN_NORM);
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 gravityfactor, 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, 1, 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);
vehicles_regen(spider.cnt, vehicle_ammo1, autocvar_g_vehicle_spiderbot_minigun_ammo_max,
autocvar_g_vehicle_spiderbot_minigun_ammo_regen_pause,
autocvar_g_vehicle_spiderbot_minigun_ammo_regen, frametime, FALSE);
-
+
spiderbot_rocket_do();
VEHICLE_UPDATE_PLAYER(player, shield, spiderbot);
self = player;
- return 1;
+ return 1;
}
void spiderbot_think()
{
if(self.owner.flagcarried)
{
- setattachment(self.owner.flagcarried, self.tur_head, "");
- setorigin(self.owner.flagcarried, '-20 0 120');
+ setattachment(self.owner.flagcarried, self.tur_head, "");
+ setorigin(self.owner.flagcarried, '-20 0 120');
}
}
{
entity e;
vector spot;
-
+
e = findchain(classname,"spiderbot_rocket");
while(e)
{
self.nextthink = time;
self.frame = 5;
self.movetype = MOVETYPE_WALK;
-
- if not (self.owner)
+
+ if (!self.owner)
return;
makevectors(self.angles);
self.owner.oldvelocity = self.owner.velocity;
setorigin(self.owner , spot);
}
-
+
antilag_clear(self.owner);
self.owner = world;
}
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()
self.nextthink = time + 0.1;
return;
}
-
+
entity h, g1, g2, b;
b = spawn();
h = spawn();
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()
switch(_imp)
{
case 10:
- case 15:
+ case 15:
case 18:
self.vehicle.vehicle_weapon2mode += 1;
if(self.vehicle.vehicle_weapon2mode > SBRM_LAST)
self.vehicle.vehicle_weapon2mode = SBRM_FIRST;
-
+
//centerprint(self, strcat("Rocket mode is ", ftos(self.vehicle.vehicle_weapon2mode)));
CSQCVehicleSetup(self, 0);
return TRUE;
self.vehicle.vehicle_weapon2mode -= 1;
if(self.vehicle.vehicle_weapon2mode < SBRM_FIRST)
self.vehicle.vehicle_weapon2mode = SBRM_LAST;
-
+
//centerprint(self, strcat("Rocket mode is ", ftos(self.vehicle.vehicle_weapon2mode)));
CSQCVehicleSetup(self, 0);
return TRUE;
- /*
+ /*
case 17: // toss gun, could be used to exit?
break;
case 20: // Manual minigun reload?
break;
*/
- }
+ }
return FALSE;
}
void spiderbot_spawn(float _f)
{
if(!self.gun1)
- {
- self.vehicles_impusle = spiderbot_impulse;
+ {
+ self.vehicles_impulse = spiderbot_impulse;
self.gun1 = spawn();
- self.gun2 = spawn();
+ self.gun2 = spawn();
setmodel(self.gun1, "models/vehicles/spiderbot_barrels.dpm");
setmodel(self.gun2, "models/vehicles/spiderbot_barrels.dpm");
setattachment(self.gun1, self.tur_head, "tag_hardpoint01");
self.movetype = MOVETYPE_WALK;
self.solid = SOLID_SLIDEBOX;
self.alpha = self.tur_head.alpha = self.gun1.alpha = self.gun2.alpha = 1;
- self.tur_head.angles = '0 0 0';
+ self.tur_head.angles = '0 0 0';
setorigin(self, self.pos1 + '0 0 128');
self.angles = self.pos2;
{
remove(self);
return;
- }
+ }
self.vehicle_flags |= VHF_DMGSHAKE;
//self.vehicle_flags |= VHF_DMGROLL;
//self.vehicle_flags |= VHF_DMGHEADROLL;
-
+
precache_model ( "models/vhshield.md3");
precache_model ( "models/vehicles/spiderbot.dpm");
precache_model ( "models/vehicles/spiderbot_top.dpm");
precache_sound ( "weapons/uzi_fire.wav" );
precache_sound ( "weapons/rocket_impact.wav");
-
+
precache_sound ( "vehicles/spiderbot_die.wav");
precache_sound ( "vehicles/spiderbot_idle.wav");
precache_sound ( "vehicles/spiderbot_jump.wav");
if(autocvar_g_vehicle_spiderbot_health_regen)
self.vehicle_flags |= VHF_HEALTHREGEN;
-
- if not (vehicle_initialize(
+
+ if(!vehicle_initialize(
"Spiderbot",
"models/vehicles/spiderbot.dpm",
"models/vehicles/spiderbot_top.dpm",
spiderbot_frame,
spiderbot_enter, spiderbot_exit,
spiderbot_die, spiderbot_think,
- FALSE,
+ FALSE,
autocvar_g_vehicle_spiderbot_health,
autocvar_g_vehicle_spiderbot_shield))
{
void vehicles_enter();
void vehicles_touch();
void vehicles_reset_colors();
-void vehicles_clearrturn();
+void vehicles_clearreturn();
void vehicles_setreturn();
void UpdateAuxiliaryXhair(entity own, vector loc, vector clr, float axh_id)
{
- if not(IS_REAL_CLIENT(own))
+ if (!IS_REAL_CLIENT(own))
return;
entity axh;
**/
void CSQCVehicleSetup(entity own, float vehicle_id)
{
- if not(IS_REAL_CLIENT(own))
+ if (!IS_REAL_CLIENT(own))
return;
-
+
msg_entity = own;
WriteByte(MSG_ONE, SVC_TEMPENTITY);
WriteByte(MSG_ONE, TE_CSQC_VEHICLESETUP);
if(vehicle_id != 0)
- WriteByte(MSG_ONE, vehicle_id);
+ WriteByte(MSG_ONE, vehicle_id);
else
WriteByte(MSG_ONE, 1 + own.vehicle.vehicle_weapon2mode + HUD_VEHICLE_LAST);
}
if(trace_ent.deadflag != DEAD_NO)
trace_ent = world;
- if not (trace_ent.vehicle_flags & VHF_ISVEHICLE ||
- trace_ent.turret_flags & TUR_FLAG_ISTURRET ||
- trace_ent.takedamage == DAMAGE_TARGETDRONE)
+ if(!((trace_ent.vehicle_flags & VHF_ISVEHICLE) || (trace_ent.turret_flags & TUR_FLAG_ISTURRET)))
trace_ent = world;
}
}
// 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.
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;
setorigin(self, self.pos1 + '0 0 0');
// Show it
pointparticles(particleeffectnum("teleport"), self.origin + '0 0 64', '0 0 0', 1);
-
+
if(self.vehicle_controller)
self.team = self.vehicle_controller.team;
-
+
vehicles_reset_colors();
self.vehicle_spawn(VHSF_NORMAL);
}
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;
{
if(MUTATOR_CALLHOOK(VehicleTouch))
return;
-
+
// Vehicle currently in use
if(self.owner)
{
return;
}
- if not(IS_PLAYER(other))
+ if (!IS_PLAYER(other))
return;
if(other.deadflag != DEAD_NO)
void vehicles_enter()
{
// Remove this when bots know how to use vehicles
-
- if (IS_BOT_CLIENT(other))
+
+ if (IS_BOT_CLIENT(other))
if (autocvar_g_vehicles_allow_bots)
dprint("Bot enters vehicle\n"); // This is where we need to disconnect (some, all?) normal bot AI and hand over to vehicle's _aiframe()
else
self.team = self.owner.team;
self.flags -= FL_NOTARGET;
-
+ self.monster_attack = TRUE;
+
if (IS_REAL_CLIENT(other))
{
msg_entity = other;
WriteByte (MSG_ONE, SVC_SETVIEWPORT);
WriteEntity(MSG_ONE, self.vehicle_viewport);
-
+
WriteByte (MSG_ONE, SVC_SETVIEWANGLES);
if(self.tur_head)
{
}
}
- vehicles_clearrturn();
+ vehicles_clearreturn();
CSQCVehicleSetup(self.owner, self.hud);
-
+
vh_player = other;
vh_vehicle = self;
MUTATOR_CALLHOOK(VehicleEnter);
entity _vehicle;
entity _player;
entity _oldself = self;
-
+
if(vehicles_exit_running)
{
dprint("^1vehicles_exit allready running! this is not good..\n");
return;
}
-
+
vehicles_exit_running = TRUE;
if(IS_CLIENT(self))
{
_vehicle = self.vehicle;
-
+
if (_vehicle.vehicle_flags & VHF_PLAYERSLOT)
{
_vehicle.vehicle_exit(eject);
self = _oldself;
vehicles_exit_running = FALSE;
- return;
+ return;
}
}
else
_vehicle = self;
-
+
_player = _vehicle.owner;
-
+
self = _vehicle;
if (_player)
WriteAngle(MSG_ONE, _vehicle.angles_y);
WriteAngle(MSG_ONE, 0);
}
-
+
setsize(_player, PL_MIN,PL_MAX);
_player.takedamage = DAMAGE_AIM;
CSQCVehicleSetup(_player, HUD_NORMAL);
}
_vehicle.flags |= FL_NOTARGET;
-
+
if(_vehicle.deadflag == DEAD_NO)
_vehicle.avelocity = '0 0 0';
-
+
_vehicle.tur_head.nodrawtoclient = world;
-
+
if(!teamplay)
_vehicle.team = 0;
_vehicle = vh_vehicle;
_vehicle.team = _vehicle.tur_head.team;
-
+
sound (_vehicle, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTEN_NORM);
- _vehicle.vehicle_hudmodel.viewmodelforclient = _vehicle;
+ _vehicle.vehicle_hudmodel.viewmodelforclient = _vehicle;
_vehicle.phase = time + 1;
-
+ _vehicle.monster_attack = FALSE;
+
_vehicle.vehicle_exit(eject);
-
+
vehicles_setreturn();
- vehicles_reset_colors();
+ vehicles_reset_colors();
_vehicle.owner = world;
self = _oldself;
-
+
vehicles_exit_running = FALSE;
}
{
if(_healthscale)
regen = regen * (self.vehicle_health / self.tur_health);
-
+
self.regen_field = min(self.regen_field + regen * delta_time, field_max);
if(self.owner)
void vehicles_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
{
self.dmg_time = time;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_NEX))
damage *= autocvar_g_vehicles_nex_damagerate;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_UZI))
damage *= autocvar_g_vehicles_uzi_damagerate;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_RIFLE))
damage *= autocvar_g_vehicles_rifle_damagerate;
-
+
if(DEATH_ISWEAPON(deathtype, WEP_MINSTANEX))
damage *= autocvar_g_vehicles_minstanex_damagerate;
if(DEATH_ISWEAPON(deathtype, WEP_SEEKER))
damage *= autocvar_g_vehicles_tag_damagerate;
-
+
self.enemy = attacker;
-
+
if((self.vehicle_flags & VHF_HASSHIELD) && (self.vehicle_shield > 0))
{
if (wasfreed(self.vehicle_shieldent) || self.vehicle_shieldent == world)
if(sound_allowed(MSG_BROADCAST, attacker))
spamsound (self, CH_PAIN, "onslaught/ons_hit2.wav", VOL_BASE, ATTEN_NORM); // FIXME: PLACEHOLDER
}
-
+
if(self.damageforcescale < 1 && self.damageforcescale > 0)
self.velocity += force * self.damageforcescale;
else
}
}
-void vehicles_clearrturn()
+void vehicles_clearreturn()
{
entity ret;
// Remove "return helper", if any.
{
entity ret;
- vehicles_clearrturn();
+ vehicles_clearreturn();
ret = spawn();
ret.classname = "vehicle_return";
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()
self.active = ACTIVE_NOT;
else
self.active = ACTIVE_ACTIVE;
-
+
if(self.active == ACTIVE_ACTIVE && self.deadflag == DEAD_NO)
{
dprint("^3Eat shit yall!\n");
}
else if(self.active == ACTIVE_NOT && self.deadflag != DEAD_NO)
{
-
+
}
}
-float vehicle_addplayerslot( entity _owner,
- entity _slot,
- float _hud,
+float vehicle_addplayerslot( entity _owner,
+ entity _slot,
+ float _hud,
string _hud_model,
- float() _framefunc,
+ float() _framefunc,
void(float) _exitfunc)
{
- if not (_owner.vehicle_flags & VHF_MULTISLOT)
+ if (!(_owner.vehicle_flags & VHF_MULTISLOT))
_owner.vehicle_flags |= VHF_MULTISLOT;
_slot.PlayerPhysplug = _framefunc;
_slot.vehicle_hudmodel = spawn();
_slot.vehicle_hudmodel.viewmodelforclient = _slot;
_slot.vehicle_viewport.effects = (EF_ADDITIVE | EF_DOUBLESIDED | EF_FULLBRIGHT | EF_NODEPTHTEST | EF_NOGUNBOB | EF_NOSHADOW | EF_LOWPRECISION | EF_SELECTABLE | EF_TELEPORT_BIT);
-
+
setmodel(_slot.vehicle_hudmodel, _hud_model);
setmodel(_slot.vehicle_viewport, "null");
-
+
setattachment(_slot.vehicle_hudmodel, _slot, "");
setattachment(_slot.vehicle_viewport, _slot.vehicle_hudmodel, "");
-
+
return TRUE;
}
{
if(!autocvar_g_vehicles)
return FALSE;
-
+
if(self.targetname)
{
self.vehicle_controller = find(world, target, self.targetname);
}
else
{
- self.team = self.vehicle_controller.team;
+ self.team = self.vehicle_controller.team;
self.use = vehicle_use;
-
+
if(teamplay)
{
if(self.vehicle_controller.team == 0)
self.active = ACTIVE_NOT;
else
- self.active = ACTIVE_ACTIVE;
+ self.active = ACTIVE_ACTIVE;
}
}
}
-
+
precache_sound("onslaught/ons_hit2.wav");
precache_sound("onslaught/electricity_explode.wav");
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;
}
setsize(self, min_s, max_s);
- if not (nodrop)
+ if (!nodrop)
{
setorigin(self, self.origin);
tracebox(self.origin + '0 0 100', min_s, max_s, self.origin - '0 0 10000', MOVE_WORLDONLY, self);
setorigin(self, trace_endpos);
}
-
+
self.pos1 = self.origin;
self.pos2 = self.angles;
self.tur_head.team = self.team;
-
+
if(MUTATOR_CALLHOOK(VehicleSpawn))
return FALSE;
return TRUE;
}
-vector vehicle_aimturret(entity _vehic, vector _target, entity _turrret, string _tagname,
- float _pichlimit_min, float _pichlimit_max,
+vector vehicle_aimturret(entity _vehic, vector _target, entity _turrret, string _tagname,
+ float _pichlimit_min, float _pichlimit_max,
float _rotlimit_min, float _rotlimit_max, float _aimspeed)
{
vector vtmp, vtag;
ftmp = _aimspeed * frametime;
vtmp_y = bound(-ftmp, vtmp_y, ftmp);
vtmp_x = bound(-ftmp, vtmp_x, ftmp);
- _turrret.angles_y = bound(_rotlimit_min, _turrret.angles_y + vtmp_y, _rotlimit_max);
+ _turrret.angles_y = bound(_rotlimit_min, _turrret.angles_y + vtmp_y, _rotlimit_max);
_turrret.angles_x = bound(_pichlimit_min, _turrret.angles_x + vtmp_x, _pichlimit_max);
return vtag;
}
_gib.movetype = MOVETYPE_TOSS;
_gib.solid = SOLID_CORPSE;
_gib.colormod = '-0.5 -0.5 -0.5';
- _gib.effects = EF_LOWPRECISION;
+ _gib.effects = EF_LOWPRECISION;
_gib.avelocity = _rot;
-
+
if(_burn)
_gib.effects |= EF_FLAME;
-
+
if(_explode)
{
- _gib.think = vehicles_gib_explode;
+ _gib.think = vehicles_gib_explode;
_gib.nextthink = time + random() * _explode;
_gib.touch = vehicles_gib_explode;
}
else
{
_gib.cnt = time + _maxtime;
- _gib.think = vehicles_gib_think;
- _gib.nextthink = time + _maxtime - 1;
+ _gib.think = vehicles_gib_think;
+ _gib.nextthink = time + _maxtime - 1;
_gib.alpha = 1;
}
return _gib;
#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
pseudoprojectile = world;
- railgun_start = start;
- railgun_end = end;
-
dir = normalize(end - start);
length = vlen(end - start);
force = dir * bforce;
// Find all non-hit players the beam passed close by
if(deathtype == WEP_MINSTANEX || deathtype == WEP_NEX)
{
- FOR_EACH_REALCLIENT(msg_entity) if(msg_entity != self) if(!msg_entity.railgunhit) if not(IS_SPEC(msg_entity) && msg_entity.enemy == self) // we use realclient, so spectators can hear the whoosh too
+ FOR_EACH_REALCLIENT(msg_entity)
+ if(msg_entity != self)
+ if(!msg_entity.railgunhit)
+ if(!(IS_SPEC(msg_entity) && msg_entity.enemy == self)) // we use realclient, so spectators can hear the whoosh too
{
// nearest point on the beam
beampos = start + dir * bound(0, (msg_entity.origin - start) * dir, length);
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()
-{
- 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 not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID)
- if not(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)
+float fireBullet_trace_callback_eff;
+entity fireBullet_last_hit;
+void fireBullet_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 gravityfactor, 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;
- float antilagging;
-
- antilagging = (autocvar_g_antilag_bullets && (pSpeed >= autocvar_g_antilag_bullets));
-
- entity proj;
- proj = spawn();
- proj.classname = "bullet";
- proj.owner = proj.realowner = self;
- PROJECTILE_MAKETRIGGER(proj);
- if(gravityfactor > 0)
- {
- proj.movetype = MOVETYPE_TOSS;
- proj.gravity = gravityfactor;
- }
- else
- 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, antilagging);
- 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;
+ // TODO antilag takeback
+ vector end;
- proj.oldvelocity = proj.velocity;
+ dir = normalize(dir + randomvec() * spread);
+ end = start + dir * MAX_SHOT_DISTANCE;
- other = proj; MUTATOR_CALLHOOK(EditProjectile);
+ entity pl;
+ fireBullet_last_hit = world;
+ float solid_penetration_left = 1;
+ float total_damage = 0;
- if(antilagging)
+ if(tracereffects & EF_RED)
+ fireBullet_trace_callback_eff = particleeffectnum("tr_rifle");
+ else if(tracereffects & EF_BLUE)
+ fireBullet_trace_callback_eff = particleeffectnum("tr_rifle_weak");
+ else
+ fireBullet_trace_callback_eff = particleeffectnum("tr_bullet");
+
+ 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);
+
+ WarpZone_trace_forent = self;
+
+ for (;;)
{
- float eff;
-
- if(tracereffects & EF_RED)
- eff = particleeffectnum("tr_rifle");
- else if(tracereffects & EF_BLUE)
- eff = particleeffectnum("tr_rifle_weak");
- else
- eff = particleeffectnum("tr_bullet");
-
- // NOTE: this may severely throw off weapon balance
- lag = ANTILAG_LATENCY(self);
- if(lag < 0.001)
- lag = 0;
- if not(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);
-
- oldself = self;
- self = proj;
+ // 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;
- savetime = frametime;
- frametime = 0.05;
+ if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
+ break;
- for(;;)
+ // 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 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).
{
- // DP tracetoss is stupid and always traces in 0.05s
- // ticks. This makes it trace in 0.05*0.125s ticks
- // instead.
- vector v0;
- float g0;
- v0 = self.velocity;
- g0 = self.gravity;
- self.velocity = self.velocity * 0.125;
- self.gravity *= 0.125 * 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;
- self.gravity = g0;
-
- if(trace_fraction == 1)
- 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())
+ 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)
{
- if(SUB_NoImpactCheck())
- break;
-
- // hit the player
- W_BallisticBullet_Hit();
+ // 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(proj.dmg_radius < 0) // these NEVER penetrate solid
- break;
-
- // 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 not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID)
- if not(trace_dphitcontents & DPCONTENTS_OPAQUE)
- break;
-
- // go through solid!
- if(!W_BallisticBullet_LeaveSolid((other && (other.solid != SOLID_BSP)) ? eff : -1))
- break;
-
- W_BallisticBullet_LeaveSolid_think();
-
- self.projectiledeathtype |= HITTYPE_BOUNCE;
}
- frametime = savetime;
- self = oldself;
- if(lag)
- FOR_EACH_PLAYER(pl)
- if(pl != self)
- antilag_restore(pl);
+ if (is_weapclip)
+ break;
- remove(proj);
+ // go through solid!
+ // 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;
- return;
- }
+ 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(tracereffects & EF_RED)
- CSQCProjectile(proj, TRUE, PROJECTILE_BULLET_GLOWING_TRACER, TRUE);
- else if(tracereffects & EF_BLUE)
- CSQCProjectile(proj, TRUE, PROJECTILE_BULLET_GLOWING, TRUE);
- else
- CSQCProjectile(proj, TRUE, PROJECTILE_BULLET, TRUE);
-}
+ if(maxdist <= autocvar_g_ballistics_mindistance)
+ break;
-void fireBullet (vector start, vector dir, float spread, float damage, float force, float dtype, float tracer)
-{
- vector end;
+ // 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;
- 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));
+ float dist_taken = max(autocvar_g_ballistics_mindistance, vlen(trace_endpos - start));
+ solid_penetration_left *= (dist_taken / maxdist);
- end = trace_endpos;
+ // 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);
- if (pointcontents (trace_endpos) != CONTENT_SKY)
- {
- if not (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
- Damage_DamageInfo(trace_endpos, damage, 0, 0, dir * max(1, force), dtype, trace_ent.species, self);
+ start = trace_endpos;
- Damage (trace_ent, self, self, damage, dtype, trace_endpos, dir * force);
+ if(hit.solid == SOLID_BSP)
+ Damage_DamageInfo(start, 0, 0, 0, max(1, force) * normalize(dir) * -solid_penetration_left, dtype, 0, self);
}
- trace_endpos = end;
+
+ if(lag)
+ FOR_EACH_PLAYER(pl)
+ if(pl != self)
+ antilag_restore(pl);
}
float W_CheckProjectileDamage(entity inflictor, entity projowner, float deathtype, float exception)
float is_from_contents = (deathtype == DEATH_SLIME || deathtype == DEATH_LAVA);
float is_from_owner = (inflictor == projowner);
float is_from_exception = (exception != -1);
-
+
//dprint(strcat("W_CheckProjectileDamage: from_contents ", ftos(is_from_contents), " : from_owner ", ftos(is_from_owner), " : exception ", strcat(ftos(is_from_exception), " (", ftos(exception), "). \n")));
if(autocvar_g_projectiles_damage <= -2)
{
if(is_from_exception)
return (exception); // if exception is detected, allow it to override
- else if not(is_from_contents)
+ else if (!is_from_contents)
return FALSE; // otherwise, only allow damage from contents
- }
+ }
else if(autocvar_g_projectiles_damage == 1)
{
if(is_from_exception)
return (exception); // if exception is detected, allow it to override
- else if not(is_from_contents || is_from_owner)
+ else if (!(is_from_contents || is_from_owner))
return FALSE; // otherwise, only allow self damage and damage from contents
}
else if(autocvar_g_projectiles_damage == 2) // allow any damage, but override for exceptions
{
self.takedamage = DAMAGE_NO;
self.event_damage = func_null;
-
+
if(IS_CLIENT(attacker) && !autocvar_g_projectiles_keep_owner)
{
self.owner = attacker;
self.realowner = attacker;
}
-
+
// do not explode NOW but in the NEXT FRAME!
// because recursive calls to RadiusDamage are not allowed
self.nextthink = time;
else
++hit_enemy;
}
-
+
head = head.chain;
}
f *= a;
float totaldamage = RadiusDamage(self, self.realowner, autocvar_g_balance_crylink_primary_damage * f, autocvar_g_balance_crylink_primary_edgedamage * f, autocvar_g_balance_crylink_primary_radius, world, autocvar_g_balance_crylink_primary_force * f, self.projectiledeathtype, other);
-
+
if(totaldamage && ((autocvar_g_balance_crylink_primary_linkexplode == 2) || ((autocvar_g_balance_crylink_primary_linkexplode == 1) && !W_Crylink_Touch_WouldHitFriendly(self, autocvar_g_balance_crylink_primary_radius))))
{
if(self == self.realowner.crylink_lastgroup)
f *= a;
float totaldamage = RadiusDamage(self, self.realowner, autocvar_g_balance_crylink_secondary_damage * f, autocvar_g_balance_crylink_secondary_edgedamage * f, autocvar_g_balance_crylink_secondary_radius, world, autocvar_g_balance_crylink_secondary_force * f, self.projectiledeathtype, other);
-
+
if(totaldamage && ((autocvar_g_balance_crylink_secondary_linkexplode == 2) || ((autocvar_g_balance_crylink_secondary_linkexplode == 1) && !W_Crylink_Touch_WouldHitFriendly(self, autocvar_g_balance_crylink_secondary_radius))))
{
if(self == self.realowner.crylink_lastgroup)
proj.flags = FL_PROJECTILE;
proj.missile_flags = MIF_SPLASH;
-
+
CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE);
other = proj; MUTATOR_CALLHOOK(EditProjectile);
proj.flags = FL_PROJECTILE;
proj.missile_flags = MIF_SPLASH;
-
+
CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE);
other = proj; MUTATOR_CALLHOOK(EditProjectile);
}
self.crylink_waitrelease = 0;
if(!w_crylink(WR_CHECKAMMO1) && !w_crylink(WR_CHECKAMMO2))
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
// ran out of ammo!
self.cnt = WEP_CRYLINK;
// note: combos are usually triggered by W_Plasma_TriggerCombo, not damage
float is_combo = (inflictor.classname == "plasma_chain" || inflictor.classname == "plasma_prim");
-
+
if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, (is_combo ? 1 : -1)))
- return; // g_projectiles_damage says to halt
-
+ return; // g_projectiles_damage says to halt
+
self.health = self.health - damage;
if (self.health <= 0)
{
dt = frametime;
// if this weapon is reloadable, decrease its load. Else decrease the player's ammo
- if not(owner_player.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(owner_player.items & IT_UNLIMITED_WEAPON_AMMO))
{
if(autocvar_g_balance_electro_primary_ammo)
{
{
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)
{
setsize(proj, '-16 -16 -16', '16 16 16');
proj.flags = FL_PROJECTILE;
proj.missile_flags = MIF_SPLASH | MIF_PROXY;
-
+
CSQCProjectile(proj, TRUE, PROJECTILE_FIREBALL, TRUE);
other = proj; MUTATOR_CALLHOOK(EditProjectile);
proj.angles = vectoangles(proj.velocity);
proj.flags = FL_PROJECTILE;
proj.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_ARC;
-
+
CSQCProjectile(proj, TRUE, PROJECTILE_FIREMINE, TRUE);
other = proj; MUTATOR_CALLHOOK(EditProjectile);
{
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);
}
spamsound (self, CH_SHOTS, "weapons/grenade_bounce6.wav", VOL_BASE, ATTEN_NORM);
self.projectiledeathtype |= HITTYPE_BOUNCE;
self.gl_bouncecnt += 1;
-
+
if (autocvar_g_balance_grenadelauncher_secondary_lifetime_bounce && self.gl_bouncecnt == 1)
self.nextthink = time + autocvar_g_balance_grenadelauncher_secondary_lifetime_bounce;
-
+
}
else if(autocvar_g_balance_grenadelauncher_secondary_type == 2 && (!other || (other.takedamage != DAMAGE_AIM && other.movetype == MOVETYPE_NONE))) // stick
{
{
if (self.health <= 0)
return;
-
+
float is_linkexplode = ( ((inflictor.owner != world) ? (inflictor.owner == self.owner) : TRUE)
- && (inflictor.projectiledeathtype & HITTYPE_SECONDARY)
+ && (inflictor.projectiledeathtype & HITTYPE_SECONDARY)
&& (self.projectiledeathtype & HITTYPE_SECONDARY));
-
+
if(is_linkexplode)
is_linkexplode = (is_linkexplode && autocvar_g_balance_hagar_secondary_load_linkexplode);
else
self.health = self.health - damage;
self.angles = vectoangles(self.velocity);
-
+
if (self.health <= 0)
W_PrepareExplosionByDamage(attacker, self.think);
}
missile.classname = "missile";
missile.bot_dodge = TRUE;
missile.bot_dodgerating = autocvar_g_balance_hagar_primary_damage;
-
+
missile.takedamage = DAMAGE_YES;
missile.health = autocvar_g_balance_hagar_primary_health;
missile.damageforcescale = autocvar_g_balance_hagar_primary_damageforcescale;
missile.event_damage = W_Hagar_Damage;
missile.damagedbycontents = TRUE;
-
+
missile.touch = W_Hagar_Touch;
missile.use = W_Hagar_Explode;
missile.think = adaptor_think2use_hittype_splash;
missile.angles = vectoangles (missile.velocity);
missile.flags = FL_PROJECTILE;
- missile.missile_flags = MIF_SPLASH;
+ missile.missile_flags = MIF_SPLASH;
CSQCProjectile(missile, TRUE, PROJECTILE_HAGAR, TRUE);
missile.classname = "missile";
missile.bot_dodge = TRUE;
missile.bot_dodgerating = autocvar_g_balance_hagar_secondary_damage;
-
+
missile.takedamage = DAMAGE_YES;
missile.health = autocvar_g_balance_hagar_secondary_health;
missile.damageforcescale = autocvar_g_balance_hagar_secondary_damageforcescale;
missile.angles = vectoangles (missile.velocity);
missile.flags = FL_PROJECTILE;
- missile.missile_flags = MIF_SPLASH;
+ missile.missile_flags = MIF_SPLASH;
CSQCProjectile(missile, TRUE, PROJECTILE_HAGAR_BOUNCING, TRUE);
missile.classname = "missile";
missile.bot_dodge = TRUE;
missile.bot_dodgerating = autocvar_g_balance_hagar_secondary_damage;
-
+
missile.takedamage = DAMAGE_YES;
missile.health = autocvar_g_balance_hagar_secondary_health;
missile.damageforcescale = autocvar_g_balance_hagar_secondary_damageforcescale;
setorigin (missile, w_shotorg);
setsize(missile, '0 0 0', '0 0 0');
missile.movetype = MOVETYPE_FLY;
- missile.missile_flags = MIF_SPLASH;
-
+ missile.missile_flags = MIF_SPLASH;
+
// per-shot spread calculation: the more shots there are, the less spread is applied (based on the bias cvar)
- spread_pershot = ((shots - 1) / (autocvar_g_balance_hagar_secondary_load_max - 1));
+ spread_pershot = ((shots - 1) / (autocvar_g_balance_hagar_secondary_load_max - 1));
spread_pershot = (1 - (spread_pershot * autocvar_g_balance_hagar_secondary_load_spread_bias));
spread_pershot = (autocvar_g_balance_hagar_secondary_spread * spread_pershot * g_weaponspreadfactor);
-
+
// pattern spread calculation
s = '0 0 0';
if (counter == 0)
s_z = v_forward_y;
}
s = s * autocvar_g_balance_hagar_secondary_load_spread * g_weaponspreadfactor;
-
+
W_SetupProjectileVelocityEx(missile, w_shotdir + right * s_y + up * s_z, v_up, autocvar_g_balance_hagar_secondary_speed, 0, 0, spread_pershot, FALSE);
missile.angles = vectoangles (missile.velocity);
void W_Hagar_Attack2_Load (void)
{
// loadable hagar secondary attack, must always run each frame
-
+
if(time < game_starttime)
return;
self.hagar_warning = TRUE;
}
}
-
+
// release if player let go of button or if they've held it in too long
if(!self.BUTTON_ATCK2 || ((loaded || !enough_ammo) && self.hagar_loadstep < time && autocvar_g_balance_hagar_secondary_load_hold >= 0))
{
}
// we aren't checking ammo during an attack, so we must do it here
- if not(weapon_action(self.weapon, WR_CHECKAMMO1) + weapon_action(self.weapon, WR_CHECKAMMO2))
+ if (!(weapon_action(self.weapon, WR_CHECKAMMO1) + weapon_action(self.weapon, WR_CHECKAMMO2)))
{
// note: this doesn't force the switch
W_SwitchToOtherWeapon(self);
}
else if (req == WR_RELOAD)
{
- if not(self.hagar_load) // require releasing loaded rockets first
+ if (!self.hagar_load) // require releasing loaded rockets first
W_Reload(min(autocvar_g_balance_hagar_primary_ammo, autocvar_g_balance_hagar_secondary_ammo), autocvar_g_balance_hagar_reload_ammo, autocvar_g_balance_hagar_reload_time, "weapons/reload.wav");
}
else if (req == WR_SUICIDEMESSAGE)
PROJECTILE_TOUCH;
self.event_damage = func_null;
-
+
if(self.projectiledeathtype & HITTYPE_SECONDARY)
RadiusDamage (self, self.realowner, autocvar_g_balance_hlac_secondary_damage, autocvar_g_balance_hlac_secondary_edgedamage, autocvar_g_balance_hlac_secondary_radius, world, autocvar_g_balance_hlac_secondary_force, self.projectiledeathtype, other);
else
missile.nextthink = time + autocvar_g_balance_hlac_secondary_lifetime;
missile.flags = FL_PROJECTILE;
- missile.missile_flags = MIF_SPLASH;
+ missile.missile_flags = MIF_SPLASH;
missile.projectiledeathtype = WEP_HLAC | HITTYPE_SECONDARY;
CSQCProjectile(missile, TRUE, PROJECTILE_HLAC, TRUE);
if (self.BUTTON_ATCK)
{
if (!weapon_action(self.weapon, WR_CHECKAMMO1))
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
W_SwitchWeapon_Force(self, w_getbestweapon(self));
w_ready();
{
if (self.health <= 0)
return;
-
+
if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, -1)) // no exceptions
- return; // g_projectiles_damage says to halt
-
+ return; // g_projectiles_damage says to halt
+
self.health = self.health - damage;
-
+
if (self.health <= 0)
W_PrepareExplosionByDamage(self.realowner, W_Hook_Explode2);
}
gren.think = adaptor_think2use_hittype_splash;
gren.use = W_Hook_Explode2;
gren.touch = W_Hook_Touch2;
-
+
gren.takedamage = DAMAGE_YES;
gren.health = autocvar_g_balance_hook_secondary_health;
gren.damageforcescale = autocvar_g_balance_hook_secondary_damageforcescale;
float w_hook(float req)
{
float hooked_time_max, hooked_fuel;
-
+
if (req == WR_AIM)
{
// ... sorry ...
if (self.BUTTON_ATCK || (!(self.items & IT_JETPACK) && self.BUTTON_HOOK))
{
if(!self.hook)
- if not(self.hook_state & HOOK_WAITING_FOR_RELEASE)
- if not(self.hook_state & HOOK_FIRING)
+ if (!(self.hook_state & HOOK_WAITING_FOR_RELEASE))
+ if (!(self.hook_state & HOOK_FIRING))
if (time > self.hook_refire)
if (weapon_prepareattack(0, -1))
{
W_DecreaseAmmo(ammo_fuel, autocvar_g_balance_hook_primary_fuel, FALSE);
self.hook_state |= HOOK_FIRING;
- weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_hook_primary_animtime, w_ready);
+ weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_hook_primary_animtime, w_ready);
}
}
self.hook_refire = max(self.hook_refire, time + autocvar_g_balance_hook_primary_refire * W_WeaponRateFactor());
// hook also inhibits health regeneration, but only for 1 second
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
self.pauseregen_finished = max(self.pauseregen_finished, time + autocvar_g_balance_pause_fuel_regen);
}
if(self.hook && self.hook.state == 1)
{
- hooked_time_max = autocvar_g_balance_hook_primary_hooked_time_max;
+ hooked_time_max = autocvar_g_balance_hook_primary_hooked_time_max;
if (hooked_time_max > 0)
{
if ( time > self.hook_time_hooked + hooked_time_max )
self.hook_state |= HOOK_REMOVING;
}
-
+
hooked_fuel = autocvar_g_balance_hook_primary_hooked_fuel;
if (hooked_fuel > 0)
{
if ( time > self.hook_time_fueldecrease )
{
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
if ( self.ammo_fuel >= (time - self.hook_time_fueldecrease) * hooked_fuel )
{
}
else
{
- self.hook_time_hooked = time;
+ self.hook_time_hooked = time;
self.hook_time_fueldecrease = time + autocvar_g_balance_hook_primary_hooked_time_free;
}
missile.touch = W_Laser_Touch;
missile.flags = FL_PROJECTILE;
- missile.missile_flags = MIF_SPLASH;
+ missile.missile_flags = MIF_SPLASH;
missile.think = W_Laser_Think;
missile.nextthink = time + autocvar_g_balance_laser_primary_delay;
self.movetype = MOVETYPE_NONE;
}
}
-
+
// our lifetime has expired, it's time to die - mine_time just allows us to play a sound for this
// TODO: replace this mine_trigger.wav sound with a real countdown
if ((time > self.cnt) && (!self.mine_time))
{
if (self.health <= 0)
return;
-
+
float is_from_enemy = (inflictor.realowner != self.realowner);
-
+
if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, (is_from_enemy ? 1 : -1)))
return; // g_projectiles_damage says to halt
-
+
self.health = self.health - damage;
self.angles = vectoangles(self.velocity);
-
+
if (self.health <= 0)
W_PrepareExplosionByDamage(attacker, W_Mine_Explode);
}
// common properties
other = mine; MUTATOR_CALLHOOK(EditProjectile);
-
+
self.minelayer_mines = W_Mine_Count(self);
}
if(autocvar_g_balance_minelayer_reload_ammo && self.clip_load < autocvar_g_balance_minelayer_ammo) // forced reload
{
// not if we're holding the minelayer without enough ammo, but can detonate existing mines
- if not (W_PlacedMines(FALSE) && self.ammo_rockets < autocvar_g_balance_minelayer_ammo)
+ if (!(W_PlacedMines(FALSE) && self.ammo_rockets < autocvar_g_balance_minelayer_ammo))
weapon_action(self.weapon, WR_RELOAD);
}
else if (self.BUTTON_ATCK)
WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3"), w_shotorg, v);
break;
}
-
+
W_DecreaseAmmo(ammo_cells, ((g_minstagib) ? 1 : autocvar_g_balance_minstanex_ammo), autocvar_g_balance_minstanex_reload_ammo);
}
{
// handle refire manually, so that primary and secondary can be fired without conflictions (important for minstagib)
self.jump_interval = time + autocvar_g_balance_minstanex_laser_refire * W_WeaponRateFactor();
-
+
// decrease ammo for the laser?
if(autocvar_g_balance_minstanex_laser_ammo)
W_DecreaseAmmo(ammo_cells, autocvar_g_balance_minstanex_laser_ammo, autocvar_g_balance_minstanex_reload_ammo);
self.weapon = WEP_LASER;
W_Laser_Attack(2);
self.weapon = w;
-
+
// now do normal refire
weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_minstanex_laser_animtime, w_ready);
}
FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, mydmg, myforce, mymindist, mymaxdist, myhalflife, myforcehalflife, WEP_NEX);
if(yoda && flying)
- Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA);
+ Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA);
//beam and muzzle flash done on client
SendCSQCNexBeamParticle(charge);
if(self.BUTTON_ATCK2) // only eat ammo when the button is pressed
{
dt = min(dt, (1 - self.nex_charge) / autocvar_g_balance_nex_secondary_charge_rate);
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
// if this weapon is reloadable, decrease its load. Else decrease the player's ammo
if(autocvar_g_balance_nex_reload_ammo)
{
// don't allow charging if we don't have enough ammo
ammo_amount = self.ammo_cells >= autocvar_g_balance_nex_secondary_ammo;
- ammo_amount += self.(weapon_load[WEP_NEX]) >= autocvar_g_balance_nex_secondary_ammo;
+ ammo_amount += self.(weapon_load[WEP_NEX]) >= autocvar_g_balance_nex_secondary_ammo;
return ammo_amount;
}
else
.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;
W_DecreaseAmmo(ammo_nails, pAmmo, autocvar_g_balance_rifle_reload_ammo);
- W_SetupShot (self, autocvar_g_antilag_bullets && pSpeed >= autocvar_g_antilag_bullets, 2, pSound, CH_WEAPON_A, pDamage * pShots);
+ W_SetupShot (self, TRUE, 2, pSound, CH_WEAPON_A, pDamage * pShots);
pointparticles(particleeffectnum("rifle_muzzleflash"), w_shotorg, w_shotdir * 2000, 1);
}
for(i = 0; i < pShots; ++i)
- fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pForce, deathtype, (pTracer ? EF_RED : EF_BLUE), 1, 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);
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)
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;
}
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;
if (self.realowner.weapon == WEP_ROCKET_LAUNCHER)
{
if(self == self.realowner.lastrocket)
- if not(self.realowner.rl_release)
- if not(self.BUTTON_ATCK2)
+ if (!self.realowner.rl_release)
+ if (!self.BUTTON_ATCK2)
if(autocvar_g_balance_rocketlauncher_guiderate)
if(time > self.pushltime)
if(self.realowner.deadflag == DEAD_NO)
{
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;
self.angles = vectoangles(self.velocity);
-
+
if (self.health <= 0)
W_PrepareExplosionByDamage(attacker, W_Rocket_Explode);
}
missile.nextthink = time;
missile.cnt = time + autocvar_g_balance_rocketlauncher_lifetime;
missile.flags = FL_PROJECTILE;
- missile.missile_flags = MIF_SPLASH;
+ missile.missile_flags = MIF_SPLASH;
CSQCProjectile(missile, autocvar_g_balance_rocketlauncher_guiderate == 0 && autocvar_g_balance_rocketlauncher_speedaccel == 0, PROJECTILE_ROCKET, FALSE); // because of fly sound
// 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
}
{
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 * 0.25);
else
self.health = self.health - damage;
-
+
if (self.health <= 0)
W_PrepareExplosionByDamage(attacker, Seeker_Missile_Explode);
}
missile.damageforcescale = autocvar_g_balance_seeker_missile_damageforcescale;
missile.damagedbycontents = TRUE;
//missile.think = Seeker_Missile_Animate; // csqc projectiles.
-
+
if (missile.enemy != world)
missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
- else
+ else
missile.projectiledeathtype = WEP_SEEKER;
missile.movetype = MOVETYPE_FLYMISSILE;
missile.flags = FL_PROJECTILE;
missile.missile_flags = MIF_SPLASH | MIF_GUIDED_TAG;
-
+
W_SETUPPROJECTILEVELOCITY_UP(missile, g_balance_seeker_missile);
missile.angles = vectoangles (missile.velocity);
}
// ============================
-// Begin: FLAC, close range attack meant for defeating rockets which are coming at you.
+// Begin: FLAC, close range attack meant for defeating rockets which are coming at you.
// ============================
void Seeker_Flac_Explode ()
{
missile.bot_dodge = TRUE;
missile.bot_dodgerating = autocvar_g_balance_seeker_flac_damage;
missile.touch = Seeker_Flac_Explode;
- missile.use = Seeker_Flac_Explode;
+ missile.use = Seeker_Flac_Explode;
missile.think = adaptor_think2use_hittype_splash;
missile.nextthink = time + autocvar_g_balance_seeker_flac_lifetime + autocvar_g_balance_seeker_flac_lifetime_rand;
missile.solid = SOLID_BBOX;
- missile.movetype = MOVETYPE_FLY;
+ missile.movetype = MOVETYPE_FLY;
missile.projectiledeathtype = WEP_SEEKER;
missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
missile.flags = FL_PROJECTILE;
- missile.missile_flags = MIF_SPLASH;
-
+ missile.missile_flags = MIF_SPLASH;
+
// csqc projectiles
- //missile.angles = vectoangles (missile.velocity);
- //missile.scale = 0.4; // BUG: the model is too big
-
+ //missile.angles = vectoangles (missile.velocity);
+ //missile.scale = 0.4; // BUG: the model is too big
+
setorigin (missile, w_shotorg);
setsize (missile, '-2 -2 -2', '2 2 2');
-
+
W_SETUPPROJECTILEVELOCITY_UP(missile, g_balance_seeker_flac);
CSQCProjectile(missile, TRUE, PROJECTILE_FLAC, TRUE);
}
// ============================
-// Begin: Tag and rocket controllers
+// Begin: Tag and rocket controllers
// ============================
entity Seeker_Tagged_Info(entity isowner, entity istarget)
{
entity tag;
- for(tag = world; (tag = find(tag, classname, "tag_tracker")); )
+ for(tag = world; (tag = find(tag, classname, "tag_tracker")); )
if ((tag.realowner == isowner) && (tag.tag_target == istarget))
return tag;
-
+
return world;
}
void Seeker_Attack()
{
entity tracker, closest_target;
-
+
closest_target = world;
for(tracker = world; (tracker = find(tracker, classname, "tag_tracker")); ) if (tracker.realowner == self)
{
if (vlen(self.origin - tracker.tag_target.origin) < vlen(self.origin - closest_target.origin))
closest_target = tracker.tag_target;
}
- else
+ else
closest_target = tracker.tag_target;
}
-
+
traceline(self.origin + self.view_ofs, closest_target.origin, MOVE_NOMONSTERS, self);
if ((!closest_target) || ((trace_fraction < 1) && (trace_ent != closest_target)))
closest_target = world;
-
+
Seeker_Fire_Missile('0 0 0', closest_target);
}
}
self.nextthink = time + autocvar_g_balance_seeker_missile_delay * W_WeaponRateFactor();
-
+
oldself = self;
self = self.realowner;
-
+
oldenemy = self.enemy;
self.enemy = oldself.enemy;
-
+
c = mod(self.cnt, 4);
switch(c)
{
self = oldself;
}
-void Seeker_Tracker_Think()
+void Seeker_Tracker_Think()
{
// commit suicide if: You die OR target dies OR you switch away from the seeker OR commit suicide if lifetime is up
if ((self.realowner.deadflag != DEAD_NO) || (self.tag_target.deadflag != DEAD_NO) || (self.realowner.switchweapon != WEP_SEEKER)
}
return;
}
-
+
// Update the think method information
self.nextthink = time;
}
// ============================
-// Begin: Tag projectile
+// Begin: Tag projectile
// ============================
void Seeker_Tag_Explode ()
{
vector dir;
vector org2;
entity e;
-
+
PROJECTILE_TOUCH;
dir = normalize (self.realowner.origin - self.origin);
{
// check to see if this person is already tagged by me
entity tag = Seeker_Tagged_Info(self.realowner, other);
-
+
if (tag != world)
{
if (other.wps_tag_tracker && (autocvar_g_balance_seeker_type == 1)) // don't attach another waypointsprite without killing the old one first
WaypointSprite_Kill(other.wps_tag_tracker);
-
+
tag.tag_time = time;
}
else
- {
+ {
//sprint(self.realowner, strcat("You just tagged ^2", other.netname, "^7 with a tracking device!\n"));
e = spawn();
e.cnt = autocvar_g_balance_seeker_missile_count;
e.classname = "tag_tracker";
e.owner = self.owner;
e.realowner = self.realowner;
-
+
if (autocvar_g_balance_seeker_type == 1)
{
e.tag_target = other;
e.tag_time = time;
e.think = Seeker_Tracker_Think;
}
- else
+ else
{
e.enemy = other;
e.think = Seeker_Vollycontroller_Think;
}
-
+
e.nextthink = time;
}
-
+
if (autocvar_g_balance_seeker_type == 1)
{
WaypointSprite_Spawn("tagged-target", autocvar_g_balance_seeker_tag_tracker_lifetime, 0, other, '0 0 64', self.realowner, 0, other, wps_tag_tracker, TRUE, RADARICON_TAGGED, '0.5 1 0');
setsize (missile, '-2 -2 -2', '2 2 2');
missile.flags = FL_PROJECTILE;
- //missile.missile_flags = MIF_..?;
+ //missile.missile_flags = MIF_..?;
missile.movetype = MOVETYPE_FLY;
W_SETUPPROJECTILEVELOCITY(missile, g_balance_seeker_tag);
if (req == WR_AIM)
{
- if (autocvar_g_balance_seeker_type == 1)
+ if (autocvar_g_balance_seeker_type == 1)
if (Seeker_Tagged_Info(self, self.enemy) != world)
self.BUTTON_ATCK = bot_aim(autocvar_g_balance_seeker_missile_speed_max, 0, autocvar_g_balance_seeker_missile_lifetime, FALSE);
else
{
if(autocvar_g_balance_seeker_reload_ammo && self.clip_load < min(autocvar_g_balance_seeker_missile_ammo, autocvar_g_balance_seeker_tag_ammo)) // forced reload
weapon_action(self.weapon, WR_RELOAD);
-
+
else if (self.BUTTON_ATCK)
{
- if (autocvar_g_balance_seeker_type == 1)
+ if (autocvar_g_balance_seeker_type == 1)
{
if (weapon_prepareattack(0, autocvar_g_balance_seeker_missile_refire))
{
weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_missile_animtime, w_ready);
}
}
- else
+ else
{
if (weapon_prepareattack(0, autocvar_g_balance_seeker_tag_refire))
{
else if (self.BUTTON_ATCK2)
{
- if (autocvar_g_balance_seeker_type == 1)
+ if (autocvar_g_balance_seeker_type == 1)
{
if (weapon_prepareattack(0, autocvar_g_balance_seeker_tag_refire))
{
weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_tag_animtime, w_ready);
}
}
- else
+ else
{
if (weapon_prepareattack(0, autocvar_g_balance_seeker_flac_refire))
{
}
else if (req == WR_CHECKAMMO1)
{
- if (autocvar_g_balance_seeker_type == 1)
+ if (autocvar_g_balance_seeker_type == 1)
{
ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_missile_ammo;
ammo_amount += self.(weapon_load[WEP_SEEKER]) >= autocvar_g_balance_seeker_missile_ammo;
ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_tag_ammo;
ammo_amount += self.(weapon_load[WEP_SEEKER]) >= autocvar_g_balance_seeker_tag_ammo;
}
-
+
return ammo_amount;
}
else if (req == WR_CHECKAMMO2)
{
- if (autocvar_g_balance_seeker_type == 1)
+ if (autocvar_g_balance_seeker_type == 1)
{
ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_tag_ammo;
ammo_amount += self.(weapon_load[WEP_SEEKER]) >= autocvar_g_balance_seeker_tag_ammo;
ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_flac_ammo;
ammo_amount += self.(weapon_load[WEP_SEEKER]) >= autocvar_g_balance_seeker_flac_ammo;
}
-
+
return ammo_amount;
}
else if (req == WR_RELOAD)
float d;
float f;
float spread;
- float bulletspeed;
- float bulletconstant;
+ float solidpenetration;
entity flash;
ammoamount = autocvar_g_balance_shotgun_primary_ammo;
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, autocvar_g_antilag_bullets && bulletspeed >= autocvar_g_antilag_bullets, 5, "weapons/shotgun_fire.wav", CH_WEAPON_A, d * bullets);
+ 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, 1, 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);
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;
if(!self.cnt) // set start time of melee
{
- self.cnt = time;
+ self.cnt = time;
W_PlayStrengthSound(self.realowner);
}
makevectors(self.realowner.v_angle); // update values for v_* vectors
-
+
// calculate swing percentage based on time
meleetime = autocvar_g_balance_shotgun_secondary_melee_time * W_WeaponRateFactor();
swing = bound(0, (self.cnt + meleetime - time) / meleetime, 10);
f = ((1 - swing) * autocvar_g_balance_shotgun_secondary_melee_traces);
-
+
// check to see if we can still continue, otherwise give up now
if((self.realowner.deadflag != DEAD_NO) && autocvar_g_balance_shotgun_secondary_melee_no_doubleslap)
{
remove(self);
return;
}
-
- // if okay, perform the traces needed for this frame
+
+ // if okay, perform the traces needed for this frame
for(i=self.swing_prev; i < f; ++i)
{
swing_factor = ((1 - (i / autocvar_g_balance_shotgun_secondary_melee_traces)) * 2 - 1);
-
- targpos = (self.realowner.origin + self.realowner.view_ofs
+
+ targpos = (self.realowner.origin + self.realowner.view_ofs
+ (v_forward * autocvar_g_balance_shotgun_secondary_melee_range)
+ (v_up * swing_factor * autocvar_g_balance_shotgun_secondary_melee_swing_up)
+ (v_right * swing_factor * autocvar_g_balance_shotgun_secondary_melee_swing_side));
WarpZone_traceline_antilag(self, self.realowner.origin + self.realowner.view_ofs, targpos, FALSE, self, ANTILAG_LATENCY(self.realowner));
-
+
// draw lightning beams for debugging
- //te_lightning2(world, targpos, self.realowner.origin + self.realowner.view_ofs + v_forward * 5 - v_up * 5);
+ //te_lightning2(world, targpos, self.realowner.origin + self.realowner.view_ofs + v_forward * 5 - v_up * 5);
//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.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));
-
+
//print(strcat(self.realowner.netname, " hitting ", target_victim.netname, " with ", strcat(ftos(swing_damage), " damage (factor: ", ftos(swing_factor), ") at "), ftos(time), " seconds.\n"));
-
- Damage(target_victim, self.realowner, self.realowner,
- swing_damage, WEP_SHOTGUN | HITTYPE_SECONDARY,
- self.realowner.origin + self.realowner.view_ofs,
+
+ Damage(target_victim, self.realowner, self.realowner,
+ swing_damage, WEP_SHOTGUN | HITTYPE_SECONDARY,
+ self.realowner.origin + self.realowner.view_ofs,
v_forward * autocvar_g_balance_shotgun_secondary_force);
-
+
if(accuracy_isgooddamage(self.realowner, target_victim)) { accuracy_add(self.realowner, WEP_SHOTGUN, 0, swing_damage); }
-
+
// draw large red flash for debugging
//te_customflash(targpos, 200, 2, '15 0 0');
-
+
if(autocvar_g_balance_shotgun_secondary_melee_multihit) // allow multiple hits with one swing, but not against the same player twice.
{
self.swing_alreadyhit = target_victim;
}
}
}
-
+
if(time >= self.cnt + meleetime)
{
// melee is finished
}
else
{
- // set up next frame
+ // set up next frame
self.swing_prev = i;
self.nextthink = time;
}
if(vlen(self.origin-self.enemy.origin) <= autocvar_g_balance_shotgun_secondary_melee_range)
self.BUTTON_ATCK2 = bot_aim(1000000, 0, 0.001, FALSE);
else
- {
- if(autocvar_g_antilag_bullets)
- self.BUTTON_ATCK = bot_aim(1000000, 0, 0.001, FALSE);
- else
- self.BUTTON_ATCK = bot_aim(autocvar_g_balance_shotgun_primary_speed, 0, 0.001, FALSE);
- }
+ self.BUTTON_ATCK = bot_aim(1000000, 0, 0.001, FALSE);
else if (req == WR_THINK)
{
if(autocvar_g_balance_shotgun_reload_ammo && self.clip_load < autocvar_g_balance_shotgun_primary_ammo) // forced reload
{
// don't force reload an empty shotgun if its melee attack is active
- if not(autocvar_g_balance_shotgun_secondary && self.ammo_shells < autocvar_g_balance_shotgun_primary_ammo)
+ if (!(autocvar_g_balance_shotgun_secondary && self.ammo_shells < autocvar_g_balance_shotgun_primary_ammo))
weapon_action(self.weapon, WR_RELOAD);
}
else
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)
{
// 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
}
note += 12;
if(hittype & HITTYPE_SECONDARY)
note += 7;
-
+
// we support two kinds of tubas, those tuned in Eb and those tuned in C
// kind of tuba currently is player slot number, or team number if in
// teamplay
if(pl.clientcolors & 1)
note += 3;
}
-
+
// total range of notes:
// 0
// *** ** ****
}
}
- if not(self.tuba_note)
+ if (!self.tuba_note)
{
self.tuba_note = spawn();
self.tuba_note.owner = self.tuba_note.realowner = self;
void W_UZI_Attack (float deathtype)
{
- W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, ((self.misc_bulletcounter == 1) ? autocvar_g_balance_uzi_first_damage : autocvar_g_balance_uzi_sustained_damage));
+ W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, ((self.misc_bulletcounter == 1) ? autocvar_g_balance_uzi_first_damage : autocvar_g_balance_uzi_sustained_damage));
if (!autocvar_g_norecoil)
{
self.punchangle_x = random () - 0.5;
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, 1, 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, 1, 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);
if (self.BUTTON_ATCK)
{
if (!weapon_action(self.weapon, WR_CHECKAMMO2))
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
W_SwitchWeapon_Force(self, w_getbestweapon(self));
w_ready();
}
if (!weapon_action(self.weapon, WR_CHECKAMMO1))
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
W_SwitchWeapon_Force(self, w_getbestweapon(self));
w_ready();
W_DecreaseAmmo(ammo_nails, autocvar_g_balance_uzi_sustained_ammo, autocvar_g_balance_uzi_reload_ammo);
- W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_balance_uzi_sustained_damage);
+ W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_balance_uzi_sustained_damage);
if (!autocvar_g_norecoil)
{
self.punchangle_x = random () - 0.5;
}
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, 1, 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;
void uzi_mode1_fire_burst()
{
- W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_balance_uzi_sustained_damage);
+ W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_balance_uzi_sustained_damage);
if (!autocvar_g_norecoil)
{
self.punchangle_x = random () - 0.5;
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, 1, 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);
if(weapon_prepareattack(1, 0))
{
if (!weapon_action(self.weapon, WR_CHECKAMMO2))
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+ if (!(self.items & IT_UNLIMITED_WEAPON_AMMO))
{
W_SwitchWeapon_Force(self, w_getbestweapon(self));
w_ready();
{
if(self.team != e.team)
return FALSE;
- if not(IS_PLAYER(e))
+ if (!IS_PLAYER(e))
return FALSE;
}
WriteByte(MSG_ENTITY, ENT_CLIENT_WAYPOINT);
sendflags = sendflags & 0x7F;
-
+
if(g_nexball)
sendflags &= ~0x80;
else if(self.max_health || (self.pain_finished && (time < self.pain_finished + 0.25)))
--- /dev/null
+FILES=`find client common menu server warpzonelib -name \*.c -o -name \*.h -o -name \*.qc -o -name \*.qh`
+out_raw()
+{
+ printf "%s\n" "$LINE"
+}
+out()
+{
+ printf "%-40s = %-8s # %s\n" "$KEY" "$VAL" "$COMMENT"
+}
+decide()
+{
+ verybestchoice=
+ verybestscore=2147483647
+ bestchoice=
+ bestscore=2147483647
+ secondbestchoice=
+ secondbestscore=2147483647
+ worstscore=0
+ haveignore=false
+ havefalse=false
+ have0=false
+ seen=
+ for choice in "$VAL" "$@"; do
+ case " $seen " in
+ *" $choice "*)
+ continue
+ ;;
+ *)
+ seen=$seen" $VAL"
+ ;;
+ esac
+ if [ x"$choice" = x"force" ]; then
+ continue
+ fi
+ if [ x"$choice" = x"ignore" ]; then
+ haveignore=true
+ fi
+ if [ x"$choice" = x"false" ]; then
+ havefalse=true
+ fi
+ if [ x"$choice" = x"0" ]; then
+ have0=true
+ fi
+ if [ x"$MODE" = x"initialize" ]; then
+ if [ x"$choice" = x"ignore" ]; then
+ score=0
+ else
+ score=2147483647
+ fi
+ else
+ {
+ cat uncrustify.cfg
+ printf "%s = %s\n" "$KEY" "$choice"
+ } > uncrustify.cfg.test
+ UNCRUSTIFY_CONFIG=uncrustify.cfg.test sh uncrustify.sh $FILES >/dev/null 2>&1
+ status=$?
+ if [ $status -gt 1 ]; then
+ echo "# ERROR: $KEY = $choice crashes with status $status."
+ continue
+ fi
+ score=0
+ git diff --numstat > diffstat.tmp
+ while read -r add del rest; do
+ if [ x"$add" != x"-" ]; then
+ score=$(($score + $add))
+ fi
+ if [ x"$del" != x"-" ]; then
+ score=$(($score + $del))
+ fi
+ done < diffstat.tmp
+ git reset --hard >/dev/null 2>&1
+ fi
+ echo >&2 "$KEY = $choice: $score"
+ if [ x"$choice" != x"ignore" ]; then
+ if [ $score -lt $bestscore ]; then
+ secondbestscore=$bestscore
+ secondbestchoice=$bestchoice
+ bestscore=$score
+ bestchoice=$choice
+ elif [ $score -lt $secondbestscore ]; then
+ secondbestscore=$score
+ secondbestchoice=$choice
+ fi
+ fi
+ if [ $score -lt $verybestscore ]; then
+ verybestscore=$score
+ verybestchoice=$choice
+ fi
+ if [ $score -gt $worstscore ]; then
+ worstscore=$score
+ worstchoice=$choice
+ fi
+ done
+ if [ -z "$bestchoice" ]; then
+ echo "# WARNING: No best choice identified"
+ elif [ $verybestscore -ge $worstscore ]; then
+ echo "# WARNING: Code doesn't seem to use this feature - delete from the config?"
+ if $haveignore; then
+ VAL=ignore
+ elif $havefalse; then
+ VAL=false
+ elif $have0; then
+ VAL=0
+ fi
+ elif [ $bestscore -ge $worstscore ]; then
+ echo "# WARNING: Indifferent... please decide manually."
+ elif [ $bestscore -ge $secondbestscore ]; then
+ echo "# WARNING: Best is not unique ($bestchoice $secondbestchoice)"
+ elif [ $bestscore -gt $verybestscore ]; then
+ echo "# NOTE: is $(($bestscore - $verybestscore)) worse than $verybestchoice"
+ VAL=$bestchoice
+ else
+ VAL=$bestchoice
+ fi
+}
+while read -r LINE; do
+ case "$LINE" in
+ "# NOTE: "*)
+ continue
+ ;;
+ "# WARNING: "*)
+ continue
+ ;;
+ "# ERROR: "*)
+ continue
+ ;;
+ "#"*)
+ out_raw
+ continue
+ ;;
+ *"#force"*|*"#ignore"*)
+ out_raw
+ continue
+ ;;
+ esac
+ printf "%s\n" "$LINE" | while read KEY EQ VAL DELIM COMMENT; do
+ if \
+ [ x"$EQ" != x"=" ] || \
+ [ x"$DELIM" != x"#" ]; then
+ out_raw
+ continue
+ fi
+ case "$COMMENT" in
+ number)
+ case "$KEY" in
+ indent_columns|*tab*)
+ decide 1 2 4 8
+ ;;
+ *)
+ decide 0 1 2 3 indent_columns
+ ;;
+ esac
+ out
+ ;;
+ string)
+ printf "# WARNING: unsupported %s\n" "$COMMENT"
+ out_raw
+ ;;
+ *[!a-z/_]*)
+ printf "# ERROR: invalid characters %s\n" "$COMMENT"
+ out_raw
+ ;;
+ */*)
+ decide `echo "$COMMENT" | tr / ' '`
+ out
+ ;;
+ *)
+ printf "# ERROR: only once choice %s\n" "$COMMENT"
+ out_raw
+ ;;
+ esac
+ done
+done < uncrustify.cfg
--- /dev/null
+# Uncrustify 0.60
+
+#
+# General options
+#
+
+# The type of line endings
+# WARNING: Best is not unique (auto lf)
+newlines = auto # auto/lf/crlf/cr
+
+# The original size of tabs in the input
+input_tab_size = 4 # number
+
+# The size of tabs in the output (only used if align_with_tabs=true)
+output_tab_size = 4 # number
+
+# The ASCII value of the string escape char, usually 92 (\) or 94 (^). (Pawn)
+string_escape_char = 92 # number #ignore
+
+# Alternate string escape char for Pawn. Only works right before the quote char.
+string_escape_char2 = 0 # number #ignore
+
+# Allow interpreting '>=' and '>>=' as part of a template in 'void f(list<list<B>>=val);'.
+# If true (default), 'assert(x<0 && y>=3)' will be broken.
+# Improvements to template detection may make this option obsolete.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+tok_split_gte = false # false/true
+
+# Control what to do with the UTF-8 BOM (recommend 'remove')
+utf8_bom = remove # ignore/add/remove/force #force
+
+# If the file contains bytes with values between 128 and 255, but is not UTF-8, then output as UTF-8
+utf8_byte = true # false/true #force
+
+# Force the output encoding to UTF-8
+utf8_force = true # false/true #force
+
+#
+# Indenting
+#
+
+# The number of columns to indent per level.
+# Usually 2, 3, 4, or 8.
+indent_columns = 4 # number
+
+# The continuation indent. If non-zero, this overrides the indent of '(' and '=' continuation indents.
+# For FreeBSD, this is set to 4. Negative value is absolute and not increased for each ( level
+indent_continue = indent_columns # number
+
+# How to use tabs when indenting code
+# 0=spaces only
+# 1=indent with tabs to brace level, align with spaces
+# 2=indent and align with tabs, using spaces when not on a tabstop
+indent_with_tabs = 1 # number #force
+
+# Comments that are not a brace level are indented with tabs on a tabstop.
+# Requires indent_with_tabs=2. If false, will use spaces.
+indent_cmt_with_tabs = false # false/true
+
+# Whether to indent strings broken by '\' so that they line up
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_align_string = false # false/true
+
+# The number of spaces to indent multi-line XML strings.
+# Requires indent_align_string=True
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_xml_string = 0 # number
+
+# Spaces to indent '{' from level
+indent_brace = 0 # number
+
+# Whether braces are indented to the body level
+indent_braces = false # false/true
+
+# Disabled indenting function braces if indent_braces is true
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_braces_no_func = false # false/true
+
+# Disabled indenting class braces if indent_braces is true
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_braces_no_class = false # false/true
+
+# Disabled indenting struct braces if indent_braces is true
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_braces_no_struct = false # false/true
+
+# Indent based on the size of the brace parent, i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc.
+indent_brace_parent = false # false/true
+
+# Whether the 'namespace' body is indented
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_namespace = false # false/true
+
+# The number of spaces to indent a namespace block
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_namespace_level = 0 # number
+
+# If the body of the namespace is longer than this number, it won't be indented.
+# Requires indent_namespace=true. Default=0 (no limit)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_namespace_limit = 0 # number
+
+# Whether the 'extern "C"' body is indented
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_extern = false # false/true
+
+# Whether the 'class' body is indented
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_class = false # false/true
+
+# Whether to indent the stuff after a leading class colon
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_class_colon = false # false/true
+
+# Virtual indent from the ':' for member initializers. Default is 2
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_ctor_init_leading = 0 # number
+
+# Additional indenting for constructor initializer list
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_ctor_init = 0 # number
+
+# False=treat 'else\nif' as 'else if' for indenting purposes
+# True=indent the 'if' one level
+indent_else_if = true # false/true
+
+# Amount to indent variable declarations after a open brace. neg=relative, pos=absolute
+indent_var_def_blk = 0 # number
+
+# Indent continued variable declarations instead of aligning.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_var_def_cont = false # false/true
+
+# True: force indentation of function definition to start in column 1
+# False: use the default behavior
+indent_func_def_force_col1 = false # false/true
+
+# True: indent continued function call parameters one indent level
+# False: align parameters under the open paren
+indent_func_call_param = true # false/true
+
+# Same as indent_func_call_param, but for function defs
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_func_def_param = false # false/true
+
+# Same as indent_func_call_param, but for function protos
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_func_proto_param = false # false/true
+
+# Same as indent_func_call_param, but for class declarations
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_func_class_param = false # false/true
+
+# Same as indent_func_call_param, but for class variable constructors
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_func_ctor_var_param = false # false/true
+
+# Same as indent_func_call_param, but for templates
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_template_param = false # false/true
+
+# Double the indent for indent_func_xxx_param options
+indent_func_param_double = true # false/true
+
+# Indentation column for standalone 'const' function decl/proto qualifier
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_func_const = 0 # number
+
+# Indentation column for standalone 'throw' function decl/proto qualifier
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_func_throw = 0 # number
+
+# The number of spaces to indent a continued '->' or '.'
+# Usually set to 0, 1, or indent_columns.
+indent_member = 0 # number
+
+# Spaces to indent single line ('//') comments on lines before code
+indent_sing_line_comments = 0 # number
+
+# If set, will indent trailing single line ('//') comments relative
+# to the code instead of trying to keep the same absolute column
+indent_relative_single_line_comments = true # false/true #force
+
+# Spaces to indent 'case' from 'switch'
+# Usually 0 or indent_columns.
+indent_switch_case = indent_columns # number
+
+# Spaces to shift the 'case' line, without affecting any other lines
+# Usually 0.
+indent_case_shift = 0 # number
+
+# Spaces to indent '{' from 'case'.
+# By default, the brace will appear under the 'c' in case.
+# Usually set to 0 or indent_columns.
+indent_case_brace = 0 # number
+
+# Whether to indent comments found in first column
+indent_col1_comment = false # false/true
+
+# How to indent goto labels
+# >0 : absolute column where 1 is the leftmost column
+# <=0 : subtract from brace indent
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_label = 0 # number
+
+# Same as indent_label, but for access specifiers that are followed by a colon
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_access_spec = 0 # number
+
+# Indent the code after an access specifier by one level.
+# If set, this option forces 'indent_access_spec=0'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_access_spec_body = false # false/true
+
+# If an open paren is followed by a newline, indent the next line so that it lines up after the open paren (not recommended)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_paren_nl = false # false/true
+
+# Controls the indent of a close paren after a newline.
+# 0: Indent to body level
+# 1: Align under the open paren
+# 2: Indent to the brace level
+indent_paren_close = 1 # number #force
+
+# Controls the indent of a comma when inside a paren.If TRUE, aligns under the open paren
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_comma_paren = false # false/true
+
+# Controls the indent of a BOOL operator when inside a paren.If TRUE, aligns under the open paren
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_bool_paren = false # false/true
+
+# If 'indent_bool_paren' is true, controls the indent of the first expression. If TRUE, aligns the first expression to the following ones
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_first_bool_expr = false # false/true
+
+# If an open square is followed by a newline, indent the next line so that it lines up after the open square (not recommended)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_square_nl = false # false/true
+
+# Don't change the relative indent of ESQL/C 'EXEC SQL' bodies
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_preserve_sql = false # false/true
+
+# Align continued statements at the '='. Default=True
+# If FALSE or the '=' is followed by a newline, the next line is indent one tab.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+indent_align_assign = false # false/true
+
+# Indent OC blocks at brace level instead of usual rules.
+indent_oc_block = false # false/true #ignore
+
+# Indent OC blocks in a message relative to the parameter name.
+# 0=use indent_oc_block rules, 1+=spaces to indent #ignore
+indent_oc_block_msg = 0 # number #ignore
+
+# Minimum indent for subsequent parameters
+indent_oc_msg_colon = 0 # number #ignore
+
+#
+# Spacing options
+#
+
+# Add or remove space around arithmetic operator '+', '-', '/', '*', etc
+sp_arith = ignore # ignore/add/remove/force #force
+
+# Add or remove space around assignment operator '=', '+=', etc
+# NOTE: is 54 worse than ignore
+sp_assign = add # ignore/add/remove/force
+
+# Add or remove space around '=' in C++11 lambda capture specifications. Overrides sp_assign
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_cpp_lambda_assign = ignore # ignore/add/remove/force
+
+# Add or remove space after the capture specification in C++11 lambda.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_cpp_lambda_paren = ignore # ignore/add/remove/force
+
+# Add or remove space around assignment operator '=' in a prototype
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_assign_default = ignore # ignore/add/remove/force
+
+# Add or remove space before assignment operator '=', '+=', etc. Overrides sp_assign.
+sp_before_assign = ignore # ignore/add/remove/force #force
+
+# Add or remove space after assignment operator '=', '+=', etc. Overrides sp_assign.
+sp_after_assign = ignore # ignore/add/remove/force #force
+
+# Add or remove space around assignment '=' in enum
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_enum_assign = ignore # ignore/add/remove/force
+
+# Add or remove space before assignment '=' in enum. Overrides sp_enum_assign.
+sp_enum_before_assign = ignore # ignore/add/remove/force #force
+
+# Add or remove space after assignment '=' in enum. Overrides sp_enum_assign.
+sp_enum_after_assign = ignore # ignore/add/remove/force #force
+
+# Add or remove space around preprocessor '##' concatenation operator. Default=Add
+# NOTE: is 4 worse than ignore
+sp_pp_concat = remove # ignore/add/remove/force
+
+# Add or remove space after preprocessor '#' stringify operator. Also affects the '#@' charizing operator.
+sp_pp_stringify = remove # ignore/add/remove/force
+
+# Add or remove space before preprocessor '#' stringify operator as in '#define x(y) L#y'.
+sp_before_pp_stringify = add # ignore/add/remove/force
+
+# Add or remove space around boolean operators '&&' and '||'
+# NOTE: is 2 worse than ignore
+sp_bool = add # ignore/add/remove/force
+
+# Add or remove space around compare operator '<', '>', '==', etc
+# NOTE: is 198 worse than ignore
+sp_compare = add # ignore/add/remove/force
+
+# Add or remove space inside '(' and ')'
+# NOTE: is 10 worse than ignore
+sp_inside_paren = remove # ignore/add/remove/force
+
+# Add or remove space between nested parens
+# NOTE: is 18 worse than ignore
+sp_paren_paren = remove # ignore/add/remove/force
+
+# Whether to balance spaces inside nested parens
+sp_balance_nested_parens = false # false/true
+
+# Add or remove space between ')' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_paren_brace = ignore # ignore/add/remove/force
+
+# Add or remove space before pointer star '*'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_ptr_star = ignore # ignore/add/remove/force
+
+# Add or remove space before pointer star '*' that isn't followed by a variable name
+# If set to 'ignore', sp_before_ptr_star is used instead.
+sp_before_unnamed_ptr_star = add # ignore/add/remove/force
+
+# Add or remove space between pointer stars '*'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_between_ptr_star = ignore # ignore/add/remove/force
+
+# Add or remove space after pointer star '*', if followed by a word.
+sp_after_ptr_star = add # ignore/add/remove/force
+
+# Add or remove space after a pointer star '*', if followed by a func proto/def.
+sp_after_ptr_star_func = add # ignore/add/remove/force
+
+# Add or remove space after a pointer star '*', if followed by an open paren (function types).
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_ptr_star_paren = ignore # ignore/add/remove/force
+
+# Add or remove space before a pointer star '*', if followed by a func proto/def.
+sp_before_ptr_star_func = add # ignore/add/remove/force
+
+# Add or remove space before a reference sign '&'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_byref = ignore # ignore/add/remove/force
+
+# Add or remove space before a reference sign '&' that isn't followed by a variable name
+# If set to 'ignore', sp_before_byref is used instead.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_unnamed_byref = ignore # ignore/add/remove/force
+
+# Add or remove space after reference sign '&', if followed by a word.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_byref = ignore # ignore/add/remove/force
+
+# Add or remove space after a reference sign '&', if followed by a func proto/def.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_byref_func = ignore # ignore/add/remove/force
+
+# Add or remove space before a reference sign '&', if followed by a func proto/def.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_byref_func = ignore # ignore/add/remove/force
+
+# Add or remove space between type and word. Default=Force
+sp_after_type = add # ignore/add/remove/force
+
+# Add or remove space before the paren in the D constructs 'template Foo(' and 'class Foo('.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_template_paren = ignore # ignore/add/remove/force
+
+# Add or remove space in 'template <' vs 'template<'.
+# If set to ignore, sp_before_angle is used.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_template_angle = ignore # ignore/add/remove/force
+
+# Add or remove space before '<>'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_angle = ignore # ignore/add/remove/force
+
+# Add or remove space inside '<' and '>'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_inside_angle = ignore # ignore/add/remove/force
+
+# Add or remove space after '<>'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_angle = ignore # ignore/add/remove/force
+
+# Add or remove space between '<>' and '(' as found in 'new List<byte>();'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_angle_paren = ignore # ignore/add/remove/force
+
+# Add or remove space between '<>' and a word as in 'List<byte> m;'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_angle_word = ignore # ignore/add/remove/force
+
+# Add or remove space between '>' and '>' in '>>' (template stuff C++/C# only). Default=Add
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_angle_shift = ignore # ignore/add/remove/force
+
+# Permit removal of the space between '>>' in 'foo<bar<int> >' (C++11 only). Default=False
+# sp_angle_shift cannot remove the space without this option.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_permit_cpp11_shift = false # false/true
+
+# Add or remove space before '(' of 'if', 'for', 'switch', and 'while'
+sp_before_sparen = remove # ignore/add/remove/force #force
+
+# Add or remove space inside if-condition '(' and ')'
+# NOTE: is 42 worse than ignore
+sp_inside_sparen = remove # ignore/add/remove/force
+
+# Add or remove space before if-condition ')'. Overrides sp_inside_sparen.
+sp_inside_sparen_close = ignore # ignore/add/remove/force #force
+
+# Add or remove space before if-condition '('. Overrides sp_inside_sparen.
+sp_inside_sparen_open = ignore # ignore/add/remove/force #force
+
+# Add or remove space after ')' of 'if', 'for', 'switch', and 'while'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_sparen = ignore # ignore/add/remove/force
+
+# Add or remove space between ')' and '{' of 'if', 'for', 'switch', and 'while'
+sp_sparen_brace = add # ignore/add/remove/force
+
+# Add or remove space between 'invariant' and '(' in the D language.
+sp_invariant_paren = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the ')' in 'invariant (C) c' in the D language.
+sp_after_invariant_paren = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space before empty statement ';' on 'if', 'for' and 'while'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_special_semi = ignore # ignore/add/remove/force
+
+# Add or remove space before ';'. Default=Remove
+# NOTE: is 2 worse than ignore
+sp_before_semi = remove # ignore/add/remove/force
+
+# Add or remove space before ';' in non-empty 'for' statements
+sp_before_semi_for = remove # ignore/add/remove/force
+
+# Add or remove space before a semicolon of an empty part of a for statement.
+sp_before_semi_for_empty = add # ignore/add/remove/force
+
+# Add or remove space after ';', except when followed by a comment. Default=Add
+# NOTE: is 56 worse than ignore
+sp_after_semi = add # ignore/add/remove/force
+
+# Add or remove space after ';' in non-empty 'for' statements. Default=Force
+sp_after_semi_for = add # ignore/add/remove/force
+
+# Add or remove space after the final semicolon of an empty part of a for statement: for ( ; ; <here> ).
+sp_after_semi_for_empty = add # ignore/add/remove/force
+
+# Add or remove space before '[' (except '[]')
+sp_before_square = remove # ignore/add/remove/force
+
+# Add or remove space before '[]'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_squares = ignore # ignore/add/remove/force
+
+# Add or remove space inside a non-empty '[' and ']'
+sp_inside_square = remove # ignore/add/remove/force
+
+# Add or remove space after ','
+sp_after_comma = add # ignore/add/remove/force #force
+
+# Add or remove space before ','
+# NOTE: is 58 worse than ignore
+sp_before_comma = remove # ignore/add/remove/force
+
+# Add or remove space between an open paren and comma: '(,' vs '( ,'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_paren_comma = ignore # ignore/add/remove/force
+
+# Add or remove space before the variadic '...' when preceded by a non-punctuator
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_ellipsis = ignore # ignore/add/remove/force
+
+# Add or remove space after class ':'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_class_colon = ignore # ignore/add/remove/force
+
+# Add or remove space before class ':'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_class_colon = ignore # ignore/add/remove/force
+
+# Add or remove space before case ':'. Default=Remove
+sp_before_case_colon = remove # ignore/add/remove/force
+
+# Add or remove space between 'operator' and operator sign
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_operator = ignore # ignore/add/remove/force
+
+# Add or remove space between the operator symbol and the open paren, as in 'operator ++('
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_operator_sym = ignore # ignore/add/remove/force
+
+# Add or remove space after C/D cast, i.e. 'cast(int)a' vs 'cast(int) a' or '(int)a' vs '(int) a'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_cast = ignore # ignore/add/remove/force
+
+# Add or remove spaces inside cast parens
+sp_inside_paren_cast = remove # ignore/add/remove/force
+
+# Add or remove space between the type and open paren in a C++ cast, i.e. 'int(exp)' vs 'int (exp)'
+sp_cpp_cast_paren = remove # ignore/add/remove/force
+
+# Add or remove space between 'sizeof' and '('
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_sizeof_paren = ignore # ignore/add/remove/force
+
+# Add or remove space after the tag keyword (Pawn)
+sp_after_tag = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space inside enum '{' and '}'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_inside_braces_enum = ignore # ignore/add/remove/force
+
+# Add or remove space inside struct/union '{' and '}'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_inside_braces_struct = ignore # ignore/add/remove/force
+
+# Add or remove space inside '{' and '}'
+sp_inside_braces = add # ignore/add/remove/force
+
+# Add or remove space inside '{}'
+# NOTE: is 10 worse than ignore
+sp_inside_braces_empty = remove # ignore/add/remove/force
+
+# Add or remove space between return type and function name
+# A minimum of 1 is forced except for pointer return types.
+sp_type_func = add # ignore/add/remove/force
+
+# Add or remove space between function name and '(' on function declaration
+# NOTE: is 30 worse than ignore
+sp_func_proto_paren = remove # ignore/add/remove/force
+
+# Add or remove space between function name and '(' on function definition
+# NOTE: is 400 worse than ignore
+sp_func_def_paren = remove # ignore/add/remove/force
+
+# Add or remove space inside empty function '()'
+sp_inside_fparens = remove # ignore/add/remove/force
+
+# Add or remove space inside function '(' and ')'
+# NOTE: is 78 worse than ignore
+sp_inside_fparen = remove # ignore/add/remove/force
+
+# Add or remove space inside the first parens in the function type: 'void (*x)(...)'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_inside_tparen = ignore # ignore/add/remove/force
+
+# Add or remove between the parens in the function type: 'void (*x)(...)'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_tparen_close = ignore # ignore/add/remove/force
+
+# Add or remove space between ']' and '(' when part of a function call.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_square_fparen = ignore # ignore/add/remove/force
+
+# Add or remove space between ')' and '{' of function
+sp_fparen_brace = add # ignore/add/remove/force
+
+# Add or remove space between function name and '(' on function calls
+# NOTE: is 940 worse than ignore
+sp_func_call_paren = remove # ignore/add/remove/force
+
+# Add or remove space between function name and '()' on function calls without parameters.
+# If set to 'ignore' (the default), sp_func_call_paren is used.
+sp_func_call_paren_empty = remove # ignore/add/remove/force
+
+# Add or remove space between the user function name and '(' on function calls
+# You need to set a keyword to be a user function, like this: 'set func_call_user _' in the config file.
+sp_func_call_user_paren = remove # ignore/add/remove/force
+
+# Add or remove space between a constructor/destructor and the open paren
+sp_func_class_paren = remove # ignore/add/remove/force
+
+# Add or remove space between 'return' and '('
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_return_paren = ignore # ignore/add/remove/force
+
+# Add or remove space between '__attribute__' and '('
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_attribute_paren = ignore # ignore/add/remove/force
+
+# Add or remove space between 'defined' and '(' in '#if defined (FOO)'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_defined_paren = ignore # ignore/add/remove/force
+
+# Add or remove space between 'throw' and '(' in 'throw (something)'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_throw_paren = ignore # ignore/add/remove/force
+
+# Add or remove space between 'throw' and anything other than '(' as in '@throw [...];'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_throw = ignore # ignore/add/remove/force
+
+# Add or remove space between 'catch' and '(' in 'catch (something) { }'
+# If set to ignore, sp_before_sparen is used.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_catch_paren = ignore # ignore/add/remove/force
+
+# Add or remove space between 'version' and '(' in 'version (something) { }' (D language)
+# If set to ignore, sp_before_sparen is used.
+sp_version_paren = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space between 'scope' and '(' in 'scope (something) { }' (D language)
+# If set to ignore, sp_before_sparen is used.
+sp_scope_paren = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space between macro and value
+sp_macro = remove # ignore/add/remove/force #force
+
+# Add or remove space between macro function ')' and value
+sp_macro_func = remove # ignore/add/remove/force #force
+
+# Add or remove space between 'else' and '{' if on the same line
+sp_else_brace = add # ignore/add/remove/force
+
+# Add or remove space between '}' and 'else' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_brace_else = ignore # ignore/add/remove/force
+
+# Add or remove space between '}' and the name of a typedef on the same line
+sp_brace_typedef = add # ignore/add/remove/force
+
+# Add or remove space between 'catch' and '{' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_catch_brace = ignore # ignore/add/remove/force
+
+# Add or remove space between '}' and 'catch' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_brace_catch = ignore # ignore/add/remove/force
+
+# Add or remove space between 'finally' and '{' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_finally_brace = ignore # ignore/add/remove/force
+
+# Add or remove space between '}' and 'finally' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_brace_finally = ignore # ignore/add/remove/force
+
+# Add or remove space between 'try' and '{' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_try_brace = ignore # ignore/add/remove/force
+
+# Add or remove space between get/set and '{' if on the same line
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_getset_brace = ignore # ignore/add/remove/force
+
+# Add or remove space before the '::' operator
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_dc = ignore # ignore/add/remove/force
+
+# Add or remove space after the '::' operator
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_dc = ignore # ignore/add/remove/force
+
+# Add or remove around the D named array initializer ':' operator
+sp_d_array_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the '!' (not) operator. Default=Remove
+sp_not = remove # ignore/add/remove/force
+
+# Add or remove space after the '~' (invert) operator. Default=Remove
+sp_inv = remove # ignore/add/remove/force
+
+# Add or remove space after the '&' (address-of) operator. Default=Remove
+# This does not affect the spacing after a '&' that is part of a type.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_addr = ignore # ignore/add/remove/force
+
+# Add or remove space around the '.' or '->' operators. Default=Remove
+# NOTE: is 28 worse than ignore
+sp_member = remove # ignore/add/remove/force
+
+# Add or remove space after the '*' (dereference) operator. Default=Remove
+# This does not affect the spacing after a '*' that is part of a type.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_deref = ignore # ignore/add/remove/force
+
+# Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'. Default=Remove
+# NOTE: is 4 worse than ignore
+sp_sign = remove # ignore/add/remove/force
+
+# Add or remove space before or after '++' and '--', as in '(--x)' or 'y++;'. Default=Remove
+sp_incdec = remove # ignore/add/remove/force
+
+# Add or remove space before a backslash-newline at the end of a line. Default=Add
+sp_before_nl_cont = add # ignore/add/remove/force #force
+
+# Add or remove space after the scope '+' or '-', as in '-(void) foo;' or '+(int) bar;'
+sp_after_oc_scope = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the colon in message specs
+# '-(int) f:(int) x;' vs '-(int) f: (int) x;'
+sp_after_oc_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space before the colon in message specs
+# '-(int) f: (int) x;' vs '-(int) f : (int) x;'
+sp_before_oc_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the colon in immutable dictionary expression
+# 'NSDictionary *test = @{@"foo" :@"bar"};'
+sp_after_oc_dict_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space before the colon in immutable dictionary expression
+# 'NSDictionary *test = @{@"foo" :@"bar"};'
+sp_before_oc_dict_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the colon in message specs
+# '[object setValue:1];' vs '[object setValue: 1];'
+sp_after_send_oc_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space before the colon in message specs
+# '[object setValue:1];' vs '[object setValue :1];'
+sp_before_send_oc_colon = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the (type) in message specs
+# '-(int)f: (int) x;' vs '-(int)f: (int)x;'
+sp_after_oc_type = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after the first (type) in message specs
+# '-(int) f:(int)x;' vs '-(int)f:(int)x;'
+sp_after_oc_return_type = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space between '@selector' and '('
+# '@selector(msgName)' vs '@selector (msgName)'
+# Also applies to @protocol() constructs
+sp_after_oc_at_sel = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space between '@selector(x)' and the following word
+# '@selector(foo) a:' vs '@selector(foo)a:'
+sp_after_oc_at_sel_parens = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space inside '@selector' parens
+# '@selector(foo)' vs '@selector( foo )'
+# Also applies to @protocol() constructs
+sp_inside_oc_at_sel_parens = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space before a block pointer caret
+# '^int (int arg){...}' vs. ' ^int (int arg){...}'
+sp_before_oc_block_caret = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after a block pointer caret
+# '^int (int arg){...}' vs. '^ int (int arg){...}'
+sp_after_oc_block_caret = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space between the receiver and selector in a message.
+# '[receiver selector ...]'
+sp_after_oc_msg_receiver = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space after @property.
+sp_after_oc_property = ignore # ignore/add/remove/force #ignore
+
+# Add or remove space around the ':' in 'b ? t : f'
+sp_cond_colon = add # ignore/add/remove/force
+
+# Add or remove space around the '?' in 'b ? t : f'
+sp_cond_question = add # ignore/add/remove/force
+
+# Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make sense here.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_case_label = ignore # ignore/add/remove/force
+
+# Control the space around the D '..' operator.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_range = ignore # ignore/add/remove/force
+
+# Control the spacing after ':' in 'for (TYPE VAR : EXPR)' (Java)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_for_colon = ignore # ignore/add/remove/force
+
+# Control the spacing before ':' in 'for (TYPE VAR : EXPR)' (Java)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_before_for_colon = ignore # ignore/add/remove/force
+
+# Control the spacing in 'extern (C)' (D)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_extern_paren = ignore # ignore/add/remove/force
+
+# Control the space after the opening of a C++ comment '// A' vs '//A'
+sp_cmt_cpp_start = add # ignore/add/remove/force #force
+
+# Controls the spaces between #else or #endif and a trailing comment
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_endif_cmt = ignore # ignore/add/remove/force
+
+# Controls the spaces after 'new', 'delete', and 'delete[]'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_after_new = ignore # ignore/add/remove/force
+
+# Controls the spaces before a trailing or embedded comment
+sp_before_tr_emb_cmt = force # ignore/add/remove/force #force
+
+# Number of spaces before a trailing or embedded comment
+sp_num_before_tr_emb_cmt = 2 # number #force
+
+# Control space between a Java annotation and the open paren.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+sp_annotation_paren = ignore # ignore/add/remove/force
+
+#
+# Code alignment (not left column spaces/tabs)
+#
+
+# Whether to keep non-indenting tabs
+align_keep_tabs = false # false/true #force
+
+# Whether to use tabs for aligning
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_with_tabs = false # false/true
+
+# Whether to bump out to the next tab when aligning
+align_on_tabstop = false # false/true
+
+# Whether to left-align numbers
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_number_left = false # false/true
+
+# Align variable definitions in prototypes and functions
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_func_params = false # false/true
+
+# Align parameters in single-line functions that have the same name.
+# The function names must already be aligned with each other.
+align_same_func_call_params = false # false/true
+
+# The span for aligning variable definitions (0=don't align)
+align_var_def_span = 0 # number
+
+# How to align the star in variable definitions.
+# 0=Part of the type 'void * foo;'
+# 1=Part of the variable 'void *foo;'
+# 2=Dangling 'void *foo;'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_star_style = 0 # number
+
+# How to align the '&' in variable definitions.
+# 0=Part of the type
+# 1=Part of the variable
+# 2=Dangling
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_amp_style = 0 # number
+
+# The threshold for aligning variable definitions (0=no limit)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_thresh = 0 # number
+
+# The gap for aligning variable definitions
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_gap = 0 # number
+
+# Whether to align the colon in struct bit fields
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_colon = false # false/true
+
+# Whether to align any attribute after the variable name
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_attribute = false # false/true
+
+# Whether to align inline struct/enum/union variable definitions
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_def_inline = false # false/true
+
+# The span for aligning on '=' in assignments (0=don't align)
+align_assign_span = 0 # number
+
+# The threshold for aligning on '=' in assignments (0=no limit)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_assign_thresh = 0 # number
+
+# The span for aligning on '=' in enums (0=don't align)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_enum_equ_span = 0 # number
+
+# The threshold for aligning on '=' in enums (0=no limit)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_enum_equ_thresh = 0 # number
+
+# The span for aligning struct/union (0=don't align)
+align_var_struct_span = 0 # number
+
+# The threshold for aligning struct/union member definitions (0=no limit)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_struct_thresh = 0 # number
+
+# The gap for aligning struct/union member definitions
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_var_struct_gap = 0 # number
+
+# The span for aligning struct initializer values (0=don't align)
+align_struct_init_span = 0 # number
+
+# The minimum space between the type and the synonym of a typedef
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_typedef_gap = 0 # number
+
+# The span for aligning single-line typedefs (0=don't align)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_typedef_span = 0 # number
+
+# How to align typedef'd functions with other typedefs
+# 0: Don't mix them at all
+# 1: align the open paren with the types
+# 2: align the function type name with the other type names
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_typedef_func = 0 # number
+
+# Controls the positioning of the '*' in typedefs. Just try it.
+# 0: Align on typedef type, ignore '*'
+# 1: The '*' is part of type name: typedef int *pint;
+# 2: The '*' is part of the type, but dangling: typedef int *pint;
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_typedef_star_style = 0 # number
+
+# Controls the positioning of the '&' in typedefs. Just try it.
+# 0: Align on typedef type, ignore '&'
+# 1: The '&' is part of type name: typedef int &pint;
+# 2: The '&' is part of the type, but dangling: typedef int &pint;
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_typedef_amp_style = 0 # number
+
+# The span for aligning comments that end lines (0=don't align)
+align_right_cmt_span = 2 # number
+
+# If aligning comments, mix with comments after '}' and #endif with less than 3 spaces before the comment
+align_right_cmt_mix = false # false/true
+
+# If a trailing comment is more than this number of columns away from the text it follows,
+# it will qualify for being aligned. This has to be > 0 to do anything.
+# WARNING: Best is not unique (0 1)
+align_right_cmt_gap = 0 # number
+
+# Align trailing comment at or beyond column N; 'pulls in' comments as a bonus side effect (0=ignore)
+# WARNING: Best is not unique (1 2)
+align_right_cmt_at_col = 0 # number
+
+# The span for aligning function prototypes (0=don't align)
+align_func_proto_span = 0 # number
+
+# Minimum gap between the return type and the function name.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_func_proto_gap = 0 # number
+
+# Align function protos on the 'operator' keyword instead of what follows
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_on_operator = false # false/true
+
+# Whether to mix aligning prototype and variable declarations.
+# If true, align_var_def_XXX options are used instead of align_func_proto_XXX options.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_mix_var_proto = false # false/true
+
+# Align single-line functions with function prototypes, uses align_func_proto_span
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_single_line_func = false # false/true
+
+# Aligning the open brace of single-line functions.
+# Requires align_single_line_func=true, uses align_func_proto_span
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_single_line_brace = false # false/true
+
+# Gap for align_single_line_brace.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_single_line_brace_gap = 0 # number
+
+# The span for aligning ObjC msg spec (0=don't align)
+align_oc_msg_spec_span = 0 # number #ignore
+
+# Whether to align macros wrapped with a backslash and a newline.
+# This will not work right if the macro contains a multi-line comment.
+align_nl_cont = false # false/true
+
+# # Align macro functions and variables together
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_pp_define_together = false # false/true
+
+# The minimum space between label and value of a preprocessor define
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_pp_define_gap = 0 # number
+
+# The span for aligning on '#define' bodies (0=don't align)
+align_pp_define_span = 0 # number
+
+# Align lines that start with '<<' with previous '<<'. Default=true
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+align_left_shift = false # false/true
+
+# Span for aligning parameters in an Obj-C message call on the ':' (0=don't align)
+align_oc_msg_colon_span = 0 # number #ignore
+
+# If true, always align with the first parameter, even if it is too short.
+align_oc_msg_colon_first = false # false/true #ignore
+
+# Aligning parameters in an Obj-C '+' or '-' declaration on the ':'
+align_oc_decl_colon = false # false/true #ignore
+
+#
+# Newline adding and removing options
+#
+
+# Whether to collapse empty blocks between '{' and '}'
+nl_collapse_empty_body = false # false/true
+
+# Don't split one-line braced assignments - 'foo_t f = { 1, 2 };'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_assign_leave_one_liners = false # false/true
+
+# Don't split one-line braced statements inside a class xx { } body
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_class_leave_one_liners = false # false/true
+
+# Don't split one-line enums: 'enum foo { BAR = 15 };'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_enum_leave_one_liners = false # false/true
+
+# Don't split one-line get or set functions
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_getset_leave_one_liners = false # false/true
+
+# Don't split one-line function definitions - 'int foo() { return 0; }'
+nl_func_leave_one_liners = true # false/true
+
+# Don't split one-line if/else statements - 'if(a) b++;'
+nl_if_leave_one_liners = true # false/true
+
+# Don't split one-line OC messages
+nl_oc_msg_leave_one_liner = false # false/true #ignore
+
+# Add or remove newlines at the start of the file
+nl_start_of_file = remove # ignore/add/remove/force #force
+
+# The number of newlines at the start of the file (only used if nl_start_of_file is 'add' or 'force'
+nl_start_of_file_min = 0 # number #force
+
+# Add or remove newline at the end of the file
+nl_end_of_file = add # ignore/add/remove/force #force
+
+# The number of newlines at the end of the file (only used if nl_end_of_file is 'add' or 'force')
+nl_end_of_file_min = 1 # number #force
+
+# Add or remove newline between '=' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_assign_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between '=' and '[' (D only)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_assign_square = ignore # ignore/add/remove/force
+
+# Add or remove newline after '= [' (D only). Will also affect the newline before the ']'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_square_assign = ignore # ignore/add/remove/force
+
+# The number of blank lines after a block of variable definitions at the top of a function body
+# 0 = No change (default)
+nl_func_var_def_blk = 0 # number #force
+
+# The number of newlines before a block of typedefs
+# 0 = No change (default)
+nl_typedef_blk_start = 0 # number #force
+
+# The number of newlines after a block of typedefs
+# 0 = No change (default)
+nl_typedef_blk_end = 0 # number #force
+
+# The maximum consecutive newlines within a block of typedefs
+# 0 = No change (default)
+# WARNING: Best is not unique (0 2)
+nl_typedef_blk_in = 0 # number
+
+# The number of newlines before a block of variable definitions not at the top of a function body
+# 0 = No change (default)
+# WARNING: Best is not unique (0 1)
+nl_var_def_blk_start = 0 # number
+
+# The number of newlines after a block of variable definitions not at the top of a function body
+# 0 = No change (default)
+# WARNING: Best is not unique (0 1)
+nl_var_def_blk_end = 0 # number
+
+# The maximum consecutive newlines within a block of variable definitions
+# 0 = No change (default)
+# WARNING: Best is not unique (0 3)
+nl_var_def_blk_in = 0 # number
+
+# Add or remove newline between a function call's ')' and '{', as in:
+# list_for_each(item, &list) { }
+# NOTE: is 28 worse than ignore
+nl_fcall_brace = add # ignore/add/remove/force
+
+# Add or remove newline between 'enum' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_enum_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'struct and '{'
+nl_struct_brace = add # ignore/add/remove/force
+
+# Add or remove newline between 'union' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_union_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'if' and '{'
+# NOTE: is 231 worse than ignore
+nl_if_brace = add # ignore/add/remove/force
+
+# Add or remove newline between '}' and 'else'
+nl_brace_else = add # ignore/add/remove/force
+
+# Add or remove newline between 'else if' and '{'
+# If set to ignore, nl_if_brace is used instead
+nl_elseif_brace = add # ignore/add/remove/force
+
+# Add or remove newline between 'else' and '{'
+nl_else_brace = add # ignore/add/remove/force
+
+# Add or remove newline between 'else' and 'if'
+nl_else_if = remove # ignore/add/remove/force
+
+# Add or remove newline between '}' and 'finally'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_brace_finally = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'finally' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_finally_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'try' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_try_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between get/set and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_getset_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'for' and '{'
+# NOTE: is 93 worse than ignore
+nl_for_brace = add # ignore/add/remove/force
+
+# Add or remove newline between 'catch' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_catch_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between '}' and 'catch'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_brace_catch = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'while' and '{'
+# NOTE: is 21 worse than ignore
+nl_while_brace = add # ignore/add/remove/force
+
+# Add or remove newline between 'scope (x)' and '{' (D)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_scope_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'unittest' and '{' (D)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_unittest_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'version (x)' and '{' (D)
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_version_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'using' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_using_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between two open or close braces.
+# Due to general newline/brace handling, REMOVE may not work.
+nl_brace_brace = remove # ignore/add/remove/force
+
+# Add or remove newline between 'do' and '{'
+# NOTE: is 3 worse than ignore
+nl_do_brace = add # ignore/add/remove/force
+
+# Add or remove newline between '}' and 'while' of 'do' statement
+nl_brace_while = add # ignore/add/remove/force #force
+
+# Add or remove newline between 'switch' and '{'
+# NOTE: is 21 worse than ignore
+nl_switch_brace = add # ignore/add/remove/force
+
+# Add a newline between ')' and '{' if the ')' is on a different line than the if/for/etc.
+# Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch, and nl_catch_brace.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_multi_line_cond = false # false/true
+
+# Force a newline in a define after the macro name for multi-line defines.
+nl_multi_line_define = false # false/true
+
+# Whether to put a newline before 'case' statement
+nl_before_case = false # false/true
+
+# Add or remove newline between ')' and 'throw'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_before_throw = ignore # ignore/add/remove/force
+
+# Whether to put a newline after 'case' statement
+nl_after_case = false # false/true
+
+# Add or remove a newline between a case ':' and '{'. Overrides nl_after_case.
+# NOTE: is 27 worse than ignore
+nl_case_colon_brace = add # ignore/add/remove/force
+
+# Newline between namespace and {
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_namespace_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'template<>' and whatever follows.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_template_class = ignore # ignore/add/remove/force
+
+# Add or remove newline between 'class' and '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_class_brace = ignore # ignore/add/remove/force
+
+# Add or remove newline after each ',' in the constructor member initialization
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_class_init_args = ignore # ignore/add/remove/force
+
+# Add or remove newline between return type and function name in a function definition
+nl_func_type_name = remove # ignore/add/remove/force
+
+# Add or remove newline between return type and function name inside a class {}
+# Uses nl_func_type_name or nl_func_proto_type_name if set to ignore.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_func_type_name_class = ignore # ignore/add/remove/force
+
+# Add or remove newline between function scope and name in a definition
+# Controls the newline after '::' in 'void A::f() { }'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_func_scope_name = ignore # ignore/add/remove/force
+
+# Add or remove newline between return type and function name in a prototype
+# NOTE: is 6 worse than ignore
+nl_func_proto_type_name = remove # ignore/add/remove/force
+
+# Add or remove newline between a function name and the opening '('
+nl_func_paren = remove # ignore/add/remove/force
+
+# Add or remove newline between a function name and the opening '(' in the definition
+nl_func_def_paren = remove # ignore/add/remove/force
+
+# Add or remove newline after '(' in a function declaration
+# NOTE: is 6 worse than ignore
+nl_func_decl_start = remove # ignore/add/remove/force
+
+# Add or remove newline after '(' in a function definition
+# NOTE: is 23 worse than ignore
+nl_func_def_start = remove # ignore/add/remove/force
+
+# Overrides nl_func_decl_start when there is only one parameter.
+nl_func_decl_start_single = ignore # ignore/add/remove/force #force
+
+# Overrides nl_func_def_start when there is only one parameter.
+nl_func_def_start_single = ignore # ignore/add/remove/force #force
+
+# Add or remove newline after each ',' in a function declaration
+# NOTE: is 38 worse than ignore
+nl_func_decl_args = remove # ignore/add/remove/force
+
+# Add or remove newline after each ',' in a function definition
+# NOTE: is 37 worse than ignore
+nl_func_def_args = remove # ignore/add/remove/force
+
+# Add or remove newline before the ')' in a function declaration
+nl_func_decl_end = remove # ignore/add/remove/force
+
+# Add or remove newline before the ')' in a function definition
+nl_func_def_end = remove # ignore/add/remove/force
+
+# Overrides nl_func_decl_end when there is only one parameter.
+nl_func_decl_end_single = ignore # ignore/add/remove/force #force
+
+# Overrides nl_func_def_end when there is only one parameter.
+nl_func_def_end_single = ignore # ignore/add/remove/force #force
+
+# Add or remove newline between '()' in a function declaration.
+nl_func_decl_empty = remove # ignore/add/remove/force
+
+# Add or remove newline between '()' in a function definition.
+nl_func_def_empty = remove # ignore/add/remove/force
+
+# Whether to put each OC message parameter on a separate line
+# See nl_oc_msg_leave_one_liner #ignore
+nl_oc_msg_args = false # false/true #ignore
+
+# Add or remove newline between function signature and '{'
+# NOTE: is 156 worse than ignore
+nl_fdef_brace = add # ignore/add/remove/force
+
+# Add or remove a newline between the return keyword and return expression.
+# NOTE: is 15 worse than ignore
+nl_return_expr = remove # ignore/add/remove/force
+
+# Whether to put a newline after semicolons, except in 'for' statements
+nl_after_semicolon = false # false/true
+
+# Whether to put a newline after brace open.
+# This also adds a newline before the matching brace close.
+nl_after_brace_open = false # false/true
+
+# If nl_after_brace_open and nl_after_brace_open_cmt are true, a newline is
+# placed between the open brace and a trailing single-line comment.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_brace_open_cmt = false # false/true
+
+# Whether to put a newline after a virtual brace open with a non-empty body.
+# These occur in un-braced if/while/do/for statement bodies.
+nl_after_vbrace_open = false # false/true
+
+# Whether to put a newline after a virtual brace open with an empty body.
+# These occur in un-braced if/while/do/for statement bodies.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_vbrace_open_empty = false # false/true
+
+# Whether to put a newline after a brace close.
+# Does not apply if followed by a necessary ';'.
+nl_after_brace_close = false # false/true
+
+# Whether to put a newline after a virtual brace close.
+# Would add a newline before return in: 'if (foo) a++; return;'
+nl_after_vbrace_close = false # false/true
+
+# Control the newline between the close brace and 'b' in: 'struct { int a; } b;'
+# Affects enums, unions, and structures. If set to ignore, uses nl_after_brace_close
+nl_brace_struct_var = remove # ignore/add/remove/force
+
+# Whether to alter newlines in '#define' macros
+nl_define_macro = false # false/true
+
+# Whether to not put blanks after '#ifxx', '#elxx', or before '#endif'
+nl_squeeze_ifdef = false # false/true
+
+# Add or remove blank line before 'if'
+nl_before_if = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line after 'if' statement
+nl_after_if = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line before 'for'
+nl_before_for = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line after 'for' statement
+nl_after_for = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line before 'while'
+nl_before_while = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line after 'while' statement
+nl_after_while = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line before 'switch'
+nl_before_switch = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line after 'switch' statement
+nl_after_switch = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line before 'do'
+nl_before_do = ignore # ignore/add/remove/force #force
+
+# Add or remove blank line after 'do/while' statement
+nl_after_do = ignore # ignore/add/remove/force #force
+
+# Whether to double-space commented-entries in struct/enum
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_ds_struct_enum_cmt = false # false/true
+
+# Whether to double-space before the close brace of a struct/union/enum
+# (lower priority than 'eat_blanks_before_close_brace')
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_ds_struct_enum_close_brace = false # false/true
+
+# Add or remove a newline around a class colon.
+# Related to pos_class_colon, nl_class_init_args, and pos_comma.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_class_colon = ignore # ignore/add/remove/force
+
+# Change simple unbraced if statements into a one-liner
+# 'if(b)\n i++;' => 'if(b) i++;'
+nl_create_if_one_liner = false # false/true
+
+# Change simple unbraced for statements into a one-liner
+# 'for (i=0;i<5;i++)\n foo(i);' => 'for (i=0;i<5;i++) foo(i);'
+nl_create_for_one_liner = false # false/true
+
+# Change simple unbraced while statements into a one-liner
+# 'while (i<5)\n foo(i++);' => 'while (i<5) foo(i++);'
+nl_create_while_one_liner = false # false/true
+
+#
+# Positioning options
+#
+
+# The position of arithmetic operators in wrapped expressions
+pos_arith = lead # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force #force
+
+# The position of assignment in wrapped expressions.
+# Do not affect '=' followed by '{'
+pos_assign = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force #force
+
+# The position of boolean operators in wrapped expressions
+pos_bool = lead # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force #force
+
+# The position of comparison operators in wrapped expressions
+pos_compare = lead # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force #force
+
+# The position of conditional (b ? t : f) operators in wrapped expressions
+pos_conditional = lead # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force #force
+
+# The position of the comma in wrapped expressions
+pos_comma = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force #force
+
+# The position of the comma in the constructor initialization list
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pos_class_comma = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force
+
+# The position of colons between constructor and member initialization
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pos_class_colon = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force
+
+#
+# Line Splitting options
+#
+
+# Try to limit code width to N number of columns
+code_width = 0 # number
+
+# Whether to fully split long 'for' statements at semi-colons
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+ls_for_split_full = false # false/true
+
+# Whether to fully split long function protos/calls at commas
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+ls_func_split_full = false # false/true
+
+# Whether to split lines as close to code_width as possible and ignore some groupings
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+ls_code_width = false # false/true
+
+#
+# Blank line options
+#
+
+# The maximum consecutive newlines
+nl_max = 3 # number #force
+
+# The number of newlines after a function prototype, if followed by another function prototype
+# WARNING: Best is not unique (0 1)
+nl_after_func_proto = 0 # number
+
+# The number of newlines after a function prototype, if not followed by another function prototype
+# WARNING: Best is not unique (0 1)
+nl_after_func_proto_group = 0 # number
+
+# The number of newlines after '}' of a multi-line function body
+nl_after_func_body = 0 # number
+
+# The number of newlines after '}' of a multi-line function body in a class declaration
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_func_body_class = 0 # number
+
+# The number of newlines after '}' of a single line function body
+# WARNING: Best is not unique (0 1)
+nl_after_func_body_one_liner = 0 # number
+
+# The minimum number of newlines before a multi-line comment.
+# Doesn't apply if after a brace open or another multi-line comment.
+# WARNING: Best is not unique (0 1)
+nl_before_block_comment = 0 # number
+
+# The minimum number of newlines before a single-line C comment.
+# Doesn't apply if after a brace open or other single-line C comments.
+# WARNING: Best is not unique (0 1)
+nl_before_c_comment = 0 # number
+
+# The minimum number of newlines before a CPP comment.
+# Doesn't apply if after a brace open or other CPP comments.
+# WARNING: Best is not unique (0 1)
+nl_before_cpp_comment = 0 # number
+
+# Whether to force a newline after a multi-line comment.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_multiline_comment = false # false/true
+
+# The number of newlines after '}' or ';' of a struct/enum/union definition
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_struct = 0 # number
+
+# The number of newlines after '}' or ';' of a class definition
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_class = 0 # number
+
+# The number of newlines before a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label.
+# Will not change the newline count if after a brace open.
+# 0 = No change.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_before_access_spec = 0 # number
+
+# The number of newlines after a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label.
+# 0 = No change.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_access_spec = 0 # number
+
+# The number of newlines between a function def and the function comment.
+# 0 = No change.
+nl_comment_func_def = 0 # number
+
+# The number of newlines after a try-catch-finally block that isn't followed by a brace close.
+# 0 = No change.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_try_catch_finally = 0 # number
+
+# The number of newlines before and after a property, indexer or event decl.
+# 0 = No change.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_around_cs_property = 0 # number
+
+# The number of newlines between the get/set/add/remove handlers in C#.
+# 0 = No change.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_between_get_set = 0 # number
+
+# Add or remove newline between C# property and the '{'
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_property_brace = ignore # ignore/add/remove/force
+
+# Whether to remove blank lines after '{'
+eat_blanks_after_open_brace = true # false/true #force
+
+# Whether to remove blank lines before '}'
+eat_blanks_before_close_brace = true # false/true #force
+
+# How aggressively to remove extra newlines not in preproc.
+# 0: No change
+# 1: Remove most newlines not handled by other config
+# 2: Remove all newlines and reformat completely by config
+# ERROR: nl_remove_extra_newlines = 1 crashes with status 139.
+# ERROR: nl_remove_extra_newlines = 2 crashes with status 139.
+# WARNING: Best is not unique (0 indent_columns)
+nl_remove_extra_newlines = 0 # number
+
+# Whether to put a blank line before 'return' statements, unless after an open brace.
+nl_before_return = false # false/true #force
+
+# Whether to put a blank line after 'return' statements, unless followed by a close brace.
+nl_after_return = false # false/true #force
+
+# Whether to put a newline after a Java annotation statement.
+# Only affects annotations that are after a newline.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_after_annotation = ignore # ignore/add/remove/force
+
+# Controls the newline between two annotations.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+nl_between_annotation = ignore # ignore/add/remove/force
+
+#
+# Code modifying options (non-whitespace)
+#
+
+# Add or remove braces on single-line 'do' statement
+mod_full_brace_do = add # ignore/add/remove/force
+
+# Add or remove braces on single-line 'for' statement
+# NOTE: is 5 worse than ignore
+mod_full_brace_for = remove # ignore/add/remove/force
+
+# Add or remove braces on single-line function definitions. (Pawn)
+mod_full_brace_function = ignore # ignore/add/remove/force #ignore
+
+# Add or remove braces on single-line 'if' statement. Will not remove the braces if they contain an 'else'.
+mod_full_brace_if = add # ignore/add/remove/force
+
+# Make all if/elseif/else statements in a chain be braced or not. Overrides mod_full_brace_if.
+# If any must be braced, they are all braced. If all can be unbraced, then the braces are removed.
+mod_full_brace_if_chain = true # false/true #force
+
+# Don't remove braces around statements that span N newlines
+mod_full_brace_nl = 2 # number #force
+
+# Add or remove braces on single-line 'while' statement
+mod_full_brace_while = remove # ignore/add/remove/force
+
+# Add or remove braces on single-line 'using ()' statement
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+mod_full_brace_using = ignore # ignore/add/remove/force
+
+# Add or remove unnecessary paren on 'return' statement
+# NOTE: is 42 worse than ignore
+mod_paren_on_return = remove # ignore/add/remove/force
+
+# Whether to change optional semicolons to real semicolons
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+mod_pawn_semicolon = false # false/true
+
+# Add parens on 'while' and 'if' statement around bools
+mod_full_paren_if_bool = false # false/true
+
+# Whether to remove superfluous semicolons
+mod_remove_extra_semicolon = false # false/true
+
+# If a function body exceeds the specified number of newlines and doesn't have a comment after
+# the close brace, a comment will be added.
+mod_add_long_function_closebrace_comment = 0 # number
+
+# If a switch body exceeds the specified number of newlines and doesn't have a comment after
+# the close brace, a comment will be added.
+mod_add_long_switch_closebrace_comment = 0 # number
+
+# If an #ifdef body exceeds the specified number of newlines and doesn't have a comment after
+# the #endif, a comment will be added.
+mod_add_long_ifdef_endif_comment = 0 # number
+
+# If an #ifdef or #else body exceeds the specified number of newlines and doesn't have a comment after
+# the #else, a comment will be added.
+mod_add_long_ifdef_else_comment = 0 # number
+
+# If TRUE, will sort consecutive single-line 'import' statements [Java, D]
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+mod_sort_import = false # false/true
+
+# If TRUE, will sort consecutive single-line 'using' statements [C#]
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+mod_sort_using = false # false/true
+
+# If TRUE, will sort consecutive single-line '#include' statements [C/C++] and '#import' statements [Obj-C]
+# This is generally a bad idea, as it may break your code.
+mod_sort_include = false # false/true
+
+# If TRUE, it will move a 'break' that appears after a fully braced 'case' before the close brace.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+mod_move_case_break = false # false/true
+
+# Will add or remove the braces around a fully braced case statement.
+# Will only remove the braces if there are no variable declarations in the block.
+# NOTE: is 507 worse than ignore
+mod_case_brace = remove # ignore/add/remove/force
+
+# If TRUE, it will remove a void 'return;' that appears as the last statement in a function.
+mod_remove_empty_return = true # false/true #force
+
+#
+# Comment modifications
+#
+
+# Try to wrap comments at cmt_width columns
+cmt_width = 0 # number
+
+# Set the comment reflow mode (default: 0)
+# 0: no reflowing (apart from the line wrapping due to cmt_width)
+# 1: no touching at all
+# 2: full reflow
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_reflow_mode = 0 # number
+
+# If false, disable all multi-line comment changes, including cmt_width. keyword substitution, and leading chars.
+# Default is true.
+cmt_indent_multi = false # false/true
+
+# Whether to group c-comments that look like they are in a block
+cmt_c_group = false # false/true
+
+# Whether to put an empty '/*' on the first line of the combined c-comment
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_c_nl_start = false # false/true
+
+# Whether to put a newline before the closing '*/' of the combined c-comment
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_c_nl_end = false # false/true
+
+# Whether to group cpp-comments that look like they are in a block
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_cpp_group = false # false/true
+
+# Whether to put an empty '/*' on the first line of the combined cpp-comment
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_cpp_nl_start = false # false/true
+
+# Whether to put a newline before the closing '*/' of the combined cpp-comment
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_cpp_nl_end = false # false/true
+
+# Whether to change cpp-comments into c-comments
+cmt_cpp_to_c = false # false/true
+
+# Whether to put a star on subsequent comment lines
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_star_cont = false # false/true
+
+# The number of spaces to insert at the start of subsequent comment lines
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_sp_before_star_cont = 0 # number
+
+# The number of spaces to insert after the star on subsequent comment lines
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_sp_after_star_cont = 0 # number
+
+# For multi-line comments with a '*' lead, remove leading spaces if the first and last lines of
+# the comment are the same length. Default=True
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_multi_check_last = false # false/true
+
+# The filename that contains text to insert at the head of a file if the file doesn't start with a C/C++ comment.
+# Will substitute $(filename) with the current file's name.
+# WARNING: unsupported string
+cmt_insert_file_header = "" # string
+
+# The filename that contains text to insert at the end of a file if the file doesn't end with a C/C++ comment.
+# Will substitute $(filename) with the current file's name.
+# WARNING: unsupported string
+cmt_insert_file_footer = "" # string
+
+# The filename that contains text to insert before a function implementation if the function isn't preceded with a C/C++ comment.
+# Will substitute $(function) with the function name and $(javaparam) with the javadoc @param and @return stuff.
+# Will also substitute $(fclass) with the class name: void CFoo::Bar() { ... }
+# WARNING: unsupported string
+cmt_insert_func_header = "" # string
+
+# The filename that contains text to insert before a class if the class isn't preceded with a C/C++ comment.
+# Will substitute $(class) with the class name.
+# WARNING: unsupported string
+cmt_insert_class_header = "" # string
+
+# The filename that contains text to insert before a Obj-C message specification if the method isn't preceeded with a C/C++ comment.
+# Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff.
+cmt_insert_oc_msg_header = "" # string #ignore
+
+# If a preprocessor is encountered when stepping backwards from a function name, then
+# this option decides whether the comment should be inserted.
+# Affects cmt_insert_oc_msg_header, cmt_insert_func_header and cmt_insert_class_header. #ignore
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+cmt_insert_before_preproc = false # false/true
+
+#
+# Preprocessor options
+#
+
+# Control indent of preprocessors inside #if blocks at brace level 0
+# WARNING: Indifferent... please decide manually.
+pp_indent = ignore # ignore/add/remove/force
+
+# Whether to indent #if/#else/#endif at the brace level (true) or from column 1 (false)
+pp_indent_at_level = false # false/true
+
+# If pp_indent_at_level=false, specifies the number of columns to indent per level. Default=1.
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pp_indent_count = 0 # number
+
+# Add or remove space after # based on pp_level of #if blocks
+# NOTE: is 28 worse than ignore
+pp_space = remove # ignore/add/remove/force
+
+# Sets the number of spaces added with pp_space
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pp_space_count = 0 # number
+
+# The indent for #region and #endregion in C# and '#pragma region' in C/C++
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pp_indent_region = 0 # number
+
+# Whether to indent the code between #region and #endregion
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pp_region_indent_code = false # false/true
+
+# If pp_indent_at_level=true, sets the indent for #if, #else, and #endif when not at file-level
+# WARNING: Code doesn't seem to use this feature - delete from the config?
+pp_indent_if = 0 # number
+
+# Control whether to indent the code between #if, #else and #endif when not at file-level
+pp_if_indent_code = false # false/true
+
+# Whether to indent '#define' at the brace level (true) or from column 1 (false)
+pp_define_at_level = true # false/true
+
+# You can force a token to be a type with the 'type' option.
+# Example:
+# type myfoo1 myfoo2
+
+type void
+type float
+type vector
+type entity
+type string
+type .void
+type .float
+type .vector
+type .entity
+type .string
+
+#
+# You can create custom macro-based indentation using macro-open,
+# macro-else and macro-close.
+# Example:
+# macro-open BEGIN_TEMPLATE_MESSAGE_MAP
+# macro-open BEGIN_MESSAGE_MAP
+# macro-close END_MESSAGE_MAP
+#
+# You can assign any keyword to any type with the set option.
+# set func_call_user _ N_
+
+# menu QC OO
+macro-open CLASS
+macro-else EXTENDS
+macro-close ENDCLASS
+
+# translations
+set func_call_user _
+
+#
+# The full syntax description of all custom definition config entries
+# is shown below:
+#
+# define custom tokens as:
+# - embed whitespace in token using '' escape character, or
+# put token in quotes
+# - these: ' " and ` are recognized as quote delimiters
+#
+# type token1 token2 token3 ...
+# ^ optionally specify multiple tokens on a single line
+# define def_token output_token
+# ^ output_token is optional, then NULL is assumed
+# macro-open token
+# macro-close token
+# macro-else token
+# set id token1 token2 ...
+# ^ optionally specify multiple tokens on a single line
+# ^ id is one of the names in token_enum.h sans the CT_ prefix,
+# e.g. PP_PRAGMA
+#
+# all tokens are separated by any mix of ',' commas, '=' equal signs
+# and whitespace (space, tab)
+#
--- /dev/null
+fix_function_types() {
+ # Uncrustify handles QC function types (example:
+ # void(void) func;
+ # ) wrong and removes the space between type and variable. Fix this by
+ # a simple sed on ")letter" which should normally not occur.
+ sed -e 's/)\([A-Za-z0-9]\)/) \1/g' "$@"
+}
+
+if [ -z "$UNCRUSTIFY_CONFIG" ]; then
+ UNCRUSTIFY_CONFIG=`git rev-parse --show-toplevel`/qcsrc/uncrustify.cfg
+fi
+
+case "$#" in
+ 0)
+ uncrustify --frag -c "$UNCRUSTIFY_CONFIG" |\
+ fix_function_types
+ ;;
+ *)
+ uncrustify --replace --no-backup -c "$UNCRUSTIFY_CONFIG" "$@" &&\
+ fix_function_types -i "$@"
+ ;;
+esac
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
float f;
warpzone_warpzones_exist = 1;
- if not(self.enemy)
+ if (!self.enemy)
{
self.enemy = spawn();
self.enemy.classname = "warpzone_from";
return 0;
}
#endif
- if not(trace_ent)
+ if (!trace_ent)
return 0;
if (trace_ent == WarpZoneLib_BoxTouchesBrush_ent)
return 1;
o10 = o1 = WarpZone_TransformOrigin(wz, o0);
v1 = WarpZone_TransformVelocity(wz, v0);
- if not(IS_NOT_A_CLIENT(player))
+ if (!IS_NOT_A_CLIENT(player))
a1 = WarpZone_TransformVAngles(wz, player.v_angle);
else
a1 = WarpZone_TransformAngles(wz, a0);
save1 = self.target; self.target = string_null;
save2 = self.target3; self.target3 = string_null;
SUB_UseTargets();
- if not(self.target) self.target = save1;
- if not(self.target3) self.target3 = save2;
+ if (!self.target) self.target = save1;
+ if (!self.target3) self.target3 = save2;
oldself = self;
self = self.enemy;
save1 = self.target; self.target = string_null;
save2 = self.target2; self.target2 = string_null;
SUB_UseTargets();
- if not(self.target) self.target = save1;
- if not(self.target2) self.target2 = save2;
+ if (!self.target) self.target = save1;
+ if (!self.target2) self.target2 = save2;
self = oldself;
}
else
save1 = self.target; self.target = string_null;
save2 = self.target3; self.target3 = string_null;
SUB_UseTargets();
- if not(self.target) self.target = save1;
- if not(self.target3) self.target3 = save2;
+ if (!self.target) self.target = save1;
+ if (!self.target3) self.target3 = save2;
self = self.enemy;
save1 = self.target; self.target = string_null;
save2 = self.target2; self.target2 = string_null;
SUB_UseTargets();
- if not(self.target) self.target = save1;
- if not(self.target2) self.target2 = save2;
+ if (!self.target) self.target = save1;
+ if (!self.target2) self.target2 = save2;
self = oldself;
}
else
for(i_s = 0; ; ++i_s)
{
tex = getsurfacetexture(self, i_s);
- if not(tex)
+ if (!tex)
break; // this is beyond the last one
if(tex == "textures/common/trigger" || tex == "trigger")
continue;
for(e = world; (e = nextent(e)); )
{
if(warpzone_warpzones_exist) { WarpZone_StoreProjectileData(e); }
-
+
if(IS_REAL_CLIENT(e))
{
if(e.solid == SOLID_NOT) // not spectating?
if(e.movetype == MOVETYPE_NOCLIP || e.movetype == MOVETYPE_FLY || e.movetype == MOVETYPE_FLY_WORLDONLY) // not spectating? (this is to catch observers)
{
other = e; // player
-
+
// warpzones
- if(warpzone_warpzones_exist) {
- self = WarpZone_Find(e.origin + e.mins, e.origin + e.maxs);
+ if(warpzone_warpzones_exist) {
+ self = WarpZone_Find(e.origin + e.mins, e.origin + e.maxs);
if(self)
if(!WarpZoneLib_ExactTrigger_Touch())
if(WarpZone_PlaneDist(self, e.origin + e.view_ofs) <= 0)
WarpZone_Teleport(self, e, -1, 0); } // NOT triggering targets by this!
-
+
// teleporters
self = Teleport_Find(e.origin + e.mins, e.origin + e.maxs);
if(self)
Simple_TeleportPlayer(self, other); // NOT triggering targets by this!
}
}
-
+
if(IS_NOT_A_CLIENT(e))
{
if(warpzone_warpzones_exist)
//startdemos
//play announcer/male/welcome.ogg
crypto_keygen 0 http://ca.xonotic.org/?ca=0&key=
+
+exec post-config.cfg
--- /dev/null
+textures/spider/spidertex
+{
+ cull none
+
+ {
+ map textures/spidertex
+ }
+}
+mage
+{
+ cull none
+
+ {
+ map textures/mage
+ }
+}
\ No newline at end of file
tuba
turrets
weapons
+monsters
ok_nade_counter
0
-\XonoticSingleplayerDialog\Jouer en mode un joueur contre des adversaires contrôlés par l'ordinateur
+\XonoticSingleplayerDialog\Jouer tout seul contre des adversaires contrôlés par ordinateur
-\XonoticMultiplayerDialog\Jouer en ligne avec des amis en réseau local ou sur Internet
-\XonoticMultiplayerDialog/Serveurs\Trouver des serveurs pour y jouer dessus
+\XonoticMultiplayerDialog\Jouer en ligne, en LAN avec vos amis, voir vos démos et modifier vos paramètres joueur
+\XonoticMultiplayerDialog/Serveurs\Trouver des serveurs où jouer
\menu_slist_showempty\Montrer les serveurs vides
\menu_slist_showfull\Montrer les serveurs où toutes les places sont prises
-\net_slist_pause\Ne met pas à jour la liste de serveurs pour éviter de "glisser" sur un autre serveur
-\XonoticMultiplayerDialog/Info...\Montrer plus d'information sur le serveur séléctionné
+\net_slist_pause\Ne pas mettre à jour la liste de serveurs pour éviter de "glisser" sur un autre serveur
+\XonoticMultiplayerDialog/Info...\Montrer plus d'informations sur le serveur sélectionné
\XonoticMultiplayerDialog/Marque-page\Mettre le serveur en haut de la liste pour pouvoir le repérer plus facilement plus tard
\XonoticMultiplayerDialog/Créer\Héberger votre propre partie
-\XonoticMultiplayerDialog/Vidéos\Regarder des Vidéos pré-enregistrées
-\XonoticMultiplayerDialog/Player Setup\Personaliser vos paramètres
+\XonoticMultiplayerDialog/Vidéos\Parcourir et regarder vos démos
+\XonoticMultiplayerDialog/Player Setup\Personnaliser vos paramètres joueur
-\XonoticTeamSelectDialog/join 'best' team (auto-select)\Auto-séléction de l'équipe qui a le plus besoin de vous (recommandé)
-\XonoticTeamSelectDialog/rouge\Joindre l'équipe rouge
-\XonoticTeamSelectDialog/bleu\Joindre l'équipe bleue
-\XonoticTeamSelectDialog/jaune\Joindre l'équipe jaune
-\XonoticTeamSelectDialog/rose\Joindre l'équipe rose
+\XonoticTeamSelectDialog/join 'best' team (auto-select)\Auto-séléction de l'équipe (recommandé)
+\XonoticTeamSelectDialog/rouge\Rejoindre l'équipe rouge
+\XonoticTeamSelectDialog/bleu\Rejoindre l'équipe bleue
+\XonoticTeamSelectDialog/jaune\Rejoindre l'équipe jaune
+\XonoticTeamSelectDialog/rose\Rejoindre l'équipe rose
-\timelimit_override\Limite de temps au match, le match se finit quand elle est atteinte
-\fraglimit_override\Limite de tués pour le match, le match se finit quand elle est atteinte
+\timelimit_override\Limite de temps, le match se termine lorsque celle-ci est atteinte
+\fraglimit_override\Limite de frags pour le match, le match se termine lorsque celle-ci est atteinte
\menu_maxplayers\Le nombre maximum de personnes pouvant jouer sur votre serveur en même temps
-\bot_number\Nombre d'adversaires ordinateur
+\bot_number\Nombre d'adversaires contrôlés par ordinateur
\skill\Spécifier la difficulté des adversaires ordinateur
\g_maplist_votable\Le nombre de cartes pouvant être votées à la fin du match
-\sv_vote_simple_majority_factor\À partir de 51% de oui seulement, un vote est gagné
-\XonoticMultiplayerDialog/Advanced settings...\Paramètres du serveur avancés
-\XonoticMultiplayerDialog/Mutators...\Spéciales et arènes d'une seule arme
-\g_dodging\Enable dodging
+\sv_vote_simple_majority_factor\La majorité simple remporte un vote
+\XonoticMultiplayerDialog/Advanced settings...\Paramètres serveur avancés
+\XonoticMultiplayerDialog/Mutators...\Mutators et arènes avec une seule arme
+\g_dodging\Activer les esquives
\g_cloaked\Tous les joueurs sont presque invisibles
-\g_footsteps\Activer les bruitages de pas
-\g_midair\Il faut que votre adversaire soit en l'air pour lui faire mal
-\g_vampire\Les dégâts faits à vos enemies vous font gagner de la santé
-\g_bloodloss\Si vous avez moins de santé que spécifié ici, vous perdrez du sang et mourez progressivement
-\sv_gravity\Vous tombez plus lentement, comme sur la lune
+\g_footsteps\Activer les bruits de pas
+\g_midair\Il faut que votre adversaire soit en l'air pour lui infliger des dégâts
+\g_vampire\Les dégâts infligés à vos ennemis vous rendent la santé
+\g_bloodloss\Si vous avez moins de santé que spécifié ici, vous perdrez du sang et mourrez progressivement
+\sv_gravity\Vous tombez plus lentement, une valeur peu élevée correspond à une faible gravité
\g_grappling_hook\Tous les joueurs ont un grappin
\g_jetpack\Tous les joueurs ont un jetpack
-\g_pinata\Tous les joueurs lâchent toutes leurs armes quand ils meurent
-\g_weapon_stay\Les armes restent où elles sont quand elles sont prises sur la carte
-\g_weaponarena\Séléctionner une arène d'une seule arme donne des munitions illimitées pour cette arme, et désactive toutes les autres armes
-\menu_weaponarena_with_laser\Also enable the laser in the weapon arena
-\g_minstagib\Tous les joueurs reçoivent un MinstaNex, qui est un sniper hyperpuissant qui tue d'un coup. Si vous n'avez plus de munitions, vous mourez progressivement.
-\g_nix\No Items Xonotic; tous les joueurs ont la même arme en même temps, et on change d'arme régulièrement
-\g_nix_with_laser\Porter le laser avec l'arme du No Items Xonotic
-\XonoticMultiplayerDialog/Select all\Séléctionner toutes les cartes
-\XonoticMultiplayerDialog/Select none\Déséléctionner toutes les cartes
+\g_pinata\Les joueurs lâchent toutes leurs armes quand ils meurent
+\g_weapon_stay\Les armes restent où elles sont lorsqu'elles sont ramassées
+\g_weaponarena\Sélectionner une arène avec une seule arme fera apparaître les joueurs avec cette arme et des munitions illimitées, et désactive toutes les autres armes
+\g_minstagib\Tous les joueurs reçoivent un Minstanex, qui est un fusil de précision d'une puissance infinie. Si vous êtes à court de munition, vous mourrez dans les 10 secondes à moins de parvenir à recharger votre arme. Le tir secondaire est un laser qui n'inflige aucun dégât et qui est utile pour sauter sur de longues distances.
+\g_nix\No Items Xonotic - tous les joueurs jouent avec la même arme, et celle-ci change régulièrement.
+\g_nix_with_laser\Autoriser le laser en plus de l'arme courante dans le mode Nix
+\XonoticMultiplayerDialog/Select all\Sélectionner toutes les cartes
+\XonoticMultiplayerDialog/Select none\Désélectionner toutes les cartes
-\XonoticMultiplayerDialog/Test Performance\Faire un test de performance en utilisant la vidéo choisie
+\XonoticMultiplayerDialog/Test Performance\Faire un test de performance en utilisant la démo sélectionnée
\fov\Champ de vision en degrés, par défaut 90, certains joueurs préfèrent entre 110 et 130
-\cl_bobcycle\Effet de "tremblement" de la caméra en courant
-\cl_zoomfactor\Facteur de Zoom
-\cl_zoomsensitivity\Changer la sensitivité du Zoom: 0 est la plus basse, 1 ne comporte pas de changement par rapport au mode dézoomé
-\cl_zoomspeed\Facteur "d'adoucissement" du Zoom, 0 désactive complètement
+\cl_bobcycle\Effet de "tremblement" de la vue lorsque vous courez
+\cl_zoomfactor\Facteur du zoom lorsque vous appuyez sur le bouton de zoom
+\cl_zoomsensitivity\Changer la sensibilité du zoom : 0 est la valeur la plus basse, 1 correspond à l'absence de zoom
+\cl_zoomspeed\Facteur "d'adoucissement" du zoom, 0 le désactive complètement
\XonoticMultiplayerDialog/Weapon settings...\Paramétrer les armes (affichage, priorité)
-\cl_weaponpriority_useforcycling\Utiliser la liste de priorité pour le changement d'armes à la molette
-\cl_autoswitch\Automatiquement changer d'arme si vous avez une meilleure arme que celle que vous portez
-\r_drawviewmodel\Afficher l'arme à la permière personne
+\cl_weaponpriority_useforcycling\Utiliser la liste de priorité pour le changement d'armes avec la molette de la souris
+\cl_autoswitch\Automatiquement changer d'arme si vous ramassez une meilleure arme que celle que vous portez
+\r_drawviewmodel\Afficher l'arme à la première personne
\cl_gunalign\Position de l'arme à l'écran, reconnection au serveur nécessaire pour prendre effet
-\crosshair_per_weapon\Set a different crosshair for each weapon, good if you play without weapon models
-\crosshair_color_per_weapon\Set the color of the crosshair depending on the weapon you are currently holding
+\crosshair_per_weapon\Définir un viseur différent pour chaque arme, utile si vous jouez sans afficher l'arme
+\crosshair_color_per_weapon\Définir la couleur du viseur selon l'arme que vous utilisez
\crosshair_size\Ajuster la taille du viseur
\crosshair_color_alpha\Ajuster l'opacité du viseur
-\crosshair_color\Ajuster le couleur du viseur
+\crosshair_color\Ajuster la couleur du viseur
\sbar_hudselector\Utiliser l'ancienne interface HUD
\XonoticMultiplayerDialog/Waypoints setup...\-
\_cl_name\Pseudonyme utilisé pour vous reconnaître dans le jeu
\XonoticSettingsDialog\Changer les paramètres du jeu
-\XonoticCreditsDialog\Les Crédits de Xonotic
+\XonoticCreditsDialog\Les crédits de Xonotic
\XonoticTeamSelectDialog\-
\XonoticMutatorsDialog\-
\XonoticMapInfoDialog\-
\XonoticQuitDialog/Non\'Faut que je fragge plus de monde!
\XonoticSettingsDialog/Contrôles\Paramètres contrôle souris/clavier
-\sensitivity\Sensitivité de la souris
-\menu_mouse_speed\Sensitivité de la souris dans les menus, n'affecte pas le jeu
-\m_filter\Adoucit le mouvement de souris, mais crée une légère latence de souris
+\sensitivity\Sensibilité de la souris
+\menu_mouse_speed\Sensibilité de la souris dans les menus, n'affecte pas le jeu
+\m_filter\Adoucit le mouvement de souris, mais crée une légère latence
\m_pitch\Inverser la souris sur l'axe vertical (mode jeu d'avion)
\vid_dgamouse\Utiliser une souris DGA
-\con_closeontoggleconsole\Autoriser la fermeture de console avec la touche d'ouverture de console (sinon, Shift+Échap)
+\con_closeontoggleconsole\Permet de fermer la console avec le même raccourci utilisé pour l'ouvrir
-\XonoticSettingsDialog/Vidéo\Video settings
+\XonoticSettingsDialog/Vidéo\Paramètres vidéo
\vid_width\Résolution de l'écran
-\vid_bitsperpixel\Profondeur des couleurs: 16 bits est plus rapide, mais 32 bits est de meilleure qualité (recommandé)
-\vid_fullscreen\Activer le mode plein écran (par défaut: activé)
-\vid_vsync\Activer la syncronisation verticale pour éviter des problèmes d'affichage, limite le nombre maximum d'images par seconde (par défaut: désactivé)
-\gl_texture_anisotropy\Qualité du filtrage anistrope (par défaut: 1x)
-\r_glsl\Activer les Shaders OpenGL 2.0 pour des effets de lumière améliorés
-\gl_vbo\Utiliser les VBOs pour stocker les modèles 3D statiques dans la mémoire pour une meilleure performance (par défaut: Points et Triangles)
-\r_depthfirst\Éviter des problèmes de profondeur de rendu en faisant un rendu de profondeur de la carte/joueurs avant le rendu "standard" (par défaut: désactivé)
-\gl_texturecompression\Compresser les textures pour économiser de la mémoire graphique (par défaut: aucun)
-\gl_finish\Faire attendre le processeur que le rendu graphique se finisse pour éviter des problèmes d'affichage divers (par défaut: désactivé)
-\v_brightness\Luminosité du noir (par défaut: 0)
-\v_contrast\Luminosité du blanc (par défaut: 1)
-\v_gamma\Correction du gamma ne changeant pas la luminosité du noir ou du blanc (par défaut: 1.125)
-\v_contrastboost\Multiplier le constraste dans des salles sombres (par défaut: 1)
-\r_glsl_saturation\Ajustement de la saturation (0 = noir et blanc, 1 = normal, 2 = saturé) des couleurs (par défaut: 1)
-\v_glslgamma\Utiliser GLSL pour corriger le gamma, attention, cela risque d'augementer fortement l'utilisation de ressources (par défaut: désactivé)
-\r_ambient\Lumière ambiente, si elle est trop élévée, les cartes auront un éclairage plus "plat" et moins contrasté
-\r_hdr_scenebrightness\Éclairage du rendu global (par défaut: 1)
-\vid_samples\Activer l'anticrénelage, réduit l'effet d'escalier sur les modèles 3D, mais augmente fortement l'utilisation des ressources
-\v_flipped\Mode mirroir (par défaut: désactivé)
+\vid_bitsperpixel\Profondeur des couleurs : 16 bits est plus rapide, mais 32 bits est de meilleure qualité (recommandé)
+\vid_fullscreen\Activer le mode plein écran (par défaut : activé)
+\vid_vsync\Activer la syncronisation verticale pour éviter des problèmes d'affichage, limite le nombre maximum d'images par seconde (par défaut : désactivé)
+\gl_texture_anisotropy\Qualité du filtrage anistrope (par défaut : 1x)
+\r_glsl\Activer les Shaders OpenGL 2.0 pour des effets de lumière améliorés (par défaut : désactivé)
+\gl_vbo\Utiliser les VBOs pour stocker les modèles 3D statiques dans la mémoire pour une meilleure performance (par défaut : Points et Triangles)
+\r_depthfirst\Éviter des problèmes de profondeur de rendu en faisant un rendu de profondeur de la carte/joueurs avant le rendu "standard" (par défaut : désactivé)
+\gl_texturecompression\Compresser les textures pour économiser de la mémoire graphique (par défaut : aucun)
+\gl_finish\Demander au processeur d'attendre la fin du rendu graphique afin éviter des problèmes d'affichage divers (par défaut : désactivé)
+\v_brightness\Luminosité du noir (par défaut : 0)
+\v_contrast\Luminosité du blanc (par défaut : 1)
+\v_gamma\Correction du gamma n'affectant pas la luminosité du noir ou du blanc (par défaut : 1.125)
+\v_contrastboost\Multiplier le constraste dans les salles sombres (par défaut : 1)
+\r_glsl_saturation\Ajustement de la saturation (0 = noir et blanc, 1 = normal, 2 = saturé) des couleurs (par défaut : 1)
+\v_glslgamma\Utiliser GLSL pour corriger le gamma, attention, cela risque d'augementer fortement l'utilisation de ressources (par défaut : désactivé)
+\r_ambient\Lumière ambiante, si elle est trop élévée, les cartes auront un éclairage plus "plat" et moins contrasté (par défaut : 4)
+\r_hdr_scenebrightness\Éclairage du rendu global (par défaut : 1)
+\vid_samples\Activer l'anticrénelage, réduit l'effet d'escalier sur les modèles 3D, mais augmente fortement l'utilisation des ressources (par défaut : désactivé)
+\v_flipped\Mode miroir (par défaut : désactivé)
\XonoticSettingsDialog/Graphiques\Paramètres des effets graphiques
-\r_subdivisions_tolerance\Ajuster la qualité des modèles 3D de carte (courbes, tuyaux) (par défaut: normal)
-\gl_picmip\Ajuster la qualité des textures. La baisser diminue l'utilisation des ressources, mais rend les textures floues. (par défaut: normal)
-\r_picmipworld\If set, only reduce the texture quality of models (default: enabled)
-\mod_q3bsp_nolightmaps\Utiliser des lightmaps haute résolution, augmente l'utilisation des resources, mais rend les lightmaps plus nettes (par défaut: activé)
-\cl_particles_quality\Nombre de particules; moins de particules consomment moins de ressources (par défaut: 1.0)
-\r_drawparticles_drawdistance\Toutes les particules qui sont plus loin que cette distance ne seront pas affichées (par défaut: 1000)
-\cl_decals\Activer les marques d'impacts et de sang (par défaut: activé)
-\r_drawdecals_drawdistance\Toutes les marques d'impacts qui sont plus loin que cette distance ne seront pas affichées (par défaut: 300)
-\cl_decals_time\Temps en secondes avant que les marques d'impacts disparaissent (par défaut: 2 secondes)
-\cl_gentle\Remplacer les effets gore par des effets moins violents (par défaut: désactivé)
-\cl_nogibs\Réduire le nombre de Gibs ou les désactiver totalement (par défaut: beaucoup)
-\v_kicktime\Faire trembler la vue en recevant des dégâts (par défaut: 0)
-\r_glsl_deluxemapping\Utiliser les effets lumineux avancés (par défaut: activé)
-\r_shadow_gloss\Utiliser le reflet des textures (par défaut: activé)
-\gl_flashblend\Enable faster but uglier dynamic lights by rendering bright coronas instead of real dynamic lights (default: disabled)
-\r_shadow_realtime_dlight\Activer le rendu des lumières dynamiques en temps réel (par défaut: activé)
-\r_shadow_realtime_dlight_shadows\Activer le rendu des ombres depuis les lumières dynamiques en temps réel (par défaut: désactivé)
-\r_shadow_realtime_world\Activer le rendu des lumières carte en temps réel, a un gros impact sur la performance (par défaut: désactivé)
-\r_shadow_realtime_world_shadows\Activer le rendu des ombres depuis les lumières carte en temps réel, a un impact sur la performance aussi (par défaut: désactivé)
-\r_shadow_usenormalmap\Utiliser des effets d'ombrage de lumière sur les textures (par défaut: activé)
-\r_showsurfaces\Désactiver les textures et les remplacer par des couleurs unies. Utile pour les configurations très faible, mais laid. (par défaut: désactivé)
-\r_glsl_offsetmapping\Activer l'effet de relief sur les textures, a un léger impact sur la performance (par défaut: désactivé)
-\r_glsl_offsetmapping_reliefmapping\Augmenter la qualité des effets de relief sur les textures, a un gros impact sur la performance (par défaut: désactivé)
-\r_water\Activer des reflets de réflecion et de réfraction d'eau et des portails Warpzone (par défaut: désactivé)
-\r_water_resolutionmultiplier\Qualité des reflets d'eau et des portails Warpzone, l'augmenter a un gros impact sur la performance (par défaut: bon)
-\r_coronas\Activer des effets d'éblouissement peu gourmands (par défaut: activé)
-\r_coronas_occlusionquery\Prendre en compte la visibilité pour les effets "Brillance Lumière" (par défaut: activé)
-\r_bloom\Activer un effet d'éblouissement plus beau, mais gourmand (par défaut: désactivé)
-\r_hdr\Activer un effet d'ébloissement encore plus beau, mais encore plus gourmand (par défaut: désactivé)
+\r_subdivisions_tolerance\Ajuster la qualité des modèles 3D de la carte (courbes, tuyaux) (par défaut : normal)
+\gl_picmip\Ajuster la qualité des textures. La baisser diminue l'utilisation des ressources, mais rend les textures floues. (par défaut : bon)
+\r_picmipworld\Si activé, réduira uniquement la qualité des textures des joueurs (par défaut : activé)
+\mod_q3bsp_nolightmaps\Utiliser des lightmaps haute résolution, augmente l'utilisation de la mémoire, mais rend les lightmaps plus nettes (par défaut : activé)
+\cl_particles_quality\Nombre de particules ; moins de particules consomment moins de ressources (par défaut : 1)
+\r_drawparticles_drawdistance\Toutes les particules situées au-delà de cette distance ne seront pas affichées (par défaut : 1000)
+\cl_decals\Activer les marques d'impacts et de sang (par défaut : activé)
+\r_drawdecals_drawdistance\Toutes les marques d'impacts qui sont plus loin que cette distance ne seront pas affichées (par défaut : 300)
+\cl_decals_time\Durée en secondes avant que les marques d'impacts ne disparaissent (par défaut : 2)
+\cl_gentle\Remplacer les effets gores par des effets moins violents (par défaut : désactivé)
+\cl_nogibs\Réduire les effets gores ou les désactiver totalement (par défaut : beaucoup)
+\v_kicktime\Faire trembler la vue lorsque vous êtes touché (durée par défaut : 0)
+\r_glsl_deluxemapping\Utiliser les effets lumineux avancés (par défaut : activé)
+\r_shadow_gloss\Utiliser le reflet des textures (par défaut : activé)
+\gl_flashblend\Activer les lumières dynamiques rapides - mais plus laides - en affichant des couronnes de lumière à la place des vraies lumières dynamiques (par défaut : désactivé)
+\r_shadow_realtime_dlight\Activer le rendu des lumières dynamiques des explosions et des roquettes (par défaut : activé)
+\r_shadow_realtime_dlight_shadows\Activer le rendu des ombres depuis les lumières dynamiques en temps réel (par défaut : désactivé)
+\r_shadow_realtime_world\Activer le rendu des lumières carte en temps réel, a un gros impact sur la performance (par défaut : désactivé)
+\r_shadow_realtime_world_shadows\Activer le rendu des ombres depuis les lumières carte en temps réel (par défaut : désactivé)
+\r_shadow_usenormalmap\Utiliser des effets d'ombrage de lumière sur les textures (par défaut : activé)
+\r_showsurfaces\Désactiver les textures et les remplacer par des couleurs unies. Utile pour les configurations très légères, mais le rendu est très laid. (par défaut : désactivé)
+\r_glsl_offsetmapping\Activer l'effet de relief sur les textures, a un léger impact sur la performance (par défaut : désactivé)
+\r_glsl_offsetmapping_reliefmapping\Augmenter la qualité des effets de relief sur les textures, a un gros impact sur la performance (par défaut : désactivé)
+\r_water\Qualité des reflets et de la réfraction de l'eau et des portails, a un gros impact sur la performance dans les cartes avec des surfaces réfléchissantes (par défaut : désactivé)
+\r_water_resolutionmultiplier\Résolution des reflets/réfractions (par défaut : bon)
+\r_coronas\Activer des effets d'éblouissement peu gourmands autour de certaines sources de lumière (par défaut : activé)
+\r_coronas_occlusionquery\Estomper les effets d'éblouissement pour ne pas perdre en visibilité (par défaut : activé)
+\r_bloom\Activer l'effet "bloom", qui éclaire les pixels situés au voisinage de pixels très brillants. A un gros impact sur la performance (par défaut : désactivé)
+\r_hdr\Effet "bloom" de qualité encore supérieure, mais encore plus gourmand (par défaut : désactivé)
\r_motionblur\Intensité du flou de mouvement - 0.4 est recommandé
+\hud_postprocessing_maxbluralpha\Activer des effets de postprocessing spéciaux lorque vous êtes touché, lorsque vous êtes sous l'eau ou lorsque vous utilisez un bonus (par défaut : désactivé)
-\XonoticSettingsDialog/Audio\Audio settings
+\XonoticSettingsDialog/Audio\Paramètres audio
\mastervolume\-
\bgmvolume\-
\snd_staticvolume\-
\snd_channel1volume\-
\snd_speed\Fréquence de la sortie audio
\snd_channels\Nombre de canaux pour la sortie audio
-\snd_swapstereo\Échanger les canneaux stéréo gauche/droite
-\snd_spatialization_control\Essayer de diminuer le "constraste" entre la partie gauche et droite du casque audio pour un meilleur son
-\cl_voice_directional\Activer les voix des personnages sur la carte
-\cl_voice_directional_taunt_attenuation\Distance à laquelle les voix sont audibles
-\cl_autotaunt\Automatiquement narguer les enemis quand vous les tuez
-\cl_sound_maptime_warning\Voix (en anglais) qui vous dit le temps restant avant la fin du match
-\cl_hitsound\Jouer un son quand vous touchez un enemi
-\menu_sounds\Jouer des sons en cliquant ou en passant la souris sur des options
-
-\XonoticSettingsDialog/Réseau\Paramètres du jeu en réseau
+\snd_swapstereo\Inverser les canaux stéréo gauche/droite
+\snd_spatialization_control\Essayer de diminuer le "contraste" entre la partie gauche et droite du casque pour un meilleur son
+\cl_voice_directional\Activer les voix directionnelles des personnages sur la carte
+\cl_voice_directional_taunt_attenuation\Distance jusqu'à laquelle les voix demeurent audibles
+\cl_autotaunt\Automatiquement narguer les ennemis lorsque vous les tuez
+\cl_sound_maptime_warning\Voix (en anglais) qui annonce le temps restant avant la fin du match
+\cl_hitsound\Jouer un son lorsque vous touchez un ennemi
+\menu_sounds\Jouer des sons en cliquant ou en survolant des boutons
+
+\XonoticSettingsDialog/Réseau\Paramètres réseau
\cl_movement\Activer la prédiction des mouvements du joueur pour éviter les saccades lors de parties en réseau
\cl_nolerp\Algorithme pour éviter les saccades lors de parties en réseau
-\shownetgraph\Show a graph of packet sizes and other information
-\_cl_rate\Specify your network speed with this slider
-\cl_netfps\Nombre maximum de paquets à envoyer au server chaque seconde
-\cl_curl_maxdownloads\Nombre maximum de téléchargements simultanés
-\cl_curl_maxspeed\Vitesse maximum de téléchargement
-\cl_port\Forcer le client à passer par le port défini (UDP) s'il n'est pas 0
+\shownetgraph\Afficher la taille des paquets et d'autres informations dans un graphique
+\_cl_rate\Spécifier la vitesse de votre réseau avec ce curseur
+\cl_netfps\Nombre maximum de paquets à envoyer au serveur chaque seconde
+\cl_curl_maxdownloads\Nombre maximum de téléchargements simultanés en HTTP/FTP
+\cl_curl_maxspeed\Vitesse maximale de téléchargement
+\cl_port\Forcer le client à passer par le port choisi sauf s'il est défini à 0
\XonoticSettingsDialog/Autres\Autres paramètres
-\menu_tooltips\Menu tooltips: disabled, standard or advanced (also shows cvar or console command bound to the menu item)
-\showtime\Montrer l'heure, utile pour les captures d'écran
-\showdate\Montrer la date, utile pour les captures d'écran
-\showfps\Montrer le nombre d'Images Par Seconde rendues (Frames Per Second = FPS)
+\menu_tooltips\Info-bulles : désactivé, standard ou avancé (affiche aussi la cvar ou la commande associée)
+\showtime\Afficher l'heure, utile pour les captures d'écran
+\showdate\Afficher la date, utile pour les captures d'écran
+\showfps\Afficher le nombre d'images par seconde actuel (FPS = Frames Per Second)
\XonoticSettingsDialog/Advanced settings...\Paramètres avancés pour configuer le jeu dans ses moindres détails
\g_friendlyfire\Pourcentage de dégâts infligés aux équipiers si vous les touchez
\g_mirrordamage\Pourcentage de dégâts infligés aux équipiers qui vous sera renvoyé
-\g_tdm_teams_override\Écraser le nombre d'équipes défini par la carte
+\g_tdm_teams_override\Outrepasser le nombre d'équipes définies par la carte
\viewsize\Enable/Désactiver l'arrière plan de l'interface
-\cl_hidewaypoints\Montrer/Cacher les Waypoints (flèches 3D)
-\g_waypointsprite_scale\Ajuster la taille des Waypoints
-\g_waypointsprite_alpha\Ajuster l'opacité des Waypoints
-\cl_shownames\Afficher le nom du joueur que vous pointez avec votre viseur
+\cl_hidewaypoints\Afficher les waypoints (flèches 3D)
+\g_waypointsprite_scale\Ajuster la taille des waypoints
+\g_waypointsprite_alpha\Ajuster l'opacité des waypoints
+\cl_shownames\Afficher le nom du joueur que vous avez dans votre viseur
-\crosshair_hittest\Aucun: aucun effet de viseur - TrueAim: rendre le viseur flou si vous risquez de vous blesser vous même ou un équipier - Enemis: rendre le viseur plus grand si vous pouvez toucher un enemi
+\crosshair_hittest\Aucun: aucun effet de viseur - TrueAim: rendre le viseur flou si vous risquez de tirer dans un mur - Ennemis: rendre le viseur plus grand si vous pouvez toucher un ennemi
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"
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
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"