aboutsummaryrefslogtreecommitdiff
path: root/data/behaviors
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-10 01:48:28 -0400
committerhistoria <[not public]>2026-06-10 01:48:28 -0400
commita226d72e51eecb768b13600303f73483118d9104 (patch)
tree458d15ef049732c15dacc591a830d3beddbedfde /data/behaviors
parent6a0f3d7a252de4b1741cfe5e1c561412c602becc (diff)
downloadthehouseoficarus-a226d72e51eecb768b13600303f73483118d9104.tar.gz
feat: implemented janky object interaction model
Diffstat (limited to 'data/behaviors')
-rw-r--r--data/behaviors/fish_trout.yaml17
-rw-r--r--data/behaviors/guard_talk.yaml52
-rw-r--r--data/behaviors/iron_gate_toggle.yaml9
-rw-r--r--data/behaviors/mine_copper.yaml24
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}."