[I7] Supplying a missing noun not firing

(Björn Paulsen) #1

This is a bit peculiar. I can’t seem to wrap my head around the I6 of Activities at the moment, so I’m hoping anyone here will have a clue.

Rule for supplying a missing noun while cutting: say "Foo!"
There is a room. The bar is here. The baz is here.

Test me with "cut".

This is pretty strange, particularly given that the Standard Rules includes several rules on the same form. In fact, I must confess I’ve rarely made supplying a missing noun work at all.

(Hanon Ondricek) #2

Here are the examples from the documentation in 18:32:

Rule for supplying a missing noun while listening (this is the ambient sound rule): 
    now the noun is the location.

Rule for supplying a missing second noun while unlocking: 
    if the skeleton key is carried, now the second noun is the skeleton key; 
    otherwise say "You will have to specify what to unlock [the noun] with."

What you may be running into is that you’re only supplying a message and not an instruction for the “Rule for supplying…” rulebook.

Note that, in order for our activity to succeed, we do need to supply a grammar line allowing the player to try “unlocking it with” using only one noun. Otherwise, the command “unlock something” will still produce the question “What do you want to unlock the door with?”

You could probably use the “mistake” rules to just disallow the action CUT without a noun:

Understand "cut" as a mistake ("You need to tell me what to cut, Foo!")

But that seems less useful than letting the parser disambiguate “What do you want to cut?” if you’ve defined it as an action applying to one thing.

“Rule for supplying a missing noun” is less for rejecting an action outright and more for automatically choosing a specific object such as a tree, or checking for a touchable thing that you might have supplied with a “cuttable” adjective, then optionally supplying a message if the rule doesn’t result in a noun.

1 Like
(matt w) #3

This is the key thing for your example, I think. In order to get the rule for supplying a missing noun to fire you need:

Understand "cut" as cutting.

(This is subtle enough that the documentation example that was meant to teach it, “Four Cheeses,” originally omitted the Understand line, and wound up having the desired behavior happen through a totally different mechanism. In fact… looks like you were the one to discover that, Eleas.)

1 Like
(Björn Paulsen) #4

@HanonO: I don’t see how that follows, given the block vaguely going rule:

Rule for supplying a missing noun while an actor going (this is the block vaguely going rule):
say “You’ll have to say which compass direction to go in.” (A).

At any rate, since the rule is not queried, supplying a missing noun while cutting won’t let you do anything, including giving a suggestion.

Subtle indeed! That does help an awful lot. Thank you.

(Hanon Ondricek) #5

Thanks, @matt_weiner! I couldn’t remember if cut/cutting was a predefined action without opening inform. It makes sense that “cut [something]” does not equal “cut”.

(Björn Paulsen) #6

Yeah, that was my brainfart. I keep forgetting that a nounless command has to be defined in order for this activity to run.

Thanks, guys!

1 Like