Fixed policy branch finishers overriding branches - oops!

This commit is contained in:
Yair Morgenstern
2023-05-23 22:37:10 +03:00
parent 35718c00e7
commit e75742d3d6

View File

@ -344,8 +344,8 @@ class Ruleset {
if (policy.requires == null) { if (policy.requires == null) {
policy.requires = arrayListOf(branch.name) policy.requires = arrayListOf(branch.name)
} }
policies[policy.name] = policy
if (policy != branch.policies.last()) {
// If mods override a previous policy's location, we don't want that policy to stick around, // If mods override a previous policy's location, we don't want that policy to stick around,
// because it leads to softlocks on the policy picker screen // because it leads to softlocks on the policy picker screen
val conflictingLocationPolicy = policies.values.firstOrNull { val conflictingLocationPolicy = policies.values.firstOrNull {
@ -353,9 +353,12 @@ class Ruleset {
&& it.column == policy.column && it.column == policy.column
&& it.row == policy.row && it.row == policy.row
} }
if (conflictingLocationPolicy!=null) if (conflictingLocationPolicy != null)
policies.remove(conflictingLocationPolicy.name) policies.remove(conflictingLocationPolicy.name)
} }
policies[policy.name] = policy
}
// Add a finisher // Add a finisher
branch.policies.last().name = branch.policies.last().name =