Blue Lacuna — 285 of 467

Aaron A. Reed

Release 4

Section - Misc

The Progue begins episode dialogue rule is listed after the check episodes rule in the every turn rules. Every turn (this is the Progue begins episode dialogue rule):

if drama manager is being debugged, say "// Drama manager (Progue begins episode dialogue rule): [if an episode is playing]an episode is playing ([current episode])[else]no episode[end if] and [if Progue is enclosed by location]Progue is enclosed by location[else]no progue[end if] and [if Progue is idle]Progue is idle[else]Progue is attentive[end if] and [if conversation fuse > 2]conversation fuse > 2[else]conversation fuse <= 2[end if].";

if an episode is playing and Progue is enclosed by location and Progue is idle and conversation fuse > 2:

unless icebreaker of current episode is silence or ( icebreaker of current episode is spoken and icebreaker of current episode is unrepeatable and nothing replaces icebreaker of current episode ) :

pre-conversation processing;

force discuss icebreaker of current episode;

follow the conversation bookkeeping rule.[ this line added 12/18 because insistent beats on first move on convo weren't properly removing other answers.]

After greeting Progue when no episode is playing (this is the find something to talk about rule):

if drama manager is being debugged, say "// Drama manager: find something to talk about.";

now conversation fuse is 3; [ Since otherwise all episodes would fail.]

now Progue is idle; [ ditto]

let looper be 1;

while looper is at most 5 and no episode is playing:

if drama manager is being debugged, say "// Drama manager: about to follow check episodes rule (loop [looper]).";

follow the check episodes rule;

increase looper by 1;

now Progue is attentive;

if an episode is playing:

unless conversation fuse is 0: [ if we already said something when the episode began, we don't need to say anything now.]

if drama manager is being debugged, say "// Drama manager: an episode is playing, so follow Progue begins episode dialogue rule.";

now Progue is idle; [ one of the conditions for the below rule.]

follow the Progue begins episode dialogue rule;

else:

if drama manager is being debugged, say "// Drama manager: no episode found, so force discuss conversation_beat of Progue ([conversation_beat of Progue]).";

force discuss the conversation_beat of Progue.