"Ish."
Ichiro's Dubious Sushi Hut is a room. "Despite the allure of the dusty plastic sushi models in the window, you're beginning to have second thoughts about the selection of this particular restaurant for your rendezvous with Agent Fowler. There are no other patrons, for one thing. Afternoon sunlight filters lazily through the window and illuminates a number of empty glass-topped tables, at each of which is a chopstick dispenser (in form of cute ceramic cat) and a pitcher of soy sauce (sticky).
The sushi bar itself is what gives the most pause, however. Behind it sits an angry-looking Japanese woman, aggressively eating a Quarter Pounder with Cheese."
We can, when necessary, accept any text at all as a token:
Understand "help [text]" or "help about [text]" as getting help about. Understand the commands "instructions" or "hint" or "hints" or "menu" or "info" or "about" as "help".
Getting help about is an action applying to one topic.
After that, we can use "the topic understood" to refer to the text we read:
Carry out getting help about:
if the topic understood is a topic listed in the Table of Standard Help:
say "[explanation entry][paragraph break]";
otherwise:
say "You're out of ideas."
Table of Standard Help
topic
|
title
|
summary
|
explanation
|
"sushi"
|
"sushi"
|
"Really it's just vinegary rice"
|
"Popular misconception says that sushi inevitably entails raw fish, but it is in fact just rice with rice vinegar on it. It's just that the really good kinds have raw fish in."
|
"cucumber roll" or "cucumber"
|
"Cucumber roll"
|
"Sushi for people who are afraid of sushi"
|
"It is just rice and slivers of cucumber in the middle, and as long as you don't go too crazy with the wasabi, all should be well."
|
"california roll" or "california"
|
"California roll"
|
"Travesty of the sushi concept"
|
"It's. Fake. Crab."
|
"monkfish liver"
|
"monkfish liver"
|
"Expert eaters only"
|
"The odds of Ichiro's having this unusual delicacy is near zero."
|
"microdot"
|
"microdot"
|
"What you came here to deliver"
|
"There'll be time enough for that later. If Fowler ever turns up. Where is she, anyway?"
|
Since the player may not know what all the help options are, we might as well let him get an overview, as well.
Understand "help" as summoning help. Summoning help is an action applying to nothing.
Carry out summoning help:
say "Help is available about the following topics. Typing HELP followed by the name of a topic will give further information.[paragraph break]";
repeat through the Table of Standard Help:
say " [title entry]: [summary entry][line break]".
Test me with "help / help about microdot / help cucumber / help california roll".
By default, ASK SOMEONE ABOUT... applies only to a text token. We might want also to offer the player the option of asking characters about pieces of physical evidence. This example implements an ASK PERSON ABOUT THING command that is mostly synonymous with SHOW, with the added nuance that the player can ask about things that are not currently visible, as long as he has encountered them at some time in the past.
"Nameless"
The Black Chamber is a room. "Despite its menacing name, it is quite an ordinary room, underlying the post office above. Here letters are brought each day, unsealed, transcribed, resealed, and sent again on their way; their contents then analyzed and recorded."
The Nameless Advisor is a woman in the Black Chamber. "A woman whose name has never been disclosed to you sits at the window, writing numbers on a sheet of paper." The Advisor carries a sheet of paper. Understand "woman" as the nameless advisor.
The player carries a letter from the emperor. The description of the letter is "Though its origin is obvious, its meaning is secret: the letters are an inexplicable jumble."
Now we create our new action, "interrogating it about". We write the grammar lines so that we can show any object in sight to someone, but also ask someone about any object that we have ever interacted with in the game, whether it is currently visible or not.
A thing can be known or unknown. The Nameless Advisor is known.
Understand "ask [someone] about [any known thing]" as interrogating it about. interrogating it about is an action applying to two visible things.
Now we replace and redirect the showing action. This gets rid of the requirement in the default library that the player be holding anything he shows to another character:
Understand the commands "show" and "display" and "present" as something new.
Understand "show [something] to [someone]" or "display [something] to [someone]" or "present [something] to [someone]" as interrogating it about (with nouns reversed). Understand "show [someone] [something]" as interrogating it about.
This bit keeps track of what the player has seen, for the purposes of "any known thing":
Before printing the name of something (called the target): now the target is known.
Here we define what happens by default when we interrogate someone about something; we use the same response we get to asking someone about something that isn't otherwise interesting:
Carry out interrogating someone about something:
say "There is no reply."
Now redirect all asking to a topic table, and all interrogating to an object table:
Instead of asking Nameless Advisor about a topic listed in the Table of Nameless Advisor Topics:
say "[reply entry][paragraph break]".
Instead of interrogating Nameless Advisor about an item listed in the Table of Nameless Advisor Items:
say "[reply entry][paragraph break]".
Table of Nameless Advisor Items
item
|
reply
|
letter
|
"'It is enciphered,' she remarks[if the advisor can see the letter], glancing over the contents[otherwise], after you have offered a detailed description[end if]. 'A substitution cipher of some complexity, I believe.'"
|
Advisor
|
"She listens to your inquiries about her identity and parentage with a placid smile, but does not answer."
|
Table of Nameless Advisor Topics
topic
|
reply
|
"cipher"
|
"'I know many dozens of ciphers,' she replies, smiling in a disquieting way."
|
"substitution cipher"
|
"'One letter is allowed to stand for another,' she explains, folding her hands together patiently. The backs of both hands are tattooed with silvery stars."
|
And just so that we can test what happens when asking someone about something out of sight:
The safe box is a container in the Chamber. It is fixed in place. It is openable and closed.
...and something unknown:
The poisonous apple is a thing.
Test me with "test sight / test knowledge".
Test sight with "i / x letter / ask Nameless Advisor about cipher / show cipher to Nameless Advisor / ask Nameless Advisor about the letter / show the letter to Nameless Advisor / show Nameless Advisor the letter".
Test knowledge with "open safe box / put letter in safe box / close safe box / ask Nameless Advisor about the letter / show the letter to Nameless Advisor / ask Nameless Advisor about the apple".