From 97a1a908b9e6e6d3516628c139c9b64262b4fe08 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 18 Jun 2026 20:26:03 -0400 Subject: feat: crafting roughly implemented (leather, gems, gold, clay, spinning). --- internal/action/behavior.go | 2 ++ internal/action/recipe.go | 8 ++++++++ 2 files changed, 10 insertions(+) (limited to 'internal/action') diff --git a/internal/action/behavior.go b/internal/action/behavior.go index 67baab0..ccd95bf 100644 --- a/internal/action/behavior.go +++ b/internal/action/behavior.go @@ -49,6 +49,7 @@ type NodeAction struct { TakeItem string `yaml:"take_item"` Teleport int `yaml:"teleport"` Heal int `yaml:"heal"` + Cost int `yaml:"cost"` } type Condition struct { @@ -57,6 +58,7 @@ type Condition struct { Not bool `yaml:"not"` PlayerFlag string `yaml:"player_flag"` HasItem string `yaml:"has_item"` + MinCredits int `yaml:"min_credits"` AllOf []Condition `yaml:"all_of"` AnyOf []Condition `yaml:"any_of"` } diff --git a/internal/action/recipe.go b/internal/action/recipe.go index 2e93c06..fee3434 100644 --- a/internal/action/recipe.go +++ b/internal/action/recipe.go @@ -21,6 +21,7 @@ type RecipeDef struct { Level int `yaml:"level"` XP int `yaml:"xp"` Station []string `yaml:"station"` + Tool string `yaml:"tool"` Consume []ConsumeEntry `yaml:"consume"` Output string `yaml:"output"` OutputQty int `yaml:"output_qty"` @@ -153,6 +154,13 @@ func (r *RecipeDef) DisplayName() string { return r.Output } +func (r *RecipeDef) EffectiveSkill() string { + if r.Skill != "" { + return r.Skill + } + return r.Type +} + func (s *RecipeStore) FindByNameOrID(query string, recipeType string) (*RecipeDef, error) { all, err := s.LoadAll() if err != nil { -- cgit v1.2.3