package player type PlayerStats struct { RoomsVisited RoomSet `yaml:"rooms_visited,omitempty"` MobKills map[string]int `yaml:"mob_kills,omitempty"` TotalKills int `yaml:"total_kills"` Deaths int `yaml:"deaths"` } func (s *PlayerStats) RecordRoomVisit(roomID int) { s.RoomsVisited.Add(roomID) } func (s *PlayerStats) RecordMobKill(mobDefID string) { if s.MobKills == nil { s.MobKills = make(map[string]int) } s.MobKills[mobDefID]++ s.TotalKills++ } func (s *PlayerStats) RecordDeath() { s.Deaths++ }