package game import ( "fmt" "strings" "thehouseoficarus/internal/player" "thehouseoficarus/internal/world" ) func discoveredExitFlag(roomID int, dir world.ExitDir) string { return fmt.Sprintf("hidden_exit_%d_%s", roomID, strings.ToLower(string(dir))) } func (g *Game) exitDiscovered(p *player.Player, roomID int, dir world.ExitDir) bool { if p.GodMode { return true } return getPlayerFlagInt(p, discoveredExitFlag(roomID, dir)) != 0 } func (g *Game) markExitDiscovered(p *player.Player, roomID int, dir world.ExitDir) { g.setPlayerFlag(p, discoveredExitFlag(roomID, dir), 1) } func (g *Game) exitHiddenFiltered(p *player.Player, roomID int, dir world.ExitDir, exitHidden bool) bool { if !exitHidden { return true } return g.exitDiscovered(p, roomID, dir) }