Doors in tads 3

I am completely new with tads 3.

I have made door between Blue room and Red room. When I go to red room, I can open and close door, but tads don’t tell that there is door. Even if I write look, the tads don’t tell that there is door. How do I fix that?

Redroom: Room 'Red room'
    "This is a red room. "
east = Blueroom
;

+ frontDoor: Door 'front door*doors' 'front door'
;


Blueroom: Room 'Blue room'
    desc = "This is the Blue room. "
west = Redroom
;

+ frontDoorOutside: Door 'front door*doors' 'front door'
masterObject = frontDoor;

:open_mouth: :open_mouth: :open_mouth:

TADS 3 assumes that you’ll normally include a mention of any doors present in the room description, so that it would be redundant to list them separately. If you want doors to be explicitly listed you can add “isListed = true” to the definition of your doors, e.g.:

+ frontDoor: Door 'front door*doors' 'front door'
    isListed = true
;

But I really don’t recommend this. It’s much better to include “The front door lies to the east” or some such in your room description rather than having “You can see a front door here” appear under the room description; listing a door explicitly in such a way generally looks rather amateurish.

So I think you’re trying to fix something that doesn’t really need fixing; my advice would be to ensure that you mention any doors in your room descriptions.

Thank you for your answer. Tads seems to be very powerfull language, but it’s difficult for newbies as I am.

Since Door inherits from Fixture, objects of this class are hidden by default. However, you can supply a specialDesc property that will be used instead.

You also probably want the room exit to point to the door object rather than the next room.

Redroom: Room 'Red room'
    "This is a red room. "
east = frontDoor
;

+ frontDoor: Door 'front door*doors' 'front door'
    specialDesc = "A door leads inside. "
;

Blueroom: Room 'Blue room'
    "This is the Blue room. "
west = frontDoorOutside
;

+ frontDoorOutside: Door -> frontDoor 'front door*doors' 'front door'
    specialDesc = "A door leads outside. "
;

That said, Eric’s advice to work the presence of the door into the overall room description is a better way to go. A specialDesc will call a lot of attention to the door, which is not appropriate unless the door is very interesting for some reason. If it’s a trap door that the player has discovered or a vault door that he must dynamite open, by all means announce its presence. Otherwise let it fade into the background.