How to make a generalized verb action

I have the following situation. The PC meets two NPCs and gets some stuff from them. (It is Heidi, Joe and Sally)
I’ve implemented a ‘Thank’ action.

DefineTAction(Thank);

VerbRule(Thank)
  'thank' singleDobj
  : ThankAction
  verbPhrase = 'thank/thanking (whom)'
;

Now I can implement a reaction, let’s say for Sally like this:

 dobjFor(Thank)
 {
	 verify() {}
	 check() {}
	 action() {
		 "<q>Never mind</q> Sally says. "
	 }
 }

But I want to generalize the reaction for all Actors in the game, I want them all to be polite. I’ve tried the following:

modify Actor
 dobjFor(Thank)
 {
	 verify() {}
	 check() {}
	 action() {
		 mainReport ('<q>Never mind</q> {actor/he} says. ');
	 }
 }
;

But the {actor/he} part is not replaced with anything.

Questions are:

  1. Is action() the right place for politeness, that doesn’t alter the game state?
  2. Where and how can I set up a response for all actors which properly reflects thier gender and whether their name is known by the PC or not?
  3. As a bonus, I want to utilize a shuffledList, that selects a response from “Never mind” and “You’re welcome”.

How could this be done with minimal effort, using the mechanics that are already there for all the standard library responses?

1 Like

I’m rusty on adv3, but shouldn’t it be ‘{the dobj/he}’?

4 Likes

Thank you!