diff options
| author | historia <[not public]> | 2026-06-10 01:48:28 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-10 01:48:28 -0400 |
| commit | a226d72e51eecb768b13600303f73483118d9104 (patch) | |
| tree | 458d15ef049732c15dacc591a830d3beddbedfde /data/behaviors | |
| parent | 6a0f3d7a252de4b1741cfe5e1c561412c602becc (diff) | |
| download | thehouseoficarus-a226d72e51eecb768b13600303f73483118d9104.tar.gz | |
feat: implemented janky object interaction model
Diffstat (limited to 'data/behaviors')
| -rw-r--r-- | data/behaviors/fish_trout.yaml | 17 | ||||
| -rw-r--r-- | data/behaviors/guard_talk.yaml | 52 | ||||
| -rw-r--r-- | data/behaviors/iron_gate_toggle.yaml | 9 | ||||
| -rw-r--r-- | data/behaviors/mine_copper.yaml | 24 |
4 files changed, 102 insertions, 0 deletions
diff --git a/data/behaviors/fish_trout.yaml b/data/behaviors/fish_trout.yaml new file mode 100644 index 0000000..fd0e37a --- /dev/null +++ b/data/behaviors/fish_trout.yaml @@ -0,0 +1,17 @@ +id: fish_trout +type: gather +skill: fishing +level: 1 +base_wait: 4 +tool: fishing_rod +success: + base: 0.30 + per_level: 0.01 + cap: 0.90 +gather_message: "You cast your line into the water..." +fail_message: "Nothing seems to bite." +drops: + - item_id: raw_trout + weight: 100 + depletes: false + message: "You catch a trout!" diff --git a/data/behaviors/guard_talk.yaml b/data/behaviors/guard_talk.yaml new file mode 100644 index 0000000..e83f2e2 --- /dev/null +++ b/data/behaviors/guard_talk.yaml @@ -0,0 +1,52 @@ +id: guard_talk +type: talk +nodes: + start: + message: "\"Halt! This area is restricted.\" The guard eyes you suspiciously." + options: + - text: "\"What's behind that gate?\"" + goto: about_gate + - text: "\"I have copper ore.\"" + goto: trade_ore + condition: + has_item: copper_ore + - text: "\"I have a pass.\"" + goto: has_pass + condition: + flag: got_pass + value: true + - text: "\"Goodbye.\"" + end: true + about_gate: + 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.\"" + action: + set_flags: + talked_to_guard: true + options: + - text: "\"I'll be back.\"" + end: true + - text: "\"I have some right here.\"" + goto: trade_ore + condition: + has_item: copper_ore + - text: "\"Goodbye.\"" + end: true + trade_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.\"" + action: + take_item: copper_ore + give_item: pass_stub + set_flags: + got_pass: true + talked_to_guard: true + options: + - text: "\"Thanks.\"" + end: true + has_pass: + message: "\"Let me see that...\" He examines your pass and nods. \"Alright, I'll open the gate for you.\"" + action: + set_flags: + gate_open: true + options: + - text: "\"Thanks.\"" + end: true diff --git a/data/behaviors/iron_gate_toggle.yaml b/data/behaviors/iron_gate_toggle.yaml new file mode 100644 index 0000000..e009ca7 --- /dev/null +++ b/data/behaviors/iron_gate_toggle.yaml @@ -0,0 +1,9 @@ +id: iron_gate_toggle +type: toggle +message: "You push the heavy iron gate." +set_flags: + gate_open: true +check: + flag: gate_open + value: true + not: true diff --git a/data/behaviors/mine_copper.yaml b/data/behaviors/mine_copper.yaml new file mode 100644 index 0000000..1f2f884 --- /dev/null +++ b/data/behaviors/mine_copper.yaml @@ -0,0 +1,24 @@ +id: mine_copper +type: gather +skill: mining +level: 1 +base_wait: 8 +tool: pickaxe +success: + base: 0.40 + per_level: 0.01 + cap: 0.95 +gather_message: "You swing your pickaxe at the rock..." +fail_message: "You chip away but get nothing useful." +drops: + - item_id: copper_ore + weight: 90 + depletes: true + message: "You manage to mine some copper ore." + - table: gem_table + weight: 10 + depletes: false + message: "You spot a glint of something valuable!" +deplete_delay: 50 +respawn_message: "You see more ore in the rock." +respawn_broadcast: "A glint of copper catches your eye from some {name}." |
