Room Description Control
version 10 by Emily Short
Section: Reporting to the player
(3) Writing a paragraph about. Finally, Room Description Control goes through the Table of Seen Things and executes the Writing a paragraph about activity for each unmentioned item it finds there. (Things whose names have been printed earlier during the room description are thereafter marked "mentioned" and will not have their writing a paragraph about activity called. This emulates the default behavior of Inform.)
An item is considered to be "mentionable" when it is unmentioned and marked for listing.
This is where the burden falls on us to provide a set of writing a paragraph about activities that will produce the kind of output we want. This is not necessarily a minor undertaking.
Several possible collections of writing-a-paragraph rules are provided as sister extensions as of this writing:
The minimalist "Single Paragraph Description" combines all description of all items into a single paragraph. This is likely to be unattractive and unruly in all but the most spartan games, but it is provided in response to a specific author request.
"Ordinary Room Description" emulates as closely as possible the Inform default behavior while still relying on Room Description Control; this means that concealment and priority rules can be applied while otherwise retaining the look and feel of a game. Ordinary Room Description also makes use of the listing nondescript items activity.
"Tailored Room Description" is the most complex solution: it does away with parenthetical lists of contents and instead produces detailed full paragraphs.
If none of these suit, we may wish to craft our own set of writing a paragraph rules instead.
Note also that under this system, the activity of listing nondescript items becomes irrelevant.
An addendum about concealment. We may also find that we want TAKE ALL to attempt to take only items that are currently not concealed according to our concealment rules. We may in that case add the following bit to our code:
Rule for deciding whether all includes something (called special-target):
now every thing is marked for listing;
follow the description-concealing rules;
if the special-target is not marked for listing, it does not.