From bbf40fe4efbaa0239de3454727ad4dbf5ab83f26 Mon Sep 17 00:00:00 2001 From: warriorstar-orion Date: Mon, 9 Jun 2025 18:18:19 -0400 Subject: [PATCH] place required ruins in decreasing order of size (#29576) --- code/__HELPERS/cmp.dm | 3 +++ code/datums/mapping/ruin_placer.dm | 1 + 2 files changed, 4 insertions(+) diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm index e2a6a7ba463..90888577dc8 100644 --- a/code/__HELPERS/cmp.dm +++ b/code/__HELPERS/cmp.dm @@ -60,3 +60,6 @@ /proc/cmp_changeling_power_category_asc(datum/changeling_power_category/a, datum/changeling_power_category/b) return initial(a.priority) - initial(b.priority) + +/proc/cmp_ruin_placement_cost(datum/map_template/ruin/A, datum/map_template/ruin/B) + return A.get_cost() - B.get_cost() diff --git a/code/datums/mapping/ruin_placer.dm b/code/datums/mapping/ruin_placer.dm index 79f7ec5f316..0dd85f003a2 100644 --- a/code/datums/mapping/ruin_placer.dm +++ b/code/datums/mapping/ruin_placer.dm @@ -149,6 +149,7 @@ continue ruins_available[R] = R.placement_weight + forced_ruins = sortTim(forced_ruins, GLOBAL_PROC_REF(cmp_ruin_placement_cost)) while(length(forced_ruins)) var/datum/map_template/ruin/ruin = forced_ruins[length(forced_ruins)] var/datum/ruin_placement/placement = new(ruin, base_padding_ = base_padding)