diff options
| author | historia <[not public]> | 2026-06-29 05:10:28 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-29 05:10:28 -0400 |
| commit | c6cbf76b33ac20d071d25e74b70f6901476193a6 (patch) | |
| tree | 201fa943d07a17aba77d8b66c13863fe3a0ea588 /internal/game/render_map.go | |
| parent | 71ce47ca37566be8dc390434df4cd01422298094 (diff) | |
| download | thehouseoficarus-c6cbf76b33ac20d071d25e74b70f6901476193a6.tar.gz | |
feat: blocked up/down exits on map
Diffstat (limited to 'internal/game/render_map.go')
| -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} } } |
