[1.2.2753] Bill isn't auto-assigned after it was noticed being invalid

Started by Doomster, January 07, 2021, 02:08:42 PM

Previous topic - Next topic

Doomster

If a worker notices that a bill is invalid (cannot be fulfilled), he/she seems to memorize that, and even after the bill is corrected, it cannot be auto-assigned for execution.

Steps to reproduce the bug for Cooking (similar steps work for Art, Tailoring and probably any other skill):

1. Load any game or start a new one.

2. Pause the game. The bug can be reproduced on the run but it takes some effort.

3. For simplicity, set the Cooking priority to 1 for a pawn.

4. For simplicity, remove or suspend all bills for a stove. Add a bill for simple meal. Make sure the bill is valid: Draft then Undraft the pawn, their current action should be "Cooking simple meal".

5. Invalidate the bill: just press button "Clear all" for ingredients. Alternatively, make ingredient radius too small. Draft then Undraft the pawn, the current action should be something unrelated.

6. Make the bill valid again: press button "Allow all" for ingredients. Alternatively, increase the radius. Draft then Undraft the pawn, the current action is still something unrelated. Gotcha! It's a bug. The action should be "Cooking simple meal".

To fix the bill, do any of the following:


  • Force working on the bill (right-click on the stove, prioritize cooking).
  • Save then load the game.
  • Copy the bill, paste, delete the original bill.

Check that the bill is fixed: Draft then Undraft the pawn, the current action should be "Cooking simple meal".

Also, unpausing the game fixes the bill eventually. After doing something else, the pawn goes to cook.

Canute

The check for the bill is only at the beginning not during the whole crafting process.
When you change the bill while the pawn is crafting it don't affect the ongoing crafting, and the moving to the workbench to gather resources is allready the crafting process.
That is basicly the game mechanic.
Or do you await Rimworld should check each x ticks if the bill is still valid for the crafting the pawn is doing all the time ?


Doomster

You're right. But that's not what I'm talking about. I don't say: "they do the bill when it's invalid". I say: "they don't do the bill when it's valid again".

Oh, and I forgot to mention that all the steps are done while the game is paused. Editing now...

Canute

Hmm ok.
But i can't verify that.
I followed your steps, and after 6. the pawn can do the bill without problems without.
He is wandering idle a few seconds, but thats because the pawn's don't check each tick for a job, but then he is going to cook.

Doomster

Yeah, that's because you unpause the game. I already added to the original message: "unpausing the game fixes the bill eventually". To reproduce the bug, just Draft and Undraft while on pause. After undrafting, pawn checks for available jobs. And if they don't see our bill outright, then it's a bug.

Canute

Ok, got it.
After step 6. the pawn should do cooking (since he got priority 1 at cook like step 4.) after draft/undraft but he don't.


Pheanox