diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/game/render_map.go | 16 |
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} } } |
