aboutsummaryrefslogtreecommitdiff
path: root/data/mobs
diff options
context:
space:
mode:
Diffstat (limited to 'data/mobs')
-rw-r--r--data/mobs/examples/client.yaml62
-rw-r--r--data/mobs/examples/estate_broker.yaml19
-rw-r--r--data/mobs/examples/general_store_clerk.yaml67
-rw-r--r--data/mobs/examples/guard.yaml12
-rw-r--r--data/mobs/examples/sawmill_operator.yaml24
-rw-r--r--data/mobs/examples/tanner.yaml13
-rw-r--r--data/mobs/examples/weapons_smith.yaml58
-rw-r--r--data/mobs/flight_attendant.yaml6
-rw-r--r--data/mobs/flight_attendant_copy.yaml23
-rw-r--r--data/mobs/spaceport_attendant.yaml14
10 files changed, 160 insertions, 138 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
diff --git a/data/mobs/flight_attendant.yaml b/data/mobs/flight_attendant.yaml
index 5b18762..e595e67 100644
--- a/data/mobs/flight_attendant.yaml
+++ b/data/mobs/flight_attendant.yaml
@@ -11,17 +11,17 @@ talk:
condition:
player_flag: 1001_look_sign
not: true
- message: '"Hi there, how can I help?"'
+ messages: ['"Hi there, how can I help?"']
goto: thanks
options:
- text: '"Oh, nothing... Small crowd on this ship. Just looking for conversation."'
goto: sign_reminder
- text: '"Goodbye."'
thanks:
- message: '"Thank for flying with Denali. Watch your step on the way out please."'
+ messages: ['"Thank for flying with Denali. Watch your step on the way out please."']
options:
- text: '"Thank you."'
sign_reminder:
- sequence:
+ messages:
- '"Yeah, just us two! Not a lot of people heading into the belt these days."'
- '"But we''ll be landing shortly! Please be sure {0B bold}look{/} at the information {0B bold}sign{/} so you''ll be all set for your final destination."'
diff --git a/data/mobs/flight_attendant_copy.yaml b/data/mobs/flight_attendant_copy.yaml
new file mode 100644
index 0000000..fc62564
--- /dev/null
+++ b/data/mobs/flight_attendant_copy.yaml
@@ -0,0 +1,23 @@
+aggressive: false
+description: A smiling flight attendant in a crisp uniform, ready to assist passengers.
+id: flight_attendant_copy
+idle_descriptions:
+ - adjusts her name badge
+ - smiles politely at you
+kind: combat
+name: Credit Checker!
+protected: true
+respawn_ticks: 0
+shop:
+ message: SHOP SHOP
+ items:
+ - item_id: bronze_pickaxe
+ stock: 5
+talk:
+ nodes:
+ start:
+ options:
+ - goto: ""
+ text: None!
+ - text: None
+unique: false
diff --git a/data/mobs/spaceport_attendant.yaml b/data/mobs/spaceport_attendant.yaml
index ca69ccc..58081f6 100644
--- a/data/mobs/spaceport_attendant.yaml
+++ b/data/mobs/spaceport_attendant.yaml
@@ -14,7 +14,7 @@ talk:
player_flag: 1003_attendant_moved
not: true
goto: show_datapad
- message: '"Oh! Change your mind about the flight?"'
+ messages: ['"Oh! Change your mind about the flight?"']
options:
- text: '"No, I''m an arrival... but no one''s at the other desk."'
goto: attendant_moved
@@ -23,7 +23,7 @@ talk:
action:
set_player_flags:
1003_attendant_moved: true
- sequence:
+ messages:
- '"An... arrival!" he says, failing to contain his nerves. "Oh my, one second."'
- 'The lanky man scurries around the counter, across the room, and to the apparently identical counter on the other side.'
- '"Can I see your datapad?"'
@@ -37,30 +37,30 @@ talk:
player_flag: 1003_talked
not: true
goto: already_talked
- message: '"Can I see your datapad?"'
+ messages: ['"Can I see your datapad?"']
options:
- text: '"No"'
goto: denied
- text: '"Present the datapad"'
goto: datapad_done
denied:
- message: '"Well, I can''t let you onto Vesta until we can confirm your identity."'
+ messages: ['"Well, I can''t let you onto Vesta until we can confirm your identity."']
datapad_done:
action:
set_player_flags:
1003_talked: true
- sequence:
+ messages:
- 'The man taps through menus on your PDA and writes down some of your personal details onto a clipboard. He flips through a notebook, apparently refreshing himself on arrival procedure, before he seems satisfied and hands back the datapad.'
- '"Just needed to make sure you''re not a terrorist!" he says, not a hint of sarcasm in his voice.'
- 'He presses a button. "I''ve opened the north door for you. Follow the tunnel all the way through to Numisia."'
already_talked:
- message: '"Hello again."'
+ messages: ['"Hello again."']
options:
- text: '"Where should I go in town?"'
goto: town_info
- text: '"Goodbye."'
town_info:
- sequence:
+ messages:
- '"Well, there''s nearby places to mine, fish, cook, and chop wood if you''re here for work. We haven''t had new labor since we lost contact with Earth, so surely people are looking for help who can get you started."'
- '"The attendant tries to hide how he''s measuring your appearance. He still can''t tell if you''re an escaped prisoner, businessman, or terrorist."'
- '"Or, err, if you have business in Numisia, you''re probably looking for Director Joanna Lucci. She''s on the west side of town in the Governance and Gaming building."'