Summary: I’m thinking this one should be easy to fix. I had been scratching my head as to why a lot of my buildings are abandoned halfway through. They’d build two or three out of the four+ walls and then stand around doing nothing. The status bar thingy would be constantly yellow, despite me not having resources laying around or anything else that would be using the pathfinder much. I noticed the scaffolding wouldn’t rise above 1 level on the affected walls, and then noticed my benches had already been placed, getting in the villagers’ way.
Steps to reproduce:
Design Custom building
Place walls
Enter doodad placer
Place floor doodad next to wall - In my case, I’d place a bench underneath some of my windows
Build building
Expected results:
Wall is built, doodad is then placed after the window goes up.
Actual results:
Notice the bench placed underneath the window in the schematic:
FIVEworkers trapped inside the building, placing doodads when they should be fixing the roof!!!
Thankfully, I had another 5 workers to finish the building and release them
So the suggestion to fix it might be to add another stage to the building process?
Building stages:
mine out floor, place floor, place columns
build scaffolding and walls
build roof
remove scaffolding
place doodad ghosts
Makes me wonder if it would be easy in code to simply delay the placement of the doodad ghosts until after the scaffolding is removed, instead of when the floor beneath the doodad is complete. It seems logical that delaying the placement until the end could be a simpler implementation.
Yup, I’m thinking delaying doodad placement would be the best option here, or at least prioritizing finishing the skeleton before doing anything inside.
Can confirm that doodads are being placed in scaffolding in r166. The image shows lanterns placed in the scaffold. This halts progress and the only workaround is to remove the building.
I feel like it should be impossible to place a doodad on a wall that is part of an otherwise incomplete building. Another way of saying that is, there should be a difference between a completed free standing wall and a completed wall in an incomplete building, such that doodads can be placed on completed walls if the completed wall is NOT part of an incomplete building.