Nothing wrong with coding up your (or your girlfriendâs) apartment, so long as you donât release the game!
As Felix said, âRule for listing nondescript items: do nothing.â means that you will never print up the âYou can seeâŚâ message describing things in the room. Thatâs a pretty drastic step, which you probably donât want to do unless youâve got some sort of blanket rule that lists everything in the room anyway.
In this case, the room description has already told us about the table and everything on it, so we donât want that to appear after the room description text. The table is taken care of, because itâs scenery, but we have to get rid of the âOn the tableâŚâ text too. If you run the game in the IDE, type ârules,â and then âlook,â youâll see that that text is produced by the âdescribe whatâs on scenery supporters in room descriptions rule.â This is kind of annoying, because it means we have to go into the Standard Rules, find that rule, and replace it with a new rule of our own devising that doesnât print the contents of the table. (As the manual says, this rule is somewhat controversial.)
So we add this giant wodge of code:
[code]For printing a locale paragraph about a thing (called the item)
(this is the describe whatâs on scenery supporters in room descriptions except the table rule):
if the item is not undescribed and the item is scenery and
the item does not enclose the player and the item is not the table:
set pronouns from the item;
if a locale-supportable thing is on the item:
repeat with possibility running through things on the item:
now the possibility is marked for listing;
if the possibility is mentioned:
now the possibility is not marked for listing;
increase the locale paragraph count by 1;
say "On [the item] ";
list the contents of the item, as a sentence, including contents,
giving brief inventory information, tersely, not listing
concealed items, prefacing with is/are, listing marked items only;
say â.[paragraph break]â;
continue the activity.
The describe whatâs on scenery supporters in room descriptions except the table rule is listed instead of the describe whatâs on scenery supporters in room descriptions rule in the for printing a locale paragraph about rulebook.
[/code]
Which may seem intimidating, but all I did is go into the Standard Rules, copy out âthe describe whatâs on scenery supporters in room descriptions rule,â stick âand the item is not the tableâ in, give the rule a new name, and add the last sentence about how to put our rule in for the old rule. (Which took a little banging my head against the wall to figure out exactly what the name of the rulebook was.)
[UPDATE: I forgot to say, take out âRule for listing nondescript items: do nothing.â]
If we wanted to do this with more than one supporter in the game, then the thing to do would be to give supporters a property that determined whether or not to list their contents after the room description, and test for that instead of writing âif the item is not the table.â (In fact, I think it might be kind of nice if the standard rules had a hook for that instead of making us write a new one.)
One more thing: If you pick up the handbag and look, youâll get âIn your room is a table, on which is nothing.â Thatâs not appealing. We can take care of this by setting a condition on the description, so if nothing is on the table it doesnât print âon which isâ at all:
"In your room, there is a [table][if something is on the table], on which is [a list of things on the table][end if]. You can also see a wooden door to the east, leading to a corridor."
(Another issue is that it says âisâ even if thereâs more than one thing on the table, or one thing with a plural name like Kirstyâs keys. Thatâs something you can take care of with Emily Shortâs Plurality extension â but youâve got enough on your plate now!)