[2.1.11] Fully overlapping tile_buildability_rules are discarded
Posted: Mon Jul 20, 2026 3:21 am
Scenario: Two mods add a tile_buildability rule. One for whitelisting and one for blacklisting. (In this specific case, Maraxsis and Rabbasca).
Observed behaviour:
If all tiles of the two rules overlap, the second rule is discarded.
Consider these two buildings: collision masks of purple concrete is { harene = true }, grey rubble is { ground_tile = true }
AM3: top left part is not covered by maraxsis rule, but the harene rule still applies on the whole rule area (as expected).
flare stack: {0,0} apparently is part of the top-left tile, so both rules cover all tiles of the bounding_box. harene rule is completely ignored. If I modify the AM3 variant to have both rules have the full bounding_box area, it behaves like the flare stack as well, completely ignoring the harene rule, so this issue is not caused by some other difference in the buildings.
Expected behaviour: The rules should apply consistently, regardless of full tile overlap or not. In this case everything worked as intended for cases where the rules had partially overlapping bounding boxes (AM3 case), even in the overlapping parts.
Observed behaviour:
If all tiles of the two rules overlap, the second rule is discarded.
Consider these two buildings: collision masks of purple concrete is { harene = true }, grey rubble is { ground_tile = true }
AM3: top left part is not covered by maraxsis rule, but the harene rule still applies on the whole rule area (as expected).
flare stack: {0,0} apparently is part of the top-left tile, so both rules cover all tiles of the bounding_box. harene rule is completely ignored. If I modify the AM3 variant to have both rules have the full bounding_box area, it behaves like the flare stack as well, completely ignoring the harene rule, so this issue is not caused by some other difference in the buildings.
Expected behaviour: The rules should apply consistently, regardless of full tile overlap or not. In this case everything worked as intended for cases where the rules had partially overlapping bounding boxes (AM3 case), even in the overlapping parts.