Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
clanarena.qh
Go to the documentation of this file.
1#pragma once
2
3#include <common/mapinfo.qh>
4
5#ifdef CSQC
6void HUD_Mod_CA(vector pos, vector mySize);
7void HUD_Mod_CA_Export(int fh);
8#endif
11 {
12 this.gametype_init(this, _("Clan Arena"),"ca","g_ca",GAMETYPE_FLAG_TEAMPLAY | GAMETYPE_FLAG_USEPOINTS,"","timelimit=20 pointlimit=10 teams=2 leadlimit=6",_("Kill all enemy teammates to win the round"));
13 }
14 METHOD(ClanArena, m_parse_mapinfo, bool(string k, string v))
15 {
16 if (!k)
17 {
18 cvar_set("g_ca_teams", cvar_defstring("g_ca_teams"));
19 return true;
20 }
21 switch (k)
22 {
23 case "teams":
24 cvar_set("g_ca_teams", v);
25 return true;
26 }
27 return false;
28 }
29 METHOD(ClanArena, m_isAlwaysSupported, bool(Gametype this, int spawnpoints, float diameter))
30 {
31 if(spawnpoints >= 8 && diameter > 3250)
32 return true;
33 return false;
34 }
35 METHOD(ClanArena, m_setTeams, void(string sa))
36 {
37 cvar_set("g_ca_teams", sa);
38 }
39 METHOD(ClanArena, 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))
40 {
41 TC(Gametype, this);
42 returns(menu, _("Round limit:"), 5, 100, 5, "fraglimit_override", "g_ca_teams_override", _("The amount of rounds won needed before the match will end"));
43 }
44#ifdef CSQC
45 ATTRIB(ClanArena, m_modicons, void(vector pos, vector mySize), HUD_Mod_CA);
46 ATTRIB(ClanArena, m_modicons_export, void(int fh), HUD_Mod_CA_Export);
47#endif
48 ATTRIB(ClanArena, m_legacydefaults, string, "10 20 0");
51#define g_ca IS_GAMETYPE(CA)
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
void HUD_Mod_CA(vector pos, vector mySize)
void HUD_Mod_CA_Export(int fh)
virtual void m_setTeams()
Definition clanarena.qh:35
virtual void m_configuremenu()
Definition clanarena.qh:39
virtual void m_isAlwaysSupported()
Definition clanarena.qh:29
virtual void m_parse_mapinfo()
Definition clanarena.qh:14
string m_legacydefaults
Definition clanarena.qh:48
virtual void gametype_init()
Definition mapinfo.qh:117
#define TC(T, sym)
Definition _all.inc:82
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
void cvar_set(string name, string value)
const string cvar_defstring(string name)
#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