]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/handicap.qc
Added handicap API.
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / handicap.qc
1 #include "handicap.qh"
2
3 /// \file
4 /// \brief Source file that contains implementation of the handicap system.
5 /// \author Lyberta
6 /// \copyright GNU GPLv2 or any later version.
7
8 .float m_handicap; ///< Holds the handicap value.
9
10 void Handicap_Initialize(entity player)
11 {
12         player.m_handicap = 1;
13 }
14
15 float Handicap_GetVoluntaryHandicap(entity player)
16 {
17         return bound(1.0, CS(player).cvar_cl_handicap, 10.0);
18 }
19
20 float Handicap_GetForcedHandicap(entity player)
21 {
22         return player.m_handicap;
23 }
24
25 void Handicap_SetForcedHandicap(entity player, float value)
26 {
27         if (value <= 0)
28         {
29                 error("Handicap_SetForcedHandicap: Invalid handicap value.");
30         }
31         player.m_handicap = value;
32 }
33
34 float Handicap_GetTotalHandicap(entity player)
35 {
36         return Handicap_GetForcedHandicap(player) * Handicap_GetVoluntaryHandicap(
37                 player);
38 }