Contextual parts of room description

Okay, I think I might see why Curveship and narrative variation was put in place. But let’s see. Say I’ve got a situation like this:

What happens when the player performs this action is that the game processes a series of objects that now appear in the room. These objects weren’t there before. When the player then does a look action (or I do one for them), I get this:

What I want to do is make the objects that appear called out a bit more contextually. The code I’m using to get the objects in place is this:

After wearing the amulet in the Chamber: repeat with appeared object running through things in Storage: move appeared object to Chamber; continue the action.

What I was initially thinking was also giving each newly appeared object a property such as “newly added.” But then I didn’t see how to actually use that property to override the “You can see” part and have it say something like this (with an implicit look happening after wearing the amulet):

And, ideally, I’d only want that special “Wearing the amulet has revealed” text to appear on the first look after wearing the amulet. On subsequent looks, I’d just want the normal “You can see” text.

I’ve been through various parts of the the manual and I see some tricks about the “locale” but it’s still very unclear to me how I would do what I describe above.

Have you tried looking at 17.22 “writing a paragraph about”? It looks to me as though that might help, as it allows you to make a list and then marks every object in the list as “mentioned,” which prevents it from appearing in the “You can also see” paragraph. You might have to be careful about what the “rule for writing a paragraph about” is attached to, though.

I did see that and I’m still learning this locale stuff. It’s mostly that I just want to suppress the normal “you can see” part for one turn – i.e., after the amulet is worn and the implicit look is generated. After that point, I’m fine with the regular “you can see.” It’s like I want to override the rule just once and then have it work as normal from that point on. That seems like a perfect application of what rules would be good at so I’m guessing I’m missing something obvious.

Another element, though, is that I need this to take place any time the player is in a room and wears the amulet. In other words, different rooms will have different “revealed items.”

I’ll keep plugging away.

I think inserting a rule before the you-can-also-see rule might work fine.

[code]A thing can be newly added.

After wearing the amulet:
repeat with appeared object running through things in Storage:
move appeared object to the location;
now appeared object is newly added;
say “You put on the amulet.”;
continue the action.

After wearing the amulet:
try looking.

For printing the locale description (this is the revealed by amulet rule):
if the list of newly added things is not empty:
say “Wearing the amulet has revealed the following items: [a list of newly added things].[paragraph break]”;
now all newly added things are not marked for listing;
now all newly added things are not newly added;
continue the activity.

The revealed by amulet rule is listed before the you-can-also-see rule in the for printing the locale description rulebook.[/code]

That way the you-can-also-see rule would still work for whatever other so called non-descript items might be in the location.
(The you-can-also-see rule only prints things that are “marked for listing”.)

My idea was to do that by the “newly revealed” flag – have the Rule for Writing a Paragraph About kick in whenever there’s a newly revealed item in the location, and have it set all the newly revealed items be not newly revealed anymore; which would mea it doesn’t suppress the regular “you can see” anymore either… As Felix has it. I’m still learning this too, though, so there may be better hooks than the rules for writing a paragraph about.

Got it. I now see the mental block I was having with activities and how they fit in with rules. The above ideas work just fine. Thanks for the help.