diff options
| author | historia <[not public]> | 2026-07-01 16:37:45 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-01 16:37:45 -0400 |
| commit | e6b4cb9f5816c6ee239233bc85f74ee446a161c2 (patch) | |
| tree | 1c3bf71c8b7f095baae989afe5e33183a7ed3929 /data/mobs/examples | |
| parent | 649ef4b7416ce7053145878841fc9b0bff2f5fec (diff) | |
| download | thehouseoficarus-e6b4cb9f5816c6ee239233bc85f74ee446a161c2.tar.gz | |
feat: shop system overhauled, gui conversation tree editor overhauled
Diffstat (limited to 'data/mobs/examples')
| -rw-r--r-- | data/mobs/examples/client.yaml | 62 | ||||
| -rw-r--r-- | data/mobs/examples/estate_broker.yaml | 19 | ||||
| -rw-r--r-- | data/mobs/examples/general_store_clerk.yaml | 67 | ||||
| -rw-r--r-- | data/mobs/examples/guard.yaml | 12 | ||||
| -rw-r--r-- | data/mobs/examples/sawmill_operator.yaml | 24 | ||||
| -rw-r--r-- | data/mobs/examples/tanner.yaml | 13 | ||||
| -rw-r--r-- | data/mobs/examples/weapons_smith.yaml | 58 |
7 files changed, 127 insertions, 128 deletions
diff --git a/data/mobs/examples/client.yaml b/data/mobs/examples/client.yaml index 91b6802..0d5f27d 100644 --- a/data/mobs/examples/client.yaml +++ b/data/mobs/examples/client.yaml @@ -19,17 +19,18 @@ talk: nodes: assign_task: action: - assign_task: true - message: '"Let me check what''s available..." The Client scrolls through their data pad.' + messages: + - '"Let me check what''s available..." The Client scrolls through their data pad.' options: - text: '"Understood."' - goto: start text: '"What else do you have?"' buy_acid: action: - cost: 10 + credits: -10 give_item: acid_vial - message: '"Handle with care." The Client passes you a vial of corrosive acid.' + messages: + - '"Handle with care." The Client passes you a vial of corrosive acid.' options: - condition: min_credits: 10 @@ -42,7 +43,8 @@ talk: reputation_cost: 200 set_player_flags: assassin_unlocked_auto_acid_vial: true - message: '"Auto-acid purchased. Acid vials will no longer be consumed."' + messages: + - '"Auto-acid purchased. Acid vials will no longer be consumed."' options: - goto: rep_shop text: '"Thanks."' @@ -51,7 +53,8 @@ talk: reputation_cost: 200 set_player_flags: assassin_unlocked_auto_salt: true - message: '"Auto-salt purchased. You''ll no longer consume salt on finishing blows."' + messages: + - '"Auto-salt purchased. You''ll no longer consume salt on finishing blows."' options: - goto: rep_shop text: '"Thanks."' @@ -60,23 +63,26 @@ talk: reputation_cost: 100 set_player_flags: assassin_unlocked_extend: true - message: '"You can now extend tasks via our conversation."' + messages: + - '"You can now extend tasks via our conversation."' options: - goto: rep_shop text: '"Thanks."' buy_gloves: action: - cost: 50 + credits: -50 give_item: insulated_gloves - message: '"These''ll keep the current from frying your hands." The Client tosses you a pair of thick rubber gloves.' + messages: + - '"These''ll keep the current from frying your hands." The Client tosses you a pair of thick rubber gloves.' options: - goto: supplies text: '"Thanks."' buy_salt: action: - cost: 5 + credits: -5 give_item: salt - message: '"Here you go." The Client slides a packet of salt across the table.' + messages: + - '"Here you go." The Client slides a packet of salt across the table.' options: - condition: min_credits: 5 @@ -89,24 +95,28 @@ talk: reputation_cost: 300 set_player_flags: assassin_unlocked_superiors: true - message: '"Superior encounters unlocked. Watch yourself out there."' + messages: + - '"Superior encounters unlocked. Watch yourself out there."' options: - goto: rep_shop text: '"Thanks."' buy_visor: action: - cost: 75 + credits: -75 give_item: spectral_visor - message: '"Spectral frequency filter. Makes the invisible visible — and keeps their attacks from scrambling your brain."' + messages: + - '"Spectral frequency filter. Makes the invisible visible — and keeps their attacks from scrambling your brain."' options: - goto: supplies text: '"Thanks."' current_task: - message: '"Let me check your file." The Client pulls up your record.' + messages: + - '"Let me check your file." The Client pulls up your record.' options: - text: '"Okay."' extend_confirm: - message: '"Extending your task costs 30 Reputation and adds more kills. Want to proceed?"' + messages: + - '"Extending your task costs 30 Reputation and adds more kills. Want to proceed?"' options: - goto: extend_done text: '"Yes, extend it."' @@ -114,12 +124,13 @@ talk: text: '"Never mind."' extend_done: action: - extend_task: true - message: '"Done. I''ve added more targets to your contract."' + messages: + - '"Done. I''ve added more targets to your contract."' options: - text: '"Thanks."' rep_shop: - message: '"Here''s what I''ve got. All purchases are permanent."' + messages: + - '"Here''s what I''ve got. All purchases are permanent."' options: - condition: not: true @@ -144,7 +155,8 @@ talk: - goto: start text: '"Back."' skip_confirm: - message: '"Skipping a task costs 30 Reputation and resets your streak. Are you sure?"' + messages: + - '"Skipping a task costs 30 Reputation and resets your streak. Are you sure?"' options: - goto: skip_done text: '"Yes, skip it."' @@ -152,14 +164,15 @@ talk: text: '"Never mind."' skip_done: action: - skip_task: true - message: '"Task cancelled. Your streak has been reset."' + messages: + - '"Task cancelled. Your streak has been reset."' options: - goto: assign_task text: '"Give me a new one."' - text: '"Goodbye."' start: - message: The Client looks up from their data pad. "What do you need?" + messages: + - The Client looks up from their data pad. "What do you need?" options: - condition: not: true @@ -190,7 +203,8 @@ talk: text: '"I need supplies."' - text: '"Goodbye."' supplies: - message: '"I stock everything you need for the job. Cheap, too."' + messages: + - '"I stock everything you need for the job. Cheap, too."' options: - condition: min_credits: 5 diff --git a/data/mobs/examples/estate_broker.yaml b/data/mobs/examples/estate_broker.yaml index 68c3eb6..b095214 100644 --- a/data/mobs/examples/estate_broker.yaml +++ b/data/mobs/examples/estate_broker.yaml @@ -6,17 +6,20 @@ protected: true talk: nodes: already_own: - message: Yes, you're already a proud homeowner here! Your house is waiting for you. Use the Estate Directory to enter it, or expand your workshop. + messages: + - Yes, you're already a proud homeowner here! Your house is waiting for you. Use the Estate Directory to enter it, or expand your workshop. options: - goto: start text: Good to know. goodbye: - message: Come back when you're ready to invest in your future! + messages: + - Come back when you're ready to invest in your future! info: - message: Each house comes with an entrance hall and a workshop equipped with a workbench. You can use the workbench with a saw to turn logs into planks, or assemble planks into furniture. Furniture can be sold for a profit or displayed in your home. Future developments will allow adding more rooms to your house. + messages: + - Each house comes with an entrance hall and a workshop equipped with a workbench. You can use the workbench with a saw to turn logs into planks, or assemble planks into furniture. Furniture can be sold for a profit or displayed in your home. Future developments will allow adding more rooms to your house. options: - action: - cost: 10 + credits: -10 set_player_flags: owns_house_local_neighborhood: local_neighborhood condition: @@ -27,15 +30,17 @@ talk: - goto: goodbye text: Maybe later. purchased: - message: Excellent! The plot is yours. You'll find your new home in the Local Neighborhood just north of here. Use the Estate Directory terminal to enter your house. The home comes with a workshop — perfect for construction projects. + messages: + - Excellent! The plot is yours. You'll find your new home in the Local Neighborhood just north of here. Use the Estate Directory terminal to enter your house. The home comes with a workshop — perfect for construction projects. options: - goto: start text: Thanks! start: - message: Welcome to the Local Neighborhood development! I'm selling premium housing plots for only 10 credits. Interested in buying a house? + messages: + - Welcome to the Local Neighborhood development! I'm selling premium housing plots for only 10 credits. Interested in buying a house? options: - action: - cost: 10 + credits: -10 set_player_flags: owns_house_local_neighborhood: local_neighborhood condition: diff --git a/data/mobs/examples/general_store_clerk.yaml b/data/mobs/examples/general_store_clerk.yaml index 8a07191..bee395d 100644 --- a/data/mobs/examples/general_store_clerk.yaml +++ b/data/mobs/examples/general_store_clerk.yaml @@ -19,52 +19,35 @@ slash_defense: 0 speed: 5 stab_defense: 0 strength: 1 +shop: + message: '"Welcome to the General Store! Have a look around."' + items: + - item_id: fishing_rod + stock: 10 + - item_id: fishing_bait + stock: 1000 + - item_id: matches + stock: 20 + - item_id: firesteel + stock: 10 + - item_id: lighter + stock: 10 + - item_id: hammer + stock: 10 + - item_id: knife + stock: 10 + - item_id: chisel + stock: 10 + - item_id: bread + stock: 30 + - item_id: bowstring + stock: 50 talk: nodes: - shop: - action: - shop: - items: - - buy_price: 10 - item_id: fishing_rod - sell_price: 2 - - buy_price: 2 - item_id: fishing_bait - sell_price: 0 - - buy_price: 10 - item_id: matches - sell_price: 2 - - buy_price: 40 - item_id: firesteel - sell_price: 10 - - buy_price: 30 - item_id: lighter - sell_price: 7 - - buy_price: 20 - item_id: hammer - sell_price: 5 - - buy_price: 10 - item_id: knife - sell_price: 2 - - buy_price: 10 - item_id: chisel - sell_price: 2 - - buy_price: 10 - item_id: bread - sell_price: 2 - - buy_price: 20 - item_id: bowstring - sell_price: 5 - message: What would you like to buy or sell? - message: '"Take your time. What can I get you?"' - options: - - goto: start - text: '"I''m done."' start: - message: '"Welcome to the General Store! Need any supplies?"' + messages: + - '"Welcome to the General Store! Type ''list'' to see my wares."' options: - - goto: shop - text: '"I''d like to browse."' - text: '"Goodbye."' unique: true size: small diff --git a/data/mobs/examples/guard.yaml b/data/mobs/examples/guard.yaml index 7bd7d19..cba448b 100644 --- a/data/mobs/examples/guard.yaml +++ b/data/mobs/examples/guard.yaml @@ -27,7 +27,8 @@ talk: action: set_player_flags: talked_to_guard: true - message: '"Supplies. Weapons. Things you don''t need to worry about." He shifts his weight. "Tell you what — bring me some copper ore and I''ll stamp you a pass."' + messages: + - '"Supplies. Weapons. Things you don''t need to worry about." He shifts his weight. "Tell you what — bring me some copper ore and I''ll stamp you a pass."' options: - text: '"I''ll be back."' - condition: @@ -39,11 +40,13 @@ talk: action: set_flags: gate_open: true - message: '"Let me see that..." He examines your pass and nods. "Alright, I''ll open the gate for you."' + messages: + - '"Let me see that..." He examines your pass and nods. "Alright, I''ll open the gate for you."' options: - text: '"Thanks."' start: - message: '"Halt! This area is restricted." The guard eyes you suspiciously.' + messages: + - '"Halt! This area is restricted." The guard eyes you suspiciously.' options: - goto: about_gate text: '"What''s behind that gate?"' @@ -64,7 +67,8 @@ talk: got_pass: true talked_to_guard: true take_item: copper_ore - message: '"Good quality ore. This''ll do." He stamps a slip of paper and hands it to you. "That''s your pass. Don''t lose it."' + messages: + - '"Good quality ore. This''ll do." He stamps a slip of paper and hands it to you. "That''s your pass. Don''t lose it."' options: - text: '"Thanks."' unique: true diff --git a/data/mobs/examples/sawmill_operator.yaml b/data/mobs/examples/sawmill_operator.yaml index 7abd881..366cfe3 100644 --- a/data/mobs/examples/sawmill_operator.yaml +++ b/data/mobs/examples/sawmill_operator.yaml @@ -6,16 +6,18 @@ protected: true talk: nodes: goodbye: - message: Come back anytime you need more planks! + messages: + - Come back anytime you need more planks! prices: - message: |- - Here's what I charge per log: - Regular logs: 5 credits - Oak logs: 10 credits - Teak logs: 20 credits - Mahogany logs: 40 credits + messages: + - |- + Here's what I charge per log: + Regular logs: 5 credits + Oak logs: 10 credits + Teak logs: 20 credits + Mahogany logs: 40 credits - Want me to process your logs? + Want me to process your logs? options: - condition: any_of: @@ -30,9 +32,11 @@ talk: process: action: sawmill: true - message: "" + messages: + - "" start: - message: Welcome to the lumberyard! I can turn your logs into planks — for a small fee, of course. What can I do for ya? + messages: + - Welcome to the lumberyard! I can turn your logs into planks — for a small fee, of course. What can I do for ya? options: - condition: any_of: diff --git a/data/mobs/examples/tanner.yaml b/data/mobs/examples/tanner.yaml index 2e5d89a..4c1f38b 100644 --- a/data/mobs/examples/tanner.yaml +++ b/data/mobs/examples/tanner.yaml @@ -22,7 +22,8 @@ strength: 1 talk: nodes: start: - message: '"Bring me some cowhides and I''ll tan them for you. Leather is 10 credits, hard leather is 50."' + messages: + - '"Bring me some cowhides and I''ll tan them for you. Leather is 10 credits, hard leather is 50."' options: - condition: all_of: @@ -39,10 +40,11 @@ talk: - text: '"Never mind."' tan_hard_leather: action: - cost: 50 + credits: -50 give_item: hard_leather take_item: cowhide - message: The tanner takes your cowhide and subjects it to an intense curing process. "Here's your hard leather." + messages: + - The tanner takes your cowhide and subjects it to an intense curing process. "Here's your hard leather." options: - condition: has_item: cowhide @@ -51,10 +53,11 @@ talk: - text: '"Thanks."' tan_leather: action: - cost: 10 + credits: -10 give_item: leather take_item: cowhide - message: The tanner takes your cowhide and works it skillfully. "Here's your leather." + messages: + - The tanner takes your cowhide and works it skillfully. "Here's your leather." options: - condition: has_item: cowhide diff --git a/data/mobs/examples/weapons_smith.yaml b/data/mobs/examples/weapons_smith.yaml index 0ba8237..b12a543 100644 --- a/data/mobs/examples/weapons_smith.yaml +++ b/data/mobs/examples/weapons_smith.yaml @@ -19,46 +19,32 @@ slash_defense: 0 speed: 5 stab_defense: 0 strength: 1 +shop: + message: The Smithy — buy or sell weapons and armor. + buys_anything: false + items: + - item_id: bronze_sword + stock: 10 + - item_id: iron_sword + stock: 5 + - item_id: bronze_axe + stock: 10 + - item_id: iron_axe + stock: 5 + - item_id: bronze_pickaxe + stock: 10 + - item_id: iron_pickaxe + stock: 5 + - item_id: bronze_med_helm + stock: 10 + - item_id: iron_med_helm + stock: 5 talk: nodes: - shop: - action: - shop: - items: - - buy_price: 25 - item_id: bronze_sword - sell_price: 6 - - buy_price: 60 - item_id: iron_sword - sell_price: 15 - - buy_price: 20 - item_id: bronze_axe - sell_price: 5 - - buy_price: 50 - item_id: iron_axe - sell_price: 12 - - buy_price: 20 - item_id: bronze_pickaxe - sell_price: 5 - - buy_price: 50 - item_id: iron_pickaxe - sell_price: 12 - - buy_price: 16 - item_id: bronze_med_helm - sell_price: 4 - - buy_price: 40 - item_id: iron_med_helm - sell_price: 10 - message: The Smithy — buy or sell weapons and armor. - message: '"Here''s the current inventory. All quality guaranteed."' - options: - - goto: start - text: '"That''s all for now."' start: - message: '"Welcome to the Smithy! Finest weapons and armor on the asteroid."' + messages: + - '"Welcome to the Smithy! Type ''list'' to see my wares."' options: - - goto: shop - text: '"Show me what you''ve got."' - text: '"Nothing right now."' unique: true size: small |
