aboutsummaryrefslogtreecommitdiff
path: root/internal/player
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-22 04:24:11 -0400
committerhistoria <[not public]>2026-06-22 04:24:11 -0400
commit5b9a75a1520a198c9c6b1f1f55e05c9f4aab5629 (patch)
tree18f500ca3492ba206a3f66e2f01146b05a1675b2 /internal/player
parent7f07c7236578e1a7bcef0282ff9d7f5bf8c7c045 (diff)
downloadthehouseoficarus-5b9a75a1520a198c9c6b1f1f55e05c9f4aab5629.tar.gz
feat: map now only reveals with exploration. players can set custom map symbols.
Diffstat (limited to 'internal/player')
-rw-r--r--internal/player/player.go9
-rw-r--r--internal/player/store.go3
2 files changed, 11 insertions, 1 deletions
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
}