Book Three - "Stiffyiana"
Part One - "Conversation"
Chatted_up is a kind of value. The chatted_ups are conversed and unconversed. A person has a chatted_up. A person is usually unconversed.
Fair_warning is a kind of value. The fair_warnings are warned_about and not_warned_about. A thing has a fair_warning. A thing is usually not_warned_about. A room has a fair_warning. A room is usually not_warned_about. A person has a fair_warning. A person is usually not_warned_about.
Definition: a person is other if it is not the player.
A person has a table-name called conversation. A person has a text called default reply. The conversation of a person is the Table of Empty Chatter. The default reply of a person is "'I'm afraid I have no idea what you're talking about.'"
Check asking someone about something:
if the noun is the player, instead say "Talking to yourself is said to be a sign of impending mental collapse[71 as a reference].";
now the noun is conversed;
let the source be the conversation of the noun;
if topic understood is a topic listed in source and the noun is speakable
begin;
if there is a turn stamp entry and the turn stamp entry is not -1
begin;
say "[The noun] has already told you that [summary entry].";
otherwise;
now turn stamp entry is the turn count;
say "[reply entry][paragraph break]";
end if;
if the first_conversation is not_warned_about
begin;
now the first_conversation is warned_about;
say "[bracket]";
say " At any point you can review conversations you have had with the RECAP command. ";
say "[close bracket]";
say "[paragraph break]";
end if;
otherwise;
say "[The default reply of the noun][paragraph break]";
end if;
stop the action.
Understand "recap" or "recap conversation" or "recap conversations" as recalling conversations.
Recalling conversations is an action applying to nothing.
Carry out recalling conversations:
let conversants be 0;
repeat with speaker running through other people
begin;
if the speaker is conversed and the speaker is speakable
begin;
let conversants be 1;
let source be the conversation of the speaker;
sort source in turn stamp order;
say "You have learned from [the speaker]: [line break]";
let index be 0;
repeat through source
begin;
if there is a turn stamp entry and the turn stamp entry is not -1
begin;
let index be 1;
say " [summary entry][line break]";
end if;
end repeat;
if index is 0, say " nothing of any use[line break]";
say paragraph break;
end if;
end repeat;
If conversants is 0, say "You have not had any meaningful conversations so far.[paragraph break]".
Table of Empty Chatter
discourse | reply | summary | turn stamp |
a thing | text | text | a number |