]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/melee_only/sv_melee_only.qc
Merge branch 'Mario/target_teleporter_v2' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / melee_only / sv_melee_only.qc
1 #include "sv_melee_only.qh"
2
3 string autocvar_g_melee_only;
4 REGISTER_MUTATOR(melee_only, expr_evaluate(autocvar_g_melee_only) && !cvar("g_instagib") && !cvar("g_overkill") && !g_nexball);
5
6 MUTATOR_HOOKFUNCTION(melee_only, SetStartItems, CBC_ORDER_LAST)
7 {
8         start_ammo_shells = warmup_start_ammo_shells = 0;
9         start_weapons = warmup_start_weapons = WEPSET(SHOTGUN);
10 }
11
12 MUTATOR_HOOKFUNCTION(melee_only, SetWeaponArena)
13 {
14         // turn weapon arena off
15         M_ARGV(0, string) = "off";
16 }
17
18 MUTATOR_HOOKFUNCTION(melee_only, ForbidThrowCurrentWeapon)
19 {
20         return true;
21 }
22
23 MUTATOR_HOOKFUNCTION(melee_only, FilterItem)
24 {
25         entity item = M_ARGV(0, entity);
26
27         switch (item.itemdef)
28         {
29                 case ITEM_HealthSmall:
30                 case ITEM_ArmorSmall:
31                         return false;
32         }
33
34         return true;
35 }
36
37 MUTATOR_HOOKFUNCTION(melee_only, BuildMutatorsString)
38 {
39         M_ARGV(0, string) = strcat(M_ARGV(0, string), ":MeleeOnly");
40 }
41
42 MUTATOR_HOOKFUNCTION(melee_only, BuildMutatorsPrettyString)
43 {
44         M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Melee Only Arena");
45 }