aboutsummaryrefslogtreecommitdiff
path: root/worldbuilding_guide
diff options
context:
space:
mode:
authorworkhorse <workhorse@localhost.localdomain>2026-06-19 20:24:52 -0400
committerworkhorse <workhorse@localhost.localdomain>2026-06-19 20:24:52 -0400
commit8ee8982b8759bcae116647cc993867f4c8b0a6ce (patch)
treeee01f7b1d745cbc94d9981108a1209527487b3e5 /worldbuilding_guide
parent2bec24859af8f03c80a0a58e3240519942450167 (diff)
downloadthehouseoficarus-8ee8982b8759bcae116647cc993867f4c8b0a6ce.tar.gz
reorganized items, objects, and rooms in directories. oranized module names. added startup checks.
Diffstat (limited to 'worldbuilding_guide')
-rw-r--r--worldbuilding_guide/construction.md4
-rw-r--r--worldbuilding_guide/items.md12
-rw-r--r--worldbuilding_guide/objects.md12
-rw-r--r--worldbuilding_guide/recipes.md24
-rw-r--r--worldbuilding_guide/rooms.md8
5 files changed, 30 insertions, 30 deletions
diff --git a/worldbuilding_guide/construction.md b/worldbuilding_guide/construction.md
index d4ba840..5775fbf 100644
--- a/worldbuilding_guide/construction.md
+++ b/worldbuilding_guide/construction.md
@@ -96,7 +96,7 @@ station: [workbench]
tool: saw
consume:
- items: [oak_logs]
- qty: 1
+ quantity: 1
output: oak_planks
message: "You saw the oak logs into sturdy oak planks."
```
@@ -111,7 +111,7 @@ wait: 6
station: [workbench]
consume:
- items: [planks]
- qty: 3
+ quantity: 3
output: wooden_table
message: "You build a sturdy wooden table."
```
diff --git a/worldbuilding_guide/items.md b/worldbuilding_guide/items.md
index a1ca8c1..2e36349 100644
--- a/worldbuilding_guide/items.md
+++ b/worldbuilding_guide/items.md
@@ -149,10 +149,10 @@ color: "222"
ticks: 2
made_from:
- items: [pot_of_flour]
- qty: 1
+ quantity: 1
byproducts: [empty_pot]
- items: [bucket_of_water, pitcher_of_water]
- qty: 1
+ quantity: 1
byproducts: [empty_bucket, empty_pitcher]
```
@@ -169,10 +169,10 @@ Use `""` for items that produce no byproduct:
```yaml
made_from:
- items: [pot_of_flour, loose_flour]
- qty: 1
+ quantity: 1
byproducts: [empty_pot, ""] # pot returns empty_pot, loose flour returns nothing
- items: [bucket_of_water]
- qty: 1
+ quantity: 1
byproducts: [empty_bucket]
```
@@ -181,10 +181,10 @@ Omit `byproducts` entirely if no items in that slot produce a byproduct:
```yaml
made_from:
- items: [pot_of_flour]
- qty: 1
+ quantity: 1
byproducts: [empty_pot] # returns empty_pot
- items: [salt]
- qty: 1 # no byproducts field — salt is consumed entirely
+ quantity: 1 # no byproducts field — salt is consumed entirely
```
See also `recipes.md` for station-based recipes.
diff --git a/worldbuilding_guide/objects.md b/worldbuilding_guide/objects.md
index a7da5e6..38eaeeb 100644
--- a/worldbuilding_guide/objects.md
+++ b/worldbuilding_guide/objects.md
@@ -124,9 +124,9 @@ Simple message (no action):
id: anvil
name: anvil
use_interactions:
- - item: silver_bar
+ - item_id: silver_bar
message: "You should use this with a mold at a furnace."
- - item: gold_bar
+ - item_id: gold_bar
message: "You should use this with a mold at a furnace."
```
@@ -135,11 +135,11 @@ Puzzle interaction (take item, set flag):
id: crystal_slot
name: crystal slot
use_interactions:
- - item: crystal_key
+ - item_id: crystal_key
condition:
flag: crystal_inserted
message: "The crystal key is already in the slot."
- - item: crystal_key
+ - item_id: crystal_key
message: "You insert the crystal key into the slot. It clicks into place."
action:
take_item: crystal_key
@@ -150,7 +150,7 @@ use_interactions:
Quest item exchange:
```yaml
use_interactions:
- - item: ancient_scroll
+ - item_id: ancient_scroll
condition:
player_flag: quest_started
message: "You place the scroll on the pedestal. The door rumbles open!"
@@ -166,7 +166,7 @@ use_interactions:
| Field | Type | Description |
| ----------- | ---------- | ------------------------------------------------ |
-| `item` | string | Item ID that triggers this interaction |
+| `item_id` | string | Item ID that triggers this interaction |
| `condition` | Condition | Optional condition (same as exits/talk/use_interactions) |
| `message` | string | Message shown to the player |
| `action` | NodeAction | Optional actions (same as talk node actions) |
diff --git a/worldbuilding_guide/recipes.md b/worldbuilding_guide/recipes.md
index 81a1240..29b513a 100644
--- a/worldbuilding_guide/recipes.md
+++ b/worldbuilding_guide/recipes.md
@@ -4,7 +4,7 @@
Recipes define how items are processed on stations to produce new items. They are the foundation for cooking, smithing, crafting, and fletching.
-Recipe files live in `data/recipes/<id>.yaml`.
+Recipe files live in `data/recipes/<type>/<id>.yaml` (e.g., `data/recipes/smithing/smith_bronze_dagger.yaml`).
### Recipe vs MadeFrom
@@ -39,7 +39,7 @@ Each consume entry defines an ingredient slot with multiple valid items. The fir
```yaml
consume:
- items: [item_id, alternative_id, ...]
- qty: 1
+ quantity: 1
byproducts: [byproduct_for_item, byproduct_for_alt, ...]
```
@@ -48,10 +48,10 @@ consume:
```yaml
consume:
- items: [bucket_of_water, vial_of_water]
- qty: 1
+ quantity: 1
byproducts: [empty_bucket, ""] # bucket returns empty, vial is consumed entirely
- items: [herb]
- qty: 1 # no byproducts — herb is consumed entirely
+ quantity: 1 # no byproducts — herb is consumed entirely
```
### Station-based recipe (cooking on a fire)
@@ -66,7 +66,7 @@ wait: 6
station: [fire, cooking_range]
consume:
- items: [raw_trout]
- qty: 1
+ quantity: 1
output: trout
fail: burnt_fish
message: "Cooked to perfection. It looks great!"
@@ -85,7 +85,7 @@ wait: 6
station: [cooking_range]
consume:
- items: [bread_dough]
- qty: 1
+ quantity: 1
output: bread
fail: burnt_meat
message: "You bake the dough into a fresh loaf of bread."
@@ -106,9 +106,9 @@ wait: 4
station: [furnace]
consume:
- items: [iron_ore]
- qty: 1
+ quantity: 1
- items: [coal]
- qty: 2
+ quantity: 2
output: steel_bar
message: "You remove a white hot steel bar!"
fail_message: "You fail to smelt a usable bar."
@@ -137,7 +137,7 @@ wait: 4
station: [anvil]
consume:
- items: [steel_bar]
- qty: 5
+ quantity: 5
output: steel_platebody
message: "You hammer out a steel platebody."
```
@@ -154,7 +154,7 @@ wait: 4
station: [anvil]
consume:
- items: [iron_bar]
- qty: 1
+ quantity: 1
output: iron_nails
output_qty: 15
message: "You hammer out some iron nails."
@@ -171,9 +171,9 @@ name: bread dough
color: "222"
made_from:
- items: [pot_of_flour]
- qty: 1
+ quantity: 1
- items: [bucket_of_water, pitcher_of_water, vial_of_water]
- qty: 1
+ quantity: 1
```
The player uses `use flour on water` to combine them. The system finds that `bread_dough` can be made from these ingredients and produces it.
diff --git a/worldbuilding_guide/rooms.md b/worldbuilding_guide/rooms.md
index f6e74ea..3d6db7d 100644
--- a/worldbuilding_guide/rooms.md
+++ b/worldbuilding_guide/rooms.md
@@ -67,14 +67,14 @@ exits:
blocked_message: "The bridge is out, and the toll collector blocks the path."
```
-### Spawns — ground items that respawn
+### Item Spawns — ground items that respawn
```yaml
-spawns:
- - item_id: bronze_pickaxe
+item_spawns:
+ - id: bronze_pickaxe
quantity: 1
respawn_ticks: 30 # reappears 30 ticks (18 seconds) after being picked up
- - item_id: copper_ore
+ - id: copper_ore
quantity: 3
respawn_ticks: 50
```