Part Eight - "Prayer"
Chapter One - "Grammar"
Understand "help" or "hint" as requesting help.
Requesting help is an action out of world applying to nothing. Carry out requesting help: say "It is said that the gods occasionally answer prayers."
The has-prayed-to-slot is text that varies. The has-prayed-to-slot is "(null)".
First scene changing rule when praying or praying to:
rule succeeds.
First every turn rule when praying or praying to:
rule succeeds.
Understand "pray" as praying.
Understand "pray to [text]" as praying to.
Understand "recap prayer" or "recap prayers" as recalling prayer.
Praying is an action applying to nothing. Carry out praying:
Now the prayer_flag is 0;
say "You offer up a prayer to whatever gods might be listening.";
follow the prayer rule.
Praying to is an action applying to one topic. Carry out praying to:
now the prayer_flag is 1;
[ say "At the last second, you lose your nerve and spinelessly offer up a prayer to whatever gods might be listening."; ]
follow the prayer rule.
The current Hecatoncheries name is some text that varies. The current Hecatoncheries name is "Maharg Noslen". The prayer_flag is a number that varies. The prayer_flag is 0.
This is the Hecatoncheries picking rule:
choose a random row in the Table of Hecatoncheries Names;
now the current Hecatoncheries name is the name entry.
This is the prayer rule:
if the player is a pumpkin
begin;
say "No gods will help you now.";
stop the action;
end if;
if the location is in Darkest Africa
begin;
say "As you pray, your head fills with the humming of angry bees. You're sure your prayers are not reaching anyone, and indeed your prayers go unanswered.";
stop the action;
end if;
follow the Hecatoncheries picking rule;
follow the deciding the current hint state rule;
if rule failed, stop the action;
choose row with a state of the current hint state in the Table of Prayer;
if the current hint state is hint_trivia
begin;
if the prayer_flag is 1
begin;
if the topic understood matches the topic entry
begin;
now the mysterious goddess is proper-named;
now the mysterious goddess is horny;
now the printed name of the mysterious goddess is "Trivia";
really have the parser notice the mysterious goddess;
say "The goddess smiles with satisfaction.[paragraph break]";
otherwise;
say "The goddess shakes her head sadly. 'I'm sorry, Stiffy, but I am not [the topic understood in title case]. Better luck next time.' She kisses you on the cheek and vanishes with a thunderclap.";
move the mysterious goddess to Limbo;
now the has-prayed-to-slot is "wrong";
stop the action;
end if;
otherwise;
say "The goddess looks amused. 'Sneaky. Admirable. However, no, I'm not going to permit you to just get my name from the Hecatoncheries. Pray to me [italic type]by name[roman type], Stiffy.'";
stop the action;
end if;
end if;
if the location is in Olympus and the location is not Summit
begin;
say "Three ascending, headsplitting tones fill your ears, followed by a woman's neutral voice: 'We're sorry. It is not necessary to dial a one before dialing this number. Please hang up and try again,' and then a click.";
stop the action;
end if;
if there is no turn stamp entry and the current hint state is not unknown
begin;
now the turn stamp entry is the turn count;
now the place entry is the location;
if prayer_flag is 0
begin;
say "'Olympian Hotline, [current Hecatoncheries name] speaking. Based on your current situation, I'm going to try to put you through to [Governing deity entry]. Please hold while I connect you.'[paragraph break]";
otherwise;
say "'Olympian Hotline, [current Hecatoncheries name] speaking. ";
if the topic understood does not match the topic entry
begin;
now the has-prayed-to-slot is "wrong";
say "The deity you requested does not answer. Based on your current situation, I'm going to try to put you through to [Governing deity entry] instead. Please hold.'[paragraph break]";
otherwise;
if the has-prayed-to-slot is "(null)"
begin;
now the has-prayed-to-slot is the Governing deity entry;
end if;
say "Please hold while I try to put you through to [Governing deity entry].'[paragraph break]";
end if;
end if;
say "You are subjected to a short interlude of insipid music, followed by, '[Governing deity entry] speaking: [Advice entry]'[paragraph break]";
otherwise;
if there is a turn stamp entry
begin;
say "'Olympian Hotline, [current Hecatoncheries name] speaking. According to our records, you've already spoken to [Governing deity entry] about your predicament. [summary entry] Thank you for your call.'";
otherwise;
say "'Olympian Hotline. All our representatives are currently busy assisting other supplicants. Please try again later. Thank you for your call.'";
end if;
end if.
After praying or praying to for the first time, say "[bracket] You can review the responses to your prayers with RECAP PRAYER. [close bracket][paragraph break]"
Recalling prayer is an action applying to nothing. Carry out recalling prayer:
sort Table of Prayer in turn stamp order;
let index be 0;
repeat through Table of Prayer
begin;
if there is a turn stamp entry
begin;
if index is 0, say "You have so far received the following results from prayer: [line break]";
let index be 1;
say " In [the place entry]: [summary entry][line break]";
end if;
end repeat;
if index is 0
begin;
say "The gods have vouchsafed you nothing.";
otherwise;
say line break;
end if.
hint state is a kind of value. The hint states are unknown, hint_battlement_intro, hint_lake_intro, hint_caesar, hint_julia, hint_priest, hint_artist, hint_apple_dark, hint_apple_light, hint_alleymaze, hint_alley, hint_slutty_julia, hint_lovenest, hint_dockside, hint_cocky, hint_filthy, hint_sewers, hint_grate, hint_glub, hint_sewer_dark, hint_wait, hint_palinurus, hint_archie, hint_clap, hint_gate, hint_weed, hint_cuma, hint_judaea, hint_jonah, hint_alexandria, hint_currants, hint_serapis, hint_coffin, hint_cleopatra, hint_alexander, hint_circumcision, hint_pirates, hint_cabin_boy, hint_rowing, hint_woad, hint_battlement_recap, hint_lake_recap, hint_persephone, hint_stetson, hint_cerberus_guarding, hint_cerberus_intrigued, hint_tiresias, hint_madame, hint_bone, hint_bone_boned, hint_charon, hint_agamemnon, hint_tantalus, hint_sweeny, hint_olive, hint_sweeny_horny, hint_madame_horny, hint_grahams, hint_kentucky, hint_mantua, hint_doolittle, hint_good_wine, hint_moonmilk, hint_fur, hint_stick, and hint_trivia.
The current hint state is a hint state which varies. The current hint state is unknown.
This is the deciding the current hint state rule:
now the current hint state is unknown;
[ being Eris is its own special case ]
if the player is Divine Eris
begin;
say "Tacky, tacky, tacky. If you need help from one of your fellow deities, just go and ask.";
rule fails;
end if;
[ Jonah overrides all the others ]
If the tallis is worn and the fake beard is worn and the golden banana is not handled
begin;
now the current hint state is hint_jonah;
now the fake beard is warned_about;
choose row with a state of the current hint state in the Table of Prayer;
if there is a turn stamp entry
begin;
say "Yahweh's voice thunders in your ears. 'JONAH! Go down to Nineveh and preach, you schmuck! How many times do I have to tell you?'";
rule fails;
otherwise;
rule succeeds;
end if;
end if;
if the location is the Battlement and the turn count is less than 10, now the current hint state is hint_battlement_intro;
if the location is the Lake and the turn count is less than 10, now the current hint state is hint_lake_intro;
if the location is the Curia Steps and Caesar is visible, now the current hint state is hint_caesar;
if the location is the Phallus Interior and Julia is visible, now the current hint state is hint_julia;
if the location is the Tavern and the Priest of Jupiter Virilis is visible, now the current hint state is hint_priest;
if the Artist is in the location and the location of the mask is not a room, now the current hint state is hint_artist;
if the location is the Temple of Eris or the location is the Altar of Eris, now the current hint state is hint_apple_dark;
if the stiffycock is lit and the location is the Altar of Eris, now the current hint state is hint_apple_light;
if the location is the Twisty Little Alley, now the current hint state is hint_alleymaze;
if the location is the Phallus Interior and Slutty_Julia is visible and the stiffycock is not lit, now the current hint state is hint_slutty_julia;
if the location is the Stiffy Love Nest, now the current hint state is hint_lovenest;
if the location is the Dockside, now the current hint state is hint_dockside;
if the location is the Tablinum and Cocky is not warned_about, now the current hint state is hint_cocky;
If the player is filthy, now the current hint state is hint_filthy;
if the location is a sewer_room
begin;
if the location of the iron key is a room
begin;
if the iron grate has been unlocked
begin;
now the current hint state is unknown;
otherwise;
if Sewer10 is unvisited
begin;
now the current hint state is hint_sewers;
otherwise;
now the current hint state is hint_grate;
end if;
end if;
otherwise;
if in darkness begin;
now the current hint state is hint_sewer_dark;
otherwise;
now the current hint state is hint_sewers;
end if;
end if;
end if;
if the location is the House_of_Glub, now the current hint state is hint_glub;
if Festus is in the location and the Privy is unvisited, now the current hint state is hint_wait;
if the location is in Shipboard, now the current hint state is hint_palinurus;
if the location is in Sicily and Archie is unboinked, now the current hint state is hint_archie;
if the stiffycock is diseased, now the current hint state is hint_clap;
if the location is the agora and the necropolis gate is locked, now the current hint state is hint_gate;
if the location is the cemetery and the location of the weed is not a room, now the current hint state is hint_weed;
If the location is in Campania, now the current hint state is hint_cuma;
If the location is in Judaea, now the current hint state is hint_judaea;
If the location is in Egypt, now the current hint state is hint_alexandria;
If the location is the Temple of Serapis, now the current hint state is hint_serapis;
If the location is Great Harbor and the surly guard is not handled, now the current hint state is hint_currants;
if the location is in Palace Grounds and the sarcophagus is closed, now the current hint state is hint_coffin;
If Cleopatra is in the location and Cleopatra is unboinked, now the current hint state is hint_cleopatra;
If the location is in Palace Grounds and the sarcophagus is open and the mummified corpse is not warned_about, now the current hint state is hint_alexander;
if the player encloses the golden banana and the golden banana is not warned_about, now the current hint state is hint_circumcision;
if the global_pirate_attack_flag is greater than 0 and the global_pirate_attack_flag is less than 4, now the current hint state is hint_pirates;
if the location is Captain's Cabin, now the current hint state is hint_cabin_boy;
if the location is Galley, now the current hint state is hint_rowing;
if the location is Druidic Grove, now the current hint state is hint_woad;
if the location is the Battlement and the turn count is greater than 10, now the current hint state is hint_battlement_recap;
if the location is the Lake and the turn count is greater than 10, now the current hint state is hint_lake_recap;
if the location is Rats' Alley, now the current hint state is hint_alley;
if the bone is visible, now the current hint state is hint_bone_boned;
if the bone is visible and Persephone is in Persephone's Palace, now the current hint state is hint_bone;
if Persephone is in the location, now the current hint state is hint_persephone;
if the location is the Garden and Stetson is in the garden, now the current hint state is hint_stetson;
if the location is the Garden and Stetson is not in the garden, now the current hint state is hint_persephone;
if Cerberus is in the location and Cerberus is guarding, now the current hint state is hint_cerberus_guarding;
if Cerberus is in the location and Cerberus is intrigued, now the current hint state is hint_cerberus_intrigued;
if Tiresias is in the location and Tiresias is not_warned_about, now the current hint state is hint_tiresias;
if Apeneck Sweeny is in the location and Apeneck Sweeny is not horny, now the current hint state is hint_sweeny;
if the location is the Olive Grove and the olive_tree is visible, now the current hint state is hint_olive;
if the location is the Apartment and Madame Sosostris is not horny, now the current hint state is hint_madame;
if Charon is in the location and Charon is broken, now the current hint state is hint_charon;
if Agamemnon is in the location and the umbrella is not held by Agamemnon, now the current hint state is hint_agamemnon;
if Tantalus is in the location, now the current hint state is hint_tantalus;
if Apeneck Sweeny is in the location and Apeneck Sweeny is horny, now the current hint state is hint_sweeny_horny;
if Madame Sosostris is in the location and Madame Sosostris is horny and Madame Sosostris is unboinked, now the current hint state is hint_madame_horny;
if the Grahams are visible and the location of the umbrella is not a room, now the current hint state is hint_grahams;
if Dream of the Red King is happening, now the current hint state is hint_kentucky;
if the location is in Mantua and Villa Peristyle is not warned_about, now the current hint state is hint_mantua;
if the location is in Mantua and the duck is visible and the moonmilk is not_warned_about, now the current hint state is hint_doolittle;
if the location is in Mantua and the cheap_wine is warned_about and the ancient bottle is not mentioned
begin;
if the potatoe is not_warned_about
begin;
now the current hint state is hint_good_wine;
now the potatoe is warned_about;
otherwise;
now the current hint state is hint_moonmilk;
end if;
end if;
if the location is in Olympic Slopes and the walking stick is not visible, now the current hint state is hint_stick;
if the location is in Olympic Slopes and the threadbare fur cloak is not worn, now the current hint state is hint_fur;
if the location is Summit and the mysterious goddess is in the location and the mysterious goddess is not proper-named, now the current hint state is hint_trivia.