diff options
| author | historia <[not public]> | 2026-06-10 04:44:31 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-10 04:44:31 -0400 |
| commit | 69d8757ad983697cdc9182fdcc1cdb612a77fb41 (patch) | |
| tree | 348c26d1f6defe3aef64f5aa9e7cefed0e764214 /internal/action/behavior.go | |
| parent | a226d72e51eecb768b13600303f73483118d9104 (diff) | |
| download | thehouseoficarus-69d8757ad983697cdc9182fdcc1cdb612a77fb41.tar.gz | |
feat: yaml architecture for complex object interaction
Diffstat (limited to 'internal/action/behavior.go')
| -rw-r--r-- | internal/action/behavior.go | 20 |
1 files changed, 13 insertions, 7 deletions
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 { |
