Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0001779Dwarf FortressDwarf Mode -- Buildings, Machinespublic2010-05-06 01:402014-01-26 09:04
newno change required 
0001779: Haulers can disrupt building of pumps by hauling tasked items to stockpiles
This might be a holdover from 40d, I'm not sure. I never had to deal with pump stacks anywhere near this magnitude in 40d.

I had a fort pretty far along so I decided to bite the bullet and build a 100+ level pump stack to bring the magma up to the surface. As you can imagine, this involved a lot of corkscrews, blocks, pipes, perpetual motion water generators(huge fps hogs btw), and architect/masons.

I noticed that if I told the dwarves to construct a pump out of pieces that were not stored in a stockpile at the time of designation, haulers would, at some point, come along and pick those pieces up and put them in a stockpile. As a result, when the architects went to get the parts, they failed to find them (they had been moved), and the pump would deconstruct with the (sometimes omitted) error "The dwarves were unable to complete the Screw Pump." Since all the pumps in a pump stack are 'hanging' on each other, this would also deconstruct ALL of the pumps above the one that had failed to be built. Since the pump stack was over 100 levels high, you can see how this might be annoying.

To make matters worse, every time this happened the result was lots and lots of screw pump components lying around not it stockpiles wherever a pump had deconstructed itself. So simply redesignating the pumps to be constructed would inevitably lead to more failures and deconstruction, as haulers would come and move the parts.

1) Order a many-layered pump stack to be created
2) add a stockpile for storing pump stack components (pipes, blocks, and/or enormous corkscrews)
3) wait for massive deconstruction
No tags attached.
related to 0001833new  Urist McHauler cancels store item in bin: Job item misplaced 
related to 0003063resolved Loci Dwarves stockpile outside items before dumping 
Issue History
2010-05-06 01:40derigoNew Issue
2010-05-06 03:05jfsNote Added: 0006257
2010-05-06 03:18derigoNote Added: 0006258
2010-05-06 03:42Logical2uNote Added: 0006259
2010-05-06 06:42slinkNote Added: 0006266
2010-05-06 06:43slinkNote Edited: 0006266bug_revision_view_page.php?bugnote_id=0006266#r2335
2010-05-06 06:43slinkNote Edited: 0006266bug_revision_view_page.php?bugnote_id=0006266#r2336
2010-05-06 06:47slinkNote Edited: 0006266bug_revision_view_page.php?bugnote_id=0006266#r2337
2010-05-06 06:48slinkNote Edited: 0006266bug_revision_view_page.php?bugnote_id=0006266#r2338
2010-05-06 06:49slinkNote Edited: 0006266bug_revision_view_page.php?bugnote_id=0006266#r2339
2010-05-06 08:10hyndisNote Added: 0006271
2010-05-07 02:57derigoNote Added: 0006343
2010-05-07 12:48fake_robotNote Added: 0006376
2010-05-07 13:19king doomNote Added: 0006378
2010-05-07 15:05QuietustNote Added: 0006381
2014-01-21 18:41FootkerchiefSummaryconstructions with multiple parts get destroyed in mid creation by haulers => Haulers can disrupt building of pumps by hauling tasked items to stockpiles
2014-01-21 18:42FootkerchiefNote Added: 0024305
2014-01-21 18:42FootkerchiefStatusnew => resolved
2014-01-21 18:42FootkerchiefResolutionopen => no change required
2014-01-21 18:42FootkerchiefAssigned To => Footkerchief
2014-01-21 20:09FootkerchiefRelationship addedrelated to 0003063
2014-01-21 20:09FootkerchiefAssigned ToFootkerchief =>
2014-01-21 20:09FootkerchiefStatusresolved => new
2014-01-21 20:10FootkerchiefNote Deleted: 0024305
2014-01-26 09:04FootkerchiefRelationship addedrelated to 0001833

2010-05-06 03:05   
I've experienced this as well, though I didn't investigate the underlying cause.

What I did was re-designate all the pumps, then suspend construction of all but the lowermost, and resume construction of a new pump whenever the construction of one completed. A very annoying workaround too.
2010-05-06 03:18   
yes that's essentially what I ended up doing as well. But with over a hundred levels of pumps involved...well...
2010-05-06 03:42   
I'm not sure this is a bug, more like an annoyance.
What you could also do is remove your furniture stockpiles so no one wants to keep moving the parts around.
Or try and insist that your dwarves build from the bottom up.
2010-05-06 06:42   
(edited on: 2010-05-06 06:49)
One thing that you can do is to dig the shaft for the screw pumps in such a fashion that the floors support the pumps. That way the order in which the pumps are constructed does not matter because every pump is supported by a tile of stone. The alternating pattern (where O is open, F is floor, and W is wall) is as follows. The pump stack goes up on the central two tiles, drawing from the open tile on the end and pumping into the floor tile on the opposite end.



Edit: I tried making the above ASCII diagram fixed width, but the text formatting information in the manual on the Mantis website evidentally does not apply to this installation.

2010-05-06 08:10   
Why are the components being moved?

If its just being moved around in a stockpile in bins you should be fine.

If the path is interrupted then the construction will be canceled, not paused. Anything hanging off of it will also be deconstructed as well.
2010-05-07 02:57   
you should've just made the diagram vertical, lol.

something like this? ( #=wall, _=channel, =floor)

pump from north

pump from south

That's the basic pump stack design that I'm talking about, and fyi pumps configured in this way are, in fact, considered to be 'hanging.'

The components are being moved because they were not in stockpiles(yet). Some of them were fresh off the forges, for example. Later, they were lying on the ground next to the recently deconstructed pumps that I needed to redesignate. Haulers are not supposed to pick up and move items that are 'in use' for a task like building a building, but for some reason they do sometimes. Since sooo many items are involved in creating a 100+ level pump stack, some of the items inevitably get moved during the long process of moving all that stuff into position. Since the pumps are all hanging off each other, this results in large sections of the stack deconstructing, more parts lying out of stockpiles, and more of the same problem.

The easiest workaround is simply to get rid of the stockpiles until the stack is complete. But that hauling behavior is not kosher.
2010-05-07 12:48   
I can confirm that this happens with stone as well. It's made doubly annoying by the fact that a hauler can take and move tasked items to a stockpile, but a builder cannot move a tasked item one tile away to finish a construction.
king doom   
2010-05-07 13:19   
Another way to break partially constructed stuff like waterwheels is to save and reload. Not sure if it's the same now, but in the last version it worked, totally dismantaling the construction in question and dumping the parts next to it. Pretty annoying if you were building a row of water wheels or something.
2010-05-07 15:05   
One way of preventing the stack from collapsing is builing gear assemblies (or horizontal axles, if you have lots of wood logs) next to where each pump will go (if you're doing a usual pump stack, these would be in the doorways on each level) - the gear assemblies will provide support until the entire stack is built, at which point you can remove the gears and let the stack support itself.