]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/gamemodes/gamemode/domination/sv_domination.qh
e937a958edfc6d657fc1e0bf68aa06ec80ba730c
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / gamemodes / gamemode / domination / sv_domination.qh
1 #pragma once
2
3 #include <common/mutators/base.qh>
4 #define autocvar_g_domination_point_limit cvar("g_domination_point_limit")
5 bool autocvar_g_domination_roundbased;
6 int autocvar_g_domination_roundbased_point_limit;
7 int autocvar_g_domination_point_leadlimit;
8
9 IntrusiveList g_dompoints;
10 void dom_Initialize();
11
12 REGISTER_MUTATOR(dom, false)
13 {
14     MUTATOR_STATIC();
15         MUTATOR_ONADD
16         {
17                 g_dompoints = IL_NEW();
18
19                 int fraglimit_override = autocvar_g_domination_point_limit;
20                 if (autocvar_g_domination_roundbased && autocvar_g_domination_roundbased_point_limit)
21                         fraglimit_override = autocvar_g_domination_roundbased_point_limit;
22
23                 GameRules_teams(true);
24         GameRules_limit_score(fraglimit_override);
25         GameRules_limit_lead(autocvar_g_domination_point_leadlimit);
26
27                 dom_Initialize();
28         }
29         return 0;
30 }
31
32 // score rule declarations
33 const float ST_DOM_TICKS = 1;
34 const float ST_DOM_CAPS = 1;
35
36 // pps: points per second
37 float total_pps;
38 float pps_red;
39 float pps_blue;
40 float pps_yellow;
41 float pps_pink;
42
43 // capture declarations
44 .float enemy_playerid;
45 .entity sprite;
46 .float captime;
47
48 // misc globals
49 float domination_roundbased;
50 float domination_teams;
51
52 void AnimateDomPoint(entity this);