]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'terencehill/health_armor_icons' into 'master'
authorterencehill <piuntn@gmail.com>
Sun, 21 Nov 2021 21:57:43 +0000 (21:57 +0000)
committerterencehill <piuntn@gmail.com>
Sun, 21 Nov 2021 21:57:43 +0000 (21:57 +0000)
Add proper health / armor icons (used by the ItemStats and ItemsTime panels)

Closes #2561

See merge request xonotic/xonotic-data.pk3dir!941

30 files changed:
.gitignore
.tx/merge-base
_hud_common.cfg
bal-wep-mario.cfg
bal-wep-nexuiz25.cfg
bal-wep-samual.cfg
bal-wep-xdf.cfg
bal-wep-xonotic.cfg
balance-xonotic.cfg
balance-xpm.cfg
common.cs.po
common.es.po
common.fi.po
common.fr.po
common.he.po
common.ja_JP.po
common.zh_CN.po
gfx/hud/default/ammo_supercells.tga [new file with mode: 0644]
gfx/hud/luminos/ammo_supercells.tga [new file with mode: 0644]
gfx/hud/old/ammo_supercells.tga [new file with mode: 0644]
languages.txt
qcsrc/client/hud/panel/healtharmor.qc
qcsrc/client/hud/panel/healtharmor.qh
qcsrc/client/hud/panel/strafehud.qc
qcsrc/common/gamemodes/gamemode/clanarena/sv_clanarena.qc
qcsrc/common/gamemodes/gamemode/freezetag/sv_freezetag.qc
qcsrc/common/gamemodes/gamemode/lms/sv_lms.qc
qcsrc/common/mutators/mutator/overkill/sv_overkill.qc
qcsrc/common/weapons/weapon/electro.qc
qcsrc/common/weapons/weapon/electro.qh

index f4611af9310bd9c5c7ab12a06bf04387fd72d086..cfb3f6fcb5945323788e0223f631b80fbc7c6947 100644 (file)
@@ -1,5 +1,7 @@
 /*.dat
 /*.lno
 
+cscope*
 .DS_Store
 .idea/
+Thumbs.db
index 75fa4f513b35a1788687cdc13a093a823bd35e4f..999c3df8ea0f0419fd185e0fe70dd0e72089890b 100644 (file)
@@ -1 +1 @@
-Sun Oct 31 07:23:44 CET 2021
+Sat Nov 20 07:23:16 CET 2021
index 2d5aa2cfa1a374d2fbc80ab89328177984611af9..c5d37c1dc11a628cebf9d54c9bfd1a759f87240c 100644 (file)
@@ -84,6 +84,7 @@ seta hud_panel_ammo_hide_ondeath 0 "hide this panel when dead"
 
 seta hud_panel_powerups_hide_ondeath 0 "hide this panel when dead"
 
+seta hud_panel_healtharmor_fuelbar_startalpha "0.3" "start alpha of the fuel bar"
 seta hud_panel_healtharmor_oxygenbar_startalpha "0.2" "start alpha of the oxygen bar"
 seta hud_panel_healtharmor_maxhealth "200" "when you have this much health, the health status bar is full"
 seta hud_panel_healtharmor_maxarmor "200" "when you have this much armor, the armor status bar is full"
index 3a213f8bbc2a83881790bbcecb5d263f368f95ba..adb7cc654fa3565e82441a1ca9115936191ebfc1 100644 (file)
@@ -225,6 +225,7 @@ set g_balance_electro_secondary_speed_up 200
 set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0
 set g_balance_electro_secondary_stick 0
+set g_balance_electro_secondary_stick_lifetime -1
 set g_balance_electro_secondary_touchexplode 1
 set g_balance_electro_switchdelay_drop 0.2
 set g_balance_electro_switchdelay_raise 0.2
index 59f59903fbd10cd48cc320ba93a3d77b20b207c4..17f5b31cab3b29b313e70f27606e6cf42bd7e082 100644 (file)
@@ -225,6 +225,7 @@ set g_balance_electro_secondary_speed_up 200
 set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0.04
 set g_balance_electro_secondary_stick 0
+set g_balance_electro_secondary_stick_lifetime -1
 set g_balance_electro_secondary_touchexplode 0
 set g_balance_electro_switchdelay_drop 0.15
 set g_balance_electro_switchdelay_raise 0.15
index d1c3c175c71e9908d4dd27173d15989305a251fd..2799a2496b47fb4debea904aa6b051b95c59a621 100644 (file)
@@ -225,6 +225,7 @@ set g_balance_electro_secondary_speed_up 200
 set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0.04
 set g_balance_electro_secondary_stick 0
+set g_balance_electro_secondary_stick_lifetime -1
 set g_balance_electro_secondary_touchexplode 0
 set g_balance_electro_switchdelay_drop 0.2
 set g_balance_electro_switchdelay_raise 0.2
index d85c76918758e1b491ede88612c65b0faa18f6d7..09466acce81bcb3949c256133dce2a9675c89acc 100644 (file)
@@ -225,6 +225,7 @@ set g_balance_electro_secondary_speed_up 200
 set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0
 set g_balance_electro_secondary_stick 0
+set g_balance_electro_secondary_stick_lifetime -1
 set g_balance_electro_secondary_touchexplode 0
 set g_balance_electro_switchdelay_drop 0
 set g_balance_electro_switchdelay_raise 0
index c0b7afc40c0852800d269dccbc916f58f4bea9e6..566b869f778bcab92e0a8823f3157714b83e8e65 100644 (file)
@@ -225,6 +225,7 @@ set g_balance_electro_secondary_speed_up 200
 set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0
 set g_balance_electro_secondary_stick 0
+set g_balance_electro_secondary_stick_lifetime -1
 set g_balance_electro_secondary_touchexplode 1
 set g_balance_electro_switchdelay_drop 0.2
 set g_balance_electro_switchdelay_raise 0.2
index 5731be9f5f24e0311f84f01aeef467fd68ce161e..784e447f418137208402e10d7b9cd2a99c974621 100644 (file)
@@ -34,7 +34,7 @@ set g_ca_start_ammo_cells 180
 set g_ca_start_ammo_plasma 180
 set g_ca_start_ammo_fuel 0
 set g_ft_start_health 100
-set g_ft_start_armor 
+set g_ft_start_armor 100
 set g_ft_start_ammo_shells 60
 set g_ft_start_ammo_nails 320
 set g_ft_start_ammo_rockets 160
index ed2b81c3f3e4a6093ad6127b410803eb2f841d0c..189be9c718544d7eb19e52dc8d67329c6df49e39 100644 (file)
@@ -34,7 +34,7 @@ set g_ca_start_ammo_cells 180
 set g_ca_start_ammo_plasma 180
 set g_ca_start_ammo_fuel 0
 set g_ft_start_health 100
-set g_ft_start_armor 
+set g_ft_start_armor 100
 set g_ft_start_ammo_shells 60
 set g_ft_start_ammo_nails 320
 set g_ft_start_ammo_rockets 160
index 2c2b77bafc0c0351a1b625b8e3a736922f370ba6..1b200fd725601333fdfae5d608a2a414fcf76e80 100644 (file)
@@ -7,7 +7,8 @@
 # Adam Říha, 2021
 # Adam Říha, 2021
 # fasdasd sdasd <transifexalternativeaccount@yopmail.com>, 2021
-# GamingasCZ <gamingforyou875@gmail.com>, 2019
+# gamingforyou875 <gamingforyou875@gmail.com>, 2019
+# gamingforyou875 <gamingforyou875@gmail.com>, 2019
 # Jan Kocka <kockahonza@gmail.com>, 2019
 # Jiří Vrána <jirkacz199@gmail.com>, 2020-2021
 # Martin Taibr <taibr.martin@gmail.com>, 2017
index f62afa318c5dacd9abf52797332562ece404f6ae..4681241f30dc30423eef9ccaf903695e276fa4a8 100644 (file)
 # Ari_tent <xonotic@outlook.com>, 2014
 # Yllelder, 2016
 # Yllelder, 2016
+# z 411 <winrar.hurr@gmail.com>, 2021
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-10-17 07:22+0200\n"
-"PO-Revision-Date: 2021-10-17 05:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-11-15 21:37+0000\n"
+"Last-Translator: z 411 <winrar.hurr@gmail.com>\n"
 "Language-Team: Spanish (http://www.transifex.com/team-xonotic/xonotic/"
 "language/es/)\n"
 "Language: es\n"
@@ -1593,7 +1594,7 @@ msgstr "¡Bien hecho! Haz clic en 'Siguiente nivel' para continuar"
 #: qcsrc/common/minigames/minigame/ps.qc:498
 #: qcsrc/common/minigames/minigame/ttt.qc:329
 msgid "You are spectating"
-msgstr ""
+msgstr "Estás espectando"
 
 #: qcsrc/common/minigames/minigame/bd.qc:1184
 msgid "Better luck next time!"
@@ -8763,6 +8764,8 @@ msgid ""
 "Warning: if enabled in team games your team's color may be the same as the "
 "enemy team"
 msgstr ""
+"Advertencia: seleccionando 'Siempre' el color de su equipo puede ser el "
+"mismo que el del equipo enemigo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:57
 msgid "Except in team games"
@@ -8774,11 +8777,11 @@ msgstr "Sólo en Duelo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:59
 msgid "Only in team games"
-msgstr ""
+msgstr "Sólo en juego de equipo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:60
 msgid "In team games and Duel"
-msgstr ""
+msgstr "En juegos de equipo y duelo"
 
 #: qcsrc/menu/xonotic/dialog_settings_game_model.qc:64
 msgid "Body fading:"
@@ -10081,27 +10084,27 @@ msgstr "¡DIOS!"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:15
 msgid "PARTQUAL^Low"
-msgstr ""
+msgstr "PARTQUAL^Bajo"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:16
 msgid "PARTQUAL^Medium"
-msgstr ""
+msgstr "PARTQUAL^Medio"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:17
 msgid "PARTQUAL^Normal"
-msgstr ""
+msgstr "PARTQUAL^Normal"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:18
 msgid "PARTQUAL^High"
-msgstr ""
+msgstr "PARTQUAL^Alto"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:19
 msgid "PARTQUAL^Ultra"
-msgstr ""
+msgstr "PARTQUAL^Ultra"
 
 #: qcsrc/menu/xonotic/slider_particles.qc:20
 msgid "PARTQUAL^Ultimate"
-msgstr ""
+msgstr "PARTQUAL^Máximo"
 
 #: qcsrc/menu/xonotic/slider_picmip.qc:13
 msgid ""
@@ -10118,19 +10121,19 @@ msgstr "Resolución de pantalla"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:13
 msgid "FADESPEED^Slow"
-msgstr ""
+msgstr "FADESPEED^Lento"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:14
 msgid "FADESPEED^Normal"
-msgstr ""
+msgstr "FADESPEED^Normal"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:15
 msgid "FADESPEED^Fast"
-msgstr ""
+msgstr "FADESPEED^Rápido"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:16
 msgid "FADESPEED^Instant"
-msgstr ""
+msgstr "FADESPEED^Instantáneo"
 
 #: qcsrc/menu/xonotic/statslist.qc:29
 msgid "January"
index 0284a0548ff69e4801b3b43420e97be2d1e08414..087a190d5b670612fe6927fccfc4ae253e34891c 100644 (file)
@@ -3,7 +3,8 @@
 # This file is distributed under the same license as the PACKAGE package.
 #
 # Translators:
-# Dr Jaska <drjaska83@gmail.com>, 2020
+# Dr. Jaska <drjaska83@gmail.com>, 2020
+# Dr. Jaska <drjaska83@gmail.com>, 2020
 # Henry 'Exitium' Sanmark <henry.sanmark@gmail.com>, 2011
 # Jonas Sahlberg <fragthelion@gmail.com>, 2015
 # Oi Suomi On! <oisuomion@protonmail.com>, 2020
index aab1798b5a20f4d54a8453afea3c94733120df00..7e61e719018385c0d75a6d7d6762ed3b6e9ee763 100644 (file)
@@ -20,7 +20,7 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-10-17 07:22+0200\n"
-"PO-Revision-Date: 2021-10-30 16:01+0000\n"
+"PO-Revision-Date: 2021-11-19 20:18+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"
@@ -10125,19 +10125,19 @@ msgstr "Résolution de l'écran"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:13
 msgid "FADESPEED^Slow"
-msgstr ""
+msgstr "Lente"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:14
 msgid "FADESPEED^Normal"
-msgstr ""
+msgstr "Normale"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:15
 msgid "FADESPEED^Fast"
-msgstr ""
+msgstr "Rapide"
 
 #: qcsrc/menu/xonotic/slider_sbfadetime.qc:16
 msgid "FADESPEED^Instant"
-msgstr ""
+msgstr "Instantanée"
 
 #: qcsrc/menu/xonotic/statslist.qc:29
 msgid "January"
index dbcb6c3921ddf6947de99fd13b51fed4b119dc82..3f2d9881f1ccb70fd9ad3a24b3fcb08f9f0d5800 100644 (file)
@@ -5,8 +5,8 @@
 # Translators:
 # nad le <nadavlevi726@gmail.com>, 2018
 # Omer I.S., 2020
-# Omeritzics Games <omeritzicschwartz@gmail.com>, 2020
-# Omeritzics Games <omeritzicschwartz@gmail.com>, 2020
+# Omer I.S. <omeritzicschwartz@gmail.com>, 2020
+# Omer I.S. <omeritzicschwartz@gmail.com>, 2020
 # Roi Asher Gerszkoviez <gerszkoviez@gmail.com>, 2020
 # Tal Leibman <leibman2@gmail.com>, 2019
 msgid ""
index f110f732506143e3e6ca8ec89b250613510e649d..23d891ede7976937763d39b068902c5e8a50b87a 100644 (file)
@@ -9,13 +9,14 @@
 # LegendGuard, 2020-2021
 # Lento <securemailfor28-xonotic@yahoo.co.jp>, 2015
 # RYU N. <ryusho2523@yahoo.co.jp>, 2021
+# z 411 <winrar.hurr@gmail.com>, 2021
 msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-10-17 07:22+0200\n"
-"PO-Revision-Date: 2021-10-17 05:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-11-15 21:41+0000\n"
+"Last-Translator: z 411 <winrar.hurr@gmail.com>\n"
 "Language-Team: Japanese (Japan) (http://www.transifex.com/team-xonotic/"
 "xonotic/language/ja_JP/)\n"
 "Language: ja_JP\n"
@@ -32,7 +33,7 @@ msgstr "^2%s への書き出すに成功! (註: data/data/ に保存されまし
 #: qcsrc/client/hud/hud_config.qc:84
 #, c-format
 msgid "^1Couldn't write to %s"
-msgstr "^1%sへ書けませんでした"
+msgstr "^1%sへの書き込みは失敗しました"
 
 #: qcsrc/client/hud/panel/centerprint.qc:173
 #, c-format
@@ -195,7 +196,7 @@ msgstr "チームメニュー"
 
 #: qcsrc/client/hud/panel/infomessages.qc:207
 msgid "^1Spectating this player:"
-msgstr "^1この選手を観戦中:"
+msgstr "^1このプレイヤーを観戦中:"
 
 #: qcsrc/client/hud/panel/infomessages.qc:207
 msgid "^1Spectating you:"
@@ -203,7 +204,7 @@ msgstr "^1あなたを観戦中:"
 
 #: qcsrc/client/hud/panel/infomessages.qc:223
 msgid "^7Press ^3ESC ^7to show HUD options."
-msgstr "^7HUDã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92表示ã\81\99ã\82\8bã\81\9fã\82\81ã\81« ^3ESC ^7ã\82\92æ\8a¼ã\81\97ã\81¦。"
+msgstr "^7HUDã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92表示ã\81\99ã\82\8bã\81«ã\81¯ ^3ESC ^7ã\82­ã\83¼ã\82\92æ\8a¼ã\81\97ã\81¦ä¸\8bã\81\95ã\81\84。"
 
 #: qcsrc/client/hud/panel/infomessages.qc:224
 msgid "^3Doubleclick ^7a panel for panel-specific options."
@@ -221,7 +222,7 @@ msgstr "^3ALT ^7+ ^3ARROW KEYS ^7で微調整する。"
 #: qcsrc/client/hud/panel/score.qc:66
 #, c-format
 msgid "Player %d"
-msgstr "選手 %d"
+msgstr "プレイヤー %d"
 
 #: qcsrc/client/hud/panel/quickmenu.qc:617
 #: qcsrc/client/hud/panel/quickmenu.qc:619
index 4c14c46ca5a26b857d60a870c335aee42e7cb4b5..1ac7c6e104ddf1b0a4e414f70aa51685055a4189 100644 (file)
@@ -11,6 +11,8 @@
 # kalawore <kalawore@outlook.com>, 2015
 # Liang Liu <dxkliu@126.com>, 2019
 # Losier Blackheath <losier.cc@gmail.com>, 2018
+# Matthew Wu, 2021
+# Matthew Wu, 2021
 # moetale <moetale@outlook.com>, 2021
 # sapphireliu <balancedliu@gmail.com>, 2014
 # CodingJellyfish <dumaosen_main01@outlook.com>, 2018-2020
@@ -21,8 +23,8 @@ msgstr ""
 "Project-Id-Version: Xonotic\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-10-17 07:22+0200\n"
-"PO-Revision-Date: 2021-10-17 05:22+0000\n"
-"Last-Translator: divVerent <divVerent@xonotic.org>\n"
+"PO-Revision-Date: 2021-11-05 17:08+0000\n"
+"Last-Translator: Matthew Wu\n"
 "Language-Team: Chinese (China) (http://www.transifex.com/team-xonotic/"
 "xonotic/language/zh_CN/)\n"
 "Language: zh_CN\n"
@@ -4468,19 +4470,19 @@ msgstr ""
 
 #: qcsrc/common/notifications/all.qh:525
 msgid "First blood! "
-msgstr ""
+msgstr "第一滴血!"
 
 #: qcsrc/common/notifications/all.qh:525
 msgid "First score! "
-msgstr ""
+msgstr "首先得分!"
 
 #: qcsrc/common/notifications/all.qh:529
 msgid "First casualty! "
-msgstr ""
+msgstr "第一个倒下!"
 
 #: qcsrc/common/notifications/all.qh:529
 msgid "First victim! "
-msgstr ""
+msgstr "第一个牺牲者!"
 
 #: qcsrc/common/notifications/all.qh:570
 #, c-format
@@ -5804,11 +5806,11 @@ msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.qc:20
 msgid "Chat size:"
-msgstr ""
+msgstr "对话大小"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.qc:24
 msgid "Chat lifetime:"
-msgstr ""
+msgstr "对话时间"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_chat.qc:28
 msgid "Chat beep sound"
@@ -5850,14 +5852,14 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.qc:27
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.qc:37
 msgid "Inward"
-msgstr ""
+msgstr "向内"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.qc:31
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.qc:40
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.qc:29
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.qc:38
 msgid "Outward"
-msgstr ""
+msgstr "向外"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.qc:34
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.qc:32
@@ -6604,7 +6606,7 @@ msgstr "机器人数量:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:123
 msgid "Amount of bots on your server"
-msgstr ""
+msgstr "服务器上的机器人数量:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create.qc:125
 msgid "Bot skill:"
@@ -9943,7 +9945,7 @@ msgstr "%d (未评级)"
 
 #: qcsrc/menu/xonotic/util.qc:420
 msgid "Update can be downloaded at:"
-msgstr ""
+msgstr "更新可从以下网址下载:"
 
 #: qcsrc/menu/xonotic/util.qc:528
 msgid "Autogenerating mapinfo for newly added maps..."
diff --git a/gfx/hud/default/ammo_supercells.tga b/gfx/hud/default/ammo_supercells.tga
new file mode 100644 (file)
index 0000000..eda3e46
Binary files /dev/null and b/gfx/hud/default/ammo_supercells.tga differ
diff --git a/gfx/hud/luminos/ammo_supercells.tga b/gfx/hud/luminos/ammo_supercells.tga
new file mode 100644 (file)
index 0000000..eda3e46
Binary files /dev/null and b/gfx/hud/luminos/ammo_supercells.tga differ
diff --git a/gfx/hud/old/ammo_supercells.tga b/gfx/hud/old/ammo_supercells.tga
new file mode 100644 (file)
index 0000000..5365314
Binary files /dev/null and b/gfx/hud/old/ammo_supercells.tga differ
index 883de37230021cd39eb90dd6dbca800a6b1b13d2..fa5a58d55f5ac1eb6d328440ff56f22135ec687d 100644 (file)
@@ -3,8 +3,8 @@ de    "German" "Deutsch" 100%
 de_CH "German (Switzerland)" "Deutsch (Schweiz)" 100%
 en    "English" "English" 100%
 en_AU "English (Australia)" "English (Australia)" 73%
-es    "Spanish" "Español" 99%
-fr    "French" "Français" 99%
+es    "Spanish" "Español" 100%
+fr    "French" "Français" 100%
 ga    "Irish" "Irish" 31%
 it    "Italian" "Italiano" 100%
 hu    "Hungarian" "Magyar" 46%
@@ -22,7 +22,7 @@ bg    "Bulgarian" "Български" 62%
 ru    "Russian" "Русский" 100%
 sr    "Serbian" "Српски" 62%
 uk    "Ukrainian" "Українська" 48%
-zh_CN "Chinese (China)" "中文" 59%
+zh_CN "Chinese (China)" "中文" 60%
 zh_TW "Chinese (Taiwan)" "國語" 59%
 ja_JP "Japanese" "日本語" 99%
 ko    "Korean" "한국의" 28%
index bc5b68b0a94c53bf9b0c782482c3eaa3586e6d4f..f84a3733027ca22cebc904f0926749fef1a4d04e 100644 (file)
@@ -110,6 +110,16 @@ void HUD_HealthArmor()
                air_alpha = bound(0, start_alpha + (1 - start_alpha) * (1 - f), 1);
        }
 
+       float fuel_alpha;
+       if (!fuel)
+               fuel_alpha = 0;
+       else
+       {
+               float start_alpha = autocvar_hud_panel_healtharmor_fuelbar_startalpha;
+               float f = (100 - fuel) / 50;
+               fuel_alpha = bound(0, start_alpha + (1 - start_alpha) * f, 1);
+       }
+
        int baralign = autocvar_hud_panel_healtharmor_baralign;
        int iconalign = autocvar_hud_panel_healtharmor_iconalign;
 
@@ -142,7 +152,7 @@ void HUD_HealthArmor()
                        DrawNumIcon(pos, mySize, hp, biggercount, false, false, iconalign, HUD_Get_Num_Color(hp, maxtotal, true), 1);
 
                if(fuel)
-                       HUD_Panel_DrawProgressBar(pos, vec2(mySize.x, 0.2 * mySize.y), "progressbar", fuel/100, 0, (baralign == 1 || baralign == 3), autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
+                       HUD_Panel_DrawProgressBar(pos, vec2(mySize.x, 0.2 * mySize.y), "progressbar", fuel / 100, 0, (baralign == 1 || baralign == 3), autocvar_hud_progressbar_fuel_color, fuel_alpha * panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
                if(air_time)
                        HUD_Panel_DrawProgressBar(pos + eY * 0.8 * mySize.y, vec2(mySize.x, 0.2 * mySize.y), "progressbar", air_time / 10, 0, (baralign == 1 || baralign == 3), autocvar_hud_progressbar_oxygen_color, air_alpha * panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
        }
@@ -298,7 +308,7 @@ void HUD_HealthArmor()
                        else if (panel_ar < 1/4)
                                mySize.y *= 2; //restore full panel size
                        if (fuel)
-                               HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", fuel/100, is_vertical, fuel_baralign, autocvar_hud_progressbar_fuel_color, panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
+                               HUD_Panel_DrawProgressBar(pos, mySize, "progressbar", fuel / 100, is_vertical, fuel_baralign, autocvar_hud_progressbar_fuel_color, fuel_alpha * panel_fg_alpha * 0.8, DRAWFLAG_NORMAL);
                        if (air_time)
                        {
                                if (panel_ar > 1 && panel_ar < 4)
index 538d18780b7ba2b036a352731febc1c6dd29e25d..47a101738b57507dc0565e3dcf329b0cc9ef9eb5 100644 (file)
@@ -10,6 +10,7 @@ bool autocvar_hud_panel_healtharmor_hide_ondeath  = false;
 int autocvar_hud_panel_healtharmor_iconalign;
 int autocvar_hud_panel_healtharmor_maxarmor;
 int autocvar_hud_panel_healtharmor_maxhealth;
+float autocvar_hud_panel_healtharmor_fuelbar_startalpha = 0.3;
 float autocvar_hud_panel_healtharmor_oxygenbar_startalpha = 0.2;
 bool autocvar_hud_panel_healtharmor_progressbar;
 string autocvar_hud_panel_healtharmor_progressbar_armor;
index 2f0df08213ec3c599888571f4063b77fe99185a8..5ddc30d2365bfd3a51bda133adcee303c7b27bda 100644 (file)
@@ -37,12 +37,6 @@ bool state_fwd_prev = true;
 float state_fwd_time = 0;
 float starttime = 0;
 float startspeed = -1;
-float jumptime = 0;
-float jumpheight = -1;
-float jumpheight_persistent = -1;
-float jumpheight_prev = 0;
-float jumpspeed_prev = 0;
-bool  jumprestart = true;
 
 // provide basic panel cvars to old clients
 // TODO remove them after a future release (0.8.2+)
@@ -655,58 +649,35 @@ void HUD_StrafeHUD()
             startspeed = -1;
         }
 
-        // experimental: show height achieved by a single jump (doesn't work in low gravity and may not be 100% accurate)
-        if(autocvar_hud_panel_strafehud_jumpheight_fade > 0)
+        // show height achieved by a single jump
+        if(autocvar_hud_panel_strafehud_jumpheight_fade > 0 && autocvar_hud_panel_strafehud_jumpheight_size > 0)
         {
-            float text_alpha = 0;
-            float jumpheight_min = max(autocvar_hud_panel_strafehud_jumpheight_min, 0);
-            float jumpheight_current = strafeplayer.origin.z;
-            float jumpspeed_current = strafeplayer.velocity.z;
-            if(jumpspeed_prev <= jumpspeed_current || jumpheight_prev > jumpheight_current || IS_ONGROUND(strafeplayer) || swimming || IS_DEAD(strafeplayer) || spectating)
+            static float height_min = 0, height_max = 0; // ground and peak of jump z coordinates
+            static float jumpheight = 0, jumptime = 0;   // displayed value and timestamp for fade out
+
+            // tries to catch kill and spectate but those are not reliable, should just hook to kill/spectate/teleport and reset jump height there
+            if((strafeplayer.velocity.z <= 0 && height_max >= strafeplayer.origin.z) || IS_ONGROUND(strafeplayer) || swimming || IS_DEAD(strafeplayer) || spectating)
             {
-                // tries to catch kill and spectate but those are not reliable, should just hook to kill/spectate/teleport and reset jump height there
-                jumprestart = true;
+                height_min = height_max = strafeplayer.origin.z;
             }
-            else
+            else if(strafeplayer.origin.z > height_max)
             {
-                if(jumpheight < 0 || jumprestart)
-                {
-                    jumprestart = false;
-                    jumpheight = 0;
-                }
-                else
-                {
-                    jumpheight += jumpheight_current - jumpheight_prev;
-                }
-                if((jumpheight * length_conversion_factor) > jumpheight_min && jumpheight > jumpheight_persistent)
-                {
+                height_max = strafeplayer.origin.z;
+                jumpheight = (height_max - height_min) * length_conversion_factor;
+
+                if(jumpheight > max(autocvar_hud_panel_strafehud_jumpheight_min, 0))
                     jumptime = time;
-                    jumpheight_persistent = jumpheight;
-                }
-            }
-            jumpheight_prev = jumpheight_current;
-            jumpspeed_prev = jumpspeed_current;
-            if(jumpheight_persistent > 0)
-            {
-                text_alpha = cos(((time - jumptime) / autocvar_hud_panel_strafehud_jumpheight_fade) * 90 * DEG2RAD); // fade non-linear like the physics panel does
-                if((time - jumptime) > autocvar_hud_panel_strafehud_jumpheight_fade)
-                {
-                    jumpheight_persistent = -1;
-                }
             }
-            if(jumpheight_persistent > 0 && text_alpha > 0 && autocvar_hud_panel_strafehud_jumpheight_size > 0)
+
+            if((time - jumptime) <= autocvar_hud_panel_strafehud_jumpheight_fade)
             {
+                float text_alpha = cos(((time - jumptime) / autocvar_hud_panel_strafehud_jumpheight_fade) * 90 * DEG2RAD); // fade non-linear like the physics panel does
                 vector jumpheight_size = panel_size;
                 jumpheight_size.y = panel_size.y * min(autocvar_hud_panel_strafehud_jumpheight_size, 5);
                 string length_unit = GetLengthUnit(autocvar_hud_panel_strafehud_unit);
-                drawstring_aspect(panel_pos - eY * jumpheight_size.y, strcat(ftos_decimals(jumpheight_persistent * length_conversion_factor, length_decimals), autocvar_hud_panel_strafehud_unit_show ? length_unit : ""), jumpheight_size, autocvar_hud_panel_strafehud_jumpheight_color, text_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+                drawstring_aspect(panel_pos - eY * jumpheight_size.y, strcat(ftos_decimals(jumpheight, length_decimals), autocvar_hud_panel_strafehud_unit_show ? length_unit : ""), jumpheight_size, autocvar_hud_panel_strafehud_jumpheight_color, text_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
             }
         }
-        else
-        {
-            jumpheight_prev = jumpspeed_prev = 0;
-            jumpheight = jumpheight_persistent = -1;
-        }
         draw_endBoldFont();
 
         if(speed < (maxspeed + antiflicker_speed) && !immobile)
index abdfe030eebd088fba76fc219b1acc73e04a0501..d40c04c0b658a63087c801a92d607bf20dd9493d 100644 (file)
@@ -3,6 +3,15 @@
 float autocvar_g_ca_damage2score_multiplier;
 bool autocvar_g_ca_spectate_enemies;
 
+float autocvar_g_ca_start_health = 200;
+float autocvar_g_ca_start_armor = 200;
+float autocvar_g_ca_start_ammo_shells = 60;
+float autocvar_g_ca_start_ammo_nails = 320;
+float autocvar_g_ca_start_ammo_rockets = 160;
+float autocvar_g_ca_start_ammo_cells = 180;
+float autocvar_g_ca_start_ammo_plasma = 180;
+float autocvar_g_ca_start_ammo_fuel = 0;
+
 void CA_count_alive_players()
 {
        total_players = 0;
@@ -328,14 +337,17 @@ MUTATOR_HOOKFUNCTION(ca, GiveFragsForKill, CBC_ORDER_FIRST)
 MUTATOR_HOOKFUNCTION(ca, SetStartItems)
 {
        start_items       &= ~(IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS);
-       start_health       = warmup_start_health       = cvar("g_ca_start_health");
-       start_armorvalue   = warmup_start_armorvalue   = cvar("g_ca_start_armor");
-       start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_ca_start_ammo_shells");
-       start_ammo_nails   = warmup_start_ammo_nails   = cvar("g_ca_start_ammo_nails");
-       start_ammo_rockets = warmup_start_ammo_rockets = cvar("g_ca_start_ammo_rockets");
-       start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_ca_start_ammo_cells");
-       start_ammo_plasma  = warmup_start_ammo_plasma  = cvar("g_ca_start_ammo_plasma");
-       start_ammo_fuel    = warmup_start_ammo_fuel    = cvar("g_ca_start_ammo_fuel");
+       if(!cvar("g_use_ammunition"))
+               start_items |= IT_UNLIMITED_AMMO;
+
+       start_health       = warmup_start_health       = autocvar_g_ca_start_health;
+       start_armorvalue   = warmup_start_armorvalue   = autocvar_g_ca_start_armor;
+       start_ammo_shells  = warmup_start_ammo_shells  = autocvar_g_ca_start_ammo_shells;
+       start_ammo_nails   = warmup_start_ammo_nails   = autocvar_g_ca_start_ammo_nails;
+       start_ammo_rockets = warmup_start_ammo_rockets = autocvar_g_ca_start_ammo_rockets;
+       start_ammo_cells   = warmup_start_ammo_cells   = autocvar_g_ca_start_ammo_cells;
+       start_ammo_plasma  = warmup_start_ammo_plasma  = autocvar_g_ca_start_ammo_plasma;
+       start_ammo_fuel    = warmup_start_ammo_fuel    = autocvar_g_ca_start_ammo_fuel;
 }
 
 MUTATOR_HOOKFUNCTION(ca, Damage_Calculate)
index 11ddede9bae54f00de654056800560297f784b34..5712c82c980cab2cfa9345f72d284da0301fef6e 100644 (file)
@@ -10,6 +10,15 @@ float autocvar_g_freezetag_round_timelimit;
 int autocvar_g_freezetag_teams_override;
 float autocvar_g_freezetag_warmup;
 
+float autocvar_g_ft_start_health = 100;
+float autocvar_g_ft_start_armor = 100;
+float autocvar_g_ft_start_ammo_shells = 60;
+float autocvar_g_ft_start_ammo_nails = 320;
+float autocvar_g_ft_start_ammo_rockets = 160;
+float autocvar_g_ft_start_ammo_cells = 180;
+float autocvar_g_ft_start_ammo_plasma = 180;
+float autocvar_g_ft_start_ammo_fuel = 0;
+
 void freezetag_count_alive_players()
 {
        total_players = 0;
@@ -695,14 +704,17 @@ MUTATOR_HOOKFUNCTION(ft, PlayerPreThink, CBC_ORDER_FIRST)
 MUTATOR_HOOKFUNCTION(ft, SetStartItems)
 {
        start_items &= ~(IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS);
-       start_health       = warmup_start_health       = cvar("g_ft_start_health");
-       start_armorvalue   = warmup_start_armorvalue   = cvar("g_ft_start_armor");
-       start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_ft_start_ammo_shells");
-       start_ammo_nails   = warmup_start_ammo_nails   = cvar("g_ft_start_ammo_nails");
-       start_ammo_rockets = warmup_start_ammo_rockets = cvar("g_ft_start_ammo_rockets");
-       start_ammo_cells   = warmup_start_ammo_cells   = cvar("g_ft_start_ammo_cells");
-       start_ammo_plasma  = warmup_start_ammo_plasma  = cvar("g_ft_start_ammo_plasma");
-       start_ammo_fuel    = warmup_start_ammo_fuel    = cvar("g_ft_start_ammo_fuel");
+       if(!cvar("g_use_ammunition"))
+               start_items |= IT_UNLIMITED_AMMO;
+
+       start_health       = warmup_start_health       = autocvar_g_ft_start_health;
+       start_armorvalue   = warmup_start_armorvalue   = autocvar_g_ft_start_armor;
+       start_ammo_shells  = warmup_start_ammo_shells  = autocvar_g_ft_start_ammo_shells;
+       start_ammo_nails   = warmup_start_ammo_nails   = autocvar_g_ft_start_ammo_nails;
+       start_ammo_rockets = warmup_start_ammo_rockets = autocvar_g_ft_start_ammo_rockets;
+       start_ammo_cells   = warmup_start_ammo_cells   = autocvar_g_ft_start_ammo_cells;
+       start_ammo_plasma  = warmup_start_ammo_plasma  = autocvar_g_ft_start_ammo_plasma;
+       start_ammo_fuel    = warmup_start_ammo_fuel    = autocvar_g_ft_start_ammo_fuel;
 }
 
 MUTATOR_HOOKFUNCTION(ft, HavocBot_ChooseRole)
index e9ddb4e815ef2a10344f2e0cd11c4aeb17d86d6c..b603a2bd81da44054a4006056ad080fc9cc2349a 100644 (file)
@@ -393,6 +393,9 @@ MUTATOR_HOOKFUNCTION(lms, GiveFragsForKill)
 MUTATOR_HOOKFUNCTION(lms, SetStartItems)
 {
        start_items &= ~(IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS);
+       if(!cvar("g_use_ammunition"))
+               start_items |= IT_UNLIMITED_AMMO;
+
        start_health       = warmup_start_health       = cvar("g_lms_start_health");
        start_armorvalue   = warmup_start_armorvalue   = cvar("g_lms_start_armor");
        start_ammo_shells  = warmup_start_ammo_shells  = cvar("g_lms_start_ammo_shells");
index 1ab45eb284cc8e2256fb41f7ceb1efad5cf23741..7b2459869d3c60b8de1edf542e16d07e5ce11f36 100644 (file)
@@ -262,8 +262,6 @@ MUTATOR_HOOKFUNCTION(ok, SetStartItems, CBC_ORDER_LAST)
        if(WEP_OVERKILL_RPC.weaponstart > 0) { ok_start_items |= WEPSET(OVERKILL_RPC); }
        if(WEP_OVERKILL_HMG.weaponstart > 0) { ok_start_items |= WEPSET(OVERKILL_HMG); }
 
-       // this gives unlimited ammo (the 4 types) but not fuel
-       // using `g_use_ammunition` instead gives also fuel which is unnecessary and distracting in the HUD
        start_items |= IT_UNLIMITED_AMMO;
 
        start_weapons = warmup_start_weapons = ok_start_items;
index c2ec43e8c374bddbdb917343ce44f98b1a08a42e..d80703175983b87eb0c046ffa68e42276aad0d4e 100644 (file)
@@ -312,7 +312,11 @@ void W_Electro_Orb_Stick(entity this, entity to)
        newproj.weaponentity_fld = this.weaponentity_fld;
 
        settouch(newproj, func_null);
-       newproj.death_time = this.death_time;
+       if(WEP_CVAR_SEC(electro, stick_lifetime) > 0){
+               newproj.death_time = time + WEP_CVAR_SEC(electro, stick_lifetime);
+       }else{
+               newproj.death_time = this.death_time;
+       }
        newproj.use = this.use;
        newproj.flags = this.flags;
        IL_PUSH(g_projectiles, newproj);
@@ -351,8 +355,13 @@ void W_Electro_Orb_Touch(entity this, entity toucher)
                spamsound(this, CH_SHOTS, SND_ELECTRO_BOUNCE, VOL_BASE, ATTEN_NORM);
                this.projectiledeathtype |= HITTYPE_BOUNCE;
 
-               if(WEP_CVAR_SEC(electro, stick))
-                       W_Electro_Orb_Stick(this, toucher);
+               if(WEP_CVAR_SEC(electro, stick)){
+                       if(WEP_CVAR_SEC(electro, stick_lifetime) == 0){
+                               W_Electro_Explode(this, toucher);
+                       } else {
+                               W_Electro_Orb_Stick(this, toucher);
+                       }
+               }
        }
 }
 
index 9b7c59074fe8dc04fa9042b0f4838d062e956479..6417243b2efbbd85c0276cf59a0a0c979c486ed2 100644 (file)
@@ -60,6 +60,7 @@ CLASS(Electro, Weapon)
                P(class, prefix, speed_z, float, SEC) \
                P(class, prefix, spread, float, BOTH) \
                P(class, prefix, stick, float, SEC) \
+               P(class, prefix, stick_lifetime, float, SEC) \
                P(class, prefix, switchdelay_drop, float, NONE) \
                P(class, prefix, switchdelay_raise, float, NONE) \
                P(class, prefix, touchexplode, float, SEC) \