3 #include <common/mapinfo.qh>
5 #include <common/gamemodes/gamemode/clanarena/cl_clanarena.qh>
9 void HUD_Mod_FreezeTag(vector myPos, vector mySize);
10 void HUD_Mod_FreezeTag_Export(int fh);
12 CLASS(FreezeTag, Gametype)
15 this.gametype_init(this, _("Freeze Tag"),"ft","g_freezetag",GAMETYPE_FLAG_TEAMPLAY | GAMETYPE_FLAG_USEPOINTS,"","timelimit=20 pointlimit=10 teams=2 leadlimit=6",_("Kill enemies to freeze them, stand next to frozen teammates to revive them; freeze all enemies to win"));
17 METHOD(FreezeTag, m_parse_mapinfo, bool(string k, string v))
20 cvar_set("g_freezetag_teams", cvar_defstring("g_freezetag_teams"));
25 cvar_set("g_freezetag_teams", v);
30 METHOD(FreezeTag, m_isAlwaysSupported, bool(Gametype this, int spawnpoints, float diameter))
32 if(spawnpoints >= 8 && diameter > 3250)
36 METHOD(FreezeTag, m_setTeams, void(string sa))
38 cvar_set("g_freezetag_teams", sa);
40 METHOD(FreezeTag, 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))
43 returns(menu, _("Round limit:"), 5, 100, 5, "fraglimit_override", "g_freezetag_teams_override", _("The amount of rounds won needed before the match will end"));
46 ATTRIB(FreezeTag, m_modicons, void(vector pos, vector mySize), HUD_Mod_FreezeTag);
47 ATTRIB(FreezeTag, m_modicons_export, void(int fh), HUD_Mod_FreezeTag_Export);
49 ATTRIB(FreezeTag, m_legacydefaults, string, "10 20 0");
51 REGISTER_GAMETYPE(FREEZETAG, NEW(FreezeTag));
52 #define g_freezetag IS_GAMETYPE(FREEZETAG)