Chapter - Single Word Conversation
Conversation fuse is a number that varies. Conversation fuse is 0. [ This is reset to 0 each time we talk. Useful to ensure the NPCs don't talk over themselves or too often. ]
overrule further dialog is a truth state that varies.
Every turn when a attentive other person is enclosed by location (this is the checking if the NPC has anything else to say rule):
if conversation is being debugged, say "// Conversation: checking if the NPC has anything else to say rule (because Every turn when a attentive other person is enclosed by location ([list of attentive other people enclosed by location]). if last beat [last beat] suggests a beat ([a random beat suggested by last beat]) and ( conversation fuse is not 0 ([conversation fuse]) or actual last beat ([actual last beat]) is ephemeral ([if noun is ephemeral]true[otherwise]false[end if]) we'll continue.";
if the last beat suggests a beat (called new target) and ( conversation fuse is not 0 or actual last beat is alb-qualified ) and overrule further dialog is false begin;
if conversation is being debugged, say "// Conversation: found.";
force discuss new target;
otherwise;
if conversation is being debugged, say "// Conversation: conditions not met.";
now overrule further dialog is false;
end if.
Definition: a thing is alb-qualified if it is ephemeral and it is casual.