Conversation Framework for Sand-dancer

version 2 by Aaron Reed

  • Home page
  • Beginning
  • Previous
  • Next



  • 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;
    otherwise ;
    say "You're not talking to anyone.";
    stop the action;
    end if.

    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.