From 69d8757ad983697cdc9182fdcc1cdb612a77fb41 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 10 Jun 2026 04:44:31 -0400 Subject: feat: yaml architecture for complex object interaction --- internal/action/behavior.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'internal/action/behavior.go') diff --git a/internal/action/behavior.go b/internal/action/behavior.go index d7f683a..d8eb909 100644 --- a/internal/action/behavior.go +++ b/internal/action/behavior.go @@ -38,16 +38,22 @@ type TalkOption struct { } type NodeAction struct { - SetFlags map[string]any `yaml:"set_flags"` - GiveItem string `yaml:"give_item"` - TakeItem string `yaml:"take_item"` + SetFlags map[string]any `yaml:"set_flags"` + SetPlayerFlags map[string]any `yaml:"set_player_flags"` + GiveItem string `yaml:"give_item"` + TakeItem string `yaml:"take_item"` + Teleport int `yaml:"teleport"` + Heal int `yaml:"heal"` } type Condition struct { - Flag string `yaml:"flag"` - Value any `yaml:"value"` - Not bool `yaml:"not"` - HasItem string `yaml:"has_item"` + Flag string `yaml:"flag"` + Value any `yaml:"value"` + Not bool `yaml:"not"` + PlayerFlag string `yaml:"player_flag"` + HasItem string `yaml:"has_item"` + AllOf []Condition `yaml:"all_of"` + AnyOf []Condition `yaml:"any_of"` } type UseConfig struct { -- cgit v1.2.3