Don't list an object unless parent surface is examined?

Hi. I’m new to TADS 3. I’m trying to make an short game where the player has to pick up a book off a desk and read it. I’ve given the book a readDesc. The problem is, the game lists that there’s a book on the desk in the desk description and the room description. Is there a way to tell the game to not list the book in the room description unless the desk has been examined first?

1 Like

hi, welcome. The basic property you’re looking for is isListed. There’s a good overview of how Tads 3 works with listing here,

http://www.tads.org/t3doc/doc/techman/t3lister.htm

There are various listing properties you can make use of depending on what you want to do.

3 Likes
desk: Surface ;
+book: Readable
   isListed = desk.described
;
4 Likes

Also, welcome to TADS 3. Feel free to shoot out questions whenever you have them! Let us know if you get your game finished…

3 Likes

I know it is not elegant, but I used a blank initSpecialDesc for a similar situation:

initSpecialDesc = " "

It worked.

Welcome to inffiction.org.

2 Likes

Oh, nice! Thanks a lot :slight_smile: It worked perfectly.

That works right! Thanks a bunch :slight_smile:

Thanks for the welcome! That idea did strike me at first, but I wasn’t sure how to that. Then I came across the specialDesc property.

1 Like