TADS 3 newbie question

Before anything, thanks for the input. I managed to rework the whole thing to act via Methods to fit proper practice and trigger/stop daemons when appropriate.

Now I have an embarrassingly simple issue. I’ve seen in a lot of games that rooms give a long description the first time you see them (On game startup or first time entering), and either a shorter or no description when you enter them again, unless you use the ‘look’ command.

Now, I know how to use the roomFirstDesc to cause the first scenario (Long description first time, short description every other time) by simply setting a roomFirstDesc and a shorter Desc properties, but by the life of me I can’t figure how to make it so that the game shows a long description the first time and no description every time after unless I use ‘Look’. Setting roomFirstDesc does what I want but makes ‘look’ return blank, which I definitely do not want, and if set, the Desc string ALWAYS shows up whenever I re-enter the room. I was thinking about overrinding Actor.lookAround(), but this behavior is so common that I can’t help but feel there’s a simpler way.

I believe you can set the mode to brief in your … uh, my T3 is really, really rusty. In GameMainDef??? Whatever that function is where you put the intro. T3 is set to verbose by default. But this is a player-controlled variable.

–JA

As Jim mentioned, this is up to the player. If the player wants a full description only on first visit, he uses the BRIEF command. To switch back, the VERBOSE command is used.

To switch the default in your game, simply set the gameMain.verboseMode.isOn property to nil for “brief” mode. Setting it to true will switch back to “verbose” mode.

Do not use roomFirstDesc for this purpose. This member* is intended to be used for cases where you want a different description the first time the PC enters the room and the normal description for subsequent visits.

(* The term “member” is a generic way to refer to both properties as well as methods. roomFirstDesc can be either one.)