Part 12 - Shrine-Barrier Sentences
To write a shrine-barrier sentence:
now the shrine-barrier sentence is "(This is a shrine-barrier sentence for an unknown case involving [current landmark] and [a list of barriers in the current room].)";
now the current barrier is a random barrier in the current room;
[ now the current landmark is scenery;]
if the number of barriers in the current room is 1:
if the number of entries in the prevented directions list of the current room is greater than the number of entries in the permitted directions list of the current room:
if the current barrier is ocean:
if the number of entries in the permitted directions list of the current room is 1:
now the shrine-barrier sentence is "A path from the [permitted directions list of the current room] lead up to [a current landmark], which overlooks [the current barrier] from a slight rise.";
otherwise:
now the shrine-barrier sentence is "Paths from the [permitted directions list of the current room] lead up to [a current landmark], which overlooks [the current barrier] from a slight rise.";
otherwise if the current barrier is lake:
if the number of entries in the permitted directions list of the current room is 1:
now the shrine-barrier sentence is "A narrow spit of land from [permitted directions list of the current room] leads up to the [current landmark]. In all other directions, the waters of [a current barrier] spread out, dark and uninviting.";
otherwise:
now the shrine-barrier sentence is "Paths from the [permitted directions list of the current room] lead up to [a current landmark] on the shore of [a current barrier].";
otherwise if the current barrier is wall:
now the shrine-barrier sentence is "[A current landmark] stands here, guarded by a [current barrier] that blocks you from going anywhere but [permitted directions list of the current room].";
otherwise if the current barrier is brambles:
now the shrine-barrier sentence is "[A current landmark] nestles here, bracketed by [a current barrier]. From here, you can proceed [permitted directions list of the current room].";
otherwise if the current barrier is cliff face:
now the shrine-barrier sentence is "[A current barrier] towers over [the current landmark] at its base. The steep cliff wall blocks you from going anywhere but [permitted directions list of the current room].";
otherwise if the current barrier is a pillar:
now the shrine-barrier sentence is "A single [current barrier], all that remains of some former, long-fallen structure, stands near [a current landmark]. The [barrier-type of the current barrier] blocks the way [permitted directions list of the current room].";
otherwise:
if the current barrier is ocean:
now the shrine-barrier sentence is "Here, [the current barrier] blocks the way [prevented directions list of the current room]. [A current landmark] overlooks the [barrier-type of the current barrier] from a slight rise.";
otherwise if the current barrier is wall:
now the shrine-barrier sentence is "[A current landmark] stands here, guarded by the [current barrier] that blocks the way [prevented directions list of the current room].";
otherwise if the current barrier is brambles:
now the shrine-barrier sentence is "[A current landmark] stands here, guarded by [a current barrier] that blocks the way [prevented directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] stands near [a current barrier], which blocks the way [prevented directions list of the current room].";
otherwise if the number of barriers in the current room is 2:
repeat with target barrier running through the barriers in the current room:
if the target barrier is not the current barrier:
now the alternate barrier is the target barrier;
if the current barrier is ocean and the alternate barrier is ocean:
now the shrine-barrier sentence is "The ocean stretches out, [adjective of the current barrier] and [adjective of the alternate barrier], in all directions except [the permitted directions list of the current room], dwarfing [the current landmark] nearby.";
otherwise if the current barrier is brambles and the alternate barrier is brambles:
if the number of entries in the prevented directions list of the current room is greater than the number of entries in the permitted directions list of the current room:
now the shrine-barrier sentence is "Walls of [adjective of the current barrier], [adjective of the alternate barrier] brambles encircle [a current landmark] here, parting only to the [permitted directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "Walls of [adjective of the current barrier], [adjective of the alternate barrier] brambles rise to the [prevented directions list of the current room] around [a current landmark].";
otherwise if the current barrier is cliff face and the alternate barrier is cliff face:
if the number of entries in the prevented directions list of the current room is greater than the number of entries in the permitted directions list of the current room:
now the shrine-barrier sentence is "[A current landmark] sits in the shadow of [a current barrier] to one side and [an alternate barrier] to the other. The only open directions are [permitted directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "To the [list of directions prevented by the current barrier], [a current barrier] rises; to the [list of directions prevented by the alternate barrier], [an alternate barrier] rises. Minute by comparison, [a current landmark] sits beneath both.";
otherwise if the current barrier is pillar and the alternate barrier is pillar:
now the shrine-barrier sentence is "[The current landmark] here is accented by a freestanding pillar to the [list of directions prevented by the current barrier] and a second pillar to the [list of directions prevented by the alternate barrier].";
otherwise:
if the number of entries in the prevented directions list of the current room is greater than the number of entries in the permitted directions list of the current room:
let L be a random number between 1 and 2;
if L is 1:
if the number of entries in the permitted directions list of the current room is 1:
now the shrine-barrier sentence is "[A current landmark] nestles here, bracketed by [a list of barriers in the current room]. From here, the only open route is [permitted directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] nestles here, bracketed by [a list of barriers in the current room]. From here, the only open paths are [permitted directions list of the current room].";
otherwise if L is 2:
if the number of entries in the permitted directions list of the current room is 1:
now the shrine-barrier sentence is "A path from the [permitted directions list of the current room] leads up to [a current landmark], which stands between [a list of barriers in the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] stands between [a list of barriers in the current room]. From here, the only open paths are [permitted directions list of the current room].";
otherwise:
let L be a random number between 1 and 2;
if L is 1:
now the shrine-barrier sentence is "[A current landmark] stands between [a current barrier], which blocks the way [list of directions prevented by the current barrier], and [a alternate barrier], which blocks the way [list of directions prevented by the alternate barrier].";
otherwise if L is 2:
now the shrine-barrier sentence is "[A current barrier] stands to the [list of directions prevented by the current barrier], and [an alternate barrier] stands to the [list of directions prevented by the alternate barrier], framing [a current landmark] between the two.";
otherwise if the number of barriers in the current room is 3:
if the number of entries in the prevented directions list of the current room is greater than the number of entries in the permitted directions list of the current room:
if the number of entries in the permitted directions list of the current room is 1:
now the shrine-barrier sentence is "A path from the [permitted directions list of the current room] leads up to [a current landmark], which stands equidistantly between [a list of barriers in the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] stands between [a list of barriers in the current room]. From here, the only open paths are [permitted directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] stands between [a list of barriers in the current room], which block the way [prevented directions list of the current room].";
otherwise if the number of barriers in the current room is 4:
if the number of entries in the prevented directions list of the current room is greater than the number of entries in the permitted directions list of the current room:
if the number of entries in the permitted directions list of the current room is 1:
now the shrine-barrier sentence is "[A current landmark] stands between [a list of barriers in the current room]. From here, the only open paths lead [permitted directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] stands between [a list of barriers in the current room]. From here, the only open paths lead [permitted directions list of the current room].";
otherwise:
now the shrine-barrier sentence is "[A current landmark] stands between [a list of barriers in the current room], which block the way [prevented directions list of the current room]."