Description
When creating a building with circuit conditions like 'enable inserter iff signal construction robot < 0' and super force building (ctrl + shift + left click) a building with default settings over it, then the settings of the resulting building are not completely reset to default settings.Expected behaviour
When using super force build to construct a building over an existing building of the same type, then the settings of the new building are equal to the settings of the building being super force built.Current behaviour
When constructing a building, connecting it to a circuit network and setting e.g. 'enable/disable' to 'signal construction robot < 0' and super force building a building with default settings over it, then the circuit setting 'enable/disable' of the resulting building is still 'signal construction robot < 0'.How to reproduce
- Start a new game with the 'Sandbox' scenario.
- Click 'yes' when asked to unlock all technologies.
- Click 'yes' when asked to enable cheat mode.
- Click 'yes' when asked to give some cheat items.
- Click 'yes' when asked to enable permanent daytime.
- Place and construct the following blueprint:
- Observe how the left inserter has default settings, i.e. the settings from a newly placed inserter.
- Observe how the right inserter has default settings except the 'enable/disable' circuit condition equals 'signal construction robot < 0'.
- Copy the left inserter by pressing ctrl + c and dragging a box around the left inserter.
- Super force build the resulting blueprint on top of the right inserter by pressing and holding ctrl + shift and left clicking on the right inserter.
- Observe how the 'enable/disable' circuit condition of the right inserter still equals 'signal construction robot < 0'.
- Place two electric inserters next to each other.
- Place a constant combinator next to the right inserter.
- Connect the right inserter with the constant combinator using green wire.
- Set the circuit condition 'enable/disable' of the right inserter to 'signal construction robot < 0'.
Additional remarks
When the right inserter uses a filter, e.g. its whitelist equals 'construction robot', then super force building the left inserter on the right inserter resets the filter setting while the 'enable/disable' condition remains 'signal construction robot < 0'.The issue also persists when using different inserter types. This means when the left inserter is an electric inserter and the right one is a bulk inserter with the circuit conditions as described above, then super force building the left inserter on top of the right inserter results in an electric inserter with the 'enable/disable' == 'signal construction robot < 0' circuit condition.
The circuit condition in the 'How to reproduce' section is just a placeholder. The issue also occures with other circuit settings, e.g. when 'Read hand contents' is set to 'Pulse'.
When the left inserter has some circuit setting set, e.g. 'enable/disable' == 'signal logistic robot < 0', then super force building it on top of the right inserter correctly sets the circuit setting of the new inserter.
If it is possible to place the copy of the left inserter on top of the right inserter without super force build, then it is enough to left click without ctrl + shift to reproduce the issue.
I am able to reproduce this issue with other buildings as well. Here are the reproduction steps when using assemblers:
- Place and build the following blueprint:
- Observe how the left assembler has no circuit conditions set.
- Observe how 'enable/disable' == 'signal construction robot < 0' for the right assembler.
- Copy the left assembler by pressing ctrl + shift and dragging a box around the left assembler.
- Super force build the resulting blueprint on top of the right assembler.
- Observe how the recipe changed to 'wooden box', but the circuit condition 'enable/disable' is still equal to 'signal construction robot < 0'.