The Eye of the Idol
We start by defining relations that let us know where items "belong", with the understanding that if something is where it belongs, it will be described in the main room description and therefore should not be separately listed. Thus:
We can't make relations relate various objects to various objects, and rooms are not things, so two separate cases are necessary. An alternative approach would be to say "A thing has an object called the initial placement", which would allow a thing to have an initial placement that was a room, a supporter, or a container; an advantage of using relations, though, is that that way we can if we like specify multiple placements for the same object, so that, e.g., a sparkling diamond can be described in the main description paragraph as "half-buried in dust" in the beginning of the game, and then at the end as "in the eye of the idol" at the end.
Now we define, based on these relations, an "in-place" adjective, which will identify whether something is in a location which will specially describe it:
With that done, removing these items automatically from the room description is actually pretty easy:
One tricky case remains: when something is placed on a supporter that is scenery, it can be mentioned even if we have marked that object "not marked for listing". What matters here is not whether the object itself is marked for listing but whether the supporter has been "mentioned". (A fuller description of how room descriptions are assembled is available in the Looking section of the Commands chapter in the Recipe Book.) So let's also add a feature whereby we can easily suppress the descriptions of these supporters when appropriate:
A quiet supporter is one that is never mentioned itself and which only mentions its contents if they are out of place. This allows for maximum flexibility in incorporating it into the body of room descriptions.
Notice that we can still override this with writing a paragraph rules about specific supporters in our game, if we decide that we want something a little different in some cases.
Now, an example to test this out:
We could have done all this with text conditions in the main room description, but it becomes difficult to read when there are too many conditions operating in the same text property, so we break it out into a clearer set of conditions.
Test me with "get diamond / look / n / get mat / look / drop diamond / look / get diamond / put diamond in eye / look / get incense / look / drop mat / look / get mat / put mat on pedestal / look / put incense on pedestal / look".
The constant wind has filled this chamber with a layer of fine red sand, as soft as powder snow. Something sparkling is half-buried in the corner. A doorway lies open to the north.
>(Testing.)
>[1] get diamond
Taken.
>[2] look
Sand-Floored Chamber
The constant wind has filled this chamber with a layer of fine red sand, as soft as powder snow. A doorway lies open to the north.
>[3] n
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory. A prayer mat at the idol's feet, and an incense stick still burning on the pedestal, indicate that someone was only recently consigning her grievances to the care of the deity.
On the pedestal is an incense stick.
>[4] get mat
Taken.
>[5] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory. At the idol's side is a pedestal, on which incense still smolders.
On the pedestal is an incense stick.
>[6] drop diamond
Dropped.
>[7] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory. At the idol's side is a pedestal, on which incense still smolders.
On the pedestal is an incense stick.
You can also see a sparkling diamond here.
>[8] get diamond
Taken.
>[9] put diamond in eye
You put the sparkling diamond into the idol's eye.
>[10] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory, in whose single eye a vast diamond gleams. At the idol's side is a pedestal, on which incense still smolders.
On the pedestal is an incense stick.
>[11] get incense
Taken.
>[12] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory, in whose single eye a vast diamond gleams.
>[13] drop mat
Dropped.
>[14] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory, in whose single eye a vast diamond gleams. At the idol's feet, some worshipper has left a prayer mat.
>[15] get mat
Taken.
>[16] put mat on pedestal
You put the mat on the pedestal.
>[17] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory, in whose single eye a vast diamond gleams.
On a pedestal is a mat.
>[18] put incense on pedestal
You put the incense stick on the pedestal.
>[19] look
Hexagonal Temple
The temple walls are great ashlar blocks rising to a hundred feet overhead, perhaps more; the roof is a scarlet awning only, through which the sun filters down in blood hues. Overseeing all is a sculpture in stone and ivory, in whose single eye a vast diamond gleams. At the idol's side is a pedestal, on which incense still smolders.
On the pedestal, in addition to the incense stick, is a mat.