Constant Story "Works of Fiction"; Constant Headline "^Some ice-9 in your drink ?^lejibe@@64gmail.com^"; Constant GG_SECONDWIN_ROCK 210; Constant GG_THIRDWIN_ROCK 220; Constant GG_FOURTHWIN_ROCK 230; Constant GG_FIFTHWIN_ROCK 240; Global gg_secondwin = 0; Global gg_thirdwin = 0; Global gg_fourthwin = 0; Global gg_fifthwin = 0; Global gg_musicchan = 0; Global firstlook = true; Include "Parser"; Object LibraryMessages with before [; Miscellany: if (lm_n == 44 && action_to_be == ##Take) "You can't use ALL in this context. Yes. I disabled it. Too bad. You will have to type many actions. Life sucks.^"; ]; Include "VerbLib"; Include "Infglk"; attribute sprayable; [ InitGlkWindow winrock; switch (winrock) { GG_STATUSWIN_ROCK: rtrue; } rfalse; ]; [Open1; if (gg_secondwin == 0) { gg_secondwin = glk_window_open(gg_mainwin, (winmethod_Right+winmethod_Proportional), 50, wintype_TextBuffer, GG_SECONDWIN_ROCK); if (gg_secondwin == 0) { print "[Unable to open second window.]^"; quit; } } else { glk($002A, gg_secondwin); ! window_clear } ]; [Open2; if (gg_thirdwin == 0) { gg_thirdwin = glk_window_open(gg_secondwin, (winmethod_Below+winmethod_Proportional), 50, wintype_TextBuffer, GG_THIRDWIN_ROCK); if (gg_thirdwin == 0) { print "[Unable to open third window.]^"; quit; } } else { glk($002A, gg_thirdwin); ! window_clear } ]; [Open3; if (gg_fourthwin == 0) { gg_fourthwin = glk_window_open(gg_mainwin, (winmethod_Below+winmethod_Proportional), 50, wintype_TextBuffer, GG_FOURTHWIN_ROCK); if (gg_fourthwin == 0) { print "[Unable to open third window.]^"; quit; } } else { glk($002A, gg_fourthwin); ! window_clear } ]; [Open4; if (gg_fifthwin == 0) { gg_fifthwin = glk_window_open(gg_mainwin, (winmethod_Right+winmethod_Proportional), 50, wintype_TextBuffer, GG_FIFTHWIN_ROCK); if (gg_fifthwin == 0) { print "[Unable to open third window.]^"; quit; } } else { glk($002A, gg_fifthwin); ! window_clear } ]; [Close1; glk_window_close(gg_secondwin,0); ]; [Close4; glk_window_close(gg_fifthwin,0); ]; [Close3; glk_window_close(gg_fourthwin,0); ]; [Close2; glk_window_close(gg_thirdwin,0); ]; ![Close1; !glk_window_set_arrangement(gg_secondwin,winmethod_Fixed,300, GLK_NULL); !]; [Wait; KeyCharPrimitive(); ]; [Joue k; if (gg_musicchan) {} else { gg_musicchan = glk_schannel_create(0); } glk_schannel_play_ext(gg_musicchan, k, 1, 0); ]; [Nettoie; glk_window_clear(gg_mainwin); glk_window_clear(gg_secondwin); glk_window_clear(gg_thirdwin); glk_window_clear(gg_fourthwin); ]; [Nettoie1; glk_window_clear(gg_mainwin); ]; [Gras; ! style Gras glk_set_style(style_Emphasized); ]; [Italique; ! Italique glk_set_style(style_Note); ]; [Normal; ! style normal glk_set_style(style_Normal); ]; ! Utility function to set the current output to window 1 or 2 or 3. ! [ SetWindow dest substream; if (dest == 1) { substream = glk($2C, gg_mainwin); ! window_get_stream glk($47, substream); ! stream_set_current } else if (dest == 2) { substream = glk($2C, gg_secondwin); ! window_get_stream glk($47, substream); ! stream_set_current } else if (dest == 3) { substream = glk($2C, gg_thirdwin); ! window_get_stream glk($47, substream); ! stream_set_current } else if (dest == 4) { substream = glk($2C, gg_fourthwin); ! window_get_stream glk($47, substream); ! stream_set_current } else if (dest == 5) { substream = glk($2C, gg_fifthwin); ! window_get_stream glk($47, substream); ! stream_set_current } ]; ! - multiwindows sequence functions [ FindTwin obj val; if (obj == nothing) return nothing; if (obj == gerard) return secondselfobj; if (obj in Compass) return obj; val = obj.twin; if (~~val) print "[BUG] ", (The) obj, " has no twin.^"; return val; ]; [ FindTwin2 obj val; if (obj == nothing) return nothing; if (obj == gerard) return thirdselfobj; if (obj in Compass) return obj; val = obj.twin2; if (~~val) print "[BUG] ", (The) obj, " has no twin2.^"; return val; ]; [ FindTwin3 obj val; if (obj == nothing) return nothing; if (obj == gerard) return fourthselfobj; if (obj in Compass) return obj; val = obj.twin3; if (~~val) print "[BUG] ", (The) obj, " has no twin3.^"; return val; ]; [ MultiColBeginAction a n s source sa sn ss i k; sa = action; sn = noun; ss = second; action = a; noun = n; second = s; #Ifdef DEBUG; if (debug_flag & 2 ~= 0) TraceAction(source); #Endif; if ((meta || BeforeRoutines() == false) && action < 4096) ActionPrimitive(); action = sa; noun = sn; second = ss; if (meta) return; if (source ~= 0 && firstlook == false) return; if (gerard.cinematique==0) { SetWindow(2); ChangePlayer(secondselfobj); action = a; noun = FindTwin(n); second = FindTwin(s); for (k=0 : kk; if (i == PATTERN_NULL or 0 or 1) continue; if (i >= REPARSE_CODE) continue; if (i provides twin) pattern-->k = FindTwin(i); } if (firstlook == false) { L__M(##Prompt); glk($0086, 8); ! set input style PrintCommand(0); glk($0086, 0); ! set normal style new_line; } #Ifdef DEBUG; if (debug_flag & 2 ~= 0) TraceAction(source); #Endif; ! DEBUG if ((meta || BeforeRoutines() == false) && action < 4096) ActionPrimitive(); SetWindow(3); ChangePlayer(thirdselfobj); action = a; noun = FindTwin2(n); second = FindTwin2(s); for (k=0 : kk; if (i == PATTERN_NULL or 0 or 1) continue; if (i >= REPARSE_CODE) continue; if (i provides twin2) pattern-->k = FindTwin2(i); } if (firstlook == false) { L__M(##Prompt); glk($0086, 8); PrintCommand(0); glk($0086, 0); new_line; } #Ifdef DEBUG; if (debug_flag & 2 ~= 0) TraceAction(source); #Endif; if ((meta || BeforeRoutines() == false) && action < 4096) ActionPrimitive(); SetWindow(4); ChangePlayer(fourthselfobj); action = a; noun = FindTwin3(n); second = FindTwin3(s); for (k=0 : kk; if (i == PATTERN_NULL or 0 or 1) continue; if (i >= REPARSE_CODE) continue; if (i provides twin3) pattern-->k = FindTwin3(i); } if (firstlook == false) { L__M(##Prompt); glk($0086, 8); ! PrintCommand(0); glk($0086, 0); new_line; } #Ifdef DEBUG; if (debug_flag & 2 ~= 0) TraceAction(source); #Endif; if ((meta || BeforeRoutines() == false) && action < 4096) ActionPrimitive(); ! Change back. ChangePlayer(gerard); firstlook = false; SetWindow(1); } else if (gerard.cinematique==1) {gerard.cinematique=0;} ]; ! -- Glk multiwindows function ! [ IdentifyGlkObject phase type ref rock; if (phase == 0) { gg_secondwin = 0; gg_thirdwin = 0; gg_fourthwin = 0; return; } if (phase == 1) { switch (type) { 0: switch (rock) { GG_SECONDWIN_ROCK: gg_secondwin = ref; GG_THIRDWIN_ROCK: gg_thirdwin = ref; GG_FOURTHWIN_ROCK: gg_fourthwin = ref; } } return; } if (phase == 2) { if (gg_secondwin == 0 && gg_mainwin ~= 0) { gg_secondwin = glk($0023, gg_mainwin, $21, 50, 3, GG_SECONDWIN_ROCK); ! window_open gg_thirdwin = glk($0023, gg_secondwin, $21, 50, 3, GG_THIRDWIN_ROCK); ! window_open gg_fourthwin = glk($0023, gg_thirdwin, $21, 50, 3, GG_FOURTHWIN_ROCK); ! window_open if (gg_secondwin == 0) { print "[Unable to open second window.]^"; quit; } if (gg_thirdwin == 0) { print "[Unable to open 3rd window.]^"; quit; } if (gg_fourthwin == 0) { print "[Unable to open 4th window.]^"; quit; } } } ]; [ ChooseObjects obj code retval; obj = obj; ! Avoid a compiler warning switch (code) { 0: ! Parser is excluding obj from ALL ; ! ... accept parser's decision 1: ! Parser is including obj in ALL if (action_to_be == ##Take) retval = 2; ! ... force exclusion if TAKE; accept otherwise 2: ! Parser is asking for 'appropriateness' hint ; ! ... but we don't provide one } return retval; ]; !--- Part 1 ! our hero Object guard "security agent", with name 'agent' 'security' 'guard' 'police' 'policeman', twin guard1, twin2 guard2, description "They found this one straight from an US TV serial. Its blue shirt and tonfa doesn't lie about the fact that he isn't the average geek visiting the convention. ", before [;Talk2 : print "^Hands down ! Calm Down !^";rtrue;], life [;Attack : if (broom in gerard && broom2 has on && broom.down==0) {print "^You charge forward, swinging the broom : ^^ ~The Dark side of the Force shall not prevail !~^^Alas, the guard easily catches the stick and takes it off your hands.^ Throwing it behind him he says :^^~Okay monsieur, now that your ~lightsword~ or whatever your call it is away, you will - peacefully wait here while we wait for my colleagues, okay ?~^^";move broom to corridor;rtrue;} else if (broom in gerard) {print "^You say, waving your broom at the guard : ~Wait a minute that I light my lightsaber !~^";rtrue;} else {print "^You say : ~I cannot fight you without my lightsaber !~^";rtrue;} ], has animate; Object guard1 "Feyed Rautha Harkonnen", with twin2 guard2, description "Feyed is the vile heir of the dark dynasty known as the Harkonnen. Now that they rule on Arrakis, Feyed came to your lair, the lair of the Fremen Resistance, to kill you with his own hands. ", before [;Talk2 : print "^Now die, Atreides dog !^";rtrue;], life [;Attack : if (broom1 in secondselfobj && broom2 has on && broom.down==0) {print "^After several seconds where you and Feyed jauge your strengths, you trusts forward your crysknife, switfly dodged by your Nemesis who takes it away from you : ^^ ~The Dark side of the Force shall not prevail !~^^Feyed steps on your crysknife and smiles : ^^~Dark side of the Force ? Is it another Bene Gesserit nonsense ?~ - and bursts laughing. ^^"; move broom1 to corridor1;rtrue;} else if (broom in gerard) {print "^You look at your crysknife, trying to find a button to turn it on...but wait ? Why would you turn that on ?^";rtrue;} else {print "^You tell Feyed : ~Sure I would fight you, but I forgot my crysknife somewhere...~^^Feyed looks at you in disgust. ^";rtrue;} ], has animate proper; Object guard2 "Lord Darth Vader", with description "The Dark Lord of the Sith, apprentice of the evil Emperor Palpatine, stands before you, calm and silent as death itself. ", before [;Talk2 : print "^Live you last battle, young jedi. ^";rtrue;], life [;Attack : if (broom2 in thirdselfobj && broom2 has on && broom.down==0) {print "^With swifts, vibrating sounds, the lightsabers clashes and clashes again. Launching another charge, you shout :^~The Dark side of the Force shall not prevail !~^^ But Lord Vader is far too powerfull and disarms you easily, commenting with despise :^^ ~You lack training, young Jedi. ~^";move broom2 to corridor2;broom.down=1;rtrue;} else if (broom in gerard) {print "^You show the lightsaber to Darth Vader and shout : ~You see this ? Just wait I turn it on !~^";rtrue;} else {print "^You point to Darth Vader and say : ~Just you wait I get my lightsaber and you will see !~^[Note : The verb FORCE has been activated. You can now use your powers by typing FORCE item.]";rtrue;} ], has animate proper; Object Room "~Relaxation~ Room" with twin Room1, twin2 Room2, twin3 Room3, description "This used to be a small place where janitors and tech staff piled their tools and materials. But during the convention and the prize ceremony, this has been transformed in a kind of sad and austere waiting room, dense with a cold nicotine blur atmosphere, where promising sci-fi authors could chill out during the day. ^Right now, tonight, minutes before the beginning of the finale, everybody went on the other side, their hearts beating the giant countdown of hopes, everybody but the only one who was fated to win. ", out_to [; if (mug.gulp==0) {print "^You could go back to the main hall, but you still have time. ^";rtrue;} if (mug.gulp==1) { print "^It is time. ^"; if (marcus in Room) { if (Bucket has worn && Blanket has worn) {return Lecture;} else {print "^You reach for the door, but Marcus stops you :^^ - ~I ain't sure you're clear enough in your head to go there. ~^^ You pause and think intensely, then conclude :^^ - ~Indeed you are right. I could die without them, within the merciless Sands. ~^ - ~Hem. ~^"; rtrue;} } else {return Lecture;} } ], has light; Object Room1 "An-Tabr Sietch - refuge" with twin2 Room2, twin3 Room3, description "You are in a small natural cave holing the An Tabr Cliff, south and closest from the Capital now haunted by the loathsome Harkonnens. Before drinking the Water of Life, you gathered here a thousand of your best warriors of the sand, and they are waiting for you outside, ready to launch the final attack.^^Here in, Stilgar has arranged what best he could find, for the people of sand have little, though you feel more at ease now than in your former palace, when you were not yet Awake. ", out_to [; print "^It is time. ^"; if (Bucket has worn && Blanket has worn) {return Lecture1;} else {print "^You reach for the door, but Stilgar holds your arm :^^ - ~Muad'dib, don't forget your Stillsuit. ~^^ You pause and think intensely, then conclude :^^ - ~Indeed you are right. I could die without them, within the merciless Sands. ~^ - ~Yes, Paul. ~^"; rtrue;} ], has light; Object Room2 "Cell #1138" with description "This small cell is used to keep the soldiers of the clone army locked in, waiting for interrogation. However, it's empty now - and may be used to lock YOU in, since you are under attack by an Empire Destroyer !", twin3 Room3, out_to Lecture2, has light; Object Room3 "" with description "", out_to Lecture3, has light; Object Lecture "Main Hall" with twin Lecture1, twin2 Lecture2, description "Before you lies the vast hall of the Espace Wagram, an old palace in the heart of Paris now transformed in a huge sci-fi convention. Half of the place is occupied by numerous tables displaying various international publications, and the other half welcomes now most of the audience, captivated by the last speeches preceeding the prize ceremony.^^ North is a way leading to a corridor outside.", in_to Room, s_to Room, n_to [;if (crowd.talked==1) {return corridor;} else {print "There is too much people standing around, listening to the prize ceremony, to hack you a way this direction.^";rtrue;}], out_to [;if (crowd.talked==1) {return corridor;} else {print "There is too much people standing around, listening to the prize ceremony, to hack you a way this direction.^";rtrue;}], has light; Object crowd "crowd" Lecture with name 'crowd' 'people' 'audience' 'visitors', twin crowd1, twin2 crowd2, description "A little more than a hundred of people fill the room, busy walking between the stands, or listening intently to the audience - and some, of course, since we are in Paris, sharing loudly their opinion and showing how smart (american and british sense) they are. ", before [; Talk2 : if (self.talked<1) {Harangue();rtrue;} else {print "^ You yell again :^^ -~Children of the Jihad ! Are you ready for the Final Battle ?~^^ Staring at you, puzzled, the crowd answer nothing but silence - and some uneasy laughs. ^"; SetWindow(2); print "^ You yell again :^^ -~Children of the Jihad ! Are you ready for the Final Battle ?~^^ The whole army answers fiercely in screams of battle, their crysknives shining under the bright sun. ^"; SetWindow(3); print "^ You say :^^ -~Victory for the rebel alliance !~^^ Some officers raise their heads towards you and nods with confidence. ^"; SetWindow(1); gerard.cinematique=1; rtrue;} ], life [; Attack : "Some of them deserve it, but let's forget violence for now. "; Kiss: "Let's wait for the day they will want to kiss ME, instead. "; Show, Give: "The only thing I can show them is how clever I am, but they don't want to know it. "; ], talked 0, has animate; Object Lecture1 "An-Tabr Sietch" with twin2 Lecture2, description "The Sietch is an enclave of high rock cliffs standing up with majesty against the fierce winds, providing the essential shadow for rest, and where a dozen of small caves shelter now some Fremen clans. Here wait for you, in a religious silence, you all-devoted army.^^North lies the double door leading to the outside. ", in_to Room1, s_to Room1, n_to [;if (crowd.talked==1) {return corridor1;} else {print "Your army still waits for your words.^";rtrue;}], out_to [;if (crowd.talked==1) {return corridor1;} else {print "Your army still waits for your words.^";rtrue;}], has light; Object crowd1 "army" Lecture1 with name 'army' 'fighters', twin2 crowd2, description "A valiant army of a thousand of the best sands warriors stands still in silence, a deep look of adoration on their faces, waiting for their God to lead them to true Freedom. ", before [; Talk2 : if (crowd.talked==1) {print "";crowd.talked++;rtrue;} else {print "^ You yell again :^^ -~Children of the Jihad ! Are you ready for the Final Battle ?~^^ The whole army answers fiercely in screams of battle, their crysknives shining under the bright sun. ^";rtrue;} ], life [; Attack : "They are on my command. "; Kiss: "There will be a time for cheers. "; Show, Give: "The only thing I have to show them now, is my courage. "; ], has animate; Object Lecture2 "Main Deck of the Alliance CR90 Corvette" with twin3 Lecture3, description "The bridge of the Rebel Alliance vessel is the place of an intense activity, and the reason why is far too clear : through the ceiling bay, the immensely huge triangular shape of a Star Destroyer splits the starry blackness.^^Here below, officers dispatch orders and try to avoid the laser and traction beams, and their courage is as high as the odds - crossing the large bridge, people hurry north, towards the main hangar bays, following the evacuation procedure. ", in_to Room2, s_to Room2, out_to corridor2, n_to corridor2, has light; Object crowd2 "crew" Lecture2 with name 'crew' 'rebels', description "The rebels officers try their best to evade the laser beams of the star destroyer above - as enseigns direct civilians and soldiers through the exit leading to the hangar bay. ", before [;Talk2 : print "^ You say :^^ -~Victory for the rebel alliance !~^^ Some officer raise their heads towards you and nods with confidence. ^"; rtrue;], life [; Attack : "Let's not disturb them now. "; Kiss: "Rejoicing happens after the victory. "; Show, Give: "Useless. "; ], has animate; Object Lecture3 "Main Hall" with description "", in_to Room3, s_to Room3, out_to corridor3, n_to corridor3, has light; Object corridor "Short Antechamber" with twin corridor1, twin2 corridor2, twin3 corridor3, description "A dozen of steps splits the huge main room from the noisy urban night, on your north. ", s_to Lecture, in_to Lecture, n_to [; if (self.went==2) {Numeric();rtrue;} if (self.went==1) {print "The way is blocked, alas. ";rtrue;} if (self.went==0) {Dkvd();rtrue;} ], out_to [; if (self.went==2) {Numeric();rtrue;} if (self.went==1) {print "The way is blocked, alas. ";rtrue;} if (self.went==0) {Dkvd();rtrue;} ], went 0, has light; Object street "Rue de Wagram" with twin street1, twin2 street2, twin3 street3, description "This large street, noisy with cars and the nightly life of Paris, leads to the brightly lit Arc de Triomphe in the Distance. ", s_to [;print "^My Fate lies elsewhere. ^";rtrue;], in_to [;print "^My Fate lies elsewhere. ^";rtrue;], has light; Object corridor1 "Within the Gates" with twin2 corridor2, twin3 corridor3, description "There, a flat, sandy path between the high rocks separate the Sietch from the outside winds. ", s_to Lecture1, in_to Lecture1, n_to [;if (gerard.paralysed==1) {print "A mysterious force urges you to come back inside. ";rtrue;} else {print "The way is blocked, alas. ";rtrue;}], has light; Object street1 "Infinite sands of Arrakis" with twin2 street2, twin3 street3, description "Before your eyes lies the infinite desert of the planet Dune. Its vast, silent space gathers in you, the Kwizach Haderach, mathematical and transcendental assumptions about the nature of the universe itself. ", s_to [;print "^My Fate lies elsewhere. ^";rtrue;], in_to [;print "^My Fate lies elsewhere. ^";rtrue;], has light; Object corridor2 "Corridor of the Fates" with twin3 corridor3, description "The dull, gray metallic walls of the Rebel Alliance CEC CR90 Corvette form the only way leading to the main hangars. ", s_to Lecture2, in_to Lecture2, n_to [;if (gerard.paralysed==1) {print "A mysterious force urges you to come back inside. ";rtrue;} else {print "The way is blocked, alas. ";rtrue;}], has light; Object corridor3 "Corridor of the Fates" with description "", s_to Lecture3, in_to Lecture3, has light; Object street2 "Large Hangars of the Rebel Alliance" with twin3 street3, description "This huge place goes from the Core of the Corvette to the space void, holding against its wall dozens of alliance vessels and fighters, readied by diligent R2 units. Everywhere pilots run or check frantically their course for immediate launch as loud alarms sound.", s_to [;print "^My Fate lies elsewhere. ^";rtrue;], in_to [;print "^My Fate lies elsewhere. ^";rtrue;], has light; Object street3 "Numerical Plain of the Master Computer Hard Drive" with description "You are standing over a long, perfectly flat surface drawn into space with light rays. In the distance, data blocks stand up in the light, graced sometimes by the sollictation of the all-powerfull User. ", has light; Object gerard "Gerard" Room with short_name [; return L__M(##Miscellany, 18);], description "^My name is Gerard Lescroc, and I have been gifted with the subtile and quite paradoxal obsession of making money out of books. Not that I like books. But right now, I have nothing else to trade or produce.^My wits, my words, my body and my eyes are thin and dry, for I have lived much and earned little. ^ ", before NULL, after NULL, life NULL, each_turn NULL, time_out NULL, describe NULL, add_to_scope 0, capacity 100, parse_name 0, orders 0, number 0, before_implicit NULL, react_before [; if (self.paralysed==1) { if (action_to_be==##Attack && secondselfobj in Room1) {Freeagain();rtrue;} else { print "You can't do anything since your are firmly tied to your chair, blinfolded and your mouth is covered with solid tape. ";rtrue;} } ], paralysed 0, cinematique 0, has concealed animate proper transparent light; ! Second player object. This is identical to the player object. ! Object secondselfobj "Paul Atreides, Muad'Dib, Messiah of the Fremen people" with short_name [; return L__M(##Miscellany, 18); ], description "I am Paul Atreides, on of Duke Leto Atreides I and the Lady Jessica, Kwisatz Haderach, Muad'Dib, prophetised Messiah and guide of the Fremen people, They Who Live In The Sands of the most precious planet of the Universe, Dune. ", before NULL, after NULL, life NULL, each_turn NULL, time_out NULL, describe NULL, add_to_scope 0, capacity 100, parse_name 0, orders 0, number 0, before_implicit NULL, has concealed animate proper transparent light; ! 3rd player object. This is identical to the player object. ! Object thirdselfobj "Luke Skywalker" with short_name [; return L__M(##Miscellany, 18); ], description "My name is Luke Skywalker, humble farm-boy from Tatooine, although promised to an exceptional fate. Promising Jedi knight, I plan to join the Rebel Alliance and throw back the Empire. ", before NULL, after NULL, life NULL, each_turn NULL, time_out NULL, describe NULL, add_to_scope 0, capacity 100, parse_name 0, orders 0, number 0, before_implicit NULL, has concealed animate proper transparent; ! 4th player object. This is identical to the player object. ! Object fourthselfobj "Kevin Flynn" with short_name [; return L__M(##Miscellany, 18); ], description "Kevin Flynn is my name. Due to a twist of fate, I happen to have been thrown there, in the middle of this fantastic computer world, fighting my way out of the claws of the Master Computer. Quite ironic, for a video game programmer, right ? ", before NULL, after NULL, life NULL, each_turn NULL, time_out NULL, describe NULL, add_to_scope 0, capacity 100, parse_name 0, orders 0, number 0, before_implicit NULL, has concealed animate proper transparent; Object Table "table" Room with name 'table', twin Table1, twin2 Table2, description "A small, brown table, efficient and functional, proud heir of the soviet russia design school. ", has supporter static; Object Table1 "sandrock table" Room1 with name 'table', twin2 Table2, description "In the middle of your shelter stands a small rock, polished flat by the harsh winds of Dune. ", has supporter static; Object Table2 "prisoner bed" Room2 with name 'table', twin2 Table2, description "A cold, grey polymer couch. ", has supporter static; Object Chair "chair" Room with name 'chair', twin Chair1, description "A chair among the chairs. In a world full of chairs, there's one. It's there. Just before you. ", has supporter static; Object Chair1 "leather chair" Room1 with name 'chair', description "A simple but efficient chair made out of bands of thick leather. ", has supporter static; Object Poster "poster" Room with name 'poster', twin Poster1, twin2 Poster2, description [; if (marcus in room) { if (mug.gulp==0) {"A tall poster is sticked to the wall. A plate-armored warrior smashes to pieces the ruby-adorned plastron of another, kneeling in a dark stream where thins a string of blood.^^You sigh :^^ - ~That George Martin. If only I knew, I would have bet anything on him. I would have fought myself to death to get his rights.~^^Marcus answers :^^ - ~I have little interest in english modern fiction. ~^ - ~Well, don't tell about this to the Jury, hem ? Don't forget upon who this prize is named. ~^^"; } if (mug.gulp==1) {print "A tall poster is sticked to the wall. A plate-armored warrior smashes to pieces the ruby-adorned plastron of another, kneeling in a dark stream where thins a string of blood.^^You sigh :^^ - ~I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. ~^^Marcus yelps :^^ - ~Wait...what ? ~^ - ~Where the fear has gone there will be nothing. Only I will remain. ~^^";} } else {print "A tall poster is sticked to the wall. A plate-armored warrior smashes to pieces the ruby-adorned plastron of another, kneeling in a dark stream where thins a string of blood.^";} ], has supporter static; Object Poster1 "mandala" Room1 with name 'poster', twin Poster2, description [;if (marcus in room) {print "A brown toned textile mandala, its pattern seeming slowly pulsating in the dim light, is sticked to the rock wall. You cross your fingers and meditate upon the teachings of your Mother, whispering :^^ - ~ I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. ~^^Stilgar keeps on the mantra with you :^^ - ~And when it has gone past I will turn the inner eye to see its path. ~^ - ~Where the fear has gone there will be nothing. Only I will remain. ~^^";} else {print "A brown toned textile mandala, its pattern seeming slowly pulsating in the dim light, is sticked to the rock wall. You cross your fingers and meditate upon the teachings of your Mother, whispering :^^ - ~ I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain. ~^^";}], has supporter static; Object Poster2 "Rebel Alliance Symbol" Room2 with name 'poster', description "The distinctive mark of the Rebel Alliance stands upon the wall. ^^", has supporter static; Object Closet "closet" Room with name 'closet', twin Closet1, twin2 Closet2, twin3 Closet3, description "A grey, metallic, tall, dull, boring, functional, communist, unimaginative, square-cornered, discreet, unsignificant, ethereally ignored, penitentiary, oh-no-i-am-short-of-tasteless-adjectives closet. ", has container openable static enterable; Object Closet1 "chest" Room1 with name 'closet', twin2 Closet2, twin3 Closet3, description "A small chest made out of clay and leather lays on the dusty ground. ", has container openable static enterable; Object Closet2 "closet" Room2 with name 'closet', twin3 Closet3, description "A gray carbo-concrete closet stands in the room. ", has container openable static enterable; Object Blanket2 "X-wing pilot suit" Closet2 with name 'pilot suit', twin3 Blanket3, description "This is your orange pilot suit, which allows you to endure the extreme speeds of your trusty space fighter. ", before [; Disrobe : print "^Not when I am about to take off.^";rtrue; ], has clothing; Object Bucket2 "Pilot helmet" Closet2 with name 'helmet', twin3 Bucket3, description "This is your X-wing pilot helmet. You need its H.U.D. to properly drive one, that is, when you are not using the Force. ", before [; Disrobe : print "^I need that.^";rtrue; ], has container open clothing; Object Closet3 "closet" Room3 with name 'closet', description " ", has container openable static enterable; Object Bucket3 "numerical helmet" Closet3 with name 'helmet', description "This looks like it's part of your own body. ", before [; Disrobe : print "^I can't remove it !^";rtrue; ], has container open clothing; Object Blanket3 "numeric suit" Closet3 with name 'numeric suit', description "Your numerical suit shines each time a part of your body moves. ", before [; Disrobe : print "^Without it I would dissolve into bytes in the hard drive.^";rtrue; ], has clothing; Object Blanket "blanket" Closet with name 'blanket', twin Blanket1, twin2 Blanket2, twin3 Blanket3, description "A brown blanket covered in dust, folded, resting on the upper case of the closet. Old stench. Couple of big holes. ", before [; Wear : if (mug.gulp==0) {print "^Thanks for the suggestion, but it's not my standing. ^"; rtrue;} Disrobe : print "^Somehow, a part of you refuses to do that.^";rtrue;]; Object Blanket1 "Stillsuit" Closet1 with name 'blanket', twin2 Blanket2, twin3 Blanket3, description "This is the precious clothing that was designed to preserve the body's moisture. Without it, I would die within minuts in the desert. ", before [; Disrobe : print "^I would die without it in the harsh sands.^";rtrue; ], has clothing; Object Broom "broom" Closet with name 'broom', twin Broom1, twin2 Broom2, twin3 Broom3, description "An old, tall, broom. ", before [; Take : if (broom.down==1) {print "^Well, you could take it back, but the fact is that between it and you, there's this damn guard. ^";rtrue;} Force : if (broom.down==1) {Yourfather();rtrue;} ], down 0; Object Broom1 "crysknife" Closet1 with name 'crysknife', twin2 Broom2, twin3 Broom3, description "The former tooth of Shai-Hulud, the giant sandworm of Dune, made into a deathly knife. ", before [; Take : if (broom.down==1) {print "^That would be an option...if Feyed wasn't /on/ the knife ! ^";rtrue;}]; Object Broom2 "lightsaber" Closet2 with name 'lightsaber' 'light' 'saber', twin3 Broom3, description "The powerfull weapon of a true jedi master. This precious and rare lightblade has been given to me by Obi-wan, who held it from my own father. ", before [;SwitchOn : print "In a deep vibration, the lightsaber shines brightly. ";rtrue; SwitchOff : print "The lightsaber switches off in a swift sound. ";rtrue; Take : if (broom.down==1) {print "^For now, the saber is too far away behind Lord Vader to take it like that. Maybe by using the Force...^";rtrue;}], has switchable; Object Broom3 "lightdisc" Closet3 with name 'lightdisc', twin2 Broom2, twin3 Broom3, description "This is your lightdisc your used many times in the arena below. "; Object Bucket "steel bucket" Closet with name 'steel' 'bucket', twin Bucket1, twin2 Bucket2, twin3 Bucket3, description "A steel bucket, still filled with a small ounce of dirty water. ", before [; Disrobe : print "^Somehow, a part of you refuses to do that.^";rtrue; ], has container open; Object Bucket1 "stillsuit helmet" Closet1 with name 'helmet', twin2 Bucket2, twin3 Bucket3, description "The helmet of the stillsuit that hermetically closes the clothing. With it, you can drink the recycled product of your sweat and urine. ", before [; Disrobe : print "^I would die without it in the harsh sands.^";rtrue; ], has container open clothing; Object Coffeemachine "coffee machine" Table with name 'coffee' 'machine', twin Coffeemachine1, twin2 Coffeemachine2, description "A magic factory where boils the very blood of the creation. ", after [;SwitchOn : print "^A bitter aroma and small blops diffuse in the air. ^";], has switchable static; Object Coffeemachine1 "Hyperwave Radio" Table1 with name 'coffee' 'machine', twin2 Coffeemachine2, description "With this radio you were able to spy over the movements of the Harkonens troops. ", after [;SwitchOn : print "^A blank noise sounds. ^";], has switchable static; Object Coffeemachine2 "small droid" Table2 with name 'coffee' 'machine', description "This small droid is barely functionning. Anyway, it's purpose is unknown. ", after [;SwitchOn : print "^The droid bips and bops, and a emits an orange light. ^";], has switchable static; Object marcus "Marcus" Chair with name 'Marcus', twin marcus1, description "Here's the horse I've bet everything on.^Marcus - but I guess it's not his true name - is a young writer. He's not one of the fancy, plastic glasses & black turtleneck parisian pseudo-intelligentsia, and that's what I liked in him, even though the celebrity we aim for him has to change him someday.^^Anyway, sci-fi is too much a vulgum pecus leisure in France, a kind of trap where no writer can escape once the critics categorized you, so Marcus is more or less doomed, whatever the money we make.^^There's another thing about Marcus. Someone like me can't survive long in the business with a kind of sixth sense, and I tell you : there's another thing about him, though I cannot say what for now.", before [;Talk2 : if (mug.gulp==0) {print "^ - ~Feeling nervous ? ~^ - ~No. ~^ - ~Smells like nervosity, here, though. Nervosity, and lies. ~^ - ~Writing a story is another way to tell a lie. ~^";rtrue;} if (mug.gulp==1) {Dial1();rtrue;} ], life [;Attack : "^He didn't deserve it...yet. ^"; Kiss: "^I am more into...women. The XX genotype kind.^ "; Show, Give: "^- ~You see this ? It's mine. ~^"; ], each_turn [; if (self.mix==2) {print "^Marcus finishes his mix and puts the gray, black-stained mixture on the table :^^ - ~There it is. The very Philip K. Dick taught me this one, and he did know about messing with substances and altering his mind. Given the circumstances, I found this rather appropriate. ~^ - ~The old californian fool. Aren't you too young to have known him ? ~^"; move mug to table;move mug1 to table1; self.mix++;} if (self.mix==1) {print "^Marcus takes a small, black flask, apparently out of nowhere and begins pouring and mixing in a mug. Feeling your eyes upon him, he says :^^ - ~Just doing my chillout drink. ~^ - ~Then make it for two. ~^ - ~Mmm...now that you ask for it, I may have something ";Italique();print "special";Normal();print" for you. ~^"; self.mix++;} if (self.mix==0) {self.mix++;} ], mix 0, has animate proper; Object marcus1 "Stilgar" with name 'Stilgar' 'fremen', description "Though fremen don't have leaders as we mean it, Stilgar has always been presented as a kind of Speaker for the natives. He showed for now wisdom, efficiency and loyalty, which indeed placed it at a higher status than most of the men you ever meet. Especially since the last events at the Palace. Stilgar showed you the way of the Desert, taking you on the path of its secrets, his completely blue eyes dancing in the darkness as two new moons fallen on the dunes. ", before [;Talk2 : "";], life [;Attack : "^Stilgar is my trusted friend, I would never do that. ^"; Kiss: "^No.^ "; Show, Give: "^Stilgar nods in silence. ^"; ], has animate proper; Object marcus10 "Marcus" Lecture with name 'Marcus', twin marcus11, description "Here's the horse I've bet everything on.^Marcus - but I guess it's not its true name - is a young writer. He's not one of the fancy, plastic glasses & black turtleneck parisian pseudo-intelligentsia, and that's what I liked in him, even though if the celebrity we aim for him has to change him someday.^^Anyway, sci-fi is too much a vulgum pecus leisure in France, a kind of trap where no writer can escape once the critics categorized you, so Marcus is more or less doomed, whatever the money we make.^^There's another thing about Marcus. Someone like me can't survive long in the business with a kind of sixth sense, and I tell you : there's another thing about him, though I cannot say what for now.^^Marcus looks worried - I wonder why ?", before [;Talk2 : print "^Marcus whispers :^^ - ~Come on, you are out of your mind ! GET BACK INSIDE NOW ! ~^ - ~Fate is on its way, my friend. ~^"; ], life [;Attack : "^He didn't deserve it...yet. ^"; Kiss: "^I am more into...women. The XX genotype kind.^ "; Show, Give: "^- ~You see this ? It's mine. ~^"; ], each_turn [; if (crowd.talked==0) {print "Marcus whispers : ~We should get back in the room, just the time for you to recover your spirits.~"; SetWindow(2); print "Stilgar whispers : ~Your army waits for your words, Muad'dib.~"; SetWindow(1);} ], has animate proper; Object marcus11 "Stilgar" with name 'Stilgar' 'fremen', description "Though fremen don't have leaders as we mean it, Stilgar has always been presented as a kind of Speaker for the natives. He showed for now wisdom, efficiency and loyalty, which indeed placed it at a higher status than most of the men you ever meet. Especially since the last events at the Palace. Stilgar showed you the way of the Desert, taking you on the path of its secrets, his completely blue eyes dancing in the darkness as two new moon fallen on the dunes. ", before [;Talk2 : print "^Stilgar says :^^ - ~I am confident in our future victory. ~^ - ~Fate is on its way, my friend. ~^";rtrue;], life [; Attack : "^Stilgar is my trusted friend, I would never do that. ^"; Kiss: "^No.^ "; Show, Give: "^Stilgar nods in silence. ^"; ], has animate proper; Object mug "mug" with name 'mug' 'drink', twin mug1, twin2 mug2, description "A blank cup made out of plastic. Within, a dark fluid diffusing a strong sent of alcohol. ", before [; Smell : "A strong odor permeates. "; Taste, Drink : if (self.gulp<1) {Boire();rtrue;} else {print "It's empty now. ";rtrue;} Empty : print "What a waste it would be. ";rtrue;], gulp 0; Object mug1 "carved wood bowl" with name 'bowl' 'carved' 'wood', twin2 mug2, description "A small bowl used by the fremen to eat. A carving of Shai-Hulud, the Great Worm, adorns the whole circumference. "; Object mug2 "empty box" with name 'box', twin2 mug2, description "This small box was used to store droids parts. It is now empty. "; Object guarda "distracted agent", with name 'agent' 'distracted' 'guard' 'police' 'policeman', twin guarda1, twin2 guarda2, description "It looks like he is concentrated on something. ", before [;Talk2 : print "Let's not attract his attention";rtrue; ], has animate; Object guarda1 "Feyed Rautha Harkonnen", with twin2 guarda2, description "Feyed looks like he is concentrated on watching over an empty chair...empty ? In a glimpse you seem to catch the thin silhouette of a ghostly figure, from another world. ^", before [;Talk2 : print "^Hum, let's not distract him. ^";rtrue;], has animate proper; Object guarda2 "Lord Darth Vader", with description "The Dark Lord of the Sith is silent, looking over an empty chair. ", before [;Talk2 : print "^Hum, let's not distract him. ^";rtrue;], has animate proper; Object guardao "unconscious agent", with name 'agent' 'valiant' 'guard' 'police' 'policeman' 'unconscious', twin guardao1, twin2 guardao2, description "It doesn't move anymore. ", has static; Object guardao1 "Feyed body", with twin2 guarda2, description "Your old Nemesis lies dead at your feet. At last. ^", before [;Talk2 : print "^Hum, let's not distract him. ^";rtrue;], has static proper; Object guardao2 "Lord Vader body", with description "The Dark Lord of the Sith is dead. May the Force be with him. ", has static proper; Object bus "RATP bus", with name 'RATP' 'bus' 'car' 'door', twin bus1, twin2 bus2, twin3 bus3, description [;print "This is a large RATP bus, white and pastel green. "; if (self.moving==0) {print "^It's waiting at the terminus stop just before the Lecture hall, empty of anyone but the driver. ";} else {print "^Running at top speed through the streets of Paris !";}], each_turn [; if (bus.moving==1) {Opposing1();} if (bus.moving==3) {Opposing2();} ], react_before [;Exit : print "^Bad idea for the moment. ^";rtrue;], before [; Drive : if (gerard notin bus) {print "You must be in the bus to do that. ";gerard.cinematique=1;rtrue;} else {Drivebus();rtrue;} Enter : Enteringbus();rtrue; ], moving 0, has static transparent open container enterable openable; Object bus1 "Mighty Shai Hulud", with name 'RATP' 'bus' 'car' 'door', twin2 bus2, twin3 bus3, description [; if (bus.moving==0) {print "^The giant sandworm twistes slowly before you, its huge mass hiding even the dire sun. ";} else {print "^You currently ride the mighty sandworms, digging the very sands of Arrakis straight through the battlefield !";}], before [;Exit : if (gerard in bus) {print "^Bad idea for the moment. ^";rtrue;}], moving 0, has static transparent open supporter enterable openable; Object bus2 "X wing", with name 'RATP' 'bus' 'car' 'door', twin3 bus3, description [; if (bus.moving==0) {print "^The battered starfighter lies before you, cockpit open and waiting for a skilled pilot to show its dexterity. ";} else {print "^There you are, flying at top speed in a rebel alliance Xwing, through the starfield !";}], before [;Exit : if (gerard in bus) {print "^Bad idea for the moment. ^";rtrue;}], moving 0, has static transparent open container enterable openable; Object bus3 "Lightcycle", with name 'RATP' 'bus' 'car' 'door', description [; if (bus.moving==0) {print "^A yellow, brightly shining lightcycle has materialized before you. Care a for a little Tron game ?";} else {print "^You are driving at max speed a numerical lightcycle through the bytes valley of the MCP. ";}], before [;Exit : if (gerard in bus) {print "^Bad idea for the moment. ^";rtrue;}], moving 0, has static transparent open container enterable openable; Object marc "Marcus" with name 'Marcus', twin marc1, twin2 marc2, twin3 marc3, description "Marcus is back. He looks somewhat stressed - I wonder what disturbs him ?", before [;Talk2 : Dial2();rtrue; ], life [;Attack : "^Why ? He is my friend. We have fun. ^"; Show, Give: "^- ~You see this ? It's mine. ~^"; ], has animate proper; Object marc1 "Stilgar" with name 'stilgar', twin2 marc2, twin3 marc3, description "Stilgar, my faithfull friend and the leader of the Fremens, again, and forever, by my side. ", before [;Talk2 : rtrue; ], life [;Attack : "^Sure not. I trust him. ^"; Show, Give: "^- ~Have a look at this. ~^"; ], has animate proper; Object marc2 "R2D2" with name 'r2d2', twin3 marc3, description "This R2D2 unit is vital to operate the hyperspace functions of the starfighters. Plus, they are joyfull companions. ", before [;Talk2 : rtrue; ], life [;Attack : "^I need this unit. And I like it ! ^"; Show, Give: "^- ~Hey R2, have a look at this. ~^"; ], has animate proper; Object marc3 "byte" with name 'byte', description "A wandering byte went by you and began to like you. So, basically, now, it's with you. ", before [;Talk2 : rtrue; ], life [;Attack : "^It's immaterial, so...^"; Show, Give: "^- ~Hey bytey, look at this. ~^"; ], has animate; Object champs "Champs Elysées", with name 'champs', twin champs1, twin2 champs2, twin3 champs3, description "This long avenue of Paris streches far from the mighty Arc de Triomphe to Place de la Concorde, dense with cars, people and lights. ", has light; Object champs1 "Spice field", with name 'field', twin2 champs2, twin3 champs3, description "There, between two gigantic dunes where even the mighty Shai Hulud seems of a small size, the dry sands permeate a cinammon fragrance and a darker color - the unmistakable signs of a spice field. ", has light; Object champs2 "Death Star Approach", with name 'death star', twin3 champs3, description "You fly at top speed among a huge battlefield where Tie fighters and bombers dance madly with the rebel forces, and sometimes their furious tango ends in a blast. There you go, toward this gigantic satellite, large as a moon, this ominous battlestation called the Death Star !", has light; Object champs3 "Tron gamefield", with name 'gamefield', description "On this infinite and mathematically flat numeric plains, markers appears and define the gamefield of your next battle : the Tron Game. ", has light; Object police "police cars", with name 'police' 'cars', twin police1, twin2 police2, twin3 police3, description "A couple - no, maybe four or five police cars are chasing you !", has static pluralname; Object police1 "ornithopters", with twin2 police2, twin3 police3, description "Groups of ornithopters, loaded with atomic weapons, are closing on your troops !", has static pluralname; Object police2 "TIE squadrons", with twin3 police3, description "Several dreaded TIE fighters, bombers and, most of all, interceptors are chasing your through the death star trench !", has static pluralname; Object police3 "MCP Tanks", with description "A dozen of luminous tanks close to your lightcycle, shooting at you. ", has static pluralname; Object place "Place de la Concorde", with twin place1, twin2 place2, twin3 place3, description "Now you drive all around the huge place of la Concorde, dominated by the old obelisk, ending on the fences of the Tuileries gardens. All around the way is blocked by numerous police cars. ", has light; Object place1 "Arrakeen perimeter", with twin2 place2, twin3 place3, description "The huge, iron walls of Arrakeen palace stand up in the distance - all around you, riding sandworms, your army encounters the harkonnen forces. You should launch now the final charge, but the gates of the inner palace are for now sealed shut by a forcefield. ", has light; Object place2 "Death Star Trench", with twin3 place3, description "You fly down the trench on the equator of the Death Star, out of range of its own laser batteries, as your D2 unit modify your Xwing so it can reach an unmatching speed. As you progress toward your goal, you notice with dread that the passage towards your goal is closed by the space hulk of a rebel corvette that wrecked itself there !", has light; Object place3 "Game Field", with description "You come close to the edge of the gamefield, and spot a crack in the numeric walls that surround it. The crack is, however, partially covered with the wreck of a lost lightcycle, preventing you from going further. ", has light; Object fence "fences" place with name 'fence' 'gates', twin fence1, twin2 fence2, twin3 fence3, description "The tall iron fences of the Tuileries gardens are closed at this time. ", before [; Open : print "^Well, since you are driving at top speed a bus...^"; Force : Final1();rtrue; ], has static scenery; Object fence1 "gates" place1 with name 'fence' 'gates' 'forcefield', twin2 fence2, twin3 fence3, description "The gates of the Arakeen Palace are closed and sealed with a forcefield. And they block your way to your ultimate ennemy - and the victory. ", before [; Open : print "^Sure, but how ? ^"; ], has static scenery; Object fence2 "space hulk" place2 with name 'hulk' 'wrecked' 'corvette' 'space', twin3 fence3, description "The space hulk of a wrecked corvette - damn ! the very corvette you took off some minuts ago ! has crashed here in the trench, blocking your way ! Could the Force allow you to lift it up to manage a way through ?^", before [; Open : print "^That can't be opened...but lifted up...maybe...^"; ], has static scenery; Object fence3 "wrecked lightcycle" place3 with name 'wrecked' 'lightcycle', description "One of your former opponent has flown in the air and crashed just before what seems to be your only way out ! ", before [; Open : print "^Negative. ^"; ], has static scenery; Object Lecture11 "Main Hall", with description "Before you lies the vast hall of the Espace Wagram, an old palace in the heart of Paris now transformed in a huge sci-fi convention. Half of the place is occupied by numerous tables displaying various international publications, and the other half welcomes now most of the audience, captivated by the last speeches preceeding the prize ceremony.^^ Marcus must be waiting for you in the small room south.", in_to [;Lynch2();rtrue;], s_to [;Lynch2();rtrue;], n_to [;print "There is too much people standing around, listening to the prize ceremony, to hack you a way this direction.^";rtrue;], out_to [;print "There is too much people standing around, listening to the prize ceremony, to hack you a way this direction.^";rtrue;], has light; Object Lecture22 "Main Hall", with description "Before you lies the vast hall of the Espace Wagram, an old palace in the heart of Paris now transformed in a huge sci-fi convention. Half of the place is occupied by numerous tables displaying various international publications, and the other half welcomes now most of the audience, captivated by the last speeches preceeding the prize ceremony.^^ South is the small room where Marcus waits for you.", in_to [;if (self.entered==0) {print "^Marcus will be amazed that I know his recipe now.^^~Hey Marcus, guess who I met ? Clue : he's got a beard and...~^";Wait();self.entered++;} return toilets;], s_to [;if (self.entered==0) {print "^Marcus will be amazed that I know his recipe now.^^~Hey Marcus, guess who I met ? Clue : he's got a beard and...~^";Wait();self.entered++;} return toilets;], n_to [;print "There is too much people standing around, listening to the prize ceremony, to hack you a way this direction.^";rtrue;], out_to [;print "There is too much people standing around, listening to the prize ceremony, to hack you a way this direction.^";rtrue;], entered 0, has light; Object toilets "Toilets", with description [; print "Mmm...this room should'nt be located here. Anyway. Men's toilets, quite clean, lighted with a buzzing neon on the ceiling. A few urinals on a side, a couple of closed boxes on the another. Oh, and this sentence written in big, still fresh blood, letters, on the wall on the top of the urinals, stating :^^"; if (self.lom<5) {print "PRE-JULY";} if (self.lom<10 && self.lom>4) {print "FLOW MY TEARS";} if (self.lom<15 && self.lom>9) {print "TODAY'S SUGGESTION FOR MISTER LESCROC : POHL'S SPACE MERCHANTS";} if (self.lom<20 && self.lom>14) {print "CHEATERS WIN";} if (self.lom<25 && self.lom>19) {print "GOD...THE TITLE SUITS ME WELL";} if (self.lom>24) {print "TIME TO ACT NOT TO READ";} print "^^And you know what ? I never liked Ubik either.^"; ], each_turn [; self.lom++; Events(self.lom); ], out_to [;print "^You try to get back to the main room, but as you cross the doors you come upon the...^"; return toilets;], n_to [;print "^You try to get back to the main room, but as you cross the doors you come upon the...^"; return toilets;], lom 0, has light; Object urinal "urinals" toilets, with name "urinal" "urinals", description "^Oh joy. Should I really give a description ? ^", has static scenery; Object boxes "urinals" toilets, with name "urinal" "urinals", description "^Oh joy. Should I really give a description ? ^", has static scenery; Object closet9 "metallic closet" toilets, with name "metallic" "closet", description "^This one reminds me of the one in the relaxation room. ^", has static openable enterable container; Object bucket9 "steel bucket" closet9 with name 'steel' 'bucket', description "A steel bucket, still filled with a small ounce of dirty water. ", has container open; Object broom9 "broom" closet9 with name 'broom', description "An old, tall, broom. "; Object redcurtains "Red curtains corridor", with description "Four large red velvet curtains, hanging from the ceiling, form the walls of this singular room. All is silent. ", in_to [; k.j++; if (k.j==5) {k.j=1;} return multiroom; ], s_to [; k.j++; if (k.j==5) {k.j=1;} return multiroom; ], n_to [; k.j++; if (k.j==5) {k.j=1;} return multiroom; ], out_to [; k.j++; if (k.j==5) {k.j=1;} return multiroom; ], e_to [; k.j++; if (k.j==5) {k.j=1;} return multiroom; ], w_to [; k.j++; if (k.j==5) {k.j=1;} return multiroom; ], has light; Object curtains "curtains" redcurtains, with name "curtain" "red" "velvet" "curtains", description "^Damn curtains. There is a room behind them. ^", has static scenery; Object k "k", with description "heya", j 0, has light; Object multiroom , with short_name [; if (k.j==1) {print "Some Kitchen - MATRIX";rtrue;} if (k.j==2) {print "Straylight villa - NEUROMANCER ";rtrue;} if (k.j==3) {print "Castle of the Other Plane - TRUE NAMES";rtrue;} if (k.j==4) {print "Dream cell - A MAZE OF DEATH";rtrue;} ], description [; if (k.j==1) {print "You are in a what appears to be a living room with a kitchen in a small flat of a modern metropolis. A window opens on a forest of tall buildings, filled with economic fluxes and an intense business life. Inside, brown closets, a TV displaying a permanent snowcrash, faded pictures on the wall.";} if (k.j==2) {print "Surrounded by pure white walls and ground, a large pool of absolute transluscent waters lay still, like a numerical concept. Through a glass bay you see the infinite space and the numerous tiny stars around. Sometimes, the huge blue mass of the earth cruises by. ";} if (k.j==3) {print "You are inside...a medieval castle. Large and polished, gray stones forms the walls all around, where huge tapestries hang. In a wood and brick hole, bright flames dances and warm up the whole place. ";} if (k.j==4) {print "The light is dim, here. The coat of darkness is randomly pierced by the small white and green leds all around. Through a small glass window, you see space and the dying light of an unknown sun reflecting on a barren planet. All around are scarcophagus pods where people seem to sleep - or, to dream. ";} ], out_to [; if (self.check==2) {Joue(15);PlayerTo(redcurtains);self.check++;rtrue;} else if (self.check==1) {Lynchback();rtrue;} else if (self.check==0) {Wordpolice();rtrue;} else {return redcurtains;} ], check 0, has light; Object invisible "nothing" with description "", each_turn [; Setwindow(5); if (self.lynch==0) {print "^David Lynch says : ~HEY LITTLE GUY, BRING IT THERE !~^^From outside the ~window~ a dwarf dressed in red pushes an heavy couch.^";} if (self.lynch==1) {print "^David Lynch sits and relaxes in the couch and watches you in the left windows. ~THAT'S BETTER THAN TV, HUH, LITTLE GUY ?~^^The dwarf approves and begins dancing weirdly. ^";} if (self.lynch==2) {print "^David Lynch bursts in a : ~PATHETIC !~^His henchdwarf adds : ~Very pathetic !~^";} if (self.lynch==3) {print "^David Lynch laughs wildly and says : ~YOU SEEM LOST MY WITTY FRIEND. WHERE ARE YOUR SMART-ASS JOKES ABOUT WHO CALLS WHAT MONTH OR WHAT NOW ?~^His henchdwarf adds : ~Yes, where are they ?~^";Setwindow(1);Wait(); print "^You yell to the right window : ~Come on. You will comment like that everything that I will do ?~^";Wait();Setwindow(5);print "^~HEY, I AM WATCHING THE SHOW, BRO. ~^";} if (self.lynch==4) {print "^^David Lynch bursts in a : ~HA HA ! BAD MOVE ! WHERE IS THE SAD TROMBONE MUSIC WHEN YOU NEED IT ?~^^His henchdwarf suggests : ~Do you want me to sing you a little tune ?~^~TUNE ? TUNE ? PLEASE DO NOT USE THIS WORD IN FROM OF ME ! ~^^~Hem. Ok Boss.~^";} if (self.lynch==5) {print "^PLEASE SING ME AN AIR, A MELODY, A JINGLE, A SONG, A MOTIF, A THEME, BUT PLEASE AVOID THE VULGAR TUNE WORD. ~^^~Sure Neptune. I didn't want to oppugn. Would you like a prune, my shogun ?~";} if (self.lynch==6) {print "^^David Lynch explodes : ~WHAT ?!? ~";SetWindow(1);print "^Oh. THAT IS ENOUGH.^>"; Wait(); print "g"; Wait(); print "o"; Wait(); print " "; Wait(); print "t"; Wait(); print "o"; Wait(); print " "; Wait(); print "r"; Wait(); print "i"; Wait(); print "g"; Wait(); print "h"; Wait(); print "t"; Wait(); print " "; Wait(); print "w"; Wait(); print "i"; Wait(); print "n"; Wait(); print "d"; Wait(); print "o"; Wait(); print "w^^"; Wait(); SetWindow(5); print "^^You find yourself in the right window.^^David and the dwarf are startled.^^~WELL WELL WELL NOW WE GO THROUGH THE FOURTH WALL, DON'T WE ?, says Lynch. DO I LOOK LIKE WOODY ALLEN TO YOU ?~^^>"; Wait(); print "t"; Wait(); print "a"; Wait(); print "k"; Wait(); print "e"; Wait(); print " "; Wait(); print "d"; Wait(); print "w"; Wait(); print "a"; Wait(); print "r"; Wait(); print "f"; Wait(); print "^Taken.^^>"; Wait(); print "h"; Wait(); print "i"; Wait(); print "t"; Wait(); print " "; Wait(); print "l"; Wait(); print "y"; Wait(); print "n"; Wait(); print "c"; Wait(); print "h"; Wait(); print " "; Wait(); print "w"; Wait(); print "i"; Wait(); print "t"; Wait(); print "h"; Wait(); print " "; Wait(); print "d"; Wait(); print "w"; Wait(); print "a"; Wait(); print "r"; Wait(); print "f"; Wait(); print "^^You punch David Lynch with the dwarf several times, and the movie producer screams in pain and begs you to stop.^^>"; Wait(); print "g"; Wait(); print "o"; Wait(); print " "; Wait(); print "t"; Wait(); print "o"; Wait(); print " "; Wait(); print "l"; Wait(); print "e"; Wait(); print "f"; Wait(); print "t"; Wait(); print " "; Wait(); print "w"; Wait(); print "i"; Wait(); print "n"; Wait(); print "d"; Wait(); print "o"; Wait(); print "w"; Wait(); SetWindow(1); print "^Ahh. Back to normal. Well, normal isn't the right word, but. Oh, one last thing.^^>"; Wait(); print "p"; Wait(); print "u"; Wait(); print "s"; Wait(); print "h"; Wait(); print " "; Wait(); print "r"; Wait(); print "i"; Wait(); print "g"; Wait(); print "h"; Wait(); print "t"; Wait(); print " "; Wait(); print "w"; Wait(); print "i"; Wait(); print "n"; Wait(); print "d"; Wait(); print "o"; Wait(); print "w"; Wait(); print "^^You push the right window.^^"; Wait(); Close4(); print "Well. Now you can think.^^"; self.active=0; remove self; } self.lynch++; Setwindow(1); ], found_in [;if (self.active==1) {return location;}], active 0, lynch 0, has scenery; Object frigo, with short_name [; if (k.j==1) {print "fridge";rtrue;} if (k.j==2) {print "dead cyborg";rtrue;} if (k.j==3) {print "a copy machine called mailman";rtrue;} if (k.j==4) {print "suspended life sarcophagus";rtrue;} ], name "fridge" "cyborg" "robot" "copy machine" "copy" "machine" "mailman" "sarcophagus", description [; if (k.j==1) {print "^This is a great...fridge. Actually, it's juste a plain regular fridge.^";} if (k.j==2) {print "^Someone just get nailed by my buddy molly. It was a great killer cyborg, made of more metal than ordinary flesh. ^";} if (k.j==3) {print "^They call it the mailman, but, to me, it's just a stupid copy machine. Well, editors are just copy machines too !^";} if (k.j==4) {print "^I guess they stack people in it so they can dream of better things while they are travelling into space. A bad idea in the whole. ^";} ], before [; Open : if (k.j==1) {print "^You open the old fridge.^";give self open;self.opened=5;rtrue;} else {print "^This can be opened somehow, but it's tightly shut !^";rtrue;} ], each_turn [; if (self.opened>0) { self.opened--; if (self.opened==0) { if (k.j==1) {print "^The door of the fridge closes by itself.^";} if (k.j==2) {print "^The limbs of the cyborg close. ^";} if (k.j==3) {print "^The copy machine closes itself. ^";} if (k.j==4) {print "^The lid of the sarcophagus closes. ^";} give self ~open; } } ], found_in multiroom, opened 0, has openable static container; Object blood, with short_name [; print "blood";rtrue; ], name "blood", description [; print "Blood. Mine. Alas. "; ], before [;Take : if (verre2 in gerard) {print "^Ok, you gather some of your own blood with the glass. ^"; verre2.blood4=1;rtrue; } else {print "^With what ?^";rtrue;}], each_turn [; if (self.opened>0) { self.opened--; if (self.opened==0) { print "^The blood dries off and disappears.^"; } } ], opened 0, has static; Object placard, with short_name [; if (k.j==1) {print "closet";rtrue;} if (k.j==2) {print "small wooden coffin";rtrue;} if (k.j==3) {print "cupboard";rtrue;} if (k.j==4) {print "steel closet";rtrue;} ], name "closet" "small" "wooden" "coffin" "steel" "cupboard" "closet", description [; if (k.j==1) {print "^A closet. Surprising description, huh ?.^";} if (k.j==2) {print "^A small coffin lays near the pool. ^";} if (k.j==3) {print "^A large cupboard is stuck against a wall^";} if (k.j==4) {print "^A. Steel. Closet. Punch line. ^";} ], found_in multiroom, opened 0, has openable static ~open container; Object ubik, with short_name [; if (k.j==1) {print "whipped cream container";rtrue;} if (k.j==2) {print "drug shot";rtrue;} if (k.j==3) {print "perfume flask";rtrue;} if (k.j==4) {print "ubik spray";rtrue;} ], name "whipped" "cream" "container" "drug" "shot" "perfume" "flask" "ubik" "spray", description [; if (k.j==1) {print "^Mmm...A girl in leather. Whipped Cream. So many possibilities.^";} if (k.j==2) {print "^I guess that if I take a shot of this, things won't get clearer. ^";} if (k.j==3) {print "^Great. Just what I needed. ^";} if (k.j==4) {print "^Mmm...that's a perplexing thingy. It's some kind of spray, with ~ubik - stabilize your reality !~ written on it. I wonder what does it do ? ^";} ], before [; Spray : if (k.j==1) {print "^I will keep the cream for later. ^";rtrue;} if (k.j==2) {print "^I will keep this substance in it. ^";rtrue;} if (k.j==3) {print "^No thanks. ^";rtrue;} if (k.j==4) { if (second==verre) {print "You spray the ubik on the glass. Mmm...it does look like more...more real ?^ Now that the ubik is empty, you throw away the spray. "; remove verre; move verre2 to gerard; remove ubik; rtrue;} else { print "^I will keep the Ubik for something that might be more useful. ^";rtrue;} } ], has sprayable; Object verre, with short_name [; if (k.j==1) {print "large vase";rtrue;} if (k.j==2) {print "glass pendant";rtrue;} if (k.j==3) {print "ceramic bowl";rtrue;} if (k.j==4) {print "glass";rtrue;} ], name "large" "vase" "glass" "pendant" "ceramic" "bowl" "glass", description [; if (k.j==1) {print "^This vase is so large it's hardly movable.^";} if (k.j==2) {print "^This glass pendant lies on the ground. It must have been tear apart during the fight between molly and the cyborg. ^";} if (k.j==3) {print "^This is so 70's. ^";} if (k.j==4) {print "^The glass of Philip.^";} ], before [;Receive : "^Nope. It might change form as soon as I get in another room. ^";]; Object verre2 "glass", with name "glass", description [; print "The glass of Philip - after a good dose of Ubik. ^"; if (self.lemon4==0 && self.blood4==0 && self.tequila4==0 && self.ink4==0) {print "^It's empty now. And gosh, you dislike having an empty glass. ^";} else { print "There's..."; if (self.lemon4==1) {print "^...lemon...";} if (self.blood4==1) {print "^...blood...";} if (self.tequila4==1) {print "^...tequila...";} if (self.ink4==1) {print "^...ink...";} print "^...in it.";} ], before [;Drink : if (self.lemon4==1 && self.blood4==1 && self.tequila4==1 && self.ink4==1) {Drinkagain();rtrue;} else {print "^It lacks something to be perfect. ^";rtrue;} Receive : if (noun~=lemon && noun~=tequila) {print "^Naa, I won't put that in it. ^";rtrue;} else if (noun==lemon) {print "^Ok, you squeeze the ~delicious~ lemon juice into the glass.^";remove lemon;verre2.lemon4=1;rtrue;} else if (noun==tequila && k.j==4) {print "^Ok, you fill your glass with the remaining of tequila and throw the bottle away .^";remove tequila;verre2.tequila4=1;rtrue;} else if (noun==tequila && k.j~=4) {print "^I won't put any water in my drink, pal .^";rtrue;} ], lemon4 0, blood4 0, tequila4 0, ink4 0 has container open; Object feather "feathers", with name "feather" "duck" "feathers", description [; print "Duck feathers. You are not proud of that. You hold currently "; print self.number; print " feather"; if (self.number>1) {print "s.";} ], before [; Drop : print "^No, these are mine !^";rtrue; ], number 1 has pluralname; Object tequila, with short_name [; if (k.j==1) {print "water bottle";rtrue;} if (k.j==2) {print "water bottle";rtrue;} if (k.j==3) {print "water bottle";rtrue;} if (k.j==4) {print "tequila bottle";rtrue;} ], name "water" "bottle" "tequila", description [; if (k.j==1) {print "^Mineral H2O.^";} if (k.j==2) {print "^Mineral H2O. ^";} if (k.j==3) {print "^Mineral H2O. ^";} if (k.j==4) {print "^Aie caramba !^";} ]; Object dick , with short_name [; if (k.j==1) {print "Trinity";rtrue;} if (k.j==2) {print "Molly";rtrue;} if (k.j==3) {print "Erythrina";rtrue;} if (k.j==4) {print "Philip K. Dick";rtrue;} ], name "philipp" "dick" "writer" "beard" "man" "woman" "lesbo" "bitch" "trinity" "girl" "molly" "afro" "princess" "erythrina", each_turn [; if (k.j==4) {give self ~female;} else {give self female;} ], description [; if (k.j==1) {print "^This woman wears leather, but she's as dry as a east coast lesbo. She keeps looking at me like I am some kind of god or I don't know what. Creepy. ^";} if (k.j==2) {print "^Talk about a creepy girl. This nerd has metallic lenses, steel fingernails that make her a wolverine lookalike, and she's staring blankly at the empty pool. ^";} if (k.j==3) {print "^This girl, dressed like a medieval princess, has somekind of a 70's look with her. Another nerd in a world of weirdos. ^";} if (k.j==4) {print "^There he is, the puppet master behind everything. Dick himself, with his lunixian beard and this hippy look that would kill any attempt at making him today bankable.^ ";} ], before [;Talk2 : if (k.j==1) {print "You point at Trinity, saying :^^ ~Sup, leatheratrix ?~^ The girl answers :^ ~Are you the One ?~^ You answer :^";Italique();print " ~The One That's Pissed Off, oh yes, I am !~^";Normal();rtrue;} if (k.j==2) {print "You nod to Molly :^ ~Hey razorblade, you know a way out of this mess ?~^ Molly shows you the finger, or rather, the steel nail, and answers :^ ~Just ask your rastafari pal. Jah works, so they say. ~^ ~Well, it's not like I was expecting anything useful anyway. ~^ ~Funny boy. ~^^She punches you in the nose and leaves you half knocked-out, bleeding by drops on the steel coffin. "; if (verre in closet) {;} else {move blood to multiroom;} rtrue;} if (k.j==3) {print "You smirk at the girl :^ ~Wazza Afro Princess. ~^ ~Are you an entity from the Outer plane ? Or are you a manifestation of the Mailman ?~^ ~And you ? Are you a manifestation of the Milkman ? Or are you just perfectly insane ?~";rtrue;} if (k.j==4) {Talkdick();} ], life [;Attack : if (k.j==1) {print "^The lesbo could kill me with a glance. ^";rtrue;} if (k.j==2) {print "^Well, my policy is to stay away from steel-nailed girls. ^";} if (k.j==3) {print "^Oh no. She would break into tears and give me an headache. ^";rtrue;} if (k.j==4) { if (self.talked==0) {print "^Some junky deserves a good beating, yes. But I will listen to my heart of gold and try to speak to him first.^";} if (self.talked==1) {Beating();self.talked=2;rtrue;} if (self.talked==2) {print "^It was fun, but my litterary agent work is done here. ^";rtrue;} } Kiss: "^Not even for a cat, not even for a fox, not even for a date with Courtney Cox. ^ "; Show, Give: "^- ~You see this, freako ? It's mine. ~^"; ], talked 0, found_in multiroom, has animate proper; Object ink, with short_name [; if (k.j==1) {print "ice";rtrue;} if (k.j==2) {print "tainted oil";rtrue;} if (k.j==3) {print "ink recipient";rtrue;} if (k.j==4) {print "alcohol puddle";rtrue;} ], name "ice" "tainted" "oil" "ink" "toner" "alcohol" "puddle", before [;Take : if (k.j==3) { if (verre2 in gerard) {print "^Ok, you gather some ink, dipping the glass in the copy machine. ^"; verre2.ink4=1;rtrue; } else {print "^With what ?^";rtrue;} } else {print "^Why would you take this ?^";rtrue;} ], description [; if (k.j==1) {print "^The inner sides of the fridge are coated in ice.^";} if (k.j==2) {print "^The cyborg insides are filled with thick oil. ^";} if (k.j==3) {print "^In the copy machine, a recipient full of dark ink emits a strong odor. ^";} if (k.j==4) {print "^Someone has poured mistakendly some alcohol in there.^";} ], has static; Object npc "GENERIC QUEST-GIVER NPC", with name "generic" "quest" "giver" "npc", description "^This man is immobile as a statue. Well, maybe it's a statue ?! Even his eyes looks right in front of him, far away before you. ^", before [;Talk2 : print "^The man-statue tells suddendly as you approach :^^ ~HI ! I HAVE ";Gras();print "DELICIOUS LEMON";Normal();print ". IF YOU GIVE ME 10 ROYAL EAGLE FEATHERS I WILL GIVE YOU ";Gras();print "DELICIOUS LEMON";Normal();print ". ~^^ You answer : ^ ~C'mon. Do I look like a Japan rpg character ? Gimme the lemon. ~^^ ~I SEE YOU DO NOT HAVE THE 10 ROYAL EAGLE FEATHERS. COME BACK LATER. ~^^ Yeah, GREAT. Like, this place is full of royal eagles. ^";rtrue; ], life [;Attack : "^An invisible force prevents you from hurting him ! Hey ! I am in a video game or what ?^"; Kiss: "^I got my quota of weirdness already, thanks a lot. ^ "; Show, Give: if (noun==feather) { if (feather.number>9) { print "^You hand the generic quest giver NPC an handful of duck feathers :^^ ~There you go, buddy. It was a pain you know where, but I smacked a couple of eagles passing by, and voilà.^^"; Wait(); print "The Generic Quest-Giver NPC looks suspiciously at your feathers :^^ ~They do not seem to be Royal Eagle Feathers. I just take Royal Eagle Feathers !~^^";Wait();print " ~What ? You...you accuse me of trying to trick you ? I am so SHOCKED. ~ ^^~How can I be perfectly sure that this is royal eagle feathers and not second class bird feathers. ~^^";Wait();print " ~Because I tell you so, my friend. Trust me. Regarding birds, I am quite an expert. ~^^ ~In this case. Here is your ";Gras();print "DELICIOUS LEMON";Normal();print ". ~^^ He hands you some lemon and vanishes in a puff of smoke. Aah, turing machines. So easy to trick. ^"; self.possa=1; remove self; move lemon to gerard; feather.number=feather.number-10; rtrue; } else {print "^Hehe, why not. But I don't even have ten of these. ^";rtrue;} } else {print "^- ~You see this, freako ? It's mine. ~^";rtrue;} ], found_in [;if (k.j==3 && gerard in multiroom && self.possa==0) {return multiroom;} else {return nothing;}], possa 0, has animate; Object lemon "delicious lemon" with name 'delicious' 'lemon' 'fruit', description "^Lemon. Supposed to be delicious. Who knows. Those stupid fruits eat me from the inside with they acidity.^ "; Object gerard2 "Gerard #2" with name 'gerard' '#2', description "Oh wow. This guy just looks like me. Hey ! He sees that I am looking at him and looks at me too ! That's freaky. ", before [k;Talk2 : k = random(20);Chatty(k);rtrue;], life [; Attack : "^Oh no. He is strong, well, as strong as I am. ^"; Show, Give: "^You do not dare to do that. It would be frightening to know that he got that too. ^"; ], has animate proper; Object gerard3 "Gerard #3" with name 'gerard' '#3', description "Oh wow. This guy just looks like me. Hey ! He sees that I am looking at him and looks at me too ! That's freaky. ", before [k;Talk2 : k = random(20);Chatty(k);rtrue;], life [; Attack : "^Oh no. He is strong, well, as strong as I am. ^"; Show, Give: "^You do not dare to do that. It would be frightening to know that he got that too. ^"; ], has animate proper; Object gerard4 "Gerard #4" with name 'gerard' '#4', description "Oh wow. This guy just looks like me. Hey ! He sees that I am looking at him and looks at me too ! That's freaky. ", before [k;Talk2 : k = random(20);Chatty(k);rtrue;], life [; Attack : "^Oh no. He is strong, well, as strong as I am. ^"; Show, Give: "^You do not dare to do that. It would be frightening to know that he got that too. ^"; ], has animate proper; Object gerard5 "Gerard #5" with name 'gerard' '#5', description "Oh wow. This guy just looks like me. Hey ! He sees that I am looking at him and looks at me too ! That's freaky. ", before [k;Talk2 : k = random(20);Chatty(k);rtrue;], life [; Attack : "^Oh no. He is strong, well, as strong as I am. ^"; Show, Give: "^You do not dare to do that. It would be frightening to know that he got that too. ^"; ], has animate proper; Object gerard6 "Gerard #6" with name 'gerard' '#6', description "Oh wow. This guy just looks like me. Hey ! He sees that I am looking at him and looks at me too ! That's freaky. ", before [k;Talk2 : k = random(20);Chatty(k);rtrue;], life [; Attack : "^Oh no. He is strong, well, as strong as I am. ^"; Show, Give: "^You do not dare to do that. It would be frightening to know that he got that too. ^"; ], has animate proper; Object gerard7 "Gerard #7" with name 'gerard' '#7', description "Oh wow. This guy just looks like me. Hey ! He sees that I am looking at him and looks at me too ! That's freaky. ", before [k;Talk2 : k = random(20);Chatty(k);rtrue;], life [; Attack : "^Oh no. He is strong, well, as strong as I am. ^"; Show, Give: "^You do not dare to do that. It would be frightening to know that he got that too. ^"; ], has animate proper; ! ---- [ Initialise; ChangePlayer(gerard); lookmode=2; give player light; location = Room; Intro(); InformLibrary.begin_action = MultiColBeginAction; move secondselfobj to Room1; move thirdselfobj to Room2; move fourthselfobj to Room3; ]; [Ending; print "^You get out of the closet, and Dick raises his weapon towards you. "; Wait(); print "^^But...";Italique();print "clic";Normal(); print "^^You move forward and punch the writer in his nose, shouting :^"; Wait(); print "^~Taste my ";Italique();print "Substance Death";Normal(); print ", you psycho junky !~^"; Wait(); print "^As Philip K. Dick loses consciousness, the walls of the room you are in flicker, blink and then vanish, and all turn so black that you cannot tell whether your eyes are open or closed.^"; Wait(); Nettoie1(); print "^A second later, you take away the drink of your lips, and your eyes fall again on Marcus, who calmy tells you :^"; Wait(); print "^~I bet my prize you hate those stories, where the protagonist wakes up at the end and realizes that it was just a dream.~ ^"; Wait(); print "^You were about to answer that the prize wasn't him yet, but a loud crowd applauds outside and scands his name. ^"; Wait(); print "^~Go fetch your prize, writer. We have got money to make. ~^"; Wait(); print "^And so Marcus went, without a word, through the double doors, into the light of the glory.^^And you stayed in the shadow, chasing with a distracted hand a fluffy feather floating by. ^^Guessing without seeing the writer's warlock smile. ^^"; Wait(); print "^^ The End^^ did you like this game ?^ did you laugh a bit ?^ if so, please send an email to lejibe@@64gmail.com^ even a single word^ and with enough words another story might birth.^^^"; remove gerard; deadflag=2; ]; [Talkdick; print "^ That's your chance.^^";Wait();print " ~Hey bearded buddy. Got a litterary agent ?~^^ Dick seems to focus his though, emerging from an ocean of alcohol.^^ ~I do not plan to write a single line anyday. ~^^";Wait();print " ~Perfect. A problem away then. Now I need to get out of here. ~^^ Dick thinks again and...^^";Wait();print " ~That's funny you know. Because it's MY dream. So basically I should be the one asking this question. ~^^ ";Wait();print " ~Come on. I drank a drop of your special cocktail and after an eternity of madness I ended here. ~^^ ~At the End of the Maze. A Maze of Death. Well, we can always suppose that if you drink again a drop, you might land elsewhere. Maybe back to your old self, who knows ?~^^";Wait();print " ~Hey who knows ? I might not kill you right away then. Ok, old man. Gimme the recipe. ~^^";Wait();print " Dick frowns in pain, then moves close to you, his alcohol strong breath driving you nauseous. He whispers :^^";Wait();print "~ Of all calamity on earth I hate more than anything the litterary agents. So please die away slowly. ~^^ Oh oh oh. Just wait for Gerard to teach you the punch of Smith's invisible hand.^^ ";self.talked=1; rtrue; ]; [Drinkagain; print "^You consider the drink in your hand. Well. Can't be worse. One sip...^"; Wait(); Nettoie1(); glk_image_draw(gg_mainwin,10,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,11,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,12,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,13,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,14,0,0); Wait(); Sip(); ]; [Sip; Nettoie1(); print "You wake up suddendly in the noisy hall where the lecture takes place.^^Damn...you always hated the stories that ended with the main protagonist waking up, realizing it was just a dream, but...^^HEY ! DEJA VU !^^"; Wait(); print "^Your bladder is full. You wouldn't mind going to the toilets. But first things first. ^"; remove verre2; Playerto(Lecture22); ]; [HelpSub; print "^Lost in playing Works of Fiction ? What a shame. ^"; ]; [LicenceSub; print "^Violate this if you want to, but make good children out of it.^"; ]; [Beating; print "^You scratch your nose looking at the writer and, catching him by surprise, you punch him in the head, turning him around, and arm-locking him on the sarcophagus. "; Wait(); print "^^You yell : ~It feels so GOOD ! I am living every litterary agent dream ! ";Gras();print "HA HA HA !~";Normal(); Wait(); print "^^~Ouch ! Let me go !~^^"; Wait(); print "~You know, dickie, it breaks my heart in fact to do that. Foundation was such a great seller. ~"; Wait(); print "^^~I didn't even ";Italique();print "write";Normal();print " Foundation !~"; Wait(); print "^^~Well, that's good for you. Just between you and me, I fell asleep past page ten !~^^"; Wait(); print "~Ok, you won ! I promise I will finish this book by the end of...~^^"; Wait(); print "~Get lost with the book ! I don't have your rights anyway, and you are long dead. Gimme the recipe of the Special Drink. ~"; Wait();Gras(); print "^^~YOU";Normal();print ", get lost ! Do you think you can handle it, pussy ?~^^"; Wait(); print "You squeeze his arm tighter and he screams :^^"; Wait(); print "~OK ! Some tequila, some lemon, some blood...and some ink from a printer toner. ~"; Wait(); print "^^~That's disgusting ! Don't with me !~. Ooops. A word of your last sentence has been replaced by the squeaking of a duck. You cough and spit a feather. Damn. You are so surprised that you let the writer go.^"; ]; [Wordpolice; print "^You pass the door and..."; Wait(); print "^^...find yourself again in the red curtains room. Quietly, but firmly, you let go a very bad word :"; Wait();Italique(); print "^^~Fuck.~^^";Normal(); Wait(); print "Then three men, all dressed in black, come from behind you : "; Wait();Gras(); print "^^~Do not move !";Normal();print" We are the politically correct IF police. ~, says the leader. ^^"; Wait(); print "A short moment you consider again bursting in rage, but, you know, they are very tall, and moreover, dressed in black. ^^"; Wait(); print "~You have proven yourself ";Gras();print "guilty";Normal();print " of telling a forbidden word in the IF policy - the F-word, smartly precises another one - but more than that, you wrote a moment ago that Orson Welles was a ~Jerk~ -another one nods sadly behind him- and that, my friend, is unnacceptable regarding the consensus of the elite that plays Interactive Fiction. ~"; Wait(); print "^^You defend yourself : ~Okay for the F-word, well, if you are nazis, that's your problem, but, regarding Orson Welles being a Jerk, that was the achievement, not me. ~"; Wait(); print "^^The three laugh, and the leader answers : ~An Achievement, hum ? How many times have we been told it was because ~it's an achievement ~?~^^";Wait();print " ~Way too many times. ~ says another one. The last one holds a living duck by the neck and shows it, saying ~We must act. ~^^ You will not have the time to wonder what they will do with the duck. One punches you so hard you fall inconscious.^ An undetermined time later, you rise on your feet, again in the red curtains room.^^You do not feel the pain of the punch anymore but...it's like you have a living duck inside you. Eeek.^^"; PlayerTo(redcurtains); multiroom.check=1; ]; [LynchBack; print "^You pass the door and find yourself again in the red curtains room. But this time...you feel something..."; Wait(); Open4();Italique(); print "^^Oh no, not again. ^^"; Wait();Normal(); SetWindow(5); print "^^David Lynch appears in the right window (whatever ~right window~ means for you. Actually you just feel it's a good word to describe where he is.).^^He screams : ~WELL I AM JUST PASSING BY SO PLEASE KEEP ON WITH DOING YOUR STUFF !~^^Sure, with all these screams you will be perfectly able to keep on being calm and all.^"; SetWindow(1); Wait(); PlayerTo(redcurtains); move invisible to location; invisible.active=1; multiroom.check=2; ]; [Lynch2; print "^You take a deep breath, and advance toward the relaxation room. Whew ! What a dream. If Marcus knew..."; Wait(); print "^^At least, you got a good joke, and you smile as you push the door and shout :"; Wait(); print "^^~Hey Marcus, do you know why David Lynch called June ";Italique();print "'Pre-July'";Normal();print " ? Well, it's because June sounded too much like...~^^";Wait();Italique();print " Oh no.";Normal(); Wait(); print "^^The door led you not into a room, but into some corridor...where the walls are not walls, but huge and heavy, red, velvet, curtains. "; Wait();Italique(); print "^^What the...^"; Wait();Normal(); print "^A huge voice booms :^^"; Wait();Gras(); print "~I RESENT THIS JOKE. ~"; Wait();Normal(); print "^^For a second, you feel the urge to burst in rage, in tears, in anything, but to burst and tear down those damn curtains.^^ But, whatever this is, dream or some mental labyrinth similar to Leiber's square root of the mind, you decide to ride and tame this madness, your way ! "; Wait(); print "And you shout back : ~Oh ! Red curtains, the Pre-July joke, now I get it ! This is the black lodge or the silencio theater, David. You remember, those ideas you are so proud of but the very ones you STOLE to Herman Hesse's Steppenwolf ! What ? Did I hear something ?~^^But you get no answer. Apparently, the voice is away - for now.^^"; PlayerTo(redcurtains); move ubik to placard; move verre to multiroom; move ink to frigo; move tequila to multiroom; ]; [Final1; print "^For some unknown reason, the gates of the Jardin des Tuileries blast open, and fly in the air !^^ This is now or never, so you turn abruptly towards the garden, the tires of the large bus skidding against the dust and the leaves. "; SetWindow(2); print "Somewhere, a bataillion of Freemen had blasted the force fields generators, and it shuts down, allowing Shai Hulud to crawl beneath the Palace walls ! Onward ! To victory !^"; SetWindow(3); print "You concentrate and use the Force to remove the wrecked ship. Its huge mass slowly gets upwards as the Force energy currents crawl in you. Once it is high enough, floating in the light gravity, you fly your way inwards the Death Star !"; SetWindow(4); print "You compute and rewrite the code of the surroundings. Easy for an User hidden in the very MCP ! In a microcycle, the wreck returns to zeros, allowing you to pass through the crack. "; SetWindow(1); Wait(); print "^^As your bus stumbles upon the Louvre roundabout, various flashes illuminate again your mind, and you lose total control of yourself..."; SetWindow(2); print "^^There is a flash..."; SetWindow(3); print "^^There is a flash..."; SetWindow(4); print "^^There is a flash..."; SetWindow(1); Wait(); Close3(); print "^^Bling..."; SetWindow(2); print "^^Blang..."; SetWindow(3); print "^^Blong..."; SetWindow(1); Wait(); Close2(); print "^^Wuzza..."; SetWindow(2); print "^^Wazzu..."; SetWindow(1); Wait(); Close1(); print "^^The splitted realities around you seem to merge firmly, and you find yourself driving a mad bus, screaming in horror with Marcus, as you crash into the glass pyramid of the Louvre !"; Wait();Gras(); print "^^CRASH !^^ "; Wait();Normal(); print "...^^"; Wait(); print " ...^^"; Wait(); print "^^When you can hear again, as you walk uneasily among the glass on the ground, covered in the blood of your own wounds, you perceive the sounds of the sirens. The yells of the police. You are blinded with torchlights, and the flashing blue lights of the cars. The flashes of the journalists and the tourists.^"; Wait(); print "^Someone - a policeman, for sure - forces you to kneel on the ground, holding your shoulder firmly.^^But your are not afraid, no. In fact, ";Italique();print "this";Normal();print " reality is so good to experience, that, even if you have to go to jail, this jail would be home ! And that's what you tell :^^"; Wait(); print "- ~Thank you so much mighty gods I am home !~^";Gras();print" - ~PLEASE DO NOT MOVE, MISTER !~^";Normal();print " - ~Oh yes, that's a promise, not a move ! You know - it was crazy ! The Death star, the lightcycle race and - you know...those ";Gras();print "HUGE SANDWORMS";Normal();print ". Gosh, I hate Dune. Ha ha. Who likes Dune ? Boring book. Even David Lynch hates Dune. Hey, I have a good story about it ! Do you know why Lynch called June 'pre-July' ? Ha ha. You will laugh. Cause June sounded too much like...^"; Wait(); print "^You shall never finish your sentence.^"; Wait(); print "^As the police tries to calm down the situation, a small earthquake occurs. Then another, making the last remaning pieces of glass of the pyramid fall on you.^"; Wait(); print "^Then, in a mighty cry and a terrible earthshake, a giant worm emerges from the bowels of Paris, its body climbing high in the sky ! In the same time, hyperspace doors open in the sky over the Effeil Tower and the Arc de Triomphe on the other side of the Champs Elysées, and dozen of squadrons of Xwings engage against a titanic numerical carrier of the Master Computer that materialized itself !^"; Wait(); print "^That's too much for a single night...you faint...^"; Wait(); Nettoie1(); glk_image_draw(gg_mainwin,3,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,4,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,5,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,6,0,0); Wait(); Nettoie1(); glk_image_draw(gg_mainwin,7,0,0); Wait(); Nettoie1(); Joue(9); glk_image_draw(gg_mainwin,8,0,0); Wait(); Nettoie1(); print "You wake up suddendly in the noisy hall where the lecture takes place.^^Damn...you always hated the stories that ended with the main protagonist waking up, ";Italique();print "realizing it was just a dream";Normal();print", but...^^ Your heart beats now slower and the charming reality takes place. Yes. We have a prize to win, don't we ?^^"; gerard.cinematique=2; PlayerTo(Lecture11); remove secondselfobj; remove thirdselfobj; remove fourthselfobj; ]; [Drivebus; print "^You take place at the driver seat and turn on the bus. Turning around the street, you come upon the Champs Elysées. ^^"; SetWindow(2); print "^You drive forward the mighty sandworm to the battlefield around Arakeen Palace. ^"; SetWindow(3); print "^You fly your X-Wing through the hangar bay and through the battlefield around the corvette. ^"; SetWindow(4); print "^You swing your lightcycle between the tall walls of the data clusters. ^"; SetWindow(1); move bus to champs; move bus1 to champs1; move bus2 to champs2; move bus3 to champs3; bus.moving=1; gerard.cinematique=1; ]; [Opposing1; print "^Oh oh, a couple of police cars hurl on the Champs Elysees, chasing your bus ! ^^"; SetWindow(2); print "^Harkonnens Ornithopters spots you Sandworm and prey upon you ! ^"; SetWindow(3); print "^As you plunge into the trench, a squadron of Tie Interceptor chase you ! ^"; SetWindow(4); print "^A dire, red lightcycle begins to follow your tail ! ^"; SetWindow(1); move police to champs; move police1 to champs1; move police2 to champs2; move police3 to champs3; bus.moving=2; gerard.cinematique=1; ]; [Opposing2; print "^Damn ! Some other police cars arrive from a side street and follow you ! ^^"; SetWindow(2); print "^More ornithopters rise and fly towards you ! ^"; SetWindow(3); print "^Some more star fighters appears and plunge into the trench after you ! ^"; SetWindow(4); print "^The last lightcycle accelerate to reach you ! ^"; SetWindow(1); move police to champs; move police1 to champs1; move police2 to champs2; move police3 to champs3; bus.moving=4; gerard.cinematique=1; ]; [Failevade1; print "^You turn quickly on your right, riding on the sideway, scaring the numerous people around !^^"; SetWindow(2); print "^You charge on the right side of the Fortress, but the troops here are too strong and the mighty shai hulud crawls back under their lasers. ^"; SetWindow(3); print "^You try to escape the fire of the following starfighters by strafing on your right, but it doesn't work and the lasers hit your shields !^"; SetWindow(4); print "^You strafe quickly on your right, trying to form a dead-end for your opponent, but it keeps following you...on your left !^"; SetWindow(1); gerard.cinematique=1; ]; [Failevade2; print "^You turn quickly on your left, riding on the sideway, scaring the numerous people around !^^"; SetWindow(2); print "^You charge on the left side of the Fortress, but the troops here are too strong and the mighty shai hulud crawls back under their lasers. ^"; SetWindow(3); print "^You try to escape the fire of the following starfighters by strafing on your left, but it doesn't work and the lasers hit your shields !^"; SetWindow(4); print "^You strafe quickly on your left, trying to form a dead-end for your opponent, but it keeps following you...on your right !^"; SetWindow(1); gerard.cinematique=1; ]; [Goodevade1; print "^You turn quickly on your left, blocking the way to the police cars trying to get before you, and they spectacularly crash against each other in a clashing sound !^^Marcus yelps.^^"; SetWindow(2); print "^You charge on the left side of the Fortress, and your mighty worm gulps dozens of troopers and crush the other ones, letting the way free for the freemen to pass !^^Stilgar smiles at you in victory. ^"; SetWindow(3); print "^Avoiding the narrow ways offered by the trench, you trap the Tie squadron behind you and they crash against each other in a (scientifically impossible, since we are in space, but, who cares ?) thundering boom !^^ R2D2 beeps happily !^"; SetWindow(4); print "^You strafe quickly on your left, drawing a dead-end for your opponent with your luminous tail and it crashes into bytes all around you !^^The byte blips a positive tune. ^"; SetWindow(1); bus.moving++; gerard.cinematique=1; ]; [Goodevade2; print "^You turn quickly on your right, braking, and the police cars chasing you crash into each others !^^Now the way is free and you quickly drive to the Place de la Concorde.^^"; SetWindow(2); print "^You charge on the right side of the Fortress, and your mighty worm crush the very walls of Arakeen !^^You charge forward into the battle. ^"; SetWindow(3); print "^Once again, using the force to guide your hand, you trap the Tie squadron behind you and they crash against each other in a (scientifically impossible again, since we are in space, but, actually it would be a lot more boring otherwise) thundering boom !^^ R2D2 beeps cheerily as you fly deep further into the trench !^"; SetWindow(4); print "^You strafe quickly on your right, drawing a last and fatal dead-end for your opponent with your luminous tail and it crashes into a firework of bytes. ^^The byte blips a positive tune and you speed up out of the battlefield. ^"; SetWindow(1); bus.moving++; move bus to place; move bus1 to place1; move bus2 to place2; move bus3 to place3; gerard.cinematique=1; ]; [Enteringbus; print "^Two things alert the bus driver when you enter the empty bus : the madness in your eyes and the couple of policemen running towards you. With a swift sense of the situation, he runs away from its place, avoiding you carefully - crossing Marcus that comes with you :^^~Enough Gerard, we should go, now. ~^^You answer : ~Are you ready for the ride, blipey ?~^^(a tiny panel appears just before you, with the following text : [Note : if you want to drive the bus, type ~instructions~ to get the info about the controllers of this sub-game]. You wave at it and it disappears. Damn hallucinations.)^^"; SetWindow(2); print "^With a seasoned dexterity, you catch a metallic scale of Shai Hulud and climb upon its mighty carapace. Soon, you are joined with Stilgar which tells you : ^^~Today is the last day of the Harkonnens on Dune.~^^ You answer : ~Are you ready for the ride, blipey ?~^"; SetWindow(3); print "^You climb in the Xwing fighter and close the cockpit as a crane lifts a D2 unit in your rear seat. R2D2 blips and blops. You answer : ~Are you ready for the ride, blipey ?~^"; SetWindow(4); print "^You climb on the yellow lightcycle and a lone byte floats over you : ^^~POSITIVE.~, it says.^^ You answer : ~Are you ready for the ride, blipey ?~^"; SetWindow(1); Playerto(bus); move secondselfobj to bus1; move thirdselfobj to bus2; move fourthselfobj to bus3; move marc to bus;move marc1 to bus1;move marc2 to bus2;move marc3 to bus3; gerard.cinematique=1; ]; [Numeric; print "^The weird flashes of alternate realities are driving your insane. Sure that, if you took some fresh air, everything would be better. And you calmly walk outside when -^^"; SetWindow(2); print "You go for the infinite sands of Arrakis. There you will be able to summon Shai Hulud, which will take you to the battlefield !^"; SetWindow(3); print "You run for the main hangar. You need to get into an X-wing and join your squadron for the Death star trench assault !"; SetWindow(1); Wait(); Open3(); print "^^Hum...what now ?"; SetWindow(2); print "^^There is something..."; SetWindow(3); print "^^The Force..."; SetWindow(4); print "^^1000011101010101...sequence initiating...."; SetWindow(1); Wait(); print "^^A large bus stops before you. "; SetWindow(2); print "^^The huge mass of a 300 meters sandworms dig out of the dunes and begins to crawl the sand before you ! The massive animal shivers with an irresistible power. "; SetWindow(3); print "^^A crane lay down before you a X-wing, as the operator shouts ~Get on, Red leader !~."; SetWindow(4); print "^^You pause for a microcycle and compute.^^What now ? The programs of the Mastercomputer are after you, willing to replace your bits with zeroes. How could you escape these infinite plains ?^^ Blessed be the User ! you think, as a bright yellow lightcycle materialize before you !"; move bus to street; move bus1 to street1; move bus2 to street2; move bus3 to street3; move gerard to street; move secondselfobj to street1; move thirdselfobj to street2; move fourthselfobj to street3; SetWindow(1); Joue(2); gerard.cinematique=1; ]; [Dial1; SetWindow(1); print "^ - ~My friend, are our fearless warriors ready ? ~^ - ~";Italique();print "Fearless warriors ?";Normal();print" Are you out of your mind ? ~^ - ~In truth I tell you, my friend : the sun has set on the last day that will see Feyed Rautha alive ! ~^ - ~Oh my, I should call a doctor. ~^"; SetWindow(2); print "^ - ~My friend, are our fearless warriors ready ? ~^ - ~They are, Muad'dib ~^ - ~In truth I tell you, my friend : the sun has set on the last day that will see Feyed Rautha alive ! ~^ - ~We all trust your power, Muad'dib. ~^"; SetWindow(1); gerard.cinematique=1; ]; [Dial2; SetWindow(1); print "^ - ~Everything is allright, buddy ? ~^ - ~No ! Nothing is right ! ~^ - ~Affirmative, Negative, that's everything a byte can tell ? ~^ - ~Can't you stop this NONSENSE !? ~^"; SetWindow(2); print "^ - ~Everything is allright, buddy ? ~^ - ~Indeed, Muad'dib. The Fremens have lived to see this day. ~^ - ~Affirmative, Negative, that's everything a byte can tell ? ~^ - ~Hem...sure, Muad'dib. ~^"; SetWindow(3); print "^ - ~Everything is allright, buddy ? ~^ (R2D2 bips cheerfully)^ - ~Affirmative, Negative, that's everything a byte can tell ? ~^ (R2D2 bips)^"; SetWindow(4); print "^ - ~Everything is allright, buddy ? ~^ - ~AFFIRMATIVE. ~^ - ~Affirmative, Negative, that's everything a byte can tell ? ~^ - ~AFFIRMATIVE. ~^"; SetWindow(1); gerard.cinematique=1; ]; [Freeagain; remove guarda; remove guarda1; remove guarda2; SetWindow(1); print "You hear something..."; SetWindow(2); print "With a single and fatal blow, you strike deadly Feyed who falls on the ground without a whisper. "; SetWindow(3); print "With the buzzing swing of your lightsaber, you fatally strike Lord Vader in the back, cutting through its armor. He falls on a knee, breathing loudly, then crumbles without any strength."; SetWindow(1); Wait(); print "^^You hear a noise - like something falling on the ground nearby you. And you feel like someone is untying you.^^ As soon as your hands are free, you remove your blindfold and observe with surprise that the agent that tied you before lies now still at your feet."; SetWindow(2); print "^^A knot is tied to the chair there. You feel like you need to cut it with your crysknife, and you do it. "; SetWindow(3); print "^^Polymer bracers are locked there. You feel like you need to cut it with your lightsaber, and you do it. "; gerard.paralysed=0; move guardao to Room; move guardao1 to Room1; move guardao2 to Room2; SetWindow(1); corridor.went=2; gerard.cinematique=1; ]; [Yourfather; move broom to gerard; move broom1 to secondselfobj; move broom2 to thirdselfobj; broom.down=2; SetWindow(1); print "You concentrate intently and hold your hand open toward the broom behind the guard. He shrugs but cautiously approaches you as your arm begins to shake. "; SetWindow(2); print "You point to the crysknife, closing your eyes as you summon the power of the Waters of Life. Feyed spits on you. "; SetWindow(3); print "You concentrate intently and hold your hand open toward your lightsaber. Lord Vader tries to counter the flow of the Force you manipulate. "; SetWindow(1); Wait(); print "^^And the impossible happens ! The broom flies right into your hand, startling the guard and you use this precious time to hit him hard on the Chest !^^A fierce battle with daring blows follows, the guard avoiding most of your desperate hits and hitting you at the right moment ; at times, the blue figure of the officer confuses with others, a tall black one, and another, with ice white eyes and infinite cruelty. "; SetWindow(2); print "^^To the very anger of Prince Rautha, the crysknife jumps in your hand, and you trusts it again forward ! A fierce battle with daring blows follows, Feyed proving to be a formidable opponent. "; SetWindow(3); print "^^The light side of the Force prevails, and you get your lightsaber back, getting in the battle at this very moment. A fierce battle with daring blows follows, and the very though of fighting the so feared Lord Vader both stimulates you in fury and paralyses you in awe. "; SetWindow(1); Wait(); print "^^Pausing, the security officer shouts : ~Stop it now ! You're a crazy man !~ "; SetWindow(2); print "^^Dodging your blow, Feyed says : ~Arrakis shall belong to the Harkonnens !~ "; SetWindow(3); print "^^Blocking your last attack, Lord Vader says : ~Luke...I am your father...~"; SetWindow(1); Wait(); print "^^A dire feel permeates your soul. Unable to fight it, you fall on your knees, holding your head and screaming :^^ ~No ! It can't be ! You are not my father !~^^ The guard takes advantage of the situation and handcuffs you. "; SetWindow(2); print "^^A dire feel permeates your soul. Unable to fight it, you fall on your knees, holding your head and screaming :^^ ~No ! It can't be ! You are not my father !~^^ Feyed steps back, alarmed by your incoherent words. "; SetWindow(3); print "^^You don't want to believe the twister Sith Lord, but your mito-cloridian cells align and tell you what you feared most, that Vader is indeed your father. Unable to widstand the truth, you fall on your knees, holding your head and screaming :^^ ~No ! It can't be ! You are not my father !~^^ Vader takes advantage of your weakness and strikes you a fatal blow. "; SetWindow(1); Wait(); print "^^ [REALITY DISFUNCTION]^^Now that you are unable to move, the guard drives you back in the main hall, where you interrupt again the lecture with screams about your father, then he puts you back on the chair in the waiting room, with a blindfold on your eyes and covering your screams with an heavy tape.^"; SetWindow(2); print "[REALITY DISFUNCTION - oh damn you, Hamilton, and your 9000 pages of the Night Dawn's trilogy]^^ For an unknown reason, Feyed acts as you don't exist no more and get inside the Sietch.^"; SetWindow(3); print "^^[REALITY DISFUNCTION - help us captain Calvert]^^ For an unknown reason, Lord Vader acts as you don't exist no more and gets inside the main deck.^^ "; move gerard to Room; gerard.paralysed=1; move guarda to Room; move guarda1 to Room1; move guarda2 to Room2; remove guard; remove guard1; remove guard2; SetWindow(1); gerard.cinematique=1; ]; [Dkvd; move guard to corridor; move guard1 to corridor1; move guard2 to corridor2; remove marcus; remove marcus10; remove marcus1; remove marcus11; SetWindow(1); print " As you move forward to the outside, the entrance doors burst open : a huge agent with a bull-like neck and large shoulders walks towards you directly from - you think - an american tv show. He shouts :^^ ~Monsieur. I think you are going into trouble. Please calm down. ~"; SetWindow(2); print " You reach for the Doors of the Desert, but as they open slowly, you can't but stay coldy frightened at the thin silhouette that stands beyond them : none other than this Harkonnen Jackal named Feyed Rautha, here to put an end to your very life. Smiling, he said :^^ ~It's one on one, now, Paul. ~ "; SetWindow(1); Wait(); print " ^^You answer back to the guard :^^ ~At last we meet, my dark Nemesis. May the infinite sands be the witness of our fight ! ~^^ Holding a tonfa, he answers back :^^ ~I wouldn't do anything funny if I were you, Monsieur. ~"; SetWindow(2); print " ^^Your spit evaporates as it touches the burning sand, while you say :^^ ~At last we meet, my dark Nemesis. May the infinite sands be the witness of our fight ! ~^^ Feyed unholsts a gold dagger that shines under the bright sun :^^ ~Let's settle this. ~"; SetWindow(1); Wait(); print " As you approach, the guard quickly push you forward and you fall on your back."; SetWindow(2); print " Feyed swiftly trusts his dagger and you jump backwards to dodge the fatal blade ; but your move lacks the agility that is usually yours and you fall on your back. "; SetWindow(1); Wait(); print " ^^Oooh...headache...^^"; SetWindow(2); print " ^^Oooh...vertigo...^^"; SetWindow(1); Wait(); Open2(); SetWindow(3); print "A tall figure dressed in black stands before you, breathing loudly. With a sounding buzz, the lightsaber of Lord Darth Vader resonates within the walls of the coruscant frigate. "; SetWindow(1); Wait(); print " ^^~Monsieur, I am sorry for that, but now, get up and calm down. ~^^"; SetWindow(2); print " ^^~It's everything you've got ?~^^"; SetWindow(3); print " ^^~How disappointing, young jedi. ~^^"; SetWindow(1); Wait(); print "(you get up)^^"; corridor.went=1; gerard.cinematique=1; ]; [Boire; mug.gulp=1; move marcus1 to Room1; print "^Taking the light cup in your hand, you consider for a couple of seconds the black liquid. Smells funny, looks funny, could it be a trick from Marcus ? Hesitating more would be a mark of weakness, and you want to stay on the lead, so you raise the cup for a cold cheer and a bitter smile.^^"; Wait(); print " - ~The next time you meet a big name of the sci-fi, ask him from where he got his weird stories, so we can dig some by ourselves. ~^ - ~Oh, but I did. That was actually my first question. Once I even met Stephen King, and both gave me the same answer. ~^ - ~Which was...?~^^"; Wait(); print " You drink in one gulp a part of the mix. The light fluid draws a road of fire within you.^^ Before everything begins - and by everything, please figure, fireworks and the big parade - the answer reaches you. With a distraught look upon his face, shoulders down, Marcus whispered :^^"; Wait(); print " - ~They told me : ";Italique(); print "are you really sure these are stories ?";Normal();print " ~"; Wait(); glk_window_clear(gg_secondwin); glk_window_clear(gg_mainwin); move marcus to Room; give Bucket clothing; give Blanket clothing; move mug to Room; print " Tiny fireworks - you feel your blood pulsing in the very depths of your mind. A vague blur dances before your eyes. The cup soundly falls on the floor.^^"; Wait(); print "Then you are back, back in the relaxation room, before a Marcus a little bit preoccupied by your sudden weakness.^^"; Wait(); Open1(); SetWindow(2); new_line; print "A new Dawn, daughter of a mercyless and all-powerfull sun, rises upon the infinite sand plains of Arrakis. The messiah of Dune has awoken. ^"; SetWindow(1); print "Marcus asks :^^ - ~Is everything all right ?~^ - ~Indeed, my old friend Stilgar. And time has come to reconquer Arrakis and bring down the tyranny of the Harkonnens !~^^ Marcus looks at you, amazed :^^ - ~Is that some kind of ";Italique();print "joke";Normal();print "?~^ - ~";Gras();print "Yes.";Normal();print " ~^^"; SetWindow(2); new_line; print "Before you, Stilgar, Speaker for the Fremen people humbly states :^^ - ~The Sleeper has awoken. ~^ - ~Indeed, my old friend Stilgar. And time has come to reconquer Arrakis and bring down the tyranny of the Harkonnens !~^^ Stilgar looks at you, amazed :^^ - ~Will you lead us, Muad'dib ?~^ - ~";Gras();print "Yes.";Normal();print " ~^^"; SetWindow(1); gerard.cinematique=1; ]; [Harangue; SetWindow(1); print "^With a loud voice, you yell :^^ - ~FREMENS !~^^ The silence falls like an heavy curtain on everyone before you. Were they editors, authors, or simple visitors, all their eyes gaze upon you, in a curious amazement. Marcus sweats. "; SetWindow(2); print "^Turning towards your loyal army, you speak :^^ - ~FREMENS !~^^ The people of the sands drink your words. Stilgar bows. "; SetWindow(1); Wait(); print "^^ - ~My people. Shai-Hulud appeared in my dreams and I drank the Waters of life. I am now ready to guide you to our sacred Djihad, to fight the Harkonnens dogs holding Arrakis within their filthy grasp !~^^ Some whisper words like ~madness~ or ~performance~ but nobody looks quite enraptured by your passion.^^ You keep on with your final stance :^^ - ~Ready your blades and call forth the mighty Worm lords that dwell in our grounds ! For I am the Kwizach Haderach and I will lead you to Freedom, Water, and LIFE !^^ Quite impressed, some people before you retreat as other ask to have the security called. "; SetWindow(2); print "^^ - ~My people. Shai-Hulud appeared in my dreams and I drank the Waters of life. I am now ready to guide you to our sacred Djihad, to fight the Harkonnens dogs holding Arrakis within their filthy grasp !~^^ The fremens scream forth a sacred battle cry !^^ Raising your arm, you speak :^^ - ~Ready your blades and call forth the mighty Worm lords that dwell in our grounds ! For I am the Kwizach Haderach and I will lead you to Freedom, Water, and LIFE !^^ The crowd splits before you in a path outside the Sietch, praising the name of Muad'dib. "; SetWindow(1); crowd.talked=1; gerard.cinematique=1; ]; [Intro; glk_image_draw(gg_mainwin,1,0,0); Wait(); Nettoie(); print "^^Softly, you closed the large double door separating this improvised relaxation room from the lecture, and, turning back, you smiled :^^ - ~Everything is fine, Marcus. Most of the jury is ours now.~ "; Wait(); print "^^Marcus smiled back, bitterly this time :^^ - ~Why don't we leave the talent a chance ?~^"; Wait(); print " - ~Because if talent had ";Italique();print "anything";Normal();print" to do with success, nobody would know about Dan Brown. ~^"; Wait(); print " - ~I am confident in my story. I am sure I could have got this Philip K. Dick memorial prize without any help. ~^"; Wait(); print " - ~I can't take any chance. If someone had more talent than I in...convincing the right people, then all your talent in the world wouldn't do anything. ~^"; Wait(); print " - ~";Italique();print "Readers";Normal();print". They are the people to convince.~^"; Wait(); print " - ~Right-o. A nice label. People buying blindly. Tons of money. That's what all this prize is about. ~^^"; Wait(); ]; [InstructionsSub; print "^A dull voice hums in your head :^^ ~Thanks for playing Works of Fiction. This is the instruction manual dedicated to the driving part of this game. If you want to start the bus please type :^^ >drive bus^^ If you want to turn left or right please type :^^ >turn left^ or^ >turn right~^^ You grumph. Like you wouldn't have figured it out yourself.^^ The voice keeps on : ^^ ~To bring you a unmatched game experience, we took care of...~^^ You bang your head against the floor to make the voice stops.^"; gerard.cinematique=1; ]; [FartSub; Italique();print "^Hands off that keyboard, Jacek. ^";Normal(); ]; [Talk2Sub; print "^No answer there. ^"; ]; [ForceSub; if (player==thirdselfobj) { print "^The Force must be used wisely. That is, not right now. ^"; } else if (player==gerard) { print "^Do you think your Jedi tricks can work on me ? ^"; } else { print "^? I don't understand what you mean. ^"; } ]; [TurnLeftSub; if (bus.moving==2) {Goodevade1();rtrue;} else if (bus.moving==4) {Failevade2();rtrue;} else { print "^That would be irrelevant, now.^"; } ]; [TurnRightSub; if (bus.moving==2) {Failevade1();rtrue;} else if (bus.moving==4) {Goodevade2();rtrue;} else { print "^That would be irrelevant, now.^"; } ]; [DriveSub; print "^Mmm...^"; ]; [SpraySub; if (noun hasnt sprayable) {print "^That can't be sprayed, bro. ^";} else {print "^Spray what on what ?^";} ]; [SwearSub; if (multiroom.check>=1) {print "^You swear : ^^~Squaaak !~ - you cough and spit some small duck feathers. Great. Another ones for your collection. ^"; if (feather notin gerard) {move feather to gerard;} else {feather.number++;} } else {print "^Bad words won't help you this time. Actually, they never did. ^";} ]; [Chatty k; if (k==0) { print "^~Hey, handsome. Do you know a way out there ?~^ ~Come on. Would I be there if I knew ?~^";} if (k==1) { print "^~Can someone help me ?~^ ~Hey ! I am as lost as you are !~^";} if (k==2) { print "^~Hey you. Tell me I am the real one, and you are a copy. ~^ ~Whatever, mister me. ~^";} if (k==3) { print "^~I like the way you look !~^ ~I guess you like compliments, too. ~^";} if (k==4) { print "^~Gosh, they are so many me !~^ ~And I *felt* unique. ~^";} if (k==5) { print "^~Hey, me. Where the hell are we ?~^ ~I guess there is a word in your question that answers it. ~^";} if (k==6) { print "^~Any advice, other me ?~^ ~Avoid drinking. ~^";} if (k==7) { print "^~Now that I think of this, the last place was less creepy. ~^ ~Between a couple of female psycho killers and a nutty and some other me, the situation looks better to me. ~^";} if (k==8) { print "^~What does these marks on the wall means ?~^ ~They do not mean 'this way out', alas. ~^";} if (k==9) { print "^~Next time I see Marcus, remind me to strangle him. ~^ ~Not before I stomped him. ~^";} if (k==10) { print "^~Hey, with so many me, I could work some times less !~^ ~And the pay will be less times for each. ~^";} if (k==11) { print "^~If you see the bearded nut again, remind me to punch him good.~^ ~Make him sign a contract, before. ~^";} if (k==12) { print "^~I should have stayed in the Eurodance business. ~^ ~Can I call you mister vain ?~^";} if (k==13) { print "^~I should have stayed in the cheap love story books business. ~^ ~Poshy me. ~^";} if (k==14) { print "^~Hey. Looks like I could form an army with my other me !~^ ~Let me be the leader, then. ~^";} if (k==15) { print "^~Let's unite our strengths !~^ ~So you can escape alone, huh ?~^";} if (k==16) { print "^~Some writers needs to be killed. ~^ ~There is not enough paper for this list, pal. ~^";} if (k==17) { print "^~Why can't we escape this place ? Are we in a stupid video game with invisible walls ?~^ ~Why do you ask ME this ?~^";} if (k==18) { print "^~Got any clue, mister Lescroc ?~^ ~I was about to ask you this question. ~^";} if (k==19) { print "^~I am tired of all this. ~^ ~Do I look like I am enjoying the ride ?~^";} if (k==20) { print "^~That's unfair ! I am not even on drugs !~^ ~Does coke counts as drugs ? ~^";} ]; [Events k; if (k==0) { print "^What's happening AGAIN...^";} if (k==2) { print "^The door opens. Someone enters. Someone... ? The guy standing before you - and, well, as astonished as you are - looks just like you ! Actually, he is your perfect look-a-like, no ! He *is* you !^";move gerard2 to toilets; Joue(16);} if (k==3) { print "^The other your looks at you, amazed, unable to say anything. ^";} if (k==4) { print "^~Who are you ?~, you both ask. You both feel like touching each other, but you don't feel the place appropriated. ^";} if (k==5) { print "^You are surprised by your self-control. Well, the self control of the *other* you, since he begins using the toilets just before you. ^";} if (k==6) { print "^The door opens again. You both turn your heads and, in some mild surprise, you see another you entering the room. Looks like God messed up with some copy machine. ^";move gerard3 to toilets;} if (k==7) { print "^Gerard #3 mutters something, startled. Gerard #2, finished with his pee job, points at you and say : ~he was there first, but believe me, I am the real one !^";} if (k==8) { print "^Gerard #3 touches you with his finger, whispering : ~This is madness...~. Gerard #2 coughs : ~Hey guys, why don't you touch each other in some other place ?~^";} if (k==9) { print "^The door opens again. This time, only Gerard #3 looks surprised. Another one comes into the room. Amazement. ~This is getting boring. ~ says Gerard #2. ~I am getting out of here. ~ says Gerard #3 passing the door...and coming back by the second, desoriented. ^";move gerard4 to toilets;} if (k==10) { print "^~How come...~ begins Gerard #4. ~Let's look at it the right way, says Gerard #3 turning to the toilets, we could make an army out of us. ~ - ~We would lack SPACE actually, answers Gerard #2.~^";} if (k==11) { print "^~I miss the Eurodance business, admits Gerard #3. At least coke didn't have this psycheledic trip. ~^Gerard #2 knocks against the wall, trying to find a secret door or else. ~CAN'T WE PEE IN SILENCE, GENTLEMEN ?~ asks Gerard #4.^";} if (k==12) { print "^The door opens again. ~Another crunch in our lebensraum, brothers~, states Gerard #3. ~This is becoming crowded, adds Gerard #2. Cause I am the 'i prefer to be alone' kind. ~ As all heads turns towards him he shrugs and says : ~I suppose it's the same for you guys. ~ Gerard #4 asks : ~So each one of you entered one by one ? Who was the first ?~. Gerard #5, scared, leans against the wall. ^";move gerard5 to toilets;} if (k==13) { print "^~'Key pals, I am just here to pee. ~, says Gerard #5. You all answer at the same time : ~SO WE ARE !~^";} if (k==14) { print "^~We should elect a leader. I propose : me. ~, says Gerard #3. ~This is pointless, shrugs Gerard #2. I know you at least as good as me and I know everyone will vote for himself. ~. Gerard #4 looks through the windows at the deep blackness and admits : ~Well, I was about to say that, too. ~^^~I would have better get my both arms broken instead of meeting Marcus~, mutters Gerard #5.^";} if (k==15) { print "^The doors opens again, as another Gerard enters, and looks in amazement at the five others Gerard in the room. ~Well well well, he says. Everything is allright, buddies ?~^^Gerard #4 states : ~You do not look that surprised. You, well, I surprise myself !~^^~Gerard #2 leans his head against the wall, sadly, and admits : ~I think I am becoming really crazy this time. ~. Gerard #5 pats him on the shoulder and encourages him. Gerard #3 asks : ~I wonder how many of us are still outside ? Maybe the flow will never stop !~";move gerard6 to toilets;} if (k==16) { print "^Gerard #6 asks : ~Wait, you mean that you all came here one at the time ? Who was the first ?~. Gerard #2 points at you. ~Him. but, I may have get lost in the count, because will all look a like. ~ Gerard #5 turns to you and says : ~Does that mean that you are the original and we are the copies ?~. Gerard #4 jumps and yells : ~I AM the original !~. Gerard #3 says to himself : ~There must be a way out of here...I may have missed something...~^";} if (k==17) { print "^Gerard #2 tells #6 : ~Hey Six, give me a hand to lift me to the ceiling. Maybe there is a way out. ~ Gerard #6 answers : ~ Listen to me, little guy. I am not a number. I am a FREE MAN ! ~ Gerard #5 proposes : ~Well, since there is no way out this nightmare, I will just lay on the ground and fall asleep. Please wake me up when...mmm...let's say number 100 will come in !~ Gerard #3 remarks : ~I pity you all. You behave like kids. ~ - ~Well, you lesson giver, don't forget we are you. ~, says Gerard #4.^";} if (k==18) { print "The door opens.^ANOTHER Gerard enters.^He just stands there, speechless, eyes wide open. ~Seven, notes Gerard #3. I suppose that the next one will be Snow White. ~ - ~Don't worry, tells #4 to #7, #3 likes to be a smart-ass. ~ - ~Hey, where is your 'we are you' speech and all ?~ asks #5. Gerard #2 says : ~With all of us, we could work only a day per week. That would be cool. ~. Gerard #6 adds : ~Or we could work all week all, and become seven times richer. But since we would have to split everything by seven...mmm...~.^";move gerard7 to toilets;} if (k==19) { print "^Gerard #7 stands here, blinking at all of you. ~Don't you like what you see, buddy ?~ jokes Gerard #2. Gerard #3 proposes : ~What if we tried to dig a tunnel through a wall ?~ - ~With what ? asks Gerard #5, we don't even have a spoon !~ - ~There's no way out this way, concludes Gerard #4. Remember how we went out the 4 rooms circle. By drinking a special mix. So we'd better not think rationnaly or we will be trapped !~. Gerard #6 repeats : ~trapped...~^";} if (k==20) { print "Gerard #7 asks : ~Who are you all ?~ - ~Who am I ? aks Gerard #2 in return. ~Who are you ? Can't tell, but if you stumble upon Socrates or Descartes it might be worth the question. ~ ~This is crazy. ~ comments Gerard #6. I am outta here. ~. He passes the door, and, of course, gets back in the second in the room. ~Ok says Gerard #3. I will just sit down here in the corner, you will forget me and maybe I will fade away. ~. Gerard #4 looks at us all and says : ~I knew I was kind of narcissic, but if it's the color of my madness, then it might be more frightening that I could guess. ~. ~I am not narcissic, says Gerard #5. It's just the world which is despisable. ~";} if (k==21) { print "The door opens. Everyone readies himself to greet another Gerard, but it's another figures that comes in.^"; if (gerard in closet9 && closet9 hasnt open) { print "^From the inside of the closet you cannot see much but you hear : ^^~There are... seven of you, right ! I might have drunk a little too much, but I will have my revenge !^~^You shivers as six shots are fired and screams burst and then die.^^Then..."; Wait(); Ending(); } else { print "^But this time, it's Philip K. Dick himself, ostensibly drunk, a six-gun in one hand, and a bottle in the other. ~There are... seven of you, right ! I might have drunk a little too much, but I will have my revenge !^~ For a second some of the gerard here thinks about a coordinate action, but...the man has got a weapon !^^Dick fires and some lost bullet wounds you...^^you fall on your knees, bleeding, and lose consciousness as more shots are fired in the screams.^^";Wait(); Sip(); remove gerard2; remove gerard3; remove gerard4; remove gerard5; remove gerard6; remove gerard7; toilets.lom=0; } } if (k==22) { print "";} if (k==11) { print "";} ]; Include "Grammar"; Verb 'fart' * ->Fart; Verb 'talk' * noun -> Talk2 * 'to' noun -> Talk2; Verb 'force' * noun -> Force; Verb 'instructions' * -> Instructions; Verb 'drive' * noun -> Drive; Extend 'turn' replace * 'left' -> TurnLeft * 'right' -> TurnRight; Verb 'spray' * held 'on' noun -> Spray; Verb 'swear' * -> Swear; Extend 'shit' replace * -> Swear; Extend 'fuck' replace * -> Swear; Verb 'help' * -> Help; Verb 'Licence' * -> Licence;