diff options
| author | historia <[not public]> | 2026-06-25 19:37:20 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-25 19:37:20 -0400 |
| commit | c55d0e4150b23f2c5c9f96bbc3d4dc2fc6dbaa36 (patch) | |
| tree | d1c02acea2b4c8d0f672c1539cfdb373b6272ed0 /data/mobs/examples/client.yaml | |
| parent | 068ce514ea3eebdc42b595c631b4b00ce4594577 (diff) | |
| download | thehouseoficarus-c55d0e4150b23f2c5c9f96bbc3d4dc2fc6dbaa36.tar.gz | |
feat: yaml conversation trees more robust
Diffstat (limited to 'data/mobs/examples/client.yaml')
| -rw-r--r-- | data/mobs/examples/client.yaml | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/data/mobs/examples/client.yaml b/data/mobs/examples/client.yaml new file mode 100644 index 0000000..91b6802 --- /dev/null +++ b/data/mobs/examples/client.yaml @@ -0,0 +1,214 @@ +aggressive: false +attack: 1 +defense: 1 +description: A shadowy figure in a dark coat. They speak in clipped, measured tones and seem to know everything about every creature in the sector. +hp: 100 +idle_descriptions: + - reviews a holographic dossier + - marks a location on a worn star chart + - flips a credit chit between their fingers + - mutters coordinates under their breath + - glances at you appraisingly + - taps a data pad with a stylus +name: The Client +protected: true +respawn_ticks: 30 +speed: 5 +strength: 1 +talk: + nodes: + assign_task: + action: + assign_task: true + message: '"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 + give_item: acid_vial + message: '"Handle with care." The Client passes you a vial of corrosive acid.' + options: + - condition: + min_credits: 10 + goto: buy_acid + text: '"Buy more."' + - goto: supplies + text: '"Thanks."' + buy_auto_acid: + action: + reputation_cost: 200 + set_player_flags: + assassin_unlocked_auto_acid_vial: true + message: '"Auto-acid purchased. Acid vials will no longer be consumed."' + options: + - goto: rep_shop + text: '"Thanks."' + buy_auto_salt: + action: + reputation_cost: 200 + set_player_flags: + assassin_unlocked_auto_salt: true + message: '"Auto-salt purchased. You''ll no longer consume salt on finishing blows."' + options: + - goto: rep_shop + text: '"Thanks."' + buy_extend_unlock: + action: + reputation_cost: 100 + set_player_flags: + assassin_unlocked_extend: true + message: '"You can now extend tasks via our conversation."' + options: + - goto: rep_shop + text: '"Thanks."' + buy_gloves: + action: + cost: 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.' + options: + - goto: supplies + text: '"Thanks."' + buy_salt: + action: + cost: 5 + give_item: salt + message: '"Here you go." The Client slides a packet of salt across the table.' + options: + - condition: + min_credits: 5 + goto: buy_salt + text: '"Buy more."' + - goto: supplies + text: '"Thanks."' + buy_superiors: + action: + reputation_cost: 300 + set_player_flags: + assassin_unlocked_superiors: true + message: '"Superior encounters unlocked. Watch yourself out there."' + options: + - goto: rep_shop + text: '"Thanks."' + buy_visor: + action: + cost: 75 + give_item: spectral_visor + message: '"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.' + options: + - text: '"Okay."' + extend_confirm: + message: '"Extending your task costs 30 Reputation and adds more kills. Want to proceed?"' + options: + - goto: extend_done + text: '"Yes, extend it."' + - goto: start + text: '"Never mind."' + extend_done: + action: + extend_task: true + message: '"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."' + options: + - condition: + not: true + player_flag: assassin_unlocked_auto_salt + goto: buy_auto_salt + text: '"Auto-finish: Salt (200 Rep) - Never consume salt on finishing blows."' + - condition: + not: true + player_flag: assassin_unlocked_auto_acid_vial + goto: buy_auto_acid + text: '"Auto-finish: Acid Vial (200 Rep) - Never consume acid vials on finishing blows."' + - condition: + not: true + player_flag: assassin_unlocked_superiors + goto: buy_superiors + text: '"Unlock Superior Mobs (300 Rep) - Rare superior variants may spawn."' + - condition: + not: true + player_flag: assassin_unlocked_extend + goto: buy_extend_unlock + text: '"Unlock Extended Tasks (100 Rep) - Allows extending tasks."' + - goto: start + text: '"Back."' + skip_confirm: + message: '"Skipping a task costs 30 Reputation and resets your streak. Are you sure?"' + options: + - goto: skip_done + text: '"Yes, skip it."' + - goto: start + text: '"Never mind."' + skip_done: + action: + skip_task: true + message: '"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?" + options: + - condition: + not: true + player_flag: assassin_task_mob + goto: assign_task + text: '"I need a job."' + - condition: + not: false + player_flag: assassin_task_mob + goto: current_task + text: '"What''s my current task?"' + - condition: + not: false + player_flag: assassin_task_mob + goto: skip_confirm + text: '"I want to skip my task."' + - condition: + all_of: + - not: false + player_flag: assassin_task_mob + - player_flag: assassin_unlocked_extend + value: true + goto: extend_confirm + text: '"I want to extend my task."' + - goto: rep_shop + text: '"I''d like to browse the Reputation Shop."' + - goto: supplies + text: '"I need supplies."' + - text: '"Goodbye."' + supplies: + message: '"I stock everything you need for the job. Cheap, too."' + options: + - condition: + min_credits: 5 + goto: buy_salt + text: '"Buy salt (5 credits each)."' + - condition: + min_credits: 10 + goto: buy_acid + text: '"Buy acid vial (10 credits each)."' + - condition: + min_credits: 50 + goto: buy_gloves + text: '"Buy insulated gloves (50 credits)."' + - condition: + min_credits: 75 + goto: buy_visor + text: '"Buy spectral visor (75 credits)."' + - goto: start + text: '"Back."' +unique: true +size: small |
