I think when you do a pattern matching test like that, a temporary variable gets set in the form of “the X understood”. So if you were testing for visible things, maybe “the thing understood” or “the [second] noun understood” would be set to the thing you want.
However, while this sounds reasonable, it doesn’t actually work (at least in 6G60). However, it’s not too hard to get it to work (again, at least in 6G60):
[code]The first noun understood is a thing that varies.
To decide which object is the noun understood:
(- noun -)
Instead of telling someone about something when the topic understood includes “[a visible thing]” (this is the verbal flailing rule):
say “You inadvertently referred to [the noun understood]!”[/code]
Playing around with the idea, however, it seems like there is an additional challenge if you only want it to work only when there is something non-present (X) that the player wants to talk about while something present with a similar name (Y) is there to interfere. As it stands, a command like >TELL BOB ABOUT ME responds a little nonsensically.
Here’s a complete scenario for your reference:
[code]“Topic Scan Test” by “Otis T. Dog”
Place is a room.
A fixed in place thing called a fire hydrant is in Place.
A man called Bob is in Place.
The first noun understood is a thing that varies.
To decide which object is the noun understood:
(- noun -)
Instead of telling someone about something when the topic understood includes “[a visible thing]” (this is the verbal flailing rule):
say “You inadvertently referred to [the noun understood]!”
Elsewhere is a room. It is east of Place.
An animal called a dog is in Elsewhere.
test me with “tell bob about dog / tell bob about what I had for breakfast / tell bob about forest fire / tell bob about me”[/code]