diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 1499bc5029..dd66f3638e 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -144,31 +144,35 @@ SUBSYSTEM_DEF(mapping) mapvotes[global.config.defaultmap.map_name] += 1 continue mapvotes[vote] += 1 + else + for(var/M in global.config.maplist) + mapvotes[M] = 1 - //filter votes - for (var/map in mapvotes) - if (!map) - mapvotes.Remove(map) - if (!(map in global.config.maplist)) - mapvotes.Remove(map) - continue - var/datum/map_config/VM = global.config.maplist[map] - if (!VM) - mapvotes.Remove(map) - continue - if (VM.voteweight <= 0) - mapvotes.Remove(map) - continue - if (VM.config_min_users > 0 && players < VM.config_min_users) - mapvotes.Remove(map) - continue - if (VM.config_max_users > 0 && players > VM.config_max_users) - mapvotes.Remove(map) - continue + //filter votes + for (var/map in mapvotes) + if (!map) + mapvotes.Remove(map) + if (!(map in global.config.maplist)) + mapvotes.Remove(map) + continue + var/datum/map_config/VM = global.config.maplist[map] + if (!VM) + mapvotes.Remove(map) + continue + if (VM.voteweight <= 0) + mapvotes.Remove(map) + continue + if (VM.config_min_users > 0 && players < VM.config_min_users) + mapvotes.Remove(map) + continue + if (VM.config_max_users > 0 && players > VM.config_max_users) + mapvotes.Remove(map) + continue + if(global.config.allow_map_voting) mapvotes[map] = mapvotes[map]*VM.voteweight - var/pickedmap = global.config.allow_map_voting ? pickweight(mapvotes) : pick(global.config.maplist) + var/pickedmap = pickweight(mapvotes) if (!pickedmap) return var/datum/map_config/VM = global.config.maplist[pickedmap]