I have a supporter with a description that changes if a certain item on it. I don’t have brackets around the item because it’s worded a little differently than the usual printed name.
Here’s an example:
Lab is a room.
A desk is a supporter in Lab. The description of the desk is "[If the old stapler is on the desk]A desk with that old broken stapler that you don't like sitting on it[otherwise]A desk[end if]."
An old stapler is on the desk.
A pencil is on the desk.
A book is on the desk.
Test me with "x desk".
When the player examines the desk, I want to show the main description, and then list the other things on the desk (the way they usually are when you examine a supporter), but I don’t want to list the stapler a second time.
What’s the best way to do this?
It’s possible the other items on the desk could also include supporters with items on top of those.
If that’s the case, I’d just make the stapler part of the desk once the player puts it on the supporter (and rewrite the “if the old stapler is on the desk” condition to “if the desk incorporates the old stapler”). That way the stapler is there and can be interacted with, but doesn’t interact with the listing the contents of a supporter rules – you’d of course need to intercept attempts to take the stapler so you don’t get a default response that doesn’t make sense, but sounds like you’re doing that anyway to prevent the player from moving it once you put it there.
Oh, I hadn’t thought of the part of the desk idea. I think at one point I may have tried saying something like “now the stapler is scenery,” but I wasn’t sure if that was allowed, and now I don’t remember if it worked.
Ok, it seems like “now the stapler is scenery” works:
Lab is a room. The description is "Type JUMP to turn the stapler into scenery.".
The description of the desk is "[If the stapler is on the desk]A desk with that old broken stapler that you don't like sitting on it[otherwise]A desk[end if]."
A desk is a supporter in Lab.
An old stapler is on the desk.
A pencil is on the desk.
A book is on the desk.
Instead of jumping:
now the stapler is scenery;
say "Now the stapler is scenery."
Test me with "x desk / jump / x desk".
If it works it works, but test a bunch of cases to make sure it works. Can the player interact with the stapler individually? Do you have a response for if the player tries to take the stapler, other than That's fixed in place.? etc. etc.
In the WWI documentation, there is an example called “The Eye of the Idol” written by Emily Short (“A systematic way to allow objects in certain places to be described in the room description body text rather than in paragraphs following the room description, and to control whether supporters list their contents or not.”).
Maybe I misunderstand your target, but I use the technique suggested in this example very often to achieve exactly what you want.