]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mapinfo.qh
Add a gametype flag to signify that the mode forces its own weapon arena (allows...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mapinfo.qh
index 2d350b2fed3c1b26c46cab2e3c58bcb598ce1436..be1a4ef7c686dd8bb7861b8edb764ff4cbac3c3f 100644 (file)
@@ -21,6 +21,7 @@ const int GAMETYPE_FLAG_USEPOINTS       = BIT(1); // gametype has point-based sc
 const int GAMETYPE_FLAG_PREFERRED       = BIT(2); // preferred (when available) in random selections
 const int GAMETYPE_FLAG_PRIORITY        = BIT(3); // priority selection when preferred gametype isn't available in random selections
 const int GAMETYPE_FLAG_HIDELIMITS      = BIT(4); // don't display a score limit needed for winning the match in the scoreboard
+const int GAMETYPE_FLAG_WEAPONARENA     = BIT(5); // gametype has a forced weapon arena, weapon arena mutators should disable themselves when this is set
 
 int MAPINFO_TYPE_ALL;
 .int m_flags;
@@ -41,6 +42,8 @@ CLASS(Gametype, Object)
     ATTRIB(Gametype, frags, bool, true);
     /** should this gametype display a score limit in the scoreboard? */
     ATTRIB(Gametype, m_hidelimits, bool, false);
+    /** does this gametype enforce its own weapon arena? */
+    ATTRIB(Gametype, m_weaponarena, bool, false);
     /** game type defaults */
     ATTRIB(Gametype, model2, string);
     /** game type description */
@@ -107,6 +110,7 @@ CLASS(Gametype, Object)
         this.frags = (gflags & GAMETYPE_FLAG_USEPOINTS);
         this.m_priority = ((gflags & GAMETYPE_FLAG_PREFERRED) ? 2 : ((gflags & GAMETYPE_FLAG_PRIORITY) ? 1 : 0));
         this.m_hidelimits = (gflags & GAMETYPE_FLAG_HIDELIMITS);
+        this.m_weaponarena = (gflags & GAMETYPE_FLAG_WEAPONARENA);
 
         // same as `1 << m_id`
         MAPINFO_TYPE_ALL |= this.items = this.m_flags = (MAPINFO_TYPE_ALL + 1);