gwelks: Nigel Jayne's Interactive Fiction Site

Source Text for Gaia's Web

Book - Activities, Actions, and Rules

Chapter - Activities

The display banner rule is not listed in any rulebook.

Rule for printing the banner text:

say "[if location is not Office and Questing is happening][b]A New Olympia[/b] [pb]An interactive mythology by Ona Zee. Version 1. Copyright [unicode 169] [story copyright string] by Ona Zee. [lb]Serial number 160104 / Inform 7 build 6L38 (I6/v6.33 lib 6/12N) SD[otherwise][b][story title][/b] [pb][story headline] by The FromChaos Team, headed by Nigel Jayne. Version [release number]. Copyright [unicode 169] [story copyright string] by [story author]. [lb]All rights reserved. Serial number [story serial number] / Inform 7 build [I7 version number][end if].".

Rule for constructing the status line:

do nothing.

[We need the "rule succeeds" designation, otherwise the rules continue.]

Rule for constructing the status line during Questing:

fill status bar with Table of Fancy Status;

rule succeeds.

Rule for constructing the status line when engaged in Task One and the sidebar is g-unpresent:

deepen the status line to 2 rows;

center "[b]Resources[/b] " at row 1;

center "[list of on-screen resourceful things]" at row 2;

rule succeeds.

Table of Fancy Status

LeftCentralRight
"[b]Chapter 12: The Silence of the Thunder[/b]""""Quests: 11/12 Score: 450/500"

Before listing nondescript items of a room:

now every marked for listing thing is not marked for listing.

First after reading a command:

let transformed be the accessible text of the player's command;

replace the regular expression "(?i)s\.hip" in transformed with "ship";

replace the regular expression "(?i)re.constructing" in transformed with "reconstructing";

change the text of the player's command to transformed;

remove stray punctuation.

After reading a command when the player's command includes "showme" and Conspiring:

let converted command be the accessible text of the player's command;

replace the regular expression "showme" in converted command with "show-me";

change the text of the player's command to "[converted command]".

After reading a command when the player's command matches "relations" and Conspiring:

let converted command be the accessible text of the player's command;

now converted command is "web";

change the text of the player's command to "[converted command]".

After reading a command when the conversationalist is not the player and engaged in Task One:

let max choices be the number of entries in dialogue choices;

if the player's command matches "[a number]" begin;

if the number understood is less than 1 or the number understood is greater than max choices begin;

say "You have [max choices] options.";

reject the player's command;

otherwise;

continue the activity;

end if;

otherwise;

unless the player's command matches "answer/say [a number]" begin;

say "Please choose a number from 1 to [max choices], one of the choices listed above.";

reject the player's command;

end unless;

end if.

After reading a command when Ending quest finally is true during Questing:

unless the player's command matches "break/restart/restore/quit" or the player's command matches "take a/-- break" begin;

say "[quest final message] [lb]";

otherwise;

if the player's command matches "restore", say "Restore failed.";

if the player's command matches "restart", say "Restarting failed.";

unless the player's command matches "break/quit" or the player's command matches "take a/-- break", say "[lb][i]I'll need to mention that, too, [/i] you think.";

say "[lb]You close the interpreter.";

now Ending quest finally is false;

change the text of the player's command to "take a break";

end unless.

After reading a command when the command prompt is "Username? ":

let input be the accessible text of the player's command;

if the number of characters in input is less than four or the number of characters in input is greater than 15 begin;

say "Usernames must be between 4 and 16 characters long (type UNDO to cancel).";

otherwise;

now username of yourself is input;

say "[username of yourself] confirmed. Use UNDO if you want to cancel login.";

now the command prompt is "Password? ";

end if;

reject the player's command.

After reading a command when the command prompt is "Password? ":

let input be the accessible text of the player's command;

if the number of characters in input is less than eight or the number of characters in input is greater than 20 begin;

say "Passwords must be between 8 and 20 characters long.";

reject the player's command;

otherwise;

now password of yourself is input;

say "Thank you.";

enable saving of undo state;

now HarborMaster is full-screen;

now the command prompt is ">";

end if;

say lb;

change the text of the player's command to "look".

Include (-Replace PrintInferredCommand;[ PrintInferredCommand; ];-) before "Parser.i6t". [This removes parenthetical confirmations when the parser fills in a second noun or chooses an object (in this case, the parser does this before the "supplying a missing noun/second noun" activity and "Does the player mean."]

After printing a parser error when the latest parser error is the not a verb I recognise error or the latest parser error is the only understood as far as error during Questing:

say ">";

teletype "* [Comment corresponding to an Error of the latest parser error in the Table of Questing Errors].";

say "Noted. [pb]***[pb]Sighing, you decide that's enough testing for now. you close the interpreter.";

try continuing to office.

Table of Questing Errors

ErrorComment
the only understood as far as error"Expand the grammar for this action."
the not a verb I recognise error"Implement this verb."

Rule for printing a parser error when the latest parser error is the can't see any such thing error and the player has not been the bunny:

if Questing is happening, continue the activity;

say "Maybe you've been playing games a little too long; you're getting a bit confused about what you actually see.".

Rule for printing a parser error when the latest parser error is the can't talk to inanimate things error and engaged in Task One:

say "Just TALK TO someone to find out what he or she can do.".

Rule for printing a parser error when the latest parser error is the I beg your pardon error:

say "You zone out for a second and do nothing.".

Chapter - New Activities

Offering an action something is an activity on actionable dialogues.

Before offering an action of an actionable dialogue:

say "'".

After offering an action of an actionable dialogue:

say ".'".

Suggesting options something is an activity on people.

Chapter - Rulebooks

The conversation rules is an object-based rulebook. The conversation rules have default success.

The operation rules is an object-based rulebook.

[How resources transition their preparedness:

A resource is standby at the beginning of the game and whenever something significant occurs and available actions change (reset in the "transition the human resources" phrase.

Human resources enact an actionable dialogue until they become standby; this way we can record whether they have been de-activated from a specific actionable dialogue.

Human resources accomplish actionable dialogues, whether or not they were successful.

All resourceful things can be on-site, which determines if animalistic or mechanical resources are successful.]

First operation rule for something (called agent):

if the agent is a human resource and the agent enacts an actionable dialogue, now the mission of the agent is accomplished;

say "From ";

if agent is Alicia, say "Alicia's bodycam";

if agent is Jason, say "Jason's cell phone";

if agent is Samuel, say "Roberta's cell phone";

if agent is Travis, say "Travis['] body cam";

if agent is Chucky begin;

unless DONCAN-132 is actively on-site and Roger is carbound, say "Chucky's microphone";

end if;

if agent is DONCAN-132, say "DONCAN-132";

say ": [rpo]".

Completed a previous operation is initially false. [We need this because an extra line break isn't printed between rules when more than one resource acts and the rule doesn't fail.]

First operation rule when completed a previous operation is true:

say lb.

Last operation rule when completed a previous operation is false:

now completed a previous operation is true.

The orphic rules is a rulebook. The orphic rules have default success.

Chapter - Out-of-World Actions

Understand "load" and "load game" as restoring the game.

Understand "re-load", "reload", "re-open", and "reopen" as restarting the game.

Before undoing an action when the player's command matches "reset":

unless engaged in Task Two begin;

if engaged in Task One, say "No game session is available.";

if engaged in Task Three, say "You cannot reset a game session when players are acting within it.";

say "I didn't understand that command.";

rule fails;

end unless.

To decide which number is undo word #2:

(- 'revert' -)

To decide which number is undo word #3:

(- 'reset' -)

Report undoing an action during Task Two:

say "Resetting ... done. [pb]";

move player to Boar Bar;

rule succeeds.

Understand "examine", "read", and "x" as "[peruse]".

Displaying cover is an action out of world. Understand "display the/-- cover art/image/page/--", "show the/-- cover art/image/page/--", and "cover art/image/page" as displaying cover.

Check displaying cover:

unless glulx graphics is supported, say "This interpreter doesn't support graphics (Some interpreters that support both graphics and sound include Gargoyle and Windows Glulxe).".

Carry out displaying cover when glulx graphics is supported:

set the justification for special-style-1 to center-justified;

say "[special-style-1]";

say " ";

display figure of gamecover inline;

say " [lb]";

say "[roman type]".

To set the justification for (style - a glulx text style) to (N - a text justification):

(- GTE_SetStylehint( wintype_TextBuffer, {style}, stylehint_Justification, {N} - 1 ); -).

To display (chosen figure - a figure-name) inline:

(- DrawInline({chosen figure}); -)

Include (-

[ DrawInline N;

glk_image_draw(gg_mainwin, ResourceIDsOfFigures-->N, imagealign_InlineUp, 0);

];

-)

Report displaying cover:

say "A ghostly white spider's web glows in the dark of night. The title, Gaia's Web, is printed along the top.".

Understand "guidance", "guide", "guidebook", "help", "info", "information", "instructions", and "manual" as "[helpers]". ["About" won't work when included in this list.]

Helping is an action out of world. Understand "about", "[helpers]" and "[peruse] [helpers]" as helping.

Carry out helping:

carry out the displaying activity;

clear the screen;

try looking.

Hinting is an action out of world. Understand "hint", "hints", and "[peruse] hint/hints" as hinting.

Check hinting during Questing:

say "[b]Note from Ona Zee to FC:[/b] I don't like tempting players with hints. Should I add them anyway?" instead.

Report hinting when Task One is happening:

say description corresponding to a title of "Connecting with Eve" in the Table of Help Options;

rule succeeds.

Report hinting when Task Two is happening:

say description corresponding to a title of "Recognizing the Raven" in the Table of Help Options;

rule succeeds.

Report hinting when Task Three is happening:

say description corresponding to a title of "Eavesdropping the Meeting" in the Table of Help Options;

rule succeeds.

Report hinting when player is the bunny:

say description corresponding to a title of "Finding Eggs" in the Table of Help Options;

rule succeeds.

Report hinting when location is the FC Server:

say description corresponding to a title of "The server" in the Table of Help Options;

rule succeeds.

Report hinting:

try helping.

Showing credits is an action out of world. Understand "acknowledgement", "acknowledgements", "author", "authors", "about the/-- author/writer", "credits", "credit", "writer", "writers", and "[peruse] the/-- acknowledgements/acknowledgement/credits/credit" as showing credits.

Check showing credits during Questing:

say "[b]A New Olympia[/b] was written by Ona Zee using Inform 7 ([fixed letter spacing]http://inform7.com/[variable letter spacing]), created by Graham Nelson with help from Emily Short and many others. Additional code in the form of extensions was provided by Wade Clarke, Eric Eve, Brady Garvin, Jon Ingold, Aaron Reed, and Emily Short. Thank you, dear beta testers, for testing, and to FromChaos for commissioning my work." instead.

Report showing credits:

say description corresponding to a title of "Acknowledgements" in the Table of Help Contents.

Showing solutions is an action out of world. Understand "solution", "solutions", "walkthrough", "walkthroughs", "walkthru", "[peruse] solution/solutions/walkthrough/walkthroughs/walkthru" as showing solutions.

Check showing solutions during Questing:

say "You'll need to tough this one out, adventurer. Remember that patience is a virtue." instead.

Carry out showing solutions:

try helping.

Check requesting the score during Questing:

say "You have so far scored 450 out of a possible 500 points, earning you the rank of hero." instead.

Check switching the story transcript off during Questing:

say "You decide that you've had enough for now, and you close the interpreter.";

try continuing to office instead.

Check switching the story transcript on when engaged in Task Two or engaged in Task Three:

try looking instead.

Check switching the story transcript off when engaged in Task Two or engaged in Task Three:

try minimizing HarborMaster instead.

Section - HarborMaster Debugging Commands

Biographing for is an action out of world, applying to one visible thing. Understand "bio for/on/-- [any person]" as biographing for when a debugging scene is happening.

Understand the commands "biography", "info", and "information" as "bio".

First check biographing for a disconnected conspirator:

say "*** Warning: [username of yourself] does not recognize PC [the noun]. *** [lb]" instead.

Check biographing for the player when engaged in Task One or engaged in Task Three or (engaged in Task Two and player is yourself):

try examining the noun instead.

Check biographing for a resourceful thing:

try examining the noun instead.

Check biographing for someone:

if (the noun is a co-conspirator or the noun is a second co-conspirator) and the noun disguises a disconnected conspirator, say "There seems to be no such [if the noun is a person]person[otherwise]object[end if] anywhere in the location." instead;

unless the noun is a conspirator , say "FromChaos has no biographical data for [the noun]; [the noun] is not a player registered with us." instead.

Carry out biographing for someone:

if the noun is the swan begin;

say "[description of Eve Martin]";

otherwise;

say "[description of co-conspirator of noun]";

end if;

say lb.

Playing as swan is initially false.

Despiriting is an action out of world, applying to nothing. Understand "depossess" as despiriting when a debugging scene is happening.

Check depossessing when engaged in Task One:

say "[We] [are] not connected to a game session." instead.

Check despiriting:

if the player is the swan, try depossessing the swan instead;

say "You are not playing as a PC." instead.

[We can't combine this action with the one above and use the "supplying a missing noun" activity.]

Depossessing is an action out of world, applying to one thing. Understand "deposses [something]" as depossessing when a debugging scene is happening.

Check depossessing something when engaged in Task One:

say "[We] [are] not connected to a game session." instead.

Check depossessing something which is not a person:

say "[We] can only control PCs and NPCs." instead.

Check depossessing someone who is not the player:

say "[We] [are] not controlling [the noun]." instead.

Check depossessing when the player is yourself:

say "[We] [need] to be controlling someone first." instead.

Carry out depossessing something:

if playing as swan is true, now Playing as swan is false;

now the player is yourself;

say "You relinquish control of [the noun].".

Headpopping is an action out of world, applying to nothing. Understand "headpop" and "head pop" as headpopping when a debugging scene is happening.

Check headpopping when engaged in Task One:

say "No game session is available." instead.

Check headpopping when engaged in Task Three:

try headpopping into the raven instead.

Check headpopping when engaged in Task Two:

if the player is yourself, try headpopping into the swan instead;

try headpopping into the player instead.

Headpopping into is an action out of world, applying to one visible thing. Understand "headpop to/in/into/on/onto/-- [any thing]" and "head pop in/into/to/on/onto/-- [any thing]" as headpopping into when a debugging scene is happening.

Check headpopping into something when engaged in Task One:

say "No game session is available." instead.

Check headpopping into an NPC person during Task Two:

now noun is blocked from player;

say "*** [username of yourself] is not authorized to control [the noun]. *** [lb]" instead.

Check headpopping into something which is not a person:

say "[We] can only headpop into person things." instead.

Check headpopping into the player:

say "[We] [are] already [noun]." instead.

Check headpopping into someone:

if the noun is the swan and engaged in Task Three, say "[The noun] [are] not available." instead;

if the noun is not the swan begin;

if the noun is a conspirator, say "[if noun is disconnected][The noun] is under control by another player, but it is not being recognized as anyone in our database[otherwise][Co-conspirator of noun] controls [the noun], and you cannot interfere[end if]." instead;

say "[The noun] [are] not available." instead;

end if.

Carry out headpopping into something:

if the noun is the swan, now Playing as swan is true;

say "[We] [take] control of [the noun], the only available PC.";

now the player is the noun.

Recognizing-by-text it as is an action out of world, applying to one visible thing and one topic. Understand "recognize [any thing] as [text]" as recognizing-by-text it as when a debugging scene is happening.

Understand "recognize [text] as [any thing]" as recognizing-by-text it as (with nouns reversed) when a debugging scene is happening.

Understand "recognize [text]" as a mistake ("[We] [need] to recognize something as something unrecognized.") when a debugging scene is happening.

Check recognizing-by-text something as text when engaged in Task One:

say "No game session is available." instead.

Check recognizing-by-text something as text:

say "There does not seem to be a [topic understood] PC anywhere in the world model." instead.

Recognizing it as is an action out of world, applying to two visible things. Understand "recognize [any thing] as [any thing]" as recognizing it as when a debugging scene is happening.

Understand "recognize [a co-conspirator] as [a conspirator]" and "[any thing] as [a conspirator]" as recognizing it as (with nouns reversed) when a debugging scene is happening.

Understand the command "recognise" as "recognize".

Understand "recognize [any thing]" as a mistake ("[We] [need] to recognize something as something unrecognized.") when a debugging scene is happening.

First check recognizing something as something when engaged in Task One:

say "No game session is available." instead.

Check recognizing something as something when the noun is the second noun:

say "They are already the same." instead.

Check recognizing something which is not a person as something which is not a person:

say "They are already recognized to particular things." instead.

Check recognizing something as something:

if something which is not a person is involved, say "[if a human resource (called interloper) is involved]I cannot find anyone called [Interloper][otherwise]People things are never recognized as non-people things[end if]." instead;

if a npc person is involved, say "[The list of involved npc persons] [are] [if exactly one npc person is involved]an [end if]NPC[if exactly one npc person is involved]s[end if], and therefore do[if exactly 1 npc person is involved]es[end if] not have [if exactly one npc person is involved]a player[otherwise]players[end if]." instead;

unless (the noun is a conspirator or the second noun is a conspirator) and (the second noun is a conspirator or the second noun is a co-conspirator), say "[The noun] and [the second noun] are who they are." instead;

Last check recognizing someone as someone:

unless noun disguises second noun or second noun disguises the noun begin;

if one involved thing is a disconnected conspirator begin;

let disjointed be noun;

if second noun is a disconnected conspirator and disjointed is not a disconnected conspirator, now disjointed is second noun;

if one involved thing is a disconnected conspirator, say "[The disjointed] does not match [if noun is disjointed][the second noun][otherwise][the noun][end if] in our database. Use the testing commands and within-game things to figure out to which person [the disjointed] matches. ";

end if;

let candidate be the noun;

let second candidate be the second noun;

if (noun is a co-conspirator or noun is a second co-conspirator) and alter ego of noun is connected, now candidate is alter ego of noun;

if (second noun is a co-conspirator or second noun is a second co-conspirator) and the alter ego of the second noun is connected,now second candidate is alter ego of second noun;

if noun is not candidate or second noun is not second candidate, say "Our database recognizes [if noun is not candidate][the candidate][otherwise][the second candidate][end if] as [if noun is not a conspirator][aliases of candidate][otherwise][aliases of second candidate][end if][if candidate is not noun and second noun is not second candidate], and [the second candidate] is recognized as [aliases of second candidate][end if]. ";

if (noun is a co-conspirator or noun is a second co-conspirator) and alter ego of noun is disconnected, now candidate is alter ego of noun;

if (second noun is a co-conspirator or second noun is a second co-conspirator) and the alter ego of the second noun is disconnected,now second candidate is alter ego of second noun;

if noun is not candidate and second noun is not second candidate begin;

say "Our database does not recognize [the noun] or [the second noun] as PCs in the world. ";

otherwise;

if noun is not candidate or second noun is not second candidate, say "Our database does not recognize [if noun is not candidate][the noun][otherwise][the second noun][end if] as any PC in the world[if candidate is not noun and second noun is not second candidate], and [the second noun] is recognized as [aliases of second candidate][end if]. ";

end if;

say lb;

rule fails;

Carry out recognizing something as something:

if the noun provides the property connected, now the noun is connected;

if the second noun provides the property connected, now the second noun is connected.

Report recognizing something as something:

say "[The noun] has been successfully reconnected with ";

if the second noun is a co-conspirator begin;

if second noun is Chin, say "[set link 19]Chin Lee[end link]";

if second noun is Olga, say "[set link 20]Olga Burlenko[end link]";

if second noun is Yaphet, say "[set link 21]Yaphet Kalotto[end link]";

if second noun is Tuttle, say "[set link 22]Richard Tuttle[end link]";

if second noun is Fiona, say "[set link 23]Fiona Campbell[end link]";

otherwise;

say "[the second noun]";

end if;

say ". They will be recognized as one another in the game.";

if the raven is involved begin;

say "[lb]*** Finding location of the raven ... done. [if the player is the swan]The swan is now inactive. [Username of yourself] removed from game world.[end if] Resetting Calydonian

Boar ... done. [HarborMaster] sidebar updated testing commands[if sidebar is g-unpresent and the sidebar is allowing toggling]; use SIDEBAR ON to show the sidebar[end if]. *** [lb]";

now the player is yourself;

enable saving of undo state;

now raven wears the raven's mask;

move the raven to the chamber;

move the player to the Chamber;

now Eve's-phone is off-stage;

otherwise;

if location is the Chamber, follow the every turn rules;

end if.

Showing relations is an action out of world. Understand "web" as showing relations when a debugging scene is happening.

Check showing relations:

if engaged in Task One, say "No game session is available." instead.

Check showing relations:

say "[b]Relations (of objects in [location]).[/b] [lb]".

Synching it with is an action out of world, applying to two things. Understand "sync [something] to/with [something]" and "sync [something]" as synching it with when conspiring.

Understand the commands "connect", "hookup" and "hook-up" as "sync".

Rule for supplying a missing second noun while synching something with:

now the second noun is HarborMaster.

Check synching something with something:

if the noun is the gaming session, now the noun is Eve's-phone;

if the second noun is the gaming session, now the second noun is Eve's-phone;

if office-computer is involved begin;

if noun is office-computer, now noun is HarborMaster;

if second noun is office-computer, now second noun is HarborMaster;

end if;

unless Eve's-phone is involved or HarborMaster is involved, say "You can only sync game devices with [i]HarborMaster.[/i]" instead.

Check synching something with something:

if the noun is the second noun, say "They're already synched." instead;

if engaged in Task Two, say "They're already synched." instead;

if engaged in Task Three, say "You are not connected with Eve Martin." instead.

Carry out synching something with something:

say "You'll need to use your resources to sync them.".

Synching is an action out of world, applying to nothing. Understand "sync" as synching.

Check synching when engaged in Task One:

try synching Eve's-phone with HarborMaster instead.

Check synching:

say "Game device is already synched with [i]HarborMaster.[/i]" instead.

Working is an action out of world, applying to nothing. Understand "debug" and "work" as working.

Check working when yourself has not been alerted to problems:

say "[We] could really use a break." instead.

Check working when player has been bunny:

say "You're working it out now." instead.

Report working:

say "You [if HarborMaster is no-screen]click open [otherwise if HarborMaster is low-screen]maximize[otherwise]sigh and stare at[end if] [i]HarborMaster.[/i] [lb]";

if an icon (called minimizer) is full-screen and minimizer is not HarborMaster, now minimizer is low-screen;

now HarborMaster is full-screen;

try looking.

Section - Alterations to the Command Sidebar extension

Understand "command", "resource", "resource manager", and "resources" as "[resource]".

To say list type:

say "[if engaged in Task One]RESOURCES[otherwise]COMMANDS[end if]".

To say window type:

if engaged in Task One, say "resources";

otherwise say "testing commands".

Understand "display [resource]", "display testing commands", "display [resource] list/sidebar", "display testing commands list/sidebar", "open [resource]", "open testing commands", "open [resource] list/sidebar", "open testing commands list/sidebar", "[resource] on", "testing commands on", "[resource] list/sidebar on", "testing commands list/sidebar on", "show [resource]", "show testing commands", "show [resource] list/sidebar", "show testing commands list/sidebar", "[resource] list/sidebar", "testing commands list/sidebar", "switch on/-- [resource]", "switch on testing commands", "switch on/-- [resource] list/sidebar", "switch on testing commands list/sidebar", "turn on/-- [resource]", "turn on testing commands", "turn on/-- [resource] list/sidebar" and "turn on testing commands list/sidebar" as turning on the commands sidebar when the sidebar is allowing toggling and the sidebar is g-unpresent and Conspiring.

Understand "[resource] list/sidebar", and "testing commands list/sidebar" as turning on the commands sidebar when the sidebar is allowing toggling and the sidebar is g-unpresent and Conspiring.

Understand "hide [resource]", "hide testing commands", "hide [resource] list/sidebar", "hide testing commands list/sidebar", "close [resource]", "close testing commands", "close [resource] list/sidebar", "close testing commands list/sidebar", "[resource] off", "testing commands off", "[resource] list/sidebar off", "testing commands list/sidebar off", "switch

off/-- [resource]", "switch off testing commands", "switch off/-- [resource] list/sidebar", "switch off testing commands list/sidebar", "turn off/-- [resource]", "turn off testing commands", and "turn off/-- [resource] list/sidebar" as turning off the commands sidebar when the sidebar is allowing toggling and the sidebar is g-present and Conspiring.

Understand "[resource] list/sidebar" and "testing commands list/sidebar" as turning off the commands sidebar when the sidebar is allowing toggling and the sidebar is g-present and Conspiring.

Understand "commands", "resources", and "testing commands" as listing the sidebar commands when the sidebar is allowing toggling.

Understand "[resource] [text]" and "[resource] window [text]" as a mistake ("Use SIDEBAR ON or OFF to show or hide the [window type] sidebar. To list the [window type] in the game screen, type [list type].") when the sidebar is allowing toggling.

The introduce the sidebar commands as a list rule response (A) is "Type [list type] to see the list of available [window type].".

The turn on the commands sidebar rule response (A) is "The [window type] sidebar will now be shown[if the sidebar is allowing toggling]. To hide it, type SIDEBAR OFF[end if].".

The turn on the commands sidebar rule response (B) is " The [window type] window should already be displayed[if the sidebar is allowing toggling]. To hide it, type SIDEBAR OFF[end if]. To list the available [window type] in the game screen, type SIDEBAR on.".

The turn off the commands sidebar rule response (A) is "The [window type] sidebar is now hidden[if the sidebar is allowing toggling]. To show it again, type SIDEBAR ON[end if]. To list the [window type] in the main game screen, type [list type].".

The turn off the commands sidebar rule response (B) is "The [window type] window should already be hidden[if the sidebar is allowing toggling]. To show it, type SIDEBAR ON[end if]. To list the [window type] in the game screen, type [list type].".

The can't open the sidebar for unknown reason rule response (A) is "Your [window type] sidebar couldn't be opened. To list the [window type] in the game screen instead, type [list type].".

Check turning on the commands sidebar when HarborMaster is not full-screen:

say "Sidebar is only available in [i]HarborMaster.[/i] [lb]" instead.

Check turning off the commands sidebar when HarborMaster is not full-screen:

say "No sidebar is available." instead.

First check listing the sidebar commands when HarborMaster is no-screen:

say "I didn't understand that sentence." instead.

Check listing the sidebar commands when player has not been alerted to problems:

say "Contact with player(s) has not been established. No resources are needed." instead.

The attribute the play IF postcard rule does nothing. [This is printed when a player activates a transcript, but its contents don't seem relevant to this game.]

This is the new list the sidebar commands in the main window rule:

print a table of commands in the sidebar, in main window.

[Because sidebar and main window are listed similarly. The clause at the end just prints out a line break when listing in the main window.]

The select the appropriate table of commands before listing the commands rule is not listed in any rulebook. [We did this work manually.]

The new list the sidebar commands in the main window rule is listed instead of the list the sidebar commands in the main window rule in the Carry Out listing the sidebar commands rules. [Because we changed it substantially.]

Chapter - Within-World Actions From Standard Rules

Understand "* [text]" as a mistake ("Noted.") when Questing is happening.

Understand nothing as attacking.

Understand "[a fleeing person]" and "[a resourceful thing]" as examining.

Understand "cover [something] with [something]" as putting it on.

Understand "take [something] from/off of/-- [something]" as removing it from.

Understand "play [a device]" and "play [an icon]" as switching on.

Understand "switch on [a switched off device]", "switch [a switched off device] on", "turn on [a switched off device]", and "turn [a switched off device] on" as switching on.

Understand "switch off [a switched on device]", "switch [a switched on device] off", "turn off [a switched on device]", and "turn [a switched on device] off" as switching off.

The examine containers rule does nothing.

the examine devices rule does nothing.

the examine supporters rule does nothing.

The carrying requirements rule does nothing.

Chapter - New Within-World Actions

[In general, I only use the tense and viewpoint text substitutions in the specific action-processing rules because I'm more likely to use them in other projects.]

Abandoning the quest is an action applying to nothing.

Carry out abandoning the quest:

say "You decide to allow Fate to take over, and you abandon the quest. [pb]Thanks for playing [b]A New Olympia.[/b] [pb]*** [pb]*** You scored 450 out of 500 points in that game.".

Understand the commands "buy" and "purchase" as something new.

Buying it for is an action applying to two things. Understand "buy [something] for [something]" and "buy [something]" as buying it for.

Understand "buy [a person] [something]" as buying it for (with nouns reversed).

Understand the commands "order" and "purchase" as "buy".

Rule for supplying a missing second noun while buying something for:

now the second noun is the player.

Check buying something for something which is not a person:

say "[We] could, but [we] doubt [the second noun] could appreciate [regarding the noun][them]." instead.

Check buying something which is not an alcoholic drink for something:

if the noun is a person, say "[We] doubt [the noun] [are] for sale[if engaged in Task Two]; Bud won't go for that[end if]." instead;

otherwise say "[if engaged in Task Two]Bud isn't selling [the noun][otherwise][The noun] [are]n't for sale[end if]." instead.

Check buying something for something:

try giving the noun to the second noun instead.

Buying it from is an action applying to two things. Understand "buy [something] from [something]" as buying it from.

Check buying something from something which is not a person:

say "[We][']ll [need] to find someone to buy from." instead.

Check buying something which is not an alcoholic drink from something:

if the noun is a person, say "[Noun] isn't owned by [second noun]." instead;

otherwise say "[if engaged in Task Two]Bud isn't selling [the noun][otherwise][The noun] [are]n't for sale[end if]." instead.

Check buying something from something:

unless the second noun is Bud, say "[Second noun] isn't selling anything." instead;

otherwise try taking the second noun instead.

Changing channels is an action applying to nothing. Understand "change channel/channels//station" and "switch channel/channels/station" as changing channels when Questing has ended.

Understand nothing as touching.

Understand the command "press" as something new.

Clicking is an action applying to one thing. Understand "click on/-- [something]" as clicking.

Understand the commands "c", "press", and "touch" as "click".

The clicking action has a thing called pressed icon.

Setting action variables for clicking an icon:

if a random full-screen icon (called shuttable) is not the noun, now the pressed icon is shuttable;

otherwise now the pressed icon is the noun.

Check clicking something which is not an icon:

say "[We] [do]n't see anything like that on [our] monitor." instead.

Last check clicking an icon:

if the noun is low-screen, try maximizing the noun instead;

if noun is full-screen, try minimizing the noun instead;

unless the noun is the pressed icon, now the pressed icon is low-screen.

Carry out clicking an icon:

now the noun is full-screen.

Report clicking an icon:

say "[The noun] opens. ";

if noun is HarborMaster and sidebar is allowing toggling begin;

show the command sidebar window;

if sidebar is g-present, say "[HarborMaster] sidebar open and updated. ";

end if;

if noun is either HarborMaster or Thunderbird, say lb;

if noun is HarborMaster, try looking;

if noun is Thunderbird, try examining the noun.

Table of Hyperlink Glulx Replacement Commands (continued)

linknumreplacement
1"click flagged e-mail"
2"click game thoughts"
10"click Roger"
11"click Eve"
12"click Chucky"
13"click Alicia"
14"click Jason"
15"click Samuel"
16"click Travis"
17"click DONCAN-132"
18"bio for Eve"
19"bio for Chin Lee"
20"bio for Olga Burlenko"
21"bio for Yaphet Kalotto"
22"bio for Richard Tuttle"
23"bio for Fiona Campbell"

Continuing to office is an action applying to nothing. Understand "take a break" as continuing to office when Questing is happening.

Carry out continuing to office:

say "Press a key to continue.";

wait for any key;

now every thing carried by the player is off-stage;

now every thing worn by the player is off-stage;

move the player to the Office.

Deciding upon is an action applying to an actionable dialogue.

Last check deciding upon when the conversationalist is waiting for a decision:

now the conversationalist is not waiting for a decision.

Carry out deciding upon thought-processing when the conversationalist is standby:

now the conversationalist is waiting for a decision;

rule succeeds.

Carry out deciding upon:

if the conversationalist enacts a actionable dialogue and the mission of the conversationalist is the current dialogue begin; [The player wants to stop the resource from doing what he or she is doing.]

now the conversationalist is deactivated;

now the conversationalist enacts nothing;

now conversationalist is not on-site;

end if;

now the conversationalist enacts current dialogue;

now the conversationalist is activated.

Report deciding upon:

say "'[if the conversationalist is Alicia]Gotcha,' Alicia[otherwise if the conversationalist is Travis]Copy that,' Travis[otherwise if the conversationalist is Jason]Okay,' Jason[otherwise]Yeah, okay,' Sam[end if] says.";

now the conversationalist is the player.

Fighting it with is an action applying to two things. Understand "fight [something] with [something]" and "fight" as fighting it with.

Understand the command "stab" as "fight".

Should the game suggest fighting something with the trident:

if Questing is happening, it is a good suggestion.

Should the game suggest fighting something with the player:

if Questing is not happening, it is a good suggestion.

Check fighting something with something:

say "[We] [lack] the necessary impulse." instead.

Fishing is an action applying to a thing. Understand "catch [something]", "fish for [something]", and "fish" as fishing.

Rule for supplying a missing noun while fishing:

if questing is happening, now the noun is the fishes;

now the noun is the player.

Check fishing something:

try taking the noun instead.

Fulfilling the quest is an action applying to nothing.

Carry out fulfilling the quest:

say "Thanks for playing [b]A New Olympia.[/b] *** [pb]*** You scored 500 out of 500 points in that game.".

Understand the command "feed" as something new.

Understand the command "hand" as "give".

First check giving something to something:

if the second noun is not a person, say "[The noun] won't appreciate the gesture." instead;

if the noun is not enclosed by the player, say "[We] [do]n't have [the noun]." instead;

if the second noun is the player, try taking the noun instead;

say "[The second noun] politely refuses [our] offer." instead.

Looking off-screen is an action applying to nothing. Understand "l around/at//-- the/-- office", "look around/at//-- the/-- office", "l around/at//-- the/-- command center/centre", "look around/at//-- the/-- command centre/center", "l around", and "look around" as looking off-screen.

Carry out looking off-screen:

say "[description of Office] [lb]".

Looking out of is an action applying to one thing. Understand "look out/through of/-- [something]" and "look outside" as looking out of.

Rule for supplying a missing noun while looking out of:

now the noun is the office-window.

Looking off-screen is gazing. Looking out of is gazing. Looking is gazing. Waiting is gazing.

Maximizing is an action applying to one thing. Understand "maximize [something]" as maximizing.

Check maximizing something which is not clickable:

say "[regarding the noun][Those] [are]n't on your monitor." instead.

Check maximizing something which is not an icon:

say "That isn't a computer program." instead;

Check maximizing a full-screen icon:

say "[Noun] already fills the monitor." instead.

Check maximizing an icon:

if the noun is no-screen, try clicking the noun instead.

Carry out maximizing something:

now the noun is full-screen.

Report maximizing an icon:

say "You click [Noun], and it fills the screen. ";

if noun is HarborMaster and sidebar is allowing toggling begin;

show the command sidebar window;

if sidebar is g-present, say "[HarborMaster] sidebar open and updated. ";

end if;

say lb;

if noun is HarborMaster, try looking;

if noun is Thunderbird, try examining the noun.

Minimizing is an action applying to one thing. Understand "minimize [something]" as minimizing.

Check minimizing something which is not clickable:

say "[regarding the noun][Those] [are]n't on your monitor." instead.

Check minimizing something which is not an icon:

say "That isn't a computer program." instead.

Check minimizing a low-screen icon:

say "[Noun] is open, but it isn't maximized." instead.

Check minimizing a no-screen icon:

say "[Noun] isn't open on the screen." instead.

Carry out minimizing an icon:

now the noun is low-screen.

Report minimizing an icon:

say "[Noun] minimizes. ";

if noun is HarborMaster begin;

if sidebar is allowing toggling and the sidebar is g-present, close the sidebar;

if the sidebar is g-unpresent, say "[HarborMaster] sidebar closed. ";

end if;

say lb;

try looking.

Praying to is an action applying to one visible thing. Understand "pray to [any thing]" and "pray" as praying to.

Rule for supplying a missing noun while praying to:

if Questing is happening, now the noun is Zeus;

otherwise now the noun is the player.

Check praying to something which is not the player:

say "[The noun] wouldn't make sense of [our] effort." instead.

Check praying to the player:

say "[We] [take] a moment to acknowledge [our] existence and whoever may be responsible for it." instead.

Responding with it to is an action applying to one number and one thing. Understand "[number]", "answer [a number] to [something]", "answer [a number]", "say [number] to [something]", and "say [a number]" as responding with it to when a debugging scene is happening.

Rule for supplying a missing second noun while responding with a number to:

now the second noun is the conversationalist.

Check responding with a number to the player:

say "[We] [attempt] a countdown from [number understood] but decide against it: too trite." instead.

Check responding with a number to something which is not the conversationalist:

if the second noun is not a person, say "[We] can count how many there are, but [we] probably shouldn't count to [regarding the second noun][them]." instead;

if second noun is either office-computer or HarborMaster begin;

now the second noun is the conversationalist;

otherwise;

say "[We] are talking to [conversationalist]." instead;

end if.

Carry out responding with a number to something:

now current dialogue is entry number understood in dialogue choices;

try deciding upon current dialogue.

Showing room attributes for is an action applying to one visible thing. Understand "show-me [any room]" and "show-me" as showing room attributes for when Conspiring.

First check showing room attributes for a room during Task One:

say "No game session is in play." instead.

Check showing room attributes for a room which is not the location:

say "[The noun] isn't the location of the player." instead.

Carry out showing room attributes for a room:

say "[printed name of noun] - room [lb]";

repeat with selection running through things in the location begin;

test selection for attributes;

end repeat;

say "singular-named, [if noun is improper-named]im[end if]proper-named; lighted, visited [lb]list grouping key: none [pb]";

say "printed name: '[printed name of location]' [lb]plural name: none [lb] indefinite article: none [lb] description: '[description of noun]' [lb]".

Showing attributes for is an action applying to one visible thing. Understand "show-me [any thing]" as showing attributes for when Conspiring.

First check showing attributes for a disconnected conspirator:

say "*** [username of yourself] does not recognize PC [the noun]. *** [lb]" instead.

Check showing attributes for something which is not enclosed by the location:

say "There seems to be no such [if the noun is a person]person[otherwise]object[end if] anywhere in the location." instead.

Last check showing attributes for the player when the player is yourself:

say "You are not controlling a PC, and you cannot test yourself." instead.

Carry out showing attributes for something:

if player is yourself and noun is female, now the player is female;

if player is yourself, now story viewpoint is third person singular;

test noun for attributes;

say "location: ";

if noun is incorporated by something, say "part of [random thing which incorporates noun]";

if the noun is in something or the noun is carried by someone or the noun is worn by someone, say "[if the noun is carried by someone]carried by[otherwise if the noun is worn by someone]worn by[otherwise]in[end if] [the holder of noun][if something incorporates holder of noun], which is part of the [holder of a random thing which incorporates holder of noun][end if]";

say " in [location of noun] [lb] singular-named, [if the noun is improper-named]im[end if]proper-named; unlit, inedible, [if the noun is portable]portable[otherwise]fixed in place[end if]";

if the noun is a container, say "; opaque, open, unopenable, unlocked";

if the noun is a door begin;

say "; closed, openable, unlocked ";

otherwise;

say ", [if the noun is scenery]scenery, [end if][if the noun is a device]switched on, [end if]";

end if;

say "unexamined";

if the noun is a person begin;

say "[if noun is female]; female[otherwise if the noun is male]; male[end if]";

end if;

say "[lb][i]printed name:[/i] '[printed name of noun]' [lb]";

say "[i]description:[/i] '[description of noun]' [pb]";

if the noun provides the property things spoken about and the noun is not an npc person, say "[i]things spoken about:[/i] [unless things spoken about of the noun is empty][things spoken about of the noun][otherwise]none[end unless] [lb]";

if the noun provides the property favorite drinks, say "[i]favorite drinks:[/i] [unless the favorite drinks of the noun is empty][favorite drinks of the noun][otherwise]none[end unless][lb]";

if the noun is a person and the noun is not the swan, say "[i]drunkenness:[/i] [if the noun is the fly][drunkenness of the fly][otherwise if the noun is the dog]3[otherwise]0[end if][lb]";

if the noun is an alcoholic drink, say "[i]sippiness:[/i] [sippiness of the noun][lb]";

if the noun provides the property drinkers, say "[i]drinkers:[/i] [unless drinkers of the noun is empty][drinkers of the noun][otherwise]none[end unless][lb]";

if the noun is a door, say "[i]other side:[/i] Bud's Cellar[lb]";

if the noun provides the property aliases and the noun is not the swan, say "[i]aliases:[/i] [aliases of the noun][lb]";

if the noun provides the property awareness, say "[i]awareness:[/i] [awareness of the noun][lb]";

if the noun is a person, say "[i]occupation:[/i] [occupation of the noun][lb]";

if the noun provides the property responsibility and the noun is not the swan, say "[i]responsibility:[/i] [responsibility of the noun][lb]";

if the noun provides the property raven's agenda, say "meeting attendees: [the raven's agenda] [lb]";

if player is yourself and noun is female, now the player is male;

if player is yourself, now story viewpoint is second person singular.

Section - Resource Usage

Activating is an action applying to one thing. Understand "activate [something]" as activating.

Understand the commands "contact" and "deploy" as "activate".

First check activating something which is not resourceful:

if engaged in Task Two or engaged in Task Three, say "You can only activate resources, and none are available." instead;

say "[if sidebar is g-present]The resources you can activate are listed in the resource sidebar[otherwise]Type RESOURCES to list the resources that are available[end if]." instead.

Check activating an activated resourceful thing when the noun is not a human resource:

say "[The noun] [have] already been activated. The ETI is approximately [travel time of noun]." instead.

Carry out activating something:

if the noun is resourceful, now the noun is activated.

Report activating something:

say "[The noun] [activate].".

Decommissioning is an action applying to one thing. Understand "deactivate [something]" as decommissioning.

First check decommissioning an unresourceful thing:

if engaged in Task Two or engaged in Task Three, say "[regarding the noun][Those] [are] not a resource available to you." instead.

Check decommissioning a deactivated resourceful thing when the noun is not a human resource:

say "[The noun] [have] not been activated." instead.

Carry out decommissioning something:

if the noun is an on-site resourceful thing and the noun is not a human resource begin;

now the noun is not on-site;

increment the travel time of the noun;

end if;

if the noun is resourceful, now the noun is deactivated.

Report decommissioning something:

say "[The noun] de-activates.".

Section - Conversation

Understand nothing as asking it about. Understand nothing as telling it about.

The conversationalist is a thing that varies. The conversationalist is Yourself.

Discussing it with is an action applying to two visible things. Understand "ask [any thing] to/of/with [any thing]", "talk about [any thing] to/with [any thing]", "ask for/about/-- [any thing]", "talk about [any thing]", "speak [any thing]", "tell [any thing]", and "say [any thing]" as discussing it with.

Understand "ask [any person] about/-- [a conspirator]" and "talk to [any person] about [a conspirator]" as discussing it with (with nouns reversed).

Understand "ask [any person] about/-- [any thing]" and "talk to [any person] about [any thing]" as discussing it with (with nouns reversed).

Check discussing something with something which is not a person:

say "[We] [do]n't expect a reply." instead.

Check discussing something with someone who is not enclosed by the location:

say "[The second noun] [are]n't around." instead.

Check discussing something with the player:

say "[We] [mutter] [the noun] to [ourselves]." instead.

Check discussing something with something which is not a person:

say "[We] [do]n't expect a response." instead.

Understand "tell [any person] about/-- [a conspirator]" as discussing it with (with nouns reversed).

Understand "tell [any thing] to/-- [any thing]" as discussing it with.

Understand "tell [any person] about/-- [any thing]" and "tell to [any person] [any thing]"as discussing it with (with nouns reversed).

Talking about it with is an action applying to a topic and one thing. Understand "ask [text] to [something]", "talk about [text] with/to [something]", "ask about/for [text]", "say [text] with/to [something]", "speak [text] with/to [something]", "tell [text] with/to [something]", "ask about [text]", "talk about [text]", "speak [text]", "say [text]", and "tell [text]" as talking about it with.

Understand "ask [something] to/of/-- [text]" and "talk to [something] about [text]" as talking about it with (with nouns reversed).

Check talking about text with the player:

say "[We] [mutter] something about [topic understood] to [ourselves]." instead.

Check talking about text with something which is not a person:

say "[We] [do]n't expect a response." instead.

Discussing something with is conversing. Talking about text with is conversing.

Rule for supplying a missing second noun while conversing:

now the second noun is the conversationalist.

Talking to is an action applying to one thing. Understand "talk to/with/-- [something]", "answer [something]", "ask [a person]", "speak to/with [something]", "converse", "speak", and "talk" as talking to.

Understand the command "call" as "talk".

Understand "connect to/with [someone]" as talking to when engaged in Task One.

Rule for supplying a missing noun while talking to:

now the noun is the player.

First check talking to the player:

if yourself is alerted to problems, try clicking HarborMaster instead;

say "[We] [mull] things over." instead.

Check talking to something which is not a human resource when engaged in Task One:

say "[if the number of human resources incorporated by the office-computer is 1][We] can only talk to [a random human resource incorporated by the office-computer][otherwise]The resources [we] can talk to are [the list of human resources incorporated by the office-computer][end if]." instead.

Check talking to something which is not a person:

unless engaged in Task One, say "[We] [do]n't expect a response." instead.

Last check talking to a human resource:

say "'[contact-text of the noun].' [pb]";

now the conversationalist is the noun;

if the conversationalist is standby and the conversationalist is not waiting for a decision begin;

say "'[one of]What can you offer me[or]How's it looking[or]You have something for me[or]What are my options[or]What are you thinking[purely at random]?' [pb]";

carry out the suggesting options activity with the conversationalist;

end if.

Carry out talking to something:

now dialogue choices is {};

let counter be 1;

repeat with choice running through the action options of the conversationalist begin;

if choice is relevant begin;

add choice to dialogue choices;

say "([counter]) ";

carry out the Offering an action activity with choice;

increment counter;

end if;

end repeat;

say "([counter]) '[if the conversationalist is waiting for a decision]I'm still thinking. Hold on[otherwise if the conversationalist is standby]I'll think about it[otherwise]I'm re-thinking what to do, but continue on for now[end if].'";

add thought-processing to dialogue choices.