DFHack / dfhack

Memory hacking library for Dwarf Fortress and a set of tools that use it
Other
1.88k stars 476 forks source link

Presets for trade agreement screen #3509

Open myk002 opened 1 year ago

myk002 commented 1 year ago

depending on how many there are, we might want to hard-code them or do an import/export interface similar to stockpiles

ideas for presets:

DragonEyeNinja commented 1 year ago
myk002 commented 1 year ago

all good ideas, though shell-giving fish probably won't be useful for its intended purpose. shellfish that come from caravans is already prepared, and you don't get a shell from them.

DragonEyeNinja commented 1 year ago

may also want to consider allowing users to create their own new presets; ideally these should just come with the default DFHack package

myk002 commented 1 year ago

yeah, that would be the stockpiles library model, which is totally viable. we'd just need to write another protobuf (or json) serialization/deserialization routine

myk002 commented 1 year ago

other bits I don't want to forget on the trade screens:

The F option is clearer because it has a colon followed by the current status. Another option would be to use the gerund, i.e. "Showing only ethically..." to make clearer that's what is being shown now

myk002 commented 1 year ago

notes from discord:

Container Mode: You see each container, either inside the container or not. You can only select the entire container at once, and the "marked" icon is on the container line, no change if collapsed or not. It will bring the entire container.

If group is enabled, expanded container will show groups WITHIN the container. If ungrouped, each item in the container is shown separately.

Item Mode: You see items, ignoring containers. nothing to collapse or expand. If you select items, those items are marked for delivery, leaving the bins.

Grouping works as present.


^^This^^ seems to hit most use cases I can think of. Either people want to bring the items or the containers. If people just want the items they likely don't care what container it is in, so don't show/bring the container. Just the items. If people want the containers, show them container mode and only allow marking containers. Friendly Mushrooom — Today at 7:15 PM If I wanted every gem and every bin with gloves: Container mode>"Gloves">Mark all Switch to Item mode, sends request and resets the index Item Mode>"Gem">Mark all

myk002 commented 1 year ago

also ensure "trade goods" preset is achievable: https://gist.github.com/ab9rf/4740564