Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008665Dwarf FortressDwarf Mode -- Jobs, Cancellation and Suspensionpublic2014-12-25 20:272015-04-13 13:15
ReporterVeroule 
Assigned ToFootkerchief 
PrioritynormalSeverityminorReproducibilityalways
StatusconfirmedResolutionopen 
PlatformLinuxOSOS Version
Product Version0.40.23 
Target VersionFixed in Version 
Summary0008665: Bring Item to Depot supersedes and cancels other jobs
DescriptionThe Bring Item to Depot job will steal a dwarf in the middle of other jobs. I have seen dwarves stolen from Construct Mechanisms as they arrive at the workshop with the material, resulting in a cancellation due to loss message. I have also observed a dwarf in the middle of Prepare Lavish Meal stop work on that job, leaving all the items in the kitchen and giving NO cancellation message, then proceed immediately to a Bring Item job.
Steps To ReproduceMethod 1
Order Lavish Meals prepared while traders are at the depot.
When a dwarf has brought all 4 materials to the kitchen order a huge supply of things brought to the depot.
Observe the cook.

Method 2
Order Construct Mechanisms on repeat.
When a dwarf is engaged in the Construct Mechanisms order a huge supply of things brought to the depot.
Observe the Mechanics workshop to see the dwarf become confused when arriving with the material.
TagsIntentional/Expected?
Attached Files

- Relationships
related to 0000791resolvedToady One Even with hauling labors off, dwarves continue to haul to trade depot and harvest food 

-  Notes
(0031477)
smjjames (reporter)
2014-12-25 20:56

Hm, were there lots of available dwarves to do the hauling or only a few? That would definetly affect things.
(0031480)
Detros (manager)
2014-12-26 02:14

In unit_view-go_to_unit-profession-labor-hauling ([u]-[z]-[p]-[l]-[minus]-[minus]) you can remove "Trade Good hauling" labor type from dwarves you don't want to participate on this type of haul jobs.

Does that help? Or do you even see dwarves without this labor set working on "Bring item to depot" jobs?
(0031489)
Veroule (reporter)
2014-12-26 12:14
edited on: 2014-12-26 12:15

The bug I am reporting is not related to 0000791, and the problem is not that dwarves are taking the Bring Item jobs. The bug is that dwarves are canceling or stopping a job they are in the middle of in order to take on a Bring Item job.

To repeat what I said in the description with other words:
A dwarf should not haul a stone to a mechanics workshop and when arriving with the stone CANCEL the Construct Mechanisms job with the message 'job item lost or destroyed'.
A dwarf should not stop a Prepare Lavish Meals when they are standing in the kitchen with all 4 job items loaded into the kitchen, leaving the job items in the kitchen and the job reverted to a waiting state with no messages.

(0031490)
PetWolverine (reporter)
2014-12-26 12:38

This seems like an intended outcome of the recent job priorities changes. Hauling items to the depot is an important and time-limited activity, so it takes priority over other jobs, as does the actual trading job. As Detros mentioned, you can disable this labor on individual dwarves with important professions.

For the meals job, the cancellation message may have been lost due to a setting; press [o] [x] [x] to make the game announce all cancellations.

The only bug I see here is with the announcement for the mechanisms job; "Job item lost or destroyed" isn't a good description of what's going on.
(0031496)
Detros (manager)
2014-12-26 18:02

Maybe "Trade Good hauling" job makes him drop that stone (to make space for newly assigned trade goods) before ending previous job. When then "Construct Mechanisms" job finds out it calls "Job item lost or destroyed" exception and unassigns him.
(0031502)
Veroule (reporter)
2014-12-26 21:24

I am fairly certain that Toady never intended for any job to steal a dwarf that is actively doing another job. From what Toady said even the "Do it Now" thing does not take a dwarf that is already engaged in another job.

The bug, at its most basic level, is that Bring Item to Depot does not check what the dwarf is doing when it selects them for the job. What I describe above are two ways of recognizing what is happening.

PetWolverine, the cooking job is not canceled. The dwarf walks away to begin the Bring Item and the cooking job loses its active status and remains in the jobs list for the kitchen; never canceled means no message to be lost.
(0031503)
Detros (manager)
2014-12-27 02:22

@Veroule: Yes, I have read that note about "Do it now" the same way. Automatic cancelling of other jobs to make some other one doesn't sound right.

1) Can you try if removing "Trade Good hauling" from your dwarves makes them not hear the call of trade hauling? So the problem can be narrowed only on dwarves with "Trade Good hauling" allowed.

2) Can you post a zipped save of your region folder to http://dffd.wimbli.com/ [^] please? If others are not reporting this issue your world/fort may include something that causes this issue to happen (often enough to be noticed).

3) Also, when was that world/fort generated? And are you using any mods or just the core game? Have you seen this happen only in 40.23 or in previous versions too?
(0031504)
Knight Otu (manager)
2014-12-27 03:23

Toady's devlog on the 14th December includes the following:

"I finished the prioritization for meetings, depot trading and a few other important jobs. I've allowed some critical tasks to snatch up a working dwarf (provided they aren't carrying something), while another available dwarf without something better to do will eventually handle the first worker's job (it isn't cancelled)."

So if they're canceling the job, there's a bug, if they're carrying something and drop it, there's a bug, but if they're standing in the workshop ready to start the job without canceling, that's technically as expected, but grounds for fine-tuning. I agree that they shouldn't go and haul trade goods, but meetings and such should be fair game.
(0031509)
Detros (manager)
2014-12-27 07:58

Thanks for finding that quote, Knight Otu.

Maybe that dwarf in workshop can use something like:
"Urist McWorkshop stops working on <JOB NAME>: Trade good hauling prioritized".

And Orders setting can have
"Allow dwarves with trade good hauling to stop their assigned jobs in favour of these hauling jobs" ~ YES / NO
(0031546)
Veroule (reporter)
2014-12-28 21:33

Thanks for the Devlog reminder. I am thinking the timing of the behavior needs to be adjusted. If it is changed from 'not carrying anything' to once a dwarf has picked up an item for a job they are committed to that job until completion, then such a change would eliminate the problems I noted and still give the higher priority tasks a way to pull a dwarf away from jobs set on repeat.
(0032569)
Veroule (reporter)
2015-04-13 13:15
edited on: 2015-04-13 13:18

The current behavior might be fine as it is, but some adjustment should be done for food related tasks. I personally think anything involving food that can spoil should be the highest priority after personal needs. Most other tasks flag items involved in the job and have no problems with resuming.

The kitchen tasks only flag the item as part of a job while the dwarf is working with the job. When the dwarf walks away for another task all the items collected tend be assigned to being stored back in stockpiles. When a dwarf returns to the task they must start gathering everything again, and that is why I think some adjustment is needed.

This situation might apply to all workshop jobs requiring multiple items; the kitchen is the easiest to see it with since a job gathering 4 items is readily available.


- Issue History
Date Modified Username Field Change
2014-12-25 20:27 Veroule New Issue
2014-12-25 20:56 smjjames Note Added: 0031477
2014-12-25 22:19 Footkerchief Tag Attached: Intentional/Expected?
2014-12-25 22:20 Footkerchief Relationship added related to 0000791
2014-12-26 02:14 Detros Note Added: 0031480
2014-12-26 12:14 Veroule Note Added: 0031489
2014-12-26 12:15 Veroule Note Edited: 0031489 View Revisions
2014-12-26 12:38 PetWolverine Note Added: 0031490
2014-12-26 13:33 PetWolverine Issue Monitored: PetWolverine
2014-12-26 17:48 Detros Issue Monitored: Detros
2014-12-26 18:02 Detros Note Added: 0031496
2014-12-26 21:24 Veroule Note Added: 0031502
2014-12-27 02:22 Detros Note Added: 0031503
2014-12-27 03:23 Knight Otu Note Added: 0031504
2014-12-27 07:58 Detros Note Added: 0031509
2014-12-27 11:14 Footkerchief Assigned To => Footkerchief
2014-12-27 11:14 Footkerchief Status new => confirmed
2014-12-28 21:33 Veroule Note Added: 0031546
2015-04-13 13:15 Veroule Note Added: 0032569
2015-04-13 13:18 Veroule Note Edited: 0032569 View Revisions
2018-04-13 12:50 Huntthetroll Issue Monitored: Huntthetroll


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker