From 1b9e2da3b3c438d8dc53d3489725dd5ba0022777 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 11 Jun 2026 04:46:27 -0400 Subject: feat: web client, get/drop updates and fixes --- data/behaviors/chop_magic.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_mahogany.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_maple.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_oak.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_redwood.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_teak.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_tree.yaml | 21 +++++++++++++++++++ data/behaviors/chop_willow.yaml | 23 ++++++++++++++++++++ data/behaviors/chop_yew.yaml | 23 ++++++++++++++++++++ data/behaviors/fish_angler.yaml | 19 +++++++++++++++++ data/behaviors/fish_bait.yaml | 29 ++++++++++++++++++++++++++ data/behaviors/fish_cage.yaml | 18 ++++++++++++++++ data/behaviors/fish_fly.yaml | 29 ++++++++++++++++++++++++++ data/behaviors/fish_harpoon.yaml | 28 +++++++++++++++++++++++++ data/behaviors/fish_net.yaml | 38 ++++++++++++++++++++++++++++++++++ data/behaviors/fish_sacred_eel.yaml | 19 +++++++++++++++++ data/behaviors/fish_swamp.yaml | 24 +++++++++++++++++++++ data/behaviors/fish_trout.yaml | 17 --------------- data/behaviors/mine_adamantite.yaml | 21 +++++++++++++++++++ data/behaviors/mine_clay.yaml | 21 +++++++++++++++++++ data/behaviors/mine_coal.yaml | 21 +++++++++++++++++++ data/behaviors/mine_copper.yaml | 7 ++++--- data/behaviors/mine_gold.yaml | 21 +++++++++++++++++++ data/behaviors/mine_iron.yaml | 21 +++++++++++++++++++ data/behaviors/mine_mithril.yaml | 21 +++++++++++++++++++ data/behaviors/mine_runite.yaml | 21 +++++++++++++++++++ data/behaviors/mine_scrap.yaml | 21 +++++++++++++++++++ data/behaviors/mine_silver.yaml | 21 +++++++++++++++++++ data/behaviors/mine_tin.yaml | 21 +++++++++++++++++++ data/drops/birds_nest_drop.yaml | 17 +++++++++++++++ data/help/alias.yaml | 15 ++++++++++++++ data/help/attack.yaml | 4 ++-- data/help/drop.yaml | 6 +++++- data/help/equipment.yaml | 2 ++ data/help/fishing.yaml | 22 +++++++++++++------- data/help/gathering.yaml | 24 ++++++++++++++++----- data/help/get.yaml | 2 ++ data/help/look.yaml | 11 ++++++---- data/help/mining.yaml | 8 +++---- data/help/movement.yaml | 4 ++-- data/help/quit.yaml | 7 ++++--- data/help/remove.yaml | 11 ++++++++++ data/help/search.yaml | 12 +++++++++++ data/help/style.yaml | 3 ++- data/help/toggle.yaml | 3 ++- data/help/wear.yaml | 16 ++++++++++++++ data/help/woodcutting.yaml | 22 ++++++++++++++++++++ data/items/adamant_axe.yaml | 15 ++++++++++++++ data/items/adamant_pickaxe.yaml | 15 ++++++++++++++ data/items/adamantite_ore.yaml | 6 ++++++ data/items/big_fishing_net.yaml | 15 ++++++++++++++ data/items/birds_nest.yaml | 6 ++++++ data/items/black_axe.yaml | 15 ++++++++++++++ data/items/black_pickaxe.yaml | 15 ++++++++++++++ data/items/bronze_axe.yaml | 15 ++++++++++++++ data/items/bronze_pickaxe.yaml | 1 - data/items/clay.yaml | 6 ++++++ data/items/coal.yaml | 6 ++++++ data/items/copper_ore.yaml | 2 +- data/items/dragon_axe.yaml | 15 ++++++++++++++ data/items/dragon_pickaxe.yaml | 15 ++++++++++++++ data/items/feather.yaml | 6 ++++++ data/items/fishing_bait.yaml | 6 ++++++ data/items/fishing_rod.yaml | 10 +++++++-- data/items/fly_fishing_rod.yaml | 15 ++++++++++++++ data/items/gold_ore.yaml | 6 ++++++ data/items/harpoon.yaml | 15 ++++++++++++++ data/items/iron_axe.yaml | 15 ++++++++++++++ data/items/iron_ore.yaml | 6 ++++++ data/items/iron_pickaxe.yaml | 15 ++++++++++++++ data/items/lobster_pot.yaml | 15 ++++++++++++++ data/items/logs.yaml | 6 ++++++ data/items/magic_logs.yaml | 6 ++++++ data/items/mahogany_logs.yaml | 6 ++++++ data/items/maple_logs.yaml | 6 ++++++ data/items/mithril_axe.yaml | 15 ++++++++++++++ data/items/mithril_ore.yaml | 6 ++++++ data/items/mithril_pickaxe.yaml | 15 ++++++++++++++ data/items/raw_anchovies.yaml | 6 ++++++ data/items/raw_anglerfish.yaml | 6 ++++++ data/items/raw_bass.yaml | 6 ++++++ data/items/raw_cave_eel.yaml | 6 ++++++ data/items/raw_cod.yaml | 6 ++++++ data/items/raw_herring.yaml | 6 ++++++ data/items/raw_lobster.yaml | 6 ++++++ data/items/raw_mackerel.yaml | 6 ++++++ data/items/raw_pike.yaml | 6 ++++++ data/items/raw_rainbow_fish.yaml | 6 ++++++ data/items/raw_salmon.yaml | 6 ++++++ data/items/raw_sardine.yaml | 6 ++++++ data/items/raw_shark.yaml | 6 ++++++ data/items/raw_shrimps.yaml | 6 ++++++ data/items/raw_slimy_eel.yaml | 6 ++++++ data/items/raw_swordfish.yaml | 6 ++++++ data/items/raw_trout.yaml | 2 +- data/items/raw_tuna.yaml | 6 ++++++ data/items/redwood_logs.yaml | 6 ++++++ data/items/rune_axe.yaml | 15 ++++++++++++++ data/items/rune_pickaxe.yaml | 15 ++++++++++++++ data/items/runite_ore.yaml | 6 ++++++ data/items/sacred_eel.yaml | 6 ++++++ data/items/scrap_metal.yaml | 6 ++++++ data/items/silver_ore.yaml | 6 ++++++ data/items/small_fishing_net.yaml | 15 ++++++++++++++ data/items/steel_axe.yaml | 15 ++++++++++++++ data/items/steel_pickaxe.yaml | 15 ++++++++++++++ data/items/teak_logs.yaml | 6 ++++++ data/items/tin_ore.yaml | 8 +++---- data/items/uncut_diamond.yaml | 2 +- data/items/uncut_emerald.yaml | 2 +- data/items/uncut_ruby.yaml | 2 +- data/items/uncut_sapphire.yaml | 2 +- data/items/willow_logs.yaml | 6 ++++++ data/items/yew_logs.yaml | 6 ++++++ data/mobs/man.yaml | 2 -- data/objects/adamantite_rock.yaml | 3 +++ data/objects/anglerfish_spot.yaml | 5 +++++ data/objects/bait_fishing_spot.yaml | 5 +++++ data/objects/cage_fishing_spot.yaml | 5 +++++ data/objects/clay_rock.yaml | 3 +++ data/objects/coal_rock.yaml | 3 +++ data/objects/fishing_spot.yaml | 3 --- data/objects/fly_fishing_spot.yaml | 5 +++++ data/objects/gold_rock.yaml | 3 +++ data/objects/harpoon_fishing_spot.yaml | 5 +++++ data/objects/iron_rock.yaml | 3 +++ data/objects/magic_tree.yaml | 3 +++ data/objects/mahogany_tree.yaml | 3 +++ data/objects/maple_tree.yaml | 3 +++ data/objects/mithril_rock.yaml | 3 +++ data/objects/net_fishing_spot.yaml | 5 +++++ data/objects/oak_tree.yaml | 3 +++ data/objects/redwood_tree.yaml | 3 +++ data/objects/runite_rock.yaml | 3 +++ data/objects/sacred_eel_spot.yaml | 5 +++++ data/objects/scrap_pile.yaml | 3 +++ data/objects/silver_rock.yaml | 3 +++ data/objects/swamp_fishing_spot.yaml | 5 +++++ data/objects/teak_tree.yaml | 3 +++ data/objects/tin_rock.yaml | 3 +++ data/objects/tree.yaml | 3 +++ data/objects/willow_tree.yaml | 3 +++ data/objects/yew_tree.yaml | 3 +++ data/rooms/1.yaml | 14 +++---------- data/rooms/10.yaml | 22 ++++---------------- data/rooms/11.yaml | 19 ++++------------- data/rooms/12.yaml | 6 ++++++ data/rooms/13.yaml | 6 ++++++ data/rooms/14.yaml | 6 ++++++ data/rooms/15.yaml | 6 ++++++ data/rooms/16.yaml | 6 ++++++ data/rooms/17.yaml | 6 ++++++ data/rooms/18.yaml | 6 ++++++ data/rooms/19.yaml | 6 ++++++ data/rooms/2.yaml | 19 ++++++++++------- data/rooms/20.yaml | 6 ++++++ data/rooms/21.yaml | 13 ++++++++++++ data/rooms/3.yaml | 16 ++++++++++---- data/rooms/4.yaml | 15 ++++++++++---- data/rooms/5.yaml | 12 ++++++++--- data/rooms/6.yaml | 16 +++++++++++--- data/rooms/7.yaml | 7 +++---- data/rooms/8.yaml | 14 +++---------- data/rooms/9.yaml | 5 +++-- 164 files changed, 1568 insertions(+), 151 deletions(-) create mode 100644 data/behaviors/chop_magic.yaml create mode 100644 data/behaviors/chop_mahogany.yaml create mode 100644 data/behaviors/chop_maple.yaml create mode 100644 data/behaviors/chop_oak.yaml create mode 100644 data/behaviors/chop_redwood.yaml create mode 100644 data/behaviors/chop_teak.yaml create mode 100644 data/behaviors/chop_tree.yaml create mode 100644 data/behaviors/chop_willow.yaml create mode 100644 data/behaviors/chop_yew.yaml create mode 100644 data/behaviors/fish_angler.yaml create mode 100644 data/behaviors/fish_bait.yaml create mode 100644 data/behaviors/fish_cage.yaml create mode 100644 data/behaviors/fish_fly.yaml create mode 100644 data/behaviors/fish_harpoon.yaml create mode 100644 data/behaviors/fish_net.yaml create mode 100644 data/behaviors/fish_sacred_eel.yaml create mode 100644 data/behaviors/fish_swamp.yaml delete mode 100644 data/behaviors/fish_trout.yaml create mode 100644 data/behaviors/mine_adamantite.yaml create mode 100644 data/behaviors/mine_clay.yaml create mode 100644 data/behaviors/mine_coal.yaml create mode 100644 data/behaviors/mine_gold.yaml create mode 100644 data/behaviors/mine_iron.yaml create mode 100644 data/behaviors/mine_mithril.yaml create mode 100644 data/behaviors/mine_runite.yaml create mode 100644 data/behaviors/mine_scrap.yaml create mode 100644 data/behaviors/mine_silver.yaml create mode 100644 data/behaviors/mine_tin.yaml create mode 100644 data/drops/birds_nest_drop.yaml create mode 100644 data/help/alias.yaml create mode 100644 data/help/remove.yaml create mode 100644 data/help/search.yaml create mode 100644 data/help/wear.yaml create mode 100644 data/help/woodcutting.yaml create mode 100644 data/items/adamant_axe.yaml create mode 100644 data/items/adamant_pickaxe.yaml create mode 100644 data/items/adamantite_ore.yaml create mode 100644 data/items/big_fishing_net.yaml create mode 100644 data/items/birds_nest.yaml create mode 100644 data/items/black_axe.yaml create mode 100644 data/items/black_pickaxe.yaml create mode 100644 data/items/bronze_axe.yaml create mode 100644 data/items/clay.yaml create mode 100644 data/items/coal.yaml create mode 100644 data/items/dragon_axe.yaml create mode 100644 data/items/dragon_pickaxe.yaml create mode 100644 data/items/feather.yaml create mode 100644 data/items/fishing_bait.yaml create mode 100644 data/items/fly_fishing_rod.yaml create mode 100644 data/items/gold_ore.yaml create mode 100644 data/items/harpoon.yaml create mode 100644 data/items/iron_axe.yaml create mode 100644 data/items/iron_ore.yaml create mode 100644 data/items/iron_pickaxe.yaml create mode 100644 data/items/lobster_pot.yaml create mode 100644 data/items/logs.yaml create mode 100644 data/items/magic_logs.yaml create mode 100644 data/items/mahogany_logs.yaml create mode 100644 data/items/maple_logs.yaml create mode 100644 data/items/mithril_axe.yaml create mode 100644 data/items/mithril_ore.yaml create mode 100644 data/items/mithril_pickaxe.yaml create mode 100644 data/items/raw_anchovies.yaml create mode 100644 data/items/raw_anglerfish.yaml create mode 100644 data/items/raw_bass.yaml create mode 100644 data/items/raw_cave_eel.yaml create mode 100644 data/items/raw_cod.yaml create mode 100644 data/items/raw_herring.yaml create mode 100644 data/items/raw_lobster.yaml create mode 100644 data/items/raw_mackerel.yaml create mode 100644 data/items/raw_pike.yaml create mode 100644 data/items/raw_rainbow_fish.yaml create mode 100644 data/items/raw_salmon.yaml create mode 100644 data/items/raw_sardine.yaml create mode 100644 data/items/raw_shark.yaml create mode 100644 data/items/raw_shrimps.yaml create mode 100644 data/items/raw_slimy_eel.yaml create mode 100644 data/items/raw_swordfish.yaml create mode 100644 data/items/raw_tuna.yaml create mode 100644 data/items/redwood_logs.yaml create mode 100644 data/items/rune_axe.yaml create mode 100644 data/items/rune_pickaxe.yaml create mode 100644 data/items/runite_ore.yaml create mode 100644 data/items/sacred_eel.yaml create mode 100644 data/items/scrap_metal.yaml create mode 100644 data/items/silver_ore.yaml create mode 100644 data/items/small_fishing_net.yaml create mode 100644 data/items/steel_axe.yaml create mode 100644 data/items/steel_pickaxe.yaml create mode 100644 data/items/teak_logs.yaml create mode 100644 data/items/willow_logs.yaml create mode 100644 data/items/yew_logs.yaml create mode 100644 data/objects/adamantite_rock.yaml create mode 100644 data/objects/anglerfish_spot.yaml create mode 100644 data/objects/bait_fishing_spot.yaml create mode 100644 data/objects/cage_fishing_spot.yaml create mode 100644 data/objects/clay_rock.yaml create mode 100644 data/objects/coal_rock.yaml delete mode 100644 data/objects/fishing_spot.yaml create mode 100644 data/objects/fly_fishing_spot.yaml create mode 100644 data/objects/gold_rock.yaml create mode 100644 data/objects/harpoon_fishing_spot.yaml create mode 100644 data/objects/iron_rock.yaml create mode 100644 data/objects/magic_tree.yaml create mode 100644 data/objects/mahogany_tree.yaml create mode 100644 data/objects/maple_tree.yaml create mode 100644 data/objects/mithril_rock.yaml create mode 100644 data/objects/net_fishing_spot.yaml create mode 100644 data/objects/oak_tree.yaml create mode 100644 data/objects/redwood_tree.yaml create mode 100644 data/objects/runite_rock.yaml create mode 100644 data/objects/sacred_eel_spot.yaml create mode 100644 data/objects/scrap_pile.yaml create mode 100644 data/objects/silver_rock.yaml create mode 100644 data/objects/swamp_fishing_spot.yaml create mode 100644 data/objects/teak_tree.yaml create mode 100644 data/objects/tin_rock.yaml create mode 100644 data/objects/tree.yaml create mode 100644 data/objects/willow_tree.yaml create mode 100644 data/objects/yew_tree.yaml create mode 100644 data/rooms/12.yaml create mode 100644 data/rooms/13.yaml create mode 100644 data/rooms/14.yaml create mode 100644 data/rooms/15.yaml create mode 100644 data/rooms/16.yaml create mode 100644 data/rooms/17.yaml create mode 100644 data/rooms/18.yaml create mode 100644 data/rooms/19.yaml create mode 100644 data/rooms/20.yaml create mode 100644 data/rooms/21.yaml (limited to 'data') 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 - Create an alias (e.g. alias k kill) + unalias - 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 , kill , fight + Usage: attack , kill 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 + 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 " or "wield " to equip items from your inventory. + Use "remove " 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 , fish - 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 - Mine ore from rocks (requires pickaxe) chop - Chop logs from trees (requires axe) - fish - Fish from fishing spots (requires rod/net) + cut - Same as chop + fish - 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 , mine - 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 , unwear , unwield + + 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 + + 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 , wield + 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 , cut + 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 -- cgit v1.2.3