In the current version of Counterfeit Monkey, when first entering the cathedral gift shop, the player will see this:
We could ask what is worth seeing in the New Church.
>
Typing “Ask what’s worth seeing” (note the curly apostrophe) will produce this:
> ask what?s worth seeing
If you’re trying to converse with other characters, the suggestions in
the text provide possible phrasings; so if you read “I might ask about
lentils.”, you might phrase your command ASK ABOUT LENTILS.
Introducing other words or variant phrasings that weren’t part of the
suggestion may confuse the game.Alternatively, if you just want to take an action in the game world, try
giving a direct command, such as EXAMINE THE ASP or WAVE THE
P-REMOVER AT THE PHONEY.*** Run-time problem P39: Attempt to say a snippet value which is
currently invalid: words 5 to 4.
So we have three problems:
- The apostrophe is replaced by a question mark when echoing the command.
- There is a run-time problem.
- The game does not understand “what’s” as equivalent to “what is”.
The first one will not happen in interpreters that automatically replace curly apostrophes with straight ones before passing the input string to the parser, but most don’t. It also won’t happen in interpreters that don’t support input echo suppression.
In those that do, Counterfeit Monkey will suppress the automatic input echo of the interpreter and print the input string itself. The code for this is here. This is in order to avoid a superfluous line break when navigating by clicking the compass. However, it seems to convert any unicode characters in the input to question marks.
It may seem like it should be trivial to replace any curly quotes in the input with straight ones. There is Inform 6 code in the Punctuation Removal extension that replaces straight apostrophes (Latin-1 39) with spaces, for example (this code is not used by Counterfeit Monkey):
[ SingleQuoteStripping i;
for (i = 2 : i <= (buffer->1) + 1 : i++)
{
if ((buffer->i) == 39)
{ buffer->i = ' ';
}
}
VM_Tokenise(buffer, parse);
];
But it seems like the curly apostrophe is already replaced with a question mark at that stage. Is this an interpreter bug?
I don’t know how to even start debugging the second one, run-time problem P39. It seems to only happen when triggering the Smarter Parser extension “asking unparseable questions rule”. It won’t happen when typing “what’s worth seeing” without the “ask” part.
The third one is more like unimplemented functionality than an actual bug. There is a rule in the Smarter Parser extension for cases like this, the standardize apostrophes rule, but even if I add a line like
replace the regular expression "what[apostrophe]s" in reborn command with "what is";
it still won’t work, not even with a straight apostrophe.
Note that there is another rule in the Smarter Parser extension named “Smarter Parser simplify punctuation rule” which does some quotation mark removal. This is not used by Counterfeit Monkey.
The intended response, which you get if you type “ask what is worth seeing” or “what is worth seeing”, is:
“So tell me, what should I be looking for in the New Church?” we ask.
“Other than God?” he asks dryly.