In the basement, there is a tool rack on the west wall. If Harry grabs the right object on the rack, the pegboard springs out from the wall to reveal a secret door. Mechanism works correctly, but the secret door isn’t very secret.
In the banner above the transcript display, the Room Title is shown along with exits listed: North, West, Up.
But the West exit is the secret door. According to the Adv3Lite Manual, secret doors are not supposed to be listed as exits unless they’ve been opened.
Here’s an isolated recreation of the problem in my test bed, minus the mechanism to actually open the door (since that works, and my problem is with the behavior before the door is opened.)
[code]#charset “us-ascii”
#include <tads.h>
#include “advlite.h”
versionInfo: GameID
IFID = ‘243748b1-5310-4916-8436-890e9ccc16fd’
name = ‘test’
byline = ‘by Jerry Ford’
htmlByline = ‘by
Jerry Ford’
version = ‘1’
authorEmail = ‘Jerry Ford jerry.o.ford@gmail.com’
desc = ‘Testing followAgendaItem’
htmlDesc = ‘Testing secret door.’
;
gameMain: GameMainDef
/* the initial player character is ‘harry’ */
initialPlayerChar = harry
paraBrksBtwnSubcontents = nil
usePastTense = true
;
// harry, main character
harry: Actor ‘Harry;;man self’ @roomA
“Harry. <.p>”
globalParamName = ‘harry’
isHim = true
isInitState = true
person = 3
proper = true
;
roomA: Room ‘Room A’
“Now in Room A.”
north = roomB
;
roomB: Room ‘Room B’
“Now in Room B.”
south = roomA
north: TravelConnector
{
destination = toolRack
}
;
-
toolRack: SecretDoor ‘tool rack;pegboard’
“A pegboard tool rack was mounted to the wall next to the broad empty table.
\b
Hammer, crowbar, all manner of tools hung from pegs
in the board. \b
Incongruously amidst the vast collection of carpentry
tools, there was also a brightly painted ceramic Day of the Dead medallion,
a black grinning skull with colorful flowers and an intricate floral pattern
painted on it in pastels, hanging on a peg in the board.
<.p>”isOpen = nil
otherSide = secretDoorFromRoomC
vocabWhenOpen = ‘hidden room;pegboard;tool rack’contentsListed = nil
;
roomC: Room ‘Room C’
“Now in Room C.”
south = secretDoorFromRoomC
;
++ secretDoorFromRoomC: Door ‘door;basement’
“The door led into the basement of the Hernandez compound. <.p>”
otherSide = toolRack
;
[/code]
In this example, the secret door is in room B and it opens to the north. So I expect North to not be listed as an Exit since the secret door cannot be opened in this example. But, when I run this code, North is in fact shown as an exit. Trying to go north does not work, but the message displayed, rather than something on the order of “no exit to the north”, again spills the beans…
Jerry