Merge branch 'master' into Mario/vaporizer_damage
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutators.qc
1 #if defined(CSQC)
2 #elif defined(MENUQC)
3 #elif defined(SVQC)
4         #include "../../dpdefs/progsdefs.qh"
5     #include "mutators_include.qh"
6     #include "../../common/mapinfo.qh"
7 #endif
8
9 void mutators_add()
10 {
11         #define CHECK_MUTATOR_ADD(mut_cvar,mut_name,dependence) \
12                 { if(cvar(mut_cvar) && dependence) { MUTATOR_ADD(mut_name); } }
13
14         CHECK_MUTATOR_ADD("g_dodging", mutator_dodging, 1);
15         CHECK_MUTATOR_ADD("g_spawn_near_teammate", mutator_spawn_near_teammate, teamplay);
16         CHECK_MUTATOR_ADD("g_physical_items", mutator_physical_items, 1);
17         CHECK_MUTATOR_ADD("g_touchexplode", mutator_touchexplode, 1);
18         CHECK_MUTATOR_ADD("g_instagib", mutator_instagib, !g_nexball);
19         CHECK_MUTATOR_ADD("g_invincible_projectiles", mutator_invincibleprojectiles, 1);
20         CHECK_MUTATOR_ADD("g_new_toys", mutator_new_toys, !cvar("g_instagib") && !cvar("g_overkill"));
21         CHECK_MUTATOR_ADD("g_nix", mutator_nix, !cvar("g_instagib") && !cvar("g_overkill"));
22         CHECK_MUTATOR_ADD("g_rocket_flying", mutator_rocketflying, 1);
23         CHECK_MUTATOR_ADD("g_vampire", mutator_vampire, !cvar("g_instagib"));
24         CHECK_MUTATOR_ADD("g_superspectate", mutator_superspec, 1);
25         CHECK_MUTATOR_ADD("g_pinata", mutator_pinata, !cvar("g_instagib") && !cvar("g_overkill"));
26         CHECK_MUTATOR_ADD("g_midair", mutator_midair, 1);
27         CHECK_MUTATOR_ADD("g_bloodloss", mutator_bloodloss, 1);
28         CHECK_MUTATOR_ADD("g_random_gravity", mutator_random_gravity, 1);
29         CHECK_MUTATOR_ADD("g_multijump", mutator_multijump, 1);
30         CHECK_MUTATOR_ADD("g_melee_only", mutator_melee_only, !cvar("g_instagib") && !g_nexball);
31         CHECK_MUTATOR_ADD("g_nades", mutator_nades, 1);
32         CHECK_MUTATOR_ADD("g_sandbox", sandbox, 1);
33         CHECK_MUTATOR_ADD("g_campcheck", mutator_campcheck, 1);
34         CHECK_MUTATOR_ADD("g_overkill", mutator_overkill, !cvar("g_instagib") && !g_nexball && cvar_string("g_mod_balance") == "Overkill");
35         CHECK_MUTATOR_ADD("g_buffs", mutator_buffs, 1);
36
37         #undef CHECK_MUTATOR_ADD
38 }