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.