This may be easy and I just don’t know how to do it, or it may be tricky.
What I want: The first time the player enters the Kitchen, two NPCs are there. I do not want them listed in the room contents (“You can see Bibbidgy and Gorlick here.”) – I want to write a paragraph describing what they’re doing. But in subsequent LOOK actions, I do want the default text to be used, rather than my own text.
I’ve tried adding Room Description Control by Emily Short, but there appears to be no easy way to deflect it after the first time the room description is printed. I’ve tried, for instance, adding a truth state that varies, and then doing this:
dont-show-them is a truth state that varies. dont-show-them is true.
A description-concealing rule when the player is in the Kitchen for the first time:
if dont-show-them is true:
now Bibbidgy is not marked for listing;
now Gorlick is not marked for listing.
But even after dont-show-them is successfully set to false (I checked that with a test-print statement), they’re still not marked for listing, so they don’t show up in the default manner.
Suggestions would be welcome!
How about a “rule for writing a paragraph about”?
Rule for writing a paragraph about Rosencrantz when the Kitchen is unvisited:
say "[Rosencrantz] and [Guildenstern] are clearly planning something nefarious."
This will only fire on the first visit (because after that the Kitchen will be “visited”), and since Rosencrantz and Guildenstern’s names are printed through the “printing the name of” activity (that’s what enclosing them in brackets does), they get the “mentioned” property and aren’t listed separately in a “you can also see” paragraph.
That might work, except that the name of the ferryman is Gorlick, and I don’t want to refer to him as Gorlick in the paragraph – I want to refer to him as the ferryman. I’ll play around with it, though.
That does seem to work – thanks! I had to delete Room Description Control, though, as it proved to be quite insistent about not mentioning the contents of rooms, even when not activated. Hope I don’t need it later on…
Ah, right, if you don’t want to mention the name you can set the “mentioned” property explicitly:
Rule for writing a paragraph about Gorlick when the Kitchen is unvisited:
say "The ferryman is standing here.";
now Gorlick is mentioned.