/*.dat
/*.lno
+cscope*
.DS_Store
.idea/
+Thumbs.db
-Sun Oct 31 07:23:44 CET 2021
+Sat Nov 20 07:23:16 CET 2021
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"
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
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
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
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
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
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 0
+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
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 0
+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
# 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
# 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"
#: 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!"
"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"
#: 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:"
#: 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 ""
#: 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"
# 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
"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"
#: 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"
# 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 ""
# 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"
#: 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
#: 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:"
#: 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."
#: 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
# 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
"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"
#: 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
#: 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"
#: 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
#: 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:"
#: 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..."
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%
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%
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;
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);
}
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)
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;
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+)
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)
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;
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)
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;
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)
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");
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;
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);
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);
+ }
+ }
}
}
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) \