Merge branch 'master' into terencehill/bot_waypoints
authorterencehill <piuntn@gmail.com>
Mon, 5 Jun 2017 12:54:08 +0000 (14:54 +0200)
committerterencehill <piuntn@gmail.com>
Mon, 5 Jun 2017 12:54:08 +0000 (14:54 +0200)
44 files changed:
.tx/merge-base
bal-wep-mario.cfg
bal-wep-nexuiz25.cfg
bal-wep-samual.cfg
bal-wep-xdf.cfg
bal-wep-xonotic.cfg
bal-wep-xpm.cfg
common.es.po
common.fr.po
common.gd.po
common.it.po
common.ko.po
common.pl.po
common.pt.po
common.sr.po
defaultXonotic.cfg
languages.txt
qcsrc/client/hud/panel/healtharmor.qc
qcsrc/client/miscfunctions.qh
qcsrc/client/shownames.qc
qcsrc/common/constants.qh
qcsrc/common/notifications/all.qh
qcsrc/common/t_items.qc
qcsrc/common/triggers/trigger/multi.qc
qcsrc/common/triggers/trigger/secret.qc
qcsrc/common/turrets/sv_turrets.qc
qcsrc/common/turrets/turret/ewheel.qc
qcsrc/common/turrets/turret/walker.qc
qcsrc/common/weapons/weapon/shockwave.qc
qcsrc/lib/net.qh
qcsrc/menu/xonotic/credits.qc
qcsrc/server/client.qc
qcsrc/server/g_world.qc
qcsrc/server/pathlib/costs.qc
qcsrc/server/pathlib/expandnode.qc
qcsrc/server/pathlib/main.qc
qcsrc/server/pathlib/main.qh
qcsrc/server/pathlib/movenode.qc
qcsrc/server/pathlib/pathlib.qh
qcsrc/server/pathlib/utility.qc
qcsrc/server/player.qc
qcsrc/server/race.qc
qcsrc/server/scores.qc
qcsrc/server/scores.qh

index ee0ac25b5697589d6ce7d166acc0cfb0ae65048b..95e7fe5945fbd4fea49ec3aed59826f71bcbcc44 100644 (file)
@@ -1 +1 @@
-Sat May 20 07:24:00 CEST 2017
+Sun Jun  4 07:23:50 CEST 2017
index d3b106640d4514fe19e94e87fb687a0e09baf3c7..57d5d745df29da9d5b3dfc3cd8f0a7611bbeeeb5 100644 (file)
@@ -779,15 +779,15 @@ set g_balance_arc_weaponthrowable 1
 // }}}
 // {{{ #21: Heavy Machine Gun
 set g_balance_hmg_ammo 1
-set g_balance_hmg_damage 10
-set g_balance_hmg_force 5
+set g_balance_hmg_damage 30
+set g_balance_hmg_force 10
 set g_balance_hmg_refire 0.05
 set g_balance_hmg_reload_ammo 120
 set g_balance_hmg_reload_time 1
 set g_balance_hmg_solidpenetration 32
-set g_balance_hmg_spread_add 0.01
-set g_balance_hmg_spread_max 0.05
-set g_balance_hmg_spread_min 0.02
+set g_balance_hmg_spread_add 0.005
+set g_balance_hmg_spread_max 0.06
+set g_balance_hmg_spread_min 0.01
 set g_balance_hmg_switchdelay_drop 0.2
 set g_balance_hmg_switchdelay_raise 0.2
 set g_balance_hmg_weaponreplace ""
@@ -809,7 +809,7 @@ set g_balance_rpc_radius 300
 set g_balance_rpc_refire 1
 set g_balance_rpc_reload_ammo 10
 set g_balance_rpc_reload_time 1
-set g_balance_rpc_speed 1250
+set g_balance_rpc_speed 2500
 set g_balance_rpc_speedaccel 5000
 set g_balance_rpc_switchdelay_drop 0.2
 set g_balance_rpc_switchdelay_raise 0.2
index 41c9081b92d80a0df3b7252dbf1a65fa7c385e83..f7d912ca773649743831610ab52209ee3704dee3 100644 (file)
@@ -779,15 +779,15 @@ set g_balance_arc_weaponthrowable 1
 // }}}
 // {{{ #21: Heavy Machine Gun
 set g_balance_hmg_ammo 1
-set g_balance_hmg_damage 10
-set g_balance_hmg_force 5
+set g_balance_hmg_damage 30
+set g_balance_hmg_force 10
 set g_balance_hmg_refire 0.05
 set g_balance_hmg_reload_ammo 120
 set g_balance_hmg_reload_time 1
 set g_balance_hmg_solidpenetration 32
-set g_balance_hmg_spread_add 0.01
-set g_balance_hmg_spread_max 0.05
-set g_balance_hmg_spread_min 0.02
+set g_balance_hmg_spread_add 0.005
+set g_balance_hmg_spread_max 0.06
+set g_balance_hmg_spread_min 0.01
 set g_balance_hmg_switchdelay_drop 0.2
 set g_balance_hmg_switchdelay_raise 0.2
 set g_balance_hmg_weaponreplace ""
@@ -809,7 +809,7 @@ set g_balance_rpc_radius 300
 set g_balance_rpc_refire 1
 set g_balance_rpc_reload_ammo 10
 set g_balance_rpc_reload_time 1
-set g_balance_rpc_speed 1250
+set g_balance_rpc_speed 2500
 set g_balance_rpc_speedaccel 5000
 set g_balance_rpc_switchdelay_drop 0.2
 set g_balance_rpc_switchdelay_raise 0.2
index 99edec78b8da1c543470adffdd3a155e967f6a5a..b3ec457a8af5ae1f8b4a62c3656d146d3af33fda 100644 (file)
@@ -777,15 +777,15 @@ set g_balance_shotgun_weaponthrowable 1
 // }}}
 // {{{ #21: Heavy Machine Gun
 set g_balance_hmg_ammo 1
-set g_balance_hmg_damage 10
-set g_balance_hmg_force 5
+set g_balance_hmg_damage 30
+set g_balance_hmg_force 10
 set g_balance_hmg_refire 0.05
 set g_balance_hmg_reload_ammo 120
 set g_balance_hmg_reload_time 1
 set g_balance_hmg_solidpenetration 32
-set g_balance_hmg_spread_add 0.01
-set g_balance_hmg_spread_max 0.05
-set g_balance_hmg_spread_min 0.02
+set g_balance_hmg_spread_add 0.005
+set g_balance_hmg_spread_max 0.06
+set g_balance_hmg_spread_min 0.01
 set g_balance_hmg_switchdelay_drop 0.2
 set g_balance_hmg_switchdelay_raise 0.2
 set g_balance_hmg_weaponreplace ""
@@ -807,7 +807,7 @@ set g_balance_rpc_radius 300
 set g_balance_rpc_refire 1
 set g_balance_rpc_reload_ammo 10
 set g_balance_rpc_reload_time 1
-set g_balance_rpc_speed 1250
+set g_balance_rpc_speed 2500
 set g_balance_rpc_speedaccel 5000
 set g_balance_rpc_switchdelay_drop 0.2
 set g_balance_rpc_switchdelay_raise 0.2
index a7b90c7d6f73c1d901680635563a6b6e3fa530fb..cc8936c3381c9a3a0f1c1eb055071a558525227c 100644 (file)
@@ -779,15 +779,15 @@ set g_balance_arc_weaponthrowable 1
 // }}}
 // {{{ #21: Heavy Machine Gun
 set g_balance_hmg_ammo 1
-set g_balance_hmg_damage 10
-set g_balance_hmg_force 5
+set g_balance_hmg_damage 30
+set g_balance_hmg_force 10
 set g_balance_hmg_refire 0.05
 set g_balance_hmg_reload_ammo 120
 set g_balance_hmg_reload_time 1
 set g_balance_hmg_solidpenetration 32
-set g_balance_hmg_spread_add 0.01
-set g_balance_hmg_spread_max 0.05
-set g_balance_hmg_spread_min 0.02
+set g_balance_hmg_spread_add 0.005
+set g_balance_hmg_spread_max 0.06
+set g_balance_hmg_spread_min 0.01
 set g_balance_hmg_switchdelay_drop 0.2
 set g_balance_hmg_switchdelay_raise 0.2
 set g_balance_hmg_weaponreplace ""
@@ -809,7 +809,7 @@ set g_balance_rpc_radius 300
 set g_balance_rpc_refire 1
 set g_balance_rpc_reload_ammo 10
 set g_balance_rpc_reload_time 1
-set g_balance_rpc_speed 1250
+set g_balance_rpc_speed 2500
 set g_balance_rpc_speedaccel 5000
 set g_balance_rpc_switchdelay_drop 0.2
 set g_balance_rpc_switchdelay_raise 0.2
index 7d94daada4af71f79c84d616fbaaec9959e55d59..ac5be34f3783b822759d7b26922629c1adedd52b 100644 (file)
@@ -779,15 +779,15 @@ set g_balance_arc_weaponthrowable 1
 // }}}
 // {{{ #21: Heavy Machine Gun
 set g_balance_hmg_ammo 1
-set g_balance_hmg_damage 10
-set g_balance_hmg_force 5
+set g_balance_hmg_damage 30
+set g_balance_hmg_force 10
 set g_balance_hmg_refire 0.05
 set g_balance_hmg_reload_ammo 120
 set g_balance_hmg_reload_time 1
 set g_balance_hmg_solidpenetration 32
-set g_balance_hmg_spread_add 0.01
-set g_balance_hmg_spread_max 0.05
-set g_balance_hmg_spread_min 0.02
+set g_balance_hmg_spread_add 0.005
+set g_balance_hmg_spread_max 0.06
+set g_balance_hmg_spread_min 0.01
 set g_balance_hmg_switchdelay_drop 0.2
 set g_balance_hmg_switchdelay_raise 0.2
 set g_balance_hmg_weaponreplace ""
@@ -809,7 +809,7 @@ set g_balance_rpc_radius 300
 set g_balance_rpc_refire 1
 set g_balance_rpc_reload_ammo 10
 set g_balance_rpc_reload_time 1
-set g_balance_rpc_speed 1250
+set g_balance_rpc_speed 2500
 set g_balance_rpc_speedaccel 5000
 set g_balance_rpc_switchdelay_drop 0.2
 set g_balance_rpc_switchdelay_raise 0.2
index 7d94daada4af71f79c84d616fbaaec9959e55d59..ac5be34f3783b822759d7b26922629c1adedd52b 100644 (file)
@@ -779,15 +779,15 @@ set g_balance_arc_weaponthrowable 1
 // }}}
 // {{{ #21: Heavy Machine Gun
 set g_balance_hmg_ammo 1
-set g_balance_hmg_damage 10
-set g_balance_hmg_force 5
+set g_balance_hmg_damage 30
+set g_balance_hmg_force 10
 set g_balance_hmg_refire 0.05
 set g_balance_hmg_reload_ammo 120
 set g_balance_hmg_reload_time 1
 set g_balance_hmg_solidpenetration 32
-set g_balance_hmg_spread_add 0.01
-set g_balance_hmg_spread_max 0.05
-set g_balance_hmg_spread_min 0.02
+set g_balance_hmg_spread_add 0.005
+set g_balance_hmg_spread_max 0.06
+set g_balance_hmg_spread_min 0.01
 set g_balance_hmg_switchdelay_drop 0.2
 set g_balance_hmg_switchdelay_raise 0.2
 set g_balance_hmg_weaponreplace ""
@@ -809,7 +809,7 @@ set g_balance_rpc_radius 300
 set g_balance_rpc_refire 1
 set g_balance_rpc_reload_ammo 10
 set g_balance_rpc_reload_time 1
-set g_balance_rpc_speed 1250
+set g_balance_rpc_speed 2500
 set g_balance_rpc_speedaccel 5000
 set g_balance_rpc_switchdelay_drop 0.2
 set g_balance_rpc_switchdelay_raise 0.2
index cdd19201e9cc57dc1430abc69b1322837f0a8795..24872eab45b0e7ebf53edb3bb127adde78b59b0a 100644 (file)
@@ -25,7 +25,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-05-19 19:05+0000\n"
+"PO-Revision-Date: 2017-05-25 19:02+0000\n"
 "Last-Translator: Starfire24680 <starfire24680@gmail.com>\n"
 "Language-Team: Spanish (http://www.transifex.com/team-xonotic/xonotic/"
 "language/es/)\n"
@@ -189,7 +189,7 @@ msgstr " Presiona ^3%s%s para ajustar"
 #: qcsrc/client/hud/panel/infomessages.qc:199
 #: qcsrc/menu/xonotic/keybinder.qc:102
 msgid "team menu"
-msgstr "menu de equipo"
+msgstr "menú de equipo"
 
 #: qcsrc/client/hud/panel/infomessages.qc:209
 msgid "^1Spectating this player:"
@@ -2005,7 +2005,7 @@ msgstr "^BG%s^BG perdió la bandera"
 #: qcsrc/common/notifications/all.inc:260
 #, c-format
 msgid "^BG%s^BG got the ^TC^TT^BG flag"
-msgstr "^BG%s^BG tiene la ^TC^TT^BG bandera"
+msgstr "^BG%s^BG tiene la bandera ^TC^TT^BG "
 
 #: qcsrc/common/notifications/all.inc:261
 #, c-format
@@ -2016,7 +2016,7 @@ msgstr "^BG%s^BG tiene la bandera"
 #: qcsrc/common/notifications/all.inc:263
 #, c-format
 msgid "^BG%s^BG returned the ^TC^TT^BG flag"
-msgstr "^BG%s^BG devolvió la ^TC^TT^BG bandera"
+msgstr "^BG%s^BG devolvió la bandera ^TC^TT^BG"
 
 #: qcsrc/common/notifications/all.inc:265
 #: qcsrc/common/notifications/all.inc:553
@@ -2561,7 +2561,7 @@ msgstr "^BG%s^K1 se auto-congeló"
 #: qcsrc/common/notifications/all.inc:370
 #: qcsrc/common/notifications/all.inc:684
 msgid "^TC^TT^BG team wins the round"
-msgstr "^TC^TT^BG El equipo gana la ronda"
+msgstr " El equipo ^TC^TT^BG gana la ronda"
 
 #: qcsrc/common/notifications/all.inc:371
 #: qcsrc/common/notifications/all.inc:685
@@ -2841,7 +2841,7 @@ msgstr ""
 #: qcsrc/common/notifications/all.inc:435
 #, c-format
 msgid "^BG%s^BG set the %s%s^BG place record with %s%s"
-msgstr ""
+msgstr "^BG%s^BG ha establecido el record en la posición %s%s^BG con %s%s"
 
 #: qcsrc/common/notifications/all.inc:437
 #, c-format
@@ -2854,7 +2854,7 @@ msgstr ""
 
 #: qcsrc/common/notifications/all.inc:439
 msgid "^TC^TT ^BGteam scores!"
-msgstr ""
+msgstr "¡El equipo ^TC^TT^BG ha anotado!"
 
 #: qcsrc/common/notifications/all.inc:441
 #, c-format
@@ -2868,7 +2868,7 @@ msgstr ""
 #: qcsrc/common/notifications/all.inc:443
 #, c-format
 msgid "^BG%s^K1 picked up a Superweapon"
-msgstr ""
+msgstr "^BG%s^K1 ha recogido una superarma"
 
 #: qcsrc/common/notifications/all.inc:445
 msgid "^BGYou cannot change to a larger team"
@@ -2884,12 +2884,16 @@ msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s (beta)^BG, you have "
 "^F2Xonotic %s"
 msgstr ""
+"^F4NOTA: ^BGEl servidor esta usando la versión ^F1Xonotic %s (beta)^BG y tu "
+"tienes ^F2Xonotic %s"
 
 #: qcsrc/common/notifications/all.inc:449
 #, c-format
 msgid ""
 "^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s"
 msgstr ""
+"^F4NOTA: ^BGEl servidor esta usando la versión ^F1Xonotic %s^BG y tu tienes "
+"^F2Xonotic %s"
 
 #: qcsrc/common/notifications/all.inc:450
 #, c-format
@@ -2897,173 +2901,185 @@ msgid ""
 "^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get "
 "the update from ^F3http://www.xonotic.org/^BG!"
 msgstr ""
+"^F4NOTA: ^F1Xonotic %s^BG ya esta disponible, pero aun tienes ^F2Xonotic "
+"%s^BG - consigue la actualizacion en ^F3http://www.xonotic.org/^BG!"
 
 #: qcsrc/common/notifications/all.inc:452
 #, c-format
 msgid "^F3SVQC Build information: ^F4%s"
-msgstr ""
+msgstr "^F3SVQC Información de compilación ^F4%s"
 
 #: qcsrc/common/notifications/all.inc:454
 #, c-format
 msgid ""
 "^BG%s%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s%s"
 msgstr ""
+"^BG%s%s^K1 murió por la gran actuación de ^BG%s^K1 en el @!#%%'n Acordeón%s%s"
 
 #: qcsrc/common/notifications/all.inc:455
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s%s"
-msgstr ""
+msgstr "^BG%s^K1 lastimó sus propios oidos con el @!#%%'n Acordeón%s%s"
 
 #: qcsrc/common/notifications/all.inc:456
 #, c-format
 msgid "^BG%s%s^K1 was electrocuted by ^BG%s^K1's Arc%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 Fue electrocutado por el Arc de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:457
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Arc bolts%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue despedazado por los rayos del Arc de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:458
 #, c-format
 msgid "^BG%s%s^K1 was shot to death by ^BG%s^K1's Blaster%s%s"
 msgstr ""
+"^BG%s%s^K1 fue disparado hasta la muerte por el Blaster de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:459
 #, c-format
 msgid "^BG%s^K1 shot themself to hell with their Blaster%s%s"
-msgstr ""
+msgstr "^BG%s^K1 se disparó al infierno con su Blaster%s%s"
 
 #: qcsrc/common/notifications/all.inc:460
 #, 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 sintió la fuerte atracción del Crylink de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:461
 #, c-format
 msgid "^BG%s^K1 felt the strong pull of their Crylink%s%s"
-msgstr ""
+msgstr "^BG%s^K1 sintió la fuerte atracción de su Crylink%s%s"
 
 #: qcsrc/common/notifications/all.inc:462
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 se comió el misil de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:463
 #, c-format
 msgid "^BG%s%s^K1 got too close ^BG%s^K1's rocket%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 se acercó demasiado al misil de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:464
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Devastator%s%s"
-msgstr "^BG%s^K1 se explotó a si mismo con su Devastador%s%s"
+msgstr "^BG%s^K1 se explotó a si mismo con su Devastator%s%s"
 
 #: qcsrc/common/notifications/all.inc:465
 #, c-format
 msgid "^BG%s%s^K1 was blasted by ^BG%s^K1's Electro bolt%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue despedazado por el rayo del Electro de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:466
 #, 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 sintió el aire electrificante del el combo de Electro de ^BG"
+"%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:467
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Electro orb%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 se acercó demasiado a la orbe de Electro de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:468
 #, c-format
 msgid "^BG%s^K1 played with Electro bolts%s%s"
-msgstr ""
+msgstr "^BG%s^K1 jugó con rayos de Electro%s%s"
 
 #: qcsrc/common/notifications/all.inc:469
 #, c-format
 msgid "^BG%s^K1 could not remember where they put their Electro orb%s%s"
-msgstr ""
+msgstr "^BG%s^K1 no pudo recordar donde dejó su orbe de Electro%s%s"
 
 #: qcsrc/common/notifications/all.inc:470
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's fireball%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 se acercó demasiado a la bola de fuego de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:471
 #, c-format
 msgid "^BG%s%s^K1 got burnt by ^BG%s^K1's firemine%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue quemado por la mina de fuego de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:472
 #, c-format
 msgid "^BG%s^K1 should have used a smaller gun%s%s"
-msgstr ""
+msgstr "^BG%s^K1 debió haber usado un arma más pequeña%s%s"
 
 #: qcsrc/common/notifications/all.inc:473
 #, c-format
 msgid "^BG%s^K1 forgot about their firemine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 se olvidó de su mina de fuego%s%s"
 
 #: qcsrc/common/notifications/all.inc:474
 #, 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 fue golpeado por un estallido de misiles Hagar de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:475
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s%s"
-msgstr ""
+msgstr "^Bg%s%s^K1 fue golpeado por los misiles Hagar de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:476
 #, c-format
 msgid "^BG%s^K1 played with tiny Hagar rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 jugó con pequeños misiles Hagar%s%s"
 
 #: qcsrc/common/notifications/all.inc:477
 #, c-format
 msgid "^BG%s%s^K1 was cut down with ^BG%s^K1's HLAC%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue cortado por el HLAC de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:478
 #, c-format
 msgid "^BG%s^K1 got a little jumpy with their HLAC%s%s"
-msgstr ""
+msgstr "^BG%s^K1 se puso un poco acelerado con su HLAC%s%s"
 
 #: qcsrc/common/notifications/all.inc:479
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Heavy Machine Gun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue baleado por la Ametralladora Pesada de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:480
 #, c-format
 msgid "^BG%s%s^K1 was torn to bits by ^BG%s^K1's Heavy Machine Gun%s%s"
 msgstr ""
+"^BG%s%s^K1 fue despedazado a trozos por la Ametralladora Pesada de ^BG%s^K1%s"
+"%s"
 
 #: qcsrc/common/notifications/all.inc:481
 #, c-format
 msgid "^BG%s%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s%s"
 msgstr ""
+"^BG%s%s^K1 fue atrapado en la bomba gravitacional del Gancho de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:482
 #, 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 murió por la gran actuación de ^BG%s^K1 en la @!#%%'n Klein Bottle"
+"%s%s"
 
 #: qcsrc/common/notifications/all.inc:483
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s%s"
-msgstr ""
+msgstr "^BG%s^K1 lastimó sus propios oídos con la @!#%%'n Klein Bottle%s%s"
 
 #: qcsrc/common/notifications/all.inc:484
 #, c-format
 msgid "^BG%s%s^K1 was sniped by ^BG%s^K1's Machine Gun%s%s"
-msgstr ""
+msgstr "^Bg%s%s^K1 fue baleado por la Ametralladora de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:485
 #, 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 fue acribillado por la Ametralladora de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:486
 #: qcsrc/common/notifications/all.inc:790
@@ -3074,136 +3090,145 @@ msgstr "^BGNo puedes colocar mas de ^F2%s^BG minas a la vez"
 #: qcsrc/common/notifications/all.inc:487
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's mine%s%s"
-msgstr ""
+msgstr "^BG%s%s^k1 se acercó demasiado a la mina de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:488
 #, c-format
 msgid "^BG%s^K1 forgot about their mine%s%s"
-msgstr ""
+msgstr "^BG%s^K1 se olvidó de su mina%s%s"
 
 #: qcsrc/common/notifications/all.inc:489
 #, c-format
 msgid "^BG%s%s^K1 got too close to ^BG%s^K1's Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 se acercó demasiado a la granada del Mortar de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:490
 #, c-format
 msgid "^BG%s%s^K1 ate ^BG%s^K1's Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 se comió la granada del mortar de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:491
 #, c-format
 msgid "^BG%s^K1 didn't see their own Mortar grenade%s%s"
-msgstr ""
+msgstr "^BG%s^K1 no vio su propia granada del Mortero%s%s"
 
 #: qcsrc/common/notifications/all.inc:492
 #, c-format
 msgid "^BG%s^K1 blew themself up with their own Mortar%s%s"
-msgstr ""
+msgstr "^BG%s^K1 se exploto a si mismo con su propio Mortero%s%s"
 
 #: qcsrc/common/notifications/all.inc:493
 #, c-format
 msgid "^BG%s%s^K1 was sniped with a Rifle by ^BG%s^K1%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue baleado por ^BG%s^K1 con un Rifle%s%s"
 
 #: qcsrc/common/notifications/all.inc:494
 #, c-format
 msgid "^BG%s%s^K1 died in ^BG%s^K1's Rifle bullet hail%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 murio en la lluvia de balas de Rifle de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:495
 #, 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 no logró esconderse de la lluvia de balas de Rifle por parte de "
+"^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:496
 #, c-format
 msgid "^BG%s%s^K1 failed to hide from ^BG%s^K1's Rifle%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 no pudo esconderse del Rifle de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:497
 #, c-format
 msgid "^BG%s%s^K1 was sawn in half by ^BG%s^K1's Rocket Propelled Chainsaw%s%s"
 msgstr ""
+"^BG%s%s^K1 fue aserrado por la mirad por la Motosierra Propulsada por "
+"Cohetes de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:498
 #, c-format
 msgid "^BG%s%s^K1 almost dodged ^BG%s^K1's Rocket Propelled Chainsaw%s%s"
 msgstr ""
+"^BG%s%s^K1 casi esquivó la Motosierra Propulsada por Cohetes de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:499
 #, c-format
 msgid "^BG%s^K1 was sawn in half by their own Rocket Propelled Chainsaw%s%s"
 msgstr ""
+"^BG%s^K1 fue aserrado por la mirad por su propia Motosierra Propulsada por "
+"Cohetes%s%s"
 
 #: qcsrc/common/notifications/all.inc:500
 #, c-format
 msgid "^BG%s^K1 blew themself up with their Rocket Propelled Chainsaw%s%s"
 msgstr ""
+"^BG%s^K1 se explotó a si mismo con su Motosierra Propulsada por Cohetes%s%s"
 
 #: qcsrc/common/notifications/all.inc:501
 #, c-format
 msgid "^BG%s%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue golpeado por los misiles Seeker de ^Bg%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:502
 #, c-format
 msgid "^BG%s%s^K1 was tagged by ^BG%s^K1's Seeker%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue marcado por el Seeker de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:503
 #, c-format
 msgid "^BG%s^K1 played with tiny Seeker rockets%s%s"
-msgstr ""
+msgstr "^BG%s^K1 jugó con misiles Seeker pequeños%s%s"
 
 #: qcsrc/common/notifications/all.inc:504
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shockwave%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue abatido a tiros por el Shockwave de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:505
 #, c-format
 msgid "^BG%s%s^K1 slapped ^BG%s^K1 around a bit with a large Shockwave%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 cacheteó a ^BG%s^K1 un poco con un Shockwave grande%s%s"
 
 #: qcsrc/common/notifications/all.inc:506
 #, c-format
 msgid "^BG%s%s^K1 was gunned down by ^BG%s^K1's Shotgun%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 fue baleado por la escopeta de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:507
 #, 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 cacheteó a ^BG%s^K1 un poco con una escopeta grande%s%s"
 
 #: qcsrc/common/notifications/all.inc:508
 #, c-format
 msgid "^BG%s^K1 is now thinking with portals%s%s"
-msgstr ""
+msgstr "^BG%s^K1 ahora piensa con portales%s%s"
 
 #: qcsrc/common/notifications/all.inc:509
 #, 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 murió por la gran actuación de ^BG%s^K1 en la @!#%%'n Tuba%s%s"
 
 #: qcsrc/common/notifications/all.inc:510
 #, c-format
 msgid "^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s%s"
-msgstr ""
+msgstr "^BG%s^K1 lastimó sus propios oidos con el @!#%%'n Tuba%s%s"
 
 #: qcsrc/common/notifications/all.inc:511
 #, c-format
 msgid "^BG%s%s^K1 has been sublimated by ^BG%s^K1's Vaporizer%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 ha sido sublimado por el Vaporizador de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:512
 #, c-format
 msgid "^BG%s%s^K1 has been vaporized by ^BG%s^K1's Vortex%s%s"
-msgstr ""
+msgstr "^BG%s%s^K1 ha sido vaporizado por el Vortex de ^BG%s^K1%s%s"
 
 #: qcsrc/common/notifications/all.inc:537
 msgid "^F4You are now alone!"
-msgstr "^F4¡Estas solo ahora!"
+msgstr "^F4¡Estás solo ahora!"
 
 #: qcsrc/common/notifications/all.inc:539
 msgid "^BGYou are attacking!"
@@ -3258,6 +3283,9 @@ msgid ""
 "^BGfor ^F2too many unsuccessful attempts^BG to capture.\n"
 "^BGMake some defensive scores before trying again."
 msgstr ""
+"^BGAhora estas ^F1protegido^BG de la bandera(s)\n"
+"^BGfpor ^F2demasiados intentos fallidos^BG de captura.\n"
+"^BGAnota algún punto defensivo antes de intentarlo otra vez."
 
 #: qcsrc/common/notifications/all.inc:558
 msgid "^BGYou captured the ^TC^TT^BG flag!"
@@ -3305,7 +3333,7 @@ msgstr "^BGSugiriendo a %s^BG que te pase la bandera"
 #: qcsrc/common/notifications/all.inc:567
 #, c-format
 msgid "^BGYou passed the ^TC^TT^BG flag to %s"
-msgstr "^BGHaz pasado la bandera ^TC^TT^BG a %s"
+msgstr "^BGHas pasado la bandera ^TC^TT^BG a %s"
 
 #: qcsrc/common/notifications/all.inc:568
 #, c-format
@@ -3314,7 +3342,7 @@ msgstr "^BGHas pasado la bandera a %s"
 
 #: qcsrc/common/notifications/all.inc:569
 msgid "^BGYou got the ^TC^TT^BG flag!"
-msgstr "^BGHaz obtenido la bandera ^TC^TT^BG!"
+msgstr "^BGHas obtenido la bandera ^TC^TT^BG!"
 
 #: qcsrc/common/notifications/all.inc:570
 msgid "^BGYou got the flag!"
@@ -3323,12 +3351,12 @@ msgstr "^BGHas obtenido la bandera ^TC^TT^BG!"
 #: qcsrc/common/notifications/all.inc:571
 #, c-format
 msgid "^BGYou got your %steam^BG's flag, return it!"
-msgstr ""
+msgstr "^BG¡Tienes la bandera %s de tu equipo^BG, devuelvelo a la base!"
 
 #: qcsrc/common/notifications/all.inc:572
 #, c-format
 msgid "^BGYou got the %senemy^BG's flag, return it!"
-msgstr ""
+msgstr "^BG¡Tienes la bandera %s de tu enemigo^BG, devuelvelo a la base!"
 
 #: qcsrc/common/notifications/all.inc:573
 #, c-format
@@ -3343,32 +3371,32 @@ msgstr "^BGEl %senemigo (^BG%s%s)^BG tiene tu bandera! Recuperala!"
 #: qcsrc/common/notifications/all.inc:575
 #, c-format
 msgid "^BGThe %senemy^BG got the flag! Retrieve it!"
-msgstr ""
+msgstr "^BG¡El enemigo %s^BG tiene la bandera! ¡Recuperalo!"
 
 #: qcsrc/common/notifications/all.inc:576
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got the flag! Retrieve it!"
-msgstr ""
+msgstr "^BG¡El enemigo %s (^BG%s%s)^BG tiene la bandera! ¡Recuperalo!"
 
 #: qcsrc/common/notifications/all.inc:577
 #, c-format
 msgid "^BGThe %senemy^BG got their flag! Retrieve it!"
-msgstr ""
+msgstr "^BG¡El enemigo %s^BG tiene su bandera! ¡Recuperalo!"
 
 #: qcsrc/common/notifications/all.inc:578
 #, c-format
 msgid "^BGThe %senemy (^BG%s%s)^BG got their flag! Retrieve it!"
-msgstr ""
+msgstr "^BG¡El enemigo %s (^BG%s%s)^BG tiene su bandera! ¡Recuperalo!"
 
 #: qcsrc/common/notifications/all.inc:579
 #, c-format
 msgid "^BGYour %steam mate^BG got the ^TC^TT^BG flag! Protect them!"
-msgstr ""
+msgstr "^BG¡Tu compañero %s^BG tiene la bandera ^TC^TT^BG! ¡Protegelos!"
 
 #: qcsrc/common/notifications/all.inc:580
 #, c-format
 msgid "^BGYour %steam mate (^BG%s%s)^BG got the ^TC^TT^BG flag! Protect them!"
-msgstr ""
+msgstr "^BGTu %scompañero (^BG%s%s)^BG tiene la bandera ^TC^TT^BG! Protegelo!"
 
 #: qcsrc/common/notifications/all.inc:581
 #, c-format
@@ -3435,12 +3463,12 @@ msgstr "^K1%sHas sido quemado por ^BG%s"
 #: qcsrc/common/notifications/all.inc:608
 #, c-format
 msgid "^K3%sYou froze ^BG%s"
-msgstr ""
+msgstr "^K3%sCongelaste a ^BG%s"
 
 #: qcsrc/common/notifications/all.inc:610
 #, c-format
 msgid "^K1%sYou were frozen by ^BG%s"
-msgstr ""
+msgstr "^K1%sFuiste congelado por ^BG%s"
 
 #: qcsrc/common/notifications/all.inc:617
 #, c-format
@@ -3460,16 +3488,16 @@ msgstr "^K1%sFuiste eliminado mientras escribias por ^BG%s"
 #: qcsrc/common/notifications/all.inc:620
 #, c-format
 msgid "^K1%sYou were scored against by ^BG%s^K1 while typing"
-msgstr ""
+msgstr "^K1%sFuiste eliminado mientras escribias por ^BG%s^K1"
 
 #: qcsrc/common/notifications/all.inc:626
 #, c-format
 msgid "^BGPress ^F2%s^BG again to toss the nade!"
-msgstr ""
+msgstr "^BG¡Presiona ^F2%s^BG otra vez para tirar la granada!"
 
 #: qcsrc/common/notifications/all.inc:627
 msgid "^F2You got a ^K1BONUS GRENADE^F2!"
-msgstr ""
+msgstr "^F2Recibiste una ^K1GRANADA DE BONIFICACIÓN^F2!"
 
 #: qcsrc/common/notifications/all.inc:629
 #, c-format
@@ -3535,11 +3563,11 @@ msgstr "^K1No pudiste soportar el calor!"
 
 #: qcsrc/common/notifications/all.inc:639
 msgid "^K1You need to watch out for monsters!"
-msgstr ""
+msgstr "^K1Tienes que tener cuidado de los monstruos!"
 
 #: qcsrc/common/notifications/all.inc:639
 msgid "^K1You were killed by a monster!"
-msgstr ""
+msgstr "^K1¡Un monstruo te ha matado!"
 
 #: qcsrc/common/notifications/all.inc:640
 msgid "^K1Tastes like chicken!"
@@ -3547,23 +3575,23 @@ msgstr "^K1Sabe a pollo!"
 
 #: qcsrc/common/notifications/all.inc:640
 msgid "^K1You forgot to put the pin back in!"
-msgstr ""
+msgstr "^K1¡Se te olvido poner el alfiler en su lugar!"
 
 #: qcsrc/common/notifications/all.inc:641
 msgid "^K1Hanging around a napalm explosion is bad!"
-msgstr ""
+msgstr "^K1¡Dar vueltas alrededor de una explosion de napalm es malo!"
 
 #: qcsrc/common/notifications/all.inc:642
 msgid "^K1You felt a little chilly!"
-msgstr ""
+msgstr "^K1¡Te sentiste un poco fresco!"
 
 #: qcsrc/common/notifications/all.inc:642
 msgid "^K1You got a little bit too cold!"
-msgstr ""
+msgstr "^K1¡Te volviste un poco muy frío!"
 
 #: qcsrc/common/notifications/all.inc:643
 msgid "^K1Your Healing Nade is a bit defective"
-msgstr ""
+msgstr "^K1Tu Granada de Curación está un poco defectuosa"
 
 #: qcsrc/common/notifications/all.inc:644
 msgid "^K1You are respawning for running out of ammo..."
@@ -3741,7 +3769,7 @@ msgstr "^BG¡El generador esta bajo ataque!"
 
 #: qcsrc/common/notifications/all.inc:683
 msgid "^TC^TT^BG team loses the round"
-msgstr ""
+msgstr "El equipo ^TC^TT^BG pierde la ronda"
 
 #: qcsrc/common/notifications/all.inc:687
 msgid "^K1You froze yourself"
@@ -3754,7 +3782,7 @@ msgstr "^K1Ronda inicio previamente, apareceras congelado"
 #: qcsrc/common/notifications/all.inc:690
 #, c-format
 msgid "^K1A %s has arrived!"
-msgstr ""
+msgstr "^K1A %s ha llegado!"
 
 #: qcsrc/common/notifications/all.inc:694
 msgid "^BGYou got the ^F1Fuel regenerator"
@@ -3827,7 +3855,7 @@ msgstr "^BGEstas empezando con la llave ^TC^TT"
 
 #: qcsrc/common/notifications/all.inc:718
 msgid "^BGYou have no lives left, you must wait until the next match"
-msgstr ""
+msgstr "^BGNo tienes mas vidas, debes esperar hasta la siguiente partida"
 
 #: qcsrc/common/notifications/all.inc:720
 #, c-format
@@ -3881,12 +3909,12 @@ msgstr "^F2Arma activa: ^F1%s"
 #: qcsrc/common/notifications/all.inc:733
 #, c-format
 msgid "^BGYou captured %s^BG control point"
-msgstr ""
+msgstr "^BGHas capturado el punto de control %s^BG"
 
 #: qcsrc/common/notifications/all.inc:734
 #, c-format
 msgid "^TC^TT^BG team captured %s^BG control point"
-msgstr ""
+msgstr "El equipo ^TC^TT^BG capturó el punto de control %s^BG"
 
 #: qcsrc/common/notifications/all.inc:735
 msgid "^BGThis control point currently cannot be captured"
@@ -3897,16 +3925,20 @@ msgid ""
 "^BGThe enemy generator cannot be destroyed yet\n"
 "^F2Capture some control points to unshield it"
 msgstr ""
+"^BGEl generador enemigo no puede ser destruído ahora\n"
+"^F2Captura puntos de control para desprotegerlo"
 
 #: qcsrc/common/notifications/all.inc:737
 msgid "^BGThe ^TCenemy^BG generator is no longer shielded!"
-msgstr ""
+msgstr "^BG¡El generador ^TCenemigo^BG ya no está protegido!"
 
 #: qcsrc/common/notifications/all.inc:738
 msgid ""
 "^K1Your generator is NOT shielded!\n"
 "^BGRe-capture control points to shield it!"
 msgstr ""
+"^K1¡Tu generador NO esta protegido!\n"
+"^BG¡Recaptura puntos de control para protegerlo!"
 
 #: qcsrc/common/notifications/all.inc:739
 #, c-format
@@ -3916,7 +3948,7 @@ msgstr "^BGPresiona ^F2%s^BG para teletransportarse"
 #: qcsrc/common/notifications/all.inc:740
 #, c-format
 msgid "^BGTeleporting disabled for %s"
-msgstr "^BGTeletransportación deshabilitada para %s"
+msgstr "^BGTeletransportación deshabilitada por %s"
 
 #: qcsrc/common/notifications/all.inc:742
 msgid ""
@@ -3942,6 +3974,11 @@ msgid ""
 "The more control points your team holds,\n"
 "the faster the enemy generator decays"
 msgstr ""
+"^F2Ahora jugando en ^F4OVERTIME^F2!\n"
+"\n"
+"Los generadores están decayendo.\n"
+"Cuanto mas puntos de control tenga tu equipo,\n"
+"mas rápido decaerá el generador enemigo"
 
 #: qcsrc/common/notifications/all.inc:744
 #, c-format
@@ -3954,11 +3991,11 @@ msgstr ""
 
 #: qcsrc/common/notifications/all.inc:746
 msgid "^K1In^BG-portal created"
-msgstr "^K1In^BG-portal creado"
+msgstr "^K1Portal de entrada^BG creado"
 
 #: qcsrc/common/notifications/all.inc:747
 msgid "^F3Out^BG-portal created"
-msgstr ""
+msgstr "^F3Portal de salida^BG creado"
 
 #: qcsrc/common/notifications/all.inc:748
 msgid "^F1Portal creation failed"
@@ -4010,12 +4047,12 @@ msgstr "^BG¡Sequencia completada!"
 
 #: qcsrc/common/notifications/all.inc:767
 msgid "^BGThere are more to go..."
-msgstr ""
+msgstr "^BGHacen falta mas para continuar..."
 
 #: qcsrc/common/notifications/all.inc:768
 #, c-format
 msgid "^BGOnly %s^BG more to go..."
-msgstr ""
+msgstr "^BGSolo %s^BG mas para continuar..."
 
 #: qcsrc/common/notifications/all.inc:770
 msgid "^F2Superweapons have broken down"
@@ -4055,22 +4092,22 @@ msgstr "^F4Tiempo fuera se acaba en ^COUNT"
 
 #: qcsrc/common/notifications/all.inc:782
 msgid "^K1Cannot join given minigame session!"
-msgstr ""
+msgstr "^K1¡Imposible unirse dado la sesión del minijuego!"
 
 #: qcsrc/common/notifications/all.inc:784
 #, c-format
 msgid "^BGPress ^F2%s^BG to enter/exit the vehicle"
-msgstr ""
+msgstr "^BGPress ^F2%s^BG para entrar/salir del vehículo"
 
 #: qcsrc/common/notifications/all.inc:785
 #, c-format
 msgid "^BGPress ^F2%s^BG to enter the vehicle gunner"
-msgstr ""
+msgstr "^BGPresiona ^F2%s^BG para entrar en el artillero del vehículo"
 
 #: qcsrc/common/notifications/all.inc:786
 #, c-format
 msgid "^BGPress ^F2%s^BG to steal this vehicle"
-msgstr ""
+msgstr "^BGPresiona ^F2%s^BG para robar este vehículo"
 
 #: qcsrc/common/notifications/all.inc:787
 msgid ""
@@ -4113,11 +4150,11 @@ msgstr "puntos"
 
 #: qcsrc/common/notifications/all.qh:419
 msgid "drop flag"
-msgstr ""
+msgstr "tirar bandera"
 
 #: qcsrc/common/notifications/all.qh:420
 msgid "throw nade"
-msgstr ""
+msgstr "tirar granada"
 
 #: qcsrc/common/notifications/all.qh:431
 #, c-format
@@ -4318,19 +4355,19 @@ msgstr ", perdiendo su cadena de %d eliminaciones"
 
 #: qcsrc/common/teams.qh:29
 msgid "TEAM^Red"
-msgstr ""
+msgstr "Rojo"
 
 #: qcsrc/common/teams.qh:30
 msgid "TEAM^Blue"
-msgstr ""
+msgstr "Azul"
 
 #: qcsrc/common/teams.qh:31
 msgid "TEAM^Yellow"
-msgstr ""
+msgstr "Amarillo"
 
 #: qcsrc/common/teams.qh:32
 msgid "TEAM^Pink"
-msgstr ""
+msgstr "Rosa"
 
 #: qcsrc/common/teams.qh:33
 msgid "Team"
@@ -4342,55 +4379,55 @@ msgstr "Neutro"
 
 #: qcsrc/common/teams.qh:37
 msgid "KEY^Red"
-msgstr ""
+msgstr "Roja"
 
 #: qcsrc/common/teams.qh:38
 msgid "KEY^Blue"
-msgstr ""
+msgstr "Azul"
 
 #: qcsrc/common/teams.qh:39
 msgid "KEY^Yellow"
-msgstr ""
+msgstr "Amarilla"
 
 #: qcsrc/common/teams.qh:40
 msgid "KEY^Pink"
-msgstr ""
+msgstr "Rosa"
 
 #: qcsrc/common/teams.qh:41
 msgid "FLAG^Red"
-msgstr ""
+msgstr "Roja"
 
 #: qcsrc/common/teams.qh:42
 msgid "FLAG^Blue"
-msgstr ""
+msgstr "Azul"
 
 #: qcsrc/common/teams.qh:43
 msgid "FLAG^Yellow"
-msgstr ""
+msgstr "Amarilla"
 
 #: qcsrc/common/teams.qh:44
 msgid "FLAG^Pink"
-msgstr ""
+msgstr "Rosa"
 
 #: qcsrc/common/teams.qh:45
 msgid "GENERATOR^Red"
-msgstr ""
+msgstr "Rojo"
 
 #: qcsrc/common/teams.qh:46
 msgid "GENERATOR^Blue"
-msgstr ""
+msgstr "Azul"
 
 #: qcsrc/common/teams.qh:47
 msgid "GENERATOR^Yellow"
-msgstr ""
+msgstr "Amarillo"
 
 #: qcsrc/common/teams.qh:48
 msgid "GENERATOR^Pink"
-msgstr ""
+msgstr "Rosa"
 
 #: qcsrc/common/turrets/all.qh:51
 msgid "Turrets dump command only works with sv_cmd.\n"
-msgstr ""
+msgstr "La orden \"Turrets dump\" solo funciona con sv_cmd.\n"
 
 #: qcsrc/common/turrets/cl_turrets.qc:129
 #, c-format
@@ -4399,96 +4436,96 @@ msgstr "%s bajo ataque!"
 
 #: qcsrc/common/turrets/turret.qh:11
 msgid "Turret"
-msgstr ""
+msgstr "Torreta"
 
 #: qcsrc/common/turrets/turret/ewheel.qh:15
 msgid "eWheel Turret"
-msgstr ""
+msgstr "Torreta eWheel"
 
 #: qcsrc/common/turrets/turret/ewheel_weapon.qh:7
 msgid "eWheel"
-msgstr ""
+msgstr "eWheel"
 
 #: qcsrc/common/turrets/turret/flac.qh:13
 msgid "FLAC Cannon"
-msgstr ""
+msgstr "Cañón FLAC"
 
 #: qcsrc/common/turrets/turret/flac_weapon.qh:7
 msgid "FLAC"
-msgstr ""
+msgstr "FLAC"
 
 #: qcsrc/common/turrets/turret/fusionreactor.qh:11
 msgid "Fusion Reactor"
-msgstr ""
+msgstr "Reactor de Fusión"
 
 #: qcsrc/common/turrets/turret/hellion.qh:13
 msgid "Hellion Missile Turret"
-msgstr ""
+msgstr "Torreta de Misiles Hellion"
 
 #: qcsrc/common/turrets/turret/hellion_weapon.qh:7
 msgid "Hellion"
-msgstr ""
+msgstr "Hellion"
 
 #: qcsrc/common/turrets/turret/hk.qh:15
 msgid "Hunter-Killer Turret"
-msgstr ""
+msgstr "Torreta Hunter-Killer"
 
 #: qcsrc/common/turrets/turret/hk_weapon.qh:7
 msgid "Hunter-Killer"
-msgstr ""
+msgstr "Hunter-Killer"
 
 #: qcsrc/common/turrets/turret/machinegun.qh:13
 msgid "Machinegun Turret"
-msgstr ""
+msgstr "Torreta Ametralladora"
 
 #: qcsrc/common/turrets/turret/machinegun_weapon.qh:7
 msgid "Machinegun"
-msgstr ""
+msgstr "Ametralladora"
 
 #: qcsrc/common/turrets/turret/mlrs.qh:13
 msgid "MLRS Turret"
-msgstr ""
+msgstr "Torreta MLRS"
 
 #: qcsrc/common/turrets/turret/mlrs_weapon.qh:7
 msgid "MLRS"
-msgstr ""
+msgstr "MLRS"
 
 #: qcsrc/common/turrets/turret/phaser.qh:13
 msgid "Phaser Cannon"
-msgstr ""
+msgstr "Cañón Phaser"
 
 #: qcsrc/common/turrets/turret/phaser_weapon.qh:7
 msgid "Phaser"
-msgstr ""
+msgstr "Phaser"
 
 #: qcsrc/common/turrets/turret/plasma.qh:13
 msgid "Plasma Cannon"
-msgstr ""
+msgstr "Cañón de Plasma"
 
 #: qcsrc/common/turrets/turret/plasma_dual.qh:7
 msgid "Dual plasma"
-msgstr ""
+msgstr "Doble plasma"
 
 #: qcsrc/common/turrets/turret/plasma_dual.qh:19
 msgid "Dual Plasma Cannon"
-msgstr ""
+msgstr "Cañón de Doble Plasma"
 
 #: qcsrc/common/turrets/turret/plasma_weapon.qh:7
 msgid "Plasma"
-msgstr ""
+msgstr "Plasma"
 
 #: qcsrc/common/turrets/turret/tesla.qh:13
 #: qcsrc/common/turrets/turret/tesla_weapon.qh:7
 msgid "Tesla Coil"
-msgstr ""
+msgstr "Bobina de Tesla"
 
 #: qcsrc/common/turrets/turret/walker.qh:15
 msgid "Walker Turret"
-msgstr ""
+msgstr "Torreta Walker"
 
 #: qcsrc/common/turrets/turret/walker_weapon.qh:7
 msgid "Walker"
-msgstr ""
+msgstr "Walker"
 
 #: qcsrc/common/vehicles/cl_vehicles.qc:191
 #, c-format
@@ -4505,35 +4542,35 @@ msgstr "Sin ametralladora izquierda!"
 
 #: qcsrc/common/vehicles/vehicle/bumblebee.qh:19
 msgid "Bumblebee"
-msgstr ""
+msgstr "Bumblebee"
 
 #: qcsrc/common/vehicles/vehicle/racer.qh:19
 msgid "Racer"
-msgstr ""
+msgstr "Racer"
 
 #: qcsrc/common/vehicles/vehicle/racer_weapon.qh:9
 msgid "Racer cannon"
-msgstr ""
+msgstr "Cañón racer"
 
 #: qcsrc/common/vehicles/vehicle/raptor.qh:19
 msgid "Raptor"
-msgstr ""
+msgstr "Raptor"
 
 #: qcsrc/common/vehicles/vehicle/raptor_weapons.qh:9
 msgid "Raptor cannon"
-msgstr ""
+msgstr "Cañón raptor"
 
 #: qcsrc/common/vehicles/vehicle/raptor_weapons.qh:17
 msgid "Raptor bomb"
-msgstr ""
+msgstr "Bomba raptor"
 
 #: qcsrc/common/vehicles/vehicle/raptor_weapons.qh:25
 msgid "Raptor flare"
-msgstr ""
+msgstr "Bengala raptor"
 
 #: qcsrc/common/vehicles/vehicle/spiderbot.qh:19
 msgid "Spiderbot"
-msgstr ""
+msgstr "Robot araña"
 
 #: qcsrc/common/weapons/all.qh:78
 msgid "Weapons dump command only works with sv_cmd.\n"
@@ -4541,11 +4578,11 @@ msgstr "Armas sueltas solo funcionan con el comando sv_cmd.\n"
 
 #: qcsrc/common/weapons/weapon/arc.qc:17
 msgid "Arc"
-msgstr ""
+msgstr "Arc"
 
 #: qcsrc/common/weapons/weapon/blaster.qc:17
 msgid "Blaster"
-msgstr ""
+msgstr "Blaster"
 
 #: qcsrc/common/weapons/weapon/crylink.qc:17
 msgid "Crylink"
@@ -4553,7 +4590,7 @@ msgstr "Crylink"
 
 #: qcsrc/common/weapons/weapon/devastator.qc:17
 msgid "Devastator"
-msgstr ""
+msgstr "Devastador"
 
 #: qcsrc/common/weapons/weapon/electro.qc:17
 msgid "Electro"
@@ -4577,7 +4614,7 @@ msgstr "Grappling Hook"
 
 #: qcsrc/common/weapons/weapon/machinegun.qc:17
 msgid "MachineGun"
-msgstr ""
+msgstr "Ametralladora"
 
 #: qcsrc/common/weapons/weapon/minelayer.qc:17
 msgid "Mine Layer"
@@ -4601,7 +4638,7 @@ msgstr "T.A.G. Seeker"
 
 #: qcsrc/common/weapons/weapon/shockwave.qc:17
 msgid "Shockwave"
-msgstr ""
+msgstr "Shockwave"
 
 #: qcsrc/common/weapons/weapon/shotgun.qc:17
 msgid "Shotgun"
@@ -4614,11 +4651,11 @@ msgstr "@!#%'n Tuba"
 
 #: qcsrc/common/weapons/weapon/vaporizer.qc:18
 msgid "Vaporizer"
-msgstr ""
+msgstr "Vaporizador"
 
 #: qcsrc/common/weapons/weapon/vortex.qc:18
 msgid "Vortex"
-msgstr ""
+msgstr "Vortex"
 
 #: qcsrc/lib/counting.qh:9
 #, c-format
@@ -4830,16 +4867,18 @@ msgid ""
 "Entity field %s.%s (%s) is not whitelisted. If you believe this is an error, "
 "please file an issue."
 msgstr ""
+"Entity field %s.%s (%s) no está en la lista. Si crees que esto es un error, "
+"por favor registre un problema."
 
 #: qcsrc/lib/string.qh:46
 #, c-format
 msgid "%d days, %02d:%02d:%02d"
-msgstr ""
+msgstr "%d días, %02d:%02d:%02d"
 
 #: qcsrc/lib/string.qh:47
 #, c-format
 msgid "%02d:%02d:%02d"
-msgstr ""
+msgstr "%02d:%02d:%02d"
 
 #: qcsrc/menu/command/menu_cmd.qc:48
 msgid "Usage: menu_cmd command..., where possible commands are:\n"
@@ -4883,11 +4922,11 @@ msgstr "Nivel %d: %s"
 
 #: qcsrc/menu/xonotic/credits.qc:4
 msgid "Core Team"
-msgstr ""
+msgstr "Equipo Principal"
 
 #: qcsrc/menu/xonotic/credits.qc:16
 msgid "Extended Team"
-msgstr ""
+msgstr "Equipo Extendido"
 
 #: qcsrc/menu/xonotic/credits.qc:48
 msgid "Website"
@@ -4911,27 +4950,27 @@ msgstr "Diseño de Nivel"
 
 #: qcsrc/menu/xonotic/credits.qc:92
 msgid "Music / Sound FX"
-msgstr ""
+msgstr "Música / Sonido FX"
 
 #: qcsrc/menu/xonotic/credits.qc:108
 msgid "Game Code"
-msgstr ""
+msgstr "Código del Juego"
 
 #: qcsrc/menu/xonotic/credits.qc:116
 msgid "Marketing / PR"
-msgstr ""
+msgstr "Marketing / PR"
 
 #: qcsrc/menu/xonotic/credits.qc:122
 msgid "Legal"
-msgstr ""
+msgstr "Legal"
 
 #: qcsrc/menu/xonotic/credits.qc:127
 msgid "Game Engine"
-msgstr ""
+msgstr "Motor del Juego"
 
 #: qcsrc/menu/xonotic/credits.qc:131
 msgid "Engine Additions"
-msgstr ""
+msgstr "Añadidos del Motor"
 
 #: qcsrc/menu/xonotic/credits.qc:136
 msgid "Compiler"
@@ -4967,7 +5006,7 @@ msgstr "Chino (Taiwan)"
 
 #: qcsrc/menu/xonotic/credits.qc:176
 msgid "Cornish"
-msgstr ""
+msgstr "Córnico"
 
 #: qcsrc/menu/xonotic/credits.qc:179
 msgid "Czech"
@@ -5007,7 +5046,7 @@ msgstr "Italiano"
 
 #: qcsrc/menu/xonotic/credits.qc:235
 msgid "Kazakh"
-msgstr ""
+msgstr "Kazajo"
 
 #: qcsrc/menu/xonotic/credits.qc:238
 msgid "Korean"
@@ -5051,7 +5090,7 @@ msgstr "Contribudores en el pasado"
 
 #: qcsrc/menu/xonotic/cvarlist.qc:73
 msgid "forced to be saved to config.cfg"
-msgstr ""
+msgstr "forzado a ser guardado en config.cfg"
 
 #: qcsrc/menu/xonotic/cvarlist.qc:79 qcsrc/menu/xonotic/cvarlist.qc:89
 msgid "will not be saved"
@@ -5142,12 +5181,12 @@ msgstr "Mostrar sólo el tipo de la munición actual"
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.qc:22
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.qc:44
 msgid "Noncurrent alpha:"
-msgstr ""
+msgstr "Alpha no actual:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.qc:26
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.qc:48
 msgid "Noncurrent scale:"
-msgstr ""
+msgstr "Escala no actual:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.qc:30
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:24
@@ -5209,7 +5248,7 @@ msgstr "Escala de fuente:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.qh:6
 msgid "Centerprint Panel"
-msgstr ""
+msgstr "Panel de visualización central"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.qc:15
 msgid "Chat entries:"
@@ -5303,11 +5342,11 @@ msgstr "PNL^Deshabilitado"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:17
 msgid "PNL^Enabled spectating"
-msgstr ""
+msgstr "Espectador habilitado"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:18
 msgid "PNL^Enabled even playing in warmup"
-msgstr ""
+msgstr "Habilitado incluso cuando se juega en calentamiento"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qc:29
 msgid "Reduced"
@@ -5331,11 +5370,11 @@ msgstr "Tamaño dinámico"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_itemstime.qh:6
 msgid "Items Time Panel"
-msgstr ""
+msgstr "Panel de Tiempo de Items"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_modicons.qh:6
 msgid "Mod Icons Panel"
-msgstr ""
+msgstr "Panel de Iconos de Mods"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_notification.qc:15
 msgid "Notifications:"
@@ -5480,7 +5519,7 @@ msgstr "Panel de teclas presionadas"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_quickmenu.qh:6
 msgid "Quick Menu Panel"
-msgstr ""
+msgstr "Panel de Menú Rápido"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.qh:6
 msgid "Race Timer Panel"
@@ -5665,7 +5704,7 @@ msgstr "Tecla asignada"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.qc:58
 msgid "Weapon ID scale:"
-msgstr ""
+msgstr "Tamaño del ID de Arma"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.qc:64
 msgid "Show Accuracy"
@@ -5818,15 +5857,15 @@ msgstr "Remover"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:25
 msgid "Move target:"
-msgstr ""
+msgstr "Desplazar objetivo:"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:26
 msgid "Follow"
-msgstr ""
+msgstr "Seguir"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:27
 msgid "Wander"
-msgstr ""
+msgstr "Deambular"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:28
 msgid "Spawnpoint"
@@ -5834,7 +5873,7 @@ msgstr "Punto de reaparición"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:29
 msgid "No moving"
-msgstr ""
+msgstr "Sin movimiento"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:31
 msgid "Colors:"
@@ -5847,7 +5886,7 @@ msgstr "Definir apariencia:"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qh:6
 msgid "Monster Tools"
-msgstr ""
+msgstr "Herramientas de Monstruo"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.qc:14
 msgid "Servers"
@@ -5863,7 +5902,7 @@ msgstr "Crear tu propio juego"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.qc:18
 msgid "Media"
-msgstr ""
+msgstr "Media"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer.qc:19
 msgid "Profile"
@@ -6082,22 +6121,24 @@ msgid ""
 "Click here or Ctrl-F to provide a keyword to narrow down the map list. Ctrl-"
 "Delete to clear; Enter when done."
 msgstr ""
+"Haz click aqui o presiona Ctrl-F para proveer una palabra clave para reducir "
+"la lista de mapas. Ctrl-Delete para despejar; Enter cuando esté hecho"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:207
 msgid "Add shown"
-msgstr ""
+msgstr "Añadir visibles"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:208
 msgid "Add the maps shown in the list to your selection"
-msgstr ""
+msgstr "Añade los mapas visibles en la lista a tu selección"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:211
 msgid "Remove shown"
-msgstr ""
+msgstr "Eliminar visibles"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:212
 msgid "Remove the maps shown in the list from your selection"
-msgstr ""
+msgstr "Elimina los mapas visibles en la lista en tu selección"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:217
 msgid "Add all"
@@ -6165,7 +6206,7 @@ msgstr "Esquivar"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:63
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:267
 msgid "InstaGib"
-msgstr ""
+msgstr "InstaGib"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:65
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:216
@@ -6238,7 +6279,7 @@ msgstr "Mejoras"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:97
 msgid "Overkill"
-msgstr ""
+msgstr "Overkill"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:99
 msgid "No powerups"
@@ -6367,11 +6408,11 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:277
 msgid "with blaster"
-msgstr ""
+msgstr "con el blaster"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:278
 msgid "Always carry the blaster as an additional weapon in Nix"
-msgstr ""
+msgstr "Siempre llevar el blaster como arma adicional en Nix"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qh:9
 msgid "Mutators"
@@ -6432,7 +6473,7 @@ msgstr "¡Unirse!"
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.qc:154
 #: qcsrc/menu/xonotic/serverlist.qc:1061
 msgid "MOD^Default"
-msgstr ""
+msgstr "Por defecto"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.qc:161
 #, c-format
@@ -6550,7 +6591,7 @@ msgstr "Reproductor de Música"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_demo.qc:48
 msgid "Auto record demos"
-msgstr ""
+msgstr "Grabar automáticamente demos"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_demo.qc:57
 msgid "Timedemo"
@@ -6580,15 +6621,15 @@ msgstr "Desconectar"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_demo_timeconfirm.qc:13
 msgid "Timing a demo will disconnect you from the current match."
-msgstr ""
+msgstr "Cronometrar un demo te desconectará del juego actual"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:37
 msgid "MUSICPL^Add"
-msgstr ""
+msgstr "MUSICPL^Añadir"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:40
 msgid "MUSICPL^Add all"
-msgstr ""
+msgstr "MUSICPL^Añadir todo"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:44
 msgid "Set as menu track"
@@ -6608,7 +6649,7 @@ msgstr "Orden aleatorio"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:60
 msgid "MUSICPL^Stop"
-msgstr "MUSICPL^Parar"
+msgstr "MUSICPL^Detener"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:63
 msgid "MUSICPL^Play"
@@ -6656,7 +6697,7 @@ msgstr "Siguiente"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_screenshot_viewer.qc:152
 msgid "Slide show"
-msgstr ""
+msgstr "Pasar diapositivas"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:34
 #: qcsrc/menu/xonotic/dialog_settings_audio.qc:21
@@ -6677,11 +6718,11 @@ msgstr "Modelo"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:96
 msgid "Glowing color"
-msgstr ""
+msgstr "Color brillante"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:106
 msgid "Detail color"
-msgstr ""
+msgstr "Color de detalles"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:121
 msgid "Statistics"
@@ -7066,15 +7107,16 @@ msgstr "Sonidos del menú"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.qc:150
 msgid "Play sounds when clicking menu items"
-msgstr ""
+msgstr "Reproducir sonidos al hacer click en items del menú"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.qc:151
 msgid "Focus sounds"
-msgstr ""
+msgstr "Concentrar sonidos"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.qc:152
 msgid "Play sounds when hovering over menu items too"
 msgstr ""
+"También reproducir sonidos cuando se mantenga el cursor sobre items del menú"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.qc:156
 msgid "Time announcer:"
@@ -7493,7 +7535,7 @@ msgid ""
 "using a powerup (default: disabled)"
 msgstr ""
 "Habilita efectos especiales de postprocesamiento cuando se recibe daño o se "
-"esta bajo el agua o cuando se usa un poder (por defecto: deshabilitado)"
+"esta bajo el agua o se usa un poder (por defecto: deshabilitado)"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.qc:232
 msgid "Motion blur strength - 0.4 recommended"
@@ -7587,6 +7629,10 @@ msgid ""
 "when there's an obstacle between your gun and the target; Enemies: also "
 "enlarge the crosshair when you would hit an enemy"
 msgstr ""
+"Ninguno: no realizar pruebas de éxito para el punto de mira; TrueAim: "
+"difuminar el punto de mira cuando hay un obstáculo entre tu arma y el "
+"objetivo; Enemigos: tambien amplia el punto de mira cuando alcanzarías un "
+"enemigo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_crosshair.qc:129
 msgid "HTTST^Disabled"
@@ -7642,7 +7688,7 @@ msgstr "Puntos de paso"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_hud.qc:63
 msgid "Display waypoint markers for objectives on the map"
-msgstr ""
+msgstr "Mostrar marcadores de puntos del camino para objetivos en el mapa"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_hud.qc:64
 msgid "Show various gametype specific waypoints"
@@ -7751,7 +7797,7 @@ msgstr "Información de Eliminación"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:26
 msgid "Display information about killing sprees"
-msgstr ""
+msgstr "Mostrar informacion sobre rachas de asesinatos"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:29
 msgid "Only display sprees if they are achievements"
@@ -7759,7 +7805,7 @@ msgstr "Solo mostrar rachas de asesinatos si son logros"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:34
 msgid "Show spree information in centerprints"
-msgstr ""
+msgstr "Mostrar informacion de rachas en visualización central"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:38
 msgid "Show spree information in death messages"
@@ -7771,7 +7817,7 @@ msgstr "Racha de asesinatos en mensajes de información:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:46
 msgid "SPREES^Disabled"
-msgstr ""
+msgstr "Deshabilitado"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:47
 msgid "Target"
@@ -7783,7 +7829,7 @@ msgstr "Atacante"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:49
 msgid "SPREES^Both"
-msgstr ""
+msgstr "Ambos"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:55
 msgid "Print on a seperate line"
@@ -7792,12 +7838,14 @@ msgstr "Imprimir en linea separada"
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:58
 msgid "Add extra frag information to centerprint when available"
 msgstr ""
+"Añadir información adicional de eliminación a la visualización central "
+"cuando sea posible"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:62
 msgid "Add frag location to death messages when available"
 msgstr ""
-"Añade localización de la eliminación en los mensajes de muertes cuando esté "
-"disponible"
+"Añade localización de la eliminación en los mensajes de muertes cuando sea "
+"posible"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:65
 msgid "Gamemode Settings"
@@ -7819,15 +7867,15 @@ msgstr "Otro"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:78
 msgid "Display console messages in the top left corner"
-msgstr ""
+msgstr "Mostrar mensajes de consola en la esquina superior izquierda"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:80
 msgid "Display all info messages in the chatbox"
-msgstr ""
+msgstr "Mostrar todos los mensajes de información en el chatbox"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:82
 msgid "Display player statuses in the chatbox"
-msgstr ""
+msgstr "Mostrar estado de jugador en el chatbox"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:86
 msgid "Powerup notifications"
@@ -7835,7 +7883,7 @@ msgstr "Notificacion de poderes"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:89
 msgid "Weapon centerprint notifications"
-msgstr ""
+msgstr "Notificaciones de armas en la visualización central"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:92
 msgid "Weapon info message notifications"
@@ -7843,11 +7891,11 @@ msgstr "Mensajes de notificaciones de información de arma"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:96
 msgid "Announcers"
-msgstr ""
+msgstr "Locutores"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:98
 msgid "Respawn countdown sounds"
-msgstr ""
+msgstr "Sonidos de cuenta atrás de reaparición"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_messages.qc:101
 msgid "Killstreak sounds"
@@ -7863,7 +7911,7 @@ msgstr "Mensajes"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:30
 msgid "Items"
-msgstr ""
+msgstr "Items"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:32
 msgid "Use simple 2D images instead of item models"
@@ -7871,31 +7919,31 @@ msgstr "Usar simples imágenes 2D en vez de modelos de objeto"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:34
 msgid "Unavailable alpha:"
-msgstr ""
+msgstr "Alpha no disponible:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:37
 msgid "Unavailable color:"
-msgstr ""
+msgstr "Color no disponible:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:39
 msgid "GHOITEMS^Black"
-msgstr ""
+msgstr "Negro"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:40
 msgid "GHOITEMS^Dark"
-msgstr ""
+msgstr "Oscuro"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:41
 msgid "GHOITEMS^Tinted"
-msgstr ""
+msgstr "Tintado"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:42
 msgid "GHOITEMS^Normal"
-msgstr ""
+msgstr "Normal"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:43
 msgid "GHOITEMS^Blue"
-msgstr ""
+msgstr "Azul"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:49
 #: qcsrc/menu/xonotic/serverlist.qc:767
@@ -7912,7 +7960,7 @@ msgstr "Forzar colors de otros jugadores al mio"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:56
 msgid "In non teamplay modes only"
-msgstr ""
+msgstr "Sólo no en modos de juego de equipo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:60
 msgid "Body fading:"
@@ -7952,7 +8000,7 @@ msgstr "Perspectiva en primera persona"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:30
 msgid "Slide to third person upon death"
-msgstr ""
+msgstr "Cambiar a tercera persona tras la muerte"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:34
 msgid "Smooth the view when landing from a jump"
@@ -7996,7 +8044,7 @@ msgstr "Campo de visión en grados (por defecto: 100)"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:76
 msgid "ZOOM^Zoom factor:"
-msgstr ""
+msgstr "Factor del zoom:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:78
 msgid "How big the zoom factor is when the zoom button is pressed"
@@ -8004,7 +8052,7 @@ msgstr "Cuan grande es el factor de zoom cuando la tecla de zoom es presionada"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:81
 msgid "ZOOM^Zoom speed:"
-msgstr ""
+msgstr "Velocidad del zoom:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:83
 msgid "How fast the view will be zoomed, disable to zoom instantly"
@@ -8017,7 +8065,7 @@ msgstr "Instantaneo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:96
 msgid "ZOOM^Zoom sensitivity:"
-msgstr ""
+msgstr "Sensibilidad del zoom:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:98
 msgid ""
@@ -8029,15 +8077,15 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:101
 msgid "Velocity zoom"
-msgstr ""
+msgstr "Velocidad del zoom"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:102
 msgid "Forward movement only"
-msgstr ""
+msgstr "Sólo movimiento frontal"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:106
 msgid "VZOOM^Factor"
-msgstr ""
+msgstr "Factor"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_view.qc:113
 msgid "Display reticle 2D overlay while zooming"
@@ -8058,7 +8106,7 @@ msgstr "Vista"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_weapons.qc:34
 msgid "Weapon Priority List (* = mutator weapon)"
-msgstr ""
+msgstr "Lista de Prioridades de Armas (* = arma mutadora)"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_weapons.qc:40
 msgid "Up"
@@ -8080,7 +8128,7 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_game_weapons.qc:53
 msgid "Cycle through only usable weapon selections"
-msgstr ""
+msgstr "Ciclar solamente a través de armas usables"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_weapons.qc:57
 msgid "Auto switch weapons on pickup"
@@ -8211,7 +8259,7 @@ msgstr "Jetpack al brincar:"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.qc:101
 msgid "JPJUMP^Disabled"
-msgstr ""
+msgstr "Deshabilitado"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.qc:102
 msgid "Air only"
@@ -8219,7 +8267,7 @@ msgstr "Solo aire"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.qc:103
 msgid "JPJUMP^All"
-msgstr ""
+msgstr "Todos"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.qc:109
 #: qcsrc/menu/xonotic/dialog_settings_input.qc:114
@@ -8309,7 +8357,7 @@ msgstr "Cuantos paquetes de entrada mandar a un servidor por cada segundo"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:48
 msgid "Server queries/s:"
-msgstr ""
+msgstr "Solicitudes del servidor/s"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:52
 msgid "Downloads:"
@@ -8396,6 +8444,8 @@ msgid ""
 "Menu tooltips: disabled, standard or advanced (also shows cvar or console "
 "command bound to the menu item)"
 msgstr ""
+"Tooltips del menú: deshabilitado, estándar o avanzado (también muestra cvar "
+"o comando de consola ligado al item del menú)"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:138
 msgid "TLTIP^Disabled"
@@ -8415,7 +8465,7 @@ msgstr "Mostrar fecha y hora actual"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:144
 msgid "Show current date and time of day, useful on screenshots"
-msgstr ""
+msgstr "Mostrar fecha y hora actual, útil para capturas de pantalla"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:147
 msgid "Enable developer mode"
@@ -8440,7 +8490,7 @@ msgstr "Filtro de Cvar"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:38
 msgid "Modified cvars only"
-msgstr "Solo cvars modificados"
+msgstr "Solo Cvars modificados"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:45
 msgid "Setting:"
@@ -8895,11 +8945,11 @@ msgstr "Si respondes \"No\" aparecerás como \"Jugador anónimo\""
 
 #: qcsrc/menu/xonotic/gametypelist.qc:86
 msgid "teamplay"
-msgstr "juego de equipo"
+msgstr "juego en equipo"
 
 #: qcsrc/menu/xonotic/gametypelist.qc:88
 msgid "free for all"
-msgstr ""
+msgstr "libre para todos"
 
 #: qcsrc/menu/xonotic/keybinder.qc:29
 msgid "Moving"
@@ -8943,19 +8993,19 @@ msgstr "Ataque"
 
 #: qcsrc/menu/xonotic/keybinder.qc:44
 msgid "WEAPON^previous"
-msgstr ""
+msgstr "anterior"
 
 #: qcsrc/menu/xonotic/keybinder.qc:45
 msgid "WEAPON^next"
-msgstr ""
+msgstr "siguiente"
 
 #: qcsrc/menu/xonotic/keybinder.qc:46
 msgid "WEAPON^previously used"
-msgstr ""
+msgstr "anteriormente usado"
 
 #: qcsrc/menu/xonotic/keybinder.qc:47
 msgid "WEAPON^best"
-msgstr ""
+msgstr "mejor"
 
 #: qcsrc/menu/xonotic/keybinder.qc:48
 msgid "reload"
@@ -9120,11 +9170,11 @@ msgstr "Tipo"
 #: qcsrc/menu/xonotic/serverlist.qc:1060
 #, c-format
 msgid "AES level %d"
-msgstr ""
+msgstr "Nivel AES %d"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1060
 msgid "ENC^none"
-msgstr ""
+msgstr "Ninguno"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1060
 msgid "encryption:"
@@ -9133,7 +9183,7 @@ msgstr "cifrado:"
 #: qcsrc/menu/xonotic/serverlist.qc:1061
 #, c-format
 msgid "mod: %s"
-msgstr ""
+msgstr "modo: %s"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1063
 #, c-format
@@ -9155,35 +9205,35 @@ msgstr "estadísticas habilitadas"
 
 #: qcsrc/menu/xonotic/serverlist.qh:151
 msgid "SLCAT^Favorites"
-msgstr ""
+msgstr "SLCAT^Favoritos"
 
 #: qcsrc/menu/xonotic/serverlist.qh:152
 msgid "SLCAT^Recommended"
-msgstr ""
+msgstr "SLCAT^Recomendado"
 
 #: qcsrc/menu/xonotic/serverlist.qh:153
 msgid "SLCAT^Normal Servers"
-msgstr ""
+msgstr "SLCAT^Servidores Normales"
 
 #: qcsrc/menu/xonotic/serverlist.qh:154
 msgid "SLCAT^Servers"
-msgstr ""
+msgstr "SLCAT^Servidores"
 
 #: qcsrc/menu/xonotic/serverlist.qh:155
 msgid "SLCAT^Competitive Mode"
-msgstr ""
+msgstr "SLCAT^Modo Competitivo"
 
 #: qcsrc/menu/xonotic/serverlist.qh:156
 msgid "SLCAT^Modified Servers"
-msgstr ""
+msgstr "SLCAT^Servidores Modificados"
 
 #: qcsrc/menu/xonotic/serverlist.qh:157
 msgid "SLCAT^Overkill"
-msgstr ""
+msgstr "SLCAT^Overkill"
 
 #: qcsrc/menu/xonotic/serverlist.qh:158
 msgid "SLCAT^InstaGib"
-msgstr ""
+msgstr "SLCAT^InstaGib"
 
 #: qcsrc/menu/xonotic/serverlist.qh:159
 msgid "SLCAT^Defrag Mode"
index 1633943b88b70b1201a5a36fc2bb9ea98e019c9a..5a3544fad7d24ec1d355dfba8f1e3a58ed37e668 100644 (file)
@@ -18,7 +18,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-04-12 09:31+0000\n"
+"PO-Revision-Date: 2017-05-21 08:35+0000\n"
 "Last-Translator: Yannick Le Guen <leguen.yannick@gmail.com>\n"
 "Language-Team: French (http://www.transifex.com/team-xonotic/xonotic/"
 "language/fr/)\n"
@@ -32,7 +32,7 @@ msgstr ""
 #, c-format
 msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
 msgstr ""
-"^2Exporté avec succès dans %s ! (note : la sauvegarde est présente dans data/"
+"^2Exporté avec succès vers %s ! (note : la sauvegarde est présente dans data/"
 "data/)\n"
 
 #: qcsrc/client/hud/hud_config.qc:237
@@ -5434,11 +5434,11 @@ msgstr "Tableau de bord activé"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:17
 msgid "Panel enabled even observing"
-msgstr "Tableau de bord activé en mode spectateur"
+msgstr "Activé en mode spectateur"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:18
 msgid "Panel enabled only in Race/CTS"
-msgstr "Tableau de bord activé en mode Couse/CTS"
+msgstr "Activé en mode Course/CTS seulement"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:24
 msgid "Status bar"
@@ -5464,7 +5464,7 @@ msgstr "Aligner vers l'extérieur"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:33
 msgid "Flip speed/acceleration positions"
-msgstr "Inverser la position de la vitesse/de l'accélération"
+msgstr "Inverser les positions de la vitesse/de l'accélération"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:37
 msgid "Speed:"
@@ -5496,7 +5496,7 @@ msgstr "mph"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:55
 msgid "knots"
-msgstr "noeuds"
+msgstr "nœuds"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.qc:57
 msgid "Show"
@@ -5549,7 +5549,7 @@ msgstr "Chronomètre de Course"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.qc:16
 msgid "Panel enabled in teamgames"
-msgstr "Tableau de bord activé dans les jeux en équipe"
+msgstr "Activé dans les jeux en équipe"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.qc:23
 msgid "Radar:"
@@ -6063,7 +6063,8 @@ msgid ""
 "The maximum amount of players or bots that can be connected to your server "
 "at once"
 msgstr ""
-"Le nombre maximum de personnes pouvant jouer sur votre serveur en même temps"
+"Le nombre maximum de joueurs ou de bots pouvant jouer sur votre serveur en "
+"même temps"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:144
 msgid "Number of bots:"
@@ -6079,7 +6080,7 @@ msgstr "Niveau des bots :"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:151
 msgid "Specify how experienced the bots will be"
-msgstr "Spécifier la difficulté des bots"
+msgstr "Spécifier le niveau d'expérience des bots"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:152
 msgid "Botlike"
@@ -7741,7 +7742,7 @@ msgstr "Compensation des bords :"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_hud.qc:89
 msgid "Fade when near the crosshair"
-msgstr "Cacher à proximité du réticule"
+msgstr "Atténuer à proximité du réticule"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_hud.qc:94
 msgid "Damage"
index 2c1c25bea166e445332e9369f5b745a855d24903..83f0313e49a89f421276f4980fb18e346c94fcb2 100644 (file)
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-05-16 11:11+0000\n"
+"PO-Revision-Date: 2017-06-01 21:16+0000\n"
 "Last-Translator: GunChleoc\n"
 "Language-Team: Gaelic, Scottish (http://www.transifex.com/team-xonotic/"
 "xonotic/language/gd/)\n"
@@ -933,36 +933,36 @@ msgstr ""
 #: qcsrc/client/hud/panel/scoreboard.qc:1600
 #, c-format
 msgid "Spectators"
-msgstr ""
+msgstr "Amhairc"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1615
 #, c-format
 msgid "playing ^3%s^7 on ^2%s^7"
-msgstr ""
+msgstr "a' cluich ^3%s^7 air ^2%s^7"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1622
 #: qcsrc/client/hud/panel/scoreboard.qc:1627
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
-msgstr ""
+msgstr " fad suas ri ^1%1.0f mionaid(ean)^7"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1631
 #: qcsrc/client/hud/panel/scoreboard.qc:1650
 msgid " or"
-msgstr ""
+msgstr "no"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1634
 #: qcsrc/client/hud/panel/scoreboard.qc:1641
 #, c-format
 msgid " until ^3%s %s^7"
-msgstr ""
+msgstr " gu ruige ^3%s %s^7"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1635
 #: qcsrc/client/hud/panel/scoreboard.qc:1642
 #: qcsrc/client/hud/panel/scoreboard.qc:1654
 #: qcsrc/client/hud/panel/scoreboard.qc:1661
 msgid "SCO^points"
-msgstr ""
+msgstr "puingean"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:1636
 #: qcsrc/client/hud/panel/scoreboard.qc:1643
@@ -1034,7 +1034,7 @@ msgstr "Chan eil"
 
 #: qcsrc/client/hud/panel/weapons.qc:530
 msgid "Out of ammo"
-msgstr ""
+msgstr "Dh'fhalbh an connadh ort"
 
 #: qcsrc/client/hud/panel/weapons.qc:534
 msgid "Don't have"
@@ -1071,12 +1071,12 @@ msgstr ""
 
 #: qcsrc/client/mapvoting.qc:49
 msgid " (1 vote)"
-msgstr ""
+msgstr " (Bhòtaichean: 1)"
 
 #: qcsrc/client/mapvoting.qc:51
 #, c-format
 msgid " (%d votes)"
-msgstr ""
+msgstr " (Bhòtaichean: %d)"
 
 #: qcsrc/client/mapvoting.qc:271
 msgid "Don't care"
@@ -1306,15 +1306,15 @@ msgstr ""
 #: qcsrc/common/minigames/cl_minigames_hud.qc:331
 #: qcsrc/menu/xonotic/dialog_quit.qh:6
 msgid "Quit"
-msgstr ""
+msgstr "Fàg an-seo"
 
 #: qcsrc/common/minigames/cl_minigames_hud.qc:336
 msgid "Invite"
-msgstr ""
+msgstr "Thoir cuireadh"
 
 #: qcsrc/common/minigames/cl_minigames_hud.qc:378
 msgid "Current Game"
-msgstr ""
+msgstr "An geama làithreach"
 
 #: qcsrc/common/minigames/cl_minigames_hud.qc:403
 msgid "Exit Menu"
@@ -1323,19 +1323,19 @@ msgstr ""
 #: qcsrc/common/minigames/cl_minigames_hud.qc:415
 #: qcsrc/menu/xonotic/dialog_multiplayer.qc:16
 msgid "Create"
-msgstr ""
+msgstr "Cruthaich"
 
 #: qcsrc/common/minigames/cl_minigames_hud.qc:418
 msgid "Join"
-msgstr ""
+msgstr "Gabh pàirt ann"
 
 #: qcsrc/common/minigames/cl_minigames_hud.qc:489
 msgid "Minigames"
-msgstr ""
+msgstr "Meanbh-gheamannan"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1168
 msgid "Better luck next time!"
-msgstr ""
+msgstr "Gun rachadh nas fhearr leat an t-ath-thuras!"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1172
 msgid "Tubular! Press \"Next Level\" to continue!"
@@ -1355,84 +1355,88 @@ msgstr ""
 
 #: qcsrc/common/minigames/minigame/bd.qc:1404
 msgid "Next Level"
-msgstr ""
+msgstr "An t-ath-leibheil"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1405
 msgid "Restart"
-msgstr ""
+msgstr "Ath-thòisich"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1406
 msgid "Editor"
-msgstr ""
+msgstr "Deasaiche"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1407
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.qc:37
 msgid "Save"
-msgstr ""
+msgstr "Sàbhail"
 
 #: qcsrc/common/minigames/minigame/c4.qc:373
 #: qcsrc/common/minigames/minigame/pp.qc:438
 #: qcsrc/common/minigames/minigame/ttt.qc:319
 msgid "Draw"
-msgstr ""
+msgstr "Co-ionnann"
 
 #: qcsrc/common/minigames/minigame/c4.qc:378
 #: qcsrc/common/minigames/minigame/nmm.qc:601
 msgid "You lost the game!"
-msgstr ""
+msgstr "Chaill thu an geama!"
 
 #: qcsrc/common/minigames/minigame/c4.qc:379
 #: qcsrc/common/minigames/minigame/nmm.qc:602
 msgid "You win!"
-msgstr ""
+msgstr "Bhuannaich thu!"
 
 #: qcsrc/common/minigames/minigame/c4.qc:383
 #: qcsrc/common/minigames/minigame/nmm.qc:606
 #: qcsrc/common/minigames/minigame/pp.qc:455
 #: qcsrc/common/minigames/minigame/ttt.qc:336
 msgid "Wait for your opponent to make their move"
-msgstr ""
+msgstr "Fuirich gus an gluais an nàmhaid"
 
 #: qcsrc/common/minigames/minigame/c4.qc:386
 #: qcsrc/common/minigames/minigame/nmm.qc:608
 #: qcsrc/common/minigames/minigame/pp.qc:458
 #: qcsrc/common/minigames/minigame/ttt.qc:339
 msgid "Click on the game board to place your piece"
-msgstr ""
+msgstr "Briog air bòrd a' gheama gus am fear agad a chur ann"
 
 #: qcsrc/common/minigames/minigame/nmm.qc:610
 msgid ""
 "You can select one of your pieces to move it in one of the surrounding places"
 msgstr ""
+"'S urrainn dhut fear a thaghadh gus a ghluasad sna h-ionadan timcheall air"
 
 #: qcsrc/common/minigames/minigame/nmm.qc:612
 msgid "You can select one of your pieces to move it anywhere on the board"
 msgstr ""
+"'S urrainn dhut fear a thaghadh gus a ghluasad àite sam bith air a' bhòrd"
 
 #: qcsrc/common/minigames/minigame/nmm.qc:614
 msgid "You can take one of the opponent's pieces"
-msgstr ""
+msgstr "'S urrainn dhut fear an nàmhad a ghabhail"
 
 #: qcsrc/common/minigames/minigame/pong.qc:570
 #: qcsrc/common/minigames/minigame/ttt.qc:299
 msgid "AI"
-msgstr ""
+msgstr "IF"
 
 #: qcsrc/common/minigames/minigame/pong.qc:587
 msgid "Press ^1Start Match^7 to start the match with the current players"
 msgstr ""
+"Brùth air ^1Tòisich maidse^7 gus a' mhaidse a thòiseachadh leis na "
+"cluicheadairean làithreach"
 
 #: qcsrc/common/minigames/minigame/pong.qc:651
 msgid "Start Match"
-msgstr ""
+msgstr "Tòisich maidse"
 
 #: qcsrc/common/minigames/minigame/pong.qc:652
 msgid "Add AI player"
-msgstr ""
+msgstr "Cuir cluicheadair IF ris"
 
 #: qcsrc/common/minigames/minigame/pong.qc:653
 msgid "Remove AI player"
-msgstr ""
+msgstr "Thoir cluicheadair IF air falbh"
 
 #: qcsrc/common/minigames/minigame/pp.qc:443
 #: qcsrc/common/minigames/minigame/ttt.qc:324
@@ -1466,23 +1470,23 @@ msgstr ""
 #: qcsrc/common/minigames/minigame/ps.qc:478
 #, c-format
 msgid "Pieces left: %s"
-msgstr ""
+msgstr "Fir air am fàgail: %s"
 
 #: qcsrc/common/minigames/minigame/ps.qc:488
 msgid "No more valid moves"
-msgstr ""
+msgstr "Chan eil gluasad dligheach ann tuilleadh"
 
 #: qcsrc/common/minigames/minigame/ps.qc:491
 msgid "Well done, you win!"
-msgstr ""
+msgstr "Sin thu fhèin, bhuannaich thu!"
 
 #: qcsrc/common/minigames/minigame/ps.qc:494
 msgid "Jump a piece over another to capture it"
-msgstr ""
+msgstr "Gearr leum le fear thar fir eile gus a ghabhail"
 
 #: qcsrc/common/minigames/minigame/ttt.qc:666
 msgid "Single Player"
-msgstr ""
+msgstr "Aon-chluicheadair"
 
 #: qcsrc/common/monsters/monster/mage.qh:17
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:18
@@ -1523,7 +1527,7 @@ msgstr ""
 
 #: qcsrc/common/mutators/mutator/buffs/all.inc:15
 msgid "Ammo"
-msgstr ""
+msgstr "Connadh"
 
 #: qcsrc/common/mutators/mutator/buffs/all.inc:24
 msgid "Resistance"
@@ -1688,15 +1692,15 @@ msgstr ""
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:6
 msgid "DANGER"
-msgstr ""
+msgstr "CUNNART"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:8
 msgid "Frozen!"
-msgstr ""
+msgstr "Reòite!"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:10
 msgid "Item"
-msgstr ""
+msgstr ""
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:12
 msgid "Checkpoint"
index 30e558629665a140f4cc836067878ca68ab58c77..cc153f5aafc7d8d67f2ccb9007985e0cbe8c83da 100644 (file)
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-03-31 17:53+0000\n"
+"PO-Revision-Date: 2017-06-04 00:29+0000\n"
 "Last-Translator: Antonio <piuntn@gmail.com>\n"
 "Language-Team: Italian (http://www.transifex.com/team-xonotic/xonotic/"
 "language/it/)\n"
@@ -344,7 +344,7 @@ msgstr "ucciso bandiera, icona"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:804
 msgid "QMCMD^killed flagcarrier (l:%y^7)"
-msgstr "ucciso portatore bandiera (l:%y^7)"
+msgstr "ucciso portabandiera (l:%y^7)"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:805
 #, c-format
@@ -778,8 +778,7 @@ msgstr "^3captime^7                  Tempo della cattura più veloce (CTF)\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:319
 msgid "^3fckills^7                  Number of flag carrier kills\n"
-msgstr ""
-"^3fckills^7                  Numero di uccisioni dei portatori di bandiera\n"
+msgstr "^3fckills^7                  Numero di uccisioni dei portabandiera\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:320
 msgid "^3returns^7                  Number of flag returns\n"
@@ -811,8 +810,7 @@ msgstr ""
 
 #: qcsrc/client/hud/panel/scoreboard.qc:326
 msgid "^3kckills^7                  Number of keys carrier kills\n"
-msgstr ""
-"^3kckills^7                  Numero di uccisioni di portatori di chiavi\n"
+msgstr "^3kckills^7                  Numero di uccisioni di portachiavi\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:327
 msgid "^3losses^7                   Number of times a key was lost\n"
@@ -841,8 +839,7 @@ msgstr "^3takes^7                    Numero di punti di dominio presi (DOM)\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:333
 msgid "^3bckills^7                  Number of ball carrier kills\n"
-msgstr ""
-"^3bckills^7                  Numbero di uccisioni di portatori di palla\n"
+msgstr "^3bckills^7                  Numbero di uccisioni di portapalla\n"
 
 #: qcsrc/client/hud/panel/scoreboard.qc:334
 msgid ""
@@ -1770,7 +1767,7 @@ msgstr "Spingi"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:21
 msgid "Flag carrier"
-msgstr "Portatore bandiera"
+msgstr "Portabandiera"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:22
 msgid "Enemy carrier"
@@ -1778,7 +1775,7 @@ msgstr "Portatore nemico"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:23
 msgid "Dropped flag"
-msgstr "Bandiera persa"
+msgstr "Bandiera lasciata"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:24
 msgid "White base"
@@ -1825,7 +1822,7 @@ msgstr "Chiave lasciata"
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:42
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:43
 msgid "Key carrier"
-msgstr "Portatore chiave"
+msgstr "Portchiave"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:39
 msgid "Run here"
@@ -1838,7 +1835,7 @@ msgstr "Palla"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:46
 msgid "Ball carrier"
-msgstr "Portatore palla"
+msgstr "Portapalla"
 
 #: qcsrc/common/mutators/mutator/waypoints/all.inc:49
 msgid "Goal"
@@ -2604,7 +2601,7 @@ msgstr "^BG%s^BG ha perso il colpetto %s^BG!"
 #: qcsrc/common/notifications/all.inc:692
 #, c-format
 msgid "^BGYou dropped the %s^BG buff!"
-msgstr "^BGHai abbandonato il colpetto %s^BG!"
+msgstr "^BGHai lasciato il colpetto %s^BG!"
 
 #: qcsrc/common/notifications/all.inc:380
 #: qcsrc/common/notifications/all.inc:693
@@ -3446,8 +3443,7 @@ msgstr "^BGStallo! I nemici ora possono vederti nel radar!"
 #: qcsrc/common/notifications/all.inc:586
 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!"
+"^BGStallo! I portabandiera ora possono essere visti dai nemici nel radar!"
 
 #: qcsrc/common/notifications/all.inc:590
 #, c-format
@@ -3845,7 +3841,7 @@ msgid ""
 "Help the key carriers to meet!"
 msgstr ""
 "^BGTutte le chiavi sono in mano alla tua squadra!\n"
-"Aiuta i portatori di chiavi a incontrarsi!"
+"Aiuta i portachiavi a incontrarsi!"
 
 #: qcsrc/common/notifications/all.inc:712
 msgid ""
@@ -3861,7 +3857,7 @@ msgid ""
 "Meet the other key carriers ^F4NOW^BG!"
 msgstr ""
 "^BGTutte le chiavi sono in mano alla tua squadra!\n"
-"Incxontra gli altri portatori di chiavi ^F4ORA^BG!"
+"Incxontra gli altri portachiavi ^F4ORA^BG!"
 
 #: qcsrc/common/notifications/all.inc:714
 msgid "^F4Round will start in ^COUNT"
index e2148336546aa05157a399f5ecb90ae44a7e9006..0d0bfe8573976225811da8284d701576be00b14a 100644 (file)
@@ -3,14 +3,15 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# Kim Lee <coughingmouse@gmail.com>, 2016
+# Kuff Lee <coughingmouse@gmail.com>, 2016
+# Kuff Lee <coughingmouse@gmail.com>, 2016-2017
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-03-30 05:23+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2017-05-21 01:14+0000\n"
+"Last-Translator: Kuff Lee <coughingmouse@gmail.com>\n"
 "Language-Team: Korean (http://www.transifex.com/team-xonotic/xonotic/"
 "language/ko/)\n"
 "Language: ko\n"
@@ -55,7 +56,7 @@ msgstr "^1관전하려면 ^3%s^1을 누르세요"
 #: qcsrc/client/hud/panel/infomessages.qc:100
 #: qcsrc/menu/xonotic/keybinder.qc:40
 msgid "primary fire"
-msgstr ""
+msgstr "주공격"
 
 #: qcsrc/client/hud/panel/infomessages.qc:102
 #, c-format
@@ -65,12 +66,12 @@ msgstr "^1다음 플레이어를 보시려면 ^3%s^1를, 이전 플레이어는
 #: qcsrc/client/hud/panel/infomessages.qc:102
 #: qcsrc/client/hud/panel/infomessages.qc:106
 msgid "next weapon"
-msgstr ""
+msgstr "다음 무기"
 
 #: qcsrc/client/hud/panel/infomessages.qc:102
 #: qcsrc/client/hud/panel/infomessages.qc:106
 msgid "previous weapon"
-msgstr ""
+msgstr "이전 무기"
 
 #: qcsrc/client/hud/panel/infomessages.qc:106
 #, c-format
@@ -80,17 +81,17 @@ msgstr "^1속력을 바꾸시려면 ^3%s^1 나 ^3%s^1를 누르세요"
 #: qcsrc/client/hud/panel/infomessages.qc:108
 #, c-format
 msgid "^1Press ^3%s^1 to observe, ^3%s^1 to change camera mode"
-msgstr ""
+msgstr "^1 ^3%s^1를 눌러 관전하고, ^3%s^1를 눌러 카메라 모드를 바꾸세요"
 
 #: qcsrc/client/hud/panel/infomessages.qc:108
 #: qcsrc/common/vehicles/cl_vehicles.qc:191
 msgid "drop weapon"
-msgstr ""
+msgstr "무기 떨구기"
 
 #: qcsrc/client/hud/panel/infomessages.qc:108
 #: qcsrc/menu/xonotic/keybinder.qc:41
 msgid "secondary fire"
-msgstr ""
+msgstr "보조무기"
 
 #: qcsrc/client/hud/panel/infomessages.qc:111
 #, c-format
@@ -100,7 +101,7 @@ msgstr "^1게임 모드 정보로 보려면 ^3%s^1를 누르세요"
 #: qcsrc/client/hud/panel/infomessages.qc:111
 #: qcsrc/menu/xonotic/keybinder.qc:94
 msgid "server info"
-msgstr ""
+msgstr "서버에 대한 정보"
 
 #: qcsrc/client/hud/panel/infomessages.qc:124
 msgid "^1Match has already begun"
@@ -119,7 +120,7 @@ msgstr "^1참가하려면 ^3%s^1를 누르세요"
 #: qcsrc/client/hud/panel/infomessages.qc:128
 #: qcsrc/client/hud/panel/infomessages.qc:131
 msgid "jump"
-msgstr ""
+msgstr "뛰기"
 
 #: qcsrc/client/hud/panel/infomessages.qc:139
 #, c-format
@@ -140,7 +141,7 @@ msgstr "%s워밍업을 끝내시려면 ^3%s%s를 누르세요"
 #: qcsrc/client/hud/panel/infomessages.qc:175
 #: qcsrc/menu/xonotic/keybinder.qc:91
 msgid "ready"
-msgstr ""
+msgstr "준비"
 
 #: qcsrc/client/hud/panel/infomessages.qc:162
 #, c-format
@@ -172,15 +173,15 @@ msgstr "조정하려면 ^3%s%s를 누르세요"
 #: qcsrc/client/hud/panel/infomessages.qc:199
 #: qcsrc/menu/xonotic/keybinder.qc:102
 msgid "team menu"
-msgstr ""
+msgstr "팀 메뉴"
 
 #: qcsrc/client/hud/panel/infomessages.qc:209
 msgid "^1Spectating this player:"
-msgstr ""
+msgstr "^1이 플래이어를 관전 중 :"
 
 #: qcsrc/client/hud/panel/infomessages.qc:209
 msgid "^1Spectating you:"
-msgstr ""
+msgstr "^1당신을 관전 중 :"
 
 #: qcsrc/client/hud/panel/infomessages.qc:225
 msgid "^7Press ^3ESC ^7to show HUD options."
index dbb977da2dd8ed83f4e67227d57d55a0ba5f7e91..9361db6d4b4b95af26f266e3022f72dd50572f9e 100644 (file)
@@ -7,7 +7,8 @@
 # alex progger <tiprogrammierer.alex@gmail.com>, 2015
 # Amadeusz Sławiński <amade@asmblr.net>, 2015-2017
 # Artur Motyka <slashcraftpl@gmail.com>, 2016
-# Jakub Pędziszewski <pedziszewski@gmail.com>, 2015
+# Jakub P. <pedziszewski@gmail.com>, 2015
+# Jakub P. <pedziszewski@gmail.com>, 2015
 # John Smith <myrangd@gmail.com>, 2016
 # Kriss Chr <kriss7475@gmail.com>, 2017
 # Piotr Kozica <koza91@gmail.com>, 2016
index 30bf593019415aab302f969198a3ffd645dc9e30..82cee75fe6985fa56531f601fbef6dc728725f8b 100644 (file)
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-04-04 15:40+0000\n"
+"PO-Revision-Date: 2017-05-31 03:15+0000\n"
 "Last-Translator: Jean Trindade Pereira <jean_trindade2@hotmail.com>\n"
 "Language-Team: Portuguese (http://www.transifex.com/team-xonotic/xonotic/"
 "language/pt/)\n"
@@ -6732,7 +6732,7 @@ msgstr "Permitir que as estatísticas de jogadores usem o seu apelido"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:145
 msgid "Country"
-msgstr "País"
+msgstr "Idioma"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:159
 msgid "Gender:"
@@ -8875,7 +8875,7 @@ msgstr "Difícil"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.qc:135
 msgid "Start Singleplayer!"
-msgstr "Iniciar Um Jogador!"
+msgstr "Iniciar Campanha!"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.qh:6
 msgid "Singleplayer"
index b2d4b357b9c12d8e8d28deeb8564b2c618f8f38f..e57071b8df884a71f9e54d0c2c73bd2077ded8c9 100644 (file)
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-03-30 07:23+0200\n"
-"PO-Revision-Date: 2017-05-19 22:27+0000\n"
+"PO-Revision-Date: 2017-05-21 11:21+0000\n"
 "Last-Translator: Марко М. Костић (Marko M. Kostić) <marko.m.kostic@gmail."
 "com>\n"
 "Language-Team: Serbian (http://www.transifex.com/team-xonotic/xonotic/"
@@ -5708,7 +5708,7 @@ msgstr "Лутај"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:28
 msgid "Spawnpoint"
-msgstr "ТаÑ\87ка Ð½Ð°Ñ\81Ñ\82анка"
+msgstr "ТаÑ\87ка Ð¾Ð¶Ð¸Ð²Ñ\99аваÑ\9aа"
 
 #: qcsrc/menu/xonotic/dialog_monstertools.qc:29
 msgid "No moving"
@@ -5840,7 +5840,7 @@ msgstr "Временска граница у минутима при чијем
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:105
 #, c-format
 msgid "%d minutes"
-msgstr "%d Ð¼Ð¸Ð½Ñ\83Ñ\82и"
+msgstr "%d Ð¼Ð¸Ð½Ñ\83Ñ\82а"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:106
 msgid "TIMLIM^Default"
@@ -5961,19 +5961,19 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:207
 msgid "Add shown"
-msgstr ""
+msgstr "Додај приказано"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:208
 msgid "Add the maps shown in the list to your selection"
-msgstr ""
+msgstr "Додај мапе приказане у списку у ваш одабир"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:211
 msgid "Remove shown"
-msgstr ""
+msgstr "Уклони приказано"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:212
 msgid "Remove the maps shown in the list from your selection"
-msgstr ""
+msgstr "Уклони мапе приказане у списку из вашег одабира"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:217
 msgid "Add all"
@@ -5981,7 +5981,7 @@ msgstr "Додај све"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:218
 msgid "Add every available map to your selection"
-msgstr ""
+msgstr "Додај сваку доступну мапу у ваш одабир"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:221
 msgid "Remove all"
@@ -5989,11 +5989,11 @@ msgstr "Уклони све"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:222
 msgid "Remove all the maps from your selection"
-msgstr ""
+msgstr "Уклони све мапе из вашег одабира"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:229
 msgid "Start Multiplayer!"
-msgstr ""
+msgstr "Покрени игру са више играча!"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.qc:58
 msgid "Title:"
@@ -6076,7 +6076,7 @@ msgstr "Ниска гравитација"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:79
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:166
 msgid "Cloaked"
-msgstr "Ð\97амаÑ\81киÑ\80ани"
+msgstr "Ð\9cаÑ\81ке"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:81
 msgid "Hook"
@@ -6085,7 +6085,7 @@ msgstr "Кука"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:83
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:173
 msgid "Midair"
-msgstr "У сред скока"
+msgstr "У ваздуху"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:87
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:224
@@ -6095,7 +6095,7 @@ msgstr "Пињата"
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:89
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:229
 msgid "Weapons stay"
-msgstr ""
+msgstr "Трајна оружја"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:91
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc:184
@@ -6484,11 +6484,11 @@ msgstr "MUSICPL^Паузирај"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:69
 msgid "MUSICPL^Prev"
-msgstr "MUSICPL^Прет"
+msgstr "MUSICPL^Прет."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:72
 msgid "MUSICPL^Next"
-msgstr "MUSICPL^След"
+msgstr "MUSICPL^След."
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.qc:76
 msgid "MUSICPL^Remove"
@@ -6545,7 +6545,7 @@ msgstr "Боја одсјаја"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:106
 msgid "Detail color"
-msgstr "Ð\91оÑ\99а детаља"
+msgstr "Ð\91оÑ\98а детаља"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_profile.qc:121
 msgid "Statistics"
@@ -6761,7 +6761,7 @@ msgstr "Подешавања"
 
 #: qcsrc/menu/xonotic/dialog_settings.qh:7
 msgid "Change the game settings"
-msgstr "Промени подешавања игрице"
+msgstr "Промените подешавања игрице"
 
 #: qcsrc/menu/xonotic/dialog_settings_audio.qc:29
 msgid "Master:"
@@ -7733,7 +7733,7 @@ msgstr "Недоступна алфа:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:37
 msgid "Unavailable color:"
-msgstr "Ð\9dедоÑ\81Ñ\83Ñ\82пна боја:"
+msgstr "Ð\9dедоÑ\81Ñ\82Ñ\83пна боја:"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:39
 msgid "GHOITEMS^Black"
@@ -8093,439 +8093,451 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.qh:7
 msgid "User defined key bind"
-msgstr ""
+msgstr "Кориснички подешен тастер"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:11
 #, c-format
 msgid "%d fps"
-msgstr ""
+msgstr "%d кпс"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:12
 #, c-format
 msgid "%d KB/s"
-msgstr ""
+msgstr "%d KB/s"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:13
 #, c-format
 msgid "%d MB/s"
-msgstr ""
+msgstr "%d MB/s"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:27
 msgid "Network"
-msgstr ""
+msgstr "Мрежа"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:29
 msgid "Client UDP port:"
-msgstr ""
+msgstr "Клијентски УДП порт:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:31
 msgid "Force client to use chosen port unless it is set to 0"
 msgstr ""
+"Присили клијента да користи одабрани порт осим ако је постављен на нулу"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:34
 msgid "Bandwidth:"
-msgstr ""
+msgstr "Проток:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:36
 msgid "Specify your network speed"
-msgstr ""
+msgstr "Наведите вашу брзину интернета"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:37
 msgid "56k"
-msgstr ""
+msgstr "56к"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:38
 msgid "ISDN"
-msgstr ""
+msgstr "ИСДН"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:39
 msgid "Slow ADSL"
-msgstr ""
+msgstr "Спори АДСЛ"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:40
 msgid "Fast ADSL"
-msgstr ""
+msgstr "Брзи АДСЛ"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:41
 msgid "Broadband"
-msgstr ""
+msgstr "Широкопојасни"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:44
 msgid "Input packets/s:"
-msgstr ""
+msgstr "Улазни пакети у сек.:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:46
 msgid "How many input packets to send to the server each second"
-msgstr ""
+msgstr "Колико улазних пакета слати серверу сваке секунде"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:48
 msgid "Server queries/s:"
-msgstr ""
+msgstr "Упити ка серверу у сек.:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:52
 msgid "Downloads:"
-msgstr ""
+msgstr "Преузимања:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:54
 msgid "Maximum number of concurrent HTTP/FTP downloads"
-msgstr ""
+msgstr "Највећи број упоредних HTTP/FTP преузимања"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:56
 msgid "Download speed:"
-msgstr ""
+msgstr "Брзина преузимања:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:69
 msgid "Local latency:"
-msgstr ""
+msgstr "Локални одзив:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:73
 msgid "Show netgraph"
-msgstr ""
+msgstr "Прикажи график мреже"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:74
 msgid "Show a graph of packet sizes and other information"
-msgstr ""
+msgstr "Прикажи график величина пакета и друге податке"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:76
 msgid "Client-side movement prediction"
-msgstr ""
+msgstr "Претпостављање кретања на клијентској страни"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:78
 msgid "Movement error compensation"
-msgstr ""
+msgstr "Надокнађивање грешака у кретању"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:82
 msgid "Use encryption (AES) when available"
-msgstr ""
+msgstr "Користи шифровање (AES) када је доступно"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:85
 msgid "Framerate"
-msgstr ""
+msgstr "Број кадрова"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:87
 msgid "Maximum:"
-msgstr ""
+msgstr "Највише:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:99
 msgid "MAXFPS^Unlimited"
-msgstr ""
+msgstr "MAXFPS^Неограничено"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:102
 msgid "Target:"
-msgstr ""
+msgstr "Циљ:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:104
 msgid "TRGT^Disabled"
-msgstr ""
+msgstr "TRGT^Онемогућено"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:116
 msgid "Idle limit:"
-msgstr ""
+msgstr "Граница у мировању:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:122
 msgid "IDLFPS^Unlimited"
-msgstr ""
+msgstr "IDLFPS^Неограничено"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:126
 msgid "Save processing time for other apps"
-msgstr ""
+msgstr "Чувај процесорско време за друге програме"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:129
 msgid "Show frames per second"
-msgstr ""
+msgstr "Прикажи кадрове по секунди"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:130
 msgid "Show your rendered frames per second"
-msgstr ""
+msgstr "Прикажите ваше исцртане кадрове по секунди"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:135
 msgid "Menu tooltips:"
-msgstr ""
+msgstr "Облачићи менија"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:137
 msgid ""
 "Menu tooltips: disabled, standard or advanced (also shows cvar or console "
 "command bound to the menu item)"
 msgstr ""
+"Облачићи менија: онемогућени, уобичајени или напредни (такође приказује cvar "
+"или конзолну наредбу везану за ту ставку у менију)"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:138
 msgid "TLTIP^Disabled"
-msgstr ""
+msgstr "TLTIP^Онемогућени"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:139
 msgid "TLTIP^Standard"
-msgstr ""
+msgstr "TLTIP^Уобичајени"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:140
 msgid "TLTIP^Advanced"
-msgstr ""
+msgstr "TLTIP^Напредни"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:143
 msgid "Show current date and time"
-msgstr ""
+msgstr "Прикажи тренутно време и датум"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:144
 msgid "Show current date and time of day, useful on screenshots"
-msgstr ""
+msgstr "Прикажи тренутно време и датум, корисно за снимке екрана"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:147
 msgid "Enable developer mode"
-msgstr ""
+msgstr "Омогући програмерски режим"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:151
 msgid "Advanced settings..."
-msgstr ""
+msgstr "Напредна подешавања..."
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:152
 msgid "Advanced settings where you can tweak every single variable of the game"
 msgstr ""
+"Напредна подешавања где можете наместити сваку променљиву у игри понаособ"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc.qc:157
 #: qcsrc/menu/xonotic/dialog_settings_misc_reset.qh:6
 msgid "Factory reset"
-msgstr ""
+msgstr "Врати на фабричка подешавања"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:31
 msgid "Cvar filter:"
-msgstr ""
+msgstr "Cvar филтер:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:38
 msgid "Modified cvars only"
-msgstr ""
+msgstr "Само измењени cvar-ови"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:45
 msgid "Setting:"
-msgstr ""
+msgstr "Подешавање:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:49
 msgid "Type:"
-msgstr ""
+msgstr "Врста:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:53
 msgid "Value:"
-msgstr ""
+msgstr "Вредност:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc:70
 msgid "Description:"
-msgstr ""
+msgstr "Опис:"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.qh:7
 msgid "Advanced settings"
-msgstr ""
+msgstr "Напредна подешавања"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_reset.qc:11
 msgid "Are you sure you want to reset all settings?"
-msgstr ""
+msgstr "Да ли сте сигурни да желите вратити сва подешавања на фабричка?"
 
 #: qcsrc/menu/xonotic/dialog_settings_misc_reset.qc:13
 msgid "This will create a backup config in your data directory"
-msgstr ""
+msgstr "Ово ће направити резервну конфигурацију у вашој фасцикли са подацима"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.qc:25
 msgid "Menu Skins"
-msgstr ""
+msgstr "Омоти менија"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.qc:64
 msgid "Text Language"
-msgstr ""
+msgstr "Jeзик текста"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.qc:69
 msgid "Set language"
-msgstr ""
+msgstr "Постави језик"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.qc:74
 msgid "Disable gore effects and harsh language"
-msgstr ""
+msgstr "Онемогући крваве ефекте и непристојан језик"
 
 #: qcsrc/menu/xonotic/dialog_settings_user.qc:75
 msgid ""
 "Replace blood and gibs with content that does not have any gore effects "
 "(default: disabled)"
 msgstr ""
+"Замењује крв и кости са садржајем који није крвав (подразумевано: "
+"онемогућено)"
 
 #: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.qc:10
 msgid "While connected language changes will be applied only to the menu,"
-msgstr ""
+msgstr "Промене језика ће се применити само на мени док сте повезани,"
 
 #: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.qc:12
 msgid "full language changes will take effect starting from the next game"
-msgstr ""
+msgstr "пуна промена језика ће ступити на снагу при следећем покретању игрице"
 
 #: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.qc:16
 msgid "Disconnect now"
-msgstr ""
+msgstr "Откачи ме сада"
 
 #: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.qc:17
 msgid "Switch language"
-msgstr ""
+msgstr "Промени језик"
 
 #: qcsrc/menu/xonotic/dialog_settings_user_languagewarning.qh:6
 msgid "Warning"
-msgstr ""
+msgstr "Упозорење"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:33
 msgid "Resolution:"
-msgstr ""
+msgstr "Резолуција:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:37
 msgid "Font/UI size:"
-msgstr ""
+msgstr "Величина УИ-ја и фонта"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:39
 msgid "SZ^Unreadable"
-msgstr ""
+msgstr "SZ^Нечитљива"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:40
 msgid "SZ^Tiny"
-msgstr ""
+msgstr "SZ^Сићушна"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:41
 msgid "SZ^Little"
-msgstr ""
+msgstr "SZ^Малена"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:42
 msgid "SZ^Small"
-msgstr ""
+msgstr "SZ^Мала"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:43
 msgid "SZ^Medium"
-msgstr ""
+msgstr "SZ^Средња"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:44
 msgid "SZ^Large"
-msgstr ""
+msgstr "SZ^Велика"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:45
 msgid "SZ^Huge"
-msgstr ""
+msgstr "SZ^Огромна"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:46
 msgid "SZ^Gigantic"
-msgstr ""
+msgstr "SZ^Џиновска"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:47
 msgid "SZ^Colossal"
-msgstr ""
+msgstr "SZ^Колосална"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:51
 msgid "Color depth:"
-msgstr ""
+msgstr "Дубина боје:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:53
 msgid "How many bits per pixel (BPP) to render at, 32 is recommended"
-msgstr ""
+msgstr "Колико битова по пикселу (BPP) исцртавати, препоручено је 32"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:54
 msgid "16bit"
-msgstr ""
+msgstr "16 бита"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:55
 msgid "32bit"
-msgstr ""
+msgstr "32 бита"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:59
 msgid "Full screen"
-msgstr ""
+msgstr "Преко целог екрана"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:61
 msgid "Vertical Synchronization"
-msgstr ""
+msgstr "Усправно синхронизовање"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:62
 msgid ""
 "Enable vertical synchronization to prevent tearing, will cap your fps to the "
 "screen refresh rate (default: disabled)"
 msgstr ""
+"Омогући усправно синхронизовање да би се спречило цепање, ограничиће број "
+"кадрова по секунди на стопу освежавања екрана (подразумевано: онемогућено)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:67
 msgid "Flip view horizontally"
-msgstr ""
+msgstr "Обрни поглед водоравно"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:68
 msgid "Poor man's left handed mode (default: off)"
-msgstr ""
+msgstr "Сиромашни режим за леворуке (подразумевано: искључен)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:71
 msgid "Anisotropy:"
-msgstr ""
+msgstr "Анизотроповање:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:73
 msgid "Anisotropic filtering quality (default: 1x)"
-msgstr ""
+msgstr "Квалитет анизотропског филтрирања (подразумевано: пута 1)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:74
 msgid "ANISO^Disabled"
-msgstr ""
+msgstr "ANISO^Онемогућено"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:75
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:86
 msgid "2x"
-msgstr ""
+msgstr "пута 2"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:76
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:87
 msgid "4x"
-msgstr ""
+msgstr "пута 4"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:77
 msgid "8x"
-msgstr ""
+msgstr "пута 8"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:78
 msgid "16x"
-msgstr ""
+msgstr "пута 16"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:81
 msgid "Antialiasing:"
-msgstr ""
+msgstr "Антиалијасовање:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:84
 msgid ""
 "Enable antialiasing, which smooths the edges of 3D geometry. Note that it "
 "might decrease performance by quite a lot (default: disabled)"
 msgstr ""
+"Омогућава антиалијасовање које изглађује 3Д геометријске ивице. Знајте да "
+"ово може смањити перформансе осетно (подразумевано: искључено)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:85
 msgid "AA^Disabled"
-msgstr ""
+msgstr "AA^Искључено"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:92
 msgid "High-quality frame buffer"
-msgstr ""
+msgstr "Високо квалитетна остава кадрова"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:97
 msgid "Depth first:"
-msgstr ""
+msgstr "Прво дубина:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:99
 msgid ""
 "Eliminate overdraw by rendering a depth-only version of the scene before the "
 "normal rendering starts (default: disabled)"
 msgstr ""
+"Спречи прецртавање исцртавањем варијанте сцене са дубином само пре него што "
+"обично исцртавање крене (подразумевано: искључено)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:100
 msgid "DF^Disabled"
-msgstr ""
+msgstr "DF^Искључено"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:101
 msgid "DF^World"
-msgstr ""
+msgstr "DF^Свет"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:102
 msgid "DF^All"
-msgstr ""
+msgstr "DF^Свет"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:105
 msgid "Vertex Buffer Objects (VBOs)"
-msgstr ""
+msgstr "Остава објеката темена (VBO-ови)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:108
 msgid "VBO^Off"
-msgstr ""
+msgstr "VBO^Искључена"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:109
 msgid "Vertices, some Tris (compatible)"
-msgstr ""
+msgstr "Темена, неки троуглови (подударно)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:110
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:114
@@ -8534,22 +8546,25 @@ msgid ""
 "Make use of Vertex Buffer Objects to store static geometry in video memory "
 "for faster rendering (default: Vertex and Triangles)"
 msgstr ""
+"Искористи оставу објеката темена да би ускладиштио статичке геометријске "
+"податке у видео меморији зарад бржег исцртавања (подразумевано: темена и "
+"троуглови)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:113
 msgid "Vertices"
-msgstr ""
+msgstr "Темена"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:115
 msgid "Vertices and Triangles"
-msgstr ""
+msgstr "Темена и троуглови"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:119
 msgid "Brightness:"
-msgstr ""
+msgstr "Бистрина:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:121
 msgid "Brightness of black (default: 0)"
-msgstr ""
+msgstr "Бистрина црне (подразумевано: 0)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:123
 msgid "Contrast:"
@@ -8557,45 +8572,51 @@ msgstr "Контраст:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:125
 msgid "Brightness of white (default: 1)"
-msgstr ""
+msgstr "Бистрина беле (подразумевано: 1)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:127
 msgid "Gamma:"
-msgstr ""
+msgstr "Гама:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:130
 msgid ""
 "Inverse gamma correction value, a brightness effect that does not affect "
 "white or black (default: 1.125)"
 msgstr ""
+"Вредност обрнутог исправљања гаме, ефекат бистрине који не делује на црну  "
+"или белу (подразумевано: 1.125)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:133
 msgid "Contrast boost:"
-msgstr ""
+msgstr "Појачање контраста:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:136
 msgid "By how much to multiply the contrast in dark areas (default: 1)"
-msgstr ""
+msgstr "За колико помножити контраст у мрачним деловима (подразумевано: 1)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:139
 msgid "Saturation:"
-msgstr ""
+msgstr "Засићење:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:142
 msgid ""
 "Saturation adjustment (0 = grayscale, 1 = normal, 2 = oversaturated), "
 "requires GLSL color control (default: 1)"
 msgstr ""
+"Прилагођавање засићења (0 = црно-бело, 1 = обично, 2 = презасићено,  захтева "
+"GLSL контролу боје (подразумевано: 1)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:146
 msgid "LIT^Ambient:"
-msgstr ""
+msgstr "LIT^Окружење:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:148
 msgid ""
 "Ambient lighting, if set too high it tends to make light on maps look dull "
 "and flat (default: 4)"
 msgstr ""
+"Осветљење окружења, висока вредност уме да учини осветљење на мапама да "
+"делује досатно и равно (подразумевано: 4)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:150
 msgid "Intensity:"
@@ -8603,39 +8624,44 @@ msgstr "Јачина:"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:152
 msgid "Global rendering brightness (default: 1)"
-msgstr ""
+msgstr "Општа бистрина исцртавања (подразумевано: 1)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:155
 msgid "Wait for GPU to finish each frame"
-msgstr ""
+msgstr "Сачекај да графичка обради сваки кадар"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:156
 msgid ""
 "Make the CPU wait for the GPU to finish each frame, can help with some "
 "strange input or video lag on some machines (default: disabled)"
 msgstr ""
+"Чини да процесор чека на графичку да обради сваки кадар, може помоћи са "
+"неким чудним улазом или успорењем видеа на неким машинама (подразумевано: "
+"искључено)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:158
 msgid "Use OpenGL 2.0 shaders (GLSL)"
-msgstr ""
+msgstr "Користи OpenGL 2.0 нијансере (GLSL)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:162
 msgid "Use GLSL to handle color control"
-msgstr ""
+msgstr "Користи GLSL за управљање контролом боје"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:163
 msgid ""
 "Enable use of GLSL to apply gamma correction, note that it might decrease "
 "performance by a lot (default: disabled)"
 msgstr ""
+"Омогући коришћење GLSL-а за примену исправљања гаме, знајте да ово може "
+"знатно умањити перформансе (подразумевано: искључено)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:168
 msgid "Psycho coloring (easter egg)"
-msgstr ""
+msgstr "Психо бојење (ускршње јаје)"
 
 #: qcsrc/menu/xonotic/dialog_settings_video.qc:171
 msgid "Trippy vertices (easter egg)"
-msgstr ""
+msgstr "Трипозна темена (ускршње јаје)"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.qc:110
 msgid "Instant action! (random map with bots)"
@@ -8643,7 +8669,7 @@ msgstr "Тренутна акција! (насумична мапа са бот
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.qc:117
 msgid "???"
-msgstr ""
+msgstr "???"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.qc:130
 msgid "Campaign Difficulty:"
@@ -8671,7 +8697,7 @@ msgstr "Један играч"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer.qh:7
 msgid "Play the singleplayer campaign or instant action matches against bots"
-msgstr ""
+msgstr "Играјте поход за једног играча или брзу игру против ботова"
 
 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.qh:7
 msgid "Winner"
@@ -8679,11 +8705,11 @@ msgstr "Победник"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qc:32
 msgid "join 'best' team (auto-select)"
-msgstr ""
+msgstr "приступи „најбољој“ екипи (ауто-одабир)"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qc:33
 msgid "Autoselect team (recommended)"
-msgstr ""
+msgstr "Самостално изабери екипу (препоручено)"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qc:37
 msgid "red"
@@ -8695,11 +8721,11 @@ msgstr "плава"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qc:39
 msgid "yellow"
-msgstr ""
+msgstr "жута"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qc:40
 msgid "pink"
-msgstr ""
+msgstr "розе"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qc:43
 msgid "spectate"
@@ -8707,199 +8733,202 @@ msgstr "посматрај"
 
 #: qcsrc/menu/xonotic/dialog_teamselect.qh:7
 msgid "Team Selection"
-msgstr ""
+msgstr "Одабир екипе"
 
 #: qcsrc/menu/xonotic/dialog_uid2name.qc:10
 msgid "Allow player statistics to use your nickname?"
-msgstr ""
+msgstr "Омогућити играчким статистикама да користе ваш надимак?"
 
 #: qcsrc/menu/xonotic/dialog_uid2name.qc:12
 msgid "Answering \"No\" you will appear as \"Anonymous player\""
-msgstr ""
+msgstr "Давањем одговора „Не“ ће учинити да се појавите као „Анонимни играч“"
 
 #: qcsrc/menu/xonotic/gametypelist.qc:86
 msgid "teamplay"
-msgstr ""
+msgstr "екипна игра"
 
 #: qcsrc/menu/xonotic/gametypelist.qc:88
 msgid "free for all"
-msgstr ""
+msgstr "слободно за све"
 
 #: qcsrc/menu/xonotic/keybinder.qc:29
 msgid "Moving"
-msgstr ""
+msgstr "Кретање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:30
 msgid "forward"
-msgstr ""
+msgstr "напред"
 
 #: qcsrc/menu/xonotic/keybinder.qc:31
 msgid "backpedal"
-msgstr ""
+msgstr "одступање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:32
 msgid "strafe left"
-msgstr ""
+msgstr "лево"
 
 #: qcsrc/menu/xonotic/keybinder.qc:33
 msgid "strafe right"
-msgstr ""
+msgstr "десно"
 
 #: qcsrc/menu/xonotic/keybinder.qc:34
 msgid "jump / swim"
-msgstr ""
+msgstr "скок и пливање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:35
 msgid "crouch / sink"
-msgstr ""
+msgstr "чучање и тоњење"
 
 #: qcsrc/menu/xonotic/keybinder.qc:36
 msgid "off-hand hook"
-msgstr ""
+msgstr "кука у другој шаци"
 
 #: qcsrc/menu/xonotic/keybinder.qc:37
 msgid "jet pack"
-msgstr ""
+msgstr "ракетни појас"
 
 #: qcsrc/menu/xonotic/keybinder.qc:39
 msgid "Attacking"
-msgstr ""
+msgstr "Нападање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:44
 msgid "WEAPON^previous"
-msgstr ""
+msgstr "WEAPON^претходно"
 
 #: qcsrc/menu/xonotic/keybinder.qc:45
 msgid "WEAPON^next"
-msgstr ""
+msgstr "WEAPON^следеће"
 
 #: qcsrc/menu/xonotic/keybinder.qc:46
 msgid "WEAPON^previously used"
-msgstr ""
+msgstr "WEAPON^претходно коришћено"
 
 #: qcsrc/menu/xonotic/keybinder.qc:47
 msgid "WEAPON^best"
-msgstr ""
+msgstr "WEAPON^најбоље"
 
 #: qcsrc/menu/xonotic/keybinder.qc:48
 msgid "reload"
-msgstr ""
+msgstr "напуни"
 
 #: qcsrc/menu/xonotic/keybinder.qc:49
 msgid "drop weapon / throw nade"
-msgstr ""
+msgstr "баци оружје или гранату"
 
 #: qcsrc/menu/xonotic/keybinder.qc:77
 msgid "hold zoom"
-msgstr ""
+msgstr "држи нишан"
 
 #: qcsrc/menu/xonotic/keybinder.qc:78
 msgid "toggle zoom"
-msgstr ""
+msgstr "подигни или спусти нишан"
 
 #: qcsrc/menu/xonotic/keybinder.qc:79
 msgid "show scores"
-msgstr ""
+msgstr "прикажи резултате"
 
 #: qcsrc/menu/xonotic/keybinder.qc:80
 msgid "screen shot"
-msgstr ""
+msgstr "снимак екрана"
 
 #: qcsrc/menu/xonotic/keybinder.qc:81
 msgid "maximize radar"
-msgstr ""
+msgstr "увећај радар"
 
 #: qcsrc/menu/xonotic/keybinder.qc:82
 msgid "3rd person view"
-msgstr ""
+msgstr "поглед из трећег лица"
 
 #: qcsrc/menu/xonotic/keybinder.qc:83
 msgid "enter spectator mode"
-msgstr ""
+msgstr "уђи у режим праћења"
 
 #: qcsrc/menu/xonotic/keybinder.qc:85
 msgid "Communicate"
-msgstr ""
+msgstr "Разговарање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:86
 msgid "public chat"
-msgstr ""
+msgstr "јавно ћаскање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:87 qcsrc/menu/xonotic/keybinder.qc:100
 msgid "team chat"
-msgstr ""
+msgstr "екипно ћаскање"
 
 #: qcsrc/menu/xonotic/keybinder.qc:88
 msgid "show chat history"
-msgstr ""
+msgstr "прикажи историјат ћаскања"
 
 #: qcsrc/menu/xonotic/keybinder.qc:89
 msgid "vote YES"
-msgstr ""
+msgstr "гласај ЗА"
 
 #: qcsrc/menu/xonotic/keybinder.qc:90
 msgid "vote NO"
-msgstr ""
+msgstr "гласај ПРОТИВ"
 
 #: qcsrc/menu/xonotic/keybinder.qc:93
 msgid "Client"
-msgstr ""
+msgstr "Клијент"
 
 #: qcsrc/menu/xonotic/keybinder.qc:95
 msgid "enter console"
-msgstr ""
+msgstr "уђи у конзолу"
 
 #: qcsrc/menu/xonotic/keybinder.qc:96
 msgid "disconnect"
-msgstr ""
+msgstr "откачи се"
 
 #: qcsrc/menu/xonotic/keybinder.qc:97
 msgid "quit"
-msgstr ""
+msgstr "изађи"
 
 #: qcsrc/menu/xonotic/keybinder.qc:101
 msgid "auto-join team"
-msgstr ""
+msgstr "ауто-приступи екипи"
 
 #: qcsrc/menu/xonotic/keybinder.qc:103
 msgid "drop key / drop flag"
-msgstr ""
+msgstr "баци кључ или заставу"
 
 #: qcsrc/menu/xonotic/keybinder.qc:106
 msgid "quick menu"
-msgstr ""
+msgstr "брзи мени"
 
 #: qcsrc/menu/xonotic/keybinder.qc:107
 msgid "sandbox menu"
-msgstr ""
+msgstr "сендбокс мени"
 
 #: qcsrc/menu/xonotic/keybinder.qc:108
 msgid "drag object"
-msgstr ""
+msgstr "вуци објекат"
 
 #: qcsrc/menu/xonotic/keybinder.qc:110
 msgid "User defined"
-msgstr ""
+msgstr "Кориснички подешено"
 
 #: qcsrc/menu/xonotic/mainwindow.qc:64 qcsrc/menu/xonotic/mainwindow.qc:67
 msgid "Do not press this button again!"
-msgstr ""
+msgstr "Не притискај овај тастер више!"
 
 #: qcsrc/menu/xonotic/maplist.qc:291
 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.qc:299
 #, c-format
 msgid "%s's Xonotic Server"
-msgstr ""
+msgstr "Зонотик сервер играча %s"
 
 #: qcsrc/menu/xonotic/maplist.qc:304
 msgid ""
 "Huh? Can't play this (invalid game type). Refiltering so this won't happen "
 "again.\n"
 msgstr ""
+"Уф? Не могу играти ово (неисправна врста игре). Поново филтрирам да се не би "
+"поновило.\n"
 
 #: qcsrc/menu/xonotic/playerlist.qc:100 qcsrc/menu/xonotic/playerlist.qc:110
 msgid "spectator"
@@ -8907,17 +8936,17 @@ msgstr "пратилац"
 
 #: qcsrc/menu/xonotic/playermodel.qc:170
 msgid "<no model found>"
-msgstr ""
+msgstr "<модел није нађен>"
 
 #: qcsrc/menu/xonotic/serverlist.qc:273
 msgid "Favorite"
-msgstr ""
+msgstr "Омиљен"
 
 #: qcsrc/menu/xonotic/serverlist.qc:274
 msgid ""
 "Bookmark the currently highlighted server so that it's faster to find in the "
 "future"
-msgstr ""
+msgstr "Обележи тренутно одабрани сервер тако да га убудуће можеш лакше наћи"
 
 #: qcsrc/menu/xonotic/serverlist.qc:763
 msgid "Ping"
@@ -8925,7 +8954,7 @@ msgstr "Пинг"
 
 #: qcsrc/menu/xonotic/serverlist.qc:764
 msgid "Hostname"
-msgstr ""
+msgstr "Име домаћина"
 
 #: qcsrc/menu/xonotic/serverlist.qc:765
 msgid "Map"
@@ -8938,70 +8967,70 @@ msgstr "Врста"
 #: qcsrc/menu/xonotic/serverlist.qc:1060
 #, c-format
 msgid "AES level %d"
-msgstr ""
+msgstr "AES ниво %d"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1060
 msgid "ENC^none"
-msgstr ""
+msgstr "ENC^ништа"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1060
 msgid "encryption:"
-msgstr ""
+msgstr "шифровање:"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1061
 #, c-format
 msgid "mod: %s"
-msgstr ""
+msgstr "мод: %s"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1063
 #, c-format
 msgid "modified settings"
-msgstr ""
+msgstr "измењена подешавања"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1063
 #, c-format
 msgid "official settings"
-msgstr ""
+msgstr "званична подешавања"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1065
 msgid "stats disabled"
-msgstr ""
+msgstr "статистика онемогућена"
 
 #: qcsrc/menu/xonotic/serverlist.qc:1065
 msgid "stats enabled"
-msgstr ""
+msgstr "статистика омогућена"
 
 #: qcsrc/menu/xonotic/serverlist.qh:151
 msgid "SLCAT^Favorites"
-msgstr ""
+msgstr "SLCAT^Омиљени"
 
 #: qcsrc/menu/xonotic/serverlist.qh:152
 msgid "SLCAT^Recommended"
-msgstr ""
+msgstr "SLCAT^Препоручени"
 
 #: qcsrc/menu/xonotic/serverlist.qh:153
 msgid "SLCAT^Normal Servers"
-msgstr ""
+msgstr "SLCAT^Обични сервери"
 
 #: qcsrc/menu/xonotic/serverlist.qh:154
 msgid "SLCAT^Servers"
-msgstr ""
+msgstr "SLCAT^Сервери"
 
 #: qcsrc/menu/xonotic/serverlist.qh:155
 msgid "SLCAT^Competitive Mode"
-msgstr ""
+msgstr "SLCAT^Такмичарски режим"
 
 #: qcsrc/menu/xonotic/serverlist.qh:156
 msgid "SLCAT^Modified Servers"
-msgstr ""
+msgstr "SLCAT^Измењени сервери"
 
 #: qcsrc/menu/xonotic/serverlist.qh:157
 msgid "SLCAT^Overkill"
-msgstr ""
+msgstr "SLCAT^Прејако"
 
 #: qcsrc/menu/xonotic/serverlist.qh:158
 msgid "SLCAT^InstaGib"
-msgstr ""
+msgstr "SLCAT^Инстагиб"
 
 #: qcsrc/menu/xonotic/serverlist.qh:159
 msgid "SLCAT^Defrag Mode"
@@ -9009,11 +9038,11 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/skinlist.qc:70
 msgid "<TITLE>"
-msgstr ""
+msgstr "<НАСЛОВ>"
 
 #: qcsrc/menu/xonotic/skinlist.qc:71
 msgid "<AUTHOR>"
-msgstr ""
+msgstr "<ТВОРАЦ>"
 
 #: qcsrc/menu/xonotic/slider_decibels.qc:72
 msgid "VOL^MAX"
@@ -9033,35 +9062,37 @@ msgid ""
 "Multiplier for amount of particles. Less means less particles, which in turn "
 "gives for better performance (default: 1)"
 msgstr ""
+"Множилац за количину честица. Мање значи мање честица што заузврат даје боље "
+"перформансе (подразумевано: 1)"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:14
 msgid "PART^OMG"
-msgstr ""
+msgstr "PART^НЕВИЂЕН"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:15
 msgid "PART^Low"
-msgstr ""
+msgstr "PART^Низак"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:16
 msgid "PART^Medium"
-msgstr ""
+msgstr "PART^Средњи"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:17
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:14
 msgid "PART^Normal"
-msgstr ""
+msgstr "PART^Обичан"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:18
 msgid "PART^High"
-msgstr ""
+msgstr "PART^Висок"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:19
 msgid "PART^Ultra"
-msgstr ""
+msgstr "PART^Ултра"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:20
 msgid "PART^Ultimate"
-msgstr ""
+msgstr "PART^Ултимативни"
 
 #: qcsrc/menu/xonotic/slider_picmip.qc:13
 msgid ""
@@ -9072,88 +9103,88 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/slider_resolution.qc:115
 msgid "Screen resolution"
-msgstr ""
+msgstr "Резолуција екрана"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:13
 msgid "PART^Slow"
-msgstr ""
+msgstr "PART^Споро"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:15
 msgid "PART^Fast"
-msgstr ""
+msgstr "PART^Брзо"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:16
 msgid "PART^Instant"
-msgstr ""
+msgstr "PART^Тренутно"
 
 #: qcsrc/menu/xonotic/statslist.qc:29
 msgid "January"
-msgstr ""
+msgstr "Јануар"
 
 #: qcsrc/menu/xonotic/statslist.qc:30
 msgid "February"
-msgstr ""
+msgstr "Фебруар"
 
 #: qcsrc/menu/xonotic/statslist.qc:31
 msgid "March"
-msgstr ""
+msgstr "Март"
 
 #: qcsrc/menu/xonotic/statslist.qc:32
 msgid "April"
-msgstr ""
+msgstr "Април"
 
 #: qcsrc/menu/xonotic/statslist.qc:33
 msgid "May"
-msgstr ""
+msgstr "Мај"
 
 #: qcsrc/menu/xonotic/statslist.qc:34
 msgid "June"
-msgstr ""
+msgstr "Јун"
 
 #: qcsrc/menu/xonotic/statslist.qc:35
 msgid "July"
-msgstr ""
+msgstr "Јул"
 
 #: qcsrc/menu/xonotic/statslist.qc:36
 msgid "August"
-msgstr ""
+msgstr "Август"
 
 #: qcsrc/menu/xonotic/statslist.qc:37
 msgid "September"
-msgstr ""
+msgstr "Септембар"
 
 #: qcsrc/menu/xonotic/statslist.qc:38
 msgid "October"
-msgstr ""
+msgstr "Октобар"
 
 #: qcsrc/menu/xonotic/statslist.qc:39
 msgid "November"
-msgstr ""
+msgstr "Новембар"
 
 #: qcsrc/menu/xonotic/statslist.qc:40
 msgid "December"
-msgstr ""
+msgstr "Децембар"
 
 #: qcsrc/menu/xonotic/statslist.qc:96
 msgid "Joined:"
-msgstr ""
+msgstr "Приступио:"
 
 #: qcsrc/menu/xonotic/statslist.qc:103
 msgid "Last_Seen:"
-msgstr ""
+msgstr "Последњи_пут_виђен:"
 
 #: qcsrc/menu/xonotic/statslist.qc:110
 msgid "Time_Played:"
-msgstr ""
+msgstr "Време_играња:"
 
 #: qcsrc/menu/xonotic/statslist.qc:117
 msgid "Favorite_Map:"
-msgstr ""
+msgstr "Омиљена_мапа:"
 
 #: qcsrc/menu/xonotic/statslist.qc:201 qcsrc/menu/xonotic/statslist.qc:245
 #, c-format
 msgid "%s_Matches:"
-msgstr ""
+msgstr "%s_Игара:"
 
 #: qcsrc/menu/xonotic/statslist.qc:208
 #, c-format
@@ -9163,7 +9194,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/statslist.qc:215
 #, c-format
 msgid "%s_Rank:"
-msgstr ""
+msgstr "%s_Ранг:"
 
 #: qcsrc/menu/xonotic/statslist.qc:222
 #, c-format
@@ -9173,12 +9204,12 @@ msgstr ""
 #: qcsrc/menu/xonotic/statslist.qc:231
 #, c-format
 msgid "%s_Favorite_Map:"
-msgstr ""
+msgstr "%s_Омиљена_мапа:"
 
 #: qcsrc/menu/xonotic/statslist.qc:246
 #, c-format
 msgid "%d (unranked)"
-msgstr ""
+msgstr "%d (нерангиран)"
 
 #: qcsrc/menu/xonotic/util.qc:417
 #, c-format
@@ -9186,6 +9217,8 @@ msgid ""
 "Update can be downloaded at:\n"
 "%s\n"
 msgstr ""
+"Исправка се може преузети са:\n"
+"%s\n"
 
 #: qcsrc/menu/xonotic/util.qc:528
 msgid "Autogenerating mapinfo for newly added maps..."
@@ -9199,7 +9232,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/util.qc:577
 #, c-format
 msgid "Update to %s now!"
-msgstr ""
+msgstr "Надоградите се на %s сада!"
 
 #: qcsrc/menu/xonotic/util.qc:662
 msgid ""
index 33ec16e4e31d1db0e15a1609dab3830ac49444fe..2b431e8fe3a9436e9c7166acc0b848db6a31b6ac 100644 (file)
@@ -321,7 +321,7 @@ seta sv_spectate 1 "if set to 1, new clients are allowed to spectate or observe
 seta sv_defaultcharacter 0 "master switch, if set to 1 the further configuration for replacing all player models, skins and colors is taken from the sv_defaultplayermodel, sv_defaultplayerskin and sv_defaultplayercolors variables"
 seta sv_defaultcharacterskin 0 "if set to 1 the further configuration for replacing all skins is taken from the sv_defaultplayerskin variables"
 seta sv_defaultplayermodel "models/player/erebus.iqm" "default model selection, only works if sv_defaultcharacter is set to 1; you may append a :<skinnumber> suffix to model names; you can specify multiple, separated by space, and a random one will be chosen"
-seta sv_defaultplayerskin 0 "each model has 1 or more skins (combination of model and skin = character), set which skin of the model you wish the default character to have, only works if sv_defaultcharacter is set to 1; can be overriden by :<skinnumber> suffix in sv_defaultplayermodel"
+seta sv_defaultplayerskin 0 "each model has 1 or more skins (combination of model and skin = character), set which skin of the model you wish the default character to have, only works if sv_defaultcharacter is set to 1; can be overridden by :<skinnumber> suffix in sv_defaultplayermodel"
 seta sv_defaultplayermodel_red ""      "\"\" means see sv_defaultplayermodel"
 seta sv_defaultplayerskin_red 0
 seta sv_defaultplayermodel_blue "" "\"\" means see sv_defaultplayermodel"
@@ -788,12 +788,11 @@ alias "g_waypointsprite_team_danger_d"    "impulse 39"
 alias "g_waypointsprite_clear_personal"        "impulse 47"
 alias "g_waypointsprite_clear" "impulse 48"
 alias "g_waypointsprite_toggle"        "toggle cl_hidewaypoints"
-// key for that?
+
 seta cl_hidewaypoints 0 "disable static waypoints, only show team waypoints"
 
 seta g_waypointsprite_turrets 1 "disable turret waypoints"
-seta g_waypointsprite_turrets_maxdist 5000 "max distace for turret sprites"
-seta g_waypointsprite_tactical 1 "tactical overlay on turrets when in a vehicle"
+seta g_waypointsprite_turrets_maxdist 5000 "max distance for turret waypoints"
 
 seta cl_damagetext "1" "Draw damage dealt where you hit the enemy"
 seta cl_damagetext_format "-{total}" "How to format the damage text. {health}, {armor}, {total}, {potential}: full damage not capped to target's health, {potential_health}: health damage not capped to target's health"
@@ -1152,7 +1151,7 @@ seta sv_gentle 0          "force gentle mode for everyone, also remove references to act
 seta cl_gentle 0               "client side gentle mode, master switch for removing both gibs and messages"
 seta cl_gentle_gibs 0          "client side gentle mode (only replaces gibs); when set to 1, white smoke replaces gibs, when set to 2, colorful clouds replace gibs"
 seta cl_gentle_messages 0      "client side gentle mode (only replaces frag messages/centerprints)"
-seta cl_gentle_damage 0                "client side gentle mode (only replaces damage flash); when set to 1, a white flash replaces the blood image, when set to 2, a randomily colored flash is used instead"
+seta cl_gentle_damage 0        "client side gentle mode (only replaces damage flash); when set to 1, a white flash replaces the blood image, when set to 2, a randomly colored flash is used instead"
 
 set g_jetpack 0 "Jetpack mutator"
 
@@ -1236,7 +1235,7 @@ seta cl_forceplayercolors 0 "make enemies look like your own color (requires ser
 seta cl_forcemyplayermodel "" "set to the model file name you want to show yourself as (does not affect how enemies look with cl_forceplayermodels)"
 seta cl_forcemyplayerskin 0 "set to the skin number you want to show yourself as (does not affect how enemies look with cl_forceplayermodels)"
 seta cl_forcemyplayercolors 0 "set to the color value (encoding is same as _cl_color) for your own player model (ignored in teamplay; does not affect how enemies look with cl_forceplayermodels)"
-seta cl_movement_errorcompensation 1 "try to compensate for prediction errors and reduce preceived lag"
+seta cl_movement_errorcompensation 1 "try to compensate for prediction errors and reduce perceived lag"
 seta cl_movement_intermissionrunning 0 "keep velocity after the match ends, players may appear to continue running while stationary"
 
 // campaign internal, set when loading a campaign map1G
@@ -1498,7 +1497,7 @@ seta cl_ghost_items_color "-1 -1 -1" "color of ghosted items, 0 0 0 leaves the c
 set sv_simple_items 1 "allow or forbid client use of simple items"
 seta cl_simple_items 0 "enable simple items (if server allows)"
 set cl_simpleitems_postfix "_luma" "posfix to add fo model name when simple items are enabled"
-set cl_fullbright_items 0 "enable fullbright items (if server allows, controled by g_fullbrightitems)"
+set cl_fullbright_items 0 "enable fullbright items (if server allows, controlled 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"
 
index 643fd9b903747649b8a685f8abdebb2ba4d36fe8..c88e0246f93c519ca0633963109dc58fc5572e4c 100644 (file)
@@ -3,7 +3,7 @@ de    German "Deutsch" 100%
 de_CH German "Deutsch (Schweiz)" 100%
 en    English "English"
 en_AU English "English (Australia)" 86%
-es    Spanish "Español" 88%
+es    Spanish "Español" 100%
 fr    French "Français" 100%
 it    Italian "Italiano" 100%
 hu    Hungarian "Magyar" 55%
@@ -11,11 +11,11 @@ nl    Dutch "Nederlands" 70%
 pl    Polish "Polski" 80%
 pt    Portuguese "Português" 100%
 ro    Romanian "Romana" 84%
-sr    Serbian "Српски" 58%
 fi    Finnish "Suomi" 33%
 zh_TW "Chinese (Taiwan)" "國語" 68%
 el    Greek "Ελληνική" 33%
 be    Belarusian "Беларуская" 62%
 bg    Bulgarian "Български" 68%
 ru    Russian "Русский" 100%
+sr    Serbian "Српски" 69%
 uk    Ukrainian "Українська" 57%
index 52d04bd93d1d7e1b4e984bd9c175291993d34b19..69fced5320091bc933b715bb6de8d6b59e69173c 100644 (file)
@@ -79,8 +79,8 @@ void HUD_HealthArmor()
        int baralign = autocvar_hud_panel_healtharmor_baralign;
        int iconalign = autocvar_hud_panel_healtharmor_iconalign;
 
-    int maxhealth = autocvar_hud_panel_healtharmor_maxhealth;
-    int maxarmor = autocvar_hud_panel_healtharmor_maxarmor;
+       int maxhealth = autocvar_hud_panel_healtharmor_maxhealth;
+       int maxarmor = autocvar_hud_panel_healtharmor_maxarmor;
        if(autocvar_hud_panel_healtharmor_combined) // combined health and armor display
        {
                vector v;
@@ -88,15 +88,14 @@ void HUD_HealthArmor()
 
                float hp = floor(v.x + 1);
 
-        float maxtotal = maxhealth + maxarmor;
+               float maxtotal = maxhealth + maxarmor;
                string biggercount;
                if(v.z) // NOT fully armored
                {
                        biggercount = "health";
                        if(autocvar_hud_panel_healtharmor_progressbar)
                                HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_health, hp/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)
+                       if(armor && 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);
                }
                else
@@ -104,11 +103,10 @@ void HUD_HealthArmor()
                        biggercount = "armor";
                        if(autocvar_hud_panel_healtharmor_progressbar)
                                HUD_Panel_DrawProgressBar(pos, mySize, autocvar_hud_panel_healtharmor_progressbar_armor, hp/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)
+                       if(health && 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);
                }
-        if(autocvar_hud_panel_healtharmor_text)
+               if(autocvar_hud_panel_healtharmor_text)
                        DrawNumIcon(pos, mySize, hp, biggercount, 0, iconalign, HUD_Get_Num_Color(hp, maxtotal), 1);
 
                if(fuel)
index 62de4565e53bff2549a9b361f063ab0791c7004b..cbb0e071dfb87f8eca4e210be493db8e69d95bc1 100644 (file)
@@ -119,12 +119,12 @@ string _drawpic_picpath;
                                _drawpic_oldsz = _drawpic_sz.x;\
                                _drawpic_sz.x = _drawpic_sz.y * _drawpic_imgaspect;\
                                if(_drawpic_sz.x)\
-                                       drawpic(pos + eX * (_drawpic_oldsz - _drawpic_sz.x) * 0.5, pic, _drawpic_sz, color, theAlpha, drawflag);\
+                                       drawpic(pos + eX * 0.5 * (_drawpic_oldsz - _drawpic_sz.x), pic, _drawpic_sz, color, theAlpha, drawflag);\
                        } else {\
                                _drawpic_oldsz = _drawpic_sz.y;\
                                _drawpic_sz.y = _drawpic_sz.x / _drawpic_imgaspect;\
                                if(_drawpic_sz.y)\
-                                       drawpic(pos + eY * (_drawpic_oldsz - _drawpic_sz.y) * 0.5, pic, _drawpic_sz, color, theAlpha, drawflag);\
+                                       drawpic(pos + eY * 0.5 * (_drawpic_oldsz - _drawpic_sz.y), pic, _drawpic_sz, color, theAlpha, drawflag);\
                        }\
                }\
        } MACRO_END
index 0500652b9a5c6802a442edf091a43857cdf219c7..6920a98d197b9ce595298a0d454dd20accdb7839 100644 (file)
@@ -63,7 +63,6 @@ void Draw_ShowNames(entity this)
                        overlap = 0;
        }
 
-       float dist = vlen(this.origin - view_origin);
        if (overlap == -1 && autocvar_hud_shownames_antioverlap)
        {
                // fade tag out if another tag that is closer to you overlaps
@@ -76,7 +75,7 @@ void Draw_ShowNames(entity this)
                        if (eo.z < 0 || eo.x < 0 || eo.y < 0 || eo.x > vid_conwidth || eo.y > vid_conheight) continue;
                        eo.z = 0;
                        if (vdist(((eX * o.x + eY * o.y) - eo), <, autocvar_hud_shownames_antioverlap_distance)
-                           && vdist((it.origin - view_origin), <, dist))
+                           && vlen2(it.origin - view_origin) < vlen2(this.origin - view_origin))
                        {
                                overlap = 1;
                                break;
@@ -118,6 +117,7 @@ void Draw_ShowNames(entity this)
        }
        if (a < ALPHA_MIN_VISIBLE && gametype != MAPINFO_TYPE_CTS) return;
        if (vdist(this.origin - view_origin, >=, max_shot_distance)) return;
+       float dist = vlen(this.origin - view_origin);
        if (autocvar_hud_shownames_maxdistance)
        {
                if (dist >= autocvar_hud_shownames_maxdistance) return;
index 910f34e326eaaed24ab4462ef31b5d8321bff4c8..e7c0f946bd5dc75692c4a849a5b1ac7a956934ba 100644 (file)
@@ -251,7 +251,7 @@ const int SERVERFLAG_PLAYERSTATS = 4;
 // FIXME/EXPLAINME: why? Mario: because
 vector autocvar_sv_player_maxs = '16 16 45';
 vector autocvar_sv_player_mins = '-16 -16 -24';
-vector autocvar_sv_player_viewoffset = '0 0 20';
+vector autocvar_sv_player_viewoffset = '0 0 35';
 vector autocvar_sv_player_crouch_maxs = '16 16 25';
 vector autocvar_sv_player_crouch_mins = '-16 -16 -24';
 vector autocvar_sv_player_crouch_viewoffset = '0 0 20';
index 31119e25945cb89d925f1bff5ef0f8dedc4108d1..4bd827a6e8fe8f80f8ff6d2ef8142af8ba1964e4 100644 (file)
@@ -409,7 +409,7 @@ string BUFF_NAME(int i);
        ARG_CASE(ARG_CS,        "f1secs",        count_seconds(f1)) \
        ARG_CASE(ARG_CS,        "f1points",      (f1 == 1 ? _("point") : _("points"))) \
        ARG_CASE(ARG_CS_SV,     "f1ord",         count_ordinal(f1)) \
-       ARG_CASE(ARG_CS,        "f1time",        process_time(2, f1)) \
+       ARG_CASE(ARG_CS_SV,     "f1time",        process_time(2, f1)) \
        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)) \
index 3151d7cdb1c86fb696128d439ef6a38213cff553..2746eabfc3fa048f681dd0ce0030075a6bdec8c3 100644 (file)
@@ -181,7 +181,7 @@ NET_HANDLE(ENT_CLIENT_ITEM, bool isnew)
         setsize(this, '-16 -16 0', (use_bigsize) ? '16 16 48' : '16 16 32');
     }
 
-    if(sf & ISF_STATUS) // need to read/write status frist so model can handle simple, fb etc.
+    if(sf & ISF_STATUS) // need to read/write status first so model can handle simple, fb etc.
     {
         this.ItemStatus = ReadByte();
 
index 8f7305d6f88c49236397721a14a0f5813087ab45..7e6311df1bc7cde481ee40b3efcf54ec58e51522 100644 (file)
@@ -55,7 +55,7 @@ void multi_trigger(entity this)
        }
        else
        {       // we can't just remove (this) here, because this is a touch function
-               // called wheil C code is looping through area links...
+               // called while C code is looping through area links...
                settouch(this, func_null);
        }
 }
index e6e35c295a9f8d723285699de7db0972e850ea9c..1c0a328a13a21d638fa5b4347829ecde721a4121 100644 (file)
@@ -34,7 +34,9 @@ void trigger_secret_touch(entity this, entity toucher)
 
        // handle normal trigger features
        multi_touch(this, toucher);
-       delete(this);
+       // we can't just remove (this) here, because this is a touch function
+       // called while C code is looping through area links...
+       //delete(this);
 }
 
 /*QUAKED trigger_secret (.5 .5 .5) ?
@@ -76,7 +78,7 @@ spawnfunc(trigger_secret)
        this.delay = 0;
 
        // convert this trigger to trigger_once
-       this.classname = "trigger_once";
+       //this.classname = "trigger_once";
        spawnfunc_trigger_once(this);
 
        // take over the touch() function, so we can mark secret as found
index 4d598db543a1ba0f006702b26f1f31119590eb80..ae8cd5323b49dfcd6a3789089e1396bf601a0b56 100644 (file)
@@ -1245,6 +1245,30 @@ void turret_initparams(entity tur)
        #undef TRY
 }
 
+void turret_findtarget(entity this)
+{
+       entity e = find(NULL, classname, "turret_manager");
+       if(!e)
+       {
+               e = new(turret_manager);
+               setthink(e, turrets_manager_think);
+               e.nextthink = time + 2;
+       }
+       
+       entity targ = find(NULL, targetname, this.target);
+       if(targ.classname == "turret_checkpoint")
+               return; // turrets don't defend checkpoints?
+
+       if (!targ)
+       {
+               this.target = "";
+               LOG_TRACE("Turret has invalid defendpoint!");
+       }
+
+       this.tur_defend = targ;
+       this.idle_aim = this.tur_head.angles + angleofs(this.tur_head, targ);
+}
+
 bool turret_initialize(entity this, Turret tur)
 {
        if(!autocvar_g_turrets)
@@ -1260,14 +1284,6 @@ bool turret_initialize(entity this, Turret tur)
                IL_PUSH(g_bot_targets, this);
        }
 
-       entity e = find(NULL, classname, "turret_manager");
-       if(!e)
-       {
-               e = new(turret_manager);
-               setthink(e, turrets_manager_think);
-               e.nextthink = time + 2;
-       }
-
        if(!(this.spawnflags & TSF_SUSPENDED))
                droptofloor(this);
 
@@ -1341,6 +1357,7 @@ bool turret_initialize(entity this, Turret tur)
        this.takedamage                         = DAMAGE_AIM;
        set_movetype(this, MOVETYPE_NOCLIP);
        this.view_ofs                           = '0 0 0';
+       this.idle_aim                           = '0 0 0';
        this.turret_firecheckfunc       = turret_firecheck;
        this.event_damage                       = turret_damage;
        this.use                                        = turret_use;
@@ -1363,21 +1380,8 @@ bool turret_initialize(entity this, Turret tur)
 
        this.weaponentities[0] = this; // lol
 
-       if(!this.tur_defend)
-       if(this.target != "")
-       {
-               this.tur_defend = find(NULL, targetname, this.target);
-               if (this.tur_defend == NULL)
-               {
-                       this.target = "";
-                       LOG_TRACE("Turret has invalid defendpoint!");
-               }
-       }
-
-       if (this.tur_defend)
-               this.idle_aim = this.tur_head.angles + angleofs(this.tur_head, this.tur_defend);
-       else
-               this.idle_aim = '0 0 0';
+       if(!this.tur_defend && this.target != "")
+               InitializeEntity(this, turret_findtarget, INITPRIO_FINDTARGET);
 
 #ifdef TURRET_DEBUG
        this.tur_debug_start = this.nextthink;
index 0a633c78446431fdb0f0c841d67c5d70e49da369..cf53508b6f63adca3314782182b8739c9bba5b17 100644 (file)
@@ -10,17 +10,18 @@ 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;
-const float ewheel_anim_bck_slow = 3;
-const float ewheel_anim_bck_fast = 4;
+const int ewheel_anim_stop     = 0;
+const int ewheel_anim_fwd_slow = 1;
+const int ewheel_anim_fwd_fast = 2;
+const int ewheel_anim_bck_slow = 3;
+const int ewheel_anim_bck_fast = 4;
 
 void ewheel_move_path(entity this)
 {
-#ifdef EWHEEL_FANCYPATH
-    // Are we close enougth to a path node to switch to the next?
+    // Are we close enough to a path node to switch to the next?
     if(vdist(this.origin - this.pathcurrent.origin, <, 64))
+    {
+#ifdef EWHEEL_FANCYPATH
         if (this.pathcurrent.path_next == NULL)
         {
             // Path endpoint reached
@@ -43,11 +44,10 @@ void ewheel_move_path(entity this)
         }
         else
             this.pathcurrent = this.pathcurrent.path_next;
-
 #else
-    if(vdist(this.origin - this.pathcurrent.origin, <, 64))
         this.pathcurrent = this.pathcurrent.enemy;
 #endif
+    }
 
     if (this.pathcurrent)
     {
@@ -61,11 +61,11 @@ void ewheel_move_path(entity this)
 
 void ewheel_move_enemy(entity this)
 {
-    float newframe;
+    int newframe;
 
     this.steerto = steerlib_arrive(this, this.enemy.origin,this.target_range_optimal);
 
-    this.moveto  = this.origin + this.steerto * 128;
+    this.moveto = this.origin + this.steerto * 128;
 
     if (this.tur_dist_enemy > this.target_range_optimal)
     {
@@ -113,6 +113,29 @@ void ewheel_move_idle(entity this)
         movelib_brake_simple(this, (autocvar_g_turrets_unit_ewheel_speed_stop));
 }
 
+void ewheel_findtarget(entity this)
+{
+    entity e = find(NULL, targetname, this.target);
+    if (!e)
+    {
+        LOG_TRACE("Initital waypoint for ewheel does NOT exist, fix your map!");
+        this.target = "";
+    }
+
+    if (e.classname != "turret_checkpoint")
+        LOG_TRACE("Warning: not a turret path");
+    else
+    {
+
+#ifdef EWHEEL_FANCYPATH
+        this.pathcurrent = pathlib_astar(this, this.origin, e.origin);
+        this.pathgoal = e;
+#else
+        this.pathcurrent  = e;
+#endif
+    }
+}
+
 spawnfunc(turret_ewheel) { if(!turret_initialize(this, TUR_EWHEEL)) delete(this); }
 
 METHOD(EWheel, tr_think, void(EWheel thistur, entity it))
@@ -162,8 +185,6 @@ METHOD(EWheel, tr_death, void(EWheel this, entity it))
 
 METHOD(EWheel, tr_setup, void(EWheel this, entity it))
 {
-    entity e;
-
     if(it.move_movetype == MOVETYPE_WALK)
     {
         it.velocity = '0 0 0';
@@ -172,27 +193,7 @@ METHOD(EWheel, tr_setup, void(EWheel this, entity it))
         setorigin(it, it.pos1);
 
         if (it.target != "")
-        {
-            e = find(NULL, targetname, it.target);
-            if (!e)
-            {
-                LOG_TRACE("Initital waypoint for ewheel does NOT exsist, fix your map!");
-                it.target = "";
-            }
-
-            if (e.classname != "turret_checkpoint")
-                LOG_TRACE("Warning: not a turrret path");
-            else
-            {
-
-#ifdef EWHEEL_FANCYPATH
-                it.pathcurrent = WALKER_PATH(it, it.origin, e.origin);
-                it.pathgoal = e;
-#else
-                it.pathcurrent  = e;
-#endif
-            }
-        }
+            InitializeEntity(it, ewheel_findtarget, INITPRIO_FINDTARGET);
     }
 
     it.iscreature                              = true;
index 0a82a4a7bcef08cd1db7c03cdbcc925ca6c0474f..d8c0a675d5c0b1175be5a3f6d79c6e086df88f3d 100644 (file)
@@ -43,8 +43,6 @@ const int ANIM_ROAM       = 11;
 .float animflag;
 .float idletime;
 
-#define WALKER_PATH(this, s, e) pathlib_astar(this, s, e)
-
 bool walker_firecheck(entity this)
 {
     if (this.animflag == ANIM_MELEE)
@@ -299,7 +297,7 @@ void walker_move_path(entity this)
 
                 if (this.pathgoal.enemy)
                 {
-                    this.pathcurrent = WALKER_PATH(this, this.pathgoal.origin, this.pathgoal.enemy.origin);
+                    this.pathcurrent = pathlib_astar(this, this.pathgoal.origin, this.pathgoal.enemy.origin);
                     this.pathgoal = this.pathgoal.enemy;
                 }
             }
@@ -326,6 +324,30 @@ void walker_move_path(entity this)
 #endif
 }
 
+void walker_findtarget(entity this)
+{
+    entity e = find(NULL, targetname, this.target);
+    if (!e)
+    {
+        LOG_TRACE("Initital waypoint for walker does NOT exist, fix your map!");
+        this.target = "";
+    }
+
+    if (e.classname != "turret_checkpoint")
+        LOG_TRACE("Warning: not a turrret path");
+    else
+    {
+#ifdef WALKER_FANCYPATHING
+        this.pathcurrent = pathlib_astar(this, this.origin, e.origin);
+        this.pathgoal = e;
+#else
+        this.pathcurrent = e;
+#endif
+    }
+
+    // TODO: this doesn't reset target, so tur_defend will be the checkpoint too!
+}
+
 spawnfunc(turret_walker) { if(!turret_initialize(this, TUR_WALKER)) delete(this); }
 
 METHOD(WalkerTurret, tr_think, void(WalkerTurret thistur, entity it))
@@ -550,8 +572,6 @@ METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it))
 {
     it.ticrate = 0.05;
 
-    entity e;
-
     // Respawn is called & first spawn to, to set team. need to make sure we do not move the initial spawn.
     if(it.move_movetype == MOVETYPE_WALK)
     {
@@ -587,26 +607,7 @@ METHOD(WalkerTurret, tr_setup, void(WalkerTurret this, entity it))
     it.turret_firecheckfunc = walker_firecheck;
 
     if (it.target != "")
-    {
-        e = find(NULL, targetname, it.target);
-        if (!e)
-        {
-            LOG_TRACE("Initital waypoint for walker does NOT exsist, fix your map!");
-            it.target = "";
-        }
-
-        if (e.classname != "turret_checkpoint")
-            LOG_TRACE("Warning: not a turrret path");
-        else
-        {
-#ifdef WALKER_FANCYPATHING
-            it.pathcurrent = WALKER_PATH(it, it.origin, e.origin);
-            it.pathgoal = e;
-#else
-            it.pathcurrent = e;
-#endif
-        }
-    }
+        InitializeEntity(it, walker_findtarget, INITPRIO_FINDTARGET);
 }
 
 #endif // SVQC
index 17d055fe4829b5ee0de9a7eb42e41e5233bf95cd..b69b9663229a75f8de6381c458774845eabc5128 100644 (file)
@@ -460,7 +460,7 @@ void W_Shockwave_Attack(entity actor, .entity weaponentity)
                                        );
 
                                // figure out the direction of force
-                               vel = normalize(vec3(head.velocity.x, head.velocity.y, 0));
+                               vel = normalize(vec2(head.velocity));
                                vel *=
                                        (
                                                bound(0, (vlen(vel) / autocvar_sv_maxspeed), 1)
index 56c80e02d1b13ca5dcf66105aa597bb7c28d67f3..0a3dd8c662a8ac8e1f91e26ab820b8cbe658f842 100644 (file)
@@ -311,14 +311,14 @@ USING(Stream, int);
                        v += ReadByte();          // note: this is unsigned
                        return v;
                }
-               #define ReadInt48_t() vec3(ReadInt24_t(), ReadInt24_t(), 0)
+               #define ReadInt48_t() vec2(ReadInt24_t(), ReadInt24_t())
                #define ReadInt72_t() vec3(ReadInt24_t(), ReadInt24_t(), ReadInt24_t())
 
                noref int _ReadSByte;
                #define ReadSByte() (_ReadSByte = ReadByte(), (_ReadSByte & BIT(7) ? -128 : 0) + (_ReadSByte & BITS(7)))
                #define ReadFloat() ReadCoord()
                #define ReadVector() vec3(ReadFloat(), ReadFloat(), ReadFloat())
-               #define ReadVector2D() vec3(ReadFloat(), ReadFloat(), 0)
+               #define ReadVector2D() vec2(ReadFloat(), ReadFloat())
 
                float ReadApproxPastTime()
                {
index 99059a1e485364fa227b5020e09ff546a68cc357..6debcb713dcdfed7c0ca8fbb82040360dec48841 100644 (file)
                NL() \
        NL() \
        TITLE(_("Other Active Contributors")) \
-               PERSON(Erik "Ablu" Schilling) \
+               PERSON(Jeff) \
+               PERSON(Lyberta) \
                PERSON(Mircea "Taoki" Kitsune) \
                PERSON(Penguinum) \
-               PERSON(Jeff) \
        NL() \
        NL() \
        TITLE(_("Translators")) \
                NL() \
                FUNCTION(_("Dutch")) \
                        PERSON(Alexander "freefang" van Dam) \
+                       PERSON(Joeke "Mappack" de Graaf) \
                        PERSON(Jonathan "Jonakeys" van der Steege) \
                        PERSON(PinkRobot) \
                        PERSON(vegiburger) \
                        PERSON(Ruszkai "CuBe0wL" Ákos) \
                        PERSON(xaN1C4n3) \
                NL() \
+               FUNCTION(_("Irish")) \
+                       PERSON(Kevin "kscanne" Scannell) \
+               NL() \
                FUNCTION(_("Italian")) \
                        PERSON(Antonio "terencehill" Piu) \
                        PERSON(Felice "MaidenBeast" Sallustio) \
                        PERSON(Amadeusz "amade/proraide" Sławiński) \
                        PERSON(Artur "artur9010" Motyka) \
                        PERSON(Jakub "KubeQ11" Pędziszewski) \
+                       PERSON(Kriss7475) \
                NL() \
                FUNCTION(_("Portuguese")) \
                        PERSON(Ivan Paulos "greylica" Tomé) \
                        PERSON(Nikoli) \
                        PERSON(Sergej "Clearness High" Lutsyk) \
                NL() \
+               FUNCTION(_("Scottish Gaelic")) \
+                       PERSON_("GunChleoc") \
+               NL() \
                FUNCTION(_("Serbian")) \
                        PERSON_("Саша \"salepetronije\" Петровић") \
+                       PERSON(Marko M. Kostić) \
                        PERSON(Pendulla) \
                        PERSON(Rafael "Ristovski") \
                NL() \
                        PERSON(roader_gentoo) \
                        PERSON(Rodrigo Mouton Laudin) \
                        PERSON(SouL) \
+                       PERSON(Starfire24680) \
                NL() \
                FUNCTION(_("Swedish")) \
                        PERSON(Karl-Oskar "machine" Rikås) \
                PERSON(Edgenetwork) \
                PERSON(Edward "Ed" Holness) \
                PERSON(Eric "Munyul Verminard" Sambach) \
+               PERSON(Erik "Ablu" Schilling) \
                PERSON(Fabien "H. Reaper" Tschirhart) \
                PERSON(Florian Paul "lda17h" Schmidt) \
                PERSON(FrikaC) \
index d705fd63abc7e087d701bf448c12e0ed8485cdab..2ab3160ed7e951f390e402b4a480ed68e87e16be 100644 (file)
@@ -1041,6 +1041,9 @@ void FixClientCvars(entity e)
        if(autocvar_sv_gentle)
                stuffcmd(e, "cl_cmd settemp cl_gentle 1\n");
 
+       stuffcmd(e, sprintf("\ncl_jumpspeedcap_min \"%s\"\n", autocvar_sv_jumpspeedcap_min));
+       stuffcmd(e, sprintf("\ncl_jumpspeedcap_max \"%s\"\n", autocvar_sv_jumpspeedcap_max));
+
        MUTATOR_CALLHOOK(FixClientCvars, e);
 }
 
index 23bc7757df46549daf3978fad8b81a1009d1eb02..f8206db04b4a35c40bfb40b7b76e583d35ed4aa5 100644 (file)
@@ -176,7 +176,6 @@ void cvar_changes_init()
                BADPREFIX("cvar_check_");
                BADCVAR("gamecfg");
                BADCVAR("g_configversion");
-               BADCVAR("g_maplist_index");
                BADCVAR("halflifebsp");
                BADCVAR("sv_mapformat_is_quake2");
                BADCVAR("sv_mapformat_is_quake3");
@@ -334,7 +333,6 @@ void cvar_changes_init()
                BADCVAR("g_invasion_point_limit");
                BADCVAR("g_jump_grunt");
                BADCVAR("g_keyhunt_point_leadlimit");
-               BADCVAR("g_maplist_selectrandom");
                BADCVAR("g_nexball_goalleadlimit");
                BADCVAR("g_new_toys_use_pickupsound");
                BADCVAR("g_physics_predictall");
@@ -359,7 +357,7 @@ void cvar_changes_init()
                BADPREFIX("gameversion_");
                BADPREFIX("g_chat_");
                BADPREFIX("g_ctf_captimerecord_");
-               BADPREFIX("g_maplist_votable_");
+               BADPREFIX("g_maplist_");
                BADPREFIX("g_mod_");
                BADPREFIX("g_respawn_");
                BADPREFIX("net_");
@@ -408,13 +406,6 @@ void cvar_changes_init()
                BADCVAR("g_keyhunt_teams_override");
                BADCVAR("g_lms_lives_override");
                BADCVAR("g_maplist");
-               BADCVAR("g_maplist_check_waypoints");
-               BADCVAR("g_maplist_mostrecent_count");
-               BADCVAR("g_maplist_shuffle");
-               BADCVAR("g_maplist_votable");
-               BADCVAR("g_maplist_votable_abstain");
-               BADCVAR("g_maplist_votable_nodetail");
-               BADCVAR("g_maplist_votable_suggestions");
                BADCVAR("g_maxplayers");
                BADCVAR("g_mirrordamage");
                BADCVAR("g_nexball_goallimit");
index fdb95d2f608b967be48675f96e549975693e766e..1449e382a6913daffb425bb5d58d5b7e666cb564 100644 (file)
@@ -35,8 +35,7 @@ float pathlib_h_manhattan(vector a,vector b)
 {
     //h(n) = D * (abs(n.x-goal.x) + abs(n.y-goal.y))
 
-    float h;
-    h  = fabs(a.x - b.x);
+    float h  = fabs(a.x - b.x);
     h += fabs(a.y - b.y);
     h *= pathlib_gridsize;
 
@@ -50,11 +49,10 @@ float pathlib_h_manhattan(vector a,vector b)
 float pathlib_h_diagonal(vector a,vector b)
 {
     //h(n) = D * max(abs(n.x-goal.x), abs(n.y-goal.y))
-    float h,x,y;
 
-    x = fabs(a.x - b.x);
-    y = fabs(a.y - b.y);
-    h = pathlib_movecost * max(x,y);
+    float hx = fabs(a.x - b.x);
+    float hy = fabs(a.y - b.y);
+    float h = pathlib_movecost * max(hx,hy);
 
     return h;
 }
@@ -75,21 +73,19 @@ float pathlib_h_euclidean(vector a,vector b)
 **/
 float pathlib_h_diagonal2(vector a,vector b)
 {
-    float h_diag,h_str,h,x,y;
-
     /*
     h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y))
     h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
     h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
     */
 
-    x = fabs(a.x - b.x);
-    y = fabs(a.y - b.y);
+    float hx = fabs(a.x - b.x);
+    float hy = fabs(a.y - b.y);
 
-    h_diag = min(x,y);
-    h_str = x + y;
+    float h_diag = min(hx,hy);
+    float h_str = hx + hy;
 
-    h =  pathlib_movecost_diag * h_diag;
+    float h =  pathlib_movecost_diag * h_diag;
     h += pathlib_movecost * (h_str - 2 * h_diag);
 
     return h;
@@ -101,28 +97,23 @@ float pathlib_h_diagonal2(vector a,vector b)
 **/
 float pathlib_h_diagonal2sdp(vector preprev,vector prev,vector point,vector end)
 {
-    float h_diag,h_str,h,x,y,z;
-
     //h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y))
     //h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
     //h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
 
-    x = fabs(point.x - end.x);
-    y = fabs(point.y - end.y);
-    z = fabs(point.z - end.z);
+    float hx = fabs(point.x - end.x);
+    float hy = fabs(point.y - end.y);
+    float hz = fabs(point.z - end.z);
 
-    h_diag = min3(x,y,z);
-    h_str = x + y + z;
+    float h_diag = min3(hx,hy,hz);
+    float h_str = hx + hy + hz;
 
-    h =  pathlib_movecost_diag * h_diag;
+    float h =  pathlib_movecost_diag * h_diag;
     h += pathlib_movecost * (h_str - 2 * h_diag);
 
-    float m;
-    vector d1,d2;
-
-    d1 = normalize(preprev - point);
-    d2 = normalize(prev    - point);
-    m = vlen(d1-d2);
+    vector d1 = normalize(preprev - point);
+    vector d2 = normalize(prev    - point);
+    float m = vlen(d1-d2);
 
     return h * m;
 }
@@ -130,16 +121,14 @@ float pathlib_h_diagonal2sdp(vector preprev,vector prev,vector point,vector end)
 
 float pathlib_h_diagonal3(vector a,vector b)
 {
-    float h_diag,h_str,h,x,y,z;
-
-    x = fabs(a.x - b.x);
-    y = fabs(a.y - b.y);
-    z = fabs(a.z - b.z);
+    float hx = fabs(a.x - b.x);
+    float hy = fabs(a.y - b.y);
+    float hz = fabs(a.z - b.z);
 
-    h_diag = min3(x,y,z);
-    h_str = x + y + z;
+    float h_diag = min3(hx,hy,hz);
+    float h_str = hx + hy + hz;
 
-    h =  pathlib_movecost_diag * h_diag;
+    float h =  pathlib_movecost_diag * h_diag;
     h += pathlib_movecost * (h_str - 2 * h_diag);
 
     return h;
index 700ba41c0e10ed9d7b203467d3d86f96288e4479..b77736b19ad7c098c5ab3a0c8bf9dfeb7ba2f76c 100644 (file)
@@ -8,14 +8,12 @@ float  plib_fvals[8];
 
 float pathlib_expandnode_starf(entity node, vector start, vector goal)
 {
-    vector where,f,r,t;
-    float fc,c;
-    entity nap;
+    float fc;
 
-    where = node.origin;
+    vector where = node.origin;
 
-    f = PLIB_FORWARD * pathlib_gridsize;
-    r = PLIB_RIGHT   * pathlib_gridsize;
+    vector f = PLIB_FORWARD * pathlib_gridsize;
+    vector r = PLIB_RIGHT   * pathlib_gridsize;
 
     // Forward
     plib_points[0] = where + f;
@@ -43,7 +41,7 @@ float pathlib_expandnode_starf(entity node, vector start, vector goal)
 
     for(int i=0;i < 8; ++i)
     {
-        t = plib_points[i];
+        vector t = plib_points[i];
         fc  = pathlib_heuristic(t,goal) + pathlib_cost(node, t, pathlib_gridsize);
         plib_fvals[i] = fc;
 
@@ -56,13 +54,15 @@ float pathlib_expandnode_starf(entity node, vector start, vector goal)
     int fc2 = 0;
     for(int i = 0; i < 8; ++i)
     {
-        c = 0;
-        nap = pathlib_nodeatpoint(plib_points[i]);
+        bool c = false;
+        entity nap = pathlib_nodeatpoint(plib_points[i]);
         if(nap)
+        {
             if(nap.owner == openlist)
-                c = 1;
+                c = true;
+        }
         else
-            c = 1;
+            c = true;
 
         if(c)
         if(plib_fvals[i] < fc)
@@ -94,12 +94,12 @@ float pathlib_expandnode_starf(entity node, vector start, vector goal)
 
 float pathlib_expandnode_star(entity node, vector start, vector goal)
 {
-    vector point, where, f, r;
+    vector point;
 
-    where = node.origin;
+    vector where = node.origin;
 
-    f = PLIB_FORWARD * pathlib_gridsize;
-    r = PLIB_RIGHT   * pathlib_gridsize;
+    vector f = PLIB_FORWARD * pathlib_gridsize;
+    vector r = PLIB_RIGHT   * pathlib_gridsize;
 
     if (node.pathlib_node_edgeflags == pathlib_node_edgeflag_unknown)
         node.pathlib_node_edgeflags = tile_check_plus2(node, node.origin);
@@ -173,12 +173,12 @@ float pathlib_expandnode_star(entity node, vector start, vector goal)
 
 float pathlib_expandnode_octagon(entity node, vector start, vector goal)
 {
-    vector point,where,f,r;
+    vector point;
 
-    where = node.origin;
+    vector where = node.origin;
 
-    f = PLIB_FORWARD * pathlib_gridsize;
-    r = PLIB_RIGHT   * pathlib_gridsize;
+    vector f = PLIB_FORWARD * pathlib_gridsize;
+    vector r = PLIB_RIGHT   * pathlib_gridsize;
 
     // Forward
     point = where + f;
index 36c7c1d3147968284bf8a478c68f145cb7e965e6..833ad9b3f33bba542bc8cafbfdd2598f14fd79ad 100644 (file)
@@ -13,8 +13,7 @@ void pathlib_deletepath(entity start)
     });
 }
 
-//#define PATHLIB_NODEEXPIRE 0.05
-const float PATHLIB_NODEEXPIRE = 20;
+const float PATHLIB_NODEEXPIRE = 20; // 0.05
 
 void dumpnode(entity n)
 {
@@ -32,9 +31,7 @@ void pathlib_showsquare(vector where,float goodsquare,float _lifetime);
 
 entity pathlib_mknode(vector where,entity parent)
 {
-    entity node;
-
-    node = pathlib_nodeatpoint(where);
+    entity node = pathlib_nodeatpoint(where);
     if(node)
     {
        #ifdef TURRET_DEBUG
@@ -51,7 +48,6 @@ entity pathlib_mknode(vector where,entity parent)
     node.owner        = openlist;
     node.path_prev    = parent;
 
-
     setsize(node, '0 0 0', '0 0 0');
 
     setorigin(node, where);
@@ -64,11 +60,10 @@ entity pathlib_mknode(vector where,entity parent)
     return node;
 }
 
-float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector goal,float cost)
+bool pathlib_makenode_adaptive(entity parent,vector start, vector to, vector goal,float cost)
 {
-    entity node;
-    float h,g,f,doedge = 0;
-    vector where;
+    bool dodge = false;
+    float f, h, g;
 
     ++pathlib_searched_cnt;
 
@@ -94,11 +89,11 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go
 
             pathlib_expandnode = pathlib_expandnode_star;
             pathlib_movenode   = pathlib_walknode;
-            doedge = 1;
+            dodge = true;
         }
     }
 
-    node = pathlib_nodeatpoint(to);
+    entity node = pathlib_nodeatpoint(to);
     if(node)
     {
         LOG_TRACE("NodeAtPoint");
@@ -107,7 +102,7 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go
         if(node.owner == openlist)
         {
             h = pathlib_heuristic(node.origin,goal);
-            g = pathlib_cost(parent,node.origin,cost);
+            float g = pathlib_cost(parent,node.origin,cost);
             f = g + h;
 
             if(node.pathlib_node_g > g)
@@ -125,17 +120,17 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go
                 best_open_node = node;
         }
 
-        return 1;
+        return true;
     }
 
-    where = pathlib_movenode(parent, parent.origin, to, 0);
+    vector where = pathlib_movenode(parent, parent.origin, to, 0);
 
     if (!pathlib_movenode_goodnode)
     {
         //pathlib_showsquare(where, 0 ,30);
         //pathlib_showsquare(parent.origin, 1 ,30);
         LOG_TRACE("pathlib_movenode_goodnode = 0");
-        return 0;
+        return false;
     }
 
     //pathlib_showsquare(where, 1 ,30);
@@ -145,18 +140,18 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go
         LOG_TRACE("NAP WHERE :",vtos(where));
         LOG_TRACE("not NAP TO:",vtos(to));
         LOG_TRACE("NAP-NNAP:",ftos(vlen(to-where)));
-        return 0;
+        return false;
     }
 
 
-    if(doedge)
+    if(dodge)
         if (!tile_check(parent, where))
         {
             LOG_TRACE("tile_check fail");
 #if DEBUGPATHING
             pathlib_showsquare(where, 0 ,30);
 #endif
-            return 0;
+            return false;
         }
 
 
@@ -208,7 +203,7 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go
     else if(best_open_node.pathlib_node_f > node.pathlib_node_f)
         best_open_node = node;
 
-    return 1;
+    return true;
 }
 
 entity pathlib_getbestopen()
@@ -235,7 +230,6 @@ entity pathlib_getbestopen()
 
 void pathlib_close_node(entity node,vector goal)
 {
-
     if(node.owner == closedlist)
     {
         LOG_TRACE("Pathlib: Tried to close a closed node!");
@@ -269,22 +263,10 @@ void pathlib_cleanup()
 
     //return;
 
-    entity node;
-
-    node = findfloat(NULL,is_path_node, true);
-    while(node)
+    FOREACH_ENTITY_FLOAT(is_path_node, true,
     {
-        /*
-        node.owner = openlist;
-        node.pathlib_node_g = 0;
-        node.pathlib_node_h = 0;
-        node.pathlib_node_f = 0;
-        node.path_prev = NULL;
-        */
-
-        dumpnode(node);
-        node = findfloat(node,is_path_node, true);
-    }
+       dumpnode(it);
+    });
 
     if(openlist)
         delete(openlist);
@@ -294,60 +276,53 @@ void pathlib_cleanup()
 
     openlist       = NULL;
     closedlist     = NULL;
-
 }
 
 float Cosine_Interpolate(float a, float b, float c)
 {
-    float ft,f;
-
-       ft = c * 3.1415927;
-       f = (1 - cos(ft)) * 0.5;
+       float ft = c * 3.1415927;
+       float f = (1 - cos(ft)) * 0.5;
 
        return  a*(1-f) + b*f;
 }
 
-float buildpath_nodefilter_directional(vector n,vector c,vector p)
+bool buildpath_nodefilter_directional(vector n,vector c,vector p)
 {
-    vector d1,d2;
-
-    d2 = normalize(p - c);
-    d1 = normalize(c - n);
+    vector d2 = normalize(p - c);
+    vector d1 = normalize(c - n);
 
     if(vdist(d1 - d2, <, 0.25))
     {
         //mark_error(c,30);
-        return 1;
+        return true;
     }
     //mark_info(c,30);
-    return 0;
+    return false;
 }
 
-float buildpath_nodefilter_moveskip(entity this, vector n,vector c,vector p)
+bool buildpath_nodefilter_moveskip(entity this, vector n,vector c,vector p)
 {
     pathlib_walknode(this, p, n, 1);
     if(pathlib_movenode_goodnode)
-        return 1;
+        return true;
 
-    return 0;
+    return false;
 }
 
-float buildpath_nodefilter_none(vector n,vector c,vector p)
+bool buildpath_nodefilter_none(vector n,vector c,vector p)
 {
-    return 0;
+    return false;
 }
 
 entity path_build(entity next, vector where, entity prev, entity start)
 {
-    entity path;
-
     if(prev && next)
         if(buildpath_nodefilter)
             if(buildpath_nodefilter(next.origin,where,prev.origin))
                 return next;
 
 
-    path           = spawn();
+    entity path    = spawn();
     path.owner     = start;
     path.path_next = next;
 
@@ -366,12 +341,10 @@ entity path_build(entity next, vector where, entity prev, entity start)
     return path;
 }
 
-entity pathlib_astar(entity this, vector from,vector to)
+entity pathlib_astar(entity this, vector from, vector to)
 {
-    entity path, start, end, open, n, ln;
-    float ptime, ftime, ctime;
-
-    ptime = gettime(GETTIME_REALTIME);
+       entity open;
+    float ptime = gettime(GETTIME_REALTIME);
     pathlib_starttime = ptime;
 
     pathlib_cleanup();
@@ -455,7 +428,7 @@ entity pathlib_astar(entity this, vector from,vector to)
     //to_z += 32;
 
     LOG_TRACE("AStar init");
-    path = pathlib_mknode(from, NULL);
+    entity path = pathlib_mknode(from, NULL);
     pathlib_close_node(path, to);
     if(pathlib_foundgoal)
     {
@@ -479,7 +452,7 @@ entity pathlib_astar(entity this, vector from,vector to)
     }
 
     best_open_node = pathlib_getbestopen();
-    n = best_open_node;
+    entity n = best_open_node;
     pathlib_close_node(best_open_node, to);
     if(inwater(n.origin))
         pathlib_expandnode_box(n, from, to);
@@ -512,12 +485,12 @@ entity pathlib_astar(entity this, vector from,vector to)
         if(pathlib_foundgoal)
         {
             LOG_TRACE("Target found. Rebuilding and filtering path...");
-            ftime = gettime(GETTIME_REALTIME);
+            float ftime = gettime(GETTIME_REALTIME);
             ptime = ftime - ptime;
 
-            start = path_build(NULL,path.origin,NULL,NULL);
-            end   = path_build(NULL,goal_node.origin,NULL,start);
-            ln    = end;
+            entity start = path_build(NULL,path.origin,NULL,NULL);
+            entity end   = path_build(NULL,goal_node.origin,NULL,start);
+            entity ln    = end;
 
             open = goal_node;
             for(open = goal_node; open.path_prev != path; open = open.path_prev)
@@ -530,7 +503,7 @@ entity pathlib_astar(entity this, vector from,vector to)
             n.path_prev = start;
             ftime = gettime(GETTIME_REALTIME) - ftime;
 
-            ctime = gettime(GETTIME_REALTIME);
+            float ctime = gettime(GETTIME_REALTIME);
             pathlib_cleanup();
             ctime = gettime(GETTIME_REALTIME) - ctime;
 
index 6c8e4dc7692304b5bbd29dd85bb291b3557f783d..c867080dd7e336e175eecc95ea4586e18c50b744 100644 (file)
@@ -1,4 +1,4 @@
 #pragma once
 
-float buildpath_nodefilter_none(vector n,vector c,vector p);
+bool buildpath_nodefilter_none(vector n,vector c,vector p);
 entity path_build(entity next, vector where, entity prev, entity start);
index 4a3bfe35c5bee6ba18262a33eff34e3f3a95bc11..ca9180eefa096c6e6f67976354d5bbbabde83ea2 100644 (file)
@@ -9,7 +9,7 @@ vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge)
 {
     vector surface;
 
-    pathlib_movenode_goodnode = 0;
+    pathlib_movenode_goodnode = false;
 
     end.x = fsnap(end.x, pathlib_gridsize);
     end.y = fsnap(end.y, pathlib_gridsize);
@@ -31,17 +31,17 @@ vector pathlib_wateroutnode(entity this, vector start, vector end, float doedge)
 
     tracebox(start + '0 0 64', movenode_boxmin,movenode_boxmax, end + '0 0 64', MOVE_WORLDONLY, this);
     if(trace_fraction == 1)
-        pathlib_movenode_goodnode = 1;
+        pathlib_movenode_goodnode = true;
 
     if(fabs(surface.z - end.z) > 32)
-        pathlib_movenode_goodnode = 0;
+        pathlib_movenode_goodnode = false;
 
     return end;
 }
 
 vector pathlib_swimnode(entity this, vector start, vector end, float doedge)
 {
-    pathlib_movenode_goodnode = 0;
+    pathlib_movenode_goodnode = false;
 
     if(pointcontents(start) != CONTENT_WATER)
         return end;
@@ -54,21 +54,21 @@ vector pathlib_swimnode(entity this, vector start, vector end, float doedge)
 
     tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this);
     if(trace_fraction == 1)
-        pathlib_movenode_goodnode = 1;
+        pathlib_movenode_goodnode = true;
 
     return end;
 }
 
 vector pathlib_flynode(entity this, vector start, vector end, float doedge)
 {
-    pathlib_movenode_goodnode = 0;
+    pathlib_movenode_goodnode = false;
 
     end.x = fsnap(end.x, pathlib_gridsize);
     end.y = fsnap(end.y, pathlib_gridsize);
 
     tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this);
     if(trace_fraction == 1)
-        pathlib_movenode_goodnode = 1;
+        pathlib_movenode_goodnode = true;
 
     return end;
 }
@@ -84,12 +84,11 @@ void a_think(entity this)
 
 vector pathlib_walknode(entity this, vector start, vector end, float doedge)
 {
-    vector direction,point,last_point,s,e;
-    float steps, distance, i;
+    vector point;
 
     LOG_TRACE("Walking node from ", vtos(start), " to ", vtos(end));
 
-    pathlib_movenode_goodnode = 0;
+    pathlib_movenode_goodnode = false;
 
     end.x = fsnap(end.x,pathlib_gridsize);
     end.y = fsnap(end.y,pathlib_gridsize);
@@ -116,15 +115,16 @@ vector pathlib_walknode(entity this, vector start, vector end, float doedge)
     start = trace_endpos;
 
     // Find the direcion, without Z
-    s   = start; e   = end;
+    vector s   = start;
+    vector e   = end;
     //e_z = 0; s_z = 0;
-    direction = normalize(e - s);
+    vector direction = normalize(e - s);
 
-    distance  = vlen(start - end);
-    steps     = rint(distance / movenode_stepsize);
+    float distance  = vlen(start - end);
+    int steps     = rint(distance / movenode_stepsize);
 
-    last_point = start;
-    for(i = 1; i < steps; ++i)
+    vector last_point = start;
+    for(int i = 1; i < steps; ++i)
     {
         point = last_point + (direction * movenode_stepsize);
         traceline(point + movenode_stepup,point - movenode_maxdrop,MOVE_WORLDONLY,this);
@@ -151,6 +151,6 @@ vector pathlib_walknode(entity this, vector start, vector end, float doedge)
     if(trace_fraction != 1.0)
         return trace_endpos;
 
-    pathlib_movenode_goodnode = 1;
+    pathlib_movenode_goodnode = true;
     return last_point;
 }
index 028a2c7e6e5b26eb9b01650327ab8b153bc5617e..a014c7ce2ab0c57874ac0be849538ad4899b8341 100644 (file)
@@ -66,10 +66,10 @@ entity best_open_node;
 vector tile_check_up;
 vector tile_check_down;
 float  tile_check_size;
-float     tile_check_cross(entity this, vector where);
-float     tile_check_plus(entity this, vector where);
-float     tile_check_star(entity this, vector where);
-var float tile_check(entity this, vector where);
+bool     tile_check_cross(entity this, vector where);
+bool     tile_check_plus(entity this, vector where);
+bool     tile_check_star(entity this, vector where);
+var bool tile_check(entity this, vector where);
 
 float  movenode_stepsize;
 vector movenode_stepup;
@@ -77,7 +77,7 @@ vector movenode_maxdrop;
 vector movenode_boxup;
 vector movenode_boxmax;
 vector movenode_boxmin;
-float  pathlib_movenode_goodnode;
+bool  pathlib_movenode_goodnode;
 
 vector     pathlib_wateroutnode(entity this, vector start, vector end, float doedge);
 vector     pathlib_swimnode(entity this, vector start, vector end, float doedge);
@@ -105,7 +105,7 @@ float      pathlib_h_diagonal2sdp(vector preprev, vector prev, vector point, vec
 float      pathlib_h_none(vector preprev, vector prev) { return 0; }
 var float  pathlib_heuristic(vector from, vector to);
 
-var float  pathlib_makenode(entity parent,vector start, vector to, vector goal,float cost);
-var float  buildpath_nodefilter(vector n,vector c,vector p);
+var bool  pathlib_makenode(entity parent,vector start, vector to, vector goal,float cost);
+var bool  buildpath_nodefilter(vector n,vector c,vector p);
 
 var float  pathlib_wpp_waypointcallback(entity wp, entity wp_prev);
index be901f88668e6c2514be47125b9ec05fd0087d4a..9ebaac9f275830a8115f4ac661165cd8f4235a6b 100644 (file)
@@ -23,102 +23,95 @@ bool location_isok(vector point, bool waterok, bool air_isok)
 
 entity pathlib_nodeatpoint(vector where)
 {
-    entity node;
-
     ++pathlib_searched_cnt;
 
     where.x = fsnap(where.x,pathlib_gridsize);
     where.y = fsnap(where.y,pathlib_gridsize);
 
-    node = findradius(where,pathlib_gridsize * 0.5);
-    while(node)
+    FOREACH_ENTITY_RADIUS(where, pathlib_gridsize * 0.5, it.is_path_node,
     {
-        if(node.is_path_node == true)
-            return node;
-
-        node = node.chain;
-    }
+       return it;
+    });
 
     return NULL;
 }
 
-float tile_check_cross(entity this, vector where)
+bool tile_check_cross(entity this, vector where)
 {
-    vector p,f,r;
-
-    f = PLIB_FORWARD * tile_check_size;
-    r = PLIB_RIGHT   * tile_check_size;
+       vector p;
+    vector f = PLIB_FORWARD * tile_check_size;
+    vector r = PLIB_RIGHT   * tile_check_size;
 
 
     // forward-right
     p = where + f + r;
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (!location_isok(trace_endpos, 1, 0))
-        return 0;
+        return false;
 
     // Forward-left
     p = where + f - r;
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (!location_isok(trace_endpos, 1, 0))
-        return 0;
+        return false;
 
     // Back-right
     p = where - f + r;
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (!location_isok(trace_endpos, 1 ,0))
-        return 0;
+        return false;
 
     //Back-left
     p = where - f - r;
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (!location_isok(trace_endpos, 1, 0))
-        return 0;
+        return false;
 
-    return 1;
+    return true;
 }
 
-float tile_check_plus(entity this, vector where)
+bool tile_check_plus(entity this, vector where)
 {
-    vector p,f,r;
+    vector p;
 
-    f = PLIB_FORWARD * tile_check_size;
-    r = PLIB_RIGHT   * tile_check_size;
+    vector f = PLIB_FORWARD * tile_check_size;
+    vector r = PLIB_RIGHT   * tile_check_size;
 
     // forward
     p = where + f;
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (!location_isok(trace_endpos,1,0))
-        return 0;
+        return false;
 
 
     //left
     p = where - r;
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (!location_isok(trace_endpos,1,0))
-        return 0;
+        return false;
 
     // Right
     p = where + r;
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (!location_isok(trace_endpos,1,0))
-        return 0;
+        return false;
 
     //Back
     p = where - f;
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (!location_isok(trace_endpos,1,0))
-        return 0;
+        return false;
 
-    return 1;
+    return true;
 }
 
 float tile_check_plus2(entity this, vector where)
 {
-    vector p,f,r;
-    float i = 0, e = 0;
+    vector p;
+    int j = 0, e = 0;
 
-    f = PLIB_FORWARD * pathlib_gridsize;
-    r = PLIB_RIGHT   * pathlib_gridsize;
+    vector f = PLIB_FORWARD * pathlib_gridsize;
+    vector r = PLIB_RIGHT   * pathlib_gridsize;
 
 //#define pathlib_node_edgeflag_left    2
 //#define pathlib_node_edgeflag_right   4
@@ -130,7 +123,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (location_isok(trace_endpos,1,0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_forward;
     }
 
@@ -140,7 +133,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (location_isok(trace_endpos,1,0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_left;
     }
 
@@ -150,7 +143,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (location_isok(trace_endpos,1,0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_right;
     }
 
@@ -159,7 +152,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p+tile_check_up,p-tile_check_down,MOVE_WORLDONLY,this);
     if (location_isok(trace_endpos,1,0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_back;
     }
 
@@ -168,7 +161,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (location_isok(trace_endpos, 1, 0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_forwardright;
     }
 
@@ -177,7 +170,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (location_isok(trace_endpos, 1, 0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_forwardleft;
     }
 
@@ -186,7 +179,7 @@ float tile_check_plus2(entity this, vector where)
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (location_isok(trace_endpos, 1 ,0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_backright;
     }
 
@@ -195,22 +188,22 @@ float tile_check_plus2(entity this, vector where)
     traceline(p + tile_check_up, p - tile_check_down, MOVE_WORLDONLY, this);
     if (location_isok(trace_endpos, 1, 0))
     {
-       ++i;
+       ++j;
        e |= pathlib_node_edgeflag_backleft;
     }
 
 
-    if(i == 0)
+    if(j == 0)
         e = pathlib_node_edgeflag_none;
 
     return e;
 }
 
-float tile_check_star(entity this, vector where)
+bool tile_check_star(entity this, vector where)
 {
     if(tile_check_plus(this, where))
         return tile_check_cross(this, where);
 
-    return 0;
+    return false;
 }
 
index faa3c810137a4628ae82b585d43cdcbd1def147c..5aae35599964402a4f63b5ddddf50484f8ae845d 100644 (file)
@@ -506,10 +506,8 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage,
        {
                WeaponStats_LogDamage(awep.m_id, abot, this.(weaponentity).m_weapon.m_id, vbot, dh + da);
        }
-       if (damage)
-       {
-               MUTATOR_CALLHOOK(PlayerDamaged, attacker, this, dh, da, hitloc, deathtype, damage);
-       }
+
+       MUTATOR_CALLHOOK(PlayerDamaged, attacker, this, dh, da, hitloc, deathtype, damage);
 
        if (this.health < 1)
        {
index 31edbc3f0d817c517cd3bd5b6b1d876eca375b19..ef82cc3d603c6751f6811bcdab5a75353ade2268 100644 (file)
@@ -548,30 +548,6 @@ void race_ClearTime(entity e)
        });
 }
 
-void dumpsurface(entity e)
-{
-       float n, si, ni;
-       vector norm, vec;
-       LOG_INFO("Surfaces of ", etos(e), ":\n");
-
-       LOG_INFO("TEST = ", ftos(getsurfacenearpoint(e, '0 0 0')), "\n");
-
-       for(si = 0; ; ++si)
-       {
-               n = getsurfacenumpoints(e, si);
-               if(n <= 0)
-                       break;
-               LOG_INFO("  Surface ", ftos(si), ":\n");
-               norm = getsurfacenormal(e, si);
-               LOG_INFO("    Normal = ", vtos(norm), "\n");
-               for(ni = 0; ni < n; ++ni)
-               {
-                       vec = getsurfacepoint(e, si, ni);
-                       LOG_INFO("    Point ", ftos(ni), " = ", vtos(vec), " (", ftos(norm * vec), ")\n");
-               }
-       }
-}
-
 void checkpoint_passed(entity this, entity player)
 {
        if(player.personal && autocvar_g_allow_checkpoints)
index 09f230dd6bf4bcfa29a50a44171d0a7688f75e06..7854b875e040ad08560926b2e4c67ef2d094cb9c 100644 (file)
@@ -339,9 +339,12 @@ float PlayerScore_Add(entity player, PlayerScoreField scorefield, float score)
                LOG_WARN("Adding score to unknown player!");
                return 0;
        }
-       if(score)
-               if(scores_label(scorefield) != "")
-                       s.SendFlags |= (2 ** (scorefield.m_id % 16));
+       if(!score)
+       {
+               return s.(scores(scorefield));
+       }
+       if(scores_label(scorefield) != "")
+               s.SendFlags |= (2 ** (scorefield.m_id % 16));
        if(!warmup_stage)
                PS_GR_P_ADDVAL(s.owner, strcat(PLAYERSTATS_TOTAL, scores_label(scorefield)), score);
        return (s.(scores(scorefield)) += score);
index cf767659056d5f9cef2a39ae063d18a5923c8c5e..2f9c0787239dbff7d6b7452e840b3de17b2e3860 100644 (file)
@@ -24,6 +24,14 @@ void PlayerScore_Detach(entity player);
  */
 float PlayerScore_Add(entity player, PlayerScoreField scorefield, float score);
 
+/**
+ * \brief Returns the player's score.
+ * \param[in] player Player to inspect.
+ * \param[in] scorefield Field of the score.
+ * \return Player's score.
+ */
+#define PlayerScore_Get(player, scorefield) PlayerScore_Add(player, scorefield, 0)
+
 /**
  * Initialize the score of this player if needed.
  * Does nothing in teamplay.