aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/behaviors/chop_magic.yaml23
-rw-r--r--data/behaviors/chop_mahogany.yaml23
-rw-r--r--data/behaviors/chop_maple.yaml23
-rw-r--r--data/behaviors/chop_oak.yaml23
-rw-r--r--data/behaviors/chop_redwood.yaml23
-rw-r--r--data/behaviors/chop_teak.yaml23
-rw-r--r--data/behaviors/chop_tree.yaml21
-rw-r--r--data/behaviors/chop_willow.yaml23
-rw-r--r--data/behaviors/chop_yew.yaml23
-rw-r--r--data/behaviors/fish_angler.yaml19
-rw-r--r--data/behaviors/fish_bait.yaml29
-rw-r--r--data/behaviors/fish_cage.yaml18
-rw-r--r--data/behaviors/fish_fly.yaml29
-rw-r--r--data/behaviors/fish_harpoon.yaml28
-rw-r--r--data/behaviors/fish_net.yaml38
-rw-r--r--data/behaviors/fish_sacred_eel.yaml19
-rw-r--r--data/behaviors/fish_swamp.yaml24
-rw-r--r--data/behaviors/fish_trout.yaml17
-rw-r--r--data/behaviors/mine_adamantite.yaml21
-rw-r--r--data/behaviors/mine_clay.yaml21
-rw-r--r--data/behaviors/mine_coal.yaml21
-rw-r--r--data/behaviors/mine_copper.yaml7
-rw-r--r--data/behaviors/mine_gold.yaml21
-rw-r--r--data/behaviors/mine_iron.yaml21
-rw-r--r--data/behaviors/mine_mithril.yaml21
-rw-r--r--data/behaviors/mine_runite.yaml21
-rw-r--r--data/behaviors/mine_scrap.yaml21
-rw-r--r--data/behaviors/mine_silver.yaml21
-rw-r--r--data/behaviors/mine_tin.yaml21
-rw-r--r--data/drops/birds_nest_drop.yaml17
-rw-r--r--data/help/alias.yaml15
-rw-r--r--data/help/attack.yaml4
-rw-r--r--data/help/drop.yaml6
-rw-r--r--data/help/equipment.yaml2
-rw-r--r--data/help/fishing.yaml22
-rw-r--r--data/help/gathering.yaml24
-rw-r--r--data/help/get.yaml2
-rw-r--r--data/help/look.yaml11
-rw-r--r--data/help/mining.yaml8
-rw-r--r--data/help/movement.yaml4
-rw-r--r--data/help/quit.yaml7
-rw-r--r--data/help/remove.yaml11
-rw-r--r--data/help/search.yaml12
-rw-r--r--data/help/style.yaml3
-rw-r--r--data/help/toggle.yaml3
-rw-r--r--data/help/wear.yaml16
-rw-r--r--data/help/woodcutting.yaml22
-rw-r--r--data/items/adamant_axe.yaml15
-rw-r--r--data/items/adamant_pickaxe.yaml15
-rw-r--r--data/items/adamantite_ore.yaml6
-rw-r--r--data/items/big_fishing_net.yaml15
-rw-r--r--data/items/birds_nest.yaml6
-rw-r--r--data/items/black_axe.yaml15
-rw-r--r--data/items/black_pickaxe.yaml15
-rw-r--r--data/items/bronze_axe.yaml15
-rw-r--r--data/items/bronze_pickaxe.yaml1
-rw-r--r--data/items/clay.yaml6
-rw-r--r--data/items/coal.yaml6
-rw-r--r--data/items/copper_ore.yaml2
-rw-r--r--data/items/dragon_axe.yaml15
-rw-r--r--data/items/dragon_pickaxe.yaml15
-rw-r--r--data/items/feather.yaml6
-rw-r--r--data/items/fishing_bait.yaml6
-rw-r--r--data/items/fishing_rod.yaml10
-rw-r--r--data/items/fly_fishing_rod.yaml15
-rw-r--r--data/items/gold_ore.yaml6
-rw-r--r--data/items/harpoon.yaml15
-rw-r--r--data/items/iron_axe.yaml15
-rw-r--r--data/items/iron_ore.yaml6
-rw-r--r--data/items/iron_pickaxe.yaml15
-rw-r--r--data/items/lobster_pot.yaml15
-rw-r--r--data/items/logs.yaml6
-rw-r--r--data/items/magic_logs.yaml6
-rw-r--r--data/items/mahogany_logs.yaml6
-rw-r--r--data/items/maple_logs.yaml6
-rw-r--r--data/items/mithril_axe.yaml15
-rw-r--r--data/items/mithril_ore.yaml6
-rw-r--r--data/items/mithril_pickaxe.yaml15
-rw-r--r--data/items/raw_anchovies.yaml6
-rw-r--r--data/items/raw_anglerfish.yaml6
-rw-r--r--data/items/raw_bass.yaml6
-rw-r--r--data/items/raw_cave_eel.yaml6
-rw-r--r--data/items/raw_cod.yaml6
-rw-r--r--data/items/raw_herring.yaml6
-rw-r--r--data/items/raw_lobster.yaml6
-rw-r--r--data/items/raw_mackerel.yaml6
-rw-r--r--data/items/raw_pike.yaml6
-rw-r--r--data/items/raw_rainbow_fish.yaml6
-rw-r--r--data/items/raw_salmon.yaml6
-rw-r--r--data/items/raw_sardine.yaml6
-rw-r--r--data/items/raw_shark.yaml6
-rw-r--r--data/items/raw_shrimps.yaml6
-rw-r--r--data/items/raw_slimy_eel.yaml6
-rw-r--r--data/items/raw_swordfish.yaml6
-rw-r--r--data/items/raw_trout.yaml2
-rw-r--r--data/items/raw_tuna.yaml6
-rw-r--r--data/items/redwood_logs.yaml6
-rw-r--r--data/items/rune_axe.yaml15
-rw-r--r--data/items/rune_pickaxe.yaml15
-rw-r--r--data/items/runite_ore.yaml6
-rw-r--r--data/items/sacred_eel.yaml6
-rw-r--r--data/items/scrap_metal.yaml6
-rw-r--r--data/items/silver_ore.yaml6
-rw-r--r--data/items/small_fishing_net.yaml15
-rw-r--r--data/items/steel_axe.yaml15
-rw-r--r--data/items/steel_pickaxe.yaml15
-rw-r--r--data/items/teak_logs.yaml6
-rw-r--r--data/items/tin_ore.yaml8
-rw-r--r--data/items/uncut_diamond.yaml2
-rw-r--r--data/items/uncut_emerald.yaml2
-rw-r--r--data/items/uncut_ruby.yaml2
-rw-r--r--data/items/uncut_sapphire.yaml2
-rw-r--r--data/items/willow_logs.yaml6
-rw-r--r--data/items/yew_logs.yaml6
-rw-r--r--data/mobs/man.yaml2
-rw-r--r--data/objects/adamantite_rock.yaml3
-rw-r--r--data/objects/anglerfish_spot.yaml5
-rw-r--r--data/objects/bait_fishing_spot.yaml5
-rw-r--r--data/objects/cage_fishing_spot.yaml5
-rw-r--r--data/objects/clay_rock.yaml3
-rw-r--r--data/objects/coal_rock.yaml3
-rw-r--r--data/objects/fishing_spot.yaml3
-rw-r--r--data/objects/fly_fishing_spot.yaml5
-rw-r--r--data/objects/gold_rock.yaml3
-rw-r--r--data/objects/harpoon_fishing_spot.yaml5
-rw-r--r--data/objects/iron_rock.yaml3
-rw-r--r--data/objects/magic_tree.yaml3
-rw-r--r--data/objects/mahogany_tree.yaml3
-rw-r--r--data/objects/maple_tree.yaml3
-rw-r--r--data/objects/mithril_rock.yaml3
-rw-r--r--data/objects/net_fishing_spot.yaml5
-rw-r--r--data/objects/oak_tree.yaml3
-rw-r--r--data/objects/redwood_tree.yaml3
-rw-r--r--data/objects/runite_rock.yaml3
-rw-r--r--data/objects/sacred_eel_spot.yaml5
-rw-r--r--data/objects/scrap_pile.yaml3
-rw-r--r--data/objects/silver_rock.yaml3
-rw-r--r--data/objects/swamp_fishing_spot.yaml5
-rw-r--r--data/objects/teak_tree.yaml3
-rw-r--r--data/objects/tin_rock.yaml3
-rw-r--r--data/objects/tree.yaml3
-rw-r--r--data/objects/willow_tree.yaml3
-rw-r--r--data/objects/yew_tree.yaml3
-rw-r--r--data/rooms/1.yaml14
-rw-r--r--data/rooms/10.yaml22
-rw-r--r--data/rooms/11.yaml19
-rw-r--r--data/rooms/12.yaml6
-rw-r--r--data/rooms/13.yaml6
-rw-r--r--data/rooms/14.yaml6
-rw-r--r--data/rooms/15.yaml6
-rw-r--r--data/rooms/16.yaml6
-rw-r--r--data/rooms/17.yaml6
-rw-r--r--data/rooms/18.yaml6
-rw-r--r--data/rooms/19.yaml6
-rw-r--r--data/rooms/2.yaml19
-rw-r--r--data/rooms/20.yaml6
-rw-r--r--data/rooms/21.yaml13
-rw-r--r--data/rooms/3.yaml16
-rw-r--r--data/rooms/4.yaml15
-rw-r--r--data/rooms/5.yaml12
-rw-r--r--data/rooms/6.yaml16
-rw-r--r--data/rooms/7.yaml7
-rw-r--r--data/rooms/8.yaml14
-rw-r--r--data/rooms/9.yaml5
164 files changed, 1568 insertions, 151 deletions
diff --git a/data/behaviors/chop_magic.yaml b/data/behaviors/chop_magic.yaml
new file mode 100644
index 0000000..762d979
--- /dev/null
+++ b/data/behaviors/chop_magic.yaml
@@ -0,0 +1,23 @@
+id: chop_magic
+type: gather
+skill: woodcutting
+level: 75
+xp: 250
+base_wait: 12
+tools: [axe]
+success:
+ base: 0.15
+ per_level: 0.01
+ cap: 0.65
+gather_message: "You swing your axe at the magic tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: magic_logs
+ weight: 100
+ depletes: false
+ message: "You get some magic logs."
+deplete_delay: 199
+shared_deplete: 390
+nest_chance: 256
+respawn_message: "A new magic sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_mahogany.yaml b/data/behaviors/chop_mahogany.yaml
new file mode 100644
index 0000000..61ad6af
--- /dev/null
+++ b/data/behaviors/chop_mahogany.yaml
@@ -0,0 +1,23 @@
+id: chop_mahogany
+type: gather
+skill: woodcutting
+level: 50
+xp: 125
+base_wait: 8
+tools: [axe]
+success:
+ base: 0.25
+ per_level: 0.01
+ cap: 0.75
+gather_message: "You swing your axe at the mahogany tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: mahogany_logs
+ weight: 100
+ depletes: false
+ message: "You get some mahogany logs."
+deplete_delay: 14
+shared_deplete: 100
+nest_chance: 256
+respawn_message: "A new mahogany sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_maple.yaml b/data/behaviors/chop_maple.yaml
new file mode 100644
index 0000000..aa4ebea
--- /dev/null
+++ b/data/behaviors/chop_maple.yaml
@@ -0,0 +1,23 @@
+id: chop_maple
+type: gather
+skill: woodcutting
+level: 45
+xp: 100
+base_wait: 8
+tools: [axe]
+success:
+ base: 0.28
+ per_level: 0.01
+ cap: 0.78
+gather_message: "You swing your axe at the maple tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: maple_logs
+ weight: 100
+ depletes: false
+ message: "You get some maple logs."
+deplete_delay: 59
+shared_deplete: 100
+nest_chance: 256
+respawn_message: "A new maple sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_oak.yaml b/data/behaviors/chop_oak.yaml
new file mode 100644
index 0000000..6731d24
--- /dev/null
+++ b/data/behaviors/chop_oak.yaml
@@ -0,0 +1,23 @@
+id: chop_oak
+type: gather
+skill: woodcutting
+level: 15
+xp: 37
+base_wait: 6
+tools: [axe]
+success:
+ base: 0.40
+ per_level: 0.01
+ cap: 0.90
+gather_message: "You swing your axe at the oak tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: oak_logs
+ weight: 100
+ depletes: false
+ message: "You get some oak logs."
+deplete_delay: 14
+shared_deplete: 45
+nest_chance: 256
+respawn_message: "A new oak sapling grows in its place."
+respawn_broadcast: "An {name} grows back."
diff --git a/data/behaviors/chop_redwood.yaml b/data/behaviors/chop_redwood.yaml
new file mode 100644
index 0000000..e3def4f
--- /dev/null
+++ b/data/behaviors/chop_redwood.yaml
@@ -0,0 +1,23 @@
+id: chop_redwood
+type: gather
+skill: woodcutting
+level: 90
+xp: 380
+base_wait: 14
+tools: [axe]
+success:
+ base: 0.10
+ per_level: 0.01
+ cap: 0.60
+gather_message: "You swing your axe at the redwood tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: redwood_logs
+ weight: 100
+ depletes: false
+ message: "You get some redwood logs."
+deplete_delay: 199
+shared_deplete: 440
+nest_chance: 256
+respawn_message: "A new redwood sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_teak.yaml b/data/behaviors/chop_teak.yaml
new file mode 100644
index 0000000..ed2f60d
--- /dev/null
+++ b/data/behaviors/chop_teak.yaml
@@ -0,0 +1,23 @@
+id: chop_teak
+type: gather
+skill: woodcutting
+level: 35
+xp: 85
+base_wait: 6
+tools: [axe]
+success:
+ base: 0.32
+ per_level: 0.01
+ cap: 0.82
+gather_message: "You swing your axe at the teak tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: teak_logs
+ weight: 100
+ depletes: false
+ message: "You get some teak logs."
+deplete_delay: 15
+shared_deplete: 50
+nest_chance: 256
+respawn_message: "A new teak sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_tree.yaml b/data/behaviors/chop_tree.yaml
new file mode 100644
index 0000000..445047d
--- /dev/null
+++ b/data/behaviors/chop_tree.yaml
@@ -0,0 +1,21 @@
+id: chop_tree
+type: gather
+skill: woodcutting
+level: 1
+xp: 25
+base_wait: 4
+tools: [axe]
+success:
+ base: 0.50
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your axe at the tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: logs
+ weight: 100
+ depletes: true
+ message: "You get some logs."
+deplete_delay: 80
+respawn_message: "A new tree grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_willow.yaml b/data/behaviors/chop_willow.yaml
new file mode 100644
index 0000000..f972aa5
--- /dev/null
+++ b/data/behaviors/chop_willow.yaml
@@ -0,0 +1,23 @@
+id: chop_willow
+type: gather
+skill: woodcutting
+level: 30
+xp: 67
+base_wait: 6
+tools: [axe]
+success:
+ base: 0.35
+ per_level: 0.01
+ cap: 0.85
+gather_message: "You swing your axe at the willow tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: willow_logs
+ weight: 100
+ depletes: false
+ message: "You get some willow logs."
+deplete_delay: 14
+shared_deplete: 50
+nest_chance: 256
+respawn_message: "A new willow sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/chop_yew.yaml b/data/behaviors/chop_yew.yaml
new file mode 100644
index 0000000..48f387d
--- /dev/null
+++ b/data/behaviors/chop_yew.yaml
@@ -0,0 +1,23 @@
+id: chop_yew
+type: gather
+skill: woodcutting
+level: 60
+xp: 175
+base_wait: 10
+tools: [axe]
+success:
+ base: 0.20
+ per_level: 0.01
+ cap: 0.70
+gather_message: "You swing your axe at the yew tree..."
+fail_message: "You swing but get no logs."
+drops:
+ - item_id: yew_logs
+ weight: 100
+ depletes: false
+ message: "You get some yew logs."
+deplete_delay: 99
+shared_deplete: 190
+nest_chance: 256
+respawn_message: "A new yew sapling grows in its place."
+respawn_broadcast: "A {name} grows back."
diff --git a/data/behaviors/fish_angler.yaml b/data/behaviors/fish_angler.yaml
new file mode 100644
index 0000000..107e9b5
--- /dev/null
+++ b/data/behaviors/fish_angler.yaml
@@ -0,0 +1,19 @@
+id: fish_angler
+type: gather
+skill: fishing
+level: 1
+base_wait: 6
+tools: [fishing_rod]
+bait: fishing_bait
+success:
+ base: 0.30
+ per_level: 0.005
+ cap: 0.80
+gather_message: "You cast your line into the deep water..."
+fail_message: "Nothing seems to bite."
+drops:
+ - item_id: raw_anglerfish
+ level: 82
+ xp: 120
+ weight: 100
+ message: "You catch a raw anglerfish."
diff --git a/data/behaviors/fish_bait.yaml b/data/behaviors/fish_bait.yaml
new file mode 100644
index 0000000..ee13e95
--- /dev/null
+++ b/data/behaviors/fish_bait.yaml
@@ -0,0 +1,29 @@
+id: fish_bait
+type: gather
+skill: fishing
+level: 1
+base_wait: 5
+tools: [fishing_rod]
+bait: fishing_bait
+success:
+ base: 0.50
+ per_level: 0.005
+ cap: 0.90
+gather_message: "You cast your line into the water..."
+fail_message: "Nothing seems to bite."
+drops:
+ - item_id: raw_sardine
+ level: 5
+ xp: 20
+ weight: 60
+ message: "You catch a raw sardine."
+ - item_id: raw_herring
+ level: 10
+ xp: 30
+ weight: 40
+ message: "You catch a raw herring."
+ - item_id: raw_pike
+ level: 25
+ xp: 60
+ weight: 30
+ message: "You catch a raw pike."
diff --git a/data/behaviors/fish_cage.yaml b/data/behaviors/fish_cage.yaml
new file mode 100644
index 0000000..1fc92e4
--- /dev/null
+++ b/data/behaviors/fish_cage.yaml
@@ -0,0 +1,18 @@
+id: fish_cage
+type: gather
+skill: fishing
+level: 1
+base_wait: 6
+tools: [lobster_pot]
+success:
+ base: 0.45
+ per_level: 0.005
+ cap: 0.85
+gather_message: "You lower your lobster pot into the water..."
+fail_message: "The pot comes up empty."
+drops:
+ - item_id: raw_lobster
+ level: 40
+ xp: 90
+ weight: 100
+ message: "You catch a raw lobster."
diff --git a/data/behaviors/fish_fly.yaml b/data/behaviors/fish_fly.yaml
new file mode 100644
index 0000000..af80076
--- /dev/null
+++ b/data/behaviors/fish_fly.yaml
@@ -0,0 +1,29 @@
+id: fish_fly
+type: gather
+skill: fishing
+level: 1
+base_wait: 5
+tools: [fly_rod]
+bait: feather
+success:
+ base: 0.50
+ per_level: 0.005
+ cap: 0.90
+gather_message: "You cast your fly into the water..."
+fail_message: "Nothing seems to bite."
+drops:
+ - item_id: raw_trout
+ level: 20
+ xp: 50
+ weight: 50
+ message: "You catch a raw trout."
+ - item_id: raw_salmon
+ level: 30
+ xp: 70
+ weight: 50
+ message: "You catch a raw salmon."
+ - item_id: raw_rainbow_fish
+ level: 38
+ xp: 80
+ weight: 30
+ message: "You catch a raw rainbow fish."
diff --git a/data/behaviors/fish_harpoon.yaml b/data/behaviors/fish_harpoon.yaml
new file mode 100644
index 0000000..8d94a48
--- /dev/null
+++ b/data/behaviors/fish_harpoon.yaml
@@ -0,0 +1,28 @@
+id: fish_harpoon
+type: gather
+skill: fishing
+level: 1
+base_wait: 6
+tools: [harpoon]
+success:
+ base: 0.40
+ per_level: 0.005
+ cap: 0.80
+gather_message: "You ready your harpoon..."
+fail_message: "You fail to spear anything."
+drops:
+ - item_id: raw_tuna
+ level: 35
+ xp: 80
+ weight: 60
+ message: "You harpoon a raw tuna."
+ - item_id: raw_swordfish
+ level: 50
+ xp: 100
+ weight: 50
+ message: "You harpoon a raw swordfish."
+ - item_id: raw_shark
+ level: 76
+ xp: 110
+ weight: 30
+ message: "You harpoon a raw shark."
diff --git a/data/behaviors/fish_net.yaml b/data/behaviors/fish_net.yaml
new file mode 100644
index 0000000..b971710
--- /dev/null
+++ b/data/behaviors/fish_net.yaml
@@ -0,0 +1,38 @@
+id: fish_net
+type: gather
+skill: fishing
+level: 1
+base_wait: 5
+tools: [small_net, big_net]
+success:
+ base: 0.50
+ per_level: 0.005
+ cap: 0.90
+gather_message: "You cast your net into the water..."
+fail_message: "You catch nothing."
+drops:
+ - item_id: raw_shrimps
+ level: 1
+ xp: 10
+ weight: 50
+ message: "You catch some raw shrimps."
+ - item_id: raw_anchovies
+ level: 1
+ xp: 10
+ weight: 50
+ message: "You catch some raw anchovies."
+ - item_id: raw_mackerel
+ level: 16
+ xp: 20
+ weight: 50
+ message: "You catch a raw mackerel."
+ - item_id: raw_cod
+ level: 23
+ xp: 30
+ weight: 50
+ message: "You catch a raw cod."
+ - item_id: raw_bass
+ level: 46
+ xp: 50
+ weight: 50
+ message: "You catch a raw bass."
diff --git a/data/behaviors/fish_sacred_eel.yaml b/data/behaviors/fish_sacred_eel.yaml
new file mode 100644
index 0000000..2e0235f
--- /dev/null
+++ b/data/behaviors/fish_sacred_eel.yaml
@@ -0,0 +1,19 @@
+id: fish_sacred_eel
+type: gather
+skill: fishing
+level: 1
+base_wait: 6
+tools: [fishing_rod]
+bait: fishing_bait
+success:
+ base: 0.25
+ per_level: 0.005
+ cap: 0.75
+gather_message: "You cast your line near the sacred waters..."
+fail_message: "Nothing seems to bite."
+drops:
+ - item_id: sacred_eel
+ level: 87
+ xp: 125
+ weight: 100
+ message: "You catch a sacred eel."
diff --git a/data/behaviors/fish_swamp.yaml b/data/behaviors/fish_swamp.yaml
new file mode 100644
index 0000000..ee1e5f3
--- /dev/null
+++ b/data/behaviors/fish_swamp.yaml
@@ -0,0 +1,24 @@
+id: fish_swamp
+type: gather
+skill: fishing
+level: 1
+base_wait: 5
+tools: [fishing_rod]
+bait: fishing_bait
+success:
+ base: 0.45
+ per_level: 0.005
+ cap: 0.85
+gather_message: "You cast your line into the murky swamp..."
+fail_message: "Nothing seems to bite."
+drops:
+ - item_id: raw_slimy_eel
+ level: 28
+ xp: 80
+ weight: 60
+ message: "You catch a raw slimy eel."
+ - item_id: raw_cave_eel
+ level: 38
+ xp: 80
+ weight: 40
+ message: "You catch a raw cave eel."
diff --git a/data/behaviors/fish_trout.yaml b/data/behaviors/fish_trout.yaml
deleted file mode 100644
index fd0e37a..0000000
--- a/data/behaviors/fish_trout.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-id: fish_trout
-type: gather
-skill: fishing
-level: 1
-base_wait: 4
-tool: fishing_rod
-success:
- base: 0.30
- per_level: 0.01
- cap: 0.90
-gather_message: "You cast your line into the water..."
-fail_message: "Nothing seems to bite."
-drops:
- - item_id: raw_trout
- weight: 100
- depletes: false
- message: "You catch a trout!"
diff --git a/data/behaviors/mine_adamantite.yaml b/data/behaviors/mine_adamantite.yaml
new file mode 100644
index 0000000..d4a3cda
--- /dev/null
+++ b/data/behaviors/mine_adamantite.yaml
@@ -0,0 +1,21 @@
+id: mine_adamantite
+type: gather
+skill: mining
+level: 70
+xp: 95
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.15
+ per_level: 0.01
+ cap: 0.85
+gather_message: "You swing your pickaxe at the adamantite rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: adamantite_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some adamantite ore."
+deplete_delay: 140
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A green glint of adamantite catches your eye from some {name}."
diff --git a/data/behaviors/mine_clay.yaml b/data/behaviors/mine_clay.yaml
new file mode 100644
index 0000000..8798671
--- /dev/null
+++ b/data/behaviors/mine_clay.yaml
@@ -0,0 +1,21 @@
+id: mine_clay
+type: gather
+skill: mining
+level: 1
+xp: 5
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.55
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You dig at the soft clay..."
+fail_message: "You fail to get any clay."
+drops:
+ - item_id: clay
+ weight: 100
+ depletes: true
+ message: "You manage to get some clay."
+deplete_delay: 50
+respawn_message: "The clay deposit is ready to dig again."
+respawn_broadcast: "A deposit of clay softens."
diff --git a/data/behaviors/mine_coal.yaml b/data/behaviors/mine_coal.yaml
new file mode 100644
index 0000000..036a009
--- /dev/null
+++ b/data/behaviors/mine_coal.yaml
@@ -0,0 +1,21 @@
+id: mine_coal
+type: gather
+skill: mining
+level: 30
+xp: 50
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.30
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your pickaxe at the coal rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: coal
+ weight: 100
+ depletes: true
+ message: "You manage to mine some coal."
+deplete_delay: 80
+respawn_message: "You see more coal in the rock."
+respawn_broadcast: "A dark vein of coal is visible in some {name}."
diff --git a/data/behaviors/mine_copper.yaml b/data/behaviors/mine_copper.yaml
index 1f2f884..d4b8fbf 100644
--- a/data/behaviors/mine_copper.yaml
+++ b/data/behaviors/mine_copper.yaml
@@ -2,10 +2,11 @@ id: mine_copper
type: gather
skill: mining
level: 1
-base_wait: 8
-tool: pickaxe
+xp: 17
+base_wait: 10
+tools: [pickaxe]
success:
- base: 0.40
+ base: 0.50
per_level: 0.01
cap: 0.95
gather_message: "You swing your pickaxe at the rock..."
diff --git a/data/behaviors/mine_gold.yaml b/data/behaviors/mine_gold.yaml
new file mode 100644
index 0000000..731dbec
--- /dev/null
+++ b/data/behaviors/mine_gold.yaml
@@ -0,0 +1,21 @@
+id: mine_gold
+type: gather
+skill: mining
+level: 40
+xp: 65
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.25
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your pickaxe at the gold rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: gold_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some gold ore."
+deplete_delay: 90
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A golden glint catches your eye from some {name}."
diff --git a/data/behaviors/mine_iron.yaml b/data/behaviors/mine_iron.yaml
new file mode 100644
index 0000000..fbd5ac1
--- /dev/null
+++ b/data/behaviors/mine_iron.yaml
@@ -0,0 +1,21 @@
+id: mine_iron
+type: gather
+skill: mining
+level: 15
+xp: 35
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.40
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your pickaxe at the iron rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: iron_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some iron ore."
+deplete_delay: 60
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A glint of iron catches your eye from some {name}."
diff --git a/data/behaviors/mine_mithril.yaml b/data/behaviors/mine_mithril.yaml
new file mode 100644
index 0000000..53ffe7f
--- /dev/null
+++ b/data/behaviors/mine_mithril.yaml
@@ -0,0 +1,21 @@
+id: mine_mithril
+type: gather
+skill: mining
+level: 55
+xp: 80
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.20
+ per_level: 0.01
+ cap: 0.90
+gather_message: "You swing your pickaxe at the mithril rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: mithril_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some mithril ore."
+deplete_delay: 110
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A blue glint of mithril catches your eye from some {name}."
diff --git a/data/behaviors/mine_runite.yaml b/data/behaviors/mine_runite.yaml
new file mode 100644
index 0000000..4fbd547
--- /dev/null
+++ b/data/behaviors/mine_runite.yaml
@@ -0,0 +1,21 @@
+id: mine_runite
+type: gather
+skill: mining
+level: 85
+xp: 125
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.08
+ per_level: 0.01
+ cap: 0.80
+gather_message: "You swing your pickaxe at the runite rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: runite_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some runite ore."
+deplete_delay: 180
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A pale blue glint of runite catches your eye from some {name}."
diff --git a/data/behaviors/mine_scrap.yaml b/data/behaviors/mine_scrap.yaml
new file mode 100644
index 0000000..57e0362
--- /dev/null
+++ b/data/behaviors/mine_scrap.yaml
@@ -0,0 +1,21 @@
+id: mine_scrap
+type: gather
+skill: mining
+level: 1
+xp: 5
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.55
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your pickaxe at the scrap pile..."
+fail_message: "You find nothing useful."
+drops:
+ - item_id: scrap_metal
+ weight: 100
+ depletes: true
+ message: "You salvage some scrap metal."
+deplete_delay: 50
+respawn_message: "More scrap is revealed in the pile."
+respawn_broadcast: "The scrap pile looks worth mining again."
diff --git a/data/behaviors/mine_silver.yaml b/data/behaviors/mine_silver.yaml
new file mode 100644
index 0000000..e6652cb
--- /dev/null
+++ b/data/behaviors/mine_silver.yaml
@@ -0,0 +1,21 @@
+id: mine_silver
+type: gather
+skill: mining
+level: 20
+xp: 40
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.35
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your pickaxe at the silver rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: silver_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some silver ore."
+deplete_delay: 70
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A silvery glint catches your eye from some {name}."
diff --git a/data/behaviors/mine_tin.yaml b/data/behaviors/mine_tin.yaml
new file mode 100644
index 0000000..b771a44
--- /dev/null
+++ b/data/behaviors/mine_tin.yaml
@@ -0,0 +1,21 @@
+id: mine_tin
+type: gather
+skill: mining
+level: 1
+xp: 17
+base_wait: 10
+tools: [pickaxe]
+success:
+ base: 0.50
+ per_level: 0.01
+ cap: 0.95
+gather_message: "You swing your pickaxe at the rock..."
+fail_message: "You chip away but get nothing useful."
+drops:
+ - item_id: tin_ore
+ weight: 100
+ depletes: true
+ message: "You manage to mine some tin ore."
+deplete_delay: 50
+respawn_message: "You see more ore in the rock."
+respawn_broadcast: "A glint of tin catches your eye from some {name}."
diff --git a/data/drops/birds_nest_drop.yaml b/data/drops/birds_nest_drop.yaml
new file mode 100644
index 0000000..d573d66
--- /dev/null
+++ b/data/drops/birds_nest_drop.yaml
@@ -0,0 +1,17 @@
+id: birds_nest_drop
+drops:
+ - item_id: credits
+ weight: 50
+ quantity: 200
+ - item_id: credits
+ weight: 30
+ quantity: 500
+ - item_id: credits
+ weight: 15
+ quantity: 1000
+ - item_id: credits
+ weight: 4
+ quantity: 3000
+ - item_id: credits
+ weight: 1
+ quantity: 10000
diff --git a/data/help/alias.yaml b/data/help/alias.yaml
new file mode 100644
index 0000000..4be2f98
--- /dev/null
+++ b/data/help/alias.yaml
@@ -0,0 +1,15 @@
+name: "alias"
+category: "General"
+description: |
+ Create and manage command aliases.
+
+ Usage: alias - List all aliases
+ alias <name> <cmd> - Create an alias (e.g. alias k kill)
+ unalias <name> - Remove an alias
+
+ Aliases are account-wide and shared by all your characters. They
+ support argument passthrough: "alias k kill" means "k man" expands
+ to "kill man".
+
+ Aliases resolve before built-in commands. An alias can shadow an
+ existing command name.
diff --git a/data/help/attack.yaml b/data/help/attack.yaml
index 8c0bec3..96a4bcd 100644
--- a/data/help/attack.yaml
+++ b/data/help/attack.yaml
@@ -3,7 +3,7 @@ category: "Combat"
description: |
Attack a mob in the current room.
- Usage: attack <mob>, kill <mob>, fight <mob>
+ Usage: attack <mob>, kill <mob>
attack 1.man, kill 2.man
Enter combat with the named mob. If multiple mobs with different names
@@ -12,4 +12,4 @@ description: |
name (e.g. "attack 1.man"). Plain "attack man" targets the first.
Attacks occur at weapon speed on the 600ms tick. Use "style" to change
- combat style. You are locked in place for 15 ticks when combat starts.
+ combat style. You are locked in place when combat starts.
diff --git a/data/help/drop.yaml b/data/help/drop.yaml
index b4e1a95..a4f2d5c 100644
--- a/data/help/drop.yaml
+++ b/data/help/drop.yaml
@@ -4,6 +4,10 @@ description: |
Drop an item from your inventory.
Usage: drop <item>
+ drop all
Drops one unit of the named item onto the ground in your current room.
- Other players can then pick it up.
+ Other players can then pick it up. "drop all" drops your entire
+ inventory after confirmation.
+
+ Dropping an item cancels any active gathering or crafting action.
diff --git a/data/help/equipment.yaml b/data/help/equipment.yaml
index b2224a4..1a4b229 100644
--- a/data/help/equipment.yaml
+++ b/data/help/equipment.yaml
@@ -6,3 +6,5 @@ description: |
Usage: equipment, eq
Shows what you have equipped in each slot (main hand, head, torso, etc.).
+ Use "wear <item>" or "wield <item>" to equip items from your inventory.
+ Use "remove <item>" to unequip.
diff --git a/data/help/fishing.yaml b/data/help/fishing.yaml
index 60f2d6a..cf2ea95 100644
--- a/data/help/fishing.yaml
+++ b/data/help/fishing.yaml
@@ -1,14 +1,22 @@
name: "fishing"
category: "Skills"
description: |
- Fish from fishing spots.
+ Fish from fishing spots at the water's edge.
Usage: fish <spot>, fish <N.spot>
- Fishing requires a tool matching the spot's tool type (e.g. fishing_rod).
- Better rods have higher tool_speed, reducing the wait between casts.
+ Fishing requires the correct tool for the spot you're using. Different
+ spots call for different equipment — nets, rods, harpoons, or pots.
+ Some spots also require bait (fishing bait or feathers), which is
+ consumed each cast whether you catch anything or not.
- Each cast has a chance to catch fish based on your fishing level.
- Fishing spots never deplete — you fish until your inventory fills or
- the spot wanders away. Fishing spots move between predefined rooms,
- simulating wandering fish schools.
+ If you run out of bait, fishing stops. Better tools have higher
+ tool_speed, reducing wait time. A wielded tool takes priority over
+ inventory tools.
+
+ Each spot type can yield different fish depending on your fishing
+ level. Higher level unlocks more valuable catches.
+
+ Look at a spot to see what equipment it needs.
+
+ Enable the "xpdrops" toggle to see XP gains with each catch.
diff --git a/data/help/gathering.yaml b/data/help/gathering.yaml
index 57c317e..876f92f 100644
--- a/data/help/gathering.yaml
+++ b/data/help/gathering.yaml
@@ -5,18 +5,32 @@ description: |
Usage: mine <object> - Mine ore from rocks (requires pickaxe)
chop <object> - Chop logs from trees (requires axe)
- fish <object> - Fish from fishing spots (requires rod/net)
+ cut <object> - Same as chop
+ fish <object> - Fish from fishing spots (requires correct tool)
Gathering skills use a tick-based action system:
1. You begin the action (e.g. "You swing your pickaxe...")
2. After a wait (reduced by tool speed), the game rolls for success
3. Success picks a weighted random drop from the object's drop table
- 4. Depleting drops remove the resource temporarily; rare drops don't
- Tools: Items with tool_type and tool_speed. The best matching tool in
- your inventory or toolbelt is used automatically. Higher tool_speed
- means faster gathering.
+ Tools: Items with tool_type and tool_speed. A wielded tool always takes
+ priority. Otherwise the first matching tool in your inventory is used.
+ Higher tool_speed means faster gathering.
+
+ Bait: Some fishing spots consume bait each attempt. If you run out,
+ the action stops.
+
+ XP: All successful gathers award XP. Enable the "xpdrops" toggle to
+ see XP gains with each drop (e.g. "+37xp wct"). Fishing catches award
+ XP based on the specific fish caught.
Numbered targeting: "mine 1.rock" targets a specific instance when
multiple objects of the same name are present. "look" shows instance
indices and depletion status.
+
+ Two depletion mechanics:
+ - Per-drop (rocks): Depletes on first successful gather. Respawns
+ after a fixed delay.
+ - Shared (trees): A despawn timer counts down while being chopped.
+ When it hits 0, the next successful gather depletes it for everyone.
+ If no one is chopping, the timer regenerates back up.
diff --git a/data/help/get.yaml b/data/help/get.yaml
index abd416e..777541b 100644
--- a/data/help/get.yaml
+++ b/data/help/get.yaml
@@ -8,3 +8,5 @@ description: |
"get all" picks up everything on the ground. Credits are automatically
added to your credit balance and never take inventory space.
+
+ Picking up an item cancels any active gathering or crafting action.
diff --git a/data/help/look.yaml b/data/help/look.yaml
index b1d7a6d..2be3d30 100644
--- a/data/help/look.yaml
+++ b/data/help/look.yaml
@@ -8,16 +8,19 @@ description: |
Without a target, shows: room name, description, objects (with instance
indices and depletion status), mobs (with HP and combat level), ground
- items (with reservation info), exits, and other players.
+ items (alphabetically sorted, with reservation info), exits, and other
+ players.
Players are shown with their current action (e.g. "Bob is here, mining
a copper rock [1]") or combat status ("Bob is here (fighting a man [2])").
- Instance indices appear when multiple objects or mobs of the same type
- are present.
+ Instance indices appear only when multiple objects or mobs of the same
+ type are present and differ in state.
With a target, shows details about:
- Mobs: stats and combat level
- - Objects: description and depletion timers (per instance)
+ - Objects: description and, with the depletion toggle on, timers
- Items (ground or inventory): description and value
- Players: stats, equipment, and description
- Directions: shows the adjacent room as if you were there
+
+ Use "toggle depletion" to show depletion and despawn timers on objects.
diff --git a/data/help/mining.yaml b/data/help/mining.yaml
index b883465..231027f 100644
--- a/data/help/mining.yaml
+++ b/data/help/mining.yaml
@@ -4,9 +4,9 @@ description: |
Mine ore from rocks.
Usage: mine <rock>, mine <N.rock>
- mine 1.rock, mine 2.rock
+ mine 1.rock, mine copper
- Mining requires a pickaxe in your inventory or toolbelt. Better pickaxes
+ Mining requires a pickaxe, either wielded or in your inventory. Better pickaxes
have higher tool_speed, which reduces the wait between swings.
Each swing has a chance to yield ore based on your mining level. If you
@@ -14,8 +14,8 @@ description: |
mining the same rock are interrupted when it depletes.
If you get a gem or other rare drop, the rock does not deplete and you
- continue mining. Type "mine rock" again during a wait to restart the
- swing cycle immediately.
+ continue mining. Enable the "xpdrops" toggle to see XP gains.
Use numbered targeting (e.g. "mine 2.rock") when multiple rocks of the
same type are present. "look rock" shows which rocks are depleted.
+ Use "toggle depletion" to see exact respawn timers.
diff --git a/data/help/movement.yaml b/data/help/movement.yaml
index 239220f..91aefa6 100644
--- a/data/help/movement.yaml
+++ b/data/help/movement.yaml
@@ -6,8 +6,8 @@ description: |
Usage: north, south, east, west, up, down
Aliases: n, s, e, w, u, d
- You cannot move for 15 ticks after combat starts. Moving interrupts
- combat and any active gathering or crafting action.
+ You cannot move during the combat lock period after combat starts.
+ Moving interrupts combat and any active gathering or crafting action.
With "description" toggled on, moving shows the full room description
instead of just the room name. Use "toggle" to change this setting.
diff --git a/data/help/quit.yaml b/data/help/quit.yaml
index c41771b..ce45c34 100644
--- a/data/help/quit.yaml
+++ b/data/help/quit.yaml
@@ -5,11 +5,12 @@ description: |
Usage: quit
- Cannot be used during combat. Starts a 10-tick rest sequence:
+ Stops your current action (gathering, crafting, etc.). Cannot be used
+ during combat. Starts a 10-tick rest sequence:
10 ticks: "You sit down to rest..."
6 ticks: "You catch your breath..."
3 ticks: "You close your eyes..."
0 ticks: Returns to account menu
- The rest is cancelled if you take any action or if combat starts.
- Saves your character when the timer completes.
+ The rest is cancelled if you take any action. Saves your character
+ when the timer completes.
diff --git a/data/help/remove.yaml b/data/help/remove.yaml
new file mode 100644
index 0000000..757bb27
--- /dev/null
+++ b/data/help/remove.yaml
@@ -0,0 +1,11 @@
+name: "remove"
+category: "Items"
+description: |
+ Unequip an item and return it to your inventory.
+
+ Usage: remove <item>, unwear <item>, unwield <item>
+
+ Removes the named item (or the item in the named slot) and places it
+ in your inventory. If your inventory is full, you cannot remove it.
+
+ Examples: remove axe, remove main_hand
diff --git a/data/help/search.yaml b/data/help/search.yaml
new file mode 100644
index 0000000..42eec52
--- /dev/null
+++ b/data/help/search.yaml
@@ -0,0 +1,12 @@
+name: "search"
+category: "Items"
+description: |
+ Search an item in your inventory.
+
+ Usage: search <item>
+
+ Example: search nest, search birds nest
+
+ Opens a searchable item (currently only bird's nests) and rolls on its
+ drop table for loot. The item is consumed in the process. Items found
+ go to inventory or fall to the ground if full.
diff --git a/data/help/style.yaml b/data/help/style.yaml
index 3016013..50b4a38 100644
--- a/data/help/style.yaml
+++ b/data/help/style.yaml
@@ -10,4 +10,5 @@ description: |
Defensive - +3 defense bonus, trains Defense (75%) and Hitpoints (25%)
Balanced - +1 all bonuses, trains all combat skills evenly (25% each)
- XP is awarded per hit: 4 XP per point of damage.
+ XP is awarded per hit: 4 XP per point of damage. Enable "xpdrops" to
+ see XP gains in combat messages.
diff --git a/data/help/toggle.yaml b/data/help/toggle.yaml
index 44a2b33..27080be 100644
--- a/data/help/toggle.yaml
+++ b/data/help/toggle.yaml
@@ -9,9 +9,10 @@ description: |
Toggles:
description - Long room descriptions when moving between rooms
tinymap - Mini-map display (not yet implemented)
- xpdrops - Show XP gained in combat hit messages
+ xpdrops - Show XP gained in gather, crafting, and combat messages
exits - Show exit destinations in look output
mobenter - Notify when a mob enters the room
mobleave - Notify when a mob leaves the room
mobspawn - Notify when a mob spawns in the area
reserve - Show full reserved item details in look
+ depletion - Show depletion and despawn timers on objects
diff --git a/data/help/wear.yaml b/data/help/wear.yaml
new file mode 100644
index 0000000..d0b665d
--- /dev/null
+++ b/data/help/wear.yaml
@@ -0,0 +1,16 @@
+name: "wear"
+category: "Items"
+description: |
+ Equip weapons and tools from your inventory.
+
+ Usage: wear <item>, wield <item>
+ wear all
+
+ Equips the named item into its appropriate equipment slot. If something
+ is already in that slot, they are swapped. "wear all" equips the
+ highest-value item for each slot from your inventory.
+
+ Equipped tools (pickaxes, axes, fishing rods) are used for gathering
+ actions and always take priority over inventory tools.
+
+ Worn items appear on the equipment/eq screen.
diff --git a/data/help/woodcutting.yaml b/data/help/woodcutting.yaml
new file mode 100644
index 0000000..80179a9
--- /dev/null
+++ b/data/help/woodcutting.yaml
@@ -0,0 +1,22 @@
+name: "woodcutting"
+category: "Skills"
+description: |
+ Chop logs from trees.
+
+ Usage: chop <tree>, cut <tree>
+ chop 1.oak, chop oak tree
+
+ Woodcutting requires an axe, either wielded or in your inventory. Better axes
+ have higher tool_speed, reducing the wait between swings. Axes can
+ also be equipped as melee weapons.
+
+ Regular trees deplete on first successful chop and respawn after a
+ delay. Higher-tier trees (oak and above) use shared depletion: a
+ despawn timer counts down while anyone chops. When it reaches 0, the
+ next successful gather depletes the tree for all choppers. If no one
+ is chopping, the timer regenerates back toward its maximum.
+
+ All trees except regular trees have a 1/256 chance to drop a bird's
+ nest alongside the logs. Use "search nest" to open a nest for loot.
+
+ Use the "depletion" toggle to see timers on trees and rocks.
diff --git a/data/items/adamant_axe.yaml b/data/items/adamant_axe.yaml
new file mode 100644
index 0000000..389e21e
--- /dev/null
+++ b/data/items/adamant_axe.yaml
@@ -0,0 +1,15 @@
+id: adamant_axe
+name: adamant axe
+aliases: ["axe", "hatchet"]
+description: "A powerful adamant axe."
+value: 1250
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 12
+ strength_bonus: 7
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 8
diff --git a/data/items/adamant_pickaxe.yaml b/data/items/adamant_pickaxe.yaml
new file mode 100644
index 0000000..953dec0
--- /dev/null
+++ b/data/items/adamant_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: adamant_pickaxe
+name: adamant pickaxe
+aliases: ["pick", "pickaxe"]
+description: "A powerful adamant pickaxe."
+value: 1250
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 12
+ strength_bonus: 7
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 6
diff --git a/data/items/adamantite_ore.yaml b/data/items/adamantite_ore.yaml
new file mode 100644
index 0000000..078deea
--- /dev/null
+++ b/data/items/adamantite_ore.yaml
@@ -0,0 +1,6 @@
+id: adamantite_ore
+name: adamantite ore
+aliases: ["adamantite", "adamant", "ore"]
+description: "A chunk of dark green adamantite ore."
+value: 100
+stackable: false
diff --git a/data/items/big_fishing_net.yaml b/data/items/big_fishing_net.yaml
new file mode 100644
index 0000000..da8a321
--- /dev/null
+++ b/data/items/big_fishing_net.yaml
@@ -0,0 +1,15 @@
+id: big_fishing_net
+name: big fishing net
+aliases: ["net", "big net"]
+description: "A larger fishing net for catching bigger fish."
+value: 20
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 0
+ strength_bonus: 0
+ defense_bonus: 0
+speed: 5
+tool_type: big_net
+tool_speed: 1
diff --git a/data/items/birds_nest.yaml b/data/items/birds_nest.yaml
new file mode 100644
index 0000000..674cdaa
--- /dev/null
+++ b/data/items/birds_nest.yaml
@@ -0,0 +1,6 @@
+id: birds_nest
+name: bird's nest
+aliases: ["nest", "birds", "bird"]
+description: "A bird's nest. You can search it for treasure."
+value: 5
+stackable: false
diff --git a/data/items/black_axe.yaml b/data/items/black_axe.yaml
new file mode 100644
index 0000000..d7ec254
--- /dev/null
+++ b/data/items/black_axe.yaml
@@ -0,0 +1,15 @@
+id: black_axe
+name: black axe
+aliases: ["axe", "hatchet"]
+description: "A sleek black axe, as fast as steel."
+value: 500
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 7
+ strength_bonus: 4
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 6
diff --git a/data/items/black_pickaxe.yaml b/data/items/black_pickaxe.yaml
new file mode 100644
index 0000000..f29c05c
--- /dev/null
+++ b/data/items/black_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: black_pickaxe
+name: black pickaxe
+aliases: ["pick", "pickaxe"]
+description: "A sleek black pickaxe."
+value: 500
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 7
+ strength_bonus: 4
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 5
diff --git a/data/items/bronze_axe.yaml b/data/items/bronze_axe.yaml
new file mode 100644
index 0000000..802a9f7
--- /dev/null
+++ b/data/items/bronze_axe.yaml
@@ -0,0 +1,15 @@
+id: bronze_axe
+name: bronze axe
+aliases: ["axe", "hatchet"]
+description: "A sturdy bronze axe, good for woodcutting."
+value: 10
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 2
+ strength_bonus: 1
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 4
diff --git a/data/items/bronze_pickaxe.yaml b/data/items/bronze_pickaxe.yaml
index 260652b..c451887 100644
--- a/data/items/bronze_pickaxe.yaml
+++ b/data/items/bronze_pickaxe.yaml
@@ -11,6 +11,5 @@ stats:
strength_bonus: 1
defense_bonus: 0
speed: 5
-toolbelt: true
tool_type: pickaxe
tool_speed: 2
diff --git a/data/items/clay.yaml b/data/items/clay.yaml
new file mode 100644
index 0000000..2a26d51
--- /dev/null
+++ b/data/items/clay.yaml
@@ -0,0 +1,6 @@
+id: clay
+name: clay
+aliases: ["clay"]
+description: "Some soft clay, useful for crafting and pottery."
+value: 1
+stackable: false
diff --git a/data/items/coal.yaml b/data/items/coal.yaml
new file mode 100644
index 0000000..7e88fda
--- /dev/null
+++ b/data/items/coal.yaml
@@ -0,0 +1,6 @@
+id: coal
+name: coal
+aliases: ["coal"]
+description: "A lump of coal, useful for smelting."
+value: 5
+stackable: false
diff --git a/data/items/copper_ore.yaml b/data/items/copper_ore.yaml
index 7192b92..215ece8 100644
--- a/data/items/copper_ore.yaml
+++ b/data/items/copper_ore.yaml
@@ -3,4 +3,4 @@ name: copper ore
aliases: ["ore", "copper"]
description: "A chunk of copper-bearing rock. Can be smelted into a bronze bar."
value: 1
-stackable: true
+stackable: false
diff --git a/data/items/dragon_axe.yaml b/data/items/dragon_axe.yaml
new file mode 100644
index 0000000..613f7c6
--- /dev/null
+++ b/data/items/dragon_axe.yaml
@@ -0,0 +1,15 @@
+id: dragon_axe
+name: dragon axe
+aliases: ["axe", "hatchet"]
+description: "A legendary dragon axe that bites through wood like butter."
+value: 100000
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 22
+ strength_bonus: 14
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 10
diff --git a/data/items/dragon_pickaxe.yaml b/data/items/dragon_pickaxe.yaml
new file mode 100644
index 0000000..bb6211d
--- /dev/null
+++ b/data/items/dragon_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: dragon_pickaxe
+name: dragon pickaxe
+aliases: ["pick", "pickaxe"]
+description: "A legendary dragon pickaxe that pulverizes rock."
+value: 100000
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 22
+ strength_bonus: 14
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 8
diff --git a/data/items/feather.yaml b/data/items/feather.yaml
new file mode 100644
index 0000000..d9216f8
--- /dev/null
+++ b/data/items/feather.yaml
@@ -0,0 +1,6 @@
+id: feather
+name: feather
+aliases: ["feathers"]
+description: "A colorful feather. Used as fly fishing bait."
+value: 1
+stackable: true
diff --git a/data/items/fishing_bait.yaml b/data/items/fishing_bait.yaml
new file mode 100644
index 0000000..004a61d
--- /dev/null
+++ b/data/items/fishing_bait.yaml
@@ -0,0 +1,6 @@
+id: fishing_bait
+name: fishing bait
+aliases: ["bait"]
+description: "A handful of wriggling bait. Used with a fishing rod."
+value: 1
+stackable: true
diff --git a/data/items/fishing_rod.yaml b/data/items/fishing_rod.yaml
index 5441ba6..24c8ce9 100644
--- a/data/items/fishing_rod.yaml
+++ b/data/items/fishing_rod.yaml
@@ -1,9 +1,15 @@
id: fishing_rod
name: fishing rod
aliases: ["rod", "fishing"]
-description: "A simple fishing rod with a hook and line."
+description: "A simple fishing rod. Use with fishing bait."
value: 5
stackable: false
-toolbelt: true
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 0
+ strength_bonus: 0
+ defense_bonus: 0
+speed: 5
tool_type: fishing_rod
tool_speed: 0
diff --git a/data/items/fly_fishing_rod.yaml b/data/items/fly_fishing_rod.yaml
new file mode 100644
index 0000000..a2571f8
--- /dev/null
+++ b/data/items/fly_fishing_rod.yaml
@@ -0,0 +1,15 @@
+id: fly_fishing_rod
+name: fly fishing rod
+aliases: ["rod", "fly rod", "fly fishing"]
+description: "A flexible rod for fly fishing with artificial flies."
+value: 20
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 0
+ strength_bonus: 0
+ defense_bonus: 0
+speed: 5
+tool_type: fly_rod
+tool_speed: 1
diff --git a/data/items/gold_ore.yaml b/data/items/gold_ore.yaml
new file mode 100644
index 0000000..28f3352
--- /dev/null
+++ b/data/items/gold_ore.yaml
@@ -0,0 +1,6 @@
+id: gold_ore
+name: gold ore
+aliases: ["gold", "ore"]
+description: "A glittering chunk of gold ore."
+value: 25
+stackable: false
diff --git a/data/items/harpoon.yaml b/data/items/harpoon.yaml
new file mode 100644
index 0000000..d69cc41
--- /dev/null
+++ b/data/items/harpoon.yaml
@@ -0,0 +1,15 @@
+id: harpoon
+name: harpoon
+aliases: ["harpoon", "spear"]
+description: "A barbed harpoon for spearing large fish."
+value: 30
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 0
+ strength_bonus: 0
+ defense_bonus: 0
+speed: 5
+tool_type: harpoon
+tool_speed: 0
diff --git a/data/items/iron_axe.yaml b/data/items/iron_axe.yaml
new file mode 100644
index 0000000..d236a5d
--- /dev/null
+++ b/data/items/iron_axe.yaml
@@ -0,0 +1,15 @@
+id: iron_axe
+name: iron axe
+aliases: ["axe", "hatchet"]
+description: "A solid iron axe, better than bronze."
+value: 50
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 3
+ strength_bonus: 2
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 5
diff --git a/data/items/iron_ore.yaml b/data/items/iron_ore.yaml
new file mode 100644
index 0000000..c89d789
--- /dev/null
+++ b/data/items/iron_ore.yaml
@@ -0,0 +1,6 @@
+id: iron_ore
+name: iron ore
+aliases: ["iron", "ore"]
+description: "A chunk of iron ore, ready for smelting."
+value: 5
+stackable: false
diff --git a/data/items/iron_pickaxe.yaml b/data/items/iron_pickaxe.yaml
new file mode 100644
index 0000000..83a436a
--- /dev/null
+++ b/data/items/iron_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: iron_pickaxe
+name: iron pickaxe
+aliases: ["pick", "pickaxe"]
+description: "A solid iron pickaxe, better than bronze."
+value: 50
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 3
+ strength_bonus: 2
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 3
diff --git a/data/items/lobster_pot.yaml b/data/items/lobster_pot.yaml
new file mode 100644
index 0000000..52fe908
--- /dev/null
+++ b/data/items/lobster_pot.yaml
@@ -0,0 +1,15 @@
+id: lobster_pot
+name: lobster pot
+aliases: ["pot", "lobster", "cage"]
+description: "A wire cage for trapping lobsters."
+value: 20
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 0
+ strength_bonus: 0
+ defense_bonus: 0
+speed: 5
+tool_type: lobster_pot
+tool_speed: 0
diff --git a/data/items/logs.yaml b/data/items/logs.yaml
new file mode 100644
index 0000000..9b148ae
--- /dev/null
+++ b/data/items/logs.yaml
@@ -0,0 +1,6 @@
+id: logs
+name: logs
+aliases: ["log", "wood"]
+description: "Some regular logs, good for firemaking and fletching."
+value: 2
+stackable: false
diff --git a/data/items/magic_logs.yaml b/data/items/magic_logs.yaml
new file mode 100644
index 0000000..baac96b
--- /dev/null
+++ b/data/items/magic_logs.yaml
@@ -0,0 +1,6 @@
+id: magic_logs
+name: magic logs
+aliases: ["logs", "magic", "log"]
+description: "Some mystical magic logs."
+value: 80
+stackable: false
diff --git a/data/items/mahogany_logs.yaml b/data/items/mahogany_logs.yaml
new file mode 100644
index 0000000..87ea061
--- /dev/null
+++ b/data/items/mahogany_logs.yaml
@@ -0,0 +1,6 @@
+id: mahogany_logs
+name: mahogany logs
+aliases: ["logs", "mahogany", "log"]
+description: "Some beautiful mahogany logs."
+value: 24
+stackable: false
diff --git a/data/items/maple_logs.yaml b/data/items/maple_logs.yaml
new file mode 100644
index 0000000..11f7dcd
--- /dev/null
+++ b/data/items/maple_logs.yaml
@@ -0,0 +1,6 @@
+id: maple_logs
+name: maple logs
+aliases: ["logs", "maple", "log"]
+description: "Some sturdy maple logs."
+value: 16
+stackable: false
diff --git a/data/items/mithril_axe.yaml b/data/items/mithril_axe.yaml
new file mode 100644
index 0000000..642f6d5
--- /dev/null
+++ b/data/items/mithril_axe.yaml
@@ -0,0 +1,15 @@
+id: mithril_axe
+name: mithril axe
+aliases: ["axe", "hatchet"]
+description: "A lightweight mithril axe."
+value: 500
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 9
+ strength_bonus: 5
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 7
diff --git a/data/items/mithril_ore.yaml b/data/items/mithril_ore.yaml
new file mode 100644
index 0000000..c0b9481
--- /dev/null
+++ b/data/items/mithril_ore.yaml
@@ -0,0 +1,6 @@
+id: mithril_ore
+name: mithril ore
+aliases: ["mithril", "ore"]
+description: "A piece of light blue mithril ore."
+value: 50
+stackable: false
diff --git a/data/items/mithril_pickaxe.yaml b/data/items/mithril_pickaxe.yaml
new file mode 100644
index 0000000..8eef9e2
--- /dev/null
+++ b/data/items/mithril_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: mithril_pickaxe
+name: mithril pickaxe
+aliases: ["pick", "pickaxe"]
+description: "A lightweight mithril pickaxe."
+value: 500
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 9
+ strength_bonus: 5
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 5
diff --git a/data/items/raw_anchovies.yaml b/data/items/raw_anchovies.yaml
new file mode 100644
index 0000000..f833026
--- /dev/null
+++ b/data/items/raw_anchovies.yaml
@@ -0,0 +1,6 @@
+id: raw_anchovies
+name: raw anchovies
+aliases: ["anchovies", "anchovy"]
+description: "Some tiny raw anchovies."
+value: 2
+stackable: false
diff --git a/data/items/raw_anglerfish.yaml b/data/items/raw_anglerfish.yaml
new file mode 100644
index 0000000..42cd9b9
--- /dev/null
+++ b/data/items/raw_anglerfish.yaml
@@ -0,0 +1,6 @@
+id: raw_anglerfish
+name: raw anglerfish
+aliases: ["anglerfish", "angler"]
+description: "An ugly but delicious raw anglerfish."
+value: 20
+stackable: false
diff --git a/data/items/raw_bass.yaml b/data/items/raw_bass.yaml
new file mode 100644
index 0000000..07d373e
--- /dev/null
+++ b/data/items/raw_bass.yaml
@@ -0,0 +1,6 @@
+id: raw_bass
+name: raw bass
+aliases: ["bass"]
+description: "A freshly caught raw bass."
+value: 10
+stackable: false
diff --git a/data/items/raw_cave_eel.yaml b/data/items/raw_cave_eel.yaml
new file mode 100644
index 0000000..66048c1
--- /dev/null
+++ b/data/items/raw_cave_eel.yaml
@@ -0,0 +1,6 @@
+id: raw_cave_eel
+name: raw cave eel
+aliases: ["cave eel", "eel"]
+description: "A pale eel from deep underground waters."
+value: 12
+stackable: false
diff --git a/data/items/raw_cod.yaml b/data/items/raw_cod.yaml
new file mode 100644
index 0000000..cdc4fb3
--- /dev/null
+++ b/data/items/raw_cod.yaml
@@ -0,0 +1,6 @@
+id: raw_cod
+name: raw cod
+aliases: ["cod"]
+description: "A freshly caught raw cod."
+value: 6
+stackable: false
diff --git a/data/items/raw_herring.yaml b/data/items/raw_herring.yaml
new file mode 100644
index 0000000..d6fce43
--- /dev/null
+++ b/data/items/raw_herring.yaml
@@ -0,0 +1,6 @@
+id: raw_herring
+name: raw herring
+aliases: ["herring"]
+description: "A freshly caught raw herring."
+value: 5
+stackable: false
diff --git a/data/items/raw_lobster.yaml b/data/items/raw_lobster.yaml
new file mode 100644
index 0000000..d30907e
--- /dev/null
+++ b/data/items/raw_lobster.yaml
@@ -0,0 +1,6 @@
+id: raw_lobster
+name: raw lobster
+aliases: ["lobster"]
+description: "A freshly caught raw lobster."
+value: 15
+stackable: false
diff --git a/data/items/raw_mackerel.yaml b/data/items/raw_mackerel.yaml
new file mode 100644
index 0000000..5cd81e8
--- /dev/null
+++ b/data/items/raw_mackerel.yaml
@@ -0,0 +1,6 @@
+id: raw_mackerel
+name: raw mackerel
+aliases: ["mackerel"]
+description: "A freshly caught raw mackerel."
+value: 4
+stackable: false
diff --git a/data/items/raw_pike.yaml b/data/items/raw_pike.yaml
new file mode 100644
index 0000000..6313798
--- /dev/null
+++ b/data/items/raw_pike.yaml
@@ -0,0 +1,6 @@
+id: raw_pike
+name: raw pike
+aliases: ["pike"]
+description: "A freshly caught raw pike."
+value: 8
+stackable: false
diff --git a/data/items/raw_rainbow_fish.yaml b/data/items/raw_rainbow_fish.yaml
new file mode 100644
index 0000000..72f20b2
--- /dev/null
+++ b/data/items/raw_rainbow_fish.yaml
@@ -0,0 +1,6 @@
+id: raw_rainbow_fish
+name: raw rainbow fish
+aliases: ["rainbow fish", "rainbow"]
+description: "A shimmering raw rainbow fish."
+value: 10
+stackable: false
diff --git a/data/items/raw_salmon.yaml b/data/items/raw_salmon.yaml
new file mode 100644
index 0000000..e90b8a5
--- /dev/null
+++ b/data/items/raw_salmon.yaml
@@ -0,0 +1,6 @@
+id: raw_salmon
+name: raw salmon
+aliases: ["salmon"]
+description: "A freshly caught raw salmon."
+value: 8
+stackable: false
diff --git a/data/items/raw_sardine.yaml b/data/items/raw_sardine.yaml
new file mode 100644
index 0000000..262d30e
--- /dev/null
+++ b/data/items/raw_sardine.yaml
@@ -0,0 +1,6 @@
+id: raw_sardine
+name: raw sardine
+aliases: ["sardine"]
+description: "A freshly caught raw sardine."
+value: 3
+stackable: false
diff --git a/data/items/raw_shark.yaml b/data/items/raw_shark.yaml
new file mode 100644
index 0000000..05a4e72
--- /dev/null
+++ b/data/items/raw_shark.yaml
@@ -0,0 +1,6 @@
+id: raw_shark
+name: raw shark
+aliases: ["shark"]
+description: "A freshly caught raw shark."
+value: 30
+stackable: false
diff --git a/data/items/raw_shrimps.yaml b/data/items/raw_shrimps.yaml
new file mode 100644
index 0000000..0696f90
--- /dev/null
+++ b/data/items/raw_shrimps.yaml
@@ -0,0 +1,6 @@
+id: raw_shrimps
+name: raw shrimps
+aliases: ["shrimps", "shrimp"]
+description: "Some small raw shrimps."
+value: 2
+stackable: false
diff --git a/data/items/raw_slimy_eel.yaml b/data/items/raw_slimy_eel.yaml
new file mode 100644
index 0000000..535bf4d
--- /dev/null
+++ b/data/items/raw_slimy_eel.yaml
@@ -0,0 +1,6 @@
+id: raw_slimy_eel
+name: raw slimy eel
+aliases: ["slimy eel", "eel"]
+description: "A slippery raw eel covered in slime."
+value: 10
+stackable: false
diff --git a/data/items/raw_swordfish.yaml b/data/items/raw_swordfish.yaml
new file mode 100644
index 0000000..745fdb1
--- /dev/null
+++ b/data/items/raw_swordfish.yaml
@@ -0,0 +1,6 @@
+id: raw_swordfish
+name: raw swordfish
+aliases: ["swordfish", "sword"]
+description: "A freshly caught raw swordfish."
+value: 18
+stackable: false
diff --git a/data/items/raw_trout.yaml b/data/items/raw_trout.yaml
index 2a44c72..0e96ba3 100644
--- a/data/items/raw_trout.yaml
+++ b/data/items/raw_trout.yaml
@@ -3,4 +3,4 @@ name: raw trout
aliases: ["trout", "fish", "raw"]
description: "A freshly caught trout. Needs cooking."
value: 3
-stackable: true
+stackable: false
diff --git a/data/items/raw_tuna.yaml b/data/items/raw_tuna.yaml
new file mode 100644
index 0000000..747ef14
--- /dev/null
+++ b/data/items/raw_tuna.yaml
@@ -0,0 +1,6 @@
+id: raw_tuna
+name: raw tuna
+aliases: ["tuna"]
+description: "A freshly caught raw tuna."
+value: 12
+stackable: false
diff --git a/data/items/redwood_logs.yaml b/data/items/redwood_logs.yaml
new file mode 100644
index 0000000..7a2c66b
--- /dev/null
+++ b/data/items/redwood_logs.yaml
@@ -0,0 +1,6 @@
+id: redwood_logs
+name: redwood logs
+aliases: ["logs", "redwood", "log"]
+description: "Some massive redwood logs."
+value: 120
+stackable: false
diff --git a/data/items/rune_axe.yaml b/data/items/rune_axe.yaml
new file mode 100644
index 0000000..8e145f1
--- /dev/null
+++ b/data/items/rune_axe.yaml
@@ -0,0 +1,15 @@
+id: rune_axe
+name: rune axe
+aliases: ["axe", "hatchet"]
+description: "An extremely sharp rune axe."
+value: 40000
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 16
+ strength_bonus: 10
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 9
diff --git a/data/items/rune_pickaxe.yaml b/data/items/rune_pickaxe.yaml
new file mode 100644
index 0000000..9f0ca32
--- /dev/null
+++ b/data/items/rune_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: rune_pickaxe
+name: rune pickaxe
+aliases: ["pick", "pickaxe"]
+description: "An extremely durable rune pickaxe."
+value: 40000
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 16
+ strength_bonus: 10
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 7
diff --git a/data/items/runite_ore.yaml b/data/items/runite_ore.yaml
new file mode 100644
index 0000000..330ebe2
--- /dev/null
+++ b/data/items/runite_ore.yaml
@@ -0,0 +1,6 @@
+id: runite_ore
+name: runite ore
+aliases: ["runite", "rune", "ore"]
+description: "A rare piece of light blue runite ore."
+value: 500
+stackable: false
diff --git a/data/items/sacred_eel.yaml b/data/items/sacred_eel.yaml
new file mode 100644
index 0000000..18b7991
--- /dev/null
+++ b/data/items/sacred_eel.yaml
@@ -0,0 +1,6 @@
+id: sacred_eel
+name: sacred eel
+aliases: ["sacred eel", "eel"]
+description: "A glowing eel imbued with sacred energy."
+value: 25
+stackable: false
diff --git a/data/items/scrap_metal.yaml b/data/items/scrap_metal.yaml
new file mode 100644
index 0000000..ce4b137
--- /dev/null
+++ b/data/items/scrap_metal.yaml
@@ -0,0 +1,6 @@
+id: scrap_metal
+name: scrap metal
+aliases: ["scrap", "metal"]
+description: "A chunk of salvaged scrap metal."
+value: 2
+stackable: false
diff --git a/data/items/silver_ore.yaml b/data/items/silver_ore.yaml
new file mode 100644
index 0000000..0f2c7f2
--- /dev/null
+++ b/data/items/silver_ore.yaml
@@ -0,0 +1,6 @@
+id: silver_ore
+name: silver ore
+aliases: ["silver", "ore"]
+description: "A piece of silver ore with a faint metallic sheen."
+value: 10
+stackable: false
diff --git a/data/items/small_fishing_net.yaml b/data/items/small_fishing_net.yaml
new file mode 100644
index 0000000..01dafd2
--- /dev/null
+++ b/data/items/small_fishing_net.yaml
@@ -0,0 +1,15 @@
+id: small_fishing_net
+name: small fishing net
+aliases: ["net", "small net"]
+description: "A small hand-held fishing net."
+value: 5
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 0
+ strength_bonus: 0
+ defense_bonus: 0
+speed: 5
+tool_type: small_net
+tool_speed: 0
diff --git a/data/items/steel_axe.yaml b/data/items/steel_axe.yaml
new file mode 100644
index 0000000..ba14b16
--- /dev/null
+++ b/data/items/steel_axe.yaml
@@ -0,0 +1,15 @@
+id: steel_axe
+name: steel axe
+aliases: ["axe", "hatchet"]
+description: "A sharp steel axe for serious woodcutting."
+value: 200
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 5
+ strength_bonus: 3
+ defense_bonus: 0
+speed: 5
+tool_type: axe
+tool_speed: 6
diff --git a/data/items/steel_pickaxe.yaml b/data/items/steel_pickaxe.yaml
new file mode 100644
index 0000000..d2b24d4
--- /dev/null
+++ b/data/items/steel_pickaxe.yaml
@@ -0,0 +1,15 @@
+id: steel_pickaxe
+name: steel pickaxe
+aliases: ["pick", "pickaxe"]
+description: "A sharp steel pickaxe."
+value: 200
+stackable: false
+equip_slot: main_hand
+weapon_type: melee
+stats:
+ attack_bonus: 5
+ strength_bonus: 3
+ defense_bonus: 0
+speed: 5
+tool_type: pickaxe
+tool_speed: 4
diff --git a/data/items/teak_logs.yaml b/data/items/teak_logs.yaml
new file mode 100644
index 0000000..ac9b736
--- /dev/null
+++ b/data/items/teak_logs.yaml
@@ -0,0 +1,6 @@
+id: teak_logs
+name: teak logs
+aliases: ["logs", "teak", "log"]
+description: "Some fine teak logs."
+value: 12
+stackable: false
diff --git a/data/items/tin_ore.yaml b/data/items/tin_ore.yaml
index 62a55b4..97d0adb 100644
--- a/data/items/tin_ore.yaml
+++ b/data/items/tin_ore.yaml
@@ -1,6 +1,6 @@
-id: "tin_ore"
-name: "tin ore"
+id: tin_ore
+name: tin ore
aliases: ["tin", "ore"]
-description: "A chunk of tin ore."
-value: 2
+description: "A lump of tin ore, ready for smelting."
+value: 3
stackable: false
diff --git a/data/items/uncut_diamond.yaml b/data/items/uncut_diamond.yaml
index 3dcea70..843b2a4 100644
--- a/data/items/uncut_diamond.yaml
+++ b/data/items/uncut_diamond.yaml
@@ -3,4 +3,4 @@ name: uncut diamond
aliases: ["diamond", "gem", "uncut"]
description: "An uncut diamond. Can be cut with crafting."
value: 200
-stackable: true
+stackable: false
diff --git a/data/items/uncut_emerald.yaml b/data/items/uncut_emerald.yaml
index a9f3a66..e584286 100644
--- a/data/items/uncut_emerald.yaml
+++ b/data/items/uncut_emerald.yaml
@@ -3,4 +3,4 @@ name: uncut emerald
aliases: ["emerald", "gem", "uncut"]
description: "An uncut emerald. Can be cut with crafting."
value: 50
-stackable: true
+stackable: false
diff --git a/data/items/uncut_ruby.yaml b/data/items/uncut_ruby.yaml
index 0e9d36d..560bf08 100644
--- a/data/items/uncut_ruby.yaml
+++ b/data/items/uncut_ruby.yaml
@@ -3,4 +3,4 @@ name: uncut ruby
aliases: ["ruby", "gem", "uncut"]
description: "An uncut ruby. Can be cut with crafting."
value: 100
-stackable: true
+stackable: false
diff --git a/data/items/uncut_sapphire.yaml b/data/items/uncut_sapphire.yaml
index 70039d8..2f5c93e 100644
--- a/data/items/uncut_sapphire.yaml
+++ b/data/items/uncut_sapphire.yaml
@@ -3,4 +3,4 @@ name: uncut sapphire
aliases: ["sapphire", "gem", "uncut"]
description: "An uncut sapphire. Can be cut with crafting."
value: 25
-stackable: true
+stackable: false
diff --git a/data/items/willow_logs.yaml b/data/items/willow_logs.yaml
new file mode 100644
index 0000000..1669e66
--- /dev/null
+++ b/data/items/willow_logs.yaml
@@ -0,0 +1,6 @@
+id: willow_logs
+name: willow logs
+aliases: ["logs", "willow", "log"]
+description: "Some weeping willow logs."
+value: 8
+stackable: false
diff --git a/data/items/yew_logs.yaml b/data/items/yew_logs.yaml
new file mode 100644
index 0000000..5f1ed40
--- /dev/null
+++ b/data/items/yew_logs.yaml
@@ -0,0 +1,6 @@
+id: yew_logs
+name: yew logs
+aliases: ["logs", "yew", "log"]
+description: "Some high-quality yew logs."
+value: 40
+stackable: false
diff --git a/data/mobs/man.yaml b/data/mobs/man.yaml
index 30a3105..5fa9625 100644
--- a/data/mobs/man.yaml
+++ b/data/mobs/man.yaml
@@ -21,8 +21,6 @@ hp: 7
speed: 5
aggressive: false
respawn_ticks: 30
-wander_rooms: [1, 2, 3]
-wander_interval: 10
drops:
remains: "bones"
loot:
diff --git a/data/objects/adamantite_rock.yaml b/data/objects/adamantite_rock.yaml
new file mode 100644
index 0000000..603f358
--- /dev/null
+++ b/data/objects/adamantite_rock.yaml
@@ -0,0 +1,3 @@
+id: adamantite_rock
+name: adamantite rock
+behavior: mine_adamantite
diff --git a/data/objects/anglerfish_spot.yaml b/data/objects/anglerfish_spot.yaml
new file mode 100644
index 0000000..8d8658f
--- /dev/null
+++ b/data/objects/anglerfish_spot.yaml
@@ -0,0 +1,5 @@
+id: anglerfish_spot
+name: anglerfish spot
+behavior: fish_angler
+props:
+ description: "A faint glow emanates from the depths. Use a fishing rod with bait here."
diff --git a/data/objects/bait_fishing_spot.yaml b/data/objects/bait_fishing_spot.yaml
new file mode 100644
index 0000000..60971a6
--- /dev/null
+++ b/data/objects/bait_fishing_spot.yaml
@@ -0,0 +1,5 @@
+id: bait_fishing_spot
+name: bait fishing spot
+behavior: fish_bait
+props:
+ description: "Small fish ripple the surface. Use a fishing rod with bait here."
diff --git a/data/objects/cage_fishing_spot.yaml b/data/objects/cage_fishing_spot.yaml
new file mode 100644
index 0000000..1a7d848
--- /dev/null
+++ b/data/objects/cage_fishing_spot.yaml
@@ -0,0 +1,5 @@
+id: cage_fishing_spot
+name: cage fishing spot
+behavior: fish_cage
+props:
+ description: "A rocky underwater shelf. Use a lobster pot here."
diff --git a/data/objects/clay_rock.yaml b/data/objects/clay_rock.yaml
new file mode 100644
index 0000000..368373f
--- /dev/null
+++ b/data/objects/clay_rock.yaml
@@ -0,0 +1,3 @@
+id: clay_rock
+name: clay deposit
+behavior: mine_clay
diff --git a/data/objects/coal_rock.yaml b/data/objects/coal_rock.yaml
new file mode 100644
index 0000000..1f44461
--- /dev/null
+++ b/data/objects/coal_rock.yaml
@@ -0,0 +1,3 @@
+id: coal_rock
+name: coal rock
+behavior: mine_coal
diff --git a/data/objects/fishing_spot.yaml b/data/objects/fishing_spot.yaml
deleted file mode 100644
index 73ad3a2..0000000
--- a/data/objects/fishing_spot.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-id: fishing_spot
-name: fishing spot
-behavior: fish_trout
diff --git a/data/objects/fly_fishing_spot.yaml b/data/objects/fly_fishing_spot.yaml
new file mode 100644
index 0000000..b9545c9
--- /dev/null
+++ b/data/objects/fly_fishing_spot.yaml
@@ -0,0 +1,5 @@
+id: fly_fishing_spot
+name: fly fishing spot
+behavior: fish_fly
+props:
+ description: "Insects dance above the water. Use a fly fishing rod with feathers here."
diff --git a/data/objects/gold_rock.yaml b/data/objects/gold_rock.yaml
new file mode 100644
index 0000000..d701817
--- /dev/null
+++ b/data/objects/gold_rock.yaml
@@ -0,0 +1,3 @@
+id: gold_rock
+name: gold rock
+behavior: mine_gold
diff --git a/data/objects/harpoon_fishing_spot.yaml b/data/objects/harpoon_fishing_spot.yaml
new file mode 100644
index 0000000..c7e7f89
--- /dev/null
+++ b/data/objects/harpoon_fishing_spot.yaml
@@ -0,0 +1,5 @@
+id: harpoon_fishing_spot
+name: harpoon fishing spot
+behavior: fish_harpoon
+props:
+ description: "Large shadows move beneath the waves. Use a harpoon here."
diff --git a/data/objects/iron_rock.yaml b/data/objects/iron_rock.yaml
new file mode 100644
index 0000000..448ddc3
--- /dev/null
+++ b/data/objects/iron_rock.yaml
@@ -0,0 +1,3 @@
+id: iron_rock
+name: iron rock
+behavior: mine_iron
diff --git a/data/objects/magic_tree.yaml b/data/objects/magic_tree.yaml
new file mode 100644
index 0000000..5e82407
--- /dev/null
+++ b/data/objects/magic_tree.yaml
@@ -0,0 +1,3 @@
+id: magic_tree
+name: magic tree
+behavior: chop_magic
diff --git a/data/objects/mahogany_tree.yaml b/data/objects/mahogany_tree.yaml
new file mode 100644
index 0000000..33bc35e
--- /dev/null
+++ b/data/objects/mahogany_tree.yaml
@@ -0,0 +1,3 @@
+id: mahogany_tree
+name: mahogany tree
+behavior: chop_mahogany
diff --git a/data/objects/maple_tree.yaml b/data/objects/maple_tree.yaml
new file mode 100644
index 0000000..8d145c0
--- /dev/null
+++ b/data/objects/maple_tree.yaml
@@ -0,0 +1,3 @@
+id: maple_tree
+name: maple tree
+behavior: chop_maple
diff --git a/data/objects/mithril_rock.yaml b/data/objects/mithril_rock.yaml
new file mode 100644
index 0000000..afe106b
--- /dev/null
+++ b/data/objects/mithril_rock.yaml
@@ -0,0 +1,3 @@
+id: mithril_rock
+name: mithril rock
+behavior: mine_mithril
diff --git a/data/objects/net_fishing_spot.yaml b/data/objects/net_fishing_spot.yaml
new file mode 100644
index 0000000..0f1cd96
--- /dev/null
+++ b/data/objects/net_fishing_spot.yaml
@@ -0,0 +1,5 @@
+id: net_fishing_spot
+name: net fishing spot
+behavior: fish_net
+props:
+ description: "Bubbles break the surface. Use a small or big fishing net here."
diff --git a/data/objects/oak_tree.yaml b/data/objects/oak_tree.yaml
new file mode 100644
index 0000000..d3a8e74
--- /dev/null
+++ b/data/objects/oak_tree.yaml
@@ -0,0 +1,3 @@
+id: oak_tree
+name: oak tree
+behavior: chop_oak
diff --git a/data/objects/redwood_tree.yaml b/data/objects/redwood_tree.yaml
new file mode 100644
index 0000000..345f037
--- /dev/null
+++ b/data/objects/redwood_tree.yaml
@@ -0,0 +1,3 @@
+id: redwood_tree
+name: redwood tree
+behavior: chop_redwood
diff --git a/data/objects/runite_rock.yaml b/data/objects/runite_rock.yaml
new file mode 100644
index 0000000..df40aa3
--- /dev/null
+++ b/data/objects/runite_rock.yaml
@@ -0,0 +1,3 @@
+id: runite_rock
+name: runite rock
+behavior: mine_runite
diff --git a/data/objects/sacred_eel_spot.yaml b/data/objects/sacred_eel_spot.yaml
new file mode 100644
index 0000000..9925727
--- /dev/null
+++ b/data/objects/sacred_eel_spot.yaml
@@ -0,0 +1,5 @@
+id: sacred_eel_spot
+name: sacred eel spot
+behavior: fish_sacred_eel
+props:
+ description: "Waters shimmer with an otherworldly light. Use a fishing rod with bait here."
diff --git a/data/objects/scrap_pile.yaml b/data/objects/scrap_pile.yaml
new file mode 100644
index 0000000..d67ef11
--- /dev/null
+++ b/data/objects/scrap_pile.yaml
@@ -0,0 +1,3 @@
+id: scrap_pile
+name: scrap pile
+behavior: mine_scrap
diff --git a/data/objects/silver_rock.yaml b/data/objects/silver_rock.yaml
new file mode 100644
index 0000000..c5a9658
--- /dev/null
+++ b/data/objects/silver_rock.yaml
@@ -0,0 +1,3 @@
+id: silver_rock
+name: silver rock
+behavior: mine_silver
diff --git a/data/objects/swamp_fishing_spot.yaml b/data/objects/swamp_fishing_spot.yaml
new file mode 100644
index 0000000..8fc83b7
--- /dev/null
+++ b/data/objects/swamp_fishing_spot.yaml
@@ -0,0 +1,5 @@
+id: swamp_fishing_spot
+name: swamp fishing spot
+behavior: fish_swamp
+props:
+ description: "Murky water bubbles ominously. Use a fishing rod with bait here."
diff --git a/data/objects/teak_tree.yaml b/data/objects/teak_tree.yaml
new file mode 100644
index 0000000..628ec8a
--- /dev/null
+++ b/data/objects/teak_tree.yaml
@@ -0,0 +1,3 @@
+id: teak_tree
+name: teak tree
+behavior: chop_teak
diff --git a/data/objects/tin_rock.yaml b/data/objects/tin_rock.yaml
new file mode 100644
index 0000000..96c524d
--- /dev/null
+++ b/data/objects/tin_rock.yaml
@@ -0,0 +1,3 @@
+id: tin_rock
+name: tin rock
+behavior: mine_tin
diff --git a/data/objects/tree.yaml b/data/objects/tree.yaml
new file mode 100644
index 0000000..cfcbe02
--- /dev/null
+++ b/data/objects/tree.yaml
@@ -0,0 +1,3 @@
+id: tree
+name: tree
+behavior: chop_tree
diff --git a/data/objects/willow_tree.yaml b/data/objects/willow_tree.yaml
new file mode 100644
index 0000000..b5426ff
--- /dev/null
+++ b/data/objects/willow_tree.yaml
@@ -0,0 +1,3 @@
+id: willow_tree
+name: willow tree
+behavior: chop_willow
diff --git a/data/objects/yew_tree.yaml b/data/objects/yew_tree.yaml
new file mode 100644
index 0000000..3e784f7
--- /dev/null
+++ b/data/objects/yew_tree.yaml
@@ -0,0 +1,3 @@
+id: yew_tree
+name: yew tree
+behavior: chop_yew
diff --git a/data/rooms/1.yaml b/data/rooms/1.yaml
index 2f30f7e..77c49a0 100644
--- a/data/rooms/1.yaml
+++ b/data/rooms/1.yaml
@@ -1,18 +1,10 @@
id: 1
-name: "Lumbridge Town Square"
-description: "A bustling town square in the heart of Lumbridge. Cobblestone paths lead in all directions. A fountain gurgles peacefully in the center."
+name: "Town Square"
+description: "The central square of Lumbridge. A fountain gurgles peacefully in the center. Paths lead west toward the gathering grounds and east toward the production district."
map_symbol: "S"
exits:
- north: 2
- west: 7
- east: 3
+ east: 2
objects:
- id: lumby_fountain
-spawns:
- - item_id: "copper_ore"
- quantity: 1
- respawn_ticks: 10
mobs:
- "newbie_trainer"
- - "man"
- - "man"
diff --git a/data/rooms/10.yaml b/data/rooms/10.yaml
index 98fba43..63d9fc7 100644
--- a/data/rooms/10.yaml
+++ b/data/rooms/10.yaml
@@ -1,20 +1,6 @@
id: 10
-name: "Guard Post"
-description: "A checkpoint at the edge of the mine. A guard stands watch beside a heavy iron gate set into the north wall."
+name: "Farming Plot"
+description: "A small patch of tilled soil behind a weathered fence. This area is not yet accessible."
exits:
- west: 2
- north:
- room: 11
- condition:
- flag: gate_open
- value: true
- blocked_message: "A heavy iron gate blocks the way north. Maybe the guard can help."
-objects:
- - id: iron_gate
-mobs:
- - "guard"
-on_enter:
- - message: "The Guard barks: \"State your business!\""
- condition:
- player_flag: talked_to_guard
- not: true
+ west: 9
+ east: 11
diff --git a/data/rooms/11.yaml b/data/rooms/11.yaml
index dcc3b05..bf26577 100644
--- a/data/rooms/11.yaml
+++ b/data/rooms/11.yaml
@@ -1,17 +1,6 @@
id: 11
-name: "Supply Room"
-description: "A dusty storage room filled with crates and barrels. This area is normally off-limits."
+name: "Kitchen"
+description: "A warm kitchen with a stone hearth and wooden counters. This area is not yet accessible."
exits:
- south:
- room: 10
- condition:
- flag: gate_open
- value: true
- blocked_message: "The iron gate is closed."
-spawns:
- - item_id: uncut_sapphire
- quantity: 1
- respawn_ticks: 100
- - item_id: credits
- quantity: 50
- respawn_ticks: 200
+ east: 12
+ west: 10
diff --git a/data/rooms/12.yaml b/data/rooms/12.yaml
new file mode 100644
index 0000000..c9ab894
--- /dev/null
+++ b/data/rooms/12.yaml
@@ -0,0 +1,6 @@
+id: 12
+name: "Forge"
+description: "A blazing forge and anvil dominate this smoky workshop. This area is not yet accessible."
+exits:
+ east: 13
+ west: 11
diff --git a/data/rooms/13.yaml b/data/rooms/13.yaml
new file mode 100644
index 0000000..3b394af
--- /dev/null
+++ b/data/rooms/13.yaml
@@ -0,0 +1,6 @@
+id: 13
+name: "Workshop"
+description: "A well-equipped workshop with crafting tables and tool racks. This area is not yet accessible."
+exits:
+ east: 14
+ west: 12
diff --git a/data/rooms/14.yaml b/data/rooms/14.yaml
new file mode 100644
index 0000000..2e90539
--- /dev/null
+++ b/data/rooms/14.yaml
@@ -0,0 +1,6 @@
+id: 14
+name: "Fletching Bench"
+description: "A workbench covered in wood shavings, feathers, and arrowheads. This area is not yet accessible."
+exits:
+ east: 15
+ west: 13
diff --git a/data/rooms/15.yaml b/data/rooms/15.yaml
new file mode 100644
index 0000000..de48e37
--- /dev/null
+++ b/data/rooms/15.yaml
@@ -0,0 +1,6 @@
+id: 15
+name: "Alchemy Lab"
+description: "Shelves lined with glass vials, dried herbs, and bubbling cauldrons. This area is not yet accessible."
+exits:
+ east: 16
+ west: 14
diff --git a/data/rooms/16.yaml b/data/rooms/16.yaml
new file mode 100644
index 0000000..51ee392
--- /dev/null
+++ b/data/rooms/16.yaml
@@ -0,0 +1,6 @@
+id: 16
+name: "Construction Site"
+description: "A half-built structure surrounded by planks, nails, and blueprints. This area is not yet accessible."
+exits:
+ east: 17
+ west: 15
diff --git a/data/rooms/17.yaml b/data/rooms/17.yaml
new file mode 100644
index 0000000..80b1dfc
--- /dev/null
+++ b/data/rooms/17.yaml
@@ -0,0 +1,6 @@
+id: 17
+name: "Bonfire"
+description: "A ring of stones surrounds a bed of ash. A few unlit logs wait nearby. This area is not yet accessible."
+exits:
+ east: 18
+ west: 16
diff --git a/data/rooms/18.yaml b/data/rooms/18.yaml
new file mode 100644
index 0000000..9dfc446
--- /dev/null
+++ b/data/rooms/18.yaml
@@ -0,0 +1,6 @@
+id: 18
+name: "Thieves' Den"
+description: "A shadowy hideout with lockpicks, dark cloaks, and wanted posters on the walls. This area is not yet accessible."
+exits:
+ east: 19
+ west: 17
diff --git a/data/rooms/19.yaml b/data/rooms/19.yaml
new file mode 100644
index 0000000..35800a0
--- /dev/null
+++ b/data/rooms/19.yaml
@@ -0,0 +1,6 @@
+id: 19
+name: "Agility Course"
+description: "A training ground with balance beams, monkey bars, and climbing nets. This area is not yet accessible."
+exits:
+ east: 20
+ west: 18
diff --git a/data/rooms/2.yaml b/data/rooms/2.yaml
index 89913f7..39fcb9a 100644
--- a/data/rooms/2.yaml
+++ b/data/rooms/2.yaml
@@ -1,14 +1,17 @@
id: 2
-name: "Copper Mine"
-description: "A small mining pit. The walls glint with copper veins."
+name: "Fishing Spot"
+description: "A quiet spot along the riverbank. The water is clear and fish can be seen swimming beneath the surface. You can cast a line here with a fishing rod and bait."
+map_symbol: "F"
exits:
- south: 1
- east: 10
+ east: 4
+ north: 3
+ west: 1
objects:
- - id: copper_rock
- - id: copper_rock
- - id: copper_rock
+ - id: bait_fishing_spot
spawns:
- - item_id: bronze_pickaxe
+ - item_id: fishing_rod
quantity: 1
respawn_ticks: 30
+ - item_id: fishing_bait
+ quantity: 20
+ respawn_ticks: 60
diff --git a/data/rooms/20.yaml b/data/rooms/20.yaml
new file mode 100644
index 0000000..379322b
--- /dev/null
+++ b/data/rooms/20.yaml
@@ -0,0 +1,6 @@
+id: 20
+name: "Assassin's Bureau"
+description: "A discreet office with job postings pinned to a corkboard. This area is not yet accessible."
+exits:
+ east: 21
+ west: 19
diff --git a/data/rooms/21.yaml b/data/rooms/21.yaml
new file mode 100644
index 0000000..987f5ea
--- /dev/null
+++ b/data/rooms/21.yaml
@@ -0,0 +1,13 @@
+id: 21
+name: "Combat Arena"
+description: "A sandy training ground with practice dummies and sparring rings. Several men wander here looking for a fight."
+map_symbol: "C"
+exits:
+ west: 20
+mobs:
+ - id: man
+ wander_interval: 10
+ - id: man
+ wander_interval: 12
+ - id: man
+ wander_interval: 15
diff --git a/data/rooms/3.yaml b/data/rooms/3.yaml
index 57a7cb1..b54546f 100644
--- a/data/rooms/3.yaml
+++ b/data/rooms/3.yaml
@@ -1,6 +1,14 @@
id: 3
-name: "Lumbridge General Store"
-description: "A small but well-stocked general store. Shelves line the walls with various goods."
-map_symbol: "G"
+name: "Fly Fishing Pool"
+description: "A calm pool where insects hover over the water. Perfect for fly fishing."
exits:
- west: 1
+ south: 2
+objects:
+ - id: fly_fishing_spot
+spawns:
+ - item_id: fly_fishing_rod
+ quantity: 1
+ respawn_ticks: 30
+ - item_id: feather
+ quantity: 15
+ respawn_ticks: 60
diff --git a/data/rooms/4.yaml b/data/rooms/4.yaml
index 49280fe..f1d7d08 100644
--- a/data/rooms/4.yaml
+++ b/data/rooms/4.yaml
@@ -1,7 +1,14 @@
id: 4
-name: "Lumbridge Forest Edge"
-description: "The road ends here at the edge of a dark forest. Towering oak trees loom ahead to the north."
-map_symbol: "F"
+name: "Woodcutting Glade"
+description: "A sunny glade at the edge of the forest. A sturdy tree stands here, perfect for practicing woodcutting."
+map_symbol: "W"
exits:
- south: 2
+ east: 6
north: 5
+ west: 2
+objects:
+ - id: tree
+spawns:
+ - item_id: bronze_axe
+ quantity: 1
+ respawn_ticks: 60
diff --git a/data/rooms/5.yaml b/data/rooms/5.yaml
index 3c16a41..195c098 100644
--- a/data/rooms/5.yaml
+++ b/data/rooms/5.yaml
@@ -1,6 +1,12 @@
id: 5
-name: "Deep Forest"
-description: "Thick trees surround you on all sides. Shafts of light pierce through the canopy above."
-map_symbol: "T"
+name: "Oak Grove"
+description: "A stand of young oak trees. The wood here is tougher but more valuable."
+map_symbol: "O"
exits:
south: 4
+objects:
+ - id: oak_tree
+spawns:
+ - item_id: iron_axe
+ quantity: 1
+ respawn_ticks: 60
diff --git a/data/rooms/6.yaml b/data/rooms/6.yaml
index b4bae5b..66d8d85 100644
--- a/data/rooms/6.yaml
+++ b/data/rooms/6.yaml
@@ -1,6 +1,16 @@
id: 6
-name: "Abandoned Mine"
-description: "A dark, dusty mine shaft. Veins of copper and tin run through the walls. A single lantern flickers overhead."
+name: "Mining Pit"
+description: "A small mining pit. The rocky walls glint with veins of copper ore."
map_symbol: "M"
exits:
- west: 2
+ east: 8
+ north: 7
+ west: 4
+objects:
+ - id: copper_rock
+ - id: copper_rock
+ - id: copper_rock
+spawns:
+ - item_id: bronze_pickaxe
+ quantity: 1
+ respawn_ticks: 30
diff --git a/data/rooms/7.yaml b/data/rooms/7.yaml
index f9168ec..c153d68 100644
--- a/data/rooms/7.yaml
+++ b/data/rooms/7.yaml
@@ -1,6 +1,5 @@
id: 7
-name: "Lake West Shore"
-description: "The western edge of a placid lake. Reeds rustle in the breeze."
+name: "Deep Mine"
+description: "A deeper mine shaft. Higher quality ores can be found here. This area is not yet accessible."
exits:
- east: 8
- south: 1
+ south: 6
diff --git a/data/rooms/8.yaml b/data/rooms/8.yaml
index 46e29f3..4e36af4 100644
--- a/data/rooms/8.yaml
+++ b/data/rooms/8.yaml
@@ -1,14 +1,6 @@
id: 8
-name: "Lake Center Shore"
-description: "The center of the lake's southern shore. A good spot to cast a line."
+name: "Hacking Lab"
+description: "A dimly lit room filled with old terminals and flickering screens. This area is not yet accessible."
exits:
- west: 7
east: 9
-objects:
- - id: fishing_spot
- wander_rooms: [7, 8, 9]
- wander_interval: 12
-spawns:
- - item_id: fishing_rod
- quantity: 1
- respawn_ticks: 30
+ west: 6
diff --git a/data/rooms/9.yaml b/data/rooms/9.yaml
index b5ea278..aca7ec2 100644
--- a/data/rooms/9.yaml
+++ b/data/rooms/9.yaml
@@ -1,5 +1,6 @@
id: 9
-name: "Lake East Shore"
-description: "The eastern shore of the lake. A fallen log offers a comfortable seat."
+name: "Scavenging Post"
+description: "A cluttered yard full of scrap metal and discarded technology. This area is not yet accessible."
exits:
+ east: 10
west: 8