I keep adding wishlist items to my
TODO list. I'm hoping to share more significant idea here.
So today, I've been thinking about workshop trading.
I don't like that trading (via workshops) gives you products immediately. If my fortress is walled in and closed off, how do those products get there?
So I have an idea that may be hard or impossible to implement, but I'm writing it down anyway.
Instead of workshop trades resulting in goods appearing immediately, they instead cause a courier to spawn at the map's edge. Obviously one needs to reach the courier (or their corpse) to collect the items. Now trading workshops are no longer siege/ambush proof. There's a good motivation to do lots of trading when sieges and ambushes are cleared and it's safe for couriers to visit your fort.
One possible implementation would be spawning a merchant caravan (or using an existing one) and forcing the items onto a merchant/guard/diplomat, and having them auto-drop them upon reaching the trade depot. That's nice, but I fear may be difficult to implement properly.
Another would be to spawn the courier as a pet on a depot-accessible map edge (or if no depot accessible square exists, on any map edge). Pets automatically head for meeting areas, but the player can also assign them to zones. Place a zone over your trade storehouse, pasture your courier there, and run the 'accept delivery' reaction. That de-pops all couriers in LOS, causing them to drop their items.
Couriers should have a short 'lifespan', or other time-limiting mechanism, so if they're out in the field too long they'll eventually 'give up' and drop their gear. One season sounds about right. It also means ignored (but successful) couriers will eventually de-pop in one's meeting hall, where hopefully the items are easy to spot.
Couriers should not give any meat/bones/equipment when butchered or killed, as this would be an obvious exploit, although they should still drop the items they're delivering. Alternatively, they could provide meat/bones/equipment, but only if there was a way that the death of a courier could invalidate a trade workshop, start a siege, or otherwise have negative consequences.
Bonus points if couriers from drow and dwarf civilisations can arrive via the caverns.
Obviously all of this would require snazzy DFHack programming, but if all the individual pieces are possible, then this should just be a Simple Matter Of Code.
~ T