"(c) Copyright 1978, Massachusetts Institute of Technology. All rights reserved." "UTILITY FUNCTIONS ONLY!" ;"Functions for hacking objects, rooms, winner, etc. REMOVE-OBJECT Remove an object from any room or ,WINNER or its container. INSERT-OBJECT Put the object into the room. REMOVE-FROM Make obj1 no longer contain obj2. INSERT-INTO Make obj1 contain obj2. TAKE-OBJECT {OPTIONAL} Make one of 's possessions. DROP-OBJECT {OPTIONAL} Remove from 's possessions. DROP-IF {OPTIONAL} Do a DROP-OBJECT if has as a possession. SNARF-OBJECT Find , REMOVE-OBJECT it, and . IN-ROOM? {OPTIONAL} Is anywhere inside the room (but not with ,WINNER)? IN-ROOM? does not check OVISON! HACKABLE? Is either in ,HERE or in current vehicle. Uses SEARCH-LIST so completely groks visibility, containers, etc. " \ (OROOM) (WINNER) ADV) > >>) (> >>) (> >>)> > >> !)>> )> >> >> >> > !)>> >>> > >> .WHO> >> ) (.WHO)>> ) > .HERE>) ( )>) (<==? .HERE>)>> )) #DECL ((OBJ) OBJECT (RM) ROOM (AV) ) <>>) ( <>>)>> \ "Villains, thieves, and scoundrels" "ROB-ADV: TAKE ALL OF THE VALUABLES A HACKER IS CARRYING" ) 0> >> >> )>> > .NEWLIST> "ROB-ROOM: TAKE VALUABLES FROM A ROOM, PROBABILISTICALLY" (PROB) FIX) 0> > > ) ( .NEWLIST>>)>> > .NEWLIST> ) (DEMS ,DEMONS)) #DECL ((ID) STRING (OBJ) OBJECT (DEMS) ) .OBJ> )>> .DEMS>> \ ; "The guiding light" > )>> >> ;"LIT? -- IS THERE ANY LIGHT SOURCE IN THIS ROOM" > > >> <==? ,HERE > >> ,ALWAYS-LIT>> (Y) ADV (LFCN) ACTIVATION) > >> )>> >)> >>>> )>> .L>> \ ; "Random Utilities" >>>> 100> >> (INCHAN) CHANNEL) > > "NnfF">>) (T "TtYy">)>> .OBJ> ) (T ) (OL .AL)) #DECL ((NL) LIST (OL) ) .OBJ> > ) ( >)>>)>> \ ; "These are for debugging only!" (WINNER) ADV) )) #DECL ((X) STRING (Y) OBJECT) > .WINNER>>> .OBJS>> (WINNER) ADV) )) #DECL ((Y) OBJECT (X) STRING) > .WINNER>>> .OBJS>> ; "No applause, please." ) (OBJ2 <>) "AUX" R (PV ,PRSVEC) (PRSA ) (PRSO ) (PRSI )) #DECL ((VB PRSA) VERB (OBJ1 OBJ2 PRSO PRSI) (R) ANY (PV) VECTOR (FCN) ) 2 .OBJ1> 1 .VB> ) ()>> 2 .PRSO> 1 .PRSA> .R>