I have two understand rules in my game which share a word, and something a bit odd is happening as a result. Here are the relevant bits of code (though why they are what they are is going to be a bit opaque without a lot of context):
[code]Dancingwards is a direction.
Clubbing is a region.
Entranceway is a room in Clubbing. Dancing is a room in Clubbing. at the Bar is a room in Clubbing. at the Seats is a room in Clubbing. Second Hallway is a room.
Dancing is dancingwards of Entranceway. Dancing is dancingwards of at the Bar. Dancing is dancingwards of at the Seats. Dancing is dancingwards of Dancing.
The dance is a backdrop in Entranceway.
Understand “dance”, “dancing”, “the dance” and “the dancing” as dancingwards when the player is in Clubbing.
The boy is a man.
The loners are scenery in at the Seats. After examining the loners for the first time: now the boy is in at the Seats.
Understand “dance with [the boy]” as taking when the boy is in at the Seats.[/code]
When the player types “dance” it ought to make the player go dancingwards to dancing, unless the boy is in at the Seats. But instead we get the “command not understood” error: “I didn’t understand that sentence”. When the boy is in at the Seats, however, the taking action takes place fine. (I had originally made a new action called “dancing with” with the command “dancing with [something]”, but that caused the same problem, so I tried something else: no dice.)
I tried to muddle through this and wondered if, as detailed in Documentation 16.21-22, the ‘Understand “dance with [the boy]”’ rule was taking precedence over the ‘Understand “dance”’ rule, so I tried adding
Does the player mean going dancingwards: it is very likely. Does the player mean taking: it is unlikely.
but that didn’t seem to do anything.
I’ve been at it for a while now, and I’m completely stumped: I’m not sure what’s going on (turning on RULES and ACTIONS listing while playing yielded no information), let alone how to fix it. Part of the problem is that I can’t work out what rule causes the “command not understood” error to be printed. How does one figure out such things? And does anyone have a solution to this problem? Any help much appreciated.