pjf / masterwork-dwarf-fortress

Patches and bugfixes applied to Meph's amazing Masterwork Dwarf Fortress
33 stars 22 forks source link

Couriers: Revamp workshop trading... #21

Open pjf opened 10 years ago

pjf commented 10 years ago

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 instead I have a ridiculous idea that may be hard or impossible to implement, but I'm writing it down anyway.

Instead of workshop traders 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 get them inside) to collect the items. Now trading workshops are no longer siege/ambush proof.

One possible implementation would be spawning a merchant caravan (or using an existing one) and forcing the items onto a merchant/guard, 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. Alternatively, they could, 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.