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)
11{
12 mod_active = 1; // required in each mod function that always shows something
13
15}
16
17REGISTER_MUTATOR(cl_ft, true);
18
20{
21 if(autocvar_cl_eventchase_frozen && ISGAMETYPE(FREEZETAG) && STAT(FROZEN))
22 return true;
23 return false;
24}
25
26MUTATOR_HOOKFUNCTION(cl_ft, HUD_Draw_overlay)
27{
28 if(STAT(FROZEN) && ISGAMETYPE(FREEZETAG))
29 {
30 vector col = '0.25 0.90 1';
31 float col_fade = max(0, STAT(REVIVE_PROGRESS) * 2 - 1);
32 float alpha_fade = 0.3 + 0.7 * (1 - max(0, STAT(REVIVE_PROGRESS) * 4 - 3));
33 if(col_fade)
34 col += vec3(col_fade, -col_fade, -col_fade);
35
36 M_ARGV(0, vector) = col;
37 M_ARGV(1, float) = alpha_fade;
38 return true;
39 }
40 return false;
41}
42
43MUTATOR_HOOKFUNCTION(cl_ft, HUD_Damage_show)
44{
45 if(ISGAMETYPE(FREEZETAG) && STAT(FROZEN))
46 return true;
47 return false;
48}
#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_Export(int fh)
void HUD_Mod_FreezeTag(vector myPos, vector mySize)
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