Lava erosion and construction zones have no logic to handle each other #69
Labels
game logic
Relates to how things work and happen in game.
original bug
This was an issue in the original game already.
Describe the issue
Lava erosion can spread on to tiles occupied by a construction zone. Until the erosion is complete, you can still select the tile and cancel construction. But once the tile turns into lava, it becomes unselectable. If all solid building tiles are turned into lava then it becomes impossible to cancel construction.
Additionally, you can place a building over a tile with erosion in-progress. This can even be a solid building tile or the origin building tile. Once placed, that tile will still use the erosion texture, and will only use the Cancel Construction menu if the tile is a solid building tile.
Lastly, if erosion takes over a construction tile with barriers and then turns into lava, these barriers stay active on the tile and can never be picked up and put away again (outside of mods that provide units with the ability to walk on lava).
Expected behaviour
There are a few ways to handle erosion taking over construction tiles, but there is no programmed intended behaviour for this. A) Cancel construction once erosion spreads onto an occupied tile (path or solid). B) Cancel construction once erosion turns into lava over an occupied tile (path or solid).
Buildings should not be place-able over erosion, just like they can't be placed over rubble.
Construction barriers should be destroyed by lava, just like Energy Crystals and Ore. (This should probably also extend to other place-able objects like Dynamite and Sonic Blasters that are not ticking down).
Steps to reproduce
Additional information
Screenshots
(Figure A. Erosion taking over an active construction tile. The cancel construction menu is still present)
(Figure B. Placing a construction zone over active erosion)
(Figure C. Construction barriers staying alive after erosion fully takes over their occupied tile. Damage is even shown when the game speed is set to 0%)
The text was updated successfully, but these errors were encountered: