Conversation Framework for Sand-dancer

version 2 by Aaron Reed

  • Home page
  • Beginning
  • Previous
  • Next



  • Chapter 2 - Greeting

    Before conversing when the noun is not the current interlocutor (this is the greet a new interlocutor rule):
    implicitly greet the noun;
    if the noun is not the current interlocutor, stop the action.

    [We remove the rules here for showing and giving, since these actions do not appear in Sand-dancer.]

    Before asking someone to try doing something when the person asked is not the current interlocutor (this is the giving orders needs an interlocutor rule):
    implicitly greet the person asked;
    if the person asked is not the current interlocutor, stop the action.

    To implicitly greet (character - a thing):
    now the greeting type is implicit;
    try saying hello to the character.


    Saying hello to is an action applying to one visible thing.

    Understand "greet [something]" or "say hello/hi to [something]" or "talk to [something]" as saying hello to.

    Check saying hello to a person when the noun is the current interlocutor (this is the can't greet current interlocutor rule):
    if the noun is the player, say "Talking to yourself is unrewarding." instead;
    say "You are already talking to [the noun]." instead.


    Carry out saying hello to a person (this is the note current interlocutor when greeted rule):
    now the current interlocutor is the noun.

    Report saying hello to something that is not a person (this is the can't greet inanimate objects rule):
    say "[The noun] do[if the noun is not plural-named and the noun is not the player]es[end if] not respond."

    Report saying hello to someone when the greeting type is explicit (this is the default greeting rule):
    say "You say hello to [the noun]."

    Hailing is an action applying to nothing.

    Understand "hello" or "hi" or "say hello/hi" as hailing.

    Before asking someone to try hailing (this is the change greeting command to greeting rule):
    now the greeting type is explicit;
    try saying hello to the person asked;
    rule succeeds.

    The change greeting command to greeting rule is listed before the giving orders needs an interlocutor rule in the before rules.

    Check hailing (this is the check what's being hailed rule):
    if the current interlocutor is a visible person,
    say "You are already talking to [the current interlocutor]." instead;
    now the noun is a random visible person who is not the player;
    if the noun is a person and the noun is not yourself and the noun is not the player,
    say "(addressing [the noun])";
    otherwise say "There's no one here but you." instead.

    Carry out hailing (this is the standard hailing rule):
    try saying hello to the noun.


    Persuasion rule for asking people to try hailing (this is the allow hailing rule): persuasion succeeds.

    A protocol type is a kind of value. The protocol types are implicit and explicit.

    Greeting type is a protocol type that varies. Greeting type is explicit.

    When play begins: reset the interlocutor.