Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
cl_freezetag.qc
Go to the documentation of this file.
1#include "cl_freezetag.qh"
2
4
6{
7 HUD_Write_Cvar("hud_panel_modicons_freezetag_layout");
8}
9
10void HUD_Mod_FreezeTag(vector myPos, vector mySize, bool should_draw)
11{
12 if (!should_draw)
13 return;
14
15 mod_active = 1; // required in each mod function that always shows something
16
18}
19
20REGISTER_MUTATOR(cl_ft, true);
21
23{
24 if(autocvar_cl_eventchase_frozen && ISGAMETYPE(FREEZETAG) && STAT(FROZEN))
25 return true;
26 return false;
27}
28
29MUTATOR_HOOKFUNCTION(cl_ft, HUD_Draw_overlay)
30{
31 if(STAT(FROZEN) && ISGAMETYPE(FREEZETAG))
32 {
33 vector col = '0.25 0.90 1';
34 float col_fade = max(0, STAT(REVIVE_PROGRESS) * 2 - 1);
35 float alpha_fade = 0.3 + 0.7 * (1 - max(0, STAT(REVIVE_PROGRESS) * 4 - 3));
36 if(col_fade)
37 col += vec3(col_fade, -col_fade, -col_fade);
38
39 M_ARGV(0, vector) = col;
40 M_ARGV(1, float) = alpha_fade;
41 return true;
42 }
43 return false;
44}
45
46MUTATOR_HOOKFUNCTION(cl_ft, HUD_Damage_show)
47{
48 if(ISGAMETYPE(FREEZETAG) && STAT(FROZEN))
49 return true;
50 return false;
51}
#define REGISTER_MUTATOR(...)
Definition base.qh:295
#define MUTATOR_HOOKFUNCTION(...)
Definition base.qh:335
void HUD_Mod_CA_Draw(vector myPos, vector mySize, int layout)
void HUD_Mod_FreezeTag(vector myPos, vector mySize, bool should_draw)
void HUD_Mod_FreezeTag_Export(int fh)
int autocvar_hud_panel_modicons_freezetag_layout
#define ISGAMETYPE(NAME)
Definition main.qh:46
#define M_ARGV(x, type)
Definition events.qh:17
#define HUD_Write_Cvar(cvar)
Definition hud_config.qh:40
#define STAT(...)
Definition stats.qh:82
float max(float f,...)
bool mod_active
Definition modicons.qh:7
vector
Definition self.qh:92
#define vec3(_x, _y, _z)
Definition vector.qh:95
int WantEventchase(entity this, bool want_vehiclechase)
Definition view.qc:730
bool autocvar_cl_eventchase_frozen
Definition view.qh:90