Fixed softlock for mod policies overriding existing policy locations

This commit is contained in:
Yair Morgenstern
2023-05-23 22:15:31 +03:00
parent b94321f535
commit 35718c00e7

View File

@ -345,6 +345,16 @@ class Ruleset {
policy.requires = arrayListOf(branch.name)
}
policies[policy.name] = policy
// 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
val conflictingLocationPolicy = policies.values.firstOrNull {
it.branch.name == policy.branch.name
&& it.column == policy.column
&& it.row == policy.row
}
if (conflictingLocationPolicy!=null)
policies.remove(conflictingLocationPolicy.name)
}
// Add a finisher