[Rseding91] [0.17.37] robot destroys entities when upgrading tiles
Posted: Thu May 09, 2019 5:40 pm
This issue is most easily reproducible with the Space Exploration mod. https://mods.factorio.com/mod/space-exploration
There are tiles representing empty space that are the default tiles in space.
You can put space platform down to place certain structures in space. They can't be placed on empty space, only on 2 types of space platform.
If you change the tile from 1 type to another by hand, the entity on top of the tile is not affected even thought the hidden tile would collide with the structure.
If a bot changes a tile from 1 type to anther, the entity is destroyed.
It seems like the player logic is: Change Tile -> Destroy Entities if colliding
but the robot logic seems to be: Remove Tile -> Destroy Entities if colliding -> Add Tile -> Destroy Entities if colliding
This is especially confusing for players because it works differently than a player doing it. They can test upgrading the tile by hand, then blueprint the upgrade all over the places, and suddenly all of their structures disappear.
Steps to reproduce:
Go to the Nauvis Orbit surface.
Place Space platform scaffold.
Place a structure (Space Science Lab) on the space platform.
Ghost-place Space platform plating under the structure.
Let a construction bot place the Space platform plating tile.
Also it would be nice if there was some way to prevent entities being destroyed by tile changes in general. There is no event that fires before the tile change so there is no way to 'save' the entity by converting it to an item.
There are tiles representing empty space that are the default tiles in space.
You can put space platform down to place certain structures in space. They can't be placed on empty space, only on 2 types of space platform.
If you change the tile from 1 type to another by hand, the entity on top of the tile is not affected even thought the hidden tile would collide with the structure.
If a bot changes a tile from 1 type to anther, the entity is destroyed.
It seems like the player logic is: Change Tile -> Destroy Entities if colliding
but the robot logic seems to be: Remove Tile -> Destroy Entities if colliding -> Add Tile -> Destroy Entities if colliding
This is especially confusing for players because it works differently than a player doing it. They can test upgrading the tile by hand, then blueprint the upgrade all over the places, and suddenly all of their structures disappear.
Steps to reproduce:
Go to the Nauvis Orbit surface.
Place Space platform scaffold.
Place a structure (Space Science Lab) on the space platform.
Ghost-place Space platform plating under the structure.
Let a construction bot place the Space platform plating tile.
Also it would be nice if there was some way to prevent entities being destroyed by tile changes in general. There is no event that fires before the tile change so there is no way to 'save' the entity by converting it to an item.