]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/mutators/mutator_melee_only.qc
019eeb8017af87f196e5c100a9fdb0f0f50e44c2
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_melee_only.qc
1
2 #include "mutator.qh"
3
4 MUTATOR_HOOKFUNCTION(melee_SetStartItems)
5 {
6         start_ammo_shells = warmup_start_ammo_shells = 0;
7         start_weapons = warmup_start_weapons = WEPSET(SHOTGUN);
8
9         return false;
10 }
11
12 MUTATOR_HOOKFUNCTION(melee_ForbidThrowing)
13 {
14         return true;
15 }
16
17 MUTATOR_HOOKFUNCTION(melee_FilterItem)
18 {SELFPARAM();
19         switch (self.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_BuildMutatorsString)
30 {
31         ret_string = strcat(ret_string, ":MeleeOnly");
32         return false;
33 }
34
35 MUTATOR_HOOKFUNCTION(melee_BuildMutatorsPrettyString)
36 {
37         ret_string = strcat(ret_string, ", Melee Only Arena");
38         return false;
39 }
40
41 MUTATOR_DEFINITION(mutator_melee_only)
42 {
43         MUTATOR_HOOK(SetStartItems, melee_SetStartItems, CBC_ORDER_ANY);
44         MUTATOR_HOOK(ForbidThrowCurrentWeapon, melee_ForbidThrowing, CBC_ORDER_ANY);
45         MUTATOR_HOOK(FilterItem, melee_FilterItem, CBC_ORDER_ANY);
46         MUTATOR_HOOK(BuildMutatorsString, melee_BuildMutatorsString, CBC_ORDER_ANY);
47         MUTATOR_HOOK(BuildMutatorsPrettyString, melee_BuildMutatorsPrettyString, CBC_ORDER_ANY);
48
49         return false;
50 }