aboutsummaryrefslogtreecommitdiff
path: root/internal/game/look_target.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-06 23:05:04 -0400
committerhistoria <[not public]>2026-07-06 23:05:04 -0400
commit9292634f2f8d71a53879ff07e1330c671b207d51 (patch)
treedcffadf7f697e8ad0705d787d8f599bdeeedb812 /internal/game/look_target.go
parent911aae15f4e869c93239ef7c630c61e1d9d4ef3f (diff)
downloadthehouseoficarus-9292634f2f8d71a53879ff07e1330c671b207d51.tar.gz
feat: split the concept of hidden and impassable exits. add player_flag for discovered hidden exits.
Diffstat (limited to 'internal/game/look_target.go')
-rw-r--r--internal/game/look_target.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/game/look_target.go b/internal/game/look_target.go
index bf130be..ead38a7 100644
--- a/internal/game/look_target.go
+++ b/internal/game/look_target.go
@@ -26,6 +26,18 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
sess.WriteLine("You can't see anything that way.")
return
}
+ if !p.GodMode && exitDef.AlwaysBlocked {
+ msg := exitDef.BlockedMessage
+ if msg == "" {
+ msg = fmt.Sprintf("The way %s is impassable.", exitDir)
+ }
+ sess.WriteLine(msg)
+ return
+ }
+ if exitDef.Hidden && !g.exitDiscovered(p, p.RoomID, exitDir) {
+ sess.WriteLine("You can't see anything that way.")
+ return
+ }
if exitDef.Condition != nil && !g.checkCondition(sess, exitDef.Condition) {
if !p.GodMode {
msg := exitDef.BlockedMessage