Cragne Manor room CHU3: Steeple (Michael D. Hilborn)

This file is part of the Cragne Manor source code collection. Posted with the author's permission. All rights reserved.


"CHU3" by "Michael D. Hilborn"
 
Chapter 1 - Do Not Change Any Of This
 
Include Cragne Suite by Ryan Veeder.
 
[Don't mess with other people's rooms!]
 
CHU is a region.
 
CHU3 is a room in CHU. CHU3 is up from CHU2.
 
[~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*
Welcome to the horror. . . that is my code for Cragne Manor! Herein you will find twisty little passages of Inform7 prose that will make even Ialdabaoloth or Vaadignephod cringe.
 
The cryptic prompt that I was handed:
 
    Your room is CHU3. This is the steeple of a church. The way down leads to the church's narthex/antechamber/vestibule. A key (to a room far away) is freely available here. For your Jupiter track puzzle, the player must bring some piece of information here in order to get another piece of information: An astrological fact (TBD) used in another puzzle.
 
With those basic elements, I performed the ritual of coding: writing and typing, revising and erasing, debugging and cursing. And from those machinations. . . the following code and ideas spawned. I present unto you, this small piece, this minor part of the devilishness that is Cragne Manor! I hope you enjoy!
 
]
 
Part 1 - Release for Testing
[ NOTE TO RYAN AND JENNI: You can safely remove Part 1 when integrating this story. ]
 
The story headline is an "An Interactive Limb of an Exquisite Corpse". The story genre is "Horror". The story description is "In the town of Backwater, in the state of Vermont, Naomi Cragne searches for her husband, Peter. As she explores Backwater, Naomi stumbles into the steeple of the town's church, a place with secrets, mysteries, and histories of its own." The story creation year is 2018.
 
Release along with the introductory booklet.
 
Release along with an introductory postcard.
 
Release along with a website.
 
Release along with an interpreter.
 
Part 2 - CHU3 Steeple
 
Printed name of CHU3 is "Steeple (Michael D. Hilborn)".
 
Description of CHU3 is "[biggles-aboutline]Disjointed and decaying pillars of wood form the arches that make up the walls of the church's steeple. The arches, open to the sky, tower over you, ending in a webwork of thick rafters which support the belfry above and ultimately the church's spire. A series of ropes slither down from those rafters, centered over a square hole in the floor that leads down into the bowels of the church."
 
Key9 is in CHU3.
 
Part 3 - Things and Actions
 
Chapter 1 - New Things
[
Much of the scenery in the steeple is beyond the reach of the player. Here we define a special kind of scenery to handle this scenario. Other than examining these kind of objects, there isn't much the player can do with them.
]
 
Biggles-far-scenery is a kind of thing. Biggles-far-scenery is scenery.
 
Instead of listening to biggles-far-scenery:
    try listening to CHU3;
 
Instead of smelling biggles-far-scenery:
    try smelling CHU3;
 
Instead of doing something other than examining or showing or implicit-quizzing with biggles-far-scenery:
    say "You cannot reach [the noun] from where you are.";
 
Chapter 2 - Changing Default Actions
[
The authors of Cragne Manor were kindly asked to provide responses other than those offered by the standard Inform7 library. This is my attempt at satisfying this criteria.
]
 
Instead of examining yourself when the location is CHU3:
    say "A lady of stature, at least in this neck of the woods. Thanks to your marriage to Peter, you're part of the eminent Cragne family now."
 
Instead of taking scenery when the location is CHU3:
    if the noun is a biggles-rope:
        try pulling the noun;
    otherwise:
        say "It's not possible to take [the noun] with you.";
 
Instead of dropping scenery when the location is CHU3:
    say "You need to be holding [the noun], which seems unlikely.";
 
Instead of going nowhere when the location is CHU3:
    say "The only viable exit from the steeple is to brave the rickety stairs that lead into the bowels of the church.";
 
Instead of tasting when the location is CHU3:
    try eating the noun;
 
Instead of eating when the location is CHU3:
    say "That would be horrifying!";
 
Instead of smelling CHU3 when the location is CHU3:
    say "There's an acrid tang here, as if the air, at some time in the distant past, suffered an electrical fire.";
 
Instead of listening to CHU3 when the location is CHU3:
    say "You stand still, listening; the silence is unearthly";
    if a random chance of 1 in 3 succeeds:
        say ". Then[one of], very faintly, off in the distance, arises an ululant moan[or], very quietly, what you think is a sigh comes from the direction of the corpse[or] from somewhere in the steeple you hear the buzzing of a fly[or] your hair stands on end when you hear a series of angered whispers arising from. . . Well, you are not certain where they come from, but you're more than grateful when they end[purely at random].";
    otherwise:
        say ".";
 
Instead of touching when the location is CHU3:
    say "You expect to feel nothing unexpected, but there's something. . . not quite right. . . with the texture of [the noun].";
 
Instead of rubbing when the location is CHU3:
    try touching the noun;
 
Instead of swinging when the location is CHU3:
    try waving the noun;
 
Instead of searching when the location is CHU3:
    try examining the noun;
 
Instead of looking under when the location is CHU3:
    say "You are certain nothing is under [the noun].";
 
Instead of attacking when the location is CHU3:
    say "For some reason, you sense enough violence has already occurred here.";
 
Instead of pulling or pushing or turning when the location is CHU3:
    say "[The noun] clearly can't be moved like that.";
 
Instead of squeezing when the location is CHU3:
    say "That doesn't seem sensible, not in this place.";
 
Instead of cutting when the location is CHU3:
    try attacking the noun;
 
Instead of burning when the location is CHU3:
    try attacking the noun;
 
Instead of tying when the location is CHU3:
    say "You cannot possibly tie [the noun] to anything.";
 
Part 4 - The World Model
[
And now the heart that is this particular room. The goal of this room is to discover the astrological "True Sign" of Peter Cragne, which is text such as "the Tendril descending opposing the Mask" or "the Sleeper ascending in the house of the Vial." The player uncovers the True Sign by ringing the steeple's four bells in a specific sequence. The correct order of the bells is hinted at by a poem found elsewhere within the game:
 
Under the crescent moons,
Beneath the starlit skies,
The bells lament with their songs,
The bells lament with their cries.
 
A song of copper and iron,
A song of silver and gold,
The bells sing of the One's true sign,
The bells sing of the Ones of old.
 
The hint suggests the bells must be rung in the following order: the copper bell must be rung first, followed by the iron bell, followed by the silver bell, followed by the gold bell. Once the sequence is complete, the True Sign is revealed by patterns of light, as well as an ancient tome held by a corpse.
]
 
Chapter 1 - Simple Props and Associated Actions
[
Most of the objects within the room are to give life to the steeple and its environment.
]
 
The biggles-background is scenery in CHU3. The printed name of the biggles-background is "church steeple". Understand "church", "steeple", "room", "area" as the biggles-background.
 
Instead of examining the biggles-background:
    try looking;
 
Instead of listening to the biggles-background:
    try listening;
 
Instead of smelling the biggles-background:
    try smelling;
 
Instead of getting off the biggles-background:
    try going down;
 
Some biggles-arches are scenery in CHU3. The printed name of the biggles-arches is "crooked arches". The description of the biggles-arches is "Six arches, separated by six pillars of decaying wood, loom over you, supporting the rafters above. Although forming a perfect hexagonal enclosure, the arches and pillars seem to lean in disjointed directions. Through them, you can see the sky and surrounding landscape. . . neither of which are familiar to you." Understand "pillars", "pillars of wood", "pillars of decaying wood", "decaying wood", "decaying", "wood", "arch", "pillar", "arches", "crooked", "crooked arches", "hexagon" as the biggles-arches.
 
Instead of climbing the biggles-arches:
    say "An interesting way to get up to the belfry, but the decaying wood would never support your weight.";
 
The biggles-sea-of-clouds is biggles-far-scenery in CHU3. The printed name of the biggles-sea-of-clouds is "sea of clouds". The description of the biggles-sea-of-clouds is "The steeple must rise higher than you think, for it penetrates a cloud bank that stretches to the horizon, and most likely beyond. As calm as the sea on a breezeless day, the clouds ripple with a hazy, pale green glow. Occasionally, part of the surface erupts in a silent flash of light." Understand "sea", "clouds", "sea of clouds", "ocean", "ocean of clouds", "cloud bank", "lightning", "light", "flash", "flash of light", "landscape" as the biggles-sea-of-clouds.
 
After examining the biggles-sea-of-clouds for the first time:
    say "Not far from the church, the hump of. . . something. . . briefly breaks the surface, then submerges."
 
After examining the biggles-sea-of-clouds:
    if a random chance of 1 in 3 succeeds:
        say "[one of]A sinuous shadow slithers beneath the surface of the clouds, then disappears[or]A brief wind disturbs the clouds, forming small maelstroms that eventually evaporate[or]Near the horizon, a series of flashes, forming a perfectly straight line, go off beneath the clouds[or]Far from here, a shadowy hump appears briefly above the surface of the clouds before submerging again[purely at random]."
 
Instead of looking under the biggles-sea-of-clouds:
    say "The clouds are too thick to look through, and you're not certain you want to know what lies underneath them.";
 
The biggles-spire is biggles-far-scenery in CHU3. The printed name of the biggles-spire is "church spire". The description of the biggles-spire is "You can't see the spire from here; it rests atop the steeple." Understand "spire", "church spire" as the biggles-spire.
 
The biggles-floor is scenery in CHU3. The printed name of the biggles-floor is "steeple floor". The description of the biggles-floor is "Warped and unsteady, the floorboards dip and creak with each footstep. A wide square hole gapes in the middle of it all, an entrance to a set of rickety stairs leading down into the bowels of the church." Understand "floor", "floorboards", "steeple floor" as the biggles-floor.
 
Instead of jumping when the location is CHU3:
    say "You are not certain the floor of the steeple could handle you jumping.";
 
Instead of looking under the biggles-floor:
    try examining the biggles-hole;
 
Instead of getting off the biggles-floor:
    try jumping;
 
The biggles-hole is scenery in CHU3. The printed name of the biggles-hole is "square hole". The description of the biggles-hole is "Cut into the middle of the floor, the hole opens upon a set of rickety stairs which lead down into the bowels of the church." Understand "hole", "square hole", "square" as the biggles-hole.
 
Instead of looking under the biggles-hole:
    try examining the biggles-stairs;
 
Instead of inserting something into the biggles-hole:
    say "Dropping things down the hole in the floor would be a senseless act.";
 
Instead of rubbing or touching the biggles-hole:
    say "Empty air.";
 
Some biggles-stairs are scenery in CHU3. The printed name of the biggles-stairs is "rickety stairs". The description of the biggles-stairs is "Ancient, decrepit steps hug the walls of the steeple, spiraling downward as far as you can see." Understand "rickety stairs", "stairs", "rickety", "stairs" as the biggles-stairs.
 
The biggles-sky is biggles-far-scenery in CHU3. The printed name of the biggles-sky is "alien sky". The description of the biggles-sky is "[first time]Wherever this steeple resides, it's not beneath the celestial dome with which you are familiar. . .[paragraph break][only]There are stars up there, but like the two moons, they are completely unfamiliar to you. And the light of those heavenly bodies--a pale green--is dull, lifeless, as if you view everything through a murky veil." Understand "sky", "skyscape", "murk", "atmosphere", "veil" as the biggles-sky.
 
Some biggles-moons are biggles-far-scenery in CHU3. The printed name of the biggles-moons is "two moons". The description of the biggles-moons is "Two crescents, one waning, one waxing--if earthly phases of the moon have any meaning here--and grotesquely large." Understand "moon", "crescents", "moons", "crescent moons", "waxing", "waning", "waxing moon", "waning moon" as the biggles-moons.
 
The biggles-stars are biggles-far-scenery in CHU3. The printed name of the biggles-stars is "pale stars". The description of the biggles-stars is "Pinpricks of sickly, green light. A multitude of them, though many others must be veiled behind the murk that is the atmosphere." Understand "stars", "star", "pale stars" as the biggles-stars.
 
Definition: A thing is biggles-skybound if it is the biggles-stars or it is the biggles-moons or it is the biggles-sky.
 
Instead of looking under something that is biggles-skybound:
    say "Beneath [the noun] rolls the endless sea of clouds.";
 
Chapter 2 - Bats in the Belfry
[
The belfry is filled with bat-like creatures not of this world. They swarm down on the player when the bells are rung (implemented in the next chapter). The player must ultimately figure out how to stop the bats from attacking.
]
 
Some biggles-bats are biggles-far-scenery in CHU3. The printed name of the biggles-bats is "shadowy winged creatures". The description of the biggles-bats is "There must be dozens--hundreds?--up there, clinging to the ceiling of the belfry. Probably bats though their forms are mostly indistinguishable from the shadows. Whatever they are, they're quiet, save for an occasional chirp or flutter of wings." Understand "creatures", "creature", "bat", "bats", "winged creatures", "winged creature", "shadowy winged creatures", "shadowy things", "things", "wings", "shadowy forms", "forms", "shadowy" as the biggles-bats.
 
Chapter 3 - Ropes and Bells
 
Section 1 - Defining bells and ropes
[
As mentioned previously, the goal of the room is to ring the church bells in a certain order, but under the hood, there are no bells, only ropes to pull, so we define a scenery object that encapsulate all of the bells.
]
 
Some biggles-bells are biggles-far-scenery in CHU3. The printed name of the biggles-bells is "church bells". The description of the biggles-bells is "Hard to discern how many bells hang up there in the shadows of the belfry, but they are large, very large, and [if the location of the biggles-bats is CHU3]you're not certain, but something. . . else. . . is up there. . . a lot of something else. . . It takes your eyes a moment to adjust: shadowy forms cling to the ceiling. As you stare, one of the forms moves, briefly spreading a pair of wings[otherwise]with the starlight streaming through a perforated ceiling above them, you can distinguish at least four[end if]." Understand "bells", "church bells", "shapes", "belfry" as the biggles-bells.
 
Instead of pulling the biggles-bells:
    say "You surmise you would need to pull the ropes in order to ring the bells.";
 
Instead of looking under the biggles-bells:
    say "Far beneath the bells are the rafters that once supported the floor to the belfry.";
 
[ Now for the ropes, which the player can pull to ring bells. ]
The biggles-dangling-ropes are scenery in CHU3. The printed name of the biggles-dangling-ropes is "dangling ropes". The description of the biggles-dangling-ropes is "Four ropes slither down from the shadows of the rafters. One rope is woven of copper strands, another silver, and yet another gold. The fourth: a weave of solid iron." Understand "ropes", "dangling ropes", "church ropes", "belfry ropes" as the biggles-dangling-ropes.
 
Instead of doing something other than examining with the biggles-dangling-ropes:
    say "You can interact with each rope independently."
 
Instead of looking under the biggles-dangling-ropes:
    say "The ropes hang over the square hole in the floor.";
 
A biggles-rope is a kind of thing. A biggles-rope is scenery. A biggles-rope has a number called the biggles-astro-num. The biggles-astro-num of a biggles-rope is usually 0. A biggles-rope has some text called the biggles-bell-tone. The biggles-bell-tone of a biggles-rope is usually "DUNG". A biggles-rope has a number called the biggles-bell-id. The biggles-bell-id of a biggles-rope is usually 0. Understand "rope", "belfry rope", "church rope" as a biggles-rope.
 
Instead of climbing a biggles-rope:
    say "If you slip and fall, you would plunge through the square hole to certain doom.";
 
Instead of tying a biggles-rope to something:
    say "There is not enough give in [the noun] to tie it to anything.";
 
The biggles-iron-rope is a biggles-rope in CHU3. The printed name of the biggles-iron-rope is "rope of iron strands". The description of the biggles-iron-rope is "Unlike the other ropes, this one is woven from solid iron." The biggles-bell-tone of the biggles-iron-rope is "melancholy". The biggles-bell-id of the biggles-iron-rope is 1. Understand "rope of iron strands", "rope of iron", "iron", "iron rope", "iron bell", "filaments", "iron filaments" as the biggles-iron-rope.
 
The biggles-copper-rope is a biggles-rope in CHU3. The printed name of the biggles-copper-rope is "rope of copper strands". The description of the biggles-copper-rope is "Interwoven within the fibers are strands of copper." The biggles-bell-tone of the biggles-copper-rope is "somber". The biggles-bell-id of the biggles-copper-rope is 2. Understand "rope of copper strands", "rope of copper", "copper", "copper rope", "copper bell" as the biggles-copper-rope.
 
The biggles-silver-rope is a biggles-rope in CHU3. The printed name of the biggles-silver-rope is "rope of silver strands". The description of the biggles-silver-rope is "Interwoven within the fibers are strands of silver." The biggles-bell-tone of the biggles-silver-rope is "lonely". The biggles-bell-id of the biggles-silver-rope is 3. Understand "rope of silver strands", "rope of silver", "silver", "silver rope", "silver bell" as the biggles-silver-rope.
 
The biggles-gold-rope is a biggles-rope in CHU3. The printed name of the biggles-gold-rope is "rope of gold strands". The description of the biggles-gold-rope is "Interwoven within the fibers are strands of gold." The biggles-bell-tone of the biggles-gold-rope is "forlorn". The biggles-bell-id of the biggles-gold-rope is 4. Understand "rope of gold strands", "rope of gold", "gold", "gold rope", "gold bell" as the biggles-gold-rope.
 
Section 2 - Pulling ropes and ringing bells
 
Understand "ring [something]" as pulling when the location is CHU3.
 
The biggles-bell-sequence is a number that varies. The biggles-bell-sequence is 0.
 
The biggles-just-rang-bell is a truth state that varies. The biggles-just-rang-bell is false;
 
[
Okay. The following, horrible imbroglio of code allows for several different sequences of bells to be rung, with each sequence producing a different response. It doesn't work exactly as I expected, which is always the case with me and complicated code. In other words, I'm certain there's a better way to do this (maybe through rulebooks). If you know of a better way, please feel free to contact me.
 
The gist is this: The Table of Biggles-Bell-Sequences defines a series of "valid" bell sequences, where each valid sequence is given a unique id, and defines the order in which the bells can be rung (ropes can be pulled). The integers corresponding to a bell/rope are:
 
    1 - iron
    2 - copper
    3 - silver
    4 - gold
 
So, a valid sequence of {1, 2, 3} would mean that when the player rings the iron, copper, and silver bells in sequence, something special will happen. And no, you could not have a sequence of {1, 2, 3} and another sequence of {1, 2, 3, 4}. Each time a sequence is completed, all other sequences are reset, which brings us to...
 
Each valid sequence has a "current" sequence and turn count associated with it, where the turn count is the index of the sequence.
 
AUTHOR'S THOUGHT (preserved for posterity): Now that I think of it, the "current" sequence could just be a global list, since it's always the same.
 
<One git hard reset later...>
 
Oof. Global list idea is bad, bad, bad. Knew I had separate current lists for a reason. If you don't have a current sequence for each one, the sequences keep resetting each other.
]
 
Table of Biggles-Bell-Sequences
Biggles-Sequence-ID    Biggles-Valid-Sequence    Biggles-Current-Sequence (list of numbers)    Biggles-Sequence-Count
1    {2, 1, 3, 4}    {}    1
2    {2, 3, 4, 4, 3}    {}    1
3    {4, 1, 3, 1, 2}    {}    1
4    {1, 1, 1, 1, 2, 3, 4, 4, 4, 4}    {}    1
[
The overall algorithm for pulling a rope is:
    1. Cycle through the Table of Biggles-Bell-Sequences, and for each valid sequence:
        a. Add the bell/rope id to the current sequence;
        b. If the current sequence matches the beginning of the valid sequence, we fire off the rule for that particular turn in the sequence. We also increment the turn count;
        c. If the current sequence matches an entire valid sequence, we fire off the rules for the final turn in the sequence, then reset the current sequence and turn count;
        d. Otherwise, we reset the current sequence and turn count;
]
 
Instead of pulling a biggles-rope:
    [Establish some global variables needed elsewhere, and print text associated with bell/rope.]
    now biggles-just-rang-bell is true;
    now biggles-reveals-true-sign is false;
    say "The rope resists your efforts at first, then relents with a creak. A thunderous yet [the biggles-bell-tone of the noun] peal of a bell reverberates throughout the steeple";
    [
    We cycle through the Table of Biggles-Bell-Sequences.
    ]
    biggles-debug "->Repeating through Table of Sequences.";
    repeat through Table of Biggles-Bell-Sequences:
        [Set up all the variables]
        let biggles-sequence-id be the Biggles-Sequence-ID entry;
        let biggles-valid-sequence be the Biggles-Valid-Sequence entry;
        let biggles-current-sequence be the Biggles-Current-Sequence entry;
        let biggles-sequence-count be the Biggles-Sequence-Count entry;
        let biggles-bell-id be the biggles-bell-id of the noun;
        [Add the bell id to the current sequence and update the table.]
        add biggles-bell-id to the biggles-current-sequence;
        biggles-debug "-->Current sequence for bell sequence [biggles-sequence-id] after pulling [the noun] is [biggles-current-sequence].";
        biggles-debug "-->Valid sequence for bell sequence [biggles-sequence-id] is [biggles-valid-sequence].";
        [
        Set up the while loop and examine where we are (if anywhere) in the given sequence.
        ]
        let biggles-sequence-index be 1;
        while biggles-sequence-index <= the number of entries in biggles-current-sequence:
            [Compare the current sequence to the valid sequence. If we have a match, fire off the "rule" associated with this sequence and increment the current turn/count of the sequence. Otherwise, reset the sequence.]
            let biggles-id1 be entry biggles-sequence-index of biggles-current-sequence;
            let biggles-id2 be entry biggles-sequence-index of biggles-valid-sequence;
            if biggles-id1 is biggles-id2 and the number of entries in biggles-current-sequence is the biggles-sequence-index:
                biggles-rules-for-sequence-id biggles-sequence-id for turn biggles-sequence-count for the noun;
                biggles-debug "->Output id is [biggles-sequence-output].";
                [We fired off the "rule". Are we at the end of the sequence? If so, reset it.]
                if the number of entries in biggles-current-sequence is the number of entries in biggles-valid-sequence:
                    biggles-debug "--->Resetting current sequence for bell sequence [biggles-sequence-id] (1).";
                    change biggles-current-sequence to have 0 entries;
                    now the biggles-sequence-count is 0;
            [We did not have a match between the current sequence and the valid sequence. Reset the current sequence and turn count.]
            otherwise if biggles-sequence-index is the number of entries in biggles-current-sequence:
                biggles-debug "--->Resetting current sequence for bell sequence [biggles-sequence-id] (2).";
                [But what if the bell pulled is the first one in the sequence?]
                if biggles-id1 is entry 1 of biggles-valid-sequence:
                    change biggles-current-sequence to have 1 entries;
                    now the biggles-sequence-count is 1;
                    biggles-debug "---->Bell sequence now set back to first bell; sequence is: [biggles-current-sequence]";
                otherwise:
                    change biggles-current-sequence to have 0 entries;
                    now the biggles-sequence-count is 0;
            now biggles-sequence-index is biggles-sequence-index + 1;
        [Add 1 to the sequence turn/count and update the table.]
        now the biggles-sequence-count is the biggles-sequence-count + 1;
        now the Biggles-Sequence-Count entry is the biggles-sequence-count;
        [Update the current sequence in the table.]
        now the Biggles-Current-Sequence entry is the biggles-current-sequence;
    [
    We randomize the rafters/bells only if we did not have a match with sequence 1.
    ]
    if biggles-matched-special-sequence is false:
        biggles-debug "--> Randomizing the rafters.";
        biggles-randomize-the-bells;
    [
    Output the final text depending on the sequence of bells rung.
    ]
    biggles-debug "-->Output id is [biggles-sequence-output].";
    if the location of the biggles-bats is CHU3:
        biggles-summons-the-bat-things;
    otherwise if the biggles-sequence-output is 1:
        say " followed by the peal of another bell, and another, and even more until the steeple fills with a cacophony. The steeple trembles; dust and debris fall from above as the rafters scream, violently shifting and sliding. You hunker down, your own screams drowned by the unholy chorus until, quite abruptly, it all stops.";
    otherwise if the biggles-sequence-output is 2:
        say ".[paragraph break]A hollow voice booms: 'Z!'";
    otherwise if the biggles-sequence-output is 3:
        biggles-summons-an-evil-elder-one;
        end the story saying "You have been sliced in two";
    otherwise if the biggles-sequence-output is 4:
        biggles-summons-a-luck-dragon;
    otherwise:
        say ". So violent are the reverberations that the pillars quiver. Dust and debris shower upon you while above, some of the rafters slide and shift with dull moans before slowly settling into new positions.";
    [
    If a sequence has been completed, we should reset all sequences--that's kinda what a player would expect.
    ]
    if biggles-sequence-output is not 0:
        repeat through Table of Biggles-Bell-Sequences:
            change the Biggles-Current-Sequence entry to have 0 entries;
    [
    Reset some global values that are tracked in the "rules" of the sequence.
    ]
    now the biggles-sequence-output is 0;
    now the biggles-matched-special-sequence is false;
 
[
If the bats are present in the steeple when a rope is pulled, they swarm down upon the player, killing her unless she is wearing the cord and pendant found upon the corpse.
]
To biggles-summons-the-bat-things:
    say ", quickly followed by a chorus that sounds like a thousand fingernails scraping across a thousand blackboards.";
    say line break;
    say "Something up in the belfry has awakened.";
    say line break;
    say "The echo of beating wings thunders down on you as dozens, hundreds, thousands--their numbers seem limitless--of bat-like creatures take flight. They swarm around and in the steeple, descending upon you in a flapping, screaming storm.";
    say line break;
    if the player is not wearing the biggles-pendant:
        say "You feel the first bites on your neck, then shoulders, then face, then everywhere, stinging pain. You try to drive the creatures off, but it's like beating back a thunderstorm. Leathery bodies quickly overwhelm you, tiny, razor-sharp teeth shredding clothes and gnawing layer after layer of flesh. You try to scream in pain, but they've already gotten to your tongue. . .";
        end the story saying "You have been devoured";
    otherwise:
        say "The leather cord and pendant around your neck grows warm and glows, and the shrieking of the creatures transforms from rage to frustration. Several of them, hairless and leathery, ungodly human in form, scream and dive at you, only to be repelled by an invisible force. Again they attack. Again they are repelled.";
        say line break;
        say "It's an eternity before they give up. The swarm soars away from the steeple in a dark cloud, disappearing into the horizon.";
        say line break;
         say "You look up. Now that the belfry has been cleared of those horrendous things, star- and moonlight stream down through the perforated holes in the belfry's ceiling and the disjointed rafters, forming a particular pattern.";
        now the biggles-bats are nowhere;
 
Section 3 - Rope and bell sequences
[
The following phrase takes a sequence id, a sequence turn count, and the current noun (a rope) and transforms it into a "rule". The rule sets which text output should be displayed when the rope is pulled.
]
 
Biggles-sequence-output is a number that varies. Biggles-sequence-output is 0.
 
To biggles-rules-for-sequence-id (biggles-id - a number) for turn (biggles-turn - a number) for (biggles-current-rope - a biggles-rope):
    biggles-debug "--->Fire off rule for turn [biggles-turn] of bell sequence [biggles-id] for [biggles-current-rope].";
    [The rules for the first sequence are complicated, so a separate phrase/rules were generated for it.]
    if biggles-id is 1:
        biggles-true-sign-rules for turn biggles-turn for biggles-current-rope;
    [This is the xyzzy sequence, which sets the astrological sign to "Z"]
    otherwise if biggles-id is 2 and biggles-turn is 5:
        biggles-xyzzy-rules;
    [This is the sequence hinted at in the journal.]
    otherwise if biggles-id is 3 and biggles-turn is 5:
        now biggles-sequence-output is 3;
    [This is the easter egg sequence that helps the player get to the happy ending.]
    otherwise if biggles-id is 4 and biggles-turn is 10:
        now biggles-sequence-output is 4;
 
[
The rules for the first sequence of bells (pulling the copper rope, pulling the iron rope, pulling the silver rope, pulling the gold rope) are fairly complicated. Normally, the astrological numbers associated with the bells are randomized after a rope is pulled. This is not the case during the first sequence. Instead, the astrological numbers are explicitly set, and we need to tell the algorithm not to randomize the bells.
]
Biggles-matched-special-sequence is a truth state that varies. Biggles-matched-special-sequence is false.
 
To biggles-true-sign-rules for turn (biggles-turn - a number) for (biggles-current-rope - a biggles-rope):
    [Do not randomize the bells]
    now biggles-matched-special-sequence is true;
    if the biggles-turn is 4:
        now the biggles-astro-num of the biggles-gold-rope is the second true sign;
        now the biggles-astro-num of the biggles-silver-rope is the second true movement;
        now the biggles-astro-num of the biggles-iron-rope is the first true movement;
        now the biggles-astro-num of the biggles-copper-rope is the first true sign;
        now biggles-reveals-true-sign is true;
        biggles-set-sequence-output 1;
 
[
Easter egg. The second sequence of bells is given when a magic word such as 'xyzzy' is typed at the command prompt. This sequence results in a star chart shaped as a 'Z' and represents another sequence of bells that can be pulled.
]
To biggles-xyzzy-rules:
    now the biggles-astro-num of the biggles-copper-rope is 15;
    now the biggles-astro-num of the biggles-iron-rope is 4;
    now the biggles-astro-num of the biggles-silver-rope is 2;
    now the biggles-astro-num of the biggles-gold-rope is 15;
    now biggles-matched-special-sequence is true;
    now biggles-sequence-output is 2;
 
To biggles-set-sequence-output (biggles-num - a number):
    biggles-debug "->Set Output id from [biggles-sequence-output] to [biggles-num].";
    now biggles-sequence-output is biggles-num;
 
[
The third sequence of bells is hinted at in the corpse's journal. Ringing the bells in this order summons an ancient evil one and dooms the player to a grisly death.
]
To biggles-summons-an-evil-elder-one:
    say ".  [paragraph break]And something answers. . .[paragraph break]A chorus of howls. . . of screams. . . of cries. . . you aren't certain what you hear,  but whatever it is, the horrible discordance permeates everything, and comes from everywhere. The noise pounds at you, envelopes you, and you stumble backward, holding your hands to your ears, as everything vibrates so violently that you begin to see in double. . .";
    say line break;
    say "And    then     IT     arises. . .   Oh dear GOD    IT  arises. . .";
    say line break;
    say "From the sea of clouds, which now boils like an angry cauldron, it arises, blotting out the stars and moons, an amorphous tower of flesh and bones and eyes and mouths, all dripping and oozing a dark ichor. Tendrils as thick as the steeple and as long as freight trains undulate across the horizon, pulsating with suckers lined with teeth.";
    say line break;
    if the player is wearing the biggles-pendant:
        say "The leather cord and pendant around your neck glows and becomes red hot, burning your skin. Then it shatters; some evil is far too massive to ward off.";
        say line break;
        say "And a thought strikes you, suddenly and overwhelming. . .";
    say line break;
    say "[italic type]It's beautiful. . . so. . . beautiful. . .[roman type]";
    say paragraph break;
    say "The thought stays with you even as one of those tendrils slithers into the steeple and wraps its meaty yet soft mass around your waist. You weep and laugh, laugh and weep, as the tentacle squeezes and continues to squeeze until you hear the soft squelch of your midsection bursting like a crushed grape.";
 
[
This fourth, and final, sequence of bells is another easter egg; it summons the the luck dragon.
]
To biggles-summons-a-luck-dragon:
    if the location of the biggles-dragon is CHU3:
        say ".[paragraph break]The luck dragon stares at you, somewhat confused. 'I'm already here,' he says.";
    otherwise:
        say ".[paragraph break]At the base of the steeple, the clouds boil and churn, swirling into a maelstrom that funnels down and down. And from within that dark funnel starts to rise an enormous, sinuous shape. It gets closer and closer, moving faster and faster, until a creature as large as the steeple itself rockets upward from the clouds. . .";
        say line break;
        say "And gently settles in front of the steeple, somehow hovering just outside one of the arches.";
        say line break;
        say "A head as tall and as wide as one of the arches--and looking very much like a basset hound--peers inquisitively into the steeple. The creature body is that of a furry snake with four paws, twisting and turning and ending in a tail that, well, wags back and forth.";
        say line break;
        say "'Why, hello there,' the creature says, blinking its large, sorrowful eyes. 'Pleased to meet you. I'm Spike, the luck dragon, at your service.' He bows his head";
        if the location of the biggles-gnome is CHU3:
             say ", then sees the gnome. 'Oh, why it's the gnome of commentary. How good to see you!'";
        otherwise:
            say ".";
        move the biggles-dragon to CHU3;
        now the current interlocutor is the biggles-dragon;
 
Chapter 4 - The Rafters and Ceiling
[
After the bats have been dispersed, whenever a bell is rung, the rafters shift, allowing moonlight and starlight to filter down into the belfry. Each pattern corresponds to a star chart and astrological sign, which is revealed in the tome that is held by the corpse.
]
 
Some biggles-rafters are biggles-far-scenery in CHU3. The printed name of the biggles-rafters is "disjointed rafters". The description of the biggles-rafters is "A web of shadowy beams criss-crossing at random angles. At one time, they must have supported the floor of the belfry, but those floorboards seem to have broken away: high above the rafters hang the shapes of several bells." Understand "rafters", "disjointed rafters", "disjointed", "beams" as the biggles-rafters.
 
Instead of looking under the biggles-rafters:
    say "Just you and the rest of the steeple.";
 
The biggles-starlight is biggles-far-scenery in CHU3. The printed name of the biggles-starlight is "starlight and moonlight".  The description of the biggles-starlight is "[if the location of the biggles-bats is CHU3]You can't see much beyond those creatures up there.[otherwise]Filtered by both the perforations in the ceiling and the disjointed rafters, the light from the stars and moons streams down into the steeple in an unusual pattern:[end if]". Understand "ceiling", "steeple ceiling", "perforated ceiling", "perforated", "starlight", "moonlight", "light", "pattern" as the biggles-starlight.
 
After examining the biggles-starlight when the location of the biggles-bats is not CHU3:
    say biggles-draw-rope-star-chart;
    if the location of the biggles-gnome is CHU3:
        say line break;
        say "The gnome speaks: 'Each pattern of stars has a sign (or name) associated with it, which you can learn when you read the tome being held by the corpse.' The gnome flips through his notebook. 'Oh, this is interesting. Apparently, a star pattern can also represent an order in which you can pull the bells. The first line of the pattern designates how many times you pull the iron bell in a row. The second line tells you how many times to pull the copper bell in a row. The third line, the silver bell. And the fourth line, the gold bell. So if a pattern looked like this:[paragraph break][fixed letter spacing]*  *[line break]*[line break]*[line break]*  *[roman type][paragraph break]'You would pull the iron bell twice, the copper bell once, the silver bell once, and the gold bell twice.' The gnome pauses before adding: 'Fascinating.'";
 
Chapter 5 - Astrological Signs and Star Charts
[
Astrological signs and star charts play a key role in this particular puzzle of Cragne Manor. Every time a bell is rung, the rafters of the steeple shift, creating a pattern of starlight and moonlight that is associated with an astrological sign.
 
Note: In the following code, we often use the term 'stars' to refer to pinpoints of starlight and moonlight. A 'star chart' is a pattern of those pinpoints.
 
For example, a pattern/star chart might look like this:
 
      *  *
   *
   *
   *        *
 
The first row corresponds to the astrological number of the copper rope/bell; the second, the iron rope/bell; the third, the silver rope/bell; the fourth, the gold rope/bell. These number, in turn, correspond to the astrological signs of first true sign, first true movement, second true movement, and second true sign, respectively.
]
 
 
When play begins:
    biggles-randomize-the-bells;
 
[
The following phrase sets the bells to random astrological numbers.
]
To biggles-randomize-the-bells:
    now the biggles-astro-num of the biggles-gold-rope is a random number between 1 and 20;
    now the biggles-astro-num of the biggles-silver-rope is a random number between 1 and 4;
    now the biggles-astro-num of the biggles-iron-rope is a random number between 1 and 4;
    now the biggles-astro-num of the biggles-copper-rope is a random number between 1 and 20;
 
[
The following prints out a row of stars (*) based on a given number. Basically, the number is converted to its reverse binary sequence with 1's printed as '*' and 0's printed as spaces.
]
To say biggles-stars-in-number (biggles-num - a number):
    say fixed letter spacing;
    let biggles-origin be biggles-num;
    while biggles-num > 0:
        if remainder after dividing biggles-num by 2 is 1:
            say "*";
        otherwise:
            say " ";
        say "  ";
        now biggles-num is biggles-num / 2;
    biggles-debug " -> [biggles-origin]";
    say variable letter spacing;
    say line break;
 
[ Prints a random star chart. Not used in final room implementation, but keeping for posterity's sakes.
To say biggles-draw-random-star-chart:
    say biggles-stars-in-number a random number between 1 and 20;
    say biggles-stars-in-number a random number between 1 and 4;
    say biggles-stars-in-number a random number between 1 and 4;
    say biggles-stars-in-number a random number between 1 and 20;
]
 
[ Using four numbers, prints out four rows of stars to form a star chart. ]
To say biggles-draw-star-chart-with (num1 - a number) and (num2 - a number) and (num3 - a number) and (num4 - a number):
    say biggles-stars-in-number num1;
    say biggles-stars-in-number num2;
    say biggles-stars-in-number num3;
    say biggles-stars-in-number num4;
 
[ Prints a star chart based on the astrological numbers of the four bells/ropes. ]
To say biggles-draw-rope-star-chart:
    let biggles-w be the biggles-astro-num of the biggles-copper-rope;
    let biggles-x be the biggles-astro-num of the biggles-iron-rope;
    let biggles-y be the biggles-astro-num of the biggles-silver-rope;
    let biggles-z be the biggles-astro-num of the biggles-gold-rope;
    say biggles-draw-star-chart-with biggles-w and biggles-x and biggles-y and biggles-z;
    if biggles-debugging is true:
        say biggles-astrology-sign-with biggles-w and biggles-x and biggles-y and biggles-z;
        say " -> [joey's true sign]";
        say line break;
 
[ Prints an astrological sign based on four numbers.]
To say biggles-astrology-sign-with (num1 - a number) and (num2 - a number) and (num3 - a number) and (num4 - a number):
    say "the [sign corresponding to a Crankno of num1 in the Table of JJ-Cranking] [movement corresponding to a Pulleyno of num2 in the Table of JJ-Pulleying] [movement corresponding to a leverno of num3 in the Table of JJ-levering] the [sign corresponding to a Dialno of num4 in the Table of JJ-Dialing][if biggles-debugging is true]([num1], [num2], [num3], [num4])[end if]".
 
[ Prints the astrological sign associated with the astrological numbers of the four ropes/bells.]
To say biggles-rope-astrology-sign:
    let biggles-w be the biggles-astro-num of the biggles-copper-rope;
    let biggles-x be the biggles-astro-num of the biggles-iron-rope;
    let biggles-y be the biggles-astro-num of the biggles-silver-rope;
    let biggles-z be the biggles-astro-num of the biggles-gold-rope;
    say biggles-astrology-sign-with biggles-w and biggles-x and biggles-y and biggles-z;
 
Chapter 6 - The Corpse (of course there's a corpse)
[
Because this is a game based on Anchorhead, which is a game of Lovecraftian cosmological horror , we need to have a dead body hanging around, and a hideously deformed one at that. Based on Quasimodo, our poor, dead hunchback is part of the backstory of the steeple.
 
The corpse also possesses two key items for the room's main puzzle: the celestial tome, which maps star charts to astrological signs; and the pendant, which wards off the bats when the bells are rung.
 
And finally, it must be said that in honor of how Cragne Manor was implemented, I was originally going to have this be an "exquisite corpse," but it just didn't fit with the theme of the room. I'm hoping some other author came up with the idea.
]
 
The biggles-corpse is a neuter animal in CHU3. The initial appearance of the biggles-corpse is "A misshapen mass slumps in one corner of the steeple." The printed name of the biggles-corpse is "misshapen corpse". The description of the biggles-corpse is "[first time]As you approach the misshapen mass, your gut wrenches as you realize it is, of course, a corpse. . . a hideously deformed corpse.[paragraph break][only]So misshapen is this poor figure that it's difficult to tell where its head ends and its torso begins. Its back is horrendously humped, its face an amorphous mass of tumors with sunken holes for eyes. What appears to be its mouth is open in a silent scream.[paragraph break]Hard to say how long the corpse has been here in the steeple, but it seems ancient, skin and clothes desiccated and thin like parchment, somehow mummified. It's slouched--or sitting?--on the floor in one corner of the steeple. [paragraph break]On the corpse's lap rests an open tome. Another book lies near the corpse: A worn, leather-bound journal[if the biggles-corpse is wearing the biggles-pendant].[paragraph break]Hanging around the corpse's oversized neck is a leather cord and pendant[end if]." Understand "mass", "misshapen", "corner", "misshapen mass", "corpse", "misshapen corpse", "back", "tumors", "holes", "eyes", "skin", "body", "dead body", "mouth" as the biggles-corpse.
 
Instead of taking or touching or pushing or pulling or turning the biggles-corpse:
    say "Years of desiccation and natural mummification have melded the corpse and [if the biggles-corpse is wearing the biggles-pendant]some of [end if]its possessions into a single, sepulchral monument to whatever has happened here. You sense it's best not to disturb things.";
 
Instead of kissing or entering or climbing or getting off the biggles-corpse:
    say "Such a horrid thought from a lady of your stature!";
 
Instead of smelling the biggles-corpse:
    say "You expect a putrid stench, but years of desiccation and natural mummification have bereft the poor corpse of any scent.";
 
[ The following seems to interrupt everything in the conversation framework, thank goodness, as well as showing, giving, and persuasion.]
Instead of saying hello to the biggles-corpse:
    say "The corpse, not surprisingly, fails to respond.";
 
The biggles-corpse is wearing the biggles-clothes. The printed name of the biggles-clothes is "rotting robes". The description of the biggles-clothes is "Whoever this was left this world attired in simple, hooded robes, a thin cord cinched around the waist. The robes have not weathered the years well, for they are torn and tattered, and it's difficult to discern flesh from fabric, as if the robes rot into the very skin it covers." Understand "rotting robes", "robes", "clothes", "rotting clothes", "rotting" as the biggles-clothes.
 
The biggles-corpse is wearing the biggles-pendant. The printed name of the biggles-pendant is "leather cord and pendant". The description of the biggles-pendant is "A leather cord[if the biggles-corpse is wearing the biggles-pendant] hangs around the corpse's oversized neck[end if], its ends held together by a triangular pendant. Etched in the pendant is an eye." Understand "cord", "leather cord", "leather cord and pendant", "pendant", "triangular", "triangular pendant", "eye" as the biggles-pendant.
 
Instead of taking the biggles-pendant when the biggles-corpse is wearing the biggles-pendant:
    say "You carefully remove the leather cord and pendant from the corpse.";
    now the player is carrying the biggles-pendant;
 
Instead of taking something that is enclosed by the biggles-corpse:
    try taking the biggles-corpse;
 
Instead of touching something that is enclosed by the biggles-corpse:
    try taking the noun;
 
Chapter 7 - The Leather-Bound Journal
[
The journal is clearly the work of the dead hunchback, and tells his story. He's the deformed and ostracized son of a sister and brother in the Cragne family, the niece and nephew of Esther Cragne, who clearly has some kind of connection with eldritch horrors.
]
 
The biggles-journal is a book in CHU3. The printed name of the biggles-journal is "worn, leather-bound journal". The description of the biggles-journal is "About the size of your hand. The binding is cracked and torn, the pages yellow with age." Understand "worn journal", "worn leather-bound journal", "leather-bound journal", "leather journal", "worn leather journal", "journal", "leather", "leather-bound" as the biggles-journal.
 
Before writing a paragraph about the biggles-journal when the location is CHU3:
    now the biggles-journal is mentioned;
 
Instead of taking the biggles-journal for the first time:
    say "As you lift the journal, a moan emits from the vicinity of the corpse--or the corpse itself?--and a wind rises, upon which you hear a sinister whisper. The journal burns red hot and you quickly drop it back from where it came. The wind settles and although the corpse does not move, it seems to settle as well.";
 
Instead of taking the biggles-journal:
    say "You're not going to try taking that again!";
 
The biggles-journal-sequence is a number that varies. The biggles-journal-sequence is 1.
 
Instead of reading the biggles-journal:
    say "Being as cautious as you can with the journal, you flip to the [if the biggles-journal-sequence is 1]first[otherwise]next[end if] page that has legible handwriting in it:[paragraph break]";
    say the Biggles-Entry in row biggles-journal-sequence of the Table of Biggles-Journal-Entries;
    say line break;
    if the biggles-journal-sequence is the number of rows in the Table of Biggles-Journal-Entries:
        now the biggles-journal-sequence is 1;
        say line break;
        say "That seems to be the last entry in the journal.";
    otherwise:
        now the biggles-journal-sequence is the biggles-journal-sequence + 1;
        say line break;
        say "There are more pages to read.";
 
Table of Biggles-Journal-Entries
Biggles-EntryID    Biggles-Entry
1    "'To be hidden here, by my Ma and Da, in this steeple, in this special place, under the two moons. To be safe here, they say, in this strange land, safe from the others, who do not understand. To think I am special, my Ma and Da do, but the others, they say, do not. To name me grotesque, to call me hideous, to say I am a monster! To chase me with pitchforks and torches!'"
2    "'To visit me, my Ma and Da do, to bring me food and water, to talk with me, to wash me, to bring new robes to wear, to bring books. To say I should never leave the steeple. To not go down the stairs. To danger they lead. To the others who wait in the village below.[paragraph break]'And to not ring the bells. To summon things, the bells do, evil things.'"
3    "'To watch the moons. To count and study the stars. To write in this journal. To read books. To wonder about the shadows in the clouds. To not ring the bells. To be all that I do, hour after hour, day after day, if time mean anything here. To always be the moons and the stars and the clouds, and sometimes the wind. To never see a sun. To not remember the sun very well.[paragraph break]'To be lonely. . .'"
4    "'To want to go down the stairs. To want to leave this place, to explore what used to be home, to see my village, to be with people. But Ma and Da scold me. To warn me of the others.[paragraph break]To entertain me, they tell stories of our family, the Cragne's, of their Aunt and her teachings. To speak of the two moons, their Aunt did, and this strange place, a realm of the Old Ones. To be the one who discovered a way to this place. To share her secret only with Ma and Da, her favorite niece and nephew.'"
5    "'To be visited by a strange, elderly woman, but not know where she came from. To name herself Esther and to be kind to me. To say I can one day go down the stairs if I listen to her, but to not to speak of this to anyone, not even Ma and Da. To agree, I say, but what must I do?[paragraph break]'To ring the bells for me, she says, for I do not have the strength. But bells bring evil, I say. To be safe from the evil with this, she says, and gives me a pendant. Now, ring the bells.[paragraph break]'To ring the bells, I do, in the way she teaches me. To like to hear them sing. To bring the winds, they do, but not to bring evil. To be soothing.'"
6    "'To see Ma and Da. To look older, they do, much older than when I first come here. To ask if I look older. No, they say, to look the same age as always.[paragraph break]'To be visited by Esther when Ma and Da not around. To ask when I can go down the stairs. To be soon, she says, soon. Ring the bells, she says.'"
7    "'To hear things on the wind now when I ring the bells. Names. Horrid names. Ialdabaoloth. Vaadignephod. To not speak them out loud. To be fearful. But to continue to ring the bells. To do as Esther says: To want to leave this place; to go back home.'"
8    "'Must ring the bells. . . ring the bells. . . Ialdabaoloth. Vaadignephod. To want to go home to the village. To leave!'"
9    "'To be caught ringing bells by Ma and Da. To scream at me they do, to try to wrest ropes from me. To struggle we do. To tell them Esther has told me to. To be not possible, Ma and Da yell; Aunt Esther has been dead for many years. To continue our struggle. To hear Esther laughing. . . [paragraph break]'To not mean to. . . To snap Ma's neck. . . to break Da. . . But they did not want me to ring bells, like Esther said. . .[paragraph break]'Ring the bells. . . ring. . . ring . . .'"
10    "'To see Esther. To instruct me to throw bodies of Ma and Da into the clouds. To ring the bells in turn. . . Gold and silver and copper with iron between each. . . [paragraph break]'Dear God, it came. I saw it. . . [paragraph break]'Huge, blotting out moons, stars. Writhing. Screeching. To see Esther fall to her knees, laughing and weeping. To see tentacle from maw reach out, claim Esther, draw her in while she weeps and laughs, laughs and weeps. . .'"
11    "'To be alone. To not go down stairs. To not ring bells. To not eat. . . to not drink. . . To only sit and remember. . . that thing. . . that horrible thing. . . I scream in my dreams. . .'"
12    "'To be tired. . . To not sleep. . . to be sick, I think. . . To want to go down stairs now, but to not have strength. . . To sit here. . . To die, most likely. . . but grateful to not see that thing. . .[paragraph break]'That thing. . .'"
 
Chapter 8 - The Celestial Tome
[
The celestial tome maps a star chart to its astrological sign.
]
 
The biggles-celestial-tome is a book carried by the biggles-corpse. The printed name of the biggles-celestial-tome is "celestial tome". The description of the biggles-celestial-tome is "Cradled in the corpse's lap, the humungous tome lies open as if the corpse still studies the pages. It's clearly ancient, the pages withered and yellow, like the skin of the corpse itself, its leather bonding cracked." Understand "celestial tome", "tome", "celestial", "star charts", "star chart", "page", "pages" as the biggles-celestial-tome.
 
Instead of reading the biggles-celestial-tome for the first time:
    say "You dare not flip the pages of the ancient book; to touch the pages might be to destroy them. . . or disturb the corpse who holds the tome. But the pages that are open reveal dozens of star charts and associated astrological signs. Oddly, the corpse who holds the tome seems to be pointing to one drawing in particular:";
    say biggles-draw-tome-star-chart;
 
Instead of reading the biggles-celestial-tome:
    if biggles-just-rang-bell is true:
        say "Oddly, the pages seemed to have changed or turned by themselves, for you are certain you are looking at a series of charts and signs that are different than before. The corpse points to one drawing in particular:";
        now biggles-just-rang-bell is false;
    otherwise:
        say "The corpse points to one drawing in particular: ";
    say biggles-draw-tome-star-chart;
 
[ Print out a star chart and astrological sign in the tome.]
To say biggles-draw-tome-star-chart:
    say paragraph break;
    say biggles-draw-rope-star-chart;
    say line break;
    say "Underneath, in elegant handwriting, is written:";
    say paragraph break;
    say "(The astrological sign is [biggles-rope-astrology-sign].)[line break]";
    if biggles-beta-testing is true and biggles-reveals-true-sign is true:
        say line break;
        say "[bold type]Congratulations! You have learned the true sign of Peter Cragne and completed this room. Type COMMENTARY to test the room's commentary feature.[roman type]";
        say line break;
 
Chapter 9 - The Key
[
This key to a door unknown as of this writing was to be made freely available. It is not part of the room's main puzzle, but required to unlock an area elsewhere in the game.
 
The description of the key was shared with two other authors because the key unlocks two doors. How they implemented/associated the key with their doors is unknown at this time. Such is the nature of Cragne Manor!
 
]
 
The initial appearance of Key9 is "Teetering on the edge of the hole is a nasty-looking key." The printed name of Key9 is "nasty-looking key". The description of Key9 is "A large key, nearly the length of your hand, its teeth. . .  well, a row of rotted, human teeth. Etched beneath the teeth, upon the shaft of the key, is a runic script." Understand "key", "nasty-looking key", "nasty-looking", "nasty key", "nasty", "teeth" as Key9.
 
Understand "read [key9]" as reading.
 
Instead of reading Key9:
    try examining the biggles-runic-script;
 
The biggles-runic-script is part of Key9. The printed name of biggles-runic-script is "runic script". The description of the biggles-runic-script is "Harsh, jagged lines form a disturbing script which seems to shift and waver, straining your sight. At the end of the script is a hieroglyph: Two crescents, back to back, centered above an eye, and below the eye, an icon resembling a keyhole." Understand "runes", "script", "runic script", "runic", "keyhole", "hieroglyph", "symbol", "icon", "eye" as the biggles-runic-script.
 
After taking key9 for the first time:
    say "You gingerly pluck the key from the edge of the hole.";
 
Part 5 - Sharing
 
Chapter 1 - The True Sign, Shared by Another
[
This chapter was shared and implemented by another author whose first name is Joey and whose last name I haven't learned. The tables and phrases generate over 6,000 astrological signs. At the beginning of the game, one sign is randomly chosen to be the "True Sign", the astrological sign of Peter Cragne.
 
NOTE TO RYAN AND JENNI: This chapter can be safely removed when compiling the entire game. If it is not, there are bound to be compiling errors.
]
 
Table of JJ-Cranking
Crankno    Sign
1    "Broken Tower"
2    "Wheel"
3    "Beggar"
4    "Prophet"
5    "Ennui"
6    "Spider"
7    "Fly"
8    "Sleeper"
9    "Mouth"
10    "Tendril"
11    "Vessel"
12    "Spiral"
13    "Turncoat"
14    "Liar"
15    "Adept"
16    "Despair"
17    "Watcher"
18    "Hook"
19    "Needle"
20    "Toad"
 
Table of JJ-Dialing
Dialno    Sign
1    "Scourge"
2    "Throne"
3    "Penitent"
4    "Hanged Man"
5    "Noose"
6    "Tome"
7    "Stranger"
8    "Phylactery"
9    "Vial"
10    "Eyes"
11    "Gate"
12    "Chain"
13    "Mask"
14    "Fortune Teller"
15    "Nemesis"
16    "Pyre"
17    "Baleful Hound"
18    "Crown"
19    "Abyss"
20    "Key"
 
Table of JJ-Pulleying
Pulleyno    Movement
1    "ascending"
2    "in motion"
3    "descending"
4    "in stasis"
 
Table of JJ-Levering
leverno    Movement
1    "under"
2    "opposing"
3    "above"
4    "in the house of"
 
To say joey's true sign:
    say "the [sign corresponding to a Crankno of first true sign in the Table of JJ-Cranking] [movement corresponding to a Pulleyno of first true movement in the Table of JJ-Pulleying] [movement corresponding to a leverno of second true movement in the Table of JJ-Levering] the [sign corresponding to a Dialno of second true sign in the Table of JJ-Dialing]".
 
First true sign is a number which varies.
 
Second true sign is a number which varies.
 
First true movement is a number which varies.
 
Second true movement is a number  which varies.
 
When play begins:
    now first true sign is a random number between 1 and 20;
    now second true sign is a random number between 1 and 20;
    now first true movement is a random number between 1 and 4;
    now second true movement is a random number between 1 and 4;
 
Chapter 2 - Shared with Others
[
The following generates code that is used by another author elsewhere in the game. It is not used within the room itself (except for beta testers); nevertheless, it needs to be present in order for the entire game to successfully compile.
 
]
 
To say biggles-recites-a-poem:
    say "Under the crescent moons,[line break]";
    say "Beneath the starlit skies,[line break]";
    say "The bells lament with their songs,[line break]";
    say "The bells lament with their cries.[paragraph break]";
    say "A song of copper and iron,[line break]";
    say "A song of silver and gold,[line break]";
    say "The bells sing of the One's true sign,[line break]";
    say "The bells sing of the Ones of old."
 
Part 6 - Easter Eggs and Other Fun Stuff
[
And now for the stuff that probably only a few players, if any, will ever see while playing the game: The Easter eggs, including an interactive commentary by a gnome, and the ability to fly away from the game on the back of a luck dragon, living happily ever after.
 
To Ryan and Jenni I apologize for any headaches this part of the code causes, especially the bits surrounding the commentary.
 
]
 
Chapter 1 - XYZZY, Plugh
[
Typing one of ADVENTURE's magic words reveals a bell sequence, which ends up revealing a star chart that looks like a "Z." The "Z" actually represents a bell sequence in itself, which is hinted at by the gnome of commentary when the player examines the star/moonlight pattern in the gnome's presence.
 
]
 
Biggles-xyzzying is an action applying to nothing.
 
Understand "xyzzy", "plugh", "plover" as biggles-xyzzying when the location is CHU3.
 
Report biggles-xyzzying:
    say "A hollow voice says: 'Copper, silver, gold, gold, silver.'";
 
Chapter 2 - Commentary
[
The leads of Cragne Manor, Ryan and Jenni, decided to incorporate a global Easter egg in the game: The ability for authors to include room commentary. How the commentary gets activated is, at the moment, a huge secret, so I'm tempting fate with three BIG assumptions. The first assumption is that the commentary of a room can only be seen within the room itself; second assumption: the commentary will invoke a "say" command that reads off the commentary of the room; third assumption: this commentary code won't conflict with any commentary code that Ryan and Jenni write.
 
Why I chose to go this route, I don't know. Just seemed to be the right thing to do. But since Ryan and Jenni incorporated this feature into the game, I blame them.
 
]
 
Section 1 - Testing the commentary - Not For Release
 
Biggles-commenting is an action out of world. Understand "commentary" as biggles-commenting when the location is CHU3.
 
Report biggles-commenting:
    say commentary of CHU3;
 
Section 2 - The gnome of commentary
[
The commentary of this particular room is delivered by a gnome who appears out of nowhere, much like the gnomes in Zork II. He delivers commentary about certain objects when asked about them, or offers unsolicited commentary when objects are examined.
 
]
 
The biggles-gnome is a man. The printed name of the biggles-gnome is "gnome of commentary". The description of the biggles-gnome is "A small gnome with a pair of spectacles resting upon his pointed nose and wearing a red cap. He carries a small notebook." Understand "gnome", "gnome of commentary", "spectacles", "nose", "small notebook", "notebook", "red cap", "cap" as the biggles-gnome.
 
Rule for writing a paragraph about the biggles-gnome:
    say "The gnome of commentary is here, waiting patiently for you to ask him something.";
 
After examining something when the location of the biggles-gnome is CHU3 and the noun is not biggles-starlight:
    if there is a Biggles-Object of the noun in the Table of Biggles-Object-Commentary:
        biggles-has-the-gnome-comment-on the noun;
 
After quizzing the biggles-gnome about something:
    if there is a Biggles-Object of the second noun in the Table of Biggles-Object-Commentary:
        biggles-has-the-gnome-comment-on the second noun;
    otherwise:
        say "The gnome flips through his notebook, then sighs. 'I'm afraid I don't have any information on that.'";
 
After asking the biggles-gnome about a topic listed in the Table of Biggles-Topic-Commentary:
    say Biggles-Topic-Comment entry;
    say line break;
 
After asking the biggles-gnome about a topic:
        say "The gnome flips through his notebook, then shakes his head. 'I'm afraid I don't have any information on that.'";
 
The can't show what you haven't got rule does nothing when showing something to biggles-gnome.
 
The carrying requirements rule does nothing when showing something to biggles-gnome.
 
Instead of showing something to the biggles-gnome:
    if there is a Biggles-Object of the noun in the Table of Biggles-Object-Commentary:
        biggles-has-the-gnome-comment-on the noun;
    otherwise:
        say "The gnome flips through his notebook, then purses his lips. 'Nope. I'm afraid I don't have any information on that.'";
 
Instead of telling or informing the biggles-gnome about something:
    say "The gnome nods his head, as if interested in what you are saying.";
 
Instead of asking or requesting the biggles-gnome for something:
    say "The gnome apologizes and says: 'I can't help you with that.";
 
Instead of imploring the biggles-gnome for a topic:
    say "The gnome rubs his chin. 'Sorry, but I can't help you with that.";
 
After saying hello to the biggles-gnome:
    say "The gnome nods his head in greeting.";
 
After saying goodbye to the biggles-gnome:
    say "'Very well, if you no longer need me. . .' The gnome bows, then disappears with a *poof*.";
    now the biggles-gnome is nowhere;
 
Section 3 - The actual commentary
[
The following fires off the commentary sequence when the commentary is printed on the screen.
]
 
Commentary of CHU3 is "[biggles-comments-on-CHU3]";
 
To say biggles-comments-on-CHU3:
    if the location of the player is not CHU3:
        say "Try doing that again in the steeple of the church.";
    otherwise:
        if the location of the biggles-gnome is not CHU3:
            say "With a *pop*, a gnome appears, carrying a small notebook. He looks up at you, and adjusts his red cap. 'Ah, good, good, I was wondering when I might get a chance to make an appearance in this game. I am the gnome of commentary and I will be your guide to all the things you didn't want to know about this particular room. Just ask me about an object from this room--or examine something or show me something--and I'll comment on it. . . assuming it warrants a comment. You can also ask me about the AUTHOR or BETA TESTERS.'";
            if the location of the biggles-dragon is CHU3:
                say line break;
                say "The gnome spots the luck dragon hovering outside the steeple. 'Ah,' he says, 'I see that Spike is here.'";
            move the biggles-gnome to CHU3;
            now the biggles-gnome is seen;
            now the biggles-gnome is familiar;
            now the current interlocutor is the biggles-gnome;
 
[ And the commentary itself...]
To biggles-has-the-gnome-comment-on (biggles-thingy - a thing):
    say the Biggles-Object-Comment corresponding to the Biggles-Object of the biggles-thingy in the Table of Biggles-Object-Commentary;
    say line break;
 
Table of Biggles-Object-Commentary
Biggles-Object    Biggles-Object-Comment
biggles-background    "The gnome, lost in thought, starts. 'Oh, that's my cue. Let's see. . .' He flips to the first page in the notebook. 'Yes, this area is the church steeple, authored by Michael D. Hilborn, who has written other works of Interactive Fiction such as [apostrophe]The Life and Death(s) of Doctor M.[apostrophe]' The gnome looks up in disgust. 'Well, that's a shameless plug if I ever saw one. . . Anyway, this room is the church steeple, one of many in the Cragne Manor game.'"
biggles-arches    "The gnome clears his throat. 'Yes, erm, the arches. Not much to them. There was thought of using them for a puzzle, but it would have required six more additional objects and disambiguations between them. The goal of this room was to keep the overall puzzle as simple as possible.'"
biggles-sky    "'Ah,' says the gnome. 'The sky, a hint that the church steeple resides in a realm or dimension outside of Backwater, Vermont, the earthly home of Cragne Manor. The author implemented this room completely unaware of other rooms, so it seemed fitting that this room exist in a different world than the rest of the game.'"
biggles-moons    "'Note that the phases of the two moons mimic the iconography of the library's insignia,' says the gnome. 'There is also an eye and a book in the room, just like there is in the library insignia.' The gnome shrugs. 'Just a little detail, I guess.'"
biggles-sea-of-clouds    "The gnome squints toward the landscape. 'Hard to say what lurks beyond those clouds, but if you examine them enough, you'll get hints of what is going on down there.'"
biggles-stars    "The gnome shields his eyes as he looks up at the sky. 'Not much up there, is there? But the stars and moons play an important part of this room's main puzzle.'"
biggles-rafters    "'The rafters and their positions play an important role in deciphering the room's main puzzle,' says the gnome. 'Every time a bell is rung by pulling a rope, the rafters shift position, causing a different pattern of moon- and starlight to filter through the steeple's ceiling. The goal of the puzzle is to find the right pattern, the pattern that corresponds to the true astrology sign of Peter Cragne.'"
biggles-bells    "'Although the player can't see the bells,' says the gnome, 'they hopefully will deduce that there is one of gold, one of silver, one of copper, and one of iron up there.'"
biggles-dangling-ropes    "'Hopefully, the player will deduce from various clues that they need to be pulled in a certain sequence.' The gnome drops his voice to a conspiratorial whisper. 'Did you know there are four different sequences that can be rung?'"
biggles-corpse    "The gnome shakes his head. 'Poor soul. His story is told in the journal lying next to him. His presence was inspired by the [apostrophe]Hunchback of Notre Dame.[apostrophe]'"
biggles-journal    "'The journal tells the story of that poor soul over there,' says the gnome, pointing at the corpse. 'The style of language within the journal is inspired by the way that gargoyles speak in [apostrophe]Ultima VI: The False Prophet.[apostrophe] The author of this room thought it might add a little flavor, for better or worse.'"
biggles-celestial-tome    "The gnome taps the tome. 'An important part of the puzzle. The corpse points to the name of the star alignment that one sees when examining the ceiling of the steeple. If you ring the bells in the proper order, you can learn the name of the true sign of Peter Cragne.'"
biggles-hole    "The gnome flips through is notebook, coming up empty-handed. 'Yes, ah, well, it's a hole, what else can I say? You could try dropping something in it, I suppose, though nothing exciting will happen.'"
biggles-floor    "The gnome flips through his notebook, coming up empty-handed. 'Yes, ah, well, it's a floor. Not much else to say--oh, I know, have you tried jumping?'"
biggles-stairs    "'The rickety stairs is the only way out of this room to the rest of the game,' explains the gnome. 'I wonder what leads up to the steeple.' The gnome shrugs. 'As of when this is being written, I have no idea. Could be rickety stairs, could be a ladder, could be a jetpack. Such is the nature of Cragne Manor.'"
biggles-gnome    "The gnome places a hand to his heart. 'Me? Why, I'm the gnome of commentary, hired to give little tidbits of information about the implementation of this room. Sadly, I'm one of the more complex objects in here.' He nudges you. 'A little too much effort for an easter egg, in my humble opinion.'"
key9    "'I have no idea what door that opens,' admits the gnome. 'The door (or doors, for all I know) are implemented elsewhere in the game.'"
biggles-dragon    "'Yes, erm, the luck dragon,' mutters the gnome. 'Not sure how he made it into the game or why--complete waste of code if you ask me. But if you can figure out how to ride him, he might take you someplace.'"
biggles-bats    "'Not part of the original puzzle of this room,' says the gnome. 'They were kind of an afterthought, which is why warding them off is rather trivial.'"
 
Table of Biggles-Topic-Commentary
Topic    Biggles-Topic-Comment
"zork"    "'Yes, I have a cousin from Zurich who made an appearance in that game,' says the gnome."
"name"    "'I am the gnome of commentary.'"
"job"    "'I think I explained my job when I first got here,' says the gnome impatiently."
"xyzzy/plugh"    "'A magic word,' says the gnome. 'I wonder what star pattern they might allude to. . . and what that pattern means. . .' He winks."
"author"    "'He considers himself an interactive fiction enthusiastic,' says the gnome. 'Has been since the age of ten when he first played 'Zork.' He's only published one major work, 'The Life (and Deaths) of Doctor M,' and a couple shorts for the tribute album 'Apollo 18+20.'"
"beta testers"    "The gnome flips through his notebook. 'Ah, yes, the author would like to thank the following folks for their remarkable endurance and patience while testing this room: [biggles-thanks-some-beta-testers].'"
 
Chapter 3 - The Silly, Happy Ending
[
I'm really not certain where this idea came from or why. I will say, however, that neither drugs nor alcohol was involved. I was completely sober. I am shamed.
 
]
 
Section 1 - The Luck Dragon
 
The biggles-dragon is an animal. The printed name of the biggles-dragon is  "luck dragon". The indefinite article of the biggles-dragon is "Spike, the". The description of the biggles-dragon is "A creature nearly the size of the steeple. His head is that of a basset hound, his body that of a gigantic, furry snake with four paws and a happily wagging tail." Understand "luck dragon", "Spike", "dragon", "luck", "fur", "paws", "tail" as the biggles-dragon.
 
Rule for writing a paragraph about the biggles-dragon:
    say "Spike, the luck dragon, hovers gently outside the steeple, peering inquisitively at you through one of the arches.";
 
Section 2 - Interacting with the luck dragon
 
After asking the biggles-dragon about a topic listed in the Table of Biggles-Dragon-Dialogue:
    say Biggles-Dragon-Text entry;
    say line break;
 
Table of Biggles-Dragon-Dialogue
Topic    Biggles-Dragon-Text
"name"    "'I'm Spike!'"
"job"    "'I'm a luck dragon.'"
"Falkor"    "'A cousin of mine. I think he appeared in a movie once.'"
"ride"    "'Just get on me!'"
 
After quizzing the biggles-dragon about the biggles-dragon:
    say "'I'm a dragon who brings luck!' He winks. 'I'm also fun to ride.'";
 
After quizzing the biggles-dragon about something:
    say "'I'm sorry,' says the luck dragon, 'but I don't know anything about that. You're better off asking the gnome about it[if the location of the biggles-gnome is CHU3].[otherwise]. I wonder where he is?'";
 
After asking the biggles-dragon about a topic:
    say "The luck dragon says, 'Nope, don't know anything about that.'";
 
The can't show what you haven't got rule does nothing when showing something to biggles-dragon.
 
The carrying requirements rule does nothing when showing something to biggles-dragon.
 
Instead of showing something to the biggles-dragon:
    say "'That's very interesting,' says the luck dragon, 'but I don't know anything about that. You're better off showing it to the gnome[if the location of the biggles-gnome is CHU3].[otherwise]. I wonder where that fellow is?'";
 
Instead of telling or informing the biggles-dragon about something:
    say "The luck dragon cocks his head, as if interested in what you are saying.";
 
Instead of asking or requesting the biggles-dragon for something:
    say "The luck dragon apologizes and says: 'I can't help you with that.";
 
Instead of imploring the biggles-dragon for a topic:
    say "The luck dragon yawns, bearing a huge set of teeth. 'Sorry, but I can't help you with that.";
 
After saying hello to the biggles-dragon:
    say "'Hello!' says the luck dragon, excitedly, and wags his tail.";
 
After saying goodbye to the biggles-dragon:
    say "The luck dragon droops his head, sadly. 'If you insist.'";
 
Section 3 - Riding the luck dragon
 
Understand "ride [something]" or "mount [something]" as entering when the location is CHU3.
 
Instead of entering the biggles-dragon when the location of the biggles-gnome is CHU3:
    say "You try to mount the dragon, but can't quite do so by yourself.";
    say line break;
    say "'Here, let me help you,' says the gnome, and with his assistance, you're able to hop onto the back of the luck dragon.";
    say line break;
    say "'Here we go!' the dragon cries with a roar.";
    say line break;
    say "And he flies off, soaring away from the steeple, you on his back, gripping his fur madly, and laughing just as maniacally. The steeple recedes into the distance and you can just make out the diminishing shape of the gnome, who waves his farewell.";
    say line break;
    say "The wind rushes around you, the stars twinkle, and the clouds rush beneath the elegant form of the luck dragon. He banks and heads towards the moons which shine down upon you with an approving glow. You smile as you leave behind the madness that is Cragne Manor.";
    end the story saying "You leave the game, living happily ever after";
 
Instead of entering the biggles-dragon:
    say "You try to mount the dragon, but can't quite do so by yourself.";
    say line break;
    say "'Hrm,' murmurs the dragon, mostly to himself. 'I wonder where that gnome is. He might be able to help.'";
 
[
I keep the following blocks of code for posterity. One night, I couldn't fall asleep, so I started thinking about the game and what one could do with all those bells and ropes and, quite suddenly at 12:30am, inspiration hit me about how the player could procedurally create bell sequences in the game itself! I leapt out of bed, stumbled downstairs, and implemented a couple blocks of code that seemed intriguing and interesting and fun and that would never be used in the game.
 
I suppose that's how it goes. . .
 
¯\_(ツ)_/¯
 
Biggles-easter-egg-sequence is a list of numbers that varies.
 
To biggles-add-to-easter-egg-sequence (biggles-num1 - a number) with rope-num (biggles-num2 - a number):
    let biggles-origin be biggles-num1;
    while biggles-num1 > 0:
        if remainder after dividing biggles-num1 by 2 is 1:
            biggles-debug "-> Adding [biggles-num2] to [biggles-easter-egg-sequence].";
            add biggles-num2 to biggles-easter-egg-sequence;
        now biggles-num1 is biggles-num1 / 2;
 
To biggles-generate-easter-egg-sequence-with (num1 - a number) and (num2 - a number) and (num3 - a number) and (num4 - a number):
    change biggles-easter-egg-sequence to have 0 entries;
    biggles-add-to-easter-egg-sequence num1 with rope-num 1;
    biggles-add-to-easter-egg-sequence num2 with rope-num 2;
    biggles-add-to-easter-egg-sequence num3 with rope-num 3;
    biggles-add-to-easter-egg-sequence num4 with rope-num 4;
]
 
Part 7 - Testing
 
Chapter 1 - For Authors and Beta Testers
[ Gotta debug! ]
 
Biggles-debugging is a truth state that varies. Biggles-debugging is false.
 
When play begins:
    now biggles-debugging is false;
 
To biggles-debug (biggles-msg - some text):
    if biggles-debugging is true:
        say "[biggles-msg][line break]";
 
[Gotta test! ]
Biggles-beta-testing is a truth state that varies. Biggles-beta-testing is false.
 
[ Make certain this is set to false when turning in the actual code! ]
When play begins:
    now biggles-beta-testing is false;
 
[
The following code implements the ABOUT text. Thanks to Zarf for providing the foundational code.
]
Biggles-ever-about is a truth state that varies.
 
To say biggles-aboutline:
    if biggles-ever-about is false:
        say "[bold type](First-time [if biggles-beta-testing is true]beta testers[otherwise]players[end if] should type ABOUT!)[roman type][paragraph break]"
 
Biggles-abouting is an action out of world.
 
Understand "about", "help" as biggles-abouting when the location is CHU3.
 
Carry out biggles-abouting:
    now biggles-ever-about is true;
    if biggles-beta-testing is true:
        say "Welcome to CHU3, a room in Cragne Manor. Thank you for being a beta-tester and thanks in advance for uncovering all of my inconsistencies and mistakes!";
        say line break;
        say "Before your first turn, please type TRANSCRIPT to start a record of your play. If you have any comments or notes or observations or jokes, preface your commentary with a '*' at the command prompt. The comment will be 'noted.'";
        say line break;
        say "The goal of the room is to discover a clue which can be used to solve a puzzle later in the game. Of course, in order to solve the puzzle of this room, a clue must be found elsewhere in another room. Since that room doesn't exist, the clue is presented here as the portable 'cryptic CHU3 clue.'";
        say line break;
        say "Big hint: You can type TEST BIGGS-PUZZLE to run the actions with which you can complete the room.";
        say line break;
        say "I hope you enjoy the room! And please let me know how you would like to be credited.";
    otherwise:
        say "Welcome to the 'Steeple.' The author wishes to thank everyone who made Cragne Manor possible, especially Ryan and Jenni and those who first dared enter this room: [biggles-thanks-some-beta-testers].[paragraph break](No grues were harmed in the making of this room.)";
 
The biggles-clue is a thing. The printed name of the biggles-clue is "cryptic CHU3 clue". The description of the biggles-clue is "[biggles-recites-a-poem]". Understand "clue", "cryptic", "cryptic clue" as the biggles-clue.
 
When play begins:
    if biggles-beta-testing is true:
        now the biggles-clue is in CHU3;
 
Biggles-reveals-true-sign is a truth state that varies. Biggles-reveals-true-sign is false.
 
To say biggles-thanks-some-beta-testers:
    say "Greg Frost, Michael Lin, Hanon Ondricek, and Andrew Schultz";
 
Chapter 2 - Notes From Beta Testers - Not for release
 
[Allows beta testers to write notes in game.]
After reading a command when the location is CHU3 and biggles-beta-testing is true (this is the ignore biggles-beta-comments rule):
    if the player's command matches the regular expression "^\*":
        say "(Noted.)";
        reject the player's command.
 
Chapter 3 - Test Commands - Not for release
 
Test biggs-bats with "x bats / pull iron".
 
Test biggs-pendant with "take pendant/ wear pendant ".
 
Test biggs-key with "x key / take key / read key / d / drop key / take key / u / drop key / take key".
 
Test biggs-corpse with "x corpse / search corpse / touch corpse / smell corpse/ listen to corpse / kiss corpse / climb corpse/ get off corpse / enter corpse / talk to corpse / ask corpse about tome / show me to corpse / give me to corpse / corpse, pull the iron rope".
 
Test biggs-puzzle with "test biggs-pendant / pull copper / pull iron / pull silver / pull gold / x ceiling / read tome".
 
Test biggs-xyzzy with "test biggs-pendant /pull copper / pull silver /pull gold / pull gold / pull silver / x ceiling / read tome".
 
Test biggs-summon with "test biggs-pendant /pull gold / pull iron / pull silver / pull iron / pull copper".
 
Test biggs-ee with "test biggs-pendant /pull iron / pull iron / pull iron / pull iron / pull copper / pull silver / pull gold / pull gold / pull gold / pull gold".
 
Test biggs-happy with "test biggs-pendant / test biggs-ee / get on dragon / commentary / get on dragon".
 
Test biggs-gnome with "commentary / say hello to gnome / ask gnome about sky / ask gnome about name / ask gnome about nothing / show sky to gnome / show nothing to gnome / tell gnome about sky /tell gnome about me / ask gnome for key / ask gnome for notebook / take key / give key to gnome / say goodbye to gnome".
 
Test biggs-dragon with "test biggs-pendant / test biggs-ee / say hello to dragon / ask dragon about sky / ask dragon about name / ask dragon about nothing / show key to dragon / show nothing to dragon / tell dragon about sky /tell dragon about me / ask dragon for key / ask dragon for notebook / take key / give key to dragon / say goodbye to dragon".
 
Test biggs-commentary with "commentary / ask gnome about author / ask gnome about beta testers / ask gnome about job / ask gnome about zork / ask gnome about xyzzy / a church / a arches / a sky / a moons /a clouds / a stars / a rafters / a bells / a ropes / a corpse / a journal /a tome / a hole /a stairs / a gnome / a nasty-looking key / a dragon / a bats / x ropes / x starlight";
 
Part 8 - Notes and Stuff
 
[
 This section is just one big comment in which I stored notes to myself. Now it's intentionally left blank...
 
And that's all he wrote. Thanks for reading this!
 
With regards,
 
Michael D. Hilborn
August 5, 2018
 
^(;,;)^   ^(;,;)^    ^(;,;)^
]