"GOAL for MOONMIST Copyright (C) 1986 Infocom, Inc. All rights reserved." "Rapid Transit Line Definitions and Identifiers" "<* 2 ,NUMBER-OF-LINES>" > > > > > "CODE" ) GT GOAL FLG (IGOAL <>) X) > > )> > > >) (> )> > > > >)> > > % )>> >) ( ) (<==? .HEER .GOAL> >> % )>> > > ) (>>> >) (T >)>) (<==? .HEER > >)> > > ) LOC G) >> > > >>) (T >>)> ) (<==? .RM .G> )> >>> ,MAIN-LINE) (<==? .LN ,BED-LINE-C> ,BED-LINE) (<==? .LN ,TOWER-LINE-C> ,TOWER-LINE) (<==? .LN ,PASS-LINE-C> ,PASS-LINE)>> ) "AUX" GT L F C) > > > ) ( > >>>> ) (>> ;)>)>> "Movement etc." )>> > >)> )> ;%> )>> ;%> )>> > 1> ,GOAL-I-MULTIPLIER> <* <- 1> 2>>> > .LOCN> > )) > ;> )> > ;"default desc" >>> )> ,G-REACHED>> ) ( >> ,M-OBJDESC>)>> ) ( )>> > )> >> )> > ,FEMALE> ) (T )> ) (T )>> > )>> ) OL COR PCOR CHR (DOOR <>) (VAL <>) X) ) ( ) ( >> )> > )> > > > > > > > <==? ,DEXIT>> >)> > ,G-ENROUTE>> ) ( > )>)>) ( >> T) (<==? .OL ,HERE> >> )> ) ( ) (T ) ( ) (T )> )>) (<==? .WHERE ,HERE> ) ( >>> >> )> <==? .OL ,OHERE>> ) (T >) (T )>)> )>) (> > > > ) ( > ) (T )> >> )> ) (T > )> )> ) (T ) (<==? .PCOR > ) (T > )> )> )>) (>> >> > )> )>)> ;<==? ,HERE .WHERE>> )> )> .WHERE> > <==? ,HERE .WHERE> >> ) ( >> )>) (T ,G-ENROUTE>> >> ,M-OBJDESC>> )>) ( >> )>)>)> ;% )>> > ;"so FOLLOW CHR works" )> )>> "? combine next two routines?" )) ) (> >> )> > > ) (<0? >> ) (> > > > )> >> ) ( )>>)>>> ) (>> ) (>> )> > >> )> >> ) ( )>>> ) P D) ) ( ) ( ) ( )> > ,LOW-DIRECTION> ) (> > ) (T )>)>>> >> )> > <==? .THERE>> )>> "These routines were moved to low addresses in MISC: I-FOLLOW I-ATTENTION." )) > ) (<==? .ARG ,G-ENROUTE> % )>> ) (> ,SECRETBIT> >> >>> ) (T ) (T )> )> ) ( ) ( ) (T >)> ) (T )>)>> > ) "AUX" DR (VAL <>)) ;"so s/he won't prevent your leaving" >> ) ( > > > T> > )> )> .VAL> ) "AUX" N GT ATT) 14 ;"asleep"> ) (T )>) (>> ,GOAL-FUNCTION> ,X-RETIRES> > >> > ;"evidence">> ) ( >> > > >> ) (> "peeved") (T "angry")>> )> > ;"preparing to leave"> ) (T )>)> 21 ;"searching">> )> > ) (<0? >> ) ( ) ( <==? ,PRSI .PERSON>> ) ( ) (T .N)>> > > ; >>)> )> ) (T )> ) ( ) (T )> >) ( ) (T )> ) (T ) (T )> )> )>> )> > ) (<==? .X .DIR> ;> )> >> )> >>> > > ) (<==? .X .DIR> > >>) (T >>)>)> >>> "Goal tables for the characters, offset by a constant, which, for a given character, is the P?CHARACTER property of the object." <> <> 1 <> I-PLAYER 5 0> <> <> 1 <> X-WAITS 5 0>
<> <> 1 <> X-WAITS 5 0>
<> <> 1 <> X-WAITS 5 0>
<> <> 1 <> X-WAITS 5 0>
<> <> 1 <> X-WAITS 5 0>
<> <> 1 <> X-WAITS 5 0>
<> <> 1 <> X-WAITS 5 0>
<> <> 1 <> BUTLER-APPEARS 1 0>
<> <> 1 <> LOVER-XFER 5 0>
<> <> 1 <> GHOST-LURKS 5 0>>> [ "Offsets into GOAL-TABLEs" "final goal" "station of final goal" "intermediate goal (transfer point)" "character can move: 0=no 1=slow 2=fast" "queued goal to go to after interruption" "routine to apply on arrival" "how long character will wait when interrupted" "used to count down from ATTENTION-SPAN to 0" ] "Goal-function constants, similar to M-xxx in MAIN" > ) "AUX" L) %> )>)>> > )> %)>> )> >> > > %)>> )> > > > )> > ,FRIEND ,BUTLER>> ) (T )> ) ( ) (T )> ) ( ) (T )> )> ) (T )> ;"to skip description" ) (T )>)> > ;"to skip description")> )> > > ) (T )> > )>)> > %)>> > )) %> )>)>> > )> > )> > ) "AUX" LL L) %> )>)>> ; ;"in BUTLER-D" ,GOAL-FUNCTION ,BUTLER-FETCHES> > ) (T > > )> > ;"no-op") ( ) (T )>)> )>> ) "AUX" (L ) LL GT) %> )>)>> > > )> > ;"no-op" ) ( >> >> )> ; ) (<==? .GARG ,G-REACHED> >) (T )> )>> )> )> > ) "AUX" (L ) (LL <>)) %> )>)>> )> ) (<==? .GARG ,G-REACHED> ,GOAL-ENABLE 0> )> > >> >)> >> )> )> "\"|"> )>)>> ) "AUX" (SAID <>)) %> )>)>> ) ( > ) ( ) (> >> ,ATTENTION 5> > "\"|"> ) (<==? 2 ,BUTLER-HINTS-COUNTER> > )> "\" adds " 'BUTLER ".|"> ) (<==? 3 ,BUTLER-HINTS-COUNTER> > ) (T )>) (T )> )>)>) (> ) ;(<==? 3 ,BUTLER-HINTS-COUNTER> ; )>)> %)>> > ) (VAL <>)) %> )>)>> > >>> ) ( ,GOAL-FUNCTION ,BUTLER-COOKS> ) (T )> > ) "AUX" N) %> )>)>> ,PRESENT-TIME>> > )> ) (T ,GOAL-FUNCTION ,BUTLER-LEAVES> )> %)>> )>> )) %> )>)>> ,GOAL-FUNCTION ,BUTLER-SERVES> )>> )) %> )>)>> )> )> )> )> )> ; )> )> ,GOAL-FUNCTION ,BUTLER-LEAVES> )>)>> )) %> )>)>> )>> ) "AUX" N CH (SAID <>)) %> )>)>> > > )> ) ( > )> > )> > > >> )>> ,GOAL-FUNCTION ,X-WAITS> ,HERE> > <==? .CH ,FOLLOWER>>> )> > > ) (T )> )> %)>> > > > ) "AUX" P) > ;"in case someone's delayed" > >> )>