From bf7c27c2cbf3eb56a0a4c5141e39b152c51614b5 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 1 Jul 2026 04:53:56 -0400 Subject: feat: admin gui map, item, and objects mostly complete --- data/.admin_history.json | 2 +- data/drops/credit_stick_drop.yaml | 11 +-- data/items/ammo/adamant_arrow.yaml | 2 +- data/items/ammo/adamant_arrowtips.yaml | 2 +- data/items/ammo/adamant_bolts.yaml | 2 +- data/items/ammo/adamant_bolts_unf.yaml | 2 +- data/items/ammo/arrow_shaft.yaml | 12 ++-- data/items/ammo/bronze_arrow.yaml | 2 +- data/items/ammo/bronze_arrowtips.yaml | 2 +- data/items/ammo/bronze_bolts.yaml | 2 +- data/items/ammo/bronze_bolts_unf.yaml | 2 +- data/items/ammo/diamond_bolt_tips.yaml | 2 +- data/items/ammo/diamond_bolts.yaml | 2 +- data/items/ammo/emerald_bolt_tips.yaml | 2 +- data/items/ammo/emerald_bolts.yaml | 2 +- data/items/ammo/headless_arrow.yaml | 2 +- data/items/ammo/iron_arrow.yaml | 2 +- data/items/ammo/iron_arrowtips.yaml | 2 +- data/items/ammo/iron_bolts.yaml | 2 +- data/items/ammo/iron_bolts_unf.yaml | 2 +- data/items/ammo/mithril_arrow.yaml | 2 +- data/items/ammo/mithril_arrowtips.yaml | 2 +- data/items/ammo/mithril_bolts.yaml | 2 +- data/items/ammo/mithril_bolts_unf.yaml | 2 +- data/items/ammo/ruby_bolt_tips.yaml | 2 +- data/items/ammo/ruby_bolts.yaml | 2 +- data/items/ammo/rune_arrow.yaml | 2 +- data/items/ammo/rune_arrowtips.yaml | 2 +- data/items/ammo/rune_bolts.yaml | 2 +- data/items/ammo/rune_bolts_unf.yaml | 2 +- data/items/ammo/sapphire_bolt_tips.yaml | 2 +- data/items/ammo/sapphire_bolts.yaml | 2 +- data/items/ammo/steel_arrow.yaml | 2 +- data/items/ammo/steel_arrowtips.yaml | 2 +- data/items/ammo/steel_bolts.yaml | 2 +- data/items/ammo/steel_bolts_unf.yaml | 2 +- data/items/consumables/amp_potion.yaml | 2 +- data/items/consumables/anchovies.yaml | 2 +- data/items/consumables/avantoe_potion_unf.yaml | 2 +- data/items/consumables/bio_serum.yaml | 2 +- data/items/consumables/bread.yaml | 2 +- data/items/consumables/bread_dough.yaml | 12 ++-- data/items/consumables/cadantine_potion_unf.yaml | 2 +- data/items/consumables/dwarf_weed_potion_unf.yaml | 2 +- data/items/consumables/full_restore.yaml | 2 +- data/items/consumables/guam_potion_unf.yaml | 2 +- data/items/consumables/harralander_potion_unf.yaml | 2 +- data/items/consumables/herring.yaml | 2 +- data/items/consumables/irit_potion_unf.yaml | 2 +- data/items/consumables/kwuarm_potion_unf.yaml | 2 +- data/items/consumables/lantadyme_potion_unf.yaml | 2 +- data/items/consumables/marrentill_potion_unf.yaml | 2 +- data/items/consumables/nano_restore.yaml | 2 +- data/items/consumables/pastry_dough.yaml | 2 +- data/items/consumables/pie_dish.yaml | 2 +- data/items/consumables/pizza_dough.yaml | 2 +- data/items/consumables/ranarr_potion_unf.yaml | 2 +- data/items/consumables/restoration_compound.yaml | 2 +- data/items/consumables/salmon.yaml | 2 +- data/items/consumables/sardine.yaml | 2 +- data/items/consumables/science_serum.yaml | 2 +- data/items/consumables/shield_potion.yaml | 2 +- data/items/consumables/shrimps.yaml | 2 +- data/items/consumables/snapdragon_potion_unf.yaml | 2 +- data/items/consumables/stim_potion.yaml | 2 +- data/items/consumables/super_amp.yaml | 2 +- data/items/consumables/super_bio_serum.yaml | 2 +- data/items/consumables/super_shield.yaml | 2 +- data/items/consumables/super_stim.yaml | 2 +- data/items/consumables/super_stim_cell.yaml | 2 +- data/items/consumables/targeting_serum.yaml | 2 +- data/items/consumables/tarromin_potion_unf.yaml | 2 +- data/items/consumables/tech_serum.yaml | 2 +- data/items/consumables/toadflax_potion_unf.yaml | 2 +- data/items/consumables/torstol_potion_unf.yaml | 2 +- data/items/consumables/trout.yaml | 2 +- data/items/equipment/adamant_dagger.yaml | 2 +- data/items/equipment/adamant_full_helm.yaml | 2 +- data/items/equipment/adamant_med_helm.yaml | 2 +- data/items/equipment/adamant_platebody.yaml | 2 +- data/items/equipment/adamant_sword.yaml | 2 +- data/items/equipment/bronze_dagger.yaml | 2 +- data/items/equipment/bronze_full_helm.yaml | 2 +- data/items/equipment/bronze_med_helm.yaml | 2 +- data/items/equipment/bronze_platebody.yaml | 2 +- data/items/equipment/bronze_sword.yaml | 2 +- data/items/equipment/coif.yaml | 2 +- data/items/equipment/diamond_amulet_u.yaml | 2 +- data/items/equipment/diamond_bracelet.yaml | 2 +- data/items/equipment/diamond_necklace.yaml | 2 +- data/items/equipment/diamond_ring.yaml | 2 +- data/items/equipment/emerald_amulet_u.yaml | 2 +- data/items/equipment/emerald_bracelet.yaml | 2 +- data/items/equipment/emerald_necklace.yaml | 2 +- data/items/equipment/emerald_ring.yaml | 2 +- data/items/equipment/gold_amulet_u.yaml | 2 +- data/items/equipment/gold_bracelet.yaml | 2 +- data/items/equipment/gold_necklace.yaml | 2 +- data/items/equipment/gold_ring.yaml | 2 +- data/items/equipment/hard_leather_body.yaml | 2 +- data/items/equipment/hard_leather_shield.yaml | 2 +- data/items/equipment/iron_dagger.yaml | 2 +- data/items/equipment/iron_full_helm.yaml | 2 +- data/items/equipment/iron_med_helm.yaml | 2 +- data/items/equipment/iron_platebody.yaml | 2 +- data/items/equipment/iron_sword.yaml | 2 +- data/items/equipment/leather_body.yaml | 2 +- data/items/equipment/leather_boots.yaml | 2 +- data/items/equipment/leather_chaps.yaml | 2 +- data/items/equipment/leather_cowl.yaml | 2 +- data/items/equipment/leather_gloves.yaml | 2 +- data/items/equipment/leather_vambraces.yaml | 2 +- data/items/equipment/longbow.yaml | 2 +- data/items/equipment/longbow_u.yaml | 2 +- data/items/equipment/magic_longbow.yaml | 2 +- data/items/equipment/magic_longbow_u.yaml | 2 +- data/items/equipment/magic_shortbow.yaml | 2 +- data/items/equipment/magic_shortbow_u.yaml | 2 +- data/items/equipment/maple_longbow.yaml | 2 +- data/items/equipment/maple_longbow_u.yaml | 2 +- data/items/equipment/maple_shortbow.yaml | 2 +- data/items/equipment/maple_shortbow_u.yaml | 2 +- data/items/equipment/mithril_dagger.yaml | 2 +- data/items/equipment/mithril_full_helm.yaml | 2 +- data/items/equipment/mithril_med_helm.yaml | 2 +- data/items/equipment/mithril_platebody.yaml | 2 +- data/items/equipment/mithril_sword.yaml | 2 +- data/items/equipment/oak_longbow.yaml | 2 +- data/items/equipment/oak_longbow_u.yaml | 2 +- data/items/equipment/oak_shortbow.yaml | 2 +- data/items/equipment/oak_shortbow_u.yaml | 2 +- data/items/equipment/ruby_amulet_u.yaml | 2 +- data/items/equipment/ruby_bracelet.yaml | 2 +- data/items/equipment/ruby_necklace.yaml | 2 +- data/items/equipment/ruby_ring.yaml | 2 +- data/items/equipment/rune_dagger.yaml | 2 +- data/items/equipment/rune_full_helm.yaml | 2 +- data/items/equipment/rune_med_helm.yaml | 2 +- data/items/equipment/rune_platebody.yaml | 2 +- data/items/equipment/rune_sword.yaml | 2 +- data/items/equipment/sapphire_amulet_u.yaml | 2 +- data/items/equipment/sapphire_bracelet.yaml | 2 +- data/items/equipment/sapphire_necklace.yaml | 2 +- data/items/equipment/sapphire_ring.yaml | 2 +- data/items/equipment/shortbow.yaml | 2 +- data/items/equipment/shortbow_u.yaml | 2 +- data/items/equipment/steel_dagger.yaml | 2 +- data/items/equipment/steel_full_helm.yaml | 2 +- data/items/equipment/steel_med_helm.yaml | 2 +- data/items/equipment/steel_platebody.yaml | 2 +- data/items/equipment/steel_sword.yaml | 2 +- data/items/equipment/willow_longbow.yaml | 2 +- data/items/equipment/willow_longbow_u.yaml | 2 +- data/items/equipment/willow_shortbow.yaml | 2 +- data/items/equipment/willow_shortbow_u.yaml | 2 +- data/items/equipment/yew_longbow.yaml | 2 +- data/items/equipment/yew_longbow_u.yaml | 2 +- data/items/equipment/yew_shortbow.yaml | 2 +- data/items/equipment/yew_shortbow_u.yaml | 2 +- data/items/materials/adamant_nails.yaml | 2 +- data/items/materials/adamantite_bar.yaml | 4 +- data/items/materials/avantoe.yaml | 4 +- data/items/materials/ball_of_wool.yaml | 2 +- data/items/materials/bowstring.yaml | 2 +- data/items/materials/bronze_bar.yaml | 4 +- data/items/materials/bronze_nails.yaml | 2 +- data/items/materials/cadantine.yaml | 4 +- data/items/materials/diamond.yaml | 2 +- data/items/materials/dwarf_weed.yaml | 4 +- data/items/materials/emerald.yaml | 2 +- data/items/materials/gold_bar.yaml | 4 +- data/items/materials/guam.yaml | 4 +- data/items/materials/harralander.yaml | 4 +- data/items/materials/irit.yaml | 4 +- data/items/materials/iron_bar.yaml | 4 +- data/items/materials/iron_nails.yaml | 2 +- data/items/materials/kwuarm.yaml | 4 +- data/items/materials/lantadyme.yaml | 4 +- data/items/materials/mahogany_planks.yaml | 2 +- data/items/materials/marrentill.yaml | 4 +- data/items/materials/mithril_bar.yaml | 4 +- data/items/materials/mithril_nails.yaml | 2 +- data/items/materials/oak_planks.yaml | 2 +- data/items/materials/planks.yaml | 2 +- data/items/materials/ranarr.yaml | 4 +- data/items/materials/ruby.yaml | 2 +- data/items/materials/rune_nails.yaml | 2 +- data/items/materials/runite_bar.yaml | 4 +- data/items/materials/sapphire.yaml | 2 +- data/items/materials/silver_bar.yaml | 4 +- data/items/materials/snapdragon.yaml | 4 +- data/items/materials/soft_clay.yaml | 2 +- data/items/materials/steel_bar.yaml | 4 +- data/items/materials/steel_nails.yaml | 2 +- data/items/materials/stim_cell.yaml | 2 +- data/items/materials/tarromin.yaml | 4 +- data/items/materials/teak_planks.yaml | 2 +- data/items/materials/toadflax.yaml | 4 +- data/items/materials/torstol.yaml | 4 +- data/items/misc/mahogany_table.yaml | 2 +- data/items/misc/oak_shelf.yaml | 2 +- data/items/misc/oak_table.yaml | 2 +- data/items/misc/teak_table.yaml | 2 +- data/items/misc/wooden_chair.yaml | 2 +- data/items/misc/wooden_shelf.yaml | 2 +- data/items/misc/wooden_table.yaml | 2 +- data/items/tools/empty_pot.yaml | 2 +- data/items/tools/plant_pot.yaml | 2 +- data/items/tools/unfired_pie_dish.yaml | 2 +- data/items/tools/unfired_plant_pot.yaml | 2 +- data/items/tools/unfired_pot.yaml | 2 +- data/rooms/intro/2001.yaml | 8 ++- data/rooms/intro/2003.yaml | 4 +- internal/admin/api_rooms.go | 12 ++-- internal/admin/static/admin.css | 4 +- internal/admin/static/colorpicker.js | 7 ++ internal/admin/static/itemeditor.js | 84 +++++++++++++++++++--- internal/admin/static/map.js | 40 ++++++++++- internal/admin/static/objecteditor.js | 47 ++++++++++-- internal/admin/undo.go | 2 +- internal/behavior/behavior.go | 2 +- internal/behavior/types.go | 10 +-- internal/game/act.go | 2 +- internal/game/act_clean.go | 2 +- internal/game/act_combine.go | 4 +- internal/game/act_fletch.go | 12 ++-- internal/game/act_use.go | 4 +- internal/game/cmd_clean.go | 4 +- internal/game/cmd_craft.go | 2 +- internal/game/cmd_smelt.go | 2 +- internal/game/cmd_trigger_utility.go | 2 +- internal/game/cmd_use.go | 6 +- internal/game/core_production.go | 2 +- internal/game/production_engine.go | 16 ++--- internal/item/item.go | 2 +- 235 files changed, 463 insertions(+), 312 deletions(-) diff --git a/data/.admin_history.json b/data/.admin_history.json index 4bdaf10..72e0c51 100644 --- a/data/.admin_history.json +++ b/data/.admin_history.json @@ -1 +1 @@ -{"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-30T23:48:18-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: 1\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\n - id: pot_of_flour\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-30T23:48:23-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: 1\n - id: pot_of_flour\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 0\n - id: bucket_of_water\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-30T23:53:08-04:00","description":"Update item bread_dough","file_path":"data/items/consumables/bread_dough.yaml","old_content":"color: \"DE\"\ncraft:\n type: combine\n consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n wait: 2\ndescription: A ball of uncooked bread dough. It needs to be baked.\nname: bread dough\nstackable: false\nvalue: 3\n","new_content":"color: DE\ncraft:\n - consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n wait: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","is_delete":false,"is_create":false},{"time":"2026-07-01T00:23:04-04:00","description":"Update item bread_dough","file_path":"data/items/consumables/bread_dough.yaml","old_content":"color: DE\ncraft:\n - consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n wait: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","new_content":"color: DE\ncraft:\n - consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n wait: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","is_delete":false,"is_create":false},{"time":"2026-07-01T01:22:55-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: 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","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-07-01T03:00:10-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 0\n - id: bucket_of_water\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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-07-01T03:00:11-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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}],"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-30T23:48:18-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: 1\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\n - id: pot_of_flour\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-30T23:48:23-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: 1\n - id: pot_of_flour\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 0\n - id: bucket_of_water\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-30T23:53:08-04:00","description":"Update item bread_dough","file_path":"data/items/consumables/bread_dough.yaml","old_content":"color: \"DE\"\ncraft:\n type: combine\n consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n wait: 2\ndescription: A ball of uncooked bread dough. It needs to be baked.\nname: bread dough\nstackable: false\nvalue: 3\n","new_content":"color: DE\ncraft:\n - consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n wait: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","is_delete":false,"is_create":false},{"time":"2026-07-01T00:23:04-04:00","description":"Update item bread_dough","file_path":"data/items/consumables/bread_dough.yaml","old_content":"color: DE\ncraft:\n - consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n wait: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","new_content":"color: DE\ncraft:\n - consume:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n wait: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","is_delete":false,"is_create":false},{"time":"2026-07-01T01:22:55-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: 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","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-07-01T03:00:10-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 0\n - id: bucket_of_water\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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-07-01T03:00:11-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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-07-01T03:52:58-04:00","description":"Update item bread_dough","file_path":"data/items/consumables/bread_dough.yaml","old_content":"color: DE\ncraft:\n - ingredients:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n end_message: testend\n fail: \"\"\n level: 0\n success_message: testmsg\n output_qty: 0\n start_message: teststart\n station: []\n subtype: \"\"\n tool: \"\"\n type: combine\n ticks_per_cycle: 2\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","new_content":"color: DE\ncraft:\n - end_message: \"\"\n fail: \"\"\n ingredients:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n level: 0\n output_qty: 0\n start_message: \"\"\n station: []\n subtype: \"\"\n success_message: \"\"\n ticks_per_cycle: 2\n tool: \"\"\n type: smithing\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","is_delete":false,"is_create":false},{"time":"2026-07-01T03:53:08-04:00","description":"Update item bread_dough","file_path":"data/items/consumables/bread_dough.yaml","old_content":"color: DE\ncraft:\n - end_message: \"\"\n fail: \"\"\n ingredients:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n level: 0\n output_qty: 0\n start_message: \"\"\n station: []\n subtype: \"\"\n success_message: \"\"\n ticks_per_cycle: 2\n tool: \"\"\n type: smithing\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","new_content":"color: DE\ncraft:\n - end_message: \"\"\n fail: \"\"\n ingredients:\n - byproducts:\n - empty_pot\n items:\n - pot_of_flour\n quantity: 1\n - byproducts:\n - empty_bucket\n - empty_jug\n items:\n - bucket_of_water\n - jug_of_water\n quantity: 1\n level: 0\n output_qty: 0\n start_message: \"\"\n station: []\n subtype: \"\"\n success_message: \"\"\n ticks_per_cycle: 2\n tool: \"\"\n type: combine\n xp: 0\ndescription: A ball of uncooked bread dough. It needs to be baked.\nid: bread_dough\nmax_quality: 0\nname: bread dough\nquality: 0\nstackable: false\nvalue: 3\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:08: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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\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: solar_radiation\nid: 2001\nitem_spawns:\n - id: bronze_axe\n quantity: 1\n respawn_ticks: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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-07-01T04:08:19-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: solar_radiation\nid: 2001\nitem_spawns:\n - id: bronze_axe\n quantity: 1\n respawn_ticks: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\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-07-01T04:08:26-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:08:32-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - id: tree\n - aliases: []\n description:\n - text: \"\"\n hidden: false\n name: \"\"\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:08:37-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - id: tree\n - aliases: []\n description:\n - text: \"\"\n hidden: false\n name: \"\"\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - aliases: []\n description: []\n hidden: false\n name: hidden guy\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:08:43-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - aliases: []\n description: []\n hidden: false\n name: hidden guy\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - aliases: []\n description:\n - text: YOU FOUND HIM\n hidden: false\n name: hidden guy\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:08:44-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: 1\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - aliases: []\n description:\n - text: YOU FOUND HIM\n hidden: false\n name: hidden guy\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\n - id: pot_of_flour\n quantity: 1\n respawn_ticks: 1\n - id: bucket_of_water\n quantity: 1\n respawn_ticks: 1\nmobs:\n - id: man\nname: Test Room\nobjects:\n - aliases: []\n description:\n - text: YOU FOUND HIM\n hidden: true\n name: hidden guy\n - id: tree\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:41-04:00","description":"update room 2003","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":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:41-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:44-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:44-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:47-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:47-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:49-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:49-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:51-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: \"00\"\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:53-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:55-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:56-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:58-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:09:58-04:00","description":"update room 2003","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:10:01-04:00","description":"update room 2003 (add exit northeast to 1005)","file_path":"data/rooms/intro/2003.yaml","old_content":"block_transport: false\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n south:\n room: 2004\n southwest:\n room: 2005\n west:\n room: 2002\nhazard: \"\"\nid: 2003\nitem_spawns: []\nmobs: []\nname: Test Room\nobjects: []\non_enter: []\ntriggers: []\n","new_content":"id: 2003\nname: Test Room\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n northeast:\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-07-01T04:10:01-04:00","description":"create room 1005","file_path":"data/rooms/intro/1005.yaml","old_content":"","new_content":"color: A5\nexits:\n southwest: 2003\nid: 1005\nname: 'Room #1005'\n","is_delete":false,"is_create":true},{"time":"2026-07-01T04:10:03-04:00","description":"delete room 1005 (cleaned 1 exits)","file_path":"data/rooms/intro/1005.yaml","old_content":"color: A5\nexits:\n southwest: 2003\nid: 1005\nname: 'Room #1005'\n","new_content":"","is_delete":true,"is_create":false,"extra_files":[{"file_path":"data/rooms/intro/2003.yaml","old_content":"id: 2003\nname: Test Room\ncolor: A5\ndescription:\n - text: It's a test room\nexits:\n northeast:\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","new_content":"id: 2003\nname: Test Room\ncolor: A5\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"}]},{"time":"2026-07-01T04:11:43-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: A5\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: A5\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-07-01T04:22:38-04:00","description":"Update drop credit_stick_drop","file_path":"data/drops/credit_stick_drop.yaml","old_content":"drops:\n - item_id: credits\n weight: 40\n quantity: 15\n - item_id: credits\n weight: 30\n quantity: 30\n - item_id: credits\n weight: 20\n quantity: 50\n - item_id: credits\n weight: 8\n quantity: 100\n - item_id: credits\n weight: 2\n quantity: 250","new_content":"drops:\n - item_id: credits\n quantity: 14\n weight: 40\n - item_id: credits\n quantity: 30\n weight: 30\n - item_id: credits\n quantity: 50\n weight: 20\n - item_id: credits\n quantity: 100\n weight: 8\n - item_id: credits\n quantity: 250\n weight: 2\nid: credit_stick_drop\n","is_delete":false,"is_create":false},{"time":"2026-07-01T04:22:42-04:00","description":"Update drop credit_stick_drop","file_path":"data/drops/credit_stick_drop.yaml","old_content":"drops:\n - item_id: credits\n quantity: 14\n weight: 40\n - item_id: credits\n quantity: 30\n weight: 30\n - item_id: credits\n quantity: 50\n weight: 20\n - item_id: credits\n quantity: 100\n weight: 8\n - item_id: credits\n quantity: 250\n weight: 2\nid: credit_stick_drop\n","new_content":"drops:\n - item_id: credits\n quantity: 15\n weight: 40\n - item_id: credits\n quantity: 30\n weight: 30\n - item_id: credits\n quantity: 50\n weight: 20\n - item_id: credits\n quantity: 100\n weight: 8\n - item_id: credits\n quantity: 250\n weight: 2\nid: credit_stick_drop\n","is_delete":false,"is_create":false}],"redo":null} \ No newline at end of file diff --git a/data/drops/credit_stick_drop.yaml b/data/drops/credit_stick_drop.yaml index 09ad76a..8b00d69 100644 --- a/data/drops/credit_stick_drop.yaml +++ b/data/drops/credit_stick_drop.yaml @@ -1,16 +1,17 @@ drops: - item_id: credits - weight: 40 quantity: 15 + weight: 40 - item_id: credits - weight: 30 quantity: 30 + weight: 30 - item_id: credits - weight: 20 quantity: 50 + weight: 20 - item_id: credits - weight: 8 quantity: 100 + weight: 8 - item_id: credits + quantity: 250 weight: 2 - quantity: 250 \ No newline at end of file +id: credit_stick_drop diff --git a/data/items/ammo/adamant_arrow.yaml b/data/items/ammo/adamant_arrow.yaml index 3b1a750..68e9f18 100644 --- a/data/items/ammo/adamant_arrow.yaml +++ b/data/items/ammo/adamant_arrow.yaml @@ -10,7 +10,7 @@ craft: level: 60 output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 10 description: An adamant-tipped arrow. equipment: diff --git a/data/items/ammo/adamant_arrowtips.yaml b/data/items/ammo/adamant_arrowtips.yaml index 8e83ec8..d66aef2 100644 --- a/data/items/ammo/adamant_arrowtips.yaml +++ b/data/items/ammo/adamant_arrowtips.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: A set of adamant arrowtips. name: adamant arrowtips diff --git a/data/items/ammo/adamant_bolts.yaml b/data/items/ammo/adamant_bolts.yaml index 2a416ec..90476ad 100644 --- a/data/items/ammo/adamant_bolts.yaml +++ b/data/items/ammo/adamant_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 61 output_qty: 10 type: fletching - wait: 0 + ticks_per_cycle: 0 xp: 70 description: Adamant crossbow bolts. equipment: diff --git a/data/items/ammo/adamant_bolts_unf.yaml b/data/items/ammo/adamant_bolts_unf.yaml index 857dc34..747a1e3 100644 --- a/data/items/ammo/adamant_bolts_unf.yaml +++ b/data/items/ammo/adamant_bolts_unf.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: Unfinished adamant crossbow bolts. name: adamant bolts (unf) diff --git a/data/items/ammo/arrow_shaft.yaml b/data/items/ammo/arrow_shaft.yaml index ce44c90..023c366 100644 --- a/data/items/ammo/arrow_shaft.yaml +++ b/data/items/ammo/arrow_shaft.yaml @@ -8,7 +8,7 @@ craft: output_qty: 15 tool: knife type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 5 - ingredients: - items: @@ -18,7 +18,7 @@ craft: output_qty: 20 tool: knife type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 10 - ingredients: - items: @@ -28,7 +28,7 @@ craft: output_qty: 25 tool: knife type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 15 - ingredients: - items: @@ -38,7 +38,7 @@ craft: output_qty: 30 tool: knife type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 20 - ingredients: - items: @@ -48,7 +48,7 @@ craft: output_qty: 35 tool: knife type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 25 - ingredients: - items: @@ -58,7 +58,7 @@ craft: output_qty: 40 tool: knife type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 30 description: A wooden arrow shaft. Needs feathers and a head. name: arrow shaft diff --git a/data/items/ammo/bronze_arrow.yaml b/data/items/ammo/bronze_arrow.yaml index dfdac57..855b141 100644 --- a/data/items/ammo/bronze_arrow.yaml +++ b/data/items/ammo/bronze_arrow.yaml @@ -10,7 +10,7 @@ craft: level: 1 output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 1 description: A bronze-tipped arrow. equipment: diff --git a/data/items/ammo/bronze_arrowtips.yaml b/data/items/ammo/bronze_arrowtips.yaml index d8dd71e..5ecbec7 100644 --- a/data/items/ammo/bronze_arrowtips.yaml +++ b/data/items/ammo/bronze_arrowtips.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: A set of bronze arrowtips. name: bronze arrowtips diff --git a/data/items/ammo/bronze_bolts.yaml b/data/items/ammo/bronze_bolts.yaml index 3aeb21b..ab04b3e 100644 --- a/data/items/ammo/bronze_bolts.yaml +++ b/data/items/ammo/bronze_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 9 output_qty: 10 type: fletching - wait: 0 + ticks_per_cycle: 0 xp: 5 description: Bronze crossbow bolts. equipment: diff --git a/data/items/ammo/bronze_bolts_unf.yaml b/data/items/ammo/bronze_bolts_unf.yaml index ff0a8be..1a7eb85 100644 --- a/data/items/ammo/bronze_bolts_unf.yaml +++ b/data/items/ammo/bronze_bolts_unf.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: Unfinished bronze crossbow bolts. name: bronze bolts (unf) diff --git a/data/items/ammo/diamond_bolt_tips.yaml b/data/items/ammo/diamond_bolt_tips.yaml index 96bc0eb..f0983f7 100644 --- a/data/items/ammo/diamond_bolt_tips.yaml +++ b/data/items/ammo/diamond_bolt_tips.yaml @@ -8,7 +8,7 @@ craft: output_qty: 12 tool: chisel type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 7 description: Bolt tips cut from a diamond. name: diamond bolt tips diff --git a/data/items/ammo/diamond_bolts.yaml b/data/items/ammo/diamond_bolts.yaml index 1cbc3f6..bff23ac 100644 --- a/data/items/ammo/diamond_bolts.yaml +++ b/data/items/ammo/diamond_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 65 output_qty: 10 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 7 description: Bolts tipped with diamond. Can be enchanted via science. equipment: diff --git a/data/items/ammo/emerald_bolt_tips.yaml b/data/items/ammo/emerald_bolt_tips.yaml index 871ac1d..806adee 100644 --- a/data/items/ammo/emerald_bolt_tips.yaml +++ b/data/items/ammo/emerald_bolt_tips.yaml @@ -8,7 +8,7 @@ craft: output_qty: 12 tool: chisel type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 5 description: Bolt tips cut from an emerald. name: emerald bolt tips diff --git a/data/items/ammo/emerald_bolts.yaml b/data/items/ammo/emerald_bolts.yaml index 8cafc32..4f1a123 100644 --- a/data/items/ammo/emerald_bolts.yaml +++ b/data/items/ammo/emerald_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 66 output_qty: 10 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 5 description: Bolts tipped with emerald. Can be enchanted via science. equipment: diff --git a/data/items/ammo/headless_arrow.yaml b/data/items/ammo/headless_arrow.yaml index ca62b1d..ac27842 100644 --- a/data/items/ammo/headless_arrow.yaml +++ b/data/items/ammo/headless_arrow.yaml @@ -11,7 +11,7 @@ craft: success_message: "You attach feathers to the %i1." output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 1 description: An arrow shaft with feathers attached. Needs a head. name: headless arrow diff --git a/data/items/ammo/iron_arrow.yaml b/data/items/ammo/iron_arrow.yaml index f0036d8..baaa64e 100644 --- a/data/items/ammo/iron_arrow.yaml +++ b/data/items/ammo/iron_arrow.yaml @@ -10,7 +10,7 @@ craft: level: 15 output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 2 description: An iron-tipped arrow. equipment: diff --git a/data/items/ammo/iron_arrowtips.yaml b/data/items/ammo/iron_arrowtips.yaml index 8aec7d9..6cd67e9 100644 --- a/data/items/ammo/iron_arrowtips.yaml +++ b/data/items/ammo/iron_arrowtips.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A set of iron arrowtips. name: iron arrowtips diff --git a/data/items/ammo/iron_bolts.yaml b/data/items/ammo/iron_bolts.yaml index 30e5b28..2b93900 100644 --- a/data/items/ammo/iron_bolts.yaml +++ b/data/items/ammo/iron_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 39 output_qty: 10 type: fletching - wait: 0 + ticks_per_cycle: 0 xp: 15 description: Iron crossbow bolts. equipment: diff --git a/data/items/ammo/iron_bolts_unf.yaml b/data/items/ammo/iron_bolts_unf.yaml index 181a5e2..b7cd793 100644 --- a/data/items/ammo/iron_bolts_unf.yaml +++ b/data/items/ammo/iron_bolts_unf.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: Unfinished iron crossbow bolts. name: iron bolts (unf) diff --git a/data/items/ammo/mithril_arrow.yaml b/data/items/ammo/mithril_arrow.yaml index 853b38d..8e37103 100644 --- a/data/items/ammo/mithril_arrow.yaml +++ b/data/items/ammo/mithril_arrow.yaml @@ -10,7 +10,7 @@ craft: level: 45 output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 7 description: A mithril-tipped arrow. equipment: diff --git a/data/items/ammo/mithril_arrowtips.yaml b/data/items/ammo/mithril_arrowtips.yaml index 8f213ec..3a29467 100644 --- a/data/items/ammo/mithril_arrowtips.yaml +++ b/data/items/ammo/mithril_arrowtips.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A set of mithril arrowtips. name: mithril arrowtips diff --git a/data/items/ammo/mithril_bolts.yaml b/data/items/ammo/mithril_bolts.yaml index 5f64ba1..d21d769 100644 --- a/data/items/ammo/mithril_bolts.yaml +++ b/data/items/ammo/mithril_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 54 output_qty: 10 type: fletching - wait: 0 + ticks_per_cycle: 0 xp: 50 description: Mithril crossbow bolts. equipment: diff --git a/data/items/ammo/mithril_bolts_unf.yaml b/data/items/ammo/mithril_bolts_unf.yaml index 0ff8efe..0167fb8 100644 --- a/data/items/ammo/mithril_bolts_unf.yaml +++ b/data/items/ammo/mithril_bolts_unf.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: Unfinished mithril crossbow bolts. name: mithril bolts (unf) diff --git a/data/items/ammo/ruby_bolt_tips.yaml b/data/items/ammo/ruby_bolt_tips.yaml index a900f90..de7c7c1 100644 --- a/data/items/ammo/ruby_bolt_tips.yaml +++ b/data/items/ammo/ruby_bolt_tips.yaml @@ -8,7 +8,7 @@ craft: output_qty: 12 tool: chisel type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 6 description: Bolt tips cut from a ruby. name: ruby bolt tips diff --git a/data/items/ammo/ruby_bolts.yaml b/data/items/ammo/ruby_bolts.yaml index 354d595..f539b4f 100644 --- a/data/items/ammo/ruby_bolts.yaml +++ b/data/items/ammo/ruby_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 73 output_qty: 10 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 6 description: Bolts tipped with ruby. Can be enchanted via science. equipment: diff --git a/data/items/ammo/rune_arrow.yaml b/data/items/ammo/rune_arrow.yaml index e997871..3db9665 100644 --- a/data/items/ammo/rune_arrow.yaml +++ b/data/items/ammo/rune_arrow.yaml @@ -10,7 +10,7 @@ craft: level: 75 output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 12 description: A rune-tipped arrow. equipment: diff --git a/data/items/ammo/rune_arrowtips.yaml b/data/items/ammo/rune_arrowtips.yaml index 354cf0e..5045bab 100644 --- a/data/items/ammo/rune_arrowtips.yaml +++ b/data/items/ammo/rune_arrowtips.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A set of rune arrowtips. name: rune arrowtips diff --git a/data/items/ammo/rune_bolts.yaml b/data/items/ammo/rune_bolts.yaml index 534dc94..5875f05 100644 --- a/data/items/ammo/rune_bolts.yaml +++ b/data/items/ammo/rune_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 69 output_qty: 10 type: fletching - wait: 0 + ticks_per_cycle: 0 xp: 100 description: Rune crossbow bolts. equipment: diff --git a/data/items/ammo/rune_bolts_unf.yaml b/data/items/ammo/rune_bolts_unf.yaml index a529c37..af504e6 100644 --- a/data/items/ammo/rune_bolts_unf.yaml +++ b/data/items/ammo/rune_bolts_unf.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: Unfinished rune crossbow bolts. name: rune bolts (unf) diff --git a/data/items/ammo/sapphire_bolt_tips.yaml b/data/items/ammo/sapphire_bolt_tips.yaml index bffee83..6cf5ff3 100644 --- a/data/items/ammo/sapphire_bolt_tips.yaml +++ b/data/items/ammo/sapphire_bolt_tips.yaml @@ -8,7 +8,7 @@ craft: output_qty: 12 tool: chisel type: fletching - wait: 5 + ticks_per_cycle: 5 xp: 4 description: Bolt tips cut from a sapphire. name: sapphire bolt tips diff --git a/data/items/ammo/sapphire_bolts.yaml b/data/items/ammo/sapphire_bolts.yaml index 253de08..893ddc3 100644 --- a/data/items/ammo/sapphire_bolts.yaml +++ b/data/items/ammo/sapphire_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 63 output_qty: 10 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 4 description: Bolts tipped with sapphire. Can be enchanted via science. equipment: diff --git a/data/items/ammo/steel_arrow.yaml b/data/items/ammo/steel_arrow.yaml index 4f0fe7d..d1094ad 100644 --- a/data/items/ammo/steel_arrow.yaml +++ b/data/items/ammo/steel_arrow.yaml @@ -10,7 +10,7 @@ craft: level: 30 output_qty: 15 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 5 description: A steel-tipped arrow. equipment: diff --git a/data/items/ammo/steel_arrowtips.yaml b/data/items/ammo/steel_arrowtips.yaml index b455f31..85102e8 100644 --- a/data/items/ammo/steel_arrowtips.yaml +++ b/data/items/ammo/steel_arrowtips.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A set of steel arrowtips. name: steel arrowtips diff --git a/data/items/ammo/steel_bolts.yaml b/data/items/ammo/steel_bolts.yaml index f91b024..ab42ad7 100644 --- a/data/items/ammo/steel_bolts.yaml +++ b/data/items/ammo/steel_bolts.yaml @@ -10,7 +10,7 @@ craft: level: 46 output_qty: 10 type: fletching - wait: 0 + ticks_per_cycle: 0 xp: 35 description: Steel crossbow bolts. equipment: diff --git a/data/items/ammo/steel_bolts_unf.yaml b/data/items/ammo/steel_bolts_unf.yaml index 4532220..6e3ea80 100644 --- a/data/items/ammo/steel_bolts_unf.yaml +++ b/data/items/ammo/steel_bolts_unf.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: Unfinished steel crossbow bolts. name: steel bolts (unf) diff --git a/data/items/consumables/amp_potion.yaml b/data/items/consumables/amp_potion.yaml index 22f9dd7..bef5891 100644 --- a/data/items/consumables/amp_potion.yaml +++ b/data/items/consumables/amp_potion.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 12 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A glowing gold potion that amplifies physical strength. name: amp potion diff --git a/data/items/consumables/anchovies.yaml b/data/items/consumables/anchovies.yaml index 1d1dfdd..5fe9bf4 100644 --- a/data/items/consumables/anchovies.yaml +++ b/data/items/consumables/anchovies.yaml @@ -11,7 +11,7 @@ craft: - fire - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 30 description: Some nicely cooked anchovies. eat_message: You eat the anchovies. diff --git a/data/items/consumables/avantoe_potion_unf.yaml b/data/items/consumables/avantoe_potion_unf.yaml index 8cee682..a37966a 100644 --- a/data/items/consumables/avantoe_potion_unf.yaml +++ b/data/items/consumables/avantoe_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with avantoe floating in water. name: avantoe potion (unf) stackable: false diff --git a/data/items/consumables/bio_serum.yaml b/data/items/consumables/bio_serum.yaml index 68147b1..9959feb 100644 --- a/data/items/consumables/bio_serum.yaml +++ b/data/items/consumables/bio_serum.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 5 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 38 description: A green serum that neutralizes biological toxins and restores health. name: bio serum diff --git a/data/items/consumables/bread.yaml b/data/items/consumables/bread.yaml index 6ded8b0..ef14f1a 100644 --- a/data/items/consumables/bread.yaml +++ b/data/items/consumables/bread.yaml @@ -11,7 +11,7 @@ craft: station: - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 40 description: A fresh loaf of bread, still warm from the oven. eat_message: You eat the bread. Warm and satisfying. diff --git a/data/items/consumables/bread_dough.yaml b/data/items/consumables/bread_dough.yaml index cce972d..9909c58 100644 --- a/data/items/consumables/bread_dough.yaml +++ b/data/items/consumables/bread_dough.yaml @@ -1,6 +1,8 @@ color: DE craft: - - ingredients: + - end_message: "" + fail: "" + ingredients: - byproducts: - empty_pot items: @@ -13,17 +15,15 @@ craft: - bucket_of_water - jug_of_water quantity: 1 - end_message: testend - fail: "" level: 0 - success_message: testmsg output_qty: 0 - start_message: teststart + start_message: "" station: [] subtype: "" + success_message: "" + ticks_per_cycle: 2 tool: "" type: combine - wait: 2 xp: 0 description: A ball of uncooked bread dough. It needs to be baked. id: bread_dough diff --git a/data/items/consumables/cadantine_potion_unf.yaml b/data/items/consumables/cadantine_potion_unf.yaml index d222ed4..3630312 100644 --- a/data/items/consumables/cadantine_potion_unf.yaml +++ b/data/items/consumables/cadantine_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with cadantine floating in water. name: cadantine potion (unf) stackable: false diff --git a/data/items/consumables/dwarf_weed_potion_unf.yaml b/data/items/consumables/dwarf_weed_potion_unf.yaml index 084a434..9d4076b 100644 --- a/data/items/consumables/dwarf_weed_potion_unf.yaml +++ b/data/items/consumables/dwarf_weed_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with dwarf weed floating in water. name: dwarf weed potion (unf) stackable: false diff --git a/data/items/consumables/full_restore.yaml b/data/items/consumables/full_restore.yaml index 178914e..48f32e9 100644 --- a/data/items/consumables/full_restore.yaml +++ b/data/items/consumables/full_restore.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 63 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 143 description: A powerful orange potion that completely restores health. name: full restore diff --git a/data/items/consumables/guam_potion_unf.yaml b/data/items/consumables/guam_potion_unf.yaml index b758ac1..3175d81 100644 --- a/data/items/consumables/guam_potion_unf.yaml +++ b/data/items/consumables/guam_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 success_message: "You mix %i1 and %i2 into %n!!!" description: An unfinished potion with guam floating in water. name: guam potion (unf) diff --git a/data/items/consumables/harralander_potion_unf.yaml b/data/items/consumables/harralander_potion_unf.yaml index cf4873f..4620d73 100644 --- a/data/items/consumables/harralander_potion_unf.yaml +++ b/data/items/consumables/harralander_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with harralander floating in water. name: harralander potion (unf) stackable: false diff --git a/data/items/consumables/herring.yaml b/data/items/consumables/herring.yaml index 165802b..fe01452 100644 --- a/data/items/consumables/herring.yaml +++ b/data/items/consumables/herring.yaml @@ -11,7 +11,7 @@ craft: - fire - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 50 description: A nicely cooked herring. eat_message: You eat the herring. diff --git a/data/items/consumables/irit_potion_unf.yaml b/data/items/consumables/irit_potion_unf.yaml index b358c07..887de6d 100644 --- a/data/items/consumables/irit_potion_unf.yaml +++ b/data/items/consumables/irit_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with irit floating in water. name: irit potion (unf) stackable: false diff --git a/data/items/consumables/kwuarm_potion_unf.yaml b/data/items/consumables/kwuarm_potion_unf.yaml index 801d301..6515b7c 100644 --- a/data/items/consumables/kwuarm_potion_unf.yaml +++ b/data/items/consumables/kwuarm_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with kwuarm floating in water. name: kwuarm potion (unf) stackable: false diff --git a/data/items/consumables/lantadyme_potion_unf.yaml b/data/items/consumables/lantadyme_potion_unf.yaml index 069cf22..ba3c53a 100644 --- a/data/items/consumables/lantadyme_potion_unf.yaml +++ b/data/items/consumables/lantadyme_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with lantadyme floating in water. name: lantadyme potion (unf) stackable: false diff --git a/data/items/consumables/marrentill_potion_unf.yaml b/data/items/consumables/marrentill_potion_unf.yaml index f39094e..7d42926 100644 --- a/data/items/consumables/marrentill_potion_unf.yaml +++ b/data/items/consumables/marrentill_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with marrentill floating in water. name: marrentill potion (unf) stackable: false diff --git a/data/items/consumables/nano_restore.yaml b/data/items/consumables/nano_restore.yaml index ddb355a..88b75ab 100644 --- a/data/items/consumables/nano_restore.yaml +++ b/data/items/consumables/nano_restore.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 22 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 63 description: An orange potion containing nanobots that restore diminished attributes. name: nano restore diff --git a/data/items/consumables/pastry_dough.yaml b/data/items/consumables/pastry_dough.yaml index 8c106e0..6cf7020 100644 --- a/data/items/consumables/pastry_dough.yaml +++ b/data/items/consumables/pastry_dough.yaml @@ -8,7 +8,7 @@ craft: - items: - bucket_of_water quantity: 1 - wait: 2 + ticks_per_cycle: 2 description: A ball of uncooked pastry dough. It needs to be baked. name: pastry dough stackable: false diff --git a/data/items/consumables/pie_dish.yaml b/data/items/consumables/pie_dish.yaml index 959cb65..799108f 100644 --- a/data/items/consumables/pie_dish.yaml +++ b/data/items/consumables/pie_dish.yaml @@ -14,7 +14,7 @@ craft: cap: 0.95 per_level: 0.02 type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 10 description: A clay pie dish for baking pies. name: pie dish diff --git a/data/items/consumables/pizza_dough.yaml b/data/items/consumables/pizza_dough.yaml index c8e29dc..b323f92 100644 --- a/data/items/consumables/pizza_dough.yaml +++ b/data/items/consumables/pizza_dough.yaml @@ -8,7 +8,7 @@ craft: - items: - bucket_of_water quantity: 1 - wait: 2 + ticks_per_cycle: 2 description: A ball of uncooked pizza dough. It needs to be baked. name: pizza dough stackable: false diff --git a/data/items/consumables/ranarr_potion_unf.yaml b/data/items/consumables/ranarr_potion_unf.yaml index 3adfbf7..a91a79a 100644 --- a/data/items/consumables/ranarr_potion_unf.yaml +++ b/data/items/consumables/ranarr_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with ranarr floating in water. name: ranarr potion (unf) stackable: false diff --git a/data/items/consumables/restoration_compound.yaml b/data/items/consumables/restoration_compound.yaml index 79eac7a..e9d9c86 100644 --- a/data/items/consumables/restoration_compound.yaml +++ b/data/items/consumables/restoration_compound.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 81 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 180 description: A teal compound that enhances all combat capabilities. name: restoration compound diff --git a/data/items/consumables/salmon.yaml b/data/items/consumables/salmon.yaml index b29f935..ca0c2bd 100644 --- a/data/items/consumables/salmon.yaml +++ b/data/items/consumables/salmon.yaml @@ -11,7 +11,7 @@ craft: - fire - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 90 description: A nicely cooked salmon. eat_message: You eat the salmon. Savory and satisfying! diff --git a/data/items/consumables/sardine.yaml b/data/items/consumables/sardine.yaml index 0c4f53e..2004598 100644 --- a/data/items/consumables/sardine.yaml +++ b/data/items/consumables/sardine.yaml @@ -11,7 +11,7 @@ craft: - fire - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 40 description: A nicely cooked sardine. eat_message: You eat the sardine. diff --git a/data/items/consumables/science_serum.yaml b/data/items/consumables/science_serum.yaml index 4915ea8..a049864 100644 --- a/data/items/consumables/science_serum.yaml +++ b/data/items/consumables/science_serum.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 76 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 173 description: A violet serum that heightens scientific cognition. name: science serum diff --git a/data/items/consumables/shield_potion.yaml b/data/items/consumables/shield_potion.yaml index 88d1967..7e3bcbf 100644 --- a/data/items/consumables/shield_potion.yaml +++ b/data/items/consumables/shield_potion.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 30 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A deep blue potion that reinforces defensive capability. name: shield potion diff --git a/data/items/consumables/shrimps.yaml b/data/items/consumables/shrimps.yaml index be11251..7e93f63 100644 --- a/data/items/consumables/shrimps.yaml +++ b/data/items/consumables/shrimps.yaml @@ -11,7 +11,7 @@ craft: - fire - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 30 description: Some nicely cooked shrimps. eat_message: You eat the shrimps. Tasty! diff --git a/data/items/consumables/snapdragon_potion_unf.yaml b/data/items/consumables/snapdragon_potion_unf.yaml index d3e8a9e..8b27c4b 100644 --- a/data/items/consumables/snapdragon_potion_unf.yaml +++ b/data/items/consumables/snapdragon_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with snapdragon floating in water. name: snapdragon potion (unf) stackable: false diff --git a/data/items/consumables/stim_potion.yaml b/data/items/consumables/stim_potion.yaml index c61e4fb..b1d604a 100644 --- a/data/items/consumables/stim_potion.yaml +++ b/data/items/consumables/stim_potion.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 1 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A bubbling red potion that temporarily boosts attack capability. name: stim potion diff --git a/data/items/consumables/super_amp.yaml b/data/items/consumables/super_amp.yaml index f8fd85c..5805dca 100644 --- a/data/items/consumables/super_amp.yaml +++ b/data/items/consumables/super_amp.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 55 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 125 description: A concentrated gold potion that significantly amplifies physical strength. name: super amp diff --git a/data/items/consumables/super_bio_serum.yaml b/data/items/consumables/super_bio_serum.yaml index d4003a4..cd27998 100644 --- a/data/items/consumables/super_bio_serum.yaml +++ b/data/items/consumables/super_bio_serum.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 48 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 106 description: A concentrated green serum that powerfully restores health. name: super bio serum diff --git a/data/items/consumables/super_shield.yaml b/data/items/consumables/super_shield.yaml index 90389d6..5a106b9 100644 --- a/data/items/consumables/super_shield.yaml +++ b/data/items/consumables/super_shield.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 66 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 150 description: A concentrated blue potion that provides significant defensive enhancement. name: super shield diff --git a/data/items/consumables/super_stim.yaml b/data/items/consumables/super_stim.yaml index 27662a5..579c6bd 100644 --- a/data/items/consumables/super_stim.yaml +++ b/data/items/consumables/super_stim.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 45 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 100 description: A potent red potion that dramatically boosts attack capability. name: super stim diff --git a/data/items/consumables/super_stim_cell.yaml b/data/items/consumables/super_stim_cell.yaml index 37c4af2..ec30361 100644 --- a/data/items/consumables/super_stim_cell.yaml +++ b/data/items/consumables/super_stim_cell.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 52 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 118 description: A concentrated yellow energy supplement that fully restores stamina. name: super stim cell diff --git a/data/items/consumables/targeting_serum.yaml b/data/items/consumables/targeting_serum.yaml index 74b3e73..012ce5f 100644 --- a/data/items/consumables/targeting_serum.yaml +++ b/data/items/consumables/targeting_serum.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 72 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 163 description: A pink serum that sharpens ranged targeting. name: targeting serum diff --git a/data/items/consumables/tarromin_potion_unf.yaml b/data/items/consumables/tarromin_potion_unf.yaml index c8798f6..e34c957 100644 --- a/data/items/consumables/tarromin_potion_unf.yaml +++ b/data/items/consumables/tarromin_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with tarromin floating in water. name: tarromin potion (unf) stackable: false diff --git a/data/items/consumables/tech_serum.yaml b/data/items/consumables/tech_serum.yaml index 01ad080..5886f5b 100644 --- a/data/items/consumables/tech_serum.yaml +++ b/data/items/consumables/tech_serum.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 38 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 88 description: A cyan serum that enhances technology interface. name: tech serum diff --git a/data/items/consumables/toadflax_potion_unf.yaml b/data/items/consumables/toadflax_potion_unf.yaml index aa56ef7..9ace030 100644 --- a/data/items/consumables/toadflax_potion_unf.yaml +++ b/data/items/consumables/toadflax_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with toadflax floating in water. name: toadflax potion (unf) stackable: false diff --git a/data/items/consumables/torstol_potion_unf.yaml b/data/items/consumables/torstol_potion_unf.yaml index 89e8f8c..7d15317 100644 --- a/data/items/consumables/torstol_potion_unf.yaml +++ b/data/items/consumables/torstol_potion_unf.yaml @@ -8,7 +8,7 @@ craft: - items: - vial_of_water quantity: 1 - wait: 0 + ticks_per_cycle: 0 description: An unfinished potion with torstol floating in water. name: torstol potion (unf) stackable: false diff --git a/data/items/consumables/trout.yaml b/data/items/consumables/trout.yaml index 91933d6..fc52b07 100644 --- a/data/items/consumables/trout.yaml +++ b/data/items/consumables/trout.yaml @@ -11,7 +11,7 @@ craft: - fire - cooking_range type: cooking - wait: 6 + ticks_per_cycle: 6 xp: 70 description: A nicely cooked trout. eat_message: You eat the trout. Delicious! diff --git a/data/items/equipment/adamant_dagger.yaml b/data/items/equipment/adamant_dagger.yaml index 7a4a832..1495e41 100644 --- a/data/items/equipment/adamant_dagger.yaml +++ b/data/items/equipment/adamant_dagger.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: A small adamant dagger. equipment: diff --git a/data/items/equipment/adamant_full_helm.yaml b/data/items/equipment/adamant_full_helm.yaml index 5d4bd24..f6c00d6 100644 --- a/data/items/equipment/adamant_full_helm.yaml +++ b/data/items/equipment/adamant_full_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 125 description: An adamant full helmet. equipment: diff --git a/data/items/equipment/adamant_med_helm.yaml b/data/items/equipment/adamant_med_helm.yaml index 3b06767..515c146 100644 --- a/data/items/equipment/adamant_med_helm.yaml +++ b/data/items/equipment/adamant_med_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: An adamant medium helmet. equipment: diff --git a/data/items/equipment/adamant_platebody.yaml b/data/items/equipment/adamant_platebody.yaml index 144bf78..8567f62 100644 --- a/data/items/equipment/adamant_platebody.yaml +++ b/data/items/equipment/adamant_platebody.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 312 description: An adamant platebody. equipment: diff --git a/data/items/equipment/adamant_sword.yaml b/data/items/equipment/adamant_sword.yaml index 052d501..bdb037e 100644 --- a/data/items/equipment/adamant_sword.yaml +++ b/data/items/equipment/adamant_sword.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: An adamant sword. equipment: diff --git a/data/items/equipment/bronze_dagger.yaml b/data/items/equipment/bronze_dagger.yaml index a1fa416..2ff0b03 100644 --- a/data/items/equipment/bronze_dagger.yaml +++ b/data/items/equipment/bronze_dagger.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: A small bronze dagger. equipment: diff --git a/data/items/equipment/bronze_full_helm.yaml b/data/items/equipment/bronze_full_helm.yaml index 1d61b36..9e71529 100644 --- a/data/items/equipment/bronze_full_helm.yaml +++ b/data/items/equipment/bronze_full_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A bronze full helmet. equipment: diff --git a/data/items/equipment/bronze_med_helm.yaml b/data/items/equipment/bronze_med_helm.yaml index 4832b3d..c4e0339 100644 --- a/data/items/equipment/bronze_med_helm.yaml +++ b/data/items/equipment/bronze_med_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: A bronze medium helmet. equipment: diff --git a/data/items/equipment/bronze_platebody.yaml b/data/items/equipment/bronze_platebody.yaml index a642f14..b8fade3 100644 --- a/data/items/equipment/bronze_platebody.yaml +++ b/data/items/equipment/bronze_platebody.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: A bronze platebody. equipment: diff --git a/data/items/equipment/bronze_sword.yaml b/data/items/equipment/bronze_sword.yaml index 56160f4..56e4bd9 100644 --- a/data/items/equipment/bronze_sword.yaml +++ b/data/items/equipment/bronze_sword.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: A basic bronze sword. equipment: diff --git a/data/items/equipment/coif.yaml b/data/items/equipment/coif.yaml index 7aeab1b..54a9c92 100644 --- a/data/items/equipment/coif.yaml +++ b/data/items/equipment/coif.yaml @@ -10,7 +10,7 @@ craft: level: 38 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A hard leather coif. equipment: diff --git a/data/items/equipment/diamond_amulet_u.yaml b/data/items/equipment/diamond_amulet_u.yaml index e8be864..27934ff 100644 --- a/data/items/equipment/diamond_amulet_u.yaml +++ b/data/items/equipment/diamond_amulet_u.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 100 description: An unstrung gold amulet set with a diamond. name: diamond amulet (u) diff --git a/data/items/equipment/diamond_bracelet.yaml b/data/items/equipment/diamond_bracelet.yaml index 090f4f5..cd2e035 100644 --- a/data/items/equipment/diamond_bracelet.yaml +++ b/data/items/equipment/diamond_bracelet.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 95 description: A bracelet set with a diamond. Can be enchanted. equipment: diff --git a/data/items/equipment/diamond_necklace.yaml b/data/items/equipment/diamond_necklace.yaml index 1c3510d..3ed7acd 100644 --- a/data/items/equipment/diamond_necklace.yaml +++ b/data/items/equipment/diamond_necklace.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 90 description: A necklace set with a diamond. Can be enchanted. equipment: diff --git a/data/items/equipment/diamond_ring.yaml b/data/items/equipment/diamond_ring.yaml index a8f8017..7543cc1 100644 --- a/data/items/equipment/diamond_ring.yaml +++ b/data/items/equipment/diamond_ring.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 85 description: A ring set with a diamond. Can be enchanted. equipment: diff --git a/data/items/equipment/emerald_amulet_u.yaml b/data/items/equipment/emerald_amulet_u.yaml index 0e0ac26..31c6ade 100644 --- a/data/items/equipment/emerald_amulet_u.yaml +++ b/data/items/equipment/emerald_amulet_u.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 70 description: An unstrung gold amulet set with a emerald. name: emerald amulet (u) diff --git a/data/items/equipment/emerald_bracelet.yaml b/data/items/equipment/emerald_bracelet.yaml index 990a7eb..c54efda 100644 --- a/data/items/equipment/emerald_bracelet.yaml +++ b/data/items/equipment/emerald_bracelet.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 65 description: A bracelet set with an emerald. Can be enchanted. equipment: diff --git a/data/items/equipment/emerald_necklace.yaml b/data/items/equipment/emerald_necklace.yaml index 99f1af2..91c0b51 100644 --- a/data/items/equipment/emerald_necklace.yaml +++ b/data/items/equipment/emerald_necklace.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 60 description: A necklace set with an emerald. Can be enchanted. equipment: diff --git a/data/items/equipment/emerald_ring.yaml b/data/items/equipment/emerald_ring.yaml index 401ac71..1ce05d8 100644 --- a/data/items/equipment/emerald_ring.yaml +++ b/data/items/equipment/emerald_ring.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 55 description: A ring set with an emerald. Can be enchanted. equipment: diff --git a/data/items/equipment/gold_amulet_u.yaml b/data/items/equipment/gold_amulet_u.yaml index bc8041c..49fc190 100644 --- a/data/items/equipment/gold_amulet_u.yaml +++ b/data/items/equipment/gold_amulet_u.yaml @@ -13,7 +13,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 30 description: An unstrung gold amulet. name: gold amulet (u) diff --git a/data/items/equipment/gold_bracelet.yaml b/data/items/equipment/gold_bracelet.yaml index 56882c2..aab2d92 100644 --- a/data/items/equipment/gold_bracelet.yaml +++ b/data/items/equipment/gold_bracelet.yaml @@ -13,7 +13,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A gold bracelet. equipment: diff --git a/data/items/equipment/gold_necklace.yaml b/data/items/equipment/gold_necklace.yaml index dc8d439..fffa173 100644 --- a/data/items/equipment/gold_necklace.yaml +++ b/data/items/equipment/gold_necklace.yaml @@ -13,7 +13,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 20 description: A gold necklace. equipment: diff --git a/data/items/equipment/gold_ring.yaml b/data/items/equipment/gold_ring.yaml index f9106ce..57c2981 100644 --- a/data/items/equipment/gold_ring.yaml +++ b/data/items/equipment/gold_ring.yaml @@ -13,7 +13,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 15 description: A simple gold ring. equipment: diff --git a/data/items/equipment/hard_leather_body.yaml b/data/items/equipment/hard_leather_body.yaml index f621852..a142f37 100644 --- a/data/items/equipment/hard_leather_body.yaml +++ b/data/items/equipment/hard_leather_body.yaml @@ -10,7 +10,7 @@ craft: level: 28 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 35 description: A hardened leather body armour. equipment: diff --git a/data/items/equipment/hard_leather_shield.yaml b/data/items/equipment/hard_leather_shield.yaml index 5d4a0d8..0b5af39 100644 --- a/data/items/equipment/hard_leather_shield.yaml +++ b/data/items/equipment/hard_leather_shield.yaml @@ -10,7 +10,7 @@ craft: level: 41 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 40 description: A shield made of hardened leather. equipment: diff --git a/data/items/equipment/iron_dagger.yaml b/data/items/equipment/iron_dagger.yaml index 024e4e1..dcae575 100644 --- a/data/items/equipment/iron_dagger.yaml +++ b/data/items/equipment/iron_dagger.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A small iron dagger. equipment: diff --git a/data/items/equipment/iron_full_helm.yaml b/data/items/equipment/iron_full_helm.yaml index d828b95..5fecebb 100644 --- a/data/items/equipment/iron_full_helm.yaml +++ b/data/items/equipment/iron_full_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: An iron full helmet. equipment: diff --git a/data/items/equipment/iron_med_helm.yaml b/data/items/equipment/iron_med_helm.yaml index 250327d..a45028e 100644 --- a/data/items/equipment/iron_med_helm.yaml +++ b/data/items/equipment/iron_med_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: An iron medium helmet. equipment: diff --git a/data/items/equipment/iron_platebody.yaml b/data/items/equipment/iron_platebody.yaml index 73c40f1..7f69c6e 100644 --- a/data/items/equipment/iron_platebody.yaml +++ b/data/items/equipment/iron_platebody.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 125 description: An iron platebody. equipment: diff --git a/data/items/equipment/iron_sword.yaml b/data/items/equipment/iron_sword.yaml index 392fe53..8a32a2f 100644 --- a/data/items/equipment/iron_sword.yaml +++ b/data/items/equipment/iron_sword.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: An iron sword. equipment: diff --git a/data/items/equipment/leather_body.yaml b/data/items/equipment/leather_body.yaml index 6611ce2..de62b93 100644 --- a/data/items/equipment/leather_body.yaml +++ b/data/items/equipment/leather_body.yaml @@ -10,7 +10,7 @@ craft: level: 14 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A leather body armour. equipment: diff --git a/data/items/equipment/leather_boots.yaml b/data/items/equipment/leather_boots.yaml index 2d8d280..ab1fb7e 100644 --- a/data/items/equipment/leather_boots.yaml +++ b/data/items/equipment/leather_boots.yaml @@ -10,7 +10,7 @@ craft: level: 7 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 16 description: A pair of leather boots. equipment: diff --git a/data/items/equipment/leather_chaps.yaml b/data/items/equipment/leather_chaps.yaml index 8246c8a..9a7ca9f 100644 --- a/data/items/equipment/leather_chaps.yaml +++ b/data/items/equipment/leather_chaps.yaml @@ -10,7 +10,7 @@ craft: level: 18 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 27 description: A pair of leather chaps. equipment: diff --git a/data/items/equipment/leather_cowl.yaml b/data/items/equipment/leather_cowl.yaml index c918ef0..faed8ab 100644 --- a/data/items/equipment/leather_cowl.yaml +++ b/data/items/equipment/leather_cowl.yaml @@ -10,7 +10,7 @@ craft: level: 9 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 19 description: A leather cowl. equipment: diff --git a/data/items/equipment/leather_gloves.yaml b/data/items/equipment/leather_gloves.yaml index 65a0168..088af24 100644 --- a/data/items/equipment/leather_gloves.yaml +++ b/data/items/equipment/leather_gloves.yaml @@ -10,7 +10,7 @@ craft: level: 1 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 14 description: A pair of leather gloves. equipment: diff --git a/data/items/equipment/leather_vambraces.yaml b/data/items/equipment/leather_vambraces.yaml index 26b0dea..891f1f8 100644 --- a/data/items/equipment/leather_vambraces.yaml +++ b/data/items/equipment/leather_vambraces.yaml @@ -10,7 +10,7 @@ craft: level: 11 tool: needle type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 22 description: A pair of leather vambraces. equipment: diff --git a/data/items/equipment/longbow.yaml b/data/items/equipment/longbow.yaml index 5529c1c..b92c11e 100644 --- a/data/items/equipment/longbow.yaml +++ b/data/items/equipment/longbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 10 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 10 description: A longbow. equipment: diff --git a/data/items/equipment/longbow_u.yaml b/data/items/equipment/longbow_u.yaml index 9597919..4cf5ddc 100644 --- a/data/items/equipment/longbow_u.yaml +++ b/data/items/equipment/longbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 10 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 10 description: An unstrung longbow. name: longbow (u) diff --git a/data/items/equipment/magic_longbow.yaml b/data/items/equipment/magic_longbow.yaml index fd39e94..4d59b33 100644 --- a/data/items/equipment/magic_longbow.yaml +++ b/data/items/equipment/magic_longbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 85 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 91 description: A magic longbow. equipment: diff --git a/data/items/equipment/magic_longbow_u.yaml b/data/items/equipment/magic_longbow_u.yaml index fae49b7..e514c50 100644 --- a/data/items/equipment/magic_longbow_u.yaml +++ b/data/items/equipment/magic_longbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 85 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 91 description: An unstrung magic longbow. name: magic longbow (u) diff --git a/data/items/equipment/magic_shortbow.yaml b/data/items/equipment/magic_shortbow.yaml index 424a504..e0a9df7 100644 --- a/data/items/equipment/magic_shortbow.yaml +++ b/data/items/equipment/magic_shortbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 80 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 83 description: A magic shortbow. equipment: diff --git a/data/items/equipment/magic_shortbow_u.yaml b/data/items/equipment/magic_shortbow_u.yaml index 4ba09d6..de486c6 100644 --- a/data/items/equipment/magic_shortbow_u.yaml +++ b/data/items/equipment/magic_shortbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 80 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 83 description: An unstrung magic shortbow. name: magic shortbow (u) diff --git a/data/items/equipment/maple_longbow.yaml b/data/items/equipment/maple_longbow.yaml index 994a60e..cdfddc8 100644 --- a/data/items/equipment/maple_longbow.yaml +++ b/data/items/equipment/maple_longbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 55 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 58 description: A maple longbow. equipment: diff --git a/data/items/equipment/maple_longbow_u.yaml b/data/items/equipment/maple_longbow_u.yaml index 85d558a..f4c66b7 100644 --- a/data/items/equipment/maple_longbow_u.yaml +++ b/data/items/equipment/maple_longbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 55 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 58 description: An unstrung maple longbow. name: maple longbow (u) diff --git a/data/items/equipment/maple_shortbow.yaml b/data/items/equipment/maple_shortbow.yaml index cd3a02c..06a9d2f 100644 --- a/data/items/equipment/maple_shortbow.yaml +++ b/data/items/equipment/maple_shortbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 50 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 50 description: A maple shortbow. equipment: diff --git a/data/items/equipment/maple_shortbow_u.yaml b/data/items/equipment/maple_shortbow_u.yaml index 93e7d6c..35d897e 100644 --- a/data/items/equipment/maple_shortbow_u.yaml +++ b/data/items/equipment/maple_shortbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 50 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 50 description: An unstrung maple shortbow. name: maple shortbow (u) diff --git a/data/items/equipment/mithril_dagger.yaml b/data/items/equipment/mithril_dagger.yaml index 0f717e7..5d15ea0 100644 --- a/data/items/equipment/mithril_dagger.yaml +++ b/data/items/equipment/mithril_dagger.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A small mithril dagger. equipment: diff --git a/data/items/equipment/mithril_full_helm.yaml b/data/items/equipment/mithril_full_helm.yaml index 6d40856..bef5fb5 100644 --- a/data/items/equipment/mithril_full_helm.yaml +++ b/data/items/equipment/mithril_full_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 100 description: A mithril full helmet. equipment: diff --git a/data/items/equipment/mithril_med_helm.yaml b/data/items/equipment/mithril_med_helm.yaml index 8bf7ac1..fd4682a 100644 --- a/data/items/equipment/mithril_med_helm.yaml +++ b/data/items/equipment/mithril_med_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A mithril medium helmet. equipment: diff --git a/data/items/equipment/mithril_platebody.yaml b/data/items/equipment/mithril_platebody.yaml index 04ca44e..a1a5353 100644 --- a/data/items/equipment/mithril_platebody.yaml +++ b/data/items/equipment/mithril_platebody.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 250 description: A mithril platebody. equipment: diff --git a/data/items/equipment/mithril_sword.yaml b/data/items/equipment/mithril_sword.yaml index fa87e56..f6b6925 100644 --- a/data/items/equipment/mithril_sword.yaml +++ b/data/items/equipment/mithril_sword.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A mithril sword. equipment: diff --git a/data/items/equipment/oak_longbow.yaml b/data/items/equipment/oak_longbow.yaml index 45ef2fc..0dde912 100644 --- a/data/items/equipment/oak_longbow.yaml +++ b/data/items/equipment/oak_longbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 25 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 25 description: An oak longbow. equipment: diff --git a/data/items/equipment/oak_longbow_u.yaml b/data/items/equipment/oak_longbow_u.yaml index 9d3cf68..7dc00a2 100644 --- a/data/items/equipment/oak_longbow_u.yaml +++ b/data/items/equipment/oak_longbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 25 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 25 description: An unstrung oak longbow. name: oak longbow (u) diff --git a/data/items/equipment/oak_shortbow.yaml b/data/items/equipment/oak_shortbow.yaml index 767bb43..6c0630d 100644 --- a/data/items/equipment/oak_shortbow.yaml +++ b/data/items/equipment/oak_shortbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 20 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 16 description: An oak shortbow. equipment: diff --git a/data/items/equipment/oak_shortbow_u.yaml b/data/items/equipment/oak_shortbow_u.yaml index 0b567c2..2e6814e 100644 --- a/data/items/equipment/oak_shortbow_u.yaml +++ b/data/items/equipment/oak_shortbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 20 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 16 description: An unstrung oak shortbow. name: oak shortbow (u) diff --git a/data/items/equipment/ruby_amulet_u.yaml b/data/items/equipment/ruby_amulet_u.yaml index 261d2e9..b1a5312 100644 --- a/data/items/equipment/ruby_amulet_u.yaml +++ b/data/items/equipment/ruby_amulet_u.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 85 description: An unstrung gold amulet set with a ruby. name: ruby amulet (u) diff --git a/data/items/equipment/ruby_bracelet.yaml b/data/items/equipment/ruby_bracelet.yaml index cc7a99a..127b845 100644 --- a/data/items/equipment/ruby_bracelet.yaml +++ b/data/items/equipment/ruby_bracelet.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 80 description: A bracelet set with a ruby. Can be enchanted. equipment: diff --git a/data/items/equipment/ruby_necklace.yaml b/data/items/equipment/ruby_necklace.yaml index b4e6cfb..2ad372f 100644 --- a/data/items/equipment/ruby_necklace.yaml +++ b/data/items/equipment/ruby_necklace.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A necklace set with a ruby. Can be enchanted. equipment: diff --git a/data/items/equipment/ruby_ring.yaml b/data/items/equipment/ruby_ring.yaml index 812a969..80656f9 100644 --- a/data/items/equipment/ruby_ring.yaml +++ b/data/items/equipment/ruby_ring.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 70 description: A ring set with a ruby. Can be enchanted. equipment: diff --git a/data/items/equipment/rune_dagger.yaml b/data/items/equipment/rune_dagger.yaml index 005fdc2..bd76af1 100644 --- a/data/items/equipment/rune_dagger.yaml +++ b/data/items/equipment/rune_dagger.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A small rune dagger. equipment: diff --git a/data/items/equipment/rune_full_helm.yaml b/data/items/equipment/rune_full_helm.yaml index 92fe0d5..3b5a752 100644 --- a/data/items/equipment/rune_full_helm.yaml +++ b/data/items/equipment/rune_full_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 150 description: A rune full helmet. equipment: diff --git a/data/items/equipment/rune_med_helm.yaml b/data/items/equipment/rune_med_helm.yaml index 24a8992..6b35544 100644 --- a/data/items/equipment/rune_med_helm.yaml +++ b/data/items/equipment/rune_med_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A rune medium helmet. equipment: diff --git a/data/items/equipment/rune_platebody.yaml b/data/items/equipment/rune_platebody.yaml index c5686d1..9189def 100644 --- a/data/items/equipment/rune_platebody.yaml +++ b/data/items/equipment/rune_platebody.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 375 description: A rune platebody. equipment: diff --git a/data/items/equipment/rune_sword.yaml b/data/items/equipment/rune_sword.yaml index d0adcdb..46ab6a7 100644 --- a/data/items/equipment/rune_sword.yaml +++ b/data/items/equipment/rune_sword.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A rune sword. equipment: diff --git a/data/items/equipment/sapphire_amulet_u.yaml b/data/items/equipment/sapphire_amulet_u.yaml index 241d463..ad8b860 100644 --- a/data/items/equipment/sapphire_amulet_u.yaml +++ b/data/items/equipment/sapphire_amulet_u.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 65 description: An unstrung gold amulet set with a sapphire. name: sapphire amulet (u) diff --git a/data/items/equipment/sapphire_bracelet.yaml b/data/items/equipment/sapphire_bracelet.yaml index f5cf3fb..d2b65a8 100644 --- a/data/items/equipment/sapphire_bracelet.yaml +++ b/data/items/equipment/sapphire_bracelet.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 60 description: A bracelet set with a sapphire. Can be enchanted. equipment: diff --git a/data/items/equipment/sapphire_necklace.yaml b/data/items/equipment/sapphire_necklace.yaml index cd93467..b7d550c 100644 --- a/data/items/equipment/sapphire_necklace.yaml +++ b/data/items/equipment/sapphire_necklace.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 55 description: A necklace set with a sapphire. Can be enchanted. equipment: diff --git a/data/items/equipment/sapphire_ring.yaml b/data/items/equipment/sapphire_ring.yaml index da1cd43..712e57c 100644 --- a/data/items/equipment/sapphire_ring.yaml +++ b/data/items/equipment/sapphire_ring.yaml @@ -16,7 +16,7 @@ craft: station: - furnace type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 40 description: A ring set with a sapphire. Can be enchanted. equipment: diff --git a/data/items/equipment/shortbow.yaml b/data/items/equipment/shortbow.yaml index cd79769..3e5048b 100644 --- a/data/items/equipment/shortbow.yaml +++ b/data/items/equipment/shortbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 5 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 5 description: A shortbow. equipment: diff --git a/data/items/equipment/shortbow_u.yaml b/data/items/equipment/shortbow_u.yaml index 9715273..7df4902 100644 --- a/data/items/equipment/shortbow_u.yaml +++ b/data/items/equipment/shortbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 5 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 5 description: An unstrung shortbow. name: shortbow (u) diff --git a/data/items/equipment/steel_dagger.yaml b/data/items/equipment/steel_dagger.yaml index 4a1cbc5..8bdc8ae 100644 --- a/data/items/equipment/steel_dagger.yaml +++ b/data/items/equipment/steel_dagger.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A small steel dagger. equipment: diff --git a/data/items/equipment/steel_full_helm.yaml b/data/items/equipment/steel_full_helm.yaml index da282fa..1596a60 100644 --- a/data/items/equipment/steel_full_helm.yaml +++ b/data/items/equipment/steel_full_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A steel full helmet. equipment: diff --git a/data/items/equipment/steel_med_helm.yaml b/data/items/equipment/steel_med_helm.yaml index 99186d0..489ad3d 100644 --- a/data/items/equipment/steel_med_helm.yaml +++ b/data/items/equipment/steel_med_helm.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A steel medium helmet. equipment: diff --git a/data/items/equipment/steel_platebody.yaml b/data/items/equipment/steel_platebody.yaml index cb80601..afdb21f 100644 --- a/data/items/equipment/steel_platebody.yaml +++ b/data/items/equipment/steel_platebody.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 187 description: A steel platebody. equipment: diff --git a/data/items/equipment/steel_sword.yaml b/data/items/equipment/steel_sword.yaml index b590210..0ede86f 100644 --- a/data/items/equipment/steel_sword.yaml +++ b/data/items/equipment/steel_sword.yaml @@ -8,7 +8,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A steel sword. equipment: diff --git a/data/items/equipment/willow_longbow.yaml b/data/items/equipment/willow_longbow.yaml index f177552..aef00b2 100644 --- a/data/items/equipment/willow_longbow.yaml +++ b/data/items/equipment/willow_longbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 40 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 41 description: A willow longbow. equipment: diff --git a/data/items/equipment/willow_longbow_u.yaml b/data/items/equipment/willow_longbow_u.yaml index 25194d1..6f7b123 100644 --- a/data/items/equipment/willow_longbow_u.yaml +++ b/data/items/equipment/willow_longbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 40 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 41 description: An unstrung willow longbow. name: willow longbow (u) diff --git a/data/items/equipment/willow_shortbow.yaml b/data/items/equipment/willow_shortbow.yaml index f7028e4..643d3b7 100644 --- a/data/items/equipment/willow_shortbow.yaml +++ b/data/items/equipment/willow_shortbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 35 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 33 description: A willow shortbow. equipment: diff --git a/data/items/equipment/willow_shortbow_u.yaml b/data/items/equipment/willow_shortbow_u.yaml index 534c50d..6a4006c 100644 --- a/data/items/equipment/willow_shortbow_u.yaml +++ b/data/items/equipment/willow_shortbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 35 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 33 description: An unstrung willow shortbow. name: willow shortbow (u) diff --git a/data/items/equipment/yew_longbow.yaml b/data/items/equipment/yew_longbow.yaml index 1deab6d..5299ded 100644 --- a/data/items/equipment/yew_longbow.yaml +++ b/data/items/equipment/yew_longbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 65 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 75 description: A yew longbow. equipment: diff --git a/data/items/equipment/yew_longbow_u.yaml b/data/items/equipment/yew_longbow_u.yaml index 61eeac4..dd54e21 100644 --- a/data/items/equipment/yew_longbow_u.yaml +++ b/data/items/equipment/yew_longbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 65 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 75 description: An unstrung yew longbow. name: yew longbow (u) diff --git a/data/items/equipment/yew_shortbow.yaml b/data/items/equipment/yew_shortbow.yaml index b9f3eb5..dfd5c9b 100644 --- a/data/items/equipment/yew_shortbow.yaml +++ b/data/items/equipment/yew_shortbow.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 60 type: fletching - wait: 2 + ticks_per_cycle: 2 xp: 67 description: A yew shortbow. equipment: diff --git a/data/items/equipment/yew_shortbow_u.yaml b/data/items/equipment/yew_shortbow_u.yaml index ee4ed7d..614241c 100644 --- a/data/items/equipment/yew_shortbow_u.yaml +++ b/data/items/equipment/yew_shortbow_u.yaml @@ -7,7 +7,7 @@ craft: level: 60 tool: knife type: fletching - wait: 3 + ticks_per_cycle: 3 xp: 67 description: An unstrung yew shortbow. name: yew shortbow (u) diff --git a/data/items/materials/adamant_nails.yaml b/data/items/materials/adamant_nails.yaml index 25fb80b..4b48a75 100644 --- a/data/items/materials/adamant_nails.yaml +++ b/data/items/materials/adamant_nails.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 62 description: A set of adamant nails. name: adamant nails diff --git a/data/items/materials/adamantite_bar.yaml b/data/items/materials/adamantite_bar.yaml index 4fed7fc..5e1ff84 100644 --- a/data/items/materials/adamantite_bar.yaml +++ b/data/items/materials/adamantite_bar.yaml @@ -9,11 +9,11 @@ craft: quantity: 6 fail_message: You fail to smelt a usable bar. level: 65 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A bar of adamantite metal, extremely durable. name: adamantite bar diff --git a/data/items/materials/avantoe.yaml b/data/items/materials/avantoe.yaml index 75727af..ed09e84 100644 --- a/data/items/materials/avantoe.yaml +++ b/data/items/materials/avantoe.yaml @@ -5,9 +5,9 @@ craft: - grimy_avantoe quantity: 1 level: 48 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 10 description: A clean avantoe leaf, ready for use in pharmacy. name: avantoe diff --git a/data/items/materials/ball_of_wool.yaml b/data/items/materials/ball_of_wool.yaml index 5dc1a2d..ad0bce4 100644 --- a/data/items/materials/ball_of_wool.yaml +++ b/data/items/materials/ball_of_wool.yaml @@ -9,7 +9,7 @@ craft: station: - spinning_wheel type: crafting - wait: 3 + ticks_per_cycle: 3 xp: 3 description: A ball of spun wool. name: ball of wool diff --git a/data/items/materials/bowstring.yaml b/data/items/materials/bowstring.yaml index e0f63b3..5a968a8 100644 --- a/data/items/materials/bowstring.yaml +++ b/data/items/materials/bowstring.yaml @@ -9,7 +9,7 @@ craft: station: - spinning_wheel type: crafting - wait: 3 + ticks_per_cycle: 3 xp: 15 description: A string used for stringing bows. name: bowstring diff --git a/data/items/materials/bronze_bar.yaml b/data/items/materials/bronze_bar.yaml index c7a999e..1dacbc4 100644 --- a/data/items/materials/bronze_bar.yaml +++ b/data/items/materials/bronze_bar.yaml @@ -9,11 +9,11 @@ craft: quantity: 1 fail_message: You fail to smelt a usable bar. level: 1 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 6 description: A bar of bronze metal, smelted from copper and tin ore. name: bronze bar diff --git a/data/items/materials/bronze_nails.yaml b/data/items/materials/bronze_nails.yaml index 748f848..e85bce9 100644 --- a/data/items/materials/bronze_nails.yaml +++ b/data/items/materials/bronze_nails.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: A set of bronze nails. name: bronze nails diff --git a/data/items/materials/cadantine.yaml b/data/items/materials/cadantine.yaml index 24513ce..fcf9494 100644 --- a/data/items/materials/cadantine.yaml +++ b/data/items/materials/cadantine.yaml @@ -5,9 +5,9 @@ craft: - grimy_cadantine quantity: 1 level: 65 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 13 description: A clean cadantine leaf, ready for use in pharmacy. name: cadantine diff --git a/data/items/materials/diamond.yaml b/data/items/materials/diamond.yaml index 0e8fe92..5569cf4 100644 --- a/data/items/materials/diamond.yaml +++ b/data/items/materials/diamond.yaml @@ -8,7 +8,7 @@ craft: success_message: "You cut the %i1 into a beautiful %n." tool: chisel type: crafting - wait: 3 + ticks_per_cycle: 3 xp: 108 description: A beautifully cut diamond. name: diamond diff --git a/data/items/materials/dwarf_weed.yaml b/data/items/materials/dwarf_weed.yaml index edb1058..bbbec7a 100644 --- a/data/items/materials/dwarf_weed.yaml +++ b/data/items/materials/dwarf_weed.yaml @@ -5,9 +5,9 @@ craft: - grimy_dwarf_weed quantity: 1 level: 70 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 14 description: A clean dwarf weed leaf, ready for use in pharmacy. name: dwarf weed diff --git a/data/items/materials/emerald.yaml b/data/items/materials/emerald.yaml index a39257c..dd844d8 100644 --- a/data/items/materials/emerald.yaml +++ b/data/items/materials/emerald.yaml @@ -8,7 +8,7 @@ craft: success_message: "You cut the %i1 into a beautiful %n." tool: chisel type: crafting - wait: 3 + ticks_per_cycle: 3 xp: 68 description: A beautifully cut emerald. name: emerald diff --git a/data/items/materials/gold_bar.yaml b/data/items/materials/gold_bar.yaml index 895db74..cc290e8 100644 --- a/data/items/materials/gold_bar.yaml +++ b/data/items/materials/gold_bar.yaml @@ -6,11 +6,11 @@ craft: quantity: 1 fail_message: You fail to smelt a usable bar. level: 45 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 22 description: A bar of gold metal. name: gold bar diff --git a/data/items/materials/guam.yaml b/data/items/materials/guam.yaml index c0ad838..423238f 100644 --- a/data/items/materials/guam.yaml +++ b/data/items/materials/guam.yaml @@ -5,9 +5,9 @@ craft: - grimy_guam quantity: 1 level: 1 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 3 description: A clean guam leaf, ready for use in pharmacy. name: guam diff --git a/data/items/materials/harralander.yaml b/data/items/materials/harralander.yaml index 276c676..22e2736 100644 --- a/data/items/materials/harralander.yaml +++ b/data/items/materials/harralander.yaml @@ -5,9 +5,9 @@ craft: - grimy_harralander quantity: 1 level: 20 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 6 description: A clean harralander leaf, ready for use in pharmacy. name: harralander diff --git a/data/items/materials/irit.yaml b/data/items/materials/irit.yaml index 90f41b5..7ff6187 100644 --- a/data/items/materials/irit.yaml +++ b/data/items/materials/irit.yaml @@ -5,9 +5,9 @@ craft: - grimy_irit quantity: 1 level: 40 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 9 description: A clean irit leaf, ready for use in pharmacy. name: irit diff --git a/data/items/materials/iron_bar.yaml b/data/items/materials/iron_bar.yaml index 4ef4c11..aedeabe 100644 --- a/data/items/materials/iron_bar.yaml +++ b/data/items/materials/iron_bar.yaml @@ -6,7 +6,7 @@ craft: quantity: 1 fail_message: The iron is too impure to make a workable bar. level: 20 - subtype: smelt + subtype: smelting station: - furnace success: @@ -14,7 +14,7 @@ craft: cap: 0.5 per_level: 0 type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 12 description: A bar of iron metal. name: iron bar diff --git a/data/items/materials/iron_nails.yaml b/data/items/materials/iron_nails.yaml index dc647f5..bf491ee 100644 --- a/data/items/materials/iron_nails.yaml +++ b/data/items/materials/iron_nails.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 25 description: A set of iron nails. name: iron nails diff --git a/data/items/materials/kwuarm.yaml b/data/items/materials/kwuarm.yaml index 77e0ead..9a458a3 100644 --- a/data/items/materials/kwuarm.yaml +++ b/data/items/materials/kwuarm.yaml @@ -5,9 +5,9 @@ craft: - grimy_kwuarm quantity: 1 level: 54 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 11 description: A clean kwuarm leaf, ready for use in pharmacy. name: kwuarm diff --git a/data/items/materials/lantadyme.yaml b/data/items/materials/lantadyme.yaml index 67663ac..0bb2a90 100644 --- a/data/items/materials/lantadyme.yaml +++ b/data/items/materials/lantadyme.yaml @@ -5,9 +5,9 @@ craft: - grimy_lantadyme quantity: 1 level: 67 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 13 description: A clean lantadyme leaf, ready for use in pharmacy. name: lantadyme diff --git a/data/items/materials/mahogany_planks.yaml b/data/items/materials/mahogany_planks.yaml index e75ec1c..6269cba 100644 --- a/data/items/materials/mahogany_planks.yaml +++ b/data/items/materials/mahogany_planks.yaml @@ -10,7 +10,7 @@ craft: - workbench tool: saw type: construction - wait: 20 + ticks_per_cycle: 20 xp: 30 description: Luxurious mahogany planks with a deep reddish hue. name: mahogany planks diff --git a/data/items/materials/marrentill.yaml b/data/items/materials/marrentill.yaml index 17730b7..41b6ead 100644 --- a/data/items/materials/marrentill.yaml +++ b/data/items/materials/marrentill.yaml @@ -5,9 +5,9 @@ craft: - grimy_marrentill quantity: 1 level: 5 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 4 description: A clean marrentill leaf, ready for use in pharmacy. name: marrentill diff --git a/data/items/materials/mithril_bar.yaml b/data/items/materials/mithril_bar.yaml index 0cc0102..76a2204 100644 --- a/data/items/materials/mithril_bar.yaml +++ b/data/items/materials/mithril_bar.yaml @@ -9,11 +9,11 @@ craft: quantity: 4 fail_message: You fail to smelt a usable bar. level: 50 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 30 description: A bar of mithril metal, light and strong. name: mithril bar diff --git a/data/items/materials/mithril_nails.yaml b/data/items/materials/mithril_nails.yaml index f747da2..85d105e 100644 --- a/data/items/materials/mithril_nails.yaml +++ b/data/items/materials/mithril_nails.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A set of mithril nails. name: mithril nails diff --git a/data/items/materials/oak_planks.yaml b/data/items/materials/oak_planks.yaml index 6b2571c..39405b0 100644 --- a/data/items/materials/oak_planks.yaml +++ b/data/items/materials/oak_planks.yaml @@ -10,7 +10,7 @@ craft: - workbench tool: saw type: construction - wait: 20 + ticks_per_cycle: 20 xp: 10 description: Sturdy oak planks, ideal for furniture. name: oak planks diff --git a/data/items/materials/planks.yaml b/data/items/materials/planks.yaml index b616120..86cc5d5 100644 --- a/data/items/materials/planks.yaml +++ b/data/items/materials/planks.yaml @@ -10,7 +10,7 @@ craft: - workbench tool: saw type: construction - wait: 20 + ticks_per_cycle: 20 xp: 5 description: Some regular wooden planks, ready for construction. name: planks diff --git a/data/items/materials/ranarr.yaml b/data/items/materials/ranarr.yaml index 4527c52..101edbb 100644 --- a/data/items/materials/ranarr.yaml +++ b/data/items/materials/ranarr.yaml @@ -5,9 +5,9 @@ craft: - grimy_ranarr quantity: 1 level: 25 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 8 description: A clean ranarr leaf, ready for use in pharmacy. name: ranarr diff --git a/data/items/materials/ruby.yaml b/data/items/materials/ruby.yaml index 6a2b18f..ef880bf 100644 --- a/data/items/materials/ruby.yaml +++ b/data/items/materials/ruby.yaml @@ -8,7 +8,7 @@ craft: success_message: "You cut the %i1 into a beautiful %n." tool: chisel type: crafting - wait: 3 + ticks_per_cycle: 3 xp: 85 description: A beautifully cut ruby. name: ruby diff --git a/data/items/materials/rune_nails.yaml b/data/items/materials/rune_nails.yaml index 5cea6e0..f039df8 100644 --- a/data/items/materials/rune_nails.yaml +++ b/data/items/materials/rune_nails.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 75 description: A set of rune nails. name: rune nails diff --git a/data/items/materials/runite_bar.yaml b/data/items/materials/runite_bar.yaml index 1b4823d..5b60034 100644 --- a/data/items/materials/runite_bar.yaml +++ b/data/items/materials/runite_bar.yaml @@ -9,11 +9,11 @@ craft: quantity: 8 fail_message: You fail to smelt a usable bar. level: 80 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 50 description: A bar of runite metal, the finest alloy known. name: runite bar diff --git a/data/items/materials/sapphire.yaml b/data/items/materials/sapphire.yaml index 9a5a7d6..2f2fafb 100644 --- a/data/items/materials/sapphire.yaml +++ b/data/items/materials/sapphire.yaml @@ -8,7 +8,7 @@ craft: success_message: "You cut the %i1 into a beautiful %n." tool: chisel type: crafting - wait: 3 + ticks_per_cycle: 3 xp: 50 description: A beautifully cut sapphire. name: sapphire diff --git a/data/items/materials/silver_bar.yaml b/data/items/materials/silver_bar.yaml index cf85b31..25aad23 100644 --- a/data/items/materials/silver_bar.yaml +++ b/data/items/materials/silver_bar.yaml @@ -6,11 +6,11 @@ craft: quantity: 1 fail_message: You fail to smelt a usable bar. level: 25 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 14 description: A bar of silver metal. name: silver bar diff --git a/data/items/materials/snapdragon.yaml b/data/items/materials/snapdragon.yaml index a05c87d..0d4943c 100644 --- a/data/items/materials/snapdragon.yaml +++ b/data/items/materials/snapdragon.yaml @@ -5,9 +5,9 @@ craft: - grimy_snapdragon quantity: 1 level: 59 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 12 description: A clean snapdragon leaf, ready for use in pharmacy. name: snapdragon diff --git a/data/items/materials/soft_clay.yaml b/data/items/materials/soft_clay.yaml index d9935dd..8c05d12 100644 --- a/data/items/materials/soft_clay.yaml +++ b/data/items/materials/soft_clay.yaml @@ -12,7 +12,7 @@ craft: - bucket_of_water - jug_of_water quantity: 1 - wait: 2 + ticks_per_cycle: 2 description: Soft, workable clay ready for shaping on a pottery wheel. name: soft clay stackable: false diff --git a/data/items/materials/steel_bar.yaml b/data/items/materials/steel_bar.yaml index 31d8224..b972bfc 100644 --- a/data/items/materials/steel_bar.yaml +++ b/data/items/materials/steel_bar.yaml @@ -9,11 +9,11 @@ craft: quantity: 2 fail_message: You fail to smelt a usable bar. level: 40 - subtype: smelt + subtype: smelting station: - furnace type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 17 description: A bar of steel, forged from iron ore and coal. name: steel bar diff --git a/data/items/materials/steel_nails.yaml b/data/items/materials/steel_nails.yaml index 12bab1e..bde4596 100644 --- a/data/items/materials/steel_nails.yaml +++ b/data/items/materials/steel_nails.yaml @@ -9,7 +9,7 @@ craft: station: - anvil type: smithing - wait: 4 + ticks_per_cycle: 4 xp: 37 description: A set of steel nails. name: steel nails diff --git a/data/items/materials/stim_cell.yaml b/data/items/materials/stim_cell.yaml index 6637cc7..8c870a5 100644 --- a/data/items/materials/stim_cell.yaml +++ b/data/items/materials/stim_cell.yaml @@ -9,7 +9,7 @@ craft: quantity: 1 level: 26 type: pharmacy - wait: 4 + ticks_per_cycle: 4 xp: 68 description: A bright yellow energy supplement that restores stamina. name: stim cell diff --git a/data/items/materials/tarromin.yaml b/data/items/materials/tarromin.yaml index 4783bed..36f1618 100644 --- a/data/items/materials/tarromin.yaml +++ b/data/items/materials/tarromin.yaml @@ -5,9 +5,9 @@ craft: - grimy_tarromin quantity: 1 level: 11 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 5 description: A clean tarromin leaf, ready for use in pharmacy. name: tarromin diff --git a/data/items/materials/teak_planks.yaml b/data/items/materials/teak_planks.yaml index 145b731..d8b4ec7 100644 --- a/data/items/materials/teak_planks.yaml +++ b/data/items/materials/teak_planks.yaml @@ -10,7 +10,7 @@ craft: - workbench tool: saw type: construction - wait: 20 + ticks_per_cycle: 20 xp: 20 description: Fine teak planks with a rich grain. name: teak planks diff --git a/data/items/materials/toadflax.yaml b/data/items/materials/toadflax.yaml index 9405301..42713a9 100644 --- a/data/items/materials/toadflax.yaml +++ b/data/items/materials/toadflax.yaml @@ -5,9 +5,9 @@ craft: - grimy_toadflax quantity: 1 level: 30 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 8 description: A clean toadflax leaf, ready for use in pharmacy. name: toadflax diff --git a/data/items/materials/torstol.yaml b/data/items/materials/torstol.yaml index f220b28..bd71245 100644 --- a/data/items/materials/torstol.yaml +++ b/data/items/materials/torstol.yaml @@ -5,9 +5,9 @@ craft: - grimy_torstol quantity: 1 level: 75 - subtype: clean + subtype: cleaning type: pharmacy - wait: 2 + ticks_per_cycle: 2 xp: 15 description: A clean torstol leaf, ready for use in pharmacy. name: torstol diff --git a/data/items/misc/mahogany_table.yaml b/data/items/misc/mahogany_table.yaml index aa31b1f..ee5d1f0 100644 --- a/data/items/misc/mahogany_table.yaml +++ b/data/items/misc/mahogany_table.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 120 description: A luxurious mahogany table, the centerpiece of any room. name: mahogany table diff --git a/data/items/misc/oak_shelf.yaml b/data/items/misc/oak_shelf.yaml index 94c9a7e..7815873 100644 --- a/data/items/misc/oak_shelf.yaml +++ b/data/items/misc/oak_shelf.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 40 description: A solid oak shelf, built to last. name: oak shelf diff --git a/data/items/misc/oak_table.yaml b/data/items/misc/oak_table.yaml index f096c3b..35c8a0c 100644 --- a/data/items/misc/oak_table.yaml +++ b/data/items/misc/oak_table.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 50 description: A fine oak table with carved legs. name: oak table diff --git a/data/items/misc/teak_table.yaml b/data/items/misc/teak_table.yaml index b75f506..9a5802a 100644 --- a/data/items/misc/teak_table.yaml +++ b/data/items/misc/teak_table.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 80 description: An elegant teak table with a polished surface. name: teak table diff --git a/data/items/misc/wooden_chair.yaml b/data/items/misc/wooden_chair.yaml index 77de78d..295b3db 100644 --- a/data/items/misc/wooden_chair.yaml +++ b/data/items/misc/wooden_chair.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 30 description: A comfortable wooden chair with a smooth finish. name: wooden chair diff --git a/data/items/misc/wooden_shelf.yaml b/data/items/misc/wooden_shelf.yaml index bb04fc8..e383664 100644 --- a/data/items/misc/wooden_shelf.yaml +++ b/data/items/misc/wooden_shelf.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 20 description: A simple wooden shelf, useful for storing small items. name: wooden shelf diff --git a/data/items/misc/wooden_table.yaml b/data/items/misc/wooden_table.yaml index 88a996f..1aeaf19 100644 --- a/data/items/misc/wooden_table.yaml +++ b/data/items/misc/wooden_table.yaml @@ -8,7 +8,7 @@ craft: station: - workbench type: construction - wait: 6 + ticks_per_cycle: 6 xp: 25 description: A sturdy wooden table, perfect for dining or displaying objects. name: wooden table diff --git a/data/items/tools/empty_pot.yaml b/data/items/tools/empty_pot.yaml index 0386b37..9bb7c11 100644 --- a/data/items/tools/empty_pot.yaml +++ b/data/items/tools/empty_pot.yaml @@ -14,7 +14,7 @@ craft: cap: 0.95 per_level: 0.02 type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 6 description: An empty clay pot. name: empty pot diff --git a/data/items/tools/plant_pot.yaml b/data/items/tools/plant_pot.yaml index b748877..ca384cd 100644 --- a/data/items/tools/plant_pot.yaml +++ b/data/items/tools/plant_pot.yaml @@ -14,7 +14,7 @@ craft: cap: 0.95 per_level: 0.02 type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 18 description: A clay plant pot for growing plants. name: plant pot diff --git a/data/items/tools/unfired_pie_dish.yaml b/data/items/tools/unfired_pie_dish.yaml index 455921d..56668a2 100644 --- a/data/items/tools/unfired_pie_dish.yaml +++ b/data/items/tools/unfired_pie_dish.yaml @@ -9,7 +9,7 @@ craft: station: - pottery_wheel type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 15 description: An unfired clay pie dish. It needs to be fired in a pottery oven. name: unfired pie dish diff --git a/data/items/tools/unfired_plant_pot.yaml b/data/items/tools/unfired_plant_pot.yaml index 26dfcca..8de17c8 100644 --- a/data/items/tools/unfired_plant_pot.yaml +++ b/data/items/tools/unfired_plant_pot.yaml @@ -9,7 +9,7 @@ craft: station: - pottery_wheel type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 18 description: An unfired clay plant pot. It needs to be fired in a pottery oven. name: unfired plant pot diff --git a/data/items/tools/unfired_pot.yaml b/data/items/tools/unfired_pot.yaml index 6ba9551..5c835e1 100644 --- a/data/items/tools/unfired_pot.yaml +++ b/data/items/tools/unfired_pot.yaml @@ -9,7 +9,7 @@ craft: station: - pottery_wheel type: crafting - wait: 4 + ticks_per_cycle: 4 xp: 6 description: An unfired clay pot. It needs to be fired in a pottery oven. name: unfired pot diff --git a/data/rooms/intro/2001.yaml b/data/rooms/intro/2001.yaml index ad4667a..9977a79 100644 --- a/data/rooms/intro/2001.yaml +++ b/data/rooms/intro/2001.yaml @@ -23,9 +23,15 @@ item_spawns: - id: bucket_of_water quantity: 1 respawn_ticks: 1 -mobs: [] +mobs: + - id: man name: Test Room objects: + - aliases: [] + description: + - text: YOU FOUND HIM + hidden: true + name: hidden guy - id: tree on_enter: [] triggers: [] diff --git a/data/rooms/intro/2003.yaml b/data/rooms/intro/2003.yaml index 6324c9c..1ee6840 100644 --- a/data/rooms/intro/2003.yaml +++ b/data/rooms/intro/2003.yaml @@ -1,9 +1,11 @@ id: 2003 name: Test Room -color: "" +color: A5 description: - text: It's a test room exits: + north: + room: 1005 south: room: 2004 southwest: diff --git a/internal/admin/api_rooms.go b/internal/admin/api_rooms.go index f615d9d..76bb11c 100644 --- a/internal/admin/api_rooms.go +++ b/internal/admin/api_rooms.go @@ -78,6 +78,8 @@ func (s *AdminServer) handleRooms(w http.ResponseWriter, r *http.Request) { m["exits"] = exits } + var extraFiles []ExtraFile + if linkFrom != nil && linkDir != nil && *linkDir != "" { dir := world.ExitDir(strings.ToLower(*linkDir)) if opp, ok := world.OppositeExit[dir]; ok { @@ -99,11 +101,10 @@ func (s *AdminServer) handleRooms(w http.ResponseWriter, r *http.Request) { writeJSON(w, map[string]any{"error": fmt.Sprintf("write source room: %v", writeErr)}) return } - s.undoStack.Push(ChangeDesc{ - Description: fmt.Sprintf("update room %d (add exit %s to %d)", *linkFrom, *linkDir, id), - FilePath: srcPath, - OldContent: oldContent, - NewContent: newContent, + extraFiles = append(extraFiles, ExtraFile{ + FilePath: srcPath, + OldContent: oldContent, + NewContent: newContent, }) } @@ -124,6 +125,7 @@ func (s *AdminServer) handleRooms(w http.ResponseWriter, r *http.Request) { FilePath: path, NewContent: newContent, IsCreate: true, + ExtraFiles: extraFiles, }) writeJSON(w, map[string]any{"room": m}) diff --git a/internal/admin/static/admin.css b/internal/admin/static/admin.css index bdf9b60..93c1924 100644 --- a/internal/admin/static/admin.css +++ b/internal/admin/static/admin.css @@ -148,7 +148,7 @@ g.ud-hover:hover text{font-weight:bold} .panel-tab-content .search-input{width:100%;padding:4px 6px;font-size:11px;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:3px;font-family:monospace} .panel-tab-content .search-results{position:absolute;top:100%;left:0;right:0;max-height:160px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:3px;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.4)} .panel-tab-content .search-results .sr-item{padding:4px 8px;font-size:11px;cursor:pointer;color:var(--text);border-bottom:1px solid rgba(255,255,255,.03)} -.panel-tab-content .search-results .sr-item:hover{background:var(--accent)} +.panel-tab-content .search-results .sr-item:hover,.panel-tab-content .search-results .sr-item.active{background:var(--accent)} .panel-tab-content .section-add-btn{display:block;width:100%;margin-top:4px;background:var(--accent);color:var(--text);border:1px solid #1a5a8e;padding:4px 8px;font-size:11px;border-radius:3px;cursor:pointer;font-family:monospace} .panel-tab-content .section-add-btn:hover{background:var(--hover)} .panel-tab-content .mini-label{font-size:9px;color:#888;display:block;margin-bottom:1px;margin-top:3px} @@ -201,7 +201,7 @@ g.ud-hover:hover text{font-weight:bold} .obj-search{position:relative!important} .obj-search .search-results{position:absolute;top:100%;left:0;right:0;max-height:160px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:3px;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.4);margin-top:2px} .obj-search .search-results .sr-item{padding:4px 8px;font-size:11px;cursor:pointer;color:var(--text);border-bottom:1px solid rgba(255,255,255,.03)} -.obj-search .search-results .sr-item:hover{background:var(--accent)} +.obj-search .search-results .sr-item:hover,.obj-search .search-results .sr-item.active{background:var(--accent)} .obj-search input.search-input{padding-right:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center} .obj-search input.search-input::placeholder{color:#666} .obj-narrow.obj-search input{width:80px} diff --git a/internal/admin/static/colorpicker.js b/internal/admin/static/colorpicker.js index 9431e83..bba438e 100644 --- a/internal/admin/static/colorpicker.js +++ b/internal/admin/static/colorpicker.js @@ -62,6 +62,7 @@ window.cssToXtermIdx = function(css) { (function() { var pickerEl = null, boundInput = null, boundSwatch = null; + window._colorPickerActive = false; function ensurePicker() { if (pickerEl) return; @@ -114,6 +115,7 @@ window.cssToXtermIdx = function(css) { idx = parseInt(raw, 16) || 0; } var hex = xtermIdxToHex(idx); + window._colorPickerActive = true; inputEl.value = hex; if (swatchEl) swatchEl.style.background = xtermToCss(idx); @@ -153,7 +155,12 @@ window.cssToXtermIdx = function(css) { window.hideColorPicker = hidePicker; function hidePicker() { if (pickerEl) pickerEl.style.display = 'none'; + var input = boundInput; boundInput = null; boundSwatch = null; + window._colorPickerActive = false; + if (input && input.isConnected) { + input.dispatchEvent(new Event('input', {bubbles:true})); + } } document.addEventListener('click', function(e) { diff --git a/internal/admin/static/itemeditor.js b/internal/admin/static/itemeditor.js index d02945a..7c7c676 100644 --- a/internal/admin/static/itemeditor.js +++ b/internal/admin/static/itemeditor.js @@ -48,10 +48,10 @@ var SECTIONS = [ label: 'Recipes to Craft This Item', key: 'craft', fields: [ ['type', 'Type', 'select', 'smithing|cooking|crafting|fletching|combine|pharmacy|construction'], - ['subtype', 'Subtype', 'select', '|smelt|clean'], + ['subtype', 'Subtype', 'select', '|smelting|cleaning'], ['level', 'Level', 'number', '', 'narrow'], ['xp', 'XP', 'number', '', 'narrow'], - ['wait', 'Wait', 'number', '', 'narrow'], + ['ticks_per_cycle', 'Ticks/Cycle', 'number', '', 'narrow'], ['output_qty', 'Output Qty', 'number', '', 'narrow'], ['station', 'Station', 'select', '|anvil|cooking_range|fire|furnace|pottery_oven|pottery_wheel|spinning_wheel|workbench'], ['tool', 'Tool', 'select', '|pickaxe|axe|fire|chisel|hammer|knife|needle|rake|saw|shears|spade|watering_can|fishing_rod|fly_rod|harpoon|small_net|big_net|lobster_pot'], @@ -65,8 +65,9 @@ var SECTIONS = [ ['end_message', 'End Message', 'text', 'e.g. You\'ve finished smithing.', 'wide'], ], fieldGroups: [ - ['type', 'subtype', 'level', 'xp', 'wait', 'output_qty'], - {fields: ['station', 'tool'], right: true}, + ['type', 'subtype', 'level', 'xp', 'ticks_per_cycle', 'output_qty'], + {note: 'Output Qty is the quantity produced per cycle, only relevant for stackable items.'}, + ['station', 'tool'], {label: 'Success', fields: ['success_base', 'success_per_level', 'success_cap', 'fail']}, ['start_message', 'success_message', 'fail_message', 'end_message'], ], @@ -213,6 +214,7 @@ function renderItemEditor(id, data) { $('#editorMain').innerHTML = html; setupSearchFields(); setupCraftTypeChange(); + updateOutputQtyVisibility(); setTimeout(function() { document.querySelectorAll('.color-field').forEach(function(el) { bindColorField(el); }); }, 50); @@ -229,7 +231,7 @@ function renderCurrent() { function renderCard(sec, data) { var collapsed = expandedCards[sec.id] === false; - var h = '