Blue Lacuna — 380 of 467

Aaron A. Reed

Release 4

Section - Water Works

Water Works is a guaranteed instant triggered episode. ww_tracker is a number that varies.

Instead of going up in Volcano Slopes when current episode is Earthquake or current episode is Water Works: say "The quake has turned the slopes of the volcano into a shifting morass of sliding soil; climbing it right now would be suicide.". [Force the revelation of the tsunami to be at Center Beach.]

The no doors in earthquake rule is listed before the can't go through closed doors rule in the check going rules. Check going when current episode is Earthquake or current episode is Water Works (this is the no doors in earthquake rule): if door-trying and lava tunnel door is closed, say "The solid surface of the door brings you up short in the blackness. It must have swung shut in the earthquake." instead. To decide whether door-trying: if ( noun is east and location is Back Room ) or ( noun is west and location is Jumble ) , decide yes; decide no.

Instead of opening lava tunnel door when current episode is Water Works and location is Back Room: say "It's too dark to make out the buttons." Instead of opening lava tunnel door when current episode is Earthquake and location is Back Room: say "You're being shaken around too much to accurately press the buttons.".

Every turn when current episode is Water Works (this is the report on tsunami rule):

if tsun_tracker >= 0, increase tsun_tracker by 1;

if Drama Manager is being debugged, say "//Drama Manager: Tsunami: tsun_tracker: [tsun_tracker]; water_count: [water_count] / elevation of location: [elevation of location] / location: [if location is flooded]flooded[otherwise]dry[end if] / flooded rooms: [list of flooded rooms].";

if tsun_tracker < 40 and location is Center Beach or location is North Beach:

unless tsun_tracker is -1, say "Your blood runs cold at the sight before you. The whole [o]lagoon[x] has emptied, leaving a silty expanse of wet, glistening sand... but beyond it is a black wall of ocean water, moving towards you inexorably.";

now tsun_tracker is 101;

otherwise if location is Rise and tsun_tracker > 0:

now tsun_tracker is -1;

move distant-Progue to location;

say "The marsh is drained into a muddy quagmire, but the sea is rapidly coming back. Near the cliff far on the other side, you think you can make out a [o]form[x] slumped against the ground.";

otherwise if tsun_tracker is -1:

say actualtsunamireport;

otherwise if tsun_tracker < 10:

fire one off by frequency from the Table of Post-Quake Noises;

otherwise if tsun_tracker < 40:

fire one off by frequency from the Table of Tide Retreating;

otherwise:

fire one off by frequency from the Table of Tide Approaching.

Instead of examining distant-Progue when current episode is Water Works, say "He's sprawled on the ground at the base of the cliff, not moving.".

Instead of listening when current episode is Water Works and tsun_tracker < 10: fire one off by frequency from the Table of Post-Quake Noises. Instead of listening when current episode is Water Works and tsun_tracker >= 10 and tsun_tracker < 40: fire one off by frequency from the Table of Tide Retreating. Instead of listening when current episode is Water Works and tsun_tracker >= 40: fire one off by frequency from the Table of Tide Approaching.

water_count is an elevation that varies. water_count is 0 feet. tsun_tracker is a number that varies.

A room is either flooded or dry. A room is usually dry.

To check for adjacent flooded rooms from (space - a room):

if space is adjacent to location and location is dry [if it's wet, we have enough to worry about] begin; say "The rising, surging sea floods [prose name of space].";

otherwise if space is adjacent to a room adjacent to location and location is dry; say "In the distance, you see the rising sea flood [prose name of space]."; end if.

A condition for Water Works:

if Earthquake is completed, rule succeeds.

First finishing rule for Water Works:

ignore the episodes usually end when conversation does rule.

Check examining lagoon when current episode is Water Works: try examining the surf instead. Instead of examining the surf when current episode is Water Works:

if tsun_tracker < 10:

say "The waves crash together dizzyingly, still turbulent from the quake.";

otherwise if tsun_tracker < 40:

say "The tide is rapidly retreating, already well past the low tide mark.";

otherwise if tsun_tracker > 100:

say "The distant tide is rapidly surging towards land with a sound like a thousand freight trains.".

Instead of going to Lower Beach when current episode is Water Works, say "[no-ww-water]". Instead of going to Ocean Waters when current episode is Water Works, say "[no-ww-water]". To say no-ww-water: say "That would be an extraordinarily bad idea.". Instead of going to Lower Beach when current episode is Earthquake, say "[no-eq-water]". Instead of going to Ocean Waters when current episode is Earthquake, say "[no-eq-water]". To say no-eq-water: say "The water sloshes drunkenly around, strange interference patterns causing crashes of surf stretching far above your head; you would be smashed and drowned.".

First Instead of landmark-going when current episode is Water Works: say "It would be better to move more carefully for the moment.".

Instead of going down in Edge of Ravine when current episode is Water Works and tidein, say "The [o]tide[x] seems to be doing strange things down there. Better to stay up here.". Instead of going down in Edge of Ravine when current episode is Water Works and tideout, say "The [o]tide[x] seems to be doing strange things down there. Better to stay up here.". Instead of going down in Top of Cave when current episode is Water Works, say "The tide is behaving strangely; ".

Instead of sleeping when current episode is Water Works: say "Something odd in the air prevents you from doing so." Instead of touching a windsigh tree when current episode is Water Works: say "The electric buzz is gone, as if the quake has momentarily stunned the trees.".

To say actualtsunamireport:

increase water_count by 1 feet;

repeat with space running through rooms regionally in Lacuna begin;

if elevation of space <= 0 feet begin;

now space is flooded;

check for adjacent flooded rooms from space;

if space is location, say "Water surges up to your ankles with relentless force.";

if space is North Marsh and location is North Marsh and Progue Rescue is happening and the animus of Progue is resting, say "The cold seawater swirls around Progue and he awakens with a start. [pr_up]";

end if;

end repeat;

repeat with space running through dry rooms regionally in Lacuna begin;

if water_count >= elevation of space begin;

now space is flooded;

if space is adjacent to location begin; say "The rising, surging sea floods [prose name of space].";

otherwise if ( location is Lawn or location is Observatory Exterior or location is Ledge or location is Rim of Volcano or location is Saddle or location is Atop or location is Rise ) and space is outdoorsy and space is visited; say "Below you, you see the rising tide flood [prose name of space].";

otherwise if space is adjacent to a room adjacent to location and space is not location; say "In the distance, you see the rising sea flood [prose name of space]."; end if;

end if;

end repeat;

let floodnum be water_count - elevation of location;

if floodnum >= 8 feet or ( floodnum >= 6 feet and Progue is uncarried ) begin;

say "[submergedmsg].";

now we-were-submerged is true;

complete Water Works;

otherwise if floodnum >= 6 feet; say "The rising water is almost to your head.";

otherwise if floodnum >= 5 feet; say "The water surges above your waist, rising up your torso.";

otherwise if floodnum >= 4 feet; say "The water keeps surging higher, reaching almost to your waist.";

otherwise if floodnum >= 3 feet; say "The water rushes past your thighs, still rising.";

otherwise if floodnum >= 2 feet; say "The water level rises, reaching past your knees.";

otherwise if floodnum >= 1 feet; say "Water sloshes up your calves towards your knees, moving with relentless force.";

otherwise if floodnum >= 0 feet; say "The water surges forward, flooding your feet.";

otherwise if floodnum >= -2 feet; say "A trickle of water surges past you, wetting your feet; a rising flood of water on its heels.";

otherwise if floodnum >= -4 feet; let targ be closest floodwater; say "A churning current of seawater approaches from [prose name of targ], rising towards you inexorably.";

otherwise;

do nothing;

end if.

To say submergedmsg: say "The water [if Progue is visible]rips you apart from Progue, [end if]lifts you off your feet and carries you along with it. You are surged forward through the blackness on the terrible wave, losing all sense of direction and orientation, fighting with every ounce of energy to keep your head above the surface. Finally you smash into something hard and unyielding; crying out in pain, your grasp it and claw your way higher, out of the water, until you collapse in exhaustion and know no more".

To decide which room is closest floodwater:

let hr be UnRoom;

let sl be 0 feet;

repeat with rm running through nearby flooded rooms begin;

if elevation of rm > sl begin;

let sl be ( elevation of rm ) ;

now hr is rm;

end if;

end repeat;

decide on hr. The prose name of UnRoom is "nearby".

Definition: a room is nearby if it is adjacent to location.

First instead of climbing or entering spire when current episode is Water Works: say "You eye the spire desperately, but it's not that high; at the rate the water's coming in, you'd better find higher ground than that.".

First Report going from a dry room to a flooded room: say "Against your better judgement, you step into the path of the flood."; try looking instead. First report going from a flooded room to a dry room: say "Mercifully, you climb up out of the water towards higher ground."; try looking instead. First Report going from a flooded room (called src) to a flooded room (called dst): say "You slog through the rising water as fast as you are able, [if elevation of src < elevation of dst]gaining some elevation, but not enough[otherwise if elevation of src > elevation of dst]losing elevation as the water rages higher[otherwise]staying relatively level[end if][if Progue is carried], carrying Progue[end if]."; try looking instead.[aar] First Report going when current episode is Water Works: say "[if tsun_tracker > 100]You hurry forward[else]You move cautiously forward in the uneasy darkness[end if]."; try looking instead.[aar]

Instead of going to a submerged room (called dst): say "Water has completely filled [prose name of dst]; you would be drowned.". Definition: a room is submerged if water_count - elevation of location > 6 feet.

Instead of sleeping when current episode is Water Works, say "Your heart is still racing; you are far too keyed up to sleep."

Table of Post-Quake Noises

freqtexttabletriggerflag
frequent"[one of]An eerie silence hangs over the island[or]The silence seems almost dangerous, like a vacuum waiting for some dreadful event to fill it[or]The night is still as a tomb[or]You can hear your own breathing in the unnaturally still night air[or]A tree falls somewhere, the sound splitting the total silence like a gunshot[in random order]."

Table of Tide Retreating

freqstart timeend timetexttabletriggerflag
guaranteed----"[one of]Sounds of[or]The sound of[or]A noise like[in random order] [one of]retreating water[or]disturbed waves[or]huge surf[in random order] and [one of]an odd sucking noise[or]a deep, subterranean gurgling[at random] [one of]tremor through the ground[or]reverberate around you[or]echo through the night[or]fill the air[in random order]."

Table of Tide Pause

freqtexttabletriggerflag
guaranteed"[one of]The sea has retreated so far you can barely hear it[or]The distant ocean has gone completely silent[or]It's like the whole island is holding its breath[in random order]."

Table of Tide Approaching

freqstart timeend timetexttabletriggerflag
guaranteed----"[one of]An ominous rush of water steadily grows in volume from all sides[or][tsunami-drama][stopping]."

To say tsunami-drama: say "[one of]The wall of water surges inexorably forward[or]The growl of the approaching tsunami is deafening[or]The black tide rushes closer and closer[or]Trees split and earth rends as the unstoppable sea advances[or]The wall of water is almost upon you[or]Hot spray blows in your face as the roaring tide nips at your heels[or]The tsunami is seconds away[cycling]".