I’ve found the way to stop listing the contents of supporters universally, but I haven’t been able to figure out how to do it for specific supporters. For some specific situations, I’d like to handle that description manually without shutting supporters’ content lists off for the entire game. How might I accomplish this?
Maybe something like:
A supporter can be quiet or verbose.
After printing the name of a quiet supporter:
omit contents in listing;
which also allows you to write, depending of the events of the story:
now the red table is quiet.
and, for example:
Rule for printing a paragraph about a quiet supporter (called LocalSupporter) when LocalSupporter is the red table:
[whatyouwant]
Unfortunately it’s still printing the contents of the supporter.
Sorry. I have tested this:
Lab is a room.
A supporter can be quiet or verbose.
After printing the name of a quiet supporter:
omit contents in listing;
Check examining a quiet supporter:
say "[TheDescription]" instead;
A red table is a supporter.
A red table is quiet.
A red table is in Lab.
A fork is on the red table.
TheDescription is a text that varies.
TheDescription is "What is this on the [the item described]? Seems like a kind of knife...".
Result:
Lab
You can see a red table here.
>examine table
What is this on the the red table? Seems like a kind of knife...
>
Is this correct?
There are a couple of ways that come to mind to handle listing contents of specific supporters. Also, have a look at this thread which also covers ways you can customize listing the contents of individual supporters.
The concepts in the documentation that most sound like what you’re trying to do are ones found in the Activities section, like WI 18.24 Writing a paragraph about and WI 18.25 Listing nondescript items of something, both of which have some bits about how to create special cases to print information about things.
I’m going to borrow one of the offered solutions from the linked thread and present it here (slightly modified) as one potential solution using the Writing a paragraph about activity:
Lab is a room.
A table is a supporter in Lab.
The pen is on the table.
The paper is on the table.
The orange is on the table.
Rule for writing a paragraph about the table:
say "You see a table[if a thing is on the table]. On the table [is-are a list of things on the table][end if]."
Output:
Lab
You see a table. On the table are a pen, a paper and an orange.
>x table
On the table are a pen, a paper and an orange.
>take all
pen: Taken.
paper: Taken.
orange: Taken.
>l
Lab
You see a table.
>x table
You see nothing special about the table.
Note that there is a difference if you make the table a scenery supporter, so you’ll need to be careful about the situations where you use this activity depending on the kind of supporter it is.
Output with scenery supporter:
Lab
On the table are a pen, a paper and an orange.
>x table
On the table are a pen, a paper and an orange.
>take all
pen: Taken.
paper: Taken.
orange: Taken.
>l
Lab
If this is the case, you’ll want to read WI 18.28 Printing a locale description about which talks about the determination of whether to print some text about items the players can see. You’ll also want to familiarize yourself about cases where items can be “mentioned” which can affect how items may or may not be described. The example in this section also provides another way of handling items on supporters.
Sorry, I realize that I didn’t provide an example for suppressing items on a supporter. It will use the concepts I described in the post above, but I will try to work on that to demonstrate a case where you would like to completely suppress describing items on a supporter even if there are items on it.
This is a simple example, but maybe it can offer one option for you. It can demonstrate how you can target a specific item like a table, and then only have the items on it mentioned after examining, while using the Printing a locale paragraph activity (which is described in WI 18.26)
Lab is a room.
The table is a supporter in the Lab.
The pen is on the table.
The paper is on the table.
The orange is on the table.
For printing a locale paragraph about the table:
Repeat with item running through the things on the table:
now the item is mentioned.
Output:
Lab
You can see a table here.
>x table
On the table are a pen, a paper and an orange.
…but you gave me this idea:
Lab is a room.
A special supporter is a kind of supporter.
A special supporter can be quiet or verbose.
Check examining a special supporter:
say "[description of the noun]" instead;
After printing the name of a special supporter:
omit contents in listing;
stop the action;
A red table is a special supporter.
The description of the red table is "[if the item described is verbose]This is a red table, with something strange on it. You should examine it.[otherwise]What is this on the table ? Seems like a kind of knife... [end if]".
Rule for printing the name of a verbose red table:
say "a red table, with something strange on it";
Rule for printing the name of a quiet red table:
say "a red ordinary table"
A red table is in Lab.
A fork is on the red table.
Carry out jumping:
now the red table is quiet;
Result:
Lab
You can see an a red table, with something strange on it here.
>examine table
This is a red table, with something strange on it. You should examine it.
>jump
You jump on the spot.
>look
Lab
You can see an a red ordinary table here.
>examine table
What is this on the table ? Seems like a kind of knife...
>
It’s a small thing, but you can shorten this to:
For printing a locale paragraph about the table:
Now everything on the table is mentioned
There is a Carry out rule under the Examining action, called the examine supporters rule. It is exclusively for listing the contents of supporters when examining them. You can turn this rule off for specific supporters like so–
A short table is a supporter.
.......
The examine supporters rule does nothing when the noun is the short table.
Now whenever the player looks at the table, s/he does not get that pesky paragraph. You could simply include a description of the contents within the description of the table.
Or you can do it generally like so–
The examine supporters rule does nothing.
There is also a similar rule for containers, called the examine containers rule, and you can code it in exactly the same way.
There is also another rule which you might find useful to turn off–the examine devices rule. It prints a separate sentence like ‘The flashlight is switched on.’ You could write–
The examine devices rule does nothing when the noun is the flashlight.
Especially useful if you intend to describe the flashlight’s beam in the description of the item, and you don’t want ‘The flashlight is switched on.’ at the end of it.