aboutsummaryrefslogtreecommitdiff
path: root/building_guide/objects.md
diff options
context:
space:
mode:
Diffstat (limited to 'building_guide/objects.md')
-rw-r--r--building_guide/objects.md40
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