Blue Lacuna — 84 of 467

Aaron A. Reed

Release 4

Chapter - Commands

Section - Hello and Goodbye

A person can be idle, attentive, or bestial. A man is usually idle. A woman is usually idle. An animal is always bestial. Definition: a person is nonbestial if it is not an animal.

Definition: a person is other if it is nonbestial and it is not the player. Definition: a person is conversing if it is other and it is attentive.

Understand "hello/hi/greet/greetings/talk" or "shake hands" or "shake hands with" as "[greeting word]". Greeting is an action applying to one visible thing. Understand "[greeting word] [something]" or "[greeting word] to [something]" or "say [greeting word] to [something]" or "[greeting word]" or "say [greeting word]" as greeting.

Rule for supplying a missing noun when greeting (this is the pick a random person to greet rule):

let Phil be a random other nonbestial person enclosed by the location;

if location is Dream7Nexus:

say "Who, the [o]tall[x] figure or the [o]short[x] one?" instead;

else if Phil is not a person:

if location is Echo Chamber:

say "[echochmmsg]." instead;

else if location is regionally in Rebelworld and pedestrians are in location:

vague greet pedestrians;

stop the action;

else:

say "There's no one here to greet." instead;

change the noun to Phil.

Check greeting (this is the can't greet someone you're talking to rule): if noun is attentive, say "You're already talking to [the noun]." instead.

Check greeting (this is the can't greet animals or things rule):

if noun is an animal:

if noun is touchable, try touching noun instead;

otherwise say "[The noun] makes no response." instead;

if noun is pedestrians:

vague greet pedestrians;

stop the action;

if noun is not a person:

say "You give [it-them of noun] a whimsical hello, but receive no response." instead.

Carry out greeting:

if conversation is being debugged, say "// Conversation: Carry out greeting.";

pre-conversation processing.

To pre-conversation processing:

if conversation is being debugged, say "// Conversation: pre-conversation processing.";

let joe be a random other person enclosed by the location;

if joe is not a person begin; if conversation is being debugged, say "// Conversation: BUG: no random other person is enclosed by location.";

otherwise;

now the boredom counter of joe is 0;

if conversation is being debugged and the number of entries in list of convo stuff > 1, say "// Conversation: making legit entries in list of convo stuff ([list of convo stuff]) available.";

if location is regionally in Lacuna begin;

repeat with item running through list of convo stuff begin;

if item is a beat and item is legit, now tempfuse of item is fuse of item;

end repeat;

end if;

now joe is attentive;

end if.

Report greeting: say "You greet [the noun]."

Understand "goodbye/goodby/bye/farewell" or "good bye" as "[farewell word]".

Saying farewell to is an action applying to one visible thing. Understand "[farewell word] [someone]" or "say [farewell word] to [someone]" or "[farewell word]" or "say [farewell word]" as saying farewell to. Rule for supplying a missing noun when saying farewell to: let Phil be a random other person enclosed by the location; if Phil is not a person, say "There's no one here to say goodbye to." instead; change the noun to Phil.

[ Check saying farewell to (this is the can't farewell someone you're not talking to rule): if noun is idle, say "You aren't talking to [the noun] right now." instead. ]

Carry out saying farewell to:

if conversation is being debugged, say "// Conversation: Carry out saying farewell to.";

now the boredom counter of noun is 0;

post-conversation processing.

To post-conversation processing:

if conversation is being debugged, say "// Conversation: post-conversation processing. Making [list of available beats] unavailable.";

now all people are idle;

repeat with target running through available beats begin;

now tempfuse of target is 0;

end repeat;

[ now the next beat is silence; ]

now the last beat is silence.

Report saying farewell to: say "You say goodbye to [the noun]."