TakeTreasure
Empty a cache or pile into the party's packs (one turn, RAW).
Full documentation: TakeTreasure. Wire type: take_treasure.
Legal session modes: exploring
JSON Schema
{
"description": "Empty a cache or pile into the party's packs (one turn, RAW).\n\nThe party must be exploring a dungeon (see\n[`EnterDungeon`][osrlib.crawl.commands.EnterDungeon]). `feature_id` names an\nauthored cache, an engine-generated cache, or the literal `pile` for goods\ndropped on the cell.\n\nBy default the haul **spreads across the living members**: items go to a\ncharacter whose class can use them (the fighter takes the plate mail, the\nmagic-user the arcane scroll), gems and jewellery divide by worth, and coins\ndivide evenly denomination by denomination. Nothing is ever loaded past the\n1,600-coin maximum load, so a pickup cannot immobilise the party \u2014 the group\nmoves at its slowest member's rate, so one mule stops everyone. Name\n`recipient_id` to override: that member alone fills their pack, up to their own\nmaximum load. Whatever exceeds the carriers' capacity stays in the drop pile on\nthe cell \u2014 nothing is destroyed, and the party can lighten up and come back for\nit. This first pass is automatic bookkeeping, not a ruling: rearrange it freely\nwith [`GiveItems`][osrlib.crawl.commands.GiveItems], and note that XP divides\nevenly however the goods end up split, per RAW.\n\nThe named recipient \u2014 or the leading living member when none is named \u2014 is the\none who reaches in, so taking a trapped cache with its trap unresolved risks\nspringing it on them.\n\nModes:\n `exploring`\n\nRejections:\n - `session.command.wrong_mode` \u2014 the session is not exploring a dungeon.\n - `session.command.no_living_members` \u2014 no one is left to carry.\n - `session.command.unknown_member` \u2014 `recipient_id` names no party member.\n - `session.command.member_incapacitated` \u2014 the recipient cannot act.\n - `exploration.feature.unknown` \u2014 nothing by that id on this cell.\n - `exploration.feature.emptied` \u2014 the cache has already been emptied.\n\nEvents:\n One [`ItemAcquiredEvent`][osrlib.crawl.events.ItemAcquiredEvent] per member\n who took something, listing their goods and coin value, in marching order;\n an [`ItemsLeftBehindEvent`][osrlib.crawl.events.ItemsLeftBehindEvent] when\n the party could not carry it all. An unresolved treasure trap rolls first\n ([`DetectionRolledEvent`][osrlib.crawl.events.DetectionRolledEvent], a\n [`TrapEvent`][osrlib.crawl.events.TrapEvent], and the trap's resolution\n when it springs). Under the immediate XP timing an\n [`XpAwardedEvent`][osrlib.crawl.events.XpAwardedEvent] follows per member.\n One turn passes.",
"properties": {
"command_type": {
"const": "take_treasure",
"default": "take_treasure",
"title": "Command Type",
"type": "string"
},
"feature_id": {
"title": "Feature Id",
"type": "string"
},
"recipient_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Recipient Id"
}
},
"required": [
"feature_id"
],
"title": "TakeTreasure",
"type": "object"
}