The shortcuts for things and exits can be used as commands. So if there is “A small stone (stone)” in the room, then you can use “stone“ to examine it. Effectively, you can use this to add simple interactions. Create a thing and name it “The mushrooms are sitting in a circle (talk)” and players can use the “talk“ command. The result is going to be the description of “The mushrooms are sitting in a circle”.

You can make this even more interesting by hiding things and exits that are actually follow-up commands. Say the description of the mushrooms above was “The mushroom people are humming, swaying expectantly. They want you to dance!” Then create a new thing called “Dance like nobody is watching (dance)” and hide it: “hide dance”. Now players won’t know about the “dance” command until they’ve interacted with the mushroom people.

In order to automatically show the “dance” link once players have examined the “talk” thing, you need to do two things: first, get the id of the “talk” thing by using “id talk”. This gives you a number, like 123. Then add a conditional reveal to the hidden “dance” thing by using “reveal dance for 123”.

If you want to test it again, use “forget 123” to let the game know that you want to be treated as somebody who has never used the “talk” command before (has never examined the mushrooms). If you use “look” now, there is no indication that “dance” is a valid command, here. Use “talk”, then “look”, and the “dance” menu is back. You satisfy the condition, again. 😃