]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/gamemodes/gamemode/domination/sv_domination.qh
Merge branch 'master' into terencehill/lms_updates
[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                 int fraglimit_override = autocvar_g_domination_point_limit;
18                 if (autocvar_g_domination_roundbased && autocvar_g_domination_roundbased_point_limit)
19                         fraglimit_override = autocvar_g_domination_roundbased_point_limit;
20
21                 GameRules_teams(true);
22         GameRules_limit_score(fraglimit_override);
23         GameRules_limit_lead(autocvar_g_domination_point_leadlimit);
24
25                 dom_Initialize();
26         }
27         return 0;
28 }
29
30 // score rule declarations
31 const float ST_DOM_TICKS = 1;
32 const float ST_DOM_CAPS = 1;
33
34 // pps: points per second
35 float total_pps;
36 float pps_red;
37 float pps_blue;
38 float pps_yellow;
39 float pps_pink;
40
41 // capture declarations
42 .float enemy_playerid;
43 .entity sprite;
44 .float captime;
45
46 // misc globals
47 float domination_roundbased;
48 float domination_teams;
49
50 void AnimateDomPoint(entity this);