Build #: 101.101.44725.0 6115729 (and the previous version too!)
Operating System: Windows 10
If a villager is shift-queued to do several tasks, but one of the tasks is completed before the villager can start working on it (e.g. a house is deleted or an animal carcass is finished), then the villager will do the two tasks after that one in the wrong order.
100% of the time
Here are the steps to reproduce the issue:
Select a villager.
While holding shift, tell the villager to build 4 houses. (I do this by pressing B, pressing E, then left-clicking in 4 locations.)
Before the villager starts working on the second house, delete the foundation.
After the villager finishes the first house, observe that he or she goes to build the fourth house instead of building the third as you would expect.
The villager should perform its queued tasks in the order they were issued. If task #2 gets canceled, the villager should do task #3 next, followed by task #4.
I prepared a 2 MB mp4 video file showing this issue. I am disappointed that I can’t upload it on the forum, but I am hosting it on my own site instead:
I can reproduce this bug as plainly as you have stated. Some other scenarios
If I build 5 houses and delete the second, it goes in the order 1 → 4 → 3 → 5. Only the next two actions are swapped. Future actions stay as it is.
If the second house is built by another villager before the first one finishes, the original villager walks to the second house after completing the first and then proceeds to the third house. Here the order is not reversed.
The same thing happens with sheep. This explains why some shepherd will go and eat a different sheep despite shift queueing another higher on their priority.
If you have only given three commands. Say you have shift queued through 3 sheep. If the second sheep is exhausted before the first one, then your villager will search for a nearby sheep on their own after finishing their first sheep. After they have finished with that arbitrary sheep, they will go back to the sheep that was originally the 3rd in shift queue (even if that sheep is far away). So in this case, the fourth in queue gets substituted for the arbitrary sheep.
I am sure investigation into this can help explain other weird shift queue behaviours (e.g. with attack commands. Units are frequently killed before the shift-queue can reach till them.)
this can explain so many annoying cases with vils taking sheep despite being tasked to another sheep. i wonder if shift queuing them to eat the same sheep twice triggers this. i will test this tomorrow.
anyways, since this affects shift-queuing sheep, this makes this issue a critical one.
I cant reproduce step 4. I set a scenario in which im britons, and i have an onager, a villager, and a few sheep right next to mills.
I shift-queue the villager to take 3 sheep that are not adjacent to each other. i kill the second sheep with the onager. the villager still takes the 3rd sheep after the first one. The same thing happens if instead of an onager i tell 7 other villagers to eat the second sheep and then walk away.
I am not Microsoft, but i thank you for reporting this bug. It is very helpful report! Thanks for your time reporting this bug. We value your feedback a lot.
Our team will look into this bug!
I didn’t see it listed in the patch notes, but this bug appears to be fixed now. I tested it just now with villagers queued to build palisade segments, and also tested it with houses. Thanks to @ChristheCo and the Forgotten Empires team!