[1.5] Allow Tool (3.13.0) - The Rimworld Multitool

Started by UnlimitedHugs, January 01, 2016, 04:46:25 AM

Previous topic - Next topic

Nekokon

^ For your problem I think you can use Fluffy's Work Tab, it breaks down every single job groups into small jobs (including extra jobs from mods). For example, you can manually set "haul to blue print" higher than everything else so your builder/hauler can haul everything first, then process to work on all of them. The only down side is there're too many small jobs and no export/import function, so when things go haywire and you need to change workers around you will have to set priority for all of them again.

For the other issue, I'm not sure how the code for priorities works, but I guess it would be like: send job check after current job done (or partly done, in case of crafting) in priority order > if one is found, process to the new job and skip the rest > prioritize closest location (bench to craft, or tile to work, or item to haul) in the same work group. Since it skips the rest of the job, it also disregard if there's any possible job closer and just go across the map to finish the higher priority one and that's the main problem.
So if we can't just force check all possible jobs (performance issue), how about forcing a single distance check after it passes the "pick a job" phase ? It would be: check for job > find one > look for closest location > distance check if it's higher than what we set > if it's not, process to the job like normal (skip the rest); but if it's higher than the value set > discard said job, process to the next one in priority order.
There might be problem if there're too many jobs queued around the same area, but it can be easily take care of since 1. we usually (and are recommended to) set only a few specific jobs for each pawn; and 2. we can manually prioritize pawns to do specific job somewhere far away, and it will keep working around that area until everything's done or when told to go somewhere else again.
Another problem would be when they finished everything in 1 area far away from other jobs and all distance checks ended up fail and pawn goes into idle, we can disable check only for idle pawn. Even better if we can manually change distance check in game for each pawn like the slider in work benches.

UnlimitedHugs

Quote from: Nekokon on September 21, 2017, 05:54:51 PM
For the other issue, I'm not sure how the code for priorities works, but I guess it would be like: send job check after current job done (or partly done, in case of crafting) in priority order > if one is found, process to the new job and skip the rest > prioritize closest location (bench to craft, or tile to work, or item to haul) in the same work group. Since it skips the rest of the job, it also disregard if there's any possible job closer and just go across the map to finish the higher priority one and that's the main problem.
So if we can't just force check all possible jobs (performance issue), how about forcing a single distance check after it passes the "pick a job" phase ? It would be: check for job > find one > look for closest location > distance check if it's higher than what we set > if it's not, process to the job like normal (skip the rest); but if it's higher than the value set > discard said job, process to the next one in priority order.
There might be problem if there're too many jobs queued around the same area, but it can be easily take care of since 1. we usually (and are recommended to) set only a few specific jobs for each pawn; and 2. we can manually prioritize pawns to do specific job somewhere far away, and it will keep working around that area until everything's done or when told to go somewhere else again.
Another problem would be when they finished everything in 1 area far away from other jobs and all distance checks ended up fail and pawn goes into idle, we can disable check only for idle pawn. Even better if we can manually change distance check in game for each pawn like the slider in work benches.

Could work, but you'd have to manually send each colonist to the work area first. Also, needs have higher priority than work, so they would soon loose interest in the area and return home.
HugsLib - AllowTool - Remote Tech - Map Reroll - Defensive Positions: Github, Steam

maculator

Well if been testing the tool the past days and added "select similar" to my list of parts I'll use constantly. However: I only got the haul+ worktype, the haul+ tool and the select similar tool activated and I stil can rightclick the select similar tool and select the whole map.
I got my problems figuring out all the meanings of the different options since I'm german but as far as I understand thats an option I can disable (wich I have). So it actually shouldn't show.

And I noticed my guy are now hauling perishables before anything else. Since I got no other mod that alters work related stuff I guess it must be a feature of allow tool?


UnlimitedHugs

Quote from: maculator on September 26, 2017, 05:07:50 PM
I only got the haul+ worktype, the haul+ tool and the select similar tool activated and I stil can rightclick the select similar tool and select the whole map.
And I noticed my guy are now hauling perishables before anything else. Since I got no other mod that alters work related stuff I guess it must be a feature of allow tool?

Nice catch, I'll fix the context menu disabling in the next update- right now it just seems to hide the right click icon.
As for the perishables- Allow Tool should not affect any haul priorities outside of Haul Urgently.

Quote from: Canute on September 27, 2017, 04:50:27 AM
The "select the whole map" is from another mod.
https://ludeon.com/forums/index.php?topic=34797.0

Select Similar is definitely an Allow Tool feature, since I distinctly remember writing it myself :)
Guess the other mod's author didn't know about it, so he made his own.
But hey, it's all good- I don't mind.
HugsLib - AllowTool - Remote Tech - Map Reroll - Defensive Positions: Github, Steam

maculator

Quote from: Canute on September 27, 2017, 04:50:27 AM
The "select the whole map" is from another mod.
https://ludeon.com/forums/index.php?topic=34797.0
That mod you linked just adds tools to the right click menu.
Quote from: merthsoft on August 01, 2017, 09:38:47 PM
[...] This also works with AllowTool and its custom right-clickable items.

SpaceDorf

@UnlimitedHugs

I actually played Rimworld for a while today and I though the Ultimate convenience addtion for the AllowTool would be to assign "Haul Urgently" automatically to pre-defined items right on drop/creation.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Kori

Quote from: SpaceDorf on October 16, 2017, 08:13:15 AM
@UnlimitedHugs

I actually played Rimworld for a while today and I though the Ultimate convenience addtion for the AllowTool would be to assign "Haul Urgently" automatically to pre-defined items right on drop/creation.

:o
+111

UnlimitedHugs

Quote from: SpaceDorf on October 16, 2017, 08:13:15 AM
I actually played Rimworld for a while today and I though the Ultimate convenience addtion for the AllowTool would be to assign "Haul Urgently" automatically to pre-defined items right on drop/creation.

That's a neat idea. I'll think about it.
HugsLib - AllowTool - Remote Tech - Map Reroll - Defensive Positions: Github, Steam

BlackSmokeDMax

Quote from: UnlimitedHugs on October 19, 2017, 04:01:12 PM
Quote from: SpaceDorf on October 16, 2017, 08:13:15 AM
I actually played Rimworld for a while today and I though the Ultimate convenience addtion for the AllowTool would be to assign "Haul Urgently" automatically to pre-defined items right on drop/creation.

That's a neat idea. I'll think about it.

If you do implement that, please make it optional if possible. I micro early hauling, and then just allow all.

UnlimitedHugs

Quote from: BlackSmokeDMax on October 19, 2017, 07:57:07 PM
If you do implement that, please make it optional if possible. I micro early hauling, and then just allow all.

Of course.
HugsLib - AllowTool - Remote Tech - Map Reroll - Defensive Positions: Github, Steam

SpaceDorf

Quote from: BlackSmokeDMax on October 19, 2017, 07:57:07 PM
If you do implement that, please make it optional if possible. I micro early hauling, and then just allow all.

Read the suggestion again .. I would like a list, to which I can add Items ( like berries )
that get assigned the "Haul Urgently" Labor when they drop.

Everything about this is absolute player controlled micro. If you change your mind, remove everything from the list and you are back to vanilla settings.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

BlackSmokeDMax

Quote from: SpaceDorf on October 20, 2017, 03:42:05 AM
Quote from: BlackSmokeDMax on October 19, 2017, 07:57:07 PM
If you do implement that, please make it optional if possible. I micro early hauling, and then just allow all.

Read the suggestion again .. I would like a list, to which I can add Items ( like berries )
that get assigned the "Haul Urgently" Labor when they drop.

Everything about this is absolute player controlled micro. If you change your mind, remove everything from the list and you are back to vanilla settings.

Ah, yeah that sounds better. By "pre-defined" thought you meant a list built into the mod. Think you may want to change that to "user-defined".

SpaceDorf

You are right, the point who does the defining is very important ;D

I just presumed that a good tool enables me to define things, but it is Me, the player/user, who does the defining. Of course there can be presets, like expensive Items or food Items that spoil quickly, but even those should be open to changes.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Canute

A window like the modlist,
you can see all haul priorites and move them up/down and can assign categories/item to auto. marked for haul urgenty.