X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmapinfo.qh;fp=qcsrc%2Fcommon%2Fmapinfo.qh;h=4ece9215609bf05fb0b6fd4cce295bc58512351b;hb=66d5ee9a0aea47839f244cf5346196c1c66cb490;hp=63723afd7ab2deb70023f05a2762d108d082f9c8;hpb=00d7a93f67cca196b2781899d5510b6aaf9816d7;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mapinfo.qh b/qcsrc/common/mapinfo.qh index 63723afd7..4ece92156 100644 --- a/qcsrc/common/mapinfo.qh +++ b/qcsrc/common/mapinfo.qh @@ -494,6 +494,27 @@ CLASS(Invasion, Gametype) ENDCLASS(Invasion) REGISTER_GAMETYPE(INVASION, NEW(Invasion)); +CLASS(Duel, Gametype) + INIT(Duel) + { + this.gametype_init(this, _("Duel"),"duel","g_duel",false,"","timelimit=10 pointlimit=0 leadlimit=0",_("Fight in a one versus one arena battle to decide the winner")); + } + METHOD(Duel, m_isAlwaysSupported, bool(Gametype this, int spawnpoints, float diameter)) + { + return (diameter < 16384); + } + METHOD(Duel, m_isForcedSupported, bool(Gametype this)) + { + // force all DM maps to work in duel?! + // TODO: we should really check the size of maps, some DM maps do not work for duel! + if(!(MapInfo_Map_supportedGametypes & this.m_flags) && (MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DEATHMATCH.m_flags)) + return true; + return false; + } +ENDCLASS(Duel) +REGISTER_GAMETYPE(DUEL, NEW(Duel)); +#define g_duel IS_GAMETYPE(DUEL) + const int MAPINFO_FEATURE_WEAPONS = 1; // not defined for instagib-only maps const int MAPINFO_FEATURE_VEHICLES = 2; const int MAPINFO_FEATURE_TURRETS = 4;