I am having trouble with including multiple-word actions–specifically ‘asking it about’–in a multiple action exception rule. I have no trouble with, for example–
Instead of doing anything other than examining, kicking, shrinking or attacking with the boss:
say "He successfully resists your action with a smug, toothy grin."
But if there are a few questions to be asked of the boss–which I would do using a topic-response table, I might have some trouble, because I can’t seem to find a way to include ‘asking it about’ in the Instead above. I have tried ‘asking it about’ and ‘asking about’. I have even created a single-word action to catch ‘asking it about’ commands, and used it in the exception rule. Didn’t work.
Okay, I think I figured it out–I could simply use another Instead rule–
Instead of asking the boss about something:
And then have the program print his response. I can see that it really doesn’t matter that this is not an ‘After’ rule(which I would usually use-- After asking NPC about something:), unless having asked the question must make a difference later in the game, which rarely happens. Even so, I can create a binary variable to offset this.
You can’t actually write one rule that includes both one-noun and two-noun actions in the header. I think there’s a special error message for it.
If you want a single rule that encompasses something, you can use a kind of action:
[code]Examining the boss is boss-resistable action.
Kicking the boss is boss-resistable action.
Shrinking the boss is boss-resistable action.
Attacking the boss is boss-resistable action.
Asking the boss about something is boss-resistable action.
Instead of boss-resistable action, say “He successfully resists your action with a smug, toothy grin.”[/code]
(I don’t have Inform open, so I haven’t tested this. I think you can actually combine the first several lines into one line, but again, haven’t tested it.)
Actually, I meant an exception rule–Instead of doing anything other than…—but could that still work?
I’ll try it and let you know.
Okay, I tried that, and it returned a ‘Code 10’ error. I wonder if the ‘asking the boss about something’ tripped that.
Sorry! I should’ve seen this. I tried a couple things and this worked:
[code]The office is a room. The boss is a man in the office.
Examining is boss-allowable action.
Attacking is boss-allowable action.
Asking someone about something is boss-allowable action.
Instead of doing anything other than boss-allowable action when the current action involves the boss, say “He successfully resists your action with a smug, toothy grin.”[/code]
“When the action involves the boss” covers cases where the boss is the noun, the second noun, or the actor. You could also try “…when the noun is the boss” if that’s all you need (but then you’ll be able to show things to the boss or throw things at the boss). When I tried “Instead of doing anything other than boss-allowable action with the boss” the compiler finished with code 11, which is A Thing That Should Not Happen, but “…when the current action involves the boss” should be a workaround.
Thanks, Matt–I’ll keep this in mind.