Modifying wording of missing noun disambiguation prompt

Sorry about the spam, I swear everything I’ve turned up in the docs and the forum has been for adjacent-but-different problems/questions (example).

I’m trying to figure out if it’s possible to modify the wording of the non-player-supplied portions of the default “What do you want to [verb]?” disambiguation prompt. The context is that for at least one verb, it makes more sense to ask “Where do you want to [verb]?”, even though we are still speaking of things and not rooms.

Problem: as far as I can tell, custom “supplying a missing noun/second noun” rules require you to override the default disambiguation prompt entirely? And perhaps because it’s not an error per se, I don’t see a named parser-error-type listed in the documentation.

Is there some way to customize this? Pseudocode to convey my intention:

Rule for printing a missing noun prompt when the player's command includes "pose":
    say "Where do you want to pose?".

edit to clarify because rereading this made me realize how bizarrely pointless it sounds – it’s moderately important to me that the player should be able to provide severely underspecified commands in this game, because it’s a very nonsensical game with an already too-high level of verbguessery, heh.

I think what you need to do is change the parser clarification internal rule response (D) when the player’s command includes “pose” – you probably want to change it back afterwards (you might be able to just build the conditional into the response text with an assertion rather than a rule, it now occurs to me? But this has worked for me in the past):

After reading a command when the player's command includes "pose":
	Now the parser clarification internal rule response (D) is "Where do you want to pose?[no line break]"

EDIT: as usual, Phil’s reply is better – of course you need to figure out exactly which of the responses is being issued in your case.

EDIT: Mike scooped me :slight_smile:

Are you looking for this part of the standard rules?

The parser clarification internal rule translates into I6 as
	"PARSER_CLARIF_INTERNAL_R" with
	"Who do you mean, " (A),
	"Which do you mean, " (B),
	"Sorry, you can only have one item here. Which exactly?" (C),
	"Whom do you want [if the noun is not the player][the noun] [end if]to
		[parser command so far]?" (D),
	"What do you want [if the noun is not the player][the noun] [end if]to
		[parser command so far]?" (E),
	"those things" (F),
	"that" (G),
	" or " (H).

You can set parser clarification internal rule response (E), and possibly get what you want.

2 Likes

Thank you both! For future reference, where should I look to find such rules? In addition to the documentation, I don’t seem to see it in the Index, either.

1 Like

In the IDE, look under Installed Extensions, Graham Nelson, Standard Rules.

1 Like

There’s also a nice web-based version of it hosted by @Zed here:

https://zedlopez.github.io/standard_rules/

2 Likes

Rather than checking if the player’s command includes a particular word, I would look at what action the parser is actually working with.

To decide what action name is the action-to-be: (- action_to_be -).
[if the action-to-be is posing:]

This is a little I6 inclusion that’s useful enough I can’t understand why it’s not in the standard rules. It lets you see what action the parser is working on when an error happens, before the “current action” has been set.

3 Likes