aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/game/render_map.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/internal/game/render_map.go b/internal/game/render_map.go
index 8790a1e..7416d06 100644
--- a/internal/game/render_map.go
+++ b/internal/game/render_map.go
@@ -201,11 +201,19 @@ func buildTinyMap(g *Game, sess *net.Session, roomID int, mg mapGlyphs) []string
cur, _ := loadRoom(g, roomID)
if cur != nil {
- if _, ok := exitTarget(cur, world.Up); ok {
- grid[1][3] = mapCell{char: mg.upArrow, spec: color.NoColor()}
+ if target, ok := exitTarget(cur, world.Up); ok {
+ spec := color.NoColor()
+ if exitStateTo(g, sess, roomID, world.Up, target) == exitBlocked {
+ spec = ctx.blockedSpec
+ }
+ grid[1][3] = mapCell{char: mg.upArrow, spec: spec}
}
- if _, ok := exitTarget(cur, world.Down); ok {
- grid[3][1] = mapCell{char: mg.downArrow, spec: color.NoColor()}
+ if target, ok := exitTarget(cur, world.Down); ok {
+ spec := color.NoColor()
+ if exitStateTo(g, sess, roomID, world.Down, target) == exitBlocked {
+ spec = ctx.blockedSpec
+ }
+ grid[3][1] = mapCell{char: mg.downArrow, spec: spec}
}
}