BUG? hauling to multiple stockpiles not working as expected.

Started by zandadoum, July 30, 2016, 02:18:40 PM

Previous topic - Next topic

zandadoum

INTRO:
- a barn with several stockpiles (as roosters are separated from hens) setup with same priority. stockpiles are critical priority and only take kibble
- the closest stockpile to the butcher table is 1x2 (from now on: "rooster pile")
- the next closest stockpile is 2x2 (from now on: "hen pile")

so, let's say in "rooster pile" we have 2 stacks of 70 kibble (max is 75) as roosters ate a bit.
PROBLEM:
- a dedicated hauler will just pick up 10 kibble and fill up the missing amount on the closest pile ("rooster pile")
EXPECTED BEHAVIOUR:
if the butcher table is set to "take to best stockpile" it actually works as expected:
- the cook will make 50 kibble, will haul them to the barn, drop 10 at the "rooster pile" to fill it up, then haul the rest to the next room ("hen pile")
i expect the same behaviour for a dedicated hauler, but it's not working.

this is counter productive, as i don't want the cook to leave the kitchen everytime he finishes making kibble. that's what dedicated haulers are for. however a dedicated hauler will make dozens of journeys for nothing, as he only hauls enough to fill the closest pile ("rooster pile") and when he goes back to the kitchen to pick up the next stack, the roosters might have eaten a little bit, hence the hauler will AGAIN just pick up enough kibble to fill the first pile and never reach the second pile.

it DOES work if the butcher table is set to "take to best stockpile" so i don't understand why it wouldn't work for a dedicated hauler.

alternative workaround: nightowl dedicated hauler so he fills up all stockpiles while chickens are asleep.

milon

Working as designed. Hauling more than a stockpile can take (to drop the rest at a nearby stockpile) takes additional AI which isn't implemented at this time. I'm not sure if that's a planned feature or not.

To prevent your cook from hauling, modify the Bill to just drop the thing rather than haul.

zandadoum

Quote from: milon on July 30, 2016, 07:21:25 PM
Working as designed. Hauling more than a stockpile can take (to drop the rest at a nearby stockpile) takes additional AI which isn't implemented at this time. I'm not sure if that's a planned feature or not.

To prevent your cook from hauling, modify the Bill to just drop the thing rather than haul.
you either didn't bother to read my post, or you didn't understand it.

please read it again

if it DOES work as expected when a cook hauls the item after crafting it, why does it NOT work as expected when it is hauled by a dedicated hauler?

I don't know where you get the idea additional AI is required, when it clearly DOES work under certain circumstances.

BlackSmokeDMax

It's probably related to the special code with butchers where they can sometimes haul much more than the typical stockpile size. For instance, when butchering a thrumbo or elephant, you get WAY more than 75 meat, the butcher holds all the meat and takes it all at once to a stockpile and places down 75 unit piles until it is all put down.

So not exactly the same, but very possible related to that special code.

zandadoum

i made a couple of videos, zipped them so you can see what i mean:

https://www.dropbox.com/s/7cobdwetz0pnh90/Rimworld%20haul%20test.zip?dl=0

1) a cook makes kibble. kibble crafting is made in stacks of 50. he then takes all those 50 (which by no means is that cooks max. capacity BTW) and distributes them CORRECTLY amongst several stockpiles

2) i set the table to "drop on floor" so to test a dedicated hauler

3) the dedicated hauler just picks up enough kibble (instead his max, which would be 75) to fill the first stockpile. hauler moves to that stockpile and fills it up, without carrying any extra for the next stockpile.
i tell hauler again to haul kibble. this time picks up even less (as some chickens ate a bit from the first stockpile), just enough to fill up the first stockpile. and while hauler was walking there, some chickens ate a bit, so he doesn't even fill the first stockpile 100%

so, for this purpose, dedicated hauling is completely useless as a hauler will make hundrets of journeys with just 5% capacity

EXPECTED BEHAVIOUR: dedicated hauling should work like in 1)

ItchyFlea

All my mods are licensed under a Attribution-NonCommercial-ShareAlike 4.0 International
Ask for permission before using in ModPacks

Click here for a list of the mods I've created

zandadoum

Quote from: ItchyFlea on July 31, 2016, 04:56:42 AM
Bug confirmed. I have listed it on Mantis here: https://ludeon.com/mantis/view.php?id=2564 Thank-you for reporting this.
thank you.
i will leave my videos on dropbox for some days, please notify me once they are no longer needed so i can remove them.

makkenhoff

I'm not sure that it is entirely relevant to this specific bug, but I noticed a similar behavior when hauling to hoppers, but I do not know if hoppers are treated any different coding wise to a stockpile. I'd have made a note on the tracker myself, but I realized I didn't have access to do so.

milon

Quote from: zandadoum on July 30, 2016, 08:35:21 PM
Quote from: milon on July 30, 2016, 07:21:25 PM
Working as designed. Hauling more than a stockpile can take (to drop the rest at a nearby stockpile) takes additional AI which isn't implemented at this time. I'm not sure if that's a planned feature or not.

To prevent your cook from hauling, modify the Bill to just drop the thing rather than haul.
you either didn't bother to read my post, or you didn't understand it.

please read it again

if it DOES work as expected when a cook hauls the item after crafting it, why does it NOT work as expected when it is hauled by a dedicated hauler?

I don't know where you get the idea additional AI is required, when it clearly DOES work under certain circumstances.

Apologies.  I did misread your post.  I didn't realize that the cook was hauling as expected (nor that the AI had been programmed to haul more intelligently).  Which is why I thought that additional AI work was required before it would be in-game.

Tynan

Tynan Sylvester - @TynanSylvester - Tynan's Blog