"Scroll Thief" by "Daniel M. Stelzer" Volume Minus One - Extensions and Use-Options Use American dialect, scoring, and the serial comma. Use MAX_STATIC_DATA of 360000. Use MAX_SYMBOLS of 30000. Use MAX_NUM_STATIC_STRINGS of 30000. The story title is "Scroll Thief". The story author is "Daniel M. Stelzer". The story headline is "An Interactive Heist". The story genre is "Fantasy". The release number is 2. The story creation year is 2014. The story description is "A tribute and noncanonical sequel to the Enchanter Trilogy." Release along with cover art ("Scroll Thief by Daniel M. Stelzer"), the source text, a solution, a "StatCounter" website, and the "Quixe" interpreter. [Index map with EPS file.] [Names to add to credits: Names to add to game: Erik Temple Peter Piers Qqwy Brian Rushton Vince Laviano ] Include Article Bug Fix by Daniel Stelzer. Include Basic Screen Effects by Emily Short. Include Glulx Text Styles by Daniel Stelzer. Include Default Styles by Daniel Stelzer. Include Editable Stored Actions by Ron Newcomb. Include Numbers by Krister Fundin. Include Implicit Actions by Eric Eve. Include NPC Implicit Actions by Eric Eve. Include Distant Movement by Daniel Stelzer. Include Extended Grammar by Aaron Reed. Include Epistemology by Eric Eve. [Modified slightly] Include Small Kindnesses by Aaron Reed. Include Empty Transfer by Daniel Stelzer. [A modified version of Emily Short's extension] Include Simple Followers by Daniel Stelzer. [A modified version of Emily Short's extension] Include Remembering by Daniel Stelzer. [A modified version of Aaron Reed's extension] Include Punctuation Removal by Emily Short. Include Facing by Daniel Stelzer. [A modified version of Emily Short's extension] Include Conversation Package by Eric Eve. [I originally used Threaded Conversation, but it was too complicated for my needs in this story.] Include Reversed Persuasion Correction by Juhana Leinonen. Include Possession and Ownership by Shadow Wolf. Include Recorded Endings by Emily Short. The File of Conclusions is called "thiefend". [This is the name of the recorded-endings file.] Include Glulx Boxed Quotation by Eliuk Blau. Include Pronoun Modifications by Daniel Stelzer. [!!!] Include Automap by Daniel Stelzer. [A ripped-apart version of Mark Tilford's status-line automap extension.] When play begins: reserve automap memory of 20 rows. Include Achievements by Juhana Leinonen. Include Throwing Between Rooms by Daniel Stelzer. Include Text Capture by Eric Eve. Include Scopability by Brady Garvin. Include Numbered Disambiguation Choices by Aaron Reed. Include Command Modification by Daniel Stelzer. Include Command Preloading by Daniel Stelzer. Include Compass Rose by Daniel Stelzer. [!!!] Include Serial And Fix by Andrew Plotkin. Include Basic Undo Control by Daniel Stelzer. Include Scope Control by Ron Newcomb. Include Disappearing Doors by Andrew Plotkin. Include Disambiguation Control by Jon Ingold. Include Inanimate Listeners by Emily Short. Include Glulx Image Centering by Daniel Stelzer. Include Verbal Conjugation by Daniel Stelzer. Include Conversation Touchability Fix by Daniel Stelzer. Include Modified Timekeeping by Daniel Stelzer. [Include Property Checking by Emily Short.] [Include Run-Time Problem Pause by Daniel Stelzer.] Include Node Precondition by Daniel Stelzer. Valency is a kind of value. The valencies are targeted, sometimes targeted, and untargeted. Potency is a kind of value. The potencies are learnable, semilearnable and unlearnable. [Semilearnable spells can be learned with YONKed GNUSTO.] A spell is a kind of value. Some spells are defined by the Table of Spells. [These lines have to be way up here to let the game compile, because I refer to "spells" in all sorts of places.] Volume Zero - New Stuff Book M - Miscellaneous Fixes Section A - Beta Comments First after reading a command (this is the ignore beta-comments rule): if the player's command matches the regular expression "^(\p|\*)": say "(Noted.)"; reject the player's command. Understand "bug" or "bug [text]" as a mistake ("!!! BUG !!![br][note][bracket]Bug flagged.[close bracket][/note]"); Section B - Pronoun Messages [Alas! I wrote a whole complicated system for gender-specific pronouns before discovering that Emily Short's Plurality already did that!] [And now the last traces are obsolete in 6L02. Oh well.] Understand "your" or "yours" as a thing when the item described is enclosed by the person asked. [Understand "my" or "mine" as a thing when the item described is enclosed by the player.] The player standin is a person. [* When the player needs to be referred to in conversation between two other people, we don't want to use second-person pronouns. But neither do we want to always put the player in the third person. The solution is to create an additional dummy object which represents the player in the third person.] When play begins: set the gender of the player standin to the gender of the player. To say you or the (item - an object): [Avoids using a reflexive for the player.] if the item is the player, say we; otherwise say the item. [Aha! Something to use this section for!] To say he: say "[they]". To say she: say "[they]". To say He: say "[They]". To say She: say "[They]". To say his: say "[their]". To say her: say "[their]". To say His: say "[Their]". To say Her: say "[Their]". To say him: say "[them]". [These four are gender-specific because of ambiguity (his(her)/his(hers) and her(his)/her(him)).] To say Him: say "[Them]". To say hers: say "[theirs]". To say Hers: say "[Theirs]". To say himself: say "[themselves]". To say herself: say "[themselves]". To say Himself: say "[Themselves]". To say Herself: say "[Themselves]". To say he's: say "[they're]". To say she's: say "[they're]". To say He's: say "[They're]". To say She's: say "[They're]". To say honorific: say the honorific for the prior named object. To say the/-- honorific for (subject - a thing): if the subject is a person: say "M[if the subject is masculine]r[else if the subject is feminine]s[else]x[end if]. "; Section C - Slight Changes to Extensions [Standard Rules] Definition: a thing is unhandled if it is not handled. [Remembering] The Remembering saying room name rule is not listed in any rulebook. Rule for saying the location name of a room (this is the new saying room name rule): say "in [the item described]". Rule for saying the location name of the magical strongbox: say "protected by your blorb spell". Rule for saying the location name of a thing (called the place): say "attached to [the place]". Understand "remember [any seen thing]" as remembering. After throwing something at: now the remembered location of the noun is the throw destination; continue the action. [Endings] Listing endings is an action out of world applying to nothing. Understand "endings" as listing endings. Carry out listing endings: follow the list endings rule. Blanking out endings is an action out of world applying to nothing. Understand "blankendings" as blanking out endings. Carry out blanking out endings: blank out the whole of the Table of Possible Endings; write the File of Conclusions from the Table of Possible Endings. [Simple Followers] Before asking someone to try going when the person asked is shadowing someone (this is the don't follow after going rule): try asking the person asked to try waiting. [This stops them from immediately coming back.] Before someone stopping when the actor is shadowing someone: try the actor ceasing to follow the goal of the actor. [Stopping should end following behavior also.] Instead of following a person when the noun is nonlocal: try moving toward the location of the noun instead. [Simple Followers + Distant Movement] Before someone continuing when the actor is shadowing someone (called the target) (this is the stop following when travelling rule): try the actor ceasing to follow the target. Before someone following someone when the actor is travelling (this is the stop travelling when following rule): try the actor stopping. [Achievements] [This is the same style used for the score.] Rule for printing the achievement text (called name): say "[alert][bracket]Achievement unlocked: [name][close bracket][/alert][br]". [NPC Implicit Actions] Before someone going through a closed door (called the obstructor) (this is the new npc open door before going through rule): try the actor opening the obstructor; if the obstructor is closed, try the actor knocking on the obstructor instead. The new npc open door before going through rule is listed instead of the npc open door before going through rule in the before rules. [Changed for consistency in 6L02, but changed back by me here for conciseness.] To decide whether in (place - a room): decide on whether or not the location of the player is the place. [Punctuation Removal] After reading a command (this is the remove punctuation rule): remove stray punctuation; resolve punctuated titles; if the player's command includes "&", replace the matched text with "and". [Numbered Disambiguation Choices] Understand "former" or "first" as a thing when the disambiguation id of the item described is 1. Understand "latter" or "second" as a thing when the disambiguation id of the item described is 2. Understand "third" as a thing when the disambiguation id of the item described is 3. Understand "fourth" as a thing when the disambiguation id of the item described is 4. Understand "last" as a thing when the disambiguation id of the item described is the number of entries in the list of disambiguables. [Conversation Suggestions] When play begins, now suggest-on-greeting is false. [Conversation Nodes] A convnode is usually privately-named. [Disappearing Doors] Should the game suggest doing something to an absent door: never. [Facing] When play begins: now nothing-to-see-that-way is "There isn't much to see in that direction." [Hidden Prompt] When play begins: now the hidden-prompt signal is "[first time][note][bracket]The square prompt indicates that you can let the game continue automatically by pressing [bracket]SPACE[close bracket] or [bracket]ENTER[close bracket], or start typing to bring back the > prompt.[close bracket][/note][br][only][close bracket] ". Section D - Deciding What Must be Touched To decide whether (item - a thing) must be touched: if the item is the noun and the action requires a touchable noun, yes; if the item is the second noun and the action requires a touchable second noun, yes; no. To decide whether (item - a thing) must be touched indirectly: if the item must be touched, yes; no. To decide whether (table - a supporter) must be touched indirectly: if the table must be touched, yes; repeat with the item running through things on the table: if the item must be touched indirectly, yes; no. To decide whether (box - a container) must be touched indirectly: if the box must be touched, yes; repeat with the item running through things in the box: if the item must be touched indirectly, yes; no. Section E - Matching To decide whether (txt - text) matches (top - topic): [This is a horrible, horrible hack by Vaporware. You can only compare topics to snippets, so this snippetifies indexed text to make a comparison.] let tmp be the player's command; change the text of the player's command to txt; let result be whether or not the player's command matches top; change the text of the player's command to tmp; decide on result. Section F - Stupid Plural Behavior The plural of door is asdfasdfasdf.[* Lines like this remove the default plurals of "doors" and "containers" from the parser, so I can talk about "double doors" and such without ambiguity for the player.] The plural of container is asdfasdfasdf. Section G - First Time Only (in place of Section SR5/1/4 - Saying - Say one of in Standard Rules by Graham Nelson) [This fixes Bug 1291 for the time being.] To say one of -- beginning say_one_of (documented at phs_oneof): (- {-counter-makes-array:say_one_of} if (say__comp == false) I7_ST_say_one_of-->{-counter:say_one_of} = {-final-segment-marker}(I7_ST_say_one_of-->{-counter:say_one_of}, {-segment-count}); switch((I7_ST_say_one_of-->{-counter:say_one_of}{-counter-up:say_one_of})%({-segment-count}+1)-1) {-open-brace} 0: -). To say or -- continuing say_one_of (documented at phs_or): (- @nop; {-segment-count}: -). To say at random -- ending say_one_of with marker I7_SOO_RAN (documented at phs_random): (- {-close-brace} -). To say purely at random -- ending say_one_of with marker I7_SOO_PAR (documented at phs_purelyrandom): (- {-close-brace} -). To say then at random -- ending say_one_of with marker I7_SOO_TRAN (documented at phs_thenrandom): (- {-close-brace} -). To say then purely at random -- ending say_one_of with marker I7_SOO_TPAR (documented at phs_thenpurelyrandom): (- {-close-brace} -). To say sticky random -- ending say_one_of with marker I7_SOO_STI (documented at phs_sticky): (- {-close-brace} -). To say as decreasingly likely outcomes -- ending say_one_of with marker I7_SOO_TAP (documented at phs_decreasing): (- {-close-brace} -). To say in random order -- ending say_one_of with marker I7_SOO_SHU (documented at phs_order): (- {-close-brace} -). To say cycling -- ending say_one_of with marker I7_SOO_CYC (documented at phs_cycling): (- {-close-brace} -). To say stopping -- ending say_one_of with marker I7_SOO_STOP (documented at phs_stopping): (- {-close-brace} -). To say first time -- beginning say_first_time (documented at phs_firsttime): [This part has changed: I added the second if statement.] (-{-counter-makes-array:say_first_time} if (say__comp == false){-open-brace}if ((I7_ST_say_first_time-->{-counter:say_first_time}{-counter-up:say_first_time})++ == 0) {-open-brace} -). To say only -- ending say_first_time (documented at phs_firsttime): (- {-close-brace}{-close-brace} -). Understand "firsttime" as a mistake ("[first time]FIRST TIME [only]TEXT."). [To test this replacement.] Section H - Modifications to Standard Actions Understand "examine [things]" or "look at [things]" as examining. Understand "open [things]" as opening. Understand "close [things]" as closing. Instead of pushing or pulling or turning an open door: try closing the noun. Instead of pushing or pulling or turning a closed door: try opening the noun. Rule for deciding whether all includes a person while an actor dropping or an actor throwing or an actor inserting or an actor putting (this is the new exclude people from drop all rule): it does not. Rule for deciding whether all includes scenery while an actor taking or an actor taking off or an actor removing (this is the new exclude scenery from take all rule): it does not. Rule for deciding whether all includes fixed in place things while an actor taking or an actor taking off or an actor removing (this is the new exclude fixed in place things from take all rule): it does not. Rule for deciding whether all includes people while an actor taking or an actor taking off or an actor removing (this is the new exclude people from take all rule): it does not. The new exclude people from drop all rule is listed instead of the exclude people from drop all rule in the for deciding whether all includes rulebook. The new exclude scenery from take all rule is listed instead of the exclude scenery from take all rule in the for deciding whether all includes rulebook. [The new exclude fixed in place things from take all rule is listed instead of the (exclude fixed in place things from take all rule) in the for deciding whether all includes rulebook.] The new exclude people from take all rule substitutes for the exclude fixed in place things from take all rule. [See Inform bug #0001714.] The new exclude people from take all rule is listed instead of the exclude people from take all rule in the for deciding whether all includes rulebook. Last after someone going when the action is not silent (this is the slight extension to the describe room gone into rule): [Normally the report rules don't run if the actor isn't in scope at the *beginning* of the action. This adds a response if an actor comes into a room the player can see, from a room they can't.] let the start point be the room gone from; [Inform was choking on the sentences so I rephrased slightly with these temporary variables.] let the end point be the room gone to; if the start point is the location or the end point is the location, make no decision; recalculate scope; [Update our record of which rooms are light-filled.] if the start point is marked in scope and the end point is not marked in scope: say "[The actor] [leave] [the room gone from], heading [noun]."; rule succeeds; if the end point is marked in scope and the start point is not marked in scope: let the back way be the opposite of the noun; if the back way is up: say "[The actor] [enter] [the room gone to], coming from above."; otherwise if the back way is down: say "[The actor] [enter] [the room gone to], coming from below."; otherwise: say "[The actor] [enter] [the room gone to], coming from [the back way]."; rule succeeds; continue the action. Understand "roll [something]" as turning. Section I - Routes To decide whether there is a route from (the start - an object) to (the end - an object): decide on whether or not the number of moves from the start to the end is not -1. Section J - All of the Verbs To peer is a verb. To sing is a verb. To waltz is a verb. To twirl is a verb. To vanish is a verb. To cease is a verb. To fail is a verb. To settle is a verb. To appear is a verb. To jump is a verb. To glow is a verb. To flash is a verb. To stare is a verb. To become is a verb. To begin is a verb. To shine is a verb. To hit is a verb. To pound is a verb. To show is a verb. To lie is a verb. To step is a verb. To manage is a verb. To point is a verb. To strike is a verb. To clap is a verb. To fall is a verb. To try is a verb. To resist is a verb. To rise is a verb. To slide is a verb. To run is a verb. To snake is a verb. To approach is a verb. To back is a verb. To click is a verb. To twist is a verb. To slam is a verb. To struggle is a verb. To shudder is a verb. To stiffen is a verb. To thwack is a verb. To move is a verb. To shimmer is a verb. To leave is a verb. To enter is a verb. To slip is a verb. To end is a verb. To jerk is a verb. To manage is a verb. To tear is a verb. To pull is a verb. To spread is a verb. To unroll is a verb. To place is a verb. To drag is a verb. To throw is a verb. To bounce is a verb. To make is a verb. To drift is a verb. To let is a verb. To hang is a verb. To disintegrate is a verb. To knock is a verb. To flare is a verb. To shatter is a verb. To emit is a verb. To reflect is a verb. To seize is a verb. To shout is a verb. Section K - Exposing Untouchable Items The untouchable item is an object that varies. The untouchable item variable translates into I6 as "untouchable_object". [This is the object which triggered the "reaching..." rules. By default it's only exposed at the I6 level; this changes that.] Section L - Emptiness Definition: a container is empty if the first thing held by it is nothing. Definition: a supporter is empty if the first thing held by it is nothing. Section M - Modified Grammar (in place of Section - Extended Grammar for Throw in Extended Grammar by Aaron Reed) Understand "throw [something preferably held] through/to [something]" as throwing it at. [This removes the "into" version, which is by default parsed as inserting instead. This is what we want: "drop sphere into vent", for example.] Section N - Saved Command The saved command is initially "". After reading a command: now the saved command is the substituted form of "[the player's command]"; make no decision. Section O - Options accessibility mode is an inactive boolean option. Book I - Infocom/Non-Standard Messages Rule for printing the description of a dark room: say "It is pitch black. You are likely to be eaten by a grue." Rule for printing the announcement of darkness: try looking. Instead of attacking the player: say "If you're sure...[run paragraph on]"; record "Suicide" as an ending; end the story saying "[b]You have died[/b]". [Instead of swearing mildly: say "Such language from a student Enchanter!"] [Instead of swearing obscenely: say "Moral turpitude is grounds for expulsion from the Academy!"] Instead of jumping: say "You're not particularly athletic." Instead of sleeping: say "You aren't an expert on burglary, but you're pretty sure sleeping during a job is not recommended." Instead of waving hands: say "You don't need to attract anyone's attention right now[if the Adventurer is visible]. The Adventurer can already see you just fine[end if]." Instead of waving hands when the Adventurer is visible and the Adventurer is examined and the Adventurer is neutral: say "You wave, but [the Adventurer] doesn't seem to see you."; take full time. Instead of eating a person: say "It seems highly unlikely that [the noun] would appreciate that." Instead of eating or drinking something: say "You aren't particularly hungry at the moment. You took a [i]berzio[/i] potion last week while cramming for an exam, and it hasn't worn off yet." Instead of rubbing the player: say "You like to improve your appearance as much as the next g[if the player is female]irl[else]uy[end if], but this isn't the time. Hopefully nobody will see you at all." Check rubbing something (this is the block rubbing rule): say "[The noun] [are] probably clean enough. You don't have time to clean everything." instead. Saying xyzzy is an action applying to nothing. Understand "xyzzy" as saying xyzzy. Carry out saying xyzzy: say "That's the activation word for one of the first teleportation spells ever developed. If you recall correctly from History of Magic, it was incredibly inefficient[--]it found all the matter within a 5-foot sphere around one hardcoded point and all the matter within the same volume around another and swapped their positions.[p]Modern teleportation spells are much better...somehow. You can't really remember the details. But there was some sort of improvement. It's probably in your notes." Report someone saying xyzzy: say "'Xyzzy.'" Instead of the adventurer saying xyzzy: say "'Ks-izzy? Zizzy? Ksitsy?' The Adventurer struggles with the pronunciation."; now the adventurer success flag is true; take full time. Saying plugh is an action applying to nothing. Understand "plugh" as saying plugh. Carry out saying plugh: say "You mangle the pronunciation and nothing happens. Those stupid foreign Enchanters from the Duchy never think to give their spells pronounceable names. Anyway, that was another of the early unreliable teleportation spells." Report someone saying plugh: say "'Plugh.'" Instead of the adventurer saying plugh: say "The Adventurer makes a couple attempts at pronouncing the word before giving up. 'Plug? Ploog? Plookhh? Pluhf?'"; now the adventurer success flag is true; take full time. Understand "plover" as a mistake ("Isn't that a kind of bird?"). Understand "zork" as a mistake ("Gesundheit."). Understand "zorton" or "thurb" or "snoeze" or "noside" or "samoht" or "phuggg" or "melenkurion" or "knerl" or "klaetu" or "blerbi" or "yoho" as a mistake ("A hollow voice says, 'Wrong version.'").[* These are magic words from the 550-point version of Adventure; the parts referenced in Scroll Thief are taken from the 350-point version.] Book T - Thinking Rule for printing a parser error when the latest parser error is the I beg your pardon error: [Blank line] try waiting. After waiting when the action is not silent (this is the consider your situation rule): let N be the puzzle count; say "You pause for a minute to consider your situation. You currently have [if N is zero]no[else][N in words][end if] problem[unless N is 1]s[end if] to deal with.[first time][br][note][bracket]Type THINK to get a list of problems.[close bracket][/note][br][only]". Understand "problem" or "problems" as thinking. To decide what number is the puzzle count: let N be zero; repeat with the item running through puzzling scenes: if the item is happening, increment N; decide on N. The block thinking rule does nothing when the actor is the player. Carry out thinking (this is the standard thinking rule): if the puzzle count is 0: say "You have no problems to deal with at the moment."; make no decision; say "You are currently contemplating the following problems:"; repeat with the item running through puzzling scenes: if the item is happening, say "[br] - [puzzle description of the item]"; say paragraph break. A scene can be puzzling. A scene is usually not puzzling. A scene has some text called the puzzle description. Book T2 - Timing Chapter 1 - Variations on Waiting Section A - For the Player [This section is based on some of the examples.] Waiting for is an action applying to one number. Understand "wait for/-- a/an/-- [a time period]" as waiting for. Check waiting for (this is the no time travel rule): if the time understood is less than zero minutes, say "You would need some sort of spell for that." instead. Check waiting for (this is the don't wait for no time rule): if the time understood is zero minutes, say "That didn't take long." instead. Carry out waiting for: let the time interval be the time understood minus one minute; let the target be the time interval after the time of day; while the time of day is not the target: follow the turn sequence rules. Report waiting for: say "It is now [time of day]." Waiting until is an action applying to one time. Understand "wait until [time]" as waiting until. [Check waiting until (this is the second no time travel rule): if the time of day is after the time understood, say "It's too late for that now!" instead.] Check waiting until (this is the second don't wait for no time rule): if the time of day is the time understood, say "That didn't take long." instead. Carry out waiting until: while the time of day is before the time understood: follow the turn sequence rules. Report waiting until: say "It is now [time understood]." Book S - The Score System Chapter 1 - Rankings Table of Rankings Score Rank -1000 "Menace to Society" 0 "Inept Burglar" 10 "Inept Student" 20 "Student of Magic" 30 "Advanced Student" 40 "Charlatan" 50 "Parlor Magician" 60 "Minor-League Spellcaster" 70 "Apprentice Enchanter" 80 "Enchanter" 90 "Thaumaturge" 99 "Master Thaumaturge" 100 "Perfectionist" To decide which text is the player's ranking: repeat through the Table of Rankings in reverse score column order: if the score entry <= the score: [Id est, it's the one only slightly less than the player's score.] decide on the rank entry; decide on "*** ERROR: Invalid Ranking! ***". [Should never be able to happen.] Chapter 2 - The Full Score Table of Tasks Achieved points reason time timestamp [explanation] 5 "casting your first real spell" a time a number [REZROV your way into the library] 10 "recursive casting of gnusto" -- -- [GNUSTO GNUSTO] 5[-] "magical vandalism" -- -- [REZROV the display case] 5[-] "using an ancient scroll" -- -- [Burn the ancient scroll] 1 "triggering the alarm" -- -- [Cast FROTZ] 2 "deactivating the alarm" -- -- [Get the passphrase or smash the box] 5 "using mind control" -- -- [Cast SERAGE at the Adventurer] 5 "finding a backdoor into the Clean Room" -- -- [Discover the vent] 10 "reversing your summoning" -- -- [LLEPS ZIFMIA on the Adventurer] 5 "almost getting away with burglary" -- -- [Get caught by Frobar and Helistar] 2 "discovering a hidden door" -- -- [Get from the Closet to the Tunnel] 2[-] "indirectly discovering a hidden door" -- -- [Ditto] 2 "discovering a secret door" -- -- [Get from the Storage Area to the Tunnel] 2[-] "indirectly discovering a secret door" -- -- [Ditto] 10 "exploring mystical connections" -- -- [BLORPLE on a scrying device] 3 "making a new friend" -- -- [VAXUM on the Adventurer] 5 "avoiding a snake" -- -- [Get to the Hall of the Mountain King] 5 "climbing into the chasm" -- -- [Get to the Chasm] 5 "activating a hidden mirror" -- -- [Say the password to open the link] 3 "causing a cave-in" -- -- [Pull the stone box] 5 "getting out of the caves" -- -- [Return to the Library] 4 "getting on top of the dome" -- -- [Ascend the dome with IZYUK] 5 "conversing with ghosts" -- -- [Talk to a ghost] 7 "discovering a featureless white cube" -- -- [Get the Cube] 1 "earning the Last Lousy Point" -- -- [LLP] To award points for (action - some text): let the action be the substituted form of the action; choose a row with a reason of (action) in the Table of Tasks Achieved; if there is no timestamp entry: increase the score by the points entry; now the timestamp entry is the turn count; now the time entry is the time of day; Requesting the full score is an action out of world applying to nothing. Understand "full" or "full score" as requesting the full score. Carry out requesting the full score (this is the show full score rule): if the score is 0, say "You have not earned any points yet." instead; say "You have earned...[line break]"; repeat through the Table of Tasks Achieved in timestamp column order: if there is no timestamp entry, break; say "[t][points entry] point[unless the points entry is 1]s[end if] for [reason entry] at [time entry][line break]"; say "...for a total of [score]. This gives you the rank of [player's ranking]." Table of Final Question Options (continued) final question wording only if victorious topic final response rule final response activity "see your FULL score" false "full" or "full score" show full score rule -- Report requesting the score for the first time: say "[note][bracket]To see a more elaborate score report, type FULL SCORE.[close bracket][/note][br]". Chapter 3 - Notify Score Changes The new notify score changes rule is listed instead of the notify score changes rule in the turn sequence rulebook. score notifications are an active boolean option. Understand the command "notify" as something new. Understand "notify" as score notifications. This is the new notify score changes rule: if score notifications are inactive, make no decision; if the score is not the last notified score: let the difference be the score minus the last notified score; let the reason be "some reason"; [This should never show unless the score table is broken.] if there is a timestamp of the turn count in the Table of Tasks Achieved: [Points were awarded in a scene-end.] choose a row with a timestamp of the turn count in the Table of Tasks Achieved; if there is a reason entry, let the reason be the reason entry; otherwise if there is a timestamp of (the turn count minus one) in the Table of Tasks Achieved: choose a row with a timestamp of (the turn count minus one) in the Table of Tasks Achieved; if there is a reason entry, let the reason be the reason entry; say "[alert][bracket]Your score has gone [if the difference is less than zero]down by [zero minus the difference in words][otherwise]up by [the difference in words][end if] point[s] for [reason].[close bracket][/alert][line break]"; now the last notified score is the score. Book N - Naming the Player The player's full name is a text that varies. The player's forename is a text that varies. The player's surname is a text that varies. The information-gathering flag is a truth state that varies. The information-gathering flag is true. First when play begins (this is the ask player's name and gender rule): if the information-gathering flag is false, make no decision; [Allow the rules the second time through.] follow the primary introduction rule; now the command prompt is "What do you want to write? "; now the information-gathering stage is 1; rule succeeds. [This should block the rest of the When Play Begins rules.] The information-gathering stage is initially 0. The ask player's name and gender rule is listed after the show title page rule in the when play begins rulebook. Rule for printing the banner text when the information-gathering flag is true: do nothing. Rule for constructing the status line when the information-gathering flag is true: do nothing. Instead of looking when the information-gathering flag is true: take no time. After reading a command when the information-gathering flag is true: if the information-gathering stage is 1: if the number of words in the player's command is greater than five: say "[paragraph break]You try to fit '[the player's command]' on the page, but it doesn't quite fit. You rub it out."; reject the player's command; now the player's full name is the substituted form of "[the player's command]"; let T be word number 1 in the player's full name; if T is "sir" or T is "mister" or T is "mr" or T is "mr." or T is "lord" or T is "dame" or T is "miss" or T is "mrs" or T is "mrs." or T is "ms" or T is "ms." or T is "lady": [Strip titles.] replace word number 1 in the player's full name with ""; now the player's forename is word number 1 in the player's full name; now the player's surname is the player's full name; replace word number 1 in the player's surname with ""; [Remove first name.] while punctuated word number 1 in the player's surname is "-": [Deal with hyphenated first names.] now the player's forename is the substituted form of "[player's forename][unpunctuated word number 1 in the player's surname]"; replace unpunctuated word number 1 in the player's surname with ""; while unpunctuated word number 1 in the player's surname matches the text ".": [Remove initials.] replace unpunctuated word number 1 in the player's surname with ""; while character number 1 in the player's surname matches the regular expression "\s": [Remove leading whitespace.] replace character number 1 in the player's surname with ""; if the player's surname is empty, now the player's surname is the player's forename; say line break; follow the secondary introduction rule; now the command prompt is "Of course, you will eventually be addressed as... [i](Mr, Ms, Mx?)[/i] "; now the information-gathering stage is 2; reject the player's command; otherwise if the information-gathering stage is 2: let the temporary gender be unknown-gender; if the player's command includes "ms/mrs/miss/madam/ma'am": now the temporary gender is feminine; otherwise if the player's command includes "mr/mister/master/sir": now the temporary gender is masculine; otherwise if the player's command includes "mx": now the temporary gender is gender-neutral; otherwise: say "[note][bracket]Try [tt]Mr[/tt], [tt]Ms[/tt], or [tt]Mx[/tt].[close bracket][/note][p]"; reject the player's command; say "[i]This means that [temporary gender] pronouns will be used for you. Is this correct? [/i]"; if the player consents: set the gender of the player to the temporary gender; say paragraph break; follow the tertiary introduction rule; get ready to start; reject the player's command; otherwise: say "[b]*** ERROR ***[/b] The information-gathering stage is [information-gathering stage] - INVALID.". To get ready to start: wait for any key; clear the screen; [ now the command prompt is "[if accessibility is active]Your command [else]>";] now the information-gathering flag is false; follow the when play begins rules; say "[banner text]"; move the player to the location. This is the mirror description rule: [This is used whenever we have to describe the player in a mirror or such.] say "You see reflected in the mirror one of the most stunningly [if the player is masculine]handsome men[otherwise if the player is feminine]beautiful women[otherwise]attractive people[end if] you have ever laid eyes on. You take a moment to [one of]adjust your hair[or]straighten your student cloak[or]position your robes more elegantly[purely at random]. There, that's better." Book R - Ropes [This book is expanded from the example "Otranto" from the documentation.] Chapter 1 - Ropes Section A - Definitions [We start by coming up with a rope.] A rope is a kind of thing. Definition: a thing is nonrope if it is not a rope. [The perfect idiocy of this statement notwithstanding, having a shortcut will come in very handy later] Attachment relates things to each other in groups. The verb to be tied to implies the attachment relation. Definition: a thing is tied up if the number of things tied to it is greater than 1. Definition: a thing is free if it is not tied up. Definition: a rope is free if the number of nonrope things tied to it is less than 2. Definition: a thing is hindering if it is tied to the noun and it is not within the location. A thing can be ropable. A thing is usually not ropable. A person is usually ropable. A thing can be rope-pullable. A thing is usually not rope-pullable. [Should something special happen when this object is pulled by a rope?] Definition: something is anchored rather than unanchored if it is fixed in place or it is scenery [or it is a person] or it is part of an anchored thing. Definition: something is securely anchored rather than not-securely-anchored if it is tied to something anchored [or the holder of the item is securely anchored]. Definition: something is draggable rather than undraggable if it is not had by the player and it is not a person and it is not anchored. Definition: something is entrapping if it is anchored or it is a person and it is not the person asked. Section B - Descriptions [Now, we want a rope to be described in terms of the way it is tied, when it's described in a room description.] Rule for writing a paragraph about a rope (called the coil) (this is the describe ropes rule): if the number of nonrope things tied to the coil is zero, make no decision; repeat with the item running through nonrope things tied to the coil: if the location of the item is not the location: let the next room be the location of the item; let the way be the best route from the location to the next room; if the way is up or the way is down: say "[The coil] [run] [way] into [the next room]."; otherwise: say "[The coil] [adapt the verb snake] across the floor [way] towards [the next room]."; rule succeeds; say "There [regarding the coil][are] [a coil] here[if the coil is tied up], tied to [the list of nonrope things which are tied to the coil][end if]." To decide what room is the home of (item - a thing): if item is a door: if the location encloses the item, decide on the location; let front cut be the number of moves from the location to the front side of the item; let back cut be the number of moves from the location to the back side of the item; if front cut is -1, let front cut be 999; if back cut is -1, let back cut be 999; if front cut is greater than back cut, decide on the back side of the item; decide on the front side of the item; decide on the location of the item. Rule for writing a paragraph about a nonrope thing (called the anchor) which is tied to a rope (called the coil): if the location of the coil is adjacent: let the next room be the location of the coil; let the way be the best route from the location to the next room; if the way is up or the way is down: say "[The coil] [run] [way] from [the anchor] into [the next room]."; otherwise: say "From [the anchor] [run] [a coil], heading off toward [the way]."; otherwise: repeat with the item running through things tied to the coil: if the location of the item is adjacent: say "[The coil] [are] tied to [the anchor], and from there [run] off towards [the location of the item]."; rule succeeds. [We need a way to account for it when it's being carried, as well.] After printing the name of a rope (called the tied object) while taking inventory (this is the list ropes in inventory rule): if something nonrope is tied to the tied object: say " (tied to [the list of nonrope things which are tied to the tied object])"; otherwise: say " (with both ends free)". [And, indeed, whenever the player examines a rope, we should see what's connected.] Carry out examining a rope when something is tied to the noun (this is the rope examining rule): say "[The noun] [are] tied to [the list of secondary things which are tied to the noun]." Report taking a tied up rope: say "You take hold of [the noun]."; rule succeeds. Report dropping a tied up rope: say "You let go of [the noun]."; rule succeeds. [Similarly, any time the player looks at something tied to a rope.] After examining the player when the player is tied to something which is not the player (this is the examine tied player rule): say "[We]['re] currently lashed to [the list of secondary things tied to the noun]."; make no decision; After examining an other nonrope thing which is tied to something secondary (this is the examine tied object rule): say "[The noun] [are] currently attached to [the list of secondary things tied to the noun]."; make no decision. After printing the name of a nonlocal thing (called X) while examining a rope (this is the give location in rope description rule): if the location of X is not nothing, say " (in [the location of X])". Section C - Scope [We also need to make sure that the rope can be interacted with properly even when it's partly in the next room.] Scope adjustment (this is the player sees visible ropes rule): repeat with the coil running through ropes: if something in the location is tied to the coil, now the coil is marked in scope; After deciding the scope of an other person (called the subject) (this is the others see visible ropes rule): repeat with the coil running through ropes: if something in the location of the subject is tied to the coil, place the coil in scope; make no decision. Rule for reaching inside a room when the untouchable item is a rope (this is the first rope reaching rule): repeat with the anchor running through things which are tied to the untouchable item: if the anchor is in the location and the player can touch the anchor: allow access. Rule for reaching inside a room (called the place) when the untouchable item is nonrope and the player can see a rope (called the cord) which is tied to the untouchable item (this is the second rope reaching rule): if the player can touch the cord, allow access. Before doing something to a rope when the noun is carried by an other person and the action requires a touchable noun (this is the rope bugfix rule): say "[We] should ask [the holder of the noun] to give [us] [the noun] first." instead. Chapter 2 - Tying and Untying Section A - Tying [Now tying:] The block tying rule is not listed in any rulebook. Understand "tie [things] around/to/with [something]" or "tie [something] around/to/with [things]" as tying it to. First check tying something to a rope (this is the tying checks rule): if the noun is the second noun, say "That wouldn't be much use." instead; if the noun is tied to the second noun, say "[The noun] and [the second noun] are already tied together." instead; if the second noun is not free, say "[The second noun] [have] no ends free." instead; if the noun is not ropable, say "[We] [can't] realistically tie anything to [the noun]." instead. Instead of tying a rope to something nonrope (this is the tie a rope to an object rule): let the temporary holder be the second noun; [Swap the noun and the second noun without confusing the action machinery.] now the second noun is the noun; now the noun is the temporary holder; continue the action. Carry out tying something to a rope: now the noun is tied to the second noun. Report tying something to a rope: say "[We] loop [the second noun] around [the noun] and knot firmly." Instead of tying a nonrope thing to a tied up nonrope thing (this is the use rope to tie things rule): let the coil be a random rope tied to the second noun; now the second noun is the coil; continue the action. Instead of tying a nonrope tied up thing to a nonrope thing (this is the other use rope to tie things rule): let the coil be a random rope tied to the noun; now the noun is the coil; continue the action. Instead of tying a free nonrope thing to a free nonrope thing (this is the find rope to tie things rule): if the player carries a free rope (called the coil): initialize the implicit action; silently try tying the noun to the coil; if the noun is tied to the coil and the coil is free: initialize the implicit action; silently try tying the second noun to the coil; finish the implicit action with participle "tying" infinitive "tie" object "[the coil] to [the second noun]" and condition (whether or not the second noun is tied to the coil); finish the implicit action with participle "tying" infinitive "tie" object "[the coil] to [the noun]" and condition (whether or not the noun is tied to the coil); take full time; otherwise: say "[We] lack the requisite spare rope." Check tying a rope to a rope (this is the no rope splicing rule): say "[We] try to tie [the noun] to [the second noun], but the knot keeps slipping." instead. Check tying a tied up thing to a rope (this is the no indirect splicing rule): say "[The noun] [are] already tied up." instead. Instead of asking someone to try wearing a rope: try tying the actor to the noun. Instead of wearing a rope: try tying the player to the noun. Section B - Untying Understand "untie [things] from [something]" or "untie [something] from [things]" as untying it from. Understand "untie [things]" as untying it from. Rule for supplying a missing second noun while untying something from (this is the find the rope to untie rule): if the number of secondary things tied to the noun is 0, say "[The noun] is already entirely free." instead; if the noun is a rope: if the number of touchable nonrope things which are tied to the noun > 1: say "You'll have to say which thing you want to untie [the noun] from."; rule fails; otherwise: if the number of touchable nonrope things tied to the noun is 0, say "[We] can't reach [the random nonrope thing tied to the noun]." instead; let the anchor be a random touchable nonrope thing which is tied to the noun; say "(from [the anchor])[ccb]"; now the second noun is the anchor; otherwise: if the noun is tied to a rope (called the tied object): say "(from [the tied object])[ccb]"; now the second noun is the tied object. Untying it from is an action applying to two things. Should the game suggest untying something from something when the noun is not tied to the second noun: it is a bad suggestion. Before untying a rope from something (this is the untie rope from something rule): try untying the second noun from the noun instead. Before untying something from a rope (this is the take before untying rule): if the second noun is not held: carry out the implicitly taking activity with the second noun. Check untying it from (this is the check if tied before untying rule): unless the noun is tied to the second noun or the second noun is tied to the noun, say "[The noun] and [the second noun] aren't tied together in the first place." instead. Carry out untying it from: now the noun is not tied to the second noun. Report untying it from: say "Untied." Chapter 3 - Pulling [Another part of the fun of a rope is that you can drag things from another room.] After reading a command: now every thing is unmentioned. Before an actor pulling something anchored: say "[The noun] [are] firmly anchored." instead. After an actor throwing something at when the actor carries a rope (called the coil) which is tied to the noun (this is the drop ropes after throwing rule): silently try the actor dropping the coil; continue the action. The modified can't pull people rule is listed instead of the can't pull people rule in the check pulling rulebook. This is the modified can't pull people rule: if the noun is a person and the noun is not tied up, say "That would be less than courteous." instead. Report pulling a person: say "[The noun] [jerk], but [manage] to keep [their] balance." Carry out an actor pulling something tied up (this is the ropes pull things rule): if the noun is unmentioned: if the player can see the actor, say "The impulse is transmitted to [the list of pullable things tied to the noun]."; repeat with item running through pullable things tied to the noun: if the player can see the actor, say "[item]: [run paragraph on]"; try the actor pulling the item; if the noun is a rope and the noun is not within the location: if the number of nonrope hindering things is 0, move the noun to the location of the actor; otherwise: continue the action. Report an actor pulling a tied up rope (this is the don't report pulling ropes rule): rule succeeds. Instead of an actor pulling something nonrope when the noun is not in the location of the actor (this is the transmit impulse through rope rule): if the noun is rope-pullable, make no decision; take full time; if the noun is anchored: if the player can see the actor or the player can see the noun, say "[The noun] [resist], for whatever reason." instead; otherwise: let the place be the holder of the noun; let way be the best route from the place to the location of the actor; if the way is a direction: if the player can see the actor: say "[The noun] [if the way is up][rise][otherwise if the way is down][fall][otherwise][slide][end if] into view."; otherwise if the player can see the noun: let the inverse be the opposite of the way; say "[The noun] [if the way is up][rise][otherwise if the way is down][fall][otherwise][slide][end if] away[if the way is not up and the way is not down] to the [way][end if]."; move the noun to the location of the actor; otherwise: move the noun to the location of the actor; if the player can see the actor, say "[The noun] [slide] into view." instead. Definition: a thing is secondary if it is not the noun. Definition: a thing is pullable if it is not the noun [and it is not a person]. Chapter 4 - Movement [A character who is tied to things should also have some restrictions on their ability to move.] Before an actor going a direction (called the way) when the actor has something (called the link) which is tied to something entrapping (called the anchor) (this is the limit movement while holding tied things rule): let the next room be the home of the anchor; if the next room is not a room, continue the action; if the next room is the location of the actor: if the link is tied to at least two entrapping things: if the player can see the actor, say "[The actor] [can't] go far while [they]['re] carrying [the link] tied to [the list of entrapping things tied to the link]."; stop the action; otherwise: let the destination be the room way from the location of the actor; if the destination is the next room: if the actor is not tied to the anchor: if the player can see the actor, say "(coiling up [regarding the actor][their] rope again as [they] [go]...)"; otherwise: let the safe way be the best route from the location of the actor to the next room; if the safe way is a direction: if the player can see the actor, say "[The actor] [start] in that direction, but [the link] [hold] [them] back[--][regarding the link][they're] still tied up in [the next room], so [regarding the actor][they] [can't] really go any way but [safe way]."; stop the action; otherwise: if the player can see the actor, say "[regarding the actor][They]['re] tied up here." instead. Check an actor throwing a tied up thing at when the throw source is not the throw destination (this is the limit throwing tied things rule): repeat with the item running through secondary things tied to the noun: if the location of the item is not the throw source and the location of the item is not the throw destination: if the actor is the player, say "[The item] [make] it hard to throw [the noun] any further."; stop the action. Before an actor going a direction (called the way) when the actor is tied to something entrapping (called the anchor) (this is the limit movement while tied rule): let the next room be the home of the anchor; if the next room is not a room, continue the action; if the next room is the location of the actor: if the actor is tied to at least two entrapping things: if the player can see the actor, say "[The actor] [can't] go far while [they]['re] tied to [the list of entrapping things tied to the actor]."; stop the action; otherwise: if the best route from the location to the next room is the way: if the player can see the actor, say "[regarding the actor](coiling up [their] rope again as [they] go...)"; otherwise: if the player can see the actor, say "[regarding the actor][Possessive] attachments prevent [them] going any way but [best route from the location to the next room]."; stop the action. [Sometimes, if the player is tied to a movable object, the moved object will move with him.] Definition: a thing is actor-relevant if it is the person asked or it is held by the person asked or it is worn by the person asked or it is tied to the person asked. After an actor going somewhere when a tied up actor-relevant thing (called the item) is tied to something draggable (this is the pull draggable things rule): let the link be a random rope tied to the item; if the number of draggable things which are tied to the item is greater than zero: if the player can see the room gone from or the player can see the room gone to, say "[The actor] [drag] [the list of draggable things which are tied to the item] along behind [regarding the actor][them]."; now every draggable thing which is tied to the link is in the holder of the actor; continue the action. Book T3 - Translucency A thing can be translucent. A thing is usually not translucent. Examining it through is an action applying to one visible thing and one [touchable] thing. Understand "examine [something] through/in [something]" or "look at [something] through/in [something]" or "x [something] through/in [something]" as examining it through. Check an actor examining something through something (this is the can't look through an opaque lens rule): if the second noun is a container: if the noun is enclosed by the second noun: if the second noun is open or the second noun is transparent: make no decision; [This should be allowed through.] if the second noun is not translucent: if the actor is the player, say "[The second noun] [do]n't make a very good lens." (A); rule fails. Carry out examining something through something: say "Through [the second noun] you can make out [the noun]. [r]"; try examining the noun. Report someone examining something through something: say "[The actor] [peer] into [the second noun], examining [the noun] closely." Book L - Looking Between Rooms Definition: a room is light-filled rather than darkness-filled if I6 routine "OffersLight" says so (it contains a light source). Definition: a thing is light-filled rather than darkness-filled if I6 routine "OffersLight" says so (it contains a light source). A thing can be visible between rooms. A thing is usually not visible between rooms. A person is usually visible between rooms. A thing has some text called distant appearance. Definition: a thing (called the item) is distantly nondescript rather than distantly not-nondescript: if the distant appearance of the item is not "", no; if the initial appearance of the item is "", yes; if it is handled, yes; no. To say describe (item - a thing) from a distance: if the distant appearance of the item is not "": say "[distant appearance of the item]"; otherwise: say "[initial appearance of the item]"; say paragraph break. After distantly describing an object (called the place) (this is the describe things visible between rooms rule): unless the place is light-filled: say "It's too dark to really see anything else, however."; otherwise if there is a visible between rooms thing in the place: repeat with the item running through distantly not-nondescript visible between rooms things in the place: say "[describe the item from a distance]"; if there is a distantly nondescript visible between rooms thing in the place: say "You can [if there is a distantly not-nondescript visible between rooms thing in the place]also [end if]see [a list of distantly nondescript visible between rooms things in the place] there." Definition: a door (called the occluder) is adjacent: if the front side of the occluder is the location, yes; if the back side of the occluder is the location, yes; no. Scope adjustment (this is the see nearby rooms rule): repeat with the target room running through rooms adjacent to the location: if the target room is light-filled: now the target room is marked in scope; repeat with the item running through visible between rooms things in the target room: now the item is marked in scope; [if the item is a person: [For persuasion parsing.] now everything carried by the item is marked in scope;] repeat with the item running through present doors liminal to the target room: now the item is marked in scope; now the nonlocal visibility flag is true; repeat with the target door running through present doors liminal to the location: let the target room be the other side of the target door from the location; if the target room is light-filled: if the target door is open or the target door is transparent: now the target room is marked in scope; repeat with the item running through visible between rooms things in the target room: now the item is marked in scope; [if the item is a person: now everything carried by the item is marked in scope;] repeat with the item running through present doors liminal to the target room: now the item is marked in scope; now the nonlocal visibility flag is true. Book F - Forcing a Command [This has been moved to the extension Command Modification by Daniel Stelzer.] [Debugging actions for testing this on different interpreters.] Understand "force [text]" as forcing. Forcing is an action out of world applying to one topic. Carry out forcing: optionally force the command "[topic understood]". Understand "replay [text]" as replaying. Replaying is an action out of world applying to one topic. Carry out replaying: replay the command "[topic understood]". To optionally force the command (C - text): if accessibility mode is active: say "(Your body seems to move of its own accord...)"; say ">[C]"; silently execute the command C. Book S1 - Suggesting Commands command suggestions are an active boolean option. To suggest the command (command - text): if command suggestions are active, say "[note][bracket]You might find the command [command] useful here.[close bracket][/note]". Book K - Doors Knocking on is an action applying to one thing. Understand "knock on [something]" as knocking on. Instead of knocking on something which is not a door: say "There doesn't seem to be much point to that, as [the noun] [aren't] a door." Check knocking on an open openable door: say "[The noun] [are] already open. Why bother knocking?" instead. Check knocking on an open door when the noun is not openable: say "That would prove difficult." instead. Report knocking on: say "You rap loudly on [the noun]." Report someone knocking on: say "[The actor] [knock] on [the noun]." Carry out someone knocking on a door when the noun is visible and the actor is not in the location: say "Someone is knocking on [the noun]." Liminality relates a door (called X) to a room (called Y) when the front side of X is Y or the back side of X is Y. The verb to be a threshold of implies the liminality relation. The verb to be liminal to implies the liminality relation. Book A - About and Credits Requesting story information is an action out of world applying to nothing. Understand "about" or "help" or "info" as requesting story information. Carry out requesting story information: say "[i]Scroll Thief[/i] is a fan sequel to the Enchanter trilogy, meant to clear up some of the mysteries from Spellbreaker (specifically, the four unknown Cubes of Foundation). The first section was released in an incomplete state for IntroComp 2014, in which it took second place. The full version was released a year later.[p]This is intended to emulate Infocom to some extent in the style of certain puzzles. However, unlike Infocom, it stays for the most part at Polite on Andrew Plotkin's cruelty scale. There are very few ways to get stuck irrevocably, and it should be clear if you do. So long as you don't destroy important objects for no reason you should be good, and RESTORE and UNDO are always available.[p]Hints are available as online InvisiClues at . Within the game, THINK will remind you of any unsolved puzzles you've encountered, and VERBS lists most of the commands you'll need in the game.[p]Draconis, the Implementor of this game, can be reached at . Type CREDITS to see the list of people who were involved in the design and testing. Source code is available for perusal at ." Displaying the credits is an action out of world applying to nothing. Understand "credits" as displaying the credits. Carry out displaying the credits: say "Implementation: Daniel M. Stelzer[br] First-Round Testing: Marshal Tenner Winter, Hanon Ondricek, Jason Lautzenheiser, and Andrew Schultz[br] IntroComp Reviews: Sam Kabo Ashwell, Emily Short, Paul Lee, and Marshal Tenner Winter[br] ClubFloyd Players: Jacqueline Ashwell, David Welbourn, Daniel Ravipinto, Joseph Geipel, Dan Shiovitz, Andrew Plotkin, Buster Hudson, Pollux[br] NightFloyd Players: Adri Mills, Zach Samuels, Steve Westwood, Olly Kirk, and Roger Carbol[br] Second-Round Testing: Marshal Tenner Winter, Hanon Ondricek, Tom Porter, Neil Butters, and Andrew Schultz[br] Post-Release Bug Reports: FloatingInfo, Aquillion (many times over!), Peter Piers, Erik Temple, Qqwy, Brian Rushton, and Vince Laviano[br] Cover art by Daniel M. Stelzer, title card by Hanon Ondricek[p]". Understand the commands "hint" and "hints" as something new. Requesting a hint is an action out of world applying to nothing. Understand "hint" or "hints" as requesting a hint. Carry out requesting a hint: say "In the style of Infocom, an InvisiClues hint booklet is available online at ." Book A - Achievements Use persistent achievements. Table of Achievements achievement description validation (rule) awarded "Ivory Tower" "Solve the completely unimportant puzzle box" -- false "Turned Against Their Masters" "Order the Adventurer to kill you" -- false "You Monster" "Murder the Adventurer" -- false "Front Door" "Get something out of the Clean Room through the doors" -- false "Word of Recall" "Teleport yourself back to a previous location" -- false "Secure Connection" "Insert an object into the strongbox the hard way" -- false "Mouse Input" "Earn the Last Lousy Point" -- false To award the/-- (name - text) achievement, silently: [Replacing the version in the extension.] if there is an achievement of name in the Table of Achievements: choose the row with achievement of name in the Table of Achievements; if there is no awarded entry or the awarded entry is false: if not silently: [Added this block. Check for 'silently' so it doesn't infinitely recur.] follow the read achievement data from an external file rule; unless there is no awarded entry or the awarded entry is false, stop; if the number of awarded achievements is 0: now print achievement command hint is true; now the awarded entry is true; if the persistent achievements option is active: write achievement name to an external file; if not silently: carry out the printing the achievement activity with the achievement entry. Check listing achievements: follow the read achievement data from an external file rule. Book S2 - Status Line Table of Scroll Thief Status left central right "[player's surroundings]" "[time of day]" "[elaborate score]" Table of Scroll Thief Compass Status left central right "[player's surroundings]" "[compass rose top]" "[elaborate score]" "[current act]" "[compass rose middle]" "[time of day]" "[puzzle count] problem[s]" "[compass rose bottom]" "Turn [turn count]" To say current act: if Act 1 is happening: say "Act 1"; else if Act 2 is happening: say "Act 2"; otherwise: say "Finis" To say elaborate score: say "[score]/[maximum score] points". status bar is an active boolean option. Rule for constructing the status line: if the status bar is inactive: deepen the status line to 0 rows; otherwise if the compass rose is active: fill the status bar with the Table of Scroll Thief Compass Status; otherwise: fill the status bar with the Table of Scroll Thief Status. Displaying status information is an action out of world applying to nothing. Understand "status" as displaying status information. [For screen readers and other terps without a proper status line.] Carry out displaying status information: say "[player's surroundings]. [current act]. There are [puzzle count] problems. You have earned [score] out of [maximum score] points. It is currently turn [turn count], at [time of day].[r][br]"; try listing exits. Book W - Walkthrough To say walkthrough: say "Selecting this option previously printed a full list of commands to the transcript, which the player could then re-enter manually. This was difficult to set up and difficult to use, so the game now includes a new sort of walkthrough: there are 'checkpoints' at various places in the story, which the player can 'fast-forward' to on the first turn. To jump to the end of the IntroComp version, use 'checkpoint intermezzo'. For the end of this release, use 'checkpoint act 3'." Book S3 - Scope Hackery Definition: a thing (called X) is local rather than nonlocal if the location of X is the location. [Definition: a door is local rather than nonlocal if it is adjacent.] After printing the name of a nonlocal thing (called X) while asking which do you mean: if the location of X is not nothing, say " in [the location of X]". Understand "in [something related by reversed containment]" as a thing [when the item described is nonlocal]. Should the game suggest doing something with a nonlocal thing when the person asked is the player: it is a bad suggestion. Should the game suggest doing something with a local thing when the nonlocal visibility flag is true and the person asked is the player: it is a passable suggestion. Should the game suggest doing something with a nonlocal thing (called the item) when the person asked is not the player and the location of the item is the location of the person asked: it is a passable suggestion. After deciding the scope of the player while parsing the nouns (this is the allow distant nouns if the actor can see them rule): if the person asked is not the player: let the place be the location of the person asked; place the place in scope. After deciding the scope of a marked in scope person (called the subject) (this is the allow other people to see the player rule): place the location in scope. The most recent actor is an object that varies. After reading a command (this is the reset distant actor before multiple-command rule): now the most recent actor is nothing. [This ensures we don't leave the actor in scope for multiple command-entries, only when multiple commands are entered on the same line.] First persuasion (this is the reset most recent actor rule): now the most recent actor is the person asked. After deciding the scope of the player while parsing for persuasion (this is the multiple commands to a distant actor rule):[* Without this rule, a command like FROBOZZ, EAST. WEST. would fail to parse because Frobozz wasn't in scope when the second command was parsed.] if the most recent actor is not nothing: place the most recent actor in scope, but not its contents. A thing can be marked in scope. A thing is usually not marked in scope. A room can be marked in scope. A room is usually not marked in scope. The nonlocal visibility flag is initially false. This is the re-cache scope at start of turn rule: recalculate scope. The re-cache scope at start of turn rule is listed after the parse command rule in the turn sequence rulebook. First every turn rule (this is the re-cache scope at end of turn rule): recalculate scope. After deciding the scope of the player (this is the use cached scope if available rule): repeat with the item running through marked in scope things: place the item in scope, but not its contents; repeat with the item running through marked in scope rooms: place the item in scope, but not its contents. The scope adjustment rules are a rulebook. To recalculate scope: now every thing is not marked in scope; now every room is not marked in scope; now the nonlocal visibility flag is false; follow the scope adjustment rules. Book T - Testing Action Success Include (- Global saved_action_success = 0; -) after "Definitions.i6t". Include (- [ RecordTryAction req by ac n s stora smeta tbits saved_command text_of_command; if (stora) return STORED_ACTION_TY_New(ac, n, s, by, req, stora); tbits = req & (16+32); req = req & 1; @push actor; @push act_requester; @push inp1; @push inp2; @push parsed_number; smeta = meta; actor = by; if (req) act_requester = player; else act_requester = 0; by = FindAction(ac); if (by) { if (ActionData-->(by+AD_NOUN_KOV) == OBJECT_TY) inp1 = n; else { inp1 = 1; parsed_number = n; } if (ActionData-->(by+AD_SECOND_KOV) == OBJECT_TY) inp2 = s; else { inp2 = 1; parsed_number = s; } if (((ActionData-->(by+AD_NOUN_KOV) == UNDERSTANDING_TY) || (ActionData-->(by+AD_SECOND_KOV) == UNDERSTANDING_TY)) && (tbits)) { saved_command = BlkValueCreate(TEXT_TY); BlkValueCast(saved_command, SNIPPET_TY, players_command); text_of_command = BlkValueCreate(TEXT_TY); BlkValueCopy(text_of_command, parsed_number); SetPlayersCommand(text_of_command); if (tbits == 16) { n = players_command; inp1 = 1; parsed_number = players_command; } else { s = players_command; inp2 = 1; parsed_number = players_command; } BlkValueFree(text_of_command); @push consult_from; @push consult_words; consult_from = 1; consult_words = parsed_number - 100; } } saved_action_success = BeginAction(ac, n, s, 0, true); if (saved_command) { @pull consult_words; @pull consult_from; SetPlayersCommand(saved_command); BlkValueFree(saved_command); } meta = smeta; @pull parsed_number; @pull inp2; @pull inp1; @pull act_requester; @pull actor; TrackActions(true, smeta); ]; -) after "Actions.i6t". To record the outcome of (doing something - action): (- Record{doing something}; -). To record the outcome of (doing something - action) silently: (- @push keep_silent; keep_silent=1; @push say__p; @push say__pc; ClearParagraphing(); Record{doing something}; DivideParagraphPoint(); @pull say__pc; @pull say__p; AdjustParagraphPoint(); @pull keep_silent; -). To decide whether the action succeeded: (- saved_action_success == 1 -). To decide whether the action failed: (- saved_action_success == 0 -). Book U - Useless Actions Shouting is an action applying to nothing. Understand "yell" or "shout" or "scream" or "make noise" as shouting. Report someone shouting: say "[if accessibility mode is active][The actor] [shout].[else]'AAARRRGGGHHH!!!'[end if]". Report shouting: say "You scream at the top of your lungs." Singing is an action applying to nothing. Understand "sing" as singing. Report singing: say "You start to sing at the top of your lungs:[p] [i]With cat-like tread[br] [t]upon our prey we steal,[br] in silence dread[br] [t]our cautious way we feel,[br] no sound at all,[br] [t]we never speak a word,[br] a fly's footfall[br] [t]would be distinctly heard![/i][p] That was probably not a very good idea.". Report someone singing: say "[The actor] [first time][seem] puzzled, but [only][sing] a few notes." Report the obedient Adventurer singing: say "[The Adventurer] sustains an impressively [if the Adventurer is female]high[otherwise]low[end if] note for a few seconds."; rule succeeds. Dancing is an action applying to nothing. Understand "dance" as dancing. Report dancing: say "You do a little dance, probably looking rather ridiculous in the process." Report someone dancing: say "[The actor] [one of][waltz] slowly[or][twirl][purely at random] around the room." Understand "dream" as a mistake ("One would need to be asleep to do that, and sleeping now might not be a good idea."). Book V - Verb Hinting Listing verbs is an action out of world applying to nothing. Understand "verbs" as listing verbs. Carry out listing verbs: say "Common Verbs:[br] [t]look (abbr. [i]l[/i])[br] [t]inventory (abbr. [i]i[/i])[br] [t]take [i]something[/i][br] [t]drop [i]something[/i][br] [t]examine [i]something[/i] (abbr. [i]x[/i])[br] [t]open [i]something[/i][br] [t]unlock [i]something[/i][br] [t]put [i]something[/i] in [i]something[/i][br] [t]wait (abbr. [i]z[/i])[br] [t]look up [i]topic[/i] in [i]something[/i][br] [br] Navigation:[br] [t]north, northeast, east...[br] [t]up, down[br] [t]in, out[br] [t]go to [i]somewhere[/i][br] [br] Interaction:[br] [t]talk to [i]someone[/i][br] [t]tell [i]someone[/i] about [i]something[/i][br] [t]ask [i]someone[/i] about [i]something[/i][br] [t]give [i]something[/i] to [i]someone[/i][br] [t][i]someone[/i], [i]action[/i][br] [br] [i]Scroll Thief[/i]-Specific:[br] [t]look [i]direction[/i][br] [t]point [i]something[/i] [i]direction[/i][br] [t]copy [i]spell[/i] to [i]something[/i][br] [t]think[br] [t]prepare [i]spell[/i][br] [t]cast [i]spell[/i][br] [t]cast [i]spell[/i] at [i]something[/i][p]". Book I - Introduction Page [Based on the extensions Title Page by Jon Ingold, Menus by Emily Short, and Menus by Wade Clarke.] To say spaces to center (n - a number) -- running on: (- spaces (((VM_ScreenWidth() - {n})/2)-1); -). To redraw the/-- status line: (- DrawStatusLine(); -). To decide what figure name is the/-- cover art: (- 1 -). To center (saying - text): let N be the number of characters in the saying; say spaces to center N; say the saying. Definition: a number is intro-relevant if it is -8 or it is -7 or it is -6 or it is at least 32. [Arrow keys or ASCII letters] First when play begins (this is the show title page rule): if the information-gathering flag is false, make no decision; while true is true: [Repeat forever until break] clear the screen; redraw the status line; display the cover art centered; say paragraph break; say fixed letter spacing; center "Press [bracket]SPACE[close bracket] to begin.[br]"; center "Press R to restore a saved game.[br]"; center "Press S to skip the introduction.[br]"; center "Press T to begin a transcript.[br]"; center "[if hard mode is false]Press H to activate HARD mode[else]HARD mode is active[end if].[br]"; center "[if accessibility mode is inactive]Press A to increase screen reader support[else]Accessibility active[end if].[br]"; center "Press Q to quit.[br]"; say variable letter spacing; let the key be zero; while the key is not intro-relevant: let the key be the chosen letter; if the key is 32 [SPACE] or the key is -6 [ENTER]: clear the screen; say paragraph break; make no decision; [Follow the other When Play Begins rules.] otherwise if the key is -8 [ESC] or the key is 81 [Q] or the key is 113 [q] or the key is -7 [DEL]: stop the game abruptly; otherwise if the key is 72 [H] or the key is 104 [h]: clear the screen; say paragraph break; say "Note: HARD mode is recommended for players who have gone through [i]Scroll Thief[/i] at least once before, or those who found the puzzles too easy. It removes a few spells from the game and eliminates the most direct solutions to several of the puzzles.[br]Do you want to turn on HARD mode? "; if the player consents, activate hard mode; otherwise if the key is 65 [A] or the key is 97 [a]: now accessibility mode is active; otherwise if the key is 82 [R] or the key is 114 [r]: follow the restore the game rule; say "[bracket]Press any key to continue.[close bracket]"; wait for any key; otherwise if the key is 83 [S] or the key is 115 [s]: now the information-gathering flag is false; now the player's full name is "Outis Neminis"; now the player's forename is "Outis"; now the player's surname is "Neminis"; set the gender of the player to feminine; clear the screen; say paragraph break; make no decision; otherwise if the key is 84 [T] or the key is 116 [t]: follow the switch the story transcript on rule; say "[bracket]Press any key to continue.[close bracket]"; wait for any key. Book D - Day and Night Night is a recurring scene. Night begins when play begins. Night ends when the time of day is 6:00 AM. Sunrise is a recurring scene. Sunrise begins when night ends. Sunrise ends when the time of day is 7:00 AM. Day is a recurring scene. Day begins when sunrise ends. Day ends when the time of day is 7:00 PM. Sunset is a recurring scene. Sunset begins when day ends. Sunset ends when the time of day is 8:00 PM. Night begins when sunset ends. To decide whether it is daytime: decide on whether or not day is happening. To decide whether it is nighttime: decide on whether or not night is happening. To decide whether it is sunrise: decide on whether or not sunrise is happening. To decide whether it is sunset: decide on whether or not sunset is happening. To decide whether it is crepuscular: if sunrise is happening or sunset is happening, yes; no. The first day flag is initially true. When day begins when the first day flag is true: now the first day flag is false. Book H - Hard Mode Hard mode is initially false. To activate hard mode: now hard mode is true; now the inscribed spell of the gilded scroll is golgatem; [Eliminate IZYUK; GOLGATEM still allows crossing the chasm in the Caves but does not allow the player to return easily.] [other changes here] Book S - Properties of Objects A thing can be substantial or insubstantial. A thing is usually substantial. Definition: a room is substantial rather than insubstantial: yes. [Need to define the adjective here too, since a room is not a thing.] Definition: a direction is substantial rather than insubstantial: no. Precondition (this is the cannot touch insubstantial things rule): let the item be nothing; if the noun is insubstantial and the action requires a touchable noun, let the item be the noun; if the second noun is insubstantial and the action requires a touchable second noun, let the item be the second noun; if the item is not nothing: say "[The item] [are] not solid enough."; stop the action. Check casting a spell at when the second noun is insubstantial (this is the can't cast at insubstantial things rule): if the second noun is a direction: let the block be the door (second noun) from the location; if the block is a door: say "([the block])[ccb]"; try casting the spell understood at the block instead; say "[The second noun] [don't] have enough substance to be the target of a spell." instead. A room can be passable or impassible. A room is usually passable. Instead of going to an impassible room (this is the can't go to impassible rooms rule): say "You can't go that way any more." Instead of someone going to an impassible room (this is the NPCs can't go to impassible rooms rule): stop the action. Check an actor throwing something at to an impassible room (this is the can't throw to impassible rooms rule): if the actor is the player, say "There's nowhere for [the noun] to go in that direction."; stop the action. A thing can be light or heavy. A thing is usually heavy. A thing can be distant or non-distant. A thing is usually non-distant. Precondition (this is the can't touch distant things rule): let the item be nothing; if the noun is distant and the action requires a touchable noun, let the item be the noun; if the second noun is distant and the action requires a touchable second noun, let the item be the second noun; if the item is not nothing: say "[The item] [are] too far away."; stop the action. Check casting a spell at a distant thing (this is the cannot cast at distant things rule): say "[The second noun] [are] too far away to enchant." instead. Book E - Explorability Definition: a room is suggested for exploration: yes. Exploring is an action out of world applying to nothing. Understand "new places" or "perfectly obvious exits I haven't used yet" as exploring. Carry out exploring: say "You consider which places haven't yet been explored.[br]"; let found be false; repeat with the place running through visited rooms: repeat with the way running through directions: let the impediment be the door way from the place; if the impediment is nothing or the impediment is open or the impediment is unlocked: let the target be the room way from the place; if the target is a room and the target is unvisited and the target is suggested for exploration: let found be true; say " - [way] from [the place][if the impediment is not nothing] (through [the impediment])[end if][br]"; if found is false: say "Nothing comes to mind; you've explored your immediate surroundings rather thoroughly." After thinking for the first time: say "[note][bracket]You can also say NEW PLACES to get a list of exits you haven't yet used.[close bracket][/note][br]"; continue the action. Volume Zero Point Five - Magic Book I - Vancian Magic Chapter 1 - The Spells Table of Spells spell valency potency explanation casting count (a number) short-presentation (a truth state) null-spell untargeted unlearnable "error 69105" gnusto targeted learnable "write a magic spell into a spellbook" frotz sometimes targeted learnable "cause something to give off light" blorb targeted learnable "safely protect a small object as though in a strongbox" nitfol targeted learnable "converse with beasts in their own tongue" rezrov targeted learnable "open even locked or enchanted objects" gondar targeted learnable "quench an open flame" krebf targeted learnable "repair willful damage" zifmia targeted learnable "magically summon a being" cleesh targeted learnable "change a creature into a small amphibian" vaxum targeted learnable "make a hostile creature your friend" exex targeted learnable "make things move with greater speed" izyuk targeted learnable "fly like a bird" filfre untargeted semilearnable "create gratuitous fireworks" kulcad targeted unlearnable "dispel a magical effect" guncho targeted unlearnable "banish the victim to another plane of existence" vezza untargeted learnable "view the future" yomin targeted learnable "mind probe" meef targeted learnable "cause plants to wilt" malyon targeted learnable "bring life to inanimate objects" swanzo targeted learnable "exorcise an inhabiting presence" vardik targeted learnable "shield a mind from intrusion" aimfiz targeted semilearnable "transport caster to someone else's location" yonk untargeted semilearnable "augment the power of spells" golmac untargeted unlearnable "travel temporally" blorple targeted learnable "explore an object's mystical connections" lesoch sometimes targeted learnable "cause a gust of wind" jindak sometimes targeted learnable "detect magic" throck targeted learnable "cause plants to grow" espnis targeted learnable "cause sleep" snavig targeted learnable "take the shape of another" berzio untargeted unlearnable "obviate need for food or drink" blort untargeted unlearnable "allow caster to see in dark places" flaxo untargeted unlearnable "inflict exquisite torture on the caster" fooble untargeted unlearnable "increase muscular coordination" vilstu untargeted unlearnable "obviate need for breathing" bozbar targeted learnable "cause an animal to sprout wings" lleps untargeted learnable "reverse the effect of a spell" zikkle untargeted learnable "cause invisible things to appear" ruther targeted learnable "transmute pure chemical elements" serage targeted learnable "force temporary obedience" vhelas untargeted learnable "allow caster to perceive ghosts and spirits" damazha targeted unlearnable "combination of essence - experimental" feeyuk untargeted learnable "allow caster to resist gravity" golgatem untargeted learnable "create a bridge over a body of water" Definition: a spell is cast rather than uncast if its casting count is greater than zero. Definition: a spell is shortened rather than unshortened if its short-presentation is true. Chapter 2 - Books and Scrolls Section A - Scrolls A spell scroll is a kind of thing. Understand "spell scroll" or "scroll" as a spell scroll. A spell scroll has a spell called the inscribed spell. Understand the inscribed spell property as describing a spell scroll. [This allows us to type READ BOZBAR or GNUSTO BOZBAR, instead of using the name of the scroll.] A spell scroll is usually light. To say (xyzzy - a spell) in capitals: [These say phrases are workarounds for the way Inform handles nested values in text--you can't look up a property of a property within a simple text substitution.] let T be "[xyzzy]"; say "[T in upper case]". To say (X - text) spaced out: [* The nonsense names for spells cause problems for screen readers, since they don't make it clear whether it's 'blorpel' or 'blorple' or 'vorple' or... This option writes them out letter by letter instead.] let T be " [X]"; replace the regular expression "(\w)" in T with "\1 "; say T. To say (xyzzy - a spell) spaced out: say "[xyzzy]" spaced out. To say (xyzzy - a spell) by mode: if accessibility mode is active and xyzzy is unshortened, say xyzzy spaced out; otherwise say xyzzy. Shortening is an action out of world applying to one spell. Understand "shorten [spell]" as shortening. Check shortening when accessibility mode is inactive: say "Shortening spell names has no effect when accessibility is turned off." instead. Carry out shortening: now the short-presentation of the spell understood is true. Report shortening: say "The word [spell understood spaced out] will now be pronounced as [spell understood]. Say 'unshorten [spell understood]' to reverse this." Unshortening is an action out of world applying to one spell. Understand "unshorten [spell]" as unshortening. Check unshortening when accessibility mode is inactive: say "Unshortening spell names has no effect when accessibility is turned off." instead. Carry out unshortening: now the short-presentation of the spell understood is false. Report unshortening: say "The word [spell understood] will now be pronounced as [spell understood spaced out]." To say usage of (page - a spell scroll): let xyzzy be the inscribed spell of the page; say the explanation of xyzzy. Definition: a spell scroll (called the page) is powerful: let xyzzy be the inscribed spell of the page; if the potency of xyzzy is learnable, no; yes. Definition: a spell scroll (called the page) is somewhat powerful: let xyzzy be the inscribed spell of the page; if the potency of xyzzy is semilearnable, yes; no. Definition: a spell scroll (called the page) is overpowered: let xyzzy be the inscribed spell of the page; if the potency of xyzzy is unlearnable, yes; no. The description of a spell scroll is "[scroll-description for the item described][r]". To say scroll-description for (page - a spell scroll): if the page is blank: say "The scroll has nothing written on it."; otherwise: say "The scroll reads '[inscribed spell of the page by mode]: [usage of the page]'[if the page is powerful]. The spell seems very long and extremely complicated[end if].". A spell scroll can be read or unread. A spell scroll is usually unread. After examining an unread spell scroll: now the noun is read; continue the action. After examining a spell scroll when accessibility mode is active for the first time: say "[note]Note: the magic words are pronounced letter by letter to show their spelling, but you should type them in as complete words: rezrov instead of r e z r o v. You can turn this off for individual spells with the command 'shorten rezrov'.[/note][p]"; continue the action. After printing the name of a read spell scroll while taking inventory, say " [if blank](blank)[otherwise](bearing the [inscribed spell by mode] spell)[end if]". [Definition: a spell scroll (called the page) is powerful if the inscribed spell of the page is unlearnable. Definition: a spell scroll (called the page) is somewhat powerful if the inscribed spell of the page is semilearnable.] Definition: a spell scroll (called the page) is blank rather than non-blank if the inscribed spell of the page is the null-spell. Understand "unroll [a spell scroll]" as opening. Understand "roll up/-- [a spell scroll]" or "reroll [a spell scroll]" or "fold [a spell scroll]" as closing. Instead of opening or turning or closing a spell scroll: say "Spell scrolls unroll automatically when you hold them in your hand, and close tightly when you set them down. Nobody is really sure why, but it seems to be a strange side effect of the [b]Presence[/b] in the vellum." Instead of attacking a spell scroll: take full time; say "[The noun] flares with sparkling light as the paper tears, the uncontained [b]Presence[/b] burning the remains to dust."; remove the noun from play. Instead of eating a spell scroll: say "According to the Frobozz Magic Magic Supply Company advertisements, they're currently working to perfect an 'edible spell scroll'. But [the noun] [do] not seem to be one of these." Section A1 - Copying Scrolls A copying tool is a kind of thing. Copying it to is an action applying to one visible thing and one carried thing and requiring light. Understand "copy [something] on/to/onto/in/into [something]" as copying it to. Check someone copying something to: say "[The actor] [don't] seem like much of a copyist." instead. Check copying a spell book to something (this is the don't copy spell books rule): say "A strange side effect of copying a spell into a book with magic is that the result cannot be copied again by hand." Check copying it to (this is the only copy spell scrolls rule): if the noun is not a spell scroll, say "I'm not sure how you plan to copy [the noun]." instead. Check copying it to (this is the can't copy into a spell book rule): if the second noun is a spell book, say "The pages of a spell book contain enough [b]Presence[/b] that they can not be written on normally. That was why the [i]gnusto[/i] spell was invented." instead. Check copying it to (this is the can't copy onto nothing rule): if the second noun is not a spell scroll, say "How do you plan to copy [the noun] onto that?" instead. Check copying it to (this is the can't copy onto a written scroll rule): if the second noun is not blank, say "[The second noun] already has something written on it!" instead. Check copying it to (this is the can't copy without an implement rule): if the player does not carry a copying tool: if the player can touch a copying tool (called the item), carry out the implicitly taking activity with the item; if the player does not carry a copying tool, say "You would need something to write with first." instead. Carry out copying it to: now the inscribed spell of the second noun is the inscribed spell of the noun; now the description of the second noun is "[scroll-description for the item described]"; now the second noun is read. Report copying it to: say "You meticulously copy the writing from [the noun] to [the second noun]." Instead of putting a spell scroll on a spell scroll: say "(copying [the noun] to [the second noun])[ccb]"; try copying the noun to the second noun instead. Instead of putting a spell scroll on a spell book: say "(copying [the noun] to [the second noun])[ccb]"; try copying the noun to the second noun instead. Instead of inserting a spell scroll into a spell scroll: say "(copying [the noun] to [the second noun])[ccb]"; try copying the noun to the second noun instead. Instead of inserting a spell scroll into a spell book: say "(copying [the noun] to [the second noun])[ccb]"; try copying the noun to the second noun instead. Should the game suggest copying something to the noun when testing the second noun: never. Section B - Spellbooks A book is a kind of thing. A spell book is a kind of book. [Defining this as a "kind" makes it easier to have multiple spellbooks in the future, if that were ever required.][* Of course, the scenario now includes them. Excellent.] Instead of examining a damaged book: say "[The noun] [have] been torn apart and [their] words are no longer legible." instead. After examining a spell book (called the tome): if nothing is inscribed in the tome, make no decision; [ say "[The noun] contains the following spells:[line break]"; ] repeat with xyzzy running through spells inscribed in the noun: say " "; if accessibility mode is active: say xyzzy spaced out; otherwise: if xyzzy is uncast: say "[b][xyzzy in capitals][/b]"; otherwise: say xyzzy in capitals; say ": [explanation of xyzzy][line break]". Instead of attacking a book (this is the paper is fragile rule): take full time; say "You tear into [the noun] furiously, ripping out pages and clawing at the binding. Soon [they] [are] damaged beyond readability."; now the noun is damaged. Inscription relates various spells to various spell books. The verb to be inscribed in implies the inscription relation. The verb to bear (he bears, they bear, he bore, he is bearing) implies the reversed inscription relation. [Understand "[spell]" as a spell book when the spell understood is inscribed in the item described.] [For some reason this doesn't work???] Should the game choose doing something with a spell scroll when considering some spell books: it is a good choice. To add (xyzzy - a spell) to (tome - a spell book): now xyzzy is inscribed in the tome. The player's preferred spell book is an object that varies. When play begins: now the player's preferred spell book is a random spell book enclosed by the player. [This is an easy way to refer to the player's spell book, allowing it to change during play.] Definition: a spell book is preferred rather than non-preferred if it is the player's preferred spell book. After taking a non-preferred spell book for the first time:[* This hint was added because many testers got frustrated trying to GNUSTO and COPY spells out of other spell books, which is not possible...but also not necessary.] say "Taken.[p]Even though it's not yours, you expect you could memorize and cast spells from [the noun] or another spell book without much difficulty." Instead of opening or closing a spell book: say "Thanks to its magical properties, the spell book is always open to the right place at the right time, but it is also always closed. This innovation eliminates tedious page turning and hunting for spells in tight situations. Many wizardly lives have been saved by this small advance in magical technology." Section C - Memorizing Spells The player's memory is a list of spells that varies. The player's mental capacity is initially 5. [* It might seem more idiomatic to Inform 7 to use a relation, but that would only let you memorize each spell once. In the original games you could memorize a spell as many times as you wanted.] To decide which number is the memory count of (xyzzy - a spell): [Just a few convenience functions.] let the count be zero; repeat with N running from one to the number of entries in the player's memory: if entry N of the player's memory is xyzzy: increment the count; decide on the count. To decide whether (xyzzy - a spell) is multiply-memorized: if the memory count of xyzzy is greater than one, yes; no. Memorizing is an action applying to one spell requiring light. Understand "memorize [spell]" or "learn [spell]" or "prepare [spell]" as memorizing. Understand the command "memorise" as "memorize". [For British players.] Check someone memorizing (this is the NPCs can't memorize rule): if the player can see the actor, say "[The actor] [don't] [if the actor is magical]seem inclined to cast spells at the moment[else]have much magical potential[end if]."; stop the action. Check memorizing (this is the can't memorize without a book rule): if the player does not enclose an undamaged spell book: say "How do you expect to memorize a spell without a spell book?" instead. Check memorizing (this is the can't memorize what you don't have rule): repeat with tome running through undamaged spell books carried by the player: if the spell understood is inscribed in the tome, make no decision; repeat with tome running through visible undamaged spell books: if the spell understood is inscribed in the tome: carry out the implicitly taking activity with the tome; if the tome is carried, make no decision; repeat with the page running through spell scrolls carried by the player: if the inscribed spell of the page is the spell understood: say "Unfortunately, you cannot memorize a spell from a scroll. It needs to be copied into a book first." instead; say "You don't have that spell written down anywhere." instead. Carry out memorizing: add the spell understood to the player's memory. Last carry out memorizing a spell when the action is not silent: [Not a report rule because it needs to run before the after rules.] say "Using your best study habits, you learn the [i][spell understood][/i] spell[if the spell understood is multiply-memorized] yet again[end if]." After memorizing a spell (this is the mental capacity rule): if the number of entries in the player's memory is greater than the player's mental capacity: if the action is not silent, say "You have so much buzzing around in your head, though, that it's likely that something may have been forgotten in the shuffle."; truncate the player's memory to the last (player's mental capacity) entries; make no decision. Incorrectly memorizing is an action applying to a topic. Understand "memorize [text]" or "learn [text]" or "prepare [text]" as incorrectly memorizing. [This just redirects LEARN ASDFG to a more useful error message.] Check incorrectly memorizing a topic: say "You don't have that spell written down anywhere." instead. Section D - Forgetting Spells Forgetting is an action applying to one spell. Understand "forget [spell]" as forgetting. [There have been times I've wished that the Infocom games provided this.] Check forgetting: if the spell understood is not listed in the player's memory, say "You seem to have forgotten to learn it in the first place." instead. To forget one instance of (xyzzy - a spell): [Remove only one copy of the spell.] repeat with N running from one to the number of entries in the player's memory: if entry N in the player's memory is the spell understood: remove entry N from the player's memory; break. Carry out forgetting: forget one instance of the spell understood; rule succeeds. Report forgetting: say "You banish the [i][spell understood][/i] spell from your mind." Definition: something is nonscrolllike: if it is a spell scroll, no; yes. Understand "forget [any seen nonscrolllike thing]" as a mistake ("You can never forget...whatever it was."). [This is an amusing response I discovered in Spellbreaker.] Section E - Listing Spells Listing spells is an action applying to nothing. Understand "spells" or "list spells" or "memory" as listing spells. [ In the Reliques of Tolti-Aph Graham Nelson used a say-phrase for this, but I prefer to make it an action and call it with "try". ] After thinking: try listing spells. Carry out listing spells: [Step one - does the player know any spells?] say "You have "; if the player's memory is empty: say "no spells "; else: let the temporary holding space be the player's memory [make a copy of the array to sort]; sort the temporary holding space; let the max be the number of entries in the temporary holding space; let N be 1; while N <= the max: let xyzzy be entry N in the temporary holding space; let the count be the memory count of xyzzy; if N plus the count >= the max and N is greater than 1, say "and "; [in other words, if this is the last spell in the list and also not the first] say "the [xyzzy] spell[if the max is greater than one] [count times][end if][if N plus the count is less than the max],[end if] "; increase N by the count; say "committed to memory."; unless the player is unmodified: say "You also have the [if the player is empowered]yonk[else]lleps[end if] spell half-cast, ready to go off."; let the accessibility list be the set of learnable spells; if the accessibility list is not empty: say "The [accessibility list] spell[if the number of entries in the accessibility list is greater than 1]s are[else] is[end if][if the player's memory is not empty] also[else], however,[end if] close at hand." To say (N - a number) times: if N is less than one, say "[N in words] times (somehow...)"; if N is one, say "once"; if N is two, say "twice"; if N is three, say "thrice"; if N is greater than three, say "[N in words] times". To decide what list of spells is the set of learnable spells: let L be a list of spells; repeat with the tome running through spell books enclosed by the player: repeat with xyzzy running through spells inscribed in the tome: add xyzzy to L, if absent; repeat with the page running through spell scrolls enclosed by the player: add the inscribed spell of the page to L, if absent; let K be a list of spells; repeat through the Table of Spells in reverse casting count order: [This is a really non-idiomatic way to sort a list of spells based on a property.] if the spell entry is listed in L and the spell entry is not listed in the player's memory and the spell entry is not the null-spell: add the spell entry to K; decide on K. Listing spells is acting fast. Chapter 3 - Casting Spells Section A - The Casting Action Modification is a kind of value. The modifications are unmodified, reversed, and empowered. The player has a modification. [This state affects spells we cast, and is changed by LLEPS and YONK.] When play begins: now the command prompt is "[special prompt]". [Show any metamagic in the command prompt.] To say special prompt: if accessibility mode is active: say "Prompt "; if the player is not unmodified: say "[i](spells [modification of the player])[/i] "; otherwise: if the player is reversed: say "[bracket][i]lleps[/i][close bracket]"; else if the player is empowered: say "[bracket][i]yonk[/i][close bracket]"; say ">". [This section is largely based off the implementation of magic in Graham Nelson's "The Reliques of Tolti-Aph" example.] Casting it at is an action applying to one spell and one visible thing. Understand "cast [spell] at/on [something]" or "cast [spell]" or "[spell]" or "[spell] [something]" or "use [spell] on [something]" or "use [spell]" as casting it at. Rule for supplying a missing second noun when casting: now the second noun is the location.[* Untargeted spells are actually targeted at the location.] Check someone casting (this is the NPCs can't use magic rule): if the player can see the actor: if the actor is magical, say "[The actor] [aren't] prepared to cast spells at the moment."; otherwise say "[The actor] [don't] seem like much of a spellcaster."; stop the action. Check casting (this is the can't cast on the wrong sort of target rule): if the valency of the spell understood is targeted: if the second noun is a room, say "That enchantment must be cast at something." instead; otherwise if the valency of the spell understood is untargeted: if the second noun is not a room, say "That enchantment cannot be cast at anything." instead. Effect is a rulebook.[* The carry out and report rules for the casting action are going to be surprisingly short - considering the vast range of possible outcomes when a spell is cast - and they do this by using a more powerful mechanism to allow for more flexible reporting than would ordinarily be possible: they create a new rulebook, "Effect", whose task is to carry out the spell.] Effect has default success. Inverse effect is a rulebook. Inverse effect has default success. Empowered effect is a rulebook. Empowered effect has default success. Carry out casting: increment the casting count of the spell understood; set pronouns from the second noun; if the player is unmodified: [As in, there are no metamagic (LLEPS or YONK) spells active.] follow the effect rulebook; else if the player is reversed: [LLEPS] follow the inverse effect rulebook; now the player is unmodified; [Fallthrough in this case doesn't make much sense, and isn't really necessary.] else if the player is empowered: [YONK] follow the empowered effect rulebook; if the rule succeeded: now the player is unmodified; otherwise unless the rule failed: say "You pour the surge of power into your spell, but in this case some of it dissipates without effect."; follow the effect rulebook. [Same as above.] Last effect of casting (this is the casting fallback rule): say "You cast the spell, but nothing obvious happens." Last inverse effect of casting (this is the inverse casting fallback rule): say "You cast the spell, the [i]lleps[/i] enchantment twisting it around, but nothing obvious happens." Last empowered effect of casting (this is the empowered casting fallback rule): make no decision. [Fall through to the normal effect rules] Section B - Making Casting Easier The selected scroll is an object that varies. To decide if the player can cast (xyzzy - a spell) from the scroll excluding (item - an object): repeat with the page running through spell scrolls carried by the player: if the inscribed spell of the page is xyzzy and the page is not the item: now the selected scroll is the page; yes; repeat with the page running through touchable spell scrolls: [Check carried first, so those scrolls are preferred] if the inscribed spell of the page is xyzzy and the page is not the item: now the selected scroll is the page; yes; no. To decide if the player can cast (xyzzy - a spell) from memory: if the memory count of xyzzy >= 1, yes; no. The selected spell book is an object that varies. To implicitly memorize (xyzzy - a spell): [This should really be an activity, but I don't use it for anything complicated.] initialize the implicit action; if the selected spell book is not carried: carry out the implicitly taking activity with the selected spell book; [This is called within the other implicit action to make it print properly.] silently try memorizing xyzzy; finish the implicit action with participle "memorizing" infinitive "memorize" object "[xyzzy]" and condition (whether or not the player can cast xyzzy from memory). To decide if the player can cast (xyzzy - a spell) from the book: if in darkness, no; now the selected spell book is nothing; if the player carries an undamaged spell book (called the item) which bears xyzzy: now the selected spell book is the item; otherwise: if the player can touch an undamaged spell book (called the item) which bears xyzzy: now the selected spell book is the item; if the selected spell book is nothing, no; yes. Definition: a spell is book-visible rather than non-book-visible if the player can cast it from the book. Definition: a spell is scroll-visible rather than non-scroll-visible if the player can cast it from the scroll excluding nothing. To decide if the player can cast (xyzzy - a spell) at (item - an object): if the player can cast xyzzy from the book and xyzzy is not listed in the player's memory: implicitly memorize xyzzy; if the player can cast xyzzy from memory: [This bit needs to come after the previous bit, so that it will be checked after the player tries to implicitly memorize the spell.] forget one instance of xyzzy; yes; if the player can cast xyzzy from the scroll excluding the item: [You can't gnusto the scroll you have gnusto on.] if the selected scroll is not carried: carry out the implicitly taking activity with the selected scroll; if the selected scroll is not carried: say "You begin reading out the incantation from [the selected scroll], but something feels wrong and you stop before it concludes. Perhaps if you had it in your hand?"; no; say "As you cast the spell, [the selected scroll] vanishes."; remove the selected scroll from play; yes; say "You do not know that spell[if in darkness], and there is not sufficient light for you to read a spellbook[end if]."; if xyzzy is inscribed in a known undamaged on-stage spell book (called the selected tome) and the location of the selected tome is not the location: try remembering the selected tome; no. Check casting (this is the can't cast what you don't know rule): unless the player can cast the spell understood at the second noun, rule fails. The modification counter is initially 0. Understand "lleps" as "[lleps]". [The parser always matches literals before tokens, so "lleps [text]" would be preferred over "[spell]" for casting. But if I make [lleps] a token as well it will try both of them.] Inverted casting is an action applying to one topic. Understand "[lleps] [text]" as inverted casting. Carry out inverted casting: record the outcome of casting lleps at the location; if the action succeeded: now the modification counter is 2; silently execute the command "[topic understood]". Should the game suggest inverted casting: it is a bad suggestion. Understand "yonk" as "[yonk]". Empowered casting is an action applying to one topic. Understand "[yonk] [text]" as empowered casting. Carry out empowered casting: record the outcome of casting yonk at the location; if the action succeeded: now the modification counter is 2; silently execute the command "[topic understood]". Should the game suggest empowered casting: it is a bad suggestion. Definition: a spell is metamagic rather than non-metamagic if it is yonk or it is lleps. To decide whether the command is not metamagic: if the saved command matches the text "lleps", no; if the saved command matches the text "yonk", no; yes. Definition: a spell is mistaken if it is non-metamagic and it is not zifmia. [Allow ZIFMIA FROB, assuming some random unrelated object, but not FROTZ FROB.] Every turn when the modification counter is not 0: decrement the modification counter; if the modification counter is 0 and the player is not unmodified: say "(You release the metamagic, letting it fade from your mind.)[ccb]"; now the player is unmodified. Understand "[mistaken spell] [text]" as a mistake ("You can't see any such thing."). [Since there's no verb in the command, the usual error would be "That's not a verb I recognize." This is more useful to the player.] Section C - Hacky Disambiguation Include (- [ PrintInferredCommand from singleton_noun; ! Nothing changed here. singleton_noun = FALSE; if ((from ~= 0) && (from == pcount-1) && (pattern-->from > 1) && (pattern-->from < REPARSE_CODE)) singleton_noun = TRUE; if (singleton_noun) { BeginActivity(CLARIFYING_PARSERS_CHOICE_ACT, pattern-->from); if (ForActivity(CLARIFYING_PARSERS_CHOICE_ACT, pattern-->from) == 0) { print "("; PrintCommand(from); print ")^"; } EndActivity(CLARIFYING_PARSERS_CHOICE_ACT, pattern-->from); } else { print "("; PrintCommand(from); print ")^"; } ]; [ PrintCommand from i k spacing_flag spell_flag; ! One slight change here. if (from == 0) { i = verb_word; if (LanguageVerb(i) == 0){ spell_flag = PrintVerb(i); if (spell_flag == 0) print (address) i; } from++; spacing_flag = true; } for (k=from : kk; if (i == PATTERN_NULL) continue; if (spacing_flag) print (char) ' '; if (i == 0) { PARSER_CLARIF_INTERNAL_RM('F'); jump TokenPrinted; } if (i == 1) { if (spell_flag == 0) PARSER_CLARIF_INTERNAL_RM('G'); ! "that" else print "that spell at"; ! custom (changed) message jump TokenPrinted; } if (i >= REPARSE_CODE) print (address) VM_NumberToDictionaryAddress(i-REPARSE_CODE); else if (i ofclass K3_direction) print (LanguageDirection) i; ! the direction name as adverb else print (the) i; .TokenPrinted; spacing_flag = true; } ]; -) instead of "Print Command" in "Parser.i6t". Include (- {-log:Compiling I6 Verb directives} {-call:PL::Parsing::Verbs::compile_all} {-log:Compiling noun and scope filter tokens} {-call:PL::Parsing::Tokens::Filters::compile} [ UnknownVerb; verb_wordnum = 0; return 'no.verb'; ]; [ PrintVerb v; if (v == 'no.verb') { print "cast"; rtrue; } ! This line was changed, since casting is the only in-universe action which can happen with no verb. rfalse; ]; -) instead of "Grammar" in "Output.i6t". Chapter 4 - Spell Durations Table of Spell Durations subject (an object) enchantment (a spell) duration (a number) end effect (a phrase object -> nothing) with 16 blank rows Affecting relates various spells to various things. The verb to affect implies the affecting relation. The currently reset object is an object that varies. Reset is a spell based rulebook with default success. To remove effects of (enchantment - a spell) from (item - an object): now the currently reset object is the item; follow the reset rules for the enchantment; now the item is not affected by the enchantment. To affect (subject - an object) with (enchantment - a spell) for (duration - a number) turns: if the number of blank rows in the Table of Spell Durations is 0: say "*** ERROR ***[br]No more space in the Table of Spell Durations!"; stop; choose a blank row in the Table of Spell Durations; now the subject entry is the subject; now the enchantment entry is the enchantment; now the duration entry is the duration plus one; [Add one since we're about to decrement it.] now the subject is affected by the enchantment. To remove records of (enchantment - a spell) from (subject - an object) without reset: [Cut a row out of the duration table without running any final effects.] repeat through the Table of Spell Durations: if the subject entry is the subject and the enchantment entry is the enchantment: blank out the whole row; stop. To fizzle (enchantment - a spell) from (subject - an object): remove records of the enchantment from the subject without reset; remove effects of the enchantment from the subject. To fizzle all spells from (subject - an object): repeat with the enchantment running through spells which affect the subject: fizzle the enchantment from the subject. Every turn when the Table of Spell Durations is non-empty: repeat through the Table of Spell Durations: unless the duration entry is -1, decrement the duration entry; if the duration entry is zero: remove effects of the enchantment entry from the subject entry; blank out the whole row. Inverse effect of casting a spell at an object when the second noun is affected by the spell understood (this is the fizzle long-term spells rule): say "Your inverse-spell slowly drains the energy from the [i][spell understood][/i] enchantment on [the second noun]."; fizzle the spell understood from the second noun. Chapter 5 - Effects of Spells Section A - Enchanter [Gnusto] Instead of casting gnusto at the player: say "The [i]gnusto[/i] spell is not designed to copy spells out from memory[--]it needs a physical copy of the scroll." Effect of casting gnusto at something that is not a spell scroll when the second noun is not a spell book: say "The [i]gnusto[/i] spell finds no incantation to copy, and fades away." Effect of casting gnusto at a blank spell scroll: say "The [i]gnusto[/i] spell attempts to copy [the second noun] into your spellbook, but finds no incantation written on it." Effect of casting gnusto at a spell book: say "The spell fizzles. Unlike spell scrolls, spell books are magically guarded against the [']theft['] of their lore."; say "[note][bracket]If you want to prepare a spell from a spell book in order to cast it later, try PREPARE [a random spell inscribed in the second noun in capitals].[close bracket][/note][br]". Instead of casting gnusto at your spell book when the player is not reversed: say "The [i]gnusto[/i] spell doesn't work that way: you cast it at a spell on a scroll, and it copies it into your spellbook." Should the game suggest casting gnusto at something that is not a spell scroll when testing the second noun: it is a bad suggestion. Effect of casting gnusto at a spell scroll when the player does not carry the player's preferred spell book (this is the search for spell book rule): if the player can touch the player's preferred spell book: carry out the implicitly taking activity with the player's preferred spell book; if the player carries the player's preferred spell book, abide by the standard gnusto rule; say "The spell quests around in your hands, looking for [the player's preferred spell book], and, not finding it, fades reluctantly." Effect of casting gnusto at a spell scroll (this is the standard gnusto rule): let xyzzy be the inscribed spell of the second noun; let the tome be the player's preferred spell book; [Shorter to type.] say "[The tome] begins to glow softly. [if xyzzy is inscribed in the tome]A wisp of light traces over the [i][xyzzy][/i] spell in glowing letters, the old words beginning to shine[else]Slowly, ornately, the words of the [i][xyzzy][/i] spell are inscribed, glowing[end if] even more brightly than the book itself. The book's brightness fades, but the spell remains! However, [the second noun] on which it was written [vanish] as the last word is copied[if xyzzy is inscribed in the tome].[p]Perhaps you'll know it especially well now[end if]."; add xyzzy to the tome; now the remembered location of the second noun is nothing; remove the second noun from play. Effect of casting gnusto at a powerful spell scroll: [This catches semipowerful scrolls as well.] let the tome be the player's preferred spell book; if the player does not carry the tome, let the tome be a random spell book carried by the player; say "[The tome] begins to glow softly. In a spectacular effort of magic, the powers of the [i]gnusto[/i] spell attempt to copy the [inscribed spell of the second noun] spell into your book, but the spell is too long, too complicated, and too powerful. The glow fades, but fortunately [the second noun] remains intact."; rule succeeds. Empowered effect of casting gnusto at a somewhat powerful spell scroll: [YONKed GNUSTO is more powerful than normal GNUSTO.] if the player does not carry the player's preferred spell book, abide by the search for spell book rule; otherwise abide by the standard gnusto rule. Empowered effect of casting gnusto at an overpowered spell scroll: [Still not enough!] let the tome be the player's preferred spell book; if the player does not carry the tome, let the tome be a random spell book carried by the player; say "[The tome] begins to glow softly. In an amazingly spectacular effort of magic, the powers of the enhanced [i]gnusto[/i] spell attempt to copy [inscribed spell of the second noun] into your book, but even with the aid of [i]yonk[/i] this spell is just barely too powerful. The glow fades, but fortunately [the second noun] remains intact."; rule succeeds. Inverse effect of casting gnusto at a spell scroll: say "The [i]gnusto[/i] spell does something to the scroll, but you see no obvious effect. Perhaps reverse-[i]gnusto[/i] is meant to be used on a spell book?". Inverse effect of casting gnusto at a spell book: say "The [i]gnusto[/i] spell does something to the book, but you see no obvious effect. Thankfully, it didn't remove any spells from it." Should the game suggest casting gnusto at a spell scroll when testing the second noun: it is a good suggestion. [As per Jacq's request, an easter egg...] The gusto flag is initially false. After reading a command: if the player's command includes "with gusto": now the gusto flag is true; cut the matched text; otherwise: now the gusto flag is false. Before doing anything when the gusto flag is true: say "You put as much effort as you can muster into [the current action]."; now the gusto flag is false. [In case of multi-part commands--this isn't perfect in the case of GO NORTH THEN GO SOUTH WITH GUSTO but prevents the message from repeating too much.] [Frotz] Instead of casting frotz at a lit thing when the player is not reversed: say "Why bother? [regarding the second noun][They're] glowing already." Instead of casting frotz at an unlit thing when the player is reversed: say "Why bother? [regarding the second noun][They're] not glowing in the first place." Instead of casting frotz at a distant lit thing when the player is reversed: [LLEPS FROTZ SUN, LLEPS FROTZ STARS, etc.] say "Indulge in such an act of hubris? Never. Humility is an important virtue for an Enchanter." Effect of casting frotz at a room: say "A soft yellow glow permeates the area."; now the second noun is lit; [ affect the second noun with frotz for 20 turns with final effect unfrotzing. ] Inverse effect of casting frotz at a room: say "The light in the area grows dimmer."; now the second noun is unlit; [ remove further effects of frotz from the noun. ] Effect of casting frotz at an active scrying device: let the far glass be the mystical relative of the second noun; if the player can see the far glass: say "With twin bursts of light, [the second noun] and [the far glass] both begin to glow!"; otherwise: say "[The second noun] [begin] to glow with a faint and somewhat distorted light."; now the second noun is lit; now the second noun is affected by frotz; now the far glass is lit; now the far glass is affected by frotz. Effect of casting frotz at something: say "There is an almost blinding flash of light as [the second noun] [begin] to glow! It slowly fades to a less painful level, but [if the second noun is a person][they] [are] now shining quite brightly[else][the second noun] [are] now quite usable as a light source[end if]."; now the second noun is lit; now the second noun is affected by frotz. Empowered effect of casting frotz at something: say "There is an incredibly bright flash of light as [the second noun] [begin] to glow! It quickly fades to a less painful level, but [if the second noun is a person][they] [are] now shining very brightly[else][the second noun] [are] now definitely usable as a light source[end if]."; now the second noun is lit; now the second noun is affected by frotz. Effect of casting frotz at the player: say "There is an almost blinding flash of light. You are bathed in a shimmering golden glow, bright enough to read by."; now the player is lit; now the player is affected by frotz. Empowered effect of casting frotz at the player: say "There is a brilliantly bright flash of light. You are now bathed in a bright golden glow."; now the player is lit; now the player is affected by frotz. Inverse effect of casting frotz at something: say "A pool of darkness covers [the second noun], then retreats. [They] [are] no longer glowing."; now the second noun is unlit; now the second noun is not affected by frotz; if the second noun is an active scrying device: let the far glass be the mystical relative of the second noun; if the player can see the far glass, say "[The far glass] also [cease] to glow."; now the far glass is unlit; now the far glass is not affected by frotz. Inverse effect of casting frotz at the player: say "Darkness sweeps over you, and you are no longer glowing."; now the player is unlit; now the player is not affected by frotz. Reset for frotz: if the player can see the currently reset object, say "The [i]frotz[/i] spell on [if the the currently reset object is the player][regarding the player]your body[else][the currently reset object][end if] wears off, and [their] magical glow fades."; now the currently reset object is unlit; Reset for frotz when the currently reset object is an active scrying device: now the mystical relative of the currently reset object is unlit; make no decision. [Blorb] The strongbox is a fixed in place container. It is closed, locked, openable, ropable, [lit,] and visible between rooms. Understand "magical" or "strong" or "box" or "glowing" as the strongbox. The printed name of the strongbox is "magical strongbox". The description of the strongbox is "Now that the spell has been cast, it looks like nothing more than an ordinary metal safe[first time]. You wonder briefly whether it could really be unlocked with a key[--]but no, there is no keyhole[only]." Instead of an actor attacking the strongbox: if the player can see the actor, say "[The actor] [thwack] the box, but it serves its purpose well and does not give."; take full time. Instead of taking the strongbox: say "You attempt to lift it, but it's far too heavy."; take full time. Effect of casting blorb at something when the second noun is fixed in place or the second noun is scenery: say "A glowing outline appears in midair, growing to encompass [the second noun]. It spreads farther and farther in an attempt to isolate [them] from [their] surroundings, but eventually gives up and fades away without effect." Effect of casting blorb at something when the second noun is part of something or the second noun is worn by something: say "The spell attempts to surround [the second noun], but [you or the holder of the second noun] [are] in the way, and it dissipates without effect." Effect of casting blorb at something (this is the standard blorb rule): if the player can see the strongbox, say "The previous strongbox disintegrates into mist as your magic is focused on [the second noun]."; if the strongbox is on-stage: [Reset a previous blorb casting.] let the home be the holder of the strongbox; repeat with the item running through things in the strongbox: move the item to the home; now the strongbox is not tied to anything; say "A glowing strongbox forms out of the air, carefully enclosing [the second noun], which disappears from view. [r]"; let the holder be the holder of the second noun; if the holder is a room, say "The strongbox rests on the ground. [r]"; if the holder is a container, say "The box [if the box is closed]settles in[else]falls into[end if] [the holder]. [r]"; if the holder is a supporter, say "The box falls onto [the holder]. [r]"; move the strongbox to the holder; while the holder of the strongbox is not a room and the holder of the strongbox is portable: if the holder of the strongbox is a person, say "[The holder of the strongbox] [struggle] with the weight, and it slips from [their] grasp. [r]"; otherwise say "[The holder of the strongbox] [are] too small to hold it, and it falls out. [r]"; move the strongbox to the holder of the holder of the strongbox; move the second noun to the strongbox; if the second noun is tied up: if the second noun is a rope: say "[The list of nonrope things tied to the second noun] [are] suddenly freed as [the second noun] [are] pulled away. [r]"; otherwise: now the second noun is tied to the strongbox; [This links the strongbox to the rope and everything else.] say "[The random rope which is tied to the strongbox] [are] pushed aside, and [adapt the verb end] up wrapped tightly around the strongbox. [r]"; [The circumlocution here is because [end] prints the name of the Dead End room.] now the second noun is not tied to anything; say "It appears solid and secure, but you get the feeling that it would open at your slightest touch."; set pronouns from the strongbox; now the remembered location of the second noun is the strongbox; unless the second noun is a person, now the second noun is handled. Effect of casting blorb at the player: say "You experience the most peculiar sensation of being simultaneously shrunken and sucked into what might best be likened to a black hole. The effect is not without its exhilarating aspect; as a way of life, however, it leaves much to be desired."; record "Blorbed out of existence" as an ending; end the story saying "You have left this plane of existence". Instead of casting blorb at the strongbox when the player is not reversed: say "Who knows what sort of magical catastrophe could result from that sort of recursion?". To empty the strongbox: repeat with the item running through things in the strongbox: move the item to the holder of the strongbox; if the item is a person and the player can see the strongbox, say "[The item] [seem] strangely unperturbed for having just been trapped in a magical strongbox."; now the strongbox is not tied to anything; remove the strongbox from play. Instead of touching or opening or unbolting the strongbox: take full time; say "As you open the strongbox it vanishes, and [the list of things in the strongbox] appear[if the number of things in the strongbox is less than two]s[end if] in its place."; empty the strongbox. Instead of unlocking the strongbox with something: say "[The second noun] is unnecessary[--]your touch is enough."; try touching the strongbox. Inverse effect of casting blorb at something: say "You cast the spell, but nothing obvious happens to [the second noun]. Perhaps anti-[i]blorb[/i] only works on strongboxes?". Inverse effect of casting blorb at the strongbox: say "The strongbox melts away, and [the list of things in the strongbox] appear[if the number of things in the strongbox is less than two]s[end if] in its place."; empty the strongbox. Effect of casting kulcad at the strongbox: say "The strongbox rips and tears as though made of paper. The shreds scatter and disappear."; remove the strongbox from play. [Notably, things in the box do NOT come back.] [Nitfol] Effect of casting nitfol at the player: say "For a moment you feel a slight echo in your thoughts, as though each word you say is being reinterpreted and repeated in your mind." Effect of casting nitfol at something: say "[The second noun] isn't very talkative." Effect of casting nitfol at an animal: say "You feel somewhat more attuned to [the second noun] as the spell completes."; affect the second noun with nitfol for 10 turns. Instead of conversing when the noun is an animal and the noun is not affected by nitfol (this is the can't talk to animals without magic rule): say "It doesn't seem like [the noun] can understand you.". Instead of saying hello to or saying goodbye to an animal when the noun is not affected by nitfol and the greeting type is explicit (this is the can't greet animals without magic rule): say "[The noun] [seem] to take no notice." Persuasion for asking an animal (called the subject) to try doing something when the subject is not affected by nitfol (this is the can't persuade animals without magic rule): say "[The subject] [do]n't seem to understand the instruction."; persuasion fails. Persuasion for asking an animal to try doing something: [Better response than 'the person has better things to do'.] say "[The person asked] [take] no notice."; persuasion fails. [Rezrov] Should the game suggest casting rezrov at something that is not openable when testing the second noun: it is a bad suggestion. Should the game suggest casting rezrov at something that is open when testing the second noun: it is a bad suggestion. [Should the game suggest casting rezrov at something that is locked: it is a good suggestion.] Effect of casting rezrov at something nonrope that is not openable: say "Nothing happens. It seems opening [the second noun] is beyond the power of the [i]rezrov[/i] spell." Instead of casting rezrov at a person: say "Surgeons might find that helpful if it worked, but it doesn't." Instead of casting rezrov at something open when the player is not reversed: say "Why bother? [regarding the second noun][They're] open already." Effect of casting rezrov at something locked: say "[The second noun] [click] open."; now the second noun is unlocked; now the second noun is open. Effect of casting rezrov at a rope: say "[The second noun] [twist] and [stiffen], [if the second noun is tied up]undoing [their] knots and [end if]falling into a pile on the floor."; repeat with the item running through things tied to the second noun: if the location of the item is the location, move the second noun to the holder of the item; [Make it come toward the player if possible.] now the item is not tied to anything. Effect of casting rezrov at something unlocked that is nonrope: say "[The second noun] [open] at the first touch of magic[first time]. Half disappointing and half satisfying, like swatting a fly with a sledge hammer[only]."; now the second noun is open. Inverse effect of casting rezrov at something openable: if the second noun is open: say "[The second noun] [slam] shut"; otherwise: say "[The second noun] [shudder]"; if the second noun is unlocked: say " and [lock]"; say "."; now the second noun is closed; now the second noun is locked. Instead of casting rezrov at a person when the player is reversed: say "Thankfully, that isn't necessary." Effect of casting rezrov at the strongbox: say "The strongbox melts away, and [the list of things in the strongbox] [appear] in its place."; empty the strongbox. [Gondar] Effect of casting gondar at something: say "The [i]gondar[/i] spell finds no way to extinguish [the second noun]." Inverse effect of casting gondar at something: say "[The second noun] bursts into spectral flame for a few moments, but appears to be unharmed." [Krebf] A thing can be undamaged or damaged. A thing is usually undamaged. Effect of casting krebf at something: say "The [i]krebf[/i] spell finds no way to repair [the second noun]." Effect of casting krebf at a damaged thing: say "[The second noun] [shine] faintly for a moment, [their] material flowing and distorting with a strange backward roar. When it finishes, no signs of vandalism remain."; now the second noun is undamaged. Inverse effect of casting krebf at something: say "The reverse-[i]krebf[/i] spell doesn't seem to have any effect[one of]. Vandalism will have to proceed through more mundane methods[or]. At any rate, it doesn't cause willful damage[or][stopping]." [Zifmia] A person has a list of objects called the summoning stack. To push (destination - an object) to/on/onto/into the/-- summoning stack of (subject - a person): add the destination to the summoning stack of the subject. To decide what object is the/an/-- entry pulled from the/-- summoning stack of (subject - a person): let N be the number of entries in the summoning stack of the subject; if N is zero, decide on nothing; let the destination be entry N of the summoning stack of the subject; remove entry N from the summoning stack of the subject; decide on the destination. The casting it at action has an object called the unsummoning destination. Effect of casting zifmia at the player: say "There is a flash of light and you find yourself standing a few feet from your former location. Amazing!" Effect of casting zifmia at a person when the location of the noun is the location: say "Nothing happens, perhaps because [the noun] [are] too close. The spell probably has a minimum range or something like that." Effect of casting zifmia at a person when the second noun is affected by vardik: say "Something feels wrong about the casting, and [the second noun] [fail] to appear." Effect of casting zifmia at a person: say "In a flash of light, [the second noun] suddenly [appear] before you."; move the second noun to the location. First effect of casting zifmia at a person (this is the check summoning to forbidden locations rule): if the location is blorple-forbidden or the location of the second noun is blorple-forbidden, say "You begin the spell but something feels wrong about it, and it dissipates without any real effect."; otherwise continue the action. First effect of casting zifmia at a person (this is the zifmia setup rule): [This one's actually listed first.] push the holder of the second noun onto the summoning stack of the second noun; now the second noun is not tied to anything; make no decision. First inverse effect of casting zifmia at a person (this is the check unsummoning to forbidden location rule): let the place be the unsummoning destination; if the place is not a room, now the place is the location of the place; if the location of the second noun is blorple-forbidden or the place is blorple-forbidden, say "Something doesn't feel quite right as you begin the spell, and it dissipates without any obvious effect."; otherwise continue the action. First inverse effect of casting zifmia at a person (this is the reverse zifmia setup rule): [Again, this one is actually first.] if the location of the second noun is the Clean-Room: [The Clean Room's magic makes it easier.] say "You feel an additional burst of power as the residual magic of the Clean Room assists you[first time]. It seems banishing summoned creatures is an important concern [if the location is not the Clean-Room]t[end if]here[only]."; now the unsummoning destination is entry 1 of the summoning stack of the second noun; [Take the entry from the bottom.] truncate the summoning stack of the second noun to zero entries; [Then empty the stack.] otherwise: now the unsummoning destination is an entry pulled from the summoning stack of the second noun; make no decision. Inverse effect of casting zifmia at a person: if the unsummoning destination is nothing, make no decision; if the second noun is the player: say "Space twists strangely for a moment..."; award the "Word of Recall" achievement; otherwise: say "[The second noun] [seem] to waver for a moment, then [disappear] with a slight [i]pop[/i]."; if the player can see the unsummoning destination, say "[They] [appear] again [if the unsummoning destination is a supporter]o[else]i[end if]n [the unsummoning destination]."; now the second noun is not tied to anything; move the second noun to the unsummoning destination; if the current interlocutor is the second noun, reset the interlocutor. Understand "zifmia" as "[zifmia]". Vaguely summoning is an action applying to one topic. Understand "[zifmia] [text]" or "cast [zifmia] at/on [text]" as vaguely summoning. Should the game choose vaguely summoning: it is a good choice. Check vaguely summoning (this is the can't vaguely summon without zifmia rule): unless the player can cast zifmia at nothing, stop the action. Carry out vaguely summoning: increment the casting count of zifmia. The report vaguely summoning rulebook has default success. Report vaguely summoning: say "Nothing happens. Summoning of beings is very difficult unless the beings can be seen, and usually only works if the target has some great magic of their own." Understand "a/the/-- jeearr/demon" or "the/-- unseen terror" as "[unseen terror]". Report vaguely summoning "[unseen terror]": say "The spell activates, and seems to have had an effect, but nothing obvious happens at first. Then you suddenly feel a strange chill in the air, and hear a laugh inside your head. [i]Foolish student...[/i] You are suddenly aware of a vague and wispy shape materializing in the air around you. [i]...at last...[/i] You try to run, but your whole body seems to be paralyzed. You can't even breathe. [i]...I am released![/i] The mist grows thicker and denser, compressing into a sort of cloud around you. [i]Imprisoned for so long...[/i] You try desperately to breathe, to blink, to move in some way. But your body refuses to obey you. [i]...denied my power, denied even my form...[/i] You can barely see now through the swirling cloud. It begins to glow with flickers of red and deep black. [i]But now, another chance.[/i] The echoing voice in your mind grows louder and louder, drowning out the sounds of the world. [i]A new body, a new form, a new life.[/i] The cloud suddenly pours forward, streaming into your eyes and mouth. A terrible coldness fills your body. [i]Hm...'[/br][player's forename]'. [player's full name]. I like it. This is the name the people will fear.[/i] There is a sharp pain behind your eyes, and images start flashing through your thoughts. Breaking into the library. Preparing your spell book. Sitting through exams. Casting your first spell. Coming to GUE Tech...scenes from your life, running backwards as far as you can remember. [i]Indeed. This form will serve me nicely.[/i] Suddenly the mist is gone. You hear the laughter again, but this time it is not in your mind. It is coming from your own mouth. [alert]YES. SO IT BEGINS.[/alert] Your arm twitches, then waves in front of you. You are breathing again, very faintly. Your legs begin to move. You begin to walk, hesitantly, then faster as it familiarizes itself with your body. You can do nothing but watch helplessly as you, as [i]it[/i], returns to the college. Following your memories from earlier it seeks out the dormitories, drawing traces of magic and memory from those it passes. As its powers grow, the spirit grants you a vision of the future. You see the people of the land toiling to erect great idols to you. Parents offer up their own children upon these altars. The rivers of the land fill with blood. And [i]you[/i] embody this horror; [i]your[/i] name is cursed by every victim; [i]your[/i] face adorns the idols. And worst of all, you remain awake and aware, a witness to everything, never sleeping, and never, ever to escape."; now the score is -999; record "Summoning a demon and taking over the world" as an ending; end the story saying "You suffer an eternity of torment". Report vaguely summoning "a/the/-- librarian/librarians": say "You focus on your memories of the librarians, and you can feel your spell beginning to take shape...but then it collapses in on itself and fizzles out." Understand "p/-- david/dave/-- lebling" or "marc/-- blank" or "steven/steve/-- meretzky" or "the/-- implementors/implementers" as "[implementors]". Understand "tim/-- anderson" or "bob/robert/-- bates" or "michael/mike/-- berlyn" or "amy/-- briggs" or "bruce/-- daniels" or "stu/-- galley" or "brian/-- moriarty" as "[other implementors]". Report vaguely summoning "[implementors]" for the first time: say "Space warps for a moment, and the original Implementers of this world appear before you. After a few seconds of stunned silence, they speak:[br] Steve Meretzky: 'What's going on here?'[br] Marc Blank: 'I think it's the old [i]zifmia[/i] code again.'[br] Steve Meretzky: '[i]Zifmia[/i], still? Shouldn't that have been fixed?'[br] Marc Blank: 'I don't know. Dave wrote that part originally.'[br] Dave Lebling: 'I thought I'd fixed that one! The change must not have persisted...'[p] Then in an instant they are gone again, leaving you somewhat bewildered as to what just happened." Report vaguely summoning "[implementors]": say "Nothing happens any more." Report vaguely summoning "[other implementors]": say "For a moment you think you can hear voices, very faintly, but then they are gone again. Their connection to this world is not quite strong enough for them to be summoned through." Report vaguely summoning "an/a/the/-- implementor/implementer/daniel stelzer/--": say "A long-haired and slightly dishevelled man materializes suddenly out of the air in front of you. He looks around in confusion for a long moment, muttering quietly to himself. 'Must be a [i]zifmia[/i] spell...but the casting it at action requires the second noun to be in scope. Did something go wrong with the palantir code again?' He pulls out an enormously long scroll of parchment and runs it through his hands until he finds the right spot. 'Ah, here it is...' He scratches something out, then whispers the word [b]compile[/b]. There is a flash of light, and he's gone."; move the changelog to the location. Report vaguely summoning "an/a/the/-- implementor/implementer/daniel stelzer/--" when the changelog has been on-stage: say "Nothing happens. Really. Nothing at all." There is a changelog. "A scrap of paper lies on the ground, right where the Implementor had been standing." Understand "scrap" or "paper" or "of paper" as the changelog. The description of the changelog is "Major Changes in Version 2 (Post-IntroComp) - Replaced Approaches by Emily Short with Distant Movement by Daniel Stelzer (similar functionality, but different interface--let me know what you think of it) - Overhauled scope rules to allow better disambiguation messages for objects in other locations - Added caching to scope rules, greatly improving speed - Completely replaced 'find the vent' puzzle, which didn't make much sense - Added checkpoints 'prelude', 'adventurer', and 'intermezzo' - Removed ropes until I can get them working better - Added ability to erase spell scrolls - Added new shorthand for metamagic: 'lleps zifmia adventurer', 'yonk malyon dragon' - Far too many small bug fixes to count[p]". [Cleesh] Effect of casting cleesh at a person when the second noun is affected by vardik: say "You complete the spell, but nothing happens to [the second noun], nothing at all. Strange." Effect of casting cleesh at the player: say "You are turned into a newt, and scurry off to find your friends in the swamp. You are distracted by various yummy insects along the way, but eventually settle into a nice gooey part of the morass."; record "Cleeshed yourself into a newt" as an ending; end the story saying "You live happily ever after[if a random chance of 1 in 5 succeeds] (until you are devoured by a heron)[end if]". Effect of casting cleesh at something: say "The cleesh spell is only designed to affect living things, and so [the second noun] [are] unaffected." Effect of casting cleesh at a person: say "[The second noun] looks sort of green and slimy for a moment, but [they] [get] better." [Vaxum] Effect of casting vaxum at the player: say "You feel a little better." Inverse effect of casting vaxum at the player: say "You feel a little worse." [I used to have a system of relations to track people's moods toward the player, but it was unnecessarily complicated for this story.] [Exex] Effect of casting exex at something: say "[The second noun] vibrates for a moment." Effect of casting exex at a person when the second noun is affected by exex: say "Nothing further seems to happen yet." Effect of casting exex at a person: say "[if the second noun is the player]You feel energetic and zippy.[otherwise][The second noun] shimmers, then vibrates in place for a few seconds, but doesn't seem to take any notice of the change.[end if]"; affect the second noun with exex for 10 turns. Reset for exex: if the currently reset object is the player: say "The effects of the exex spell have worn off. You are ravenous, parched, and tired."; otherwise if the player can see the currently reset object: say "[The currently reset object] [seem] to be moving slowly again." [Ozmoo] [See GASPAR.] [Melbor] [See VARDIK.] [Izyuk] Instead of casting izyuk at a person when the second noun is flying and the player is not reversed: say "[The second noun] [are] already flying." Effect of casting izyuk at something: say "The [i]izyuk[/i] spell attempts to levitate [the second noun], but without a conscious mind to keep the spell working it fails after a few moments." Effect of casting izyuk at a person: say "[if the second noun is the player]You are now floating serenely in midair.[otherwise][The second noun] [rise] a few feet into the air and [hang] there, hovering.[end if]"; affect the second noun with izyuk for 3 turns. Definition: something is flying: no. Definition: a person is flying if they are affected by izyuk. Understand "land" as a mistake ("[if the player is affected by izyuk]You'll have to wait a few minutes until [i]izyuk[/i] wears off.[otherwise]You're already on the ground."). Instead of sleeping when the player is flying: say "You'll need to settle down before you can think of settling down." Reset for izyuk: if the currently reset object is the player: say "You settle gently to the ground."; otherwise if the player can see the currently reset object: say "The izyuk spell wears off. [The currently reset object] [settle] gently to the ground." [Filfre] Effect of casting filfre at: say "In a blinding burst of pyrotechnics, the air lights up with fireworks and dazzling explosions of multicolored fire! In sizzling sparks and roiling smoke is written:[fixed letter spacing][line break] [line break] 'This game is an homage[line break] to the brilliant ENCHANTER trilogy[line break] by Marc Blank, David Lebling, and Steve Meretzky'[line break] [line break] [variable letter spacing]before dying out." [Kulcad] Effect of casting kulcad at something: if the second noun is affected by a spell: fizzle all spells from the second noun; say "You feel the weave of magic around [the second noun] come undone as the others spells cease to affect [them]. However, n"; otherwise: say "N"; say "othing much seems to happen to [the second noun] [themselves]. It seems that [they] [are] mostly nonmagical." Effect of casting kulcad at a spell scroll: say "[The second noun] [disintegrate] as [their] magic is destroyed."; remove the second noun from play. Effect of casting kulcad at a spell book: say "[The second noun] [disintegrate] as [their] magic is destroyed."; remove the second noun from play. Instead of casting kulcad at the player: say "You're not sure what would happen, but it most certainly would not be good." [Guncho] Effect of casting guncho at something: say "[The second noun] wavers and disappears."; remove the second noun from play. Effect of casting guncho at the player: say "As you intone the words of the spell, the color seems to drain out of your surroundings. Then suddenly everything goes black."; record "Gunchoed from this plane" as an ending; end the story saying "You have left reality behind". Section B - Sorcerer [Vezza] First effect of casting vezza at: say "For a moment, the space around you seems to be overlaid on itself: the present and the future. [r]"; make no decision. [Print this before any other room-specific rules.] First inverse effect of casting vezza at: say "For a moment, the space around you seems to be overlaid on itself: the present and the past. [r]"; make no decision. Last inverse effect of casting vezza at (this is the inverse vezza fallback rule): abide by the vezza fallback rule. Last effect of casting vezza at (this is the vezza fallback rule): [Don't fall through to the "nothing happens" rule, though.] say "Nothing much seems to have changed."; rule succeeds. The vezza fallback rule is listed before the casting fallback rule in the effect rulebook. The inverse vezza fallback rule is listed before the inverse casting fallback rule in the inverse effect rulebook. [Yomin] Effect of casting yomin at a person when the second noun is affected by vardik: say "You sense nothing but a shimmering golden-white light." Effect of casting yomin at the player: say "You sense a mind concentrating hard on casting the yomin spell. The recursion gives you a headache." Effect of casting yomin at a person: say "You sense a whirling jumble of thoughts, none standing out in particular." Effect of casting yomin at something: say "[The second noun] doesn't seem to be thinking anything much." [Gaspar] [I don't know if I'll implement this one--it's a lot of work for a spell-scroll version of SAVE/RESTORE.] [Meef] Instead of casting meef at a person: say "The meef spell is only designed to work on plants, not animals or people." [Malyon] Effect of casting malyon at a person: say "Wow! It looks like [the second noun] is now alive! What a magician you are!" Effect of casting malyon at something: say "As you complete the spell, [the second noun] comes alive! It blinks, dances a little jig, and a moment later returns to normal." Effect of casting malyon at the player: say "Congratulations, you are now alive. An amazing bit of spellcasting work there." [Fweep] [See IZYUK] [Swanzo] [Nothing in general] [Vardik] Effect of casting vardik at something when the second noun is affected by vardik: say "The [i]vardik[/i] spell already in effect seems to interpret your casting as an attack, and repels it." Effect of casting vardik at something: if the second noun is the player, say "A feeling of warmth and protection fills your mind."; otherwise say "Nothing obvious happens, but you can sense that the spell worked."; affect the second noun with vardik for ten turns. Reset for vardik: if the currently reset object is the player, say "The feeling of warmth from the [i]vardik[/i] spell slowly fades away." [Aimfiz] Effect of casting aimfiz at a person: [The actual targets of aimfiz are special backdrops, not people.] say "You find yourself standing a few feet from [the second noun]. Amazing!" Effect of casting aimfiz at the player: say "You are suddenly standing right next to your former location. Wow!" [Yonk] Effect of casting yonk at: say "You feel a surge of magical power building up inside your mind[first time]. It's hard to keep it contained; you will have to release it as you cast your next spell[only]."; now the player is empowered. Empowered effect of casting yonk at: [This is necessary to prevent the first rule from happening twice: once the player is empowered it looks for this rule, and if it doesn't find it, it falls through to the normal Effect rulebook.] say "You feel your power surge again, but it is too much for you to hold, and it releases spontaneously in a blast of green and blue lightning that leaves you momentarily blinded."; award the "Overcharged" achievement. [Golmac] Effect of casting golmac at: say "There is a burst of light and a cloud of smoke, but when it clears nothing seems very different." Section C - Spellbreaker [Blorple] The Nondescript Room is an unplottable room. "Not quite a [i]room[/i], per se, but that is the best way to describe your surroundings. The whole world seems blurry and vaguely-defined, without real color or composition." The nondescript room has an object called the target. Mystical concordance relates one thing to another (called the mystical relative). The verb to be mystically linked to implies the mystical concordance relation. Elemental concordance relates one thing (called the elemental symbol) to one room. The verb to be elementally linked to implies the elemental concordance relation. Definition: something is mystical if it is mystically linked to something or it is elementally linked to a room. Definition: a room is mystical if something is elementally linked to it. To decide what object is the mystical connection of (item - a thing): if the item is mystically linked to something (called the target), decide on the target; if the item is elementally linked to a room (called the target), decide on the target; decide on nothing. Definition: a room is blorple-forbidden rather than blorple-allowed if it is mystical or it is the nondescript room or it is impassible. [Blorple can't take you to or from such a place.] Effect of casting blorple at a person: say "You feel a strange tingling sensation for a moment, but then the spell collapses with a disappointing [i]snap[/i]." Effect of casting blorple at something: if hard mode is true: [Can't use the nondescript room teleportation trick here.] say "Your surroundings seem to shift, momentarily becoming vague and undefined. But then it passes and your vision clears."; rule succeeds; say "[one of]You have the strange sensation of being drawn into [the second noun], the world around you distorting and shifting until you find yourself in[or]Your surroundings shift[stopping]..."; now the target of the nondescript room is the second noun; if the player encloses the second noun, move the second noun to the holder of the player; move the player to the nondescript room; magically pull everything else along. Effect of casting blorple at something when the location is blorple-forbidden (this is the can't blorple in a mystical area rule): say "Nothing happens. Perhaps the spell would work better somewhere else." Instead of going when the location is the nondescript room: take full time; if there is an other thing in the nondescript room: say "You begin to move, but [the list of other things in the nondescript room] seem to stay right with you, and nothing really changes." instead; say "You begin to move forward, and the vagueness distorts around you, resolving into faint outlines, then the solid forms of..."; let the place be the target of the nondescript room; while the place is not a room and the place is not enterable: let the place be the holder of the place; move the player to the place; magically pull everything else along; now everything in the nondescript room is nowhere. [Just a precaution, this should never happen.] Definition: something is other if it is not the player. Definition: something is another if it is not the player. To magically pull everything else along: if the second noun is tied up: repeat with the item running through things tied to the second noun: if the item is the player or the item is enclosed by the player: [If it would be tied to something problematic, remove it.] now the second noun is not tied to the item; repeat with the coil running through ropes enclosed by the player: [Don't allow carried ropes to bypass this.] if the coil is tied to the player, next; repeat with the item running through nonrope things which are tied to the coil: unless the item is enclosed by the player: say "[The coil] [are] pulled sharply from your hands."; move the coil to the holder of the item; break; if an other thing is tied to the player: [First, remove fixed-in-place objects.] repeat with the item running through other things tied to the player: if the item is fixed in place or the item is scenery [and the item is not the strongbox]: now the item is not tied to the player; if an other thing is tied to the player: [Now if there's anything left, pull it along.] say "[The list of other things tied to the player] [appear] beside you[first time]. Apparently your blorple spell affected the rope as well[only]."; repeat with the item running through other things tied to the player: move the item to the location. Effect of casting blorple at a mystical thing: say "[one of]You have the strange sensation of being drawn into [the second noun], the world around you distorting and shifting until you find yourself in[or]Your surroundings shift[stopping]..."; let the far side be the mystical connection of the second noun; if the far side is a room: if the second noun is portable: remove the second noun from play; otherwise: if the second noun is enclosed by the player: move the second noun to the holder of the player; let the far side be the holder of the far side; if the far side is a person: say "[The far side] [jump] back as you appear."; let the far side be the holder of the far side; if the far side is not a room and the far side is not enterable: say "The vague outlines of [the far side] begin to appear around you, but fade away before they fully resolve."; rule succeeds; move the player to the far side; magically pull everything else along; award points for "exploring mystical connections". Effect of casting blorple at an inactive scrying device: say "You feel yourself being drawn towards [the second noun], being pulled into it...but something isn't quite right, and the magical connection fades." After going from a mystical room (called the place): if the elemental symbol of the place is off-stage: say "As you leave, [the elemental symbol of the place] reappears in your hand."; move the elemental symbol of the place to the player; continue the action. [Lesoch] Definition: something is blowable: if it is fixed in place, no; if it is scenery, no; if it is a person, no; yes. To decide what object is the discard destination of (the stand - a thing): let the place be the holder of the stand; while the place is not a container and the place is not a supporter and the place is not a room and the place is not a vehicle: now the place is the holder of the place; [Don't put it in an impossible place.] decide on the place. Effect of casting lesoch at a room: if the second noun is the location: say "Slowly, teasingly, a small puff of wind begins to blow. It swirls around you, increasing in strength for a moment, then subsides."; if the player is flying, say "You cautiously let go of your handhold and float back toward the middle of the area."; otherwise: say "You feel the wind fluttering through your mind for a moment, though the air around you is still."; let the wind flag be false; let the order flag be false; repeat with the stand running through supporters in the second noun: repeat with the item running through blowable things on the stand: if a random chance of 2 in 3 succeeds: now the wind flag is true; [This means we found something, and the text will change.] move the item to the discard destination of the stand; otherwise: now the order flag is true; [This means something was not affected, by random chance.] if the wind flag is true, say "Looking around, [if the second noun is the location]the room[else][the second noun][end if] looks somewhat messier than before[if the second noun is the spell research room and the scribbled scroll was on the workbench and the scribbled scroll is not on the workbench]. The wind blew various bits of debris off the workbench[--]including the scribbled scroll[end if]."; if the order flag is true, say "The wind wasn't particularly powerful, however, and you're left feeling slightly disappointed in the result. Perhaps if you tried again." Empowered effect of casting lesoch at a room: if the second noun is the location: say "For a moment nothing happens. Then with a terrifying abruptness gale-force winds begin to appear out of nowhere, whipping the air around you into a veritable tornado for a moment. Then just as quickly it subsides."; if the player is flying: say "Floating in midair, however, you are powerless to resist the storm as it hurls you with great force into the wall."; record "Launching yourself into a wall" as an ending; end the story saying "You have died"; rule succeeds; otherwise: say "You simultaneously feel wind and no wind around you. The room is still, but [the second noun] is suddenly wracked by an enormous gale."; let the wind flag be false; repeat with the stand running through openable unlocked containers enclosed by the second noun: if a random chance of 1 in 3 succeeds: now the wind flag is true; now the stand is open; repeat with the stand running through open containers enclosed by the second noun: repeat with the item running through blowable things in the stand: if a random chance of 2 in 3 succeeds: now the wind flag is true; move the item to the discard destination of the stand; repeat with the stand running through supporters enclosed by the second noun: repeat with the item running through blowable things on the stand: now the wind flag is true; [This means we found something, and the text will change.] move the item to the discard destination of the stand; if the wind flag is true, say "As you regain your balance, you notice that [if the second noun is the location]the room[else][the second noun][end if] seems quite a bit messier than before." Effect of casting lesoch at something: say "Disappointingly, [the second noun] [seem] mostly unaffected by the breeze." Effect of casting lesoch at a supporter: say "A thin, narrow breeze sweeps across [the second noun][if there is a blowable thing on the second noun], brushing [the list of blowable things on the second noun] off the edge[end if]."; let the place be the discard destination of the second noun; repeat with the item running through blowable things on the second noun: move the item to the place. Effect of casting lesoch at an open container: say "A thin, narrow breeze sweeps into [the second noun][if there is a blowable thing in the second noun], swirling around and tossing [the list of blowable things in the second noun] out[end if]."; let the place be the discard destination of the second noun; repeat with the item running through blowable things in the second noun: move the item to the place. Inverse effect of casting lesoch at: say "The air goes absolutely still for a moment." [Jindak] A thing can be magical or nonmagical. A thing is usually nonmagical. A spell scroll is usually magical. A spell book is usually magical. Definition: a thing is apparently magical if it is magical or it is affected by a spell. Effect of casting jindak at a room: if the player can see something apparently magical: say "[The list of visible apparently magical things] [glow] faintly blue."; otherwise: say "Nothing glows." Effect of casting jindak at an apparently magical thing: say "[The second noun] [flash] blue." [Caskly] [See KREBF] [Throck] Effect of casting throck at a person: say "The spell doesn't seem to do anything to [the second noun], perhaps because [they] [are] not a plant." [Espnis] Effect of casting espnis at a person: say "[The second noun] [look] a little bit sleepy." [Liskon] [I don't know how this could be implemented...if I need it I'll use a special case.] [Tinsot] [Same as LISKON, I don't know how I'll handle fluids.] [Snavig] [Nothing in general.] [Girgol] [I tried to write this one, but time is so intrinsic to Inform that I was unable to. Spellbreaker is getting stiffed on spells, it seems...] Section D - Potions Effect of casting berzio at: say "As the spell completes, you feel strangely satisfied." Inverse effect of casting berzio at: say "You suddenly feel incredibly hungry and thirsty." Effect of casting blort at: say "Your eyes suddenly begin to tingle and prickle in a not entirely pleasant way. Details suddenly jump out at you as though you are seeing with greater clarity."; affect the player with blort for 10 turns. The can't act in the dark rule does nothing when the player is affected by blort. Instead of casting flaxo at: say "You can't quite bring yourself to try that spell." Effect of casting fooble at: say "You suddenly feel filled with energy."; affect the player with fooble for 10 turns. Effect of casting vilstu at: say "You feel a sudden tightness in your chest, but it quickly passes, and nothing else seems to happen."; affect the player with vilstu for 10 turns. Section E - Other [Bozbar] Effect of casting bozbar at a person: say "[The second noun] [stare] in amazement as wings briefly sprout from [their] back!"; say "Unfortunately, they do not seem large enough to support [the second noun]'s weight." Effect of casting bozbar at the player: say "You try to cast the spell, but the feeling of wings sprouting out of your shoulders breaks your concentration.". [Lleps] Effect of casting lleps at: [say "Your mind wrenches as your spells reverse themselves.";] say "The spell goes off, but doesn't leave your mind[--]a remnant stays, ready to affect the next spell you cast[first time]. It is an odd sensation, having a spell half-memorized like this. It has an irritating feeling of incompleteness to it[only]."; now the player is reversed. Inverse effect of casting lleps at: [See the comment under YONK above.] say "The second [i]lleps[/i] spell counteracts the first, releasing the pressure." Empowered effect of casting lleps at: say "The feeling of the [i]lleps[/i] spell comes back in a sudden burst, leaving you with a splitting headache."; now the player is reversed. [Serage] Effect of casting serage at the player: say "As you complete the spell, you feel a strange force in your head, and your mind goes completely blank. Without a command to obey you find yourself incapable of action, and without being able to act you cannot give yourself a command...[p]The librarians find you the next morning, still standing there as motionless as a statue."; record "Attempting to control your own mind" as an ending; end the story saying "That could have ended better". Effect of casting serage at an animal: say "You begin the spell and attempt to bring [regarding the second noun][possessive] mind under your control, but [his] thought processes are just too different from yours." [Zikkle] Effect of casting zikkle at: say "Nothing suddenly appears. Perhaps there is nothing invisible nearby." [Vhelas] Effect of casting vhelas at: say "Your vision goes slightly dimmer, as though you were seeing the world through a thin veil."; repeat with the spectre running through ghosts: if the haunted location of the spectre is nothing, next; move the spectre to the haunted location of the spectre; if there is a visible ghost in the location, say "[A list of visible ghosts in the location] suddenly [become] visible!"; affect the player with vhelas for 10 turns. Effect of casting vhelas at when the player is affected by vhelas: say "You put more energy into the spell and your vision darkens slightly again."; choose a row with an enchantment of vhelas in the Table of Spell Durations; increase the duration entry by 10. Reset for vhelas: say "Your vision becomes slightly brighter again[if there is a visible ghost in the location], and [the list of visible ghosts in the location] [disappear][end if]."; if the current interlocutor is a ghost, reset the interlocutor; repeat with the spectre running through ghosts: now the haunted location of the spectre is the holder of the spectre; remove the spectre from play. [Damazha] Effect of casting damazha at something: say "You feel a rush of energy released as the spell completes. Your body begins to flow and shift, taking on the properties of [the second noun], while [they] [begin] to twist into a shape resembling yours. The process is unbearably painful, and at least you do not need to endure it for long. In a moment your body is nothing more than a surreal sculpture, the figure of a [if the player is masculine]man[else if the player is feminine]woman[else]person[end if] melting and combining into [a second noun]."; record "Merged with an inanimate object" as an ending; end the story saying "You have died". Effect of casting damazha at a person: say "You feel a rush of energy released as the spell completes, flowing between you and [the second noun]. Your bodies begin to shift and distort, flowing together, combining, becoming one. [Her] thoughts fill your mind in a terrified cacophony as the two essences meet. [i]What is going on? What is happening to me?[/i] Soon your forms have merged completely, creating a strange combined-person: half of you, half of [the second noun].[p]Unfortunately, your minds did not survive the transition."; record "Combined your essence with another person" as an ending; end the story saying "You have effectively died". Section F - Strange Interactions [Some things have to be at the end because Inform is picky about declaration order.] The Secure Room is a dark room. "Everything about this room gives an impression of great strength. The walls are made of solid iron, welded and riveted ostentatiously at the edges. There is no obvious entrance or exit, but something about the floor gives it an ethereal quality, as though you could move through it easily." The strongbox is elementally linked to the Secure Room. A shimmering figure is fixed in place in the Secure Room. The figure is insubstantial, magical, and lit. "In the center of the room is a vague figure of shimmering light." Understand "light" as the figure. The description of the figure is "It seems to resemble [if the first thing held by the strongbox is nothing]nothing in particular[else][a list of things in the strongbox], in a vague and blurry way[end if]." First effect of casting blorb at when the location is the Secure Room (this is the can't blorb in the Secure Room rule): say "The walls seem to glow with power for a moment, but nothing else happens." After casting blorple at the strongbox (this is the set Secure Room exit rule): change the down exit of the Secure Room to the location of the strongbox; say "Altered exit: down from the Secure Room is [the room down from the Secure Room], should be [the location of the strongbox]."; continue the action. Every turn when a portable inanimate thing is in the Secure Room (this is the clean up secure room rule): if the location is the Secure Room, say "[The list of portable inanimate things in the Secure Room] [seem] to swirl and diffuse into the room, joining the shimmering figure in the center."; while the Secure Room holds a portable inanimate thing (called the item): move the item to the strongbox; award the "Secure Connection" achievement. Volume One - The First Act Test all with "test plot-entrance / test plot-gnusto / test plot-basic". Book I - Starting Out, GNUSTO Act 1 is a scene. Act 1 begins when the entire game begins. Act 1 ends when the player's capture ends. The time of day is 11:15 PM. When Act 1 begins: mark checkpoint act one as passed. At 6:00 AM: if the player's capture is not happening and the player is regionally in the Library: say "Hm...it's 6:00, and you've seen no sign of the library opening. Maybe your timepiece is fast[if the player's capture has happened], or maybe everyone is too preoccupied figuring out what happened in Borphee[end if]?". Door-puzzle is a puzzling scene with puzzle description "getting into the library proper". Door-puzzle begins when Act 1 begins. Door-puzzle ends when the Antechamber is visited. When the door-puzzle ends, close off the entrance. [The player can't go back after this.] Chapter 0 - The Player's Possessions The description of the player is "You are an especially brilliant and attractive young Enchanter, if you do say so yourself. Well, strictly speaking, you aren't an Enchanter yet. But you will be soon, once [if the player's capture is not happening and the player's capture has not happened]your plan to rob the Library has succeeded[else]the immediate crisis is over[end if]." [After looking when the scrying flag is true and yourself is in the location (this is the describe player in scrying rule): if the current viewpoint is not in the location: say "Standing in the middle of the room is an uncertain-looking magic student peering into a scrying device."; make no decision.] The player carries a closed player's holdall called a cloth bag. The description of the bag is "A plain cloth bag, nothing out of the ordinary[if Act 1 is happening]. You usually use it to carry your books and such to class. But tonight you've filled it with all sorts of things which might be useful in your larceny[end if]." Rule for deciding whether all includes a thing when taking and the noun is enclosed by the player: it does not. In the bag is a spell book called your spell book. The description of your spell book is "[if nothing is inscribed in your spell book]You have written '[player's forename]'s Spell Book' hopefully across the first page, and added headings for the first few spells, but no magic is yet contained in it.[otherwise][player's forename]'s Spell Book[end if]". Understand "my" as your spell book. Understand "spellbook" as your spell book. It is ropable. Should the game choose doing something with your spell book when comparing spell books: it is a good choice. [Since "spell book" can mean any spell book, this clarifies that the player usually means their own.] In the bag is a closed opaque light container called the Frobozz Magic Parchment Pack. The description of the pack is "Horribly overpriced, but according to the catalog this is the best type of parchment for a new student to use. The label on the shiny foil wrapping says it contains one sheet of high-quality magic-imbued vellum." Understand "foil" or "parchment" or "vellum" or "shiny" or "wrapping" or "colored" or "quality" as the pack. Understand "tear open/-- [the parchment pack] open/--" as opening. After printing the name of the parchment pack while taking inventory: say " (unopened)". The pack contains a spell scroll called a blotchy parchment. [Without an explicitly defined inscribed spell the scrolls will be blank, because the null-spell is the first in the Table of Spells.] Understand "dull" or "scrap" as the blotchy parchment. Understand "vellum" or "quality" as the blotchy parchment. Understand "tear open/-- [the pack]" as opening. Instead of an actor opening the pack: take full time; if the player can see the actor, say "[The actor] [tear] open the foil pack, revealing a blotchy scrap of dull parchment."; now the blotchy parchment is carried by the actor; now the remembered location of the pack is nothing; remove the pack from play. First check copying something to the pack: say "(first opening the pack)[ccb]"; try opening the pack; say "(onto the blotchy parchment)[ccb]"; try copying the noun to the blotchy parchment instead. Instead of copying the badly-written scroll to the blotchy parchment: say "It was hard enough to get this one parchment; you don't want to use it before you've even gotten inside." Instead of casting a spell at something when the player carries the blotchy parchment and the inscribed spell of the blotchy parchment is the spell understood: say "You hesitate for a moment: you were only able to acquire this one parchment, and it will be destroyed when you use it. Are you sure you want to do this? [r]"; if the command override queue is not empty or the player consents [(to skip this question when in replay mode)], continue the action. In the bag is a light container called a pen case. The case is closed and openable. The description of the pen case is "A narrow cloth case with the initials C. C. inked on one end. When Praeceptor Callido saw the first [i]gloth[/i] scroll you copied out, she loaned you this to practice your penmanship. You ha[if the pen case has been open]d[else]ve[end if]n't even opened it until today." Some initials are part of the pen case. Understand "cc" or "c" as the initials. The description of the initials is "The last C presumably stands for 'Callido', but you have no idea what the first one means." They are insubstantial. In the pen case is a light copying tool called a quill pen. The description of the quill pen is "It's large and deep blue, with a tiny enchanted diamond set in the tip." Should the game choose when comparing the quill pen against the pen case: it is a good choice. After examining the quill pen for the first time: suggest the command "COPY X TO Y". The tiny enchanted diamond is part of the quill pen. The description of the diamond is "Even in low light it sparkles brightly. The enchantment on it allows the pen to write on normal paper without ink, and also[--]more importantly[--]to transfer spells from scroll to scroll." A correction film is in the pen case. The description of the film is "It's a sheet of very thin and slightly sticky film, about the same size as a spell scroll." The film is light. Check copying something to the correction film: say "The magical ink disappears as soon as it touches the paper." instead. A small note is in the pen case. The description of the small note is "'[Honorific for the player][Player's Surname]:[br]I also included a roll of correction film to assist you in your calligraphic practice. Place it on a spell scroll, and it will erase the incantation while leaving the [b]Presence[/b] behind. This allows one to correct errors without wasting parchment. Kindly return it to me when you are finished.[br]- [i]Pcr. Callido[/i][br]P.S. Remember to use the film within an hour or so of writing the scroll, or the ink may be too dry to remove. The older the scroll, the lower your chance of success.'". The note is light. Instead of an actor putting the correction film on a spell scroll: take full time; if the actor is the Adventurer, record the Adventurer's attempt as successful; if the second noun is blank: if the player can see the actor, say "[The actor] [spread] the film over [the second noun], but there is nothing there to erase."; otherwise if the second noun is not eraseable: if the player can see the actor: if the second noun is ancient, say "[The actor] [spread] the film over [the second noun], but it seems to have been somewhat longer than an hour since this scroll was written."; otherwise say "[The actor] [spread] the film over [the second noun], but the ink must be too dry: it fades slightly but does not leave the scroll."; otherwise: if the player can see the actor, say "[The actor] [unroll] the film and [place] it on the surface of [the second noun]. The text spreads and blurs beneath, running to the edges of the scroll. When it stops, the center of the parchment is once again blank and unblemished, and the film is slightly darker than before."; now the inscribed spell of the second noun is the null-spell. Instead of an actor putting the correction film on a spell book: take full time; if the actor is the Adventurer, record the Adventurer's attempt as successful; say "[The actor] [spread] the film over [the second noun], but the spells within remain intact." Understand "erase [something]" or "blank [something]" as rubbing. Instead of rubbing a spell scroll: if the player can see the correction film: say "(using the correction film)[ccb]"; if the player does not carry the correction film: carry out the implicitly taking activity with the correction film; if the player does not carry the correction film, stop the action; [If the implicit take failed.] try putting the film on the noun; otherwise: say "You rub at [the noun] for a moment, but the ink doesn't smear. Perhaps there's a better way."; take full time. Report an actor rubbing a spell scroll: say "[The actor] [rub] at [the noun] for a moment, but nothing happens."; rule succeeds. Definition: a spell scroll is eraseable: if it is the blotchy parchment, yes; if it is the newly-printed scroll, yes; if it is the freshly-copied scroll, yes; no. Definition: a spell scroll is ancient: if it is the illuminated scroll, yes; if it is the translucent scroll, yes; if it is the tattered page, yes; no. The player carries a magical compass. The description of the compass is "It's a large golden compass about the size of a pocketwatch, with a spell on the needle to make it always stay level. Most mages carry compasses because of how easy it is to get disoriented in magic-rich areas." The compass is light and magical. Understand "smudge/smudges" as the compass. Carry out dropping the compass: say "You'd be lost without it." instead. Instead of casting kulcad at the compass: say "Without the enchantment you'd get disoriented quickly. Best keep it the way it is." Report dropping the compass: rule succeeds. Rule for deciding whether all includes the compass when dropping: it does not. Instead of opening or closing or attacking the compass: say "It is enchanted to resist breaking." A needle is part of the compass. The description of the needle is "Half red and half white, with a tiny [i]N[/i] on one side." Instead of rubbing the compass: say "You try in vain to rub away the smudges on the surface."; take full time. Effect of casting rezrov at the compass: say "Nothing happens. The compass isn't closed per se, at least not in a way the [i]rezrov[/i] spell would recognize." Instead of casting blorb at the compass: say "You'd be lost without your compass." Instead of giving the compass to someone: say "You probably need this more than [the second noun] [do]." Instead of throwing the compass at an object: say "You might need that to navigate." The player wears your identification ring. Understand "student ring" as the identification ring. The description of the ring is "A thin band of some silvery metal, with a flat copper disk in place of a stone. It's keyed to the enchanted doors on campus[if the enormous door is closed], but you doubt it will do you any good here[end if]. It would also allow you to check out books here if the library were open." Understand "disk" or "disc" or "band" as the ring. The ring is light. Carry out taking off the ring: say "Several years ago a student used a [i]girgol[/i] scroll to steal a classmate's ID ring, sneak into one of the women's residence halls, install small scrying mirrors in several rooms, and return the ring before the spell wore off. He likely would have gotten away with it, except that the occupant of one of those rooms happened to be practicing [i]jindak[/i] at the time.[p]Anyway, after that the rings were magically bonded to the students['] fingers. It can't be removed from your hand, even by you, without going through an annoyingly long process."; rule succeeds. Report taking off the ring: rule succeeds. Rule for deciding whether all includes the ring when dropping: it does not. Section 1 - The Journal In the bag is something called your journal. The description of your journal is "This is the journal in which you have kept meticulous notes and personal recollections through your years at the University. With amazing foresight you prepared a helpful index page at the back, which you updated every time you added a significant entry. You've also set a few pages aside in case you need to write anything in the journal tonight, under the heading [i]Burglary Notes[/i]." It is ropable. The helpful index is part of your journal. The description of the helpful index is "[index listing]". After examining the journal when the journal was unexamined: suggest the command "LOOK UP (X) IN JOURNAL". To say index listing: say "It's a good thing you wrote this, because your ingenious 'colors-starting-with-C' page numbering system makes little sense even to yourself at this point.[p]"; say "[tt]Index:[/tt][br]"; repeat with X running through journal entries: say " [tt][X][/tt][br]"; say "[line break]There are also various class notes interspersed between these."; suggest the command "LOOK UP (X) IN (Y)". Instead of consulting your journal about a topic listed in the Table of Textual Journal Entries: take full time; say "[topic understood]: '[description entry]'[p]". Instead of consulting your journal about "the/-- index": say "(looking at the index)[ccb]"; try examining the index. Instead of consulting your journal about "burglary notes/--": say "(looking at the burglary notes)[ccb]"; try examining the burglary notes. Instead of consulting your journal about a topic: take full time; say "You flip through the pages, but see nothing important under '[topic understood]'. You might want to look at the index." Instead of consulting the index about a topic: now the noun is the journal; continue the action. A journal entry is a kind of value. The journal entries are defined by the Table of Journal Entries. Table of Journal Entries journal entry description crimson "First entry. Thaumaturgy classes begin tomorrow! Not much else to say." coral "The tedium of Magic Theory 101 is at an end! I think I can summarize everything we learned in that class in one paragraph: There are three parts to any spell: the [b]Incantation[/b] and the [b]Unusual Effect[/b] are obvious, but there is also the [b]Presence[/b] which fuels the magic. The [b]Presence[/b] (which must always be pronounced dramatically for some reason) is imbued into the vellum of a scroll, which is why the scroll is consumed as the spell is cast, and also why we can't just copy powerful spells onto every sheet of parchment we see. How did that explanation merit a full semester of lectures?!" canary "This semester's schedule is harder than I'd thought. Curses 216 sounded interesting, and the professor is great, but so far it's mostly been an exercise in frustration. I just can't get my head around some of these problem sets. And Magic Theory 102 is only slightly more interesting than 101. At least in this class we get to learn more about the history of the spells. It seems that Bizboz was the first person to write about thaumaturgy, in the aptly-named [']On the Presence of Incredibly Weird Stuff Going On['], and was ostracized for it." chartreuse "This lecture seems to be worth a note. When you see an Enchanter going around with a spell book, they aren't actually just storing their spell scrolls in a clever way: the pages of a spell book are made with an enormous amount of [b]Presence[/b], such that the spells can actually be cast repeatedly without destroying the book! The downside is that casting a spell from a spell book is a lengthier process. The Enchanter first needs to go through a [b]Primary Incantation[/b], or 'memorization', which calls the [b]Presence[/b] from the book and stores the almost-completed spell in the caster's mind. The spell can then be cast later with the [b]Secondary Incantation[/b], most often a single word, which finishes the [b]Incantation[/b] and causes the [b]Unusual Effect[/b]. Apparently the mechanism behind this was discovered a long time ago, then put into practice by a scrollwriter named Berzio a long time ago, with the creation of the [i]gnusto[/i] spell." celadon "Today I cast my first spell! Magic Theory 241 is the best class I've taken so far. After weeks of practicing the pronunciation of the ancient words, we were each given a [i]frotz[/i] scroll and allowed to cast it under close supervision. I got the proper effect on my first try at casting it, and this journal is still glowing as I write this! My faith in the Thaumaturgy program has been restored. We then had an interminable lecture on its history. One of the first versions was [i]noside[/i], which would only affect objects already prepared with other spells. Then [i]chiaro[/i] was invented, which worked on any inanimate object, and [i]blort[/i], which allows one to see in complete darkness...and so on and so on. But we got to use magic! Weak basic magic, but magic nonetheless!" cyan "So close...and yet so far. I know I can do magic! I've used every practice scroll perfectly! And [i]still[/i] they won't trust us with the [i]gnusto[/i] spell! Without [i]gnusto[/i] I will never be able to use magic outside the carefully regulated classroom environment, and even if I managed to purloin a scroll it would only be one casting of [i]frotz[/i] or [i]gloth[/i]. GAH!" cerulean "This is it. G.U.E. Tech is closing. [bracket]The text degenerates into dramatically illegible scribblings, and you can't remember what else you intended to write on this page.[close bracket]" Table of Textual Journal Entries topic description "notes" or "class notes" "Starting on page 1...'[p](If you want to look up a topic, you'll need to be more specific.)" "xyzzy/plugh/teleportation spell/spells/--" "See: [']teleportation['].' You look back through your notes and find the lecture on teleportation spells. Ah, here it is...[p]Someone once stood four and a half feet away from the center of the [i]xyzzy[/i] spell, so only part of her arrived at the destination. This is why modern teleportation spells are legally required to have additional checks against 'portal-slicing'." "portal-slicing" or "portal slicing" "Portal slicing is when a teleportation spell affects only part of an object, leaving the rest behind. You didn't write down much about this topic, except to note that an attempt was once made to weaponize this effect." "rezrov" "A common spell used to open locked objects. It apparently took a long time to perfect, because of all the possible ways an object could be 'opened' and the different methods needed for each. It was then nearly ubiquitous for a time before new laws prevented non-Enchanters from obtaining it." "berzio potion/--" "[i]Berzio[/i] potions were named after the famed wizard Berzio, who went without food or drink for days while perfecting the [i]gnusto[/i] spell. After drinking one of these potions, a person ceases to feel hungry or thirsty until it wears off." Looking up it in is an action applying to one journal entry and one thing and requiring light. Understand "look up [journal entry] entry/--" or "look [journal entry] up" or "look up [journal entry] entry/-- in [the journal]" or "read [journal entry] entry/--" or "examine [journal entry] entry/--" or "x [journal entry] entry/--" as looking up it in. Understand "consult [the journal] about [journal entry] entry/--" as looking up it in (with nouns reversed). Rule for supplying a missing second noun when looking up: [This isn't important as the noun is never used, but all actions need to fill out their nouns/second nouns.] now the second noun is the journal. Check looking up a journal entry in the journal: if the player cannot see the journal, say "You would need your journal for that." instead. Carry out looking up a journal entry in the journal: say "[journal entry understood]: '[description of the journal entry understood]'[p]". [I can't add new grammar lines to the 'consulting' action with a rule for supplying a missing noun, because when only one thing is supplied it needs to be the first argument, not the second. So this workaround.] Researching is an action applying to one topic and requiring light. Understand "look up [text]" or "look [text] up" as researching. Check of researching a topic: if the journal is visible: say "(in the journal)[ccb]"; try consulting the journal about the topic understood instead; otherwise if the Encyclopedia is visible: say "(in the Encyclopedia)[ccb]"; try consulting the Encyclopedia about the topic understood instead; say "You don't have a reference book handy." instead. The burglary notes are part of the journal. The burglary notes have some text called the records. The description of the burglary notes is "[i]Burglary Notes:[br][records of the burglary notes][/i]". Writing it in is an action applying to one topic and one thing and requiring light. Understand "write [text] in/on [something]" or "record [text] in/on [something]" as writing it in. Check someone writing a topic in something (this is the NPCs can't write rule): if the player can see the actor, say "[The actor] [don't] seem like much of a calligrapher."; stop the action. Check writing a topic in something when the player does not carry a copying tool: if the player can touch a copying tool (called the pen), carry out the implicitly taking activity with the pen; if the player does not carry a copying tool, say "You can't write anything without a pen of some sort." instead. Check writing a topic in a spell scroll: say "You can't just write anything you want on a magically-prepared spell scroll; you need to copy a spell from another source." instead. Check writing a topic in a spell book: say "The pages of a spell book are filled with enough magic that they cannot be written on normally. That's why the [i]gnusto[/i] spell was invented." instead. Check writing a topic in a library book: say "The penalties for defacing library books are very harsh." instead. Last check writing a topic in something which is not writable: say "[The second noun] [don't] make a very good writing surface." instead. Definition: something is writable if it is the burglary notes or it is the featureless white cube. Should the game suggest writing a topic in a writable thing: it is a good suggestion. Understand "write in/on [something]" as a mistake ("You need to specify the text you want to write, as in WRITE 'NEED TO BYPASS THE OCELOTS' IN MY BURGLARY NOTES'."). Instead of writing a topic in the journal: say "(in the burglary notes)[ccb]"; now the second noun is the burglary notes; continue the action. Carry out writing a topic in the burglary notes: let X be the records of the burglary notes; now the records of the burglary notes are the substituted form of "[X][br][topic understood]". Report writing a topic in the burglary notes: say "You append [i][topic understood][/i] to your burglary notes." Instead of putting the correction film on the burglary notes: try rubbing the burglary notes. Instead of rubbing the burglary notes: say "You eradicate your burglary notes."; now the records of the burglary notes are ""; take full time. Chapter 1 - The Introduction Section A - The Introductory Text To wait for any key unless debugging: [Uncomment one or the other of these lines to change the speed of the intro.] wait for any key. [ do nothing. ] This is the primary introduction rule: redraw status line; say "Not a single spell! After two full years of study![p]Every Enchanter[--]every mortal with the power to change the world[--]the very fabric of reality[--]the very [i]nature of the universe[/i] with their words[--]has a spell book! Filled with words of power collected over years, decades, generations...[p]And yours is blank after two entire years of study. It is shameful! The first marks must be made.[p]"; wait for any key unless debugging; say "You pick up the quill. The frontispiece of the book has a space for your full name. You may as well fill that out now.[p]" This is the secondary introduction rule: say "You sign your name with a flourish. [i][player's forename]'s Spell Book.[/i][p]The ink shines on the page." This is the tertiary introduction rule: say "It still sounds a little strange to you. '[honorific for the player][player's surname]'. But once you are an Enchanter, people will start to look to you with deference and respect...[p]You turn back to your book.[p]The ink on the frontispiece is dry. You turn to the first page. You have practiced casting spells in your classes over and over until your pronunciation is perfect. [b][bi]Frotz. Gloth. Gnusto. Rezrov.[/bi][/b][p][i]Frotz[/i] should be the first page. The simplest spell, causing an object to glow with light. A warmup spell cast in preparation for a journey. Any Enchanter could cast it in their sleep if light were conducive to slumber.[p]"; wait for any key unless debugging; say "You write the name across the top of the page. Not bad. Flawless calligraphy, if you do say so yourself.[p]You turn another page. [i]Gloth[/i] should be page two, the second spell you ever cast.[p][i]Gnusto[/i]...[i]rezrov[/i]...you write out the titles in flowing script at the tops of the pages.[p]But this is not enough. The name of the spell is not enough to cast it[--]you need the [b]Presence[/b] from the scroll. And until you have your own copy of the gnusto spell, there is no way to transfer it into the spell book. It is used up when cast. Gone.[p]"; wait for any key unless debugging; say "Which is why it has come to this.[p]Something is wrong. You have seen the Enchanters and Sorcerers discussing it in hushed tones.[p]Magic is failing.[p]And there are rumors that GUE Tech will be closed. That would end your dreams of magic forever.[p]"; wait for any key unless debugging; say "You have prepared for this. Spent hours in the library researching the Circle of Enchanters, poring over books of law and policy. Usually you would need a Bachelor of Thaumaturgy to even apply. But if you can demonstrate independent mastery of twelve spells, they will have to consider you, degree or no.[p]The difficulty is acquiring twelve spells.[p]"; wait for any key unless debugging; say "There is only one solution, although it is looking less feasible by the minute.[p]Take your newly-prepared spell book, break into the library, and steal some magic from the Guild of Enchanters." Figure of Title Card is the file "logo.png". After printing the banner text when the information-gathering flag is false: display the Figure of Title Card centered. Section B - The Entrance to the Library The Library is a region. The Entrance to the Library is a room in the Library. "It was surprisingly easy to get in here[--]you saw nobody on your way over, and the outer doors recognized your student ring. The hardest part was not talking yourself out of it. So many things could go wrong. What if there is an alarm? What if someone is still in the Library? What if someone comes in and finds you?[p]No. You have come this far. Only the inner door to the north [if the enormous door is open]wa[else]i[end if]s keeping you away from the magic you seek[if the enormous door is open], and now you have dealt with that obstacle[end if]. You aren't going to turn back now." ["You are standing before the enormous door to the Library of the Guild of Enchanters. You have been in there before, but only during the day, and thus have never had a chance to get your hands on the powerful spells within."] The player is in the Entrance to the Library. Definition: the campus is suggested for exploration: no. The campus is south of the Entrance to the Library. Instead of going to the Campus: say "Yes, probably best to forget this plan. It was doomed to fail."; record "Fleeing without so much as a frotz spell of your own" as an ending; end the story saying "You have missed the point entirely". [This is a nod to Curses, which ends this way if you give up on the first turn.] Instead of an actor throwing something at to the campus: if the player can see the actor, say "[A noun] flying out through the doors might arouse suspicion." Instead of an actor throwing something at from the Antechamber to the Entrance: if the player can see the actor, say "[A noun] flying out through the doors of the library might arouse suspicion." Instead of going north from the Entrance when Act 1 is happening and the enormous door is open and there is an other portable thing in the Entrance: say "You shouldn't leave [the list of other portable things in the Entrance] out here where someone might stumble across [them]." In the bag is a spell scroll called a badly-written scroll. The inscribed spell of the badly-written scroll is rezrov. Understand "badly" or "written" or "copied" as the badly-written scroll. The description of the badly-written scroll is "In typical fashion, the activation word for the spell is written across the top of the page[--][i]rezrov[/i][--]followed by a brief description of what it does[--][i]open even locked or enchanted objects[/i]. Then the detailed instructions for casting the spell using the [b]Presence[/b] in the parchment. It was copied for you by one of the higher-ranking apprentices, who charged you a fortune and doesn't seem to have been very good at calligraphy. But if it can open the doors for you, it will have been worth it." The enormous door is a door. It is closed and locked. It is scenery. The enormous door is north from the Entrance and south from the Library Antechamber. Understand "inner" or "to the library" as the enormous door. The description of the enormous door is "The door [if closed]to the library itself is closed and barred, with thick metal chains across it. There doesn't even seem to be a keyhole. Clearly the Guild is taking no chances with security[otherwise]hangs open, the bar raised and the chains shattered[end if]." Should the game choose entering the enormous door: it is a good choice. Instead of going inside in the Entrance: try going north. Instead of going outside in the Entrance: try going south. Instead of unbolting the locked enormous door: say "Judging from the number of locks and chains, that will be impossible without magic." Instead of putting the ring on the enormous door: follow the ring on door rule. Before showing the ring to the enormous door: follow the ring on door rule instead. Before giving the ring to the enormous door: follow the ring on door rule instead. Instead of pointing the ring at the enormous door: follow the ring on door rule. Instead of waving the ring when the location is the Entrance: follow the ring on door rule. Before throwing the ring at the enormous door: follow the ring on door rule instead. This is the ring on door rule: say "Good thought, but the inner door isn't connected to the main lock system. Not even a professor's ring would open it.". Effect of casting rezrov at the closed enormous door: say "You stutter slightly in the pronunciation[--]this is the most complicated spell you have yet cast! But the scroll was consumed, so the [b]Presence[/b] has had its effect. There is a slight shudder, and you can see the chains on the door loosen infinitesimally.[p]Suddenly, the bar flies back with a loud THUMP and the lock clicks open. The door swings wide with an enormous CLANG.[p]Well, so much for stealth. But you can't panic yet. Not yet. The Guild might assume it was a false alarm. Just get in, get the spells, get out."; now the enormous door is open; now the enormous door is unlocked; award points for "casting your first real spell". Instead of an actor closing the open enormous door: take full time; say "The door doesn't budge[--]it only responds to magic." Inverse effect of casting rezrov at the enormous door: say "The spell shifts the door slightly, but your spell fails to get it back to the way it was. There must be some password or additional spell to reset the lock." Instead of going outside from the antechamber: try going south. Test plot-entrance with "n / x door / i / rezrov door / x door / n" holding the badly-written scroll in the library entrance. A solid brick wall is fixed in place. "A solid brick wall stretches from floor to ceiling, completely blocking off the door to the south[first time]. Well, that certainly wasn't here before..[/br][only]." The description of the solid brick wall is "It seems very strong, probably constructed with magic." Effect of casting vezza at the Entrance: say "A figure looks at the wall, then walks away, back into the library." Empowered effect of casting vezza at the Entrance: say "The wall is collapsing in a shower of brick dust, but for what purpose, you cannot tell." Inverse effect of casting vezza at the Entrance when the solid brick wall is on-stage: say "Two security officers arrive, dimly seen through what is now a solid wall. 'Is this building supposed to be closed off too?' one asks her companion. 'Yes, all the ones on this side of the quad, until we figure out what happened, those were the instructions,' the other replies, pulling out a scroll. As the long and elaborate incantation proceeds, the wall slowly begins to build itself in front of them..." To close off the entrance: move the solid brick wall to the Entrance; change the south exit of the Entrance to nothing; now the description of the Entrance is "It's strange, thinking about the tension you felt planning this whole heist...it seems like an aeon since you first opened the door to get in here." Escape-puzzle is a puzzling scene with puzzle description "finding a way to get out of the library". Escape-puzzle begins when the solid brick wall is seen. Escape-puzzle ends when the Splendid Cavern is visited. When escape-puzzle begins: say "Hm. This complicates your escape somewhat." Section C - The Tutorial Tutorial mode is initially true. After looking for the first time: say "[note][bracket]If you're new to this game, you might want to type ABOUT.[close bracket][/note]". Before reading a command when tutorial mode is true and the information-gathering flag is false (this is the show tutorial rule): if the Antechamber is visited: say "[note][bracket]Type VERBS at any time to get a list of common commands.[close bracket][/note][br]"; say "[note][bracket]This is the end of the tutorial. For more information, type ABOUT.[close bracket][/note]"; now tutorial mode is false; otherwise if the looking flag is true and the enormous door is open: say "[note][bracket]To move around, use compass directions: NORTH, NORTHEAST, EAST...[/br][if compass rose is active] The compass rose at the top shows you which directions you can go from the current location.[/br][end if][close bracket][/note]"; otherwise if the enormous door is open: say "[note][bracket]To see a description of your surroundings again, type LOOK.[close bracket][/note]"; otherwise if the badly-written scroll is carried: say "[note][bracket]To cast a spell at something, use CAST REZROV AT THE DOOR (or just REZROV DOOR).[close bracket][/note]"; otherwise if the badly-written scroll is read: say "[note][bracket]To remove something from a container, try TAKE THE SCROLL FROM THE BAG.[close bracket][/note]"; otherwise if the bag is open: say "[note][bracket]To take a closer look at something, you might EXAMINE THE SCROLL.[close bracket][/note]"; otherwise if the inventory flag is true: say "[note][bracket]Give instructions to the computer as imperative commands, like OPEN THE BAG.[close bracket][/note]"; otherwise: say "[note][bracket]To see what you are carrying, type INVENTORY.[close bracket][/note]". Last carry out listing boolean options for the first time: say "[note][bracket]This lists the options available in this game. Options marked with a star are currently turned on.[close bracket][/note][br]"; say "[note][bracket]To turn an option off, say (e.g.) OPTION COMPASS OFF. To turn it back on, say OPTION COMPASS ON.[close bracket][/note]". The examining flag is initially false. After examining something when the examining flag is false: now the examining flag is true; continue the action. The looking flag is initially false. After looking for the third time: [The first time is when the initial room description is printed. The second time...I'm not sure. But it seems the action fires twice before the player actually types LOOK.] now the looking flag is true; continue the action. The inventory flag is initially false. After taking inventory when the inventory flag is false: now the inventory flag is true; continue the action. Disabling the tutorial is an action out of world applying to nothing. Understand "tutorial off" or "stop helping me" as disabling the tutorial. Check disabling the tutorial when tutorial mode is false: say "The tutorial has already ended." instead. Carry out disabling the tutorial: now tutorial mode is false. Report disabling the tutorial: say "[note][bracket]Okay, I'll stop helping you now. For more information type ABOUT.[close bracket][/note]". Chapter 2 - The Library Antechamber and the GNUSTO Scroll Spells-puzzle is a puzzling scene with puzzle description "acquiring [spell countdown] more spell[s] and escaping". The spells-puzzle begins when the advanced-spells-puzzle ends. The spells-puzzle ends when the player's capture begins. To decide what number is the spell countdown: let the count be twelve; decrease the count by the number of cast learnable spells; decrease the count by the number of cast semilearnable spells; if the count is less than one, let the count be one; [In case something goes off the rails] decide on the count. The Library Antechamber is a room in the Library. "[if we need a full antechamber description]You've visited the library many times, and this room has never failed to impress you. Sunlight shone in through the circular window in the great domed ceiling, reflecting off the mosaic floor and filling the area with patterns of red and gold. The din of innumerable Enchanters and students made it feel alive.[p]Now, however, it is [dark description] and silent. [Light description][else]You are back in the domed Antechamber of the library[end if][first time].[p]If you remember correctly, the basic spell collection is to the east, and the main stacks to the west. Those are the most likely places to find spell books[only]." To decide whether we need a full antechamber description: if the antechamber is unvisited, yes; [If we've never been here before] if the player was enclosed by the Antechamber, yes; [If we typed LOOK] no. [If we just arrived by a going action] To say light description: say "A few shafts of [if it is nighttime]moonlight give everything an ethereal silvery glow[else]light spill in from above". To say dark description: say "[if it is daytime]empty[else]dark[end if]". [Need nested if-statements here.] Some shafts of light are insubstantial scenery in the Antechamber. Understand "few" or "moonlight" or "sunlight" as the shafts of light. The description of the shafts of light is "[if it is nighttime]It makes everything seems softer and less real.[else]The mosaic is beginning to sparkle in the light." Instead of inserting something into the shafts of light: take full time; say "[The noun] [shine] in the light[r]"; if the noun is a scrying device and the player can see the mystical relative of the noun: say ". [The mystical relative of the noun] [glow] with reflected [if it is nighttime]moon[else]sun[end if]light for a moment[r]"; say "." Instead of doing anything other than examining with the shafts of light: say "It's only light." [Inverse effect of casting frotz at the shafts of light: say "The light dims for a moment as the spell passes through it, then brightens again." Instead of casting a spell at the light: if the spell understood is frotz and the player is reversed, continue the action; say "You can't really affect the light itself with a spell."] Instead of an actor going south from the Antechamber while Act 1 is happening: if the actor is the Adventurer, record the Adventurer's attempt as successful; if the player cannot see the actor, stop the action; [Prevent it without printing any message.] if the actor carries a non-blank spell scroll (called the page): say "A spell book can be reasonably well concealed, but it would be hard to explain how you came by [the page]." instead; if the security lockdown is happening: take full time; say "As [you or the actor] [move] toward the door, a barrier of reddish energy flickers across it. [They] [step] back warily[first time].[p]Okay, new plan: deactivate the alarm somehow, then get the spells and get out. There has to be some way to do that[only]." instead; if the security lockdown has happened: unless the actor is the player, say "Nobody's supposed to be in here at the moment. A student being on campus at night isn't too suspicious, but if [the actor] left now, [they] would probably attract attention." instead; if lleps is inscribed in the player's preferred spell book: if the Adventurer is in the Clean-Room, say "[The Adventurer] is still in here, and will likely be discovered in the morning. [He] definitely knows enough to implicate you." instead; say "You pause. There has to be something powerful in the Clean Room to merit all that security, and you'll never get a better chance than this." instead; say "This is your last chance to join the Circle of Enchanters. With GUE Tech closing you have no hope of a degree. And it's unlikely you could break into the Library again. You need to demonstrate mastery of twelve spells to be considered as an independently-trained Mage, and this is your best chance to acquire them." instead. The tenets of the Guild are scenery in the Antechamber. Understand "tenet" as the tenets. The description of the tenets is "The first tenet states that Enchanters may never use their talents to aid evil. The second points out that an Enchanter's duty is to the Guild and to the Kingdom, not to the individual. Lesser tenets include rules for conducting votes at meetings, guidelines for passing dishes at Guild banquets, and penalties for revealing the Guild's secret handshake." [Taken from Sorcerer] The domed ceiling is scenery in the Antechamber. Understand "dome" as the domed ceiling. The description is "An almost-perfect hemisphere of white stone, supported by sixteen columns. The tenets of the Guild of Enchanters are carved around the edge." The columns are scenery in the Antechamber. Understand "sixteen" or "16" as the columns. The description of the columns is "[one of]You'd never noticed this before, but e[or]E[stopping]ach has a word carved around the top. Let's see...earth, water, air, fire; dark, light, death, life; connectivity, mind, change, time; chaos, order, harmony, balance." A ropable container called the display case is fixed in place in the antechamber. "Standing in the middle of the floor is a glass display case[if something is in the case], showing off [a list of things in the case][end if]." It is closed, transparent, and not openable. After examining the case: try examining the small brass plaque. The display case is visible between rooms. Instead of unbolting or opening the display case: say "You don't see any way to open it[--]it's a seamless cube of glass." Understand "seamless" or "cube" or "glass" or "of glass" as the display case. An illuminated scroll is a spell scroll in the display case. The inscribed spell of the illuminated scroll is gnusto. The description of the illuminated scroll is "[special gnusto][p]According to the plaque in the display case, this is one of the three original scrolls made of the 'gnusto' spell. The words are surrounded by elaborate decorations picked out in lapis dye and gold leaf." A small brass plaque is part of the display case. It is scenery. The description of the small brass plaque is "'This illuminated manuscript was one of the first three created by the famed magician Berzio in 769 GUE. The [i]gnusto[/i] spell is considered one of the most important discoveries in modern thaumaturgy, as it allows a spell to be cast multiple times without requiring multiple spell scrolls.'" Instead of an actor taking the illuminated scroll: say "Another alarm would probably go off if the scroll were removed. And you don't need the scroll itself, just the spell on it. Best to leave it where it is."; if the actor is the friendly Adventurer, record the Adventurer's attempt as successful. To say special gnusto: if accessibility mode is active: say "Written in flowing and archaic blackletter is the spell G N U S T O : copy an incantation into a book, that it may be repeatedly cast.[r]"; stop; if Unicode 65319 is supported: [This implies that fullwidth letters are supported.] say "Gnusto"; otherwise: say "Gnusto"; say ": "; if Unicode 8458 is supported: [This implies that script letters are supported.] say "ℭopy an ℑncantation into a ℬook, that it may be ℜepeatedly ℭast"; otherwise: say "copy an Incantation into a Book, that it may be Repeatedly Cast"; say ".[r]". Should the game choose copying the illuminated scroll to something when comparing spell scrolls: it is a good choice. Should the game choose casting a spell at the illuminated scroll when comparing spell scrolls: it is a passable choice. Gnusto-puzzle is a puzzling scene with puzzle description "acquiring the [i]gnusto[/i] spell". Gnusto-puzzle begins when the illuminated scroll is examined. Gnusto-puzzle ends when the player encloses a spell book which bears gnusto. Effect of casting vezza at the library antechamber: say "A figure levitating in midair drifts upward toward the window in the ceiling." Inverse effect of casting vezza at the library antechamber: say "A librarian places the cube of glass on top of the display case, sealing it together with a spell. The tiles in the mosaic swirl in concentric patterns as she does, as though examining this new object." Empowered effect of casting vezza at the library antechamber: say "A shadowy figure rushes through the library, checking one door after another, finally pausing in front of the storage area to the southeast." Section A - The Mosaic Floor The mosaic floor is magical scenery in the Antechamber. Understand "tiles" or "sand" or "tile" or "red" or "gold" as the mosaic floor. The description of the mosaic floor is "The mosaic in the library antechamber is unlike any other you've ever seen. The tiles range in size from almost a meter across to finer than grains of sand, and seem to pull in and intensify the moonlight. Though the stones around your feet remain in one place, the rest of the floor is constantly shifting and swirling to create new messages or patterns.[p][mosaic activity]". Every turn when the location is the Antechamber and the mosaic floor is visible and a random chance of 1 in 4 succeeds: if the player's capture is happening, make no decision; [Don't put messages in this scene.] say mosaic activity. After looking in the Antechamber when the security lockdown is happening and the mosaic is visible: say "The mosaic flickers to '[tt]Hello, footpad![/tt]' before resuming its normal cycle.". To say mosaic activity: say "The [one of]pattern of the mosaic changes[or]mosaic shifts again[or]tiles in the mosaic create a new message[then at random]: '[tt][one of][if the first day flag is true]Welcome, [player's full name]![/br][else]Library CLOSED for foreseeable future.[/br][end if][or][if the first day flag is true]Library hours: 6:00 AM to 10:00 PM today[else]Emergency hours: NONE at present[end if].[/br][or]The Spell Research Area is to the north.[/br][or]Storage areas lie to the northeast and southeast.[/br][or]To the east is the Basic Spells Collection.[/br][or]Returns are processed to the southwest.[/br][or]Scrying crystals are available to the northwest.[/br][or]The Main Stacks are to the west.[/br][or]This mosaic was enchanted by H. Ondricek and M. T. Winter of the Class of 925.[/br][cycling][/tt]'[br]". Instead of taking the mosaic floor: take full time; say "You [one of]scoop up a bit of sand, but it flows through your fingers and rejoins the mosaic[or]grab a small chip of stone, but it jumps from your hand[or]lift the edge of a large tile slightly, but it slides from your grasp[or]take a pinch of sand, but it slips away[at random]." Effect of casting kulcad at the mosaic floor: say "The shining red and gold tiles dim, their colors fading until they are indistinguishable from mundane stones."; remove the mosaic floor from play. Section B - The Display Case Puzzle Instead of casting gnusto at the illuminated scroll when the illuminated scroll is in the display case: say "The glass case shouldn't pose a problem for the [i]gnusto[/i] spell, but you aren't very confident with this spell yet. It would be a lot easier to cast at a scroll in your hand for now." Instead of casting gnusto at the illuminated scroll for the first time: say "You pause for a moment[--]this is a valuable artifact, after all. Should you really burn it up for your own personal gain?" There is a supporter called the shattered display case. "Standing in the middle of the floor are the shattered remains of the display case." The description is "Thanks to your magical vandalism, the case has been reduced to innumerable shards of glass around the wooden pedestal." The shattered display case can be solved or unsolved. It is unsolved. [This is the flag for the brute-force solution.] Understand "remains" or "remains of" or "glass" or "cube" as the shattered display case. The shattered display case is visible between rooms. Effect of casting rezrov at the display case: destroy the display case. To destroy the display case: say "The case shatters with an enormous CRASH, shards of glass flying everywhere! You shield your eyes until they seem to have settled."; remove the display case from play; move the shattered display case to the antechamber; now everything in the display case is on the shattered display case; if the shattered display case is unsolved and the illuminated scroll is unsolved: award points for "magical vandalism"; now the shattered case is solved. Instead of attacking the display case: say "That would lead to shards of glass flying everywhere, which might not be good for your health[if the holder of the illuminated scroll is the display case], and besides, you might harm the scroll[end if]." Instead of throwing something at the display case: if the holder of the illuminated scroll is the display case: say "Even if [the noun] did manage to break the glass, [they] might harm the scroll inside."; otherwise: if the noun is heavy, continue the action; otherwise say "[The noun] [are] too light to have any effect on the glass." Last after throwing something at the display case: destroy the display case. Instead of attacking the shattered display case: say "There's no need, you've done enough damage already." Inverse effect of casting rezrov at the shattered display case: say "Some of the shards of glass twitch slightly, but inverse-[i]rezrov[/i] is designed to close things, not to repair them." Effect of casting krebf at the shattered display case: say "With a strange backwards roar, the shards of glass fly together and meld into clear panes."; remove the shattered display case from play; move the display case to the antechamber; now everything on the shattered display case is in the display case. The illuminated scroll can be solved or unsolved. The illuminated scroll is unsolved. [It holds the flag for the clever solution.] After casting gnusto at a spell scroll when the illuminated scroll is unsolved: if the inscribed spell of the second noun is gnusto and the second noun is not the illuminated scroll: if the shattered display case is solved: choose a row with a reason of "recursive casting of gnusto" in the Table of Tasks Achieved; now the points entry is 5; [Reduce the points to make it line up if you use a combination of the two solutions. This is an edge case I don't expect to happen often, but it needs to be handled.] award points for "recursive casting of gnusto"; now the illuminated scroll is solved. After casting gnusto at a gnusto-copied spell scroll: if the illuminated scroll is off-stage and the illuminated scroll is unsolved: award points for "using an ancient scroll"; now the illuminated scroll is solved. Definition: a spell scroll (called the page) is gnusto-copied: let xyzzy be the inscribed spell of the page; if xyzzy is gnusto, yes; no. After reading a command: [Prevent GNUSTO GNUSTO disambiguation] if the player's command includes "gnusto gnusto": [HACK HACK HACK] let the page be a random touchable gnusto-copied spell scroll; if the page is nothing: say "You don't have a [i]gnusto[/i] scroll at hand."; reject the player's command; replace the matched text with "cast gnusto at [the page]". [Test plot-gnusto with "open pack / copy gnusto to reddish / copy reddish to bluish / gnusto gnusto / reddish" in the Antechamber holding the parchment pack and the quill pen.] Section C - The Window and the Dome The circular window is part of the domed ceiling. Understand "oculus" or "compluvium" as the circular window. Instead of examining or searching the circular window when the player is not flying: say "It's too far away to really see anything through it. You'd need to be higher up." The description of the window is "If you position yourself just right, it frames the moon perfectly. The word 'MAGIC' is carved around the edge." Instead of an actor searching the circular window, try the actor entering the window. Instead of an actor going up in the Antechamber, try the actor entering the window. Instead of entering the circular window when the player is not flying, say "That is difficult without the ability to fly.". Instead of someone entering the circular window: if the player can see the actor, say "[The actor] doesn't seem to have [if the actor is flying]enough control of [their] flight to go straight up[else]the ability to fly[end if]."; if the actor is the Adventurer, record the Adventurer's attempt as successful. Instead of entering the circular window: take full time; say "You brace against the floor and push off with as much force as you can. You drift upwards towards the window...closer...closer...then right at the apex you manage to grip the edge of the window and pull yourself through."; award points for "getting on top of the dome"; move the player to Atop the Dome. Atop the Dome is a lighted room in the Library. "You are sitting at the very top of the dome, looking out over the landscape. Low hills stretch toward the horizon, interrupted by the meandering ribbon of the Borphee River flowing out toward the Great Sea.[if it is nighttime] The moon is rising over the sea now, its light painting the water in shining silver.[else if it is sunrise] The sun is just beginning to rise over the sea, turning the water to shining gold.[else if it is sunset] The last rays of the setting sun send long shadows across the land and paint the sea a deep red.[end if] [if it is nighttime or it is crepuscular]At this time of night the entire world seems asleep; w[else]W[end if]hatever has happened at the meeting of the Guildmasters, whatever the problems with magic, nothing now breaks the serene calmness of this [if it is nighttime or it is sunrise]early-morning [else if it is sunset]late evening [end if]scene." Instead of facing a direction in Atop the Dome: say "The view is beautiful at this time of [if it is nighttime or it is sunset]night[else]day[end if]."; take full time. The hole in the dome is scenery in Atop the Dome. Understand "circular" or "window" or "impluvium" or "compluvium" as the hole in the dome. Instead of an actor entering the hole: try the actor going down. The moon is lit distant scenery in Atop the Dome. The description of the moon is "The moon is full tonight, and seems to shine golden over the Great Sea." The stars are lit distant insubstantial scenery in Atop the Dome. The description of the stars is "Somehow they seem especially bright tonight." The sun is lit distant scenery. The description of the sun is "You glance at the sun for a moment, then turn away, eyes stinging." When sunrise begins: remove the stars from play; move the sun to Atop the Dome; if the location is Atop the Dome, say "The sky brightens as the sun begins to show above the eastern horizon." When day begins: remove the moon from play. When sunset begins: move the moon to Atop the Dome; if the location is Atop the Dome, say "The edge of the sun touches the horizon, beginning to sink behind the hills." When night begins: remove the sun from play; move the stars to Atop the Dome; if the location is Atop the Dome, say "The last traces of sunlight disappear." Some low hills are distant scenery in Atop the Dome. The description of the hills is "[if it is nighttime]The moonlight tints them silvery-gray.[else]From this distance they are visible only as greenish ripples in the landscape." The Borphee River is distant scenery in Atop the Dome. The description of the river is "The water reflects the [if it is nighttime]moon[else]sun[end if]light, seeming to glow." The Great Sea is distant scenery in Atop the Dome. Understand "horizon" or "eastern" as the sea. The description of the sea is "The sea stretches out endlessly toward the eastern horizon." Instead of an actor going nowhere in Atop the Dome: if the actor is the Adventurer, record the Adventurer's attempt as successful; if the player can see the actor: if the actor is flying, say "[The actor] [let] [themselves] drift off to the side for a moment before pulling [themselves] back to the dome."; otherwise say "There is nowhere to go[--]the dome slants down sharply at the edges and [regarding the actor][they] would be likely to fall."; take full time. Before an actor going down from Atop the Dome: if the actor is flying: if the player can see the actor or the player can see the Antechamber, say "[The actor] [drift] gently back down into the Antechamber[if the actor is the player]..[/br][end if]."; otherwise: if the actor is the Adventurer, record the Adventurer's attempt as successful; if the actor is the player, say "That would likely prove fatal."; stop the action. Instead of an actor jumping in Atop the Dome: try the actor going down. Below Atop the Dome is the Antechamber. Above the Antechamber is nothing. Empowered effect of casting lesoch at when the location is Atop the Dome and the second noun is Atop the Dome or the location of the second noun is Atop the Dome: [The player is casting lesoch while standing there in person.] say "The air all around the dome seems to quiet for a moment. But only for a moment. Then suddenly a wind picks up, blowing faster and faster as your spell whips it into a frenzy. At the center of the tempest stand you, perched atop the dome, and your balance is more and more precarious...[p]"; if there is an other substantial person (called the victim) in Atop the Dome: say "Out of the corner of your eye, you see [the victim] losing [their] grip on the edge of the balcony. But now you have more pressing concerns.[p]"; now every other substantial thing in Atop the Dome is nowhere; if the player is flying: say "You control your flight as well as you can, flapping your arms frantically to remain right above the center. It isn't enough. A sudden gust catches you off-guard, and before you realize what is happening you've been flung directly into the gale. In a whirl of motion you are soaring uncontrollably away from the library...[p]"; otherwise: say "You hold your arms out and try to remain steady, but it isn't enough. A sudden gust catches you by surprise and you are falling from the dome...and then the wind catches in your robes, and you are once again flying, riding the furious winds...[p]"; say "It is an exhilirating experience, which is all too soon cut short as your body collides with the ground."; record "Riding the winds" as an ending; end the story saying "You have died". Effect of casting lesoch at Atop the Dome: say "The air swirls around the perimeter of the dome, focusing for a moment above the window before dispersing."; if there is a light substantial thing in Atop the Dome: say "[br][The list of light substantial things in Atop the Dome] [are] swept away before you can react."; now every light substantial thing in Atop the Dome is nowhere. Empowered effect of casting lesoch at when the location is not Atop the Dome and the second noun is Atop the Dome or the location of the second noun is Atop the Dome: [The player is casting lesoch through a scrying device to create wind from a distance.] say "The air all around the dome seems to quiet for a moment. Then suddenly a wind picks up, blowing faster and faster as your spell whips it into a frenzy.[p]"; if there is a substantial person in Atop the Dome: say "[The list of substantial people in Atop the Dome] [are] caught by surprise, trying unsuccessfully to keep [their] balance. But the winds are too strong, and in a moment [they] [are] gone."; if the Adventurer is in Atop the Dome: award the "You Monster" achievement; else if there is a substantial thing in Atop the Dome: say "[The list of substantial things in Atop the Dome] [are] swept up in the tempest and [are] quickly lost from view."; otherwise: say "A few seconds later it subsides ineffectually."; now every substantial thing in Atop the Dome is nowhere. Effect of casting vezza at Atop the Dome: say "The sun is [if it is daytime or sunrise is happening]setting over the hills[else]rising over the sea[end if]." Empowered effect of casting vezza at Atop the Dome: say "A number of ships are sailing east across the Great Sea, tacking into the wind." Inverse effect of casting vezza at Atop the Dome: say "A young man sits at the top of the dome, looking down into the Antechamber below. He seems to be contemplating something." Book II - The Basic Spells Chapter 1 - The Collection The Basic Spell Collection is east from the Antechamber. It is dark. "As your eyes adjust, you see that you are in a simple panelled room, dominated by an orange metal box leaning against one wall. The words [tt]FROBOZZ MAGIC SCROLL DISPENSER[/tt] are stencilled across one side in white, and the other is covered with a large sign explaining the proper usage." The Basic Spell Collection is in the Library. Basic-spells-puzzle is a puzzling scene with puzzle description "learning the spells from the Basic Spells Collection". The basic-spells-puzzle begins when the Antechamber is visited. The basic-spells-puzzle ends when frotz is inscribed in the player's preferred spell book and blorb is inscribed in the player's preferred spell book and lesoch is inscribed in the player's preferred spell book and nitfol is inscribed in the player's preferred spell book. When the basic-spells-puzzle ends: say "You smile in satisfaction[--]you now have all four spells from this collection. On to the Main Stacks." Advanced-spells-puzzle is a puzzling scene with puzzle description "finding some spellbooks in the Main Stacks". The advanced-spells-puzzle begins when the basic-spells-puzzle ends. The advanced-spells-puzzle ends when the bright orange poster is examined or yonk is inscribed in the player's preferred spell book. A calendar is fixed in place in the Basic Spell Collection. "A calendar on one wall is acting as a strange source of illumination." The description of the calendar is "According to the caption, this is an official Frobozz Magic Flathead Royal Family Calendar. There appear to be [number of filled rows in the Table of Calendar Pages] pages left on it." The calendar is lit. The calendar is affected by frotz. Understand "pages" or "frobozz magic" or "flathead" or "royal" or "family" as the calendar. Table of Calendar Pages page "Estuary: Lord Dimwit Flathead the Excessive. Dimwit's nickname was given to him after his coronation ceremony, which took thirteen years to plan and lasted for eighteen months." "Frobuary: John D. Flathead. John D. was the founder of Flathead Industries, which produced new companies to sell to FrobozzCo International." "Arch: Stonewall Flathead. T. J. 'Stonewall' Flathead heroically fought in the Battle of the Stonewall, in which the casualty rate was only 75% (due to the fact that the enemy garrison was, in fact, completely undefended)." "Oracle: Johann Sebastian Flathead. J. S. Flathead's [']Symphony 981['] (the [']Endless Symphony[']) comprised over 60,000 movements." "Mage: J. Pierpont Flathead. Under J. Pierpont's leadership, the market share of the Bank of Zork increased from 99.2% to 131%." "Jam: Thomas Alva Flathead. Among Thomas Alva's best-known inventions are the magic room spinner and the battery-powered brass lantern." "Jelly: Leonardo Flathead. Leonardo was a famous artist and scientist, known for disproving the myth that the world rests upon the back of an enormous turtle by proving that it instead rests upon the head of an enormous troll." "Augur: Lucrezia Flathead. Lucrezia was married eighteen times, and her husbands all died on their wedding nights in unfortunate accidents. Some historians claim that Lucrezia was somehow to blame." "Suspendur: Ralph Waldo Flathead. Ralph Waldo graduated with a Doctorate of Idyllic Poetry, Doctorate of Excellent Elegy, and a Doctorate of Octameter Odes from Antharia University. He always signed his name [']Ralph Waldo Flathead, D.I.P, D.E.E, D.O.O.[']" "Ottobur: John Paul Flathead. In his autobiography, John Paul's father Mumberthrax explained that he 'simply forgot about John D.' when naming John Paul." "Mumberbur: Frank Lloyd Flathead. Frank Lloyd died in 789 GUE from overexposure to the carcinogenic chemicals used to make blueprints." "Dismembur: Babe Flathead. Babe excelled in every sport and game in Quendor, with the exception of the card game Double Fanucci." Understand "tear a/one/-- page from/off of/-- [the calendar]" or "tear [the calendar]" as taking. Instead of an actor taking the calendar: take full time; if the number of filled rows in the Table of Calendar Pages is zero: if the player can see the actor, say "[The actor] [one of][tear] away the cardboard backing, leaving only the empty frame of the calendar on the wall. The paper disintegrates in [their] hand[or][pull] at the frame, with no effect[stopping]."; otherwise: repeat through the Table of Calendar Pages: if the player can see the actor, say "The calendar itself is firmly attached to the wall. [The actor] [tear] away a page, and it disintegrates in [their] hand.[/br][first time] (Shame[--]it would have made a useful light source.)[/br][only] The next one reads '[tt][page entry][/tt]'[p]"; blank out the whole row; rule succeeds. Instead of turning the calendar: try taking the noun. To deactivate the Dispenser: [This shuts off the source of free scrolls after Act 1.] now the small red light is part of the dispenser; now the dispenser is inactive. There is a small red light. It is insubstantial. The description of the red light is "According to the label, this means [tt]PAPER JAM IN TRAY 2 - TECHNICIAN REQUIRED FOR MAINTENANCE[/tt]." The Frobozz Magic Scroll Dispenser is magical ropable scenery in the Basic Spell Collection. Understand "orange" or "metal" or "box" or "machine" or "machinery" as the dispenser. The description of the dispenser is "A wide orange box, with a row of buttons on the front above a long slot.[p][if active]A large sign attached to the top explains how to properly dispense scrolls[else]A small red light is flashing next to the buttons[end if]." The dispenser can be active or inactive. The dispenser is active. Understand "push over/-- [the dispenser] over/--" or "tip over/-- [the dispenser] over/--" as pushing. Instead of pushing or attacking the dispenser, say "That might be hazardous to your health." The large sign is part of the dispenser. The description of the large sign is "[tt]== FROBOZZ MAGIC ==[br]= SPELL DISPENSER =[br][br]Until the spell catalog is repaired, this device will provide certain basic spell scrolls upon request.[br]Operating Instructions:[br]Press a button to dispense a spell scroll. The Frobozz Magic Spell Dispenser Company, a subsidiary of FrobozzCo International, is not responsible for any injuries resulting...[/br][/tt](blah, blah, blah)". The row of buttons is part of the dispenser. The description of the row of buttons is "[tt]~FROTZ~ ~BLORB~ ~NITFOL~ ~LESOCH~[/tt]". Instead of pushing the row of buttons: say "You'll need to be more specific. Which button?". The row of buttons is plural-named. The long slot is part of the dispenser. Instead of inserting something into the long slot: say "The slot is too narrow." Instead of inserting a spell scroll into the long slot: take full time; say "The machine makes an unpleasant grinding sound. The recorded voice says '[tt]Garbage in, garbage out![/tt]' and spews the atomized remains of [the noun] back out at you."; remove the noun from play. There is a spell scroll called the newly-printed scroll. The description is "The parchment is smooth[if the inscribed spell of the newly-printed scroll is the null-spell] and unblemished, perfectly blank[else], the lettering dark and mechanically perfect: '[tt][inscribed spell of the newly-printed scroll in capitals]: [usage of the newly-printed scroll][/tt]'[end if]." Understand "parchment" or "square" or "of" or "beautifully" or "printed" or "newly" or "new" as the newly-printed scroll. A frobozz magic button is a kind of thing. The plural of frobozz magic button is frobozz magic asdfbuttons. [We want "buttons" to redirect to the row object.] Before pushing a frobozz magic button when the newly-printed scroll is on-stage and the dispenser is active: say "The Dispenser beeps. '[tt]Only one scroll may be printed at a time. Correcting...[/tt]'[if the player can see the newly-printed scroll] The old scroll crumbles to ashes. [end if]"; remove the newly-printed scroll from play. [This is necessary to keep the scope correct.] Instead of attacking a frobozz magic button: say "The machine makes a strange squeaking-clicking sound as you hit the button."; try pushing the noun. Instead of touching a frobozz magic button: try pushing the noun. Should the game choose when comparing the newly-printed scroll against a frobozz magic button: it is a good choice. Should the game choose when comparing the newly-printed scroll against the scroll dispenser: it is a good choice. Should the game suggest casting gnusto at a frobozz magic button when testing the second noun: never. Should the game suggest copying a frobozz magic button to something when testing the noun: never. Should the game suggest copying something to the scroll dispenser when testing the second noun: never. [After reading a command when the location is the Basic Spell Collection:[* This is a terrible terrible hack but for some reason Disambiguation Control is not working for me here...] if the player's command includes "gnusto [spell]": replace the matched text with "gnusto [spell understood] scroll".] Should the game choose when comparing the blue button against De Evocatio: it is a good choice. To print a (xyzzy - spell) scroll: if the dispenser is not magical: say "Nothing at all happens."; if the dispenser is inactive: say "There is an unpleasant grinding noise and nothing happens."; stop; say "The Dispenser whirrs, then a beautifully printed square of parchment flies out of the slot at the bottom. You manage to catch it before it touches the ground."; now the inscribed spell of the newly-printed scroll is xyzzy; now the newly-printed scroll is unread; set pronouns from the newly-printed scroll; fizzle all spells from the newly-printed scroll; [Don't let it remain frotzed.] move the newly-printed scroll to the player. The yellow button, the blue button, the green button, and the red button are frobozz magic asdfbuttons. The yellow button, the blue button, the green button, and the red button are part of the row of buttons. Understand "frotz" as the yellow button. Understand "blorb" as the blue button. Understand "nitfol" as the green button. Understand "lesoch" as the red button. The description of the yellow button is "[tt]~FROTZ~[/tt]". The description of the blue button is "[tt]~BLORB~[/tt]". The description of the green button is "[tt]~NITFOL~[/tt]". The description of the red button is "[tt]~LESOCH~[/tt]". Carry out pushing the yellow button: print a frotz scroll. Carry out pushing the blue button: print a blorb scroll. Carry out pushing the green button: print a nitfol scroll. Carry out pushing the red button: print a lesoch scroll. Report pushing a frobozz magic button: [say "[The noun] makes a slight clicking sound as you release it.";] rule succeeds. Light-puzzle is a puzzling scene with puzzle description "finding a light source to explore the dark areas". Light-puzzle begins when in darkness. Light-puzzle ends when the security lockdown begins. Effect of casting vezza at the Basic Spell Collection: say "The machine whirrs for a moment, then begins to grind, then stops. A little red light begins blinking on the front panel." Empowered effect of casting vezza at the Basic Spell Collection: say "The dust-covered warning light blinks a few times, then turns off with a sad [i]whirrr[/i]." Inverse effect of casting vezza at the Basic Spell Collection: say "An IT worker folds a long roll of parchment along its perforations, checks the lines of holes along the edges, then feeds it into the back of the machine." Effect of casting kulcad at the dispenser: say "The machine goes silent and its buttons go dark."; now the dispenser is inactive; now the dispenser is not magical. Chapter 2 - The Alarm The security lockdown is a puzzling scene with puzzle description "deactivating the alarm". The security lockdown begins when the casting count of frotz is greater than zero. When the security lockdown begins: say "As the spell is completed, a booming voice suddenly resounds through the library.[p][b]Hello, footpad![/b] [tt]Your after-hours use of a 'frotz' spell within the Library has activated one of the triggers of a Frobozz Magic Alarm Company security system. Please be aware that the authorities have been alerted to your misdeeds, and this building has been placed into extreme security lockdown. All potential exits have been sealed, and additional traps and triggers have been enabled in high-risk areas.[p]If this alarm has been activated in error, please speak today's passphrase.[p]Have a nice day![/tt][p]...okay, this is getting worse. But you won't panic. You will [i]not[/i] panic. You just need to get your spells and get out of here."; award points for "triggering the alarm". Every turn when the security lockdown is happening: say "A pleasant voice speaks from [r]"; let the place be the Disused Closet; if the alarm box is on-stage, let the place be the location of the alarm box; if the location is the place: if the alarm box is fixed in place: say "a small glass box on the ceiling"; move the alarm box to the Disused Closet; else if the player encloses the alarm box: say "the alarm box in your hand"; else if the holder of the alarm box is a container: say "within [the holder of the alarm box]"; otherwise: say "the alarm box"; otherwise: let the way be the best route from the location to the place, using doors; if the way is a direction: say "[the way]"; otherwise: say "somewhere nearby"; say ": '[tt]Extreme security lockdown[/tt]'[p]". An alarm box is fixed in place. "[if undamaged]A[else]The remains of a[end if] small glass box hang[if undamaged]s[end if] from the ceiling above you." The alarm box can be active or inactive. It is active. It is magical and addressable. The description of the alarm box is "A delicate box of red and white glass, filled with [if undamaged]whirring [end if]magical components[if damaged]. Its workings have been damaged beyond repair by some unruly vandal[else if the alarm box is fixed in place and hard mode is false], hanging from the ceiling by a thin metal chain[else if the alarm box is fixed in place and hard mode is true], quite firmly attached to the ceiling[end if]." Understand "small" or "glass" or "red" or "white" or "red and white" or "delicate" or "workings" or "whirring" or "components" or "magical components" or "thin" or "chain" as the alarm box. First before answering the player that a topic in the presence of the alarm box: try answering the alarm box that the topic understood instead. [SAY IPSA SCIENTIA - short-circuit the action because talking to yourself is blocked] After answering another person that a topic in the presence of the alarm box: try answering the alarm box that the topic understood; make no decision. [MOUSE, IPSA SCIENTIA - allow the other person's action routines to respond, then have the alarm box react too] Instead of an actor attacking the alarm box when the alarm box is fixed in place and the actor is not flying: say "The box is unfortunately out of reach." Instead of an actor throwing something at the alarm box when the alarm box is fixed in place: take full time; if the actor is the Adventurer, record the Adventurer's attempt as successful; record the outcome of the actor dropping the noun silently; if the action failed, stop the action; if the actor is affected by fooble or the actor is the Adventurer: [The Adventurer has good aim.] if the noun is heavy: if the player can see the actor, say "[regarding the actor][Possessive] aim is true, and with uncannily perfect precision [the noun] [collide] with the alarm box. Its delicate mechanisms explode in a shower of glass."; now the box is damaged; otherwise: if the player can see the actor, say "[The actor] [throw] [the noun] with impressive aim, but [they] [have] no effect on the box."; otherwise: if the player can see the actor, say "[regarding the actor][Possessive] aim is off, and [the noun] misses the box by a wide margin."; Instead of an actor attacking or cutting the alarm box: take full time; if the actor is the Adventurer, record the Adventurer's attempt as successful; if the player can see the actor: if the alarm box is undamaged: say "The box shatters under [regarding the actor][possessive] fist, its delicate mechanisms exploding in a shower of glass[if the box is active].[p]Beautiful silence ensues[end if]."; otherwise: say "[The actor] [pound] the box a bit more."; now the box is damaged. Instead of an actor throwing something at the alarm box when the alarm box is portable: take full time; if the actor is the Adventurer, record the Adventurer's attempt as successful; record the outcome of the actor dropping the noun silently; if the action failed, stop the action; if the noun is light: if the player can see the actor, say "[The noun] [bounce] disappointingly off the box."; stop the action; if the player can see the actor: if the box is undamaged: say "The box shatters under [the noun]'s weight, its delicate mechanisms exploding in a shower of glass[if the box is active].[p]Beautiful silence ensues[end if]."; otherwise: say "[The noun] [hit] the glass box with a satisfying [i]crunch[/i]."; now the box is damaged. Instead of an actor putting something on the alarm box: try the actor throwing the noun at the second noun. Instead of an actor inserting something into the alarm box: try the actor throwing the noun at the second noun. Effect of casting blorb at the alarm box when the alarm box is fixed in place and hard mode is false: say "A glowing cube materializes out of the air, carefully enclosing the alarm mechanism. The strongbox seems to float for a moment as the spell concludes. Then gravity takes effect and it swings downward sharply. The thin chain makes a valiant effort to support the additional weight, but the strongbox is too heavy for it, and with a weak [i]snap[/i] it comes crashing down to land at your feet[if the alarm box is active].[p]Unfortunately, the box seems to have also protected the mechanism from the fall. You can still hear the recorded voice speaking faintly through the thick metal[end if]."; now everything in the strongbox is in the holder of the strongbox; move the alarm box to the strongbox; now the alarm box is handled; now the alarm box is portable; set pronouns from the strongbox; now the remembered location of the alarm box is the strongbox; move the strongbox to the disused closet. Effect of casting serage at the alarm box: say "You attempt to bring the alarm under your control, but it doesn't really have a mind per se[--]or at least, not one complex enough to take over with [i]serage[/i]." Effect of casting nitfol at the alarm box: say "Nothing much happens. The voice is more like a recording than an actual person or animal, and you can understand it perfectly well as it is anyway." Effect of casting rezrov at the undamaged alarm box: say "Nothing much happens. It seems it isn't designed to open." Empowered effect of casting rezrov at the undamaged alarm box: say "The box strains slightly, then flies open at the seams, tiny glass components spilling out the sides."; now the alarm box is damaged. Effect of casting kulcad at the undamaged magical alarm box: say "The colors fade from the glass and the whirring ceases."; now the alarm box is inactive; now the alarm box is not magical; now the description of the alarm box is "A cube of dull glass, quiet and still." The current passphrase is initially "ipsa scientia". To alter the passphrase: [Note: the switch-case style syntax doesn't work with strings, so I need to write it out with else-ifs instead.] if the current passphrase is "ipsa scientia": now the current passphrase is "noli metaludare"; ["Don't metagame"] else if the current passphrase is "noli metaludare": now the current passphrase is "nonne antequam ludebas"; ["Surely you've played [this] before?"] else if the current passphrase is "nonne antequam ludebas": now the current passphrase is "hoc facere desiste"; ["Stop doing this!"] otherwise: now the current passphrase is "arius"; repeat with N running from 1 to 5: let X be the substituted form of "[a password component]"; now the current passphrase is the substituted form of "[X][current passphrase]". Instead of answering the alarm box that a topic when the current passphrase is the substituted form of "[the topic understood]": take full time; if the alarm box is not familiar: say "You say the phrase. Nothing happens, not that you'd really expected it to."; alter the passphrase instead; [Metagamers. :P ] if the alarm box is inactive: say "The alarm is already deactivated." instead; if the alarm box is damaged: say "It wouldn't do much good now." instead; say "The pleasant voice speaks again. '[tt]Passphrase accepted. Extreme security lockdown mode lifted.[/tt]'"; now the alarm box is inactive. Instead of conversing when the noun is the alarm box: [TODO: why doesn't this work?] say "As far as you can tell, the alarm box takes no notice whatsoever."; take full time. Instead of answering the alarm box that "the/-- password/passphrase": if the alarm box is familiar: say "You know the password now: [i][current passphrase in upper case][/i]."; otherwise: say "You say '[topic understood]'. Nothing happens."; take full time. The security lockdown ends when the alarm box is inactive or the alarm box is damaged. When the security lockdown ends: award points for "deactivating the alarm"; mark checkpoint alarm as passed. Chapter 3 - The Rezrov Scroll and the Pressure Plate The Spell Research Room is north of the Library Antechamber. It is dark. "This is the area where advanced students can work out variations on old spells or attempt (with close supervision) to create simple enchantments from scratch." The Spell Research Room is in the Library. A bright yellow poster is fixed in place in the Spell Research Room. "A bright yellow poster is affixed to the wall." Understand "sign" or "notice" as the poster. The description of the poster is "[tt]~~~ NOTICE ~~~[p]The Experimental Magic Research Area is once again open after the Assimilation Incident last year*.[br]Additional security precautions have been put into place to prevent any unintended magic from entering or leaving.[br]To enter the area, proceed north, down the stairs, and through the security door to the southeast.[p]* ask one of the Librarians[/tt][p]Someone has added on to the bottom of the notice: [i]Currently testing combinations of metamagic[--]kindly do not disturb experiments. - Prof. Ngo[/i]." Effect of casting vezza at the Spell Research Room when the scribbled scroll is on the workbench: say "Most prominently, the trap seems to have been set off, and the workbench is empty." Inverse effect of casting vezza at the Spell Research Room: say "You see a strange jumble of images, mostly centered around the workbench. The most vivid is a young student Enchanter holding a spell book and a scroll. He is reciting the incantation carefully and haltingly, but as he finishes there is an enormous burst of light and heat that throws him backwards. A notebook sitting on the bench is the only thing that seems unaffected." Effect of casting vezza at the Spell Research Room: say "A shadowy figure searches through the room, touching various spots on the workbench and seeming to go into a momentary trance each time." Empowered effect of casting vezza at the Spell Research Room: say "A shadowy figure holds a thin and insubstantial scroll, copying down its ghostly writing onto parchment." The workbench is an enterable magical supporter in the spell research room. It is fixed in place. "A long workbench lines one of the walls. Judging from the amount of strange machinery around it, the alarm recording wasn't lying about the traps[first time][--]magic-users have a tendency to make things overly complicated in case of unlikely eventualities[only][if unsolved]. It might not be a good idea to touch anything on the workbench until the trap can be deactivated[end if].". Understand "work" or "bench" or "table" as the workbench. The workbench can be solved or unsolved. [This is the flag for whether the trap is armed or not.] It is unsolved. The strange machinery is part of the Workbench. Understand "machine" and "mechanism" and "trap" and "panels" as the strange machinery. The description of the machinery is "If you had to guess, you'd say it was meant to activate when someone leaned on the workbench." Understand "lean on [the workbench]" as entering. Workbench-puzzle is a puzzling scene with puzzle description "getting the scribbled scroll from the workbench". Workbench-puzzle begins when the workbench is known. Workbench-puzzle ends when the scribbled scroll is not on the workbench. The description of the workbench is "The metal surface is dark with age, and appears to have been attacked several times and set on fire at least once. A torn scrap of paper seems to have adhered to one corner." A torn scrap of paper is part of the workbench. The description of the torn scrap is "It isn't actually glued down, as you'd first thought[--]rather, it seems to be part of the bench itself. One side is yellowed paper, the other gray metal, and the material seems to slowly transform from one to the other across the page. You can still make out some of the words:[p] [if accessibility mode is active] Basic principles of summoning - vision - need to see target - line of sight best, or scrying glass - even painting works if affected by other spell - must be permanent - alterable portrait works, basic frotz does not - sufficient energy for secondary connection[else] [i]...rch 927 - basic principles of summoning[br] ...tor seems to be vision - need to see target to affect[br] ...ct line of sight best, or via scrying glass (Mulryan 895)[br] ... - even painting works - [ib]if affected by other spell[/ib][br] ...iple of sympathy between spells) - must be permanent![br] ...xample alterable portrait works, basic frotz does not[br] ...fficient energy to supply secondary connective spell[/i][end if][p]". Rule for deciding whether all includes something (called the item) when the item is on the unsolved workbench: say "(omitting [the item] for safety)[ccb]"; it does not. A scribbled scroll is a spell scroll on the workbench. "Lying on the [if the scribbled scroll is on the workbench]workbench[else]floor[end if] is a scribbled spell scroll, probably a student's forgotten experiment." The inscribed spell of the scribbled scroll is rezrov. After examining the carried scribbled scroll for the first time: say "The handwriting on this scroll is much neater than on the one you opened the doors with. Hopefully it will work." Instead of examining the scribbled scroll when the scribbled scroll is on the workbench: say "You would need to pick it up and unroll it before you could read the spell." Instead of copying a scroll to something when the noun is on the unsolved workbench: say "You try to make out all the words from here, but it's no good. The scroll is rolled up too well and you'd need to get it in your hands first." To decide whether a rezrov warning is applicable: if rezrov is inscribed in your spell book, no; if the scribbled scroll is off-stage, no; if the badly-written scroll is on-stage, no; if the newly-printed scroll is on-stage and the inscribed spell of the newly-printed scroll is rezrov, no; if the blotchy parchment is on-stage and the inscribed spell of the blotchy parchment is rezrov, no; if the player encloses a rezrov-copied spell scroll, yes; no. Instead of casting rezrov at something when a rezrov warning is applicable: say "You pause for a moment[--]you don't know where you might find another [i]rezrov[/i] scroll, so you should probably make a copy of this one before you destroy it. Are you sure you want to do this?>"; if the player consents, continue the action. Instead of putting the correction film on a spell scroll when the inscribed spell of the second noun is rezrov and the number of on-stage rezrov-copied spell scrolls is 1: say "You pause for a moment[--]you don't know where you might find another [i]rezrov[/i] scroll. Are you sure you want to erase this one?>"; if the player consents, continue the action. Definition: a spell scroll (called the page) is rezrov-copied if the inscribed spell of the page is rezrov. Report putting something on the unsolved workbench: say "You carefully drop [the noun] on the workbench, but its weight isn't enough to set off the trap." Report throwing something at to the unsolved workbench: say "You toss [the noun] onto the workbench. Some of the machinery twitches slightly, but it seems that it will take something significantly heavier than [a noun] to set off the trap." After putting the floor waxer on the unsolved workbench: safely activate the workbench. After throwing the floor waxer at to the unsolved workbench: safely activate the workbench. Effect of casting kulcad at the magical workbench: say "The machinery folds over onto the workbench, its animating spell gone."; now the workbench is not magical; now the workbench is solved. Before doing something when the location is the Spell Research Room and the workbench is unsolved and the workbench must be touched indirectly: say "As you reach out, your weight falls on the bench for a moment. [run paragraph on]"; activate the workbench; continue the action. [This line will only execute if the trap didn't kill the player.] Before the Adventurer doing something when the location of the adventurer is the Spell Research Room and the workbench is unsolved and the workbench must be touched indirectly: say "[The Adventurer] reaches toward the workbench, and [their] hand touches the surface for a moment. [run paragraph on]"; have the Adventurer activate the workbench; make no decision. Effect of casting blorb at something on the workbench: follow the standard blorb rule; [Blorb it as usual.] safely activate the workbench. To activate the workbench: if the workbench is solved: say "There is a slight shudder, but the trap hasn't been reset and nothing happens."; otherwise: say "With a grinding of gears, the bench sinks slightly into the floor. It seems that the additional weight has activated a trap, and before you can dodge backwards a cleesh spell fires at you from a mechanism in the ceiling."; record "Being newtralized by a trap" as an ending; end the story saying "You have been newtralized". To have the Adventurer activate the workbench: if the workbench is solved: say "There is a slight scraping sound, but the trap hasn't been reset and nothing happens."; otherwise: say "With a grinding of gears, the bench sinks slightly into the floor. [The Adventurer] yells in surprise[--]it seems that the additional weight has activated a trap, and before [he] can do anything else spells fire from all directions. [She] vanishes in a cloud of green smoke, and when it clears the only sign of [him] is a small newt scuttling away through the door. You wonder for a moment whether it had to go this way..."; repeat with the item running through things carried by the Adventurer: move the item to the holder of the Adventurer; repeat with the item running through things worn by the Adventurer: move the item to the holder of the Adventurer; remove the Adventurer from play; now the workbench is solved; record the Adventurer's attempt as successful; stop the action. To safely activate the workbench: if the workbench is solved: say "There is a slight click, but the trap hasn't been reset and nothing happens."; otherwise: say "With a grinding of gears, the bench sinks slightly into the floor. It seems that the additional weight has activated a trap[--]panels on either side of the workbench swing out to hold [the random thing on the workbench] in place, and a mechanism in the ceiling fires some sort of spell at it.[paragraph break]Whatever spell it was, it has no effect on the workbench or its contents. The panels stay in place, waiting for a manual reset."; now the workbench is solved. Book III - The Adventurer Part 1 - The Scrying Room Section A - Scrying The scrying flag is a truth state that varies. [This prevents infinite recursion.] The scrying flag is false. The current viewpoint is an object that varies. The current viewpoint is yourself. A scrying device is a kind of thing. A scrying device can be active or inactive. Instead of switching on or switching off a scrying device: say "You don't see any obvious way.". A scrying device is usually magical, addressable, and translucent. A scrying mirror is a kind of scrying device. A scrying mirror is usually inactive, fixed in place, and scenery. The plural of scrying mirror is asdfasdfasdf. [* Inform 6L02 automatically parses plural names, which is bad here: it means the "mirrors and crystals" object in the Scrying Room is passed over in favor of a misleading error message.] A palantir is a kind of scrying device. A palantir is usually active and portable. [A palantir is always portable.] Understand "palantir" or "sphere" or "ball" as a palantir. The plural of palantir is palantiri. Understand "palantiri" or "spheres" or "balls" as the plural of a palantir. Before listing contents while taking inventory: group palantiri together as "palantiri". Effect of casting kulcad at a magical scrying device: say "[The second noun] flares with light for a moment, bright spears of fire streaking through the glass. A spiderweb of glowing lines fills its surface. Then all at once it goes dark, the crystal shattering into thousands of pieces."; now the second noun is not magical; now the second noun is damaged; announce the mirror breaking. Definition: a scrying device (called the glass) is usable rather than unusable if it is active and it is undamaged and the mystical relative of the glass is undamaged. [Turned on, and both ends in working order.] [Allowing one to say passwords to mirrors.] Understand "say [text] to [scrying mirror]" or "speak [text] to [scrying mirror]" as answering it that (with nouns reversed). Understand "tell [scrying mirror] [text]" as answering it that. Instead of telling a scrying mirror about a topic: try answering the noun that (the topic understood). Indirect visibility relates various things to various scrying devices. The verb to be seen through means the indirect visibility relation. The verb to show means the reversed indirect visibility relation. Understand "through [something related by indirect visibility]" or "via [something related by indirect visibility]" or "in [something related by indirect visibility]" as a thing. Understand "indirvis" as a mistake ("[indirvis]"). To say indirvis: show relation the indirect visibility relation. To activate (the glass - a scrying device): [These phrases make sure both ends are in sync.] now the glass is active; now the mystical relative of the glass is active. To deactivate (the glass - a scrying device): now the glass is inactive; now the mystical relative of the glass is inactive. A thing can be scriable or unscriable. A thing is usually scriable. A scrying device is never scriable. [This prevents another sort of infinite recursion.] Scope adjustment (this is the look through scrying devices rule): if the security lockdown is happening, make no decision; [Scrying devices don't work during this time.] repeat with the glass running through scrying devices: [Reset the relation first.] now the glass does not show anything; repeat with the glass running through usable visible scrying devices: [Now add in the other objects.] let the far glass be the mystical relative of the glass; if the far glass is off-stage: deactivate the glass; next; let the far side be the visibility ceiling of the far glass; if the far side is nothing: deactivate the glass; next; now the far side is marked in scope; repeat with the item running through scriable things enclosed by the far side: if the far glass can see the item: now the item is marked in scope; now the glass shows the item; repeat with the item running through scriable doors liminal to the far side: if the far glass can see the item: now the item is marked in scope; now the glass shows the item; now the nonlocal visibility flag is true. Include (- [ VisibilityCeiling obj l up; up = obj; l = obj; while (true){ up = VisibilityParent(up); if (up == 0) break; l = up; } return l; ]; -). To decide what object is the visibility ceiling of (O - an object): (- VisibilityCeiling({O}); -). The temporary scrier is a privately-named scenery person. [The player is changed to this person to show a different viewpoint through a scrying device.] Instead of examining or searching a scrying device (called the glass): take full time; if the glass is not magical, say "Nothing appears any more."; if the glass is damaged, say "The glass is shattered and covered in cracks. It seems to reflect a strange flickering darkness, like ash in water." instead; if the glass is inactive, follow the mirror description rule instead; if the mystical relative of the glass is damaged, say "Instead of a reflection, [the glass] shows a strange vision: a web of thin black shadows, with swirls of color twisting between them like oil on water." instead; if the security lockdown is happening, say "[The glass] [show] only the words [tt]SECURITY LOCKDOWN - SCRYING PREVENTED[/tt] in glowing red letters." instead; let the far glass be the mystical relative of the glass; let the far side be the holder of the far glass; let the far ceiling be the visibility ceiling of the far glass; if [the far glass is off-stage or] the glass can see the far glass: say "Through [the glass] you see only darkness."; rule fails; if the far ceiling is darkness-filled: say "You can make out the dim outlines of [the far ceiling], but it is too dark to perceive any details."; rule fails; say "Instead of a reflection, [the glass] seems to show a different view, as if it were a window to another world..."; let the current location be the player; let V be false; if the location of the far glass is visited, let V be true; [Remember this to switch it back later.] now the scrying flag is true; [This flag is also used to avoid showing mirrors recursively.] now the current viewpoint is the far glass; move the temporary scrier to the far side; now the player is the temporary scrier; try looking; now the player is the current location; remove the temporary scrier from play; now the current viewpoint is the player; now the scrying flag is false; say "...you step back from the glass, and take a moment to regain your bearings."; [move the player to the current location, without printing a room description;] if V is false, now the location of the far glass is unvisited. [If the player hasn't been there in person, it shouldn't be marked as 'visited' from this.] Should the game suggest searching a scrying device: it is a good suggestion. After reading a command (this is the avoid unpleasant LOOK IN disambiguation rule): [HACK HACK HACK] while the player's command includes "look in ": replace the matched text with "look into ". Instead of attacking a scrying device (this is the glass is sharp rule): say "Smashing [the noun] might be cathartic; removing the slivers of glass from your hands, less so. Enchanters are supposed to always keep their self-control." Carry out an actor throwing something heavy at to a scrying device (this is the glass is fragile rule): now the second noun is damaged; announce the mirror breaking; if the player can see the second noun: say "[The second noun] [shatter] spectacularly under the weight of [the noun], points of light scattering through the room as a spiderweb of cracks splits the reflection into slivers."; if the player can see the mystical relative of the second noun and the second noun is active: let the glass be the mystical relative of the second noun; say "[The glass] [flare] with light as [their] image dissolves. Now [they] [reflect] a swirl of brilliant colors divided by thin lines of shadow.". Carry out an actor throwing a scrying device at to something (called the hard surface) when the hard surface is fixed in place or the hard surface is scenery and the hard surface is substantial (this is the glass can be thrown rule): now the noun is damaged; announce the mirror breaking; if the player can see the noun: say "There is a sharp [i]crack[/i] and fissures spread through [the noun]."; if the player can see the mystical relative of the noun and the noun is active: let the glass be the mystical relative of the noun; say "[The glass] [flare] with light and [emit] a dull [i]thud[/i], [their] reflection dissolving into vague swirls of color.". To announce the mirror breaking: display the boxed quotation "Out flew the web and floated wide; The mirror crack'd from side to side... -- The Lady of Shalott, Alfred Lord Tennyson". Section B - Modified Description Rules This is the modified room description heading rule: say bold type; if the visibility level count is 0: begin the printing the name of a dark room activity; if handling the printing the name of a dark room activity: say "Darkness" (A); end the printing the name of a dark room activity; otherwise if the visibility ceiling is the location: say "[visibility ceiling]"; otherwise: say "[The visibility ceiling]"; say roman type; let intermediate level be the visibility-holder of the actor; repeat with intermediate level count running from 2 to the visibility level count: if the intermediate level is a supporter or the intermediate level is an animal: say " (on [the intermediate level])" (B); otherwise if the intermediate level is a person: say " (carried by [the intermediate level])" (C); otherwise: say " (in [the intermediate level])" (D); let the intermediate level be the visibility-holder of the intermediate level; say line break; say run paragraph on with special look spacing. The modified room description heading rule is listed instead of the room description heading rule in the carry out looking rulebook. Rule for listing nondescript items of a person (called the subject): say "Also carried by [the subject] "; list the contents of the subject, as a sentence, tersely, listing marked items only, prefacing with is/are, including contents, and giving brief inventory information; say ".". Rule for writing a paragraph about an unscriable thing (called the item) when the scrying flag is true: now the item is mentioned; stop. The interior description rule is listed before the room description body text rule in the carry out looking rules. This is the interior description rule: if the actor is the player and the player is enclosed by something: let the intermediate level be the visibility-holder of the player; repeat with the intermediate level count running from 2 to the visibility level count: carry out the describing the interior activity with the intermediate level; let the intermediate level be the visibility-holder of the intermediate level. Describing the interior of something is an activity. Rule for describing the interior of a person (called the subject): say "[The subject] is holding the scrying device at a strange angle, so it takes a moment to reorient your view.". Section C - The Scrying Room Itself The Scrying Room is northwest of the Antechamber. It is dark. "The walls and shelves of this room are lined with mirrors and crystals of all types. Presumably you would have learned to scry in a more advanced Thaumaturgy class, but it wasn't covered in the first or second year of studies[first time].[p]Almost all of them are deactivated for the night, but if you searched you might find some that had been left on[only]." The Scrying Room is in the Library. After examining the wall-sized mirror when the security lockdown is not happening: display the boxed quotation "And moving thro' a mirror clear That hangs before her all the year, Shadows of the world appear. -- The Lady of Shalott, Alfred Lord Tennyson"; continue the action. The scrying repository is a container. [Objects here are moved to the scrying room once the player has seen them.] There is a thing called some mirrors and crystals. It is plural-named and scenery. It is in the scrying room. Understand "shelves" as the mirrors. The description of the mirrors is "They come in all different shapes and sizes: [a list of inactive scrying mirrors in the Scrying Room] catch your eye. [if there is an active scrying device in the Scrying Room]Most are dark and foggy, but you notice [a list of active scrying devices in the Scrying Room] glowing with inner light[otherwise]All of them are dark and clouded[end if][if the unhandled aquarium is in the scrying room].[p]Strangely enough, there also appears to be a glass aquarium on one of the shelves. It looks rather out of place with no water in it[end if]." Instead of searching the mirrors: try examining the mirrors. Should the game choose examining the unexamined mirrors: it is a good choice. Should the game choose searching the unexamined mirrors: it is a good choice. Instead of taking the mirrors and crystals: say "There must be hundreds of them here. You'll need to be more specific about which one you want." Understand "mirror" or "sphere" or "aquarium" or "palantir" as the mirrors when the mirrors are unexamined. Before examining the mirrors: repeat with the item running through things in the scrying repository: move the item to the scrying room. [Rule for deciding whether all includes an unhandled thing when the location is the Scrying Room: it does not. [Prevent GET ALL]] Rule for deciding whether all includes the mirrors: it does. A wall-sized mirror is a scrying mirror in the scrying repository. Understand "wall" or "sized" as the wall-sized mirror. A gilt mirror is a scrying mirror in the scrying repository. Understand "gilded" as the gilt mirror. A stained mirror is a scrying mirror in the scrying repository. Instead of answering an undamaged scrying mirror that a topic: take full time; let T be the substituted form of "[topic understood]"; if T is the mirror password: if the noun is active: say "[The noun] [shimmer] briefly." instead; let the activation state be false; if the noun is: -- the inset mirror: [No further conditions.] let the activation state be true; award points for "activating a hidden mirror"; -- the gilt mirror: [if the player is wearing something...etc...otherwise...] say "Words appear briefly on the surface of the glass. [i]As per the new two-factor security policy, you must be wearing the identifiable article of clothing assigned to you by Infrastructural Thaumaturgy to activate this mirror.[/br][/i][p]"; -- the stained mirror: say "Words begin to appear on the surface of the glass, but they are twisted and distorted, flickering slightly in the dim light. [if accessibility mode is active]The letters are almost recognizable but they shimmer and dim before you can make them out.[r][else][i]∀s p3r the ueM tM0-tM0-tM0-tMMM-≃⋊ ωεαριγγ θε ιδεντιφιabλeeeĦœ ᴒᵹᴥ♅♓♓♓...[/i][end if] Then it goes dark again."; if the activation state is true: say "As you say the word '[topic understood]', there is a flash of light and the surface of the mirror ripples and distorts for a moment."; activate the noun; otherwise: say "You say '[topic understood]', but nothing happens." A small blue sphere and a small red sphere are palantiri in the scrying repository. The blue sphere is mystically linked to the red sphere. The glass aquarium is a ropable transparent closed container in the scrying repository. ["For some reason, a small glass aquarium is sitting on one of the shelves. It looks very out of place with no water in it."] It is not openable. The small transparent sphere is a palantir in the aquarium. Understand "crystal" or "box" as the aquarium. The description of the aquarium is "A solid cube of glass[if hard mode is true], reinforced with metal bands[else if the aquarium is open], covered in thin cracks. One of the faces has been neatly removed[end if]." Understand "reinforced" or "metal" or "bands" as the aquarium when hard mode is true. Effect of casting rezrov at the aquarium: say "You complete the spell, but the aquarium refuses to open. It appears to be a solid cube of crystal[if the shattered display case is solved] (which is clearly stronger than the display case in the Antechamber)[end if], and the rezrov spell isn't powerful enough to force it open." Empowered effect of casting rezrov at the aquarium: if hard mode is true: say "The aquarium strains, beginning to open, but the metal bands around it keep the glass from breaking."; otherwise: say "Cracks spread across the aquarium, and one face shatters into thousands of tiny slivers of crystal! You cover your eyes for a moment, and when you look at the aquarium again, it does indeed seem to be open."; now the aquarium is damaged; now the aquarium is open. After casting krebf at the damaged aquarium: now the aquarium is closed; continue the action. Unsuccessful attempt by the Adventurer attacking the aquarium: say "[The Adventurer] motions for you to stand back, then picks up the aquarium and tosses it with effort towards the ceiling. It comes down with a massive [b]crash[/b], but doesn't even seem scratched. [He] scowls at it.". Instead of attacking the aquarium: say "The crystal makes a slight [i]bong[/i] sound, but nothing else happens."; take full time. Report throwing something at the aquarium: say "[The noun] has no effect on the surprisingly resilient crystal." Effect of casting a spell at something when the second noun is enclosed by the aquarium: say "The casting goes awry[--]something about the crystal of the aquarium is interfering." Effect of casting kulcad at the aquarium: say "The glass shimmers for a moment. Then it seems to thin out, stretching like a soap bubble, until with a delicate, crystalline sound it disintegrates into slivers."; repeat with the item running through things in the aquarium: move the item to the holder of the aquarium; remove the aquarium from play. When play begins: activate the wall-sized mirror. [This one is active from the start, as you need the Adventurer to get the later ones.] A glass cabinet is a container in the Scrying Room. It is closed, locked, transparent, fixed in place, and openable. "[if De Evocatio is in the cabinet]A glass cabinet on one of the shelves contains a blue-and-silver book, titled [De Evocatio]. Books kept in these rooms tend to contain spells relevant to the equipment there, so presumably it contains spells for scrying.[otherwise][run paragraph on][end if]". The description of the cabinet is "A simple cabinet with a tiny metal lock on one side.". Understand "case" as the cabinet. [Some people automatically call it a 'case' after the gnusto puzzle.] Understand "tiny" or "metal" or "lock" as the cabinet. The silver key unlocks the glass cabinet. De Evocatio is an unfamiliar spell book in the glass cabinet. The description of De Evocatio is "This is a nice spell book, bound in blue cloth with silver stitching on the cover and spine. [if De Evocatio is unfamiliar]The title may have something to do with scrying, although you aren't quite sure[otherwise]The title (almost) means 'On Evocation' or 'On Summoning'[end if]. It contains the following spells:[run paragraph on]". The printed name is "[i]De Evocatio[/i]". [It should really be De Evocatione or De Evocationibus, but those sound awkward in English. My explanation is that a scribe (i.e. me when I was first coding this) didn't realize that it was third declension and thought the word was "evocatius, -i".] [The 'familiar' property changes the description slightly when the player asks someone about the name.] Understand "blue" or "silver" or "blue-and-silver" or "titled" as De Evocatio. Understand "book" as De Evocatio when De Evocatio is unexamined. Should the game choose when comparing the blue sphere against De Evocatio and the blue sphere is examined: it is a good choice. Instead of attacking the glass cabinet: say "You strike the glass with your hand. It makes a dull [i]thud[/i] but refuses to break."; take full time. Instead of throwing something at the glass cabinet: try attacking the cabinet. Cabinet-puzzle is a puzzling scene with puzzle description "opening the locked cabinet in the Scrying Room". The cabinet-puzzle begins when the glass cabinet is known. The cabinet-puzzle ends when the glass cabinet is open. Zifmia is inscribed in De Evocatio. Vezza is inscribed in De Evocatio. [It seems someone else made the same mistake as the player and gnusto'd a scrying spell into the summoning book.] Understand "zifmia" or "vezza" as De Evocatio when the command is not metamagic. [Give a better response to GNUSTO ZIFMIA.] Effect of casting vezza at the Scrying Room when the Adventurer is neutral: say "A figure faces a single glowing mirror, casting a spell of some sort. Suddenly a bedraggled [if the adventurer is female]wo[end if]man appears out of nowhere and cowers in fear before [regarding the player standin][them]." Effect of casting vezza at the Scrying Room: say "Several mirrors shine with light, reflecting tiny scenes into the room." Empowered effect of casting vezza at the Scrying Room: say "The stained mirror suddenly flickers to life, and a figure seems to walk through it and disappear." Inverse effect of casting vezza at the Scrying Room: say "A robed librarian walks around to each mirror and makes some sort of gesture. As she leaves, all of the glasses go dark. Then the wall-sized mirror begins to glow again of its own accord." Part 2 - The "Adventure" Area [STUB - for the rest of the cave, see Act II.] A cave is a kind of room. A cave is usually dark. [This is just for convenience.] Colossal Cave is a region. The Splendid Cavern is a cave in Colossal Cave. "You [if the scrying flag is true]see[else]are in[end if] a magnificent cavern of orange rock. Rivers of shining stone seem to flow down the walls from the ceiling high above, magically frozen for eternity. There is an awkward gap between two natural pillars to the east, and a somewhat larger one to the west." A dusty mirror is a scrying mirror in the Splendid Cavern. "Propped up in a corner is a dusty mirror, looking strangely out of place among the natural splendor of the columns." The dusty mirror is not scenery. The dusty mirror is mystically linked to the wall-sized mirror. [The wall-sized mirror is in the Scrying Room.] After casting blorple at the wall-sized mirror: mark checkpoint caves as passed; continue the action. Part 3 - The Adventurer Himself/Herself The Adventurer is a person in the Splendid Cavern. "[if neutral]In the darkness you see an adventurer holding a bright carbide lamp[else if scared]A bedraggled and weary-looking adventurer stands here, looking panicked and terrified[else if friendly][The Adventurer] is standing here, smiling frequently[else if obedient][The Adventurer] is standing here, awaiting a command[else if Act 1 is happening][The Adventurer] is looking at you uncertainly, not looking particularly obedient any more[otherwise][The Adventurer] is standing here, looking less than pleased at your presence. [He] glares at you with thinly-veiled hostility[end if]." When play begins: set the gender of the adventurer to feminine; if the player is female, set the gender of the adventurer to masculine. [* This sets the adventurer's gender to be opposite that of the player. I want to show that this Adventurer is not meant to be the same person as the player (as he was in Enchanter), whereas the Guildmaster appearing at the end if the game is.] The description of the Adventurer is "[adventurer desc][p]". To say adventurer desc: say "[regarding the Adventurer][He] [if the Adventurer is neutral]appears to be[else]is[end if] a few inches taller than you, and a good deal stronger. [r]"; say "[Her] hair is short and unruly, constantly getting in [her] eyes. It might be brown or black[--][r]"; if the Adventurer is neutral: say "you can't tell. In the darkness of the cave, [her] eyes seem to glow with light."; otherwise: say "the dirt from the cave makes it hard to tell."; say "[He] is carrying [a list of things carried by the Adventurer], and wearing thick padded clothing with straps and metal rings attached to it. It must serve some sort of magical purpose, although you can't think what that would be.[r]"; Every turn when the player can see the examined neutral adventurer: say "[The Adventurer] [one of]stares at the mirror, but doesn't seem to see you[or]consults [her] map, turning slowly in place[or]is apparently deep in thought[or]rummages through [her] possessions[or]is making furious pencil marks on a map[at random]." Adventurer-puzzle is a puzzling scene with puzzle description "interacting with the Adventurer". The adventurer-puzzle begins when the Adventurer is examined. The adventurer-puzzle ends when the adventurer is obedient. The dusty mirror can be clean or dirty. The dusty mirror is dirty. Instead of examining the dirty dusty mirror: say "You can't see anything through the dust." Instead of rubbing the dirty dusty mirror: take full time; say "You rub some dirt away."; now the dusty mirror is clean. Instead of rubbing the clean dusty mirror: say "The mirror is already clear enough to see through, and you don't have the time to really clean it up." After casting lesoch at the location of the dusty mirror when the dusty mirror is dirty: say "The wind does seem to have swept much of the dust from the mirror."; now the dusty mirror is clean; continue the action. The adventurer can be neutral, obedient, scared, suspicious, or friendly (this is her disposition). The adventurer is neutral. Persuasion rule for asking the adventurer to try doing something: if the adventurer is scared: say "[The adventurer] looks nervous and eyes you warily, but doesn't respond."; take full time; persuasion fails; if the adventurer is suspicious: say "[one of]'No.'[p]What? The [i]serage[/i] spell is supposed to force complete obedience.[or]'No, I won't.'[p]Something's clearly gone horribly wrong here.[or][The Adventurer] laughs angrily. 'Do you think your spell still binds me?'[p]The spell has worn off? That quickly?[p]'I'm done here. I have what I need. Now send me back.'[or][The Adventurer] doesn't seem likely to listen to you at this point.[stopping]"; take full time; persuasion fails; if the adventurer is friendly: persuasion succeeds; if the adventurer is obedient: now the adventurer's last command is the saved command; persuasion succeeds; say "[The adventurer] whips around. 'Who said that?'"; [This happens if the Adventurer is still in the cave.] take full time; persuasion fails. Chapter 1 - Special Effects of Spells Effect of casting nitfol at the adventurer: say "You complete the spell. [The Adventurer] isn't a beast precisely, much as [she] may resemble one. But [he]'s probably a bit more intelligible now." Effect of casting serage at the neutral adventurer: [The adventurer is only neutral when the player hasn't summoned them yet.] say "[The Adventurer]'s eyes unfocus for a moment, and [she] smiles vaguely, but nothing else seems to happen. Perhaps the target of the spell needs to be able to see you as well." Effect of casting serage at the scared adventurer: say "As you complete the spell, [the Adventurer]'s eyes unfocus for a moment. [She] seems much more willing to listen to you."; now the adventurer is obedient; award points for "using mind control"; mark checkpoint adventurer as passed. Effect of casting serage at the adventurer: say "The spell has no effect. That's odd...the casting felt right, and it worked the first time." Effect of casting vaxum at the suspicious adventurer: say "[The Adventurer]'s eyes unfocus, and [she] smiles at you with an air of good will. You seem to have erased the last traces of the [i]serage[/i] spell."; award points for "making a new friend"; now the node of the adventurer is the null-node; now the adventurer is friendly. Inverse effect of casting vaxum at the friendly adventurer: if the location is the chasm and the player is securely anchored: say "[The Adventurer] shouts something indistinct. You hear a strange scratching sound from above, and before you know what is happening, the rope ceases to support you..."; let the anchor be a random other nonrope thing that is tied to the player; let the coil be a random rope that is tied to the anchor; now the anchor is not tied to the coil; try looking; rule succeeds; otherwise if the player can touch the Adventurer: say "[The Adventurer] screams in rage as the spell completes, and rushes toward you in a mad frenzy. Before you can move [he] has slammed into you, and the back of your head collides painfully against the wall. You feel a second hit, then a third, then everything goes black..."; award the "Turned Against Their Masters" achievement; record "Made the Adventurer hostile again" as an ending; end the story saying "You have died"; rule succeeds; otherwise: say "[The Adventurer] screams in mad rage as the spell takes hold of [him], charging forward in a mad frenzy. But [he] has no way to reach you, and after a few seconds the effects seem to wear off. [She] shakes [her] head in confusion and calls out. '[Player's forename]?'". Effect of casting vaxum at the friendly adventurer: say "[The Adventurer] smiles and waves." Effect of casting zifmia at the adventurer: say "All at once, the bedraggled [Adventurer] appears before you, brightly glowing lamp in hand. [Her] jaw has dropped and [her] eyes are bulging. [Her] eyes dart this way and that, as if looking for a way to escape."; move the adventurer to the location; now the adventurer is scared. Effect of casting zifmia at the adventurer when the adventurer is not neutral: if the location of the adventurer is the location: say "The adventurer vanishes and reappears a few feet closer to you."; otherwise: say "The adventurer materializes before you, looking slightly disoriented."; move the adventurer to the location. First effect of casting yomin at the neutral adventurer: say "[The adventurer] seems to be thinking about [one of]mapping a difficult maze[or]getting another light source[or]finding [her] way back to the cave entrance[purely at random]." First effect of casting yomin at the scared adventurer: say "You sense confusion and fear." The adventurer's last command is initially "adventurer, obey [player's forename]". First effect of casting yomin at the obedient adventurer: say "The predominant thought is the phrase '[i][adventurer's last command in upper case][/i]'.[p]" First effect of casting yomin at the suspicious adventurer: say "You feel a whirl of anger and suspicion." First effect of casting yomin at the friendly adventurer: say "You sense a whirl of happiness and pleasure at your presence. [regarding the Adventurer][He] seems to consider you to be [her] best friend, and is delighted that you are here with [him]." Section A - Obedient -> Suspicious Inverse effect of casting zifmia at the suspicious adventurer when the unsummoning destination is the Splendid Cavern: say "The image of [the Adventurer] seems to waver and flicker for a moment, then disappears with a loud [i]snap[/i]. A bit of parchment fluttering to the ground is the only sign of [his] presence."; move the ordinary scroll to the Clean-Room; move the Adventurer to the Hall of the Mountain King; if the player can see the wall-sized mirror, say "Behind the mirror, you see [him] reappear in the cave. [He] looks around for a moment and checks [her] possessions, then, seemingly satisfied, walks off to the east."; remove the golden box from play; say "You breathe a sigh of relief. Now that problem is taken care of...but you still have no way to get the other scroll out of the Clean Room."; reset the interlocutor; award points for "reversing your summoning"; Instead of casting zifmia at the obedient Adventurer when the location of the Adventurer is the Clean-Room and the Clean-Room encloses a palantir: [Little patch.] say "Something about the Adventurer's posture makes you hesitate for a moment. There's something not quite right here..." The end of serage is a scene. The end of serage begins when the Adventurer is suspicious. The end of serage ends when the Adventurer is in the Hall of the Mountain King. [This scene represents the Adventurer finally fighting off the serage spell.] Instead of casting kulcad at the obedient adventurer when the adventurer is not in the Clean-Room: say "Not yet[--]that would probably break the [i]serage[/i] spell, and you might still need [regarding the adventurer][their] help." Definition: something is animate rather than inanimate if it is a person. When the end of serage begins: now the golden box is carried by the Adventurer; if the lantern was enclosed by the Clean-Room, now the lantern is carried by the Adventurer; now every palantir carried by the Adventurer is in the Clean-Room; [If somehow the Adventurer has already taken the sphere, we want to make sure it's left behind so the player can perform the reverse-summon.] now every spell scroll carried by the Adventurer is in the Clean-Room; now the dark scroll is in the Clean-Room. Instead of casting zifmia at the Adventurer when the end of serage is happening and the Adventurer is suspicious and the player is not reversed: say "Now that your [i]serage[/i] spell has worn off, [regarding the Adventurer][she] is likely to be rather upset. The best thing to do at this point would be to send [him] back to the other side of the mirror." Every turn when the end of serage is happening and the player can see the Adventurer: say "[The Adventurer] [one of]suddenly twitches spasmodically and spins around, for no reason you can determine. Without you ordering [him] to, [she] reaches out and grabs [if the lantern was enclosed by the clean-room][his] lantern and [end if][the golden box], wrenching its hinges apart in [regarding the adventurer][his] frenzy and dumping the contents onto the floor. That shouldn't have been able to happen[or]looks at you strangely through the palantir, as though trying to make sense of something[or]shakes [her] head in confusion[or]looks at you again, and doesn't seem to like what [she] sees[or]glances at you with growing suspicion[or]blinks rapidly, seeming to see you for the first time[or][if the heavy doors are magical]tries to sneak the box through the doors, without success[else]glares at the warnings about 'magical security doors'[end if][or]says something indistinct[or]holds the palantir close enough to [his] mouth that you can read [his] lips: 'SEND ME BACK!' This isn't good[or]glares at you with open hostility[stopping]." When the end of serage begins when the player cannot see the Adventurer: say "You have a strange sense of dread about the Adventurer. Is something wrong?" Chapter 3.2 - Unsuccessful Attempts The adventurer success flag is initially false. [This keeps the unsuccessful attempt rules from running when another rule already printed a response.] First persuasion for asking the adventurer to try doing something: now the adventurer success flag is false; make no decision. First unsuccessful attempt by the adventurer doing something when the adventurer success flag is true: rule succeeds. To record the/-- adventurer's attempt as successful: now the adventurer success flag is true. Table of Adventurer's Retorts cause response can't take other people rule "'I don't think [the second noun] would appreciate that.'" can't take component parts rule "[The adventurer] shakes [their] head. 'I don't want to rip [the noun] out.'" can't take people's possessions rule "[The adventurer] looks disapproving. 'Whatever you may think, I am [i]not[/i] a thief.'" can't take what you're inside rule "'Notice where I am at the moment.'" can't take what's already taken rule "[already done]" can't take scenery rule "[The adventurer] examines [the noun] for a moment, then turns back to you. 'I don't think I'm strong enough to move it.'" can't take what's fixed in place rule "[The adventurer] examines [the noun] for a moment, then turns back to you. 'I don't think I'm strong enough to move it.'" can't insert into closed containers rule "[physical impossibility]" can't go that way rule "[The adventurer] looks at you dubiously, [if the noun is up or the noun is down]then looks [noun]. 'I don't see an easy way to do that.'[else]but goes over and pushes on the wall. It refuses to give.[end if]" NPCs can't go to impassible rooms rule "'I don't think I can go that way any more.'" can't go through closed doors rule "[The adventurer] pounds on the door, but it refuses to open." can't enter closed containers rule "[physical impossibility]" can't exit closed containers rule "[physical impossibility]" can't drop yourself rule "'We're inseparable, myself and me.'" can't drop what's already dropped rule "[already done]" can't drop what's not held rule "'I would need [the noun] first.'" can't put something on itself rule "[physical impossibility]" [can't put onto something being carried rule "'I'd like to, but I'm afraid it would fall off.'"] can't put onto what's not a supporter rule "'I don't think [the second noun] would support it.'" can't wear what's not clothing rule "[The adventurer] looks at you curiously. 'Is this some sort of magician's fashion?'" can't wear what's already worn rule "[already done]" can't eat unless edible rule "'I'm not sure [the noun] would agree with me.'" can't take off what's not worn rule "[already done]" can't close what's already closed rule "[already done]" can't open what's already open rule "[already done]" can't switch off what's already off rule "[already done]" can't switch on what's already on rule "[already done]" can't unlock what's already unlocked rule "[already done]" can't lock what's already locked rule "[already done]" block thinking rule "[The adventurer] looks slightly offended. 'I'm not a spellflinger like you, so you will need to actually explain what you want.'" block kissing rule "For some reason [the adventurer] bursts out laughing." following people already followed rule "'I will follow.'" To say already done: say "'[one of]Isn't that a bit redundant?[/br][or]Already done.[/br][or]Hasn't that already been done?[/br][or]We've already done that.[/br][at random]'". To say physical impossibility: say "'[one of]I don't see any way to do that.[/br][or]Is there a way to do that?[/br][or]You're the magic-user. Is there something I'm missing?[/br][or]Sorry, I don't see how to do that without magic.[/br][or]Do you have a spell that can help with this? I don't see a way.[/br][at random]'". Unsuccessful attempt by the obedient adventurer doing something: if the adventurer success flag is true, rule succeeds; let the failure be the current action; change the actor part of the failure to the player; say "You feel a slight mental nudge from your [i]serage[/i] spell, indicating that [the Adventurer] attempted to [failure fully conjugated in the infinitive with reflexive for the Adventurer] but was somehow unable to." To say (idea - a stored action) fully conjugated in the (selection - narrative viewpoint) with reflexive for (subject - a person): let the result be the idea fully conjugated in the selection; replace the word "yourself" in the result with "you"; replace the word "[the subject]" in the result with "[regarding the subject][themselves]"; say the result. Unsuccessful attempt by the suspicious adventurer doing something: do nothing. Unsuccessful attempt by the adventurer doing something: if the player cannot see the adventurer, rule succeeds; repeat through the Table of Adventurer's Retorts: if the reason the action failed is the cause entry: now the prior named object is the Adventurer; say "[response entry][paragraph break]"; rule succeeds; say "[The Adventurer] looks at you, puzzled. 'I don't see how I would do that.'" Chapter 3.3 - Successful Attempts The new inventory rule is listed instead of the report other people taking inventory rule in the report taking inventory rules. This is the new inventory rule: if the player is the person asked, make no decision; say "[The person asked] looks through [their] possessions. 'I have [a list of things carried by the person asked][if the person asked is wearing something], and I'm wearing [a list of things worn by the person asked][end if].'" The block giving rule is not listed in any rulebook. The node giving rule does nothing when giving something to the obedient Adventurer. The nodal give response rule does nothing when giving something to the obedient Adventurer. The open node response rule does nothing when giving something to the obedient Adventurer. The giving needs an interlocutor rule does nothing when giving something to the obedient Adventurer. After giving something to the Adventurer: say "[regarding the Adventurer][She] [if the Adventurer is obedient]takes [the noun] automatically[else]thanks you politely[end if].". Report the Adventurer giving something to the player: say "[The Adventurer] looks at [the noun] once, then hands it to you." Carry out an actor giving something to someone (this is the reinstated giving rule): abide by the standard giving rule. After the Adventurer going when the Adventurer encloses the lantern: if the location of the Adventurer is not light-filled: if the location of the Adventurer is the location, say "You hear a soft clicking sound, and the warm glow of a carbide lamp fills the room."; try the adventurer switching on the lantern; make no decision. Before the Adventurer going when the room gone to is the location and the location is darkness-filled and the lantern is switched on and the Adventurer encloses the lantern, say "A moment later [the Adventurer] enters, [his] lantern illuminating the room." After the Adventurer going when the player can see the Adventurer and the player could not see the Adventurer: say "[The Adventurer] returns to [the location of the Adventurer]." Instead of the obedient Adventurer attacking the player: say "[The Adventurer] obeys your command precisely. [She] steps forward and, before you can move, slams your head back against the wall. Unconsciousness is immediate. Death follows soon after."; award the "Turned Against Their Masters" achievement; record "Ordering your own death" as an ending; end the story saying "You have died". Section A - Conversational Shorthand Definition: a person is non-Adventurer if they are not the Adventurer. After reading a command when the current interlocutor is the obedient Adventurer and the player can see the Adventurer and the player cannot see a non-Adventurer person (this is the adjust conversation to commands rule): if the player's command includes "password/passphrase/ipsa/scientia": [Don't block saying the passphrase.] make no decision; if the player's command includes "say": replace the matched text with "adventurer, ". Chapter 3.4 - The Adventurer's Inventory A climbing harness is part of the Adventurer. [This prevents it from being taken off.] The description of the harness is "A strange set of reinforced rings attached to [regarding the Adventurer][her] clothing." Understand "padded" or "clothing" or "straps" or "rings" as the climbing harness. The Adventurer owns the harness. The adventurer carries a ropable device called a carbide lantern. Understand "brass" or "lamp" as the lantern. The carbide lantern is switched on and lit. The Adventurer owns the lantern. The description of the lantern is "A small brass lantern, with two compartments connected by a small valve. You learned about these in a history class: the top chamber contains water, and the bottom one calcium carbide. When the valve is open, they react and produce a bright flame." The small valve is part of the lantern. The description is "A simple valve[--]flip it one way to open, flip it the other to close. That's about all there is to it." Instead of an actor switching on or switching off the valve: now the noun is the lantern; continue the action. Carry out an actor switching on the carbide lantern: now the lantern is lit. Report an actor switching on the carbide lantern: say "[if the actor is not the player][The actor] turns a valve on the lantern, and a[otherwise]A[end if] bright flame springs up." Carry out an actor switching off the carbide lantern: now the lantern is unlit. Report an actor switching off the carbide lantern: say "[if the actor is not the player][The actor] turns a valve on the lantern, and t[otherwise]T[end if]he flame goes out." The adventurer carries a knife. It is ropable. The Adventurer owns it. The description of the knife is "A plain single-edged knife." Understand "plain" or "edged" or "single edged" or "single-edged" as the knife. Use automap manual exploration. The adventurer carries a map. The description of the map is "It looks like a mess of meaningless lines and arrows. Presumably [the Adventurer] understands it better." Instead of the Adventurer showing the map to the player: try the Adventurer examining the map. Understand "explain [the map]" as examining when the player can see the map. The Adventurer owns the map. To say show map: say "[The Adventurer] [one of]flips through a few pages[or]smooths out the top page of the map[or]turns to the back page of the map[as decreasingly likely outcomes]. 'This is the area around us.' [She] points to a small rectangle near the middle. 'And this is where we are now.'"; display the automap. Report the Adventurer examining the map when the Adventurer is not obedient (this is the map showing rule): say "[show map]". The update automap rule is not listed in any rulebook. This is the new update automap rule: if the Adventurer is obedient, make no decision; if the Adventurer is off-stage, make no decision; let the place be the location of the adventurer; update the map with the place; explore the place; if the place is not currently_mapped and the player can see the Adventurer and a random chance of 1 in 3 succeeds: say "[The Adventurer] [one of] looks around and makes some notes on [her] map[or]scribbles furiously on the map[or]looks at the map, then erases a line and draws it in a different place[as decreasingly likely outcomes].". After the Adventurer going when the Adventurer is not obedient: follow the new update automap rule; continue the action. Every turn: [To deal with magical movement via ZIFMIA and BLORPLE, which doesn't provoke a going action] follow the new update automap rule. Book IV - The Library and Returns Room Chapter 1 - The Returns Room The Returns Room is southwest of the Antechamber. It is dark. "This is the room where book returns are processed. It's one of the few areas of the library you've been in before, but you vividly remember the Frobozz Magic Reshelving Device. You placed your book on the mahogany input tray, then watched as it was drawn up a cloth conveyor belt and slid over a series of differently-shaped moving pieces until it was pulled into the machine." The Returns Room is in the Library. Effect of casting vezza at the Returns Room: say "A figure picks up a book, then suddenly vanishes into thin air." Inverse effect of casting vezza at the Returns Room: say "A dark-haired woman opens a door at the back of the Reshelver and lifts out a stack of books. She begins carrying them to the north, but one slips off the stack and lands on the floor." Empowered effect of casting vezza at the Returns Room: say "It is apparently morning again, but the Reshelver remains silent and inactive. A thin layer of dust has begun to collect on the tray." The Frobozz Magic Reshelving Device is magical ropable scenery in the Returns Room. The description is "A hulking contraption of bronze and iron, currently deactivated for the night. Most of the machinery is covered, except for the input tray and the control panel." Understand "slot" or "slots" or "belt" or "conveyor" or "reshelver" or "pieces" or "machine" or "machinery" or "covered" or "cover" as the reshelving device. Instead of switching on or switching off the reshelving device: say "You don't see any obvious way to do that. You'd need to ask one of the Librarians." The mahogany input tray is a supporter. It is part of the reshelving device. The description is "It's just a flat tray of dark wood. If the library device were running, books would slide off this onto the conveyor to be sorted." Instead of putting something on the reshelving device: now the noun is the input tray; continue the action. [try putting the noun on the input tray.] A control panel is part of the Reshelving Device. The description of the panel is "It looks like a numerical keypad of some sort. You have no idea what would happen if you typed something on it." Understand "numerical" or "keypad" or "keyboard" as the control panel. Instead of casting kulcad at when the second noun is the input tray or the second noun is the control panel: try casting kulcad at the reshelving device. Effect of casting kulcad at the magical reshelving device: say "The machine lets out a sigh as the machinery inside it collapses slightly."; now the reshelving device is not magical. Setting it numerically to is an action applying to one thing and one number and requiring light. Understand "set [something] to [number]" as setting it numerically to. Understand "turn [something] to [number]" as setting it numerically to. Understand "type [number] on [something]" as setting it numerically to (with nouns reversed). Instead of setting the control panel numerically to: say "You press some buttons, but nothing happens. It seems the keypad does nothing until the machine it turned on, and only the Librarians can do that."; take full time. The Tome of Psychological Incantations is a spell book on the input tray. Understand "purple" as the Tome of Psychological Incantations. The printed name of the Tome is "purple tome". The indefinite article of the tome is "a". After examining the tome for the first time: now the indefinite article of the tome is "the"; now the printed name of the tome is "Tome of Psychological Incantations"; make no decision. [This last line is necessary to let other After rules (such as listing the inscribed spells) run.] The description of the tome is "A heavy purple tome, titled the 'Tome of Psychological Incantations'. The first third of the book is a long treatise on the theory behind mind-affecting spells, and you can only understand about one word in every [a random number between two and ten in words]. The second gives background information on various incantations. But the third seems the most promising:[r]". Serage is inscribed in the Tome. Yomin is inscribed in the Tome. Understand "serage" or "yomin" as the tome when the command is not metamagic. The tome attempt flag is initially false. Tome-puzzle is a puzzling scene with puzzle description "removing the Tome from the Returns Room". Tome-puzzle begins when the tome attempt flag is true. Tome-puzzle ends when the Returns Room does not enclose the Tome. Before printing the locale description of the Returns Room when a book is on the input tray: say "[A list of books on the input tray] [lie] on the input tray, ready for reshelving."[* This is, effectively, reimplementing the Initial Description property. But the initial description isn't shown for objects on a supporter or in a container, so I'm using this workaround.] [After putting something on the input tray when the library device is switched on: carry out the reshelving activity with the noun.] After going from the Returns Room when the player carries the Tome and the reshelving device is magical: if the room gone to is the Tiny Office, make no decision; say "As the purple tome touches the doorway, it seems to hit an invisible barrier and falls from your hand! A recorded voice sounds from the Reshelver: [tt]'This book is not checked out to you. Please wait for the return to be processed.'[/tt][br]"; move the Tome to the Returns Room; now the remembered location of the Tome is the Returns Room; suggest the command "LOOK (DIRECTION)"; now the tome attempt flag is true; say line break; make no decision. [This lets any other After rules work.] After someone going from the Returns Room when the actor is carrying the Tome and the reshelving device is magical: if the room gone to is the Tiny Office, make no decision; if the player can see the actor, say "[The Tome] falls from [the actor]'s hand as [they] [step] through the archway."; move the Tome to the Returns Room; now the tome attempt flag is true; make no decision. After an actor throwing the Tome at from the Returns Room to a room which is not the Returns Room when the reshelving device is magical: if the throw destination is the Tiny Office or the throw destination is enclosed by the Tiny Office, make no decision; if the player can see the actor: say "[The actor] [fling] [the Tome] toward the doorway, but it loses momentum and falls to the floor before passing the threshold."; now the tome attempt flag is true; move the Tome to the Returns Room. Chapter 2 - The Tiny Office The Tiny Office is a dark room in the Library. "Closer to an alcove than an office, really. During the day the door would be slid back into the wall, joining this area to the Returns Room. If anyone had difficulties with a return a librarian would be here to assist them. But right now there's just the empty desk." A sliding door is a locked door. "A sliding door [if the location is the Returns Room]separates off the tiny office to the southwest[else]leads back to the northeast[end if]." It is southwest of the Returns Room and northeast of the Tiny Office. The description of the sliding door is "A flat and ordinary wooden door labelled [tt]OFFICE[/tt]. It slides along grooves in the ceiling and floor." Understand "flat" or "wooden" or "office" or "grooves" or "groove" as the sliding door. A plain desk is a supporter in the Tiny Office. It is enterable. The description of the desk is "It seems to be a fairly ordinary desk. A writing surface on top and a drawer underneath, with a small chair behind it." Understand "surface" or "writing surface" as the desk. [On the desk is an inkwell. The description of the inkwell is "A small glass bottle stained with red ink. It currently appears to be empty."] A drawer is part of the desk. It is closed and locked. The description of the drawer is "A thin drawer with a little lock under the handle." Understand "thin" or "little lock" or "lock" as the drawer. A torn scroll is a spell scroll in the drawer. The inscribed spell of the torn scroll is nitfol. [The player will likely already have nitfol by this point--change the reward here?] A silver key is in the drawer. The description is "A tag on the side says [i]scrying[/i]." Understand "scrying" or "tag" as the silver key. The key is light. A small chair is a ropable supporter in the Tiny Office. It is enterable and scenery. The description of the chair is "It looks serviceable, if not particularly comfortable." Instead of taking the chair: say "You aren't quite able to maneuver it around the top of the desk."; take full time. A framed painting is fixed in place in the Tiny Office. "A painting hangs behind the desk." Understand "portrait" or "woman" or "dark-haired" or "dark" or "haired" or "bespectacled" or "saskia" or "der" or "venn" or "librarian" as the painting. The description of the painting is "[if the painting is magical]It depicts a dark-haired, bespectacled woman wearing a librarian's cloak. An engraved plaque is affixed to the base of the frame[else]Nothing but a blank canvas in a frame[end if]." The painting is magical and visible between rooms. An engraved plaque is part of the painting. The description of the engraved plaque is "[first time][reveal Saskia's name][only][tt]Librarian on duty: SASKIA DER VENN[br]Magical portrait created by J. Ashwell[/tt]". Effect of casting kulcad at the magical painting: say "The oil paint flows and drips across the canvas until the face is no longer recognizable, the colors lightening and becoming as clear as water. Soon there is nothing but an empty canvas in a frame."; now the painting is not magical; remove the engraved plaque from play. Effect of casting zifmia at the magical painting when Saskia has not been on-stage: say "You concentrate on the figure in the painting, trying to focus your spell through the canvas at the painted subject. At first nothing seems to happen. But then you feel a sort of [i]click[/i], and you know the spell has connected. You redouble your mental effort, and a moment later she materializes out of the air[if the player is on the desk]. You shift to the side as she collapses awkwardly[else], collapsing silently[end if] across the librarian's desk."; move Saskia to the desk. Effect of casting zifmia at a Saskia-summoning thing when Saskia has been on-stage or Act 1 has happened: say "You begin to cast the spell, and feel the power reaching out toward the librarian. But at the last moment it seems to bend aside, dissipating ineffectually against the wall of the room." Definition: a thing is Saskia-summoning if it is Saskia or it is the framed painting. [KLUGE] Effect of casting vezza at the Tiny Office: say "The painting behind the desks glows for a moment, and a dark-haired woman appears in the middle of the room." Inverse effect of casting vezza at the Tiny Office: say "A dark-haired librarian sits behind the desk, flipping through a book. Someone knocks at the door. The librarian looks embarrassed, stuffing the book into the drawer..." Empowered effect of casting vezza at the Tiny Office: say "The painting has changed, now showing a man with a particularly long beard." Section A - Saskia Saskia der Venn is a woman. Understand "librarian" or "assistant" or "dark" or "haired" or "dark-haired" or "bespectacled" or "woman" as Saskia. The initial appearance of Saskia is "A dark-haired woman is lying here, looking half-asleep." The description of Saskia is "Her hair is disheveled, her glasses are missing, and she's wearing only a nightgown. It seems she was likely asleep before your summons." Rule for writing a paragraph about the desk: if Saskia is on the desk, say "A dark-haired woman is lying on top of the desk, looking half-asleep."; now the desk is mentioned. The printed name of Saskia is "dark-haired woman". Saskia is not proper-named. To say reveal Saskia's name: now the printed name of Saskia is "Saskia"; now Saskia is proper-named. To say reveal the passphrase: now the alarm box is familiar. Should the game choose when comparing Saskia against the framed painting: it is a good choice. Effect of casting kulcad at Saskia: say "Nothing changes about her, not directly. But the air around the desk shimmers like a heat haze before going perfectly still. Perhaps some ambient spell disappearing?"; try shouting. Instead of waking Saskia: try shouting. Instead of an actor shouting or singing or clapping in the presence of Saskia: take full time; if the player can see Saskia, say "[The Saskia] starts suddenly at the noise[if Saskia can see the player or Saskia can see the Adventurer]. Seeing an unfamiliar person standing over her, she jumps backward, pulling a scroll from some pocket and beginning[else], seeming to realize where she is for the first time. She pulls out a spell scroll and begins to recite[end if] the spell with remarkable alacrity. She looks at the portrait as she calls out the last word, [i]aimfiz[/i][--]space distorts for a moment[--]and she is gone."; ["The" at the beginning fixes an article bug if she's not proper-named yet.] remove Saskia from play. Instead of attacking or kissing or pushing or pulling or turning or squeezing or touching or taking Saskia: say "As you reach toward her, the air begins to feel strangely resistant and pushes you back."; take full time. Effect of casting serage at Saskia: say "You complete the spell, but her mind seems to reject it, and the compulsion does not hold." Instead of giving something to Saskia: give Saskia's null response; take full time. Instead of someone giving something to Saskia: if the player can see the actor, give Saskia's null response; take full time. Effect of casting cleesh at Saskia: say "[The second noun]'s body begins to distort, becoming smaller and greener. In a few moments all that is left is a small newt scuttling away towards a hole in the wall."; remove Saskia from play. Inverse effect of casting zifmia at a Saskia-summoning thing when Saskia is on-stage: say "She flickers for a moment and disappears."; remove Saskia from play. Saskia has some text called the current thoughts. Effect of casting yomin at Saskia: say "You enter her thoughts, and for a moment a stream of ideas and perceptions flows through your mind. Chief among them seems to be [r]"; say italic type; if the current thoughts of Saskia are empty: say "[regarding the player standin][one of]What is going on?[or]Am I still asleep?[or]Maybe if I ignore [him] [she]'ll go away.[or]That was an interesting dream.[or]What does this idiot want?[or]Work is invading my dreams now too...[or]Why is [she] here?[or][They're] kinda hot actually...[or]I wonder what [he] [look] like under those clothes?[or][roman type]a rather detailed fantasy involving you and her.[or]a vague memory of a surreal dreamscape.[stopping][br]"; otherwise: say the current thoughts of Saskia; now the current thoughts of Saskia are ""; say roman type. To give Saskia's null response: say "She [one of]seems nearly asleep and does not respond[or]turns to look at you blearily for a moment, then slumps over the desk again[or]shifts slightly on the desk but remains silent[or]seems to hear, but says nothing[at random]." Default response for Saskia: give Saskia's null response. Instead of asking Saskia about a topic listed in the Table of Saskia's Topic Thoughts: now the current thoughts of Saskia are the response entry; make no decision. Instead of telling Saskia about a topic listed in the Table of Saskia's Topic Thoughts: now the current thoughts of Saskia are the response entry; make no decision. Instead of informing Saskia about something: if there is an item of the second noun in the Table of Saskia's Object Thoughts: choose a row with item of the second noun in the Table of Saskia's Object Thoughts; now the current thoughts of Saskia are the response entry; make no decision. Instead of quizzing Saskia about something: if there is an item of the second noun in the Table of Saskia's Object Thoughts: choose a row with item of the second noun in the Table of Saskia's Object Thoughts; now the current thoughts of Saskia are the response entry; make no decision. Table of Saskia's Object Thoughts item response yourself "[roman type]a variety of strange ideas regarding you and her." Saskia "[first time][reveal Saskia's name][only]Saskia der Venn, assistant librarian and student of magical wards." the framed painting "It's enchanted to show whomever is on duty at the moment." the alarm "Some idiot set off the alarm? That's a first. Hope they know the password." the reshelving device "I'll get it turned on in the morning. Not tonight." Table of Saskia's Topic Thoughts topic response "the/-- alarm" or "lockdown" "Some idiot set off the alarm? That's a first. Hope they know the password." "the/-- password/passphrase" "[first time][reveal the passphrase][only]Something old-sounding this time. '[current passphrase in title case]', that was it." "zifmia/summoning/ward/wards" "I forgot to cast my wards against summoning last night. That should be corrected now." "the/-- assimilation/-- incident" or "assimilation" "[roman type]a memory of the incident:[p][i]Ms. Samara was experimenting with interpenetration of matter. One night as she was leaving the lab she accidentally brought one of her drafts of the [/i]damazha[i] spell with her. She had already locked up for the night, so she didn't want to go through the hassle of putting it back, instead leaving it on one of the workbenches to deal with the next day. One of the students responsible for cleaning up the lab then found the scroll. It was a draft, without a good description of its effects, so he decided to cast it to see what would happen. If his aim hadn't been slightly off he would have killed himself by merging his own substance with that of the table, turning himself into a sort of statue.[/i]" "damazha" "Samara's experiment, the one involved in the incident last year. Don't remember the details." "Ms/Miss/Dr/-- Samara" "She's a postdoc here, though her research was interrupted after the whole [roman type]damazha[italic type] fiasco." "catalog" "IT had to do some work tonight...updating the new catalog with all the spells or something like that..." When Act 1 ends: remove Saskia from play. [Just in case.] Section B - The Kulcad Box Kulcad-puzzle is a puzzling scene with puzzle description "opening the ornate box". Kulcad-puzzle begins when the ornate box is handled. Kulcad-puzzle ends when the ornate box is open. The ornate mahogany box is a magical container in the drawer. It is locked, not lockable, closed, opaque, and openable. Effect of casting rezrov at the ornate box: say "The words shift: 'Nice try.'" Empowered effect of casting rezrov at the ornate box: say "The words shift: 'Very nice try.'" Inverse effect of casting rezrov at the ornate box: say "The words shift: '.yrt eciN'". The description of the ornate box is "It's about one foot by three inches by three inches, just the right size to contain a spell scroll. Three [if the ornate box is magical]metal[else]painted wood[end if] pillars jut out from one of the long sides: one lead, one silver, and one gold. There [is-are a list of things on the lead pillar] on the lead pillar, [a list of things on the silver pillar] on the silver one, and [a list of things on the gold pillar] on the gold. Tiny words, [if the ornate box is magical]inlaid with[else]painted like[end if] copper, run along the edge: 'move the discs from lead to gold'[first time][p]You have seen puzzles of this type before. A box secured with a stupid puzzle lock like this won't contain anything essential[--]anyone who found it could open it if they had the inclination[only]." A Hanoi pillar is a kind of supporter. The gold pillar is a Hanoi pillar. It is part of the ornate box. The silver pillar is a Hanoi pillar. It is part of the ornate box. The lead pillar is a Hanoi pillar. It is part of the ornate box. A Hanoi disc is a kind of thing. A large ebony disc, a medium maplewood disc, a small canary-wood disc, and a tiny ivory disc are Hanoi discs on the lead pillar. Understand "maple" as the maplewood disc. Understand "canary" as the canary-wood disc. Definition: a Hanoi disc is pillared rather than unpillared if it is on a Hanoi pillar. Instead of putting something which is not a hanoi disc on a hanoi pillar: say "[The second noun] is too small for anything except the four discs to fit on it." Instead of inserting a hanoi disc into a hanoi pillar, try putting the noun on the second noun. To decide whether the rules are being enforced: decide on whether or not the mahogany box is magical. Emptying a hanoi pillar is breaking the rules. Transferring a hanoi pillar into something is breaking the rules. Dumping a hanoi pillar onto something is breaking the rules. [Giving a hanoi disc to someone is breaking the rules. Taking a hanoi disc when the player encloses a hanoi disc is breaking the rules. Dropping a hanoi disc is breaking the rules. Inserting a hanoi disc into something which is not a hanoi pillar is breaking the rules. Putting a hanoi disc on something which is not a hanoi pillar is breaking the rules.] [Taking a hanoi disc when the number of pillared hanoi discs is less than four is breaking the rules.] Instead of breaking the rules when the rules are being enforced: say "Words appear on the side of the mahogany box: 'You may only move one disc at a time.'"; take full time. Instead of taking a pillared hanoi disc when the number of pillared hanoi discs is less than four and the rules are being enforced: say "Words appear on the side of the mahogany box: 'You may not take another disc until [the random unpillared hanoi disc] is back on a pillar.'"; take full time. Instead of taking a hanoi disc when the player encloses the ornate box: say "It would be hard to manipulate [the noun] while you're carrying the box. You should set it down somewhere first." To decide whether (X - a hanoi disc) is larger than (Y - a hanoi disc): if X is Y, no; [I don't know why this would happen, but it should be handled.] if X is the ebony disc, yes; if X is the maplewood disc and Y is not the ebony disc, yes; if X is the canary-wood disc and Y is the ivory disc, yes; if X is the ivory disc, no; no. [This should never happen.] Test hanoi with "x box" holding the ornate box. Check putting a hanoi disc on a hanoi pillar when the rules are being enforced: repeat with the piece running through hanoi discs on the second noun: if the noun is larger than the piece: say "The words shift: '[The noun] is larger than [the piece]!'"; stop the action; make no decision. Check taking a hanoi disc when the noun is on a hanoi pillar: let the stick be the holder of the noun; repeat with the item running through hanoi discs on the stick: if the item is not the noun and the noun is larger than the item: say "You can't remove [the noun] from [the stick] when [the item] is above it."; stop the action; make no decision. Instead of putting a hanoi disc on a hanoi disc when the second noun is on a hanoi pillar: say "(on [the holder of the second noun], on top of [the second noun])[ccb]"; try putting the noun on the holder of the second noun. After putting a hanoi disc on a hanoi pillar when the rules are being enforced: if the number of hanoi discs on the gold pillar is four: say "As you drop the ivory disc into place, you hear a click from inside the box."; now the ornate box is unlocked; award the "Ivory Tower" achievement; otherwise if the number of hanoi discs on the lead pillar is four: say "You hear a series of clicking sounds as the box seals itself again."; now the ornate box is closed; now the ornate box is locked; otherwise: make no decision. The ornate box contains a spell scroll called the brittle scroll. The inscribed spell of the brittle scroll is kulcad. Instead of inserting something which is not a spell scroll into the open ornate box: say "The box is only designed to hold spell scrolls." Effect of casting kulcad at the magical ornate box: say "The shine fades from the columns, leaving only dull painted wood."; now the ornate box is not magical. Chapter 3 - The Stacks Section A - The First Room The Main Stacks is a dark room in the Library. It is north of the Returns Room, south of the Scrying Room, and west of the Antechamber. "Compared to the vast Antechamber, this room is less impressive than you had envisioned. The east end is a high open archway flanked by smaller doors to the north and south. But the floor, walls, and ceiling slant sharply inward from there; the west wall is a pitch-black square barely five feet on a side." [Understand "read every/all of/-- the/-- book/books" as a mistake ("No doubt it would be enlightening, but you don't have a lifetime to spare right now.") when the location is the Main Stacks.] There is a room called Among the Shelves. [Needed here for door definitions - filled in below] The front desk is an enterable supporter in the Main Stacks. "[if the bright orange poster is unhandled]Strangely-colored shadows fill the room; [a bright orange poster] has been placed over [the crystal] on the front desk[else if the decorative crystal is lit][A decorative crystal] on the front desk fills the room with a warm golden glow[else]The front desk stands in front of the west wall[end if]." A decorative crystal is fixed in place on the front desk. It is lit and affected by frotz. The description of the crystal is "A sort of faceted sphere carved out of glass[if the crystal is lit]. A warm light shines through it[end if]." Understand "faceted" or "sphere" or "glass" as the crystal. The description of the front desk is "This is where the librarians would sit to watch over the stacks. The front is polished and smooth, while the back opens into a wide compartment." [The row of lockers is part of the front desk. Before doing anything except examining with the row of lockers: say "You'll need to be more specific, there are ten of them." The description of the row is "Numbered from one to ten, with a small lock on each."] A locker is a magical container in the Main Stacks. It is closed, openable, locked, and fixed in place. "A locker for students['] belongings squats in one corner." The description of the locker is "Students would leave their spellbooks and such in here before entering the stacks, to deter theft. It is currently [if the locker is locked]closed and locked[--]maybe something was left overnight?[else if the locker is closed]closed.[else]open.[end if][p]An engraving on top says [tt]Frobozz High-Security Locker: closes automatically in presence of potential burglars[/tt]." Understand "engraving" or "security" or "high security" or "high-security" or "frobozz" as the locker. Every turn when (the location is the Main Stacks or the location of the Adventurer is the Main Stacks) and the locker is open and the locker is magical: if the locker is visible, say "The locker clicks shut. 'Unauthorized.'"; now the locker is closed. Effect of casting kulcad at the magical locker: say "With a [i]click[/i] the hinges seem to loosen slightly, and no longer tense up at your approach."; now the locker is not magical. A translucent scroll is a spell scroll in the locker. The inscribed spell of the translucent scroll is vhelas. The description of the translucent scroll is "The paper is very old and worn, and may have been torn out of a book.[p][scroll-description for the translucent scroll]". Understand "old" or "worn" as the translucent scroll. The back compartment is a closed locked container. It is part of the front desk. Before casting rezrov at the front desk: try casting rezrov at the back compartment instead. Instead of inserting something into the front desk: if the front desk is locked: say "(putting [regarding the noun][them] on top)[ccb]"; try putting the noun on the front desk; otherwise: say "(into the back compartment)[ccb]"; try inserting the noun into the back compartment. The black square is a magical scenery door, west of the Main Stacks and east of the Shelves. The description of the square is "It seems [if the square is magical]blacker than should be possible[else]exactly the color it should be[end if]." It is closed and locked. Effect of casting frotz at the magical black square: say "It flickers for a moment, then returns to its normal color." Inverse effect of casting frotz at the magical black square: say "Not much happens, at least not that you can see." Inverse effect of casting frotz at the nonmagical black square: say "Nothing obvious happens. There must have been more to the spell than that." Empowered effect of casting frotz at the magical locked black square: say "Ripples of light shine through the darkness for a moment. Then they cross in the center and spread outward like an iris, revealing a black wooden door behind the darkness."; now the square is not magical. Effect of casting rezrov at the magical black square: say "It's difficult to aim your spell right, and something goes awry. There's no easy way to focus unlocking into empty darkness.". Effect of casting kulcad at the magical black square: say "The darkness dissolves, leaving plain wood in its place."; now the black square is nonmagical. Effect of casting kulcad at the nonmagical black square: say "Nothing much happens. The door is just plain wood now; the magic was in the darkness." Instead of unlocking or opening the magical black square: say "It does seem like a door, but there's no obvious way to open it. Just...darkness." [Effect of casting vezza at the Main Stacks: say "A figure walks through the stacks, and the books and doors shift around [regarding the player standin][them][first time]. Huh, you'd never seen that from a fixed viewpoint before, but the entire room seems to rearrange itself to give the impression of standing in one place[only]."] Effect of casting vezza at the Main Stacks: say "A figure steps through the darkness to the west, disappearing from sight." Empowered effect of casting vezza at the Main Stacks: say "A number of spellbooks flutter through the south door like birds released from a cage. With a great flapping and rustling of pages they swoop into the darkness and return to their proper places on the shelves." Inverse effect of casting vezza at the Main Stacks: say "A blue-robed IT worker drapes the poster over the desk, then wheels another cart filled with books away to the south." On the front desk is a bright orange poster. Understand "notice" as the orange poster. The description of the orange poster is "[tt]~~~ NOTICE ~~~[p]The recent magical disturbances have caused problems with the automatic spell-lookup catalog. We have found a solution for this problem, but in the meantime all catalogs and all spellbooks in the Main Stacks are temporarily unavailable. All other books should be accessible during this time. We apologize for the inconvenience[br] - Infrastructural Thaumaturgy[/tt][p][first time]What? You hadn't heard of any IT work happening tonight...[only]". Instead of turning or pushing or pulling the unhandled orange poster: say "You push the poster off to one side, and the light becomes much brighter."; now the poster is handled. The Encyclopedia Frobozzica is fixed in place in the Main Stacks. "Sitting on a wooden podium near one wall is one volume of the [i]Encyclopedia Frobozzica[/i].". Understand "podium" or "wooden" or "volume" or "volume of the" as the Encyclopedia. The description of the Encyclopedia is "The volume here is titled 'Magical Spells and Effects'. It's about 24 inches tall, 18 inches wide, and 12 inches thick. You flip to an entry at random: [no line break][random encyclopedia entry]". A small label is part of the Encyclopedia. After examining the Encyclopedia: say "You notice a small label attached to one side." The description of the label is "[tt]COMING SOON: the SOLID GOLD**** Deluxe Edition of this volume will contain full information on the incantations and gestures required to cast the spells, allowing them to be copied out onto scrolls at any time! Only zm10,000* from the Frobozz Magic Encyclopedia Company, a subsidiary of FrobozzCo Incorporated.[p]* Plus tax**.[p]** Plus shipping, handling, and installation*** fees.[p]*** On-site installation by FrobozzCo technicians required. Physical size 8.25 x 8.25 x 6.75 feet. Allow up to three years for delivery.[p]**** Not actually made of solid gold.[/tt]" Instead of consulting the Encyclopedia about a topic listed in the Table of Encyclopedia Entries: say "[tt][topic understood]: [response entry][/tt][p]"; take full time. Instead of consulting the Encyclopedia about a topic: take full time; say "You don't see any spell by that name listed here." Instead of consulting the Encyclopedia about "[spell]": take full time; let xyzzy be the spell understood; say the encyclopedia entry for xyzzy. Understand "turn a/the/one/-- page" as a mistake ("You glance quickly at another of the entries: [random encyclopedia entry]") when the player is in the Main Stacks [and the library travel distance is zero]. After examining the encyclopedia for the first time: suggest the command "LOOK UP (X) IN ENCYCLOPEDIA"; continue the action. To say a/-- random encyclopedia entry: say line break; if a random chance of 1 in 5 succeeds: choose a random row from the Table of Encyclopedia Entries; say "[tt][name entry spaced out]: [response entry][/tt][/br][p]"; otherwise: let xyzzy be a random spell; say the encyclopedia entry for xyzzy. To say the/-- encyclopedia entry for (xyzzy - a spell): if xyzzy is blorple, say "There is an entry, but the text is blurred and illegible. Strange."; otherwise say "[tt][xyzzy by mode][if xyzzy is semilearnable or xyzzy is unlearnable]*[end if]: [explanation of xyzzy][if xyzzy is semilearnable or xyzzy is unlearnable][p]*note: too powerful for gnusto[end if][/tt][no line break][p]". Table of Encyclopedia Entries topic name response "xyzzy/plugh" "[one of]xyzzy[or]plugh[purely at random]" "early teleportation spell of historical interest only; banned after multiple accidental decapitations" "bayala" "bayala" "reshape body of subject" "beburtt" "beburtt" "create illusion of inclement weather" "bekdab" "bekdab" "turn iron to rust" "booznik" "booznik" "reverse spells in spellbook" "borch" "borch" "put insects to sleep" "caskly" "caskly" "cause perfection" "chiaro" "chiaro" "cause an inanimate object to glow" "conbak" "conbak" "build strong bodies 12 different ways" "drilbo" "drilbo" "strip a floor of yellowed wax" "egdelp" "egdelp" "create waxy build-up on wood" "faift" "faift" "appear ten years younger" "fizmo" "fizmo" "unclog pipes" "fiznav" "fiznav" "make boat sea-worthy" "foblub" "foblub" "glue audience to seats" "fripple" "fripple" "keep out wild beasts" "fweep" "fweep" "turn caster into a bat" "gaspar" "gaspar" "provide for your own resurrection" "gilch" "gilch" "astral travel" "girgol" "girgol*" "stop time[p]*note: too powerful for [i]gnusto[/i]" "gizgum" "gizgum" "predict visits from relatives" "glorf" "glorf" "untie knots" "gloth" "gloth" "fold dough 83 times" "gondar" "gondar" "extinguish fire " "guncho" "guncho*" "banish victim to another plane of existence[p]*note: too powerful for [i]gnusto[/i]" "igram" "igram" "turn purple things invisible" "imali" "imali" "worsen eyesight" "izwow" "izwow" "resist changes in air pressure" "kendall" "kendall" "simplify instructions" "ledak" "ledak" "detect forgery" "lexdom" "lexdom" "create lock and key" "lidibo" "lidibo" "make a creature think you’re really, really ugly" "liskon" "liskon" "shrink a living thing" "malyon" "malyon" "animate" "meef" "meef" "cause plants to wilt" "melbor" "melbor" "protect magic users from harm by evil beings" "mortin" "mortin" "cause immediate death of caster" "musdex" "musdex" "improve muscle tone" "nerzo" "nerzo" "balance checkbook" "noside" "noside" "recharge magical light source" "obidil" "obidil" "make caster more attractive to other creatures" "otsung" "otsung" "erase spell written in book" "ozmoo" "ozmoo" "survive unnatural death" "quelbo" "quelbo" "transmute coconuts into gold[p]*note: too powerful for [i]gnusto[/i]" "radnog" "radnog" "ignite a fire" "samoht" "samoht" "prepare a magical light source" "satchmoz" "satchmoz" "cause a shift in space" "shazok" "shazok" "call lightning from storm" "setrav" "setrav" "force a subject to speak truthfully" "stegaw" "stegaw" "turn eggs into ripe guano" "swanzo" "swanzo" "exorcise an inhabiting presence" "taclor" "taclor" "heal wounds" "tinsot" "tinsot" "freeze" "tossio" "tossio" "turn granite to fettuccini" "trizbort" "trizbort" "cause a spatial shift" "umboz" "umboz" "obviate need for dusting" "urbzig" "urbzig" "turn a dangerous object into a harmless one" "voxam" "voxam" "separate the energies of different magics" "yastard" "yastard" "send spirit through time" "yumzo" "yumzo" "destroy a mongoose" "zemdor" "zemdor" "turn original into triplicate" "zimbor" "zimbor*" "turn one really big city into lots of tiny little ashes[p]*note: too powerful for [i]gnusto[/i]" "zooka" "zooka" "turn eggs into overripe cabbage" "zugthug" "zugthug" "correct speling errors [bracket]sic[close bracket]" A small shelf is fixed in place in the back compartment. It is a supporter. Instead of examining the shelf when a library book is on the shelf: take full time; let the tome be a random library book on the shelf; say "Your eyes wander over the shelf, picking out [tome].[line break][run paragraph on]". Rule for printing the name of the small shelf when not inserting or removing and the number of library books on the shelf is greater than one: say "shelf of library books"; omit contents in listing. Instead of inserting something into the shelf: try putting the noun on the shelf. A library book is a kind of book. Some library books on the shelf are defined by the Table of Readable Library Books. Rule for printing the name of a library book: say "[i][printed name][/i] by [author]". A library book is always proper-named. Instead of consulting a library book about a topic: say "The book doesn't seem to have an index, so there's no easy way of looking up a specific topic." Before listing contents [when taking inventory]: group library books together as "library books". Table of Readable Library Books library book author description The Enchanter Never Rings Twice "Wilbar Memboob" "...[one of]47: Use it on a rope to untie knots[or]23: Lleps it to seal a broken window or door against the elements[or]36: Yonk it to break open a glass jar or bottle[or]71: Open or close doors through a scrying glass[cycling]..." Field Guide to the Creatures of Frobozz "S. Meretzky" "...[one of]The yipple is a master of disguise, able to alter form to match its surroundings. If disturbed in the wild, some yipples may bite[or]The deadly dorn beast should be avoided at all costs[--]it can paralyze its victim with a single glare from its powerful eyes[or]The grue is a sinister, lurking presence in the dark places of the earth. Its favorite diet is Enchanters, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale[cycling]..." A Brief History of Magic "Gustar Woomax" "...[one of]Bizboz himself wrote what became the seminal work in Thaumaturgy, 'On the Presence of Incredibly Weird Stuff Going On,' in 473 GUE, in which he claimed to have discovered 'for-the-most-part-Natural Rules' by which this Weird Stuff is ordered[or]The problem of imbuing Presence became a deterrent to the rapid growth of magical science. The creation of a single powerful scroll could take literally months for even most creative and productive thaumaturge[or]Berzio, working for years in his own self-made workshop and often going for days without food, drink, or sleep, created the means by which Presence could be transferred from a scroll to a specially impregnated paper by use of a simple spell, which he named after his dog, Gnusto[or]But, in spite of the rigors of spell casting, the personal rewards are great, and the job of Enchanter remains a popular and well-respected vocation[cycling]..." Legends "P. D. Lebling" "...[one of]At one time a shapeless and formless manifestation of evil was disturbed from millenia of sleep. It was so powerful that it required the combined wisdom of the leading enchanters of that age to conquer it. The legend tells how the enchanters lured the Terror 'to a recess deep within the earth' by placing there a powerful spell scroll. When it had reached the scroll, the enchanters trapped it there with a spell that encased it in the living rock.[or]A more absurd account can hardly be imagined. The universe, it seems, was created by 'Implementers' who directed the running of great engines. These engines produced this world and others, strange and wondrous, as a test or puzzle for others of their kind.[cycling]..." On Metamagic "Marc Blank" "...metamagic (spells affecting other spells) in actuality only affects the mind of the caster[--]such spells are untargeted, and apply to the next spell cast by the magic-user..." Exothermic Spellcasting "J. Lautzenheiser" "...[one of]dry the mixture with a simple [i]pulver[/i] spell (from a safe distance), then activate it with [i]radnog[/i][or]note that [i]caskly[/i] will damage high explosives by removing air bubbles[or]it's always a good idea to cast [i]gaspar[/i] before attempting[cycling]..[first time].wait, [i]what?[/i] This book seems rather dangerous. You make a mental note to peruse it more closely later[only]." Total Control "A. Schultz" "...The [i]serage[/i] spell is a relatively recent invention, and its introduction has caused great controversy. Though it has many limitations (it has a relatively short duration, prevents conscious action, and can only affect a given individual once), it is the first spell to allow the caster complete control over another individual[bracket]1[close bracket], which has raised significant ethical concerns. At the Conclave of 771 GUE the decision was made to limit the knowledge of this spell to enchanters of rank Sorcerer and above..." Recursive Casting "N. Butters" "...in certain cases it is possible to cast a spell 'at itself', in the sense that the goal is to affect some implement of the spell's casting. But no spell can truly affect another spell directly in that way. [i]Yonk yonk[/i] first prepares the mind of the caster, then triggers the casting of [i]yonk[/i] again, [i]gnusto gnusto[/i] targets a spell-scroll on which [i]gnusto[/i] is written, et cetera..." Recent Experiments in Networked Scrying "X. Aquillion" "...causes thaumic interference in the connection. For this reason, a scrying device will never show another scrying device. This creates difficulty in forming a network of mirrors: the naïve implementation, with a central 'hub' to which each node connects, will only allow complete panoptical vision from the hub itself; no node will be able to see another node. A complete implementation, as shown below...[p]This is followed by a strange diagram which looks like two different seven-pointed stars superimposed, with a circle around the outside." The printed name of The Enchanter Never Rings Twice is "The Enchanter Never Rings Twice: 101 Uses for Rezrov". [This fixes the colon.] Understand "uses" or "uses for rezrov" or "101 uses for rezrov" as The Enchanter Never Rings Twice. After reading a command when the location of The Enchanter Never Rings Twice is the location: if the player's command includes "101", replace the matched text with "uses". [HACK] The printed name of A Brief History of Magic is "A Brief History of Magic". [This fixes the indefinite article.] Understand "return [a book]" or "reshelve [a book]" as a mistake ("The reshelving device is deactivated for the night. Just put it back in the Library and it will eventually find its proper position."). Section B - Books and Shelves After looking when the location is the Shelves: display the boxed quotation " ...there was a sound, a papery whispering, such as might come from a colony of roosting starlings. In the silence of the night the books talked to one another. - Terry Pratchett, 'Guards! Guards!'" The description of the Shelves is "Tall, twisting corridors between densely-packed shelves. Dim light shining through the glass floors and narrow ladders. Everything seems to be in a suspended state of chaos, like an avalanche about to fall. [if the shelves are at the origin]The black square connects back to the west, and other p[else]P[end if]assages wind off in every direction, leading deeper and deeper into the stacks.". The densely-packed shelving is scenery in the Shelves. Understand "shelf" or "shelves" or "book" or "books" as the shelving. Rule for deciding whether all includes the shelving: it does. The description of the shelving is "Metal racks surround the books on all sides, which is probably how they haven't spilled across the floor by now. Getting them out without magic would be quite a feat." Instead of inserting something into the shelving: say "There are metal racks in front of each shelf, preventing any access by hand." Instead of putting something on the shelving: try inserting the noun into the second noun. Instead of taking the shelving: say "You can fit your hand through the rack, barely, but you can't get anything out." Instead of climbing the shelving: say "[one of]You put your foot on one of the lower shelves and reach up, but something seems to push your foot away and you almost fall[or]The shelves don't seem to want to be climbed[stopping]."; take full time. Understand "tip over/-- [the shelving] over/--" or "push [the shelving] over" as attacking. Instead of attacking or pushing or pulling the shelving: say "They're far too heavy for you to knock over." The glass floor is scenery in the Shelves. Understand "floors" or "ladder" or "ladders" or "light" or "narrow" as the glass floor. Instead of entering the glass floor: say "Ladders go both up and down from here; you'll need to specify the direction." The description of the glass floor is "The glass under your feet is thick and wavy with age. You can't see anything through it directly, but the gaps in the ceiling and floor show more rows upon rows of shelves. Ladders allow access both up and down." Every turn when an other person is in the Shelves: repeat with the subject running through other people in the Shelves: move the subject to the Main Stacks; if the location is the Shelves or the location is the Main Stacks: say "There is a sudden flash of light. 'Only GUE Tech faculty and students are permitted in the Stacks at this time.'" Instead of dropping something in the Shelves: say "You recall a brief mention of the automatic cleaning spells in this room from your Applications of Evocation class. If you dropped [the noun] here you might not get [them] back." Instead of facing a direction in the Shelves: if the shelves are at the origin and the noun is west, continue the action; say "The shelves continue as far as you can see." Section C - Coordinates and Infinite Signage [This table is taken from Dynamic Rooms. If you use that extension, just comment this copy out. They're identical.] Table of Direction Map Positioning basedir map-x map-y map-z north 0 1 0 northeast 1 1 0 east 1 0 0 southeast 1 -1 0 south 0 -1 0 southwest -1 -1 0 west -1 0 0 northwest -1 1 0 up 0 0 1 down 0 0 -1 Among the Shelves has a number called the current x. Among the Shelves has a number called the current y. Among the Shelves has a number called the current z. Among the Shelves can be spherical, polar, or cartesian (this is its coordinate system property). Among the Shelves is spherical. Instead of setting the black square to "spherical": now Among the Shelves is spherical. Instead of setting the black square to "polar": now Among the Shelves is polar. Instead of setting the black square to "cartesian": now Among the Shelves is cartesian. To reset the shelves to the origin: now the current x of Among the Shelves is zero; now the current y of Among the Shelves is zero; now the current z of Among the Shelves is zero; now the black square is present. After going to Among the Shelves: reset the shelves to the origin; continue the action. To decide whether the shelves are at the origin: if the current x of Among the Shelves is not zero, no; if the current y of Among the Shelves is not zero, no; if the current z of Among the Shelves is not zero, no; yes. [To decide which real number is the atan2 of (y - a real number) by (x - a real number): if x > 0: decide on the arctangent of (y/x); else if x < 0: if y < 0: decide on the arctangent of (y/x) minus pi; else: decide on the arctangent of (y/x) plus pi; else: [x = 0] if y > 0: decide on pi / 2; else if y < 0: decide on -pi / 2; decide on zero. [Default: x=0 y=0]] Include (- [ Atan2 y x res; @atan2 y x res; return res; ]; -). To decide which real number is the/-- atan2 of (y - a real number) by (x - a real number): (- Atan2(({y}), ({x})) -). To decide which number is the printable angle of (phi - real number): let theta be (phi times 180 / pi) to the nearest whole number; if theta is less than zero, increase theta by 360; decide on theta. To say (N - a number) as library dots: if N is zero: say "a green circle"; else if N is less than zero: let M be zero minus N; say "[M] red dots"; else: say "[N] blue dots". To say (N - a number) as unsigned library dots: if N is zero: say "a white circle"; else: say "[N] black dots". To say the/-- current library sign: let x be the current x of Among the Shelves; let y be the current y of Among the Shelves; let z be the current z of Among the Shelves; if Among the Shelves is cartesian: if the shelves are at the origin: say "three green circles"; otherwise: say "three patterns: [x as library dots], [y as library dots], [z as library dots]"; else if Among the Shelves is polar: let r1 be given by r1 = root(x^2 + y^2) where r1 is a real number; let r be r1 to the nearest whole number; let theta be the printable angle of (atan2 of y by x); say "[r as unsigned library dots], the number [theta], and [z as library dots]"; else if Among the Shelves is spherical: let r be given by r = root(x^2 + y^2 + z^2) where r is a real number; let rho be r to the nearest whole number; let theta be the printable angle of (atan2 of y by x); let phi be zero; unless rho is zero, let phi be the printable angle of (arccosine of (z / rho)); say "[rho as unsigned library dots], then the numbers [theta] and [phi]"; A position marker is fixed in place in the Shelves. "A sign on one shelf marks your current place in the collection." Understand "sign" or "small" or "metal" or "plate" or "hanging" as the marker. The description of the marker is "A small metal plate hangs from each ladder. This one shows [current library sign]." Instead of going when the location is Among the Shelves: if the shelves are at the origin and the noun is east, continue the action; [It is still possible to get out; don't block that] unless there is a basedir of (the noun) in the Table of Direction Map Positioning, continue the action; [This isn't a compass direction (IN or OUT)] choose the row with a basedir of (the noun) in the Table of Direction Map Positioning; increase the current x of the Shelves by the map-x entry; increase the current y of the Shelves by the map-y entry; increase the current z of the Shelves by the map-z entry; say "You head further into the stacks. The sign now shows [the current library sign]."; if the shelves are at the origin: [Make sure the door only appears right at the origin] now the black square is present; say "You're back at the entrance now; the black square is visible again to the east[if the noun is west]. Wait[--]but you just came through there, and it had been an open gap between the shelves..[end if]."; otherwise: now the black square is absent; if the current x of the Shelves is greater than zero: display the boxed quotation "It was said that, since vast amounts of magic can seriously distort the mundane world, the Library did not obey the normal rules of space and time. It was said that it went on forever. It was said that you could wander for days among the distant shelves... - Terry Pratchett, 'Guards! Guards!'"; take full time. Book V - Metamagic Chapter 1 - The Clean Room The Top of the Staircase is a dark room in the Library. "This staircase seems rather incongruous[--]the steps are barely two feet wide, and the handrails are almost rusted through. Presumably it leads down to the more dangerous parts of the Spell Research Area, but you aren't inclined to try it." The Bottom of the Staircase is a dark room in the Library. "This is the bottom of the corroded iron staircase, which winds upwards through the rock. A roughly-hewn passage leads to the southeast." The spiral staircase is a door. It is scenery. It is above the bottom of the staircase and below the top of the staircase. It is open, transparent, and not openable. The description of the staircase is "Narrow, claustrophobic, corroded, and [i]definitely[/i] not safe to climb." Understand "stair" or "stairs" or "step" or "steps" or "narrow" or "corroded" or "unsafe" as the staircase. The top of the staircase is north of the spell research room. Should the game choose when comparing the spiral staircase against the Top of the Staircase: it is a good choice. Should the game choose when comparing the spiral staircase against the Bottom of the Staircase: it is a good choice. Should the game suggest examining the Top of the Staircase: it is a bad suggestion. Should the game suggest examining the Bottom of the Staircase: it is a bad suggestion. Should the game suggest overly elaborate looking when the location is the Top of the Staircase or the location is the Bottom of the Staircase: it is a bad suggestion. Should the game suggest examining the spiral staircase: it is a good suggestion. Definition: the bottom of the staircase is suggested for exploration: no. Effect of casting vezza at the Top of the Staircase: say "A figure leans out over the railing and drops a small object over the edge." Empowered effect of casting vezza at the Top of the Staircase: say "The rickety staircase groans and finally gives way, collapsing into a tangle of metal below." Inverse effect of casting vezza at the Top of the Staircase: say "A shaven-headed man with his robes in disarray rushes up the stairs, carrying a stack of scrolls. 'I know, closing for the night, I know. But the solution, to me it is apparent, it is close...'" Effect of casting vezza at the Bottom of the Staircase: say "A dim light and a metallic banging echo faintly from the Clean Room." Empowered effect of casting vezza at the Bottom of the Staircase: say "Dust and smoke obscure the vision." Inverse effect of casting vezza at the Bottom of the Staircase: say "An old Enchanter runs up the stairs with a pile of scrolls, muttering to himself. 'Perhaps the spell must be weakened slightly? Could that allow the necessary recursion without causing magical overload?'" Instead of going through the spiral staircase, say "You can't [if the spiral staircase is not seen]go that way[else]bring yourself to put your weight on the stairs. They're just too narrow, and your claustrophobia (a common affliction among magic-users) too strong[end if]." Instead of going through the spiral staircase when the player is flying, say "Even without the weight problem, the stairs are incredibly narrow, and while flying like this you'd need to bend double to get [if the location is the Bottom of the Staircase]up[else]down[end if] there." Staircase-puzzle is a puzzling scene with puzzle description "descending the staircase in the Research Room". Staircase-puzzle begins when the Top of the Staircase is visited. Staircase-puzzle ends when the Adventurer is in the Bottom of the Staircase. Instead of dropping something in Top of Staircase when the Adventurer is in Bottom of Staircase: if the noun is the strongbox, continue the action; say "You toss [the noun] down to the Adventurer, who catches [them] deftly."; now the Adventurer carries the noun; take full time. Instead of dropping something in Top of Staircase: if the noun is the strongbox, continue the action; say "[The noun] would likely fall down the stairs, and you might never see [them] again." The heavy iron doors are a plural-named magical door. "A pair of heavy iron doors seal the Clean Room off from the staircase." The heavy doors are southeast of the bottom of the staircase. The description of the heavy doors is "These doors can swing shut and seal themselves automatically if anything goes wrong in the Clean Room." The heavy doors are closed and openable. Effect of casting kulcad at the magical iron doors: say "The doors swing back and forth wildly for a moment, then their color fades slightly and they go still."; now the iron doors are not magical. Clean-room-puzzle is a puzzling scene with puzzle description "getting a palantir into the Clean Room". Clean-room-puzzle begins when the iron doors are open. Clean-room-puzzle ends when the Clean-Room encloses a scrying device. Definition: something (called the primary item) is clean-room-forbidden: if it is a palantir, yes; if it is a spell scroll, yes; if it is a spell book, yes; if it is the golden box, yes; if it is a container: repeat with the secondary item running through things in the primary item: if the secondary item is clean-room-forbidden, yes; no. Instead of an actor going through the magical iron doors when the actor encloses a clean-room-forbidden thing (called the danger) (this is the first clean room security rule): take full time; if the player can see the Clean-Room or the player can see the Bottom of the Staircase or the player is the actor, say "[The heavy doors] swing around rapidly prevent [you or the actor] from passing. A recorded voice announces that magical objects such as [the danger] may not be brought into or out of the Clean Room until the alarms are reset."; if the actor is the Adventurer and the actor is in the Clean-Room: if the player can see the Clean-Room or the player can see the Bottom of the Staircase, say "[The Adventurer] obediently drops [the list of clean-room-forbidden things carried by the Adventurer]."; repeat with the item running through clean-room-forbidden things carried by the Adventurer: silently try the Adventurer dropping the item; unless the Adventurer encloses a clean-room-forbidden thing, continue the action. Instead of an actor going through the magical iron doors when the actor encloses a rope or the actor is tied up (this is the hole in the clean room security rule): let the danger be nothing; repeat with the coil running through ropes enclosed by the actor: repeat with the item running through clean-room-forbidden things tied to the coil: now the danger is the item; break; repeat with the item running through clean-room-forbidden things tied to the actor: now the danger is the item; break; if the danger is nothing, continue the action; [if the actor encloses the danger, make no decision;] if the player can see the actor or the player can see the iron doors, say "As [the danger] is pulled toward [you or the actor] they attempt to slam shut, but the rope holds them apart, and [the danger] [slip] through."; award the "Front Door" achievement; continue the action. The hole in the clean room security rule is listed after the first clean room security rule in the instead rulebook. After an actor throwing something clean-room-forbidden at from the bottom of the staircase to the Clean-Room when the iron doors are magical (this is the second clean room security rule): move the noun to the location of the actor; if the player can see the actor, say "One side of [the heavy doors] suddenly swings around, deflecting [the noun] back. [The actor] [jump] to the side and [manage] to avoid it. 'Magical objects may not be brought into or out of the Clean Room until the alarms are reset!'"; stop the action. After an actor throwing something clean-room-forbidden at from the bottom of the staircase to the Clean-Room when the iron doors are magical (this is the third clean room security rule): move the noun to the location of the actor; if the player can see the actor, say "One side of [the heavy doors] suddenly swings closed, deflecting [the noun] back. [The actor] [jump] to the side and [manage] to avoid it. 'Magical objects may not be brought into or out of the Clean Room until the alarms are reset!'"; stop the action. Unsuccessful attempt by the obedient adventurer going when the reason the action failed is the first clean room security rule: rule succeeds. [This suppresses the Unsuccessful Attempt messages.] There is a dark room in the Library called the Clean-Room. The Clean-Room is southeast of the heavy iron doors. The printed name of the Clean-Room is "Clean Room". Understand "clean" or "room" as the Clean-Room. The description of the clean-room is "This is the most dangerous part of the Spell Research Area, located below the rest of the Library. It was painstakingly constructed so that in case of trouble it can be hermetically sealed from either side, and any explosion or serious damage here will collapse the tunnel and keep the rest of the building safe. If there were any exceptionally powerful magic in the Library, it would be here." The complicated apparatus is scenery in the Clean-Room. The description of the apparatus is "It's just as much a mystery to you as it is to the Adventurer.". Understand "equipment" as the apparatus. An emergency light is fixed in place in the Clean-Room. "An emergency light on one wall fills the room with a strange reddish glow." It is lit. The description of the emergency light is "A small red circle glowing with light." Effect of casting vezza at the Clean-Room: say "A small sphere flies out from the oven, and a person appears above it." Empowered effect of casting vezza at the Clean-Room: say "The vents are sealing with a faint sigh, and the emergency light fades out." Inverse effect of casting vezza at the Clean-Room: say "Lights shine in every color. Equipment whirrs and fans hum. A glowing box of crystal in the oven slowly fades from white to violet to pink to yellow to a ruddy golden color." A pair of wide ducts are fixed in place in the Clean-Room. "Two wide ducts run upward from a small oven: one labelled [tt]AIR INTAKE[/tt], the other [tt]EXHAUST[/tt][if the vent is unsolved]. You wonder where they could lead[end if]." Understand "duct" or "intake" or "air" or "exhaust" as the ducts. The description of the ducts is "One is labelled [tt]AIR INTAKE[/tt][if the vent is solved][--]that one seems to lead up to the closet above. T[else], t[end if]he other is labelled [tt]EXHAUST[/tt]. Presumably they[']d keep air flowing over whatever was in the oven. But that's about all you can determine." A small oven is a container in the Clean-Room. It is scenery. It is closed, unlocked, and openable. The description of the oven is "It must be important for some sort of research." Instead of someone attacking the oven: now the noun is the ducts; continue the action. Rule for describing the interior of the oven: say "The palantir has landed in some kind of small oven, severely limiting your field of view."; now the oven is mentioned; now the ducts are mentioned. Every turn when the player cannot see the Adventurer and the Adventurer is in the Clean-Room and the most recent actor is nothing (this is the come back into range rule): if the end of serage is happening, make no decision; if the player can see the Bottom of the Staircase: say "(The Adventurer, unable to hear your commands from the Clean Room, moves back to the bottom of the staircase.)"; otherwise if the location is the Top of the Staircase: say "(You hear a sound of noisy footsteps below you as someone makes their way back from the Clean Room.)"; repeat with the item running through clean-room-forbidden things carried by the Adventurer: move the item to the Clean-Room; move the Adventurer to the Bottom of the Staircase. There is a spell scroll called an ordinary scroll. The inscribed spell of the ordinary scroll is yonk. The initial appearance of the ordinary scroll is "A perfectly ordinary spell scroll has landed near the door." Understand "perfectly" or "bit" or "parchment" or "of parchment" as the ordinary scroll. There is a spell scroll called a dark scroll. The inscribed spell of the dark scroll is lleps. The initial appearance of the dark scroll is "A strange dark scroll covered in white writing lies in the middle of the floor." Understand "strange" or "covered in white writing" as the dark scroll. In the Clean-Room is a locked magical container called a golden box. The description of the box is "It seems to be made of solid gold, or at least, gold leaf over something solid." The initial appearance of the golden box is "Nestled among the equipment is a shiny golden box." Understand "shiny" or "lid" as the golden box. Effect of casting blorb at the magical golden box: say "The strongbox fails to materialize. Strange." Effect of casting blorb at a container which encloses the magical golden box: say "The strongbox begins to appear, but fizzles out for no apparent reason. Odd." Effect of casting rezrov at the magical golden box: say "The lid lifts for a moment, then falls back onto the box." Effect of casting kulcad at the magical golden box: say "Some of the shininess leaves the box, and its lid rattles for a moment."; now the golden box is nonmagical. Scrolls-puzzle is a puzzling scene with puzzle description "extracting some magic from the Clean Room". Scrolls-puzzle begins when the clean-room-puzzle ends. Scrolls-puzzle ends when a spell book bears yonk. Before the obedient Adventurer doing something when the location of the Adventurer is the Clean-Room and (the player can see the adventurer or the adventurer encloses a palantir): [This is what triggers the end of the serage spell.] now the Adventurer is suspicious; take full time; stop the action. Section A - Special Action Pointing it at is an action applying to one thing and one visible thing. Understand "point [something preferably held] toward/towards/at/through/into [something]" as pointing it at. Understand "aim [something preferably held] at/through/toward/towards/into [something]" as pointing it at. Understand "point [something preferably held] [direction]" as pointing it at. Understand "aim [something preferably held] [direction]" as pointing it at. [Should the game suggest someone pointing a palantir (called the chosen device) at when parsing the nouns and the chosen device is carried by the person asked: it is a good suggestion.] Precondition for pointing a portable not carried not worn thing at something (this is the implicitly take before pointing rule): carry out the implicitly taking activity with the noun; if the noun is not carried and implicit action attempted is true, stop the action. Check someone pointing a portable thing at something (this is the npc implicitly take before pointing rule): if the actor does not carry the noun and the actor does not wear the noun, try the actor taking the noun; if the actor does not carry the noun and the actor does not wear the noun, stop the action. Report an actor pointing something at an object (this is the standard report pointing rule): say "[The actor] [point] [the noun] [if the second noun is not a direction]at [the second noun][else][second noun][end if]." After someone pointing a palantir at an object when the player can see the mystical relative of the noun (this is the scrying pointing rule): say "[The actor] [point] [the noun] [if the second noun is not a direction]at [the second noun][else][second noun][end if]."; let the target be the second noun; let the crystal be the mystical relative of the noun; [say "Target: [target][br]";] if the target is a door and (the target is open or the target is transparent): let the way be the direction of the target from the location of the actor; now the target is the way; [say "Target: [target][br]";] if the target is a direction: let the place be the room-or-door target from the location of the actor; [say "Place: [place][br]";] if (the place is a closed door and the place is not transparent) or the place is nothing: if the place is the iron doors: say "(first telling [the actor] to open the doors)[ccb]"; try asking the actor to try opening the heavy doors; otherwise: say "Through [the crystal] you see...nothing of interest."; rule succeeds; if the place is a door: let the place be the room target from the location of the actor; [say "Place: [place][br]";] say "You look into [the crystal], seeing what [regarding the actor][he] saw."; let the home be the holder of the noun; move the noun to the place; try examining the crystal; move the noun to the home; if the place is the Clean-Room: say "[note][bracket]You can give a character multiple commands at a time: TURTLE, NORTHEAST. GET THE SCROLL. SOUTHWEST.[close bracket][/note]"; otherwise: say "Through [the crystal] you now have a clear view of [the target]."; let the place be the holder of the player; let V be whether or not the location of the actor is visited; move the player to the location of the actor, without printing a room description; try examining the target; move the player to the place, without printing a room description; if V is false, now the location of the actor is unvisited; rule succeeds. Last report an actor examining the heavy doors when a palantir is examined (this is the hint about pointing rule): suggest the command "POINT (X) AT (Y) or POINT (X) TO (DIR)". Chapter 2 - The Ventilation System The Disused Closet is northeast of the Antechamber. "Dust, cobwebs, and not much else. Markings on the floor show that this room once contained some large boxes or trunks, but right now it is empty." The Disused Closet is in the Library. It is dark. Some cobwebs are insubstantial scenery in the Disused Closet. The description of the cobwebs is "Delicate and ephemeral in the air, yet somehow almost impossible to remove from your skin." Some markings in the dust are insubstantial scenery in the Disused Closet. The description of the markings is "Several large squares and a smaller circle are dust-free. Large objects of some sort must have been stored here until fairly recently." Instead of searching the markings: try examining the markings. Some large squares are insubstantial scenery in the disused closet. Understand "several" or "square" as the squares. The description of the squares is "Each is about three feet on a side, and there is almost no dust in the impressions. It looks like several boxes or crates of some sort were moved within the last few weeks, then dragged toward the southeast wall." A smaller circle is insubstantial scenery in the disused closet. Understand "small" as the circle. The description of the circle is "There's more dust within the circle than within the squares. Whatever made this mark has been gone for some time." Understand "write in/on/-- [the markings]" as rubbing. Understand "erase [the markings]" as rubbing. Instead of rubbing the markings: say "That would just stir the dust around to no real effect." Effect of casting lesoch at the Disused Closet when the markings are on-stage: say "The sudden wind whips through the room, raising a small tornado of dust and cobwebs around you. You close your eyes against the stinging particles and wait for it to subside.[p]The room seems significantly cleaner now."; now the description of the Disused Closet is "A barren storage room, now pleasantly free of dust and cobwebs but still just as empty."; remove the cobwebs from play; remove the markings from play; remove the large squares from play; remove the smaller circle from play. The small vent is a container. It is fixed in place, openable, closed, and locked. Understand "metal" or "grate" or "grating" or "glowing" as the small vent. The vent can be solved or unsolved. The vent is unsolved. The description of the vent is "A small square of grating, which covers the opening of some sort of air duct[if the vent is noticable]. A faint light shines through it[end if]." Instead of pushing or pulling or turning or attacking or taking the small vent: if the vent is open, try closing the vent; otherwise try opening the vent. Instead of an actor inserting something into the small vent: if the player can see the actor, say "[Regarding the noun][They] [don't] quite fit."; take full time. Section A - Light Solution To decide whether the vent is noticable: [if the Clean-Room is light-filled: repeat with the item running through visible things in the Closet: if the item is the player, next; if the item is lit, no; yes; no.] if there is a lit thing in the oven, yes; no. To solve the vent: if the vent is unsolved: now the vent is solved; award points for "finding a backdoor into the Clean Room"; move the vent to the Disused Closet. Every turn when the vent is unsolved (this is the discover the vent rule): if the vent is noticable and the player is in the Disused Closet: say "A strange light shines from an inconspicuous metal grating near the floor."; solve the vent. Rule for writing a paragraph about the small vent: if the vent is noticable: say "A strange light shines from an inconspicuous metal grating near the floor."; otherwise: say "An inconspicuous metal grating is set into the wall near the floor."; Section B - Sound Solution Instead of someone attacking the ducts: take full time; if the actor is the Adventurer, now the Adventurer success flag is true; if the player can see the actor: say "[The actor] [strike] the duct, which reverberates noisily. [r]"; otherwise: say "A loud [i]crash[/i] of metal against metal reverberates through the Library. [r]"; if the player is in the Clean-Room: say "The echoes slowly die away."; otherwise if the player is in the Disused Closet: say "The sound seems to be coming from a small vent near the floor."; solve the vent; otherwise: let the front cut be the number of moves from the location to the Disused Closet, using even locked doors; let the back cut be the number of moves from the location to the Clean-Room, using even locked doors; if front cut is -1 and back cut is -1, say "[p]" instead; let the way be nothing; if the location is the top of the staircase: let the way be southeast; otherwise if the location is the Spell Research Room: let the way be east; otherwise if front cut is -1 or back cut is less than front cut and back cut is not -1: let the way be the best route from the location to the Clean-Room, using even locked doors; otherwise: let the way be the best route from the location to the Disused Closet, using even locked doors; if the way is nothing, say "[p]" instead; [This should never happen.] say "You can hear the sound echoing faintly from [the way]." Instead of an actor inserting a palantir into the small vent: [Only palantiri fit, don't worry about mirrors.] if the Clean-Room encloses a palantir (called the ball), say "[The ball] [are] already down there; best not to send another yet."; if the noun is the black sphere and hard mode is true, say "Unfortunately the black sphere seems to be slightly larger than the others, and it doesn't quite fit into the opening of the vent." instead; take full time; if the player can see the actor, say "[The actor] [slide] [the noun] into the vent, and it quickly rolls out of sight into the darkness. A moment later, there is an enormous [i]CLANG![/i] from somewhere below."; move the noun to the oven; if the actor is the player and the player can see the Adventurer: say "[The Adventurer] jumps.". Chapter 3 - YONK GNUSTO GNUSTO YONK Section A - The Enchanters Arrive The player's capture is a puzzling scene with puzzle description "escaping the library". The player's capture begins when yonk is inscribed in your spell book and debug mode is false. When the player's capture begins: deactivate the dispenser; [No more scrolls for you.] say "You suddenly hear the voice of the alarm system again: 'Hello again, footpad! The Frobozz Magic Alarm Company would like to inform you that the alarm has been noticed. The proper authorities have responded to the summons and will arrive shortly. Thank you for choosing a Frobozz Magic Alarm Company security system!' Damn. You had started to think you were home free. You might still have time to escape, though..."; award points for "almost getting away with burglary"; mark checkpoint capture as passed; if the location is the Antechamber, trigger the player's capture. Instead of going to the Antechamber when the player's capture is happening and the player does not enclose your spell book, say "It wouldn't do to leave your spell book behind and flee empty-handed!". Instead of going from the Antechamber when the player's capture is happening: say "Your feet seem to be glued to the floor."; take full time. Instead of jumping in the Antechamber when the player's capture is happening: say "You attempt to lift your feet from the floor, but they are stuck fast."; take full time. Effect of casting izyuk at the player when the player's capture is happening: say "You feel a bit lighter, but your feet refuse to leave the floor." After going to the Antechamber when the player's capture is happening: trigger the player's capture. To trigger the player's capture: move Frobar to the Antechamber; move Helistar to the Antechamber; move Haffibar to the Antechamber; say "Almost there[--]you can see the door you [i]rezrov[/i][']d to get in[--]and then a sharp [i]crack[/i] near the display case diverts your attention. A short man wearing the robes of a Senior Enchanter is sprinting towards you, casting a spell from a parchment scroll. He shouts the word [i]'Foblub!'[/i] and your feet seem to glue themselves to the floor.[p]There are more strange noises, and two more Enchanters appear behind him. Wonderful. Escape was within your grasp, your spell book filled with powerful magic, and you failed.[p]'Are you the one who set off the alarm?' the short Enchanter asks roughly. "; if the command override queue is not empty or the player consents: say "'Good, I appreciate honesty. But why did you break in?'"; otherwise: say "'If you didn't break in, what are you doing here?'"; now the prior named object is the player standin; let the speech flag be false; if the shattered display case is on-stage: now the speech flag is true; say "Another one points out the display case next to you. 'Look at that! The display case smashed[if the illuminated scroll is not on the shattered display case], and Berzio's scroll gone[end if]! Did [they] break in to vandalize things?"; otherwise if Saskia is on-stage: say "Another one has been looking around, and seems to have spotted [Saskia] in the Returns Room. 'There's someone else here[--]seems to have been summoned? Here, don't worry, let me help you with that...[i]lleps zifmia[/i]!'"; now the prior named object is the player standin; [Reset this after mentioning Saskia] say "At this, [if the speech flag is false]one of the others[else]the third[end if] notices your spell book. 'Look, Frobar. [He] has a student spell book. I bet [he] was trying to steal some spells from the Library.' You do your best to look shocked at the very idea, but the Enchanters don't seem convinced.[p]She takes the book and starts to flip through it. 'Yes, I knew it. [i]Rezrov[/i], [i]gnusto[/i], [i]frotz[/i][--]a second-year student wouldn't have any of these in a spell book ye[--]' She stops suddenly and her face goes white. Frobar runs over. 'Helistar, what is[--]wait[--]that's not possible[--]'[p]They look at you in shock. 'How can [he] have [i]yonk[/i] in [his] spell book? It's too powerful for [i]gnusto[/i] to copy...'[p]Helistar sets her own spell book down. 'Perhaps it's a simpler spell that one of the Spellwriting students misnamed. Let's see.' She concentrates on your book for a minute, then waves her hand. There is a faint hum, then a flash of brilliant light that leaves all of you momentarily blinded. 'No...that [i]frotz[/i] responded just as it should...'[p]Frobar turns to you. 'Will you explain how you ended up with a [i]yonk[/i] spell inscribed in a student spell book?'"; now every spell book enclosed by the player is carried by Helistar; now the current interlocutor is Frobar; setnode yonk-request-node. Instead of casting a spell at something when the player's capture is happening: unless the second noun is an Enchanter-certified person or the second noun is enclosed by an Enchanter-certified person, continue the action; say "Helistar gestures at you, and your concentration is shattered. 'I wouldn't try that if I were you.'" Instead of casting rezrov at the display case when the player's capture is happening, say "Attempted burglary is one thing, attempted burglary right in front of three suspicious Enchanters quite another. You doubt they[']d take kindly to it." Instead of casting gnusto at the illuminated scroll when the player's capture is happening, say "Destroying the priceless scroll [i]right in front of three Enchanters[/i] might not be such a good idea." Instead of casting zifmia at the player when the player's capture is happening and the player is reversed: say "Frobar waves his hand and the spell dissipates before it can really begin."; take full time. Effect of casting serage at the player when the player's capture is happening: say "As you complete the spell, you feel a strange force in your head, and your mind goes completely blank. Without a command to obey you find yourself incapable of action, and without being able to act you cannot give yourself a command...[p]The Enchanters look at each other. 'Did [regarding the player standin][she] seriously just do that?' One of them looks closely at you. 'We don't have time to deal with this right now. I say we let the librarians deal with [him] later.' With a flash of light they all disappear, leaving you standing there frozen."; record "Attempting to control your own mind" as an ending; end the story saying "That could have ended better". Section B - Demanding an Explanation yonk-request-node is a closed convnode. The other-suggestions are { yes-no-suggestion }. Response for yonk-request-node when saying yes: say "Impressing them certainly can't hurt your situation.[p]'I found a [i]yonk[/i] scroll in the Clean Room,' you explain, 'and made a copy of it.'[p]'Sensible of you,' Frobar remarks, 'those scrolls are hard to come by.' He seems to have forgotten that you stole it.[p]'But I wanted the spell in my spell book, so I could cast it over and over,' you stammer. How are you going to explain your being in the Clean Room at all? But they don't seem to have noticed. 'And I thought, you know, if I can't gnusto it because the [i]gnusto[/i] spell isn't powerful enough, well then, what if I augmented its power?'[p]'That doesn't make sense.' Helistar interrupts. 'You can't use metamagic on [i]gnusto[/i], it's fixed in your memory before your third year of study...oh. Of course. You would probably be the first person to encounter a metamagic scroll before learning [i]gnusto[/i] by heart.'"; [setnode null-node;] setnode blorple-node; [the blorple node is cued in zero turns from now.] Response for yonk-request-node when saying no: now the prior named object is the player standin; say "[one of]'Sorry, that's my secret.'[p]Helistar glares at you angrily. 'Haffibar, do you have a [i]setrav[/i] spell handy? We may need to compel [him] to speak honestly.'[or]'Haffibar?' Helistar repeats. The third Enchanter shakes her head as she rummages through her possessions. 'My scrolls have been scattered lately, but I don't see that one here...'[or][too many negative responses][stopping]". To say too many negative responses: say "'I found a copy,' Frobar interrupts. He walks over to you, holding a glossy scroll, and begins to incant the words of the spell. Nothing seems to change as he finishes. But Frobar watches you expectantly as he asks again, 'Will you tell us about this [i]yonk[/i] spell?'"; force the command "yes". [That's it, no more free will for you.] Default response for yonk-request-node: say "'Don't change the subject. Will you tell us how you have a [i]yonk[/i] spell in your book?'" Node-continuation for yonk-request-node: if a random chance of 1 in 3 succeeds, say "'Well?' asks [one of]Frobar[or]Helistar[or]Haffibar[at random] impatiently. 'Will you tell us?'". [At the time when the blorple node is cued: setnode blorple-node. [This is effectively a one-turn delay.]] Section C - Giving an Explanation blorple-node is a closed convnode. Instead of listing suggested topics when at-node blorple-node: take no time. Instead of doing anything except waiting or listening or taking inventory or looking or listing suggested topics when the current node is the blorple-node: say "[A random Enchanter-certified person in the location] looks sharply at you, and you desist."; take full time. Default response for blorple-node: say "'Let me explain this first, we don't have much time.'" Node-introduction for the blorple-node: say "Helistar looks to the others and sighs. 'Okay. Leaving aside the issue of what you were doing in the library[--]there's a bit of an emergency at the moment.'"; hide the command prompt with implicit command "wait". Instead of waiting when at-node blorple-node: take full time. Every turn when at-node blorple-node: hide the command prompt with implicit command "wait"; say "[regarding the player standin][one of]She continues. 'I'm sure you've heard the rumors about spells being unreliable lately. A meeting of the Guildmasters was called about this issue. Master Brewer Hoobly, Master Poet Ardis, Master Huntsman Gzornenplatz...and of course, the Masters of the Circle of Enchanters. Our Guildmaster was there along with the others. But [they] [were] supposed to contact the Circle via scrying-glass once the meeting ended.'[or]'[She] never did,' Haffibar continues. 'We tried to contact [him] to see what had happened. But the glass showed only darkness, and all our summonings and teleportation attempts had no effect.'[or]'Same for any of the others,' Frobar adds. 'No word from any of them, no way to contact them...it's as though they've disappeared. And our Guildmaster is the resourceful type, even if there were a ward preventing scrying spells [she][']d find a way around it.'[or]'Now suddenly, inexplicably, our spells are becoming more effective again. A few days ago even a simple [i]frotz[/i] would fail more often than not. But now that's no longer happening.'[or]'And this spell has inexplicably started appearing in various places.' Frobar flips through the pages of his spell book, showing you a spell labelled [i]blorple[/i].[p]'We don't know where it comes from. A partial version appeared in my spell book, another part on a blank scroll in Helistar's study.'[or]'The three of us were the only ones in the Guild Hall at the time, waiting for the Guildmaster's message; we've spent the last few hours working to piece together the spell and interpolate the missing sections.'[or]'Its structure is...odd. Very odd. But it seems like it should work, in theory...' Helistar explains. Haffibar cuts her off. 'The difficulty is that we haven't yet found anything which causes an effect with it. It's a targeted spell, but all it does is put the caster into a strange sort of trance for a moment.'[or][switch to copying yonk]'So now,' Frobar finishes, 'we need to figure out what happened in the meeting, where the Guildmaster is, why our spells are suddenly working again, where this [i]blorple[/i] came from, and what it all means.'[p]'And you do seem to have quite an aptitude for magic,' Helistar admits grudgingly. 'We need all the assistance we can get. Take the new spell, see what you can do with it. And if you can get in contact with any other Enchanters, spread the word.' She pulls out a leather scroll-case. 'Having a recastable [i]yonk[/i] spell...that could be quite valuable. The Guildmaster will want to speak to you when all of this is over.'[stopping]". To say switch to copying yonk: say leavenode; show the command prompt; now the player carries the well-worn spell book; now the player carries the glossy scroll; now every spell book carried by Helistar is carried by the player. [Give the player their books back.] To say were: say "[if the prior named object is plural-named]were[else]was[end if]". Section D - Copying Yonk Copying yonk is a puzzling scene with puzzle description "making a copy of the [i]yonk[/i] spell for Frobar". Copying yonk begins when the player carries the well-worn spell book. Copying yonk ends happily when yonk is inscribed in the well-worn spell book. Copying yonk ends badly when the time since copying yonk began is 10 minutes. When copying yonk begins: say "'Oh, one more thing,' Frobar puts in. 'Would you mind copying [i]yonk[/i] into a spellbook again? It could be quite important, and you seem to be one of the only people with enough magical knowledge to cast [i]yonk[/i] without having [i]gnusto[/i] imprinted deeply into your mind.' He hands you a well-worn spellbook with a leather cover, and another glossy scroll.[p]'You'll need th[if Helistar encloses at least two spell books]ese[else]is[end if] too, then,' Helistar says, handing your own spellbook back."; now the player's preferred spell book is the well-worn spell book. [Override for gnusto.] When copying yonk ends happily: say "'Thank you for that.' Frobar takes his book back and nods to you. 'I appreciate it.'[p]Haffibar hands you a freshly-copied scroll. 'This is our reconstructed [i]blorple[/i] spell, as well as we've been able to figure it out.'[p]'I'm going to try the variant [i]lleps-aimfiz[/i] again,' Helistar says. 'Frobar, see if you can contact Dr. Ngo. He was doing research into combined metamagic, if he's had any success with [i]yonk-lleps[/i] that might help. Haffibar, tell me if you have any more success with scrying.' She snaps her fingers and in a flash of light is gone. Haffibar gathers up her scrolls and vanishes as well.[p]'If you can find anything regarding the Guildmaster or the recent events in Borphee, [i]aimfiz[/i] to one of us. There are some old scrolls in the closet to the northeast, I think there's an [i]aimfiz[/i] there. And when you finish we'll see about introducing you to the Guildmaster.' He smiles and waves, then he is gone."; now every Enchanter-certified person is nowhere; reset the interlocutor; remove the well-worn spell book from play; now the player carries the freshly-copied scroll; now the player's preferred spell book is your spell book. Every turn when copying yonk is happening: say "[one of]Frobar looks at you expectantly[or]Helistar sighs quietly[or]Helistar taps her foot, her fingers drumming the spine of her spellbook[or]'So...will you copy the spell?' Frobar asks with a hint of impatience[or]'We don't have time for this,' Helistar mutters under her breath[or]'Haffibar, do you have an [i]espnis[/i]?' Helistar asks[or]Haffibar begins rummaging through her belongings[or]'Will you copy the spell?' Frobar asks again impatiently[or]'[regarding the player standin][She] did take the initiative in getting in here...' Helistar mutters[or]'Found it.' Haffibar hands a scroll to Helistar[or][The random Enchanter-certified person] glares at you[stopping]." When copying yonk ends badly: say "Helistar sighs. 'This is taking too long. We'll deal with [regarding the player standin][him] at some later point. For now...[i]espnis[/i]!' You feel incredibly tired for a moment, and are barely aware of falling asleep. The next day is not going to be pleasant..."; record "Sleeping through everything" as an ending; end the story saying "You have slept through the whole thing". Instead of saying no when copying yonk is happening: say "Frobar looks furious for a moment, but controls himself. 'You do recall that you were caught [i]breaking into the library[/i]? I would advise you to work with us here.'"; take full time. Instead of saying yes when copying yonk is happening: say "'Good. Then, please continue...we are in somewhat of a hurry here.'"; take full time. Instead of conversing when copying yonk is happening: say "'Sorry, but we're in a bit of a hurry. Will you [i]gnusto[/i] this spell for us first?'"; take full time. There is a spell book called a well-worn spell book. Understand "spellbook" or "leather" as the well-worn spell book. The description of the well-worn spell book is "[tt]== FROBAR'S SPELL BOOK ==[/tt]". Frobar owns the well-worn spell book. [This lets us call it "Frobar's book" and such.] Gnusto, frotz, gondar, yomin, swanzo, blorple, lleps, feeyuk, and bozbar are inscribed in the well-worn spell book. A glossy scroll is a spell scroll with inscribed spell yonk. A freshly-copied scroll is a spell scroll with inscribed spell blorple. Understand "freshly" or "copied" as the freshly-copied scroll. Every turn when copying yonk is happening and the well-worn spell book is not held by the player and the well-worn spell book was held by the player: say "'Er...what are you doing with that?' Frobar asks, a bit puzzled." Instead of memorizing a spell when the player encloses the well-worn spell book and the spell understood is inscribed in the well-worn spell book: if the spell understood is gnusto or the spell understood is yonk, make no decision; say "'Hey, what are you doing?' Frobar interrupts, breaking your concentration."; take full time. Instead of giving something to an Enchanter-certified person: take full time; if the noun is the well-worn spell book: if the second noun is Frobar: say "'Could you copy [i]yonk[/i] into it first?' he asks."; otherwise: say "'Hey, that's my book!' Frobar interjects."; otherwise if the noun is a spell book: if yonk is inscribed in the noun: say "'None of us can copy the [i]yonk[/i] spell, since we know [i]gnusto[/i] too well to use metamagic on it,' [the second noun] explains. 'As you seem to be the first person to access metamagic before learning that spell, you're the only one who can do it at the moment.'"; otherwise: say "'Thank you, but you can hold on to that for the moment. The [i]yonk[/i] spell is the most important thing right now.'"; otherwise: say "[The second noun] [look] at [the noun] for a moment, but [seem] to be more interested in your spell book." The player's capture ends when copying yonk ends happily. Section E - Moving On Frobar is a man. The description of Frobar is "A short and amiable-looking man in dusty Enchanter's robes." Understand "short" or "amiable" or "Enchanter" as Frobar. Helistar is a woman. The description of Helistar is "Helistar is tall and gray-haired, and you get the impression of one who very seldom smiles and almost never laughs." Understand "tall" or "gray" or "haired" or "gray-haired" or "Enchanter" as Helistar. Haffibar is a woman. The description of Haffibar is "She seems to be trying unsuccessfully to stave off sleep; her eyes keep drifting shut. A stripe of white on the side of her robes indicates that she is also a member of the Guild of Physicians." Understand "Enchanter" or "Physician" as Haffibar. Definition: a person is Enchanter-certified if they are Frobar or they are Helistar or they are Haffibar. Rule for writing a paragraph about an Enchanter-certified person: say "[A list of Enchanter-certified people in the location] [are] standing nearby[one of][or], arguing about the Fundamental Theorem of Alchemy[or], examining [a random Enchanter-certified person in the location]'s spellbook[or], whispering urgently about something[or], talking about the possible connection between [i]blorple[/i] and [i]gilch[/i][or], lost in thought[at random]."; now every Enchanter-certified person in the location is mentioned. Rule for writing a paragraph about an Enchanter-certified person when the player's capture is happening: say "Three Enchanters are standing here, looking at you intently."; now every Enchanter-certified person is mentioned. When Act 1 ends: say "That went far better than it probably should have. This is a lot to process.[p]"; say "[alert]*** END OF ACT I ***[/alert]"; wait for any key; clear the screen; try looking. Volume Two - The Second Act Act 2 is a scene. Act 2 begins when Act 1 ends. Act 2 ends when the player is in the Balance Room. When Act 2 begins: mark checkpoint act two as passed. Blorple-puzzle is a puzzling scene with puzzle description "exploring some mystical connections". Blorple-puzzle begins when Act 2 begins. Blorple-puzzle ends when the Splendid Cavern is visited. Book I - The Storage Area The Storage Area is a room in the Library. "This must be one of the old storage rooms where miscellaneous physical objects in the Library's collection are kept. They may once have been neatly catalogued and organized, but the shelves supporting them seem to have given up their struggle against gravity." A wooden door is a door. It is southeast from the Antechamber and northwest from the Storage Area. It is closed, openable, locked, and lockable. It is scenery. Effect of casting vezza at the Storage Area: say "The piles look very different, as though someone has searched through them and possible added or removed some objects[--]but amid all the mess it is impossible to tell what precisely has changed." Empowered effect of casting vezza at the Storage Area: say "Someone is searching frantically through the piles, looking for something[--]but what?" Inverse effect of casting vezza at the Storage Area: say "A librarian walks in, sighs at the clutter, and tosses a sphere and a cylinder onto the table. 'I'll sort this out later...'" [Shelving intentionally unimplemented--the 'you can't see any such thing' should be part of the joke.] Storage-puzzle is a puzzling scene with puzzle description "opening the wooden door to the southeast of the Antechamber". Storage-puzzle begins when the Returns Room is visited and the Main Stacks are visited and the Scrying Room is visited and the Spell Research Room is visited and the Disused Closet is visited and the Basic Spell Collection is visited. Storage-puzzle ends when the wooden door is open or (the wooden door is unlocked and the iron key is not in the strongbox) or the iron key is held by a person. When storage-puzzle ends: now the wooden door is solved. The lock is part of the wooden door. The description of the lock is "[if the wooden door is unsolved]You can't see anything through the keyhole[--]the key is in the way[otherwise]Through the keyhole you can barely make out the piles of junk in the storage area[end if].". Understand "keyhole" or "key hole" as the lock. Understand "key" as the lock when the wooden door is unsolved. Instead of searching the lock: try examining the lock. Instead of pushing the lock when the wooden door is unsolved: say "You have nothing sufficiently thin with which to push the key out." Instead of inserting something into the lock when the wooden door is unsolved: say "[The noun] cannot fit through the keyhole[if the noun is the quill][--]the nib is just barely too wide[end if]." Instead of inserting something into the lock when the wooden door is solved: try unlocking the wooden door with the noun. Understand "push [the lock] with [something preferably held]" as inserting it into (with nouns reversed). Instead of casting blorb at the lock, say "The [i]blorb[/i] spell might be able to push the key out, but from this side you can't see the key itself clearly enough." A rusty iron key is a passkey in the Storage Area. "A rusty iron key seems to have been left partially in the keyhole, jamming the lock." The iron key unlocks the wooden door. The iron key is ropable. The description of the iron key is "The key doesn't seem to have been removed from the lock in years, judging from the rust." Should the game choose when comparing the iron key against the lock: it is a good choice. [Don't disambiguate on BLORB KEY] [Definition: the wooden door is unsolved rather than solved if the rusty iron key is in the storage area[* A better check would be 'if the location of the key is the storage area', because that would also include being inside a container inside the storage area. Because of this, David Welbourn discovered that casting blorb through the palantir would pull the key out of the lock. I left the solution in because I couldn't think of any logical reason why it wouldn't work.] and the rusty iron key is not handled. [Unhandled checks whether the player has taken it, location checks whether someone else has.]] The wooden door can be solved or unsolved. The wooden door is unsolved. [Cleaner to track it as a variable.] Effect of casting rezrov at the unsolved locked wooden door when the iron key has not been in the strongbox: say "The door shudders, and there is a clicking sound from the lock, but nothing else happens. Looking closely at it, you see that the key has been left partway in the lock, preventing it from turning." Empowered effect of casting rezrov at the unsolved locked wooden door when the iron key has not been in the strongbox: say "The door shudders, and a sound of twisting metal emanates from the lock. The key has been left partway in, and the mechanism can't turn properly until it is removed." Inverse effect of casting rezrov at the unsolved locked wooden door when the iron key has not been in the strongbox: say "You can hear the mechanism turning slightly, but the key stays in place. Shame." Effect of casting rezrov at the unsolved wooden door when the iron key is in the strongbox: say "The lock turns, but the door doesn't open[--]the magical strongbox on the other side has fallen right in front of the threshold, and its weight is holding the door shut."; now the wooden door is unlocked. [Hahaha :P ] Instead of an actor opening the unsolved wooden door when the iron key is in the strongbox: if the player can see the actor, say "[The actor] [push] as hard as [they] can against the door, but your magical strongbox is holding it shut."; take full time. After casting blorb at the iron key when the iron key was unhandled and the wooden door is unsolved and the location is not the Storage Area: say "You peer through [the random scrying device which shows the iron key]. Just your luck[--]it seems to have fallen right in front of the door."; continue the action. The dented table is an enterable supporter in the Storage Area. "Sitting in the middle of the floor is an old wooden table with many dents in it." Understand "old" or "wooden" or "dent" or "dents" as the table. It is fixed in place. The description of the table is "Someone must have dropped a heavy object[--]or many heavy objects[--]on this table at some point." Instead of searching the dented table when the noun is empty: say "There's nothing on the table at the moment; it's all spilled off onto the floor." A small black sphere is a palantir on the dented table. The black sphere is mystically linked to the small transparent sphere. A battered scroll tube is a closed openable container on the dented table. The description of the scroll tube is "A battered tube of leather designed to hold scrolls." Understand "leather" or "of leather" as the scroll tube. Instead of inserting something into the scroll tube when the noun is not a spell scroll: say "It's only designed to hold scrolls." Instead of casting gnusto at a spell scroll when the second noun is in the scroll tube, say "[The second noun] [are] rolled up too tightly inside the scroll tube, you can't make out the writing." A gilded scroll is a spell scroll in the scroll tube with inscribed spell izyuk. Chapter 1 - The Piles of Junk Some piles of junk are fixed in place in the Storage Area. [The piles are a container.] Understand "pile" or "heap" or "clutter" or "objects" or "object" or "strange" as the junk. Rule for writing a paragraph about the piles of junk: say "Around the table, strange objects are piled almost four feet high. You don't even recognize what most of it is, much less what might be useful or magical.". After choosing notable locale objects for the Storage Area: set the locale priority of the piles of junk to 1; make no decision. Temporary storage is a container. The description of the piles is "You can't recognize much of this stuff at a cursory glance. You'd need to search through it to find something potentially interesting." Instead of taking or searching the piles of junk: take full time; if a random chance of one in three succeeds: say "You look through the pile, but don't find anything particularly interesting with a cursory glance."; rule succeeds; let the item be a random nonmagical thing in temporary storage; if the item is nothing: say "You sift through the piles, but find nothing of interest."; rule succeeds; say "You sift through the piles and find [an item]."; now the player carries the item. Instead of the Adventurer taking or searching the piles of junk: take full time; say "[The Adventurer] searches for a minute, seeming to focus primarily on small shiny objects. But [he] doesn't seem to find anything of real interest to you."; record the Adventurer's attempt as successful. Instead of an actor putting or inserting something into the piles: take full time; if the player can see the junk, say "[The noun] [disappear] into the junk."; if the noun is a palantir and the player can see the mystical relative of the noun, say "[The mystical relative of the noun] [show] a fuzzy image for a moment, then static, then nothing[first time]. All the residual magic in the piles must be interfering with the connection[only]."; move the noun to temporary storage. Instead of an actor dropping something in the Storage Area: try the actor inserting the noun into the piles. Effect of casting jindak at the piles: say "Glimmers of blue appear from inside the pile. [r]"; if the location is the Storage Area: if the featureless white cube is in temporary storage: [Give the cube first.] say "You begin to rummage through the pile, and find a strangely featureless white cube glowing intensely."; now the player carries the featureless cube; award points for "discovering a featureless white cube"; rule succeeds; let the item be a random magical thing in temporary storage; if the item is nothing: say "You try to find what was glowing, but the spell fades before you reach it."; otherwise: say "Before the spell fades, you rummage through the pile and find [an item]."; move the item to the player; otherwise: say "From here, however, you aren't able to tell what the source of the glow might be." Empowered effect of casting jindak at the piles when the location is the Storage Area: say "Something within the pile shines more brightly, but the junk shifts as you move towards it and the glow is lost within the pile again." [Override the message in one specific case with yonk.] Effect of casting jindak at the Storage Area: say "Thin flickers of blue flare within the piles of junk, though you can't tell precisely what caused them. If you focused your spell more precisely you might be able to find whatever it was." [Most of these are shout-outs.] In temporary storage is an old floor waxer. The description of the waxer is "[tt]Built by the FROBOZZ MAGIC FLOOR WAX COMPANY[/tt]". The waxer is ropable. [Sorcerer] In temporary storage is a dented brass lantern. The description of the dented lantern is "You'd be surprised if it worked at all any more...but there's no way to tell, as you don't see a switch." [Adventure] In temporary storage is a rusty knife. The description of the rusty knife is "The knife looks dangerous, if only because of the risk of tetanus." Instead of throwing the knife at something: say "You change your mind at the last moment. Old residual spells can stay on objects like this for quite a while." [Zork] In temporary storage is a blue cable. The description of the cable is "A short length of copper wire with some sort of blue coating." [Suspended] In temporary storage is a brown spool. The description of the spool is "There's no way to tell what might once have been stored on it." [Planetfall] In temporary storage is a wooden octahedron. The description of the octahedron is "A large die for some sort of game, perhaps? But there are no numbers on the faces." [Metamorphoses] Understand "die" or "d8" as the octahedron. Instead of turning the octahedron: say "You toss it to the ground, and it comes up...blank. How useless."; take full time. [This is a reference to the unmarked coins in Balances.] In temporary storage is a misshapen hourglass. The description of the hourglass is "It looks something like an hourglass, but both ends are open and one is significantly larger than the other." The hourglass is ropable. [Metamorphoses again] In temporary storage are a pair of tap shoes. The description of the tap shoes is "Worn leather shoes with some odd metal plates attached to the soles." [just a red herring] The tap shoes are wearable. In temporary storage is a rusty iron rod. It is magical. The description of the rod is "About two feet long, with a sort of star on the end." [Adventure] Effect of casting kulcad at the magical iron rod: say "Nothing obvious happens to the rod."; now the rod is nonmagical. In temporary storage is a featureless white cube. It is magical. [Spellbreaker] The featureless white cube has some text called the name. Understand the name property as describing the cube. The printed name of the white cube is "[if the name of the cube is empty]featureless white[else]'[name]'[end if] cube". Carry out writing a topic in the featureless white cube: say "You write '[topic understood]' on one side of the cube[if the name of the cube is not empty], erasing '[name of the cube]'[end if]."; now the indefinite article of the cube is "the"; now the name of the cube is the substituted form of "[topic understood]". Instead of rubbing the featureless white cube: say "You rub the cube, leaving its surface smooth and clean."; now the indefinite article of the cube is "a"; now the name of the cube is ""; take full time. Should the game choose when comparing the featureless white cube against the display case: it is a good choice. Should the game choose when comparing the featureless white cube against the aquarium: it is a good choice. Should the game choose when comparing the featureless white cube against the shattered display case: it is a good choice. Effect of casting kulcad at the featureless white cube: [Ooh boy...] say "As you try to undo the spells on the cube, a power you've never felt before lashes back at you, singing your hands and burning the scroll to ash. This is no ordinary magic." Understand "juggle" or "juggle [things]" as a mistake ("You would probably just drop everything."). Book II - Expanding the Storage Area Chapter 1 - Doors Closet-puzzle is a puzzling scene with puzzle description "figuring out where the objects in the closet went". Closet-puzzle begins when the markings in the dust are examined. Closet-puzzle ends when the hidden door is present. Effect of casting vezza at the Disused Closet: say "The markings on the floor have been swept away, but nothing else has changed." Inverse effect of casting vezza at the Disused Closet: say "Three people wearing librarians['] cloaks are moving wooden storage boxes, packing them into a larger crate. Then one of them claps three times, and a section of the wall swings outward. The others slide the crate through some sort of door, and the wall swings closed behind them." Empowered effect of casting vezza at the Disused Closet: say "A broken shelf from the Main Stacks has been pushed against the southeast wall." When play begins: [This property needs to be set at run-time for I6 reasons.] now the hidden door is absent; now the secret door is absent. There is a door called a hidden door. The initial appearance of the hidden door is "A section of the wall has opened up to the southeast, revealing a hidden door." It is southeast of the Disused Closet and northwest of the Secret Tunnel. There is a door called a secret door. It is southwest of the Secret Tunnel and northeast of the Storage Area. The initial appearance of the secret door is "A section of the wall has opened up to the northeast, revealing a secret door." Rule for writing a paragraph about the hidden door when the location is the Secret Tunnel: now the hidden door is mentioned. Rule for writing a paragraph about the secret door when the location is the Secret Tunnel: now the secret door is mentioned. Clapping is an action applying to nothing. Understand "clap" or "applaud" as clapping. Report clapping: say "You clap loudly." Report someone clapping: say "[The actor] [clap] [their] hands together." Understand "clap [number] time/times" as a mistake ("[note][bracket]I have tried to get the parser to understand such commands, but with no success. Just type three separate commands. Sorry![close bracket][/note]"). After an actor clapping when the hidden door is absent and the actor is enclosed by the Disused Closet for the third turn: if the player can see the actor or the player is the actor, say "[The actor] [clap] loudly...and [hear] a rumbling from the [if the location is the disused closet]southeast[else]northwest[end if]. A section of the wall swings aside, revealing a hidden door. That's odd. Why would it need to be hidden?"; now the hidden door is present; award points for "[if the player is not the actor]indirectly [end if]discovering a hidden door". After an actor clapping when the secret door is absent and the actor is enclosed by the Storage Area for the third turn: if the player can see the actor or the player is the actor, say "[The actor] [clap] loudly...and a secret door is revealed[if the location is the storage area], hidden behind the piles of junk[else] in the southwest wall[end if]."; now the secret door is present; award points for "[if the player is not the actor]indirectly [end if]discovering a secret door". After an actor clapping when the actor is enclosed by the Secret Tunnel for the third turn: if the player can see the actor or the player is the actor: say "[The actor] [clap] loudly...[r]"; if the secret door is absent or the hidden door is absent: say "and you hear a faint rumbling from the northwest and southeast, but no doors materialize."; otherwise: say "but nothing out of the ordinary happens."; Chapter 2 - Tunneling The Secret Tunnel is a dark room in the Library. "A wide and spacious passage, bending from [if the hidden door is present]the Disused Closet[else]darkness[end if] at the northwest to [if the secret door is present]the Storage Area[else]darkness[end if] at the southwest. The floor, walls, and ceiling are made of smooth wood, and a couple large crates stand against the walls[first time]. It's really more of a hallway or a closet than a tunnel...but it sounds much more impressive to say that you discovered a secret tunnel than a secret closet[only]." Effect of casting vezza at the Secret Tunnel: say "The crates lie open, the wood torn and splintered." Empowered effect of casting vezza at the Secret Tunnel: say "The doors have been closed again and all you can see is darkness." Inverse effect of casting vezza at the Secret Tunnel: say "A librarian closes one of the packing crates, then spots a scroll that has fallen against the wall. 'Missed one...I'll put it away later.' He picks it up and walks out, closing the door behind him." Crates-puzzle is a puzzling scene with puzzle description "opening the packing crates in the tunnel". Crates-puzzle begins when the packing crates are known. Crates-puzzle ends when the packing crates are open. Some packing crates are a ropable scenery container in the Tunnel. Understand "large" or "crate" or "couple" or "boxes" or "box" as the crates. They are closed and unopenable. The description of the crates is "They seem to have been nailed shut rather hastily." Effect of casting rezrov at the closed crates: say "The wood strains but does not give; the spell is not quite strong enough to pull the crates apart." Empowered effect of casting rezrov at the closed crates: say "With a splintering of wood, several planks pull away from the crates and land in a pile on the floor."; move the splintered planks to the Tunnel; now the crates are open. Inverse effect of casting rezrov at the open crates: say "The spell doesn't do much. They're probably beyond repair." Inverse effect of casting rezrov at the planks: say "The spell doesn't do much. They're probably beyond repair." Instead of opening the closed crates: say "They're nailed shut. You'd need a crowbar or something to pry them open." Instead of unlocking the closed crates with something: say "[The second noun] [don't] make a very effective crowbar." Some splintered planks are fixed in place. Understand "plank" or "several" or "board" or "timber" or "wood" or "splinter" or "splintery" or "heavy" as the planks. The planks are ropable. Instead of taking the planks: say "They look awfully heavy and serve no real purpose." The description of the planks is "They seem to have been torn roughly from the crates by some burglar." A faded scroll is a spell scroll in the packing crates with inscribed spell vaxum. Inv List Vol 14 is a library book in the packing crates. The author is "J. Ashwell". The description is "[tt]Inventory List Volume XIV[br]...[br]'Essays and Reviews on Narrative' by E. Short[br]'Heterogenous Tasks' by S. K. Ashwell[br]'Transcendent Destinies' by Paul Lee[br]'Winter of our Discontent' by M. T. Winter[br]...[/tt]". [Reviews during IntroComp.] Diurnal Membership Records is a library book in the packing crates. The author is "Floyd Meretzky". The description is "[tt]...[br]Jacqueline Ashwell[br]David Welbourn[br]Daniel Ravipinto[br]Joseph Geipel[br]Dan Shiovitz[br]Andrew Plotkin[br]Buster Hudson[br]Pollux[br]...[/tt]". [ClubFloyd players.] Nocturnal Membership Records is a library book in the packing crates. The author is "Floyd Meretzky". The description is "[tt]...[br]Adri Mills[br]Zach Samuels[br]Steve Westwood[br]Olly Kirk[br]Roger Carbol[br]...[/tt]". [NightFloyd players.] Book II - The Caves, Continued Chapter 1 - Top Level Section A - Geography and Climbing There is a cave in Colossal Cave called Above the Pit. "The passage twists and narrows until eventually you can no longer move forward. Only a tiny crack continues on to the west, but a gap in the floor opens onto a larger cavern below you. A few traces of white mist rise from the pit, reflecting the light eerily." Instead of going east in the Splendid Cavern: say "You might potentially fit through there, but your claustrophobia holds you back." Instead of the Adventurer going east in the Splendid Cavern: if the player can see the Adventurer, say "'There's nothing much that way. The entrance is closed at the moment, so you can't go out there.'"; take full time; record the Adventurer's attempt as successful. The Splendid Cavern is east of Above the Pit. Effect of casting vezza at the Splendid Cavern: say "A [if the Adventurer is feminine]wo[end if]man edges carefully back through the crack to the east." Inverse effect of casting vezza at the Splendid Cavern: say "A small bird flutters through the room, chirping quietly and looking very out of place." Effect of casting vezza at the Splendid Cavern: say "The rope has come untied and is nowhere to be seen." Inverse effect of casting vezza at the Splendid Cavern: say "The Adventurer hammers a hook into the wall, affixes a rope, and begins to climb down into the pit." A small hook is fixed in place in Above the Pit. It is ropable. "A small hook has been driven into the rock above the pit." The description of the hook is "A rope tied here would make it significantly easier to climb down the pit, which is probably the reason for its presence." An old rope is a rope in Above the Pit. "An old rope is tied to the hook, coiled at the edge of the pit." It is tied to the small hook. The description of the rope is "It's dusty and worn, but still seems quite strong." Instead of going down from Above the Pit: if the player is flying: say "You step off the ledge and float gently down..."; continue the action; if the dome is traversable: say "You climb carefully down the rope..."; continue the action; say "You don't have a good way down.". Instead of going up from the Misty Cavern: if the player is flying: say "You jump with all your strength, and float back up..."; continue the action; if the dome is traversable: say "With a bit of difficulty, you pull yourself back up the rope..."; continue the action; repeat with the item running through things in Above the Pit: if the player can touch something which is tied to the item: say "The rope isn't anchored well enough to hold your weight."; stop the action; say "You don't have any good way to climb up.". After the Adventurer going up from the Misty Cavern: if the player can see the Misty Cavern, say "[The Adventurer] climbs quickly to the top of the pit, digging [her] hands into tiny cracks in the rock." instead; if the player can see Above the Pit, say "[The Adventurer] appears at the top of the pit, climbing without any apparent effort." instead; continue the action. After the Adventurer going down from Above the Pit: if the player can see Above the Pit, say "[The Adventurer] grabs onto the apparently sheer rock, climbing down easily." instead; if the player can see Above the Pit, say "[The Adventurer] slithers down from the top of the pit." instead; continue the action. Instead of an actor climbing a rope when the noun is in Above the Pit or the noun is in the Misty Cavern: [Redirect CLIMB ROPE to a going action.] if the dome is traversable: if the location of the actor is the Misty Cavern, try going up; otherwise try going down; otherwise: try pulling the noun. To decide whether the dome is traversable: repeat with the anchor running through tied up anchored things in Above the Pit: let the coil be a random rope which is tied to the anchor; if the player encloses the coil: initialize the implicit action; [Implicit Action framework for nicer reporting.] silently try dropping the coil; finish the implicit action with participle "dropping" infinitive "drop" object "[the coil]" and condition (whether or not the player does not carry the coil); if the coil is enclosed by a person, no; repeat with the target running through things which are tied to the anchor: if the location of the target is the Misty Cavern: yes; if the location is Above the Pit: let the item be a random rope which is tied to the anchor; repeat with the target running through things tied to the item: if the target is not the item and the target is not the anchor, now the item is the target; initialize the implicit action; [Implicit Action framework for nicer reporting.] silently try throwing the item at down; finish the implicit action with participle "throwing" infinitive "throw" object "[the item] into the pit" and condition (whether or not the item is in the Misty Cavern); if the location of the item is the Misty Cavern, yes; no. Section B - The Bird A little bird is an animal in Above the Pit. "A cheerful little bird is perched here, singing softly." Understand "cheerful" or "songbird" or "warbler" as the bird. The description of the bird is "It's about six inches long, with a green back and a yellow belly. It is [if the bird encloses something]grasping [a list of things carried by the bird] awkwardly[else]hopping among the rocks and chirping contentedly[end if]." Persuasion for asking the bird to try doing something: if the bird is affected by nitfol, persuasion succeeds; say "[bird chatter]"; persuasion fails. Definition: the bird is flying: yes. To say bird chatter: if the bird is affected by nitfol, say "'[one of]Hello! Are you a wizard?[/br][or]A wizard brought me to the caves once.[/br][or]I think he was a wizard. He looked like a wizard.[/br][or]I used to live in a cage. Then he brought me to the caves. And let me go.[/br][or]The wizard was nice. He used to carry a magic wand though.[/br][or]Magic wands are scary. I don't like magic wands.[/br][or]I don't like magic wands. Or snakes.[/br][or]Snakes are bad. I hate snakes.[/br][or]He brought me to the caves. I don't know why.[/br][or]It's nice in the caves. Lots of bugs.[/br][or]Bugs are tasty.[/br][or]It's kind of dark in the caves though.[/br][or]I don't like the dark. The bugs do though.[/br][or]Did you bring any bugs?[/br][or]I haven't seen any other birds here.[/br][or]There might be birds here. But I haven't seen them.[/br][or]Maybe the wizard brought more birds.[/br][or]Hello![/br][then at random]'[p]"; otherwise say "The bird just chirps happily." Every turn when the bird is in the location and the bird is visible (this is the bird activity rule): if the bird is affected by nitfol: let the perch be "the ground"; if there is a substantial non-distant nonbird thing in the location: let the item be a random substantial non-distant nonbird thing in the location; let the perch be the substituted form of "[you or the item]"; if a random chance of 2 in 3 succeeds, say "The bird hops to [the perch]. [bird chatter]"; otherwise if a random chance of 1 in 3 succeeds: say "The little bird chirps [one of]inquisitive[or]contented[or]amused[at random]ly." Default response for the bird: say "The bird chirps. [bird chatter]". Default give response for the bird: say "The bird grasps [the noun] awkwardly." Instead of taking the bird: say "The bird flaps to your hand for a moment, then flaps away."; take full time. Instead of asking the bird to try giving something to someone: try asking the bird to try dropping the noun. Definition: a thing is nonbird if it is not the bird. [Instead of giving a palantir to the bird: say "The bird tries to wrap its little claws around [the noun], but can't get a grip on the smooth glass." instead. Instead of giving a container to the bird when the noun is not empty: say "The bird tries to grab [the noun], but it is too heavy."] The carrying capacity of the bird is 1. The bird is not ropable. Going is bird-action. Entering is bird-action. Exiting is bird-action. Getting off is bird-action. Looking is bird-action. Eating is bird-action. Drinking is bird-action. Following is bird-action. Ceasing to follow is bird-action. Singing is bird-action. Dropping is bird-action. Taking is bird-action. Before the bird doing anything: let the idea be the current action; change the actor part of the idea to the player; [Remove the actor part to allow comparison.] unless the idea is bird-action, say "It just looks at you. [bird chatter]" instead. [The bird can't do most actions.] Report the bird following someone: say "'I will follow.'"; rule succeeds. Unsuccessful attempt by the bird doing something: say "It doesn't seem like the little bird is really capable of that." Unsuccessful attempt by the bird doing something when the reason the action failed is the following people already followed rule: say "The bird chirps happily and seems to nod." Inverse effect of casting izyuk at the bird: say "The bird wavers unsteadily in the air for a moment, then, still flapping its wings frantically, plummets "; if the location is the Chasm or the location is the Overlook: say " into the chasm. It is quickly lost to sight below."; say "[alert]*** The little bird has died ***[/alert][p]"; remove the bird from play; otherwise: say " to the ground. It lies there for a moment before hopping unsteadily to its feet, then jumps into the air again as though nothing had happened." Chapter 2 - The Misty Cavern Some mist is an insubstantial backdrop. The mist is singular-named and scenery. The description of the mist is "Mist is a white vapor seen from time to time in caverns. It can be found anywhere, but is frequently a sign of a deep pit leading down to water." The mist is in Above the Pit, the Misty Cavern, the East Edge of the Fissure, the West Edge of the Fissure, and the Damp Cavern. Section A - Geography The Misty Cavern is a cave in Colossal Cave. "The tunnel opens into a vast and misty cavern, stretching far out of sight to the west. The light of your [if the player carries the lantern]lantern[else]spells[end if] is reflected and distorted strangely by the wisps of mist and the stones, steady gold changed to flickering bluish-white. A cold wind blows from a wide opening in the ground up through the narrow tunnel above, creating swirls and eddies in the mist and filling the hall with a faint whispering sigh." The Misty Cavern is below Above the Pit. Inverse effect of casting vezza at a room when the second noun is the Misty Cavern or the second noun is the East Edge or the second noun is the West Edge: say "The overlapping of the mist creates a hypnotic swirling, but nothing else appears." Effect of casting vezza at a room when the second noun is the Misty Cavern or the second noun is the East Edge or the second noun is the West Edge or the second noun is the Damp Cavern: say "The overlapping of the mist creates a hypnotic swirling, but nothing else appears." The Dead End is a cave in Colossal Cave. "The tunnel extends only a short distance before ending at an impassible wall of broken rock." Some graffiti is fixed in place in the Dead End. "Some previous explorers have scratched rough messages into the walls." Understand "rough" or "messages" or "message" or "walls" as the graffiti. The description of the graffiti is "The messages range from simple names carved into the stone[--][i]Hanon Ondricek was here[/i], [i]Neil Butters 917 survey expedition[/i][--]to apparent nonsense[--][i]You won't get it up the steps![/i] There seems to be no pattern or arrangement to them." It is insubstantial. There is a long wooden staff in the Dead End. "A long wooden staff lies discarded in the dust." It is ropable and visible between rooms. The description of the staff is "It is smooth and heavy, apparently designed for throwing, like a wooden javelin. A pattern of grooves is etched into the center." The pattern of grooves is part of the staff. The description of the pattern is "An abstract of thin intersecting lines, perhaps carved here as a grip?" The Dead End is south of the Misty Cavern. Effect of casting vezza at the Dead End: say "The wooden staff lies in a different place, a rope tied around its center." Inverse effect of casting vezza at the Dead End: say "A shadowy figure pries at the rock with a wooden staff. In a shower of fragments a shining glint of gold appears, which [regarding the player standin][they] [seize] delightedly." The East Edge of the Fissure is a cave in Colossal Cave. "The cave is cut abruptly by a jagged fissure, creating a wide gap through the rocky floor. The mists swirl around it almost as though alive, drifting this way and that with the air currents. You can vaguely make out some dark shapes on the other side, but the fissure is too wide to jump and looks quite dangerous to climb." Instead of an actor going west from the east edge when the crystal bridge is off-stage and the actor is not flying: if the player can see the actor, say "You can barely see the other side of the fissure through the mist! It's certainly too far to jump; you would need some other way across.". Instead of an actor going east from the west edge when the crystal bridge is off-stage and the actor is not flying: if the player can see the actor, say "It doesn't seem any easier to cross from this side." The West Edge of the Fissure is a cave in Colossal Cave. "The cave is cut abruptly by a jagged fissure, creating a wide gap through the rocky floor. The mists swirl around it almost as though alive, drifting this way and that with the air currents. You can vaguely make out some dark shapes on the other side, but the fissure is too wide to jump and looks quite dangerous to climb." A crystal bridge is a backdrop. It is not scenery. "A crystal bridge now spans the fissure." Understand "beautiful" as the bridge. The description of the bridge is "It looks like it shouldn't even be able to support its own weight, but it's solid enough to stand on." Instead of entering the bridge: if the location is the West Edge, try going east; otherwise try going west. The Damp Cavern is a cave in Colossal Cave. "The vast cavern tapers off, the stone ceiling descending to leave only a foot of space above the floor. The air is clearer and the mist more diffuse, condensing on the walls and floor in a thin film of droplets." Instead of going nowhere in the Damp Cavern: say "The ceiling is too low to fit underneath; you might get trapped." Inverse effect of casting vezza at the Damp Cavern: say "An Enchanter affixes a scrap of paper to the wall, then mutters something and disappears." The East Edge of the Fissure is west of the Misty Cavern. The West Edge of the Fissure is east of the Damp Cavern. The East Edge is east of the West Edge. Section B - The Snake Snake-puzzle is a puzzling scene with puzzle description "finding a way past the snake". Snake-puzzle begins when the snake is seen. Snake-puzzle ends when the Hall of the Mountain King is visited or the snake is off-stage. When snake-puzzle ends: award points for "avoiding a snake". A black snake is an animal in the Misty Cavern. "An angry-looking black snake is slithering across the rocks in front of the [if the location of the snake is the Misty Cavern]down[else]up[end if]ward passage." Understand "angry" or "angry-looking" or "angry looking" as the snake. The description of the snake is "It's almost four feet long, with thin white stripes across its back." First effect of casting a spell at the snake when hard mode is true: say "Your [i][spell understood][/i] spell seems to dissipate without effect." Effect of casting vaxum at the snake: if the snake is not affected by nitfol: say "The snake doesn't seem particularly affected."; otherwise: say "The snake pauses for a moment, then looks at you inquisitively, tasting the air. It nods slightly.[p]The spell doesn't feel quite right, though. It doesn't seem designed to work on animals, and you suspect it might wear off before too long."; affect the snake with vaxum for 5 turns. Instead of going from the Misty Cavern to the Hall of the Mountain King when the snake is on-stage: if the snake is in the Hall of the Mountain King: try the snake going south; if the snake is not in the Misty Cavern, continue the action; abide by the snake passage rule; continue the action. Instead of an actor going from the Hall of the Mountain King to the Misty Cavern when the snake is on-stage: if the snake is in the Misty Cavern: try the snake going north; if the snake is not in the Hall of the Mountain King, continue the action; abide by the snake passage rule; continue the action. This is the snake passage rule: if the snake is affected by vaxum and the person asked is the player: say "The snake backs off to let you pass.[if the snake is affected by nitfol] 'Pass, friend.'"; continue the action; if the player can see the person asked, say "The snake rears up as [you or the person asked] [approach][if the snake is affected by nitfol]. 'Don't come any closer!' it hisses angrily[else], and [she] [back] off. It looks dangerous[end if]."; take full time; stop the action. Before an actor doing anything when the snake must be touched (this is the don't touch the snake rule): if the player can see the actor, say "The snake rears up as [you or the actor] [try] to touch it, and [they] [step] back hurriedly."; stop the action. Every turn when the bird can touch the snake (this is the bird attacks the snake rule): if the player can see the bird, say "The bird, seeing the black snake, dives toward it angrily in an astounding flurry of wingbeats! The snake retreats, slithering back between the rocks and out of sight."; remove the snake from play. The bird attacks the snake rule is listed before the bird activity rule in the every turn rulebook. Section B2 - Snake Conversation Greeting response of the snake when the snake is affected by vaxum: say "'Hello, friend.'" Greeting response of the snake when the snake is affected by nitfol: say "The snake hisses angrily. 'Person, stay away.'" Farewell response of the snake when the snake is affected by vaxum: say "'Farewell, friend.'" Farewell response of the snake when the snake is affected by nitfol: say "The snake hisses again. 'Good, away, away.'" Persuasion for asking the snake to try doing something when the snake is affected by vaxum: say "'Sorry, friend, supposed to stay, stay here, master told me, stay here, stop people from coming through.'"; persuasion fails. First response of the snake when the snake is not affected by vaxum: say "'Away, away, from here!'" Understand "master" or "mistress" or "shadow" or "figure" or "waving" or "wave" or "instruction/instructions" or "order" or "stay" or "stay here" as "[master]". Response of the snake when asked about "the/his/her/its/-- [master]": say "'Master, dark [if the player is feminine]wo[else if the player is gender-neutral]hu[end if]man, all in black, all dark, friend, says stay here, looking for something, needs to search.'" Response of the snake when asked about "looking": say "'Looking, looking for something, something, further on.'" Section C - Fissure Puzzle Instead of throwing something at west from the East Edge: say "That might not be a good idea. The rocks here are uneven, and [the noun] might roll into the fissure[if the noun is a palantir]. Even if you could get it back with [i]blorple[/i], it might fall into a small crevice or break against a rock[end if]." Instead of facing west in the East Edge when the bridge is absent: say "You can barely see the other side through the mist." Instead of facing east in the West Edge when the bridge is absent: say "You can barely see your starting point through all the mist." Definition: a room is fissure-adjacent if it is the West Edge or it is the East Edge. Effect of casting golgatem at a fissure-adjacent room when the crystal bridge is off-stage: say "A tracery of blue-white lines materializes above the fissure, growing and thickening until a beautiful crystal bridge hangs apparently unsupported above the fissure."; now the crystal bridge is in all fissure-adjacent rooms; Inverse effect of casting golgatem at a fissure-adjacent room when the crystal bridge is on-stage: say "The bridge dissolves into nothingness."; now the crystal bridge is nowhere. Instead of waving the rod when the location is fissure-adjacent: say "You wave the rod...and nothing happens. [one of]You feel vaguely disappointed[or]You aren't sure what you expected, maybe a [i]golgatem[/i] spell or something? Something magical[or]Oh well[stopping]."; take full time. A rusty spike is fixed in place in the Damp Cavern. "A rusty spike has been driven into the rock[if the damp paper is fixed in place], pinning [a damp paper] to the wall[end if]." The description of the rusty spike is "A short length of iron, pounded into a small gap in the rock." A damp paper is fixed in place in the Damp Cavern. The description of the paper is "A short note has been scrawled across the paper:[p][i]To the next expedition: we tried the [/i]golgatem[i] spell here, and the mist is sufficient to create a bridge. Had to leave off before variations could be tested. TODO. - A. Schultz[/i][p]There also seems to be something printed on the back.". Understand "note" as the paper. The paper is light. The paper-back is part of the paper. The printed name of the paper-back is "back of the paper". Understand "back" or "of [the paper]" or "printed" as the paper-back. Should the game suggest doing something with the paper-back: it is a bad suggestion. The paper-back is privately-named. Setting action variables for doing anything except examining when the noun is the paper-back: now the noun is the paper. Setting action variables for doing anything when the second noun is the paper-back: now the second noun is the paper. Instead of examining the paper-back: try turning the paper. Instead of pulling the fixed in place paper: try taking the paper. Before taking the paper when the paper is fixed in place: say "You rip the paper free of the spike."; now the paper is portable. Instead of turning or searching or switching on or switching off the paper: take full time; set the mirror password; say "You turn the paper over to look at the notice on the back.[p][tt]Note - the activation process for the scrying mirrors in the library will soon require extra security. In addition to saying '[mirror password]' you now need to show proper identification as well. Other mirrors will be phased in as time permits. - Thraxivar[/tt][p]". The mirror password is initially "". To set the mirror password: if the mirror password is not "", stop; [Only set it once.] repeat with N running from 1 to 3: let X be the substituted form of "[a password component]"; now the mirror password is the substituted form of "[mirror password][X]"; To decide what text is a password component: let N be a random number between 1 and 8; if N is: -- 1: decide on "foo"; -- 2: decide on "thu"; -- 3: decide on "zal"; -- 4: decide on "bar"; -- 5: decide on "que"; -- 6: decide on "rax"; -- 7: decide on "ten"; -- 8: decide on "sho"; decide on "ERR". Chapter 3 - Y2 Environs The Hall of the Mountain King is a cave in Colossal Cave. "This chamber is wide and very round, almost perfectly so, though the stone around you is rough and natural. After crawling through the low passages and tunnels of the area it is a relief to be able to stand up straight without fear of scraping the ceiling above. A message etched into one wall proclaims this to be the 'Hall of the Mountain King'. Passages lead off in all directions, the most prominent being above you and to the north." Instead of going nowhere from the Hall of the Mountain King: say "You don't see any purpose in going that way[--]you might be able to squeeze through, but it would be uncomfortable and most likely pointless." Effect of casting vezza at the Hall of the Mountain King: say "Someone is exploring, looking into each passage in turn before moving to the north." Inverse effect of casting vezza at the Hall of the Mountain King: say "A shadowy figure whispers to a black snake, which slithers down to hide among the stones." The Hall of the Mountain King is below the Misty Cavern. Instead of an actor going north from the Misty Cavern: try the actor going down. Instead of an actor going east from the Hall of the Mountain King: try the actor going up. The Low Passage is a cave in Colossal Cave. "The passage narrows again to a cramped and uncomfortable squeeze, winding between the broken stones and cobbles. A thin crack runs north and south along the floor of the passage, nearly large enough for a person to fit through." Instead of going down in the Low Passage: say "[i]Nearly[/i] large enough. You might fit, but it would be difficult and you might not be able to come back up." The thin crack in the floor is scenery in the Low Passage. Instead of entering the thin crack: try going down. Instead of inserting something into the thin crack: say "You would probably never see it again if you did that." [TODO: potential point for expansion: drop a palantir here and use BLORPLE to get through?] The Low Passage is north of the Hall of the Mountain King. Y2 is a cave in Colossal Cave. "Here the north-south tunnel opens slightly as it bends to the south and west. There may once have been a passage to the east as well, but the ceiling has fallen in, leaving only a rough wall of shattered stone. The sooty letters [']Y2['] are burned onto a large rock in the center of the room, perhaps as a survey mark of some sort, above a compass rose indicating which direction is which." Instead of going east from Y2: say "You might be able to climb the rock wall if your life depended on it, but as far as you can tell it does not." A wall of broken rock is scenery in Y2. The description of the wall of rock is "It looks quite dangerous." Instead of entering the wall of rock, try going east. A large rock is scenery in Y2. Understand "Y2" or "soot" or "sooty" or "mark" or "survey" or "survey point" or "compass" or "rose" as the large rock. The description is "The characters [']Y2['] are inscribed on the rock in dark soot. Smaller marks beneath it indicate true north, east, and up for orientation." It is ropable. Should the game choose when comparing the large rock against the wall of broken rock: it is a good choice. After looking in Y2: if a random chance of 1 in 4 succeeds, say "A hollow voice says 'plugh'. That was odd." Understand "plugh" as a mistake ("You try to imitate the word, but you can't quite get your voice to sound hollow enough.") when the location is Y2. Y2 is north of the Low Passage. There is a cave in Colossal Cave called the Overlook. "The tunnel ends suddenly here at a rough hole in the stone. You are looking out over a tremendous pit, stretching up and down far out of sight. A similar window opens far across the pit on the other side, [if the opposite window is affected by frotz]through which you can barely make out the beginning of another passage[else]but your light does not shine far enough to see beyond it[end if]. The mist is thicker down in the pit, and far below you can hear the faint sound of water rushing through the chasm." The opposite window is scenery in the Overlook. Understand "far" and "similar" as the opposite window. [TODO: potential point for expansion: fooble-throw something across or fly?] The description of the opposite window is "You can barely see anything through it." Instead of an actor searching the opposite window: try the actor examining the window. Instead of throwing something at the opposite window: say "You doubt [the noun] would reach the other passage; more likely [they] would fall into the pit and be lost[if the noun is a palantir]. Even if you could potentially get it back with [i]blorple[/i], it might not survive the fall[end if]." Effect of casting frotz at the opposite window: say "The stone begins to glow faintly, but from here you can barely see a difference." Empowered effect of casting frotz at the opposite window: say "The stone begins to glow, vaguely illuminating another passage far across the chasm."; now the opposite window is affected by frotz. Effect of casting blorple at the opposite window: say "You perform the spell, but the window isn't an actual object so much as an empty space, and as such there isn't a good target for [i]blorple[/i] to explore." Effect of casting vezza at the Overlook: say "A rope hangs from a heavy block of metal, trailing down into the pit. A shadow seems to watch from the other side." Inverse effect of casting vezza at the Overlook: say "The Adventurer looks down into the chasm, searching for a way to climb in." The shadow flag is initially false. Every turn when (the location is the Overlook or the location is the Chasm) and the shadow flag is false: if a random chance of 1 in 5 succeeds: say "You suddenly notice a flicker of movement across the pit. For just a moment a shadowy figure seemed to be standing in the opposite window, looking [if the location is the Overlook]across[else]down[end if] at you...then it was gone."; now the shadow flag is true. The Overlook is west of Y2. Chapter 4 - The Chasm The Chasm is a cave in Colossal Cave. The description of the Chasm is "[if the current viewpoint is the inset mirror]You can see the opposite wall of the Chasm, and not much else[else if the current viewpoint is securely anchored or the current viewpoint is enclosed by a securely anchored person]You are hanging precariously from a rope anchored many yards above you. Your light does not reach the ceiling nor the floor, but in the opposite wall you can see a strange mirror ingeniously set into the living stone of the wall[else if the player is flying]You are floating in midair in the middle of a deep chasm, too tall and deep for your light to illuminate[otherwise]You are hurtling downward at a tremendous speed, the wind whipping around you[end if]." It is below the Overlook. Instead of an actor going inside from the Overlook: try the actor going down. [It's only fair to allow IN here.] Instead of an actor throwing something at inside when the location of the actor is the Overlook: try the actor throwing the noun at down. Effect of casting vezza at the Chasm: say "There is a whirl of downward motion, and then nothing." Inverse effect of casting vezza at the Chasm: say "The mirror set into the wall shines for a moment, then goes dark." Rule for distantly describing the Chasm: say "The pit is deeper than your light can shine." The Chasm can be scary or less-scary. The Chasm is scary. [The player doesn't know it's safe until the Adventurer explores.] The scenery-chasm is privately-named scenery in the Overlook. Understand "chasm" as the scenery-chasm. The printed name of the scenery-chasm is "chasm". Instead of an actor examining or searching the scenery-chasm: try the actor facing down. Section A - Going Down Chasm-scary-puzzle is a puzzling scene with puzzle description "discovering what's in the chasm". Chasm-scary-puzzle begins when the Overlook is visited. Chasm-scary-puzzle ends when the chasm is less-scary. Chasm-climb-puzzle is a puzzling scene with puzzle description "descending into the chasm". Chasm-climb-puzzle begins when chasm-scary-puzzle ends. Chasm-climb-puzzle ends when the location is the chasm. Chasm-escape-puzzle is a recurring puzzling scene with puzzle description "getting out of the chasm". Chasm-escape-puzzle begins when the location is the chasm and the player is not securely anchored. Chasm-escape-puzzle ends when the location is not the chasm and the location is not regionally in the Ruined Hall. First instead of going to the Chasm when the player is flying and the chasm-escape-puzzle has not happened: say "You drift out over the edge and look downward. The chasm extends downward far out of sight into the darkness; if you started going down and your [i]izyuk[/i] spell wore off, you would have no way back up.[p]You return to the ledge."; take full time. Instead of going to the scary Chasm, say "You can't bring yourself to even go near the edge. There's no telling what is down there, and until you know it's safe you don't want to try it." Instead of going to the less-scary Chasm when the player is not securely anchored, say "That seems like a very bad idea. You can't even see the bottom of the pit from here." After going to the Chasm: award points for "climbing into the chasm"; continue the action. After an actor throwing something at to the Chasm: if the player can see the actor, say "[The noun] [fall] away into the chasm[if the noun is tied up and the noun is not securely anchored], pulling [the list of secondary things tied to the noun] with [them][end if]."; if the noun is tied up and the noun is not securely anchored: repeat with the item running through secondary things tied to the noun: remove the item from play; remove the noun from play. Instead of an actor inserting something into the Chasm: try the actor throwing the noun at down. Before the player going to the Chasm when the player is securely anchored and the Chasm is not scary and the Adventurer is in the Overlook: say "'Just pull on the rope when you're done, and I'll haul you back up,' [the Adventurer] offers." Instead of tying the climbing harness to a rope: now the noun is the Adventurer; continue the action. The harness is ropable. After tying the Adventurer to a rope: say "You run [the second noun] around [the Adventurer]'s back, and [she] ties it through the metal loops on [her] clothing." Instead of tying the suspicious Adventurer to a rope: say "[regarding the Adventurer][He] might not take kindly to that." Instead of pulling the Adventurer when the Adventurer is in the Chasm and the player is in Overlook: say "[regarding the Adventurer][She] manages to grab on to the ledge, and with some effort pulls [herself] back up."; move the Adventurer to the Overlook; take full time. Instead of pulling a rope when the noun is tied to the player and the player is securely anchored and the player is in the Chasm and the Adventurer is in Overlook: say "You give a sharp tug on the rope and [the Adventurer] begins to pull you back up. Soon you are back at the top of the cliff."; move the player to the Overlook; take full time. Every turn when something chasm-droppable is in the Chasm: while there is a chasm-droppable thing (called the weight) in the chasm: [Not using a repeat-loop because I'm removing things from play within the loop.] if the weight is the Adventurer: say "[The Adventurer] screams as [she] suddenly finds [herself] unsupported! [She] grabs at the rock wall, trying frantically to avoid falling, but loses [her] grip and plummets into the darkness.[br][alert]*** The Adventurer has died *** [/alert][p]"; now every palantir enclosed by the Adventurer is nowhere; award the "You Monster" achievement; otherwise: say "Unsupported, [the weight] falls away into the darkness."; repeat with the item running through things tied to the weight: remove the item from play. Every turn when the Adventurer is in the Chasm and the Adventurer is not securely anchored and the Adventurer was securely anchored and the Adventurer is flying: say "[The Adventurer] panics for a moment before realizing that [she] isn't falling. [He] doesn't seem to have much control of [her] flight, but isn't yet falling at least." Instead of the Adventurer going up from the Chasm when the Adventurer is not securely anchored and the Adventurer is flying: if the player can see the Adventurer, say "[regarding the Adventurer][She] pushes off one of the walls and manages to get a little bit of height, but then bobs downward again. [He] doesn't seem to have much control of [her] flight."; take full time; record the Adventurer's attempt as successful. Definition: something is chasm-droppable: if it is securely anchored, no; if it is tied to the player, no; if it is flying, no; yes. The preparation stage is initially zero. [This tracks what the player is supposed to be doing.] Before the Adventurer going to the Chasm (this is the chasm preparation rule): now the preparation stage is zero; record the Adventurer's attempt as successful; [Don't print anything else here.] if the Adventurer is flying: say "[The Adventurer] is still clinging to the wall. 'Not[--]not like this, sorry. The spell is good and all. But how do I know it wouldn't fizzle out partway down?'"; stop the action; if the location is not the Overlook: [The player is scrying.] now the preparation stage is 1; say "'I'd appreciate having another person here, physically I mean, just in case.'"; stop the action; if the Adventurer is not tied up: now the preparation stage is 2; say "[The Adventurer] peers into the pit. 'I'd need some sort of rope to climb down.' "; if the Adventurer can touch a rope (called the cord): say "[She] runs [her] hands over [the cord]. 'I think this one will work. Would you mind securing it to my harness?'"; try the Adventurer giving the cord to the player; stop the action; if the Adventurer is not securely anchored and the Adventurer cannot touch a ropable anchored thing: now the preparation stage is 3; say "[The Adventurer] looks around. 'We would need something to anchor the rope to. No offense, but I don't trust your strength for this.'"; stop the action; if the Adventurer is not securely anchored and the Adventurer can touch a ropable anchored thing (called the anchor): now the preparation stage is 4; say "[The Adventurer] walks over to [the anchor] and pushes on it. It refuses to budge. 'This looks strong enough. Just tie [the random rope which is tied to the adventurer] to it.'"; stop the action; if the Adventurer is securely anchored: let the weight be a random inanimate nonrope thing which is tied to the Adventurer; if the location of the weight is not the Overlook: say "[The Adventurer] pulls on [the random rope which is tied to the Adventurer]. 'I don't think this is quite long enough, not when it's anchored to [the weight] in [the location of the weight]. We'll need something closer to the chasm.'"; stop the action; now the preparation stage is zero; if the Adventurer carries something Chasm-awkward: say "'I'll leave these here for now,' [regarding the Adventurer][he] says, placing [the list of Chasm-awkward things carried by the Adventurer] next to [the weight]."; repeat with the hindrance running through Chasm-awkward things carried by the Adventurer: silently try the Adventurer dropping the hindrance; say "'Okay, let's hope this works.' [The Adventurer] takes a deep breath and steps out to the edge of the chasm, holding on to [the random rope which is tied to the Adventurer]. [regarding the Adventurer][She] turns around and puts [her] hands on the edge of the rock, then starts to climb carefully down the rock face."; continue the action. [The actors can't move while tied rule does nothing when the actor is the Adventurer and the room gone to is the Chasm. The actors can't pull tied things rule does nothing when the actor is the Adventurer and the room gone to is the Chasm.] Definition: something is Chasm-awkward: if it is the lantern, no; if it is the map, no; if it is the knife, no; yes. Understand "pull [something] back/-- up" as pulling. Chasm-adventurer-puzzle is a recurring puzzling scene with puzzle description "[if the preparation stage is 1]helping the Adventurer descend to the chasm[else if the preparation stage is 2]finding a rope for the Adventurer[else if the preparation stage is 3]finding an anchor for the rope[else]anchoring the rope[end if]". Chasm-adventurer-puzzle begins when the preparation stage is not zero. Chasm-adventurer-puzzle ends when the preparation stage is zero. Report the Adventurer going to the scary Chasm: say "After what feels like an eternity, you hear [regarding the Adventurer][her] voice from below you. 'I'm at the bottom of the rope now! There's something strange in the wall here; you might want to look at it. It doesn't seem natural.'"; now the Chasm is not scary; rule succeeds. Every turn when the Adventurer is in the Chasm for more than one turn: say "You hear [the Adventurer]'s voice from the pit. '[if the Adventurer is flying]Could you pull me back up now? The spell is nice, but I'm having...a bit of difficulty...maneuvering[else][one of]Would you mind pulling me back up now? I can't get a good grip here[or]Could you help me here? I can't climb back up[or]Please pull me back up[then at random][end if].'" After the bird going from the Chasm to the Overlook when the player can see the Overlook and the bird is affected by nitfol: say "The bird flutters back up from the abyss. 'I looked. There wasn't anything. Nothing tasty. Just rock.'" Section B - Going Up Every turn when the location is the Chasm and the player is not securely anchored and the player was securely anchored: say "You have a sudden feeling of impending doom."; try looking. Every turn when the location is the Chasm and the player is securely anchored and the player was not securely anchored: say "You are swung around sharply as the rope slows your descent."; try looking. Instead of throwing something at from the Chasm to the Overlook: take full time; say "You throw [the noun] upwards as hard as you can, but it arcs back and falls past you into the pit."; if the noun is tied up or the noun is a rope: say "You manage to catch the rope and pull it back."; otherwise: remove the noun from play. Instead of going in the Chasm: if the player is flying, make no decision; if the player is securely anchored: if the noun is up: try pulling a random rope tied to the player instead; otherwise if the noun is down: say "You're at the end of your rope." instead; otherwise: say "You don't have much range of motion at the moment." instead; otherwise: [The player is falling.] if the noun is down: say "You have little choice."; otherwise: say "Down seems more likely.". Instead of going down in the Chasm when the player is flying: say "You drift downward slightly at a controlled pace." Reset for izyuk when the location of the currently reset object is the chasm: if the player can see the currently reset object, say "Gravity takes hold of [the currently reset object] once again." After casting blorb at something when the location is the Chasm and the location of the strongbox is the Chasm: say "For a moment the strongbox seems to hover in midair. Then gravity takes hold, and it plummets out of sight into the pit."; remove the strongbox from play; make no decision. The falling timer is initially zero. Every turn when the player is in the Chasm and the player is not securely anchored and the player is not flying (this is the falling into the chasm rule): increment the falling timer; remove the inset mirror from play; if the falling timer is 5: say "Suddenly you can see the stone at the bottom of the chasm below you. You barely have time to register that fact before it collides with your body. The results are, of course, fatal."; record "Falling into a chasm" as an ending; end the story saying "You have died". After casting izyuk at the player when the inset mirror is off-stage: say "You drift back up to the mirror."; move the inset mirror to the Chasm; continue the action. After going when the falling timer is greater than zero: now the falling timer is zero; move the inset mirror to the Chasm; continue the action. After an actor dropping something when the location of the actor is the Chasm: if the noun is securely anchored, continue the action; if the noun is tied to the actor, continue the action; if the noun is tied to something enclosed by the actor, continue the action; if the player can see the noun, say "[The noun] [fall], dwindling away below [you or the actor], never to be seen again."; remove the noun from play. Chapter 5 - The Ruined Hall Mirror-puzzle is a puzzling scene with puzzle description "activating the mirror in the chasm". Mirror-puzzle begins when the inset mirror is known. Mirror-puzzle ends when the inset mirror is active. Return-puzzle is a puzzling scene with puzzle description "getting back to the library". Return-puzzle begins when the player is in the Ruined Hall. Return-puzzle ends when the player is in the Library. When return-puzzle ends: award points for "getting out of the caves". The inset mirror is a scrying mirror in the Chasm. It is scenery. Understand "strange" or "set" as the inset mirror. Instead of answering the inset mirror that a topic when the inset mirror is inactive: take full time; let T be the substituted form of "[topic understood]"; replace the text "[']" in T with ""; replace the text "'" in T with ""; if T is the mirror password: say "As you say the word '[topic understood]', there is a flash of light and the surface of the mirror ripples and distorts for a moment."; activate the inset mirror; award points for "activating a hidden mirror"; otherwise: say "You say '[topic understood]', but nothing happens." After casting blorple at the inset mirror: mark checkpoint hall as passed; continue the action. The Ruined Hall is a region in Colossal Cave. There is a cave called the South End of Ruined Hall. "This must once have been the hall of some wizard, hollowed out of the rock by magic. The ceiling is a great [if the north end is impassible]half-[end if]dome, arching inward and downward to a single enormous column in the center. The stone is smooth and seamless, the craftsmanship perfect.[p]But time has not been kind; the western half of the ceiling has begun to collapse, filling that side of the room with debris. [if the north end is impassible]The area to the north has caved in entirely in a wreckage of shattered stone. [end if]Other than the cracked mirror behind you no trace remains of the mage's work." There is a cave called the North End of Ruined Hall. "You come around to the other side of the pillar, to what may once have been a small study of sorts. The remains of the furniture lie smashed among the rubble." The north end is north of the south end. The north end and the south end are in the ruined hall. A simple wooden box is a container in the North End. "A simple wooden box lies partially buried in the debris." It is open, openable, unlocked, and lockable. The description of the wooden box is "A simple box of fitted wood." Empowered effect of casting vezza at a room in the Ruined Hall: say "But in the future there is only darkness." Effect of casting vezza at a room in the Ruined Hall: if the north end is passable, say "You see rocks falling all around you as the ceiling finally collapses!"; otherwise say "The entire area is filled with rubble." Inverse effect of casting vezza at a room in the Ruined Hall: say "You see an aged wizard placing a book into the base of the column. He waves his hand and mutters an incantation, and the stone flows and seals around it." Instead of going west in the ruined hall: say "That half of the room is entirely impassible." Instead of going east in the ruined hall: say "The collapse of the ceiling has turned the circular hall into more of a north-south passage." A cracked mirror is a scrying mirror in the South End. It is scenery. The cracked mirror is mystically linked to the inset mirror. Some smashed furniture is scenery in the North End. Understand "remains" or "of furniture" as the furniture. The description of the furniture is "Broken slivers of wood and glass." Understand "slivers" or "wood" or "of wood" or "glass" or "of glass" as the furniture. The central pillar is a backdrop. It is in the North End and the South End. The description of the pillar is "A smooth pillar of stone, widening at the top into the arch of the ceiling." Understand "single" and "enormous" and "column" and "smooth" as the central pillar. Instead of tying the pillar to something: if the location is the South End: say "(going around to the north side)[ccb]"; try going north; now the noun is the sturdy box; continue the action. A sturdy box is fixed in place in the North End. "Embedded into the base of the pillar is a stone box of some sort, held in place by the weight of the rock above it." The description of the sturdy box is "It looks as though the stone is beginning to fail under compressive forces. This is rare, and takes an enormous amount of pressure, which is why arches are generally built as inverted catenaries[--]a catenary has only tensile forces, an inverted catenary only compressive.[p](Your professor had insisted that an elective class on the physics of architecture would be useful for an Enchanter someday...)". It is ropable and rope-pullable. Understand "stone" as the sturdy box. Should the game choose when comparing the sturdy box against the aquarium: it is a good choice. Effect of casting rezrov at the sturdy box: say "The box shifts, but is unable to open with the weight of the ceiling pressing down on it." Box-puzzle is a puzzling scene with puzzle description "opening the sturdy box in the Ruined Hall". Box-puzzle begins when the sturdy box is known. Box-puzzle ends when the remains of the old book are known. The remains of the old book are a magical thing. Understand "ancient" and "binding" as the remains. "The remains of an ancient book lie here, somewhat the worse for being pulled from the cave-in. The binding seems like it would disintegrate if you so much as looked closely at it." Understand "look closely at [something]" as examining. [Just for the joke.] Instead of examining the remains when the remains are on-stage: say "You so much as look closely at it, and the binding disintegrates. Most of the pages are beyond repair, but one still seems legible."; disintegrate the book; take full time. Instead of an actor doing something to the remains when the remains are on-stage: if the player can see the actor, say "The binding disintegrates, the pages fluttering in all directions. But one still seems legible."; disintegrate the book; take full time. After casting lesoch at in the presence of the remains: say "The book doesn't seem to have survived the wind."; disintegrate the book. After casting a spell at the remains: if the spell understood is blorb, make no decision; [That spell protects it.] say "The tiny air movement caused by your spell is still too much for the book, however. The binding disintegrates, leaving only bits of paper."; disintegrate the book. To disintegrate the book: move the tattered page to the holder of the remains; now the remembered location of the remains is nothing; remove the remains from play. A tattered page is a spell scroll. The inscribed spell of the tattered page is jindak. Understand "pages" as the plural of the tattered page. Before pulling the sturdy box: if the player is in the location of the sturdy box or the adventurer is in the location of the sturdy box: say "You could probably dislodge it, but the north side of the ceiling looks dangerously unsteady. It would certainly collapse if you did."; stop the action; otherwise: say "You pull on [the random rope which is tied to the box], and hear the stone groan slightly under the strain. Suddenly something gives way, and the box comes loose, shattering on the stone floor in front of you. The arch of the ceiling to the north, now unsupported, begins to crumble inward on itself[if the box is examined][--]it was not built as a true inverted catenary, and the tensile strength of masonry tends to degrade over time[--][otherwise], [end if]and you drop to the floor and attempt to shield your head.[p]When the dust has cleared you cautiously rise to your feet. The area to the north is now completely blocked by the cave-in."; now everything in the north end is tied to nothing; if there is a person in the north end: say "[The list of people in the north end] probably didn't survive."; now every palantir enclosed by the north end is nowhere; now everything in the north end is nowhere; move the remains to the location; now the north end is impassible; award points for "causing a cave-in"; try looking; stop the action. Report pulling a rope when the location is the South End and the North End was passable and the North End is impassible: rule succeeds. [Skip the 'nothing obvious happens' in this one case--the rope is no longer tied at the end, so it would normally print a boring default message.] Instead of taking or opening the sturdy box: say "You could probably pull it out, but the resulting cave-in would certainly be hazardous to your well-being." Before someone taking the sturdy box: if the actor is the Adventurer and the player can see the Adventurer, give a cave-in response; stop the action. Before someone pulling the sturdy box: if the actor is the Adventurer and the player can see the Adventurer, give a cave-in response; stop the action. Before someone pulling something which is tied to the sturdy box: if the actor is the Adventurer and the player can see the Adventurer, give a cave-in response; stop the action. To give a cave-in response: say "'Sorry, but I'm not willing to risk a cave-in.'"; record the Adventurer's attempt as successful. Chapter 6 - Conversing with the Adventurer Section A - Blocking Conversation while Obedient The Adventurer-blocked-node is a closed convnode.[* This node blocks all conversation with the Adventurer until serage wears off.] Default response for the Adventurer-blocked-node: say adventurer-blocked. Greeting response for the Adventurer when the node of the Adventurer is the Adventurer-blocked-node and the greeting type is explicit: say adventurer-blocked. Instead of listing suggested topics when the Adventurer is the current interlocutor and the node of the Adventurer is the Adventurer-blocked-node: do nothing. To say adventurer-blocked: if the Adventurer is obedient, say "[The Adventurer] doesn't respond in any way[first time]. Perhaps the [i]serage[/i] spell is preventing [her] from responding to anything other than commands[only]."; if the Adventurer is scared, say "[The Adventurer] only stares at you in terror."; if the Adventurer is suspicious, say "[regarding the Adventurer][He] glares at you and does not respond."; if the Adventurer is neutral, say "The adventurer looks around for a moment, but doesn't seem to be able to hear you very well.". The node of the Adventurer is the Adventurer-blocked-node. Implicit greeting response for the obedient Adventurer: say "[The Adventurer] turns to listen to you." [Hack to deal with short-form spellcasting commands] Response for the Adventurer-blocked-node when answering someone that a topic: [ if the topic understood includes "[spell]", say "[The Adventurer] doesn't seem like much of a spellcaster."; otherwise say adventurer-blocked. ] say adventurer-blocked. [An Inform bug prevents this from working correctly.] Section B - Generic Conversation Greeting response for the friendly Adventurer: say "'Oh, hello, [player's forename],' [regarding the Adventurer][he] says brightly." Bedquilt is a subject. Understand "cave" or "caves" as Bedquilt. The ask-suggestions of the Adventurer are { self-suggestion }. After the Adventurer taking inventory for the first time: add the lantern to the ask-suggestions of the Adventurer, if absent; continue the action. After examining the map for the first time: add the map to the ask-suggestions of the Adventurer, if absent; continue the action. Response of the Adventurer when asked-or-told about the lantern: talk about the lantern. Response of the Adventurer when asked-or-told about "frotz": talk about the lantern. Response of the Adventurer when asked-or-told about "his/her/-- distaste for magic": talk about the lantern. Frotz-suggestion is a misc-suggestion. The printed name is "inquire more about [regarding the Adventurer][her] distaste for magic". To talk about the lantern: say "[one of]'Why do you have that lantern?' you ask. 'A [i]frotz[/i] spell would be much more manageable.'[p][The Adventurer] looks off-put. 'Not all of us can use magic to solve all our problems.'[or]'Surely a local Enchanter could have cast it for you,' you continue. 'It's a common spell.'[p]'Common for a magic-user, perhaps, but I'd be charged fifty zorkmids per casting. Carbide is cheaper.'[p]Fifty zorkmids? The spell costs nothing to cast from a spell book, and even a single-use scroll should be only a zorkmid or two.[or]'I could cast it for you,' you offer. But [the Adventurer] shakes [her] head. 'This lantern is reliable, and no offense, but I don't know if I can trust this [i]frotz[/i] spell. I don't want it to end suddenly in the middle of an exploration.'[or]'Sorry, I'm not interested.'[stopping][add frotz-suggestion other suggestion]". [Instead of casting frotz at when the noun is the Adventurer or the noun is carried by the Adventurer: say "[The Adventurer] moves suddenly, disrupting your spell."] Response of the Adventurer when asked about the Adventurer: say "[remove self-suggestion ask suggestion]'What were you doing before I summoned you?' you ask.[p]'I'm an Adventurer. I was exploring a cave system near Bedquilt [make Bedquilt known]which is rumored to contain fantastic treasure[add treasure-suggestion other suggestion].'". Treasure-suggestion is a misc-suggestion. The printed name is "try to find out more about this treasure". Response of the Adventurer when asked about Bedquilt: say "[remove Bedquilt ask suggestion]'Where is [']Bedquilt[']?'[p]'In the southlands of Mithicus,' [regarding the Adventurer][she] replies. 'I don't know where that would be relative to here.'" Response of the Adventurer when asked about "the/this/-- treasure": say "[remove treasure-suggestion other suggestion]'What sort of treasure do you mean?' you ask, trying not to sound too interested.[p]'Others have found fortunes in treasure and gold, though it is rumored that some who enter are never seen again.'" Response of the Adventurer when asked about the map: if the Adventurer cannot touch the map, say "You ask about the map, and [the Adventurer] looks slightly disheartened. 'Do you happen to know where it is? I seem to have lost it at some point, and navigation will be difficult without it.'"; otherwise say "[first time]'What does the map indicate? I'm afraid I can't understand it.'[p]'I've been trying to make a map of this general area,' [regarding the Adventurer][she] explains.[p][only][show map]". Response of the Adventurer when asked for the map: say "[regarding the Adventurer][He] shakes [her] head apologetically. 'Sorry, I need this to find my way back.'" Persuasion for asking the friendly Adventurer to try dropping the map: say "[regarding the Adventurer][He] shakes [her] head apologetically. 'Sorry, I need this to find my way back.'" Section C - Plot-Relevant Conversation Request-assistance is a misc-suggestion with printed name "ask [regarding the adventurer][him] for help with your mission". The other-suggestions of the Adventurer are { request-assistance }. Understand "help/assistance/aid" or "help with your/my mission" as "[assistance]". Response of the Adventurer when asked for "[assistance]": respond to a request for assistance. Response of the Adventurer when asked about "[assistance]": respond to a request for assistance. To respond to a request for assistance: remove request-assistance from the other-suggestions of the Adventurer; say "[one of]'Hm...' [regarding the Adventurer][He] looks thoughtful for a moment. 'Well, I don't know much about magic. But there are stories of ancient spells in this cave. I haven't come across any yet, though there's a place I'm still trying to explore. If you could help me out with the exploration there, perhaps you'd find something there?'[or]'I haven't found anything yet. But I still haven't made much progress at the chasm; you might find something there?'[stopping]"; setnode request-help-node. Request-help-node is a closed convnode. The other-suggestions are { yes-no-suggestion }. Response for request-help-node when saying yes: say "[regarding the Adventurer][She] gestures for you to follow. 'Let me show you where it is, and what the difficulty has been.'"; if there is a route from the location of the Adventurer to the Overlook: hide the command prompt with implicit command "follow adventurer"; try the Adventurer moving toward the Overlook; setnode explain-chasm-node. Response for request-help-node when saying no: say "[regarding the Adventurer][He] shrugs. 'Other than that, I don't know if I can really help you. But I'll tell you if I find anything.'"; setnode null-node; add request-assistance to the other-suggestions of the Adventurer. Explain-chasm-node is an open convnode. Chasm-prepare-node is an open convnode. Every turn when the node of the Adventurer is the explain-chasm-node and the location of the Adventurer is the location: if the location is the Overlook: show the command prompt; say "[The Adventurer] stops and gestures toward the chasm. 'I feel that there's something interesting down there. But I had to leave my rope over by the entrance, and there's no good place around here to anchor it even if I had one. If you can find some way to do that, I could explore down there and tell you what I find. Just tell me when you want me to go down.'"; setnode chasm-prepare-node; otherwise if there is a route from the location of the Adventurer to the Overlook: [If there is a route.] say "[regarding the Adventurer][She] beckons you to follow."; try the Adventurer moving toward the Overlook; hide the command prompt with implicit command "follow adventurer"; otherwise: say "[The Adventurer] peers at [his] map. 'I don't see any direct way to get back there from here...can you bring us back to the caves first? By magic or something?'". Implicit greeting response for the Adventurer when the node of the Adventurer is the chasm-prepare-node: say "'Ah, hello again, [player's forename]. Just tell me when you want me to climb down.'" Response of the Adventurer when given-or-shown a rope: say "[regarding the Adventurer][She] examines [the noun] carefully. 'This seems strong enough to use for climbing.'" Section D - Attempting to Help the Player Adventurer preparation is a scene. Adventurer preparation begins when the location is the Chasm and the player is securely anchored. Adventurer preparation ends positively when the location is the South End of Ruined Hall. Adventurer preparation ends negatively when the location is not the Chasm and the location is not in the Ruined Hall. [This tracks whether the rope disappeared or not.] In-chasm-node is a closed convnode. Implicit greeting response for the Adventurer when the node of the Adventurer is the in-chasm-node: rule succeeds. Greeting response for the Adventurer when the node of the Adventurer is the in-chasm-node: rule succeeds. After going to the Chasm: now the node of the Adventurer is the in-chasm-node; make no decision. After going from the Chasm when the node of the Adventurer is the in-chasm-node: now the node of the Adventurer is the null-node. Default response for the in-chasm-node: say "'Are you all right down there?' the Adventurer calls down from above. 'Pull on the rope if you want me to pull you back up, I can't hear you too well from up here.'" Chasm-falling-node is a closed convnode. When the chasm-escape-puzzle begins: if the Adventurer preparation ended positively and the node of the Adventurer is not the player-safe-node: now the node of the Adventurer is the chasm-falling-node; if the Adventurer is in the Overlook, implicitly greet the Adventurer; otherwise: now the node of the Adventurer is the player-in-danger-node. Implicit greeting response for the Adventurer when the node of the Adventurer is the chasm-falling-node (this is the adventurer inquires about the player rule): give the adventurer's concerned response. Greeting response for the Adventurer when the node of the Adventurer is the chasm-falling-node: give the adventurer's concerned response. To give the adventurer's concerned response: say "'[Player's forename]? [/br][one of]Is that you?[/br][or]Are you still down there?[/br][or]Are you all right?[/br][stopping]' You can hear [the Adventurer]'s voice from the overlook above you, sounding slightly panicked.". Default response for the chasm-falling-node: do nothing. Every turn when the node of the Adventurer is the chasm-falling-node and the location of the Adventurer is adjacent (this is the Adventurer concerned about falling player rule): say "'[one of]Ah, [player's forename], I don't know if I can help you! I was watching you climb, and then suddenly the rope was just...gone![/br][or]It was gone! Magically! Do you have a spell or something that can get you back out?[/br][or]Can you give yourself wings, or make the air solid, or weaken gravity, or something like that? I don't think I have anything up here that could help you...[/br][or]Try to catch onto something? See if there's anything you can use to pull yourself up?[/br][or]I don't know! Without magic I don't know if you can get back up! [Player's forename][/br]? [Player's forename], can you still hear me?![/br][stopping]'[br]". The Adventurer concerned about falling player rule is listed before the falling into the chasm rule in the every turn rulebook. Player-safe-node is an open convnode. When the chasm-escape-puzzle ends: now the node of the adventurer is the player-safe-node. Greeting response for the adventurer when the node of the adventurer is the player-safe-node: say "[The Adventurer] seems quite relieved to see you. 'Ah, [player's forename], it's good to see you're safe.'" Player-in-danger-node is a closed convnode. [This just blocks conversation if the player falls again.] Default response for the player-in-danger-node: give a distant apology. Greeting response for the Adventurer when the node of the Adventurer is the player-in-danger-node: give a distant apology. To give a distant apology: say "'[Player's forename]? I can't help you much from up here, but if you magic yourself back up I'll do what I can.'" Book III - Returning to the Library Part I - Ghosts Ghost-puzzle is a puzzling scene with puzzle description "locating some ghosts". The ghost-puzzle begins when vhelas is inscribed in the player's preferred spell book. The ghost-puzzle ends when a ghost is known. A ghost is a kind of person. A ghost has an object called the haunted location. [This is where they should go when moved on-stage.] Effect of casting a spell at a ghost: say "The spell seems to pass through [the second noun] without effect." After saying hello to a ghost: award points for "conversing with ghosts"; continue the action. Before doing anything when the noun is a ghost and the action requires a touchable noun: if conversing, make no decision; say "That is difficult when [the noun] [are] not solid." instead. Before doing anything when the second noun is a ghost and the action requires a touchable second noun: if conversing, make no decision; say "That is difficult when [the second noun] [are] not solid." instead. Chapter 1 - The Astronomer An astronomer is a masculine ghost. "A young man is sitting on the edge of the dome, looking out at the [if it is nighttime]stars[else]sky[end if]." The printed name of the astronomer is "young man". Understand "young" or "man" or "Jani" or "Aalto" as the astronomer. The description of the astronomer is "A young man with wavy hair and a faraway look in his eyes. When you look directly at him his form seems to shimmer slightly, and there is a silvery tint to his skin." A telescope is part of the astronomer. The description of the telescope is "An old-fashioned brass telescope." Instead of searching the telescope: say "The silvery glow of the lenses makes it difficult to see anything."; take full time. The haunted location of the astronomer is Atop the Dome. Greeting response for the astronomer: say "[one of]He turns toward you, looking amused. 'Why, hello. I did not expect to see anyone up here at this time of [if it is nighttime]night[else]day[end if].'[or]'Hello again, student Enchanter.'[stopping]" The ask-suggestions of the astronomer are { self-suggestion, the moon }. Response of the astronomer when asked about the astronomer: now the printed name of the astronomer is "astronomer"; say "'Jani Aalto. I was a student here once, learning astronomy and astrology.'"; add astronomy to the ask-suggestions of the astronomer; add the stars to the ask-suggestions of the astronomer. astronomy is a familiar subject. Understand "astrology" as astronomy. Response of the astronomer when asked about astronomy: remove astronomy from the ask-suggestions of the astronomer, if present; say "'I still make star charts for the Enchanters now. I was never very good at magic, but I'm told the celestial conditions can affect the creation of spells. Of course at the moment the fault is not in the stars, from what I've heard.'"; add the current situation to the ask-suggestions of the astronomer. The current situation is a subject. Understand "fault" or "events" or "recent events" as the current situation. Response of the astronomer when asked about the current situation: remove the current situation from the ask-suggestions of the astronomer, if present; say "He shrugs. 'I don't know much about it, but from what the others say, it seems to be something involving the Cubes of Foundation.'"; now the Cubes of Foundation are familiar; add the Cubes of Foundation to the ask-suggestions of the astronomer. The Cubes of Foundation are an unfamiliar subject. Understand "cube" or "white" as the Cubes of Foundation. Response of the astronomer when asked about the Cubes of Foundation: remove the Cubes of Foundation from the ask-suggestions of the astronomer, if present; say "'The guildmaster found one back in the day. Was it Belboz? No, possibly the one before him...it's probably still in the library now, sitting in storage somewhere.'" Cubes-puzzle is a puzzling scene with puzzle description "locating a Cube of Foundation". The cubes-puzzle begins when the Cubes of Foundation are familiar. The cubes-puzzle ends when the player encloses the featureless white cube. Blorple-cube-puzzle is a puzzling scene with puzzle description "figuring out what to do with this cube". The blorple-cube-puzzle begins when the cubes-puzzle ends. The blorple-cube-puzzle ends when the Balance Room is visited. Response of the astronomer when asked about the moon: say "He peers through the telescope again. '[if it is daytime]It was a[else]A[end if] frotz moon tonight, see the color? A good omen. Something changing for the better.'" Response of the astronomer when asked about the stars: say "'I watch the stars here every night. Things in Quendor may change, but the heavens remain the same...'" Response of the astronomer when asked about "Belboz": say "'Belboz? He was the previous Guildmaster. I believe he took the title of Necromancer for himself.'" Response of the astronomer when asked about "title/titles/necromancer/necromancy/chronomancer/chronomancy/spellbreaker": say "'It is a custom, of sorts, for each Guildmaster to take a special title of their own choosing. Belboz called himself Necromancer because of his study of death. Barbel of Gurth was Chronomancer, Orkan of Thriff was Intector...our Guildmaster[--]the current one, I mean[--]calls [regarding the player standin][himself] Spellbreaker, as you've likely heard.'" Response of the astronomer when given-or-shown the featureless white cube: say "He looks at the cube curiously. 'That does look like one of the legendary Cubes, but I've only read of them. And there aren't any distinguishing features to tell for sure.'" Response of the astronomer when asked about "the/our/-- current/-- guildmaster/spellbreaker": say "'If I recall correctly, [regarding the player standin][she] [were] named as Belboz's successor after saving him from...a demon? [His] age was the cause of much consternation at the time, but [she] [are] said to be a powerful Spellbreaker indeed.'" Response of the astronomer when asked about "quendor": say "'The land has fallen on hard times, from the sound of it, with the recent events involving magic.'" Chapter 2 - The Archivist The archivist is a masculine ghost. "The spectre of an old archivist floats in midair." Understand "old" or "spectre" as the archivist. The haunted location of the archivist is the Main Stacks. The description of the archivist is "He appears to be an old man in faded robes. But his body is pale silvery and nearly transparent when you look right at him." Greeting response for the archivist: say "He doesn't seem to notice you." Default response for the archivist: say "The archivist takes no notice." Every turn when the archivist is on-stage: if a random chance of 1 in 3 succeeds: let the place be a random archivist-traversable room; if the place is the location of the archivist, make no decision; if the location encloses the archivist, say "The archivist floats off through the wall."; move the archivist to the place; if the location is the place, say "The ghost of an archivist steps through the wall, muttering quietly."; otherwise: if the location encloses the archivist: say "The ghostly archivist mutters something about [one of]how nothing can be found any more[or]why the new system of organization makes no sense[or]such important magical objects just being piled in the storage area, it's ridiculous[or]how things were better kept back in the day[or]how nobody will be able to find anything if they need it, it's all piled up in the storage area[at random].". Definition: a room is archivist-traversable if it is the returns room or it is the main stacks or it is the scrying room or it is the disused closet or it is the storage area or it is the secret tunnel. Part II - The Last Lousy Point A mouse is an animal. "A small mouse [if the mouse is flying]hovers in midair, looking confused[else]is tentatively exploring the space[mouse activity][end if]." Understand "small" or "fur" or "brown" or "white" or "brown and white" as the mouse. The description of the mouse is "A small mouse with brown and white fur." The mouse is not visible between rooms. The pseudo-mouse is privately-named scenery in the Disused Closet. Understand "small" or "fur" or "brown" or "white" or "brown and white" or "mouse" as the pseudo-mouse when the mouse is off-stage. Should the game choose when comparing the mouse against the pseudo-mouse: it is a good choice. Instead of doing anything with the pseudo-mouse: say "The mouse has disappeared again."; take no time. The printed name of the pseudo-mouse is "mouse". To decide whether the mouse is active: if the mouse is enclosed by the player, no; if the mouse is captured, no; if the mouse is flying, no; yes. To say mouse activity: if the mouse activity mode is one: say ", skittering back out into the room"; otherwise if the mouse activity mode is two: say ", climbing into [the holder of the mouse]". The mouse activity mode is initially zero. [Prevent repetitive actions.] Every turn when the mouse is active (this is the mouse movement rule): if the mouse is off-stage and there is not a person in the Disused Closet: if a random chance of 1 in 4 succeeds, move the mouse to the Disused Closet; otherwise if the mouse is on-stage: if the location of the mouse is the location: [say "Seeing your sudden appearance, the mouse disappears back into some crack in the floorboards.";] remove the mouse from play; otherwise: if the holder of the mouse is an open container (called the home): if a random chance of 2 in 3 succeeds: if the mouse activity mode is zero: now the mouse activity mode is one; move the mouse to the holder of the home; otherwise: now the mouse activity mode is zero; otherwise if the mouse can touch an open container (called the item): if a random chance of 1 in 3 succeeds: if the mouse activity mode is zero: now the mouse activity mode is two; move the mouse to the item; otherwise: now the mouse activity mode is zero. Before going when the room gone to is the location of the mouse and the mouse is on-stage and the mouse is active: remove the mouse from play. Effect of casting blorb at the mouse: say "The mouse is alarmed by the glowing of your spell, and skitters away before the strongbox can form. Without a target to protect the spell fizzles ineffectually." Effect of casting blorb at the unhandled mouse when the mouse is flying: award points for "earning the Last Lousy Point"; award the "Mouse Input" achievement; say "The mouse squeaks in alarm as the box begins to form around it."; make no decision. Every turn when the unhandled mouse is in a closed container (called the home): if the player can see the home, say "A muffled squeaking emanates from [the home] as the mouse realizes it is trapped."; now the mouse is handled; award points for "earning the Last Lousy Point"; award the "Mouse Input" achievement. Definition: the mouse is captured if it is enclosed by a closed container. Persuasion for asking the mouse to try doing something: say mouse chatter; persuasion fails. To say mouse chatter: if the mouse is affected by nitfol, say "'[one of]Wizard?[/br][or]Wizard! Wizard.[/br][or]Books here. Tasty books.[/br][or]Wizard eat books?[/br][or]Books good.[/br][or][i]Principles of Thaumaturgy[/i] by Bizboz.[/br][or][i]The Mousetrap[/i] by Qqwy.[/br][or][i]Hiding Places of Cubes of Foundation[/i] by old Guildmaster.[/br][or][i]Spellbreaker[/i] by David Lebling.[/br][or][i]Sorcerer[/i] by Brian Moriarty.[/br][or][i]Enchanter[/i] by Blank and Lebling.[/br][or][i]Advent[/i] by Crowther and Woods.[/br][or][i]Zork[/i] by Anderson Blank Daniels Lebling.[/br][or]Magic books taste.[/br][or]Many magic books.[/br][cycling]'[p]"; otherwise say "The mouse squeaks." Every turn when the mouse is in the location and the mouse is visible and the mouse is affected by nitfol (this is the mouse activity rule): say mouse chatter. Default response for the mouse: say mouse chatter. Effect of casting izyuk at the mouse: say "The mouse floats slowly into the air, wheeling its legs frantically."; affect the mouse with izyuk for 5 turns. Report dropping the mouse: if the mouse is flying, say "You release the mouse and it remains hovering in midair."; otherwise say "The mouse scampers out of your hand and across the floor."; rule succeeds. Understand "pet [something]" as rubbing. Instead of rubbing or touching the mouse: say "The mouse squeaks as you pet it. Its fur is surprisingly soft." Book IV - Continuing On The description of the featureless white cube is "It seems to be a plain and ordinary white cube, about two inches on a side. But you somehow get the feeling that this cube is not as it seems. There is some sort of magical resonance here." The Balance Room is a lighted room. "You are suddenly in a strange room, a perfect cube of polished ceramic tile. The floor and two of the walls are deep black, so dark you can barely see a reflection, while the ceiling and opposite walls are such a bright white they seem to glow. In the center of each wall is a smaller square, a sort of window, but through them you can see nothing but grayish fog." The featureless white cube is elementally linked to the Balance Room. The printed name of the Balance Room is "Black and White Room". When Act 2 ends: say "...what is going on here? This doesn't look like any place you've seen before. And the cube...where has the cube gone? You need to tell the Enchanters about this...if you can find a way back...[p]"; say "[alert]*** END OF ACT II ***[/alert][p]"; wait for any key; clear the screen; say "This is the end of [i]The Scroll Thief[/i]. The adventures will continue in [i]Spirals[/i], the next part of the Mage Trilogy."; mark checkpoint act three as passed; record "The end of the first story" as an ending; end the story finally. Rule for amusing a victorious player: say "Have you tried...[br] ...leaving the library before even opening the door?[br] ...taking pages from the calendar?[br] ...setting off the trap in the spell research area?[br] ...telling the adventurer to set off the trap?[br] ...setting off the trap from a distance?[br] ...removing the scroll from the trap without touching it?[br] ...using [i]yomin[/i] on the mind-controlled adventurer?[br] ...learning the passphrase to turn off the alarms?[br] ...defeating the alarm with brute force?[br] ...reading the librarian's mind repeatedly?[br] ...getting the tome out of the returns room?[br] ...shining a light through the vent in the Clean Room?[br] ...telling the Adventurer to hit the vents?[br] ...refusing to tell the Enchanters how you learned [i]yonk[/i]?[br] ...repeatedly?[br] ...summoning the Implementer or Implementers?[br] ...summoning the Unseen Terror or Jeearr?[br] ...getting on top of the dome of the antechamber?[br] ...waiting around in Y2?[br] ...untying the rope while the adventurer is in the chasm?[br] ...teleporting through the cracked mirror without using [i]izyuk[/i]?[br] ...examining all the junk in the storage area?[br] ...casting jindak repeatedly in the storage area?[br] ...solving the puzzle box?" Volume 999 - Things that Must Go at the End Book C - Checkpoints A checkpoint is a kind of value. Some checkpoints are defined by the Table of Checkpoints. Table of Checkpoints checkpoint description command table passed checkpoint act one "Act One" Table of Act One Checkpoint Commands a truth state checkpoint alarm "deactivating the alarm" Table of Alarm Checkpoint Commands -- checkpoint adventurer "summoning the Adventurer" Table of Adventurer Checkpoint Commands -- checkpoint capture "being captured" Table of Capture Checkpoint Commands -- checkpoint act two "Act Two" Table of Act Two Checkpoint Commands -- checkpoint caves "entering the caves" Table of Cave Checkpoint Commands -- checkpoint hall "entering the ruined hall" Table of Hall Checkpoint Commands -- checkpoint act three "Act Three" Table of Act Three Checkpoint Commands -- Checkpoint alerts are an inactive boolean option. To mark (cp - a checkpoint) as passed: if checkpoint alerts are active, say "[alert][bracket]To jump to this point again, type 'jump to [cp]' on the first turn.[close bracket][/alert][br]"; now the passed of cp is true. Listing checkpoints is an action out of world applying to nothing. Understand "checkpoints" or "list checkpoints" or "autopilot" as listing checkpoints. Carry out listing checkpoints: say "The following checkpoints are available:"; say fixed letter spacing; repeat through the Table of Checkpoints: say "[br][if the passed entry is true]* [else] [end if][checkpoint entry] ([description entry])"; say variable letter spacing; say "[br]To fly ahead on autopilot, type (e.g.) AUTOPILOT TO CHECKPOINT ACT ONE." Understand "checkpoint" or "checkpoint [text]" as a mistake ("Use the AUTOPILOT command to jump to a checkpoint."). Autopiloting to is an action out of world applying to one checkpoint. Understand "autopilot to/-- [checkpoint]" as autopiloting to. Check autopiloting to a checkpoint when the turn count is greater than 1: say "You need to restart before you can use the autopilot." instead. Carry out autopiloting to a checkpoint: repeat through the Table of Checkpoints: add the checkpoint entry to the global checkpoint list; if the checkpoint entry is the checkpoint understood, break. The global checkpoint list is a list of checkpoints that varies. Before reading a command when the command override queue is empty and the global checkpoint list is not empty: let the chosen point be entry 1 in the global checkpoint list; let the chosen table be the command table of the chosen point; let L be a list of text; repeat through the chosen table: add the command entry to L; say "[alert]<>[/alert][p]"; remove entry 1 from the global checkpoint list; replay the command set L. First after reading a command when the command recording flag is true: choose a blank row in the Table of Output Commands; let T be "'[player's command]'"; now the output entry is the substituted form of T. The command recording flag is initially false. Starting command recording is an action out of world applying to nothing. Understand "output record" as starting command recording. Carry out starting command recording: now the command recording flag is true. Report starting command recording: say "[p]". Table of Output Commands output (text) -- with 512 blank rows The File of Output Commands is called "outputcommands". Finishing command recording is an action out of world applying to nothing. Understand "output save" as finishing command recording. Carry out finishing command recording: write "" to the File of Output Commands; repeat through the Table of Output Commands: append "[output entry][br]" to the File of Output Commands; Report finishing command recording: say "[p]". Table of Act One Checkpoint Commands command "tutorial off" Table of Alarm Checkpoint Commands command "i" "open the bag" "rezrov the door" "north" "open the pack" "open the pen case" "read the note" "copy gnusto to the blotchy parchment" "e" "x large sign" "x dispenser" "press frotz" "erase newly-printed" "copy gnusto to newly-printed" "gnusto gnusto" "press frotz" "gnusto frotz" "press blorb" "press nitfol" "gnusto nitfol" "press blorb" "gnusto blorb" "press lesoch" "gnusto lesoch" "out" "n" "frotz spell book" "south" "frotz spell book" "n" "blorb scribbled" "open strongbox" "get scribbled" "gnusto rezrov" "south" "nw" "search mirrors" "x wall-sized" "se" "ne" "examine box" "throw spell book at box" "blorb box" "open box" "drop spell book on box" "get spell book" Table of Adventurer Checkpoint Commands command "sw" "sw" "get purple" "read it" "ne" "frotz book" "sw" "learn serage" "learn yomin" "n" "n" "rezrov the cabinet" "get de evocatio" "read it" "examine the mirrors" "x wall-sized" "x adventurer" "zifmia adventurer" "x adventurer" "serage adventurer" Table of Capture Checkpoint Commands command "adventurer, north" "adventurer, follow me" "se" "sw" "adventurer, stop" "adventurer, take the tome" "ne" "look southwest" "zifmia the adventurer" "adventurer, give me the tome" "adventurer, thank you" "read spell book" "adventurer, follow me" "north" "x poster" "n" "adventurer, wait" "s" "s" "nw" "get red and blue sphere" "se" "n" "n" "give blue sphere to adventurer" "adventurer, down" "x red" "x doors" "adventurer, open the doors" "adventurer, look southeast" "adventurer, point the blue sphere southeast" "adventurer, se" "adventurer, throw the blue sphere southeast" "frotz adventurer" "adventurer, inventory" "adventurer, southeast. put the lantern in the oven. northwest." "adventurer, take the blue sphere" "adventurer, come here" "adventurer, give me the blue sphere" "s" "s" "ne" "rezrov the grating" "x vent" "put the red sphere in the vent" "sw" "n" "n" "adventurer, down. southeast." "x blue sphere" "adventurer, take the sphere" "adventurer, take the sphere" "look into the blue sphere" "x strange dark scroll" "gnusto lleps" "x ordinary" "gnusto yonk" "i" "x spell book" "x de evocatio" "lleps zifmia adventurer" "zifmia adventurer" "frotz blue sphere" "s" "s" "e" "press frotz" "erase newly-printed" "copy yonk to newly-printed scroll" "gnusto newly-printed" "yonk gnusto yonk" Table of Act Two Checkpoint Commands command "w" "yes" "wait" "wait" "wait" "wait" "wait" "wait" "wait" "wait" "wait" "examine the glossy scroll" "yonk gnusto yonk" Table of Cave Checkpoint Commands command "i" "ne" "vezza" "x markings" "lleps vezza" "vezza" "clap. clap. clap." "x door" "rezrov the hidden door" "se" "x crates" "rezrov crates" "yonk rezrov crates" "rezrov crates" "search crates" "get the faded scroll" "read it" "gnusto vaxum" "nw" "sw" "x wooden door" "look through keyhole" "x key" "nw" "get aquarium" "x transparent" "rezrov aquarium" "yonk rezrov aquarium" "gnusto blorple" "get transparent" "blorple transparent" "get black and tube" "open the tube" "get gilded" "read it" "gnusto izyuk" "clap. clap. clap." "get key" "rezrov the wooden door" "nw" "up" "izyuk me" "up" "x moon" "x stars" "d" "izyuk me" "d" "nw" "get transparent" "x wall-sized mirror" "blorple the wall-sized mirror" Table of Hall Checkpoint Commands command "x mirror" "clean it" "x mirror" "w" "nitfol the bird" "bird, follow me" "d" "z" "bird, stay here" "d" "adventurer, hello" "vaxum adventurer" "adventurer, hello" "topics" "ask for help" "yes" "follow adventurer" "follow adventurer" "follow adventurer" "e" "s" "s" "u" "rezrov the rope" "get the rope" "w" "w" "izyuk me" "w" "w" "nw" "get paper" "read it" "turn it" "izyuk me" "e" "e" "e" "d" "n" "n" "w" "show rope to adventurer" "adventurer, down" "tie rope to harness" "adventurer, down" "take rope" "e" "tie rope to rock" "drop rope" "w" "adventurer, down" "e" "untie rope from rock" "w" "i" "drop paper" "blorb it" "tie rope to strongbox" "adventurer, down" "x rope" "pull adventurer" "untie rope from adventurer" "tie rope to me" "down" "x mirror" "say [mirror password] to mirror" "x mirror" "blorple the mirror" Table of Act Three Checkpoint Commands command "untie rope from strongbox" "x column" "lleps vezza" "n" "get wooden box" "x stone box" "open stone box" "pull stone box" "tie rope to stone box" "pull rope" "s" "pull rope" "look closely at binding" "x torn" "x tattered" "gnusto jindak" "gnusto vhelas" "untie rope from me" "x cracked" "blorple cracked" "izyuk me" "u" "think" "yomin adventurer" "e" "s" "s" "u" "izyuk me" "u" "e" "blorple the mirror" "vhelas" "se" "izyuk me" "u" "x man" "hello, man" "touch man" "ask man about himself" "vhelas" "talk to astronomer" "ask astronomer about astronomy" "topics" "ask about the current situation" "ask about the Cubes of Foundation" "astronomer, goodbye" "izyuk me" "d" "se" "jindak the objects" "x cube" "jindak cube" "blorple cube" Book D - Debugging Commands Debug mode is a truth state that varies. Debug mode is false. Toggling debug mode is an action out of world applying to nothing. Understand "caskly" as toggling debug mode. Carry out toggling debug mode: if debug mode was true, now debug mode is false; if debug mode was false, now debug mode is true. Report toggling debug mode: say "Debug mode [if debug mode is true]on[else]off[end if]." Teleporting it to is an action out of world applying to two things. Understand "teleport [any thing] to [any thing]" as teleporting it to. Understand "tp [any thing] to [any thing]" as teleporting it to. Check teleporting it to when debug mode is false: say "Imperfect command." instead. Carry out teleporting it to: move the noun to the location of the second noun. Report teleporting it to: say "[p]". Spell-stealing is an action out of world applying to one spell. Understand "spell-steal [a spell]" as spell-stealing. Understand "ss [a spell]" as spell-stealing. Check spell-stealing when debug mode is false: say "Imperfect command." instead. Carry out spell-stealing: now the spell understood is inscribed in the player's preferred spell book. Report spell-stealing: say "[p]" Book-filling is an action out of world applying to nothing. Understand "veneficia" as book-filling. Check book-filling when debug mode is false: say "Imperfect command." instead. Carry out book-filling: repeat through the Table of Spells: now the spell entry is inscribed in the player's preferred spell book. Report book-filling: say "[p]" [Showobjing is an action out of world applying to one thing. Understand "showobj [any thing]" as showobjing. Check showobjing when debug mode is false: say "Imperfect command." instead. Carry out showobjing: showobj the noun.] Unrandomizing is an action out of world applying to one number. Understand "$rand [number]" as unrandomizing. Carry out unrandomizing: seed the random-number generator with the number understood. Report unrandomizing: say "[p]" Book Q - Other Misc Stuff Rule for printing the achievement "You Monster" when the player's forename matches the text "Meridian", case insensitively: [An inside joke, at the request of a friend. Ignore this part.] say "[alert][bracket]Achievement Unlocked: Lyra's Achievement[close bracket][/alert][br]".