[Mod request] Prioritizing crafting tasks

Started by 10001110, February 01, 2016, 10:59:06 AM

Previous topic - Next topic

10001110

This mod would read current active crafting jobs and create a list where we would be able to set a priority for each. or change a priority on the fly. For example, we have smelt steel from ore, smelt steel chunks, make sandstone blocks, make granite blocks, break down apparel for materials, etc. We could assign steel as #1, granite as #2, break apparel #3, Sandstone #4, without having to go to each bench and move things up and down or suspend them, i think it's a bit clunky. Moving things up and down doesnt work very well if multiple crafting jobs are active across different crafting tables, and there are not enough people to man everything, because of things. Guess we all know that :D
This would be great to give an overview of what jobs are active on each bench as well, if possible, in case we have 2 benches one for Y blocks and one for X blocks, for whatever reason.
We REALLY need that steel for yesterday, but that guy really wants to play with rocks or rags? This would fix it quick.

Fluffy (l2032)

Ok so here's how job selection works;
When a pawn is looking for work, he goes over his priorities. 1 through 4, left to right. These priorities are linked to workTypes. Now each workType has several activities that are linked to it, these are the workGivers. WorkGivers are usually linked to a single workstation, or a single activity (such as haul mats to construction site, construct, cook, shear, milk, etc. etc.)

Worktypes have a priority you can edit in game, workgivers do not. It's the workgiver priority that you need to change if you want your pawns to smelt first, then create blocks.

My mod enhanced tabs allows you to do just that, change the (normally hidden) priority of worktypes and workgivers. Sadly you still can't do your example, because creating stone blocks is a single workgiver. Also, you can't 'split' worktypes, so all workgivers of a type will still be next to each other in priority.

This was all possible without editing the way vanilla job code works. What you're suggesting crosses that line, and would require changes to pawn AI. I'm not sure I'm comfortable with doing that, as there's just a ton of potential bugs and conflicts.