Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
ctf.qh
Go to the documentation of this file.
1#pragma once
2
3#include <common/mapinfo.qh>
4
5#ifdef CSQC
6void HUD_Mod_CTF(vector pos, vector mySize);
8#endif
11 {
12 this.gametype_init(this, _("Capture the Flag"),"ctf","g_ctf",GAMETYPE_FLAG_TEAMPLAY | GAMETYPE_FLAG_USEPOINTS | GAMETYPE_FLAG_PRIORITY,"","timelimit=20 caplimit=10 leadlimit=6",_("Find and bring the enemy flag to your base to capture it, defend your base from the other team"));
13 }
15 {
16 if(v == "item_flag_team2" || v == "team_CTF_blueflag")
18 }
20 {
21 return true;
22 }
23 METHOD(CaptureTheFlag, m_setTeams, void(string sa))
24 {
25 cvar_set("fraglimit", sa);
26 }
27 METHOD(CaptureTheFlag, m_configuremenu, void(Gametype this, entity menu, void(entity me, string pLabel, float pMin, float pMax, float pStep, string pCvar, string tCvar, string pTooltip) returns))
28 {
29 TC(Gametype, this);
30 returns(menu, _("Capture limit:"), 1, 20, 1, "capturelimit_override", string_null, _("The amount of captures needed before the match will end"));
31 }
32#ifdef CSQC
33 ATTRIB(CaptureTheFlag, m_modicons, void(vector pos, vector mySize), HUD_Mod_CTF);
34 ATTRIB(CaptureTheFlag, m_modicons_reset, void(), HUD_Mod_CTF_Reset);
35#endif
36 ATTRIB(CaptureTheFlag, m_legacydefaults, string, "300 20 10 0");
39#define g_ctf IS_GAMETYPE(CTF)
40
41#ifdef GAMEQC
42const int CTF_RED_FLAG_TAKEN = 1;
43const int CTF_RED_FLAG_LOST = 2;
45const int CTF_BLUE_FLAG_TAKEN = 4;
46const int CTF_BLUE_FLAG_LOST = 8;
48const int CTF_YELLOW_FLAG_TAKEN = 16;
49const int CTF_YELLOW_FLAG_LOST = 32;
51const int CTF_PINK_FLAG_TAKEN = 64;
52const int CTF_PINK_FLAG_LOST = 128;
53const int CTF_PINK_FLAG_CARRYING = 192;
54const int CTF_NEUTRAL_FLAG_TAKEN = 256;
55const int CTF_NEUTRAL_FLAG_LOST = 512;
57const int CTF_FLAG_NEUTRAL = 2048;
58const int CTF_SHIELDED = 4096;
59const int CTF_STALEMATE = 8192;
60#endif
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
CaptureTheFlag()
Definition ctf.qh:10
virtual void m_generate_mapinfo()
Definition ctf.qh:14
virtual void m_configuremenu()
Definition ctf.qh:27
virtual void m_isTwoBaseMode()
Definition ctf.qh:19
virtual void m_setTeams()
Definition ctf.qh:23
string m_legacydefaults
Definition ctf.qh:36
virtual void gametype_init()
Definition mapinfo.qh:117
const int CTF_SHIELDED
Definition ctf.qh:58
const int CTF_PINK_FLAG_CARRYING
Definition ctf.qh:53
const int CTF_YELLOW_FLAG_TAKEN
Definition ctf.qh:48
void HUD_Mod_CTF(vector pos, vector mySize)
Definition cl_ctf.qc:21
void HUD_Mod_CTF_Reset()
Definition cl_ctf.qc:13
const int CTF_YELLOW_FLAG_CARRYING
Definition ctf.qh:50
const int CTF_PINK_FLAG_TAKEN
Definition ctf.qh:51
const int CTF_RED_FLAG_LOST
Definition ctf.qh:43
const int CTF_NEUTRAL_FLAG_LOST
Definition ctf.qh:55
const int CTF_YELLOW_FLAG_LOST
Definition ctf.qh:49
const int CTF_RED_FLAG_CARRYING
Definition ctf.qh:44
const int CTF_RED_FLAG_TAKEN
Definition ctf.qh:42
const int CTF_FLAG_NEUTRAL
Definition ctf.qh:57
const int CTF_STALEMATE
Definition ctf.qh:59
const int CTF_BLUE_FLAG_LOST
Definition ctf.qh:46
const int CTF_BLUE_FLAG_TAKEN
Definition ctf.qh:45
const int CTF_PINK_FLAG_LOST
Definition ctf.qh:52
const int CTF_NEUTRAL_FLAG_CARRYING
Definition ctf.qh:56
const int CTF_BLUE_FLAG_CARRYING
Definition ctf.qh:47
const int CTF_NEUTRAL_FLAG_TAKEN
Definition ctf.qh:54
#define TC(T, sym)
Definition _all.inc:82
vector MapInfo_Map_supportedGametypes
Definition mapinfo.qh:13
const int GAMETYPE_FLAG_PRIORITY
Definition mapinfo.qh:22
const int GAMETYPE_FLAG_USEPOINTS
Definition mapinfo.qh:20
#define REGISTER_GAMETYPE(NAME, inst)
Definition mapinfo.qh:149
const int GAMETYPE_FLAG_TEAMPLAY
Definition mapinfo.qh:19
vector gametype_flags
Definition mapinfo.qh:28
void cvar_set(string name, string value)
string string_null
Definition nil.qh:9
#define NEW(cname,...)
Definition oo.qh:117
#define INIT(cname)
Definition oo.qh:210
#define CLASS(...)
Definition oo.qh:145
#define ENDCLASS(cname)
Definition oo.qh:281
#define METHOD(cname, name, prototype)
Definition oo.qh:269
#define ATTRIB(...)
Definition oo.qh:148
vector
Definition self.qh:92