From 0b0b25222b3131ada79ff78c28eb8bf07d977deb Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Tue, 15 Sep 2026 15:35:52 -0400 Subject: feat: single-owner game state, transactional lifecycle, durable money on server stop --- internal/player/player.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'internal/player/player.go') diff --git a/internal/player/player.go b/internal/player/player.go index 81ef056..ae147b2 100644 --- a/internal/player/player.go +++ b/internal/player/player.go @@ -159,6 +159,11 @@ func GetOptionDef(name string) *OptionDef { type Player struct { Name string `yaml:"name"` + // ID is a stable identifier assigned at creation. Filenames are + // renameable; the ID is not, so cached references authorize by ID. + ID string `yaml:"id,omitempty"` + // Account is the owning account name (case-canonical at write time). + Account string `yaml:"account,omitempty"` Skills map[SkillName]int `yaml:"skills"` Inventory map[int]*InventorySlot `yaml:"inventory"` Bank map[int]*InventorySlot `yaml:"bank"` -- cgit v1.2.3