Section Two - "Humbertian Ledger"
The guest ledger is a book in the Hotel Metropole. It is scenery. Check taking the guest ledger: instead say "It's chained firmly to the counter." Understand "grubby", "greasy", "chained", "chain", "entry", "entries", and "book" as the guest ledger. The guest ledger has a number called guests_seen. The guests_seen of the guest ledger is 0. The contents of the guest ledger is the Table of Guests.
Instead of examining the guest ledger:
let N be the number of rows in the Table of Guests;
let S be the guests_seen of the guest ledger;
if S > N - 4
begin;
say "You flip aimlessly through the ledger, learning nothing new.";
stop the action;
end if;
if Eugenides is horny and the location of Eugenides is the Eugenidean Boudoir and the guest ledger is not handled
begin;
choose row 1 in the Table of Guests;
say "[How entry] [where entry] of the ledger, you find '[name entry], [hometown entry] - Room [roomnumber entry].'";
if the clerk is handled
begin;
if Eugenides is boinked
begin;
say "The clerk smirks. 'That's what I said.'";
otherwise;
say "The clerk rolls his eyes at your suspicion. He mutters, 'Told you so.'";
end if;
end if;
if there is no seen entry
begin;
increase S by 1;
now the guests_seen of the guest ledger is S;
now the seen entry is 1;
end if;
now the guest ledger is handled;
stop the action;
end if;
choose a random row in the Table of Guests;
while there is a seen entry
begin;
choose a random row in the Table of Guests;
end while;
now the seen entry is 1;
increase S by 1;
now the guests_seen of the guest ledger is S;
now the stored row is the current row;
follow the printing-a-guest rule.
Instead of consulting the guest ledger about a topic listed in the Table of Guests:
if the name entry is "Clare Quilty" or the name entry is "Dolores Haze" or the name entry is "Humbert Humbert"
begin;
say "There is, of course, no entry for '[name entry].' Nevertheless: [italic type]touchè[roman type], reader[70 as a reference][32 as a footnote]!";
otherwise;
now the seen entry is 1;
now the stored row is the current row;
follow the printing-a-guest rule;
end if;
now the seen entry is 1.
This is the printing-a-guest rule:
choose row stored row in the Table of Guests;
if there is no roomnumber entry, now the roomnumber entry is a random number between 1 and 20;
if there is no where entry
begin;
if a random chance of 1 in 3 succeeds
begin;
now the where entry is "near the front";
otherwise;
if a random chance of 1 in 2 succeeds
begin;
now the where entry is "somewhere in the middle";
otherwise;
now the where entry is "towards the end";
end if;
end if;
end if;
if there is no how entry
begin;
if a random chance of 1 in 3 succeeds
begin;
now the how entry is "Scrawled";
otherwise;
if a random chance of 1 in 2 succeeds
begin;
now the how entry is "Fastidiously printed";
otherwise;
now the how entry is "Neatly written";
end if;
end if;
end if;
say "[How entry] [where entry] of the ledger, you find '[name entry], [hometown entry] - Room [roomnumber entry].'"
Table of Guests
topic | name | hometown | how | where | roomnumber | seen ( a number) |
"Eugenides/Smyrna/Mr/mister/merchant" or "Mr Eugenides" or "Mister Eugenides" | "Mr. Eugenides" | "Smyrna" | "Scrawled" | "at the end" | 14 | -- |
"Syra" | "Syra" | "Rome" | ||||
"N/Petit/Larousse" or "N Petit" | "N. Petit" | "Larousse" | -- | -- | -- | -- |
"Dr/Gratiano/Forbeson/Mirandola" or "Dr Gratiano Forbeson" or "Gratiano Forbeson" or "Dr Forbeson" | "Dr. Gratiano Forbeson" | "Mirandola" | ||||
"Arsene/Lupin/Arsène/Paris" or "Arsene Lupin" or "Arsène Lupin" | "Arsène Lupin" | "Paris" | ||||
"Person/A/Porlock" or "A Person" | "A. Person" | "Porlock" | ||||
"Arthur/Rainbow/Harar" or "Arthur Rainbow" | "Arthur Rainbow" | "Harar" | ||||
"Morris/Schmetterling/Ghent" | "Morris Schmetterling" | "Ghent" | ||||
"D/Orgon/Elmira" or "D Orgon" | "D. Orgon" | "Elmira" | ||||
"Harry/Bumper/Sheridan" or "Harry Bumper" | "Harry Bumper" | "Sheridan" | ||||
"Phineas/Quimby/Lebanon" or "Phineas Quimby" | "Phineas Quimby" | "Lebanon" | ||||
"Kitzler/Eryx" or "Dr Kitzler" | "Dr. Kitzler" | "Eryx" | ||||
"Johnny/Randall/Ramble" | "Johnny Randall" | "Ramble" | ||||
"S/NS/Aristoff/Catagela" or "N S Aristoff" or "N Aristoff" | "N. S. Aristoff" | "Catagela" | ||||
"James/Mavor/Morell/Hoaxton" or "James Morell" or "James Mavor Morell" | "James Mavor Morell" | "Hoaxton" | ||||
"G/Trapp/Geneva" or "G Trapp" | "G. Trapp" | "Geneva" | ||||
"Aubrey/Beardsley/Quelquepart/Island" or "Aubrey Beardsley" or "Quelquepart Island" | "Aubrey Beardsley" | "Quelquepart Island" | ||||
"Lucas/Picador/Merrymay" or "Lucas Picador" | "Lucas Picador" | "Merrymay" | ||||
"Will/Brown/Dolores" or "Will Brown" | "Will Brown" | "Dolores" | ||||
"Harold/Haze/Tombstone" or "Harold Haze" | "Harold Haze" | "Tombstone" | ||||
"Don/Donald/Quix/Sierra" or "Don Quix" or "Donald Quix" | "Donald Quix" | "Sierra" | ||||
"Ted/Hunter/Cane" or "Ted Hunter" | "Ted Hunter" | "Cane" | ||||
"Clare/Quilty" or "Clare Quilty" | "Clare Quilty" | "Zembla" | -- | -- | -- | 1 |
"Humbert" or "Humbert Humbert" | "Humbert Humbert" | "Elphinstone" | -- | -- | -- | 1 |
"Lolita" or "Dolores Haze" | "Dolores Haze" | "Ramsdale" | -- | -- | -- | 1 |