if (!reconsiderAdjacent)
return;
+ // Before updating the adjacent tile flags that determine whether air is allowed to flow
+ // or not, we explicitly update airtight data on these tiles right now.
+ // This ensures that UpdateAdjacentTiles has updated data before updating flags.
+ // This allows monstermos' floodfill check that determines if firelocks have dropped
+ // to work correctly.
+ UpdateAirtightData(ent.Owner, ent.Comp1, ent.Comp3, tile);
+ UpdateAirtightData(ent.Owner, ent.Comp1, ent.Comp3, other);
+
UpdateAdjacentTiles(ent, tile);
UpdateAdjacentTiles(ent, other);
+
InvalidateVisuals(ent, tile);
InvalidateVisuals(ent, other);
}