diff options
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/maps.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crawl-ref/source/maps.cc b/crawl-ref/source/maps.cc index 912780d62d..e4f598dff6 100644 --- a/crawl-ref/source/maps.cc +++ b/crawl-ref/source/maps.cc @@ -742,13 +742,21 @@ static weighted_map_names mg_find_random_vaults( } } - return (wms); + return (wms); +} + +static bool weighted_map_more_likely( + const weighted_map_name &a, + const weighted_map_name &b) +{ + return (a.second > b.second); } static void mg_report_random_vaults( FILE *outf, const level_id &place, bool wantmini) { weighted_map_names wms = mg_find_random_vaults(place, wantmini); + std::sort(wms.begin(), wms.end(), weighted_map_more_likely); int weightsum = 0; for (int i = 0, size = wms.size(); i < size; ++i) weightsum += wms[i].second; |