From 1dad15698845d370e998f7cc5feb8aece3fab58f Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 16 Sep 2026 17:05:17 -0400 Subject: refactor: remove dead code, consolidate save/error handling, add lint gate --- internal/game/save.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 internal/game/save.go (limited to 'internal/game/save.go') diff --git a/internal/game/save.go b/internal/game/save.go new file mode 100644 index 0000000..8e1af3d --- /dev/null +++ b/internal/game/save.go @@ -0,0 +1,26 @@ +package game + +import ( + "log" + + "thehouseoficarus/internal/player" +) + +// Best-effort persistence helpers. Gameplay code re-saves a character or +// account after most state changes; a save failure there is not recoverable +// by the caller, so these helpers log it once in one place instead of +// silently discarding it at ~100 call sites. Lifecycle transactions (create, +// delete, rename, migration) intentionally do NOT use these: they must +// propagate save errors to the caller. + +func (g *Game) saveCharacter(p *player.Player) { + if err := g.AccountStore.SaveCharacter(p); err != nil { + log.Printf("save character %s: %v", p.Name, err) + } +} + +func (g *Game) saveAccount(acc *player.Account) { + if err := g.AccountStore.SaveAccount(acc); err != nil { + log.Printf("save account %s: %v", acc.Name, err) + } +} -- cgit v1.2.3