27 if(s ==
"all" || s ==
"1")
28 return _(
"All Weapons Arena");
30 return _(
"Most Weapons Arena");
38 for(
int j = 0; j < n; ++j)
46 s = sprintf(_(
"%s Arena"), s);
58 if(
cvar(
"g_instagib"))
59 s =
cons_mid(s,
", ", _(
"InstaGib"));
60 if(
cvar(
"g_new_toys"))
61 s =
cons_mid(s,
", ", _(
"New Toys"));
64 if(
cvar(
"g_rocket_flying"))
65 s =
cons_mid(s,
", ", _(
"Rocket Flying"));
66 if(
cvar(
"g_invincible_projectiles"))
67 s =
cons_mid(s,
", ", _(
"Invincible Projectiles"));
70 else if(
cvar(
"g_balance_blaster_weaponstartoverride") == 0)
71 s =
cons_mid(s,
", ", _(
"No start weapons"));
73 s =
cons_mid(s,
", ", _(
"Low gravity"));
76 if(
cvar(
"g_grappling_hook"))
80 if(
cvar(
"g_melee_only"))
81 s =
cons_mid(s,
", ", _(
"Melee only"));
86 if(
cvar(
"g_weapon_stay"))
87 s =
cons_mid(s,
", ", _(
"Weapons stay"));
88 if(
cvar(
"g_bloodloss") > 0)
89 s =
cons_mid(s,
", ", _(
"Blood loss"));
92 if(
cvar(
"g_buffs") > 0)
94 if(
cvar(
"g_overkill"))
95 s =
cons_mid(s,
", ", _(
"Overkill"));
96 if(
cvar(
"g_powerups") == 0)
97 s =
cons_mid(s,
", ", _(
"No powerups"));
98 if(
cvar(
"g_powerups") > 0)
99 s =
cons_mid(s,
", ", _(
"Powerups"));
100 if(
cvar(
"g_touchexplode") > 0)
101 s =
cons_mid(s,
", ", _(
"Touch explode"));
102 if(
cvar(
"g_walljump"))
103 s =
cons_mid(s,
", ", _(
"Wall jumping"));
105 return ZCTX(_(
"MUT^None"));
112 if(
cvar(
"g_instagib"))
116 if(
cvar(
"g_overkill"))
118 if(
cvar(
"g_melee_only"))
130 if(
cvar(
"g_instagib"))
142 if(
cvar(
"g_instagib"))
150 if(
cvar_string(
"g_balance_blaster_weaponstartoverride") ==
"0")
164 _(
"Enable dodging (quick acceleration in a given direction). Double-tap a directional key to dodge")));
168 _(
"An explosion occurs when two players collide")));
172 _(
"All players are almost invisible")));
176 _(
"Enable buff pickups (random bonuses like Medic, Invisible, etc.) on the maps that support it")));
177 e.cvarOffValue =
"-1";
181 _(
"Only possible to inflict damage on your enemy while they're airborne")));
185 _(
"Damage done to your enemy gets added to your own health")));
190 _(
"Amount of health below which players start bleeding out (health rots and they can't jump)"));
195 me.TD(me, 1, 1.6, s);
199 _(
"Make things fall to the ground slower (percentage of normal gravity)"));
201 s.valueDisplayMultiplier = 0.125;
206 me.TD(me, 1, 1.6, s);
212 _(
"Players spawn with the grappling hook. Press the 'hook' key to use it")));
216 _(
"Players spawn with the jetpack. Double-tap 'jump' or press the 'jetpack' key to use it")));
219 me.TD(me, 1, 1.8, e =
makeXonoticCheckBox_T(0,
"g_invincible_projectiles", _(
"Invincible Projectiles"),
220 _(
"Projectiles can't be destroyed. However, you can still explode Electro orbs with the Electro primary fire")));
225 _(
"Some weapon spawns will be randomly replaced with new weapons: Heavy Laser Assault Cannon, Mine Layer, Rifle, T.A.G. Seeker")));
230 _(
"Devastator rockets can be detonated instantly (otherwise, there's a short delay). This allows players to fire and detonate a Devastator rocket while in the air for a strong mid-air boost even while moving fast")));
235 _(
"Players will drop all weapons they possessed when they are killed")));
240 _(
"Weapons stay after they are picked up")));
244 me.gotoRC(me, 0, 2); me.setFirstColumn(me, me.currentColumn);
246 string weaponarena_tooltip =
strzone(_(
"Players will be given a set of weapons at spawn as well as unlimited ammo, without weapon pickups"));
251 me.TD(me, 1, 1.8, e =
makeXonoticRadioButton_T(1,
"g_weaponarena",
"menu_weaponarena", _(
"Custom weapons"), weaponarena_tooltip));
252 e.cvarValueIsAnotherCvar =
true;
253 e.cvarOffValue =
"0";
273 me.TD(me, 1, 1.8, e =
makeXonoticRadioButton_T(1,
"g_weaponarena",
"most", _(
"Most weapons"), weaponarena_tooltip));
274 e.cvarOffValue =
"0";
278 e.cvarOffValue =
"0";
284 _(
"Players will be given only one weapon, which can instantly kill the opponent with a single shot. If the player runs out of ammo, he will have 10 seconds to find some or if he fails to do so, face death. The secondary fire mode does not inflict any damage but is good for doing trickjumps.")));
285 e.cvarOffValue =
"0";
289 _(
"No items Xonotic - instead of pickup items, everyone plays with the same weapon. After some time, a countdown will start, after which everyone will switch to another weapon.")));
290 e.cvarOffValue =
"0";
294 _(
"Always carry the blaster as an additional weapon in Nix")));
298 me.TD(me, 1, 1.8, e =
makeXonoticRadioButton_T(1,
"g_balance_blaster_weaponstartoverride",
"0", _(
"No start weapons"),
"-"));
299 e.cvarOffValue =
"-1";
300 makeMulti(e,
"g_balance_shotgun_weaponstartoverride g_balance_machinegun_weaponstartoverride g_balance_devastator_weaponstartoverride g_balance_minelayer_weaponstartoverride g_balance_electro_weaponstartoverride g_balance_crylink_weaponstartoverride g_balance_hagar_weaponstartoverride g_balance_porto_weaponstartoverride g_balance_vaporizer_weaponstartoverride g_balance_hook_weaponstartoverride g_balance_rifle_weaponstartoverride g_balance_fireball_weaponstartoverride g_balance_seeker_weaponstartoverride g_balance_tuba_weaponstartoverride g_balance_arc_weaponstartoverride g_balance_vortex_weaponstartoverride g_balance_mortar_weaponstartoverride");
302 me.gotoRC(me, me.rows - 1, 0);
305 e.onClickEntity = me;
312 if(me.refilterEntity)
313 me.refilterEntity.refilter(me.refilterEntity);
entity makeXonoticWeaponarenaCheckBox(string theWeapon, string theText)
#define REGISTRY_GET(id, i)
entity makeXonoticTextLabel(float theAlign, string theText)
void XonoticMutatorsDialog_close(entity me)
string m_name
M: wepname : human readable name.
float checkCompatibility_pinata(entity me)
string weaponarenastring_cvar
const int WEP_FLAG_HIDDEN
string XonoticMutatorsDialog_toString(entity me)
ERASEABLE string cons_mid(string a, string mid, string b)
float checkCompatibility_weaponstay(entity me)
void XonoticMutatorsDialog_fill(entity me)
entity makeXonoticSlider_T(float theValueMin, float theValueMax, float theValueStep, string theCvar, string theTooltip)
entity makeXonoticCheckBox_T(float isInverted, string theCvar, string theText, string theTooltip)
entity makeXonoticSliderCheckBox(float theOffValue, float isInverted, entity theControlledSlider, string theText)
void XonoticMutatorsDialog_showNotify(entity me)
string WeaponArenaString()
const int WEP_FLAG_SPECIALATTACK
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
Weapon Weapon_from_name(string s)
float checkCompatibility_newtoys(entity me)
float checkCompatibility_weaponarena_weapon(entity me)