From fee376102192dc6f24297a7b11324636ace3a07d Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Tue, 30 Jun 2026 19:27:37 -0400 Subject: feat: admin gui object CRUD is much nicer --- building_guide/behaviors.md | 33 +++++++++++++-------------------- building_guide/objects.md | 10 ++++------ building_guide/wandering_objects.md | 5 ++--- 3 files changed, 19 insertions(+), 29 deletions(-) (limited to 'building_guide') diff --git a/building_guide/behaviors.md b/building_guide/behaviors.md index b8668d8..0fc6516 100644 --- a/building_guide/behaviors.md +++ b/building_guide/behaviors.md @@ -13,19 +13,18 @@ name: copper rock color: "B2" gather: skill: mining - level: 1 - xp: 17 # XP awarded per successful gather - base_wait: 8 # ticks between attempts tools: # requires item with matching tool_type - pickaxe success: base: 0.40 # 40% base chance - per_level: 0.01 # +1% per level above requirement + per_level: 0.01 # +1% per skill level cap: 0.95 # 95% max gather_message: "You swing your pickaxe at the rock..." fail_message: "You chip away but get nothing useful." drops: - item_id: copper_ore + level: 1 # required skill level for this drop + xp: 17 # XP awarded when this drop lands weight: 90 # 90% chance when roll succeeds depletes: true # rock becomes depleted after this drop message: "You manage to mine some {B2}copper ore{/}." @@ -45,9 +44,6 @@ Non-depleting gather (fishing on a fishing spot object): name: fishing spot gather: skill: fishing - level: 1 - xp: 10 - base_wait: 4 tools: - fishing_rod bait: fishing_bait @@ -59,6 +55,8 @@ gather: fail_message: "Nothing seems to bite." drops: - item_id: raw_trout + level: 5 # required skill level for this drop + xp: 20 # XP awarded when this drop lands weight: 100 depletes: false # never depletes message: "You catch a {45}raw trout{/}!" @@ -70,9 +68,6 @@ name: oak tree color: "71" gather: skill: woodcutting - level: 15 - xp: 37 - base_wait: 6 tools: - axe success: @@ -83,6 +78,8 @@ gather: fail_message: "You swing but get no logs." drops: - item_id: oak_logs + level: 15 # required skill level for this drop + xp: 37 # XP awarded when this drop lands weight: 100 depletes: false # depletion is timer-based (deplete_timer) message: "You get some {71}oak logs{/}." @@ -97,9 +94,6 @@ Regular tree — always depletes on first gather, no shared timer, no nests: name: tree gather: skill: woodcutting - level: 1 - xp: 25 - base_wait: 4 tools: - axe success: @@ -110,6 +104,8 @@ gather: fail_message: "You swing but get no logs." drops: - item_id: logs + level: 1 # required skill level for this drop + xp: 25 # XP awarded when this drop lands weight: 100 depletes: true # regular tree depletes on first successful gather message: "You get some {6B}logs{/}." @@ -122,9 +118,6 @@ gather: | Field | Type | Description | |---|---|---| | `skill` | string | Skill name for level check | -| `level` | int | Required level to gather | -| `xp` | int | XP per successful gather | -| `base_wait` | float64 | Base ticks per action cycle | | `tools` | []string | Required tool_type list (e.g. `[pickaxe]`) | | `bait` | string | Required bait item (for fishing) | | `success` | SuccessFormula | Base + per_level, capped | @@ -143,7 +136,7 @@ gather: | Field | Type | Description | |---|---|---| | `base` | float64 | Base success chance (0.0-1.0) | -| `per_level` | float64 | Chance increase per level above requirement | +| `per_level` | float64 | Chance increase per skill level | | `cap` | float64 | Maximum success chance | #### DropEntry @@ -153,11 +146,11 @@ gather: | `item_id` | string | Item ID to drop | | `table` | string | Reference to a shared drop table in `data/drops/` | | `weight` | int | Relative drop weight | +| `level` | int | Skill level required for this drop | +| `xp` | int | XP awarded when this drop lands | | `depletes` | bool | Resource depletes on this drop | | `quantity` | int | Amount to drop (1-3 for random) | | `message` | string | Player message on drop | -| `level` | int | Skill level required for this drop | -| `xp` | int | Bonus XP on this drop | #### Shared depletion explained @@ -178,7 +171,7 @@ Use the `search` command to open nests — they roll on the `birds_nest_drop` ta #### XP drops -When `xp > 0`, the gather awards XP on each successful drop. If the player's `xpdrops` +Every successful drop awards the XP defined on that drop entry. If the player's `xpdrops` toggle is on, the output includes the XP gain: `(+37xp wct)`. ### Talk (dialog trees) diff --git a/building_guide/objects.md b/building_guide/objects.md index d8761ae..a897255 100644 --- a/building_guide/objects.md +++ b/building_guide/objects.md @@ -83,9 +83,6 @@ name: copper rock color: "B2" # xterm-256 color index (00-FF) gather: skill: mining - level: 1 - xp: 17 - base_wait: 8 tools: - pickaxe success: @@ -96,6 +93,8 @@ gather: fail_message: "You chip away but get nothing useful." drops: - item_id: copper_ore + level: 1 # required skill level for this drop + xp: 17 # XP awarded when this drop lands weight: 90 depletes: true message: "You manage to mine some {B2}copper ore{/}." @@ -113,9 +112,6 @@ name: oak tree color: "71" gather: skill: woodcutting - level: 15 - xp: 37 - base_wait: 6 tools: - axe success: @@ -126,6 +122,8 @@ gather: fail_message: "You swing but get no logs." drops: - item_id: oak_logs + level: 15 + xp: 37 weight: 100 depletes: false message: "You get some {71}oak logs{/}." diff --git a/building_guide/wandering_objects.md b/building_guide/wandering_objects.md index a181218..a106a0c 100644 --- a/building_guide/wandering_objects.md +++ b/building_guide/wandering_objects.md @@ -6,9 +6,6 @@ Fishing spots that move between rooms (**the filename is the ID** — `fishing_s name: fishing spot gather: skill: fishing - level: 1 - xp: 10 - base_wait: 4 tools: - fishing_rod bait: fishing_bait @@ -19,6 +16,8 @@ gather: gather_message: "You cast your line into the water..." drops: - item_id: raw_trout + level: 5 + xp: 20 weight: 100 message: "You catch a raw trout!" ``` -- cgit v1.2.3