]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/instagib/sv_instagib.qh
Add a gametype flag to signify that the mode forces its own weapon arena (allows...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / instagib / sv_instagib.qh
1 #pragma once
2
3 #include "items.qh"
4 #include <common/gamemodes/_mod.qh>
5
6 // TODO: make this its own mutator (somehow)!
7 float autocvar_g_rm;
8 float autocvar_g_rm_damage;
9 float autocvar_g_rm_edgedamage;
10 float autocvar_g_rm_force;
11 float autocvar_g_rm_radius;
12 float autocvar_g_rm_laser;
13 float autocvar_g_rm_laser_count;
14 float autocvar_g_rm_laser_speed;
15 float autocvar_g_rm_laser_spread;
16 float autocvar_g_rm_laser_spread_random;
17 float autocvar_g_rm_laser_lifetime;
18 float autocvar_g_rm_laser_damage;
19 float autocvar_g_rm_laser_refire;
20 float autocvar_g_rm_laser_rapid;
21 float autocvar_g_rm_laser_rapid_refire;
22 float autocvar_g_rm_laser_rapid_delay;
23 float autocvar_g_rm_laser_radius;
24 float autocvar_g_rm_laser_force;
25
26 bool autocvar_g_instagib;
27 float autocvar_g_instagib_invis_alpha;
28 int autocvar_g_instagib_extralives;
29
30 void instagib_invisibility(entity this);
31 void instagib_extralife(entity this);
32 void instagib_speed(entity this);
33
34 REGISTER_MUTATOR(mutator_instagib, autocvar_g_instagib && !MapInfo_LoadedGametype.m_weaponarena)
35 {
36         MUTATOR_ONADD
37         {
38                 ITEM_VaporizerCells.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
39                 ITEM_Invisibility.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
40                 ITEM_Speed.spawnflags &= ~ITEM_FLAG_MUTATORBLOCKED;
41         }
42         MUTATOR_ONROLLBACK_OR_REMOVE
43         {
44                 ITEM_VaporizerCells.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
45                 ITEM_Invisibility.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
46                 ITEM_Speed.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
47         }
48 }