diff options
Diffstat (limited to 'internal/object')
| -rw-r--r-- | internal/object/item.go | 6 | ||||
| -rw-r--r-- | internal/object/object.go | 26 |
2 files changed, 22 insertions, 10 deletions
diff --git a/internal/object/item.go b/internal/object/item.go index efcb2c5..a6a06e1 100644 --- a/internal/object/item.go +++ b/internal/object/item.go @@ -55,11 +55,13 @@ type ItemDef struct { HealValue int `yaml:"heal_value"` EatMessage string `yaml:"eat_message"` MadeFrom []MadeFromEntry `yaml:"made_from,omitempty"` + Ticks float64 `yaml:"ticks"` } type MadeFromEntry struct { - Items []string `yaml:"items"` - Qty int `yaml:"qty"` + Items []string `yaml:"items"` + Qty int `yaml:"qty"` + Byproducts []string `yaml:"byproducts"` } type ItemStats struct { diff --git a/internal/object/object.go b/internal/object/object.go index 46e460e..fe55865 100644 --- a/internal/object/object.go +++ b/internal/object/object.go @@ -1,12 +1,22 @@ package object +import "thehouseoficarus/internal/action" + +type UseInteraction struct { + Item string `yaml:"item"` + Condition *action.Condition `yaml:"condition"` + Message string `yaml:"message"` + Action *action.NodeAction `yaml:"action"` +} + type ObjectDef struct { - ID string `yaml:"id"` - Name string `yaml:"name"` - Color string `yaml:"color"` - BehaviorID string `yaml:"behavior"` - Hidden bool `yaml:"hidden"` - InRoomDescription string `yaml:"inroom_description"` - RemovalItem string `yaml:"removal_item"` - Props map[string]any `yaml:"props"` + ID string `yaml:"id"` + Name string `yaml:"name"` + Color string `yaml:"color"` + BehaviorID string `yaml:"behavior"` + Hidden bool `yaml:"hidden"` + InRoomDescription string `yaml:"inroom_description"` + RemovalItem string `yaml:"removal_item"` + Description string `yaml:"description"` + UseInteractions []UseInteraction `yaml:"use_interactions"` } |
