aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/behaviors/tool_shed_talk.yaml86
-rw-r--r--data/help/cure.yaml15
-rw-r--r--data/help/farming.yaml31
-rw-r--r--data/help/harvest.yaml18
-rw-r--r--data/help/inspect.yaml17
-rw-r--r--data/help/plant.yaml16
-rw-r--r--data/help/rake.yaml17
-rw-r--r--data/help/water.yaml16
-rw-r--r--data/items/avantoe.yaml2
-rw-r--r--data/items/avantoe_seed.yaml14
-rw-r--r--data/items/cabbage.yaml8
-rw-r--r--data/items/cabbage_seed.yaml14
-rw-r--r--data/items/cadantine.yaml2
-rw-r--r--data/items/cadantine_seed.yaml14
-rw-r--r--data/items/dwarf_weed.yaml2
-rw-r--r--data/items/dwarf_weed_seed.yaml14
-rw-r--r--data/items/guam.yaml2
-rw-r--r--data/items/guam_seed.yaml14
-rw-r--r--data/items/harralander.yaml2
-rw-r--r--data/items/harralander_seed.yaml14
-rw-r--r--data/items/irit.yaml2
-rw-r--r--data/items/irit_seed.yaml14
-rw-r--r--data/items/kwuarm.yaml2
-rw-r--r--data/items/kwuarm_seed.yaml14
-rw-r--r--data/items/lantadyme.yaml2
-rw-r--r--data/items/lantadyme_seed.yaml14
-rw-r--r--data/items/marrentill.yaml2
-rw-r--r--data/items/marrentill_seed.yaml14
-rw-r--r--data/items/onion.yaml8
-rw-r--r--data/items/onion_seed.yaml12
-rw-r--r--data/items/plant_cure.yaml6
-rw-r--r--data/items/potato.yaml8
-rw-r--r--data/items/potato_seed.yaml10
-rw-r--r--data/items/rake.yaml7
-rw-r--r--data/items/ranarr.yaml2
-rw-r--r--data/items/ranarr_seed.yaml10
-rw-r--r--data/items/snapdragon.yaml2
-rw-r--r--data/items/snapdragon_seed.yaml16
-rw-r--r--data/items/spade.yaml7
-rw-r--r--data/items/strawberry.yaml8
-rw-r--r--data/items/strawberry_seed.yaml10
-rw-r--r--data/items/sweetcorn.yaml8
-rw-r--r--data/items/sweetcorn_seed.yaml10
-rw-r--r--data/items/tarromin.yaml2
-rw-r--r--data/items/tarromin_seed.yaml14
-rw-r--r--data/items/toadflax.yaml2
-rw-r--r--data/items/toadflax_seed.yaml14
-rw-r--r--data/items/tomato.yaml8
-rw-r--r--data/items/tomato_seed.yaml12
-rw-r--r--data/items/torstol.yaml2
-rw-r--r--data/items/torstol_seed.yaml10
-rw-r--r--data/items/watering_can.yaml7
-rw-r--r--data/items/watermelon.yaml8
-rw-r--r--data/items/watermelon_seed.yaml10
-rw-r--r--data/objects/allotment_patch.yaml7
-rw-r--r--data/objects/flower_patch.yaml7
-rw-r--r--data/objects/herb_patch.yaml7
-rw-r--r--data/objects/tool_shed.yaml7
-rw-r--r--data/rooms/15.yaml1
-rw-r--r--data/rooms/150.yaml32
-rw-r--r--data/rooms/151.yaml11
-rw-r--r--data/rooms/152.yaml11
62 files changed, 647 insertions, 31 deletions
diff --git a/data/behaviors/tool_shed_talk.yaml b/data/behaviors/tool_shed_talk.yaml
new file mode 100644
index 0000000..87db9fa
--- /dev/null
+++ b/data/behaviors/tool_shed_talk.yaml
@@ -0,0 +1,86 @@
+id: tool_shed_talk
+type: talk
+nodes:
+ start:
+ message: "The tool shed is open. What would you like to do?"
+ options:
+ - text: "Store rake"
+ goto: store_rake
+ condition:
+ has_item: rake
+ - text: "Store spade"
+ goto: store_spade
+ condition:
+ has_item: spade
+ - text: "Store watering can"
+ goto: store_watering_can
+ condition:
+ has_item: watering_can
+ - text: "Retrieve rake"
+ goto: retrieve_rake
+ condition:
+ player_flag: tool_shed_rake
+ - text: "Retrieve spade"
+ goto: retrieve_spade
+ condition:
+ player_flag: tool_shed_spade
+ - text: "Retrieve watering can"
+ goto: retrieve_watering_can
+ condition:
+ player_flag: tool_shed_watering_can
+ - text: "Never mind"
+ end: true
+ store_rake:
+ message: "You store the rake in the tool shed."
+ action:
+ take_item: rake
+ set_player_flags:
+ tool_shed_rake: true
+ options:
+ - text: "Continue"
+ goto: start
+ store_spade:
+ message: "You store the spade in the tool shed."
+ action:
+ take_item: spade
+ set_player_flags:
+ tool_shed_spade: true
+ options:
+ - text: "Continue"
+ goto: start
+ store_watering_can:
+ message: "You store the watering can in the tool shed."
+ action:
+ take_item: watering_can
+ set_player_flags:
+ tool_shed_watering_can: true
+ options:
+ - text: "Continue"
+ goto: start
+ retrieve_rake:
+ message: "You retrieve the rake from the tool shed."
+ action:
+ give_item: rake
+ set_player_flags:
+ tool_shed_rake: false
+ options:
+ - text: "Continue"
+ goto: start
+ retrieve_spade:
+ message: "You retrieve the spade from the tool shed."
+ action:
+ give_item: spade
+ set_player_flags:
+ tool_shed_spade: false
+ options:
+ - text: "Continue"
+ goto: start
+ retrieve_watering_can:
+ message: "You retrieve the watering can from the tool shed."
+ action:
+ give_item: watering_can
+ set_player_flags:
+ tool_shed_watering_can: false
+ options:
+ - text: "Continue"
+ goto: start
diff --git a/data/help/cure.yaml b/data/help/cure.yaml
new file mode 100644
index 0000000..3bb7bc3
--- /dev/null
+++ b/data/help/cure.yaml
@@ -0,0 +1,15 @@
+name: "cure"
+category: "Skills"
+description: |
+ Cure a diseased farming patch.
+
+ Usage: cure [patch]
+
+ Requires a plant cure item in your inventory (consumed on use).
+ Diseased plants must be cured before the next growth tick or
+ they will die.
+
+ If no patch is specified, the first diseased patch in the
+ room is targeted.
+
+ See also: help farming, help water, help inspect
diff --git a/data/help/farming.yaml b/data/help/farming.yaml
new file mode 100644
index 0000000..2dd2ff2
--- /dev/null
+++ b/data/help/farming.yaml
@@ -0,0 +1,31 @@
+name: "farming"
+category: "Skills"
+description: |
+ Farming lets you grow herbs and vegetables in patches.
+
+ The basic cycle:
+ 1. Rake the patch to clear weeds (requires rake)
+ 2. Plant a seed (requires spade, seed in inventory)
+ 3. Water the patch to prevent disease (requires watering can)
+ 4. Wait for the plant to grow through stages
+ 5. Water again at each growth stage for protection
+ 6. Harvest the fully grown crop (requires spade)
+
+ Growth happens every ~5 minutes while you are online.
+ Crops do not grow while you are logged off.
+
+ Disease: Each growth stage has a 10% chance of disease unless
+ the patch was watered. Diseased plants can be cured with plant
+ cure. If not cured before the next growth tick, the plant dies
+ and must be raked away.
+
+ Tool shed: Store farming tools to free inventory space.
+ Use 'talk shed' to store or retrieve tools.
+
+ Patches: Herb patches grow herb seeds. Allotment patches grow
+ vegetable seeds. Check 'inspect' for patch status.
+
+ Commands: plant, harvest, rake, water, cure, inspect
+
+ See also: help plant, help harvest, help rake, help water,
+ help cure, help inspect
diff --git a/data/help/harvest.yaml b/data/help/harvest.yaml
new file mode 100644
index 0000000..88fa19e
--- /dev/null
+++ b/data/help/harvest.yaml
@@ -0,0 +1,18 @@
+name: "harvest"
+category: "Skills"
+description: |
+ Harvest a fully grown crop from a farming patch.
+
+ Usage: harvest [patch]
+
+ Requires a spade in your inventory. The crop must be fully
+ grown (check with 'inspect'). Yields a random amount of the
+ crop based on your farming level.
+
+ If no patch is specified, the first harvestable patch in the
+ room is targeted.
+
+ After harvesting, the patch grows weeds and must be raked
+ before replanting.
+
+ See also: help farming, help plant, help inspect
diff --git a/data/help/inspect.yaml b/data/help/inspect.yaml
new file mode 100644
index 0000000..f81dc6b
--- /dev/null
+++ b/data/help/inspect.yaml
@@ -0,0 +1,17 @@
+name: "inspect"
+category: "Skills"
+description: |
+ Check the status of farming patches in the current room.
+
+ Usage: inspect [patch]
+
+ Shows the current state of each farming patch including:
+ - What is planted
+ - Growth stage
+ - Whether it has been watered
+ - Disease status
+ - Whether it is ready to harvest
+
+ If no patch is specified, all patches in the room are shown.
+
+ See also: help farming, help plant, help harvest
diff --git a/data/help/plant.yaml b/data/help/plant.yaml
new file mode 100644
index 0000000..4b807ea
--- /dev/null
+++ b/data/help/plant.yaml
@@ -0,0 +1,16 @@
+name: "plant"
+category: "Skills"
+description: |
+ Plant a seed in a farming patch.
+
+ Usage: plant <seed>
+
+ Requires a spade in your inventory. The seed must match the
+ patch type in the current room (herb seeds go in herb patches,
+ vegetable seeds go in allotment patches).
+
+ The patch must be clear of weeds (use 'rake' first) and empty.
+
+ Planting awards a small amount of farming XP.
+
+ See also: help farming, help harvest, help rake, help water
diff --git a/data/help/rake.yaml b/data/help/rake.yaml
new file mode 100644
index 0000000..bf58da7
--- /dev/null
+++ b/data/help/rake.yaml
@@ -0,0 +1,17 @@
+name: "rake"
+category: "Skills"
+description: |
+ Clear weeds or dead plants from a farming patch.
+
+ Usage: rake [patch]
+
+ Requires a rake in your inventory. Patches start with weeds
+ and regrow weeds after harvesting. Dead plants from disease
+ also need to be raked before replanting.
+
+ Raking awards no farming XP.
+
+ If no patch is specified, the first patch needing raking
+ in the room is targeted.
+
+ See also: help farming, help plant, help water
diff --git a/data/help/water.yaml b/data/help/water.yaml
new file mode 100644
index 0000000..e778eb2
--- /dev/null
+++ b/data/help/water.yaml
@@ -0,0 +1,16 @@
+name: "water"
+category: "Skills"
+description: |
+ Water a farming patch to prevent disease.
+
+ Usage: water [patch]
+
+ Requires a watering can in your inventory. Watering a patch
+ eliminates the disease chance for the current growth stage.
+ You must water each stage separately as the watering resets
+ when the plant grows.
+
+ If no patch is specified, the first unwatered patch with a
+ growing plant is targeted.
+
+ See also: help farming, help plant, help cure
diff --git a/data/items/avantoe.yaml b/data/items/avantoe.yaml
index 709b583..d596096 100644
--- a/data/items/avantoe.yaml
+++ b/data/items/avantoe.yaml
@@ -3,4 +3,4 @@ name: "avantoe"
color: "48"
description: "A clean avantoe leaf, ready for use in pharmacy."
value: 48
-stackable: false
+stackable: true
diff --git a/data/items/avantoe_seed.yaml b/data/items/avantoe_seed.yaml
new file mode 100644
index 0000000..fb7b427
--- /dev/null
+++ b/data/items/avantoe_seed.yaml
@@ -0,0 +1,14 @@
+id: avantoe_seed
+name: avantoe seed
+color: "34"
+description: "An avantoe seed for planting in a herb patch."
+value: 60
+stackable: true
+farm_patch_type: herb
+farm_level: 50
+farm_plant_xp: 55
+farm_harvest_xp: 62
+farm_stages: 4
+farm_product: avantoe
+farm_min_yield: 3
+farm_max_yield: 10
diff --git a/data/items/cabbage.yaml b/data/items/cabbage.yaml
new file mode 100644
index 0000000..c04fd4e
--- /dev/null
+++ b/data/items/cabbage.yaml
@@ -0,0 +1,8 @@
+id: cabbage
+name: cabbage
+color: "71"
+description: "A freshly harvested cabbage."
+value: 3
+stackable: true
+heal_value: 1
+eat_message: "You eat the cabbage."
diff --git a/data/items/cabbage_seed.yaml b/data/items/cabbage_seed.yaml
index 35ebee3..8a6db33 100644
--- a/data/items/cabbage_seed.yaml
+++ b/data/items/cabbage_seed.yaml
@@ -1,6 +1,14 @@
id: cabbage_seed
name: cabbage seed
-color: "34"
+color: "71"
description: "A seed for growing cabbages."
-value: 4
-stackable: true \ No newline at end of file
+value: 2
+stackable: true
+farm_patch_type: allotment
+farm_level: 7
+farm_plant_xp: 10
+farm_harvest_xp: 12
+farm_stages: 4
+farm_product: cabbage
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/cadantine.yaml b/data/items/cadantine.yaml
index c422bf6..f684f0d 100644
--- a/data/items/cadantine.yaml
+++ b/data/items/cadantine.yaml
@@ -3,4 +3,4 @@ name: "cadantine"
color: "48"
description: "A clean cadantine leaf, ready for use in pharmacy."
value: 70
-stackable: false
+stackable: true
diff --git a/data/items/cadantine_seed.yaml b/data/items/cadantine_seed.yaml
new file mode 100644
index 0000000..8326033
--- /dev/null
+++ b/data/items/cadantine_seed.yaml
@@ -0,0 +1,14 @@
+id: cadantine_seed
+name: cadantine seed
+color: "30"
+description: "A cadantine seed for planting in a herb patch."
+value: 120
+stackable: true
+farm_patch_type: herb
+farm_level: 67
+farm_plant_xp: 97
+farm_harvest_xp: 120
+farm_stages: 4
+farm_product: cadantine
+farm_min_yield: 3
+farm_max_yield: 9
diff --git a/data/items/dwarf_weed.yaml b/data/items/dwarf_weed.yaml
index c21331b..559edf3 100644
--- a/data/items/dwarf_weed.yaml
+++ b/data/items/dwarf_weed.yaml
@@ -3,4 +3,4 @@ name: "dwarf weed"
color: "48"
description: "A clean dwarf weed leaf, ready for use in pharmacy."
value: 85
-stackable: false
+stackable: true
diff --git a/data/items/dwarf_weed_seed.yaml b/data/items/dwarf_weed_seed.yaml
new file mode 100644
index 0000000..c8ba6f2
--- /dev/null
+++ b/data/items/dwarf_weed_seed.yaml
@@ -0,0 +1,14 @@
+id: dwarf_weed_seed
+name: dwarf weed seed
+color: "100"
+description: "A dwarf weed seed for planting in a herb patch."
+value: 140
+stackable: true
+farm_patch_type: herb
+farm_level: 79
+farm_plant_xp: 120
+farm_harvest_xp: 150
+farm_stages: 4
+farm_product: dwarf_weed
+farm_min_yield: 3
+farm_max_yield: 8
diff --git a/data/items/guam.yaml b/data/items/guam.yaml
index 98135be..8fe7972 100644
--- a/data/items/guam.yaml
+++ b/data/items/guam.yaml
@@ -3,4 +3,4 @@ name: "guam"
color: "48"
description: "A clean guam leaf, ready for use in pharmacy."
value: 3
-stackable: false
+stackable: true
diff --git a/data/items/guam_seed.yaml b/data/items/guam_seed.yaml
new file mode 100644
index 0000000..b55e1a8
--- /dev/null
+++ b/data/items/guam_seed.yaml
@@ -0,0 +1,14 @@
+id: guam_seed
+name: guam seed
+color: "34"
+description: "A guam seed for planting in a herb patch."
+value: 1
+stackable: true
+farm_patch_type: herb
+farm_level: 9
+farm_plant_xp: 11
+farm_harvest_xp: 13
+farm_stages: 4
+farm_product: guam
+farm_min_yield: 3
+farm_max_yield: 12
diff --git a/data/items/harralander.yaml b/data/items/harralander.yaml
index d8f90a4..08e66ed 100644
--- a/data/items/harralander.yaml
+++ b/data/items/harralander.yaml
@@ -3,4 +3,4 @@ name: "harralander"
color: "48"
description: "A clean harralander leaf, ready for use in pharmacy."
value: 16
-stackable: false
+stackable: true
diff --git a/data/items/harralander_seed.yaml b/data/items/harralander_seed.yaml
new file mode 100644
index 0000000..5be3571
--- /dev/null
+++ b/data/items/harralander_seed.yaml
@@ -0,0 +1,14 @@
+id: harralander_seed
+name: harralander seed
+color: "70"
+description: "A harralander seed for planting in a herb patch."
+value: 5
+stackable: true
+farm_patch_type: herb
+farm_level: 26
+farm_plant_xp: 22
+farm_harvest_xp: 24
+farm_stages: 4
+farm_product: harralander
+farm_min_yield: 3
+farm_max_yield: 12
diff --git a/data/items/irit.yaml b/data/items/irit.yaml
index b4d4b56..40f1956 100644
--- a/data/items/irit.yaml
+++ b/data/items/irit.yaml
@@ -3,4 +3,4 @@ name: "irit"
color: "48"
description: "A clean irit leaf, ready for use in pharmacy."
value: 40
-stackable: false
+stackable: true
diff --git a/data/items/irit_seed.yaml b/data/items/irit_seed.yaml
new file mode 100644
index 0000000..4b8bad2
--- /dev/null
+++ b/data/items/irit_seed.yaml
@@ -0,0 +1,14 @@
+id: irit_seed
+name: irit seed
+color: "114"
+description: "An irit seed for planting in a herb patch."
+value: 40
+stackable: true
+farm_patch_type: herb
+farm_level: 44
+farm_plant_xp: 43
+farm_harvest_xp: 49
+farm_stages: 4
+farm_product: irit
+farm_min_yield: 3
+farm_max_yield: 10
diff --git a/data/items/kwuarm.yaml b/data/items/kwuarm.yaml
index 2cd0a4e..ab0d7ff 100644
--- a/data/items/kwuarm.yaml
+++ b/data/items/kwuarm.yaml
@@ -3,4 +3,4 @@ name: "kwuarm"
color: "48"
description: "A clean kwuarm leaf, ready for use in pharmacy."
value: 54
-stackable: false
+stackable: true
diff --git a/data/items/kwuarm_seed.yaml b/data/items/kwuarm_seed.yaml
new file mode 100644
index 0000000..053c2f3
--- /dev/null
+++ b/data/items/kwuarm_seed.yaml
@@ -0,0 +1,14 @@
+id: kwuarm_seed
+name: kwuarm seed
+color: "178"
+description: "A kwuarm seed for planting in a herb patch."
+value: 80
+stackable: true
+farm_patch_type: herb
+farm_level: 56
+farm_plant_xp: 69
+farm_harvest_xp: 78
+farm_stages: 4
+farm_product: kwuarm
+farm_min_yield: 3
+farm_max_yield: 9
diff --git a/data/items/lantadyme.yaml b/data/items/lantadyme.yaml
index 35840d8..d38b7da 100644
--- a/data/items/lantadyme.yaml
+++ b/data/items/lantadyme.yaml
@@ -3,4 +3,4 @@ name: "lantadyme"
color: "48"
description: "A clean lantadyme leaf, ready for use in pharmacy."
value: 78
-stackable: false
+stackable: true
diff --git a/data/items/lantadyme_seed.yaml b/data/items/lantadyme_seed.yaml
new file mode 100644
index 0000000..f4be89c
--- /dev/null
+++ b/data/items/lantadyme_seed.yaml
@@ -0,0 +1,14 @@
+id: lantadyme_seed
+name: lantadyme seed
+color: "36"
+description: "A lantadyme seed for planting in a herb patch."
+value: 130
+stackable: true
+farm_patch_type: herb
+farm_level: 73
+farm_plant_xp: 105
+farm_harvest_xp: 135
+farm_stages: 4
+farm_product: lantadyme
+farm_min_yield: 3
+farm_max_yield: 8
diff --git a/data/items/marrentill.yaml b/data/items/marrentill.yaml
index 486d7fd..4bd492d 100644
--- a/data/items/marrentill.yaml
+++ b/data/items/marrentill.yaml
@@ -3,4 +3,4 @@ name: "marrentill"
color: "48"
description: "A clean marrentill leaf, ready for use in pharmacy."
value: 6
-stackable: false
+stackable: true
diff --git a/data/items/marrentill_seed.yaml b/data/items/marrentill_seed.yaml
new file mode 100644
index 0000000..4b42353
--- /dev/null
+++ b/data/items/marrentill_seed.yaml
@@ -0,0 +1,14 @@
+id: marrentill_seed
+name: marrentill seed
+color: "34"
+description: "A marrentill seed for planting in a herb patch."
+value: 2
+stackable: true
+farm_patch_type: herb
+farm_level: 14
+farm_plant_xp: 14
+farm_harvest_xp: 15
+farm_stages: 4
+farm_product: marrentill
+farm_min_yield: 3
+farm_max_yield: 12
diff --git a/data/items/onion.yaml b/data/items/onion.yaml
new file mode 100644
index 0000000..0d0aca7
--- /dev/null
+++ b/data/items/onion.yaml
@@ -0,0 +1,8 @@
+id: onion
+name: onion
+color: "229"
+description: "A freshly harvested onion."
+value: 3
+stackable: true
+heal_value: 1
+eat_message: "You eat the onion. It's surprisingly sweet."
diff --git a/data/items/onion_seed.yaml b/data/items/onion_seed.yaml
index fbf6a8a..a1231ad 100644
--- a/data/items/onion_seed.yaml
+++ b/data/items/onion_seed.yaml
@@ -2,5 +2,13 @@ id: onion_seed
name: onion seed
color: "229"
description: "A seed for growing onions."
-value: 3
-stackable: true \ No newline at end of file
+value: 2
+stackable: true
+farm_patch_type: allotment
+farm_level: 5
+farm_plant_xp: 10
+farm_harvest_xp: 11
+farm_stages: 4
+farm_product: onion
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/plant_cure.yaml b/data/items/plant_cure.yaml
new file mode 100644
index 0000000..64ebe91
--- /dev/null
+++ b/data/items/plant_cure.yaml
@@ -0,0 +1,6 @@
+id: plant_cure
+name: plant cure
+color: "120"
+description: "A bio-engineered solution that cures diseased plants."
+value: 25
+stackable: true
diff --git a/data/items/potato.yaml b/data/items/potato.yaml
new file mode 100644
index 0000000..d9f521a
--- /dev/null
+++ b/data/items/potato.yaml
@@ -0,0 +1,8 @@
+id: potato
+name: potato
+color: "180"
+description: "A freshly harvested potato."
+value: 2
+stackable: true
+heal_value: 1
+eat_message: "You eat the potato."
diff --git a/data/items/potato_seed.yaml b/data/items/potato_seed.yaml
index 8cc4669..9daee8a 100644
--- a/data/items/potato_seed.yaml
+++ b/data/items/potato_seed.yaml
@@ -3,4 +3,12 @@ name: potato seed
color: "94"
description: "A seed for growing potatoes."
value: 2
-stackable: true \ No newline at end of file
+stackable: true
+farm_patch_type: allotment
+farm_level: 1
+farm_plant_xp: 8
+farm_harvest_xp: 9
+farm_stages: 4
+farm_product: potato
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/rake.yaml b/data/items/rake.yaml
new file mode 100644
index 0000000..5949626
--- /dev/null
+++ b/data/items/rake.yaml
@@ -0,0 +1,7 @@
+id: rake
+name: rake
+color: "94"
+description: "A sturdy rake for clearing weeds and dead plants from farming patches."
+value: 8
+stackable: false
+tool_type: rake
diff --git a/data/items/ranarr.yaml b/data/items/ranarr.yaml
index 690e2d0..683cce6 100644
--- a/data/items/ranarr.yaml
+++ b/data/items/ranarr.yaml
@@ -3,4 +3,4 @@ name: "ranarr"
color: "48"
description: "A clean ranarr leaf, ready for use in pharmacy."
value: 35
-stackable: false
+stackable: true
diff --git a/data/items/ranarr_seed.yaml b/data/items/ranarr_seed.yaml
index af464ec..ef54c0d 100644
--- a/data/items/ranarr_seed.yaml
+++ b/data/items/ranarr_seed.yaml
@@ -3,4 +3,12 @@ name: ranarr seed
color: "28"
description: "A rare herb seed with potent alchemical properties."
value: 500
-stackable: true \ No newline at end of file
+stackable: true
+farm_patch_type: herb
+farm_level: 32
+farm_plant_xp: 27
+farm_harvest_xp: 31
+farm_stages: 4
+farm_product: ranarr
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/snapdragon.yaml b/data/items/snapdragon.yaml
index c963313..0c3ba2f 100644
--- a/data/items/snapdragon.yaml
+++ b/data/items/snapdragon.yaml
@@ -3,4 +3,4 @@ name: "snapdragon"
color: "48"
description: "A clean snapdragon leaf, ready for use in pharmacy."
value: 65
-stackable: false
+stackable: true
diff --git a/data/items/snapdragon_seed.yaml b/data/items/snapdragon_seed.yaml
index 3ec440d..06f2a9e 100644
--- a/data/items/snapdragon_seed.yaml
+++ b/data/items/snapdragon_seed.yaml
@@ -1,6 +1,14 @@
id: snapdragon_seed
name: snapdragon seed
-color: "92"
-description: "An extremely rare herb seed. Highly valued by alchemists."
-value: 1500
-stackable: true \ No newline at end of file
+color: "161"
+description: "A bright red snapdragon seed, prized by pharma-crafters."
+value: 750
+stackable: true
+farm_patch_type: herb
+farm_level: 62
+farm_plant_xp: 82
+farm_harvest_xp: 99
+farm_stages: 4
+farm_product: snapdragon
+farm_min_yield: 3
+farm_max_yield: 9 \ No newline at end of file
diff --git a/data/items/spade.yaml b/data/items/spade.yaml
new file mode 100644
index 0000000..7d0b465
--- /dev/null
+++ b/data/items/spade.yaml
@@ -0,0 +1,7 @@
+id: spade
+name: spade
+color: "241"
+description: "A metal spade used for planting seeds and harvesting crops."
+value: 8
+stackable: false
+tool_type: spade
diff --git a/data/items/strawberry.yaml b/data/items/strawberry.yaml
new file mode 100644
index 0000000..337a65e
--- /dev/null
+++ b/data/items/strawberry.yaml
@@ -0,0 +1,8 @@
+id: strawberry
+name: strawberry
+color: "197"
+description: "A freshly harvested strawberry."
+value: 10
+stackable: true
+heal_value: 3
+eat_message: "You eat the strawberry."
diff --git a/data/items/strawberry_seed.yaml b/data/items/strawberry_seed.yaml
index bcf8ddc..8b2f45c 100644
--- a/data/items/strawberry_seed.yaml
+++ b/data/items/strawberry_seed.yaml
@@ -3,4 +3,12 @@ name: strawberry seed
color: "197"
description: "A seed for growing strawberries."
value: 40
-stackable: true \ No newline at end of file
+stackable: true
+farm_patch_type: allotment
+farm_level: 31
+farm_plant_xp: 26
+farm_harvest_xp: 29
+farm_stages: 4
+farm_product: strawberry
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/sweetcorn.yaml b/data/items/sweetcorn.yaml
new file mode 100644
index 0000000..32f5a70
--- /dev/null
+++ b/data/items/sweetcorn.yaml
@@ -0,0 +1,8 @@
+id: sweetcorn
+name: sweetcorn
+color: "226"
+description: "A freshly harvested ear of sweetcorn."
+value: 6
+stackable: true
+heal_value: 2
+eat_message: "You eat the sweetcorn."
diff --git a/data/items/sweetcorn_seed.yaml b/data/items/sweetcorn_seed.yaml
index 56bc587..d85b35b 100644
--- a/data/items/sweetcorn_seed.yaml
+++ b/data/items/sweetcorn_seed.yaml
@@ -3,4 +3,12 @@ name: sweetcorn seed
color: "226"
description: "A seed for growing sweetcorn."
value: 25
-stackable: true \ No newline at end of file
+stackable: true
+farm_patch_type: allotment
+farm_level: 20
+farm_plant_xp: 17
+farm_harvest_xp: 19
+farm_stages: 4
+farm_product: sweetcorn
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/tarromin.yaml b/data/items/tarromin.yaml
index 8f9e61c..5af2573 100644
--- a/data/items/tarromin.yaml
+++ b/data/items/tarromin.yaml
@@ -3,4 +3,4 @@ name: "tarromin"
color: "48"
description: "A clean tarromin leaf, ready for use in pharmacy."
value: 10
-stackable: false
+stackable: true
diff --git a/data/items/tarromin_seed.yaml b/data/items/tarromin_seed.yaml
new file mode 100644
index 0000000..c10483a
--- /dev/null
+++ b/data/items/tarromin_seed.yaml
@@ -0,0 +1,14 @@
+id: tarromin_seed
+name: tarromin seed
+color: "34"
+description: "A tarromin seed for planting in a herb patch."
+value: 3
+stackable: true
+farm_patch_type: herb
+farm_level: 19
+farm_plant_xp: 18
+farm_harvest_xp: 18
+farm_stages: 4
+farm_product: tarromin
+farm_min_yield: 3
+farm_max_yield: 12
diff --git a/data/items/toadflax.yaml b/data/items/toadflax.yaml
index adcd5b7..0de8f01 100644
--- a/data/items/toadflax.yaml
+++ b/data/items/toadflax.yaml
@@ -3,4 +3,4 @@ name: "toadflax"
color: "48"
description: "A clean toadflax leaf, ready for use in pharmacy."
value: 25
-stackable: false
+stackable: true
diff --git a/data/items/toadflax_seed.yaml b/data/items/toadflax_seed.yaml
new file mode 100644
index 0000000..1ef6cb2
--- /dev/null
+++ b/data/items/toadflax_seed.yaml
@@ -0,0 +1,14 @@
+id: toadflax_seed
+name: toadflax seed
+color: "106"
+description: "A toadflax seed for planting in a herb patch."
+value: 50
+stackable: true
+farm_patch_type: herb
+farm_level: 38
+farm_plant_xp: 34
+farm_harvest_xp: 39
+farm_stages: 4
+farm_product: toadflax
+farm_min_yield: 3
+farm_max_yield: 10
diff --git a/data/items/tomato.yaml b/data/items/tomato.yaml
new file mode 100644
index 0000000..d2ad349
--- /dev/null
+++ b/data/items/tomato.yaml
@@ -0,0 +1,8 @@
+id: tomato
+name: tomato
+color: "196"
+description: "A freshly harvested tomato."
+value: 4
+stackable: true
+heal_value: 2
+eat_message: "You eat the tomato."
diff --git a/data/items/tomato_seed.yaml b/data/items/tomato_seed.yaml
index 622db9b..c1db131 100644
--- a/data/items/tomato_seed.yaml
+++ b/data/items/tomato_seed.yaml
@@ -2,5 +2,13 @@ id: tomato_seed
name: tomato seed
color: "196"
description: "A seed for growing tomatoes."
-value: 8
-stackable: true \ No newline at end of file
+value: 3
+stackable: true
+farm_patch_type: allotment
+farm_level: 12
+farm_plant_xp: 13
+farm_harvest_xp: 14
+farm_stages: 4
+farm_product: tomato
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/items/torstol.yaml b/data/items/torstol.yaml
index db9ed3c..a8b8fbb 100644
--- a/data/items/torstol.yaml
+++ b/data/items/torstol.yaml
@@ -3,4 +3,4 @@ name: "torstol"
color: "48"
description: "A clean torstol leaf, ready for use in pharmacy."
value: 100
-stackable: false
+stackable: true
diff --git a/data/items/torstol_seed.yaml b/data/items/torstol_seed.yaml
index 5db6f9d..2dfd60c 100644
--- a/data/items/torstol_seed.yaml
+++ b/data/items/torstol_seed.yaml
@@ -3,4 +3,12 @@ name: torstol seed
color: "46"
description: "The rarest of herb seeds. Worth a small fortune."
value: 5000
-stackable: true \ No newline at end of file
+stackable: true
+farm_patch_type: herb
+farm_level: 85
+farm_plant_xp: 142
+farm_harvest_xp: 200
+farm_stages: 4
+farm_product: torstol
+farm_min_yield: 3
+farm_max_yield: 8 \ No newline at end of file
diff --git a/data/items/watering_can.yaml b/data/items/watering_can.yaml
new file mode 100644
index 0000000..4a75de9
--- /dev/null
+++ b/data/items/watering_can.yaml
@@ -0,0 +1,7 @@
+id: watering_can
+name: watering can
+color: "39"
+description: "A watering can for hydrating farming patches. Watering eliminates disease risk."
+value: 12
+stackable: false
+tool_type: watering_can
diff --git a/data/items/watermelon.yaml b/data/items/watermelon.yaml
new file mode 100644
index 0000000..3374687
--- /dev/null
+++ b/data/items/watermelon.yaml
@@ -0,0 +1,8 @@
+id: watermelon
+name: watermelon
+color: "34"
+description: "A freshly harvested watermelon."
+value: 18
+stackable: true
+heal_value: 4
+eat_message: "You eat the watermelon."
diff --git a/data/items/watermelon_seed.yaml b/data/items/watermelon_seed.yaml
index adfecc2..7ea59c6 100644
--- a/data/items/watermelon_seed.yaml
+++ b/data/items/watermelon_seed.yaml
@@ -3,4 +3,12 @@ name: watermelon seed
color: "34"
description: "A seed for growing watermelons."
value: 80
-stackable: true \ No newline at end of file
+stackable: true
+farm_patch_type: allotment
+farm_level: 47
+farm_plant_xp: 49
+farm_harvest_xp: 55
+farm_stages: 4
+farm_product: watermelon
+farm_min_yield: 3
+farm_max_yield: 10 \ No newline at end of file
diff --git a/data/objects/allotment_patch.yaml b/data/objects/allotment_patch.yaml
new file mode 100644
index 0000000..9d905b0
--- /dev/null
+++ b/data/objects/allotment_patch.yaml
@@ -0,0 +1,7 @@
+id: allotment_patch
+name: allotment patch
+color: "94"
+behavior: ""
+hidden: false
+inroom_description: "An allotment patch is marked out in the ground."
+description: "A large patch of soil for growing vegetables. Use 'inspect' to check its status."
diff --git a/data/objects/flower_patch.yaml b/data/objects/flower_patch.yaml
new file mode 100644
index 0000000..c5f6d42
--- /dev/null
+++ b/data/objects/flower_patch.yaml
@@ -0,0 +1,7 @@
+id: flower_patch
+name: flower patch
+color: "213"
+behavior: ""
+hidden: false
+inroom_description: "A flower patch is outlined with small stones."
+description: "A small decorative patch for growing flowers. Use 'inspect' to check its status."
diff --git a/data/objects/herb_patch.yaml b/data/objects/herb_patch.yaml
new file mode 100644
index 0000000..cca6e27
--- /dev/null
+++ b/data/objects/herb_patch.yaml
@@ -0,0 +1,7 @@
+id: herb_patch
+name: herb patch
+color: "28"
+behavior: ""
+hidden: false
+inroom_description: "A prepared herb patch sits in the soil."
+description: "A small patch of tilled soil suitable for growing herbs. Use 'inspect' to check its status."
diff --git a/data/objects/tool_shed.yaml b/data/objects/tool_shed.yaml
new file mode 100644
index 0000000..752c921
--- /dev/null
+++ b/data/objects/tool_shed.yaml
@@ -0,0 +1,7 @@
+id: tool_shed
+name: tool shed
+color: "94"
+behavior: tool_shed_talk
+hidden: false
+inroom_description: "A weathered tool shed stands against the wall."
+description: "A small shed for storing farming tools. Talk to it to store or retrieve tools."
diff --git a/data/rooms/15.yaml b/data/rooms/15.yaml
index b51840a..a67624d 100644
--- a/data/rooms/15.yaml
+++ b/data/rooms/15.yaml
@@ -4,6 +4,7 @@ description: "Shelves lined with glass vials, dried herbs, and bubbling cauldron
exits:
east: 16
west: 14
+ south: 150
mobs:
- id: lesser_drone
- id: lesser_drone
diff --git a/data/rooms/150.yaml b/data/rooms/150.yaml
new file mode 100644
index 0000000..462a30c
--- /dev/null
+++ b/data/rooms/150.yaml
@@ -0,0 +1,32 @@
+id: 150
+name: "Hydroponics Bay"
+description: "A large enclosed area with climate-controlled growing stations. {34}Lush green patches{/} of soil are laid out in neat rows under artificial UV lamps. A {94}tool shed{/} stands near the entrance. Exits lead to specialized growing areas."
+map_symbol: "H"
+exits:
+ north: 15
+ east: 151
+ south: 152
+objects:
+ - id: tool_shed
+spawns:
+ - item_id: rake
+ quantity: 1
+ respawn_ticks: 120
+ - item_id: spade
+ quantity: 1
+ respawn_ticks: 120
+ - item_id: watering_can
+ quantity: 1
+ respawn_ticks: 120
+ - item_id: plant_cure
+ quantity: 3
+ respawn_ticks: 200
+ - item_id: guam_seed
+ quantity: 5
+ respawn_ticks: 300
+ - item_id: potato_seed
+ quantity: 10
+ respawn_ticks: 300
+ - item_id: onion_seed
+ quantity: 10
+ respawn_ticks: 300
diff --git a/data/rooms/151.yaml b/data/rooms/151.yaml
new file mode 100644
index 0000000..1bb25bf
--- /dev/null
+++ b/data/rooms/151.yaml
@@ -0,0 +1,11 @@
+id: 151
+name: "Herb Garden"
+description: "A dedicated section of the hydroponics bay for growing herbs. {28}Herb patches{/} are arranged in two rows under specialized grow lights. The air here smells faintly of fresh vegetation."
+map_symbol: "G"
+exits:
+ west: 150
+objects:
+ - id: herb_patch
+ - id: herb_patch
+ - id: herb_patch
+ - id: herb_patch
diff --git a/data/rooms/152.yaml b/data/rooms/152.yaml
new file mode 100644
index 0000000..5d2f62d
--- /dev/null
+++ b/data/rooms/152.yaml
@@ -0,0 +1,11 @@
+id: 152
+name: "Allotment Field"
+description: "A section with larger soil beds for growing vegetables. {94}Allotment patches{/} stretch across the floor under warm overhead lamps. A single {213}flower patch{/} sits in the corner."
+map_symbol: "A"
+exits:
+ north: 150
+objects:
+ - id: allotment_patch
+ - id: allotment_patch
+ - id: allotment_patch
+ - id: flower_patch