“Consulting it about” is a default action in Inform 7. It applies to one thing (the game object being consulted) and one topic (not a game object, but a bit of text, the subject being looked up).
Your new “consulting about” action applies to two things, two game objects. It will only work if the “second noun” is also an object visible to the player, like if you’re standing in front of a statue and you consult your tourist guide about the statue.
But in your Table of Metal Book’s responses, the “Consult” column contains text in quotes. The text string "therapist"
is distinct from any game object like The therapist
you may have introduced. When your rule repeats through that table, it will never identify “the second noun” of the current action as a text string, because “the second noun” is necessarily a game object.
Unless you’re doing something really wild*, the built-in “consulting it about” action probably meets your needs. (It has “look up…” and other synonyms already prepared for you, which is nice.) Instead of defining a new action, you can just add:
Instead of consulting the metal book about a consult listed in the Table of Metal Book's Responses:
say "[response entry][paragraph break]".
To make this rule recognize the “consult” column correctly, you have to specify in the table heading that the column is for topics, by adding “(a topic)” like so:
Table of Metal Book's responses
Consult (a topic) Response
"therapist" "Dr. Gehardt V. Workinger. Born 1924 in Vienna Austria. A noted disciple first of Freud and then Jung..."
Or you can just use the word “topic” in the rule and as the column name, which is how examples in the documentation do it:
Instead of consulting the metal book about a topic listed in the Table of Metal Book's Responses:
say "[response entry][paragraph break]".
Table of Metal Book's responses
Topic Response
"therapist" "Dr. Gehardt V. Workinger. Born 1924 in Vienna Austria. A noted disciple first of Freud and then Jung..."
There’s a small implementation issue in this example that I should address so that nobody calls me out on it. A player who types >LOOK UP WORKINGER IN METAL BOOK
will get no response, because there’s no “workinger” line in the table. But you can add synonyms like: Understand "therapist" and "gerhardt" and "workinger" as "[therapist]".
Then you just have to add those brackets to the table:
Table of Metal Book's responses
Topic Response
"[therapist]" "Dr. Gehardt V. Workinger. Born 1924 in Vienna Austria. A noted disciple first of Freud and then Jung..."
I’m getting most of this from the “Costa Rican Ornithology” example here.
*There was a (now direly unappreciated) game released about ten years ago that did something really wild along these lines, but we don’t have to get into it here.