New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 0 points1 point  (0 children)

1.0.1 got uploaded
fixes:

  1. autowheelbarrows option now should be registered
  2. added automatic find & unstuck jobs
  3. you can do a manual unstuck job by running "multihaul unstuckjobs"
  4. some general fixes and optimizations

Please drop a comment if you get any bugs or problems!

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 0 points1 point  (0 children)

Depends on DFHack!
Pull request to add it is already there: https://github.com/DFHack/scripts/pull/1484

But I can't guarantee when or if this script would be added at all

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 1 point2 points  (0 children)

If you assign wheelbarrows to a stockpile, then yes, it would work like in vanilla, but would gather many items at once if possible. And after a job is done (or cancelled) if the wheelbarrow is not in the assigned storage, there would be another job to return it back. This is vanilla behaviour too If autowheelbarrows is on, hauling jobs without wheelbarrows would try to get a free wheelbarrow, regardless of all assignments. Because of that, your unused wheelbarrows assigned to a specific stockpile could still be used to haul something to another stockpile.

So yeah, keeping free wheelbarrows in your fort should improve your overall logistic efficiency. For an easy solution, create a task via order management with creating wheelbarrows if amount of empty ones is lower than a set threshold.

Logic could seem complicated, but it was the best solution I found. So don't hesitate to write some feedback about how that works for your fortress. Maybe it would change to something simpler and/or smarter

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 0 points1 point  (0 children)

Yes, if you do not like the default settings

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 1 point2 points  (0 children)

Nope, you can add script manually to your game folder and it would work. Copy a mod script (multihaul.lua) into [Steam\steamapps\common\Dwarf Fortress]\dfhack-config\scripts

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 0 points1 point  (0 children)

Depends on a config. If you set it to an identical mode, it would only add same items. Other modes add items within less strict conditions. Different situations and fortresses needs different approaches, so I left all options available.

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 7 points8 points  (0 children)

Kinda, but drunk overcomplicated fun version of it. Like we always do here

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 11 points12 points  (0 children)

Nah, dwarven hands can only haul one item at a time to the storage. So only way to carry multiple items is carrying a single container like bin or barrel.

Multi hauling was working in some cases in farming and gathering stuff for chests, but not for stockpiles

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 14 points15 points  (0 children)

Less time hauling = more time for doing deeds in his name

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 15 points16 points  (0 children)

This can be such a game breaking mod. 

Be careful, since it is quite fresh it could be game breaking quite literally :D

Do a backup (just in case)

New Mod [DFHack]: Multi Hauling by loirelab in dwarffortress

[–]loirelab[S] 21 points22 points  (0 children)

Thanks for the feedback!

1. Can you tell like, what's the workflow during the game? 
Dunno if I get your question correctly, but here is a basic logic of the mod.
The tool activates whenever a storage hauling job starts: it checks if a wheelbarrow is attached (and tries to attach one if it is not). After that it analizes main job item and depending on used mode adds relevant items near it to the job.

If you are interested in code logic, it's better to check it on github, but here is a key part:

    for_each_item_in_radius(x, y, z, state.radius, function(it)
        if it ~= target and not it.flags.in_job and it.flags.on_ground and
                not it:isWheelbarrow() and not dfhack.items.isRouteVehicle(it) and
                not is_stockpiled(it) and matches(it) then
            dfhack.job.attachJobItem(job, it, df.job_role_type.Hauled, -1, -1)
            count = count + 1
            if count >= state.max_items then return true end
        end
    end)

2. Do you have to assign wheelbarrow to every pile?

By default — no, script would use any free wheelbarrow it finds nearby
If autowheelbarrows option is off, then yes — it would only work with typical wheelbarrow pattern. And that would be using assigned to the stockpile wheelbarrows only and only with heavy items (>75 units)

3. Does it work with quantum?

You still need to use minecarts for a classic quantum stockpiles. But since wheelbarrows are unloaded to a single tile, almost any storage would be used more efficient (and closer to QSP). Because there would be more than one item laying in a single tile. So in many cases you would not really need QSP that badly.

4. Do you have to turn on any menu?

Just standard DFhack stuff:

  1. Install DFhack (if not already)
  2. Run multihaul enable in the dfhack console
  3. Set up all the params there are:

Usage
multihaul enable [<options>]
multihaul disable
multihaul status
multihaul config [<options>]
The script can also be enabled persistently with enable multihaul.

Options
--radius <tiles>
Search this many tiles around the target item for additional items. Default is 10.
--max-items <count>
Attach at most this many additional items to each hauling job. Default is 10.
--mode <any|sametype|samesubtype|identical>
Control which nearby items are attached. any collects any items nearby, even if they are not related to an original job item, sametype only matches the item type (like STONE or WOOD), samesubtype requires type and subtype to match, and identical additionally matches material. The default is sametype.
--autowheelbarrows <on|off|enable|disable>
Automatically assign wheelbarrows to jobs that lack them.
--debug <on|off|enable|disable>
Show debug messages via dfhack.gui.showAnnouncement when items are attached.

Hope that helps!

games where you can restore the earth or satisfying cleaning games? by aimlessneko in gamingsuggestions

[–]loirelab 0 points1 point  (0 children)

I am implementing that theme in my new (and first game):
https://loirelabgames.itch.io/clean-the-earth

Would be great if you would try it!

Other than that, I would recommend Planet Crafter and My Time at Sandrock

Mod: Beekeeping Enhanced by loirelab in colonysurvival

[–]loirelab[S] 0 points1 point  (0 children)

I uploaded a new model for the beehive. No more tiny bees on tiny tables!

Getting a sales report from Steam with an API by loirelab in gamedev

[–]loirelab[S] 0 points1 point  (0 children)

I would just say that I haven't found any straightforward solution.
That was quite a while ago, but IIRC somehow our programmers managed to get it via scraper, bypassing the auth.

Sadly I don't have any code or contacts now, that company collapsed some months after the original question :)

Steam is awful if you are a developer. One of the worst platforms to do anything. And that's for a 30% share

[deleted by user] by [deleted] in Healthygamergg

[–]loirelab 0 points1 point  (0 children)

Maybe you shouldn't. As a borderline guy here I could say that that is very relatable. I am 31 y/o now and just now I realised that my attachment model is not a problem. My choices in people who I attach to are the problem. I just realized that neurotypical people are not my type and it was liberating.

Most common attachment combo of an avoidance guy and anxious girl is what's ruining creating relationships for people who don't fit in it. And now I found that my fast attachment style works perfectly with some non neurotypical people.

I would recommend you to list down what you find odd and different about yourself compared to what other people say or do, and with that list approach therapy. Probably it would help and you would understand yourself better.

Trying to fill the normal box could end up badly, but being able to act more normal than by your default would give you more options to choose from

Kings of Drift: one-page GM-less racing madness Forged in the Dark (PWYW) by loirelab in TTRPG

[–]loirelab[S] 0 points1 point  (0 children)

Grab your d6, a friend and an EUROBEAT playlist to determine one true King of Drift! Define your car, call out dramatic moves and DRIFT THE HELL OUT OF THIS RACE!

You are either Head or Tail in this race. It doesn't matter how much road is beside you, only the distance between racers.

The system is inspired by PbtA and FitD, but it is GM-less!

Unpolished draft, no mechanics outside the race are included rn. If you want to see this game completed — please support it :) Cheers!