CLASS(LastManStanding, Gametype)
INIT(LastManStanding)
{
- this.gametype_init(this, _("Last Man Standing"),"lms","g_lms",GAMETYPE_FLAG_USEPOINTS,"","timelimit=20 lives=5 leadlimit=0",_("Survive and kill until the enemies have no lives left"));
+ this.gametype_init(this, _("Last Man Standing"),"lms","g_lms",GAMETYPE_FLAG_USEPOINTS | GAMETYPE_FLAG_HIDELIMITS,"","timelimit=20 lives=5 leadlimit=0",_("Survive and kill until the enemies have no lives left"));
}
METHOD(LastManStanding, m_isAlwaysSupported, bool(Gametype this, int spawnpoints, float diameter))
{
const int GAMETYPE_FLAG_USEPOINTS = BIT(1); // gametype has point-based scoring
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
int MAPINFO_TYPE_ALL;
.int m_flags;
ATTRIB(Gametype, team, bool, false);
/** does this gametype use a point limit? */
ATTRIB(Gametype, frags, bool, true);
+ /** should this gametype display a score limit in the scoreboard? */
+ ATTRIB(Gametype, m_hidelimits, bool, false);
/** game type defaults */
ATTRIB(Gametype, model2, string);
/** game type description */
this.gametype_description = gdescription;
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);
// same as `1 << m_id`
MAPINFO_TYPE_ALL |= this.items = this.m_flags = (MAPINFO_TYPE_ALL + 1);