aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-29 05:10:28 -0400
committerhistoria <[not public]>2026-06-29 05:10:28 -0400
commitc6cbf76b33ac20d071d25e74b70f6901476193a6 (patch)
tree201fa943d07a17aba77d8b66c13863fe3a0ea588 /internal
parent71ce47ca37566be8dc390434df4cd01422298094 (diff)
downloadthehouseoficarus-c6cbf76b33ac20d071d25e74b70f6901476193a6.tar.gz
feat: blocked up/down exits on map
Diffstat (limited to 'internal')
-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}
}
}