Open eriktorbjorn opened 4 years ago
Correction, the bug probably only happens if the room description is printed by an action routine:
<COND (<AND .V? <APPLY <GETP ,HERE ,P?ACTION> ,M-LOOK>>
<FSET ,HERE ,TOUCHBIT>
<RTRUE>)
(<AND .V? <SET STR <GETP ,HERE ,P?FDESC>>>
<TELL .STR CR>)
(<AND .V? <SET STR <GETP ,HERE ,P?LDESC>>>
<TELL .STR CR>)
(T <APPLY <GETP ,HERE ,P?ACTION> ,M-FLASH>)>
The following games have CORRIDOR-CHECK
and CORRIDOR-LOOK
routines:
From a quick look, it seems like:
CORRIDOR-LOOK
when printing the full description, if the room description is printed by an action routine.But don't take my word for it.
I guess it's extra noticeable in Seastalker because it uses action routines in a couple of places where rooms have similar descriptions. Including in the example above.
(Note that the "Name is to the direction." messages are printed even in superbrief mode, which looks even stranger because when you enter the room where they are it won't describe them since object descriptions are suppressed.)
The "Name is off to the direction." message is printed by
CORRIDOR-CHECK
, which is called byCORRIDOR-LOOK
. This routine is called in a couple of different places,DESCRIBE-ROOM
being one of them.But when printing the complete room description, it will apparently return before it gets to call
CORRIDOR-LOOK
. This seems strange to me. It could be deliberate, but...