Add an option to count bots when getting the size restrictions on maps (enabled by...
authorMario <mario@smbclan.net>
Mon, 2 Sep 2019 06:14:16 +0000 (16:14 +1000)
committerMario <mario@smbclan.net>
Mon, 2 Sep 2019 06:14:45 +0000 (16:14 +1000)
qcsrc/server/autocvars.qh
qcsrc/server/g_world.qc
xonotic-server.cfg

index 4b71e28..b14eb0c 100644 (file)
@@ -157,6 +157,7 @@ bool autocvar_g_maplist_votable_suggestions;
 bool autocvar_g_maplist_votable_suggestions_override_mostrecent;
 float autocvar_g_maplist_votable_timeout;
 bool autocvar_g_maplist_ignore_sizes;
+bool autocvar_g_maplist_sizes_count_bots = true;
 int autocvar_g_maxplayers;
 float autocvar_g_maxplayers_spectator_blocktime;
 float autocvar_g_maxpushtime;
index 814b70e..de94702 100644 (file)
@@ -293,6 +293,8 @@ void cvar_changes_init()
                BADCVAR("teamplay");
                BADCVAR("timelimit");
                BADCVAR("g_mapinfo_ignore_warnings");
+               BADCVAR("g_maplist_ignore_sizes");
+               BADCVAR("g_maplist_sizes_count_bots");
 
                // long
                BADCVAR("hostname");
@@ -1049,6 +1051,9 @@ bool MapHasRightSize(string map)
        // open map size restriction file
        string opensize_msg = strcat("opensize ", map);
        float fh = fopen(strcat("maps/", map, ".sizes"), FILE_READ);
+       int pcount = player_count;
+       if(!autocvar_g_maplist_sizes_count_bots)
+               pcount -= currentbots;
        if(fh >= 0)
        {
                opensize_msg = strcat(opensize_msg, ": ok, ");
index 158b32e..f914a7b 100644 (file)
@@ -213,6 +213,7 @@ set g_maplist_selectrandom 0        "if 1, a random map will be chosen as next map - DE
 set g_maplist_shuffle 1        "new randomization method: like selectrandom, but avoid playing the same maps in short succession. This works by taking out the first element and inserting it into g_maplist with a bias to the end of the list"
 set g_maplist_check_waypoints 0        "when 1, maps are skipped if there currently are bots, but the map has no waypoints"
 set g_maplist_ignore_sizes 0 "when 1, all maps are shown in the map list regardless of player count"
+set g_maplist_sizes_count_bots 1 "include the number of bots currently in the server when counting the number of players for size restrictions"
 
 set g_items_mindist 4000 "starting distance for the fading of items"
 set g_items_maxdist 4500 "maximum distance at which an item can be viewed, after which it will be invisible"