diff options
Diffstat (limited to 'building_guide/objects.md')
| -rw-r--r-- | building_guide/objects.md | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/building_guide/objects.md b/building_guide/objects.md index d377f23..a8877a7 100644 --- a/building_guide/objects.md +++ b/building_guide/objects.md @@ -275,25 +275,39 @@ use_interactions: ## Stealable Objects -Objects can be stealable via the `steal` command. These use the same drop table system as mobs and searches. +Objects can be stealable via the `steal` command. These use drop entries — either +item IDs or drop table references — resolved by weighted pick. The `steal` command +supports auto-selection when only one target is available, or `steal <name>` for +explicit targeting, including `steal <n>.<name>` to disambiguate identical defs. ```yaml name: Market Stall description: "A wooden stall piled with food and sundries." -steal_table: market_stall_steal -steal_level: 5 -steal_xp: 12 -steal_speed: 5 -guard_mob: guard +steal: + drops: + - table: market_stall_steal + weight: 1 + level: 5 + xp: 12 + speed: 5 + guard_mob: guard ``` -| Field | Description | -| ------------- | ------------------------------------------------ | -| `steal_table` | Drop table ID for loot when stealing | -| `steal_level` | Required thieving level | -| `steal_xp` | XP awarded per successful steal | -| `steal_speed` | Ticks per steal attempt (base wait) | -| `guard_mob` | Mob def ID that guards this object (watches it) | +| Field | Description | +| ---------------- | ------------------------------------------------ | +| `steal.drops` | Array of drop entries (item_id + weight, or table + weight) | +| `steal.level` | Required thieving level | +| `steal.xp` | XP awarded per successful steal | +| `steal.speed` | Ticks per steal attempt (base wait) | +| `steal.guard_mob`| Mob def ID that guards this object (watches it) | + +Each drop entry: +| Field | Description | +| ------------ | ------------------------------------------------ | +| `item_id` | Item ID (mutually exclusive with `table`) | +| `table` | Drop table ID to sub-resolve (mutually exclusive with `item_id`) | +| `weight` | Weight in the weighted-pick pool | +| `quantity` | Override quantity (0 = use sub-item's own qty for tables, or 1 for items) | When `guard_mob` is set, a mob with that def ID in the same room watches the object on a tick-based cycle (8 ticks watching, 4 ticks looking away). While the guard is |
