aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-30 19:27:37 -0400
committerhistoria <[not public]>2026-06-30 19:27:37 -0400
commitfee376102192dc6f24297a7b11324636ace3a07d (patch)
tree6c777cc71208b429eebdbdc5864b353d4af34a09 /data
parent98bdef072c843fdd8ccdf85a9b54ab9d32d34187 (diff)
downloadthehouseoficarus-fee376102192dc6f24297a7b11324636ace3a07d.tar.gz
feat: admin gui object CRUD is much nicer
Diffstat (limited to 'data')
-rw-r--r--data/.admin_history.json2
-rw-r--r--data/objects/adamantite_rock.yaml5
-rw-r--r--data/objects/anglerfish_spot.yaml2
-rw-r--r--data/objects/bait_fishing_spot.yaml2
-rw-r--r--data/objects/cage_fishing_spot.yaml2
-rw-r--r--data/objects/clay_rock.yaml5
-rw-r--r--data/objects/coal_rock.yaml5
-rw-r--r--data/objects/copper_rock.yaml65
-rw-r--r--data/objects/fly_fishing_spot.yaml2
-rw-r--r--data/objects/gold_rock.yaml5
-rw-r--r--data/objects/harpoon_fishing_spot.yaml2
-rw-r--r--data/objects/iron_rock.yaml5
-rw-r--r--data/objects/magic_tree.yaml5
-rw-r--r--data/objects/mahogany_tree.yaml5
-rw-r--r--data/objects/maple_tree.yaml5
-rw-r--r--data/objects/mithril_rock.yaml5
-rw-r--r--data/objects/net_fishing_spot.yaml2
-rw-r--r--data/objects/oak_tree.yaml5
-rw-r--r--data/objects/redwood_tree.yaml5
-rw-r--r--data/objects/runite_rock.yaml5
-rw-r--r--data/objects/sacred_eel_spot.yaml2
-rw-r--r--data/objects/scrap_pile.yaml5
-rw-r--r--data/objects/sheep.yaml5
-rw-r--r--data/objects/silver_rock.yaml5
-rw-r--r--data/objects/swamp_fishing_spot.yaml2
-rw-r--r--data/objects/teak_tree.yaml5
-rw-r--r--data/objects/tin_rock.yaml5
-rw-r--r--data/objects/tree.yaml5
-rw-r--r--data/objects/willow_tree.yaml5
-rw-r--r--data/objects/yew_tree.yaml5
-rw-r--r--data/rooms/intro/1001.yaml175
-rw-r--r--data/rooms/intro/1005.yaml23
-rw-r--r--data/rooms/intro/1006.yaml23
-rw-r--r--data/rooms/intro/1007.yaml16
-rw-r--r--data/rooms/intro/1008.yaml21
-rw-r--r--data/rooms/intro/1009.yaml23
-rw-r--r--data/rooms/intro/1010.yaml17
-rw-r--r--data/rooms/intro/1011.yaml17
-rw-r--r--data/rooms/intro/1012.yaml13
-rw-r--r--data/rooms/intro/1013.yaml16
-rw-r--r--data/rooms/intro/1014.yaml16
-rw-r--r--data/rooms/intro/1015.yaml16
-rw-r--r--data/rooms/intro/1016.yaml21
-rw-r--r--data/rooms/intro/1017.yaml15
-rw-r--r--data/rooms/intro/1018.yaml16
-rw-r--r--data/rooms/intro/1019.yaml14
-rw-r--r--data/rooms/intro/1020.yaml4
-rw-r--r--data/rooms/intro/2001.yaml8
-rw-r--r--data/rooms/intro/2003.yaml16
-rw-r--r--data/rooms/intro/2004.yaml2
50 files changed, 180 insertions, 475 deletions
diff --git a/data/.admin_history.json b/data/.admin_history.json
index a04a2cb..364be38 100644
--- a/data/.admin_history.json
+++ b/data/.admin_history.json
@@ -1 +1 @@
-{"history":[{"time":"2026-06-30T04:34:14-04:00","description":"update room 1007 (add exit south to 1021)","file_path":"data/rooms/intro/1007.yaml","old_content":"id: 1007\nname: 'Room #1007'\ncolor: \"\"\ndescription: []\nexits:\n east:\n room: 1013\n west:\n room: 2004\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"id: 1007\nname: 'Room #1007'\ncolor: \"\"\ndescription: []\nexits:\n east:\n room: 1013\n south:\n room: 1021\n west:\n room: 2004\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T04:34:14-04:00","description":"create room 1021","file_path":"data/rooms/intro/1021.yaml","old_content":"","new_content":"exits:\n north: 1007\nid: 1021\nname: 'Room #1021'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T04:34:16-04:00","description":"update room 1021 (add exit south to 1022)","file_path":"data/rooms/intro/1021.yaml","old_content":"exits:\n north: 1007\nid: 1021\nname: 'Room #1021'\n","new_content":"id: 1021\nname: 'Room #1021'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1007\n south:\n room: 1022\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T04:34:16-04:00","description":"create room 1022","file_path":"data/rooms/intro/1022.yaml","old_content":"","new_content":"exits:\n north: 1021\nid: 1022\nname: 'Room #1022'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T04:34:17-04:00","description":"update room 1022 (add exit south to 1023)","file_path":"data/rooms/intro/1022.yaml","old_content":"exits:\n north: 1021\nid: 1022\nname: 'Room #1022'\n","new_content":"id: 1022\nname: 'Room #1022'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1021\n south:\n room: 1023\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T04:34:17-04:00","description":"create room 1023","file_path":"data/rooms/intro/1023.yaml","old_content":"","new_content":"exits:\n north: 1022\nid: 1023\nname: 'Room #1023'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T04:34:20-04:00","description":"delete room 1023 (cleaned 1 exits)","file_path":"data/rooms/intro/1023.yaml","old_content":"exits:\n north: 1022\nid: 1023\nname: 'Room #1023'\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T04:34:22-04:00","description":"delete room 1022 (cleaned 1 exits)","file_path":"data/rooms/intro/1022.yaml","old_content":"id: 1022\nname: 'Room #1022'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1021\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T04:34:24-04:00","description":"delete room 1021 (cleaned 1 exits)","file_path":"data/rooms/intro/1021.yaml","old_content":"id: 1021\nname: 'Room #1021'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1007\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false}],"redo":null} \ No newline at end of file
+{"history":[{"time":"2026-06-30T14:29:37-04:00","description":"delete room 1014 (cleaned 0 exits)","file_path":"data/rooms/intro/1014.yaml","old_content":"id: 1014\nname: 'Room #1014'\ncolor: D5\ndescription: []\nexits:\n southwest:\n room: 1013\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:29:37-04:00","description":"delete room 1016 (cleaned 0 exits)","file_path":"data/rooms/intro/1016.yaml","old_content":"id: 1016\nname: New Room\ncolor: \"97\"\ndescription:\n - text: A featureless room.\nexits:\n down:\n room: 1017\n south:\n room: 1009\n southwest:\n room: 1005\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:29:38-04:00","description":"delete room 1015 (cleaned 0 exits)","file_path":"data/rooms/intro/1015.yaml","old_content":"id: 1015\nname: 'Room #1015'\ncolor: 0C\ndescription: []\nexits:\n northwest:\n room: 1018\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:29:39-04:00","description":"delete room 1017 (cleaned 0 exits)","file_path":"data/rooms/intro/1017.yaml","old_content":"id: 1017\nname: New Room\ncolor: \"\"\ndescription:\n - text: A featureless room.\nexits: {}\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:29:40-04:00","description":"delete room 1018 (cleaned 0 exits)","file_path":"data/rooms/intro/1018.yaml","old_content":"id: 1018\nname: 'Room #1018'\ncolor: D0\ndescription: []\nexits: {}\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:29:40-04:00","description":"delete room 1019 (cleaned 0 exits)","file_path":"data/rooms/intro/1019.yaml","old_content":"id: 1019\nname: 'Room #1019'\ncolor: \"\"\ndescription: []\nexits: {}\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:29:41-04:00","description":"delete room 1020 (cleaned 0 exits)","file_path":"data/rooms/intro/1020.yaml","old_content":"id: 1020\nname: 'Room #1020'\ncolor: \"\"\ndescription: []\nexits: {}\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:30:45-04:00","description":"delete room 1013 (cleaned 1 exits)","file_path":"data/rooms/intro/1013.yaml","old_content":"id: 1013\nname: 'Room #1013'\ncolor: \"72\"\ndescription: []\nexits:\n west:\n room: 1007\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:30:49-04:00","description":"delete room 1009 (cleaned 0 exits)","file_path":"data/rooms/intro/1009.yaml","old_content":"id: 1009\nname: New Room\ncolor: \"27\"\ndescription:\n - text: A featureless room.\nexits:\n northwest:\n room: 8\n southwest:\n room: 1006\n west:\n room: 1005\nobjects: []\nitem_spawns: []\nmobs:\n - id: man\n - id: man\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:30:51-04:00","description":"delete room 1007 (cleaned 1 exits)","file_path":"data/rooms/intro/1007.yaml","old_content":"id: 1007\nname: 'Room #1007'\ncolor: \"\"\ndescription: []\nexits:\n west:\n room: 2004\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:30:53-04:00","description":"delete room 1006 (cleaned 4 exits)","file_path":"data/rooms/intro/1006.yaml","old_content":"id: 1006\nname: New Room\ncolor: E2\ndescription:\n - text: A featureless room.\nexits:\n north:\n room: 1005\n northwest:\n room: 1008\n up:\n room: 1010\n west:\n room: 2003\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:30:59-04:00","description":"delete room 1010 (cleaned 1 exits)","file_path":"data/rooms/intro/1010.yaml","old_content":"id: 1010\nname: New Room\ncolor: \"\"\ndescription:\n - text: A featureless room.\nexits:\n north:\n room: 1011\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:31:00-04:00","description":"delete room 1011 (cleaned 0 exits)","file_path":"data/rooms/intro/1011.yaml","old_content":"id: 1011\nname: New Room\ncolor: \"\"\ndescription:\n - text: A featureless room.\nexits:\n east:\n room: 1012\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:31:01-04:00","description":"delete room 1012 (cleaned 0 exits)","file_path":"data/rooms/intro/1012.yaml","old_content":"id: 1012\nname: New Room\ncolor: \"\"\ndescription:\n - text: A featureless room.\nexits: {}\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:31:02-04:00","description":"delete room 1005 (cleaned 2 exits)","file_path":"data/rooms/intro/1005.yaml","old_content":"id: 1005\nname: New Room\ncolor: CC\ndescription:\n - text: A featureless room.\nexits:\n southwest:\n room: 2003\n west:\n room: 1008\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:31:03-04:00","description":"delete room 1008 (cleaned 1 exits)","file_path":"data/rooms/intro/1008.yaml","old_content":"id: 1008\nname: New Room\ncolor: A9\ndescription:\n - text: A featureless room.\nexits:\n north:\n room: 7\n south:\n room: 2003\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:29-04:00","description":"update room 2003 (add exit north to 1005)","file_path":"data/rooms/intro/2003.yaml","old_content":"id: 2003\nname: Test Room\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"id: 2003\nname: Test Room\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n north:\n room: 1005\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:29-04:00","description":"create room 1005","file_path":"data/rooms/intro/1005.yaml","old_content":"","new_content":"exits:\n south: 2003\nid: 1005\nname: 'Room #1005'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:30-04:00","description":"update room 1005 (add exit east to 1006)","file_path":"data/rooms/intro/1005.yaml","old_content":"exits:\n south: 2003\nid: 1005\nname: 'Room #1005'\n","new_content":"id: 1005\nname: 'Room #1005'\ncolor: \"\"\ndescription: []\nexits:\n east:\n room: 1006\n south:\n room: 2003\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:30-04:00","description":"create room 1006","file_path":"data/rooms/intro/1006.yaml","old_content":"","new_content":"exits:\n west: 1005\nid: 1006\nname: 'Room #1006'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:31-04:00","description":"update room 1006 (add exit south to 1007)","file_path":"data/rooms/intro/1006.yaml","old_content":"exits:\n west: 1005\nid: 1006\nname: 'Room #1006'\n","new_content":"id: 1006\nname: 'Room #1006'\ncolor: \"\"\ndescription: []\nexits:\n south:\n room: 1007\n west:\n room: 1005\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:31-04:00","description":"create room 1007","file_path":"data/rooms/intro/1007.yaml","old_content":"","new_content":"exits:\n north: 1006\nid: 1007\nname: 'Room #1007'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:32-04:00","description":"update room 1007 (add exit east to 1008)","file_path":"data/rooms/intro/1007.yaml","old_content":"exits:\n north: 1006\nid: 1007\nname: 'Room #1007'\n","new_content":"id: 1007\nname: 'Room #1007'\ncolor: \"\"\ndescription: []\nexits:\n east:\n room: 1008\n north:\n room: 1006\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:32-04:00","description":"create room 1008","file_path":"data/rooms/intro/1008.yaml","old_content":"","new_content":"exits:\n west: 1007\nid: 1008\nname: 'Room #1008'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:32-04:00","description":"update room 1008 (add exit north to 1009)","file_path":"data/rooms/intro/1008.yaml","old_content":"exits:\n west: 1007\nid: 1008\nname: 'Room #1008'\n","new_content":"id: 1008\nname: 'Room #1008'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1009\n west:\n room: 1007\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:32-04:00","description":"create room 1009","file_path":"data/rooms/intro/1009.yaml","old_content":"","new_content":"exits:\n south: 1008\nid: 1009\nname: 'Room #1009'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:33-04:00","description":"update room 1009 (add exit north to 1010)","file_path":"data/rooms/intro/1009.yaml","old_content":"exits:\n south: 1008\nid: 1009\nname: 'Room #1009'\n","new_content":"id: 1009\nname: 'Room #1009'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1010\n south:\n room: 1008\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:33-04:00","description":"create room 1010","file_path":"data/rooms/intro/1010.yaml","old_content":"","new_content":"exits:\n south: 1009\nid: 1010\nname: 'Room #1010'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:33-04:00","description":"update room 1010 (add exit east to 1011)","file_path":"data/rooms/intro/1010.yaml","old_content":"exits:\n south: 1009\nid: 1010\nname: 'Room #1010'\n","new_content":"id: 1010\nname: 'Room #1010'\ncolor: \"\"\ndescription: []\nexits:\n east:\n room: 1011\n south:\n room: 1009\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:33-04:00","description":"create room 1011","file_path":"data/rooms/intro/1011.yaml","old_content":"","new_content":"exits:\n west: 1010\nid: 1011\nname: 'Room #1011'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:34-04:00","description":"update room 1011 (add exit south to 1012)","file_path":"data/rooms/intro/1011.yaml","old_content":"exits:\n west: 1010\nid: 1011\nname: 'Room #1011'\n","new_content":"id: 1011\nname: 'Room #1011'\ncolor: \"\"\ndescription: []\nexits:\n south:\n room: 1012\n west:\n room: 1010\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:34-04:00","description":"create room 1012","file_path":"data/rooms/intro/1012.yaml","old_content":"","new_content":"exits:\n north: 1011\nid: 1012\nname: 'Room #1012'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:34-04:00","description":"update room 1012 (add exit south to 1013)","file_path":"data/rooms/intro/1012.yaml","old_content":"exits:\n north: 1011\nid: 1012\nname: 'Room #1012'\n","new_content":"id: 1012\nname: 'Room #1012'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1011\n south:\n room: 1013\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T14:32:34-04:00","description":"create room 1013","file_path":"data/rooms/intro/1013.yaml","old_content":"","new_content":"exits:\n north: 1012\nid: 1013\nname: 'Room #1013'\n","is_delete":false,"is_create":true},{"time":"2026-06-30T14:32:35-04:00","description":"delete room 1013 (cleaned 1 exits)","file_path":"data/rooms/intro/1013.yaml","old_content":"exits:\n north: 1012\nid: 1013\nname: 'Room #1013'\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:36-04:00","description":"delete room 1012 (cleaned 1 exits)","file_path":"data/rooms/intro/1012.yaml","old_content":"id: 1012\nname: 'Room #1012'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1011\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:37-04:00","description":"delete room 1011 (cleaned 1 exits)","file_path":"data/rooms/intro/1011.yaml","old_content":"id: 1011\nname: 'Room #1011'\ncolor: \"\"\ndescription: []\nexits:\n west:\n room: 1010\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:37-04:00","description":"delete room 1010 (cleaned 1 exits)","file_path":"data/rooms/intro/1010.yaml","old_content":"id: 1010\nname: 'Room #1010'\ncolor: \"\"\ndescription: []\nexits:\n south:\n room: 1009\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:38-04:00","description":"delete room 1009 (cleaned 1 exits)","file_path":"data/rooms/intro/1009.yaml","old_content":"id: 1009\nname: 'Room #1009'\ncolor: \"\"\ndescription: []\nexits:\n south:\n room: 1008\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:39-04:00","description":"delete room 1008 (cleaned 1 exits)","file_path":"data/rooms/intro/1008.yaml","old_content":"id: 1008\nname: 'Room #1008'\ncolor: \"\"\ndescription: []\nexits:\n west:\n room: 1007\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:40-04:00","description":"delete room 1007 (cleaned 1 exits)","file_path":"data/rooms/intro/1007.yaml","old_content":"id: 1007\nname: 'Room #1007'\ncolor: \"\"\ndescription: []\nexits:\n north:\n room: 1006\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:40-04:00","description":"delete room 1006 (cleaned 1 exits)","file_path":"data/rooms/intro/1006.yaml","old_content":"id: 1006\nname: 'Room #1006'\ncolor: \"\"\ndescription: []\nexits:\n west:\n room: 1005\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T14:32:41-04:00","description":"delete room 1005 (cleaned 1 exits)","file_path":"data/rooms/intro/1005.yaml","old_content":"id: 1005\nname: 'Room #1005'\ncolor: \"\"\ndescription: []\nexits:\n south:\n room: 2003\nobjects: []\nitem_spawns: []\nmobs: []\non_enter: []\nhazard: \"\"\nblock_transport: false\ntriggers: []\n","new_content":"","is_delete":true,"is_create":false},{"time":"2026-06-30T15:05:42-04:00","description":"update room 1001","file_path":"data/rooms/intro/1001.yaml","old_content":"id: 1001\nname: Inside Transport Shuttle\ncolor: \"\"\ndescription:\n - text: |-\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large framed sign hangs next to the closed cockpit door. The piston-powered staircase is firmly closed at the rear of the craft.\n\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large {11}framed sign{/} hangs next to the closed cockpit door. A piston-powered staircase leads down out the back of the small craft with a smiling attendant ready to help disembark.\nexits:\n down:\n room: 1002\n condition:\n flag: \"\"\n value: null\n not: false\n player_flag: 1001_touchdown\n has_item: \"\"\n min_credits: 0\n all_of: []\n any_of: []\n blocked_message: The piston-powered staircase is firmly closed.\n east:\n room: 2001\nobjects:\n - name: framed sign\n hidden: true\n description:\n - text: \"We hope you enjoy your trip on our shuttle! Your pilot is [TYLER].\\n\\nWhen you arrive at your final destination, please be aware of the following basic commands:\\n\\n{0B bold}Movement:{/} {0A}north{/}, {0A}south{/}, {0A}east{/}, {0A}west{/}, {0A}up{/}, {0A}down{/}\\n{0B bold}Look:{/} {0A}look{/}, {0A}look \u003citem/object/mob\u003e{/}, and {0A}map{/}\\n{0B bold}Items:{/} {0A}inv{/} to see your 28-slot inventory\\n {0A}get \u003citem\u003e{/}, {0A}drop \u003citem\u003e{/}, {0A}wear \u003citem\u003e{/}, {0A}remove \u003citem\u003e{/}\\n {0A}use \u003citem\u003e on \u003citem/object\u003e{/}\\n {0A}eq{/} for equiped gear\\n{0B bold}Comms:{/} {0A}talk \u003cmob\u003e{/} for NPC chat\\n {0A}say \u003cmsg\u003e{/} and {0A}global \u003cmsg\u003e{/} for human chat\\n{0B bold}Character:{/} {0A}score{/} and {0A}skills{/} for stats. \\n{0B bold}Combat{/} {0A}attack \u003cmob\u003e{/}\\n{0B bold}Skills{/} Many skills have shortcuts like {0A}mine{/}, {0A}fish{/}, or {0A}chop{/}\\n{0B bold}Options{/} {0A}options{/} for a list of account options\\n {0A}options \u003copt\u003e \u003cvalue\u003e{/} to change an option\\n\\nType {0C bold}what{/} for a list of possible common actions\\n\\nMake sure to check the {0A}help{/} pages, especially {0A}help newplayer{/}!\"\n on_look:\n set_flags: {}\n set_player_flags:\n 1001_look_sign: true\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\n cost: 0\n shop: null\n assign_task: false\n skip_task: false\n extend_task: false\n reputation_cost: 0\n sawmill: false\n aps_node: false\n - name: door\n hidden: true\n description:\n - text: A sturdy, locked steel door that keeps passengers out of the cockpit. There is a tiny, thin window at eye level.\n - name: window\n hidden: true\n description:\n - text: A thick trim with rounded bolt heads frames the tiny window. It looks like it was cut into the door at some point, potentially as a simple replacement to computerized security systems. Inside the cockpit there's a pilot finishing up landing procedures on a large panel of analog instruments.\n - name: instrument panel\n aliases:\n - cockpit\n hidden: true\n description:\n - text: The cramped cockpit is surrounded by buttons, swiches, dials, and analog gauges. The parts are a mix of technologies from the last century. Part of the panel is obscured by a draped cloth as if to hide it from view. Odd.\n - name: pilot\n hidden: true\n description:\n - text: That's the guy who took you from the Passenger Barge Denali down here to Vesta. A middle-aged man in a neat white jumpsuit with a matching white sort of conductor's hat. He's following a written procedure checklist and seems to take his job seriously.\nitem_spawns: []\nmobs:\n - id: flight_attendant\non_enter:\n - message: '{0B bold}Welcome to The House of Icarus{/}'\n condition:\n flag: \"\"\n value: null\n not: true\n player_flag: 1001_welcome\n has_item: \"\"\n min_credits: 0\n all_of: []\n any_of: []\n delay: 5\n set_flags: {}\n set_player_flags: {}\n broadcast: \"\"\n broadcast_global: \"\"\n spawn_mob: null\n despawn_mob: \"\"\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\n - message: '{0B}Type{/} {0A}look sign{/} {0B}or{/} {0A}talk attendant{/} {0B}to get started{/}'\n condition:\n flag: \"\"\n value: null\n not: true\n player_flag: 1001_welcome\n has_item: \"\"\n min_credits: 0\n all_of: []\n any_of: []\n delay: 7\n set_flags: {}\n set_player_flags:\n 1001_welcome: true\n broadcast: \"\"\n broadcast_global: \"\"\n spawn_mob: null\n despawn_mob: \"\"\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\n - message: '{0B}Type{/} {0A}help newplayer{/} {0B}for the new player''s guide. That''s it. Explore and have fun.{/}'\n condition:\n flag: \"\"\n value: null\n not: true\n player_flag: 1001_welcome\n has_item: \"\"\n min_credits: 0\n all_of: []\n any_of: []\n delay: 7\n set_flags: {}\n set_player_flags: {}\n broadcast: \"\"\n broadcast_global: \"\"\n spawn_mob: null\n despawn_mob: \"\"\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\nhazard: \"\"\nblock_transport: true\ntriggers:\n - id: \"\"\n on_player_flag: 1001_look_sign\n on_flag: \"\"\n value: null\n room: 0\n steps:\n - delay: 5\n message: The cabin shakes as the small craft touches down\n broadcast: \"\"\n broadcast_global: \"\"\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\n despawn_mob: \"\"\n - delay: 5\n message: The pistons hiss as the rear staircase opens\n broadcast: \"\"\n broadcast_global: \"\"\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\n despawn_mob: \"\"\n - delay: 0\n message: \"\"\n broadcast: \"\"\n broadcast_global: \"\"\n set_flags: {}\n set_player_flags:\n 1001_touchdown: true\n spawn_mob: null\n give_item: \"\"\n take_item: \"\"\n teleport: 0\n heal: 0\n despawn_mob: \"\"\n","new_content":"block_transport: true\ncolor: \"\"\ndescription:\n - text: |-\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large framed sign hangs next to the closed cockpit door. The piston-powered staircase is firmly closed at the rear of the craft.\n\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large {11}framed sign{/} hangs next to the closed cockpit door. A piston-powered staircase leads down out the back of the small craft with a smiling attendant ready to help disembark.\nexits:\n down:\n blocked_message: The piston-powered staircase is firmly closed.\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: false\n player_flag: 1001_touchdown\n value: null\n room: 1002\n east:\n room: 2001\nhazard: \"\"\nid: 1001\nitem_spawns: []\nmobs:\n - id: flight_attendant\nname: Inside Transport Shuttle\nobjects:\n - description:\n - text: \"We hope you enjoy your trip on our shuttle! Your pilot is [TYLER].\\n\\nWhen you arrive at your final destination, please be aware of the following basic commands:\\n\\n{0B bold}Movement:{/} {0A}north{/}, {0A}south{/}, {0A}east{/}, {0A}west{/}, {0A}up{/}, {0A}down{/}\\n{0B bold}Look:{/} {0A}look{/}, {0A}look \u003citem/object/mob\u003e{/}, and {0A}map{/}\\n{0B bold}Items:{/} {0A}inv{/} to see your 28-slot inventory\\n {0A}get \u003citem\u003e{/}, {0A}drop \u003citem\u003e{/}, {0A}wear \u003citem\u003e{/}, {0A}remove \u003citem\u003e{/}\\n {0A}use \u003citem\u003e on \u003citem/object\u003e{/}\\n {0A}eq{/} for equiped gear\\n{0B bold}Comms:{/} {0A}talk \u003cmob\u003e{/} for NPC chat\\n {0A}say \u003cmsg\u003e{/} and {0A}global \u003cmsg\u003e{/} for human chat\\n{0B bold}Character:{/} {0A}score{/} and {0A}skills{/} for stats. \\n{0B bold}Combat{/} {0A}attack \u003cmob\u003e{/}\\n{0B bold}Skills{/} Many skills have shortcuts like {0A}mine{/}, {0A}fish{/}, or {0A}chop{/}\\n{0B bold}Options{/} {0A}options{/} for a list of account options\\n {0A}options \u003copt\u003e \u003cvalue\u003e{/} to change an option\\n\\nType {0C bold}what{/} for a list of possible common actions\\n\\nMake sure to check the {0A}help{/} pages, especially {0A}help newplayer{/}!\"\n hidden: true\n name: framed sign\n on_look:\n aps_node: false\n assign_task: false\n cost: 0\n extend_task: false\n give_item: \"\"\n heal: 0\n reputation_cost: 0\n sawmill: false\n set_flags: {}\n set_player_flags:\n 1001_look_sign: true\n shop: null\n skip_task: false\n take_item: \"\"\n teleport: 0\n - description:\n - text: A sturdy, locked steel door that keeps passengers out of the cockpit. There is a tiny, thin window at eye level.\n hidden: true\n name: door\n - description:\n - text: A thick trim with rounded bolt heads frames the tiny window. It looks like it was cut into the door at some point, potentially as a simple replacement to computerized security systems. Inside the cockpit there's a pilot finishing up landing procedures on a large panel of analog instruments.\n hidden: true\n name: window\n - aliases:\n - cockpit\n description:\n - text: The cramped cockpit is surrounded by buttons, swiches, dials, and analog gauges. The parts are a mix of technologies from the last century. Part of the panel is obscured by a draped cloth as if to hide it from view. Odd.\n hidden: true\n name: instrument panel\n - aliases: []\n description:\n - text: That's the guy who took you from the Passenger Barge Denali down here to Vesta. A middle-aged man in a neat white jumpsuit with a matching white sort of conductor's hat. He's following a written procedure checklist and seems to take his job seriously.\n hidden: false\n name: pilot\non_enter:\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B bold}Welcome to The House of Icarus{/}'\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 7\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B}Type{/} {0A}look sign{/} {0B}or{/} {0A}talk attendant{/} {0B}to get started{/}'\n set_flags: {}\n set_player_flags:\n 1001_welcome: true\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 7\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B}Type{/} {0A}help newplayer{/} {0B}for the new player''s guide. That''s it. Explore and have fun.{/}'\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\ntriggers:\n - id: \"\"\n on_flag: \"\"\n on_player_flag: 1001_look_sign\n room: 0\n steps:\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: The cabin shakes as the small craft touches down\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: The pistons hiss as the rear staircase opens\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 0\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: \"\"\n set_flags: {}\n set_player_flags:\n 1001_touchdown: true\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n value: null\n","is_delete":false,"is_create":false},{"time":"2026-06-30T15:05:43-04:00","description":"update room 1001","file_path":"data/rooms/intro/1001.yaml","old_content":"block_transport: true\ncolor: \"\"\ndescription:\n - text: |-\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large framed sign hangs next to the closed cockpit door. The piston-powered staircase is firmly closed at the rear of the craft.\n\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large {11}framed sign{/} hangs next to the closed cockpit door. A piston-powered staircase leads down out the back of the small craft with a smiling attendant ready to help disembark.\nexits:\n down:\n blocked_message: The piston-powered staircase is firmly closed.\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: false\n player_flag: 1001_touchdown\n value: null\n room: 1002\n east:\n room: 2001\nhazard: \"\"\nid: 1001\nitem_spawns: []\nmobs:\n - id: flight_attendant\nname: Inside Transport Shuttle\nobjects:\n - description:\n - text: \"We hope you enjoy your trip on our shuttle! Your pilot is [TYLER].\\n\\nWhen you arrive at your final destination, please be aware of the following basic commands:\\n\\n{0B bold}Movement:{/} {0A}north{/}, {0A}south{/}, {0A}east{/}, {0A}west{/}, {0A}up{/}, {0A}down{/}\\n{0B bold}Look:{/} {0A}look{/}, {0A}look \u003citem/object/mob\u003e{/}, and {0A}map{/}\\n{0B bold}Items:{/} {0A}inv{/} to see your 28-slot inventory\\n {0A}get \u003citem\u003e{/}, {0A}drop \u003citem\u003e{/}, {0A}wear \u003citem\u003e{/}, {0A}remove \u003citem\u003e{/}\\n {0A}use \u003citem\u003e on \u003citem/object\u003e{/}\\n {0A}eq{/} for equiped gear\\n{0B bold}Comms:{/} {0A}talk \u003cmob\u003e{/} for NPC chat\\n {0A}say \u003cmsg\u003e{/} and {0A}global \u003cmsg\u003e{/} for human chat\\n{0B bold}Character:{/} {0A}score{/} and {0A}skills{/} for stats. \\n{0B bold}Combat{/} {0A}attack \u003cmob\u003e{/}\\n{0B bold}Skills{/} Many skills have shortcuts like {0A}mine{/}, {0A}fish{/}, or {0A}chop{/}\\n{0B bold}Options{/} {0A}options{/} for a list of account options\\n {0A}options \u003copt\u003e \u003cvalue\u003e{/} to change an option\\n\\nType {0C bold}what{/} for a list of possible common actions\\n\\nMake sure to check the {0A}help{/} pages, especially {0A}help newplayer{/}!\"\n hidden: true\n name: framed sign\n on_look:\n aps_node: false\n assign_task: false\n cost: 0\n extend_task: false\n give_item: \"\"\n heal: 0\n reputation_cost: 0\n sawmill: false\n set_flags: {}\n set_player_flags:\n 1001_look_sign: true\n shop: null\n skip_task: false\n take_item: \"\"\n teleport: 0\n - description:\n - text: A sturdy, locked steel door that keeps passengers out of the cockpit. There is a tiny, thin window at eye level.\n hidden: true\n name: door\n - description:\n - text: A thick trim with rounded bolt heads frames the tiny window. It looks like it was cut into the door at some point, potentially as a simple replacement to computerized security systems. Inside the cockpit there's a pilot finishing up landing procedures on a large panel of analog instruments.\n hidden: true\n name: window\n - aliases:\n - cockpit\n description:\n - text: The cramped cockpit is surrounded by buttons, swiches, dials, and analog gauges. The parts are a mix of technologies from the last century. Part of the panel is obscured by a draped cloth as if to hide it from view. Odd.\n hidden: true\n name: instrument panel\n - aliases: []\n description:\n - text: That's the guy who took you from the Passenger Barge Denali down here to Vesta. A middle-aged man in a neat white jumpsuit with a matching white sort of conductor's hat. He's following a written procedure checklist and seems to take his job seriously.\n hidden: false\n name: pilot\non_enter:\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B bold}Welcome to The House of Icarus{/}'\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 7\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B}Type{/} {0A}look sign{/} {0B}or{/} {0A}talk attendant{/} {0B}to get started{/}'\n set_flags: {}\n set_player_flags:\n 1001_welcome: true\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 7\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B}Type{/} {0A}help newplayer{/} {0B}for the new player''s guide. That''s it. Explore and have fun.{/}'\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\ntriggers:\n - id: \"\"\n on_flag: \"\"\n on_player_flag: 1001_look_sign\n room: 0\n steps:\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: The cabin shakes as the small craft touches down\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: The pistons hiss as the rear staircase opens\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 0\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: \"\"\n set_flags: {}\n set_player_flags:\n 1001_touchdown: true\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n value: null\n","new_content":"block_transport: true\ncolor: \"\"\ndescription:\n - text: |-\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large framed sign hangs next to the closed cockpit door. The piston-powered staircase is firmly closed at the rear of the craft.\n\n A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large {11}framed sign{/} hangs next to the closed cockpit door. A piston-powered staircase leads down out the back of the small craft with a smiling attendant ready to help disembark.\nexits:\n down:\n blocked_message: The piston-powered staircase is firmly closed.\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: false\n player_flag: 1001_touchdown\n value: null\n room: 1002\n east:\n room: 2001\nhazard: \"\"\nid: 1001\nitem_spawns: []\nmobs:\n - id: flight_attendant\nname: Inside Transport Shuttle\nobjects:\n - description:\n - text: \"We hope you enjoy your trip on our shuttle! Your pilot is [TYLER].\\n\\nWhen you arrive at your final destination, please be aware of the following basic commands:\\n\\n{0B bold}Movement:{/} {0A}north{/}, {0A}south{/}, {0A}east{/}, {0A}west{/}, {0A}up{/}, {0A}down{/}\\n{0B bold}Look:{/} {0A}look{/}, {0A}look \u003citem/object/mob\u003e{/}, and {0A}map{/}\\n{0B bold}Items:{/} {0A}inv{/} to see your 28-slot inventory\\n {0A}get \u003citem\u003e{/}, {0A}drop \u003citem\u003e{/}, {0A}wear \u003citem\u003e{/}, {0A}remove \u003citem\u003e{/}\\n {0A}use \u003citem\u003e on \u003citem/object\u003e{/}\\n {0A}eq{/} for equiped gear\\n{0B bold}Comms:{/} {0A}talk \u003cmob\u003e{/} for NPC chat\\n {0A}say \u003cmsg\u003e{/} and {0A}global \u003cmsg\u003e{/} for human chat\\n{0B bold}Character:{/} {0A}score{/} and {0A}skills{/} for stats. \\n{0B bold}Combat{/} {0A}attack \u003cmob\u003e{/}\\n{0B bold}Skills{/} Many skills have shortcuts like {0A}mine{/}, {0A}fish{/}, or {0A}chop{/}\\n{0B bold}Options{/} {0A}options{/} for a list of account options\\n {0A}options \u003copt\u003e \u003cvalue\u003e{/} to change an option\\n\\nType {0C bold}what{/} for a list of possible common actions\\n\\nMake sure to check the {0A}help{/} pages, especially {0A}help newplayer{/}!\"\n hidden: true\n name: framed sign\n on_look:\n aps_node: false\n assign_task: false\n cost: 0\n extend_task: false\n give_item: \"\"\n heal: 0\n reputation_cost: 0\n sawmill: false\n set_flags: {}\n set_player_flags:\n 1001_look_sign: true\n shop: null\n skip_task: false\n take_item: \"\"\n teleport: 0\n - description:\n - text: A sturdy, locked steel door that keeps passengers out of the cockpit. There is a tiny, thin window at eye level.\n hidden: true\n name: door\n - description:\n - text: A thick trim with rounded bolt heads frames the tiny window. It looks like it was cut into the door at some point, potentially as a simple replacement to computerized security systems. Inside the cockpit there's a pilot finishing up landing procedures on a large panel of analog instruments.\n hidden: true\n name: window\n - aliases:\n - cockpit\n description:\n - text: The cramped cockpit is surrounded by buttons, swiches, dials, and analog gauges. The parts are a mix of technologies from the last century. Part of the panel is obscured by a draped cloth as if to hide it from view. Odd.\n hidden: true\n name: instrument panel\n - aliases: []\n description:\n - text: That's the guy who took you from the Passenger Barge Denali down here to Vesta. A middle-aged man in a neat white jumpsuit with a matching white sort of conductor's hat. He's following a written procedure checklist and seems to take his job seriously.\n hidden: true\n name: pilot\non_enter:\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B bold}Welcome to The House of Icarus{/}'\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 7\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B}Type{/} {0A}look sign{/} {0B}or{/} {0A}talk attendant{/} {0B}to get started{/}'\n set_flags: {}\n set_player_flags:\n 1001_welcome: true\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n condition:\n all_of: []\n any_of: []\n flag: \"\"\n has_item: \"\"\n min_credits: 0\n not: true\n player_flag: 1001_welcome\n value: null\n delay: 7\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: '{0B}Type{/} {0A}help newplayer{/} {0B}for the new player''s guide. That''s it. Explore and have fun.{/}'\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\ntriggers:\n - id: \"\"\n on_flag: \"\"\n on_player_flag: 1001_look_sign\n room: 0\n steps:\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: The cabin shakes as the small craft touches down\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 5\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: The pistons hiss as the rear staircase opens\n set_flags: {}\n set_player_flags: {}\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n - broadcast: \"\"\n broadcast_global: \"\"\n delay: 0\n despawn_mob: \"\"\n give_item: \"\"\n heal: 0\n message: \"\"\n set_flags: {}\n set_player_flags:\n 1001_touchdown: true\n spawn_mob: null\n take_item: \"\"\n teleport: 0\n value: null\n","is_delete":false,"is_create":false},{"time":"2026-06-30T16:34:21-04:00","description":"update room 2001","file_path":"data/rooms/intro/2001.yaml","old_content":"block_transport: false\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n east:\n room: 2002\n south:\n room: 2006\n southeast:\n room: 2005\n west:\n room: 1001\nhazard: \"\"\nid: 2001\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n east:\n room: 2002\n south:\n room: 2006\n southeast:\n room: 2005\n west:\n room: 1001\nhazard: \"\"\nid: 2001\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects:\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T16:35:02-04:00","description":"update room 2001","file_path":"data/rooms/intro/2001.yaml","old_content":"block_transport: false\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n east:\n room: 2002\n south:\n room: 2006\n southeast:\n room: 2005\n west:\n room: 1001\nhazard: \"\"\nid: 2001\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects:\n - id: tree\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n east:\n room: 2002\n south:\n room: 2006\n southeast:\n room: 2005\n west:\n room: 1001\nhazard: \"\"\nid: 2001\nitem_spawns:\n - id: bronze_axe\n quantity: 1\n respawn_ticks: 0\nmobs: []\nname: Test Room\nobjects:\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T16:35:15-04:00","description":"update room 2001","file_path":"data/rooms/intro/2001.yaml","old_content":"block_transport: false\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n east:\n room: 2002\n south:\n room: 2006\n southeast:\n room: 2005\n west:\n room: 1001\nhazard: \"\"\nid: 2001\nitem_spawns:\n - id: bronze_axe\n quantity: 1\n respawn_ticks: 0\nmobs: []\nname: Test Room\nobjects:\n - id: tree\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"\"\ndescription:\n - text: It's a test room\nexits:\n east:\n room: 2002\n south:\n room: 2006\n southeast:\n room: 2005\n west:\n room: 1001\nhazard: \"\"\nid: 2001\nitem_spawns:\n - id: bronze_axe\n quantity: 1\n respawn_ticks: 1\nmobs: []\nname: Test Room\nobjects:\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-06-30T17:43:28-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"color: \"B2\"\ngather:\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n weight: 90\n xp: 17\n - depletes: false\n message: You spot a glint of something valuable!\n table: gem_table\n weight: 10\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nname: copper rock\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T17:43:45-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.55\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T17:43:55-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.55\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T17:45:35-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.55\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T17:45:40-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.55\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T17:57:25-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: woodcutting\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T18:11:31-04:00","description":"Update object copper_rock","file_path":"data/objects/copper_rock.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: woodcutting\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: mining\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T18:11:34-04:00","description":"Create object copper_rock_copy","file_path":"data/objects/copper_rock_copy.yaml","old_content":"","new_content":"id: copper_rock_copy\n","is_delete":false,"is_create":true},{"time":"2026-06-30T18:11:34-04:00","description":"Update object copper_rock_copy","file_path":"data/objects/copper_rock_copy.yaml","old_content":"id: copper_rock_copy\n","new_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: woodcutting\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock_copy\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","is_delete":false,"is_create":false},{"time":"2026-06-30T18:11:39-04:00","description":"Delete object copper_rock_copy","file_path":"data/objects/copper_rock_copy.yaml","old_content":"aliases: []\ncolor: B2\ndescription: \"\"\ngather:\n bait: \"\"\n deplete_timer: 0\n depleted_message: You don't see any ore in this rock.\n drops:\n - depletes: true\n item_id: copper_ore\n level: 1\n message: You manage to mine some {B2}copper ore{/}.\n quantity: 0\n table: \"\"\n weight: 90\n xp: 17\n - depletes: false\n item_id: \"\"\n level: 0\n message: You spot a glint of something valuable!\n quantity: 0\n table: gem_table\n weight: 10\n xp: 0\n exhausted_message: \"\"\n fail_message: You chip away but get nothing useful.\n gather_message: You swing your pickaxe at the rock...\n nest_chance: 0\n respawn_broadcast: A glint of copper catches your eye from some {name}.\n respawn_timer: 50\n skill: woodcutting\n success:\n base: 0.5\n cap: 0.95\n per_level: 0.01\n tools:\n - pickaxe\nhidden: false\nid: copper_rock_copy\ninroom_description: \"\"\nname: copper rock\nremoval_item: \"\"\n","new_content":"","is_delete":true,"is_create":false}],"redo":null} \ No newline at end of file
diff --git a/data/objects/adamantite_rock.yaml b/data/objects/adamantite_rock.yaml
index 75f898e..6fa88b8 100644
--- a/data/objects/adamantite_rock.yaml
+++ b/data/objects/adamantite_rock.yaml
@@ -1,14 +1,14 @@
color: "78"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: adamantite_ore
+ level: 70
message: You manage to mine some {78}adamantite ore{/}.
weight: 100
+ xp: 95
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the adamantite rock...
- level: 70
respawn_broadcast: A green glint of adamantite catches your eye from some {name}.
respawn_timer: 140
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 95
name: adamantite rock
diff --git a/data/objects/anglerfish_spot.yaml b/data/objects/anglerfish_spot.yaml
index 5201828..def90ea 100644
--- a/data/objects/anglerfish_spot.yaml
+++ b/data/objects/anglerfish_spot.yaml
@@ -2,7 +2,6 @@ color: "51"
description: A faint glow emanates from the depths. Use a fishing rod with bait here.
gather:
bait: fishing_bait
- base_wait: 6
drops:
- item_id: raw_anglerfish
level: 82
@@ -11,7 +10,6 @@ gather:
xp: 120
fail_message: Nothing seems to bite.
gather_message: You cast your line into the deep water...
- level: 1
skill: fishing
success:
base: 0.3
diff --git a/data/objects/bait_fishing_spot.yaml b/data/objects/bait_fishing_spot.yaml
index 1e965bb..f687016 100644
--- a/data/objects/bait_fishing_spot.yaml
+++ b/data/objects/bait_fishing_spot.yaml
@@ -2,7 +2,6 @@ color: "4B"
description: Small fish ripple the surface. Use a fishing rod with bait here.
gather:
bait: fishing_bait
- base_wait: 5
drops:
- item_id: raw_sardine
level: 5
@@ -21,7 +20,6 @@ gather:
xp: 60
fail_message: Nothing seems to bite.
gather_message: You cast your line into the water...
- level: 1
skill: fishing
success:
base: 0.5
diff --git a/data/objects/cage_fishing_spot.yaml b/data/objects/cage_fishing_spot.yaml
index 6da5c4a..051f1aa 100644
--- a/data/objects/cage_fishing_spot.yaml
+++ b/data/objects/cage_fishing_spot.yaml
@@ -1,7 +1,6 @@
color: "4B"
description: A rocky underwater shelf. Use a lobster pot here.
gather:
- base_wait: 6
drops:
- item_id: raw_lobster
level: 40
@@ -10,7 +9,6 @@ gather:
xp: 90
fail_message: The pot comes up empty.
gather_message: You lower your lobster pot into the water...
- level: 1
skill: fishing
success:
base: 0.45
diff --git a/data/objects/clay_rock.yaml b/data/objects/clay_rock.yaml
index 81b072e..2bf4169 100644
--- a/data/objects/clay_rock.yaml
+++ b/data/objects/clay_rock.yaml
@@ -1,15 +1,15 @@
color: "AD"
description: A soft rock of clay.
gather:
- base_wait: 4
drops:
- depletes: true
item_id: clay
+ level: 1
message: You manage to mine some clay.
weight: 100
+ xp: 5
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the clay rock...
- level: 1
respawn_broadcast: Some clay fills in a nearby rock.
respawn_timer: 10
skill: mining
@@ -19,5 +19,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 5
name: clay rock
diff --git a/data/objects/coal_rock.yaml b/data/objects/coal_rock.yaml
index c22b2f7..40bf4d6 100644
--- a/data/objects/coal_rock.yaml
+++ b/data/objects/coal_rock.yaml
@@ -1,14 +1,14 @@
color: "F0"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: coal
+ level: 30
message: You manage to mine some {F0}coal{/}.
weight: 100
+ xp: 50
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the coal rock...
- level: 30
respawn_broadcast: A dark vein of coal is visible in some {name}.
respawn_timer: 80
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 50
name: coal rock
diff --git a/data/objects/copper_rock.yaml b/data/objects/copper_rock.yaml
index de305e6..9694d1f 100644
--- a/data/objects/copper_rock.yaml
+++ b/data/objects/copper_rock.yaml
@@ -1,27 +1,42 @@
-color: "B2"
+aliases: []
+color: B2
+description: ""
gather:
- base_wait: 10
- depleted_message: You don't see any ore in this rock.
- drops:
- - depletes: true
- item_id: copper_ore
- message: You manage to mine some {B2}copper ore{/}.
- weight: 90
- - depletes: false
- message: You spot a glint of something valuable!
- table: gem_table
- weight: 10
- fail_message: You chip away but get nothing useful.
- gather_message: You swing your pickaxe at the rock...
- level: 1
- respawn_broadcast: A glint of copper catches your eye from some {name}.
- respawn_timer: 50
- skill: mining
- success:
- base: 0.5
- cap: 0.95
- per_level: 0.01
- tools:
- - pickaxe
- xp: 17
+ bait: ""
+ deplete_timer: 0
+ depleted_message: You don't see any ore in this rock.
+ drops:
+ - depletes: true
+ item_id: copper_ore
+ level: 1
+ message: You manage to mine some {B2}copper ore{/}.
+ quantity: 0
+ table: ""
+ weight: 90
+ xp: 17
+ - depletes: false
+ item_id: ""
+ level: 0
+ message: You spot a glint of something valuable!
+ quantity: 0
+ table: gem_table
+ weight: 10
+ xp: 0
+ exhausted_message: ""
+ fail_message: You chip away but get nothing useful.
+ gather_message: You swing your pickaxe at the rock...
+ nest_chance: 0
+ respawn_broadcast: A glint of copper catches your eye from some {name}.
+ respawn_timer: 50
+ skill: mining
+ success:
+ base: 0.5
+ cap: 0.95
+ per_level: 0.01
+ tools:
+ - pickaxe
+hidden: false
+id: copper_rock
+inroom_description: ""
name: copper rock
+removal_item: ""
diff --git a/data/objects/fly_fishing_spot.yaml b/data/objects/fly_fishing_spot.yaml
index c120466..e3bf342 100644
--- a/data/objects/fly_fishing_spot.yaml
+++ b/data/objects/fly_fishing_spot.yaml
@@ -2,7 +2,6 @@ color: "4B"
description: Insects dance above the water. Use a fly fishing rod with feathers here.
gather:
bait: feather
- base_wait: 5
drops:
- item_id: raw_trout
level: 20
@@ -21,7 +20,6 @@ gather:
xp: 80
fail_message: Nothing seems to bite.
gather_message: You cast your fly into the water...
- level: 1
skill: fishing
success:
base: 0.5
diff --git a/data/objects/gold_rock.yaml b/data/objects/gold_rock.yaml
index 277370b..a6228a4 100644
--- a/data/objects/gold_rock.yaml
+++ b/data/objects/gold_rock.yaml
@@ -1,14 +1,14 @@
color: "DC"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: gold_ore
+ level: 40
message: You manage to mine some {DC}gold ore{/}.
weight: 100
+ xp: 65
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the gold rock...
- level: 40
respawn_broadcast: A golden glint catches your eye from some {name}.
respawn_timer: 90
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 65
name: gold rock
diff --git a/data/objects/harpoon_fishing_spot.yaml b/data/objects/harpoon_fishing_spot.yaml
index d1d88c5..ca377b2 100644
--- a/data/objects/harpoon_fishing_spot.yaml
+++ b/data/objects/harpoon_fishing_spot.yaml
@@ -1,7 +1,6 @@
color: "4B"
description: Large shadows move beneath the waves. Use a harpoon here.
gather:
- base_wait: 6
drops:
- item_id: raw_tuna
level: 35
@@ -20,7 +19,6 @@ gather:
xp: 110
fail_message: You fail to spear anything.
gather_message: You ready your harpoon...
- level: 1
skill: fishing
success:
base: 0.4
diff --git a/data/objects/iron_rock.yaml b/data/objects/iron_rock.yaml
index a9b609b..70eafe6 100644
--- a/data/objects/iron_rock.yaml
+++ b/data/objects/iron_rock.yaml
@@ -1,14 +1,14 @@
color: "FA"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: iron_ore
+ level: 15
message: You manage to mine some {FA}iron ore{/}.
weight: 100
+ xp: 35
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the iron rock...
- level: 15
respawn_broadcast: A glint of iron catches your eye from some {name}.
respawn_timer: 60
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 35
name: iron rock
diff --git a/data/objects/magic_tree.yaml b/data/objects/magic_tree.yaml
index 1a78d2e..9016853 100644
--- a/data/objects/magic_tree.yaml
+++ b/data/objects/magic_tree.yaml
@@ -1,15 +1,15 @@
color: "87"
gather:
- base_wait: 12
deplete_timer: 390
drops:
- depletes: false
item_id: magic_logs
+ level: 75
message: You get some {87}magic logs{/}.
weight: 100
+ xp: 250
fail_message: You swing but get no logs.
gather_message: You swing your axe at the magic tree...
- level: 75
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 199
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 250
name: magic tree
diff --git a/data/objects/mahogany_tree.yaml b/data/objects/mahogany_tree.yaml
index 91a34bb..bb5077b 100644
--- a/data/objects/mahogany_tree.yaml
+++ b/data/objects/mahogany_tree.yaml
@@ -1,15 +1,15 @@
color: "83"
gather:
- base_wait: 8
deplete_timer: 100
drops:
- depletes: false
item_id: mahogany_logs
+ level: 50
message: You get some {83}mahogany logs{/}.
weight: 100
+ xp: 125
fail_message: You swing but get no logs.
gather_message: You swing your axe at the mahogany tree...
- level: 50
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 14
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 125
name: mahogany tree
diff --git a/data/objects/maple_tree.yaml b/data/objects/maple_tree.yaml
index a13982e..3bf4005 100644
--- a/data/objects/maple_tree.yaml
+++ b/data/objects/maple_tree.yaml
@@ -1,15 +1,15 @@
color: "AD"
gather:
- base_wait: 8
deplete_timer: 100
drops:
- depletes: false
item_id: maple_logs
+ level: 45
message: You get some {AD}maple logs{/}.
weight: 100
+ xp: 100
fail_message: You swing but get no logs.
gather_message: You swing your axe at the maple tree...
- level: 45
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 59
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 100
name: maple tree
diff --git a/data/objects/mithril_rock.yaml b/data/objects/mithril_rock.yaml
index b5e1c96..b561c97 100644
--- a/data/objects/mithril_rock.yaml
+++ b/data/objects/mithril_rock.yaml
@@ -1,14 +1,14 @@
color: "4B"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: mithril_ore
+ level: 55
message: You manage to mine some {4B}mithril ore{/}.
weight: 100
+ xp: 80
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the mithril rock...
- level: 55
respawn_broadcast: A blue glint of mithril catches your eye from some {name}.
respawn_timer: 110
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 80
name: mithril rock
diff --git a/data/objects/net_fishing_spot.yaml b/data/objects/net_fishing_spot.yaml
index 6f703f0..7acfcce 100644
--- a/data/objects/net_fishing_spot.yaml
+++ b/data/objects/net_fishing_spot.yaml
@@ -1,7 +1,6 @@
color: "4B"
description: Bubbles break the surface. Use a small or big fishing net here.
gather:
- base_wait: 5
depleted_message: You don't see any fish swimming here.
drops:
- item_id: raw_shrimps
@@ -31,7 +30,6 @@ gather:
xp: 50
fail_message: You catch nothing.
gather_message: You cast your net into the water...
- level: 1
skill: fishing
success:
base: 0.5
diff --git a/data/objects/oak_tree.yaml b/data/objects/oak_tree.yaml
index 961dffd..98c35b8 100644
--- a/data/objects/oak_tree.yaml
+++ b/data/objects/oak_tree.yaml
@@ -1,15 +1,15 @@
color: "71"
gather:
- base_wait: 6
deplete_timer: 45
drops:
- depletes: false
item_id: oak_logs
+ level: 15
message: You get some {71}oak logs{/}.
weight: 100
+ xp: 37
fail_message: You swing but get no logs.
gather_message: You swing your axe at the oak tree...
- level: 15
nest_chance: 256
respawn_broadcast: An {name} grows back.
respawn_timer: 14
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 37
name: oak tree
diff --git a/data/objects/redwood_tree.yaml b/data/objects/redwood_tree.yaml
index 3693fc1..9eee250 100644
--- a/data/objects/redwood_tree.yaml
+++ b/data/objects/redwood_tree.yaml
@@ -1,15 +1,15 @@
color: "83"
gather:
- base_wait: 14
deplete_timer: 440
drops:
- depletes: false
item_id: redwood_logs
+ level: 90
message: You get some {83}redwood logs{/}.
weight: 100
+ xp: 380
fail_message: You swing but get no logs.
gather_message: You swing your axe at the redwood tree...
- level: 90
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 199
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 380
name: redwood tree
diff --git a/data/objects/runite_rock.yaml b/data/objects/runite_rock.yaml
index d96785f..7bc3681 100644
--- a/data/objects/runite_rock.yaml
+++ b/data/objects/runite_rock.yaml
@@ -1,14 +1,14 @@
color: "57"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: runite_ore
+ level: 85
message: You manage to mine some {57}runite ore{/}.
weight: 100
+ xp: 125
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the runite rock...
- level: 85
respawn_broadcast: A pale blue glint of runite catches your eye from some {name}.
respawn_timer: 180
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 125
name: runite rock
diff --git a/data/objects/sacred_eel_spot.yaml b/data/objects/sacred_eel_spot.yaml
index ab32d68..3c05576 100644
--- a/data/objects/sacred_eel_spot.yaml
+++ b/data/objects/sacred_eel_spot.yaml
@@ -2,7 +2,6 @@ color: "B1"
description: Waters shimmer with an otherworldly light. Use a fishing rod with bait here.
gather:
bait: fishing_bait
- base_wait: 6
drops:
- item_id: sacred_eel
level: 87
@@ -11,7 +10,6 @@ gather:
xp: 125
fail_message: Nothing seems to bite.
gather_message: You cast your line near the sacred waters...
- level: 1
skill: fishing
success:
base: 0.25
diff --git a/data/objects/scrap_pile.yaml b/data/objects/scrap_pile.yaml
index 98e09e6..f85815b 100644
--- a/data/objects/scrap_pile.yaml
+++ b/data/objects/scrap_pile.yaml
@@ -1,18 +1,17 @@
color: "F3"
gather:
- base_wait: 10
drops:
- depletes: false
item_id: scrap
+ level: 1
message: You salvage some {F3}scrap{/}.
weight: 100
+ xp: 5
gather_message: You swing your pickaxe at the scrap pile...
- level: 1
skill: mining
success:
base: 1.0
cap: 1.0
tools:
- pickaxe
- xp: 5
name: scrap pile
diff --git a/data/objects/sheep.yaml b/data/objects/sheep.yaml
index 24f70c6..234714b 100644
--- a/data/objects/sheep.yaml
+++ b/data/objects/sheep.yaml
@@ -1,15 +1,15 @@
color: "FF"
description: A fluffy sheep, ready to be shorn.
gather:
- base_wait: 3
drops:
- depletes: true
item_id: wool
+ level: 1
message: You shear some wool from the sheep.
weight: 100
+ xp: 0
fail_message: The sheep wriggles free!
gather_message: You hold the sheep still and begin shearing...
- level: 1
respawn_broadcast: A sheep grows a fresh coat of wool.
respawn_timer: 100
skill: crafting
@@ -19,6 +19,5 @@ gather:
per_level: 0
tools:
- shears
- xp: 0
inroom_description: A fluffy sheep is wandering around here.
name: sheep
diff --git a/data/objects/silver_rock.yaml b/data/objects/silver_rock.yaml
index fefc2b4..c9b436f 100644
--- a/data/objects/silver_rock.yaml
+++ b/data/objects/silver_rock.yaml
@@ -1,14 +1,14 @@
color: "FD"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: silver_ore
+ level: 20
message: You manage to mine some {FD}silver ore{/}.
weight: 100
+ xp: 40
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the silver rock...
- level: 20
respawn_broadcast: A silvery glint catches your eye from some {name}.
respawn_timer: 70
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 40
name: silver rock
diff --git a/data/objects/swamp_fishing_spot.yaml b/data/objects/swamp_fishing_spot.yaml
index 87020ec..8bca2bd 100644
--- a/data/objects/swamp_fishing_spot.yaml
+++ b/data/objects/swamp_fishing_spot.yaml
@@ -2,7 +2,6 @@ color: "6C"
description: Murky water bubbles ominously. Use a fishing rod with bait here.
gather:
bait: fishing_bait
- base_wait: 5
drops:
- item_id: raw_slimy_eel
level: 28
@@ -16,7 +15,6 @@ gather:
xp: 80
fail_message: Nothing seems to bite.
gather_message: You cast your line into the murky swamp...
- level: 1
skill: fishing
success:
base: 0.45
diff --git a/data/objects/teak_tree.yaml b/data/objects/teak_tree.yaml
index e372c66..5e47900 100644
--- a/data/objects/teak_tree.yaml
+++ b/data/objects/teak_tree.yaml
@@ -1,15 +1,15 @@
color: "B3"
gather:
- base_wait: 6
deplete_timer: 50
drops:
- depletes: false
item_id: teak_logs
+ level: 35
message: You get some {B3}teak logs{/}.
weight: 100
+ xp: 85
fail_message: You swing but get no logs.
gather_message: You swing your axe at the teak tree...
- level: 35
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 15
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 85
name: teak tree
diff --git a/data/objects/tin_rock.yaml b/data/objects/tin_rock.yaml
index e30ceb4..20b2f21 100644
--- a/data/objects/tin_rock.yaml
+++ b/data/objects/tin_rock.yaml
@@ -1,14 +1,14 @@
color: "FD"
gather:
- base_wait: 10
drops:
- depletes: true
item_id: tin_ore
+ level: 1
message: You manage to mine some {FD}tin ore{/}.
weight: 100
+ xp: 17
fail_message: You chip away but get nothing useful.
gather_message: You swing your pickaxe at the rock...
- level: 1
respawn_broadcast: A glint of tin catches your eye from some {name}.
respawn_timer: 50
skill: mining
@@ -18,5 +18,4 @@ gather:
per_level: 0.01
tools:
- pickaxe
- xp: 17
name: tin rock
diff --git a/data/objects/tree.yaml b/data/objects/tree.yaml
index 199b548..4bd4ab0 100644
--- a/data/objects/tree.yaml
+++ b/data/objects/tree.yaml
@@ -1,16 +1,16 @@
color: "6B"
gather:
- base_wait: 4
depleted_message: You don't see any usable wood in this tree.
drops:
- depletes: true
item_id: logs
+ level: 1
message: You get some {6B}logs{/}.
weight: 100
+ xp: 25
exhausted_message: The tree comes crashing down!
fail_message: You swing but get no logs.
gather_message: You swing your axe at the tree...
- level: 1
respawn_broadcast: A {name} grows back.
respawn_timer: 80
skill: woodcutting
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 25
name: tree
diff --git a/data/objects/willow_tree.yaml b/data/objects/willow_tree.yaml
index 7b2208b..1b7645e 100644
--- a/data/objects/willow_tree.yaml
+++ b/data/objects/willow_tree.yaml
@@ -1,15 +1,15 @@
color: "72"
gather:
- base_wait: 6
deplete_timer: 50
drops:
- depletes: false
item_id: willow_logs
+ level: 30
message: You get some {72}willow logs{/}.
weight: 100
+ xp: 67
fail_message: You swing but get no logs.
gather_message: You swing your axe at the willow tree...
- level: 30
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 14
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 67
name: willow tree
diff --git a/data/objects/yew_tree.yaml b/data/objects/yew_tree.yaml
index e49d6fc..a9313ea 100644
--- a/data/objects/yew_tree.yaml
+++ b/data/objects/yew_tree.yaml
@@ -1,15 +1,15 @@
color: "6C"
gather:
- base_wait: 10
deplete_timer: 190
drops:
- depletes: false
item_id: yew_logs
+ level: 60
message: You get some {6C}yew logs{/}.
weight: 100
+ xp: 175
fail_message: You swing but get no logs.
gather_message: You swing your axe at the yew tree...
- level: 60
nest_chance: 256
respawn_broadcast: A {name} grows back.
respawn_timer: 99
@@ -20,5 +20,4 @@ gather:
per_level: 0.01
tools:
- axe
- xp: 175
name: yew tree
diff --git a/data/rooms/intro/1001.yaml b/data/rooms/intro/1001.yaml
index 98eebab..defd1b1 100644
--- a/data/rooms/intro/1001.yaml
+++ b/data/rooms/intro/1001.yaml
@@ -1,5 +1,4 @@
-id: 1001
-name: Inside Transport Shuttle
+block_transport: true
color: ""
description:
- text: |-
@@ -8,169 +7,171 @@ description:
A dim, windowless shuttle interior with a few uncomfortable rows of steel seats facing forward. A large {11}framed sign{/} hangs next to the closed cockpit door. A piston-powered staircase leads down out the back of the small craft with a smiling attendant ready to help disembark.
exits:
down:
- room: 1002
+ blocked_message: The piston-powered staircase is firmly closed.
condition:
+ all_of: []
+ any_of: []
flag: ""
- value: null
- not: false
- player_flag: 1001_touchdown
has_item: ""
min_credits: 0
- all_of: []
- any_of: []
- blocked_message: The piston-powered staircase is firmly closed.
+ not: false
+ player_flag: 1001_touchdown
+ value: null
+ room: 1002
east:
room: 2001
+hazard: ""
+id: 1001
+item_spawns: []
+mobs:
+ - id: flight_attendant
+name: Inside Transport Shuttle
objects:
- - name: framed sign
- hidden: true
- description:
+ - description:
- text: "We hope you enjoy your trip on our shuttle! Your pilot is [TYLER].\n\nWhen you arrive at your final destination, please be aware of the following basic commands:\n\n{0B bold}Movement:{/} {0A}north{/}, {0A}south{/}, {0A}east{/}, {0A}west{/}, {0A}up{/}, {0A}down{/}\n{0B bold}Look:{/} {0A}look{/}, {0A}look <item/object/mob>{/}, and {0A}map{/}\n{0B bold}Items:{/} {0A}inv{/} to see your 28-slot inventory\n {0A}get <item>{/}, {0A}drop <item>{/}, {0A}wear <item>{/}, {0A}remove <item>{/}\n {0A}use <item> on <item/object>{/}\n {0A}eq{/} for equiped gear\n{0B bold}Comms:{/} {0A}talk <mob>{/} for NPC chat\n {0A}say <msg>{/} and {0A}global <msg>{/} for human chat\n{0B bold}Character:{/} {0A}score{/} and {0A}skills{/} for stats. \n{0B bold}Combat{/} {0A}attack <mob>{/}\n{0B bold}Skills{/} Many skills have shortcuts like {0A}mine{/}, {0A}fish{/}, or {0A}chop{/}\n{0B bold}Options{/} {0A}options{/} for a list of account options\n {0A}options <opt> <value>{/} to change an option\n\nType {0C bold}what{/} for a list of possible common actions\n\nMake sure to check the {0A}help{/} pages, especially {0A}help newplayer{/}!"
+ hidden: true
+ name: framed sign
on_look:
+ aps_node: false
+ assign_task: false
+ cost: 0
+ extend_task: false
+ give_item: ""
+ heal: 0
+ reputation_cost: 0
+ sawmill: false
set_flags: {}
set_player_flags:
1001_look_sign: true
- give_item: ""
- take_item: ""
- teleport: 0
- heal: 0
- cost: 0
shop: null
- assign_task: false
skip_task: false
- extend_task: false
- reputation_cost: 0
- sawmill: false
- aps_node: false
- - name: door
- hidden: true
- description:
+ take_item: ""
+ teleport: 0
+ - description:
- text: A sturdy, locked steel door that keeps passengers out of the cockpit. There is a tiny, thin window at eye level.
- - name: window
hidden: true
- description:
+ name: door
+ - description:
- text: A thick trim with rounded bolt heads frames the tiny window. It looks like it was cut into the door at some point, potentially as a simple replacement to computerized security systems. Inside the cockpit there's a pilot finishing up landing procedures on a large panel of analog instruments.
- - name: instrument panel
- aliases:
- - cockpit
hidden: true
+ name: window
+ - aliases:
+ - cockpit
description:
- text: The cramped cockpit is surrounded by buttons, swiches, dials, and analog gauges. The parts are a mix of technologies from the last century. Part of the panel is obscured by a draped cloth as if to hide it from view. Odd.
- - name: pilot
hidden: true
+ name: instrument panel
+ - aliases: []
description:
- text: That's the guy who took you from the Passenger Barge Denali down here to Vesta. A middle-aged man in a neat white jumpsuit with a matching white sort of conductor's hat. He's following a written procedure checklist and seems to take his job seriously.
-item_spawns: []
-mobs:
- - id: flight_attendant
+ hidden: true
+ name: pilot
on_enter:
- - message: '{0B bold}Welcome to The House of Icarus{/}'
+ - broadcast: ""
+ broadcast_global: ""
condition:
+ all_of: []
+ any_of: []
flag: ""
- value: null
- not: true
- player_flag: 1001_welcome
has_item: ""
min_credits: 0
- all_of: []
- any_of: []
+ not: true
+ player_flag: 1001_welcome
+ value: null
delay: 5
+ despawn_mob: ""
+ give_item: ""
+ heal: 0
+ message: '{0B bold}Welcome to The House of Icarus{/}'
set_flags: {}
set_player_flags: {}
- broadcast: ""
- broadcast_global: ""
spawn_mob: null
- despawn_mob: ""
- give_item: ""
take_item: ""
teleport: 0
- heal: 0
- - message: '{0B}Type{/} {0A}look sign{/} {0B}or{/} {0A}talk attendant{/} {0B}to get started{/}'
+ - broadcast: ""
+ broadcast_global: ""
condition:
+ all_of: []
+ any_of: []
flag: ""
- value: null
- not: true
- player_flag: 1001_welcome
has_item: ""
min_credits: 0
- all_of: []
- any_of: []
+ not: true
+ player_flag: 1001_welcome
+ value: null
delay: 7
+ despawn_mob: ""
+ give_item: ""
+ heal: 0
+ message: '{0B}Type{/} {0A}look sign{/} {0B}or{/} {0A}talk attendant{/} {0B}to get started{/}'
set_flags: {}
set_player_flags:
1001_welcome: true
- broadcast: ""
- broadcast_global: ""
spawn_mob: null
- despawn_mob: ""
- give_item: ""
take_item: ""
teleport: 0
- heal: 0
- - message: '{0B}Type{/} {0A}help newplayer{/} {0B}for the new player''s guide. That''s it. Explore and have fun.{/}'
+ - broadcast: ""
+ broadcast_global: ""
condition:
+ all_of: []
+ any_of: []
flag: ""
- value: null
- not: true
- player_flag: 1001_welcome
has_item: ""
min_credits: 0
- all_of: []
- any_of: []
+ not: true
+ player_flag: 1001_welcome
+ value: null
delay: 7
+ despawn_mob: ""
+ give_item: ""
+ heal: 0
+ message: '{0B}Type{/} {0A}help newplayer{/} {0B}for the new player''s guide. That''s it. Explore and have fun.{/}'
set_flags: {}
set_player_flags: {}
- broadcast: ""
- broadcast_global: ""
spawn_mob: null
- despawn_mob: ""
- give_item: ""
take_item: ""
teleport: 0
- heal: 0
-hazard: ""
-block_transport: true
triggers:
- id: ""
- on_player_flag: 1001_look_sign
on_flag: ""
- value: null
+ on_player_flag: 1001_look_sign
room: 0
steps:
- - delay: 5
- message: The cabin shakes as the small craft touches down
- broadcast: ""
+ - broadcast: ""
broadcast_global: ""
+ delay: 5
+ despawn_mob: ""
+ give_item: ""
+ heal: 0
+ message: The cabin shakes as the small craft touches down
set_flags: {}
set_player_flags: {}
spawn_mob: null
- give_item: ""
take_item: ""
teleport: 0
- heal: 0
+ - broadcast: ""
+ broadcast_global: ""
+ delay: 5
despawn_mob: ""
- - delay: 5
+ give_item: ""
+ heal: 0
message: The pistons hiss as the rear staircase opens
- broadcast: ""
- broadcast_global: ""
set_flags: {}
set_player_flags: {}
spawn_mob: null
- give_item: ""
take_item: ""
teleport: 0
- heal: 0
+ - broadcast: ""
+ broadcast_global: ""
+ delay: 0
despawn_mob: ""
- - delay: 0
+ give_item: ""
+ heal: 0
message: ""
- broadcast: ""
- broadcast_global: ""
set_flags: {}
set_player_flags:
1001_touchdown: true
spawn_mob: null
- give_item: ""
take_item: ""
teleport: 0
- heal: 0
- despawn_mob: ""
+ value: null
diff --git a/data/rooms/intro/1005.yaml b/data/rooms/intro/1005.yaml
deleted file mode 100644
index 5d34027..0000000
--- a/data/rooms/intro/1005.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-id: 1005
-name: New Room
-color: CC
-description:
- - text: A featureless room.
-exits:
- east:
- room: 1009
- northeast:
- room: 1016
- south:
- room: 1006
- southwest:
- room: 2003
- west:
- room: 1008
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1006.yaml b/data/rooms/intro/1006.yaml
deleted file mode 100644
index 4f8b9ef..0000000
--- a/data/rooms/intro/1006.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-id: 1006
-name: New Room
-color: E2
-description:
- - text: A featureless room.
-exits:
- north:
- room: 1005
- northeast:
- room: 1009
- northwest:
- room: 1008
- up:
- room: 1010
- west:
- room: 2003
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1007.yaml b/data/rooms/intro/1007.yaml
deleted file mode 100644
index 3f40bc1..0000000
--- a/data/rooms/intro/1007.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-id: 1007
-name: 'Room #1007'
-color: ""
-description: []
-exits:
- east:
- room: 1013
- west:
- room: 2004
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1008.yaml b/data/rooms/intro/1008.yaml
deleted file mode 100644
index fe5956a..0000000
--- a/data/rooms/intro/1008.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-block_transport: false
-color: A9
-description:
- - text: A featureless room.
-exits:
- east:
- room: 1005
- north:
- room: 7
- south:
- room: 2003
- southeast:
- room: 1006
-hazard: ""
-id: 1008
-item_spawns: []
-mobs: []
-name: New Room
-objects: []
-on_enter: []
-triggers: []
diff --git a/data/rooms/intro/1009.yaml b/data/rooms/intro/1009.yaml
deleted file mode 100644
index 087a680..0000000
--- a/data/rooms/intro/1009.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-block_transport: false
-color: "27"
-description:
- - text: A featureless room.
-exits:
- north:
- room: 1016
- northwest:
- room: 8
- southwest:
- room: 1006
- west:
- room: 1005
-hazard: ""
-id: 1009
-item_spawns: []
-mobs:
- - id: man
- - id: man
-name: New Room
-objects: []
-on_enter: []
-triggers: []
diff --git a/data/rooms/intro/1010.yaml b/data/rooms/intro/1010.yaml
deleted file mode 100644
index fca6471..0000000
--- a/data/rooms/intro/1010.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-id: 1010
-name: New Room
-color: ""
-description:
- - text: A featureless room.
-exits:
- down:
- room: 1006
- north:
- room: 1011
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1011.yaml b/data/rooms/intro/1011.yaml
deleted file mode 100644
index 0f0c477..0000000
--- a/data/rooms/intro/1011.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-id: 1011
-name: New Room
-color: ""
-description:
- - text: A featureless room.
-exits:
- east:
- room: 1012
- south:
- room: 1010
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1012.yaml b/data/rooms/intro/1012.yaml
deleted file mode 100644
index 93fc6d1..0000000
--- a/data/rooms/intro/1012.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-id: 1012
-name: New Room
-color: ""
-description:
- - text: A featureless room.
-exits: {}
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1013.yaml b/data/rooms/intro/1013.yaml
deleted file mode 100644
index 35e3757..0000000
--- a/data/rooms/intro/1013.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-block_transport: false
-color: "72"
-description: []
-exits:
- northeast:
- room: 1014
- west:
- room: 1007
-hazard: ""
-id: 1013
-item_spawns: []
-mobs: []
-name: 'Room #1013'
-objects: []
-on_enter: []
-triggers: []
diff --git a/data/rooms/intro/1014.yaml b/data/rooms/intro/1014.yaml
deleted file mode 100644
index a11adfd..0000000
--- a/data/rooms/intro/1014.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-block_transport: false
-color: D5
-description: []
-exits:
- northeast:
- room: 1015
- southwest:
- room: 1013
-hazard: ""
-id: 1014
-item_spawns: []
-mobs: []
-name: 'Room #1014'
-objects: []
-on_enter: []
-triggers: []
diff --git a/data/rooms/intro/1015.yaml b/data/rooms/intro/1015.yaml
deleted file mode 100644
index eaec278..0000000
--- a/data/rooms/intro/1015.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-block_transport: false
-color: 0C
-description: []
-exits:
- northwest:
- room: 1018
- southwest:
- room: 1014
-hazard: ""
-id: 1015
-item_spawns: []
-mobs: []
-name: 'Room #1015'
-objects: []
-on_enter: []
-triggers: []
diff --git a/data/rooms/intro/1016.yaml b/data/rooms/intro/1016.yaml
deleted file mode 100644
index 58eb906..0000000
--- a/data/rooms/intro/1016.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-id: 1016
-name: New Room
-color: "97"
-description:
- - text: A featureless room.
-exits:
- down:
- room: 1017
- east:
- room: 1018
- south:
- room: 1009
- southwest:
- room: 1005
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1017.yaml b/data/rooms/intro/1017.yaml
deleted file mode 100644
index 14585ae..0000000
--- a/data/rooms/intro/1017.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-id: 1017
-name: New Room
-color: ""
-description:
- - text: A featureless room.
-exits:
- up:
- room: 1016
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1018.yaml b/data/rooms/intro/1018.yaml
deleted file mode 100644
index a696922..0000000
--- a/data/rooms/intro/1018.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-block_transport: false
-color: D0
-description: []
-exits:
- southeast:
- room: 1015
- west:
- room: 1016
-hazard: ""
-id: 1018
-item_spawns: []
-mobs: []
-name: 'Room #1018'
-objects: []
-on_enter: []
-triggers: []
diff --git a/data/rooms/intro/1019.yaml b/data/rooms/intro/1019.yaml
deleted file mode 100644
index 3ea9771..0000000
--- a/data/rooms/intro/1019.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-id: 1019
-name: 'Room #1019'
-color: ""
-description: []
-exits:
- south:
- room: 1020
-objects: []
-item_spawns: []
-mobs: []
-on_enter: []
-hazard: ""
-block_transport: false
-triggers: []
diff --git a/data/rooms/intro/1020.yaml b/data/rooms/intro/1020.yaml
deleted file mode 100644
index 256ea8b..0000000
--- a/data/rooms/intro/1020.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-exits:
- north: 1019
-id: 1020
-name: 'Room #1020'
diff --git a/data/rooms/intro/2001.yaml b/data/rooms/intro/2001.yaml
index 9f44298..0bb9c16 100644
--- a/data/rooms/intro/2001.yaml
+++ b/data/rooms/intro/2001.yaml
@@ -13,9 +13,13 @@ exits:
room: 1001
hazard: ""
id: 2001
-item_spawns: []
+item_spawns:
+ - id: bronze_axe
+ quantity: 1
+ respawn_ticks: 1
mobs: []
name: Test Room
-objects: []
+objects:
+ - id: tree
on_enter: []
triggers: []
diff --git a/data/rooms/intro/2003.yaml b/data/rooms/intro/2003.yaml
index 3fcc0c2..6324c9c 100644
--- a/data/rooms/intro/2003.yaml
+++ b/data/rooms/intro/2003.yaml
@@ -1,25 +1,19 @@
-block_transport: false
+id: 2003
+name: Test Room
color: ""
description:
- text: It's a test room
exits:
- east:
- room: 1006
- north:
- room: 1008
- northeast:
- room: 1005
south:
room: 2004
southwest:
room: 2005
west:
room: 2002
-hazard: ""
-id: 2003
+objects: []
item_spawns: []
mobs: []
-name: Test Room
-objects: []
on_enter: []
+hazard: ""
+block_transport: false
triggers: []
diff --git a/data/rooms/intro/2004.yaml b/data/rooms/intro/2004.yaml
index e90d370..73d912e 100644
--- a/data/rooms/intro/2004.yaml
+++ b/data/rooms/intro/2004.yaml
@@ -4,8 +4,6 @@ color: ""
description:
- text: It's a test room
exits:
- east:
- room: 1007
north:
room: 2003
northwest: