From 5b9a75a1520a198c9c6b1f1f55e05c9f4aab5629 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 22 Jun 2026 04:24:11 -0400 Subject: feat: map now only reveals with exploration. players can set custom map symbols. --- internal/player/player.go | 9 ++++++++- internal/player/store.go | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'internal/player') diff --git a/internal/player/player.go b/internal/player/player.go index ac2c8ce..ebba376 100644 --- a/internal/player/player.go +++ b/internal/player/player.go @@ -138,7 +138,7 @@ var OptionDefs = []OptionDef{ {"mix_all", OptBool, false, nil, "Auto-start mixing when only one product is possible"}, {"construct_all", OptBool, false, nil, "Auto-start constructing when only one product is possible"}, {"craft_all", OptBool, false, nil, "Auto-start crafting when only one product is possible"}, - {"safespot_alert", OptString, "{196 bold}** Your safespot has been compromised! **{/}", nil, "Message shown when forced out of a safespot (set to \"none\" to disable)"}, + {"safespot_alert", OptString, "{196 bold}** Your safespot has been compromised! **{/}", nil, "Message shown when forced out of a safespot"}, } var optionByName map[string]*OptionDef @@ -191,9 +191,15 @@ type Player struct { Sneaking bool `yaml:"-"` SneakNotified map[string]bool `yaml:"-"` ActiveBuffs []PotionBuff `yaml:"-"` + MapSymbols map[int]MapSymbolData `yaml:"map_symbols,omitempty"` Stats PlayerStats `yaml:"stats"` } +type MapSymbolData struct { + Char string `yaml:"char"` + Color string `yaml:"color,omitempty"` +} + type PotionBuff struct { Stat string BonusPercent int @@ -314,6 +320,7 @@ func New(name string) *Player { AttackStyle: Accurate, Prompt: "> ", RoomID: 0, + MapSymbols: make(map[int]MapSymbolData), Stats: PlayerStats{ RoomsVisited: make(map[int]bool), MobKills: make(map[string]int), diff --git a/internal/player/store.go b/internal/player/store.go index 04af594..97ff13f 100644 --- a/internal/player/store.go +++ b/internal/player/store.go @@ -95,6 +95,9 @@ func (s *AccountStore) LoadCharacter(name string) (*Player, error) { if p.Inventory == nil { p.Inventory = make(map[int]*InventorySlot) } + if p.MapSymbols == nil { + p.MapSymbols = make(map[int]MapSymbolData) + } return &p, nil } -- cgit v1.2.3