]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/overkill/sv_overkill.qh
Merge remote-tracking branch 'origin/master' into morosophos/rankings_cnt
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / overkill / sv_overkill.qh
1 #pragma once
2
3 #include "okshotgun.qh"
4 #include "okmachinegun.qh"
5 #include "okhmg.qh"
6 #include "okrpc.qh"
7
8 string autocvar_g_overkill;
9 bool autocvar_g_overkill_filter_healthmega;
10 bool autocvar_g_overkill_filter_armormedium;
11 bool autocvar_g_overkill_filter_armorbig;
12 bool autocvar_g_overkill_filter_armormega;
13
14 .float ok_item;
15
16 REGISTER_MUTATOR(ok, expr_evaluate(autocvar_g_overkill) && !MUTATOR_IS_ENABLED(mutator_instagib) && !g_nexball && cvar_string("g_mod_balance") == "Overkill")
17 {
18         MUTATOR_ONADD
19         {
20                 precache_all_playermodels("models/ok_player/*.dpm");
21
22                 if (autocvar_g_overkill_filter_healthmega)
23                 {
24                         ITEM_HealthMega.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
25                 }
26                 if (autocvar_g_overkill_filter_armormedium)
27                 {
28                         ITEM_ArmorMedium.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
29                 }
30                 if (autocvar_g_overkill_filter_armorbig)
31                 {
32                         ITEM_ArmorBig.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
33                 }
34                 if (autocvar_g_overkill_filter_armormega)
35                 {
36                         ITEM_ArmorMega.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
37                 }
38
39                 WEP_OVERKILL_RPC.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
40                 WEP_OVERKILL_HMG.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
41
42                 WEP_OVERKILL_SHOTGUN.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
43                 WEP_OVERKILL_MACHINEGUN.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
44                 WEP_OVERKILL_NEX.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
45         }
46
47         MUTATOR_ONREMOVE
48         {
49                 ITEM_HealthMega.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
50                 ITEM_ArmorMedium.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
51                 ITEM_ArmorBig.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
52                 ITEM_ArmorMega.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
53
54                 WEP_OVERKILL_RPC.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
55                 WEP_OVERKILL_HMG.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
56
57                 WEP_OVERKILL_SHOTGUN.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
58                 WEP_OVERKILL_MACHINEGUN.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
59                 WEP_OVERKILL_NEX.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
60         }
61 }