Conversation Framework for Sand-dancer
version 2 by Aaron Reed
Book 2 - Abbreviated commands for addressing the current interlocutor
The current interlocutor is an object that varies.
The current interlocutor is nothing.
[We remove implicit-asking and implicit-telling from Eric's original, since our game never uses the original versions of ASK or TELL.]
implicit-quizzing is an action applying to one visible thing.
Understand "ask about [any known thing]" or "a [any known thing]" as implicit-quizzing.
implicit-informing is an action applying to one visible thing.
Understand "t [any known thing]" or "talk about [any known thing]" as implicit-informing.
implicit-requesting is an action applying to one visible thing.
Understand "ask for [any known thing]" as implicit-requesting.
implicit-imploring is an action applying to one topic.
Understand "ask for [text]" as implicit-imploring.
implicit-quizzing is implicit-conversing.
implicit-informing is implicit-conversing.
implicit-requesting is implicit-conversing.
implicit-imploring is implicit-conversing.
Before implicit-conversing when the current interlocutor is nothing (this is the implicit-conversing needs current interlocutor rule):
let np be the number of visible people who are not the player;
if np is 0, say "There's no one here to talk to.";
if np > 1, say "You need to specify who you want to speak to.";
if np is not 1, stop the action;
let the interlocutor be a random visible person who is not the player;
if the interlocutor is a person begin;
say "(addressing [the interlocutor])";
let sn be the second noun;
implicitly greet the interlocutor;
now the second noun is sn;
say "You're not talking to anyone.";
stop the action;
Before implicit-conversing when the current interlocutor is not visible and the current interlocutor is not nothing (this is the can't converse with absent interlocutor rule):
say "[The current interlocutor] isn't here.";
reset the interlocutor instead.
Instead of implicit-quizzing:
try quizzing the current interlocutor about the noun.
Instead of implicit-informing:
try informing the current interlocutor about the noun.
Instead of implicit-requesting:
try requesting the current interlocutor for the noun.
Instead of implicit-imploring:
try imploring the current interlocutor for it.