Misunderstanding (?) of new actions, rulebooks & tables

I’m attempting to define a new “holding something aloft” rule. The basic idea is there are a number of item sublclasses (talismans) that might be used at one or more locations. I want the check rule to ensure that we are actually holding a talisman aloft and that we are in (one of) the proper locations for that talisman to have an effect on the gameworld.

This code won’t compile, I’ve marked the error. I’m sure it’s a misunderstanding on my part of my understanding of tables, understanding of rules, or understanding of I7.

I’m not writing a bunch of instead rules because, the list of talismans and their locations is potentially long (25ish) and I had hoped defining the action, checking it against the table, carrying it out (as necessary) and reporting would be less keystrokes and prove a learning experience for me.

So, far it’s failing on all counts. Any help is appreciated

[code]Holding it aloft is an action applying to one thing.
Understand “hold [something preferably held] aloft” or “hold up [something preferably held]” or “hold [something preferably held] up” or “lift up [something preferably held]” or “lift [something preferably held] up” as holding it aloft.

Table of Talisman Effects
item location effect
amulet Thorns “amulet passed”

A check holding it aloft rule:
if the noun is an item listed in the Table of Talisman Effects
begin;
if the location matches the location entry [Error Here!]
begin;
say “[effect entry]!”;
continue the action;
otherwise;
say “Holding [the noun] aloft doesn’t seem to work here.”;
stop the action;
end if;
end if;
[/code]

Try if the location IS the location entry

Changing “matches” to “is” seems to work. I guess that when I7 sees “matches” it’s expecting to match snippets of text, and you need to write “is” to test whether a room is the same as what you’ve listed in the table.

OMG. I fail at I7. Thank you.