The following only triggers if the player used ‘waiter’ as the first noun:
Instead of doing anything other than examining to the waiter:
but if the player tries giving luggage to the waiter, the luggage is now the first noun so the above rule doesn’t fire.
I tried ‘with’ (Instead of doing anything other than examining with the waiter:) but that seemed to make no difference. And I tried ‘involving’ and that didn’t compile.
Did I imagine this existing, or is there a way to phrase it?
Great, that’s the one! Thanks. I can alter this to “instead of doing anything OTHER THAN blah when the current action involves the frob”, which is where I was trying to get to.
Having stumbled across this, I thought I’d offer this definition:
Definition: an object is involved if it is the noun or it is the second noun or it is the person asked.
Lab is a room.
The waiter is a person in the lab.
The player holds the note.
Instead of doing anything other than examining when the waiter is involved:
say "nah.";
test me with "x waiter / touch waiter / show note to waiter"
Why bother? Well, current action is slow enough to matter if it gets invoked a lot, like, say, if you’ve used if the current action involves [...] in a bunch of before or instead rule preambles. If it occurred in just one rule preamble, it wouldn’t be worth worrying about.
But if all you want the current action for is invoking the if (act - a action) involves (X - an object) phrase, I don’t see any downside to using the above involved definition instead.
Creating current action once up-front and storing it in the general case would be fine, but this is trickier to get right than it sounds like… with something like this:
happening-action is a stored action that varies.
before doing anything: now the happening-action is the current action.
an implicit take would clobber happening-action with the taking action.