Changing the behavior of a rule within an activity

I’m running into an issue with changing the behavior of rules that occur within an activity, specifically the “printing a locale paragraph about” activity.

The method laid out in 19.5 for overriding a rule in a specific case is terrific and has allowed me to replace a large number of procedural rules with something as simple as:

The examine supporters rule does nothing when examining the flat table.

The issue I’m running into is attempting to prevent the “describe what’s on scenery supporters in room descriptions rule” running for the same object. I was hoping to use something like

The describe what's on scenery supporters in room descriptions rule does nothing when writing a paragraph about the flat table.

The printing a local paragraph activity references an “item”, but I can’t reference that either:

The describe what's on scenery supporters in room descriptions rule does nothing if the item is the flat table.

I can easily blank out the rule in general:

The describe what's on scenery supporters in room descriptions rule does nothing.

…but I only want it to not run in the case of this one object.

I even tried making a rule specifically for the object:

Rule for printing a locale paragraph about the flat table: rule succeeds.
But that just results in “You can see nothing here.”

Does anyone have any advice on the syntax for this command?

-d-

The brute-force way is to substitute your own rule for the scenery supporters in room descriptions rule, and stick exceptions into it.

The elegant way is:

The describe what’s on scenery supporters in room descriptions rule does nothing when the item described is the table.

Oh that’s absolutely fantastic. Precisely what I was looking for. Thank you! :slight_smile:

Out of curiosity – where does the syntax for “item described” come from? I saw that (thing - an item) was defined in the rule, and tried “when the item is the table” but that failed. Where precisely does “item described” come from?

-d-

It’s a global variable defined in the Standard Rules:

The item described is an object that varies.
The item described variable translates into I6 as "self".

You remember “self”, of course. :slight_smile: