; "SUBTITLE THE ENDGAME" > "============ ZORK END-GAME FUNCTIONS =============" ;"enable endgame" > ;"endgame has begun?" > > "open.")("closed.")>> ;"SUBTITLE Is There Life after Death?" > ,TOMB-DESC2>)>> ) > >>)>> )) #DECL ((EG?) (C) OBJECT) >) (> > ) (ELSE )> T) (> ) (ELSE )> > )>)>> > > ) (ELSE )>)>> ) (SWORD ) C (W ,WINNER)) #DECL ((LAMP SWORD) OBJECT (C) (W) ADV) > 1 0> ,CTICK 350> ,CFLAG <>> ,SWORD-GLOW) (SWORD-GLOW)>> > >) > >)>> > > ,OCAN <>> > ,OCAN <>> > > > \ ;"SUBTITLE It's All Done with Mirrors" > > > ) (NRM >) (CEX <2 .NRM>) (TORM ) (MDIR ,MDIR)) #DECL ((DIR) DIRECTION (NRM) (CEX) CEXIT (TORM) ROOM (MDIR) FIX) ]> ) ()> <>) (.TORM)>) (<==? ,MLOC .TORM> ) ( <>)>) (.TORM)>> > 360>>)> > >> ) (ELSE )>> >) (STR ,MRESTR)) #DECL ((RM) ROOM (DIR) DIRECTION (SPR STR) STRING) >> >>> )> >> >>
>> >> !\E>) M1? MWIN) #DECL ((RM) ROOM (EAST? MWIN M1?) ) >>> ,MR1!-FLAG) (,MR2!-FLAG)>> " wall is a large "> > >> > )>> )>> )>> ;"LOOK-TO -- takes room to north, room to south (if any), and instructions for describing what is north and south. These are interpreted as: STRING -- print it, T -- guardians are there, otherwise, nothing interesting. If the mirror is found to north or south, the corresponding instruction is set to T, and later innocuous messages are printed for the directions with nothing interesting in them." ) (NTELL <>) (STELL <>) (HTELL T) "AUX" (NRM <>) (SRM <>) NORTH? (MDIR ,MDIR) MIR? (M1? <>) DIR) #DECL ((DIR) STRING (NSTR SSTR) (NTELL STELL) (HTELL NORTH? MIR? M1?) (RM) ROOM (NRM SRM) (MDIR) FIX) >> >> > ) ( )> ) ( )> > ) (<==? ,MLOC .SRM> > )>> > >> ,MR1!-FLAG) (,MR2!-FLAG)>> ) (ELSE 1 .DIR " side of the hallway."> ,LONG-TELL1>> >)>)> > ) ( ) ( )>> T> T>)>> )>> )>> <> "A passage enters from the south.">)>> "Infestation function for Sword-glow demon, tailored for end game" )) #DECL ((R M) ROOM) <==? .R >> <==? .R > <==? .R >>> ) ( ) ( )>> >) >> <==? ,MLOC >> > > > >> 1) (2)>>> )) #DECL ((HERE) ROOM (NORTH?) ) .HERE>> .HERE>>> )>) ( )>> >) (MDIR ,MDIR)) #DECL ((RM) ROOM (SP) STRING (MDIR) FIX) 4> !\E> 0) (180)>>> 1) (2)>) ( <>) ( .RM>) ( .RM>)>> ) >> ) ( ) ( ,MR1!-FLAG> ,MR2!-FLAG> ) ()>) ( > ) ()>) (,MR2!-FLAG > ) ()>) ( > > ) ( "The mirror is mounted on a wooden panel which moves slightly inward as you push, and back out when you let go. The mirror feels fragile.") (T "The mirror is unyielding, but seems rather fragile.")> ,LONG-TELL1>)>> ) >> ) ( ) ( ) ()>) (,MR2!-FLAG ) ()>) ( "The wooden panel moves slightly inward as you push, and back out when you let go.") (T "The panel is unyielding.")>>)>> > (MDIR) FIX (RM) ) > ) (ELSE ,DIRVEC>>>)> > <==? 360> .DIR>> ) ( T>)>) (<>)>) (,WOOD-OPEN!-FLAG > <==? 360> .DIR>> > T>> > .RM) (<>)>) (<>)>) (<>)>> "MIRNS -- returns room in a given direction from the mirror (north or south as indicated by first argument). If second arg is T, then we are exiting, not moving the mirror, so don't worry about ends." ) (EXIT? <>) "AUX" (MLOC ,MLOC) (REX ) M EXIT) #DECL ((MLOC) ROOM (REX) EXIT (M) > (EXIT?) (EXIT) (NORTH?) ) > <==? .MLOC ,SOUTHEND>>>> <>) () ()> .REX>> > ) ( .EXIT)>)>> > 0 3 ,MRWSTR) (,MRESTR)>>>> 1> ) ( <>)>) ( T)>> ) > " lying on the floor.">) ()> <> <> <>>)>> )) #DECL ((BEAM) OBJECT) )>> >>> ; "This function cannot have its .PRSI and .PRSO's changed to etc!!" ) (PRSI ) (HERE ,HERE) (BEAM )) #DECL ((PRSO PRSI) OBJECT (HERE) ROOM (BEAM) OBJECT) >)> > <>) ( " lying on the floor.">) (> " already breaks the beam.">) ( ".">)>) ( <==? .BEAM>> )>> ) ( > ) ()>)>) ( > > 1> <==? .HERE >> ) (<==? .HERE > )>)>> ;"mirror points... 0 = north" ;"pole raised?: 0 -- in hole or channel, 1 -- foor level, 2 -- in air" )) #DECL ((MDIR) FIX (MLOC) ROOM (STARTER) ) > > > ) (ELSE )>) ( <==? .MDIR 180>> > ) (ELSE )>) (ELSE )> 1>> ".">)>> > ;"MOVEMENT" > > > > <==? >> 360>> ) ( 360>> )> >> "."> > )> ) ( ) ()>)>> ) (MLOC ,MLOC)) #DECL ((MDIR) FIX (RM) (MRG MLOC) ROOM) > ) (<==? > > .RM>) ()>) ( > <==? .MDIR 0>> > <==? .MDIR 180>>> > >)>) ( > )> T)>> ) (PU? >)) #DECL ((NORTH?) (RM MRG) ROOM (PU?) ) 1 " and stops over another compass rose."> <==? ,HERE > ) ( > ) ( )> > T> ) ( )>) ( ) ( T) ( <==? ,MLOC >> ) (<1? .PU> ) ( )>)>> \ ; "SUBTITLE The Spanish Inquisition" > 15>> >> ]>> ;"tries recorded for this question" (NQATT) FIX (INQOBJS) (NUMOBJS) > ) (OBJECT-OBL ,OBJECT-POBL)) #DECL ((ANS) (CORRECT) VECTOR (1CORR) (WORDS ACTIONS OBJECT-OBL) POBLIST) ) (>>> > > >) (ELSE )>> .CORRECT>) () VAL) #DECL ((LV) (STR) STRING (VAL ATM) ANY (ADJ) (OBJ) ) >> >> > >) (> ADJECTIVE> )>) (> ,INQOBJS .ADJ>> >)>)> >>)>> ) "AUX" (NQV ,NQVEC) (QUES <1 .NQV>) (NQATT ,NQATT)) #DECL ((ANS) > (NQV) (QUES) QUESTION (NQATT) FIX) "'"> ) (> > >> > ) ( > "'"> )>) (>> ) (> " more chance"> ".'") ("s.'")>>)>)>) ()>> > ;"if D.M. has stated the rules." >)) #DECL ((QV NQV) ) >