gwelks: Nigel Jayne's Interactive Fiction Site

Source Text for Sequitur

Book - Actions

Chapter - New Understanding of Standard Grammar

Understand "consult [something] for [text]", and "search [something] for [text]" as consulting it about.

Understand "sit", "sit down", "lie down", "lay down", "get up", "stand", and "stand up" as a mistake ("Cochone is comfortable seated in Jenny's padded chair.").

Understand "look up [text] with/using/on [something]", "research [text] with/using/on [something]", and "search for [text] with/using/on [something]" as consulting it about (with nouns reversed).

Understand "[a candidate song]", "[a position]", "[contents]", and "[a track]" as examining.

Understand nothing as going.

Understand "add [something] at/to/in/into/on/onto/-- [something]", "add [a numero uno thing] at/to/in/into/on/onto/-- [something]", "insert [something] at/to/in/into/on/onto/-- [something]", "insert [a numero uno thing] at/to/in/into/on/onto/-- [something]", "place [something] at/to/in/into/on/onto/-- [something]", "place [a numero uno thing] at/to/in/into/on/onto/-- [something]", "put [something] at/to/-- [something]", "put [a numero uno thing] at/to/in/into/on/onto/-- [something]", "lay down [something] at/to/into/in/on/onto/-- [something]", "lay down [a numero uno thing] to/at/in/into/-- [something]", "splice [something] to/at/into/in/on/onto/-- [something]", "splice [a numero uno thing] at/to/in/into/on/onto/-- [something]", "add [something]", "insert [something]", "place [something]", "put [something]", "lay down [something]", and "splice [something]" as inserting it into.

Understand "[a track] in/-- [a position]", "[an numero uno track] in/-- [a position]", and "[a full position] in/-- [a position]" as inserting it into.

Understand "add [a numero uno thing]", "insert [a numero uno thing]", and "put [a numero uno thing]"as inserting it into.

Understand "break open [something]", "split open [something]", "split [something]", and "separate [something]" as opening.

Understand "put [a numero uno thing] on [something]" as putting it on.

Understand "load" as restoring the game.

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

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

Understand the commands "clear", "cover", "cut", "d", "e", "fight", "i", "move", "n", pick", "press", "push", "read", "remove", "s", "score", "shift", "slice", and "think" as something new.

Chapter - Out of World

Check preferring abbreviated room descriptions:

say "Cochone already reads as little as he can." instead.

Check preferring unabbreviated room descriptions:

say "Cochone is already reading only as much as he needs." instead.

Check preferring sometimes abbreviated room descriptions:

say "Cochone reads only as much as he needs." instead.

Displaying copyright is an action out of world. Understand "license", "licence", and "copyright" as displaying copyright.

Report displaying copyright:

say "[fiction title] is copyright [story creation year] by Nigel Jayne. This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. You may copy and distribute [fiction title] in any format you choose, as long as it is not altered. You may not distribute this game for a fee which is greater than the cost of distribution. Distribution of this game constitutes acceptance of this license. Because this game is offered free of charge, there is no warranty, express or implied, attached to it."

Displaying cover is an action out of world. Understand "display cover art", "display cover", "show cover art", "show cover", "cover art", and "cover" as displaying cover.

Check displaying cover:

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

Carry out displaying cover when glulx graphics is supported:

display figure of gamecover centered.

Report displaying cover:

say "[cover design] [lb]".

Reloading is an action out of world, applying to one thing. Understand "load [something]", "re-load [something]", "reload [something]", "re-open [something]", "reopen [something]", "re-start [something]", and "restart [something]" as reloading.

Check reloading something when the noun is neither the computer nor the case:

say "[seq]You can only reload [fiction title]. [pb][end seq]" instead.

Check reloading something:

try restarting the game instead.

Report undoing an action:

say "Cochone blinks, and scratches his head. He realizes he never actually performed his last thought.";

rule succeeds.

The restart the game rule response (A) is "[unless the story has ended finally]Cochone sighs heavily. [pb]'You all right?' Jenny says. 'You don't look good. Do you just want to start today over? [pb]Cochone recalls arriving at Jenny's office. He found Jenny at her desk. [pb]'Good morning,' Jenny said. She looked down at Cochone's crotch and frowned. [pb]'Coffee,' Cochone said. [pb]'Oh, okay.' Jenny hefted herself up from the desk and grabbed her cane. She sidestepped to allow Cochone to sit. 'Take a seat.' [pb]Cochone dropped into the chair. [pb]'Someone looks a little tired this morning,' Jenny said. 'Let's put some jumpin['] beans in your shorts.' She tapped a toy bear that stood next to the computer. [pb]Cochone has been spat on by Mardi Gras revelers, shot at by gang members, and dragged through a bitter divorce. And the scalding coffee had removed any manhood he had retained after the divorce. But nothing quite compared to the clapping thing on the desk. [pb][i]Do I want to go through that again?[/i] Cochone asks himself.[otherwise]Do you really want to restart (Y or N)?[end unless]".

The Restore the game rule response (B) is "Cochone shakes his head. [i]Here we go again,[/i] he thinks.".

The save the game rule response (B) is "[i]I like where this is going,[/i] Cochone thinks. [i]I hope I don't screw this up.[/i] 'Remember this moment, Jenny.' [pb]'Okay ... ' Jenny says.".

Chapter - New Actions

[We don't use "the actor" in these new actions, because, for this game, we block just about every action on NPCs.]

Clearing out is an action applying to one thing. Understand "clear [something]", "clear out [something]", "clear", and "clear out" as clearing out.

Understand the commands "delete" and "erase" as "clear".

Rule for supplying a missing noun while clearing out:

now the noun is the notebook.

Check clearing out something which is not the notebook:

say "You can only erase the contents of the notebook." instead.

Check clearing out the notebook when the notebook is not noted upon:

say "There are no notes recorded." instead.

Carry out clearing out something:

now the notebook is not noted upon;

write "" to the text file of the notebook.

Report clearing out something:

say "The contents of the notebook have been deleted.".

Looking around is an action applying to nothing. Understand "l around" and "look at/around room/office/--" as looking around.

Report looking around:

say "Cochone glances back at Jenny. She is in her wheelchair and tapping at the laptop on her lap. A desk, smaller than the one Cochone sits at, is covered with IT paraphenalia[if Jennifer is having lunch], but Jenny has created a spot for her water bottle and bagel[end if]. Jenny's cane rests next to the window looking into the hall, which resonates with the sounds of chatter, phones, and doors. Cochone turns back to the computer on the desk before him. Hands clenching cymbals, Happy Jack stands next to the monitor[if Cochone is having hot dogs]. Cochone's hot dogs and a can of cola sit in a box next to the keyboard[end if].".

Looking around is stalling.

Remembering is an action applying to nothing. Understand "memory", "reminders", "reminder", "remember", "remind me/--", "remember links/chain/chains/sequence/sequences", "think", and "think about/- links/chain/chains/sequence/sequences" as remembering.

[We need to make sure that we don't give away the correct relative positions of the tracks, so it may not be a good idea to use the "list of tracks."]

Report remembering:

if one track is explained begin;

say "[seq] You've linked the following footage: ";

repeat with selection running through the list of tracks begin;

if selection links an explained track (called continuer) begin;

say "[number-name of selection]-";

if continuer links an explained track, next;

say "[number-name of continuer]. ";

end if;

end repeat;

say lb;

otherwise;

say "Cochone blinks and thinks. He doesn't remember linking any of the footage yet.";

end if.

Remembering is stalling.

Researching with it about is an action applying to two things. Understand "consult [something] about/for [something]", "search [something] for [something]", "look up [something]", "research [something]", and "search for [something]" as researching with it about.

Understand "look up [something] with/using/on [something]", "research [something] with/using/on [something]", and "search for [something] with/using/on [something]" as researching with it about (with nouns reversed).

researching with is stalling.

Rule for supplying a missing second noun while researching with something about:

now the second noun is the noun;

now the noun is the internet.

Does the player mean researching with the internet about something:

it is very likely.

Check researching with something about something when the second noun is not a subject and the second noun is not the band:

if the second noun is the player, say "[one of]'There should be some interesting things about me on Google,' Cochone says. [pb]'What makes you think I didn't already creep you up?' Jenny says. [pb]'Creep me?' [pb]'Looked you up on Facebook.' [pb]'Whoever you found, it wasn't me.' [pb]'No. I figured that. He knew how to use Facebook.' [or]Cochone decides he has more important things to do right now. [stopping] [pb]" instead;

if the second noun is a person, say "Cochone decides that the only people he should be researching right now are the victims." instead;

say "Cochone is really only interested in the people in the tracks right now." instead.

Check researching with something about a researched thing:

say "'Can you bring up the info on [second noun] again?' Cochone says. [pb]'Here it is,' Jenny says.".

Check researching with something about a not researched thing:

say "'[one of]Can you look up [second noun] for me[or]Try googling [second noun] for me, will you[or]Can you check [second noun] on the internet[or]Can you search the web for [second noun][purely at random]?' Cochone says. [pb]";

unless the second noun is the band or the location contains the band or three subjects are identified begin;

say "'I probably won't be able to find [second noun] without more information. Try to find out some more victims' names or the name of the band first.'" instead;

otherwise;

now being-researched is the second noun;

now Cochone is awaiting information;

say "'Sure,' Jenny says. 'Give me a minute. Keep working. I'll send it to you when I find something.'" instead;

end unless.

Report researching with something about something:

say "[description of being-researched] [lb]".

Researching with something about is stalling.

Scoreboarding is initially false.

Scoring is an action applying to nothing. Understand "check the/-- score/scoreboard/scores/games/nhl/nba",

"check the/-- nhl/nba/hockey/basketball score/scores/scoreboard/results", "nhl scores/score/scoreboard/results/--", "hockey scores/score/scoreboard/results/--", "nba scores/score/scoreboard/results/--", "basketball scores/score/scoreboard/results/--", "scores" and "score" as scoring.

Report scoring when the player is scoreboard watching:

now Scoreboarding is true;

let counter be one;

say "[b]NHL[/b] ";

tick scores for home hockey teams;

say "[lb][b]NBA[/b] ";

tick scores for home basketball teams;

let loser be a random away hockey team;

if the netted of loser is greater than the netted of a random team which plays loser, now loser is a random team which plays loser;

let faves be the list of basketball teams;

sort faves in random order;

remove New Orleans Hornets from faves;

remove a random team which plays New Orleans Hornets from faves;

let chosen be entry one in faves;

say "[pb][end seq] [lb][italic type][one of]C'mon Hornets, Chrissy wants to finish college.[or]I'm bleeding green here, [just-team of loser].[or]Don't let me down again, [just-team of chosen].[or]Why do I put myself through this?[or][rpo][stopping][roman type]".

To tick scores for (target - a description of values):

repeat with opposers running through target begin;

say "[opposers] [netted of opposers] [a random team which plays opposers] [netted of a random team which plays opposers] ";

end repeat.

Seeking opinion from is an action applying to one thing. Understand "consult [something]" and "consult" as seeking opinion from.

Rule for supplying a missing noun while seeking opinion from:

now the noun is Jennifer.

Seeking opinion from is stalling.

Section - Sequitur Commands

Clicking is an action applying to one thing. Understand "click on/-- [something]", "click on/-- [things]", "pick [something]", "pick [things]", "play [something]", "play [things]", "start [something]", "click", "start", and "play" as clicking.

Understand the commands "choose", "press", and "select" as "click".

Rule for supplying a missing noun while clicking:

say "You have three choices: you can either play the Sequence, play your playlist, or play the tracks, which will play all the tracks that aren't in the Sequence.".

Check clicking an on-screen not intractable thing:

try examining the noun instead.

Check clicking an intractable thing:

if (the noun is the playlist and favorites list is {}) or (the noun is sequence and every track is unpositioned), say relay an empty noun instead.

Check clicking something:

now temporary playlist is {}.

Report clicking playlist:

say "Your playlist contains [number of entries in favorites list] track[if the number of entries in favorites list is greater than one]s[end if]: [pb]";

repeat with selection running through favorites list begin;

add selection to temporary playlist;

end repeat.

Report clicking something:

follow the play the music rule.

Exchanging it for is an action applying to two things. Understand "exchange [something] for/with/and [something]", "exchange [a numero uno track] for/with [something]", "reverse [something] with/for/and [something]", "reverse [a numero uno track] for/with [something]", "switch around/-- [something] with/for/and [something] around/--", and "switch around/-- [a numero uno track] for/with/and [something] around/--" as exchanging it for.

Understand "exchange [something]", and "switch around/-- [a position] around/--" as exchanging it for.

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

if the noun is a track or the noun is a position begin;

if the noun is an empty position begin;

say "Slot [noun] is empty, and you would need to specify two tracks to exchange.";

otherwise;

say "You'll need to pick a track or slot to exchange [if the noun is a track]Track [number-name of noun][otherwise]slot [noun]'s track[end if] with.";

end if;

otherwise;

say "You need to specify two tracks to exchange.";

end if.

First check exchanging something for something when the noun is the second noun:

say "You can't transpose one [if the noun is a track]track[otherwise]slot[end if] upon itself." instead.

First check exchanging something for something when an intractable thing is involved or a not on-screen thing is involved:

say "You can only exchange specific tracks or slots that contain tracks." instead.

Check exchanging an unpositioned track for an unpositioned track:

say "At least one of the tracks needs to be in a slot to exchange it with another." instead.

Check exchanging something for something when a track is involved and ((the noun is a position and the noun contains the second noun) or (the second noun is a position and the second noun contains the noun)):

say "Track [number-name of a random involved track] is already in Slot [random involved position]." instead.

Check exchanging an empty position for an empty position:

say "Neither Slot [noun] nor [second noun] contains a track." instead.

Carry out exchanging something for something when two positioned tracks are involved or two full positions are involved or (a full position is involved and a positioned track is involved):

if noun is a position, now noun is a random track which is in noun;

if second noun is a position, now second noun is a random track which is in second noun;

now entry (number-name of the holder of the second noun) in position list is noun;

now entry (number-name of the holder of the noun) in position list is second noun;

rule succeeds.

Carry out exchanging something for something when an unpositioned track is involved:

if second noun is an unpositioned track, switch the noun for the second noun;

if the second noun is a positioned track, now the second noun is the holder of the second noun;

now entry (number-name of second noun) in position list is noun;

rule succeeds.

Carry out exchanging something for something:

unless the second noun is an empty position, switch the noun for the second noun;

if the noun is a full position, now the noun is a random track which is in the noun;

now entry (number-name of second noun) in position list is noun;

now entry position number of noun among position list in position list is placeholder.

Report exchanging something for something when two positioned tracks are involved or two full positions are involved or (a full position is involved and a positioned track is involved):

say "Track [number-name of noun] has been switched to Slot [holder of second noun], and Track [number-name of second noun] is now in Slot [holder of noun].";

rule succeeds.

Report exchanging something for something:

say "Track [number-name of noun] has been placed in slot [second noun][if second noun is full], and Track [number-name of (a random track which is in the second noun)] has been removed from the Sequence[otherwise if the noun is positioned], and slot [holder of noun] is now empty[end if].".

Excising it from is an action applying to two things. Understand "excise [something] from [something]", "take out [something] from [something]", "excise [something]", and "take out [something]" as excising it from.

Understand the commands "cut", "empty", "slice", and "remove" as "excise".

Rule for supplying a missing second noun while excising a not on-screen thing from:

say "You can only remove tracks from slots.".

Rule for supplying a missing second noun while excising something from:

if the noun is playlist or (the noun is listed in favorites list and the noun is unpositioned), now the second noun is playlist;

otherwise now the second noun is the Sequence.

Check excising an intractable thing from an intractable thing when the noun is the second noun:

if the noun is the playlist or the noun is the sequence , try excising all from the noun instead;

say "You can only cut tracks from either the Sequence or your playlist." instead.

Check excising something from something when playlist is involved and Sequence is involved:

if (sequence is involved and position list is {}) or (playlist is involved and favorites list is {}), SAY "[if position list is {} and favorites list is {}]Both the Sequence and your playlist are[otherwise if favorites list is {}]Your playlist is[otherwise]The Sequence is[end if] empty." instead;

repeat with selection running through favorites list begin;

if selection is listed in position list, continue the action;

end repeat;

say "The Sequence and your playlist don't share any tracks." instead.

Check excising something from the Footage:

if noun is intractable, say "You can't remove a list like the Sequence or your playlist from the set of tracks." instead;

otherwise say "You can't remove tracks from the footage, but you can put them in the Sequence or your playlist." instead.

Check excising a not intractable thing from the Sequence:

if the noun is an unpositioned track, say "Track [number-name of noun] isn't in a slot." instead;

if noun is a positioned track, try excising the noun from the holder of the noun instead;

if the noun is a full position, try excising a random track which is in the noun from the noun instead;

if the noun is an empty position, say "Slot [noun] doesn't contain a track." instead.

Check excising a not intractable thing from the playlist:

if the noun is a position, say "Your playlist contains tracks, not positions." instead;

unless the noun is listed in favorites list, say "Track [number-name of noun] isn't in your playlist." instead.

Check excising an intractable thing from a not intractable thing:

say "You can't remove a list of tracks, such as those found in [if noun is playlist][noun][otherwise][the noun][end if], from a track or position." instead.

Check excising a track from a position:

if the second noun does not contain the noun, say "Track [number-name of noun] isn't in Slot [second noun]." instead.

Check excising a position from a track:

say "Only the Sequence has slots." instead.

Check excising a position from a position:

unless the noun is the second noun, say "Slots are situated independently along the Sequence, and they can't contain the same tracks." instead;

if the noun is full, now the noun is a random track which is in the noun;

if the noun is empty, say "The slots are fixed into the Sequence." instead.

Carry out excising playlist from sequence:

repeat with selection running through favorites list begin;

if selection is listed in position list begin;

let holding be the number-name of the holder of selection;

now entry holding in position list is placeholder;

end if;

end repeat;

rule succeeds.

Carry out excising Sequence from playlist:

repeat with selection running through position list begin;

if selection is listed in favorites list, remove selection from favorites list;

end repeat;

rule succeeds.

Carry out excising something from something:

if the second noun is playlist, remove the noun from favorites list;

otherwise now entry (number-name of the second noun) in position list is placeholder.

Report excising something from something:

if playlist is involved and sequence is involved, say "All the tracks that the Sequence and your playlist shared have been removed from the [if second noun is sequence]former[otherwise]latter[end if].";

otherwise say "Track [number-name of noun] has been removed from [if the second noun is playlist]your playlist[otherwise]Slot [holder of noun][end if].".

Excising all from is an action applying to one thing. Understand "clear all from/-- [something]", "excise all from/-- [something]", "remove all from/-- [something]", "clear all", "excise all", and "remove all" as excising all from.

Rule for supplying a missing noun while excising all from:

if one track is positioned or favorites list is {}, now the noun is the sequence;

otherwise now the noun is the playlist.

Check excising all from something when the noun is neither the sequence nor the playlist:

say "You can only excise tracks from either the Sequence or your playlist." instead.

Check excising all from playlist:

if the favorites list is {}, say "Your playlist is already empty." instead.

Check excising all from Sequence:

if every track is unpositioned, say "The Sequence doesn't have any tracks." instead.

Carry out excising all from something:

if the noun is playlist, now favorites list is {};

otherwise fill 1 to number of positions with blanks.

Report excising all from something:

say "[The noun] [are] now empty.".

Excising it through is an action applying to two things. Understand "cut [something] through/to [something]", "cut [a numero uno track] through/to [something]", "excise [something] to/through [something]", "excise [a numero uno track] to/through [something]", "take out [something] to/through [something]", and "take out [a numero uno thing] to/through [something]" as excising it through.

First check excising something through something when the playlist is involved:

say "You can only cut individual tracks from your playlist." instead.

Check excising something through something when two tracks are involved and one involved track is unpositioned:

if two unpositioned tracks are involved, say "Neither Track [number-name of noun] nor Track [number-name of second noun] is in the Sequence." instead;

otherwise say "Track [number-name of a random involved unpositioned track] isn't in the Sequence." instead.

Check excising footage through footage:

say "Only individual tracks can be removed from the Sequence." instead.

Check excising Sequence through footage:

say "The Sequence contains the tracks, so you need to remove individual tracks from the Sequence instead." instead.

Check excising something through something:

if the noun is a track, now the noun is the holder of the noun;

if the second noun is a track, now the second noun is the holder of the second noun;

if the number-name of the second noun is less than the number-name of the noun, switch the noun for the second noun.

Carry out excising something through something:

repeat with counter running from number-name of the noun to number-name of second noun begin;

now entry counter in position list is placeholder;

end repeat.

Report excising something through something:

if the noun is the second noun, say "Slot [noun] is now empty.";

otherwise say "Slots [noun] and [second noun] are now empty[unless number-name of noun is (number-name of second noun minus one)], as is the Sequence between the two[end unless] .".

Understand "insert [something] next to/-- [something]" and "place [something] next to/-- [something]" and "put [something] next to/-- [something]" as a mistake ("[seq] You'll need to specify if you want to place tracks to the left or right of another, e.g., 'put one left of three.'").

Inserting it relatively left of is an action applying to two things. Understand "add [something] in/to/-- the/-- before/left/behind of/-- [something]", "insert [something] in/to/-- the/-- before/left/behind of/-- [something]", "place [something] in/to/-- the/-- before/left/behind of/-- [something]", and "put [something] in/to/-- the/-- before/left/behind of/-- [something]" as inserting it relatively left of.

Understand "add [something] in/to/-- the/-- before/left/behind of/--", "insert [something] in/to/-- the/-- before/left/behind of/--", "place [something] in/to/-- the/-- before/left/behind of/--", and "put [something] in/to/-- the/-- before/left/behind of/--" as inserting it relatively left of.

Rule for supplying a missing second noun while inserting something relatively left of:

now the second noun is the noun.

Check inserting an empty position relatively left of something:

say "Slot [noun] doesn't contain a track." instead.

Check inserting something relatively left of an unpositioned track:

say "You can only put a track next to another track that is in the Sequence." instead.

Check inserting a full position relatively left of something:

now the noun is a random track which is in the noun.

Check inserting something relatively left of something:

if the second noun is A-slot, say "There are no slots left of the first one." instead;

let receiver be a thing;

if the second noun is a position, now receiver is the second noun;

if the second noun is a track, now receiver is the holder of the second noun;

if receiver is not A-slot and entry (number-name of receiver minus one) in position list is noun, say "Track [number-name of noun] is already in Slot [receiver]." instead.

Carry out inserting something relatively left of a position:[In this case, we need to make sure that the second noun stays fixed.]

if entry (number-name of second noun minus one) in position list is placeholder begin;

now entry (number-name of second noun minus one) in position list is noun;

rule succeeds;

end if;

add noun at entry number-name of second noun in position list;

if the noun is positioned begin;

if the number-name of the holder of the noun is greater than the number-name of second noun, now entry (number-name of holder of noun plus one) in position list is placeholder;

if the number-name of the holder of the noun is less than the number-name of second noun, now entry (number-name of holder of noun) in position list is placeholder;

end if;

repeat with counter running from one to number-name of second noun begin;

if entry counter in position list is placeholder, now removal point is counter;

end repeat;

unless removal point is zero begin;

remove entry removal point from position list;

otherwise;

truncate position list to the last 10 entries;

end unless.

Carry out inserting something relatively left of a track:[In this case, the tracks can shift left or right, depending on where there is an empty space in the Sequence, or if there is one at all.]

let proxy be the holder of second noun;

if the noun is a positioned track, now entry (number-name of holder of noun) in position list is placeholder;

if the number-name of proxy is one begin;

add noun at entry one in position list;

now removal point is the nearest empty slot for the position list starting at slot one;

otherwise;

if entry (number-name of proxy minus one) in position list is placeholder begin;

now entry (number-name of proxy minus one) in position list is noun;

rule succeeds;

end if;

add noun at entry (number-name of proxy) in position list;

now removal point is the nearest empty slot for the position list starting at slot number-name of proxy minus one;

end if;

if removal point is zero begin;

if proxy is A-slot, truncate position list to the first ten entries;

if proxy is not A-slot, truncate position list to the last ten entries;

otherwise;

remove entry removal point from position list;

end if.

Report inserting something relatively left of something:

say "Track [number-name of noun] has been placed directly behind [if second noun is a track]track [number-name of second noun][otherwise]slot [second noun][end if], ";

unless one position is empty begin;

say "pushing out the [if the second noun is a positioned track and the holder of second noun is A-slot]last[otherwise]first[end if] track in the Sequence";

otherwise;

say "and the Sequence has shifted into the closest empty slot";

end unless;

say ".".

Inserting it relatively right of is an action applying to two things. Understand "add [something] in/to/-- the/-- ahead/front/after/right/forward of/-- [something]", "insert [something] in/to/-- the/-- ahead/front/after/right/forward of/-- [something]", "place [something] in/to/-- the/-- ahead/front/after/right/forward of/-- [something]", and "put [something] in/to/-- the/-- ahead/front/after/right/forward of/-- [something]" as inserting it relatively right of.

Understand "add [something] in/to/-- the/-- ahead/front/after/right/forward of/--", "insert [something] in/to/-- the/-- ahead/front/after/right/forward of/--", "place [something] in/to/-- the/-- ahead/front/after/right/forward of/--", and "put [something] in/to/-- the/-- ahead/front/after/right/forward of/--" as inserting it relatively right of.

Rule for supplying a missing second noun while inserting something relatively right of:

now the second noun is the noun.

Check inserting an empty position relatively right of something:

say "Slot [noun] doesn't contain a track." instead.

Check inserting something relatively right of a not positioned track:

say "You can only put a track next to another track that is in the Sequence." instead.

Check inserting a full position relatively right of something:

now the noun is a random track which is in the noun.

Check inserting something relatively right of something:

if the second noun is the last slot of the sequence, say "There are no slots right of the last one." instead;

let receiver be a thing;

if the second noun is a position, now receiver is the second noun;

if the second noun is a track, now receiver is the holder of the second noun;

if receiver is not the last slot of the sequence and entry (number-name of receiver plus one) in position list is noun, say "Track [number-name of noun] is already in Slot [receiver]." instead.

Carry out inserting something relatively right of a position:[In this case, we need to make sure that the second noun stays fixed.]

if entry (number-name of second noun plus one) in position list is placeholder begin;

now entry (number-name of second noun plus one) in position list is noun;

rule succeeds;

end if;

add noun at entry (number-name of second noun plus 1) in position list;

if the noun is positioned begin;

if the number-name of the holder of the noun is greater than the number-name of second noun, now entry (number-name of holder of noun plus one) in position list is placeholder;

if the number-name of the holder of the noun is less than the number-name of second noun, now entry (number-name of holder of noun) in position list is placeholder;

end if;

repeat with counter running from number-name of second noun to number of entries in position list begin;

if entry counter in position list is placeholder begin;

now removal point is counter;

break;

end if;

end repeat;

unless removal point is zero begin;

remove entry removal point from position list;

otherwise;

truncate position list to the first 10 entries;

end unless.

Carry out inserting something relatively right of a track:

[In this case, the tracks can shift left or right, depending on where there is an empty space in the Sequence, or if there is one at all.]

let proxy be the holder of the second noun;

if the noun is a positioned track, now entry (number-name of holder of noun) in position list is placeholder;

if proxy is the last slot of the sequence begin;

reverse position list;

add noun at entry one in position list;

reverse position list;

now removal point is the nearest empty slot for the position list starting at slot number-name of proxy;

otherwise;

if entry (number-name of holder of second noun plus one) in position list is placeholder begin;

now entry (number-name of holder of second noun plus one) in position list is noun;

rule succeeds;

end if;

add noun at entry (number-name of proxy plus 1) in position list;

now removal point is the nearest empty slot for the position list starting at slot number-name of proxy plus one;

end if;

if removal point is zero begin;

if proxy is the last slot of the sequence, truncate position list to the last ten entries;

if proxy is not the last slot of the sequence,truncate position list to the first ten entries;

otherwise;

remove entry removal point from position list;

end if.

Report inserting something relatively right of something:

say "Track [number-name of noun] has been placed directly ahead of [if second noun is a track]track [number-name of second noun][otherwise]slot [second noun][end if], ";

unless one position is empty begin;

say "pushing out the [if the second noun is a positioned track and the holder of second noun is the last slot of the sequence]first[otherwise]last[end if] track in the Sequence";

otherwise;

say "and the Sequence has shifted into the closest empty slot";

end unless;

say ".".

Inserting something relatively left of is inserting relatively. Inserting something relatively right of is inserting relatively.

Inserting it to is an action applying to two things. Understand "group [something] through/to/with [something]" and "group [a numero uno thing] through/to/with [something]" as inserting it to.

[We put all the rules governing this action in a "before inserting something to" rule because it won't trigger in the "last before" rule.]

Playing it through is an action applying to two things. Understand "click on/-- [something] to/through [something]", "click on/-- [a numero uno track] to/through [something]", "examine [something] to/through [something]", "examine [a numero uno track] to/through [something]", "x [a numero uno thing] to/through [something]", "x [something] through/to [something]", "play [a numero uno thing] to/through [something]", and "play [something] through/to [something]" as playing it through.

First check playing something through something when two on-screen not intractable things are involved:

if (the noun is an unpositioned track and the second noun is a positioned track) or (the noun is an unpositioned track and the second noun is a positioned track), switch the noun for the second noun.

First check playing something through something when an intractable thing is involved:

say "You can only play an individual track through another track or an individual slot through another slot. You can also play them in reverse numerical or alphabetical order." instead.

Check playing something through something when (the noun is the second noun) or (a full position is involved and a positioned track is involved and a random involved position contains an involved track):

try examining the noun instead.

Check playing something through something when an unpositioned track is involved:

unless two tracks are involved and two involved tracks are unpositioned, say "To play through tracks, both need to be in the Sequence or outside of it. You can also play a slot through a track, but the track needs to be in a slot." instead.

Check playing something through something:

if two unpositioned tracks are involved begin;

build a list for number-name of noun to number-name of second noun from track list;

say "The unslotted tracks numbered between [number-name of noun] and [number-name of second noun][if the number-name of the second noun is less than the number-name of the noun] (in reverse)[end if]: [lb]";

repeat with selection running through temporary playlist begin;

if selection is unpositioned, remove selection from temporary playlist;

end repeat;

otherwise;

if the noun is a track, now the noun is the holder of the noun;

if the second noun is a track, now the second noun is the holder of the second noun;

if every track is unpositioned, say "The Sequence is empty." instead;

build a list for number-name of noun to number-name of second noun from position list;

if temporary playlist is {}, say "There aren't any tracks in the relevant portion of the Sequence." instead;

say "The sequence between slots [noun] and [second noun][if the number-name of the second noun is less than the number-name of the noun] (in reverse)[end if]: [lb]";

end if.

Carry out playing something through something:

now Continuous play is true;

follow the play the music rule.

randomizing play for is an action applying to one thing. Understand "play [something] random/randomly", and "play random/randomly [something]" as randomizing play for.

Rule for supplying a missing noun while randomizing play for:

if two tracks are positioned begin;

now the noun is the Sequence;

otherwise;

if the number of entries in favorites list is greater than one begin;

now the noun is playlist;

otherwise;

now the noun is the footage;

end if;

end if.

Check randomizing play for when the noun is a track or the noun is a position:

say "You can only play the Sequence, the unslotted tracks, or your playlist randomly." instead.

Check randomizing play for the Sequence when less than two positions are full:

say "[if the number of full positions is zero]No tracks are in the Sequence[otherwise]There is only one track in the Sequence[end if]." instead.

Check randomizing play for the playlist when the number of entries in favorites list is less than two:

say "Your playlist [if the number of entries in favorites list is one]has only one track[otherwise]doesn't have any tracks listed in it[end if]." instead.

Report randomizing play for something:

if the noun is playlist, now temporary playlist is favorites list;

if the noun is the footage, now temporary playlist is the list of unpositioned tracks;

if the noun is the Sequence, now temporary playlist is the list of positioned tracks;

say "Playing [if noun is footage]the unslotted tracks[otherwise][noun][end if] randomly: [pb]";

sort temporary playlist in random order;

follow the play the music rule.

Typing a new name is initially false.

Renaming is an action applying to one thing. Understand "rename [something]", "change name/names", "change titles/title", and "rename" as renaming.

Rule for supplying a missing noun while renaming:

say "You'll also need to specify the track you want to rename.".

Check renaming something which is not a track:

say "You can only rename tracks." instead.

Carry out renaming something:

now the being-labelled is the noun;

disable saving of undo state;

now typing a new name is true.

Report renaming something:

say lb;

now the command prompt is "Type the new name for track [number-name of the being-labelled] or UNDO to cancel: ".

First after reading a command when typing a new name is true during Investigation:

enable saving of undo state;

now the label of the being-labelled is the accessible text of the player's command;

say "[seq]Track [number-name of being-labelled] will be called [label of being-labelled]. [pb][end seq]";

now typing a new name is false;

now the command prompt is "[mdash]";

reject the player's command.

Renaming it as is an action applying to one thing and one topic. Understand "rename [something] as/-- [text]" and "change name/-- of/-- [something] to [text]" as renaming it as.

Check renaming something as text when the noun is not a track:

say "You can only rename tracks." instead.

Report renaming something as text:

now the label of the noun is the accessible text of the topic understood;

say "Track [number-name of noun] will be called [label of noun].".

Renaming is recording. Renaming something as is recording.

Reversing is an action applying to one thing. Understand "reverse [something]", "switch around/-- [something] around/--", "turn around/-- [something] around/--", and "reverse" as reversing.

Understand the command "flip" as "reverse".

Rule for supplying a missing noun while reversing:

if two tracks are positioned begin;

now the noun is the Sequence;

otherwise;

if the number of entries in favorites list is greater than one begin;

now the noun is playlist;

otherwise;

say "Neither your playlist nor the Sequence contains enough tracks to reverse.";

end if;

end if.

Check reversing something when the noun is neither the sequence nor the playlist:

say "You can only reverse the order of the tracks in your playlist or the Sequence." instead.

Check reversing something:

if (the noun is the sequence and the number of full positions is less than two) or (the noun is playlist and the number of entries in favorites list is less than two), say "There aren't enough tracks in [the noun] to reverse." instead.

Carry out reversing playlist:

reverse favorites list.

Carry out reversing sequence:

reverse position list;

follow the put tracks in positions rule.

Report reversing something:

say "[The noun] has been reversed.".

Reversing it through is an action applying to two things. Understand "reverse [something] to/through [something]", "reverse [a numero uno track] to/through [something]", "switch around/-- [something] to/through [something] around/--", "turn around/-- [something] to/through [something] around/--", "turn around/-- [a numero uno track] to/through [something] around/--", and "switch around/-- [a numero uno track] to/through [something] around/--" as reversing it through.

Check reversing something through something when an intractable thing is involved or a not on-screen thing is involved:

say "You can only reverse the tracks in the Sequence by name, or you can reverse slots (which will reverse the tracks that are in and between them)." instead.

Check reversing something through something when the noun is the second noun:

say "You can't reverse a single track." instead.

Check reversing something through something when an unpositioned track (called target) is involved:

say "Track [number-name of target] isn't in the Sequence. To reverse the tracks, both need to be in the Sequence or outside of it. " instead.

check reversing something through something:

if the noun is a track, now the noun is the holder of the noun;

if the second noun is a track, now the second noun is the holder of the second noun;

build a list for number-name of noun to number-name of second noun from position list;

if temporary playlist is {}, say "There needs to be at least one track in the relevant portion of the Sequence otherwise reversing doesn't really do anything." instead;

if the number-name of the second noun is less than the number-name of the noun, switch the noun for the second noun.

Carry out reversing something through something:

let holding be a list of objects;

repeat with counter running from number-name of noun to number-name of second noun begin;

add entry counter in position list to holding;

end repeat;

reverse holding;

repeat with counter running from number-name of noun to number-name of second noun begin;

now entry counter in position list is entry one in holding;

remove entry one from holding;

end repeat.

Report reversing something through something:

say "Tracks between and including those in slots [noun] and [second noun] have been reversed.".

Shuffling is an action applying to one thing. Understand "randomize [something]", "shuffle [something]", "randomize", and "shuffle" as shuffling.

Rule for supplying a missing noun while shuffling:

if two tracks are positioned or the favorites list is {}, now the noun is the Sequence;

otherwise now the noun is the playlist.

Check shuffling something when the noun is neither the Sequence nor the playlist:

say "You can sort only the Sequence or playlist randomly." instead.

Check shuffling something:

let temp be the list of positioned tracks;

if the noun is playlist, now temp is favorites list;

if the number of entries in temp is one, say "There is only one track in [the noun]." instead;

if temp is {}, say "[relay an empty (noun)]" instead.

Carry out shuffling playlist:

sort favorites list in random order.

Carry out shuffling Sequence:

sort position list in random order.

Carry out shuffling something:

follow the put tracks in positions rule.

Report shuffling something:

say "[The noun] has been shuffled. [pb]";

try examining the noun.

Understand "slide [something]", "slide [a numero uno thing]", and "slide [a number]" as a mistake ("[seq] You'll need to specify a direction to shift a track, and make sure it's a track or slot you're shifting. [pb][end seq]") when Investigation is happening.

Understand "slide [a dextrus]" and "slide to the [a dextrus]" as a mistake ("Cochone shifts [if the dextrus understood is left]back[otherwise]forward[end if] in his seat.").

Sliding it forward is an action applying to one thing and one number. Understand "slide [something] forward/right/-- [a number]", "slide [something] forward/right by/-- [a number]", "slide [a numero uno thing] forward/right/-- [a number]", "slide [a numero uno thing] forward/right by/-- [a number]", "slide [something] to the/-- right by/-- [a number]", and "slide [a numero uno thing] to the/-- right by/-- [a number]" as sliding it forward.

Understand the commands "push" and "shift" as "slide".

Sliding it backward is an action applying to one thing and one number. Understand "slide [something] backward/back/left/-- [a number]", "slide [something] backward/back/left by/-- [a number]", "slide [a numero uno thing] backward/back/left/-- [a number]", "slide [a numero uno thing] backward/back/left by/-- [a number]", "slide [something] to the/-- left by/-- [a number]" and "slide [a numero uno thing] to the/-- left by/-- [a number]" as sliding it backward.

slot-skip is initially zero.

Setting action variables for sliding something forward: now slot-skip is number understood.

Setting action variables for sliding something backward: now slot-skip is number understood.

Before sliding forward a number, try sliding the noun along right instead.

Before sliding backward a number, try sliding the noun along left instead.

Sliding it along is an action applying to one thing and one dextrus. Understand "slide [something] [a dextrus]", "slide [a numero uno thing] [a dextrus]", "slide [something] to the [dextrus]", and "slide [a numero uno thing] to the [a dextrus]"

as sliding it along.

Understand "slide [a dextrus] [something]" and "slide [a dextrus] [a numero uno thing]" as sliding it along (with nouns reversed).

Setting action variables for sliding something along a dextrus: unless slot-skip is not one, now slot-skip is one.

First check sliding an unpositioned track along a dextrus:

say "Track [number-name of noun] can't be moved [dextrus understood], because it is not in the Sequence." instead.

Check sliding something along a dextrus when the noun is not a track and the noun is not a position:

say "Please specify a track to shift [dextrus understood]." instead.

Check sliding something along a dextrus when every position is full:

say "The Sequence is full, so you can't shift any tracks [dextrus understood]." instead.

Check sliding something along a dextrus:

now every thing is not marked for manipulation;

if the noun is a track, now the noun is the holder of the noun;

if dextrus understood is left and the noun is A-slot, say "You can't shift the track backward, because slot A is the first in the Sequence." instead;

if dextrus understood is right and the noun is the last slot of the Sequence, say "You can't move the track forward, because slot [noun] is the last slot in the Sequence." instead;

let transferee be noun;

let target be an object;

let ender be number-name of noun minus one;

if dextrus understood is right, now ender is number of positions minus number-name of noun;

repeat with counter running from one to ender begin;

if dextrus understood is right, now target is entry (number-name of noun plus counter) in position list;

if dextrus understood is left, now target is entry (number-name of noun minus counter) in position list;

if target is placeholder, break;

now transferee is holder of target;

end repeat;

now transferee is marked for manipulation;

if noun is empty, now transferee is noun;

if dextrus understood is left and slot-skip is greater than number-name of transferee minus one, say "There aren't enough slots to slide back [slot-skip]." instead;

if dextrus understood is right and slot-skip is greater than number of positions minus number-name of transferee,say "There aren't enough empty slots to slide forward [slot-skip]." instead.

Last check sliding an empty position along a dextrus:

if the dextrus understood is left, reverse position list;

let anchor be number-name of the noun;

if dextrus understood is left, now anchor is positions-plus minus number-name of noun;

let blank removal point be anchor;

repeat with counter running from anchor to the number of positions begin;

if entry counter in position list is a track, now blank removal point is number-name of holder of (entry counter in position list);

if blank removal point is not anchor and entry counter in position list is placeholder, break;

end repeat;

if blank removal point is anchor, say "All of the slots [dextrus understood] of slot [noun] are empty, so there's no reason to shift [dextrus understood]." instead;

if dextrus understood is left, now blank removal point is number of positions minus blank removal point;

repeat with counter running from anchor plus one to anchor plus slot-skip begin;

add placeholder at entry anchor in position list;

remove entry (blank removal point plus one) from position list;

end repeat;

if dextrus understood is left begin;

reverse position list;

if slot-skip is greater than (number-name of noun) minus one, now slot-skip is number-name of noun minus one;

say "Because slot [noun] didn't have a track, ";

if (number-name of the noun minus slot-skip) is less than one begin;

say "the Sequence up to slot [noun] was";

otherwise;

say "[slot-skip] slot[unless slot-skip is one]s[end unless] behind it w[if slot-skip is one]as[otherwise]ere[end if]";

end if;

say " emptied";

otherwise;

if slot-skip is greater than (number-name of noun) plus one, now slot-skip is number of positions minus number-name of noun;

say "Because slot [noun] didn't have a track, [slot-skip] empty slot[if slot-skip is not one]s were[otherwise] was[end if] created in front of it";

end if;

say "." instead.

Last check sliding something along a dextrus:

let transferee be a random marked for manipulation position;

if (dextrus understood is left and slot-skip slots are available starting at number-name of transferee minus slot-skip) or (dextrus understood is right and slot-skip slots are available starting at number-name of transferee plus one), continue the action;

say "The [if slot-skip is one]next slot to [transferee] needs [otherwise][slot-skip] slots [dextrus understood] of slot [transferee] need [end if]to be empty to shift the tracks." instead.

Carry out sliding something along a dextrus:

if dextrus understood is left, reverse position list;

let anchor be number-name of the noun;

if dextrus understood is left, now anchor is positions-plus minus number-name of noun;

unless noun is marked for manipulation begin;

now anchor is the number-name of (a random marked for manipulation position);

if dextrus understood is left, now anchor is positions-plus minus number-name of a random marked for manipulation position;

end unless;

repeat with counter running from one to slot-skip begin;

remove entry (anchor plus one) from position list;

if the noun is not marked for manipulation begin;

increment anchor;

if dextrus understood is right, add placeholder at entry (number-name of noun) in position list;

if dextrus understood is left, add placeholder at entry (positions-plus minus number-name of noun) in position list;

end if;

end repeat;

if noun is marked for manipulation begin;

let blank insertion point be one;

repeat with counter running from one to number of positions begin;

if entry counter in position list is placeholder, now blank insertion point is counter;

if entry counter in position list is in the noun, break;

end repeat;

repeat with x running from one to slot-skip begin;

add placeholder at entry blank insertion point in position list;

end repeat;

end if;

if dextrus understood is left, reverse position list.

Definition: a position (called target) is emptied if entry (number-name of target) in position list is placeholder and target is full.

Report sliding something along a dextrus:

let holding be the list of positions;

now noun is a random track which is in the noun;

say "Track [number-name of noun] has been moved [dextrus understood] [slot-skip] slot[if slot-skip is not one]s[end if]";

if dextrus understood is left begin;

if holder of noun is marked for manipulation begin;

say " to slot [entry (number-name of holder of noun minus slot-skip)in holding]";

if holder of the noun is not the last slot of the sequence and entry (number-name of holder of noun plus one) in temporary position list is a track, say ", pulling back the attached track[if number-name of holder of noun is less than nine and entry (number-name of holder of noun plus two) in temporary position list is a track]s[end if] upstream of it";

otherwise;

say ", pushing the consecutive tracks behind it downstream and leaving slot[if number of emptied positions is not one]s[end if] [list of emptied positions] empty upstream of it";

end if;

otherwise;

if holder of noun is marked for manipulation begin;

say " to slot [entry (number-name of holder of noun plus slot-skip) in holding]";

if holder of the noun is not a-slot and entry (number-name of holder of noun minus one) in temporary position list is a track, say ", pulling ahead the attached track[if number-name of holder of noun is at least three and entry (number-name of holder of noun minus two) in temporary position list is a track]s[end if] behind it";

otherwise;

say ", pushing the consecutive tracks ahead of it and leaving slot[if slot-skip is not one]s[end

if] [list of emptied positions] empty behind it";

end if;

end if;

say ".".

Typing a summary is initially false.

Summarizing is an action applying to one thing. Understand "summarize [something]", "describe [something]", "summarize", and "describe" as summarizing.

Rule for supplying a missing noun while summarizing:

say "You'll also need to specify a track you want to summarize.".

Check summarizing something which is not a track:

say "You can only summarize events in a track." instead.

Carry out summarizing something:

disable saving of undo state;

now being-summarized is the noun;

now typing a summary is true.

Report summarizing something:

let message be "Your new description will be added to the old one ";

if the short-description of the noun is "", now message is "Type a new description for Track [number-name of being-summarized]. Make it short; if it is too long, the whole description will not be saved ";

now the command prompt is "[message](UNDO cancels this action): ".

Summarizing is recording.

First after reading a command when typing a summary is true:

enable saving of undo state;

now typing a summary is false;

let holding be short-description of being-summarized;

now the short-description of the being-summarized is "[holding][pb][the accessible text of the player's command]";

say "[lb]You've provided a new description of Track [number-name of being-summarized]. This description will be printed when you play the track with summaries switched on. [pb][end seq]";

now the command prompt is "[mdash]";

reject the player's command.

Switching is an action applying to one thing. Understand "toggle [something]", "switch", and "toggle" as switching.

Rule for supplying a missing noun while switching:

now the noun is the summary.

Understand "start [a device]" and "[a switched off device]" as switching on.

Understand "stop [a device]" and "[a switched on device]" as switching off.

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

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

Switching on is toggling. Switching off is toggling.

Section - Conversation

Discussing it with is an action applying to two things. Understand "ask [something] to/about/for/-- [something]", "ask [something] to research/look up/-- [something]", "talk about [something] to/with [something]", "ask for/about/-- [something]", "talk about [something]", "say look up [something]", "speak [something]", "tell [something]", and "say [something]" as discussing it with.

Understand "ask [a person] to/about/for/-- [something]", "ask [a person] to research/look up/-- [something]", and "talk to [a person] to/about [something]" as discussing it with (with nouns reversed).

Check discussing the player with a person:

say "Cochone decides not to bore [second noun] with details about himself." instead.

Check discussing something with the player:

say "Cochone ruminates on [the noun] instead, but he doesn't come to any conclusions." instead.

Check discussing something with something:

unless the noun is a Conversation Piece listed in the Table of Conversation, say "[if the noun is a person]'There's not much more to say, really,' [second noun] replies. 'At least not right now. We have work to do[otherwise]Cochone mentions [the noun] to Jenny, but she just grunts a reply and continues to stare at her laptop[end if]." instead.

Report discussing something with something:

choose row with a Conversation Piece of the noun in the Table of Conversation;

say conversation entry;

say lb;

blank out the Conversation Piece entry.

Table of Conversation

Conversation Piece Conversation

bracelet "[if Jennifer is unexamined]Cochone watches Jenny's hands dip and swing over her laptop keyboard. He considers the lumpy bracelet jangling around her wrist. [end if]'What's the story with the bracelet?' Cochone says. 'Are those dogs?' [pb]Jenny sighs. 'Yeah. The three pieces are the dogs I've had.' She lifts part of the bracelet. 'There's Burton, the Lab I had in high school.' She shifts her finger over to the middle charm. 'The small one is Hilton. He died of cancer when I joined the police.' She caresses the last and largest. 'Then there's Chas. He's my Great Dane.' [pb]'Must be hard walking that brute.' [pb]'Not really. Like the breed in general, he's lazy. And when he wants to go, I can just take him to a park and let him go. More boys I meet.' She smiles. 'The more I love my dog.'"

dogs "'You're obviously a dog person' Cochone says. 'Your bracelet.' [pb]'Yes,' Jenny says. 'I've always had at least one all my life. My Chas is sick, too. Guess that makes you the second sick dog I've seen today.' Jenny raises her eyebrows expecting a retort. With none forthcoming, she continues, 'He's in pretty bad shape. I had to find a dogsitter for him. I bet he'll be fine.' [pb]Cochone returns Jenny's smile. 'Odds are good.'"

cane "'Is there any chance you won't need that chair?' Cochone says. [pb]'Maybe. If I just keep working at it. Part of the problem is balance. You know what happened, right? My ex-boyfriend got really drunk and came back to my apartment and found me with his friend Chris. We were just talking. He was there to see Eric. But when he left, Eric threw me against the wall and down the stairs. And he didn't stop there.' Jenny looks down. 'Thing is, he had reason to be jealous. Chris and I were talking about how it would work between us. But it didn't.' [pb]'So where is your ex?' [pb]'He got out of prison a couple of years ago. And I won't be fooled again, by him or any other guy.' [pb]'Ten-to-one says you lose the chair in a year.' [pb]Jenny giggles."

Jennifer "'So what else can I know about you?' Cochone says. [pb]'I don't smell a dinner,' Jenny says. 'And I'm not interested in what's on your menu.' She laughs."

stain "'So will a regular wash get this coffee stain out?' Cochone says. [pb]'A good detergent should,' Jenny says. 'What happened, anyway?' [pb]'Coffee in my hand; cat in the street. Loose lid on the cup.' [pb]'You didn't hit him, did you?' [pb]'No. He didn't even flinch. Not like me.'"

Happy Jack "'What's the story with the bear?' Cochone says. [pb]'Oh, he was a gift from my dad,' Jenny glances at the bear. 'He gave it to me after I graduated from the academy. He [mdash] HJ [mdash] gives me strength. You know, to [']bear' it.['] She gestures to her wheelchair. [pb]'Huh,' Cochone says. [pb]'Oh come on, that was pretty bad. Not even a groan?' [pb]'Ironside did all right. He was in a chair, too.' [pb]'Oh, yeah? What division?' [pb]Cochone shakes his head. 'Forget it.'"

Nigel "'What do you think of the Lieutenant?' Cochone says. [pb]'Nigel?' Jenny says. 'He's great.' [pb]'He's not around, you know. You can be honest.' [pb]'He doesn't need to be here to know what we're talking about. I do IT, remember? Surveillance equipment too. Hidden cameras.' [pb]'You bugged this room for him?' [pb]Jenny laughs. 'Of course not. Not this office ... ' [lb]"

Nigel "'I saw the Lieutenant kick a puppy once,' Cochone says. 'He leaves the toilet seat up, too. All the time. Drives his wife nuts.' [pb]'You're full of it,' Jenny says. 'I have nothing bad to say about him. He got me this job.'"

Nigel "'You know, Nigel ... ' Cochone says. [pb]'I don't want to here it. We shouldn't talk about him behind his back.'"

Informing about it to is an action applying to two things. Understand "tell [something] to/-- research/look/-- up/-- [something]" as informing about it to.

Understand "tell [a person] about/to/-- research/look/-- up/-- [something]" and "tell to [a person] [something]"as informing about it to (with nouns reversed).

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

Understand "ask [something] to/about/for/-- [text]", "ask [a person] to research/look/-- up/-- [text]", "tell [a person] to/-- research/look/-- up/-- [text]", and "talk to [something] to/about [text]" as talking about it with (with nouns reversed).

Check talking about text with the player:

say "Cochone throws [topic understood] around in his head but nothing falls out." instead.

Check talking about text with something:

say "Cochone tries to talk to [second noun] about [topic understood], but she gives a dismissive shrug, smiles, and returns to her work." instead.

[We include the following code, commented out, just in case we want to use it in future releases.]

[Report talking about text with something:

if the topic understood is a topic listed in the Table of Discussion begin;

say "[conversation entry][pb]";

blank out the Topic entry;

end if.

Table of Discussion

Topic Conversation]

Discussing something with is stalling. Informing about something to is stalling. Talking about text with is stalling.

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

Rule for supplying a missing second noun while conversing:

if Investigation is happening, now the second noun is Jennifer;

otherwise now the second noun is Nigel.

"talk to/with [something]", "ask [a person]", "say to/with [something]", "speak to/with [something]", "converse", "speak", and "talk" as talking to.

Rule for supplying a missing noun while talking to:

now the noun is Jennifer.

Check talking to something which is not a person:

say "[if the second noun is plural-named]Those are[otherwise]That's[end if] unlikely to respond, and Cochone doesn't want to look silly in front of Jenny. At least not more than he already has." instead.

Check talking to the player:

say "Cochone decides to keep his thoughts to himself; Jenny probably doesn't want to hear them." instead.

Talking to is conversing. Talking to is stalling.

Section - Reading and Writing notes

Writing some notes is initially false.

Reading is an action applying to one thing. Understand "read [something]" and "read" as reading.

Understand the command "peruse" as "read".

Rule for supplying a missing noun while reading:

now the noun is the notebook.

Check reading the notebook when the notebook is not noted upon:

say "[unless the notebook has been noted upon]You haven't made any notes this session[otherwise]You've deleted the notes in the notebook[end unless]." instead.

Report reading the notebook:

say "Notebook [pb] [text of the text file of the noun] [pb][end seq] [lb]The notebook closes.".

Writing it in is an action applying to one topic and one thing. Understand "write [text] in/into/on/onto [something]" and "write [text]" as writing it in.

Understand "write in/into/on/onto [something] [text]" as writing it in (with nouns reversed).

Understand the commands "record" and "type" as "write".

Rule for supplying a missing second noun while writing text in:

now the second noun is the notebook.

Check writing text in something which is not the notebook:

say "Only the Notebook can take notes." instead.

Carry out writing text in something:

now the notebook is noted upon;

append "[topic understood][lb]" to the text file of the second noun.

Report writing text in something:

say "The Notebook opens, records the note, and closes again.".

Writing is an action applying to nothing. Understand "write" and "write note/notes/thoughts" as writing.

Carry out writing:

now the notebook is noted upon;

disable saving of undo state;

now writing some notes is true.

Report writing:

now the command prompt is "Write your note here:".

First after reading a command when writing some notes is true during Investigation:

enable saving of undo state;

now writing some notes is false;

append "[the accessible text of the player's command][lb]" to the text file of the notebook;

now the command prompt is "[mdash]";

say "[lb]Recorded. [pb][end seq] [lb]The Notebook closes. [lb]";

reject the player's command.

Writing about it in is an action applying to one visible thing and one thing. Understand "write [any thing] in/into/on/onto [something]" and "write [any thing]" as writing about it in.

Understand "write in/into/on/onto [something] [any thing]" as writing about it in (with nouns reversed).

Rule for supplying a missing second noun while writing about anything in:

now the second noun is the notebook.

Writing is recording. Writing text in is recording. Writing about something in is recording.