]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/melee_only/melee_only.qc
Cleanup server mutators: remove IMPLEMENTATION macro
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / melee_only / melee_only.qc
1 #ifdef IMPLEMENTATION
2 REGISTER_MUTATOR(melee_only, cvar("g_melee_only") && !cvar("g_instagib") && !g_nexball);
3
4 MUTATOR_HOOKFUNCTION(melee_only, SetStartItems)
5 {
6         start_ammo_shells = warmup_start_ammo_shells = 0;
7         start_weapons = warmup_start_weapons = WEPSET(SHOTGUN);
8 }
9
10 MUTATOR_HOOKFUNCTION(melee_only, ForbidThrowCurrentWeapon)
11 {
12         return true;
13 }
14
15 MUTATOR_HOOKFUNCTION(melee_only, FilterItem)
16 {
17         entity item = M_ARGV(0, entity);
18
19         switch (item.items)
20         {
21                 case ITEM_HealthSmall.m_itemid:
22                 case ITEM_ArmorSmall.m_itemid:
23                         return false;
24         }
25
26         return true;
27 }
28
29 MUTATOR_HOOKFUNCTION(melee_only, BuildMutatorsString)
30 {
31         M_ARGV(0, string) = strcat(M_ARGV(0, string), ":MeleeOnly");
32 }
33
34 MUTATOR_HOOKFUNCTION(melee_only, BuildMutatorsPrettyString)
35 {
36         M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Melee Only Arena");
37 }
38 #endif