aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhistoricalsource <historicalsoftware@textfiles.com>2019-04-14 16:09:56 -0400
committerhistoricalsource <historicalsoftware@textfiles.com>2019-04-14 16:09:56 -0400
commit24f232369405f1a5b67f8d4d06877bed6b7945c5 (patch)
tree5b5a549c326e28a592bc42b18363b980a41705f4
parent9c713ddb5545e93314ac174d3a3e74f815dac7ca (diff)
downloadstationfall-24f232369405f1a5b67f8d4d06877bed6b7945c5.tar.gz
stationfall-24f232369405f1a5b67f8d4d06877bed6b7945c5.tar.bz2
stationfall-24f232369405f1a5b67f8d4d06877bed6b7945c5.zip
Gamma Version
-rw-r--r--globals.zap962
-rw-r--r--globals.zil503
-rw-r--r--misc.zap443
-rw-r--r--misc.zil31
-rw-r--r--parser.zap1385
-rw-r--r--parser.zil56
-rw-r--r--s6.zipbin121724 -> 127400 bytes
-rw-r--r--s6dat.zap2509
-rw-r--r--s6pur.zap85
-rw-r--r--s6str.zap722
-rw-r--r--ship.zap1198
-rw-r--r--ship.zil545
-rw-r--r--station.zap2206
-rw-r--r--station.zil1080
-rw-r--r--syntax.zil51
-rw-r--r--verbs.zap2552
-rw-r--r--verbs.zil452
-rw-r--r--village.zap1225
-rw-r--r--village.zil884
19 files changed, 9656 insertions, 7233 deletions
diff --git a/globals.zap b/globals.zap
index 57e2c7c..606bd0b 100644
--- a/globals.zap
+++ b/globals.zap
@@ -1,92 +1,130 @@
+ .FUNCT INTDIR-F
+ EQUAL? PRSA,V?SET \FALSE
+ PRINTR "Okay, you're now facing in that direction, but you don't see anything you didn't see before."
+
+
.FUNCT INTNUM-F
- EQUAL? PRSA,V?ENTER \?ELS5
- EQUAL? P-PRSA-WORD,W?ENTER \?ELS5
+ CALL NOUN-USED,W?ONE,INTNUM
+ ZERO? STACK \?PRD5
+ CALL NOUN-USED,W?TWO,INTNUM
+ ZERO? STACK \?PRD5
+ CALL NOUN-USED,W?THREE,INTNUM
+ ZERO? STACK /?CCL3
+?PRD5: CALL GLOBAL-IN?,KEYPAD,HERE
+ ZERO? STACK /?CCL3
+ EQUAL? PRSA,V?TYPE,V?PUSH \?CCL3
+ PRINTR "[Use numerals: for example, TYPE 5 rather than TYPE FIVE.]"
+?CCL3: EQUAL? PRSA,V?ON,V?SHOOT,V?EXAMINE /?PRD13
+ EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL11
+?PRD13: GET WELDER-TABLE,WELDER-TABLE-POINTER
+ EQUAL? STACK,P-NUMBER \?CCL11
+ IN? WELDER,HERE \?CCL11
+ EQUAL? PRSO,INTNUM \?CCL19
+ CALL PERFORM-PRSA,WELDER,PRSI
+ RSTACK
+?CCL19: CALL PERFORM-PRSA,PRSO,WELDER
+ RSTACK
+?CCL11: EQUAL? PRSA,V?ENTER \?PRD23
+ EQUAL? P-PRSA-WORD,W?ENTER \?PRD23
CALL GLOBAL-IN?,KEYPAD,HERE
- ZERO? STACK /?ELS5
- CALL PERFORM,V?TYPE,INTNUM
- RTRUE
-?ELS5: EQUAL? PRSA,V?PUSH \?ELS9
+ ZERO? STACK \?CTR20
+?PRD23: EQUAL? PRSA,V?PUSH \?CCL21
CALL GLOBAL-IN?,KEYPAD,HERE
- ZERO? STACK /?ELS9
- CALL PERFORM,V?TYPE,INTNUM
+ ZERO? STACK /?CCL21
+?CTR20: CALL PERFORM,V?TYPE,INTNUM
RTRUE
-?ELS9: EQUAL? PRSA,V?SET \?ELS13
- ZERO? PRSI \?ELS13
- EQUAL? HERE,COMMANDERS-QUARTERS \?ELS13
- EQUAL? P-NUMBER,DIAL-SETTING \?ELS20
+?CCL21: EQUAL? PRSA,V?SET \?CCL30
+ ZERO? PRSI \?CCL30
+ EQUAL? HERE,COMMANDERS-QUARTERS \?CCL30
+ EQUAL? P-NUMBER,DIAL-SETTING \?CCL36
PRINT SENILITY-STRIKES
RTRUE
-?ELS20: GRTR? P-NUMBER,8000 \?ELS22
+?CCL36: GRTR? P-NUMBER,8000 \?CCL38
PRINTR "The dial only goes up to 8000."
-?ELS22: SET 'DIAL-SETTING,P-NUMBER
+?CCL38: SET 'DIAL-SETTING,P-NUMBER
PRINTR """Click."""
-?ELS13: CALL TOUCHING?,INTNUM
- ZERO? STACK /FALSE
- PRINT HUH
+?CCL30: EQUAL? PRSA,V?WAIT-FOR \?CCL40
+ GRTR? P-NUMBER,40 \?CCL43
+ PRINT TOO-LONG-TO-WAIT
+ RTRUE
+?CCL43: CALL V-WAIT
+ RSTACK
+?CCL40: EQUAL? PRSA,V?WAIT-UNTIL \?CCL45
+ GRTR? P-NUMBER,INTERNAL-MOVES \?CCL48
+ SUB P-NUMBER,INTERNAL-MOVES
+ LESS? STACK,41 \?CCL48
+ CALL V-WAIT
+ RSTACK
+?CCL48: PRINT TOO-LONG-TO-WAIT
+ RTRUE
+?CCL45: CALL TOUCHING?,INTNUM
+ ZERO? STACK \?CCL52
+ EQUAL? PRSA,V?SHOOT \FALSE
+?CCL52: PRINT HUH
RTRUE
.FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ,X=0
- EQUAL? PRSO,NOT-HERE-OBJECT \?ELS3
- EQUAL? PRSI,NOT-HERE-OBJECT \?ELS3
+ EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3
+ EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3
PRINTR "Those things aren't here!"
-?ELS3: EQUAL? PRSO,NOT-HERE-OBJECT \?ELS7
+?CCL3: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL7
SET 'TBL,P-PRSO
JUMP ?CND1
-?ELS7: SET 'TBL,P-PRSI
+?CCL7: SET 'TBL,P-PRSI
SET 'PRSO?,FALSE-VALUE
-?CND1: ZERO? PRSO? /?ELS12
+?CND1: ZERO? PRSO? /?CCL10
CALL PRSO-MOBY-VERB?
- ZERO? STACK /?ELS12
+ ZERO? STACK /?CCL10
SET 'X,TRUE-VALUE
- JUMP ?CND10
-?ELS12: ZERO? PRSO? \?CND10
+ JUMP ?CND8
+?CCL10: ZERO? PRSO? \?CND8
CALL PRSI-MOBY-VERB?
- ZERO? STACK /?CND10
+ ZERO? STACK /?CND8
SET 'X,TRUE-VALUE
-?CND10: ZERO? X /?ELS21
+?CND8: ZERO? X /?CCL18
CALL FIND-NOT-HERE,TBL,PRSO? >OBJ
ZERO? OBJ /FALSE
EQUAL? OBJ,NOT-HERE-OBJECT \TRUE
- EQUAL? PRSA,V?FOLLOW,V?WALK-TO \?ELS33
+ EQUAL? PRSA,V?FOLLOW,V?WALK-TO \?CCL26
CALL V-WALK-AROUND
- JUMP ?CND19
-?ELS33: PRINTC 91
+ JUMP ?CND16
+?CCL26: PRINTC 91
PRINT YOULL-HAVE-TO
PRINTI "be more specific.]"
CRLF
- JUMP ?CND19
-?ELS21: EQUAL? WINNER,PROTAGONIST \?ELS40
+ JUMP ?CND16
+?CCL18: EQUAL? WINNER,PROTAGONIST \?CCL29
PRINTI "You"
- JUMP ?CND38
-?ELS40: PRINTI "Looking confused,"
+ JUMP ?CND27
+?CCL29: PRINTI "Looking confused,"
CALL TPRINT,WINNER
PRINTI " says, ""I"
-?CND38: PRINTI " can't see"
+?CND27: PRINTI " can't see"
CALL NAME?,P-XNAM
- ZERO? STACK \?CND43
+ ZERO? STACK \?CND30
PRINTI " any"
-?CND43: CALL NOT-HERE-PRINT,PRSO?
+?CND30: CALL NOT-HERE-PRINT,PRSO?
PRINTI " here!"
- EQUAL? WINNER,PROTAGONIST /?CND46
+ EQUAL? WINNER,PROTAGONIST /?CND32
PRINTC 34
-?CND46: CRLF
-?CND19: CALL STOP
+?CND32: CRLF
+?CND16: CALL STOP
RSTACK
.FUNCT PRSO-MOBY-VERB?
EQUAL? PRSA,V?WHAT,V?WHERE,V?WAIT-FOR /TRUE
EQUAL? PRSA,V?WALK-TO,V?CALL,V?SAY /TRUE
- EQUAL? PRSA,V?FIND,V?FOLLOW \FALSE
- RTRUE
+ EQUAL? PRSA,V?FIND,V?FOLLOW /TRUE
+ RFALSE
.FUNCT PRSI-MOBY-VERB?
- EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT \FALSE
- RTRUE
+ EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT /TRUE
+ RFALSE
.FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ
@@ -96,66 +134,66 @@
PRINTN M-F
PRINTI " obj]"
CRLF
-?CND1: EQUAL? 1,M-F \?ELS9
- ZERO? DEBUG /?CND10
+?CND1: EQUAL? 1,M-F \?CCL5
+ ZERO? DEBUG /?CND6
PRINTI "[Namely: "
PRINTD P-MOBY-FOUND
PRINTC 93
CRLF
-?CND10: ZERO? PRSO? /?ELS16
+?CND6: ZERO? PRSO? /?CCL10
SET 'PRSO,P-MOBY-FOUND
CALL THIS-IS-IT,PRSO
RFALSE
-?ELS16: SET 'PRSI,P-MOBY-FOUND
+?CCL10: SET 'PRSI,P-MOBY-FOUND
RFALSE
-?ELS9: LESS? 1,M-F \?ELS21
+?CCL5: LESS? 1,M-F \?CCL12
GET TBL,1 >OBJ
GETP OBJ,P?GENERIC
CALL STACK >OBJ
- ZERO? OBJ /?ELS21
- ZERO? DEBUG /?CND24
+ ZERO? OBJ /?CCL12
+ ZERO? DEBUG /?CND15
PRINTI "[Generic: "
PRINTD OBJ
PRINTC 93
CRLF
-?CND24: EQUAL? OBJ,NOT-HERE-OBJECT /TRUE
- ZERO? PRSO? /?ELS32
+?CND15: EQUAL? OBJ,NOT-HERE-OBJECT /TRUE
+ ZERO? PRSO? /?CCL21
SET 'PRSO,OBJ
CALL THIS-IS-IT,PRSO
RFALSE
-?ELS32: SET 'PRSI,OBJ
+?CCL21: SET 'PRSI,OBJ
RFALSE
-?ELS21: RETURN NOT-HERE-OBJECT
+?CCL12: RETURN NOT-HERE-OBJECT
.FUNCT NOT-HERE-PRINT,PRSO?,?TMP1
- ZERO? P-OFLAG /?ELS5
- ZERO? P-XADJ /?CND7
+ ZERO? P-OFLAG /?CCL3
+ ZERO? P-XADJ /?CND4
PRINTC 32
PRINTB P-XADJN
-?CND7: ZERO? P-XNAM /FALSE
+?CND4: ZERO? P-XNAM /FALSE
PRINTC 32
PRINTB P-XNAM
RTRUE
-?ELS5: ZERO? PRSO? /?ELS18
+?CCL3: ZERO? PRSO? /?CCL10
GET P-ITBL,P-NC1 >?TMP1
GET P-ITBL,P-NC1L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
-?ELS18: GET P-ITBL,P-NC2 >?TMP1
+?CCL10: GET P-ITBL,P-NC2 >?TMP1
GET P-ITBL,P-NC2L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
.FUNCT GROUND-F
- EQUAL? PRSA,V?ENTER,V?CLIMB-ON \?ELS5
+ EQUAL? PRSA,V?ENTER,V?CLIMB-ON \?CCL3
SET 'C-ELAPSED,31
- PRINTR "You sit down on the floor. After a brief rest, you stand again."
-?ELS5: EQUAL? PRSA,V?LOOK-UNDER \?ELS7
+ PRINTR "After a brief squat on the floor, you stand again."
+?CCL3: EQUAL? PRSA,V?LOOK-UNDER \?CCL5
CALL IMPOSSIBLES
RSTACK
-?ELS7: EQUAL? PRSA,V?LEAVE \FALSE
+?CCL5: EQUAL? PRSA,V?LEAVE \FALSE
CALL DO-WALK,P?UP
RSTACK
@@ -169,68 +207,79 @@
.FUNCT CEILING-F
- EQUAL? PRSA,V?SEARCH,V?EXAMINE \?ELS5
- EQUAL? HERE,PET-STORE \?ELS5
+ EQUAL? PRSA,V?SEARCH,V?EXAMINE \?CCL3
+ EQUAL? HERE,PET-STORE \?CCL3
MOVE PANEL,HERE
CALL THIS-IS-IT,PANEL
PRINTR "As you look carefully, you notice something that a casual inspection of the Pet Store would never have uncovered: a panel mounted in the ceiling."
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
- EQUAL? HERE,DOME \?ELS9
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7
+ EQUAL? HERE,DOME \?CCL7
PRINT DOME-DESC
CRLF
RTRUE
-?ELS9: EQUAL? PRSA,V?LOOK-UNDER \FALSE
+?CCL7: EQUAL? PRSA,V?LOOK-UNDER \FALSE
CALL PERFORM,V?LOOK
RTRUE
.FUNCT GLOBAL-ROOM-F
- EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK \?ELS5
+ EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK \?CCL3
CALL V-LOOK
RSTACK
-?ELS5: EQUAL? PRSA,V?WALK-TO,V?ENTER \?ELS7
+?CCL3: EQUAL? PRSA,V?WALK-TO,V?ENTER \?CCL5
CALL V-WALK-AROUND
RSTACK
-?ELS7: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?ELS9
+?CCL5: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL7
CALL DO-WALK,P?OUT
RSTACK
-?ELS9: EQUAL? PRSA,V?SEARCH \?ELS11
- EQUAL? HERE,REC-SHOP \?ELS16
- IN? FOIL,LOCAL-GLOBALS \?ELS16
- MOVE FOIL,HERE
- CALL THIS-IS-IT,FOIL
- PRINTR "Behind one of the simulation booths, you spot a large piece of trans-molecular reflective foil! It's probably a promotional item, left over from last year's mega-hit simulation booth simulation, ""Platinum Pagans of Paradise."""
-?ELS16: EQUAL? HERE,GREASY-STRAW \?ELS20
- IN? NECTAR,LOCAL-GLOBALS \?ELS20
+?CCL7: EQUAL? PRSA,V?WALK-AROUND \?CCL9
+ EQUAL? HERE,BARBERSHOP \?CCL9
+ ZERO? MIRROR-BROKEN \?CCL9
+ CALL ULTIMATELY-IN?,PLATINUM-DETECTOR
+ ZERO? STACK /?CCL9
+ FSET? PLATINUM-DETECTOR,ACTIVEBIT \?CCL9
+ CALL PERFORM,V?FOLLOW,PLATINUM-DETECTOR
+ RTRUE
+?CCL9: EQUAL? PRSA,V?SEARCH \?CCL16
+ ZERO? LIT \?CCL19
+ PRINT TOO-DARK
+ CRLF
+ RTRUE
+?CCL19: EQUAL? HERE,GREASY-STRAW \?CCL21
+ IN? NECTAR,LOCAL-GLOBALS \?CCL21
MOVE NECTAR,HERE
CALL THIS-IS-IT,NECTAR
PRINTR "You spot a cup of Ramosian Fire Nectar behind the counter!"
-?ELS20: PRINTR "A cursory search of the room reveals nothing new."
-?ELS11: EQUAL? PRSA,V?PUT \FALSE
+?CCL21: PRINTR "A cursory search of the room reveals nothing new."
+?CCL16: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,GLOBAL-ROOM \FALSE
- EQUAL? P-PRSA-WORD,W?THROW \?ELS33
+ EQUAL? P-PRSA-WORD,W?THROW \?CCL30
CALL PERFORM,V?THROW,PRSO
RTRUE
-?ELS33: CALL PERFORM,V?DROP,PRSO
+?CCL30: CALL PERFORM,V?DROP,PRSO
RTRUE
.FUNCT WINDOW-F
- EQUAL? PRSA,V?LOOK-INSIDE \?ELS5
- EQUAL? HERE,SHADY-DANS \?ELS10
+ EQUAL? PRSA,V?LOOK-INSIDE \?CCL3
+ EQUAL? HERE,SHADY-DANS \?CCL6
PRINT DANS-LOT-DESC
CRLF
RTRUE
-?ELS10: EQUAL? SPACETRUCK-COUNTER,5 \?ELS12
- EQUAL? COURSE-PICKED,RIGHT-COURSE \?ELS12
+?CCL6: EQUAL? HERE,DOCKING-BAY-2,CARGO-BAY \?CCL8
+ PRINTI "You see the interior of"
+ CALL TRPRINT,SPACETRUCK-OBJECT
+ RSTACK
+?CCL8: EQUAL? SPACETRUCK-COUNTER,5 \?CCL10
+ EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL10
PRINTR "You see an empty docking bay."
-?ELS12: ZERO? SPACETRUCK-COUNTER \?ELS16
+?CCL10: EQUAL? SPACETRUCK-COUNTER,-1 \?CCL14
PRINTR "You see a large cargo bay."
-?ELS16: EQUAL? SPACETRUCK-COUNTER,4 \?ELS18
- EQUAL? COURSE-PICKED,RIGHT-COURSE \?ELS18
+?CCL14: EQUAL? SPACETRUCK-COUNTER,4 \?CCL16
+ EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL16
PRINTR " You are approaching the station from slightly above it (on the galactic plane), thus offering a good view of the station's layout. In the center is the large, spherical Command Module. Jutting ""north"" from it is a smaller Sub-Module. Joining the Command Module, at its two other connection points, is a tangle of tubes and space bubbles and derelict rockets. These form a ""village,"" the sort of seedy, unauthorized village that frequently collects around a space station."
-?ELS18: PRINTR "You see nothing but the majestic sweep of the galaxy."
-?ELS5: EQUAL? PRSA,V?CLEAN \FALSE
+?CCL16: PRINTR "You see nothing but the majestic sweep of the galaxy."
+?CCL3: EQUAL? PRSA,V?CLEAN \FALSE
SET 'AWAITING-REPLY,1
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
@@ -238,59 +287,72 @@
.FUNCT SIGN-F
- EQUAL? PRSA,V?READ \FALSE
- EQUAL? HERE,GREASY-STRAW \?ELS10
+ EQUAL? HERE,DOME \?CCL3
+ IN? HOUSING,DOME /?CCL3
+ CALL CANT-SEE,SIGN
+ RSTACK
+?CCL3: EQUAL? PRSA,V?READ \FALSE
+ EQUAL? HERE,DOME \?CCL10
+ CALL PERFORM,V?READ,HOUSING
+ RTRUE
+?CCL10: EQUAL? HERE,GYM \?CCL12
+ PRINTI """IMPORTANT! The "
+ PRINTD EXERCISE-MACHINE
+ PRINTI " has diagnostic frequencies which communicate with each other on frequency 710. Do not bring anything which broadcasts on that frequency within range of the machine!"""
+ IN? EXERCISE-MACHINE,GYM /?CND13
+ PRINTI " Strangely, you don't see any "
+ PRINTD EXERCISE-MACHINE
+ PRINTR " anywhere in the gym."
+?CND13: CRLF
+ RTRUE
+?CCL12: EQUAL? HERE,SHIPPING-ROOM \?CCL16
+ PRINTR """Always return the forklift to the shipping room when it's not in use! THIS MEANS YOU!"""
+?CCL16: EQUAL? HERE,GREASY-STRAW \?CCL18
PRINT RESTAURANT-SIGN-TEXT
CRLF
RTRUE
-?ELS10: EQUAL? HERE,TRADING-POST \?ELS12
+?CCL18: EQUAL? HERE,TRADING-POST \?CCL20
PRINTR """!!!BEST PRICES IN TOWN!!!
IF YOU DON'T SEE IT ASK FOR IT!
Illegal wares shown by appointment only.
FREZONE (tm) explosive available."""
-?ELS12: EQUAL? HERE,PET-STORE \?ELS14
+?CCL20: EQUAL? HERE,PET-STORE \?CCL22
PRINTI """SPECIAL!!! The best pet a lonely spacer could ever hope for!
"
PRINTD BALLOON
PRINTI "s are fascinating critters. Filled with hydrogen, they float freely through the air like small dirigibles.
- With their translucent bodies and irridescent skin, they're a beautiful addition to the decor of any living bubble. They are docile and friendly. And, they are easy to care for, feeding on airborne spores!
+ With their translucent bodies and iridescent skin, they're a beautiful addition to the decor of any living bubble. Docile and friendly, "
+ PRINTD BALLOON
+ PRINTI "s are easy to care for, feeding on airborne spores!
Limited supply!! Order yours today!!""
You recall one fact about "
PRINTD BALLOON
PRINTR "s which the sign fails to mention: they propel themselves around by ejecting digestive gasses. This makes them one of the smelliest pets imaginable."
-?ELS14: EQUAL? HERE,GYM \?ELS16
- PRINTI """IMPORTANT! The "
- PRINTD EXERCISE-MACHINE
- PRINTI " has diagnostic frequencies which communicate with each other on frequency 710. Do not bring anything which broadcasts on that frequency within range of the machine!"""
- IN? EXERCISE-MACHINE,GYM /?CND17
- PRINTI " Strangely, you don't see any exercise machine anywhere in the gym."
-?CND17: CRLF
- RTRUE
-?ELS16: EQUAL? HERE,OPIUM-DEN \?ELS21
+?CCL22: EQUAL? HERE,OPIUM-DEN \?CCL24
PRINTR "The sign is from the government's latest anti-drug crusade. It depicts the president of the Third Galactic Union, her hands crossed across her chest in a defiant pose, with the caption, ""Drugs are a no-no!"" You notice that someone has drawn a mustache on her."
-?ELS21: PRINTR """TRADING POST VACUUM STORAGE AREA
+?CCL24: PRINTR """TRADING POST VACUUM STORAGE AREA
Trespassers will be spaced!"""
.FUNCT EQUIPMENT-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- EQUAL? HERE,ROBOT-POOL \?ELS10
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ EQUAL? HERE,ROBOT-POOL \?CCL6
PRINT ROBOT-POOL-EQUIPMENT-DESC
CRLF
RTRUE
-?ELS10: PRINTR "Since this equipment has nothing to do with the filling out or filing of multi-part forms, it's far outside your area of expertise."
-?ELS5: EQUAL? PRSA,V?USE \?ELS14
- EQUAL? HERE,ROBOT-POOL \?ELS14
+?CCL6: PRINTR "Since this equipment has nothing to do with the filling out or filing of multi-part forms, it's far outside your area of expertise."
+?CCL3: EQUAL? PRSA,V?USE \?CCL8
+ EQUAL? HERE,ROBOT-POOL \?CCL8
PRINTR "Put the form in the slot, you dolt!"
-?ELS14: EQUAL? PRSA,V?OFF,V?ON \FALSE
+?CCL8: EQUAL? PRSA,V?OFF,V?ON \FALSE
CALL PERFORM,V?EXAMINE,EQUIPMENT
RTRUE
.FUNCT FIXTURES-F
- EQUAL? PRSA,V?USE,V?WALK-TO,V?ENTER \?ELS5
+ EQUAL? PRSA,V?USE,V?WALK-TO,V?ENTER \?CCL3
PRINTR "This story doesn't go into that sort of detail."
-?ELS5: EQUAL? PRSA,V?ON,V?TAKE \FALSE
+?CCL3: EQUAL? PRSA,V?ON,V?TAKE \FALSE
CALL NOUN-USED,W?SHOWER,FIXTURES
ZERO? STACK /FALSE
CALL PERFORM,V?USE,FIXTURES
@@ -298,13 +360,13 @@ FREZONE (tm) explosive available."""
.FUNCT HOLE-F
- EQUAL? PRSA,V?DRILL-HOLE \?ELS5
+ EQUAL? PRSA,V?DRILL-HOLE \?CCL3
EQUAL? PRSO,HOLE /FALSE
-?ELS5: EQUAL? PRSA,V?DRILL \?ELS9
- EQUAL? PRSO,HOLE \?ELS9
+?CCL3: EQUAL? PRSA,V?DRILL \?CCL7
+ EQUAL? PRSO,HOLE \?CCL7
CALL PERFORM,V?DRILL-HOLE,HOLE,WALLS
RTRUE
-?ELS9: CALL PRSO-MOBY-VERB?
+?CCL7: CALL PRSO-MOBY-VERB?
ZERO? STACK \FALSE
CALL PRSI-MOBY-VERB?
ZERO? STACK \FALSE
@@ -313,37 +375,37 @@ FREZONE (tm) explosive available."""
.FUNCT LADDER-F
- EQUAL? PRSA,V?CLIMB-UP \?ELS5
+ EQUAL? PRSA,V?CLIMB-UP \?CCL3
CALL DO-WALK,P?UP
RSTACK
-?ELS5: EQUAL? PRSA,V?CLIMB-DOWN \FALSE
+?CCL3: EQUAL? PRSA,V?CLIMB-DOWN \FALSE
CALL DO-WALK,P?DOWN
RSTACK
.FUNCT HANDS-F,ACTOR
- EQUAL? PRSA,V?APPLAUD \?ELS5
+ EQUAL? PRSA,V?APPLAUD \?CCL3
SET 'PRSO,FALSE-VALUE
RFALSE
-?ELS5: EQUAL? PRSA,V?SHAKE \?ELS7
- CALL FIND-IN,HERE,ACTORBIT,STR?85 >ACTOR
- ZERO? ACTOR /?ELS12
+?CCL3: EQUAL? PRSA,V?SHAKE \?CCL5
+ CALL FIND-IN,HERE,ACTORBIT,STR?87 >ACTOR
+ ZERO? ACTOR /?CCL8
CALL PERFORM,V?SHAKE-WITH,HANDS,ACTOR
RTRUE
-?ELS12: PRINTR "Pleased to meet you."
-?ELS7: EQUAL? PRSA,V?COUNT \?ELS16
+?CCL8: PRINTR "Pleased to meet you."
+?CCL5: EQUAL? PRSA,V?COUNT \?CCL10
CALL NOUN-USED,W?FINGER,HANDS
- ZERO? STACK /?ELS19
+ ZERO? STACK /?CCL13
PRINTI "Ten"
- JUMP ?CND17
-?ELS19: PRINTI "Two"
-?CND17: PRINTR ", as usual."
-?ELS16: EQUAL? PRSA,V?CLEAN \?ELS23
+ JUMP ?CND11
+?CCL13: PRINTI "Two"
+?CND11: PRINTR ", as usual."
+?CCL10: EQUAL? PRSA,V?CLEAN \?CCL15
PRINTR "Done."
-?ELS23: EQUAL? PRSA,V?SHOOT \?ELS25
- CALL JIGS-UP,STR?86
+?CCL15: EQUAL? PRSA,V?SHOOT \?CCL17
+ CALL JIGS-UP,STR?88
RSTACK
-?ELS25: EQUAL? PRSA,V?TAKE-WITH \FALSE
+?CCL17: EQUAL? PRSA,V?TAKE-WITH \FALSE
EQUAL? PRSI,HANDS \FALSE
CALL PERFORM,V?TAKE,PRSO
RTRUE
@@ -357,114 +419,123 @@ FREZONE (tm) explosive available."""
.FUNCT ME-F
- EQUAL? PRSA,V?TELL \?ELS5
+ EQUAL? PRSA,V?TELL \?CCL3
PRINTI "Talking to yourself is a sign of impending mental collapse."
CRLF
CALL STOP
RSTACK
-?ELS5: EQUAL? PRSA,V?DRILL \?ELS7
+?CCL3: EQUAL? PRSA,V?DRILL \?CCL5
PRINTR "Why bother? Based on that input, you already have holes in your head!"
-?ELS7: EQUAL? PRSA,V?GIVE \?ELS9
- EQUAL? PRSI,ME \?ELS9
+?CCL5: EQUAL? PRSA,V?GIVE \?CCL7
+ EQUAL? PRSI,ME \?CCL7
CALL PERFORM,V?TAKE,PRSO
RTRUE
-?ELS9: EQUAL? PRSA,V?SHOW \?ELS13
- EQUAL? PRSI,ME \?ELS13
+?CCL7: EQUAL? PRSA,V?SHOW \?CCL11
+ EQUAL? PRSI,ME \?CCL11
CALL PERFORM,V?EXAMINE,PRSO
RTRUE
-?ELS13: EQUAL? PRSA,V?MOVE \?ELS17
+?CCL11: EQUAL? PRSA,V?MOVE \?CCL15
CALL V-WALK-AROUND
RSTACK
-?ELS17: EQUAL? PRSA,V?SEARCH \?ELS19
+?CCL15: EQUAL? PRSA,V?SEARCH \?CCL17
CALL V-INVENTORY
RSTACK
-?ELS19: EQUAL? PRSA,V?MUNG,V?KILL \?ELS21
- EQUAL? PRSO,ME \?ELS21
- CALL JIGS-UP,STR?87
+?CCL17: EQUAL? PRSA,V?MUNG,V?KILL \?CCL19
+ EQUAL? PRSO,ME \?CCL19
+ CALL JIGS-UP,STR?89
RSTACK
-?ELS21: EQUAL? PRSA,V?SHOOT \?ELS25
- CALL JIGS-UP,STR?88
+?CCL19: EQUAL? PRSA,V?SHOOT \?CCL23
+ CALL JIGS-UP,STR?90
RSTACK
-?ELS25: EQUAL? PRSA,V?WHERE,V?FIND \?ELS27
+?CCL23: EQUAL? PRSA,V?WHERE,V?FIND \?CCL25
PRINTI "You're in"
CALL TRPRINT,HERE
RSTACK
-?ELS27: EQUAL? PRSA,V?FOLLOW \?ELS29
+?CCL25: EQUAL? PRSA,V?FOLLOW \?CCL27
PRINTR "It would be hard not to."
-?ELS29: EQUAL? PRSA,V?EXAMINE \?ELS31
- PRINTR "That's difficult unless your eyes are prehensile."
-?ELS31: EQUAL? PRSA,V?ALARM \?ELS33
+?CCL27: EQUAL? PRSA,V?EXAMINE \?CCL29
+ CALL V-DIAGNOSE
+ RSTACK
+?CCL29: EQUAL? PRSA,V?ALARM \?CCL31
PRINTR "You are!"
-?ELS33: EQUAL? PRSA,V?TAKE \FALSE
+?CCL31: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "How romantic!"
.FUNCT GRUE-F
- EQUAL? PRSA,V?WHAT \FALSE
+ EQUAL? PRSA,V?WHAT \?CCL3
PRINTR "Grues are vicious, carnivorous beasts first introduced to Earth by an alien spaceship during the 22nd century. Grues spread throughout the galaxy alongside man. Now extinct on all civilized planets, they still exist in some backwater corners of the galaxy. Their favorite diet is Lieutenants First Class, but their insatiable appetite is tempered by their fear of light."
-
-
- .FUNCT SLOT-F
- EQUAL? PRSA,V?PUT \?ELS5
- EQUAL? PRSI,PSEUDO-OBJECT \?ELS5
- EQUAL? PRSO,CRUMPLED-FORM \?ELS12
- PRINTR "The form almost slides into the slot, but its degree of crumpledness is just a bit too high."
-?ELS12: EQUAL? PRSO,ROBOT-USE-AUTHORIZATION-FORM \?ELS18
- EQUAL? HERE,ROBOT-POOL /?THN15
-?ELS18: EQUAL? PRSO,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM \?ELS20
- EQUAL? HERE,SPACETRUCK /?THN15
-?ELS20: EQUAL? PRSO,VILLAGE-FORM \?ELS14
- EQUAL? HERE,SOUTH-CONNECTION,EAST-CONNECTION \?ELS14
-?THN15: EQUAL? HERE,SPACETRUCK \?ELS25
+?CCL3: CALL TOUCHING?,GRUE
+ ZERO? STACK \?CCL5
+ EQUAL? PRSA,V?WALK-TO,V?EXAMINE \FALSE
+?CCL5: PRINTR "There's no grue in sight, fortunately."
+
+
+ .FUNCT FORM-SLOT-F
+ EQUAL? PRSA,V?PUT \?CCL3
+ EQUAL? PRSI,PSEUDO-OBJECT \?CCL3
+ EQUAL? PRSO,CRUMPLED-FORM \?CCL8
+ PRINTR "The form's crumpledness prevents it from sliding into the slot."
+?CCL8: EQUAL? PRSO,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM \?CCL10
+ EQUAL? HERE,SPACETRUCK \?CCL10
+ EQUAL? HERE,SPACETRUCK \?CCL15
CALL BOTH-SEATS-NOT-OCCUPIED
- ZERO? STACK /?ELS25
- PRINTI "The form is spit back out. "
- CALL RECORDING,STR?91
- RTRUE
-?ELS25: EQUAL? PRSO,VILLAGE-FORM \?CND23
- ZERO? VILLAGE-FORM-VALIDATED \?CND23
+ ZERO? STACK /?CCL15
PRINTI "The form is spit back out. "
- CALL RECORDING,STR?92
- RTRUE
-?CND23: REMOVE PRSO
- FSET PRSO,NDESCBIT
- PRINTI "The form is swallowed up, followed by a long pause for triple-redundancy processing. "
- EQUAL? PRSO,ROBOT-USE-AUTHORIZATION-FORM \?ELS36
CALL RECORDING,STR?93
RSTACK
-?ELS36: EQUAL? PRSO,VILLAGE-FORM \?ELS38
- ADD SCORE,4 >SCORE
+?CCL15: REMOVE PRSO
+ FSET PRSO,NDESCBIT
+ PRINT FORM-ACCEPTED
+ CALL RECORDING,STR?94
+ RSTACK
+?CCL10: EQUAL? PRSO,ROBOT-USE-AUTHORIZATION-FORM \?CCL19
+ EQUAL? HERE,ROBOT-POOL \?CCL19
+ REMOVE PRSO
+ FSET PRSO,NDESCBIT
+ PRINT FORM-ACCEPTED
+ CALL RECORDING,STR?95
+ RSTACK
+?CCL19: EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM \?CCL23
+ EQUAL? HERE,DECK-TWELVE \?CCL23
+ PRINT FORM-REJECTED
+ CALL RECORDING,STR?96
+ RSTACK
+?CCL23: EQUAL? PRSO,VILLAGE-FORM \?CCL27
+ EQUAL? HERE,SOUTH-CONNECTION,EAST-CONNECTION \?CCL27
+ ZERO? VILLAGE-FORM-VALIDATED \?CCL32
+ PRINT FORM-REJECTED
+ CALL RECORDING,STR?96
+ RSTACK
+?CCL32: ADD SCORE,6 >SCORE
INC 'ROBOT-EVILNESS
FSET IRIS-HATCH,OPENBIT
- PRINTR "The hatch begins irising open, then sparks and smokes and grinds to a halt. However, it's about half dilated, wide enough to pass through."
-?ELS38: CALL RECORDING,STR?94
+ REMOVE PRSO
+ FSET PRSO,NDESCBIT
+ PRINTR "The hatch begins irising open, then sparks and smokes and grinds to a halt. However, it's about half dilated, wide enough to pass through. Beyond, you can see a small, dingy connecting tube, rather than the clean and brightly-lit Sub-Module connector you might have expected."
+?CCL27: EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,ROBOT-USE-AUTHORIZATION-FORM /?CTR33
+ EQUAL? PRSO,VILLAGE-FORM \?CCL34
+?CTR33: PRINT FORM-REJECTED
+ CALL RECORDING,STR?97
RSTACK
-?ELS14: EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,ROBOT-USE-AUTHORIZATION-FORM \?ELS42
- PRINTR "The form is rejected."
-?ELS42: GETP P?SIZE,PRSO
- LESS? STACK,3 \?ELS44
+?CCL34: GETP P?SIZE,PRSO
+ LESS? STACK,3 \?CCL38
PRINTI "The slot swallows"
CALL TPRINT-PRSO
PRINTR " and then spits it back."
-?ELS44: CALL DOESNT-FIT,STR?95
+?CCL38: CALL DOESNT-FIT,STR?98
RSTACK
-?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINT ONLY-BLACKNESS
RTRUE
- .FUNCT BOTH-SEATS-NOT-OCCUPIED,?TMP1,?TMP2
- IN? PROTAGONIST,PILOT-SEAT \?ELS5
- LOC FLOYD >?TMP2
- LOC HELEN >?TMP1
- LOC REX
- EQUAL? COPILOT-SEAT,?TMP2,?TMP1,STACK /FALSE
-?ELS5: IN? PROTAGONIST,COPILOT-SEAT \TRUE
- LOC FLOYD >?TMP2
- LOC HELEN >?TMP1
- LOC REX
- EQUAL? PILOT-SEAT,?TMP2,?TMP1,STACK \TRUE
- RFALSE
+ .FUNCT BOTH-SEATS-NOT-OCCUPIED
+ IN? PROTAGONIST,PILOT-SEAT \?CCL3
+ IN? FLOYD,COPILOT-SEAT /FALSE
+?CCL3: IN? PROTAGONIST,COPILOT-SEAT \TRUE
+ IN? FLOYD,COPILOT-SEAT /FALSE
+ RTRUE
.FUNCT KEYPAD-F
@@ -479,10 +550,10 @@ FREZONE (tm) explosive available."""
.FUNCT FURNISHING-F
- EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?OPEN /?THN6
- EQUAL? PRSA,V?EXAMINE \?ELS5
-?THN6: PRINTR "You merely find a few personal items of little interest."
-?ELS5: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
+ EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?OPEN /?CTR2
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+?CTR2: PRINTR "You merely find a few personal items of little interest."
+?CCL3: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
PRINTI "The "
PRINTD PRSI
PRINTI " is such a mess that you can't find a good spot to put"
@@ -491,42 +562,49 @@ FREZONE (tm) explosive available."""
.FUNCT BED-F
- EQUAL? PRSA,V?WALK-TO \?ELS5
+ EQUAL? PRSA,V?WALK-TO \?CCL3
CALL GLOBAL-IN?,BED,HERE
- ZERO? STACK \?ELS5
+ ZERO? STACK \?CCL3
PRINTR "There's no bed here!"
-?ELS5: EQUAL? PRSA,V?WALK-TO,V?ENTER \?ELS9
- GRTR? SLEEPY-LEVEL,0 \?ELS14
+?CCL3: EQUAL? PRSA,V?WALK-TO,V?ENTER \?CCL7
+ GRTR? SLEEPY-LEVEL,0 \?CCL10
MOVE PROTAGONIST,BED
CALL QUEUE,I-FALL-ASLEEP,22
CALL DEQUEUE,I-SLEEP-WARNINGS
PRINTR "Ahhh...the bed is soft and comfortable. You should be asleep in short order."
-?ELS14: MOVE PROTAGONIST,BED
+?CCL10: MOVE PROTAGONIST,BED
PRINTR "You are now in bed."
-?ELS9: EQUAL? PRSA,V?EXIT,V?STAND,V?DISEMBARK /?THN21
- EQUAL? PRSA,V?DROP \?ELS18
-?THN21: CALL QUEUED?,I-FALL-ASLEEP
- ZERO? STACK /?ELS18
- PRINTR "How could you suggest such a thing when you're so tired and this bed is so comfy?"
-?ELS18: EQUAL? PRSA,V?DROP,V?EXIT,V?LEAVE \?ELS24
+?CCL7: EQUAL? PRSA,V?EXIT,V?STAND,V?DISEMBARK /?PRD14
+ EQUAL? PRSA,V?DROP \?CCL12
+?PRD14: CALL QUEUED?,I-FALL-ASLEEP
+ ZERO? STACK /?CCL12
+ PRINTR "But you're so tired and this bed is so comfy!"
+?CCL12: EQUAL? PRSA,V?DROP,V?EXIT,V?LEAVE \?CCL18
CALL PERFORM,V?DISEMBARK,BED
RTRUE
-?ELS24: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS26
- EQUAL? PRSI,BED \?ELS26
+?CCL18: EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL20
+ EQUAL? PRSI,BED \?CCL20
MOVE PRSO,HERE
PRINTI "The "
PRINTD PRSO
- PRINTR " bounces off the bed and lands on the floor."
-?ELS26: EQUAL? PRSA,V?LOOK-UNDER \?ELS30
- IN? PROTAGONIST,BED \?ELS30
- PRINTR "You're IN the bed, so unless you have x-ray vision..."
-?ELS30: EQUAL? PRSA,V?LOOK-UNDER \FALSE
- EQUAL? HERE,COMMANDERS-QUARTERS \FALSE
- FSET? VALIDATION-STAMP,TOUCHBIT /FALSE
+ PRINTI " bounces off the bed"
+ PRINT LANDS-ON-FLOOR
+ CRLF
+ RTRUE
+?CCL20: EQUAL? PRSA,V?LOOK-UNDER \?CCL24
+ IN? PROTAGONIST,BED \?CCL24
+ PRINTR "You're IN the bed, so unless you have X-ray vision..."
+?CCL24: EQUAL? PRSA,V?LOOK-UNDER \?CCL28
+ EQUAL? HERE,COMMANDERS-QUARTERS \?CCL28
+ FSET? VALIDATION-STAMP,TOUCHBIT /?CCL28
FSET VALIDATION-STAMP,TOUCHBIT
MOVE VALIDATION-STAMP,HERE
CALL THIS-IS-IT,VALIDATION-STAMP
- PRINTR "You discover a validation stamp!"
+ PRINTI "You discover a "
+ PRINTD VALIDATION-STAMP
+ PRINTR "!"
+?CCL28: EQUAL? PRSA,V?SHOOT,V?KILL,V?DRILL \FALSE
+ PRINTR "That would be a clear case of mattresscide!"
.FUNCT SLEEP-F
@@ -536,43 +614,45 @@ FREZONE (tm) explosive available."""
.FUNCT I-SLEEP-WARNINGS
- GRTR? PLATO-ATTACK-COUNTER,0 \?CND1
+ IN? WELDER,HERE \?PRD4
+ GRTR? SLEEPY-LEVEL,3 /?CCL2
+?PRD4: GRTR? PLATO-ATTACK-COUNTER,0 \?CND1
IN? PLATO,HERE \?CND1
- CALL QUEUE,I-HUNGER-WARNINGS,2
+?CCL2: CALL QUEUE,I-HUNGER-WARNINGS,2
RFALSE
?CND1: INC 'SLEEPY-LEVEL
PRINTI " "
- IN? PROTAGONIST,BED \?ELS10
+ IN? PROTAGONIST,BED \?CCL11
CALL DEQUEUE,I-SLEEP-WARNINGS
CALL QUEUE,I-FALL-ASLEEP,16
PRINTR "You suddenly realize how tired you were and how comfortable the bed is. You should be asleep in no time."
-?ELS10: EQUAL? SLEEPY-LEVEL,1 \?ELS12
+?CCL11: EQUAL? SLEEPY-LEVEL,1 \?CCL13
CALL QUEUE,I-SLEEP-WARNINGS,320
PRINTR "You begin to feel weary. It might be time to think about finding a nice safe place to sleep."
-?ELS12: EQUAL? SLEEPY-LEVEL,2 \?ELS14
+?CCL13: EQUAL? SLEEPY-LEVEL,2 \?CCL15
CALL QUEUE,I-SLEEP-WARNINGS,160
PRINTR "You're really tired now. You'd better find a place to sleep real soon."
-?ELS14: EQUAL? SLEEPY-LEVEL,3 \?ELS16
+?CCL15: EQUAL? SLEEPY-LEVEL,3 \?CCL17
CALL QUEUE,I-SLEEP-WARNINGS,80
PRINTR "If you don't get some sleep soon you'll probably drop."
-?ELS16: EQUAL? SLEEPY-LEVEL,4 \?ELS18
+?CCL17: EQUAL? SLEEPY-LEVEL,4 \?CCL19
CALL QUEUE,I-SLEEP-WARNINGS,40
PRINTR "You can barely keep your eyes open."
-?ELS18: EQUAL? HERE,BED \?ELS23
+?CCL19: EQUAL? HERE,BED \?CCL22
PRINTI "You slowly sink into a deep and blissful sleep."
- JUMP ?CND21
-?ELS23: CALL GLOBAL-IN?,BED,HERE
- ZERO? STACK /?ELS25
+ JUMP ?CND20
+?CCL22: CALL GLOBAL-IN?,BED,HERE
+ ZERO? STACK /?CCL24
MOVE PROTAGONIST,BED
PRINTI "You climb into one of the beds and immediately fall asleep."
- JUMP ?CND21
-?ELS25: PRINT YOU-CANT
+ JUMP ?CND20
+?CCL24: PRINT YOU-CANT
PRINTI "stay awake a moment longer. You drop "
- IN? PROTAGONIST,HERE \?CND28
- FSET? HERE,WEIGHTLESSBIT /?CND28
+ IN? PROTAGONIST,HERE \?CND25
+ FSET? HERE,WEIGHTLESSBIT /?CND25
PRINTI "to the deck and fall "
-?CND28: PRINTI "into a deep but fitful sleep."
-?CND21: CALL WAKING-UP
+?CND25: PRINTI "into a deep but fitful sleep."
+?CND20: CALL WAKING-UP
RSTACK
@@ -588,46 +668,50 @@ FREZONE (tm) explosive available."""
.FUNCT WAKING-UP,X,N,?TMP1
CRLF
CRLF
- FSET? SPACESUIT,WORNBIT \?ELS3
- CALL JIGS-UP,STR?102
- JUMP ?CND1
-?ELS3: EQUAL? COURSE-PICKED,RIGHT-COURSE /?ELS5
- EQUAL? HERE,SPACETRUCK \?ELS5
- PRINTI "You wake up gasping for air! The spacetruck"
+ IN? PROTAGONIST,BED /?CND1
+ MOVE PROTAGONIST,HERE
+?CND1: FSET? SPACESUIT,WORNBIT \?CCL5
+ CALL JIGS-UP,STR?105
+ JUMP ?CND3
+?CCL5: EQUAL? COURSE-PICKED,RIGHT-COURSE /?CCL7
+ EQUAL? HERE,SPACETRUCK \?CCL7
+ PRINTI "You wake up gasping for air! The "
+ PRINTD SPACETRUCK-OBJECT
CALL RUNNING?,I-SPACETRUCK
- ZERO? STACK /?ELS10
+ ZERO? STACK /?CCL12
PRINTI " is dead in uncharted space and it"
- JUMP ?CND8
-?ELS10: PRINTC 39
-?CND8: PRINTI "s oxygen is running out!"
+ JUMP ?CND10
+?CCL12: PRINTC 39
+?CND10: PRINTI "s oxygen is running out!"
CRLF
CALL I-SUFFOCATE
- JUMP ?CND1
-?ELS5: EQUAL? SPACETRUCK-COUNTER,-1 \?ELS14
+ JUMP ?CND3
+?CCL7: EQUAL? SPACETRUCK-COUNTER,-1 \?CCL14
PRINTI "A clanging noise wakes you up, and you slowly become aware that you are in the Duffy's brig, and furthermore, you are wearing the uniform of an Ensign Ninth Class! You trace the clanging noise to a pipe in your cell.
Placing your ear against the pipe, you hear, ""Psst! Grapevine news! Some dumb kripping "
PRINT LFC
- PRINTI " fell asleep on Deck Five in the middle of some big assignment! The poor trot-head's been broken to Ensign Ninth, and there's talk of a court martial!""
+ PRINTI " fell asleep on Deck Twelve in the middle of some big assignment! The poor trot-head's been broken to Ensign Ninth, and there's talk of a court-martial!""
Sure enough, the next morning you are led in front of a firing squad. Moral: don't screw up vital assignments like picking up "
PRINT FORM-NAME
- CALL JIGS-UP,STR?44
- JUMP ?CND1
-?ELS14: IN? PROTAGONIST,BED /?ELS16
- FSET? DOCKING-BAY-2,TOUCHBIT \?ELS16
+ CALL JIGS-UP,STR?46
+ JUMP ?CND3
+?CCL14: IN? PROTAGONIST,HERE \?PRD18
+ FSET? DOCKING-BAY-2,TOUCHBIT \?PRD18
MUL DAY,40 >?TMP1
RANDOM 100
- LESS? ?TMP1,STACK /?ELS16
- CALL JIGS-UP,STR?103
- JUMP ?CND1
-?ELS16: RANDOM 100
- LESS? 60,STACK /?CND1
+ LESS? ?TMP1,STACK \?CTR15
+?PRD18: CALL ULTIMATELY-IN?,OSTRICH-NIP
+ ZERO? STACK /?CCL16
+ IN? OSTRICH,HERE \?CCL16
+?CTR15: CALL JIGS-UP,STR?106
+ JUMP ?CND3
+?CCL16: RANDOM 100
+ LESS? 60,STACK /?CND3
PRINTI "..."
CALL PICK-ONE,DREAMS
PRINT STACK
- PRINTI "..."
- CRLF
- CRLF
-?CND1: INC 'DAY
+ PRINT ELLIPSIS
+?CND3: INC 'DAY
INC 'ROBOT-EVILNESS
CALL I-ROBOT-EVILNESS
SET 'SLEEPY-LEVEL,0
@@ -635,32 +719,30 @@ FREZONE (tm) explosive available."""
SET 'FLOYD-ANGUISHED,FALSE-VALUE
RANDOM 80
ADD 1600,STACK >INTERNAL-MOVES
- GRTR? DAY,2 \?ELS23
+ GRTR? DAY,2 \?CCL27
SET 'MOVES,9947
- JUMP ?CND21
-?ELS23: ADD SCORE,3 >SCORE
+ JUMP ?CND25
+?CCL27: CALL QUEUE,I-MESSAGE,943
+ ADD SCORE,3 >SCORE
SET 'MOVES,INTERNAL-MOVES
-?CND21: FCLEAR AUTO-DOOR,TOUCHBIT
+?CND25: FCLEAR AUTO-DOOR,TOUCHBIT
CALL QUEUE,I-SLEEP-WARNINGS,5900
- CALL ULTIMATELY-IN?,BOTTLE,VACUUM-STORAGE
- ZERO? STACK \?CND26
- FSET? BOTTLE,OPENBIT \?CND29
- SET 'CARBON-DIOXIDE-GONE,TRUE-VALUE
-?CND29: SET 'FROZEN-LEVEL,0
- CALL DEQUEUE,I-MELT-CARBON-DIOXIDE
-?CND26: CALL ULTIMATELY-IN?,EXPLOSIVE,VACUUM-STORAGE
- ZERO? STACK \?CND32
- REMOVE EXPLOSIVE
+ CALL ULTIMATELY-IN?,EXPLOSIVE,VACUUM-STORAGE
+ ZERO? STACK \?CND28
+ MOVE EXPLOSIVE,DECK-TWELVE
+ CALL REMOVE-CAREFULLY,EXPLOSIVE
CALL DEQUEUE,I-EXPLOSIVE-MELT
-?CND32: FSET? HEADLAMP,ONBIT \?CND35
+?CND28: FSET? HEADLAMP,ONBIT \?CND30
FCLEAR HEADLAMP,ACTIVEBIT
FCLEAR HEADLAMP,ONBIT
SET 'HEADLAMP-COUNTER,0
-?CND35: FSET OSTRICH,TOUCHBIT
- IN? OSTRICH,HERE \?CND38
- IN? OSTRICH-NIP,HERE \?CND38
- REMOVE OSTRICH-NIP
-?CND38: CALL ROB,PROTAGONIST,HERE
+?CND30: GRTR? SOUP-WARMTH,0 \?CND32
+ FSET? THERMOS,OPENBIT \?CCL36
+ SET 'SOUP-WARMTH,0
+ JUMP ?CND32
+?CCL36: SUB SOUP-WARMTH,30 >SOUP-WARMTH
+?CND32: FSET OSTRICH,TOUCHBIT
+ CALL ROB,PROTAGONIST,HERE
USL
PRINTI "***** NOVEM "
ADD DAY,3
@@ -669,80 +751,88 @@ FREZONE (tm) explosive available."""
CRLF
CRLF
PRINTI "You awake "
- CALL QUEUED?,I-LIGHTS-OUT
- ZERO? STACK /?ELS45
+ ZERO? LIT \?CCL39
+ PRINTI "in darkness."
+ JUMP ?CND37
+?CCL39: CALL QUEUED?,I-LIGHTS-OUT
+ ZERO? STACK /?CCL41
CALL DEQUEUE,I-LIGHTS-OUT
CALL I-LIGHTS-OUT,TRUE-VALUE
PRINTI "slowly, aware that something has changed. Aha! The lights have all gone out while you slept!"
- JUMP ?CND43
-?ELS45: LOC PROTAGONIST
- EQUAL? STACK,BED,PILOT-SEAT,COPILOT-SEAT \?ELS47
+ JUMP ?CND37
+?CCL41: LOC PROTAGONIST
+ EQUAL? STACK,BED,PILOT-SEAT,COPILOT-SEAT \?CCL43
PRINTI "feeling refreshed and ready to face anything this new day might care to throw at you."
- JUMP ?CND43
-?ELS47: PRINTI "and slowly stand up, feeling stiff from your uncomfortable night's sleep."
-?CND43: EQUAL? DAY,4 \?CND50
- FSET? SAFE,OPENBIT /?ELS55
+ JUMP ?CND37
+?CCL43: PRINTI "and slowly stand up, feeling stiff from your uncomfortable night's sleep."
+?CND37: EQUAL? DAY,4 \?CND44
+ FSET? SAFE,OPENBIT /?CCL48
CALL QUEUE,I-LIGHTS-OUT,177
- JUMP ?CND50
-?ELS55: CALL QUEUED?,I-ANNOUNCEMENT
- ZERO? STACK \?CND50
+ JUMP ?CND44
+?CCL48: CALL QUEUED?,I-ANNOUNCEMENT
+ ZERO? STACK \?CND44
CALL QUEUE,I-ANNOUNCEMENT,383
-?CND50: GRTR? HUNGER-LEVEL,0 \?ELS60
+?CND44: GRTR? HUNGER-LEVEL,0 \?CCL52
SET 'HUNGER-LEVEL,3
CALL QUEUE,I-HUNGER-WARNINGS,200
PRINTI " You're also incredibly famished. Better get some breakfast!"
- JUMP ?CND58
-?ELS60: CALL QUEUE,I-HUNGER-WARNINGS,400
-?CND58: CRLF
+ JUMP ?CND50
+?CCL52: CALL QUEUE,I-HUNGER-WARNINGS,400
+?CND50: CRLF
CALL RUNNING?,I-SPACETRUCK
- ZERO? STACK /?CND63
- EQUAL? COURSE-PICKED,RIGHT-COURSE \?CND63
+ ZERO? STACK /?CND53
+ EQUAL? COURSE-PICKED,RIGHT-COURSE \?CND53
CALL QUEUE,I-WELDER,-1
- CALL QUEUE,I-FLOYD,-1
- CALL QUEUE,I-PLATO,750
CALL DEQUEUE,I-SPACETRUCK
+ FCLEAR SPACETRUCK,WEIGHTLESSBIT
ADD SCORE,5 >SCORE
SET 'SPACETRUCK-COUNTER,5
PRINTI " You notice that, while you slept, the truck has docked itself in one of the space station's docking bays."
CRLF
-?CND63: EQUAL? DAY,3 \?CND68
+?CND53: EQUAL? DAY,3 \?CND57
FCLEAR ELEVATOR,WEIGHTLESSBIT
FSET EXERCISE-MACHINE,TOUCHBIT
MOVE EXERCISE-MACHINE,COMPUTER-CONTROL
- FSET? CHRONOMETER,WORNBIT \?CND68
+ CALL ROB,EXERCISE-MACHINE,GYM
+ FSET? CHRONOMETER,WORNBIT \?CND57
PRINTI " "
CALL PERFORM,V?EXAMINE,CHRONOMETER
-?CND68: FSET? FLOYD,ACTIVEBIT \?CND74
- IN? FLOYD,FACTORY /?CND74
+?CND57: FSET? FLOYD,ACTIVEBIT \?CND61
+ IN? FLOYD,FACTORY /?CND61
+ EQUAL? HERE,AIRLOCK /?CND61
SET 'FLOYD-SPOKE,TRUE-VALUE
PRINTI " Floyd "
- GRTR? ROBOT-EVILNESS,12 \?ELS81
- PRINTI "is rudely kicking your mattress. ""Trot it! Will you kripping wake up already? Floyd's getting bored!"""
+ GRTR? ROBOT-EVILNESS,13 \?CCL68
+ PRINTI "is rudely kicking you"
+ IN? PROTAGONIST,BED \?CND69
+ PRINTI "r mattress"
+?CND69: PRINTI ". ""Trot it! Will you kripping wake up already? Floyd getting bored!"""
CRLF
- JUMP ?CND79
-?ELS81: PRINTI "bounces impatiently at "
- IN? PROTAGONIST,BED \?ELS86
+ JUMP ?CND66
+?CCL68: PRINTI "bounces impatiently at "
+ IN? PROTAGONIST,BED \?CCL73
PRINTI "the foot of the bed"
- JUMP ?CND84
-?ELS86: PRINTI "your side"
-?CND84: ZERO? PLATO-INTRODUCED /?CND89
- ZERO? PLATO-ATTACK-COUNTER \?CND89
+ JUMP ?CND71
+?CCL73: PRINTI "your side"
+?CND71: ZERO? PLATO-INTRODUCED /?CND74
+ ZERO? PLATO-ATTACK-COUNTER \?CND74
MOVE PLATO,HERE
PRINTI ". Plato is nearby, leafing through his book"
-?CND89: ZERO? PLATO-INTRODUCED \?ELS96
+?CND74: ZERO? PLATO-INTRODUCED \?CCL80
PRINTI ", along with a slightly older-looking robot. ""Wake up and meet Floyd's new friend,"" says Floyd with unbounded exuberance and a wide grin."
CRLF
CALL I-PLATO,TRUE-VALUE
- JUMP ?CND79
-?ELS96: PRINTI ". ""About time you woke up, you lazy "
- GRTR? ROBOT-EVILNESS,8 \?ELS101
- PRINTI "slob!"" says Floyd. ""It's getting pretty trotting dull around her"
- JUMP ?CND99
-?ELS101: PRINTI "bones!"" says Floyd. ""Let's explore around some mor"
-?CND99: PRINTI "e!"""
+ JUMP ?CND66
+?CCL80: PRINTI ". ""About time you woke up, you lazy "
+ GRTR? ROBOT-EVILNESS,9 \?CCL83
+ PRINTI "slob!"" says Floyd. ""It's getting pretty trotting dull around he"
+ JUMP ?CND81
+?CCL83: PRINTI "bones!"" says Floyd. ""Let's explore around some mo"
+?CND81: PRINTI "re!"""
+ CRLF
+?CND66: MOVE FLOYD,HERE
+?CND61: ZERO? LIT /FALSE
CRLF
-?CND79: MOVE FLOYD,HERE
-?CND74: CRLF
CALL V-LOOK
RSTACK
@@ -754,99 +844,116 @@ FREZONE (tm) explosive available."""
RFALSE
?CND1: INC 'HUNGER-LEVEL
PRINTI " "
- EQUAL? HUNGER-LEVEL,1 \?ELS10
+ EQUAL? HUNGER-LEVEL,1 \?CCL7
CALL QUEUE,I-HUNGER-WARNINGS,450
PRINTR "A growl from your stomach warns that you're getting pretty hungry and thirsty."
-?ELS10: EQUAL? HUNGER-LEVEL,2 \?ELS12
+?CCL7: EQUAL? HUNGER-LEVEL,2 \?CCL9
CALL QUEUE,I-HUNGER-WARNINGS,300
PRINTR "You're now really ravenous and your lips are quite parched."
-?ELS12: EQUAL? HUNGER-LEVEL,3 \?ELS14
+?CCL9: EQUAL? HUNGER-LEVEL,3 \?CCL11
CALL QUEUE,I-HUNGER-WARNINGS,150
PRINTR "You're starting to feel faint from lack of food and liquid."
-?ELS14: EQUAL? HUNGER-LEVEL,4 \?ELS16
+?CCL11: EQUAL? HUNGER-LEVEL,4 \?CCL13
CALL QUEUE,I-HUNGER-WARNINGS,150
PRINTR "If you don't eat or drink something in a few millichrons, you'll probably pass out."
-?ELS16: EQUAL? HUNGER-LEVEL,5 \FALSE
- CALL JIGS-UP,STR?104
+?CCL13: EQUAL? HUNGER-LEVEL,5 \FALSE
+ CALL JIGS-UP,STR?107
RSTACK
.FUNCT WELDER-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- EQUAL? WELDER-COUNTER,1 \?ELS10
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ EQUAL? WELDER-COUNTER,1 \?CCL6
PRINTI "This welder, which is marked ""Welder Number "
GET WELDER-TABLE,WELDER-TABLE-POINTER
PRINTN STACK
PRINTR ","" seems to be moving purposefully toward you, its welding extensions quivering with...excitement?"
-?ELS10: EQUAL? WELDER-COUNTER,2 \?ELS12
+?CCL6: EQUAL? WELDER-COUNTER,2 \?CCL8
PRINTR "There definitely seems to be something menacing about its behavior."
-?ELS12: PRINTR "The welder is now almost upon you!"
-?ELS5: EQUAL? PRSA,V?SHOOT \?ELS16
+?CCL8: PRINTR "The welder is now almost upon you!"
+?CCL3: EQUAL? PRSA,V?WHAT \?CCL10
+ PRINTI "A "
+ PRINTD WELDER
+ PRINTI " is a very simple machine which repairs any leaks or holes in the hull of any sort of space habitat. Because of the potentially catastrophic effects of a break in the integrity of a hull on the habitat's air supply, "
+ PRINTD WELDER
+ PRINTR "s are kept active at all times, roaming around with their sensing devices alert for the tiniest leak."
+?CCL10: EQUAL? PRSA,V?SHOOT \?CCL12
REMOVE WELDER
+ GET WELDER-TABLE,NUMBER-OF-WELDERS
+ PUT WELDER-TABLE,WELDER-TABLE-POINTER,STACK
DEC 'NUMBER-OF-WELDERS
SET 'WELDER-COUNTER,0
- ZERO? NUMBER-OF-WELDERS \?CND17
+ ZERO? NUMBER-OF-WELDERS \?CND13
CALL DEQUEUE,I-WELDER
-?CND17: GET WELDER-TABLE,NUMBER-OF-WELDERS
- PUT WELDER-TABLE,WELDER-TABLE-POINTER,STACK
- PRINTI "The welder is enveloped by red-hot plasma rays. It glows ever brighter in the heat of the rays, seems to shimmer like a mirage, and then suddenly vanishes! A wave of hot vapor pushes you backwards."
- IN? OSTRICH,HERE \?ELS24
- FSET? OSTRICH,TOUCHBIT \?ELS24
+?CND13: PRINTI "The welder is enveloped by red-hot plasma rays. It glows ever brighter in the heat of the rays, seems to shimmer like a mirage, and then suddenly vanishes! A wave of hot vapor pushes you backwards."
+ CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK /?CND15
+ PRINTI " As the heat wave hits the explosive, it "
+ PRINT SUBLIMES-INTO-FREZONE
+ CALL REMOVE-CAREFULLY,EXPLOSIVE
+?CND15: IN? OSTRICH,HERE \?CCL19
+ FSET? OSTRICH,TOUCHBIT \?CCL19
PRINTC 32
CALL PERFORM,V?SCARE,OSTRICH
RSTACK
-?ELS24: CRLF
+?CCL19: CRLF
RTRUE
-?ELS16: EQUAL? PRSA,V?OFF \?ELS30
+?CCL12: EQUAL? PRSA,V?OFF \?CCL23
PRINTR "There's no apparent on-off switch."
-?ELS30: EQUAL? PRSA,V?ON \?ELS32
+?CCL23: EQUAL? PRSA,V?ON \?CCL25
PRINTR "It is!"
-?ELS32: EQUAL? PRSA,V?MUNG,V?KILL \FALSE
+?CCL25: EQUAL? PRSA,V?MUNG,V?KILL \FALSE
PRINTR "It's doubtful that you could even make a dent in the welder."
.FUNCT I-WELDER
- IN? WELDER,HERE \?ELS5
+ IN? WELDER,HERE \?CCL3
PRINTI " "
INC 'WELDER-COUNTER
- EQUAL? WELDER-COUNTER,2 \?ELS8
+ ZERO? LIT \?CCL6
+ REMOVE WELDER
+ SET 'WELDER-COUNTER,0
+ PRINTC 89
+ PRINT HEAR-WELDER-LEAVE
+ RTRUE
+?CCL6: EQUAL? WELDER-COUNTER,2 \?CCL8
PRINTI "The welder moves closer. "
- JUMP ?CND6
-?ELS8: EQUAL? WELDER-COUNTER,3 /?CND6
- CALL JIGS-UP,STR?105
-?CND6: CALL PERFORM,V?EXAMINE,WELDER
+ JUMP ?CND4
+?CCL8: EQUAL? WELDER-COUNTER,3 /?CND4
+ CALL JIGS-UP,STR?108
+?CND4: CALL PERFORM,V?EXAMINE,WELDER
RSTACK
-?ELS5: GRTR? WELDER-COUNTER,0 \?ELS12
+?CCL3: GRTR? WELDER-COUNTER,0 \?CCL11
REMOVE WELDER
SET 'WELDER-COUNTER,0
- PRINTR " Nearby, you hear the welder move off in another direction."
-?ELS12: FSET? HERE,NWELDERBIT /FALSE
+ PRINTI " Nearby, y"
+ PRINT HEAR-WELDER-LEAVE
+ RTRUE
+?CCL11: FSET? HERE,NWELDERBIT /FALSE
IN? PROTAGONIST,BED /FALSE
ZERO? LIT /FALSE
RANDOM 100
LESS? NUMBER-OF-WELDERS,STACK /FALSE
- GRTR? PLATO-ATTACK-COUNTER,0 \?CND17
+ GRTR? PLATO-ATTACK-COUNTER,0 \?CCL20
IN? PLATO,HERE /FALSE
-?CND17: MOVE WELDER,HERE
+?CCL20: EQUAL? HERE,SPACETRUCK \?CND18
+ FSET? SPACETRUCK-HATCH,OPENBIT \FALSE
+?CND18: MOVE WELDER,HERE
INC 'WELDER-COUNTER
RANDOM NUMBER-OF-WELDERS >WELDER-TABLE-POINTER
PRINTI " You spot a "
PRINTD WELDER
PRINTI " approaching. "
- FSET? WELDER,TOUCHBIT /?CND22
+ FSET? WELDER,TOUCHBIT /?CND26
FSET WELDER,TOUCHBIT
- PRINTI "A "
- PRINTD WELDER
- PRINTI " is a very simple machine which repairs any leaks or holes in the hull of any sort of space habitat. Because of the potentially catastrophic effects of a break in the integrity of a hull on the habitat's air supply, "
- PRINTD WELDER
- PRINTI "s are kept active at all times, roaming around with their sensing devices alert for the tiniest leak. "
-?CND22: CALL PERFORM,V?EXAMINE,WELDER
+ CALL PERFORM,V?WHAT,WELDER
+?CND26: CALL PERFORM,V?EXAMINE,WELDER
CALL STOP
RSTACK
.FUNCT TOUCHING?,THING
- EQUAL? PRSO,THING \?ELS5
+ EQUAL? PRSO,THING \?CCL3
EQUAL? PRSA,V?TAKE,V?TOUCH,V?SHAKE /TRUE
EQUAL? PRSA,V?CLEAN,V?KISS,V?ENTER /TRUE
EQUAL? PRSA,V?PUSH,V?CLOSE,V?LOOK-UNDER /TRUE
@@ -860,29 +967,23 @@ FREZONE (tm) explosive available."""
EQUAL? PRSA,V?MUNG,V?KICK,V?KILL /TRUE
EQUAL? PRSA,V?KNOCK,V?CUT,V?PUSH /TRUE
EQUAL? PRSA,V?SEARCH /TRUE
-?ELS5: EQUAL? PRSI,THING \FALSE
- EQUAL? PRSA,V?PUT-ON,V?PUT,V?GIVE \FALSE
- RTRUE
+?CCL3: EQUAL? PRSI,THING \FALSE
+ EQUAL? PRSA,V?PUT-ON,V?PUT,V?GIVE /TRUE
+ RFALSE
- .FUNCT CANT-SEE,OBJ=0,STRING=0
+ .FUNCT CANT-SEE,OBJ
SET 'P-WON,FALSE-VALUE
PRINT YOU-CANT
PRINTI "see"
- ZERO? OBJ /?THN4
- ZERO? OBJ /?CND1
CALL NAME?,OBJ
ZERO? STACK \?CND1
-?THN4: PRINTI " any"
-?CND1: ZERO? OBJ \?ELS10
- PRINTC 32
- PRINT STRING
- JUMP ?CND8
-?ELS10: EQUAL? OBJ,PRSI \?ELS12
+ PRINTI " any"
+?CND1: EQUAL? OBJ,PRSI \?CCL5
CALL PRSI-PRINT
- JUMP ?CND8
-?ELS12: CALL PRSO-PRINT
-?CND8: PRINTI " here."
+ JUMP ?CND3
+?CCL5: CALL PRSO-PRINT
+?CND3: PRINTI " here."
CRLF
CALL STOP
RSTACK
@@ -902,19 +1003,24 @@ FREZONE (tm) explosive available."""
.FUNCT REMOVE-CAREFULLY,OBJ,ALSO=0
- ZERO? TIMER-CONNECTED /?ELS3
- EQUAL? OBJ,TIMER,DETONATOR \?ELS3
+ ZERO? TIMER-CONNECTED /?CCL3
+ EQUAL? OBJ,TIMER,DETONATOR \?CCL3
SET 'TIMER-CONNECTED,FALSE-VALUE
SET 'ALSO,TRUE-VALUE
- PRINTI " (The timer is, of course, no longer attached to the detonator.)"
+ CALL VISIBLE?,DETONATOR
+ ZERO? STACK /?CND1
+ PRINTI " (The timer is"
+ PRINT NO-LONGER-ATTACHED
JUMP ?CND1
-?ELS3: ZERO? EXPLOSIVE-CONNECTED /?CND1
+?CCL3: ZERO? EXPLOSIVE-CONNECTED /?CND1
EQUAL? OBJ,EXPLOSIVE,DETONATOR \?CND1
SET 'EXPLOSIVE-CONNECTED,FALSE-VALUE
- PRINTI " (The explosive is, of course, "
- ZERO? ALSO /?CND10
- PRINTI "also "
-?CND10: PRINTI "no longer attached to the detonator.)"
+ CALL VISIBLE?,DETONATOR
+ ZERO? STACK /?CND1
+ PRINTI " (The explosive is"
+ ZERO? ALSO /?CND13
+ PRINTI " also"
+?CND13: PRINT NO-LONGER-ATTACHED
?CND1: FSET OBJ,TOUCHBIT
FCLEAR OBJ,TRYTAKEBIT
REMOVE OBJ
@@ -922,35 +1028,30 @@ FREZONE (tm) explosive available."""
.FUNCT NOUN-USED,TEST-NOUN,OBJ
- EQUAL? PRSO,OBJ \?ELS5
+ EQUAL? PRSO,OBJ \?CCL3
GET P-NAMW,0
EQUAL? STACK,TEST-NOUN /TRUE
-?ELS5: EQUAL? PRSI,OBJ \FALSE
+?CCL3: EQUAL? PRSI,OBJ \FALSE
GET P-NAMW,1
- EQUAL? STACK,TEST-NOUN \FALSE
- RTRUE
+ EQUAL? STACK,TEST-NOUN /TRUE
+ RFALSE
.FUNCT ADJ-USED,TEST-ADJ,OBJ
- EQUAL? PRSO,OBJ \?ELS5
+ EQUAL? PRSO,OBJ \?CCL3
GET P-ADJW,0
EQUAL? TEST-ADJ,STACK /TRUE
-?ELS5: EQUAL? PRSI,OBJ \FALSE
+?CCL3: EQUAL? PRSI,OBJ \FALSE
GET P-ADJW,1
- EQUAL? TEST-ADJ,STACK \FALSE
- RTRUE
-
-
- .FUNCT OFF-VEHICLE?,OBJ
- EQUAL? OBJ,BED \FALSE
- RTRUE
+ EQUAL? TEST-ADJ,STACK /TRUE
+ RFALSE
.FUNCT OPEN-CLOSED,OBJ
- FSET? OBJ,OPENBIT \?ELS5
+ FSET? OBJ,OPENBIT \?CCL3
PRINTI "open"
RTRUE
-?ELS5: PRINTI "closed"
+?CCL3: PRINTI "closed"
RTRUE
@@ -965,13 +1066,17 @@ FREZONE (tm) explosive available."""
PRINT YOU-CANT
PRINTI "reach"
CALL TPRINT,OBJ
- ZERO? HANGING-IN-AIR /?ELS3
+ ZERO? HANGING-IN-AIR /?CCL3
PRINTI " while you're hanging way up here"
JUMP ?CND1
-?ELS3: IN? PROTAGONIST,HERE /?CND1
+?CCL3: IN? PROTAGONIST,HERE /?CCL5
PRINTI " from"
LOC PROTAGONIST
CALL TPRINT,STACK
+ JUMP ?CND1
+?CCL5: EQUAL? PRSO,HELEN,REX,FLOYD \?CND1
+ EQUAL? PRSO,ROBOT-PICKED /?CND1
+ PRINTI " from outside the bin"
?CND1: PRINT PERIOD-CR
CALL STOP
RSTACK
@@ -1001,13 +1106,13 @@ FREZONE (tm) explosive available."""
PRINTI "But"
CALL TPRINT-PRSO
PRINTI " isn't "
- FSET? PRSI,ACTORBIT \?ELS3
+ FSET? PRSI,ACTORBIT \?CCL3
PRINTI "being held by"
JUMP ?CND1
-?ELS3: FSET? PRSI,SURFACEBIT \?ELS5
+?CCL3: FSET? PRSI,SURFACEBIT \?CCL5
PRINTI "on"
JUMP ?CND1
-?ELS5: PRINTI "in"
+?CCL5: PRINTI "in"
?CND1: CALL TRPRINT,PRSI
RSTACK
@@ -1026,35 +1131,38 @@ FREZONE (tm) explosive available."""
.FUNCT PRONOUN
- EQUAL? PRSO,ME \?ELS5
+ EQUAL? PRSO,ME \?CCL3
PRINTI "You"
RTRUE
-?ELS5: FSET? PRSO,PLURALBIT \?ELS7
+?CCL3: FSET? PRSO,PLURALBIT \?CCL5
PRINTI "They"
RTRUE
-?ELS7: FSET? PRSO,ACTORBIT \?ELS9
+?CCL5: FSET? PRSO,ACTORBIT \?CCL7
PRINTI "He"
RTRUE
-?ELS9: PRINTI "It"
+?CCL7: PRINTI "It"
RTRUE
.FUNCT REFERRING,HIM-HER=0
PRINTI "I don't see wh"
- ZERO? HIM-HER /?ELS3
+ ZERO? HIM-HER /?CCL3
PRINTC 111
JUMP ?CND1
-?ELS3: PRINTI "at"
+?CCL3: PRINTI "at"
?CND1: PRINTR " you're referring to."
.FUNCT ANTI-LITTER,OBJ
REMOVE OBJ
PRINTI ". The "
- EQUAL? OBJ,SOUP \?ELS3
- PRINTI "bowl"
+ EQUAL? OBJ,LEASH \?CCL3
+ PRINTI "leash"
JUMP ?CND1
-?ELS3: PRINTI "cup"
-?CND1: PRINTR " instantly vaporizes, part of the galactic anti-litter program."
+?CCL3: PRINTI "cup"
+?CND1: PRINTI " instantly vaporizes, part of the galactic anti-litter program."
+ EQUAL? OBJ,LEASH /TRUE
+ CRLF
+ RTRUE
.ENDI
diff --git a/globals.zil b/globals.zil
index a43c4fc..683857c 100644
--- a/globals.zil
+++ b/globals.zil
@@ -12,8 +12,6 @@
<ADJ-SYNONYM MY MINE>
-<SYNONYM SHOP STORE>
-
<GLOBAL LIT T>
<GLOBAL MOVES 0>
@@ -59,32 +57,49 @@
(DESC "direction")
(SYNONYM DIRECT)
(ADJECTIVE NORTH SOUTH EAST WEST NW NE SW SE)
- ;(ACTION INTDIR-F)>
+ (ACTION INTDIR-F)>
-;<ROUTINE INTDIR-F ()
- <COND (<VERB? DRIVE>
+<ROUTINE INTDIR-F ()
+ <COND (<VERB? SET>
+ <TELL
+"Okay, you're now facing in that direction, but you don't see
+anything you didn't see before." CR>)
+ ;(<VERB? DRIVE>
<COND (<IN? ,PROTAGONIST ,FORKLIFT>
<PERFORM ,V?DRIVE-DIR ,FORKLIFT ,INTDIR>
<RTRUE>)
(T
<SETG AWAITING-REPLY 1>
<QUEUE I-REPLY <+ ,C-ELAPSED 2>>
- <TELL "Are there wheels are your shoes?" CR>)>)>>
+ <TELL "Are there wheels in your shoes?" CR>)>)>>
<OBJECT INTNUM
(IN GLOBAL-OBJECTS)
(DESC "number")
- (SYNONYM NUMBER)
+ (SYNONYM NUMBER ONE TWO THREE)
(ACTION INTNUM-F)>
<ROUTINE INTNUM-F ()
- <COND (<AND <VERB? ENTER>
- <EQUAL? ,P-PRSA-WORD ,W?ENTER>
- <GLOBAL-IN? ,KEYPAD ,HERE>>
- <PERFORM ,V?TYPE ,INTNUM>
- <RTRUE>)
- (<AND <VERB? PUSH>
- <GLOBAL-IN? ,KEYPAD ,HERE>>
+ <COND (<AND <OR <NOUN-USED ,W?ONE ,INTNUM>
+ <NOUN-USED ,W?TWO ,INTNUM>
+ <NOUN-USED ,W?THREE ,INTNUM>>
+ <GLOBAL-IN? ,KEYPAD ,HERE>
+ <VERB? PUSH TYPE>>
+ <TELL
+"[Use numerals: for example, TYPE 5 rather than TYPE FIVE.]" CR>)
+ (<AND <VERB? EXAMINE SHOOT ON OFF KILL MUNG>
+ <EQUAL? <GET ,WELDER-TABLE ,WELDER-TABLE-POINTER>
+ ,P-NUMBER>
+ <IN? ,WELDER ,HERE>>
+ <COND (<PRSO? ,INTNUM>
+ <PERFORM-PRSA ,WELDER ,PRSI>)
+ (T
+ <PERFORM-PRSA ,PRSO ,WELDER>)>)
+ (<OR <AND <VERB? ENTER>
+ <EQUAL? ,P-PRSA-WORD ,W?ENTER>
+ <GLOBAL-IN? ,KEYPAD ,HERE>>
+ <AND <VERB? PUSH>
+ <GLOBAL-IN? ,KEYPAD ,HERE>>>
<PERFORM ,V?TYPE ,INTNUM>
<RTRUE>)
(<AND <VERB? SET>
@@ -97,7 +112,19 @@
(T
<SETG DIAL-SETTING ,P-NUMBER>
<TELL "\"Click.\"" CR>)>)
- (<TOUCHING? ,INTNUM>
+ (<VERB? WAIT-FOR>
+ <COND (<G? ,P-NUMBER 40>
+ <TELL ,TOO-LONG-TO-WAIT>)
+ (T
+ <V-WAIT>)>)
+ (<VERB? WAIT-UNTIL>
+ <COND (<AND <G? ,P-NUMBER ,INTERNAL-MOVES>
+ <L? <- ,P-NUMBER ,INTERNAL-MOVES> 41>>
+ <V-WAIT>)
+ (T
+ <TELL ,TOO-LONG-TO-WAIT>)>)
+ (<OR <TOUCHING? ,INTNUM>
+ <VERB? SHOOT>>
<TELL ,HUH>)>>
<OBJECT PSEUDO-OBJECT
@@ -113,7 +140,7 @@
<OBJECT HIM
(IN GLOBAL-OBJECTS)
- (SYNONYM HIM HIMSELF)
+ (SYNONYM HIM HER HIMSELF HERSELF)
(DESC "him")
(FLAGS NARTICLEBIT TOUCHBIT)>
@@ -241,8 +268,7 @@ Always return RFALSE (not handled) if you have resolved the problem."
<ROUTINE GROUND-F ()
<COND (<VERB? CLIMB-ON ENTER>
<SETG C-ELAPSED 31>
- <TELL
-"You sit down on the floor. After a brief rest, you stand again." CR>)
+ <TELL "After a brief squat on the floor, you stand again." CR>)
(<VERB? LOOK-UNDER>
<IMPOSSIBLES>)
(<VERB? LEAVE>
@@ -281,11 +307,17 @@ the Pet Store would never have uncovered: a panel mounted in the ceiling." CR>)
<PERFORM ,V?LOOK>
<RTRUE>)>>
+<OBJECT AIR
+ (IN GLOBAL-OBJECTS)
+ (DESC "air")
+ (SYNONYM AIR)
+ (FLAGS NARTICLEBIT VOWELBIT)>
+
<OBJECT GLOBAL-ROOM
(IN GLOBAL-OBJECTS)
(DESC "room")
- (SYNONYM ROOM PLACE LOCATI AREA)
- (ADJECTIVE LARGE SMALL)
+ (SYNONYM ROOM SHOP STORE OFFICE)
+ (ADJECTIVE LARGE SMALL REC PET)
(ACTION GLOBAL-ROOM-F)>
<ROUTINE GLOBAL-ROOM-F ()
@@ -295,15 +327,16 @@ the Pet Store would never have uncovered: a panel mounted in the ceiling." CR>)
<V-WALK-AROUND>)
(<VERB? LEAVE EXIT DISEMBARK>
<DO-WALK ,P?OUT>)
+ (<AND <VERB? WALK-AROUND>
+ <EQUAL? ,HERE ,BARBERSHOP>
+ <NOT ,MIRROR-BROKEN>
+ <ULTIMATELY-IN? ,PLATINUM-DETECTOR>
+ <FSET? ,PLATINUM-DETECTOR ,ACTIVEBIT>>
+ <PERFORM ,V?FOLLOW ,PLATINUM-DETECTOR>
+ <RTRUE>)
(<VERB? SEARCH>
- <COND (<AND <EQUAL? ,HERE ,REC-SHOP>
- <IN? ,FOIL ,LOCAL-GLOBALS>>
- <MOVE ,FOIL ,HERE>
- <THIS-IS-IT ,FOIL>
- <TELL
-"Behind one of the simulation booths, you spot a large piece of trans-molecular
-reflective foil! It's probably a promotional item, left over from last year's
-mega-hit simulation booth simulation, \"Platinum Pagans of Paradise.\"" CR>)
+ <COND (<NOT ,LIT>
+ <TELL ,TOO-DARK CR>)
(<AND <EQUAL? ,HERE ,GREASY-STRAW>
<IN? ,NECTAR ,LOCAL-GLOBALS>>
<MOVE ,NECTAR ,HERE>
@@ -348,10 +381,12 @@ mega-hit simulation booth simulation, \"Platinum Pagans of Paradise.\"" CR>)
<COND (<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,HERE ,SHADY-DANS>
<TELL ,DANS-LOT-DESC CR>)
+ (<EQUAL? ,HERE ,DOCKING-BAY-2 ,CARGO-BAY>
+ <TELL "You see the interior of" TR ,SPACETRUCK-OBJECT>)
(<AND <EQUAL? ,SPACETRUCK-COUNTER 5>
<EQUAL? ,COURSE-PICKED ,RIGHT-COURSE>>
<TELL "You see an empty docking bay." CR>)
- (<EQUAL? ,SPACETRUCK-COUNTER 0>
+ (<EQUAL? ,SPACETRUCK-COUNTER -1>
<TELL "You see a large cargo bay." CR>)
(<AND <EQUAL? ,SPACETRUCK-COUNTER 4>
<EQUAL? ,COURSE-PICKED ,RIGHT-COURSE>>
@@ -380,8 +415,27 @@ around a space station." CR>)
(ACTION SIGN-F)>
<ROUTINE SIGN-F ()
- <COND (<VERB? READ>
- <COND (<EQUAL? ,HERE ,GREASY-STRAW>
+ <COND (<AND <EQUAL? ,HERE ,DOME>
+ <NOT <IN? ,HOUSING ,DOME>>>
+ <CANT-SEE ,SIGN>)
+ (<VERB? READ>
+ <COND (<EQUAL? ,HERE ,DOME>
+ <PERFORM ,V?READ ,HOUSING>
+ <RTRUE>)
+ (<EQUAL? ,HERE ,GYM>
+ <TELL
+"\"IMPORTANT! The " D ,EXERCISE-MACHINE " has diagnostic frequencies which
+communicate with each other on frequency 710. Do not bring anything which
+broadcasts on that frequency within range of the machine!\"">
+ <COND (<NOT <IN? ,EXERCISE-MACHINE ,GYM>>
+ <TELL
+" Strangely, you don't see any " 'EXERCISE-MACHINE " anywhere in the gym.">)>
+ <CRLF>)
+ (<EQUAL? ,HERE ,SHIPPING-ROOM>
+ <TELL
+"\"Always return the forklift to the shipping room when it's not in
+use! THIS MEANS YOU!\"" CR>)
+ (<EQUAL? ,HERE ,GREASY-STRAW>
<TELL ,RESTAURANT-SIGN-TEXT CR>)
(<EQUAL? ,HERE ,TRADING-POST>
<TELL
@@ -394,22 +448,13 @@ FREZONE (tm) explosive available.\"" CR>)
"\"SPECIAL!!! The best pet a lonely spacer could ever hope for!|
" D ,BALLOON "s are fascinating critters. Filled with hydrogen, they float
freely through the air like small dirigibles.|
- With their translucent bodies and irridescent skin, they're a beautiful
-addition to the decor of any living bubble. They are docile and friendly. And,
-they are easy to care for, feeding on airborne spores!|
+ With their translucent bodies and iridescent skin, they're a beautiful
+addition to the decor of any living bubble. Docile and friendly, " D ,BALLOON
+"s are easy to care for, feeding on airborne spores!|
Limited supply!! Order yours today!!\"|
You recall one fact about " D ,BALLOON "s which the sign fails to mention:
they propel themselves around by ejecting digestive gasses. This makes them
one of the smelliest pets imaginable." CR>)
- (<EQUAL? ,HERE ,GYM>
- <TELL
-"\"IMPORTANT! The " D ,EXERCISE-MACHINE " has diagnostic frequencies which
-communicate with each other on frequency 710. Do not bring anything which
-broadcasts on that frequency within range of the machine!\"">
- <COND (<NOT <IN? ,EXERCISE-MACHINE ,GYM>>
- <TELL
-" Strangely, you don't see any exercise machine anywhere in the gym.">)>
- <CRLF>)
(<EQUAL? ,HERE ,OPIUM-DEN>
<TELL
"The sign is from the government's latest anti-drug crusade. It depicts
@@ -495,7 +540,7 @@ of multi-part forms, it's far outside your area of expertise." CR>)>)
(SYNONYM HANDS HAND FINGER)
(ADJECTIVE BARE MY YOUR)
(DESC "your hand")
- (FLAGS TOUCHBIT NARTICLEBIT PARTBIT)
+ (FLAGS TOUCHBIT NARTICLEBIT)
(ACTION HANDS-F)>
<ROUTINE HANDS-F ("AUX" ACTOR)
@@ -544,7 +589,7 @@ Oops, I guess not.">)
<RTRUE>)>>
<OBJECT PROTAGONIST
- (IN DECK-FIVE)
+ (IN DECK-TWELVE)
(SYNONYM PROTAG)
(DESC "it")
(FLAGS NARTICLEBIT NDESCBIT INVISIBLE ACTORBIT)>
@@ -578,7 +623,7 @@ Oops, I guess not.">)
<V-INVENTORY>)
(<AND <VERB? KILL MUNG>
<PRSO? ,ME>>
- <JIGS-UP "Okay.">)
+ <JIGS-UP "If you insist.">)
(<VERB? SHOOT>
<JIGS-UP "Wow! A hole where your torso used to be!">)
(<VERB? FIND WHERE>
@@ -586,7 +631,7 @@ Oops, I guess not.">)
(<VERB? FOLLOW>
<TELL "It would be hard not to." CR>)
(<VERB? EXAMINE>
- <TELL "That's difficult unless your eyes are prehensile." CR>)
+ <V-DIAGNOSE>)
(<VERB? ALARM>
<TELL "You are!" CR>)
(<VERB? TAKE>
@@ -603,7 +648,7 @@ Oops, I guess not.">)
(IN GLOBAL-OBJECTS)
(DESC "game")
(SYNONYM GAME GAMES HUCKA HIDER)
- (ASK-FLOYD-ABOUT "Floyd loves games! Let's play!")>
+ (FLOYD-ASK-ABOUT "Floyd loves games! Let's play!")>
<OBJECT GRUE
(IN GLOBAL-OBJECTS)
@@ -619,58 +664,66 @@ Oops, I guess not.">)
spaceship during the 22nd century. Grues spread throughout the galaxy alongside
man. Now extinct on all civilized planets, they still exist in some backwater
corners of the galaxy. Their favorite diet is Lieutenants First Class, but
-their insatiable appetite is tempered by their fear of light." CR>)>>
+their insatiable appetite is tempered by their fear of light." CR>)
+ (<OR <TOUCHING? ,GRUE>
+ <VERB? EXAMINE WALK-TO>>
+ <TELL "There's no grue in sight, fortunately." CR>)>>
-<ROUTINE SLOT-F ()
+<ROUTINE FORM-SLOT-F ()
<COND (<AND <VERB? PUT>
<PRSI? ,PSEUDO-OBJECT>>
<COND (<PRSO? ,CRUMPLED-FORM>
<TELL
-"The form almost slides into the slot, but its degree of crumpledness is
-just a bit too high." CR>)
- (<OR <AND <PRSO? ,ROBOT-USE-AUTHORIZATION-FORM>
- <EQUAL? ,HERE ,ROBOT-POOL>>
- <AND <PRSO? ,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM>
- <EQUAL? ,HERE ,SPACETRUCK>>
- <AND <PRSO? ,VILLAGE-FORM>
- <EQUAL? ,HERE ,SOUTH-CONNECTION
- ,EAST-CONNECTION>>>
+"The form's crumpledness prevents it from sliding into the slot." CR>)
+ (<AND <PRSO? ,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM>
+ <EQUAL? ,HERE ,SPACETRUCK>>
<COND (<AND <EQUAL? ,HERE ,SPACETRUCK>
<BOTH-SEATS-NOT-OCCUPIED>>
<TELL "The form is spit back out. ">
<RECORDING
"Safety precautions forbid the activation of the vehicle unless both
-the pilot and copilot seats are occupied">
- <RTRUE>)
- (<AND <PRSO? ,VILLAGE-FORM>
- <NOT ,VILLAGE-FORM-VALIDATED>>
- <TELL "The form is spit back out. ">
- <RECORDING
-"This form has not been validated by the station commander">
- <RTRUE>)>
+the pilot and copilot seats are occupied">)
+ (T
+ <REMOVE ,PRSO>
+ <FSET ,PRSO ,NDESCBIT>
+ <TELL ,FORM-ACCEPTED>
+ <RECORDING
+"Spacecraft activated. Type in the course heading">)>)
+ (<AND <PRSO? ,ROBOT-USE-AUTHORIZATION-FORM>
+ <EQUAL? ,HERE ,ROBOT-POOL>>
<REMOVE ,PRSO>
<FSET ,PRSO ,NDESCBIT>
- <TELL
-"The form is swallowed up, followed by a long pause for
-triple-redundancy processing. ">
- <COND (<PRSO? ,ROBOT-USE-AUTHORIZATION-FORM>
+ <TELL ,FORM-ACCEPTED>
+ <RECORDING
+"Authorization approved. Type the bin number of the desired robot">)
+ (<AND <PRSO? ,ASSIGNMENT-COMPLETION-FORM>
+ <EQUAL? ,HERE ,DECK-TWELVE>>
+ <TELL ,FORM-REJECTED>
+ <RECORDING
+"This form has not been validated by a commanding officer">)
+ (<AND <PRSO? ,VILLAGE-FORM>
+ <EQUAL? ,HERE ,SOUTH-CONNECTION ,EAST-CONNECTION>>
+ <COND (<NOT ,VILLAGE-FORM-VALIDATED>
+ <TELL ,FORM-REJECTED>
<RECORDING
-"Authorization approved. Use keypad to enter the
-bin number of the desired robot">)
- (<PRSO? ,VILLAGE-FORM>
- <SETG SCORE <+ ,SCORE 4>>
+"This form has not been validated by a commanding officer">)
+ (T
+ <SETG SCORE <+ ,SCORE 6>>
<SETG ROBOT-EVILNESS <+ ,ROBOT-EVILNESS 1>>
<FSET ,IRIS-HATCH ,OPENBIT>
+ <REMOVE ,PRSO>
+ <FSET ,PRSO ,NDESCBIT>
<TELL
"The hatch begins irising open, then sparks and smokes and grinds to a halt.
-However, it's about half dilated, wide enough to pass through." CR>)
- (T
- <RECORDING
-"Spacecraft activated. Type in the course heading">)>)
+However, it's about half dilated, wide enough to pass through. Beyond, you
+can see a small, dingy connecting tube, rather than the clean and brightly-lit
+Sub-Module connector you might have expected." CR>)>)
(<PRSO? ,ROBOT-USE-AUTHORIZATION-FORM
,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM
- ,ASSIGNMENT-COMPLETION-FORM>
- <TELL "The form is rejected." CR>)
+ ,ASSIGNMENT-COMPLETION-FORM
+ ,VILLAGE-FORM>
+ <TELL ,FORM-REJECTED>
+ <RECORDING "Improper form for this location">)
(<L? <GETP ,P?SIZE ,PRSO> 3>
<TELL
"The slot swallows" T ,PRSO " and then spits it back." CR>)
@@ -681,10 +734,10 @@ However, it's about half dilated, wide enough to pass through." CR>)
<ROUTINE BOTH-SEATS-NOT-OCCUPIED ()
<COND (<AND <IN? ,PROTAGONIST ,PILOT-SEAT>
- <EQUAL? ,COPILOT-SEAT <LOC ,FLOYD> <LOC ,HELEN> <LOC ,REX>>>
+ <IN? ,FLOYD ,COPILOT-SEAT>>
<RFALSE>)
(<AND <IN? ,PROTAGONIST ,COPILOT-SEAT>
- <EQUAL? ,PILOT-SEAT <LOC ,FLOYD> <LOC ,HELEN> <LOC ,REX>>>
+ <IN? ,FLOYD ,COPILOT-SEAT>>
<RFALSE>)
(T
<RTRUE>)>>
@@ -756,9 +809,7 @@ asleep in short order." CR>)
<TELL "You are now in bed." CR>)>)
(<AND <VERB? DISEMBARK STAND EXIT DROP>
<QUEUED? ,I-FALL-ASLEEP>>
- <TELL
-"How could you suggest such a thing when you're so tired and this
-bed is so comfy?" CR>)
+ <TELL "But you're so tired and this bed is so comfy!" CR>)
(<VERB? LEAVE EXIT DROP>
<PERFORM ,V?DISEMBARK ,BED>
<RTRUE>)
@@ -766,18 +817,20 @@ bed is so comfy?" CR>)
<PRSI? ,BED>>
<MOVE ,PRSO ,HERE>
<TELL
-"The " D ,PRSO " bounces off the bed and lands on the floor." CR>)
+"The " D ,PRSO " bounces off the bed" ,LANDS-ON-FLOOR CR>)
(<AND <VERB? LOOK-UNDER>
<IN? ,PROTAGONIST ,BED>>
<TELL
-"You're IN the bed, so unless you have x-ray vision..." CR>)
+"You're IN the bed, so unless you have X-ray vision..." CR>)
(<AND <VERB? LOOK-UNDER>
<EQUAL? ,HERE ,COMMANDERS-QUARTERS>
<NOT <FSET? ,VALIDATION-STAMP ,TOUCHBIT>>>
<FSET ,VALIDATION-STAMP ,TOUCHBIT>
<MOVE ,VALIDATION-STAMP ,HERE>
<THIS-IS-IT ,VALIDATION-STAMP>
- <TELL "You discover a validation stamp!" CR>)>>
+ <TELL "You discover a " 'VALIDATION-STAMP "!" CR>)
+ (<VERB? DRILL KILL SHOOT>
+ <TELL "That would be a clear case of mattresscide!" CR>)>>
<OBJECT SLEEP
(IN GLOBAL-OBJECTS)
@@ -793,8 +846,10 @@ bed is so comfy?" CR>)
<GLOBAL SLEEPY-LEVEL 0>
<ROUTINE I-SLEEP-WARNINGS ()
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
+ <COND (<OR <AND <IN? ,WELDER ,HERE>
+ <G? ,SLEEPY-LEVEL 3>>
+ <AND <G? ,PLATO-ATTACK-COUNTER 0>
+ <IN? ,PLATO ,HERE>>>
<QUEUE I-HUNGER-WARNINGS 2>
<RFALSE>)>
<SETG SLEEPY-LEVEL <+ ,SLEEPY-LEVEL 1>>
@@ -852,13 +907,12 @@ the deserted, plague-stricken world where you met Floyd. A hot flush creeps
over you, indicating that the virulent disease that conquered this planet is
beginnning its insidious work on you"
-"You find yourself on Deck Five of the Duffy, walking nonchalantly along, when
-suddenly you remember that you were supposed to have Handwriting Legibility
-Evaluation Forms -- all nine parts, for every member of the crew -- on Captain
-Fussbottom's desk by 7800. It's 7790, and those forms are stored on the other
-side of the ship. You begin running down the corridor, but the floor is turning
-into a thick syrup. You can hear the Captain calling your name, louder and
-louder, as you struggle to move your legs"
+"You are strolling across Deck Four of the Duffy, when suddenly you remember
+that you were supposed to have Handwriting Legibility Evaluation Forms -- all
+nine parts, for every member of the crew -- on Captain Fussbottom's desk by
+7800. It's 7790, and those forms are stored on the other side of the ship.
+You try to run, but the floor is covered with glue. You can hear the Captain
+calling your name, louder and louder, as you struggle to move your legs"
"You gulp down the last of your Ramosian Fire Nectar and ask the andro-waiter
for another pitcher. This pub makes the finest Nectar on all of Ramos Two, and
@@ -874,29 +928,31 @@ Suddenly the school bully leaps from behind a bush and pushes your head under
the water. You try to scream, but cannot. You feel your life draining away"
"You wake up in a huge stadium, watching an important ceremony. It's a Stellar
-Patrol promotion ceremony on Tremain! Suddenly you hear your name echoing over
-the PA system -- and down below you see YOURSELF walking up the steps to the
-stage! The presiding admiral describes your heroic deeds on Resida, mentioning
-that you were awarded the key to the planet, and then asks the ceremonial
-question, \"Do you accept promotion to Lieutenant First Class?\" You try to
-yell \"No!\" from your seat in the stands, but the words catch in your throat"
-
-"You find yourself floating in a spacepod outside the docking bays of a large
-space station. All the doors are closed. You snap on the radio, and discover
-that Floyd is in charge within the station. \"Open the pod bay doors, Floyd,\"
-you tell him, but he replies, \"I'm sorry, I can't do that,\" and begins
-laughing and your air is beginning to run out"
-
-"At last, the Duffy is approaching Space Station Delta Upsilon Upsilon Phi for
-the ship's first rec leave in almost six months. It's even worth the six solid
-days of paperwork necessary for a standard half-day leave. Stationfall is only
-millichrons away, but suddenly you realize that you're all alone on the Duffy!
-Frantic, you dash to the deserted bridge, but it's too late to keep the
-out-of-control Duffy from ramming the massive space station! The hull of the
-station falls toward you">>
+Patrol promotion ceremony on Tremain! Suddenly your own name echoes over the
+PA system -- and down below you see YOURSELF walking up the steps to the stage!
+The presiding admiral describes your heroism on Resida, mentioning that you
+were awarded the key to the planet, and then asks the ceremonial question,
+\"Do you accept promotion to Lieutenant First Class?\" You try to yell \"No!\"
+from the stands, but the words are lost in the vastness of the stadium"
+
+"You find yourself in a spacepod outside the docking bays of a large space
+station. All the doors are closed. You snap on the radio, and discover that
+Floyd is in charge within the station. \"Open the pod bay doors, Floyd,\" you
+tell him but he replies, \"I'm sorry, I can't do that,\" and begins laughing
+and your air is beginning to run out"
+
+"At last, the Duffy is approaching station Delta Upsilon Upsilon Phi -- your
+first rec leave in almost six months. It's even worth the six solid days of
+paperwork necessary for a standard half-day leave. Stationfall is millichrons
+away, but suddenly you realize that you're all alone on the Duffy! Frantic,
+you dash to the deserted bridge, but it's too late to stop the out-of-control
+Duffy from ramming the massive space station! The hull of the station rushes
+toward you">>
<ROUTINE WAKING-UP ("AUX" X N)
<CRLF> <CRLF>
+ <COND (<NOT <IN? ,PROTAGONIST ,BED>>
+ <MOVE ,PROTAGONIST ,HERE>)>
<COND (<FSET? ,SPACESUIT ,WORNBIT>
<JIGS-UP
"You dream of being buried alive in an ancient Egyptian pyramid, inside the
@@ -906,7 +962,7 @@ gag as the air in the coffin runs low.|
who go to sleep inside space suits with limited oxygen supplies.">)
(<AND <NOT <EQUAL? ,COURSE-PICKED ,RIGHT-COURSE>>
<EQUAL? ,HERE ,SPACETRUCK>>
- <TELL "You wake up gasping for air! The spacetruck">
+ <TELL "You wake up gasping for air! The " 'SPACETRUCK-OBJECT>
<COND (<RUNNING? ,I-SPACETRUCK>
<TELL " is dead in uncharted space and it">)
(T
@@ -919,21 +975,23 @@ who go to sleep inside space suits with limited oxygen supplies.">)
the Duffy's brig, and furthermore, you are wearing the uniform of an Ensign
Ninth Class! You trace the clanging noise to a pipe in your cell.|
Placing your ear against the pipe, you hear, \"Psst! Grapevine news! Some
-dumb kripping " ,LFC " fell asleep on Deck Five in the middle of some big
+dumb kripping " ,LFC " fell asleep on Deck Twelve in the middle of some big
assignment! The poor trot-head's been broken to Ensign Ninth, and there's
-talk of a court martial!\"|
+talk of a court-martial!\"|
Sure enough, the next morning you are led in front of a firing squad.
Moral: don't screw up vital assignments like picking up " ,FORM-NAME>
<JIGS-UP ".">)
- (<AND <NOT <IN? ,PROTAGONIST ,BED>>
- <FSET? ,DOCKING-BAY-2 ,TOUCHBIT>
- <PROB <* ,DAY 40>>>
+ (<OR <AND <IN? ,PROTAGONIST ,HERE>
+ <FSET? ,DOCKING-BAY-2 ,TOUCHBIT>
+ <PROB <* ,DAY 40>>>
+ <AND <ULTIMATELY-IN? ,OSTRICH-NIP>
+ <IN? ,OSTRICH ,HERE>>>
<JIGS-UP
"A movement awakens you in the middle of the night! Through unfocused
eyes you see a large machine rolling menacingly closer! A bright light
leaps from it, straight toward...">)
(<PROB 60>
- <TELL "..." <PICK-ONE ,DREAMS> "..." CR CR>)>
+ <TELL "..." <PICK-ONE ,DREAMS> ,ELLIPSIS>)>
<SETG DAY <+ ,DAY 1>>
<SETG ROBOT-EVILNESS <+ ,ROBOT-EVILNESS 1>>
<I-ROBOT-EVILNESS>
@@ -944,30 +1002,36 @@ leaps from it, straight toward...">)
<COND (<G? ,DAY 2>
<SETG MOVES 9947>)
(T
+ <QUEUE I-MESSAGE 943>
<SETG SCORE <+ ,SCORE 3>>
<SETG MOVES ,INTERNAL-MOVES>)>
<FCLEAR ,AUTO-DOOR ,TOUCHBIT>
<QUEUE I-SLEEP-WARNINGS 5900>
- <COND (<NOT <ULTIMATELY-IN? ,BOTTLE ,VACUUM-STORAGE>>
+ ;<COND (<NOT <ULTIMATELY-IN? ,BOTTLE ,VACUUM-STORAGE>>
<COND (<FSET? ,BOTTLE ,OPENBIT>
<SETG CARBON-DIOXIDE-GONE T>)>
<SETG FROZEN-LEVEL 0>
<DEQUEUE I-MELT-CARBON-DIOXIDE>)>
<COND (<NOT <ULTIMATELY-IN? ,EXPLOSIVE ,VACUUM-STORAGE>>
- <REMOVE ,EXPLOSIVE>
+ <MOVE ,EXPLOSIVE ,DECK-TWELVE> ;"REMOVE-CAREFULLY don't print"
+ <REMOVE-CAREFULLY ,EXPLOSIVE>
<DEQUEUE I-EXPLOSIVE-MELT>)>
<COND (<FSET? ,HEADLAMP ,ONBIT>
<FCLEAR ,HEADLAMP ,ACTIVEBIT>
<FCLEAR ,HEADLAMP ,ONBIT>
<SETG HEADLAMP-COUNTER 0>)>
+ <COND (<G? ,SOUP-WARMTH 0>
+ <COND (<FSET? ,THERMOS ,OPENBIT>
+ <SETG SOUP-WARMTH 0>)
+ (T
+ <SETG SOUP-WARMTH <- ,SOUP-WARMTH 30>>)>)>
<FSET ,OSTRICH ,TOUCHBIT>
- <COND (<AND <IN? ,OSTRICH ,HERE>
- <IN? ,OSTRICH-NIP ,HERE>>
- <REMOVE ,OSTRICH-NIP>)>
<ROB ,PROTAGONIST ,HERE>
<USL>
<TELL "***** NOVEM " N <+ ,DAY 3> ", 11349 *****" CR CR "You awake ">
- <COND (<QUEUED? ,I-LIGHTS-OUT>
+ <COND (<NOT ,LIT>
+ <TELL "in darkness.">)
+ (<QUEUED? ,I-LIGHTS-OUT>
<DEQUEUE I-LIGHTS-OUT>
<I-LIGHTS-OUT T>
<TELL
@@ -996,9 +1060,8 @@ to throw at you.">)
<COND (<AND <RUNNING? ,I-SPACETRUCK>
<EQUAL? ,COURSE-PICKED ,RIGHT-COURSE>>
<QUEUE I-WELDER -1>
- <QUEUE I-FLOYD -1> ;"to get ints. in the proper order"
- <QUEUE I-PLATO 750>
<DEQUEUE ,I-SPACETRUCK>
+ <FCLEAR ,SPACETRUCK ,WEIGHTLESSBIT>
<SETG SCORE <+ ,SCORE 5>>
<SETG SPACETRUCK-COUNTER 5>
<TELL
@@ -1008,17 +1071,21 @@ of the space station's docking bays." CR>)>
<FCLEAR ,ELEVATOR ,WEIGHTLESSBIT>
<FSET ,EXERCISE-MACHINE ,TOUCHBIT>
<MOVE ,EXERCISE-MACHINE ,COMPUTER-CONTROL>
+ <ROB ,EXERCISE-MACHINE ,GYM>
<COND (<FSET? ,CHRONOMETER ,WORNBIT>
<TELL " ">
<PERFORM ,V?EXAMINE ,CHRONOMETER>)>)>
<COND (<AND <FSET? ,FLOYD ,ACTIVEBIT>
- <NOT <IN? ,FLOYD ,FACTORY>>>
+ <NOT <IN? ,FLOYD ,FACTORY>>
+ <NOT <EQUAL? ,HERE ,AIRLOCK>>>
<SETG FLOYD-SPOKE T>
<TELL " Floyd ">
- <COND (<G? ,ROBOT-EVILNESS 12>
+ <COND (<G? ,ROBOT-EVILNESS 13>
+ <TELL "is rudely kicking you">
+ <COND (<IN? ,PROTAGONIST ,BED>
+ <TELL "r mattress">)>
<TELL
-"is rudely kicking your mattress. \"Trot it! Will you kripping wake up
-already? Floyd's getting bored!\"" CR>)
+". \"Trot it! Will you kripping wake up already? Floyd getting bored!\"" CR>)
(T
<TELL "bounces impatiently at ">
<COND (<IN? ,PROTAGONIST ,BED>
@@ -1037,16 +1104,17 @@ friend,\" says Floyd with unbounded exuberance and a wide grin." CR>
<I-PLATO T>)
(T
<TELL ". \"About time you woke up, you lazy ">
- <COND (<G? ,ROBOT-EVILNESS 8>
+ <COND (<G? ,ROBOT-EVILNESS 9>
<TELL
-"slob!\" says Floyd. \"It's getting pretty trotting dull around her">)
+"slob!\" says Floyd. \"It's getting pretty trotting dull around he">)
(T
<TELL
-"bones!\" says Floyd. \"Let's explore around some mor">)>
- <TELL "e!\"" CR>)>)>
+"bones!\" says Floyd. \"Let's explore around some mo">)>
+ <TELL "re!\"" CR>)>)>
<MOVE ,FLOYD ,HERE>)>
- <CRLF>
- <V-LOOK>>
+ <COND (,LIT
+ <CRLF>
+ <V-LOOK>)>>
;"thirst and hunger"
@@ -1092,28 +1160,38 @@ probably pass out." CR>)
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,WELDER-COUNTER 1>
<TELL
-"This welder, which is marked \"Welder Number "
-N <GET ,WELDER-TABLE ,WELDER-TABLE-POINTER>
-",\" seems to be moving purposefully toward you,
+"This welder, which is marked \"Welder Number " N <GET ,WELDER-TABLE
+,WELDER-TABLE-POINTER> ",\" seems to be moving purposefully toward you,
its welding extensions quivering with...excitement?" CR>)
(<EQUAL? ,WELDER-COUNTER 2>
<TELL
"There definitely seems to be something menacing about its behavior." CR>)
(T
<TELL "The welder is now almost upon you!" CR>)>)
+ (<VERB? WHAT>
+ <TELL
+"A " 'WELDER " is a very simple machine which repairs any leaks or holes in
+the hull of any sort of space habitat. Because of the potentially catastrophic
+effects of a break in the integrity of a hull on the habitat's air supply, "
+ 'WELDER "s are kept active at all times, roaming around with their sensing
+devices alert for the tiniest leak." CR>)
(<VERB? SHOOT>
<REMOVE ,WELDER>
+ <PUT ,WELDER-TABLE ;"that # welder should never show up again"
+ ,WELDER-TABLE-POINTER
+ <GET ,WELDER-TABLE ,NUMBER-OF-WELDERS>>
<SETG NUMBER-OF-WELDERS <- ,NUMBER-OF-WELDERS 1>>
<SETG WELDER-COUNTER 0>
<COND (<EQUAL? ,NUMBER-OF-WELDERS 0>
<DEQUEUE I-WELDER>)>
- <PUT ,WELDER-TABLE ;"that # welder should never show up again"
- ,WELDER-TABLE-POINTER
- <GET ,WELDER-TABLE ,NUMBER-OF-WELDERS>>
<TELL
"The welder is enveloped by red-hot plasma rays. It glows ever brighter in
the heat of the rays, seems to shimmer like a mirage, and then suddenly
vanishes! A wave of hot vapor pushes you backwards.">
+ <COND (<VISIBLE? ,EXPLOSIVE>
+ <TELL
+" As the heat wave hits the explosive, it " ,SUBLIMES-INTO-FREZONE>
+ <REMOVE-CAREFULLY ,EXPLOSIVE>)>
<COND (<AND <IN? ,OSTRICH ,HERE>
<FSET? ,OSTRICH ,TOUCHBIT>>
<TELL " ">
@@ -1141,7 +1219,12 @@ vanishes! A wave of hot vapor pushes you backwards.">
<COND (<IN? ,WELDER ,HERE>
<TELL " ">
<SETG WELDER-COUNTER <+ ,WELDER-COUNTER 1>>
- <COND (<EQUAL? ,WELDER-COUNTER 2>
+ <COND (<NOT ,LIT>
+ <REMOVE ,WELDER>
+ <SETG WELDER-COUNTER 0>
+ <TELL "Y" ,HEAR-WELDER-LEAVE>
+ <RTRUE>)
+ (<EQUAL? ,WELDER-COUNTER 2>
<TELL "The welder moves closer. ">)
(<NOT <EQUAL? ,WELDER-COUNTER 3>>
<JIGS-UP
@@ -1152,14 +1235,16 @@ same two extensions at that moment.">)>
(<G? ,WELDER-COUNTER 0>
<REMOVE ,WELDER>
<SETG WELDER-COUNTER 0>
- <TELL
-" Nearby, you hear the welder move off in another direction." CR>)
+ <TELL " Nearby, y" ,HEAR-WELDER-LEAVE>)
(<AND <NOT <FSET? ,HERE ,NWELDERBIT>>
<NOT <IN? ,PROTAGONIST ,BED>>
,LIT
<PROB ,NUMBER-OF-WELDERS>>
<COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
<IN? ,PLATO ,HERE>>
+ <RFALSE>)
+ (<AND <EQUAL? ,HERE ,SPACETRUCK>
+ <NOT <FSET? ,SPACETRUCK-HATCH ,OPENBIT>>>
<RFALSE>)>
<MOVE ,WELDER ,HERE>
<SETG WELDER-COUNTER <+ ,WELDER-COUNTER 1>>
@@ -1167,16 +1252,9 @@ same two extensions at that moment.">)>
<TELL " You spot a " 'WELDER " approaching. ">
<COND (<NOT <FSET? ,WELDER ,TOUCHBIT>>
<FSET ,WELDER ,TOUCHBIT>
- <TELL
-"A " 'WELDER " is a very simple machine which repairs any leaks or holes in
-the hull of any sort of space habitat. Because of the potentially catastrophic
-effects of a break in the integrity of a hull on the habitat's air supply, "
- 'WELDER "s are kept active at all times, roaming around with their sensing
-devices alert for the tiniest leak. ">)>
+ <PERFORM ,V?WHAT ,WELDER>)>
<PERFORM ,V?EXAMINE ,WELDER>
- <STOP>)
- (T
- <RFALSE>)>>
+ <STOP>)>>
;"utility routines and shared strings"
@@ -1202,17 +1280,12 @@ devices alert for the tiniest leak. ">)>
(T
<RFALSE>)>>
-<ROUTINE CANT-SEE ("OPTIONAL" (OBJ <>) (STRING <>))
+<ROUTINE CANT-SEE (OBJ)
<SETG P-WON <>>
- <TELL ,YOU-CANT>
- <TELL "see">
- <COND (<OR <NOT .OBJ>
- <AND .OBJ
- <NOT <NAME? .OBJ>>>>
+ <TELL ,YOU-CANT "see">
+ <COND (<NOT <NAME? .OBJ>>
<TELL " any">)>
- <COND (<NOT .OBJ>
- <TELL " " .STRING>)
- (<EQUAL? .OBJ ,PRSI>
+ <COND (<EQUAL? .OBJ ,PRSI>
<PRSI-PRINT>)
(T
<PRSO-PRINT>)>
@@ -1223,23 +1296,23 @@ devices alert for the tiniest leak. ">)>
<TELL ,YOU-CANT .STRING A ,PRSO "!" CR>>
<ROUTINE TELL-HIT-HEAD ()
- <TELL
-"You hit your head against" T ,PRSO " as you attempt this." CR>>
+ <TELL "You hit your head against" T ,PRSO " as you attempt this." CR>>
<ROUTINE REMOVE-CAREFULLY (OBJ "AUX" (ALSO <>))
<COND (<AND ,TIMER-CONNECTED
<EQUAL? .OBJ ,TIMER ,DETONATOR>>
<SETG TIMER-CONNECTED <>>
<SET ALSO T>
- <TELL
-" (The timer is, of course, no longer attached to the detonator.)">)
+ <COND (<VISIBLE? ,DETONATOR>
+ <TELL " (The timer is" ,NO-LONGER-ATTACHED>)>)
(<AND ,EXPLOSIVE-CONNECTED
<EQUAL? .OBJ ,EXPLOSIVE ,DETONATOR>>
<SETG EXPLOSIVE-CONNECTED <>>
- <TELL " (The explosive is, of course, ">
- <COND (.ALSO
- <TELL "also ">)>
- <TELL "no longer attached to the detonator.)">)>
+ <COND (<VISIBLE? ,DETONATOR>
+ <TELL " (The explosive is">
+ <COND (.ALSO
+ <TELL " also">)>
+ <TELL ,NO-LONGER-ATTACHED>)>)>
<FSET .OBJ ,TOUCHBIT>
<FCLEAR .OBJ ,TRYTAKEBIT>
<REMOVE .OBJ>>
@@ -1264,12 +1337,6 @@ devices alert for the tiniest leak. ">)>
(T
<RFALSE>)>>
-<ROUTINE OFF-VEHICLE? (OBJ) ;"tells to print GET OFF versus GET OUT OF"
- <COND (<EQUAL? .OBJ ,BED>
- <RTRUE>)
- (T
- <RFALSE>)>>
-
<ROUTINE OPEN-CLOSED (OBJ)
<COND (<FSET? .OBJ ,OPENBIT>
<TELL "open">)
@@ -1286,7 +1353,10 @@ devices alert for the tiniest leak. ">)>
<COND (,HANGING-IN-AIR
<TELL " while you're hanging way up here">)
(<NOT <IN? ,PROTAGONIST ,HERE>>
- <TELL " from" T <LOC ,PROTAGONIST>>)>
+ <TELL " from" T <LOC ,PROTAGONIST>>)
+ (<AND <PRSO? ,FLOYD ,REX ,HELEN>
+ <NOT <PRSO? ,ROBOT-PICKED>>>
+ <TELL " from outside the bin">)>
<TELL ,PERIOD-CR>
<STOP>>
@@ -1341,12 +1411,15 @@ devices alert for the tiniest leak. ">)>
<ROUTINE ANTI-LITTER (OBJ)
<REMOVE .OBJ>
<TELL ". The ">
- <COND (<EQUAL? .OBJ ,SOUP>
- <TELL "bowl">)
+ <COND (<EQUAL? .OBJ ,LEASH>
+ <TELL "leash">)
(T
<TELL "cup">)>
<TELL
-" instantly vaporizes, part of the galactic anti-litter program." CR>>
+" instantly vaporizes, part of the galactic anti-litter program.">
+ <COND (<NOT <EQUAL? .OBJ ,LEASH>>
+ <CRLF>)>
+ <RTRUE>>
;<ROUTINE UNIMPORTANT-THING-F ()
<TELL "That's not important; leave it alone." CR>>
@@ -1367,7 +1440,7 @@ devices alert for the tiniest leak. ">)>
<GLOBAL LOOK-AROUND "Look around you.|">
-<GLOBAL CANT-FROM-HERE "You can't do that from here.|">
+;<GLOBAL CANT-FROM-HERE "You can't do that from here.|" >
<GLOBAL HOLDING-IT "You're holding it!|">
@@ -1414,9 +1487,6 @@ visible to you is a slot (for inserting your form) and a keypad
"Request for Stellar Patrol Issue Regulation Black Form Binders Request Form
Forms">
-<GLOBAL TYPE-NUMERALS
-"[Use numerals: for example, TYPE 5 rather than TYPE FIVE.]|">
-
<GLOBAL BLASTED-OPEN "The thick side wall of the tank has been blasted open">
<GLOBAL NEXT-TIME "Next time, say what number to set it to.|">
@@ -1428,10 +1498,6 @@ Forms">
"Spanning the entire garden is a transparent dome, providing a breathtaking
view of the heavens in all their splendor.">
-<GLOBAL CONTROL-BOX-DESC
-"The control box contains a keypad for typing the number of the level you
-want to go to.">
-
<GLOBAL STRIKE-POWER-SOURCE
" strike the machine's power source, inducing an overload implosion
in said power source.">
@@ -1445,4 +1511,47 @@ in said power source.">
<GLOBAL DANS-LOT-DESC
"Through the large, dirty window, you can see Dan's used spaceship lot. The
spaceships floating in Dan's lot all have their prices whitewashed on their
-viewports, along with phrases like \"A steal!\" and \"Just reduced!\""> \ No newline at end of file
+viewports, along with phrases like \"A steal!\" and \"Just reduced!\"">
+
+<GLOBAL ALREADY-IN-MODE "You are already in that mode.|">
+
+<GLOBAL VIOLATION-OF-ACT
+"That might get you into serious trouble as a violation of the Comprehensive
+Forms Destruction and Mutilation Act of 11309 GY.|">
+
+<GLOBAL HEAR-WELDER-LEAVE "ou hear the welder move off in another direction.|">
+
+<GLOBAL NO-LONGER-ATTACHED
+", of course, no longer attached to the detonator.)">
+
+<GLOBAL FORM-ACCEPTED
+"The form is swallowed up, followed by a long pause for triple-redundancy
+processing. ">
+
+<GLOBAL FORM-REJECTED "The form is rejected. ">
+
+<GLOBAL SUBLIMES-INTO-FREZONE
+"suddenly sublimes into a puff of FREZONE (tm) gas.">
+
+<GLOBAL UNFAMILIAR "For those unfamiliar with PLANETFALL, ">
+
+<GLOBAL CLUTTERED-BUBBLE "| You have entered a cluttered space bubble ">
+
+<GLOBAL AT-SECOND-GLANCE
+" in the center... Oops. At second glance, you realize that the ">
+
+<GLOBAL FORKLIFT-DESC
+" between the arms of the frozen exercise machine, smoke pouring from its
+engine vents like steam from the nostrils of an angry bull.">
+
+<GLOBAL DETACH "You detach the detonator from ">
+
+<GLOBAL PATHETIC-SQUAWK " The ostrich gives a pathetic squawk of terror ">
+
+<GLOBAL MAKE-OUT-AN-M "ou can just make out a letter \"M.\"|">
+
+<GLOBAL LANDS-ON-FLOOR " and lands on the floor.">
+
+<GLOBAL LADDER-LEADS ", and a ladder leads both upward and downward.">
+
+<GLOBAL TOO-LONG-TO-WAIT "That's too long to wait.|"> \ No newline at end of file
diff --git a/misc.zap b/misc.zap
index 1eb8008..b6dc1fc 100644
--- a/misc.zap
+++ b/misc.zap
@@ -21,22 +21,22 @@
.FUNCT APRINT,OBJ
- FSET? OBJ,NARTICLEBIT \?ELS3
+ FSET? OBJ,NARTICLEBIT \?CCL3
PRINTC 32
JUMP ?CND1
-?ELS3: FSET? OBJ,VOWELBIT \?ELS5
+?CCL3: FSET? OBJ,VOWELBIT \?CCL5
PRINTI " an "
JUMP ?CND1
-?ELS5: PRINTI " a "
+?CCL5: PRINTI " a "
?CND1: PRINTD OBJ
RTRUE
.FUNCT TPRINT,OBJ
- FSET? OBJ,NARTICLEBIT \?ELS3
+ FSET? OBJ,NARTICLEBIT \?CCL3
PRINTC 32
JUMP ?CND1
-?ELS3: PRINTI " the "
+?CCL3: PRINTI " the "
?CND1: PRINTD OBJ
RTRUE
@@ -67,14 +67,15 @@
START::
?FCN: SET 'WINNER,PROTAGONIST
- SET 'HERE,DECK-FIVE
+ SET 'HERE,DECK-TWELVE
RANDOM 1220
ADD 4430,STACK >INTERNAL-MOVES
SET 'MOVES,INTERNAL-MOVES
SUB 8100,INTERNAL-MOVES
CALL QUEUE,I-SLEEP-WARNINGS,STACK
CALL QUEUE,I-HUNGER-WARNINGS,1330
- PRINTI "It's been five years since your planetfall on Resida. Your heroics in saving that doomed world resulted in a big promotion, but your life of dull scrubwork has been replaced by a life of dull paperwork. Today you find yourself amidst the administrative maze of Deck Five on a typically exciting task: an emergency mission to Space Station Gamma Delta Gamma 777-G 59/59 Sector Alpha-Mu-79 to pick up a supply of "
+ CALL QUEUE,I-BLATHER,-1
+ PRINTI "It's been five years since your planetfall on Resida. Your heroics in saving that doomed world resulted in a big promotion, but your life of dull scrubwork has been replaced by a life of dull paperwork. Today you find yourself amidst the administrative maze of Deck Twelve on a typically exciting task: an emergency mission to Space Station Gamma Delta Gamma 777-G 59/59 Sector Alpha-Mu-79 to pick up a supply of "
PRINT FORM-NAME
PRINT ELLIPSIS
CALL V-VERSION
@@ -95,7 +96,7 @@ START::
SET 'OBJ,FALSE-VALUE
SET 'PTBL,TRUE-VALUE
CALL PARSER >P-WON
- ZERO? P-WON /?ELS3
+ ZERO? P-WON /?CCL3
GET P-PRSI,P-MATCHLEN >ICNT
GET P-PRSO,P-MATCHLEN >OCNT
EQUAL? PRSA,V?WALK /?CND4
@@ -108,193 +109,187 @@ START::
EQUAL? STACK,IT \?PRG9
PUT P-PRSI,CNT,P-IT-OBJECT
SET 'TMP,TRUE-VALUE
-?REP10: ZERO? TMP \?CND19
+?REP10: ZERO? TMP \?CND16
SET 'CNT,0
-?PRG22: IGRTR? 'CNT,OCNT /?CND19
+?PRG18: IGRTR? 'CNT,OCNT /?CND16
GET P-PRSO,CNT
- EQUAL? STACK,IT \?PRG22
+ EQUAL? STACK,IT \?PRG18
PUT P-PRSO,CNT,P-IT-OBJECT
-?CND19: SET 'CNT,0
-?CND4: ZERO? OCNT \?ELS36
- PUSH OCNT
- JUMP ?CND32
-?ELS36: GRTR? OCNT,1 \?ELS38
+?CND16: SET 'CNT,0
+?CND4: ZERO? OCNT \?CCL27
+ SET 'NUM,OCNT
+ JUMP ?CND25
+?CCL27: GRTR? OCNT,1 \?CCL29
SET 'TBL,P-PRSO
- ZERO? ICNT \?ELS41
+ ZERO? ICNT \?CCL32
SET 'OBJ,FALSE-VALUE
- JUMP ?CND39
-?ELS41: GET P-PRSI,1 >OBJ
-?CND39: PUSH OCNT
- JUMP ?CND32
-?ELS38: GRTR? ICNT,1 \?ELS45
+ JUMP ?CND30
+?CCL32: GET P-PRSI,1 >OBJ
+?CND30: SET 'NUM,OCNT
+ JUMP ?CND25
+?CCL29: GRTR? ICNT,1 \?CCL34
SET 'PTBL,FALSE-VALUE
SET 'TBL,P-PRSI
GET P-PRSO,1 >OBJ
- PUSH ICNT
- JUMP ?CND32
-?ELS45: PUSH 1
-?CND32: SET 'NUM,STACK
- ZERO? OBJ \?CND48
- EQUAL? ICNT,1 \?CND48
+ SET 'NUM,ICNT
+ JUMP ?CND25
+?CCL34: SET 'NUM,1
+?CND25: ZERO? OBJ \?CND35
+ EQUAL? ICNT,1 \?CND35
GET P-PRSI,1 >OBJ
-?CND48: EQUAL? PRSA,V?WALK \?ELS55
+?CND35: EQUAL? PRSA,V?WALK \?CCL41
CALL PERFORM-PRSA,PRSO >V
- JUMP ?CND53
-?ELS55: ZERO? NUM \?ELS57
+ JUMP ?CND39
+?CCL41: ZERO? NUM \?CCL43
GETB P-SYNTAX,P-SBITS
BAND STACK,P-SONUMS
- ZERO? STACK \?ELS60
+ ZERO? STACK \?CCL46
CALL PERFORM-PRSA >V
SET 'PRSO,FALSE-VALUE
- JUMP ?CND53
-?ELS60: ZERO? LIT \?ELS62
+ JUMP ?CND39
+?CCL46: ZERO? LIT \?CCL48
PRINT TOO-DARK
CRLF
CALL STOP
- JUMP ?CND53
-?ELS62: PRINTI "There isn't anything to "
+ JUMP ?CND39
+?CCL48: PRINTI "There isn't anything to "
GET P-ITBL,P-VERBN >TMP
- EQUAL? PRSA,V?TELL \?ELS67
+ EQUAL? PRSA,V?TELL \?CCL51
PRINTI "talk to"
- JUMP ?CND65
-?ELS67: ZERO? P-OFLAG \?THN70
- ZERO? P-MERGED /?ELS69
-?THN70: GET TMP,0
+ JUMP ?CND49
+?CCL51: ZERO? P-OFLAG \?CTR52
+ ZERO? P-MERGED /?CCL53
+?CTR52: GET TMP,0
PRINTB STACK
- JUMP ?CND65
-?ELS69: GETB TMP,2 >?TMP1
+ JUMP ?CND49
+?CCL53: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
-?CND65: PRINTC 33
+?CND49: PRINTC 33
CRLF
SET 'V,FALSE-VALUE
CALL STOP
- JUMP ?CND53
-?ELS57: SET 'P-NOT-HERE,0
+ JUMP ?CND39
+?CCL43: SET 'P-NOT-HERE,0
SET 'P-MULT,FALSE-VALUE
- GRTR? NUM,1 \?CND76
+ GRTR? NUM,1 \?CND56
SET 'P-MULT,TRUE-VALUE
-?CND76: SET 'TMP,FALSE-VALUE
-?PRG79: IGRTR? 'CNT,NUM \?ELS83
- GRTR? P-NOT-HERE,0 \?ELS86
+?CND56: SET 'TMP,FALSE-VALUE
+?PRG58: IGRTR? 'CNT,NUM \?CCL62
+ GRTR? P-NOT-HERE,0 \?CCL65
PRINTI "[The "
- EQUAL? P-NOT-HERE,NUM /?CND87
+ EQUAL? P-NOT-HERE,NUM /?CND66
PRINTI "other "
-?CND87: PRINTI "object"
- EQUAL? P-NOT-HERE,1 /?CND90
+?CND66: PRINTI "object"
+ EQUAL? P-NOT-HERE,1 /?CND68
PRINTC 115
-?CND90: PRINTI " that you mentioned "
- EQUAL? P-NOT-HERE,1 /?ELS95
+?CND68: PRINTI " that you mentioned "
+ EQUAL? P-NOT-HERE,1 /?CCL72
PRINTI "are"
- JUMP ?CND93
-?ELS95: PRINTI "is"
-?CND93: PRINTI "n't here.]"
+ JUMP ?CND70
+?CCL72: PRINTI "is"
+?CND70: PRINTI "n't here.]"
CRLF
- JUMP ?CND53
-?ELS86: ZERO? TMP \?CND53
+ JUMP ?CND39
+?CCL65: ZERO? TMP \?CND39
CALL REFERRING
- JUMP ?CND53
-?ELS83: ZERO? PTBL /?ELS104
+ JUMP ?CND39
+?CCL62: ZERO? PTBL /?CCL76
GET P-PRSO,CNT >OBJ1
- JUMP ?CND102
-?ELS104: GET P-PRSI,CNT >OBJ1
-?CND102: ZERO? PTBL /?ELS112
- PUSH OBJ1
- JUMP ?CND108
-?ELS112: PUSH OBJ
-?CND108: SET 'PRSO,STACK
- ZERO? PTBL /?ELS120
- PUSH OBJ
- JUMP ?CND116
-?ELS120: PUSH OBJ1
-?CND116: SET 'PRSI,STACK
- GRTR? NUM,1 /?THN127
+ JUMP ?CND74
+?CCL76: GET P-PRSI,CNT >OBJ1
+?CND74: ZERO? PTBL /?CCL79
+ SET 'PRSO,OBJ1
+ JUMP ?CND77
+?CCL79: SET 'PRSO,OBJ
+?CND77: ZERO? PTBL /?CCL82
+ SET 'PRSI,OBJ
+ JUMP ?CND80
+?CCL82: SET 'PRSI,OBJ1
+?CND80: GRTR? NUM,1 /?CCL84
GET P-ITBL,P-NC1
GET STACK,0
- EQUAL? STACK,W?ALL,W?BOTH,W?EVERYT \?CND124
-?THN127: CALL DONT-ALL,OBJ1
- ZERO? STACK \?PRG79
- EQUAL? OBJ1,IT \?ELS136
+ EQUAL? STACK,W?ALL,W?BOTH,W?EVERYT \?CND83
+?CCL84: CALL DONT-ALL,OBJ1
+ ZERO? STACK \?PRG58
+ EQUAL? OBJ1,IT \?CCL92
PRINTD P-IT-OBJECT
- JUMP ?CND134
-?ELS136: EQUAL? OBJ1,HIM \?ELS138
+ JUMP ?CND90
+?CCL92: EQUAL? OBJ1,HIM \?CCL94
PRINTD P-HIM-OBJECT
- JUMP ?CND134
-?ELS138: PRINTD OBJ1
-?CND134: PRINTI ": "
-?CND124: SET 'TMP,TRUE-VALUE
+ JUMP ?CND90
+?CCL94: PRINTD OBJ1
+?CND90: PRINTI ": "
+?CND83: SET 'TMP,TRUE-VALUE
CALL PERFORM-PRSA,PRSO,PRSI >V
- EQUAL? V,M-FATAL \?PRG79
-?CND53: EQUAL? V,M-FATAL \?CND144
+ EQUAL? V,M-FATAL \?PRG58
+?CND39: EQUAL? V,M-FATAL \?CND97
SET 'P-CONT,FALSE-VALUE
-?CND144: CALL CLOCKER-VERB?
- ZERO? STACK /?ELS149
- EQUAL? PRSA,V?TELL /?ELS149
- ZERO? P-WON /?ELS149
+?CND97: CALL CLOCKER-VERB?
+ ZERO? STACK /?CCL101
+ EQUAL? PRSA,V?TELL /?CCL101
+ ZERO? P-WON /?CCL101
CALL RUNNING?,I-SPACETRUCK
- ZERO? STACK /?ELS154
- LESS? SPACETRUCK-COUNTER,5 \?ELS154
+ ZERO? STACK /?CND105
+ LESS? SPACETRUCK-COUNTER,5 \?CND105
SET 'C-ELAPSED,240
- JUMP ?CND152
-?ELS154: CALL QUEUED?,I-TIMER
- ZERO? STACK /?CND152
- SET 'C-ELAPSED,10
-?CND152: GETP HERE,P?ACTION
+?CND105: GETP HERE,P?ACTION
CALL STACK,M-END >V
JUMP ?CND1
-?ELS149: SET 'C-ELAPSED,0
+?CCL101: SET 'C-ELAPSED,0
JUMP ?CND1
-?ELS3: SET 'P-CONT,FALSE-VALUE
-?CND1: ZERO? P-WON /FALSE
+?CCL3: SET 'P-CONT,FALSE-VALUE
+?CND1: ZERO? P-WON /?CND109
ADD INTERNAL-MOVES,C-ELAPSED >INTERNAL-MOVES
- FSET? CHRONOMETER,WORNBIT \?ELS171
- LESS? DAY,3 \?ELS174
+ FSET? CHRONOMETER,WORNBIT \?CCL113
+ LESS? DAY,3 \?CCL116
SET 'MOVES,INTERNAL-MOVES
- JUMP ?CND169
-?ELS174: SET 'MOVES,9947
- JUMP ?CND169
-?ELS171: SET 'MOVES,0
-?CND169: ZERO? C-ELAPSED /?CND179
+ JUMP ?CND111
+?CCL116: SET 'MOVES,9947
+ JUMP ?CND111
+?CCL113: SET 'MOVES,0
+?CND111: ZERO? C-ELAPSED /?CND117
CALL CLOCKER >V
-?CND179: SET 'POSTPONE-ATTACK,FALSE-VALUE
- SET 'C-ELAPSED,7
+?CND117: SET 'POSTPONE-ATTACK,FALSE-VALUE
+ SET 'FLOYD-TRYTAKEN,FALSE-VALUE
SET 'P-PRSA-WORD,FALSE-VALUE
SET 'PRSA,FALSE-VALUE
SET 'PRSO,FALSE-VALUE
SET 'PRSI,FALSE-VALUE
- RETURN PRSI
+?CND109: SET 'C-ELAPSED,7
+ RETURN C-ELAPSED
.FUNCT DONT-ALL,OBJ1,L
LOC OBJ1 >L
- EQUAL? OBJ1,NOT-HERE-OBJECT \?ELS5
+ EQUAL? OBJ1,NOT-HERE-OBJECT \?CCL3
INC 'P-NOT-HERE
RTRUE
-?ELS5: EQUAL? PRSA,V?TAKE \?ELS7
- ZERO? PRSI /?ELS7
+?CCL3: EQUAL? PRSA,V?TAKE \?CCL5
+ ZERO? PRSI /?CCL5
IN? PRSO,PRSI \TRUE
-?ELS7: CALL ACCESSIBLE?,OBJ1
+?CCL5: CALL ACCESSIBLE?,OBJ1
ZERO? STACK /TRUE
EQUAL? P-GETFLAGS,P-ALL \FALSE
- ZERO? PRSI /?ELS18
+ ZERO? PRSI /?CCL15
EQUAL? PRSO,PRSI /TRUE
-?ELS18: EQUAL? PRSA,V?TAKE \?ELS22
- FSET? OBJ1,TAKEBIT /?ELS27
+?CCL15: EQUAL? PRSA,V?TAKE \?CCL19
+ FSET? OBJ1,TAKEBIT /?CCL22
FSET? OBJ1,TRYTAKEBIT \TRUE
-?ELS27: EQUAL? L,WINNER,HERE,PRSI /?ELS31
+?CCL22: EQUAL? L,WINNER,HERE,PRSI /?CCL26
LOC WINNER
- EQUAL? L,STACK /?ELS31
+ EQUAL? L,STACK /?CCL26
FSET? L,SURFACEBIT \TRUE
FSET? L,TAKEBIT /TRUE
RFALSE
-?ELS31: ZERO? PRSI \FALSE
+?CCL26: ZERO? PRSI \FALSE
CALL ULTIMATELY-IN?,PRSO
ZERO? STACK /FALSE
RTRUE
-?ELS22: EQUAL? PRSA,V?PUT-ON,V?PUT,V?DROP /?THN53
- EQUAL? PRSA,V?SGIVE,V?GIVE \?ELS50
-?THN53: IN? OBJ1,WINNER \TRUE
-?ELS50: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
+?CCL19: EQUAL? PRSA,V?PUT-ON,V?PUT,V?DROP /?PRD41
+ EQUAL? PRSA,V?SGIVE,V?GIVE \?CCL39
+?PRD41: IN? OBJ1,WINNER \TRUE
+?CCL39: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
IN? PRSO,WINNER /FALSE
CALL ULTIMATELY-IN?,PRSO,PRSI
ZERO? STACK \TRUE
@@ -308,32 +303,32 @@ START::
EQUAL? PRSA,V?RESTORE,V?SAVE,V?$RANDOM /FALSE
EQUAL? PRSA,V?SCRIPT,V?QUIT,V?RESTART /FALSE
EQUAL? PRSA,V?SUPER-BRIEF,V?BRIEF,V?UNSCRIPT /FALSE
- EQUAL? PRSA,V?VERBOSE \TRUE
- RFALSE
+ EQUAL? PRSA,V?VERBOSE /FALSE
+ RTRUE
.FUNCT FAKE-ORPHAN,IT-WAS-USED=0,TMP,?TMP1
CALL ORPHAN,P-SYNTAX,FALSE-VALUE
GET P-OTBL,P-VERBN >TMP
PRINTI "[Be specific: Wh"
- ZERO? IT-WAS-USED /?ELS3
+ ZERO? IT-WAS-USED /?CCL3
PRINTI "at object"
JUMP ?CND1
-?ELS3: PRINTC 111
+?CCL3: PRINTC 111
?CND1: PRINTI " do you want to "
- ZERO? TMP \?ELS9
+ ZERO? TMP \?CCL6
PRINTI "tell"
- JUMP ?CND7
-?ELS9: GETB P-VTBL,2
- ZERO? STACK \?ELS11
+ JUMP ?CND4
+?CCL6: GETB P-VTBL,2
+ ZERO? STACK \?CCL8
GET TMP,0
PRINTB STACK
- JUMP ?CND7
-?ELS11: GETB TMP,2 >?TMP1
+ JUMP ?CND4
+?CCL8: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
PUTB P-VTBL,2,0
-?CND7: SET 'P-OFLAG,TRUE-VALUE
+?CND4: SET 'P-OFLAG,TRUE-VALUE
SET 'P-WON,FALSE-VALUE
GETB P-SYNTAX,P-SPREP1
CALL PREP-PRINT,STACK
@@ -349,80 +344,78 @@ START::
ZERO? DEBUG /?CND1
PRINTI "[Perform: "
PRINTN A
- ZERO? O /?CND5
+ ZERO? O /?CND3
PRINTI " / PRSO = "
- EQUAL? A,V?WALK /?ELS11
+ EQUAL? A,V?WALK /?CCL7
PRINTD O
- JUMP ?CND5
-?ELS11: PRINTN O
-?CND5: ZERO? I /?CND14
+ JUMP ?CND3
+?CCL7: PRINTN O
+?CND3: ZERO? I /?CND8
PRINTI " / PRSI = "
PRINTD I
-?CND14: PRINTC 93
+?CND8: PRINTC 93
CRLF
?CND1: SET 'OA,PRSA
SET 'OO,PRSO
SET 'OI,PRSI
SET 'PRSA,A
- ZERO? P-WALK-DIR \?CND18
- EQUAL? IT,O,I \?CND18
+ ZERO? P-WALK-DIR \?CND10
+ EQUAL? IT,O,I \?CND10
CALL VISIBLE?,P-IT-OBJECT
- ZERO? STACK /?ELS25
- EQUAL? IT,O \?ELS28
+ ZERO? STACK /?CCL16
+ EQUAL? IT,O \?CCL19
SET 'O,P-IT-OBJECT
- JUMP ?CND18
-?ELS28: SET 'I,P-IT-OBJECT
- JUMP ?CND18
-?ELS25: ZERO? I \?ELS35
- CALL FAKE-ORPHAN,TRUE-VALUE
- RETURN 8
-?ELS35: CALL REFERRING
- RETURN 8
-?CND18: ZERO? P-WALK-DIR \?CND40
- EQUAL? HIM,O,I \?CND40
+ JUMP ?CND10
+?CCL19: SET 'I,P-IT-OBJECT
+?CND10: ZERO? P-WALK-DIR \?CND25
+ EQUAL? HIM,O,I \?CND25
CALL VISIBLE?,P-HIM-OBJECT
- ZERO? STACK /?ELS47
- EQUAL? HIM,O \?ELS50
+ ZERO? STACK /?CCL31
+ EQUAL? HIM,O \?CCL34
SET 'O,P-HIM-OBJECT
- JUMP ?CND40
-?ELS50: SET 'I,P-HIM-OBJECT
- JUMP ?CND40
-?ELS47: ZERO? I \?ELS57
- CALL FAKE-ORPHAN
+ JUMP ?CND25
+?CCL16: ZERO? I \?CCL22
+ CALL FAKE-ORPHAN,TRUE-VALUE
RETURN 8
-?ELS57: CALL REFERRING,TRUE-VALUE
+?CCL22: CALL REFERRING
RETURN 8
-?CND40: SET 'PRSO,O
+?CCL34: SET 'I,P-HIM-OBJECT
+?CND25: SET 'PRSO,O
SET 'PRSI,I
- EQUAL? A,V?WALK /?ELS64
- EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?ELS64
+ EQUAL? A,V?WALK /?CCL42
+ EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL42
CALL D-APPLY,STR?1,NOT-HERE-OBJECT-F >V
- ZERO? V /?ELS64
+ ZERO? V /?CCL42
SET 'P-WON,FALSE-VALUE
- JUMP ?CND62
-?ELS64: SET 'O,PRSO
+ JUMP ?CND40
+?CCL31: ZERO? I \?CCL37
+ CALL FAKE-ORPHAN
+ RETURN 8
+?CCL37: CALL REFERRING,TRUE-VALUE
+ RETURN 8
+?CCL42: SET 'O,PRSO
SET 'I,PRSI
CALL THIS-IS-IT,PRSI
CALL THIS-IS-IT,PRSO
GETP WINNER,P?ACTION
CALL D-APPLY,STR?2,STACK >V
- ZERO? V \?CND62
+ ZERO? V \?CND40
GET PREACTIONS,A
CALL D-APPLY,STR?3,STACK >V
- ZERO? V \?CND62
- ZERO? I /?ELS75
+ ZERO? V \?CND40
+ ZERO? I /?CCL52
GETP I,P?ACTION
CALL D-APPLY,STR?4,STACK >V
- ZERO? V \?CND62
-?ELS75: ZERO? O /?ELS79
- EQUAL? A,V?WALK /?ELS79
+ ZERO? V \?CND40
+?CCL52: ZERO? O /?CCL56
+ EQUAL? A,V?WALK /?CCL56
GETP O,P?ACTION
CALL D-APPLY,STR?5,STACK >V
- ZERO? V \?CND62
-?ELS79: GET ACTIONS,A
+ ZERO? V \?CND40
+?CCL56: GET ACTIONS,A
CALL D-APPLY,FALSE-VALUE,STACK >V
- ZERO? V /?CND62
-?CND62: SET 'PRSA,OA
+ ZERO? V /?CND40
+?CND40: SET 'PRSA,OA
SET 'PRSO,OO
SET 'PRSI,OI
RETURN V
@@ -430,31 +423,30 @@ START::
.FUNCT D-APPLY,STR,FCN,FOO=0,RES
ZERO? FCN /FALSE
- ZERO? DEBUG /?CND8
- ZERO? STR \?ELS14
+ ZERO? DEBUG /?CND4
+ ZERO? STR \?CCL8
PRINTI " Default ->"
CRLF
- JUMP ?CND8
-?ELS14: PRINTI " "
+ JUMP ?CND4
+?CCL8: PRINTI " "
PRINT STR
PRINTI " -> "
-?CND8: ZERO? FOO /?ELS21
- CALL FCN,FOO
- JUMP ?CND17
-?ELS21: CALL FCN
-?CND17: SET 'RES,STACK
- ZERO? DEBUG /?CND25
- ZERO? STR /?CND25
- EQUAL? RES,M-FATAL \?ELS32
+?CND4: ZERO? FOO /?CCL11
+ CALL FCN,FOO >RES
+ JUMP ?CND9
+?CCL11: CALL FCN >RES
+?CND9: ZERO? DEBUG /?CND12
+ ZERO? STR /?CND12
+ EQUAL? RES,M-FATAL \?CCL18
PRINTI "Fatal"
CRLF
RETURN RES
-?ELS32: ZERO? RES \?ELS34
+?CCL18: ZERO? RES \?CCL20
PRINTI "Not handled"
RETURN RES
-?ELS34: PRINTI "Handled"
+?CCL20: PRINTI "Handled"
CRLF
-?CND25: RETURN RES
+?CND12: RETURN RES
.FUNCT DEQUEUE,RTN
@@ -486,8 +478,8 @@ START::
GET C,C-TICK
ZERO? STACK /FALSE
GET C,C-TICK
- GRTR? STACK,1 \TRUE
- RFALSE
+ GRTR? STACK,1 /FALSE
+ RTRUE
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
@@ -495,69 +487,68 @@ START::
.FUNCT QUEUE,RTN,TICK,C,E,INT=0
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
-?PRG1: EQUAL? C,E \?ELS5
- ZERO? INT /?ELS8
+?PRG1: EQUAL? C,E \?CCL5
+ ZERO? INT /?CCL8
SET 'C,INT
JUMP ?CND6
-?ELS8: LESS? C-INTS,C-INTLEN \?CND12
+?CCL8: LESS? C-INTS,C-INTLEN \?CND9
PRINTI "Bug2"
CRLF
-?CND12: SUB C-INTS,C-INTLEN >C-INTS
- LESS? C-INTS,C-MAXINTS \?CND15
+?CND9: SUB C-INTS,C-INTLEN >C-INTS
+ LESS? C-INTS,C-MAXINTS \?CND11
SET 'C-MAXINTS,C-INTS
-?CND15: ADD C-TABLE,C-INTS >INT
+?CND11: ADD C-TABLE,C-INTS >INT
?CND6: PUT INT,C-RTN,RTN
JUMP ?REP2
-?ELS5: GET C,C-RTN
- EQUAL? STACK,RTN \?ELS19
+?CCL5: GET C,C-RTN
+ EQUAL? STACK,RTN \?CCL14
SET 'INT,C
- JUMP ?REP2
-?ELS19: GET C,C-RTN
+?REP2: GRTR? INT,CLOCK-HAND \?CND16
+ ADD TICK,3
+ SUB 0,STACK >TICK
+?CND16: PUT INT,C-TICK,TICK
+ RETURN INT
+?CCL14: GET C,C-RTN
ZERO? STACK \?CND3
SET 'INT,C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
-?REP2: GRTR? INT,CLOCK-HAND \?CND22
- ADD TICK,3
- SUB 0,STACK >TICK
-?CND22: PUT INT,C-TICK,TICK
- RETURN INT
- .FUNCT CLOCKER,E,TICK,RTN,FLG=0,Q?=0,OWINNER
+ .FUNCT CLOCKER,E,TICK,RTN,FLG=0,Q?=0,OWINNER,X
ADD C-TABLE,C-INTS >CLOCK-HAND
ADD C-TABLE,C-TABLELEN >E
SET 'OWINNER,WINNER
SET 'WINNER,PROTAGONIST
-?PRG1: EQUAL? CLOCK-HAND,E \?ELS5
+?PRG1: EQUAL? CLOCK-HAND,E \?CCL5
SET 'CLOCK-HAND,E
SET 'WINNER,OWINNER
RETURN FLG
-?ELS5: GET CLOCK-HAND,C-RTN
+?CCL5: GET CLOCK-HAND,C-RTN
ZERO? STACK /?CND3
GET CLOCK-HAND,C-TICK >TICK
- LESS? TICK,-1 \?ELS10
+ LESS? TICK,-1 \?CCL9
SUB 0,TICK
SUB STACK,3
PUT CLOCK-HAND,C-TICK,STACK
SET 'Q?,CLOCK-HAND
JUMP ?CND3
-?ELS10: ZERO? TICK /?CND3
- GRTR? TICK,0 \?CND13
+?CCL9: ZERO? TICK /?CND3
+ GRTR? TICK,0 \?CND11
SUB TICK,C-ELAPSED >TICK
- LESS? TICK,0 \?CND16
+ LESS? TICK,0 \?CND13
SET 'TICK,0
-?CND16: PUT CLOCK-HAND,C-TICK,TICK
-?CND13: ZERO? TICK /?CND19
+?CND13: PUT CLOCK-HAND,C-TICK,TICK
+?CND11: ZERO? TICK /?CND15
SET 'Q?,CLOCK-HAND
-?CND19: GRTR? TICK,0 /?CND3
+?CND15: GRTR? TICK,0 /?CND3
GET CLOCK-HAND,C-RTN >RTN
- ZERO? TICK \?CND25
+ ZERO? TICK \?CND19
PUT CLOCK-HAND,C-RTN,0
-?CND25: CALL RTN
- ZERO? STACK /?CND28
+?CND19: CALL RTN >X
+ ZERO? X /?CND21
SET 'FLG,TRUE-VALUE
-?CND28: ZERO? Q? \?CND3
+?CND21: ZERO? Q? \?CND3
GET CLOCK-HAND,C-RTN
ZERO? STACK /?CND3
SET 'Q?,TRUE-VALUE
diff --git a/misc.zil b/misc.zil
index 00b681c..2c49bed 100644
--- a/misc.zil
+++ b/misc.zil
@@ -186,7 +186,7 @@ the sequel...\""
<ROUTINE GO () ;"NOTE: this routine CANNOT have any local variables"
<SETG WINNER ,PROTAGONIST>
- <SETG HERE ,DECK-FIVE>
+ <SETG HERE ,DECK-TWELVE>
<SETG INTERNAL-MOVES <+ 4430 <RANDOM 1220>>>
<SETG MOVES ,INTERNAL-MOVES>
;<COND (<EQUAL? <GETB 0 56> 0>
@@ -195,13 +195,14 @@ the sequel...\""
<SETG INTERNAL-MOVES 6860>)>
<QUEUE I-SLEEP-WARNINGS <- 8100 ,INTERNAL-MOVES>>
<QUEUE I-HUNGER-WARNINGS 1330>
+ <QUEUE I-BLATHER -1>
<TELL
"It's been five years since your planetfall on Resida. Your heroics in saving
that doomed world resulted in a big promotion, but your life of dull scrubwork
has been replaced by a life of dull paperwork. Today you find yourself amidst
-the administrative maze of Deck Five on a typically exciting task: an emergency
-mission to Space Station Gamma Delta Gamma 777-G 59/59 Sector Alpha-Mu-79 to
-pick up a supply of " ,FORM-NAME ,ELLIPSIS>
+the administrative maze of Deck Twelve on a typically exciting task: an
+emergency mission to Space Station Gamma Delta Gamma 777-G 59/59 Sector
+Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<V-VERSION>
<USL>
<CRLF>
@@ -347,9 +348,7 @@ pick up a supply of " ,FORM-NAME ,ELLIPSIS>
,P-WON ;"fake YOU CANT SEE responses set P-WON to false">
<COND (<AND <RUNNING? ,I-SPACETRUCK>
<L? ,SPACETRUCK-COUNTER 5>>
- <SETG C-ELAPSED 240>)
- (<QUEUED? ,I-TIMER>
- <SETG C-ELAPSED 10>)>
+ <SETG C-ELAPSED 240>)>
<SET V <APPLY <GETP ,HERE ,P?ACTION> ,M-END>>)
(T
<SETG C-ELAPSED 0>)>)
@@ -367,13 +366,14 @@ pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<COND (<NOT <EQUAL? ,C-ELAPSED 0>>
<SET V <CLOCKER>>)>
<SETG POSTPONE-ATTACK <>>
- <SETG C-ELAPSED 7> ;"default length of move"
+ <SETG FLOYD-TRYTAKEN <>>
<SETG P-PRSA-WORD <>>
;"else, when input is just a direction, P-PRSA-WORD will remain
whatever it was for the previous turn"
<SETG PRSA <>>
<SETG PRSO <>>
- <SETG PRSI <>>)>>
+ <SETG PRSI <>>)>
+ <SETG C-ELAPSED 7> ;"default length of move">
;<ROUTINE TOO-DARK-FOR-IT? ()
<COND (<AND <NOT ,LIT>
@@ -425,9 +425,9 @@ pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<ROUTINE CLOCKER-VERB? ()
<COND (<NOT <EQUAL? ,PROTAGONIST ,WINNER>>
- <RTRUE> ;"or else FLOYD, HELP doesn't run the clock")
- (<VERB? VERSION HELP SCORE $RECORD $UNRECORD $COMMAND $RANDOM
- SAVE RESTORE RESTART QUIT SCRIPT UNSCRIPT
+ <RTRUE> ;"or else FLOYD, HELP doesn't run the clock")
+ (<VERB? VERSION HELP SCORE $RECORD $UNRECORD $COMMAND
+ $RANDOM SAVE RESTORE RESTART QUIT SCRIPT UNSCRIPT
BRIEF SUPER-BRIEF VERBOSE>
<RFALSE>)
(T
@@ -661,7 +661,7 @@ pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<PUT .INT ,C-TICK .TICK>
.INT>
-<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER)
+<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER X)
;<SETG ELAPSED-MOVES <+ ,ELAPSED-MOVES 1>>
;<COND (,DEBUG
<TELL " [Elapsed time: " N ,C-ELAPSED " millichrons.]|">)>
@@ -700,7 +700,10 @@ pick up a supply of " ,FORM-NAME ,ELLIPSIS>
1>>)>>
<COND (<ZERO? .TICK>
<PUT ,CLOCK-HAND ,C-RTN 0>)>
- <COND (<APPLY .RTN>
+ ;<COND (<APPLY .RTN>
+ <SET FLG T>)>
+ <SET X <APPLY .RTN>>
+ <COND (<NOT <ZERO? .X>>
<SET FLG T>)>
<COND (<AND <NOT .Q?>
<NOT
diff --git a/parser.zap b/parser.zap
index c0d1f1e..55578d7 100644
--- a/parser.zap
+++ b/parser.zap
@@ -2,24 +2,24 @@
.FUNCT THIS-IS-IT,OBJ
ZERO? OBJ /TRUE
- EQUAL? PRSA,V?WALK \?ELS9
+ EQUAL? PRSA,V?WALK \?PRD6
EQUAL? PRSO,OBJ /TRUE
-?ELS9: EQUAL? OBJ,PROTAGONIST /TRUE
+?PRD6: EQUAL? OBJ,PROTAGONIST /TRUE
EQUAL? OBJ,NOT-HERE-OBJECT,ME,GLOBAL-ROOM /TRUE
- FSET? OBJ,ACTORBIT /?THN12
- EQUAL? OBJ,OLIVER \?ELS11
-?THN12: SET 'P-HIM-OBJECT,OBJ
+ FSET? OBJ,ACTORBIT /?CTR10
+ EQUAL? OBJ,OLIVER \?CCL11
+?CTR10: SET 'P-HIM-OBJECT,OBJ
RETURN P-HIM-OBJECT
-?ELS11: SET 'P-IT-OBJECT,OBJ
+?CCL11: SET 'P-IT-OBJECT,OBJ
RETURN P-IT-OBJECT
.FUNCT PARSER,PTR=P-LEXSTART,WRD,VAL=0,VERB=0,OMERGED,OWINNER,OLEN,LEN,DIR=0,NW=0,LW=0,CNT=-1,?TMP2,?TMP1
?PRG1: IGRTR? 'CNT,P-ITBLLEN /?REP2
- ZERO? P-OFLAG \?CND8
+ ZERO? P-OFLAG \?CND6
GET P-ITBL,CNT
PUT P-OTBL,CNT,STACK
-?CND8: PUT P-ITBL,CNT,0
+?CND6: PUT P-ITBL,CNT,0
JUMP ?PRG1
?REP2: SET 'OMERGED,P-MERGED
SET 'OWINNER,WINNER
@@ -29,63 +29,63 @@
PUT P-PRSO,P-MATCHLEN,0
PUT P-PRSI,P-MATCHLEN,0
PUT P-BUTS,P-MATCHLEN,0
- ZERO? QUOTE-FLAG \?CND11
- EQUAL? WINNER,PROTAGONIST /?CND11
+ ZERO? QUOTE-FLAG \?CND8
+ EQUAL? WINNER,PROTAGONIST /?CND8
SET 'WINNER,PROTAGONIST
LOC WINNER
- FSET? STACK,VEHBIT /?CND16
+ FSET? STACK,VEHBIT /?CND12
LOC WINNER >HERE
-?CND16: CALL LIT?,HERE >LIT
-?CND11: ZERO? RESERVE-PTR /?ELS21
+?CND12: CALL LIT?,HERE >LIT
+?CND8: ZERO? RESERVE-PTR /?CCL16
SET 'PTR,RESERVE-PTR
CALL STUFF,P-LEXV,RESERVE-LEXV
CALL INBUF-STUFF,P-INBUF,RESERVE-INBUF
- ZERO? VERBOSITY /?CND23
- EQUAL? PROTAGONIST,WINNER \?CND23
+ ZERO? VERBOSITY /?CND17
+ EQUAL? PROTAGONIST,WINNER \?CND17
CRLF
-?CND23: SET 'RESERVE-PTR,FALSE-VALUE
+?CND17: SET 'RESERVE-PTR,FALSE-VALUE
SET 'P-CONT,FALSE-VALUE
- JUMP ?CND19
-?ELS21: ZERO? P-CONT /?ELS29
+ JUMP ?CND14
+?CCL16: ZERO? P-CONT /?CCL22
SET 'PTR,P-CONT
- ZERO? VERBOSITY /?CND31
- ZERO? ELIMINATE-CR \?CND31
+ ZERO? VERBOSITY /?CND23
+ ZERO? ELIMINATE-CR \?CND23
CRLF
-?CND31: SET 'ELIMINATE-CR,FALSE-VALUE
+?CND23: SET 'ELIMINATE-CR,FALSE-VALUE
SET 'P-CONT,FALSE-VALUE
- JUMP ?CND19
-?ELS29: SET 'WINNER,PROTAGONIST
+ JUMP ?CND14
+?CCL22: SET 'WINNER,PROTAGONIST
SET 'QUOTE-FLAG,FALSE-VALUE
LOC WINNER
- FSET? STACK,VEHBIT /?CND38
+ FSET? STACK,VEHBIT /?CND27
LOC WINNER >HERE
-?CND38: CALL LIT?,HERE >LIT
- ZERO? VERBOSITY /?CND41
+?CND27: CALL LIT?,HERE >LIT
+ ZERO? VERBOSITY /?CND29
CRLF
-?CND41: PRINTC 62
+?CND29: PRINTC 62
READ P-INBUF,P-LEXV
GETB P-LEXV,P-LEXWORDS >OLEN
-?CND19: GETB P-LEXV,P-LEXWORDS >P-LEN
- ZERO? P-LEN \?ELS46
- PRINTI "[I beg your pardon]"
+?CND14: GETB P-LEXV,P-LEXWORDS >P-LEN
+ ZERO? P-LEN \?CCL33
+ PRINTI "[I beg your pardon?]"
CRLF
RFALSE
-?ELS46: GET P-LEXV,PTR
- EQUAL? STACK,W?OOPS \?ELS48
+?CCL33: GET P-LEXV,PTR
+ EQUAL? STACK,W?OOPS \?CCL35
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?PERIOD,W?COMMA \?CND49
+ EQUAL? STACK,W?PERIOD,W?COMMA \?CND36
ADD PTR,P-LEXELEN >PTR
DEC 'P-LEN
-?CND49: GRTR? P-LEN,1 /?ELS54
+?CND36: GRTR? P-LEN,1 /?CCL40
CALL CANT-USE-THAT-WAY,STR?6
RFALSE
-?ELS54: GET OOPS-TABLE,O-PTR
- ZERO? STACK /?ELS56
- GRTR? P-LEN,2 \?CND57
+?CCL40: GET OOPS-TABLE,O-PTR
+ ZERO? STACK /?CCL42
+ GRTR? P-LEN,2 \?CND43
PRINTI "[Warning: Only the first word after OOPS is used.]"
CRLF
-?CND57: GET OOPS-TABLE,O-PTR >?TMP1
+?CND43: GET OOPS-TABLE,O-PTR >?TMP1
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
PUT AGAIN-LEXV,?TMP1,STACK
@@ -104,24 +104,24 @@
GETB P-LEXV,P-LEXWORDS >P-LEN
GET OOPS-TABLE,O-START >PTR
CALL INBUF-STUFF,P-INBUF,OOPS-INBUF
- JUMP ?CND44
-?ELS56: PUT OOPS-TABLE,O-END,FALSE-VALUE
+ JUMP ?CND31
+?CCL42: PUT OOPS-TABLE,O-END,FALSE-VALUE
PRINTI "[There was no word to replace!]"
CRLF
RFALSE
-?ELS48: PUT OOPS-TABLE,O-END,FALSE-VALUE
-?CND44: GET P-LEXV,PTR
- EQUAL? STACK,W?AGAIN,W?G \?ELS66
- ZERO? P-OFLAG /?ELS69
+?CCL35: PUT OOPS-TABLE,O-END,FALSE-VALUE
+?CND31: GET P-LEXV,PTR
+ EQUAL? STACK,W?AGAIN,W?G \?CCL47
+ ZERO? P-OFLAG /?CCL50
CALL CANT-USE-THAT-WAY,STR?7
RFALSE
-?ELS69: ZERO? P-WON \?ELS72
+?CCL50: ZERO? P-WON \?CCL52
PRINTI "[That would just repeat a mistake!]"
CRLF
RFALSE
-?ELS72: EQUAL? OWINNER,PROTAGONIST /?ELS74
+?CCL52: EQUAL? OWINNER,PROTAGONIST /?CCL54
CALL VISIBLE?,OWINNER
- ZERO? STACK \?ELS74
+ ZERO? STACK \?CCL54
PRINTC 91
PRINT YOU-CANT
PRINTI "see "
@@ -129,42 +129,42 @@
PRINTI " any more.]"
CRLF
RFALSE
-?ELS74: GRTR? P-LEN,1 \?ELS78
+?CCL54: GRTR? P-LEN,1 \?CCL58
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?PERIOD,W?COMMA,W?THEN /?THN82
+ EQUAL? STACK,W?PERIOD,W?COMMA,W?THEN /?CTR60
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?AND \?ELS81
-?THN82: ADD PTR,4 >PTR
+ EQUAL? STACK,W?AND \?CCL61
+?CTR60: ADD PTR,4 >PTR
GETB P-LEXV,P-LEXWORDS
SUB STACK,2
PUTB P-LEXV,P-LEXWORDS,STACK
- JUMP ?CND67
-?ELS81: CALL RECOGNIZE
+ JUMP ?CND48
+?CCL61: CALL RECOGNIZE
RFALSE
-?ELS78: ADD PTR,P-LEXELEN >PTR
+?CCL58: ADD PTR,P-LEXELEN >PTR
GETB P-LEXV,P-LEXWORDS
SUB STACK,1
PUTB P-LEXV,P-LEXWORDS,STACK
-?CND67: GETB P-LEXV,P-LEXWORDS
- GRTR? STACK,0 \?ELS90
+?CND48: GETB P-LEXV,P-LEXWORDS
+ GRTR? STACK,0 \?CCL66
CALL STUFF,RESERVE-LEXV,P-LEXV
CALL INBUF-STUFF,RESERVE-INBUF,P-INBUF
SET 'RESERVE-PTR,PTR
- JUMP ?CND88
-?ELS90: SET 'RESERVE-PTR,FALSE-VALUE
-?CND88: SET 'WINNER,OWINNER
+ JUMP ?CND64
+?CCL66: SET 'RESERVE-PTR,FALSE-VALUE
+?CND64: SET 'WINNER,OWINNER
SET 'P-MERGED,OMERGED
CALL INBUF-STUFF,P-INBUF,OOPS-INBUF
CALL STUFF,P-LEXV,AGAIN-LEXV
SET 'CNT,-1
SET 'DIR,AGAIN-DIR
-?PRG93: IGRTR? 'CNT,P-ITBLLEN /?CND64
+?PRG67: IGRTR? 'CNT,P-ITBLLEN /?CND45
GET P-OTBL,CNT
PUT P-ITBL,CNT,STACK
- JUMP ?PRG93
-?ELS66: CALL STUFF,AGAIN-LEXV,P-LEXV
+ JUMP ?PRG67
+?CCL47: CALL STUFF,AGAIN-LEXV,P-LEXV
CALL INBUF-STUFF,OOPS-INBUF,P-INBUF
PUT OOPS-TABLE,O-START,PTR
MUL 4,P-LEN
@@ -183,65 +183,65 @@
SET 'LEN,P-LEN
SET 'P-NCN,0
SET 'P-GETFLAGS,0
-?PRG102: DLESS? 'P-LEN,0 \?ELS106
+?PRG72: DLESS? 'P-LEN,0 \?CCL76
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND64
-?ELS106: GET P-LEXV,PTR >WRD
+ JUMP ?CND45
+?CCL76: GET P-LEXV,PTR >WRD
CALL NAUGHTY-WORD?,WRD
ZERO? STACK \FALSE
GET P-LEXV,PTR >WRD
- ZERO? WRD \?THN111
+ ZERO? WRD \?CTR79
CALL NUMBER?,PTR >WRD
- ZERO? WRD /?ELS110
-?THN111: CALL NEXT-WORD,PTR >NW
- EQUAL? WRD,W?TO \?ELS115
- EQUAL? VERB,ACT?TELL,ACT?ASK \?ELS115
+ ZERO? WRD /?CCL80
+?CTR79: CALL NEXT-WORD,PTR >NW
+ EQUAL? WRD,W?TO \?CCL85
+ EQUAL? VERB,ACT?TELL,ACT?ASK \?CCL85
CALL WT?,NW,64,1
- ZERO? STACK /?ELS115
+ ZERO? STACK /?CCL85
PUT P-ITBL,P-VERB,ACT?TELL
SET 'WRD,W?QUOTE
- JUMP ?CND113
-?ELS115: EQUAL? WRD,W?THEN \?CND113
- GRTR? P-LEN,0 \?CND113
- ZERO? VERB \?CND113
- ZERO? QUOTE-FLAG \?CND113
+ JUMP ?CND83
+?CCL85: EQUAL? WRD,W?THEN \?CND83
+ GRTR? P-LEN,0 \?CND83
+ ZERO? VERB \?CND83
+ ZERO? QUOTE-FLAG \?CND83
PUT P-ITBL,P-VERB,ACT?TELL
PUT P-ITBL,P-VERBN,0
SET 'WRD,W?QUOTE
-?CND113: EQUAL? WRD,W?THEN,W?PERIOD /?THN125
- EQUAL? WRD,W?QUOTE \?ELS124
-?THN125: EQUAL? WRD,W?QUOTE \?CND127
- ZERO? QUOTE-FLAG /?ELS132
+?CND83: EQUAL? WRD,W?THEN,W?PERIOD /?CTR95
+ EQUAL? WRD,W?QUOTE \?CCL96
+?CTR95: EQUAL? WRD,W?QUOTE \?CND99
+ ZERO? QUOTE-FLAG /?CCL103
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND127
-?ELS132: SET 'QUOTE-FLAG,TRUE-VALUE
-?CND127: ZERO? P-LEN /?THN136
+ JUMP ?CND99
+?CCL103: SET 'QUOTE-FLAG,TRUE-VALUE
+?CND99: ZERO? P-LEN /?PEN104
ADD PTR,P-LEXELEN >P-CONT
-?THN136: PUTB P-LEXV,P-LEXWORDS,P-LEN
- JUMP ?CND64
-?ELS124: CALL WT?,WRD,16,3 >VAL
- ZERO? VAL /?ELS139
- EQUAL? VERB,FALSE-VALUE,ACT?WALK,ACT?GO \?ELS139
- EQUAL? LEN,1 /?THN142
- EQUAL? LEN,2 \?ELS145
- EQUAL? VERB,ACT?WALK,ACT?GO /?THN142
-?ELS145: EQUAL? NW,W?THEN,W?PERIOD,W?QUOTE \?ELS147
- LESS? LEN,2 \?THN142
-?ELS147: ZERO? QUOTE-FLAG /?ELS149
- EQUAL? LEN,2 \?ELS149
- EQUAL? NW,W?QUOTE /?THN142
-?ELS149: GRTR? LEN,2 \?ELS139
- EQUAL? NW,W?COMMA,W?AND \?ELS139
-?THN142: SET 'DIR,VAL
- EQUAL? NW,W?COMMA,W?AND \?CND152
+?PEN104: PUTB P-LEXV,P-LEXWORDS,P-LEN
+ JUMP ?CND45
+?CCL96: CALL WT?,WRD,16,3 >VAL
+ ZERO? VAL /?CCL107
+ EQUAL? VERB,FALSE-VALUE,ACT?WALK,ACT?GO \?CCL107
+ EQUAL? LEN,1 /?CTR106
+ EQUAL? LEN,2 \?PRD113
+ EQUAL? VERB,ACT?WALK,ACT?GO /?CTR106
+?PRD113: EQUAL? NW,W?THEN,W?PERIOD,W?QUOTE \?PRD116
+ LESS? LEN,2 \?CTR106
+?PRD116: ZERO? QUOTE-FLAG /?PRD119
+ EQUAL? LEN,2 \?PRD119
+ EQUAL? NW,W?QUOTE /?CTR106
+?PRD119: GRTR? LEN,2 \?CCL107
+ EQUAL? NW,W?COMMA,W?AND \?CCL107
+?CTR106: SET 'DIR,VAL
+ EQUAL? NW,W?COMMA,W?AND \?CND125
ADD PTR,P-LEXELEN
CALL CHANGE-LEXV,STACK,W?THEN
-?CND152: GRTR? LEN,2 /?CND104
+?CND125: GRTR? LEN,2 /?CND74
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND64
-?ELS139: CALL WT?,WRD,64,1 >VAL
- ZERO? VAL /?ELS159
- ZERO? VERB \?ELS159
+ JUMP ?CND45
+?CCL107: CALL WT?,WRD,64,1 >VAL
+ ZERO? VAL /?CCL130
+ ZERO? VERB \?CCL130
SET 'P-PRSA-WORD,WRD
SET 'VERB,VAL
PUT P-ITBL,P-VERB,VAL
@@ -254,80 +254,78 @@
ADD CNT,1
GETB P-LEXV,STACK
PUTB P-VTBL,3,STACK
- JUMP ?CND104
-?ELS159: CALL WT?,WRD,8,0 >VAL
- ZERO? VAL \?THN164
- EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?THN168
- EQUAL? WRD,W?EVERYT /?THN168
+ JUMP ?CND74
+?CCL130: CALL WT?,WRD,8,0 >VAL
+ ZERO? VAL \?CTR133
+ EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?CTR133
+ EQUAL? WRD,W?EVERYT /?CTR133
CALL WT?,WRD,32
- ZERO? STACK \?THN168
+ ZERO? STACK \?CTR133
CALL WT?,WRD,128
- ZERO? STACK /?ELS163
-?THN168: SET 'VAL,0 \?ELS163
-?THN164: ZERO? VAL /?CND170
- EQUAL? WRD,W?BACK \?CND170
- EQUAL? VERB,ACT?HAND /?CND170
+ ZERO? STACK /?CCL134
+?CTR133: ZERO? VAL /?CND140
+ EQUAL? WRD,W?BACK \?CND140
+ EQUAL? VERB,ACT?HAND /?CND140
SET 'VAL,0
-?CND170: GRTR? P-LEN,0 \?ELS177
- EQUAL? NW,W?OF \?ELS177
- ZERO? VAL \?ELS177
- EQUAL? WRD,W?ALL,W?ONE,W?A /?ELS177
- EQUAL? WRD,W?BOTH,W?EVERYT \?CND104
-?ELS177: ZERO? VAL /?ELS181
- ZERO? P-LEN /?THN184
- EQUAL? NW,W?THEN,W?PERIOD \?ELS181
-?THN184: SET 'P-END-ON-PREP,TRUE-VALUE
- LESS? P-NCN,2 \?CND104
+?CND140: GRTR? P-LEN,0 \?CCL146
+ EQUAL? NW,W?OF \?CCL146
+ ZERO? VAL \?CCL146
+ EQUAL? WRD,W?ALL,W?ONE,W?A /?CCL146
+ EQUAL? WRD,W?BOTH,W?EVERYT \?CND74
+?CCL146: ZERO? VAL /?CCL153
+ ZERO? P-LEN /?CTR152
+ EQUAL? NW,W?THEN,W?PERIOD \?CCL153
+?CTR152: SET 'P-END-ON-PREP,TRUE-VALUE
+ LESS? P-NCN,2 \?CND74
PUT P-ITBL,P-PREP1,VAL
PUT P-ITBL,P-PREP1N,WRD
- JUMP ?CND104
-?ELS181: EQUAL? P-NCN,2 \?ELS190
+ JUMP ?CND74
+?CCL153: EQUAL? P-NCN,2 \?CCL161
PRINTI "[There were too many nouns in that sentence.]"
CRLF
RFALSE
-?ELS190: INC 'P-NCN
+?CCL161: INC 'P-NCN
CALL CLAUSE,PTR,VAL,WRD >PTR
ZERO? PTR /FALSE
- LESS? PTR,0 \?CND104
+ LESS? PTR,0 \?CND74
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND64
-?ELS163: CALL WT?,WRD,4
- ZERO? STACK \?CND104
- EQUAL? VERB,ACT?TELL \?ELS201
- CALL WT?,WRD,64,1
- ZERO? STACK /?ELS201
- EQUAL? WINNER,PROTAGONIST \?ELS201
- PRINTI "[The proper way to speak to other characters is CHARACTER, DO THIS. See the instruction manual section entitled ""Communicating With Infocom's Interactive Fiction.""]"
- CRLF
- RFALSE
-?ELS201: CALL CANT-USE,PTR
- RFALSE
-?ELS110: CALL UNKNOWN-WORD,PTR
- RFALSE
-?CND104: SET 'LW,WRD
- ADD PTR,P-LEXELEN >PTR
- JUMP ?PRG102
-?CND64: PUT OOPS-TABLE,O-PTR,FALSE-VALUE
- ZERO? DIR /?CND208
+?CND45: PUT OOPS-TABLE,O-PTR,FALSE-VALUE
+ ZERO? DIR /?CND172
SET 'PRSA,V?WALK
SET 'PRSO,DIR
SET 'P-OFLAG,FALSE-VALUE
SET 'P-WALK-DIR,DIR
SET 'AGAIN-DIR,DIR
RTRUE
-?CND208: SET 'P-WALK-DIR,FALSE-VALUE
+?CCL134: CALL WT?,WRD,4
+ ZERO? STACK \?CND74
+ EQUAL? VERB,ACT?TELL \?CCL168
+ CALL WT?,WRD,64,1
+ ZERO? STACK /?CCL168
+ EQUAL? WINNER,PROTAGONIST \?CCL168
+ PRINTI "[The way to speak to other characters is described in the instruction manual section entitled ""Communicating With Infocom's Interactive Fiction.""]"
+ CRLF
+ RFALSE
+?CCL168: CALL CANT-USE,PTR
+ RFALSE
+?CCL80: CALL UNKNOWN-WORD,PTR
+ RFALSE
+?CND74: SET 'LW,WRD
+ ADD PTR,P-LEXELEN >PTR
+ JUMP ?PRG72
+?CND172: SET 'P-WALK-DIR,FALSE-VALUE
SET 'AGAIN-DIR,FALSE-VALUE
- ZERO? P-OFLAG /?CND212
+ ZERO? P-OFLAG /?CND174
CALL ORPHAN-MERGE
-?CND212: CALL SYNTAX-CHECK
+?CND174: CALL SYNTAX-CHECK
ZERO? STACK /FALSE
CALL SNARF-OBJECTS
ZERO? STACK /FALSE
CALL MANY-CHECK
ZERO? STACK /FALSE
CALL TAKE-CHECK
- ZERO? STACK /FALSE
- RTRUE
+ ZERO? STACK \TRUE
+ RFALSE
.FUNCT CHANGE-LEXV,PTR,WRD,PTRS?=0,X,Y,Z
@@ -380,22 +378,22 @@
.FUNCT INBUF-ADD,LEN,BEG,SLOT,DBEG,CTR=0,TMP,?TMP1
GET OOPS-TABLE,O-END >TMP
- ZERO? TMP /?ELS3
+ ZERO? TMP /?CCL3
SET 'DBEG,TMP
JUMP ?CND1
-?ELS3: GET OOPS-TABLE,O-LENGTH >TMP
+?CCL3: GET OOPS-TABLE,O-LENGTH >TMP
GETB AGAIN-LEXV,TMP >?TMP1
ADD TMP,1
GETB AGAIN-LEXV,STACK
ADD ?TMP1,STACK >DBEG
?CND1: ADD DBEG,LEN
PUT OOPS-TABLE,O-END,STACK
-?PRG6: ADD DBEG,CTR >?TMP1
+?PRG4: ADD DBEG,CTR >?TMP1
ADD BEG,CTR
GETB P-INBUF,STACK
PUTB OOPS-INBUF,?TMP1,STACK
INC 'CTR
- EQUAL? CTR,LEN \?PRG6
+ EQUAL? CTR,LEN \?PRG4
PUTB AGAIN-LEXV,SLOT,DBEG
SUB SLOT,1
PUTB AGAIN-LEXV,STACK,LEN
@@ -408,9 +406,9 @@
GRTR? B1,4 /TRUE
EQUAL? BIT,128 /TRUE
BAND TYP,P-P1BITS >TYP
- EQUAL? TYP,B1 /?CND15
+ EQUAL? TYP,B1 /?CND9
INC 'OFFS
-?CND15: GETB PTR,OFFS
+?CND9: GETB PTR,OFFS
RSTACK
@@ -418,9 +416,9 @@
ZERO? P-LEN /FALSE
ADD PTR,P-LEXELEN
GET P-LEXV,STACK >NW
- ZERO? NW /?ELS10
+ ZERO? NW /?CCL6
RETURN NW
-?ELS10: ADD PTR,P-LEXELEN
+?CCL6: ADD PTR,P-LEXELEN
CALL NUMBER?,STACK
RSTACK
@@ -428,116 +426,116 @@
.FUNCT CLAUSE,PTR,VAL,WRD,OFF,NUM,ANDFLG=0,FIRST??=1,NW,LW=0,?TMP1
SUB P-NCN,1
MUL STACK,2 >OFF
- ZERO? VAL /?ELS3
+ ZERO? VAL /?CCL3
ADD P-PREP1,OFF >NUM
PUT P-ITBL,NUM,VAL
ADD NUM,1
PUT P-ITBL,STACK,WRD
ADD PTR,P-LEXELEN >PTR
JUMP ?CND1
-?ELS3: INC 'P-LEN
-?CND1: ZERO? P-LEN \?CND6
+?CCL3: INC 'P-LEN
+?CND1: ZERO? P-LEN \?CND4
DEC 'P-NCN
RETURN -1
-?CND6: ADD P-NC1,OFF >NUM
+?CND4: ADD P-NC1,OFF >NUM
MUL PTR,2
ADD P-LEXV,STACK
PUT P-ITBL,NUM,STACK
-?PRG9: DLESS? 'P-LEN,0 \?CND11
+?PRG6: DLESS? 'P-LEN,0 \?CND8
ADD NUM,1 >?TMP1
MUL PTR,2
ADD P-LEXV,STACK
PUT P-ITBL,?TMP1,STACK
RETURN -1
-?CND11: GET P-LEXV,PTR >WRD
+?CND8: GET P-LEXV,PTR >WRD
CALL NAUGHTY-WORD?,WRD
ZERO? STACK \FALSE
- ZERO? WRD \?THN19
+ ZERO? WRD \?CTR13
CALL NUMBER?,PTR >WRD
- ZERO? WRD /?ELS18
-?THN19: CALL NEXT-WORD,PTR >NW
- ZERO? FIRST?? /?ELS23
- EQUAL? WRD,W?THE,W?A,W?AN /?THN26
- ZERO? VAL /?ELS23
+ ZERO? WRD /?CCL14
+?CTR13: CALL NEXT-WORD,PTR >NW
+ ZERO? FIRST?? /?CCL19
+ EQUAL? WRD,W?THE,W?A,W?AN /?CTR18
+ ZERO? VAL /?CCL19
CALL WT?,WRD,8
- ZERO? STACK /?ELS23
+ ZERO? STACK /?CCL19
CALL WT?,WRD,32
- ZERO? STACK \?ELS23
-?THN26: GET P-ITBL,NUM
+ ZERO? STACK \?CCL19
+?CTR18: GET P-ITBL,NUM
ADD STACK,4
PUT P-ITBL,NUM,STACK
- JUMP ?CND14
-?ELS23: EQUAL? WRD,W?AND,W?COMMA \?ELS31
+ JUMP ?CND10
+?CCL19: EQUAL? WRD,W?AND,W?COMMA \?CCL28
SET 'ANDFLG,TRUE-VALUE
- JUMP ?CND14
-?ELS31: EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?THN34
- EQUAL? WRD,W?EVERYT \?ELS33
-?THN34: EQUAL? NW,W?OF \?CND14
+ JUMP ?CND10
+?CCL28: EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?CTR29
+ EQUAL? WRD,W?EVERYT \?CCL30
+?CTR29: EQUAL? NW,W?OF \?CND10
DEC 'P-LEN
ADD PTR,P-LEXELEN >PTR
- JUMP ?CND14
-?ELS33: EQUAL? WRD,W?THEN,W?PERIOD /?THN41
+ JUMP ?CND10
+?CCL30: EQUAL? WRD,W?THEN,W?PERIOD /?CTR35
CALL WT?,WRD,8
- ZERO? STACK /?ELS40
+ ZERO? STACK /?CCL36
GET P-ITBL,P-VERB
- ZERO? STACK /?ELS40
- ZERO? FIRST?? \?ELS40
-?THN41: INC 'P-LEN
+ ZERO? STACK /?CCL36
+ ZERO? FIRST?? \?CCL36
+?CTR35: INC 'P-LEN
ADD NUM,1 >?TMP1
MUL PTR,2
ADD P-LEXV,STACK
PUT P-ITBL,?TMP1,STACK
SUB PTR,P-LEXELEN
RSTACK
-?ELS40: ZERO? ANDFLG /?ELS46
+?CCL36: ZERO? ANDFLG /?CCL43
GET P-ITBL,P-VERB
- ZERO? STACK \?ELS46
+ ZERO? STACK \?CCL43
SUB PTR,4 >PTR
ADD PTR,2
CALL CHANGE-LEXV,STACK,W?THEN
ADD P-LEN,2 >P-LEN
- JUMP ?CND14
-?ELS46: CALL WT?,WRD,128
- ZERO? STACK /?ELS50
- GRTR? P-LEN,0 \?ELS53
- EQUAL? NW,W?OF \?ELS53
- EQUAL? WRD,W?ALL,W?EVERYT /?ELS53
- EQUAL? WRD,W?ONE,W?BOTH \?CND14
-?ELS53: CALL WT?,WRD,32,2
- ZERO? STACK /?ELS57
- ZERO? NW /?ELS57
- EQUAL? NW,W?MY /?ELS57
+ JUMP ?CND10
+?CCL43: CALL WT?,WRD,128
+ ZERO? STACK /?CCL47
+ GRTR? P-LEN,0 \?CCL50
+ EQUAL? NW,W?OF \?CCL50
+ EQUAL? WRD,W?ALL,W?EVERYT /?CCL50
+ EQUAL? WRD,W?ONE,W?BOTH \?CND10
+?CCL50: CALL WT?,WRD,32,2
+ ZERO? STACK /?CCL55
+ ZERO? NW /?CCL55
+ EQUAL? NW,W?MY /?CCL55
CALL WT?,NW,128
- ZERO? STACK \?THN60
+ ZERO? STACK \?PRD60
CALL WT?,NW,32
- ZERO? STACK /?ELS57
-?THN60: GET P-ITBL,P-VERB
- EQUAL? STACK,ACT?SHOW,ACT?HAND,ACT?FEED \?CND14
-?ELS57: ZERO? ANDFLG \?ELS63
- EQUAL? NW,W?BUT,W?EXCEPT /?ELS63
- EQUAL? NW,W?AND,W?COMMA /?ELS63
+ ZERO? STACK /?CCL55
+?PRD60: GET P-ITBL,P-VERB
+ EQUAL? STACK,ACT?SHOW,ACT?HAND,ACT?FEED \?CND10
+?CCL55: ZERO? ANDFLG \?CCL64
+ EQUAL? NW,W?BUT,W?EXCEPT /?CCL64
+ EQUAL? NW,W?AND,W?COMMA /?CCL64
ADD NUM,1 >?TMP1
ADD PTR,2
MUL STACK,2
ADD P-LEXV,STACK
PUT P-ITBL,?TMP1,STACK
RETURN PTR
-?ELS63: SET 'ANDFLG,FALSE-VALUE
- JUMP ?CND14
-?ELS50: CALL WT?,WRD,32
- ZERO? STACK \?CND14
+?CCL64: SET 'ANDFLG,FALSE-VALUE
+ JUMP ?CND10
+?CCL47: CALL WT?,WRD,32
+ ZERO? STACK \?CND10
CALL WT?,WRD,4
- ZERO? STACK \?CND14
+ ZERO? STACK \?CND10
CALL WT?,WRD,8
- ZERO? STACK \?CND14
+ ZERO? STACK \?CND10
CALL CANT-USE,PTR
RFALSE
-?ELS18: CALL UNKNOWN-WORD,PTR
+?CCL14: CALL UNKNOWN-WORD,PTR
RFALSE
-?CND14: SET 'LW,WRD
+?CND10: SET 'LW,WRD
SET 'FIRST??,FALSE-VALUE
ADD PTR,P-LEXELEN >PTR
- JUMP ?PRG9
+ JUMP ?PRG6
.FUNCT NUMBER?,PTR,CNT,BPTR,CHR,SUM=0,CCTR,TMP,XPTR,?TMP1
@@ -550,23 +548,23 @@
?PRG1: GRTR? SUM,10000 /FALSE
DLESS? 'CNT,0 /?REP2
GETB P-INBUF,BPTR >CHR
- LESS? CHR,58 \?ELS12
- GRTR? CHR,47 \?ELS12
+ LESS? CHR,58 \?CCL10
+ GRTR? CHR,47 \?CCL10
MUL SUM,10 >?TMP1
SUB CHR,48
ADD ?TMP1,STACK >SUM
- JUMP ?CND10
-?ELS12: EQUAL? CHR,35 \FALSE
-?CND10: INC 'BPTR
+ JUMP ?CND8
+?CCL10: EQUAL? CHR,35 \FALSE
+?CND8: INC 'BPTR
JUMP ?PRG1
?REP2: CALL CHANGE-LEXV,PTR,W?NUMBER
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?COMMA \?CND17
- GRTR? P-LEN,1 \?CND17
+ EQUAL? STACK,W?COMMA \?CND14
+ GRTR? P-LEN,1 \?CND14
ADD PTR,4 >XPTR
CALL AFTER-COMMA-CHECK,XPTR >TMP
- ZERO? TMP /?CND17
+ ZERO? TMP /?CND14
MUL PTR,2
ADD STACK,2
GETB P-LEXV,STACK >CCTR
@@ -578,12 +576,12 @@
MUL PTR,2
ADD STACK,2
PUTB P-LEXV,STACK,CCTR
- EQUAL? TMP,1000 \?CND25
+ EQUAL? TMP,1000 \?CND20
SET 'TMP,0
-?CND25: MUL 1000,SUM
+?CND20: MUL 1000,SUM
ADD STACK,TMP >SUM
SUB P-LEN,2 >CCTR
-?PRG28: DLESS? 'CCTR,0 /?REP29
+?PRG22: DLESS? 'CCTR,0 /?REP23
ADD PTR,P-LEXELEN >PTR
ADD PTR,4 >XPTR
GET P-LEXV,XPTR
@@ -600,12 +598,12 @@
ADD STACK,3
GETB P-LEXV,STACK
PUTB P-LEXV,?TMP1,STACK
- JUMP ?PRG28
-?REP29: SUB P-LEN,2 >P-LEN
+ JUMP ?PRG22
+?REP23: SUB P-LEN,2 >P-LEN
GETB P-LEXV,P-LEXWORDS
SUB STACK,2
PUTB P-LEXV,P-LEXWORDS,STACK
-?CND17: GRTR? SUM,10000 /FALSE
+?CND14: GRTR? SUM,10000 /FALSE
SET 'P-NUMBER,SUM
RETURN W?NUMBER
@@ -619,8 +617,7 @@
GETB STACK,3 >BPTR
?PRG1: DLESS? 'CNT,0 /?REP2
GETB P-INBUF,BPTR >CHR
- INC 'CCTR
- GRTR? CCTR,3 /?REP2
+ IGRTR? 'CCTR,3 /?REP2
LESS? CHR,58 \FALSE
GRTR? CHR,47 \FALSE
MUL SUM,10 >?TMP1
@@ -629,9 +626,9 @@
INC 'BPTR
JUMP ?PRG1
?REP2: EQUAL? CCTR,3 \FALSE
- ZERO? SUM \?ELS23
- RETURN 1000
-?ELS23: RETURN SUM
+ ZERO? SUM /?CTR16
+ RETURN SUM
+?CTR16: RETURN 1000
.FUNCT ORPHAN-MERGE,CNT=-1,TEMP,VERB,BEG,END,ADJ=0,VRB=0,WRD,?TMP1
@@ -640,15 +637,15 @@
GET STACK,0 >WRD
CALL WT?,WRD,64,1 >?TMP1
GET P-OTBL,P-VERB
- EQUAL? ?TMP1,STACK \?ELS3
+ EQUAL? ?TMP1,STACK \?CCL3
SET 'VRB,TRUE-VALUE
SET 'ADJ,TRUE-VALUE
JUMP ?CND1
-?ELS3: CALL WT?,WRD,32
- ZERO? STACK /?ELS5
+?CCL3: CALL WT?,WRD,32
+ ZERO? STACK /?CCL5
SET 'ADJ,TRUE-VALUE
JUMP ?CND1
-?ELS5: CALL WT?,WRD,128,0
+?CCL5: CALL WT?,WRD,128,0
ZERO? STACK /?CND1
ZERO? P-NCN \?CND1
PUT P-ITBL,P-VERB,0
@@ -659,19 +656,19 @@
PUT P-ITBL,P-NC1L,STACK
SET 'P-NCN,1
?CND1: GET P-ITBL,P-VERB >VERB
- ZERO? VERB /?ELS12
- ZERO? ADJ \?ELS12
+ ZERO? VERB /?CCL11
+ ZERO? ADJ \?CCL11
GET P-OTBL,P-VERB
EQUAL? VERB,STACK \FALSE
-?ELS12: EQUAL? P-NCN,2 /FALSE
+?CCL11: EQUAL? P-NCN,2 /FALSE
GET P-OTBL,P-NC1
- EQUAL? STACK,1 \?ELS18
+ EQUAL? STACK,1 \?CCL18
GET P-ITBL,P-PREP1 >TEMP
GET P-OTBL,P-PREP1
- EQUAL? TEMP,STACK /?THN22
+ EQUAL? TEMP,STACK /?CTR20
ZERO? TEMP \FALSE
-?THN22: ZERO? ADJ /?ELS26
- ZERO? VRB \?ELS26
+?CTR20: ZERO? ADJ /?CCL26
+ ZERO? VRB \?CCL26
ADD P-LEXV,2
PUT P-OTBL,P-NC1,STACK
GET P-ITBL,P-NC1L
@@ -681,75 +678,73 @@
?CND29: ZERO? P-NCN \?CND24
SET 'P-NCN,1
JUMP ?CND24
-?ELS26: GET P-ITBL,P-NC1
+?CCL26: GET P-ITBL,P-NC1
PUT P-OTBL,P-NC1,STACK
?CND24: GET P-ITBL,P-NC1L
PUT P-OTBL,P-NC1L,STACK
- JUMP ?CND10
-?ELS18: GET P-OTBL,P-NC2
- EQUAL? STACK,1 \?ELS40
+ JUMP ?CND9
+?CCL18: GET P-OTBL,P-NC2
+ EQUAL? STACK,1 \?CCL34
GET P-ITBL,P-PREP1 >TEMP
GET P-OTBL,P-PREP2
- EQUAL? TEMP,STACK /?THN44
+ EQUAL? TEMP,STACK /?CTR36
ZERO? TEMP \FALSE
-?THN44: ZERO? ADJ /?CND46
- ZERO? VRB \?CND46
+?CTR36: ZERO? ADJ /?CND40
+ ZERO? VRB \?CND40
ADD P-LEXV,2
PUT P-ITBL,P-NC1,STACK
GET P-ITBL,P-NC1L
- ZERO? STACK \?CND46
+ ZERO? STACK \?CND40
ADD P-LEXV,6
PUT P-ITBL,P-NC1L,STACK
-?CND46: GET P-ITBL,P-NC1
+?CND40: GET P-ITBL,P-NC1
PUT P-OTBL,P-NC2,STACK
GET P-ITBL,P-NC1L
PUT P-OTBL,P-NC2L,STACK
SET 'P-NCN,2
- JUMP ?CND10
-?ELS40: ZERO? P-ACLAUSE /?CND10
- EQUAL? P-NCN,1 /?ELS61
- ZERO? ADJ \?ELS61
+ JUMP ?CND9
+?CCL34: ZERO? P-ACLAUSE /?CND9
+ EQUAL? P-NCN,1 /?CCL49
+ ZERO? ADJ \?CCL49
SET 'P-ACLAUSE,FALSE-VALUE
RFALSE
-?ELS61: GET P-ITBL,P-NC1 >BEG
- ZERO? ADJ /?CND66
+?CCL49: GET P-ITBL,P-NC1 >BEG
+ ZERO? ADJ /?CND52
ADD P-LEXV,2 >BEG
SET 'ADJ,FALSE-VALUE
-?CND66: GET P-ITBL,P-NC1L >END
-?PRG70: GET BEG,0 >WRD
- EQUAL? BEG,END \?ELS74
- ZERO? ADJ /?ELS77
+?CND52: GET P-ITBL,P-NC1L >END
+?PRG54: GET BEG,0 >WRD
+ EQUAL? BEG,END \?CCL58
+ ZERO? ADJ /?CCL61
CALL CLAUSE-WIN,ADJ
- JUMP ?CND10
-?ELS77: SET 'P-ACLAUSE,FALSE-VALUE
+ JUMP ?CND9
+?CCL61: SET 'P-ACLAUSE,FALSE-VALUE
RFALSE
-?ELS74: EQUAL? WRD,W?ALL,W?EVERYT,W?ONE /?THN83
- EQUAL? WRD,W?BOTH /?THN83
+?CCL58: EQUAL? WRD,W?ALL,W?EVERYT,W?ONE /?CTR62
+ EQUAL? WRD,W?BOTH /?CTR62
GETB WRD,P-PSOFF
- BTST STACK,32 \?ELS82
+ BTST STACK,32 \?CCL63
CALL ADJ-CHECK,WRD,ADJ,ADJ
- ZERO? STACK /?ELS82
-?THN83: SET 'ADJ,WRD
- JUMP ?CND72
-?ELS82: EQUAL? WRD,W?ONE \?ELS88
- CALL CLAUSE-WIN,ADJ
- JUMP ?CND10
-?ELS88: GETB WRD,P-PSOFF
- BTST STACK,128 \?CND72
- EQUAL? WRD,P-ANAM \?ELS93
- CALL CLAUSE-WIN,ADJ
- JUMP ?CND10
-?ELS93: CALL CLAUSE-WIN
- JUMP ?CND10
-?CND72: ADD BEG,P-WORDLEN >BEG
- ZERO? END \?PRG70
+ ZERO? STACK /?CCL63
+?CTR62: SET 'ADJ,WRD
+?CND56: ADD BEG,P-WORDLEN >BEG
+ ZERO? END \?PRG54
SET 'END,BEG
SET 'P-NCN,1
SUB BEG,4
PUT P-ITBL,P-NC1,STACK
PUT P-ITBL,P-NC1L,BEG
- JUMP ?PRG70
-?CND10: GET P-OVTBL,0
+ JUMP ?PRG54
+?CCL63: EQUAL? WRD,W?ONE \?CCL70
+ CALL CLAUSE-WIN,ADJ
+ JUMP ?CND9
+?CCL70: GETB WRD,P-PSOFF
+ BTST STACK,128 \?CND56
+ EQUAL? WRD,P-ANAM \?CCL74
+ CALL CLAUSE-WIN,ADJ
+ JUMP ?CND9
+?CCL74: CALL CLAUSE-WIN
+?CND9: GET P-OVTBL,0
PUT P-VTBL,0,STACK
GETB P-OVTBL,2
PUTB P-VTBL,2,STACK
@@ -757,32 +752,32 @@
PUTB P-VTBL,3,STACK
PUT P-OTBL,P-VERBN,P-VTBL
PUTB P-VTBL,2,0
-?PRG99: IGRTR? 'CNT,P-ITBLLEN \?ELS103
+?PRG77: IGRTR? 'CNT,P-ITBLLEN \?CCL81
SET 'P-MERGED,TRUE-VALUE
RTRUE
-?ELS103: GET P-OTBL,CNT
+?CCL81: GET P-OTBL,CNT
PUT P-ITBL,CNT,STACK
- JUMP ?PRG99
+ JUMP ?PRG77
.FUNCT CLAUSE-WIN,ADJ=0
- ZERO? ADJ /?ELS3
+ ZERO? ADJ /?CCL3
GET P-OTBL,P-VERB
PUT P-ITBL,P-VERB,STACK
JUMP ?CND1
-?ELS3: SET 'ADJ,TRUE-VALUE
+?CCL3: SET 'ADJ,TRUE-VALUE
?CND1: PUT P-CCTBL,CC-SBPTR,P-ACLAUSE
ADD P-ACLAUSE,1
PUT P-CCTBL,CC-SEPTR,STACK
- EQUAL? P-ACLAUSE,P-NC1 \?ELS9
+ EQUAL? P-ACLAUSE,P-NC1 \?CCL6
PUT P-CCTBL,CC-OCLAUSE,P-OCL1
- JUMP ?CND7
-?ELS9: PUT P-CCTBL,CC-OCLAUSE,P-OCL2
-?CND7: CALL CLAUSE-COPY,P-OTBL,P-OTBL,ADJ
+ JUMP ?CND4
+?CCL6: PUT P-CCTBL,CC-OCLAUSE,P-OCL2
+?CND4: CALL CLAUSE-COPY,P-OTBL,P-OTBL,ADJ
GET P-OTBL,P-NC2
- ZERO? STACK /?ELS13
+ ZERO? STACK /?PEN7
SET 'P-NCN,2
-?ELS13: SET 'P-ACLAUSE,FALSE-VALUE
+?PEN7: SET 'P-ACLAUSE,FALSE-VALUE
RTRUE
@@ -834,97 +829,96 @@
GET VERBS,STACK >SYN
GETB SYN,0 >LEN
INC 'SYN
-?PRG4: GETB SYN,P-SBITS
+?PRG3: GETB SYN,P-SBITS
BAND STACK,P-SONUMS >NUM
- GRTR? P-NCN,NUM /?CND6
- LESS? NUM,1 /?ELS10
- ZERO? P-NCN \?ELS10
+ GRTR? P-NCN,NUM /?CND5
+ LESS? NUM,1 /?CCL9
+ ZERO? P-NCN \?CCL9
GET P-ITBL,P-PREP1 >PREP
- ZERO? PREP /?THN13
+ ZERO? PREP /?CTR8
GETB SYN,P-SPREP1
- EQUAL? PREP,STACK \?ELS10
-?THN13: SET 'DRIVE1,SYN
- JUMP ?CND6
-?ELS10: GETB SYN,P-SPREP1 >?TMP1
+ EQUAL? PREP,STACK \?CCL9
+?CTR8: SET 'DRIVE1,SYN
+ JUMP ?CND5
+?CCL9: GETB SYN,P-SPREP1 >?TMP1
GET P-ITBL,P-PREP1
- EQUAL? ?TMP1,STACK \?CND6
- EQUAL? NUM,2 \?ELS19
- EQUAL? P-NCN,1 \?ELS19
+ EQUAL? ?TMP1,STACK \?CND5
+ EQUAL? NUM,2 \?CCL18
+ EQUAL? P-NCN,1 \?CCL18
SET 'DRIVE2,SYN
- JUMP ?CND6
-?ELS19: GETB SYN,P-SPREP2 >?TMP1
+?CND5: DLESS? 'LEN,1 \?CCL24
+ ZERO? DRIVE1 \?REP4
+ ZERO? DRIVE2 \?REP4
+ CALL RECOGNIZE
+ RFALSE
+?CCL18: GETB SYN,P-SPREP2 >?TMP1
GET P-ITBL,P-PREP2
- EQUAL? ?TMP1,STACK \?CND6
+ EQUAL? ?TMP1,STACK \?CND5
CALL SYNTAX-FOUND,SYN
RTRUE
-?CND6: DLESS? 'LEN,1 \?ELS26
- ZERO? DRIVE1 \?REP5
- ZERO? DRIVE2 \?REP5
- CALL RECOGNIZE
- RFALSE
-?ELS26: ADD SYN,P-SYNLEN >SYN
- JUMP ?PRG4
-?REP5: ZERO? DRIVE1 /?ELS40
+?CCL24: ADD SYN,P-SYNLEN >SYN
+ JUMP ?PRG3
+?REP4: ZERO? DRIVE1 /?CCL32
GETB DRIVE1,P-SFWIM1 >?TMP2
GETB DRIVE1,P-SLOC1 >?TMP1
GETB DRIVE1,P-SPREP1
CALL GWIM,?TMP2,?TMP1,STACK >OBJ
- ZERO? OBJ /?ELS40
+ ZERO? OBJ /?CCL32
PUT P-PRSO,P-MATCHLEN,1
PUT P-PRSO,1,OBJ
CALL SYNTAX-FOUND,DRIVE1
RSTACK
-?ELS40: ZERO? DRIVE2 /?ELS44
+?CCL32: ZERO? DRIVE2 /?CCL36
GETB DRIVE2,P-SFWIM2 >?TMP2
GETB DRIVE2,P-SLOC2 >?TMP1
GETB DRIVE2,P-SPREP2
CALL GWIM,?TMP2,?TMP1,STACK >OBJ
- ZERO? OBJ /?ELS44
+ ZERO? OBJ /?CCL36
PUT P-PRSI,P-MATCHLEN,1
PUT P-PRSI,1,OBJ
CALL SYNTAX-FOUND,DRIVE2
RSTACK
-?ELS44: EQUAL? WINNER,PROTAGONIST \?ELS51
+?CCL36: EQUAL? WINNER,PROTAGONIST \?CCL41
CALL ORPHAN,DRIVE1,DRIVE2
PRINTI "[Wh"
- JUMP ?CND49
-?ELS51: PRINTI "[Your command was not complete. Next time, type wh"
-?CND49: EQUAL? VERB,ACT?WALK,ACT?GO \?ELS56
+ JUMP ?CND39
+?CCL41: PRINTI "[Your command was not complete. Next time, type wh"
+?CND39: EQUAL? VERB,ACT?WALK,ACT?GO \?CCL44
PRINTI "ere"
- JUMP ?CND54
-?ELS56: ZERO? DRIVE1 /?ELS62
+ JUMP ?CND42
+?CCL44: ZERO? DRIVE1 /?PRD48
GETB DRIVE1,P-SFWIM1
- EQUAL? STACK,ACTORBIT /?THN59
-?ELS62: ZERO? DRIVE2 /?ELS58
+ EQUAL? STACK,ACTORBIT /?CTR45
+?PRD48: ZERO? DRIVE2 /?CCL46
GETB DRIVE2,P-SFWIM2
- EQUAL? STACK,ACTORBIT \?ELS58
-?THN59: PRINTI "om"
- JUMP ?CND54
-?ELS58: PRINTI "at"
-?CND54: EQUAL? WINNER,PROTAGONIST \?ELS69
+ EQUAL? STACK,ACTORBIT \?CCL46
+?CTR45: PRINTI "om"
+ JUMP ?CND42
+?CCL46: PRINTI "at"
+?CND42: EQUAL? WINNER,PROTAGONIST \?CCL55
PRINTI " do you want to "
- JUMP ?CND67
-?ELS69: PRINTI " you want"
+ JUMP ?CND53
+?CCL55: PRINTI " you want"
CALL TPRINT,WINNER
PRINTI " to "
-?CND67: CALL VERB-PRINT
+?CND53: CALL VERB-PRINT
SET 'P-OFLAG,FALSE-VALUE
- ZERO? DRIVE2 /?CND72
+ ZERO? DRIVE2 /?CND56
SET 'PREP,P-MERGED
SET 'P-MERGED,FALSE-VALUE
CALL CLAUSE-PRINT,P-NC1,P-NC1L
SET 'P-MERGED,PREP
-?CND72: ZERO? DRIVE1 /?ELS80
+?CND56: ZERO? DRIVE1 /?CCL60
GETB DRIVE1,P-SPREP1
- JUMP ?CND76
-?ELS80: GETB DRIVE2,P-SPREP2
-?CND76: CALL PREP-PRINT,STACK
- EQUAL? WINNER,PROTAGONIST \?ELS86
+ JUMP ?CND58
+?CCL60: GETB DRIVE2,P-SPREP2
+?CND58: CALL PREP-PRINT,STACK
+ EQUAL? WINNER,PROTAGONIST \?CCL63
SET 'P-OFLAG,TRUE-VALUE
PRINTI "?]"
CRLF
RFALSE
-?ELS86: SET 'P-OFLAG,FALSE-VALUE
+?CCL63: SET 'P-OFLAG,FALSE-VALUE
PRINTI ".]"
CRLF
RFALSE
@@ -932,18 +926,18 @@
.FUNCT VERB-PRINT,TMP,?TMP1
GET P-ITBL,P-VERBN >TMP
- ZERO? TMP \?ELS5
+ ZERO? TMP \?CCL3
PRINTI "tell"
RTRUE
-?ELS5: EQUAL? TMP,W?ZZMGCK \?ELS7
+?CCL3: EQUAL? TMP,W?ZZMGCK \?CCL5
PRINTI "answer"
RTRUE
-?ELS7: GETB TMP,2
- ZERO? STACK \?ELS9
+?CCL5: GETB TMP,2
+ ZERO? STACK \?CCL7
GET TMP,0
PRINTB STACK
RTRUE
-?ELS9: GETB TMP,2 >?TMP1
+?CCL7: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
PUTB TMP,2,0
@@ -960,26 +954,26 @@
PUTB P-OVTBL,2,STACK
GETB P-VTBL,3
PUTB P-OVTBL,3,STACK
-?PRG4: IGRTR? 'CNT,P-ITBLLEN /?REP5
+?PRG3: IGRTR? 'CNT,P-ITBLLEN /?REP4
GET P-ITBL,CNT
PUT P-OTBL,CNT,STACK
- JUMP ?PRG4
-?REP5: EQUAL? P-NCN,2 \?CND11
+ JUMP ?PRG3
+?REP4: EQUAL? P-NCN,2 \?CND8
PUT P-CCTBL,CC-SBPTR,P-NC2
PUT P-CCTBL,CC-SEPTR,P-NC2L
PUT P-CCTBL,CC-OCLAUSE,P-OCL2
CALL CLAUSE-COPY,P-ITBL,P-OTBL
-?CND11: LESS? P-NCN,1 /?CND14
+?CND8: LESS? P-NCN,1 /?CND10
PUT P-CCTBL,CC-SBPTR,P-NC1
PUT P-CCTBL,CC-SEPTR,P-NC1L
PUT P-CCTBL,CC-OCLAUSE,P-OCL1
CALL CLAUSE-COPY,P-ITBL,P-OTBL
-?CND14: ZERO? D1 /?ELS21
+?CND10: ZERO? D1 /?CCL14
GETB D1,P-SPREP1
PUT P-OTBL,P-PREP1,STACK
PUT P-OTBL,P-NC1,1
RTRUE
-?ELS21: ZERO? D2 /FALSE
+?CCL14: ZERO? D2 /FALSE
GETB D2,P-SPREP2
PUT P-OTBL,P-PREP2,STACK
PUT P-OTBL,P-NC2,1
@@ -995,62 +989,64 @@
.FUNCT BUFFER-PRINT,BEG,END,CP,NOSP=0,WRD,FIRST??=1,PN=0,?TMP1
?PRG1: EQUAL? BEG,END /TRUE
- ZERO? NOSP /?ELS10
+ ZERO? NOSP /?CCL8
SET 'NOSP,FALSE-VALUE
- JUMP ?CND8
-?ELS10: PRINTC 32
-?CND8: GET BEG,0 >WRD
- EQUAL? WRD,W?PERIOD \?ELS16
+ JUMP ?CND6
+?CCL8: PRINTC 32
+?CND6: GET BEG,0 >WRD
+ EQUAL? WRD,W?PERIOD \?CCL11
SET 'NOSP,TRUE-VALUE
JUMP ?CND3
-?ELS16: EQUAL? WRD,W?ME,W?MYSELF \?ELS18
+?CCL11: EQUAL? WRD,W?ME,W?MYSELF \?CCL13
PRINTD ME
SET 'PN,TRUE-VALUE
JUMP ?CND3
-?ELS18: CALL NAME?,WRD
- ZERO? STACK /?ELS20
+?CCL13: CALL NAME?,WRD
+ ZERO? STACK /?CCL15
CALL CAPITALIZE,BEG
SET 'PN,TRUE-VALUE
JUMP ?CND3
-?ELS20: ZERO? FIRST?? /?CND23
- ZERO? PN \?CND23
- ZERO? CP /?CND23
- EQUAL? WRD,W?MY /?CND23
+?CCL15: ZERO? FIRST?? /?CND16
+ ZERO? PN \?CND16
+ ZERO? CP /?CND16
+ EQUAL? WRD,W?MY /?CND16
PRINTI "the "
-?CND23: ZERO? P-OFLAG \?THN31
- ZERO? P-MERGED /?ELS30
-?THN31: PRINTB WRD
- JUMP ?CND28
-?ELS30: EQUAL? WRD,W?IT,W?THEM \?ELS34
+?CND16: ZERO? P-OFLAG \?CTR23
+ ZERO? P-MERGED /?CCL24
+?CTR23: PRINTB WRD
+ JUMP ?CND22
+?CCL24: EQUAL? WRD,W?IT,W?THEM \?CCL28
CALL ACCESSIBLE?,P-IT-OBJECT
- ZERO? STACK /?ELS34
+ ZERO? STACK /?CCL28
PRINTD P-IT-OBJECT
- JUMP ?CND28
-?ELS34: EQUAL? WRD,W?HIM,W?HIMSELF \?ELS38
- CALL ACCESSIBLE?,P-HIM-OBJECT
- ZERO? STACK /?ELS38
+ JUMP ?CND22
+?CCL28: EQUAL? WRD,W?HIM,W?HIMSELF,W?HER /?PRD34
+ EQUAL? WRD,W?HERSELF \?CCL32
+?PRD34: CALL ACCESSIBLE?,P-HIM-OBJECT
+ ZERO? STACK /?CCL32
PRINTD P-HIM-OBJECT
- JUMP ?CND28
-?ELS38: GETB BEG,2 >?TMP1
+ JUMP ?CND22
+?CCL32: GETB BEG,2 >?TMP1
GETB BEG,3
CALL WORD-PRINT,?TMP1,STACK
-?CND28: SET 'FIRST??,FALSE-VALUE
+?CND22: SET 'FIRST??,FALSE-VALUE
?CND3: ADD BEG,P-WORDLEN >BEG
JUMP ?PRG1
.FUNCT NAME?,WRD
- EQUAL? WRD,W?FLOYD,W?PLATO \FALSE
- RTRUE
+ EQUAL? WRD,W?FLOYD,W?PLATO,W?OLIVER /TRUE
+ EQUAL? WRD,W?THERMOS /TRUE
+ RFALSE
.FUNCT CAPITALIZE,PTR,?TMP1
- ZERO? P-OFLAG \?THN6
- ZERO? P-MERGED /?ELS5
-?THN6: GET PTR,0
+ ZERO? P-OFLAG \?CTR2
+ ZERO? P-MERGED /?CCL3
+?CTR2: GET PTR,0
PRINTB STACK
RTRUE
-?ELS5: GETB PTR,3
+?CCL3: GETB PTR,3
GETB P-INBUF,STACK
SUB STACK,32
PRINTC STACK
@@ -1065,10 +1061,10 @@
.FUNCT PREP-PRINT,PREP,WRD
ZERO? PREP /FALSE
PRINTC 32
- EQUAL? PREP,PR?THROUGH \?ELS10
+ EQUAL? PREP,PR?THROUGH \?CCL6
PRINTI "through"
RTRUE
-?ELS10: CALL PREP-FIND,PREP >WRD
+?CCL6: CALL PREP-FIND,PREP >WRD
PRINTB WRD
RTRUE
@@ -1081,42 +1077,42 @@
GET SRC,EE >END
GET OCL,P-MATCHLEN >OBEG
?PRG1: EQUAL? BEG,END /?REP2
- ZERO? INSRT /?ELS8
+ ZERO? INSRT /?CCL7
GET BEG,0
- EQUAL? P-ANAM,STACK \?ELS8
- EQUAL? INSRT,TRUE-VALUE \?ELS13
+ EQUAL? P-ANAM,STACK \?CCL7
+ EQUAL? INSRT,TRUE-VALUE \?CCL12
GET P-ITBL,P-NC1 >B
GET P-ITBL,P-NC1L >E
-?PRG14: EQUAL? B,E /?CND6
+?PRG13: EQUAL? B,E /?CND5
GET B,0
CALL CLAUSE-ADD,STACK
ADD B,P-WORDLEN >B
- JUMP ?PRG14
-?ELS13: GET OCL,1
- EQUAL? INSRT,STACK /?CND6
+ JUMP ?PRG13
+?CCL12: GET OCL,1
+ EQUAL? INSRT,STACK /?CND5
CALL CLAUSE-ADD,INSRT
GET BEG,0
CALL CLAUSE-ADD,STACK
- JUMP ?CND6
-?ELS8: GET BEG,0
+ JUMP ?CND5
+?CCL7: GET BEG,0
CALL CLAUSE-ADD,STACK
-?CND6: ADD BEG,P-WORDLEN >BEG
+?CND5: ADD BEG,P-WORDLEN >BEG
JUMP ?PRG1
-?REP2: EQUAL? SRC,DEST \?CND23
- GRTR? OBEG,0 \?CND23
+?REP2: EQUAL? SRC,DEST \?CND18
+ GRTR? OBEG,0 \?CND18
GET OCL,P-MATCHLEN
SUB STACK,OBEG >CNT
- GRTR? CNT,0 \?CND23
+ GRTR? CNT,0 \?CND18
PUT OCL,P-MATCHLEN,0
INC 'OBEG
-?PRG28: GET OCL,OBEG
+?PRG23: GET OCL,OBEG
CALL CLAUSE-ADD,STACK
SUB CNT,2 >CNT
- ZERO? CNT /?REP29
+ ZERO? CNT /?REP24
ADD OBEG,2 >OBEG
- JUMP ?PRG28
-?REP29: SET 'OBEG,0
-?CND23: MUL OBEG,P-LEXELEN
+ JUMP ?PRG23
+?REP24: SET 'OBEG,0
+?CND18: MUL OBEG,P-LEXELEN
ADD STACK,2
ADD OCL,STACK
PUT DEST,BB,STACK
@@ -1163,27 +1159,27 @@
SET 'P-SLOCBITS,LBIT
PUT P-MERGE,P-MATCHLEN,0
CALL GET-OBJECT,P-MERGE,FALSE-VALUE
- ZERO? STACK /?ELS8
+ ZERO? STACK /?CCL5
SET 'P-GWIMBIT,0
GET P-MERGE,P-MATCHLEN
EQUAL? STACK,1 \FALSE
GET P-MERGE,1 >OBJ
PRINTC 91
- ZERO? PREP /?CND14
- ZERO? P-END-ON-PREP \?CND14
+ ZERO? PREP /?CND9
+ ZERO? P-END-ON-PREP \?CND9
CALL PREP-FIND,PREP >PREP
PRINTB PREP
- EQUAL? PREP,W?OUT \?CND19
+ EQUAL? PREP,W?OUT \?CND13
PRINTI " of"
-?CND19: FSET? OBJ,NARTICLEBIT /?ELS24
+?CND13: FSET? OBJ,NARTICLEBIT /?CCL17
PRINTI " the "
- JUMP ?CND14
-?ELS24: PRINTC 32
-?CND14: PRINTD OBJ
+ JUMP ?CND9
+?CCL17: PRINTC 32
+?CND9: PRINTD OBJ
PRINTC 93
CRLF
RETURN OBJ
-?ELS8: SET 'P-GWIMBIT,0
+?CCL5: SET 'P-GWIMBIT,0
RFALSE
@@ -1208,10 +1204,10 @@
GET P-BUTS,P-MATCHLEN
ZERO? STACK /TRUE
GET P-PRSI,P-MATCHLEN
- EQUAL? STACK,1 \?ELS18
+ EQUAL? STACK,1 \?CCL15
CALL BUT-MERGE,P-PRSO >P-PRSO
RTRUE
-?ELS18: CALL BUT-MERGE,P-PRSI >P-PRSI
+?CCL15: CALL BUT-MERGE,P-PRSI >P-PRSI
RTRUE
@@ -1241,213 +1237,213 @@
PUT P-BUTS,P-MATCHLEN,0
PUT TBL,P-MATCHLEN,0
GET PTR,0 >WRD
-?PRG4: EQUAL? PTR,EPTR \?ELS8
- ZERO? BUT /?ORP12
+?PRG3: EQUAL? PTR,EPTR \?CCL7
+ ZERO? BUT /?PRD10
PUSH BUT
- JUMP ?THN9
-?ORP12: PUSH TBL
-?THN9: CALL GET-OBJECT,STACK >WV
- ZERO? WAS-ALL /?CND13
- SET 'P-GETFLAGS,P-ALL
-?CND13: RETURN WV
-?ELS8: ADD PTR,P-WORDLEN
- EQUAL? EPTR,STACK \?ELS21
+ JUMP ?PEN8
+?PRD10: PUSH TBL
+?PEN8: CALL GET-OBJECT,STACK >WV
+ ZERO? WAS-ALL \?CCL12
+ RETURN WV
+?CCL12: SET 'P-GETFLAGS,P-ALL
+ RETURN WV
+?CCL7: ADD PTR,P-WORDLEN
+ EQUAL? EPTR,STACK \?CCL15
SET 'NW,0
- JUMP ?CND19
-?ELS21: GET PTR,P-LEXELEN >NW
-?CND19: EQUAL? WRD,W?ALL,W?BOTH,W?EVERYT \?ELS26
+ JUMP ?CND13
+?CCL15: GET PTR,P-LEXELEN >NW
+?CND13: EQUAL? WRD,W?ALL,W?BOTH,W?EVERYT \?CCL18
CALL MANY-CHECK,P-PHR
ZERO? STACK /FALSE
SET 'P-GETFLAGS,P-ALL
- EQUAL? NW,W?OF \?CND6
+ EQUAL? NW,W?OF \?CND5
ADD PTR,P-WORDLEN >PTR
- JUMP ?CND6
-?ELS26: CALL NAUGHTY-WORD?,WRD
+ JUMP ?CND5
+?CCL18: CALL NAUGHTY-WORD?,WRD
ZERO? STACK \FALSE
- EQUAL? WRD,W?BUT,W?EXCEPT \?ELS36
- ZERO? BUT /?ORP42
+ EQUAL? WRD,W?BUT,W?EXCEPT \?CCL26
+ ZERO? BUT /?PRD31
PUSH BUT
- JUMP ?THN39
-?ORP42: PUSH TBL
-?THN39: CALL GET-OBJECT,STACK
+ JUMP ?PEN29
+?PRD31: PUSH TBL
+?PEN29: CALL GET-OBJECT,STACK
ZERO? STACK /FALSE
SET 'BUT,P-BUTS
PUT BUT,P-MATCHLEN,0
- JUMP ?CND6
-?ELS36: EQUAL? WRD,W?A,W?ONE \?ELS44
- ZERO? P-ADJ \?ELS47
+ JUMP ?CND5
+?CCL26: EQUAL? WRD,W?A,W?ONE \?CCL33
+ ZERO? P-ADJ \?CCL36
SET 'P-GETFLAGS,P-ONE
- EQUAL? NW,W?OF \?CND6
+ EQUAL? NW,W?OF \?CND5
ADD PTR,P-WORDLEN >PTR
- JUMP ?CND6
-?ELS47: SET 'P-NAM,P-ONEOBJ
- ZERO? BUT /?ORP58
+ JUMP ?CND5
+?CCL36: SET 'P-NAM,P-ONEOBJ
+ ZERO? BUT /?PRD43
PUSH BUT
- JUMP ?THN55
-?ORP58: PUSH TBL
-?THN55: CALL GET-OBJECT,STACK
+ JUMP ?PEN41
+?PRD43: PUSH TBL
+?PEN41: CALL GET-OBJECT,STACK
ZERO? STACK /FALSE
- ZERO? NW \?CND6
+ ZERO? NW \?CND5
RTRUE
-?ELS44: EQUAL? WRD,W?AND,W?COMMA \?ELS62
- EQUAL? NW,W?AND,W?COMMA /?ELS62
+?CCL33: EQUAL? WRD,W?AND,W?COMMA \?CCL47
+ EQUAL? NW,W?AND,W?COMMA /?CCL47
SET 'P-AND,TRUE-VALUE
- ZERO? BUT /?ORP70
+ ZERO? BUT /?PRD54
PUSH BUT
- JUMP ?THN67
-?ORP70: PUSH TBL
-?THN67: CALL GET-OBJECT,STACK
- ZERO? STACK \?CND6
+ JUMP ?PEN52
+?PRD54: PUSH TBL
+?PEN52: CALL GET-OBJECT,STACK
+ ZERO? STACK \?CND5
RFALSE
-?ELS62: CALL WT?,WRD,4
- ZERO? STACK \?CND6
- EQUAL? WRD,W?AND,W?COMMA /?CND6
- EQUAL? WRD,W?OF \?ELS76
- ZERO? P-GETFLAGS \?CND6
+?CCL47: CALL WT?,WRD,4
+ ZERO? STACK \?CND5
+ EQUAL? WRD,W?AND,W?COMMA /?CND5
+ EQUAL? WRD,W?OF \?CCL58
+ ZERO? P-GETFLAGS \?CND5
SET 'P-GETFLAGS,P-INHIBIT
- JUMP ?CND6
-?ELS76: CALL WT?,WRD,32,2 >WV
- ZERO? WV /?ELS81
+ JUMP ?CND5
+?CCL58: CALL WT?,WRD,32,2 >WV
+ ZERO? WV /?CCL62
CALL ADJ-CHECK,WRD,P-ADJ,P-ADJN
- ZERO? STACK /?ELS81
- EQUAL? NW,W?OF /?ELS81
+ ZERO? STACK /?CCL62
+ EQUAL? NW,W?OF /?CCL62
SET 'P-ADJ,WV
SET 'P-ADJN,WRD
- JUMP ?CND6
-?ELS81: CALL WT?,WRD,128,0
- ZERO? STACK /?CND6
+ JUMP ?CND5
+?CCL62: CALL WT?,WRD,128,0
+ ZERO? STACK /?CND5
SET 'P-NAM,WRD
SET 'P-ONEOBJ,WRD
-?CND6: EQUAL? PTR,EPTR /?PRG4
+?CND5: EQUAL? PTR,EPTR /?PRG3
ADD PTR,P-WORDLEN >PTR
SET 'WRD,NW
- JUMP ?PRG4
+ JUMP ?PRG3
.FUNCT NAUGHTY-WORD?,WORD
- EQUAL? WORD,W?ASS,W?ASSHOLE,W?BITCH /?THN6
- EQUAL? WORD,W?BASTARD,W?COCK,W?COCKSU /?THN6
- EQUAL? WORD,W?CUNT,W?DAMN,W?DAMNED /?THN6
- EQUAL? WORD,W?FUCK,W?FUCKED,W?FUCKING /?THN6
- EQUAL? WORD,W?SHIT,W?SHITHEAD,W?SHITTY /?THN6
- EQUAL? WORD,W?TROT,W?KRIP,W?MEGAKRIP /?THN6
+ EQUAL? WORD,W?ASS,W?ASSHOLE,W?BITCH /?CTR2
+ EQUAL? WORD,W?BASTARD,W?COCK,W?COCKSU /?CTR2
+ EQUAL? WORD,W?CUNT,W?DAMN,W?DAMNED /?CTR2
+ EQUAL? WORD,W?FUCK,W?FUCKED,W?FUCKING /?CTR2
+ EQUAL? WORD,W?SHIT,W?SHITHEAD,W?SHITTY /?CTR2
+ EQUAL? WORD,W?TROT,W?KRIP,W?MEGAKRIP /?CTR2
EQUAL? WORD,W?TROTTING \FALSE
-?THN6: PRINTR "Such language from a Lieutenant in the Stellar Patrol!"
+?CTR2: PRINTR "Such language from a Lieutenant in the Stellar Patrol!"
.FUNCT ADJ-CHECK,WRD,ADJ,ADJN
ZERO? ADJ /TRUE
EQUAL? WRD,W?INNER,W?OUTER,W?LARGE /TRUE
- EQUAL? WRD,W?SMALL,W?TWELVE,W?TWENTY \FALSE
- RTRUE
+ EQUAL? WRD,W?SMALL,W?MEDIUM,W?TWELVE /TRUE
+ EQUAL? WRD,W?TWENTY,W?PROCESSING,W?DISPEN /TRUE
+ RFALSE
.FUNCT GET-OBJECT,TBL,VRB=1,BITS,LEN,XBITS,TLEN,GCHECK=0,OLEN=0,OBJ
SET 'XBITS,P-SLOCBITS
GET TBL,P-MATCHLEN >TLEN
BTST P-GETFLAGS,P-INHIBIT /TRUE
- ZERO? P-NAM \?CND4
- ZERO? P-ADJ /?CND4
+ ZERO? P-NAM \?CND3
+ ZERO? P-ADJ /?CND3
CALL WT?,P-ADJN,128,0
- ZERO? STACK /?ELS11
+ ZERO? STACK /?CCL9
SET 'P-NAM,P-ADJN
SET 'P-ADJ,FALSE-VALUE
SET 'P-ADJN,FALSE-VALUE
- JUMP ?CND4
-?ELS11: CALL WT?,P-ADJN,16,3 >BITS
- ZERO? BITS /?CND4
+ JUMP ?CND3
+?CCL9: CALL WT?,P-ADJN,16,3 >BITS
+ ZERO? BITS /?CND3
SET 'P-DIRECTION,BITS
-?CND4: ZERO? P-NAM \?CND14
- ZERO? P-ADJ \?CND14
- EQUAL? P-GETFLAGS,P-ALL /?CND14
- ZERO? P-GWIMBIT \?CND14
+?CND3: ZERO? P-NAM \?CND11
+ ZERO? P-ADJ \?CND11
+ EQUAL? P-GETFLAGS,P-ALL /?CND11
+ ZERO? P-GWIMBIT \?CND11
ZERO? VRB /FALSE
PRINT NOUN-MISSING
RFALSE
-?CND14: EQUAL? P-GETFLAGS,P-ALL \?THN26
- ZERO? P-SLOCBITS \?CND23
-?THN26: SET 'P-SLOCBITS,-1
-?CND23: SET 'P-TABLE,TBL
-?PRG28: ZERO? GCHECK /?ELS32
+?CND11: EQUAL? P-GETFLAGS,P-ALL \?CCL20
+ ZERO? P-SLOCBITS \?CND19
+?CCL20: SET 'P-SLOCBITS,-1
+?CND19: SET 'P-TABLE,TBL
+?PRG23: ZERO? GCHECK /?CCL27
CALL GLOBAL-CHECK,TBL
- JUMP ?CND30
-?ELS32: ZERO? LIT \?THN39
- EQUAL? PRSA,V?TELL \?ELS38
-?THN39: FCLEAR WINNER,TRANSBIT
+ JUMP ?CND25
+?CCL27: ZERO? LIT \?CTR29
+ EQUAL? PRSA,V?TELL \?CCL30
+?CTR29: FCLEAR WINNER,OPENBIT
CALL DO-SL,HERE,SOG,SIR
- FSET WINNER,TRANSBIT
- JUMP ?CND36
-?ELS38: LOC WINNER
- FSET? STACK,VEHBIT \?CND36
+ FSET WINNER,OPENBIT
+ JUMP ?CND28
+?CCL30: LOC WINNER
+ FSET? STACK,VEHBIT \?CND28
LOC WINNER
CALL THIS-IT?,STACK
- ZERO? STACK /?CND36
+ ZERO? STACK /?CND28
LOC WINNER
CALL OBJ-FOUND,STACK,TBL
-?CND36: CALL DO-SL,WINNER,SH,SC
-?CND30: GET TBL,P-MATCHLEN
+?CND28: CALL DO-SL,WINNER,SH,SC
+?CND25: GET TBL,P-MATCHLEN
SUB STACK,TLEN >LEN
- BTST P-GETFLAGS,P-ALL /?CND45
- EQUAL? P-GETFLAGS,P-ALL /?ELS49
- GRTR? LEN,1 /?THN52
- ZERO? LEN \?ELS49
- EQUAL? P-SLOCBITS,-1 /?ELS49
-?THN52: EQUAL? P-SLOCBITS,-1 \?ELS58
+ BTST P-GETFLAGS,P-ALL /?CND36
+ EQUAL? P-GETFLAGS,P-ALL /?CCL39
+ GRTR? LEN,1 /?CTR38
+ ZERO? LEN \?CCL39
+ EQUAL? P-SLOCBITS,-1 /?CCL39
+?CTR38: EQUAL? P-SLOCBITS,-1 \?CCL48
SET 'P-SLOCBITS,XBITS
SET 'OLEN,LEN
GET TBL,P-MATCHLEN
SUB STACK,LEN
PUT TBL,P-MATCHLEN,STACK
- JUMP ?PRG28
-?ELS58: CALL PUT-ADJ-NAM
- ZERO? LEN \?CND61
+ JUMP ?PRG23
+?CCL48: CALL PUT-ADJ-NAM
+ ZERO? LEN \?CND49
SET 'LEN,OLEN
-?CND61: ZERO? P-NAM /?ELS66
+?CND49: ZERO? P-NAM /?CCL53
ADD TLEN,1
GET TBL,STACK >OBJ
- ZERO? OBJ /?ELS66
+ ZERO? OBJ /?CCL53
GETP OBJ,P?GENERIC
CALL STACK >OBJ
- ZERO? OBJ /?ELS66
+ ZERO? OBJ /?CCL53
EQUAL? OBJ,NOT-HERE-OBJECT /FALSE
PUT TBL,1,OBJ
PUT TBL,P-MATCHLEN,1
SET 'P-NAM,FALSE-VALUE
SET 'P-ADJ,FALSE-VALUE
RTRUE
-?ELS66: ZERO? VRB /?ELS73
- EQUAL? WINNER,PROTAGONIST /?ELS73
+?CCL53: ZERO? VRB /?CCL60
+ EQUAL? WINNER,PROTAGONIST /?CCL60
CALL WHICH-PRINT,TLEN,LEN,TBL
SET 'P-NAM,FALSE-VALUE
SET 'P-ADJ,FALSE-VALUE
RFALSE
-?ELS73: ZERO? VRB /?ELS77
- ZERO? P-NAM /?ELS77
+?CCL60: ZERO? VRB /?CCL64
+ ZERO? P-NAM /?CCL64
CALL WHICH-PRINT,TLEN,LEN,TBL
- EQUAL? TBL,P-PRSO \?ELS84
- PUSH P-NC1
- JUMP ?CND80
-?ELS84: PUSH P-NC2
-?CND80: SET 'P-ACLAUSE,STACK
- SET 'P-AADJ,P-ADJ
+ EQUAL? TBL,P-PRSO \?CCL69
+ SET 'P-ACLAUSE,P-NC1
+ JUMP ?CND67
+?CCL69: SET 'P-ACLAUSE,P-NC2
+?CND67: SET 'P-AADJ,P-ADJ
SET 'P-ANAM,P-NAM
CALL ORPHAN,FALSE-VALUE,FALSE-VALUE
SET 'P-OFLAG,TRUE-VALUE
- JUMP ?CND64
-?ELS77: ZERO? VRB /?CND64
+ JUMP ?CND51
+?CCL64: ZERO? VRB /?CND51
PRINT NOUN-MISSING
-?CND64: SET 'P-NAM,FALSE-VALUE
+?CND51: SET 'P-NAM,FALSE-VALUE
SET 'P-ADJ,FALSE-VALUE
RFALSE
-?ELS49: ZERO? LEN \?ELS91
- ZERO? GCHECK /?ELS91
+?CCL39: ZERO? LEN \?CCL72
+ ZERO? GCHECK /?CCL72
CALL PUT-ADJ-NAM
- ZERO? VRB /?CND94
+ ZERO? VRB /?CND75
SET 'P-SLOCBITS,XBITS
- ZERO? LIT \?THN101
- EQUAL? PRSA,V?TELL /?THN101
- EQUAL? PRSA,V?WHERE,V?WHAT \?ELS100
-?THN101: CALL OBJ-FOUND,NOT-HERE-OBJECT,TBL
+ ZERO? LIT \?CTR78
+ EQUAL? PRSA,V?TELL,V?WHERE,V?WHAT \?CCL79
+?CTR78: CALL OBJ-FOUND,NOT-HERE-OBJECT,TBL
SET 'P-XNAM,P-NAM
SET 'P-XADJ,P-ADJ
SET 'P-XADJN,P-ADJN
@@ -1455,15 +1451,15 @@
SET 'P-ADJ,FALSE-VALUE
SET 'P-ADJN,FALSE-VALUE
RTRUE
-?ELS100: PRINT TOO-DARK
+?CCL79: PRINT TOO-DARK
CRLF
-?CND94: SET 'P-NAM,FALSE-VALUE
+?CND75: SET 'P-NAM,FALSE-VALUE
SET 'P-ADJ,FALSE-VALUE
RFALSE
-?ELS91: ZERO? LEN \?CND45
+?CCL72: ZERO? LEN \?CND36
SET 'GCHECK,TRUE-VALUE
- JUMP ?PRG28
-?CND45: SET 'P-SLOCBITS,XBITS
+ JUMP ?PRG23
+?CND36: SET 'P-SLOCBITS,XBITS
CALL PUT-ADJ-NAM
SET 'P-NAM,FALSE-VALUE
SET 'P-ADJ,FALSE-VALUE
@@ -1488,15 +1484,15 @@
PRINTC 93
CRLF
?CND1: PUT TBL,P-MATCHLEN,0
-?PRG7: IN? OBJ,ROOMS /?CND9
+?PRG5: IN? OBJ,ROOMS /?CND7
CALL THIS-IT?,OBJ >FOO
- ZERO? FOO /?CND9
+ ZERO? FOO /?CND7
CALL OBJ-FOUND,OBJ,TBL >FOO
-?CND9: IGRTR? 'OBJ,LAST-OBJECT \?PRG7
+?CND7: IGRTR? 'OBJ,LAST-OBJECT \?PRG5
GET TBL,P-MATCHLEN >LEN
- EQUAL? LEN,1 \?CND17
+ EQUAL? LEN,1 \?CND13
GET TBL,1 >P-MOBY-FOUND
-?CND17: SET 'P-NAM,NAM
+?CND13: SET 'P-NAM,NAM
SET 'P-ADJ,ADJ
RETURN LEN
@@ -1506,39 +1502,44 @@
CALL REFERRING
RTRUE
?CND1: SET 'RLEN,LEN
- EQUAL? WINNER,PROTAGONIST /?ELS6
- PRINTI """I don't understand whether you mean "
- JUMP ?CND4
-?ELS6: PRINTI "[Which"
- ZERO? P-OFLAG \?THN12
- ZERO? P-MERGED \?THN12
- ZERO? P-AND /?ELS11
-?THN12: PRINTC 32
+ EQUAL? WINNER,PROTAGONIST /?CCL5
+ PRINTI """I don't understand wh"
+ EQUAL? P-ADJ,W?YOUR,W?MY \?CCL8
+ PRINTR "at you mean!"""
+?CCL8: PRINTI "ether you mean "
+ JUMP ?PRG22
+?CCL5: PRINTI "[Which"
+ ZERO? P-OFLAG \?CTR10
+ ZERO? P-MERGED \?CTR10
+ ZERO? P-AND /?CCL11
+?CTR10: PRINTC 32
PRINTB P-NAM
JUMP ?CND9
-?ELS11: EQUAL? TBL,P-PRSO \?ELS15
+?CCL11: EQUAL? TBL,P-PRSO \?CCL16
CALL CLAUSE-PRINT,P-NC1,P-NC1L,FALSE-VALUE
JUMP ?CND9
-?ELS15: CALL CLAUSE-PRINT,P-NC2,P-NC2L,FALSE-VALUE
-?CND9: PRINTI " do you mean, "
-?CND4:
-?PRG18: INC 'TLEN
+?CCL16: CALL CLAUSE-PRINT,P-NC2,P-NC2L,FALSE-VALUE
+?CND9: PRINTI " do you mean"
+ EQUAL? HERE,ROBOT-POOL \?CCL19
+ EQUAL? P-NAM,W?ROBOT \?CCL19
+ PRINTR "?]"
+?CCL19: PRINTI ", "
+?PRG22: INC 'TLEN
GET TBL,TLEN >OBJ
- FSET? OBJ,NARTICLEBIT /?CND20
+ FSET? OBJ,NARTICLEBIT /?CND24
PRINTI "the "
-?CND20: PRINTD OBJ
- EQUAL? LEN,2 \?ELS25
- EQUAL? RLEN,2 /?CND26
+?CND24: PRINTD OBJ
+ EQUAL? LEN,2 \?CCL28
+ EQUAL? RLEN,2 /?CND29
PRINTC 44
-?CND26: PRINTI " or "
- JUMP ?CND23
-?ELS25: GRTR? LEN,2 \?CND23
+?CND29: PRINTI " or "
+ JUMP ?CND26
+?CCL28: GRTR? LEN,2 \?CND26
PRINTI ", "
-?CND23: DEC 'LEN
- LESS? LEN,1 \?PRG18
- EQUAL? WINNER,PROTAGONIST /?ELS38
+?CND26: DLESS? 'LEN,1 \?PRG22
+ EQUAL? WINNER,PROTAGONIST /?CCL36
PRINTR "."""
-?ELS38: PRINTR "?]"
+?CCL36: PRINTR "?]"
.FUNCT GLOBAL-CHECK,TBL,LEN,RMG,RMGL,CNT=0,OBJ,OBITS,FOO
@@ -1548,27 +1549,27 @@
ZERO? RMG /?CND1
PTSIZE RMG
SUB STACK,1 >RMGL
-?PRG4: GETB RMG,CNT >OBJ
+?PRG3: GETB RMG,CNT >OBJ
CALL THIS-IT?,OBJ
- ZERO? STACK /?CND6
+ ZERO? STACK /?CND5
CALL OBJ-FOUND,OBJ,TBL
-?CND6: IGRTR? 'CNT,RMGL \?PRG4
+?CND5: IGRTR? 'CNT,RMGL \?PRG3
?CND1: GETP HERE,P?THINGS >RMG
- ZERO? RMG /?CND12
+ ZERO? RMG /?CND9
GET RMG,0 >RMGL
SET 'CNT,0
-?PRG15: ZERO? P-NAM /?ELS19
+?PRG11: ZERO? P-NAM /?CCL14
ADD CNT,1
GET RMG,STACK
- EQUAL? P-NAM,STACK \?CND17
-?ELS19: ZERO? P-ADJ /?ELS23
+ EQUAL? P-NAM,STACK \?CND13
+?CCL14: ZERO? P-ADJ /?CCL17
ADD CNT,2
GET RMG,STACK
CALL WT?,STACK,32,2
- EQUAL? P-ADJ,STACK \?CND17
-?ELS23: ZERO? P-NAM \?THN28
- ZERO? P-ADJ /?CND17
-?THN28: SET 'LAST-PSEUDO-LOC,HERE
+ EQUAL? P-ADJ,STACK \?CND13
+?CCL17: ZERO? P-NAM \?CCL20
+ ZERO? P-ADJ /?CND13
+?CCL20: SET 'LAST-PSEUDO-LOC,HERE
ADD CNT,3
GET RMG,STACK
PUTP PSEUDO-OBJECT,P?ACTION,STACK
@@ -1581,10 +1582,10 @@
GET RMG,1
PUT FOO,1,STACK
CALL OBJ-FOUND,PSEUDO-OBJECT,TBL
- JUMP ?CND12
-?CND17: ADD CNT,3 >CNT
- LESS? CNT,RMGL /?PRG15
-?CND12: GET TBL,P-MATCHLEN
+ JUMP ?CND9
+?CND13: ADD CNT,3 >CNT
+ LESS? CNT,RMGL /?PRG11
+?CND9: GET TBL,P-MATCHLEN
EQUAL? STACK,LEN \FALSE
SET 'P-SLOCBITS,-1
SET 'P-TABLE,TBL
@@ -1595,41 +1596,41 @@
.FUNCT DO-SL,OBJ,BIT1,BIT2,BTS
ADD BIT1,BIT2
- BTST P-SLOCBITS,STACK \?ELS5
+ BTST P-SLOCBITS,STACK \?CCL3
CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCALL
RSTACK
-?ELS5: BTST P-SLOCBITS,BIT1 \?ELS12
+?CCL3: BTST P-SLOCBITS,BIT1 \?CCL6
CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCTOP
RSTACK
-?ELS12: BTST P-SLOCBITS,BIT2 \TRUE
+?CCL6: BTST P-SLOCBITS,BIT2 \TRUE
CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCBOT
RSTACK
.FUNCT SEARCH-LIST,OBJ,TBL,LVL,FLS,NOBJ
FIRST? OBJ >OBJ \FALSE
-?PRG6: EQUAL? LVL,P-SRCBOT /?CND8
+?PRG4: EQUAL? LVL,P-SRCBOT /?CND6
GETPT OBJ,P?SYNONYM
- ZERO? STACK /?CND8
+ ZERO? STACK /?CND6
CALL THIS-IT?,OBJ
- ZERO? STACK /?CND8
+ ZERO? STACK /?CND6
CALL OBJ-FOUND,OBJ,TBL
-?CND8: EQUAL? LVL,P-SRCTOP \?THN18
- FSET? OBJ,SEARCHBIT /?THN18
- FSET? OBJ,SURFACEBIT \?CND13
-?THN18: FIRST? OBJ >NOBJ \?CND13
- FSET? OBJ,OPENBIT /?THN23
- FSET? OBJ,TRANSBIT /?THN23
- ZERO? P-MOBY-FLAG /?CND13
-?THN23: FSET? OBJ,SURFACEBIT \?ELS29
+?CND6: EQUAL? LVL,P-SRCTOP \?PRD14
+ FSET? OBJ,SEARCHBIT /?PRD14
+ FSET? OBJ,SURFACEBIT \?CND11
+?PRD14: FIRST? OBJ >NOBJ \?CND11
+ FSET? OBJ,OPENBIT /?CCL19
+ FSET? OBJ,TRANSBIT /?CCL19
+ ZERO? P-MOBY-FLAG /?CND11
+?CCL19: FSET? OBJ,SURFACEBIT \?CCL25
PUSH P-SRCALL
- JUMP ?CND25
-?ELS29: FSET? OBJ,SEARCHBIT \?ELS31
+ JUMP ?CND23
+?CCL25: FSET? OBJ,SEARCHBIT \?CCL27
PUSH P-SRCALL
- JUMP ?CND25
-?ELS31: PUSH P-SRCTOP
-?CND25: CALL SEARCH-LIST,OBJ,TBL,STACK >FLS
-?CND13: NEXT? OBJ >OBJ /?PRG6
+ JUMP ?CND23
+?CCL27: PUSH P-SRCTOP
+?CND23: CALL SEARCH-LIST,OBJ,TBL,STACK >FLS
+?CND11: NEXT? OBJ >OBJ /?PRG4
RTRUE
@@ -1654,98 +1655,97 @@
.FUNCT ITAKE-CHECK,TBL,IBITS,PTR,OBJ,TAKEN
GET TBL,P-MATCHLEN >PTR
ZERO? PTR /TRUE
- BTST IBITS,SHAVE /?THN8
+ BTST IBITS,SHAVE /?PRG8
BTST IBITS,STAKE \TRUE
-?THN8:
-?PRG10: DLESS? 'PTR,0 /TRUE
+?PRG8: DLESS? 'PTR,0 /TRUE
ADD PTR,1
GET TBL,STACK >OBJ
- EQUAL? OBJ,IT \?ELS19
+ EQUAL? OBJ,IT \?CCL15
CALL VISIBLE?,P-IT-OBJECT
- ZERO? STACK \?ELS22
+ ZERO? STACK \?CCL18
CALL REFERRING
RFALSE
-?ELS22: SET 'OBJ,P-IT-OBJECT
- JUMP ?CND17
-?ELS19: EQUAL? OBJ,HIM \?CND17
+?CCL18: SET 'OBJ,P-IT-OBJECT
+ JUMP ?CND13
+?CCL15: EQUAL? OBJ,HIM \?CND13
CALL VISIBLE?,P-HIM-OBJECT
- ZERO? STACK \?ELS29
+ ZERO? STACK \?CCL22
CALL REFERRING,TRUE-VALUE
RFALSE
-?ELS29: SET 'OBJ,P-HIM-OBJECT
-?CND17: CALL ULTIMATELY-IN?,OBJ
- ZERO? STACK \?PRG10
- EQUAL? OBJ,INTNUM,HANDS /?PRG10
- EQUAL? OBJ,LEASH \?ELS38
- ZERO? HANGING-IN-AIR \?PRG10
-?ELS38: SET 'PRSO,OBJ
- FSET? OBJ,TRYTAKEBIT \?ELS45
+?CCL22: SET 'OBJ,P-HIM-OBJECT
+?CND13: CALL ULTIMATELY-IN?,OBJ
+ ZERO? STACK \?PRG8
+ EQUAL? OBJ,INTNUM,HANDS /?PRG8
+ EQUAL? OBJ,LEASH \?CCL29
+ ZERO? HANGING-IN-AIR \?PRG8
+?CCL29: SET 'PRSO,OBJ
+ FSET? OBJ,TRYTAKEBIT \?CCL34
SET 'TAKEN,TRUE-VALUE
- JUMP ?CND43
-?ELS45: CALL UNTOUCHABLE?,OBJ
- ZERO? STACK /?ELS47
+ JUMP ?CND32
+?CCL34: CALL UNTOUCHABLE?,OBJ
+ ZERO? STACK /?CCL36
SET 'TAKEN,TRUE-VALUE
- JUMP ?CND43
-?ELS47: EQUAL? WINNER,PROTAGONIST /?ELS49
+ JUMP ?CND32
+?CCL36: EQUAL? WINNER,PROTAGONIST /?CCL38
SET 'TAKEN,FALSE-VALUE
- JUMP ?CND43
-?ELS49: BTST IBITS,STAKE \?ELS51
+ JUMP ?CND32
+?CCL38: BTST IBITS,STAKE \?CCL40
CALL ITAKE,FALSE-VALUE
- EQUAL? STACK,TRUE-VALUE \?ELS51
+ EQUAL? STACK,TRUE-VALUE \?CCL40
SET 'TAKEN,FALSE-VALUE
- JUMP ?CND43
-?ELS51: SET 'TAKEN,TRUE-VALUE
-?CND43: ZERO? TAKEN /?ELS58
- BTST IBITS,SHAVE \?ELS58
+ JUMP ?CND32
+?CCL40: SET 'TAKEN,TRUE-VALUE
+?CND32: ZERO? TAKEN /?CCL45
+ BTST IBITS,SHAVE \?CCL45
GET TBL,P-MATCHLEN
- LESS? 1,STACK \?ELS63
+ LESS? 1,STACK \?CCL50
PRINT YNH
PRINTI " all those things!"
CRLF
RFALSE
-?ELS63: EQUAL? OBJ,NOT-HERE-OBJECT \?CND61
+?CCL50: EQUAL? OBJ,NOT-HERE-OBJECT \?CND48
PRINT YOU-CANT
PRINTI "see that here!"
CRLF
RFALSE
-?CND61: EQUAL? WINNER,PROTAGONIST \?ELS68
+?CND48: EQUAL? WINNER,PROTAGONIST \?CCL54
PRINT YNH
- JUMP ?CND66
-?ELS68: PRINTI "It doesn't look like"
+ JUMP ?CND52
+?CCL54: PRINTI "It doesn't look like"
CALL TPRINT,WINNER
PRINTI " has"
-?CND66: CALL THIS-IS-IT,OBJ
+?CND52: CALL THIS-IS-IT,OBJ
CALL TRPRINT,OBJ
RFALSE
-?ELS58: ZERO? TAKEN \?PRG10
- IN? PROTAGONIST,OBJ /?PRG10
- EQUAL? WINNER,PROTAGONIST \?PRG10
+?CCL45: ZERO? TAKEN \?PRG8
+ IN? PROTAGONIST,OBJ /?PRG8
+ EQUAL? WINNER,PROTAGONIST \?PRG8
PRINTI "[taking"
CALL TPRINT,OBJ
PRINTI " first]"
CRLF
- JUMP ?PRG10
+ JUMP ?PRG8
.FUNCT MANY-CHECK,PHR=2,LOSS=0,TMP,?TMP1
- ZERO? PHR \?ELS3
+ ZERO? PHR \?CCL3
GETB P-SYNTAX,P-SLOC1
- BTST STACK,SMANY /?ELS3
+ BTST STACK,SMANY /?CCL3
SET 'LOSS,1
JUMP ?CND1
-?ELS3: EQUAL? PHR,1 \?ELS7
+?CCL3: EQUAL? PHR,1 \?CCL7
GETB P-SYNTAX,P-SLOC2
- BTST STACK,SMANY /?ELS7
+ BTST STACK,SMANY /?CCL7
SET 'LOSS,2
JUMP ?CND1
-?ELS7: EQUAL? PHR,2 \?ELS11
+?CCL7: EQUAL? PHR,2 \?CCL11
GET P-PRSO,P-MATCHLEN
- GRTR? STACK,1 \?ELS11
+ GRTR? STACK,1 \?CCL11
GETB P-SYNTAX,P-SLOC1
- BTST STACK,SMANY /?ELS11
+ BTST STACK,SMANY /?CCL11
SET 'LOSS,1
JUMP ?CND1
-?ELS11: EQUAL? PHR,2 \?CND1
+?CCL11: EQUAL? PHR,2 \?CND1
GET P-PRSI,P-MATCHLEN
GRTR? STACK,1 \?CND1
GETB P-SYNTAX,P-SLOC2
@@ -1755,36 +1755,35 @@
PRINTC 91
PRINT YOU-CANT
PRINTI "use multiple "
- EQUAL? LOSS,2 \?CND24
+ EQUAL? LOSS,2 \?CND22
PRINTI "in"
-?CND24: PRINTI "direct objects with """
+?CND22: PRINTI "direct objects with """
GET P-ITBL,P-VERBN >TMP
- ZERO? TMP \?ELS29
+ ZERO? TMP \?CCL26
PRINTI "tell"
- JUMP ?CND27
-?ELS29: ZERO? P-OFLAG \?THN32
- ZERO? P-MERGED /?ELS31
-?THN32: GET TMP,0
+ JUMP ?CND24
+?CCL26: ZERO? P-OFLAG \?CTR27
+ ZERO? P-MERGED /?CCL28
+?CTR27: GET TMP,0
PRINTB STACK
- JUMP ?CND27
-?ELS31: GETB TMP,2 >?TMP1
+ JUMP ?CND24
+?CCL28: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
-?CND27: PRINTI """.]"
+?CND24: PRINTI """.]"
CRLF
RFALSE
.FUNCT ZMEMQ,ITM,TBL,SIZE=-1,CNT=1
ZERO? TBL /FALSE
- LESS? SIZE,0 /?ELS6
+ LESS? SIZE,0 /?CCL5
SET 'CNT,0
- JUMP ?CND4
-?ELS6: GET TBL,0 >SIZE
-?CND4:
-?PRG9: GET TBL,CNT
+ JUMP ?PRG6
+?CCL5: GET TBL,0 >SIZE
+?PRG6: GET TBL,CNT
EQUAL? ITM,STACK /TRUE
- IGRTR? 'CNT,SIZE \?PRG9
+ IGRTR? 'CNT,SIZE \?PRG6
RFALSE
@@ -1799,19 +1798,19 @@
SET 'P-GWIMBIT,ONBIT
SET 'OHERE,HERE
SET 'HERE,RM
- ZERO? RMBIT /?ELS3
- FSET? RM,ONBIT \?ELS3
+ ZERO? RMBIT /?CCL3
+ FSET? RM,ONBIT \?CCL3
SET 'LIT,TRUE-VALUE
JUMP ?CND1
-?ELS3: PUT P-MERGE,P-MATCHLEN,0
+?CCL3: PUT P-MERGE,P-MATCHLEN,0
SET 'P-TABLE,P-MERGE
SET 'P-SLOCBITS,-1
- EQUAL? OHERE,RM \?CND8
+ EQUAL? OHERE,RM \?CND6
CALL DO-SL,WINNER,1,1
- EQUAL? WINNER,PROTAGONIST /?CND8
- IN? PROTAGONIST,RM \?CND8
+ EQUAL? WINNER,PROTAGONIST /?CND6
+ IN? PROTAGONIST,RM \?CND6
CALL DO-SL,PROTAGONIST,1,1
-?CND8: CALL DO-SL,RM,1,1
+?CND6: CALL DO-SL,RM,1,1
GET P-TABLE,P-MATCHLEN
GRTR? STACK,0 \?CND1
SET 'LIT,TRUE-VALUE
@@ -1821,48 +1820,48 @@
.FUNCT PRSO-PRINT,PTR
- ZERO? P-MERGED \?THN6
+ ZERO? P-MERGED \?CTR2
GET P-ITBL,P-NC1 >PTR
GET PTR,0
- EQUAL? STACK,W?IT \?ELS5
-?THN6: PRINTC 32
+ EQUAL? STACK,W?IT \?CCL3
+?CTR2: PRINTC 32
PRINTD PRSO
RTRUE
-?ELS5: GET P-ITBL,P-NC1L
+?CCL3: GET P-ITBL,P-NC1L
CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE
RSTACK
.FUNCT PRSI-PRINT,PTR
- ZERO? P-MERGED \?THN6
+ ZERO? P-MERGED \?CTR2
GET P-ITBL,P-NC2 >PTR
GET PTR,0
- EQUAL? STACK,W?IT \?ELS5
-?THN6: PRINTC 32
+ EQUAL? STACK,W?IT \?CCL3
+?CTR2: PRINTC 32
PRINTD PRSI
RTRUE
-?ELS5: GET P-ITBL,P-NC2L
+?CCL3: GET P-ITBL,P-NC2L
CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE
RSTACK
.FUNCT THIS-IT?,OBJ,SYNS,?TMP1
FSET? OBJ,INVISIBLE /FALSE
- ZERO? P-NAM /?ELS5
+ ZERO? P-NAM /?CCL5
GETPT OBJ,P?SYNONYM >SYNS
PTSIZE SYNS
DIV STACK,2
SUB STACK,1
CALL ZMEMQ,P-NAM,SYNS,STACK
ZERO? STACK /FALSE
-?ELS5: ZERO? P-ADJ /?ELS9
+?CCL5: ZERO? P-ADJ /?CCL9
GETPT OBJ,P?ADJECTIVE >SYNS
ZERO? SYNS /FALSE
PTSIZE SYNS
SUB STACK,1
CALL ZMEMQB,P-ADJ,SYNS,STACK
ZERO? STACK /FALSE
-?ELS9: ZERO? P-GWIMBIT /TRUE
+?CCL9: ZERO? P-GWIMBIT /TRUE
FSET? OBJ,P-GWIMBIT /TRUE
RFALSE
diff --git a/parser.zil b/parser.zil
index 768ffc0..2c4bf8a 100644
--- a/parser.zil
+++ b/parser.zil
@@ -190,7 +190,7 @@ with 'P-'. Local variables are not restricted in any way."
<SET OLEN <GETB ,P-LEXV ,P-LEXWORDS>>)>
<SETG P-LEN <GETB ,P-LEXV ,P-LEXWORDS>>
<COND (<ZERO? ,P-LEN>
- <TELL "[I beg your pardon]" CR>
+ <TELL "[I beg your pardon?]" CR>
<RFALSE>)
(<EQUAL? <GET ,P-LEXV .PTR> ,W?OOPS>
<COND (<EQUAL? <GET ,P-LEXV <+ .PTR ,P-LEXELEN>> ;"rfix 36"
@@ -352,11 +352,10 @@ with 'P-'. Local variables are not restricted in any way."
<+ <* .PTR 2> 2>>>>
<PUTB ,P-VTBL 3 <GETB ,P-LEXV <+ .CNT 1>>>)
(<OR <SET VAL <WT? .WRD ,PS?PREPOSITION 0>>
- <AND <OR <EQUAL? .WRD ,W?ALL ,W?ONE ,W?BOTH>
- <EQUAL? .WRD ,W?EVERYT>
- <WT? .WRD ,PS?ADJECTIVE>
- <WT? .WRD ,PS?OBJECT>>
- <SET VAL 0>>>
+ <EQUAL? .WRD ,W?ALL ,W?ONE ,W?BOTH>
+ <EQUAL? .WRD ,W?EVERYT>
+ <WT? .WRD ,PS?ADJECTIVE>
+ <WT? .WRD ,PS?OBJECT>>
<COND (<AND .VAL
<EQUAL? .WRD ,W?BACK>
<NOT <EQUAL? .VERB ,ACT?HAND>>>
@@ -395,9 +394,8 @@ with 'P-'. Local variables are not restricted in any way."
;"Next expr added to fix FORD, TELL ME WHY"
<EQUAL? ,WINNER ,PROTAGONIST>>
<TELL
-"[The proper way to speak to other characters is CHARACTER, DO THIS.
-See the instruction manual section entitled \"Communicating With
-Infocom's Interactive Fiction.\"]" CR>
+"[The way to speak to other characters is described in the instruction manual
+section entitled \"Communicating With Infocom's Interactive Fiction.\"]" CR>
<RFALSE>)
(T
<CANT-USE .PTR>
@@ -1019,7 +1017,8 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
(<AND <EQUAL? .WRD ,W?IT ,W?THEM>
<ACCESSIBLE? ,P-IT-OBJECT>>
<TELL D ,P-IT-OBJECT>)
- (<AND <EQUAL? .WRD ,W?HIM ,W?HIMSELF>
+ (<AND <EQUAL? .WRD ,W?HIM ,W?HIMSELF
+ ,W?HER ,W?HERSELF>
<ACCESSIBLE? ,P-HIM-OBJECT>>
<TELL D ,P-HIM-OBJECT>)
;(<AND <EQUAL? .WRD ,W?HER ,W?HERSELF>
@@ -1032,7 +1031,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET BEG <REST .BEG ,P-WORDLEN>>>>
<ROUTINE NAME? (WRD)
- <COND (<EQUAL? .WRD ,W?FLOYD ,W?PLATO>
+ <COND (<EQUAL? .WRD ,W?FLOYD ,W?PLATO ,W?OLIVER ,W?THERMOS>
<RTRUE>)
(T
<RFALSE>)>>
@@ -1273,7 +1272,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET PTR <REST .PTR ,P-WORDLEN>>
<SET WRD .NW>)>>>
-<BUZZ ASS ASSHOLE BITCH BASTARD COCK COCKSU CUNT DAMN DAMNED
+<BUZZ ASS ASSHOLE BITCH BASTARD COCK COCKSU CUNT DAMN DAMNED
FUCK FUCKED FUCKING SHIT SHITHEAD SHITTY TROT KRIP MEGAKRIP TROTTING>
<ROUTINE NAUGHTY-WORD? (WORD)
@@ -1293,8 +1292,8 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<ROUTINE ADJ-CHECK (WRD ADJ ADJN)
<COND (<NOT .ADJ>
<RTRUE>)
- (<EQUAL? .WRD ,W?INNER ,W?OUTER ,W?LARGE ,W?SMALL
- ,W?TWELVE ,W?TWENTY>
+ (<EQUAL? .WRD ,W?INNER ,W?OUTER ,W?LARGE ,W?SMALL ,W?MEDIUM
+ ,W?TWELVE ,W?TWENTY ,W?PROCESSING ,W?DISPEN>
<RTRUE>)
(T
<RFALSE>)>>
@@ -1334,10 +1333,11 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<COND (.GCHECK
<GLOBAL-CHECK .TBL>)
(T
- <COND (<OR ,LIT <VERB? TELL>>
- <FCLEAR ,WINNER ;,PROTAGONIST ,TRANSBIT>
+ <COND (<OR ,LIT
+ <VERB? TELL>>
+ <FCLEAR ,WINNER ;,PROTAGONIST ,OPENBIT>
<DO-SL ,HERE ,SOG ,SIR>
- <FSET ,WINNER ;,PROTAGONIST ,TRANSBIT>)
+ <FSET ,WINNER ;,PROTAGONIST ,OPENBIT>)
(<AND <FSET? <LOC ,WINNER ;,PROTAGONIST> ,VEHBIT>
<THIS-IT? <LOC ,WINNER ;,PROTAGONIST>>>
<OBJ-FOUND <LOC ,WINNER ;,PROTAGONIST> .TBL>)>
@@ -1402,8 +1402,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<COND (.VRB
<SETG P-SLOCBITS .XBITS>
<COND (<OR ,LIT
- <EQUAL? ,PRSA ,V?TELL>
- <EQUAL? ,PRSA ,V?WHERE ,V?WHAT>>
+ <EQUAL? ,PRSA ,V?TELL ,V?WHERE ,V?WHAT>>
;"Changed 6/10/83 - MARC"
<OBJ-FOUND ,NOT-HERE-OBJECT .TBL>
<SETG P-XNAM ,P-NAM>
@@ -1418,7 +1417,9 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SETG P-NAM <>>
<SETG P-ADJ <>>
<RFALSE>)
- (<ZERO? .LEN> <SET GCHECK T> <AGAIN>)>
+ (<ZERO? .LEN>
+ <SET GCHECK T>
+ <AGAIN>)>
<SETG P-SLOCBITS .XBITS>
<PUT-ADJ-NAM>
<SETG P-NAM <>>
@@ -1481,7 +1482,12 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<RTRUE>)>
<SET RLEN .LEN>
<COND (<NOT <EQUAL? ,WINNER ,PROTAGONIST>>
- <TELL "\"I don't understand whether you mean ">)
+ <TELL "\"I don't understand wh">
+ <COND (<EQUAL? ,P-ADJ ,W?YOUR ,W?MY>
+ <TELL "at you mean!\"" CR>
+ <RTRUE>)
+ (T
+ <TELL"ether you mean ">)>)
(T
<TELL "[Which">
<COND (<OR ,P-OFLAG
@@ -1493,7 +1499,13 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<CLAUSE-PRINT ,P-NC1 ,P-NC1L <>>)
(T
<CLAUSE-PRINT ,P-NC2 ,P-NC2L <>>)>
- <TELL " do you mean, ">)>
+ <TELL " do you mean">
+ <COND (<AND <EQUAL? ,HERE ,ROBOT-POOL>
+ <EQUAL? ,P-NAM ,W?ROBOT>>
+ <TELL "?]" CR>
+ <RTRUE>)
+ (T
+ <TELL ", ">)>)>
<REPEAT ()
<SET TLEN <+ .TLEN 1>>
<SET OBJ <GET .TBL .TLEN>>
diff --git a/s6.zip b/s6.zip
index 94dcd88..346e11b 100644
--- a/s6.zip
+++ b/s6.zip
Binary files differ
diff --git a/s6dat.zap b/s6dat.zap
index a3806da..5b63700 100644
--- a/s6dat.zap
+++ b/s6dat.zap
@@ -25,86 +25,83 @@
; OBJECT FLAGS ARE DEFINED HERE
- WEIGHTLESSBIT=2
- FX?WEIGHTLESSBIT=8192
+ NDESCBBIT=3
+ FX?NDESCBBIT=4096
- PARTBIT=3
- FX?PARTBIT=4096
+ WEIGHTLESSBIT=4
+ FX?WEIGHTLESSBIT=2048
- NWELDERBIT=4
- FX?NWELDERBIT=2048
+ NWELDERBIT=5
+ FX?NWELDERBIT=1024
- FLOYDBIT=5
- FX?FLOYDBIT=1024
+ FLOYDBIT=6
+ FX?FLOYDBIT=512
- NARTICLEBIT=6
- FX?NARTICLEBIT=512
+ NARTICLEBIT=7
+ FX?NARTICLEBIT=256
- INBIT=7
- FX?INBIT=256
+ INBIT=8
+ FX?INBIT=128
- PLURALBIT=8
- FX?PLURALBIT=128
+ PLURALBIT=9
+ FX?PLURALBIT=64
- NDESCBIT=9
- FX?NDESCBIT=64
+ NDESCBIT=10
+ FX?NDESCBIT=32
- LOCKEDBIT=10
- FX?LOCKEDBIT=32
+ LOCKEDBIT=11
+ FX?LOCKEDBIT=16
- VOWELBIT=11
- FX?VOWELBIT=16
+ VOWELBIT=12
+ FX?VOWELBIT=8
- TRANSBIT=12
- FX?TRANSBIT=8
+ TRANSBIT=13
+ FX?TRANSBIT=4
- SEARCHBIT=13
- FX?SEARCHBIT=4
+ SEARCHBIT=14
+ FX?SEARCHBIT=2
- OPENBIT=14
- FX?OPENBIT=2
+ OPENBIT=15
+ FX?OPENBIT=1
- TRYTAKEBIT=15
- FX?TRYTAKEBIT=1
+ TRYTAKEBIT=16
+ FX?TRYTAKEBIT=32768
- SURFACEBIT=16
- FX?SURFACEBIT=32768
+ SURFACEBIT=17
+ FX?SURFACEBIT=16384
- TOUCHBIT=17
- FX?TOUCHBIT=16384
+ TOUCHBIT=18
+ FX?TOUCHBIT=8192
- INVISIBLE=18
- FX?INVISIBLE=8192
+ INVISIBLE=19
+ FX?INVISIBLE=4096
- WEARBIT=19
- FX?WEARBIT=4096
+ WEARBIT=20
+ FX?WEARBIT=2048
- WORNBIT=20
- FX?WORNBIT=2048
+ WORNBIT=21
+ FX?WORNBIT=1024
- READBIT=21
- FX?READBIT=1024
+ READBIT=22
+ FX?READBIT=512
- TAKEBIT=22
- FX?TAKEBIT=512
+ TAKEBIT=23
+ FX?TAKEBIT=256
- LIGHTBIT=23
- FX?LIGHTBIT=256
+ LIGHTBIT=24
+ FX?LIGHTBIT=128
- CONTBIT=24
- FX?CONTBIT=128
+ CONTBIT=25
+ FX?CONTBIT=64
- ACTIVEBIT=25
- FX?ACTIVEBIT=64
+ ACTIVEBIT=26
+ FX?ACTIVEBIT=32
- DOORBIT=26
- FX?DOORBIT=32
+ DOORBIT=27
+ FX?DOORBIT=16
- RLANDBIT=27
- FX?RLANDBIT=16
-
- BURNBIT=28
- FX?BURNBIT=8
+ RLANDBIT=28
+ FX?RLANDBIT=8
VEHBIT=29
FX?VEHBIT=4
@@ -162,138 +159,143 @@
V?CLOSE=42
V?FOLLOW=43
V?COMFORT=44
- V?CONNECT=45
- V?SPUT-ON=46
- V?COUNT=47
- V?CROSS=48
- V?MUNG=49
- V?DIG=50
- V?DISCONNECT=51
- V?DRESS=52
- V?DRILL=53
- V?DRILL-HOLE=54
- V?DROP=55
- V?PUT=56
- V?EAT=57
- V?EAT-FROM=58
- V?EMPTY=59
- V?EMPTY-FROM=60
- V?IN=61
- V?EXAMINE=62
- V?EXERCISE=63
- V?EXIT=64
- V?FEED=65
- V?GIVE=66
- V?SGIVE=67
- V?FILL=68
- V?FIND=69
- V?FLATTEN=70
- V?GREET=71
- V?WALK=72
- V?HIDE=73
- V?LEAVE=74
- V?GIVE-UP=75
- V?LISTEN=76
- V?HELLO=77
- V?HELP=78
- V?SAVE-SOMETHING=79
- V?HUG=80
- V?LEAP=81
- V?LEAP-OFF=82
- V?STAND-ON=83
- V?KICK=84
- V?KISS=85
- V?KNOCK=86
- V?LAUNCH=87
- V?LIE-DOWN=88
- V?ON=89
- V?LOCK=90
- V?LOOK=91
- V?LOOK-DOWN=92
- V?LOOK-UP=93
- V?LOOK-INSIDE=94
- V?LOOK-UNDER=95
- V?LOOK-BEHIND=96
- V?LOOK-OVER=97
- V?CHASTISE=98
- V?LOWER=99
- V?MAYBE=100
- V?MEASURE=101
- V?MOVE=102
- V?PUSH-DIR=103
- V?RAISE=104
- V?NO=105
- V?OPEN=106
- V?PICK=107
- V?PICK-UP=108
- V?PLAY-WITH=109
- V?SPLAY-WITH=110
- V?POINT=111
- V?POUR=112
- V?PRAY=113
- V?PUSH=114
- V?PUT-UNDER=115
- V?REACH-IN=116
- V?READ=117
- V?REMOVE=118
- V?TAKE=119
- V?ROLL=120
- V?SAY=121
- V?SCARE=122
- V?SCOLD=123
- V?SEARCH=124
- V?SHAKE=125
- V?SHAKE-WITH=126
- V?SHOOT=127
- V?SSHOOT=128
- V?SHOW=129
- V?SSHOW=130
- V?SIT=131
- V?SKIP=132
- V?SLEEP=133
- V?CUT=134
- V?SMELL=135
- V?SPRAY=136
- V?SSPRAY=137
- V?STAND=138
- V?SWRAP=139
- V?WEAR=140
- V?PUT-BEHIND=141
- V?SWING=142
- V?GET-DRESSED=143
- V?GET-UNDRESSED=144
- V?TAKE-WITH=145
- V?TAKE-OFF=146
- V?TELL=147
- V?TOUCH=148
- V?TASTE=149
- V?TELL-ABOUT=150
- V?STELL=151
- V?THANK=152
- V?THROW=153
- V?THROW-TO=154
- V?STHROW=155
- V?TICKLE=156
- V?TIE=157
- V?TIME=158
- V?SET=159
- V?TYPE=160
- V?UNDRESS=161
- V?UNLOCK=162
- V?UNTIE=163
- V?USE=164
- V?VALIDATE=165
- V?WAIT=166
- V?WAIT-FOR=167
- V?ALARM=168
- V?RUN-OVER=169
- V?CLEAN=170
- V?WHAT=171
- V?WHERE=172
- V?WRAP=173
- V?YELL=174
- V?YES=175
- V?ZORK=176
+ V?COMPARE=45
+ V?CONNECT=46
+ V?SPUT-ON=47
+ V?COUNT=48
+ V?CROSS=49
+ V?CRUMPLE=50
+ V?MUNG=51
+ V?DIG=52
+ V?DISCONNECT=53
+ V?DRESS=54
+ V?DRILL=55
+ V?DRILL-HOLE=56
+ V?DROP=57
+ V?PUT=58
+ V?EAT=59
+ V?EAT-FROM=60
+ V?EMPTY=61
+ V?EMPTY-FROM=62
+ V?IN=63
+ V?EXAMINE=64
+ V?EXERCISE=65
+ V?EXIT=66
+ V?FEED=67
+ V?GIVE=68
+ V?SGIVE=69
+ V?FILL=70
+ V?FIND=71
+ V?FIX=72
+ V?FLATTEN=73
+ V?FOOTNOTE=74
+ V?GREET=75
+ V?WALK=76
+ V?HIDE=77
+ V?LEAVE=78
+ V?GIVE-UP=79
+ V?LISTEN=80
+ V?HELLO=81
+ V?HELP=82
+ V?SAVE-SOMETHING=83
+ V?HUG=84
+ V?LEAP=85
+ V?LEAP-OFF=86
+ V?STAND-ON=87
+ V?KICK=88
+ V?KISS=89
+ V?KNOCK=90
+ V?LAUNCH=91
+ V?LIE-DOWN=92
+ V?ON=93
+ V?LOCK=94
+ V?LOOK=95
+ V?LOOK-DOWN=96
+ V?LOOK-UP=97
+ V?LOOK-INSIDE=98
+ V?LOOK-UNDER=99
+ V?LOOK-BEHIND=100
+ V?LOOK-OVER=101
+ V?CHASTISE=102
+ V?LOWER=103
+ V?MAYBE=104
+ V?MEASURE=105
+ V?MOVE=106
+ V?PUSH-DIR=107
+ V?RAISE=108
+ V?NO=109
+ V?OPEN=110
+ V?PICK=111
+ V?PICK-UP=112
+ V?PLAY-WITH=113
+ V?SPLAY-WITH=114
+ V?POINT=115
+ V?POUR=116
+ V?PRAY=117
+ V?PUSH=118
+ V?PUT-UNDER=119
+ V?REACH-IN=120
+ V?READ=121
+ V?REMOVE=122
+ V?TAKE=123
+ V?ROLL=124
+ V?SAY=125
+ V?SCARE=126
+ V?SCOLD=127
+ V?SEARCH=128
+ V?SHAKE=129
+ V?SHAKE-WITH=130
+ V?SHOOT=131
+ V?SSHOOT=132
+ V?SHOW=133
+ V?SSHOW=134
+ V?SIT=135
+ V?SKIP=136
+ V?SLEEP=137
+ V?CUT=138
+ V?SMELL=139
+ V?SPRAY=140
+ V?SSPRAY=141
+ V?STAND=142
+ V?SWRAP=143
+ V?WEAR=144
+ V?PUT-BEHIND=145
+ V?SWING=146
+ V?GET-DRESSED=147
+ V?GET-UNDRESSED=148
+ V?TAKE-WITH=149
+ V?TAKE-OFF=150
+ V?TELL=151
+ V?TOUCH=152
+ V?TASTE=153
+ V?TELL-ABOUT=154
+ V?STELL=155
+ V?THANK=156
+ V?THROW=157
+ V?THROW-TO=158
+ V?STHROW=159
+ V?TICKLE=160
+ V?TIE=161
+ V?TIME=162
+ V?SET=163
+ V?TYPE=164
+ V?UNDRESS=165
+ V?UNLOCK=166
+ V?UNTIE=167
+ V?USE=168
+ V?VALIDATE=169
+ V?WAIT=170
+ V?WAIT-FOR=171
+ V?WAIT-UNTIL=172
+ V?ALARM=173
+ V?RUN-OVER=174
+ V?CLEAN=175
+ V?WHAT=176
+ V?WHERE=177
+ V?WRAP=178
+ V?YELL=179
+ V?YES=180
+ V?ZORK=181
; PROPERTIES ARE DEFINED HERE
@@ -313,21 +315,19 @@
P?ADJECTIVE=18
P?ACTION=17
P?PLATO-ASK-ABOUT=16
- P?ASK-FLOYD-ABOUT=15
+ P?FLOYD-ASK-ABOUT=15
P?LDESC=14
- P?SIZE=13
- P?TEXT=12
- P?CAPACITY=11
- P?THINGS=10
+ P?THINGS=13
+ P?SIZE=12
+ P?TEXT=11
+ P?CAPACITY=10
P?FDESC=9
P?GLOBAL=8
P?DESCFCN=7
- P?FLOYD-ASK-ABOUT=6
- P?GENERIC=5
- P?FOOD-DESC=4
- P?LEVEL=3
- P?VALUE=2
- P?ASK-PLATO-ABOUT=1
+ P?GENERIC=6
+ P?FOOD-DESC=5
+ P?LEVEL=4
+ P?VALUE=3
; ADJECTIVES ARE DEFINED HERE
@@ -342,172 +342,193 @@
A?TOWERING=247
A?LARGE=246
A?SMALL=245
- A?VIEW=244
- A?DIRTY=243
- A?EYE-CATCHING=242
- A?REPAIR=241
- A?FABRICATION=240
- A?DIAGNO=239
- A?ROBOT=238
- A?AUTHORIZATION=237
- A?TOILET=236
- A?SINK=235
- A?SINKS=234
- A?TUB=233
- A?TUBS=232
- A?BARE=231
- A?MY=230
- A?YOUR=229
- A?LURKING=228
- A?VICIOUS=227
- A?CARNIVOROUS=226
- A?HULL=225
- A?ASSIGNMENT=224
- A?COMPLETION=223
- A?FORM=222
- A?USE=221
- A?CLASS=220
- A?THREE=219
- A?SPACECRAFT=218
- A?ACTIVA=217
- A?WRIST=216
- A?PATROL=215
- A?ID=214
- A?IDENTIFICATION=213
- A?WRINKLED=212
- A?FIRST=211
- A?SECOND=210
- A?THIRD=209
- A?MULTIP=208
- A?PURPOS=207
- A?SHORT=206
- A?NUMBER=205
- A?SPINDLY=204
- A?HEAVY=203
- A?SPACE=202
- A?RED=201
- A?SPACETRUCK=200
- A?COPILOT=199
- A?PILOT=198
- A?BAND=197
- A?SURVIVAL=196
- A?GRAY=195
- A?GREY=194
- A?ROCK-=193
- A?RAMOSIAN=192
- A?ORANGE=191
- A?APRICOT=190
- A?BLUE=189
- A?BLUEBERRY=188
- A?ICE=187
- A?TWENTY=186
- A?OHM=185
- A?DISPEN=184
- A?COIN=183
- A?VENDIN=182
- A?DRILL=181
- A?ALL-PURPOSE=180
- A?CELLS=179
- A?SYSTEM=178
- A?MONITOR=177
- A?GREEN=176
- A?YELLOW=175
- A?BLINKING=174
- A?LOG=173
- A?STURDY=172
- A?VALIDA=171
- A?FUSOR=170
- A?BEAM=169
- A?EXERCISE=168
- A?NAUTILUS=167
- A?SEVEN=166
- A?POINTED=165
- A?M-SERIES=164
- A?M=163
- A?SERIES=162
- A?ETERNAL=161
- A?BEAUTIFUL=160
- A?WOODEN=159
- A?PROJECTION=158
- A?FOOD=157
- A?PROCESSING=156
- A?CREAMY=155
- A?BLACKENED=154
- A?RECENT=153
- A?NANOFILM=152
- A?MAUVE=151
- A?COMPUTER=150
- A?PUCE=149
- A?TRANSPARENT=148
- A?EXOTIC=147
- A?BUSH=146
- A?BUSHES=145
- A?MACHIN=144
- A?THICK=143
- A?METAL=142
- A?ELEVATOR=141
- A?AIR=140
- A?SHAFT=139
- A?ALIEN=138
- A?BLACK=137
- A?HEATING=136
- A?MEDIUM=135
- A?YOUNG=134
- A?TRASH=133
- A?CRUMPLED=132
- A?ILLEGAL=131
- A?VILLAGE=130
- A?ENTRY=129
- A?NEATLY=128
- A?IRONED=127
- A?CONTROL=126
- A?CALL=125
- A?AUTO=124
- A?SECURITY=123
- A?J-SERIES=122
- A?J=121
- A?ISOLATION=120
- A?HOLDING=119
- A?PLATO=118
- A?POETRY=117
- A?STUN=116
- A?IRIS=115
- A?REC=114
- A?SIMULATION=113
- A?METALLIC=112
- A?CYLIND=111
- A?REFLECTIVE=110
- A?TRANS-MOLECULAR=109
- A?PLATINUM=108
- A?TRANSL=107
- A?PLASTIC=106
- A?VACUUM=105
- A?ARCTURIAN=104
- A?BALLOON=103
- A?CREATURE=102
- A?CEILIN=101
- A?ROOF=100
- A?OSTRICH=99
- A?INSTRUCTION=98
- A?CARBON=97
- A?TWELVE=96
- A?PRONG=95
- A?12-PRONG=94
- A?FROMITZ=93
- A?20-PRONG=92
- A?ROULETTE=91
- A?FIRE=90
- A?TEXT=89
- A?INNER=88
- A?UPPER=87
- A?AIRLOCK=86
- A?OUTER=85
- A?LOWER=84
- A?FREZONE=83
- A?SPRAY=82
- A?STRONG=81
- A?INNOCUOUS=80
- A?MAGNETIC=79
+ A?REC=244
+ A?PET=243
+ A?VIEW=242
+ A?DIRTY=241
+ A?EYE-CATCHING=240
+ A?REPAIR=239
+ A?FABRICATION=238
+ A?DIAGNO=237
+ A?ROBOT=236
+ A?AUTHORIZATION=235
+ A?TOILET=234
+ A?SINK=233
+ A?SINKS=232
+ A?TUB=231
+ A?TUBS=230
+ A?BARE=229
+ A?MY=228
+ A?YOUR=227
+ A?LURKING=226
+ A?VICIOUS=225
+ A?CARNIVOROUS=224
+ A?HULL=223
+ A?ASSIGNMENT=222
+ A?COMPLETION=221
+ A?FORM=220
+ A?USE=219
+ A?CLASS=218
+ A?THREE=217
+ A?SPACECRAFT=216
+ A?ACTIVA=215
+ A?WRIST=214
+ A?PATROL=213
+ A?ID=212
+ A?IDENTIFICATION=211
+ A?FIRST=210
+ A?SECOND=209
+ A?THIRD=208
+ A?MULTIP=207
+ A?PURPOS=206
+ A?SHORT=205
+ A?NUMBER=204
+ A?SPINDLY=203
+ A?HEAVY=202
+ A?SPACE=201
+ A?RED=200
+ A?SPACETRUCK=199
+ A?COPILOT=198
+ A?PILOT=197
+ A?BAND=196
+ A?SURVIVAL=195
+ A?THERMOS=194
+ A?PLAID=193
+ A?BLUE=192
+ A?BLUEBERRY=191
+ A?WALNUT=190
+ A?HOT=189
+ A?STEAMING=188
+ A?LUKEWARM=187
+ A?COOL=186
+ A?COLD=185
+ A?GRAY=184
+ A?GREY=183
+ A?ROCK-=182
+ A?RAMOSIAN=181
+ A?ORANGE=180
+ A?APRICOT=179
+ A?TWENTY=178
+ A?OHM=177
+ A?DISPEN=176
+ A?COIN=175
+ A?VENDIN=174
+ A?DRILL=173
+ A?ALL-PURPOSE=172
+ A?CELLS=171
+ A?SYSTEM=170
+ A?MONITOR=169
+ A?GREEN=168
+ A?YELLOW=167
+ A?BLINKING=166
+ A?LOG=165
+ A?STURDY=164
+ A?VALIDA=163
+ A?FUSOR=162
+ A?BEAM=161
+ A?NANOFILM=160
+ A?LILAC=159
+ A?EXERCISE=158
+ A?NAUTILUS=157
+ A?PUCE=156
+ A?SEVEN=155
+ A?POINTED=154
+ A?M-SERIES=153
+ A?M=152
+ A?SERIES=151
+ A?ETERNAL=150
+ A?BEAUTIFUL=149
+ A?WOODEN=148
+ A?PROJECTION=147
+ A?FOOD=146
+ A?PROCESSING=145
+ A?THICK=144
+ A?BROWN=143
+ A?BLACKENED=142
+ A?RECENT=141
+ A?SPOOL=140
+ A?TRANSPARENT=139
+ A?EXOTIC=138
+ A?BUSH=137
+ A?BUSHES=136
+ A?METAL=135
+ A?STORAGE=134
+ A?BIN=133
+ A?AIR=132
+ A?SHAFT=131
+ A?ALIEN=130
+ A?BLACK=129
+ A?HEATING=128
+ A?MEDIUM=127
+ A?YOUNG=126
+ A?MAUVE=125
+ A?TRASH=124
+ A?GARBAGE=123
+ A?CRUMPL=122
+ A?ILLEGAL=121
+ A?VILLAGE=120
+ A?ENTRY=119
+ A?NEATLY=118
+ A?IRONED=117
+ A?ELEVATOR=116
+ A?CALL=115
+ A?AUTO=114
+ A?SECURITY=113
+ A?PRONG=112
+ A?20-PRONG=111
+ A?FROMITZ=110
+ A?ISOLATION=109
+ A?HOLDING=108
+ A?PLATO=107
+ A?POETRY=106
+ A?STUN=105
+ A?RAY=104
+ A?FORK=103
+ A?GRIMY=102
+ A?GRIME-COVERED=101
+ A?IRIS=100
+ A?CRYSTAL=99
+ A?SIMULATION=98
+ A?METALLIC=97
+ A?CYLIND=96
+ A?GLASS=95
+ A?REFLECTIVE=94
+ A?TRANS-MOLECULAR=93
+ A?PLATINUM=92
+ A?TRANSL=91
+ A?PLASTIC=90
+ A?VACUUM=89
+ A?ARCTURIAN=88
+ A?BALLOON=87
+ A?CREATURE=86
+ A?CEILIN=85
+ A?ROOF=84
+ A?OSTRICH=83
+ A?INSTRUCTION=82
+ A?TWELVE=81
+ A?12-PRONG=80
+ A?J-SERIES=79
+ A?J=78
+ A?91ST-CENTURY=77
+ A?SCRAP=76
+ A?ROULETTE=75
+ A?FIRE=74
+ A?TEXT=73
+ A?INNER=72
+ A?UPPER=71
+ A?AIRLOCK=70
+ A?OUTER=69
+ A?LOWER=68
+ A?EXPLOSIVE=67
+ A?FREZONE=66
+ A?SPRAY=65
+ A?STRONG=64
+ A?FAIRLY=63
+ A?INNOCUOUS=62
+ A?MAGNETIC=61
+ A?FLOATING=60
+ A?USELESS=59
+ A?RANDOM=58
; BUZZ WORDS ARE DEFINED HERE
@@ -580,6 +601,7 @@
PR?GO=236
PR?DRESSE=235
PR?UNDRES=234
+ PR?UNTIL=233
; DIRECTIONS ARE DEFINED HERE
@@ -671,69 +693,73 @@
ACT?CIRCLE=173
ACT?$KEY=172
ACT?UNSCRIPT=171
- ACT?PUSH=170
- ACT?SUPER=169
- ACT?SIT=168
- ACT?RESTAR=167
- ACT?DISCONNECT=166
- ACT?APPLAUD=165
- ACT?TICKLE=164
- ACT?UNDRES=163
- ACT?REACH=162
- ACT?DIG=161
- ACT?SCORE=160
- ACT?COMFORT=159
- ACT?COVER=158
- ACT?VALIDA=157
- ACT?CONNECT=156
- ACT?COME=155
- ACT?LOOK=154
- ACT?EMPTY=153
- ACT?ATTRACT=152
- ACT?SPRAY=151
- ACT?DROP=150
- ACT?TIME=149
- ACT?ROLL=148
- ACT?LEAVE=147
- ACT?HAND=146
- ACT?SCRIPT=145
- ACT?$VERIFY=144
- ACT?EXTINGUISH=143
- ACT?SWING=142
- ACT?$STATION=141
- ACT?DESCEN=140
- ACT?SMELL=139
- ACT?BRIEF=138
- ACT?SLEEP=137
- ACT?WAKE=136
- ACT?REMOVE=135
- ACT?ANSWER=134
- ACT?WHAT=133
- ACT?YELL=132
- ACT?LOCK=131
- ACT?BURN=130
- ACT?KICK=129
- ACT?BITE=128
- ACT?POINT=127
- ACT?TURN=126
- ACT?#RECORD=125
- ACT?CROSS=124
- ACT?START=123
- ACT?MAYBE=122
- ACT?CLOSE=121
- ACT?GO=120
- ACT?SLIDE=119
- ACT?EXIT=118
- ACT?EXAMINE=117
- ACT?EAT=116
- ACT?DRILL=115
- ACT?FILL=114
- ACT?CLIMB=113
- ACT?LAUNCH=112
- ACT?DEMOLI=111
- ACT?SLICE=110
- ACT?ASK=109
- ACT?HELLO=108
+ ACT?CRUMPL=170
+ ACT?PUSH=169
+ ACT?SUPER=168
+ ACT?SIT=167
+ ACT?RESTAR=166
+ ACT?DISCONNECT=165
+ ACT?APPLAUD=164
+ ACT?TICKLE=163
+ ACT?UNDRES=162
+ ACT?REACH=161
+ ACT?DIG=160
+ ACT?SCORE=159
+ ACT?COMFORT=158
+ ACT?COVER=157
+ ACT?VALIDA=156
+ ACT?CONNECT=155
+ ACT?COME=154
+ ACT?LOOK=153
+ ACT?EMPTY=152
+ ACT?ATTRACT=151
+ ACT?SPRAY=150
+ ACT?DROP=149
+ ACT?COMPAR=148
+ ACT?TIME=147
+ ACT?ROLL=146
+ ACT?LEAVE=145
+ ACT?HAND=144
+ ACT?SCRIPT=143
+ ACT?$VERIFY=142
+ ACT?EXTINGUISH=141
+ ACT?SWING=140
+ ACT?$STATION=139
+ ACT?DESCEN=138
+ ACT?SMELL=137
+ ACT?BRIEF=136
+ ACT?SLEEP=135
+ ACT?WAKE=134
+ ACT?REMOVE=133
+ ACT?ANSWER=132
+ ACT?WHAT=131
+ ACT?YELL=130
+ ACT?LOCK=129
+ ACT?BURN=128
+ ACT?KICK=127
+ ACT?BITE=126
+ ACT?POINT=125
+ ACT?TURN=124
+ ACT?#RECORD=123
+ ACT?CROSS=122
+ ACT?START=121
+ ACT?MAYBE=120
+ ACT?CLOSE=119
+ ACT?FIX=118
+ ACT?GO=117
+ ACT?FOOTNOTE=116
+ ACT?SLIDE=115
+ ACT?EXIT=114
+ ACT?EXAMINE=113
+ ACT?EAT=112
+ ACT?DRILL=111
+ ACT?FILL=110
+ ACT?CLIMB=109
+ ACT?LAUNCH=108
+ ACT?DEMOLI=107
+ ACT?SLICE=106
+ ACT?ASK=105
+ ACT?HELLO=104
; USER DEFINED CONSTANTS ARE INITIALIZED HERE
@@ -827,21 +853,21 @@
; PROPERTY DEFAULTS AND OBJECTS ARE DEFINED HERE
OBJECT::.TABLE
- 0 ;(P?ASK-PLATO-ABOUT)
+ 0 ;()
+ 0 ;()
0 ;(P?VALUE)
0 ;(P?LEVEL)
0 ;(P?FOOD-DESC)
0 ;(P?GENERIC)
- 0 ;(P?FLOYD-ASK-ABOUT)
0 ;(P?DESCFCN)
0 ;(P?GLOBAL)
0 ;(P?FDESC)
- 0 ;(P?THINGS)
5 ;(P?CAPACITY)
0 ;(P?TEXT)
5 ;(P?SIZE)
+ 0 ;(P?THINGS)
0 ;(P?LDESC)
- 0 ;(P?ASK-FLOYD-ABOUT)
+ 0 ;(P?FLOYD-ASK-ABOUT)
0 ;(P?PLATO-ASK-ABOUT)
0 ;(P?ACTION)
0 ;(P?ADJECTIVE)
@@ -859,33 +885,34 @@ OBJECT::.TABLE
0 ;(P?NE)
0 ;(P?NORTH)
.OBJECT CHRONOMETER,0,FX?WORNBIT+FX?WEARBIT+FX?TAKEBIT,PROTAGONIST,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,0,T?CHRONOMETER
+ .OBJECT AIR,FX?VOWELBIT+FX?NARTICLEBIT,0,GLOBAL-OBJECTS,CEILING,0,T?AIR
.OBJECT GAME,0,0,GLOBAL-OBJECTS,ME,0,T?GAME
.OBJECT TIMER,0,FX?TAKEBIT,0,0,0,T?TIMER
.OBJECT AUXILIARY-BARRACKS,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,LEVEL-SIX,0,T?AUXILIARY-BARRACKS
- .OBJECT REC-SHOP,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,CHURCH,SIMULATION-BOOTH,T?REC-SHOP
+ .OBJECT REC-SHOP,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,RECRUITMENT-OFFICE,SIMULATION-BOOTH,T?REC-SHOP
.OBJECT SOUTH-JUNCTION,0,FX?ONBIT+FX?RLANDBIT,ROOMS,EAST-CONNECTION,0,T?SOUTH-JUNCTION
- .OBJECT HANDS,FX?PARTBIT+FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,HOLE,0,T?HANDS
+ .OBJECT HANDS,FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,HOLE,0,T?HANDS
.OBJECT CAGE,FX?SEARCHBIT+FX?TRANSBIT,FX?CONTBIT,PET-STORE,0,LEASH,T?CAGE
.OBJECT KEY,0,FX?TAKEBIT,SAFE,0,0,T?KEY
.OBJECT PAPER-RECYCLING-PLANT,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,PRINTING-PLANT,DRILL,T?PAPER-RECYCLING-PLANT
.OBJECT LEVEL-THREE,0,FX?ONBIT+FX?RLANDBIT,ROOMS,BARRACKS-SANFAC,0,T?LEVEL-THREE
- .OBJECT MAUVE-SPOOL,0,FX?TAKEBIT,LIBRARY,NANOFILM-READER,0,T?MAUVE-SPOOL
+ .OBJECT MAUVE-SPOOL,0,FX?READBIT+FX?TAKEBIT,PRINTING-PLANT,0,0,T?MAUVE-SPOOL
.OBJECT WINDOW,0,0,LOCAL-GLOBALS,PSEUDO-OBJECT,0,T?WINDOW
.OBJECT WELDER,0,0,0,0,0,T?WELDER
.OBJECT SPACESUIT,0,FX?TAKEBIT+FX?WEARBIT,LOCKER,0,0,T?SPACESUIT
.OBJECT SPRAY-CAN,0,FX?READBIT+FX?TAKEBIT,PAWN-SHOP,0,0,T?SPRAY-CAN
.OBJECT SICK-BAY,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,PX,0,T?SICK-BAY
.OBJECT OFFICERS-QUARTERS-B,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,OFFICERS-QUARTERS-A,0,T?OFFICERS-QUARTERS-B
- .OBJECT THEATRE,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,CHAPEL,PROJECTION-BOOTH,T?THEATRE
+ .OBJECT THEATRE,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,CHAPEL,0,T?THEATRE
.OBJECT AUTO-DOOR,FX?VOWELBIT,FX?DOORBIT,LOCAL-GLOBALS,CALL-BUTTON,0,T?AUTO-DOOR
.OBJECT MAYORS-OFFICE,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,GREASY-STRAW,BOOK,T?MAYORS-OFFICE
.OBJECT COUNTER,FX?SEARCHBIT+FX?NDESCBIT,FX?SURFACEBIT+FX?CONTBIT,GREASY-STRAW,0,0,T?COUNTER
.OBJECT MEETING-ROOM-2,0,FX?ONBIT+FX?RLANDBIT,ROOMS,MEETING-ROOM-1,0,T?MEETING-ROOM-2
.OBJECT DICE,FX?PLURALBIT,FX?TAKEBIT,CASINO,ROULETTE-WHEEL,0,T?DICE
- .OBJECT FLOYD,FX?NARTICLEBIT+FX?OPENBIT+FX?TRANSBIT+FX?SEARCHBIT,FX?ACTIVEBIT+FX?ACTORBIT+FX?CONTBIT,ROBOT-POOL,0,0,T?FLOYD
+ .OBJECT FLOYD,FX?NARTICLEBIT+FX?OPENBIT+FX?SEARCHBIT,FX?ACTIVEBIT+FX?ACTORBIT+FX?CONTBIT,ROBOT-POOL,0,0,T?FLOYD
.OBJECT FILE-ROOM,FX?NWELDERBIT,FX?RLANDBIT,ROOMS,COMM-CENTER,0,T?FILE-ROOM
.OBJECT ME,FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,TONGUE,0,T?ME
- .OBJECT LOG-READER,FX?TRYTAKEBIT+FX?OPENBIT,FX?CONTBIT+FX?LIGHTBIT,COMMANDERS-OFFICE,0,0,T?LOG-READER
+ .OBJECT LOG-READER,FX?OPENBIT+FX?SEARCHBIT,FX?TRYTAKEBIT+FX?CONTBIT+FX?LIGHTBIT,COMMANDERS-OFFICE,0,0,T?LOG-READER
.OBJECT LOAN-SHARK,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,PAWN-SHOP,STRONG-BOX,T?LOAN-SHARK
.OBJECT PET-STORE,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,GROCERY,CAGE,T?PET-STORE
.OBJECT DOCKING-BAY-2,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,SPACETRUCK,0,T?DOCKING-BAY-2
@@ -904,7 +931,7 @@ OBJECT::.TABLE
.OBJECT OUTER-AIRLOCK-DOOR,FX?VOWELBIT,FX?DOORBIT,LOCAL-GLOBALS,INNER-AIRLOCK-DOOR,0,T?OUTER-AIRLOCK-DOOR
.OBJECT RADIO,FX?VOWELBIT+FX?NDESCBIT,FX?LIGHTBIT,SPACETRUCK,PILOT-SEAT,0,T?RADIO
.OBJECT SOUTH-CONNECTION,0,FX?ONBIT+FX?RLANDBIT,ROOMS,ARMORY,0,T?SOUTH-CONNECTION
- .OBJECT LOCAL-GLOBALS,FX?NARTICLEBIT,0,GLOBAL-OBJECTS,0,OUTER-AIRLOCK-DOOR,T?LOCAL-GLOBALS
+ .OBJECT LOCAL-GLOBALS,FX?NARTICLEBIT,0,GLOBAL-OBJECTS,0,GARBAGE,T?LOCAL-GLOBALS
.OBJECT BRIG,FX?FLOYDBIT+FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,SICK-BAY,0,T?BRIG
.OBJECT PILOT-SEAT,FX?NDESCBIT+FX?SEARCHBIT+FX?OPENBIT+FX?INBIT,FX?CONTBIT+FX?VEHBIT,SPACETRUCK,COPILOT-SEAT,0,T?PILOT-SEAT
.OBJECT LEVEL-FIVE,0,FX?ONBIT+FX?RLANDBIT,ROOMS,DOCKING-BAY-2,0,T?LEVEL-FIVE
@@ -913,34 +940,33 @@ OBJECT::.TABLE
.OBJECT CARGO-BAY-ENTRANCE,FX?FLOYDBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,FORM-STORAGE-ROOM,0,T?CARGO-BAY-ENTRANCE
.OBJECT VOLUME,FX?NDESCBIT+FX?NARTICLEBIT,FX?READBIT,PLATO,0,0,T?VOLUME
.OBJECT PAWN-SHOP,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,VACUUM-STORAGE,SPRAY-CAN,T?PAWN-SHOP
- .OBJECT GLOBAL-OBJECTS,FX?NWELDERBIT+FX?FLOYDBIT+FX?NARTICLEBIT+FX?INBIT+FX?PLURALBIT+FX?NDESCBIT+FX?LOCKEDBIT+FX?VOWELBIT+FX?TRANSBIT+FX?SEARCHBIT+FX?OPENBIT+FX?TRYTAKEBIT,FX?ACTIVEBIT+FX?ACTORBIT+FX?DOORBIT+FX?CONTBIT+FX?VEHBIT+FX?WORNBIT+FX?RLANDBIT+FX?LIGHTBIT+FX?ONBIT+FX?WEARBIT+FX?SURFACEBIT+FX?TOUCHBIT+FX?INVISIBLE,0,0,SLEEP,T?GLOBAL-OBJECTS
- .OBJECT PROJECTION-BOOTH,FX?INBIT+FX?SEARCHBIT+FX?OPENBIT+FX?NDESCBIT,FX?VEHBIT+FX?CONTBIT,THEATRE,0,0,T?PROJECTION-BOOTH
+ .OBJECT GLOBAL-OBJECTS,FX?NWELDERBIT+FX?FLOYDBIT+FX?NARTICLEBIT+FX?INBIT+FX?PLURALBIT+FX?NDESCBIT+FX?LOCKEDBIT+FX?VOWELBIT+FX?TRANSBIT+FX?SEARCHBIT+FX?OPENBIT,FX?ACTIVEBIT+FX?ACTORBIT+FX?DOORBIT+FX?CONTBIT+FX?VEHBIT+FX?WORNBIT+FX?RLANDBIT+FX?LIGHTBIT+FX?ONBIT+FX?WEARBIT+FX?TRYTAKEBIT+FX?SURFACEBIT+FX?TOUCHBIT+FX?INVISIBLE,0,0,SLEEP,T?GLOBAL-OBJECTS
.OBJECT IT,FX?NARTICLEBIT+FX?VOWELBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,INTNUM,0,T?IT
.OBJECT BRIEFING-ROOM,0,FX?ONBIT+FX?RLANDBIT,ROOMS,COMMANDERS-QUARTERS,0,T?BRIEFING-ROOM
.OBJECT LOCKER,FX?NDESCBIT+FX?SEARCHBIT,FX?CONTBIT,FLOPHOUSE,0,SPACESUIT,T?LOCKER
.OBJECT WALLS,0,0,GLOBAL-OBJECTS,GROUND,0,T?WALLS
- .OBJECT SMALL-BIT,FX?NDESCBIT,FX?TAKEBIT,DRILL,0,0,T?SMALL-BIT
+ .OBJECT SMALL-BIT,0,FX?TAKEBIT,DRILL,0,0,T?SMALL-BIT
.OBJECT DRYER,FX?SEARCHBIT,FX?LIGHTBIT+FX?CONTBIT,LAUNDRY,0,0,T?DRYER
.OBJECT FLOPHOUSE,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,OPIUM-DEN,LOCKER,T?FLOPHOUSE
.OBJECT PLATINUM-DETECTOR,0,FX?LIGHTBIT+FX?TAKEBIT,BANK,0,0,T?PLATINUM-DETECTOR
.OBJECT PALLETS,FX?NARTICLEBIT,FX?READBIT,FORM-STORAGE-ROOM,0,0,T?PALLETS
.OBJECT STATION-CONTROL,0,FX?ONBIT+FX?RLANDBIT,ROOMS,SOUTH-JUNCTION,SYSTEM-MONITORS,T?STATION-CONTROL
- .OBJECT BLUE-GOO,0,0,FOOD-KIT,ORANGE-GOO,0,T?BLUE-GOO
.OBJECT FPU,FX?NDESCBIT,0,MESS-HALL,0,0,T?FPU
.OBJECT PRESSER,FX?SEARCHBIT,FX?LIGHTBIT+FX?CONTBIT,LAUNDRY,DRYER,0,T?PRESSER
- .OBJECT PEDESTAL,FX?OPENBIT+FX?NDESCBIT,FX?SURFACEBIT+FX?CONTBIT,ALIEN-SHIP,PATTERN-OF-DOTS,0,T?PEDESTAL
+ .OBJECT PEDESTAL,FX?SEARCHBIT+FX?OPENBIT+FX?NDESCBIT,FX?SURFACEBIT+FX?CONTBIT,ALIEN-SHIP,PATTERN-OF-DOTS,0,T?PEDESTAL
.OBJECT ASTRO-OFFICE,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,ASTRO-LAB,0,T?ASTRO-OFFICE
.OBJECT JUNK-YARD,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,SHADY-DANS,BOOTS,T?JUNK-YARD
.OBJECT SPACETRUCK-OBJECT,0,0,LOCAL-GLOBALS,BED,0,T?SPACETRUCK-OBJECT
.OBJECT SHRUBBERY,FX?NARTICLEBIT+FX?NDESCBIT,0,DOME,0,0,T?SHRUBBERY
.OBJECT PATTERN-OF-DOTS,FX?NDESCBIT,0,ALIEN-SHIP,0,0,T?PATTERN-OF-DOTS
.OBJECT DOCKING-BAY-1,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,AUXILIARY-SANFAC,0,T?DOCKING-BAY-1
+ .OBJECT SCULPTURE,FX?NDESCBBIT,0,STUDIO,DIODE-J,0,T?SCULPTURE
.OBJECT ID-READER,FX?VOWELBIT,0,LOCAL-GLOBALS,SECURITY-DOOR,0,T?ID-READER
.OBJECT INNER-AIRLOCK-DOOR,FX?VOWELBIT,FX?DOORBIT,LOCAL-GLOBALS,NECTAR,0,T?INNER-AIRLOCK-DOOR
.OBJECT LADDER,0,0,LOCAL-GLOBALS,FIXTURES,0,T?LADDER
- .OBJECT ID-CARD,FX?TRYTAKEBIT+FX?VOWELBIT,FX?READBIT+FX?TAKEBIT,PATROL-UNIFORM,0,0,T?ID-CARD
- .OBJECT DIODE-J,0,FX?TAKEBIT,ASTRO-LAB,0,0,T?DIODE-J
- .OBJECT BOOTS,FX?TRYTAKEBIT+FX?PLURALBIT,FX?WEARBIT+FX?TAKEBIT,JUNK-YARD,0,0,T?BOOTS
+ .OBJECT ID-CARD,FX?VOWELBIT,FX?READBIT+FX?TRYTAKEBIT+FX?TAKEBIT,PATROL-UNIFORM,0,0,T?ID-CARD
+ .OBJECT DIODE-J,0,FX?TAKEBIT,STUDIO,0,0,T?DIODE-J
+ .OBJECT BOOTS,FX?PLURALBIT,FX?WEARBIT+FX?TAKEBIT+FX?TRYTAKEBIT,JUNK-YARD,0,0,T?BOOTS
.OBJECT EQUIPMENT,FX?VOWELBIT,0,LOCAL-GLOBALS,SIGN,0,T?EQUIPMENT
.OBJECT DESK,0,0,LOCAL-GLOBALS,KEYPAD,0,T?DESK
.OBJECT WORKSHOP,0,FX?ONBIT+FX?RLANDBIT,ROOMS,LEVEL-FIVE,BEDISTOR,T?WORKSHOP
@@ -951,7 +977,7 @@ OBJECT::.TABLE
.OBJECT EXPLOSIVE,FX?VOWELBIT,FX?READBIT+FX?TAKEBIT,VACUUM-STORAGE,0,0,T?EXPLOSIVE
.OBJECT PRINTING-PLANT,0,FX?ONBIT+FX?RLANDBIT,ROOMS,OFFICERS-SANFAC,TRASH-CAN,T?PRINTING-PLANT
.OBJECT MALE-BARRACKS,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,FEMALE-BARRACKS,0,T?MALE-BARRACKS
- .OBJECT RECRUITMENT-OFFICE,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,MAYORS-OFFICE,0,T?RECRUITMENT-OFFICE
+ .OBJECT RECRUITMENT-OFFICE,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,FORTUNE-TELLER,0,T?RECRUITMENT-OFFICE
.OBJECT SALOON,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,STUDIO,0,T?SALOON
.OBJECT PULPIT,FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT,CHAPEL,ETERNAL-FLAME,SWITCH,T?PULPIT
.OBJECT FIELD-OFFICE,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,REC-SHOP,HEADLAMP,T?FIELD-OFFICE
@@ -969,35 +995,34 @@ OBJECT::.TABLE
.OBJECT MISSIONARY,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,ALLEY,0,T?MISSIONARY
.OBJECT GRATING,FX?VOWELBIT+FX?NDESCBIT,0,LOCAL-GLOBALS,SPACETRUCK-HATCH,0,T?GRATING
.OBJECT EXERCISE-MACHINE,FX?SEARCHBIT+FX?OPENBIT+FX?INBIT+FX?VOWELBIT,FX?CONTBIT+FX?VEHBIT,GYM,0,0,T?EXERCISE-MACHINE
- .OBJECT CHURCH,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,FORTUNE-TELLER,0,T?CHURCH
- .OBJECT PUCE-SPOOL,0,FX?TAKEBIT,LIBRARY,COMPUTER-TERMINAL,0,T?PUCE-SPOOL
+ .OBJECT PUCE-SPOOL,0,FX?READBIT+FX?TAKEBIT,CHAPEL,0,0,T?PUCE-SPOOL
.OBJECT TOP-OF-AIR-SHAFT,0,FX?ONBIT+FX?RLANDBIT,ROOMS,PLATO,0,T?TOP-OF-AIR-SHAFT
.OBJECT BARBERSHOP,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,FIELD-OFFICE,0,T?BARBERSHOP
.OBJECT SHADY-DANS,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,DOC-SCHUSTER,ID-CHANGER,T?SHADY-DANS
- .OBJECT AIR-SHAFT,0,FX?ONBIT+FX?RLANDBIT,ROOMS,TOP-OF-AIR-SHAFT,0,T?AIR-SHAFT
+ .OBJECT AIR-SHAFT,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,TOP-OF-AIR-SHAFT,0,T?AIR-SHAFT
+ .OBJECT COFFEE,0,FX?TAKEBIT,MESS-HALL,FPU,0,T?COFFEE
.OBJECT COMM-CENTER,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,STATION-CONTROL,0,T?COMM-CENTER
.OBJECT BED,FX?OPENBIT+FX?SEARCHBIT,FX?CONTBIT+FX?VEHBIT,LOCAL-GLOBALS,CUBICLE,0,T?BED
.OBJECT REX,FX?NARTICLEBIT,FX?ACTORBIT,ROBOT-POOL,HELEN,0,T?REX
- .OBJECT GLOBAL-ROOM,0,0,GLOBAL-OBJECTS,CEILING,0,T?GLOBAL-ROOM
- .OBJECT TWELVE-PRONG-FROMITZ-BOARD,0,FX?TAKEBIT,TRADING-POST,BOTTLE,0,T?TWELVE-PRONG-FROMITZ-BOARD
+ .OBJECT GLOBAL-ROOM,0,0,GLOBAL-OBJECTS,AIR,0,T?GLOBAL-ROOM
+ .OBJECT TWELVE-PRONG-FROMITZ-BOARD,0,FX?TAKEBIT,TRADING-POST,INSTRUCTION-SHEET,0,T?TWELVE-PRONG-FROMITZ-BOARD
.OBJECT SAFE,FX?LOCKEDBIT+FX?SEARCHBIT,FX?CONTBIT,COMMANDERS-QUARTERS,LOG-TAPE,KEY,T?SAFE
- .OBJECT MESS-HALL,0,FX?ONBIT+FX?RLANDBIT,ROOMS,THEATRE,SOUP,T?MESS-HALL
+ .OBJECT MESS-HALL,0,FX?ONBIT+FX?RLANDBIT,ROOMS,THEATRE,COFFEE,T?MESS-HALL
.OBJECT PX,0,FX?ONBIT+FX?RLANDBIT,ROOMS,NORTH-CONNECTION,DISPENSER,T?PX
- .OBJECT BOTTLE,FX?TRANSBIT,FX?READBIT+FX?CONTBIT+FX?TAKEBIT,TRADING-POST,INSTRUCTION-SHEET,0,T?BOTTLE
.OBJECT DOME,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,LIBRARY,HOUSING,T?DOME
.OBJECT MAKESHIFT-CONNECTOR,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,FACTORY,0,T?MAKESHIFT-CONNECTOR
- .OBJECT PAPER,0,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,BOOK,0,0,T?PAPER
+ .OBJECT PAPER,0,FX?READBIT+FX?TAKEBIT,BOOK,0,0,T?PAPER
.OBJECT HIM,FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,IT,0,T?HIM
- .OBJECT LIBRARY,0,FX?ONBIT+FX?RLANDBIT,ROOMS,MEETING-ROOM-2,PUCE-SPOOL,T?LIBRARY
- .OBJECT MAGAZINES,FX?TRYTAKEBIT+FX?NDESCBIT,FX?READBIT,LIBRARY,0,0,T?MAGAZINES
+ .OBJECT LIBRARY,0,FX?ONBIT+FX?RLANDBIT,ROOMS,MEETING-ROOM-2,NANOFILM-READER,T?LIBRARY
+ .OBJECT MAGAZINES,FX?NDESCBIT,FX?TRYTAKEBIT+FX?READBIT,LIBRARY,0,0,T?MAGAZINES
.OBJECT ORANGE-GOO,0,0,FOOD-KIT,GRAY-GOO,0,T?ORANGE-GOO
- .OBJECT TRASH-CAN,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,PRINTING-PLANT,0,CRUMPLED-FORM,T?TRASH-CAN
+ .OBJECT TRASH-CAN,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,PRINTING-PLANT,MAUVE-SPOOL,CRUMPLED-FORM,T?TRASH-CAN
.OBJECT TRADING-POST,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,PET-STORE,TWELVE-PRONG-FROMITZ-BOARD,T?TRADING-POST
.OBJECT HELEN,FX?NARTICLEBIT,FX?ACTORBIT,ROBOT-POOL,FLOYD,0,T?HELEN
- .OBJECT CRUMPLED-FORM,0,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,TRASH-CAN,0,0,T?CRUMPLED-FORM
- .OBJECT FORM-STORAGE-ROOM,FX?FLOYDBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,DECK-FIVE,PALLETS,T?FORM-STORAGE-ROOM
- .OBJECT STAR,FX?SEARCHBIT+FX?TRYTAKEBIT+FX?NDESCBIT,FX?CONTBIT+FX?TAKEBIT,CHAPEL,0,DIODE-M,T?STAR
- .OBJECT TWENTY-PRONG-FROMITZ-BOARD,0,FX?TAKEBIT,STUDIO,0,0,T?TWENTY-PRONG-FROMITZ-BOARD
+ .OBJECT CRUMPLED-FORM,0,FX?READBIT+FX?TAKEBIT,TRASH-CAN,0,0,T?CRUMPLED-FORM
+ .OBJECT FORM-STORAGE-ROOM,FX?FLOYDBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,DECK-TWELVE,PALLETS,T?FORM-STORAGE-ROOM
+ .OBJECT STAR,FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT+FX?TAKEBIT+FX?TRYTAKEBIT,CHAPEL,PUCE-SPOOL,DIODE-M,T?STAR
+ .OBJECT TWENTY-PRONG-FROMITZ-BOARD,0,FX?TAKEBIT,ASTRO-LAB,0,0,T?TWENTY-PRONG-FROMITZ-BOARD
.OBJECT HEATING-CHAMBER,FX?SEARCHBIT+FX?OPENBIT,FX?CONTBIT,ROBOT-SHOP,0,MEDIUM-BIT,T?HEATING-CHAMBER
.OBJECT HEADLAMP,0,FX?WEARBIT+FX?LIGHTBIT+FX?TAKEBIT,FIELD-OFFICE,0,0,T?HEADLAMP
.OBJECT TAFFY,FX?NARTICLEBIT,FX?TAKEBIT,PLASTIC-BAG,0,0,T?TAFFY
@@ -1007,30 +1032,30 @@ OBJECT::.TABLE
.OBJECT OPIUM-DEN,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,CASINO,0,T?OPIUM-DEN
.OBJECT CALL-BUTTON,0,0,LOCAL-GLOBALS,ELEVATOR-SHAFT,0,T?CALL-BUTTON
.OBJECT DOC-SCHUSTER,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,LOAN-SHARK,LETTER,T?DOC-SCHUSTER
- .OBJECT NOTE,0,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,BIO-OFFICE,0,0,T?NOTE
+ .OBJECT NOTE,0,FX?READBIT+FX?TAKEBIT,BIO-OFFICE,0,0,T?NOTE
.OBJECT STUN-GUN,0,0,0,0,0,T?STUN-GUN
.OBJECT KEYPAD,FX?NDESCBIT,0,LOCAL-GLOBALS,EVERYONE,0,T?KEYPAD
.OBJECT LEVEL-SIX,0,FX?ONBIT+FX?RLANDBIT,ROOMS,DOME,0,T?LEVEL-SIX
.OBJECT DOCKING-BAY-4,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,ALIEN-SHIP,0,T?DOCKING-BAY-4
.OBJECT PLASTIC-BAG,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,GROCERY,0,TAFFY,T?PLASTIC-BAG
- .OBJECT NECTAR,0,FX?TAKEBIT,LOCAL-GLOBALS,FOIL,0,T?NECTAR
+ .OBJECT NECTAR,0,FX?TAKEBIT,LOCAL-GLOBALS,IRIS-HATCH,0,T?NECTAR
.OBJECT FIXTURES,0,0,LOCAL-GLOBALS,EQUIPMENT,0,T?FIXTURES
.OBJECT ALIEN-SHIP,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,DOCKING-BAY-1,SKELETON,T?ALIEN-SHIP
.OBJECT BALLOON,FX?VOWELBIT,0,CAGE,0,0,T?BALLOON
- .OBJECT INSTRUCTION-SHEET,FX?VOWELBIT,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,TRADING-POST,0,0,T?INSTRUCTION-SHEET
+ .OBJECT INSTRUCTION-SHEET,FX?VOWELBIT,FX?READBIT+FX?TAKEBIT,TRADING-POST,0,0,T?INSTRUCTION-SHEET
+ .OBJECT THERMOS,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,FOOD-KIT,0,SOUP,T?THERMOS
.OBJECT SIGN,0,FX?READBIT,LOCAL-GLOBALS,WINDOW,0,T?SIGN
.OBJECT EAST-CONNECTION,0,FX?ONBIT+FX?RLANDBIT,ROOMS,EAST-JUNCTION,0,T?EAST-CONNECTION
.OBJECT COMPUTER-CONTROL,0,FX?ONBIT+FX?RLANDBIT,ROOMS,BOTTOM-OF-AIR-SHAFT,0,T?COMPUTER-CONTROL
.OBJECT GRUE,0,0,GLOBAL-OBJECTS,GAME,0,T?GRUE
- .OBJECT INSURANCE-OFFICE,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,TRAVEL-AGENCY,0,T?INSURANCE-OFFICE
- .OBJECT ASTRO-LAB,0,FX?ONBIT+FX?RLANDBIT,ROOMS,ENGINEERING-OFFICE,DIODE-J,T?ASTRO-LAB
+ .OBJECT ASTRO-LAB,0,FX?ONBIT+FX?RLANDBIT,ROOMS,ENGINEERING-OFFICE,TWENTY-PRONG-FROMITZ-BOARD,T?ASTRO-LAB
.OBJECT LOG-TAPE,0,FX?READBIT+FX?TAKEBIT,COMMANDERS-QUARTERS,0,0,T?LOG-TAPE
.OBJECT FEMALE-BARRACKS,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,DOCKING-BAY-3,0,T?FEMALE-BARRACKS
.OBJECT SHIPPING-ROOM,FX?NWELDERBIT,FX?RLANDBIT,ROOMS,ROBOT-SHOP,0,T?SHIPPING-ROOM
- .OBJECT SIMULATION-BOOTH,FX?INBIT+FX?OPENBIT+FX?NDESCBIT,FX?VEHBIT+FX?CONTBIT,REC-SHOP,0,0,T?SIMULATION-BOOTH
+ .OBJECT SIMULATION-BOOTH,FX?INBIT+FX?OPENBIT+FX?SEARCHBIT+FX?NDESCBIT,FX?VEHBIT+FX?CONTBIT,REC-SHOP,0,0,T?SIMULATION-BOOTH
.OBJECT MAIN-STORAGE,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,MESS-HALL,DETONATOR,T?MAIN-STORAGE
- .OBJECT FORTUNE-TELLER,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,BROADWAY,0,T?FORTUNE-TELLER
- .OBJECT STRONG-BOX,FX?TRYTAKEBIT,0,LOAN-SHARK,0,0,T?STRONG-BOX
+ .OBJECT FORTUNE-TELLER,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,BROADWAY,CRYSTAL-BALL,T?FORTUNE-TELLER
+ .OBJECT STRONG-BOX,FX?LOCKEDBIT,FX?TRYTAKEBIT,LOAN-SHARK,0,0,T?STRONG-BOX
.OBJECT SKELETON,FX?VOWELBIT,0,ALIEN-SHIP,PEDESTAL,0,T?SKELETON
.OBJECT GROCERY,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,BARBERSHOP,PLASTIC-BAG,T?GROCERY
.OBJECT GROUND,0,0,GLOBAL-OBJECTS,HIM,0,T?GROUND
@@ -1042,65 +1067,69 @@ OBJECT::.TABLE
.OBJECT VACUUM-STORAGE,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?RLANDBIT,ROOMS,AIRLOCK,EXPLOSIVE,T?VACUUM-STORAGE
.OBJECT NOT-HERE-OBJECT,FX?NARTICLEBIT,0,0,0,0,T?NOT-HERE-OBJECT
.OBJECT WARDROBE,0,0,LOCAL-GLOBALS,DESK,0,T?WARDROBE
- .OBJECT GRAY-GOO,0,0,FOOD-KIT,0,0,T?GRAY-GOO
+ .OBJECT GRAY-GOO,0,0,FOOD-KIT,THERMOS,0,T?GRAY-GOO
.OBJECT LARGE-BIT,0,FX?TAKEBIT,0,0,0,T?LARGE-BIT
.OBJECT TUBE,0,FX?ONBIT+FX?RLANDBIT,ROOMS,ELEVATOR,0,T?TUBE
+ .OBJECT FORKLIFT,0,0,0,0,0,T?FORKLIFT
.OBJECT INTNUM,0,0,GLOBAL-OBJECTS,INTDIR,0,T?INTNUM
- .OBJECT FOOD-KIT,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,SPACETRUCK,RADIO,BLUE-GOO,T?FOOD-KIT
- .OBJECT BOOK,0,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,MAYORS-OFFICE,0,PAPER,T?BOOK
+ .OBJECT FOOD-KIT,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,SPACETRUCK,RADIO,ORANGE-GOO,T?FOOD-KIT
+ .OBJECT BOOK,0,FX?READBIT+FX?TAKEBIT,MAYORS-OFFICE,0,PAPER,T?BOOK
+ .OBJECT GARBAGE,FX?NARTICLEBIT,0,LOCAL-GLOBALS,AIRLOCK-OBJECT,0,T?GARBAGE
.OBJECT HOLDING-TANK-LEVEL,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,BIO-OFFICE,HOLDING-TANK,T?HOLDING-TANK-LEVEL
.OBJECT BARRACKS-SANFAC,0,FX?ONBIT+FX?RLANDBIT,ROOMS,MALE-BARRACKS,0,T?BARRACKS-SANFAC
.OBJECT SLEEP,FX?NARTICLEBIT,0,GLOBAL-OBJECTS,GRUE,0,T?SLEEP
.OBJECT DISPENSER,0,0,PX,0,0,T?DISPENSER
+ .OBJECT CRYSTAL-BALL,0,FX?TAKEBIT,FORTUNE-TELLER,0,0,T?CRYSTAL-BALL
+ .OBJECT DECK-TWELVE,FX?FLOYDBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,0,PROTAGONIST,T?DECK-TWELVE
.OBJECT ELEVATOR-OBJECT,FX?VOWELBIT,0,LOCAL-GLOBALS,GRATING,0,T?ELEVATOR-OBJECT
.OBJECT DRILLED-HOLE,FX?SEARCHBIT+FX?OPENBIT+FX?NDESCBIT,FX?CONTBIT,0,0,0,T?DRILLED-HOLE
.OBJECT WAREHOUSE,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,MISSIONARY,0,T?WAREHOUSE
.OBJECT CEILING,0,0,GLOBAL-OBJECTS,WALLS,0,T?CEILING
- .OBJECT DIARY,0,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,ENGINEERING-OFFICE,0,0,T?DIARY
+ .OBJECT DIARY,0,FX?READBIT+FX?TAKEBIT,ENGINEERING-OFFICE,0,0,T?DIARY
.OBJECT BIO-OFFICE,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,BIO-LAB,NOTE,T?BIO-OFFICE
.OBJECT ETERNAL-FLAME,FX?NDESCBIT+FX?VOWELBIT,FX?ACTIVEBIT+FX?LIGHTBIT+FX?ONBIT,CHAPEL,STAR,0,T?ETERNAL-FLAME
- .OBJECT FOIL,FX?NARTICLEBIT,FX?TAKEBIT,LOCAL-GLOBALS,IRIS-HATCH,0,T?FOIL
- .OBJECT BANK,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,RECRUITMENT-OFFICE,PLATINUM-DETECTOR,T?BANK
+ .OBJECT FOIL,FX?NARTICLEBIT,FX?TAKEBIT,0,0,0,T?FOIL
+ .OBJECT BANK,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,MAYORS-OFFICE,PLATINUM-DETECTOR,T?BANK
.OBJECT TRAVEL-AGENCY,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,BANK,0,T?TRAVEL-AGENCY
- .OBJECT VILLAGE-FORM,0,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,0,0,0,T?VILLAGE-FORM
- .OBJECT ASSIGNMENT-COMPLETION-FORM,FX?VOWELBIT,FX?BURNBIT+FX?READBIT+FX?TAKEBIT,PROTAGONIST,0,0,T?ASSIGNMENT-COMPLETION-FORM
+ .OBJECT VILLAGE-FORM,0,FX?READBIT+FX?TAKEBIT,0,0,0,T?VILLAGE-FORM
+ .OBJECT ASSIGNMENT-COMPLETION-FORM,FX?VOWELBIT,FX?READBIT+FX?TAKEBIT,PROTAGONIST,0,0,T?ASSIGNMENT-COMPLETION-FORM
.OBJECT MEETING-ROOM-1,0,FX?ONBIT+FX?RLANDBIT,ROOMS,MAIN-STORAGE,0,T?MEETING-ROOM-1
- .OBJECT ID-CHANGER,FX?SEARCHBIT+FX?OPENBIT+FX?TRYTAKEBIT+FX?VOWELBIT,FX?CONTBIT+FX?LIGHTBIT,SHADY-DANS,0,0,T?ID-CHANGER
- .OBJECT DOCKING-BAY-3,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,LEVEL-FOUR,0,T?DOCKING-BAY-3
+ .OBJECT ID-CHANGER,FX?SEARCHBIT+FX?OPENBIT+FX?VOWELBIT,FX?CONTBIT+FX?LIGHTBIT+FX?TRYTAKEBIT,SHADY-DANS,0,0,T?ID-CHANGER
+ .OBJECT DOCKING-BAY-3,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,LEVEL-FOUR,LILAC-SPOOL,T?DOCKING-BAY-3
.OBJECT LEVEL-FOUR,0,FX?ONBIT+FX?RLANDBIT,ROOMS,SOUTH-CONNECTION,0,T?LEVEL-FOUR
- .OBJECT ALLEY,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,INSURANCE-OFFICE,0,T?ALLEY
+ .OBJECT ALLEY,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,TRAVEL-AGENCY,0,T?ALLEY
.OBJECT ROBOT-SHOP,FX?FLOYDBIT+FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,END-OF-CORRIDOR,OLIVER,T?ROBOT-SHOP
.OBJECT ROULETTE-WHEEL,FX?NDESCBIT,0,CASINO,0,0,T?ROULETTE-WHEEL
- .OBJECT PROTAGONIST,FX?NDESCBIT+FX?NARTICLEBIT,FX?ACTORBIT+FX?INVISIBLE,DECK-FIVE,0,PATROL-UNIFORM,T?PROTAGONIST
+ .OBJECT PROTAGONIST,FX?NDESCBIT+FX?NARTICLEBIT,FX?ACTORBIT+FX?INVISIBLE,DECK-TWELVE,0,PATROL-UNIFORM,T?PROTAGONIST
.OBJECT DIODE-M,FX?VOWELBIT,FX?TAKEBIT,STAR,0,0,T?DIODE-M
.OBJECT BOTTOM-OF-ELEVATOR-SHAFT,0,FX?RLANDBIT,ROOMS,COMPUTER-CONTROL,0,T?BOTTOM-OF-ELEVATOR-SHAFT
- .OBJECT STUDIO,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,TRADING-POST,TWENTY-PRONG-FROMITZ-BOARD,T?STUDIO
+ .OBJECT STUDIO,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,TRADING-POST,SCULPTURE,T?STUDIO
.OBJECT PYRAMID,FX?NDESCBIT,0,FACTORY,0,0,T?PYRAMID
.OBJECT HOLDING-TANK,FX?INBIT+FX?OPENBIT+FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT+FX?VEHBIT,HOLDING-TANK-LEVEL,0,0,T?HOLDING-TANK
.OBJECT MAIN-STREET,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,GRIMY-PASSAGE,0,T?MAIN-STREET
+ .OBJECT AIRLOCK-OBJECT,FX?VOWELBIT,0,LOCAL-GLOBALS,OUTER-AIRLOCK-DOOR,0,T?AIRLOCK-OBJECT
+ .OBJECT LILAC-SPOOL,0,FX?READBIT+FX?TAKEBIT,DOCKING-BAY-3,0,0,T?LILAC-SPOOL
.OBJECT GYM,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,LEVEL-THREE,EXERCISE-MACHINE,T?GYM
.OBJECT CUBICLE,0,0,LOCAL-GLOBALS,WARDROBE,0,T?CUBICLE
.OBJECT PATROL-UNIFORM,FX?OPENBIT+FX?SEARCHBIT,FX?CONTBIT+FX?WEARBIT+FX?WORNBIT+FX?TAKEBIT,PROTAGONIST,CHRONOMETER,ID-CARD,T?PATROL-UNIFORM
.OBJECT SPACETRUCK,FX?FLOYDBIT+FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,CARGO-BAY,FOOD-KIT,T?SPACETRUCK
.OBJECT NORTH-CONNECTION,0,FX?ONBIT+FX?RLANDBIT,ROOMS,NORTH-JUNCTION,0,T?NORTH-CONNECTION
.OBJECT CASINO,FX?NWELDERBIT+FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,SALOON,DICE,T?CASINO
- .OBJECT COMPUTER-TERMINAL,FX?NDESCBIT,FX?LIGHTBIT,LIBRARY,MAUVE-SPOOL,0,T?COMPUTER-TERMINAL
.OBJECT JAMMER,FX?OPENBIT+FX?SEARCHBIT,FX?LIGHTBIT+FX?CONTBIT+FX?TAKEBIT,STORAGE-5,0,0,T?JAMMER
.OBJECT ZAPGUN,0,FX?TAKEBIT,ARMORY,0,0,T?ZAPGUN
.OBJECT OSTRICH-NIP,0,FX?TAKEBIT,PANEL,0,0,T?OSTRICH-NIP
.OBJECT EVERYONE,FX?VOWELBIT,0,LOCAL-GLOBALS,LADDER,0,T?EVERYONE
- .OBJECT SOUP,0,FX?TAKEBIT,MESS-HALL,FPU,0,T?SOUP
+ .OBJECT SOUP,FX?NARTICLEBIT,0,THERMOS,0,0,T?SOUP
.OBJECT BROADWAY,FX?WEIGHTLESSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,MAKESHIFT-CONNECTOR,0,T?BROADWAY
.OBJECT LEASH,FX?NDESCBIT,0,CAGE,BALLOON,0,T?LEASH
- .OBJECT LETTER,0,FX?BURNBIT+FX?TAKEBIT+FX?READBIT,DOC-SCHUSTER,OSTRICH,0,T?LETTER
+ .OBJECT LETTER,0,FX?TAKEBIT+FX?READBIT,DOC-SCHUSTER,OSTRICH,0,T?LETTER
.OBJECT DRILL,FX?OPENBIT+FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,PAPER-RECYCLING-PLANT,0,SMALL-BIT,T?DRILL
.OBJECT VALIDATION-STAMP,0,FX?TAKEBIT,0,0,0,T?VALIDATION-STAMP
.OBJECT IRIS-HATCH,FX?VOWELBIT,FX?DOORBIT,LOCAL-GLOBALS,ID-READER,0,T?IRIS-HATCH
.OBJECT HOUSING,FX?LOCKEDBIT+FX?NDESCBIT,FX?READBIT+FX?CONTBIT,DOME,SHRUBBERY,0,T?HOUSING
.OBJECT END-OF-CORRIDOR,0,FX?ONBIT+FX?RLANDBIT,ROOMS,DOCKING-BAY-4,0,T?END-OF-CORRIDOR
- .OBJECT MEDIUM-BIT,FX?TRYTAKEBIT,FX?TAKEBIT,HEATING-CHAMBER,0,0,T?MEDIUM-BIT
- .OBJECT DECK-FIVE,FX?FLOYDBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,0,PROTAGONIST,T?DECK-FIVE
- .OBJECT PLATO,FX?NDESCBIT+FX?TRYTAKEBIT+FX?OPENBIT+FX?SEARCHBIT+FX?NARTICLEBIT,FX?ACTORBIT+FX?CONTBIT,ROOMS,SCIENTISTS-QUARTERS,VOLUME,T?PLATO
+ .OBJECT MEDIUM-BIT,0,FX?TRYTAKEBIT+FX?TAKEBIT,HEATING-CHAMBER,0,0,T?MEDIUM-BIT
+ .OBJECT PLATO,FX?NDESCBIT+FX?OPENBIT+FX?SEARCHBIT+FX?NARTICLEBIT,FX?TRYTAKEBIT+FX?ACTORBIT+FX?CONTBIT,ROOMS,SCIENTISTS-QUARTERS,VOLUME,T?PLATO
.OBJECT ROBOT-USE-AUTHORIZATION-FORM,0,FX?READBIT+FX?TAKEBIT,PROTAGONIST,ASSIGNMENT-COMPLETION-FORM,0,T?ROBOT-USE-AUTHORIZATION-FORM
.OBJECT OFFICERS-QUARTERS-C,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,OFFICERS-QUARTERS-B,0,T?OFFICERS-QUARTERS-C
.OBJECT TONGUE,FX?NARTICLEBIT,0,GLOBAL-OBJECTS,HANDS,0,T?TONGUE
@@ -1111,7 +1140,7 @@ OBJECT::.TABLE
.OBJECT LAUNDRY,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,GYM,PRESSER,T?LAUNDRY
.ENDT
- LAST-OBJECT=251
+ LAST-OBJECT=254
; OBJECT PROPERTY TABLES ARE DEFINED HERE
@@ -1123,8 +1152,9 @@ T?CHRONOMETER:: .TABLE ; TABLE FOR OBJECT CHRONOMETER
W?CHRONOMETER
W?WRISTWATCH
W?WATCH
- .PROP 1,P?ADJECTIVE
+ .PROP 2,P?ADJECTIVE
.BYTE A?WRIST
+ .BYTE A?MY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
CHRONOMETER-F
@@ -1134,6 +1164,13 @@ T?CHRONOMETER:: .TABLE ; TABLE FOR OBJECT CHRONOMETER
.BYTE 0
.ENDT
+T?AIR:: .TABLE ; TABLE FOR OBJECT AIR
+ .STRL "air"
+ .PROP 2,P?SYNONYM
+ W?AIR
+ .BYTE 0
+ .ENDT
+
T?GAME:: .TABLE ; TABLE FOR OBJECT GAME
.STRL "game"
.PROP 8,P?SYNONYM
@@ -1141,8 +1178,8 @@ T?GAME:: .TABLE ; TABLE FOR OBJECT GAME
W?GAMES
W?HUCKA
W?HIDER
- .PROP 2,P?ASK-FLOYD-ABOUT ; STRING PROPERTY
- STR?90
+ .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
+ STR?92
.BYTE 0
.ENDT
@@ -1161,9 +1198,9 @@ T?TIMER:: .TABLE ; TABLE FOR OBJECT TIMER
T?AUXILIARY-BARRACKS:: .TABLE ; TABLE FOR OBJECT AUXILIARY-BARRACKS
.STRL "Auxiliary Barracks"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 2,P?NE ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 1,P?EAST
.BYTE AUXILIARY-SANFAC
.PROP 4,P?SOUTH ; CONDITIONAL EXIT
@@ -1171,15 +1208,15 @@ T?AUXILIARY-BARRACKS:: .TABLE ; TABLE FOR OBJECT AUXILIARY-BARRACKS
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?WEST ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 2,P?NW ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 4,P?OUT ; CONDITIONAL EXIT
.BYTE LEVEL-SIX ; ROOM NAME
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?250
+ STR?274
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1196,9 +1233,7 @@ T?REC-SHOP:: .TABLE ; TABLE FOR OBJECT REC-SHOP
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?305
- .PROP 2,P?THINGS ; STRING PROPERTY
- PT?17
+ STR?333
.BYTE 0
.ENDT
@@ -1217,7 +1252,7 @@ T?SOUTH-JUNCTION:: .TABLE ; TABLE FOR OBJECT SOUTH-JUNCTION
.PROP 1,P?NW
.BYTE LEVEL-FIVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?214
+ STR?239
.BYTE 0
.ENDT
@@ -1253,7 +1288,7 @@ T?KEY:: .TABLE ; TABLE FOR OBJECT KEY
W?KEY
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
- 8
+ 7
.BYTE 0
.ENDT
@@ -1267,7 +1302,7 @@ T?PAPER-RECYCLING-PLANT:: .TABLE ; TABLE FOR OBJECT PAPER-RECYCLING-PLANT
PAPER-RECYCLING-PLANT-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?268
+ STR?295
.PROP 1,P?GLOBAL
.BYTE EQUIPMENT
.BYTE 0
@@ -1323,7 +1358,7 @@ T?MAUVE-SPOOL:: .TABLE ; TABLE FOR OBJECT MAUVE-SPOOL
3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?245
+ STR?294
.BYTE 0
.ENDT
@@ -1380,7 +1415,10 @@ T?SPRAY-CAN:: .TABLE ; TABLE FOR OBJECT SPRAY-CAN
SPRAY-CAN-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?347
+ STR?370
+ .PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
+
+ GENERIC-CAN-F
.BYTE 0
.ENDT
@@ -1400,7 +1438,7 @@ T?SICK-BAY:: .TABLE ; TABLE FOR OBJECT SICK-BAY
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?211
+ STR?235
.PROP 5,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -1427,7 +1465,7 @@ T?OFFICERS-QUARTERS-B:: .TABLE ; TABLE FOR OBJECT OFFICERS-QUARTERS-B
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?264
+ STR?290
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1448,9 +1486,9 @@ T?THEATRE:: .TABLE ; TABLE FOR OBJECT THEATRE
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?237
+ STR?263
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?11
+ PT?12
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -1476,7 +1514,7 @@ T?MAYORS-OFFICE:: .TABLE ; TABLE FOR OBJECT MAYORS-OFFICE
.PROP 1,P?OUT
.BYTE MAIN-STREET
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?334
+ STR?359
.BYTE 0
.ENDT
@@ -1504,7 +1542,7 @@ T?MEETING-ROOM-2:: .TABLE ; TABLE FOR OBJECT MEETING-ROOM-2
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?242
+ STR?268
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -1526,10 +1564,11 @@ T?DICE:: .TABLE ; TABLE FOR OBJECT DICE
T?FLOYD:: .TABLE ; TABLE FOR OBJECT FLOYD
.STRL "Floyd"
- .PROP 6,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?FLOYD
W?ROBOT
W?THREE
+ W?COMPAR
.PROP 6,P?ADJECTIVE
.BYTE A?MULTIP
.BYTE A?PURPOS
@@ -1541,15 +1580,15 @@ T?FLOYD:: .TABLE ; TABLE FOR OBJECT FLOYD
FLOYD-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?151
+ STR?167
+ .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
+ STR?168
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
5
.PROP 2,P?DESCFCN ; ATOM (CONSTANT) PROPERTY
FLOYD-F
- .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?152
.BYTE 0
.ENDT
@@ -1560,7 +1599,7 @@ T?FILE-ROOM:: .TABLE ; TABLE FOR OBJECT FILE-ROOM
.PROP 1,P?OUT
.BYTE SOUTH-JUNCTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?217
+ STR?241
.BYTE 0
.ENDT
@@ -1598,7 +1637,7 @@ T?LOAN-SHARK:: .TABLE ; TABLE FOR OBJECT LOAN-SHARK
.PROP 1,P?OUT
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?348
+ STR?371
.BYTE 0
.ENDT
@@ -1609,7 +1648,7 @@ T?PET-STORE:: .TABLE ; TABLE FOR OBJECT PET-STORE
.PROP 1,P?SE
.BYTE TRADING-POST
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?319
+ STR?347
.PROP 1,P?GLOBAL
.BYTE SIGN
.BYTE 0
@@ -1629,10 +1668,11 @@ T?DOCKING-BAY-2:: .TABLE ; TABLE FOR OBJECT DOCKING-BAY-2
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
DOCKING-BAY-2-F
- .PROP 3,P?GLOBAL
+ .PROP 4,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE SPACETRUCK-OBJECT
.BYTE SPACETRUCK-HATCH
+ .BYTE WINDOW
.BYTE 0
.ENDT
@@ -1647,7 +1687,7 @@ T?STORAGE-5:: .TABLE ; TABLE FOR OBJECT STORAGE-5
.PROP 1,P?OUT
.BYTE NORTH-CONNECTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?202
+ STR?226
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -1679,7 +1719,7 @@ T?PANEL:: .TABLE ; TABLE FOR OBJECT PANEL
20
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?320
+ STR?348
.BYTE 0
.ENDT
@@ -1696,7 +1736,7 @@ T?OFFICERS-QUARTERS-A:: .TABLE ; TABLE FOR OBJECT OFFICERS-QUARTERS-A
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?263
+ STR?289
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1713,7 +1753,7 @@ T?ENGINEERING-OFFICE:: .TABLE ; TABLE FOR OBJECT ENGINEERING-OFFICE
.PROP 1,P?OUT
.BYTE ENGINEERING-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?276
+ STR?303
.PROP 1,P?GLOBAL
.BYTE DESK
.BYTE 0
@@ -1732,6 +1772,9 @@ T?INTDIR:: .TABLE ; TABLE FOR OBJECT INTDIR
.BYTE A?NE
.BYTE A?SW
.BYTE A?SE
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ INTDIR-F
.BYTE 0
.ENDT
@@ -1742,7 +1785,7 @@ T?SCIENTISTS-QUARTERS:: .TABLE ; TABLE FOR OBJECT SCIENTISTS-QUARTERS
.PROP 1,P?OUT
.BYTE ASTRO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?282
+ STR?309
.PROP 3,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1791,7 +1834,7 @@ T?AUXILIARY-SANFAC:: .TABLE ; TABLE FOR OBJECT AUXILIARY-SANFAC
.PROP 1,P?OUT
.BYTE AUXILIARY-BARRACKS
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?251
+ STR?275
.PROP 1,P?GLOBAL
.BYTE FIXTURES
.BYTE 0
@@ -1805,7 +1848,7 @@ T?GRIMY-PASSAGE:: .TABLE ; TABLE FOR OBJECT GRIMY-PASSAGE
.PROP 1,P?SOUTH
.BYTE MAIN-STREET
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?331
+ STR?356
.PROP 1,P?GLOBAL
.BYTE IRIS-HATCH
.BYTE 0
@@ -1813,8 +1856,9 @@ T?GRIMY-PASSAGE:: .TABLE ; TABLE FOR OBJECT GRIMY-PASSAGE
T?OUTER-AIRLOCK-DOOR:: .TABLE ; TABLE FOR OBJECT OUTER-AIRLOCK-DOOR
.STRL "outer airlock door"
- .PROP 2,P?SYNONYM
+ .PROP 4,P?SYNONYM
W?DOOR
+ W?HATCH
.PROP 3,P?ADJECTIVE
.BYTE A?OUTER
.BYTE A?LOWER
@@ -1861,7 +1905,7 @@ T?SOUTH-CONNECTION:: .TABLE ; TABLE FOR OBJECT SOUTH-CONNECTION
SOUTH-CONNECTION-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?10
+ PT?11
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE IRIS-HATCH
@@ -1886,9 +1930,9 @@ T?BRIG:: .TABLE ; TABLE FOR OBJECT BRIG
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?212
+ STR?236
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?5
+ PT?6
.PROP 1,P?GLOBAL
.BYTE SECURITY-DOOR
.BYTE 0
@@ -1960,8 +2004,6 @@ T?ELEVATOR:: .TABLE ; TABLE FOR OBJECT ELEVATOR
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
ELEVATOR-F
- .PROP 2,P?THINGS ; STRING PROPERTY
- PT?16
.PROP 2,P?GLOBAL
.BYTE KEYPAD
.BYTE ELEVATOR-OBJECT
@@ -1988,9 +2030,9 @@ T?CARGO-BAY-ENTRANCE:: .TABLE ; TABLE FOR OBJECT CARGO-BAY-ENTRANCE
.PROP 1,P?EAST
.BYTE CARGO-BAY
.PROP 1,P?WEST
- .BYTE DECK-FIVE
+ .BYTE DECK-TWELVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?150
+ STR?166
.BYTE 0
.ENDT
@@ -2008,7 +2050,7 @@ T?VOLUME:: .TABLE ; TABLE FOR OBJECT VOLUME
VOLUME-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?285
+ STR?312
.BYTE 0
.ENDT
@@ -2019,7 +2061,7 @@ T?PAWN-SHOP:: .TABLE ; TABLE FOR OBJECT PAWN-SHOP
.PROP 1,P?OUT
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?346
+ STR?369
.BYTE 0
.ENDT
@@ -2030,15 +2072,6 @@ T?GLOBAL-OBJECTS:: .TABLE ; TABLE FOR OBJECT GLOBAL-OBJECTS
.BYTE 0
.ENDT
-T?PROJECTION-BOOTH:: .TABLE ; TABLE FOR OBJECT PROJECTION-BOOTH
- .STRL "projection booth"
- .PROP 2,P?SYNONYM
- W?BOOTH
- .PROP 1,P?ADJECTIVE
- .BYTE A?PROJECTION
- .BYTE 0
- .ENDT
-
T?IT:: .TABLE ; TABLE FOR OBJECT IT
.STRL "it"
.PROP 4,P?SYNONYM
@@ -2062,7 +2095,7 @@ T?BRIEFING-ROOM:: .TABLE ; TABLE FOR OBJECT BRIEFING-ROOM
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?226
+ STR?250
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2101,9 +2134,12 @@ T?SMALL-BIT:: .TABLE ; TABLE FOR OBJECT SMALL-BIT
BIT-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
+ STR?234
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 4
.BYTE 0
.ENDT
@@ -2118,7 +2154,7 @@ T?DRYER:: .TABLE ; TABLE FOR OBJECT DRYER
50
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?235
+ STR?260
.BYTE 0
.ENDT
@@ -2128,8 +2164,9 @@ T?FLOPHOUSE:: .TABLE ; TABLE FOR OBJECT FLOPHOUSE
.BYTE CASINO
.PROP 1,P?OUT
.BYTE CASINO
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?329
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ FLOPHOUSE-F
.PROP 1,P?GLOBAL
.BYTE BED
.BYTE 0
@@ -2157,7 +2194,7 @@ T?PALLETS:: .TABLE ; TABLE FOR OBJECT PALLETS
PALLETS-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?149
+ STR?165
.BYTE 0
.ENDT
@@ -2175,28 +2212,6 @@ T?STATION-CONTROL:: .TABLE ; TABLE FOR OBJECT STATION-CONTROL
.BYTE 0
.ENDT
-T?BLUE-GOO:: .TABLE ; TABLE FOR OBJECT BLUE-GOO
- .STRL "blob of blue goo"
- .PROP 8,P?SYNONYM
- W?GOO
- W?BLOB
- W?FOOD
- W?CREAM
- .PROP 3,P?ADJECTIVE
- .BYTE A?BLUE
- .BYTE A?BLUEBERRY
- .BYTE A?ICE
- .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
-
- GOO-F
- .PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
-
- GENERIC-FOOD-F
- .PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?198
- .BYTE 0
- .ENDT
-
T?FPU:: .TABLE ; TABLE FOR OBJECT FPU
.STRL "Food Processing and Dispensing Unit"
.PROP 6,P?SYNONYM
@@ -2249,7 +2264,7 @@ T?ASTRO-OFFICE:: .TABLE ; TABLE FOR OBJECT ASTRO-OFFICE
.PROP 1,P?OUT
.BYTE ASTRO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?276
+ STR?303
.PROP 1,P?GLOBAL
.BYTE DESK
.BYTE 0
@@ -2265,7 +2280,9 @@ T?JUNK-YARD:: .TABLE ; TABLE FOR OBJECT JUNK-YARD
JUNK-YARD-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?366
+ STR?389
+ .PROP 1,P?GLOBAL
+ .BYTE GARBAGE
.BYTE 0
.ENDT
@@ -2314,9 +2331,9 @@ T?PATTERN-OF-DOTS:: .TABLE ; TABLE FOR OBJECT PATTERN-OF-DOTS
PATTERN-OF-DOTS-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?254
+ STR?278
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?253
+ STR?277
.BYTE 0
.ENDT
@@ -2329,14 +2346,28 @@ T?DOCKING-BAY-1:: .TABLE ; TABLE FOR OBJECT DOCKING-BAY-1
.PROP 1,P?IN
.BYTE ALIEN-SHIP
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?252
+ STR?276
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?13
+ PT?14
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
.ENDT
+T?SCULPTURE:: .TABLE ; TABLE FOR OBJECT SCULPTURE
+ .STRL "scrap sculpture"
+ .PROP 2,P?SYNONYM
+ W?SCULPTURE
+ .PROP 3,P?ADJECTIVE
+ .BYTE A?91ST-CENTURY
+ .BYTE A?SCRAP
+ .BYTE A?LARGE
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ SCULPTURE-F
+ .BYTE 0
+ .ENDT
+
T?ID-READER:: .TABLE ; TABLE FOR OBJECT ID-READER
.STRL "ID reader"
.PROP 2,P?SYNONYM
@@ -2351,8 +2382,9 @@ T?ID-READER:: .TABLE ; TABLE FOR OBJECT ID-READER
T?INNER-AIRLOCK-DOOR:: .TABLE ; TABLE FOR OBJECT INNER-AIRLOCK-DOOR
.STRL "inner airlock door"
- .PROP 2,P?SYNONYM
+ .PROP 4,P?SYNONYM
W?DOOR
+ W?HATCH
.PROP 3,P?ADJECTIVE
.BYTE A?INNER
.BYTE A?UPPER
@@ -2381,7 +2413,8 @@ T?ID-CARD:: .TABLE ; TABLE FOR OBJECT ID-CARD
.PROP 4,P?SYNONYM
W?CARD
W?CARDS
- .PROP 3,P?ADJECTIVE
+ .PROP 4,P?ADJECTIVE
+ .BYTE A?MY
.BYTE A?PATROL
.BYTE A?ID
.BYTE A?IDENTIFICATION
@@ -2389,7 +2422,7 @@ T?ID-CARD:: .TABLE ; TABLE FOR OBJECT ID-CARD
3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?146
+ STR?163
.BYTE 0
.ENDT
@@ -2403,13 +2436,18 @@ T?DIODE-J:: .TABLE ; TABLE FOR OBJECT DIODE-J
.BYTE A?J-SERIES
.BYTE A?J
.BYTE A?SERIES
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ DIODE-J-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
+ .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
+ STR?234
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
5
- .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
+ .PROP 2,P?FDESC ; STRING PROPERTY
+ STR?352
.BYTE 0
.ENDT
@@ -2425,7 +2463,7 @@ T?BOOTS:: .TABLE ; TABLE FOR OBJECT BOOTS
BOOTS-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?367
+ STR?390
.BYTE 0
.ENDT
@@ -2469,7 +2507,7 @@ T?WORKSHOP:: .TABLE ; TABLE FOR OBJECT WORKSHOP
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?199
+ STR?223
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE EQUIPMENT
@@ -2494,7 +2532,7 @@ T?COMMANDERS-OFFICE:: .TABLE ; TABLE FOR OBJECT COMMANDERS-OFFICE
COMMANDERS-OFFICE-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?8
+ PT?9
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2512,11 +2550,11 @@ T?OLIVER:: .TABLE ; TABLE FOR OBJECT OLIVER
OLIVER-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?261
- .PROP 2,P?FDESC ; STRING PROPERTY
- STR?259
+ STR?286
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?260
+ STR?285
+ .PROP 2,P?FDESC ; STRING PROPERTY
+ STR?284
.BYTE 0
.ENDT
@@ -2556,16 +2594,17 @@ T?EXPLOSIVE:: .TABLE ; TABLE FOR OBJECT EXPLOSIVE
W?EXPLOSIVE
W?CYLIND
W?LABEL
- .PROP 2,P?ADJECTIVE
+ .PROP 3,P?ADJECTIVE
+ .BYTE A?EXPLOSIVE
.BYTE A?FREZONE
.BYTE A?SMALL
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
EXPLOSIVE-F
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?345
+ STR?368
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?344
+ STR?367
.BYTE 0
.ENDT
@@ -2579,7 +2618,7 @@ T?PRINTING-PLANT:: .TABLE ; TABLE FOR OBJECT PRINTING-PLANT
.PROP 1,P?UP
.BYTE LEVEL-SIX
.PROP 2,P?DOWN ; STRING PROPERTY
- STR?267
+ STR?293
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
PRINTING-PLANT-F
@@ -2600,17 +2639,17 @@ T?MALE-BARRACKS:: .TABLE ; TABLE FOR OBJECT MALE-BARRACKS
.PROP 1,P?NE
.BYTE BARRACKS-SANFAC
.PROP 2,P?SE ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 2,P?SOUTH ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 2,P?SW ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 4,P?NW ; CONDITIONAL EXIT
.BYTE LEVEL-FOUR ; ROOM NAME
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?231
+ STR?256
.PROP 5,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -2622,12 +2661,12 @@ T?MALE-BARRACKS:: .TABLE ; TABLE FOR OBJECT MALE-BARRACKS
T?RECRUITMENT-OFFICE:: .TABLE ; TABLE FOR OBJECT RECRUITMENT-OFFICE
.STRL "Recruitment Office"
- .PROP 1,P?EAST
- .BYTE MAIN-STREET
+ .PROP 1,P?SOUTH
+ .BYTE BROADWAY
.PROP 1,P?OUT
- .BYTE MAIN-STREET
+ .BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?337
+ STR?332
.PROP 2,P?THINGS ; STRING PROPERTY
PT?18
.BYTE 0
@@ -2642,7 +2681,7 @@ T?SALOON:: .TABLE ; TABLE FOR OBJECT SALOON
.PROP 1,P?NW
.BYTE GROCERY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?327
+ STR?353
.BYTE 0
.ENDT
@@ -2669,7 +2708,7 @@ T?FIELD-OFFICE:: .TABLE ; TABLE FOR OBJECT FIELD-OFFICE
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?313
+ STR?339
.BYTE 0
.ENDT
@@ -2702,7 +2741,7 @@ T?ARMORY:: .TABLE ; TABLE FOR OBJECT ARMORY
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?227
+ STR?251
.PROP 1,P?GLOBAL
.BYTE SECURITY-DOOR
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
@@ -2732,7 +2771,7 @@ T?BIO-LAB:: .TABLE ; TABLE FOR OBJECT BIO-LAB
.PROP 1,P?DOWN
.BYTE HOLDING-TANK-LEVEL
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?279
+ STR?306
.BYTE 0
.ENDT
@@ -2746,7 +2785,7 @@ T?OSTRICH:: .TABLE ; TABLE FOR OBJECT OSTRICH
OSTRICH-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?351
+ STR?375
.BYTE 0
.ENDT
@@ -2758,12 +2797,12 @@ T?BEDISTOR:: .TABLE ; TABLE FOR OBJECT BEDISTOR
.BYTE A?TWENTY
.BYTE A?OHM
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
+ .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
+ STR?225
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
8
- .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?201
.BYTE 0
.ENDT
@@ -2782,7 +2821,7 @@ T?NORTH-JUNCTION:: .TABLE ; TABLE FOR OBJECT NORTH-JUNCTION
.PROP 1,P?SW
.BYTE LEVEL-FIVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?204
+ STR?228
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2808,7 +2847,7 @@ T?ROBOT-POOL:: .TABLE ; TABLE FOR OBJECT ROBOT-POOL
ROBOT-POOL-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?2
+ PT?3
.PROP 2,P?GLOBAL
.BYTE KEYPAD
.BYTE EQUIPMENT
@@ -2839,9 +2878,10 @@ T?CARGO-BAY:: .TABLE ; TABLE FOR OBJECT CARGO-BAY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
CARGO-BAY-F
- .PROP 2,P?GLOBAL
+ .PROP 3,P?GLOBAL
.BYTE SPACETRUCK-OBJECT
.BYTE SPACETRUCK-HATCH
+ .BYTE WINDOW
.BYTE 0
.ENDT
@@ -2852,7 +2892,7 @@ T?MISSIONARY:: .TABLE ; TABLE FOR OBJECT MISSIONARY
.PROP 1,P?OUT
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?342
+ STR?365
.BYTE 0
.ENDT
@@ -2863,7 +2903,8 @@ T?GRATING:: .TABLE ; TABLE FOR OBJECT GRATING
W?GRATE
W?COVER
W?SHAFT
- .PROP 2,P?ADJECTIVE
+ .PROP 3,P?ADJECTIVE
+ .BYTE A?LARGE
.BYTE A?AIR
.BYTE A?SHAFT
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
@@ -2882,19 +2923,11 @@ T?EXERCISE-MACHINE:: .TABLE ; TABLE FOR OBJECT EXERCISE-MACHINE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
EXERCISE-MACHINE-F
- .PROP 2,P?FDESC ; STRING PROPERTY
- STR?233
- .BYTE 0
- .ENDT
+ .PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
-T?CHURCH:: .TABLE ; TABLE FOR OBJECT CHURCH
- .STRL "Church"
- .PROP 1,P?SOUTH
- .BYTE BROADWAY
- .PROP 1,P?OUT
- .BYTE BROADWAY
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?304
+ 100
+ .PROP 2,P?FDESC ; STRING PROPERTY
+ STR?258
.BYTE 0
.ENDT
@@ -2910,7 +2943,7 @@ T?PUCE-SPOOL:: .TABLE ; TABLE FOR OBJECT PUCE-SPOOL
3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?246
+ STR?262
.BYTE 0
.ENDT
@@ -2921,7 +2954,9 @@ T?TOP-OF-AIR-SHAFT:: .TABLE ; TABLE FOR OBJECT TOP-OF-AIR-SHAFT
.PROP 1,P?OUT
.BYTE DOME
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?288
+ STR?315
+ .PROP 1,P?GLOBAL
+ .BYTE GRATING
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
2
@@ -2934,8 +2969,11 @@ T?BARBERSHOP:: .TABLE ; TABLE FOR OBJECT BARBERSHOP
.BYTE GROCERY
.PROP 1,P?NW
.BYTE BROADWAY
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?315
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ BARBERSHOP-F
+ .PROP 2,P?THINGS ; STRING PROPERTY
+ PT?19
.BYTE 0
.ENDT
@@ -2949,7 +2987,7 @@ T?SHADY-DANS:: .TABLE ; TABLE FOR OBJECT SHADY-DANS
SHADY-DANS-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?21
+ PT?22
.PROP 2,P?GLOBAL
.BYTE KEYPAD
.BYTE WINDOW
@@ -2965,7 +3003,26 @@ T?AIR-SHAFT:: .TABLE ; TABLE FOR OBJECT AIR-SHAFT
.WORD AIR-SHAFT-MOVEMENT-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?289
+ STR?316
+ .BYTE 0
+ .ENDT
+
+T?COFFEE:: .TABLE ; TABLE FOR OBJECT COFFEE
+ .STRL "cup of coffee"
+ .PROP 4,P?SYNONYM
+ W?CUP
+ W?COFFEE
+ .PROP 4,P?ADJECTIVE
+ .BYTE A?HOT
+ .BYTE A?COLD
+ .BYTE A?THICK
+ .BYTE A?BROWN
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ COFFEE-F
+ .PROP 2,P?DESCFCN ; ATOM (CONSTANT) PROPERTY
+
+ COFFEE-F
.BYTE 0
.ENDT
@@ -2975,10 +3032,11 @@ T?COMM-CENTER:: .TABLE ; TABLE FOR OBJECT COMM-CENTER
.BYTE EAST-CONNECTION
.PROP 1,P?OUT
.BYTE EAST-CONNECTION
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?215
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ COMM-CENTER-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?7
+ PT?8
.PROP 1,P?GLOBAL
.BYTE EQUIPMENT
.BYTE 0
@@ -3009,7 +3067,7 @@ T?REX:: .TABLE ; TABLE FOR OBJECT REX
REX-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?181
+ STR?205
.BYTE 0
.ENDT
@@ -3017,12 +3075,14 @@ T?GLOBAL-ROOM:: .TABLE ; TABLE FOR OBJECT GLOBAL-ROOM
.STRL "room"
.PROP 8,P?SYNONYM
W?ROOM
- W?PLACE
- W?LOCATI
- W?AREA
- .PROP 2,P?ADJECTIVE
+ W?SHOP
+ W?STORE
+ W?OFFICE
+ .PROP 4,P?ADJECTIVE
.BYTE A?LARGE
.BYTE A?SMALL
+ .BYTE A?REC
+ .BYTE A?PET
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
GLOBAL-ROOM-F
@@ -3045,9 +3105,9 @@ T?TWELVE-PRONG-FROMITZ-BOARD:: .TABLE ; TABLE FOR OBJECT TWELVE-PRONG-FROMITZ-
TWELVE-PRONG-FROMITZ-BOARD-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
+ STR?234
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-FROMITZ-BOARD-F
@@ -3065,9 +3125,9 @@ T?SAFE:: .TABLE ; TABLE FOR OBJECT SAFE
SAFE-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?224
+ STR?248
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?223
+ STR?247
.BYTE 0
.ENDT
@@ -3116,58 +3176,37 @@ T?PX:: .TABLE ; TABLE FOR OBJECT PX
.PROP 1,P?WEST
.BYTE NORTH-CONNECTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?206
+ STR?230
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?4
+ PT?5
.PROP 1,P?GLOBAL
.BYTE KEYPAD
.BYTE 0
.ENDT
-T?BOTTLE:: .TABLE ; TABLE FOR OBJECT BOTTLE
- .STRL "bottle"
- .PROP 6,P?SYNONYM
- W?BOTTLE
- W?DIOXIDE
- W?LABEL
- .PROP 1,P?ADJECTIVE
- .BYTE A?CARBON
- .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
-
- BOTTLE-F
- .PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?323
- .PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
-
- 10
- .PROP 2,P?DESCFCN ; ATOM (CONSTANT) PROPERTY
-
- BOTTLE-F
- .BYTE 0
- .ENDT
-
T?DOME:: .TABLE ; TABLE FOR OBJECT DOME
.STRL "Dome"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?247
+ STR?271
.PROP 3,P?EAST
.WORD ELEVATOR-ENTER-F
.BYTE 0
.PROP 2,P?SOUTH ; STRING PROPERTY
- STR?247
+ STR?271
.PROP 1,P?DOWN
.BYTE MESS-HALL
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
DOME-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?12
- .PROP 5,P?GLOBAL
+ PT?13
+ .PROP 6,P?GLOBAL
.BYTE CALL-BUTTON
.BYTE GRATING
.BYTE ELEVATOR-OBJECT
.BYTE ELEVATOR-SHAFT
.BYTE LADDER
+ .BYTE SIGN
.PROP 2,P?LEVEL ; INTEGER/CONSTANT PROPERTY
1
@@ -3182,7 +3221,7 @@ T?MAKESHIFT-CONNECTOR:: .TABLE ; TABLE FOR OBJECT MAKESHIFT-CONNECTOR
.WORD VILLAGE-BOUNDARY-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?300
+ STR?328
.PROP 1,P?GLOBAL
.BYTE IRIS-HATCH
.BYTE 0
@@ -3197,15 +3236,17 @@ T?PAPER:: .TABLE ; TABLE FOR OBJECT PAPER
2
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?336
+ STR?361
.BYTE 0
.ENDT
T?HIM:: .TABLE ; TABLE FOR OBJECT HIM
.STRL "him"
- .PROP 4,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?HIM
+ W?HER
W?HIMSELF
+ W?HERSELF
.BYTE 0
.ENDT
@@ -3218,7 +3259,7 @@ T?LIBRARY:: .TABLE ; TABLE FOR OBJECT LIBRARY
.PROP 1,P?WEST
.BYTE MESS-HALL
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?243
+ STR?269
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -3253,22 +3294,30 @@ T?ORANGE-GOO:: .TABLE ; TABLE FOR OBJECT ORANGE-GOO
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?197
+ STR?222
.BYTE 0
.ENDT
T?TRASH-CAN:: .TABLE ; TABLE FOR OBJECT TRASH-CAN
.STRL "trash can"
- .PROP 2,P?SYNONYM
+ .PROP 4,P?SYNONYM
W?CAN
- .PROP 1,P?ADJECTIVE
+ W?PAIL
+ .PROP 2,P?ADJECTIVE
.BYTE A?TRASH
+ .BYTE A?GARBAGE
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ TRASH-CAN-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
30
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
50
+ .PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
+
+ GENERIC-CAN-F
.BYTE 0
.ENDT
@@ -3289,7 +3338,7 @@ T?TRADING-POST:: .TABLE ; TABLE FOR OBJECT TRADING-POST
.PROP 1,P?DOWN
.BYTE WAREHOUSE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?321
+ STR?349
.PROP 1,P?GLOBAL
.BYTE SIGN
.BYTE 0
@@ -3311,7 +3360,7 @@ T?HELEN:: .TABLE ; TABLE FOR OBJECT HELEN
HELEN-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?180
+ STR?204
.BYTE 0
.ENDT
@@ -3322,7 +3371,7 @@ T?CRUMPLED-FORM:: .TABLE ; TABLE FOR OBJECT CRUMPLED-FORM
W?FORMS
W?FW-83-Q
.PROP 6,P?ADJECTIVE
- .BYTE A?CRUMPLED
+ .BYTE A?CRUMPL
.BYTE A?ILLEGAL
.BYTE A?SPACE
.BYTE A?VILLAGE
@@ -3340,11 +3389,11 @@ T?CRUMPLED-FORM:: .TABLE ; TABLE FOR OBJECT CRUMPLED-FORM
T?FORM-STORAGE-ROOM:: .TABLE ; TABLE FOR OBJECT FORM-STORAGE-ROOM
.STRL "Forms Storage Room"
.PROP 1,P?NORTH
- .BYTE DECK-FIVE
+ .BYTE DECK-TWELVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?148
+ STR?164
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?1
+ PT?2
.BYTE 0
.ENDT
@@ -3377,11 +3426,9 @@ T?TWENTY-PRONG-FROMITZ-BOARD:: .TABLE ; TABLE FOR OBJECT TWENTY-PRONG-FROMITZ-
TWENTY-PRONG-FROMITZ-BOARD-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
- .PROP 2,P?FDESC ; STRING PROPERTY
- STR?326
+ STR?224
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
+ STR?234
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-FROMITZ-BOARD-F
@@ -3410,7 +3457,7 @@ T?HEADLAMP:: .TABLE ; TABLE FOR OBJECT HEADLAMP
HEADLAMP-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?314
+ STR?340
.BYTE 0
.ENDT
@@ -3428,7 +3475,7 @@ T?TAFFY:: .TABLE ; TABLE FOR OBJECT TAFFY
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?318
+ STR?346
.BYTE 0
.ENDT
@@ -3457,9 +3504,10 @@ T?AIRLOCK:: .TABLE ; TABLE FOR OBJECT AIRLOCK
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
AIRLOCK-F
- .PROP 2,P?GLOBAL
+ .PROP 3,P?GLOBAL
.BYTE INNER-AIRLOCK-DOOR
.BYTE OUTER-AIRLOCK-DOOR
+ .BYTE AIRLOCK-OBJECT
.BYTE 0
.ENDT
@@ -3472,7 +3520,7 @@ T?EAST-JUNCTION:: .TABLE ; TABLE FOR OBJECT EAST-JUNCTION
.PROP 1,P?NW
.BYTE NORTH-JUNCTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?213
+ STR?238
.BYTE 0
.ENDT
@@ -3480,8 +3528,9 @@ T?NANOFILM-READER:: .TABLE ; TABLE FOR OBJECT NANOFILM-READER
.STRL "nanofilm reader"
.PROP 2,P?SYNONYM
W?READER
- .PROP 1,P?ADJECTIVE
+ .PROP 2,P?ADJECTIVE
.BYTE A?NANOFILM
+ .BYTE A?SPOOL
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
NANOFILM-READER-F
@@ -3495,7 +3544,7 @@ T?OPIUM-DEN:: .TABLE ; TABLE FOR OBJECT OPIUM-DEN
.PROP 1,P?OUT
.BYTE CASINO
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?328
+ STR?354
.PROP 1,P?GLOBAL
.BYTE SIGN
.BYTE 0
@@ -3524,9 +3573,9 @@ T?DOC-SCHUSTER:: .TABLE ; TABLE FOR OBJECT DOC-SCHUSTER
DOC-SCHUSTER-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?350
+ STR?374
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?20
+ PT?21
.BYTE 0
.ENDT
@@ -3538,19 +3587,21 @@ T?NOTE:: .TABLE ; TABLE FOR OBJECT NOTE
2
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?281
+ STR?308
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?280
+ STR?307
.BYTE 0
.ENDT
T?STUN-GUN:: .TABLE ; TABLE FOR OBJECT STUN-GUN
.STRL "stun ray"
- .PROP 4,P?SYNONYM
+ .PROP 6,P?SYNONYM
W?GUN
W?RAY
- .PROP 1,P?ADJECTIVE
+ W?RAYGUN
+ .PROP 2,P?ADJECTIVE
.BYTE A?STUN
+ .BYTE A?RAY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
STUN-GUN-F
@@ -3616,7 +3667,7 @@ T?DOCKING-BAY-4:: .TABLE ; TABLE FOR OBJECT DOCKING-BAY-4
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?256
+ STR?280
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -3634,7 +3685,7 @@ T?PLASTIC-BAG:: .TABLE ; TABLE FOR OBJECT PLASTIC-BAG
10
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?317
+ STR?345
.BYTE 0
.ENDT
@@ -3654,7 +3705,7 @@ T?NECTAR:: .TABLE ; TABLE FOR OBJECT NECTAR
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?333
+ STR?358
.BYTE 0
.ENDT
@@ -3685,7 +3736,7 @@ T?ALIEN-SHIP:: .TABLE ; TABLE FOR OBJECT ALIEN-SHIP
ALIEN-SHIP-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?14
+ PT?15
.BYTE 0
.ENDT
@@ -3714,7 +3765,21 @@ T?INSTRUCTION-SHEET:: .TABLE ; TABLE FOR OBJECT INSTRUCTION-SHEET
2
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?322
+ STR?350
+ .BYTE 0
+ .ENDT
+
+T?THERMOS:: .TABLE ; TABLE FOR OBJECT THERMOS
+ .STRL "Thermos bottle"
+ .PROP 4,P?SYNONYM
+ W?BOTTLE
+ W?THERMOS
+ .PROP 2,P?ADJECTIVE
+ .BYTE A?THERMOS
+ .BYTE A?PLAID
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ THERMOS-F
.BYTE 0
.ENDT
@@ -3749,7 +3814,7 @@ T?EAST-CONNECTION:: .TABLE ; TABLE FOR OBJECT EAST-CONNECTION
EAST-CONNECTION-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?6
+ PT?7
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE IRIS-HATCH
@@ -3758,18 +3823,22 @@ T?EAST-CONNECTION:: .TABLE ; TABLE FOR OBJECT EAST-CONNECTION
T?COMPUTER-CONTROL:: .TABLE ; TABLE FOR OBJECT COMPUTER-CONTROL
.STRL "Computer Control"
- .PROP 1,P?NORTH
- .BYTE BOTTOM-OF-ELEVATOR-SHAFT
+ .PROP 3,P?NORTH
+ .WORD COMPUTER-CONTROL-EXIT-F
+ .BYTE 0
.PROP 3,P?UP
- .WORD FACTORY-ENTER-F
+ .WORD COMPUTER-CONTROL-EXIT-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?292
- .PROP 4,P?GLOBAL
+ STR?319
+ .PROP 2,P?THINGS ; STRING PROPERTY
+ PT?17
+ .PROP 5,P?GLOBAL
.BYTE CALL-BUTTON
.BYTE ELEVATOR-OBJECT
.BYTE ELEVATOR-SHAFT
.BYTE LADDER
+ .BYTE GRATING
.BYTE 0
.ENDT
@@ -3788,17 +3857,6 @@ T?GRUE:: .TABLE ; TABLE FOR OBJECT GRUE
.BYTE 0
.ENDT
-T?INSURANCE-OFFICE:: .TABLE ; TABLE FOR OBJECT INSURANCE-OFFICE
- .STRL "Insurance Office"
- .PROP 1,P?NORTH
- .BYTE TRAVEL-AGENCY
- .PROP 1,P?NE
- .BYTE BANK
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?340
- .BYTE 0
- .ENDT
-
T?ASTRO-LAB:: .TABLE ; TABLE FOR OBJECT ASTRO-LAB
.STRL "Astro Lab"
.PROP 1,P?NORTH
@@ -3808,7 +3866,7 @@ T?ASTRO-LAB:: .TABLE ; TABLE FOR OBJECT ASTRO-LAB
.PROP 1,P?DOWN
.BYTE ENGINEERING-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?278
+ STR?305
.BYTE 0
.ENDT
@@ -3821,18 +3879,18 @@ T?LOG-TAPE:: .TABLE ; TABLE FOR OBJECT LOG-TAPE
.PROP 1,P?ADJECTIVE
.BYTE A?LOG
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?222
+ STR?246
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?221
+ STR?245
.BYTE 0
.ENDT
T?FEMALE-BARRACKS:: .TABLE ; TABLE FOR OBJECT FEMALE-BARRACKS
.STRL "Female Barracks"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 2,P?NE ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 1,P?SE
.BYTE BARRACKS-SANFAC
.PROP 4,P?SW ; CONDITIONAL EXIT
@@ -3840,9 +3898,9 @@ T?FEMALE-BARRACKS:: .TABLE ; TABLE FOR OBJECT FEMALE-BARRACKS
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?NW ; STRING PROPERTY
- STR?230
+ STR?255
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?229
+ STR?254
.PROP 5,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -3859,16 +3917,19 @@ T?SHIPPING-ROOM:: .TABLE ; TABLE FOR OBJECT SHIPPING-ROOM
.PROP 1,P?OUT
.BYTE END-OF-CORRIDOR
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?262
+ STR?288
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?15
+ PT?16
+ .PROP 1,P?GLOBAL
+ .BYTE SIGN
.BYTE 0
.ENDT
T?SIMULATION-BOOTH:: .TABLE ; TABLE FOR OBJECT SIMULATION-BOOTH
.STRL "simulation booth"
- .PROP 6,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?BOOTH
+ W?BOOTHS
W?CHAMBER
W?CYLIND
.PROP 4,P?ADJECTIVE
@@ -3897,7 +3958,7 @@ T?MAIN-STORAGE:: .TABLE ; TABLE FOR OBJECT MAIN-STORAGE
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?239
+ STR?265
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -3910,7 +3971,7 @@ T?FORTUNE-TELLER:: .TABLE ; TABLE FOR OBJECT FORTUNE-TELLER
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?303
+ STR?331
.BYTE 0
.ENDT
@@ -3919,11 +3980,15 @@ T?STRONG-BOX:: .TABLE ; TABLE FOR OBJECT STRONG-BOX
.PROP 4,P?SYNONYM
W?BOX
W?LOCK
- .PROP 1,P?ADJECTIVE
+ .PROP 3,P?ADJECTIVE
.BYTE A?STRONG
+ .BYTE A?FAIRLY
+ .BYTE A?STURDY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
STRONG-BOX-F
+ .PROP 2,P?FDESC ; STRING PROPERTY
+ STR?372
.BYTE 0
.ENDT
@@ -3937,7 +4002,7 @@ T?SKELETON:: .TABLE ; TABLE FOR OBJECT SKELETON
SKELETON-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?255
+ STR?279
.BYTE 0
.ENDT
@@ -3952,7 +4017,7 @@ T?GROCERY:: .TABLE ; TABLE FOR OBJECT GROCERY
.PROP 1,P?SOUTH
.BYTE TRADING-POST
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?316
+ STR?344
.BYTE 0
.ENDT
@@ -3990,7 +4055,7 @@ T?OFFICERS-SANFAC:: .TABLE ; TABLE FOR OBJECT OFFICERS-SANFAC
.PROP 1,P?NW
.BYTE OFFICERS-QUARTERS-A
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?266
+ STR?292
.PROP 1,P?GLOBAL
.BYTE FIXTURES
.BYTE 0
@@ -4007,7 +4072,7 @@ T?ENGINEERING-LAB:: .TABLE ; TABLE FOR OBJECT ENGINEERING-LAB
.PROP 1,P?DOWN
.BYTE BIO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?275
+ STR?302
.BYTE 0
.ENDT
@@ -4036,9 +4101,9 @@ T?COMMANDERS-QUARTERS:: .TABLE ; TABLE FOR OBJECT COMMANDERS-QUARTERS
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?220
+ STR?244
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?9
+ PT?10
.PROP 6,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -4064,11 +4129,12 @@ T?VACUUM-STORAGE:: .TABLE ; TABLE FOR OBJECT VACUUM-STORAGE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
VACUUM-STORAGE-F
- .PROP 1,P?GLOBAL
+ .PROP 2,P?GLOBAL
.BYTE OUTER-AIRLOCK-DOOR
+ .BYTE AIRLOCK-OBJECT
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
- 5
+ 3
.BYTE 0
.ENDT
@@ -4109,7 +4175,7 @@ T?GRAY-GOO:: .TABLE ; TABLE FOR OBJECT GRAY-GOO
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?196
+ STR?221
.BYTE 0
.ENDT
@@ -4125,9 +4191,12 @@ T?LARGE-BIT:: .TABLE ; TABLE FOR OBJECT LARGE-BIT
BIT-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
+ STR?234
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 4
.BYTE 0
.ENDT
@@ -4138,14 +4207,36 @@ T?TUBE:: .TABLE ; TABLE FOR OBJECT TUBE
.PROP 1,P?SOUTH
.BYTE NORTH-CONNECTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?274
+ STR?301
+ .BYTE 0
+ .ENDT
+
+T?FORKLIFT:: .TABLE ; TABLE FOR OBJECT FORKLIFT
+ .STRL "forklift"
+ .PROP 4,P?SYNONYM
+ W?FORKLIFT
+ W?LIFT
+ .PROP 4,P?ADJECTIVE
+ .BYTE A?FORK
+ .BYTE A?GRIMY
+ .BYTE A?GRIME-COVERED
+ .BYTE A?LARGE
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ FORKLIFT-F
+ .PROP 2,P?DESCFCN ; ATOM (CONSTANT) PROPERTY
+
+ FORKLIFT-F
.BYTE 0
.ENDT
T?INTNUM:: .TABLE ; TABLE FOR OBJECT INTNUM
.STRL "number"
- .PROP 2,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?NUMBER
+ W?ONE
+ W?TWO
+ W?THREE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
INTNUM-F
@@ -4166,7 +4257,7 @@ T?FOOD-KIT:: .TABLE ; TABLE FOR OBJECT FOOD-KIT
10
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
- 25
+ 20
.BYTE 0
.ENDT
@@ -4181,7 +4272,24 @@ T?BOOK:: .TABLE ; TABLE FOR OBJECT BOOK
BOOK-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?335
+ STR?360
+ .BYTE 0
+ .ENDT
+
+T?GARBAGE:: .TABLE ; TABLE FOR OBJECT GARBAGE
+ .STRL "garbage"
+ .PROP 6,P?SYNONYM
+ W?GARBAGE
+ W?JUNK
+ W?PILE
+ .PROP 4,P?ADJECTIVE
+ .BYTE A?LARGE
+ .BYTE A?FLOATING
+ .BYTE A?USELESS
+ .BYTE A?RANDOM
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ GARBAGE-F
.BYTE 0
.ENDT
@@ -4204,7 +4312,7 @@ T?BARRACKS-SANFAC:: .TABLE ; TABLE FOR OBJECT BARRACKS-SANFAC
.PROP 1,P?SOUTH
.BYTE MALE-BARRACKS
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?232
+ STR?257
.PROP 1,P?GLOBAL
.BYTE FIXTURES
.BYTE 0
@@ -4234,7 +4342,38 @@ T?DISPENSER:: .TABLE ; TABLE FOR OBJECT DISPENSER
DISPENSER-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?207
+ STR?231
+ .BYTE 0
+ .ENDT
+
+T?CRYSTAL-BALL:: .TABLE ; TABLE FOR OBJECT CRYSTAL-BALL
+ .STRL "crystal ball"
+ .PROP 2,P?SYNONYM
+ W?BALL
+ .PROP 1,P?ADJECTIVE
+ .BYTE A?CRYSTAL
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ CRYSTAL-BALL-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 10
+ .BYTE 0
+ .ENDT
+
+T?DECK-TWELVE:: .TABLE ; TABLE FOR OBJECT DECK-TWELVE
+ .STRL "Deck Twelve"
+ .PROP 1,P?EAST
+ .BYTE CARGO-BAY-ENTRANCE
+ .PROP 1,P?SOUTH
+ .BYTE FORM-STORAGE-ROOM
+ .PROP 3,P?WEST
+ .WORD FAKE-DOOR-ENTER-F
+ .BYTE 0
+ .PROP 2,P?LDESC ; STRING PROPERTY
+ STR?161
+ .PROP 2,P?THINGS ; STRING PROPERTY
+ PT?1
.BYTE 0
.ENDT
@@ -4272,9 +4411,10 @@ T?WAREHOUSE:: .TABLE ; TABLE FOR OBJECT WAREHOUSE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
WAREHOUSE-F
- .PROP 2,P?GLOBAL
+ .PROP 3,P?GLOBAL
.BYTE SIGN
.BYTE INNER-AIRLOCK-DOOR
+ .BYTE AIRLOCK-OBJECT
.BYTE 0
.ENDT
@@ -4300,7 +4440,7 @@ T?DIARY:: .TABLE ; TABLE FOR OBJECT DIARY
DIARY-F
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?277
+ STR?304
.BYTE 0
.ENDT
@@ -4311,7 +4451,7 @@ T?BIO-OFFICE:: .TABLE ; TABLE FOR OBJECT BIO-OFFICE
.PROP 1,P?OUT
.BYTE BIO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?276
+ STR?303
.PROP 1,P?GLOBAL
.BYTE DESK
.BYTE 0
@@ -4331,23 +4471,27 @@ T?ETERNAL-FLAME:: .TABLE ; TABLE FOR OBJECT ETERNAL-FLAME
T?FOIL:: .TABLE ; TABLE FOR OBJECT FOIL
.STRL "reflective foil"
- .PROP 4,P?SYNONYM
+ .PROP 6,P?SYNONYM
+ W?PIECE
W?FOIL
W?PLATINUM
- .PROP 3,P?ADJECTIVE
+ .PROP 4,P?ADJECTIVE
+ .BYTE A?LARGE
.BYTE A?REFLECTIVE
.BYTE A?TRANS-MOLECULAR
.BYTE A?PLATINUM
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
FOIL-F
+ .PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
+ STR?342
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?312
+ STR?343
+ .PROP 2,P?FDESC ; STRING PROPERTY
+ STR?341
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
4
- .PROP 2,P?ASK-PLATO-ABOUT ; STRING PROPERTY
- STR?311
.BYTE 0
.ENDT
@@ -4355,25 +4499,23 @@ T?BANK:: .TABLE ; TABLE FOR OBJECT BANK
.STRL "Bank"
.PROP 1,P?NORTH
.BYTE MAIN-STREET
- .PROP 1,P?SW
- .BYTE INSURANCE-OFFICE
- .PROP 1,P?WEST
+ .PROP 1,P?NW
.BYTE TRAVEL-AGENCY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?338
+ STR?362
.BYTE 0
.ENDT
T?TRAVEL-AGENCY:: .TABLE ; TABLE FOR OBJECT TRAVEL-AGENCY
.STRL "Travel Agency"
.PROP 1,P?EAST
+ .BYTE MAIN-STREET
+ .PROP 1,P?SE
.BYTE BANK
- .PROP 1,P?SOUTH
- .BYTE INSURANCE-OFFICE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?339
+ STR?363
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?19
+ PT?20
.BYTE 0
.ENDT
@@ -4430,7 +4572,7 @@ T?MEETING-ROOM-1:: .TABLE ; TABLE FOR OBJECT MEETING-ROOM-1
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?241
+ STR?267
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -4446,7 +4588,7 @@ T?ID-CHANGER:: .TABLE ; TABLE FOR OBJECT ID-CHANGER
ID-CHANGER-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?354
+ STR?377
.BYTE 0
.ENDT
@@ -4457,7 +4599,7 @@ T?DOCKING-BAY-3:: .TABLE ; TABLE FOR OBJECT DOCKING-BAY-3
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?228
+ STR?252
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -4514,13 +4656,15 @@ T?ALLEY:: .TABLE ; TABLE FOR OBJECT ALLEY
.PROP 1,P?SW
.BYTE PAWN-SHOP
.PROP 2,P?WEST ; STRING PROPERTY
- STR?302
+ STR?330
.PROP 1,P?NW
.BYTE MAIN-STREET
.PROP 1,P?UP
.BYTE MAIN-STREET
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?341
+ STR?364
+ .PROP 1,P?GLOBAL
+ .BYTE GARBAGE
.BYTE 0
.ENDT
@@ -4538,7 +4682,7 @@ T?ROBOT-SHOP:: .TABLE ; TABLE FOR OBJECT ROBOT-SHOP
ROBOT-SHOP-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?258
+ STR?282
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE EQUIPMENT
@@ -4575,12 +4719,12 @@ T?DIODE-M:: .TABLE ; TABLE FOR OBJECT DIODE-M
.BYTE A?M
.BYTE A?SERIES
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
+ .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
+ STR?234
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
5
- .PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
7
@@ -4592,9 +4736,9 @@ T?BOTTOM-OF-ELEVATOR-SHAFT:: .TABLE ; TABLE FOR OBJECT BOTTOM-OF-ELEVATOR-SHAF
.PROP 1,P?SOUTH
.BYTE COMPUTER-CONTROL
.PROP 2,P?UP ; STRING PROPERTY
- STR?295
+ STR?323
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?294
+ STR?322
.PROP 1,P?GLOBAL
.BYTE ELEVATOR-SHAFT
.BYTE 0
@@ -4610,7 +4754,7 @@ T?STUDIO:: .TABLE ; TABLE FOR OBJECT STUDIO
STUDIO-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?325
+ STR?351
.BYTE 0
.ENDT
@@ -4648,13 +4792,39 @@ T?MAIN-STREET:: .TABLE ; TABLE FOR OBJECT MAIN-STREET
.PROP 1,P?SOUTH
.BYTE BANK
.PROP 1,P?WEST
- .BYTE RECRUITMENT-OFFICE
+ .BYTE TRAVEL-AGENCY
.PROP 1,P?UP
.BYTE MAYORS-OFFICE
.PROP 1,P?DOWN
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?332
+ STR?357
+ .BYTE 0
+ .ENDT
+
+T?AIRLOCK-OBJECT:: .TABLE ; TABLE FOR OBJECT AIRLOCK-OBJECT
+ .STRL "airlock"
+ .PROP 2,P?SYNONYM
+ W?AIRLOCK
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ AIRLOCK-OBJECT-F
+ .BYTE 0
+ .ENDT
+
+T?LILAC-SPOOL:: .TABLE ; TABLE FOR OBJECT LILAC-SPOOL
+ .STRL "lilac nanofilm spool"
+ .PROP 4,P?SYNONYM
+ W?NANOFILM
+ W?SPOOL
+ .PROP 2,P?ADJECTIVE
+ .BYTE A?NANOFILM
+ .BYTE A?LILAC
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 3
+ .PROP 2,P?TEXT ; STRING PROPERTY
+ STR?253
.BYTE 0
.ENDT
@@ -4694,12 +4864,10 @@ T?PATROL-UNIFORM:: .TABLE ; TABLE FOR OBJECT PATROL-UNIFORM
W?POCKET
.PROP 2,P?ADJECTIVE
.BYTE A?PATROL
- .BYTE A?WRINKLED
+ .BYTE A?MY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
PATROL-UNIFORM-F
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?147
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
10
@@ -4715,7 +4883,7 @@ T?SPACETRUCK:: .TABLE ; TABLE FOR OBJECT SPACETRUCK
SPACETRUCK-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?3
+ PT?4
.PROP 4,P?GLOBAL
.BYTE WINDOW
.BYTE KEYPAD
@@ -4737,7 +4905,7 @@ T?NORTH-CONNECTION:: .TABLE ; TABLE FOR OBJECT NORTH-CONNECTION
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?205
+ STR?229
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -4761,23 +4929,12 @@ T?CASINO:: .TABLE ; TABLE FOR OBJECT CASINO
.BYTE 0
.ENDT
-T?COMPUTER-TERMINAL:: .TABLE ; TABLE FOR OBJECT COMPUTER-TERMINAL
- .STRL "computer terminal"
- .PROP 2,P?SYNONYM
- W?TERMINAL
- .PROP 1,P?ADJECTIVE
- .BYTE A?COMPUTER
- .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
-
- COMPUTER-TERMINAL-F
- .BYTE 0
- .ENDT
-
T?JAMMER:: .TABLE ; TABLE FOR OBJECT JAMMER
.STRL "jammer"
- .PROP 4,P?SYNONYM
+ .PROP 6,P?SYNONYM
W?JAMMER
W?SOCKETS
+ W?FREQUENCY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
JAMMER-F
@@ -4824,35 +4981,39 @@ T?EVERYONE:: .TABLE ; TABLE FOR OBJECT EVERYONE
W?EVERYBODY
W?CREW
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?89
+ STR?91
.BYTE 0
.ENDT
T?SOUP:: .TABLE ; TABLE FOR OBJECT SOUP
- .STRL "bowl of soup"
- .PROP 8,P?SYNONYM
- W?BOWL
+ .STRL "blue soup"
+ .PROP 4,P?SYNONYM
W?SOUP
- W?BROTH
W?FOOD
- .PROP 1,P?ADJECTIVE
- .BYTE A?CREAMY
+ .PROP 8,P?ADJECTIVE
+ .BYTE A?BLUE
+ .BYTE A?BLUEBERRY
+ .BYTE A?WALNUT
+ .BYTE A?HOT
+ .BYTE A?STEAMING
+ .BYTE A?LUKEWARM
+ .BYTE A?COOL
+ .BYTE A?COLD
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
SOUP-F
- .PROP 2,P?DESCFCN ; ATOM (CONSTANT) PROPERTY
-
- SOUP-F
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-FOOD-F
+ .PROP 2,P?FOOD-DESC ; STRING PROPERTY
+ STR?220
.BYTE 0
.ENDT
T?BROADWAY:: .TABLE ; TABLE FOR OBJECT BROADWAY
.STRL "Broadway"
.PROP 1,P?NORTH
- .BYTE CHURCH
+ .BYTE RECRUITMENT-OFFICE
.PROP 1,P?NE
.BYTE REC-SHOP
.PROP 1,P?EAST
@@ -4866,11 +5027,11 @@ T?BROADWAY:: .TABLE ; TABLE FOR OBJECT BROADWAY
.PROP 1,P?WEST
.BYTE MAKESHIFT-CONNECTOR
.PROP 2,P?NW ; STRING PROPERTY
- STR?302
+ STR?330
.PROP 1,P?DOWN
.BYTE FORTUNE-TELLER
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?301
+ STR?329
.BYTE 0
.ENDT
@@ -4892,7 +5053,7 @@ T?LETTER:: .TABLE ; TABLE FOR OBJECT LETTER
2
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?353
+ STR?376
.BYTE 0
.ENDT
@@ -4904,7 +5065,7 @@ T?DRILL:: .TABLE ; TABLE FOR OBJECT DRILL
DRILL-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?269
+ STR?296
.BYTE 0
.ENDT
@@ -4933,20 +5094,20 @@ T?IRIS-HATCH:: .TABLE ; TABLE FOR OBJECT IRIS-HATCH
.ENDT
T?HOUSING:: .TABLE ; TABLE FOR OBJECT HOUSING
- .STRL "machinery housing"
+ .STRL "storage bin"
.PROP 4,P?SYNONYM
- W?HOUSING
+ W?BIN
W?LOCK
.PROP 4,P?ADJECTIVE
- .BYTE A?MACHIN
.BYTE A?THICK
.BYTE A?METAL
- .BYTE A?ELEVATOR
+ .BYTE A?STORAGE
+ .BYTE A?BIN
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
HOUSING-F
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?248
+ STR?272
.BYTE 0
.ENDT
@@ -4972,7 +5133,7 @@ T?END-OF-CORRIDOR:: .TABLE ; TABLE FOR OBJECT END-OF-CORRIDOR
.PROP 1,P?NW
.BYTE LEVEL-SIX
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?257
+ STR?281
.PROP 3,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE SECURITY-DOOR
@@ -4991,25 +5152,15 @@ T?MEDIUM-BIT:: .TABLE ; TABLE FOR OBJECT MEDIUM-BIT
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
BIT-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 4
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
3
.BYTE 0
.ENDT
-T?DECK-FIVE:: .TABLE ; TABLE FOR OBJECT DECK-FIVE
- .STRL "Deck Five"
- .PROP 1,P?EAST
- .BYTE CARGO-BAY-ENTRANCE
- .PROP 1,P?SOUTH
- .BYTE FORM-STORAGE-ROOM
- .PROP 2,P?WEST ; STRING PROPERTY
- STR?145
- .PROP 2,P?LDESC ; STRING PROPERTY
- STR?144
- .BYTE 0
- .ENDT
-
T?PLATO:: .TABLE ; TABLE FOR OBJECT PLATO
.STRL "Plato"
.PROP 4,P?SYNONYM
@@ -5019,9 +5170,9 @@ T?PLATO:: .TABLE ; TABLE FOR OBJECT PLATO
PLATO-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?283
+ STR?310
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?284
+ STR?311
.BYTE 0
.ENDT
@@ -5055,7 +5206,7 @@ T?OFFICERS-QUARTERS-C:: .TABLE ; TABLE FOR OBJECT OFFICERS-QUARTERS-C
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?265
+ STR?291
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -5084,10 +5235,10 @@ T?COIN:: .TABLE ; TABLE FOR OBJECT COIN
W?COIN
W?GALAKMID
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?349
+ STR?373
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
- 4
+ 5
.BYTE 0
.ENDT
@@ -5103,29 +5254,29 @@ T?BLACKENED-DIODE:: .TABLE ; TABLE FOR OBJECT BLACKENED-DIODE
BLACKENED-DIODE-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?200
+ STR?224
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?210
+ STR?234
.BYTE 0
.ENDT
T?BOTTOM-OF-AIR-SHAFT:: .TABLE ; TABLE FOR OBJECT BOTTOM-OF-AIR-SHAFT
.STRL "Bottom of Air Shaft"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?291
+ STR?318
.PROP 2,P?EAST ; STRING PROPERTY
- STR?291
+ STR?318
.PROP 2,P?SOUTH ; STRING PROPERTY
- STR?291
+ STR?318
.PROP 2,P?WEST ; STRING PROPERTY
- STR?291
+ STR?318
.PROP 1,P?UP
.BYTE AIR-SHAFT
.PROP 3,P?DOWN
.WORD BOTTOM-OF-AIR-SHAFT-EXIT-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?290
+ STR?317
.PROP 1,P?GLOBAL
.BYTE GRATING
.BYTE 0
@@ -5164,22 +5315,26 @@ GLOBAL::.TABLE
.GVAR HERE=0
.GVAR SCORE=0
.GVAR MOVES=0
- .GVAR CARBON-DIOXIDE-GONE=0
.GVAR P-END-ON-PREP=0
+ .GVAR READ-A-FOOTNOTE=0
.GVAR P-PHR=0
- .GVAR YOULL-HAVE-TO=STR?112,STRING
- .GVAR HUH=STR?124,STRING
+ .GVAR YOULL-HAVE-TO=STR?115,STRING
+ .GVAR GOOD-FLOYDISMS=T?28,TABLE
+ .GVAR CLUTTERED-BUBBLE=STR?152,STRING
+ .GVAR FORM-REJECTED=STR?149,STRING
+ .GVAR HUH=STR?126,STRING
+ .GVAR ZAPGUN-FOOTNOTE=0
.GVAR P-BUTS=T?18,TABLE
.GVAR WELDER-COUNTER=0
.GVAR ID-RANK=6
- .GVAR PERIOD-CR=STR?119,STRING
+ .GVAR PERIOD-CR=STR?121,STRING
.GVAR SUIT-PRESSED=0
.GVAR P-HIM-OBJECT=0
- .GVAR FLOYD-OFF-DESC=STR?130,STRING
+ .GVAR FLOYD-OFF-DESC=STR?132,STRING
.GVAR P-ACLAUSE=0
.GVAR HO-HUM-LIST=T?22,TABLE
.GVAR WELDER-TABLE-POINTER=0
- .GVAR NEXT-TIME=STR?135,STRING
+ .GVAR NEXT-TIME=STR?136,STRING
.GVAR P-SLOCBITS=0
.GVAR RESTAURANT-SIGN-TEXT=STR?140,STRING
.GVAR P-MATCHLEN=0
@@ -5189,7 +5344,7 @@ GLOBAL::.TABLE
.GVAR P-NAMW=T?14,TABLE
.GVAR P-OTBL=T?11,TABLE
.GVAR C-MAXINTS=60
- .GVAR ROBOT-POOL-EQUIPMENT-DESC=STR?131,STRING
+ .GVAR ROBOT-POOL-EQUIPMENT-DESC=STR?133,STRING
.GVAR P-NAM=0
.GVAR C-TABLE=T?1,TABLE
.GVAR OSTRICH-COMMENT=0
@@ -5200,14 +5355,17 @@ GLOBAL::.TABLE
.GVAR FLOYD-FOLLOW=0
.GVAR P-ANAM=0
.GVAR DANS-LOT-DESC=STR?143,STRING
- .GVAR ID-RANK-LIST=T?33,TABLE
+ .GVAR ID-RANK-LIST=T?35,TABLE
.GVAR CLOCK-HAND=0
- .GVAR SENILITY-STRIKES=STR?118,STRING
+ .GVAR MESSAGE-RECEIVED=0
+ .GVAR SENILITY-STRIKES=STR?120,STRING
.GVAR LFC=STR?142,STRING
+ .GVAR THERMOS-FILLED-WITH-GAS=0
.GVAR CROSSED-BOUNDARY=0
.GVAR LAST-PSEUDO-LOC=0
- .GVAR FORM-NAME=STR?132,STRING
+ .GVAR FORM-NAME=STR?134,STRING
.GVAR SPRAY-COUNTER=12
+ .GVAR MIRROR-BROKEN=0
.GVAR P-CONT=0
.GVAR P-PRSI=T?17,TABLE
.GVAR AGAIN-LEXV=T?4,TABLE
@@ -5216,13 +5374,15 @@ GLOBAL::.TABLE
.GVAR P-DIRECTION=0
.GVAR DRYER-COUNTER=0
.GVAR RESERVE-INBUF=T?7,TABLE
- .GVAR CANT-GO=STR?125,STRING
+ .GVAR CANT-GO=STR?127,STRING
.GVAR DETECTOR-COUNTER=0
.GVAR IMPOSSIBLE-LIST=T?24,TABLE
- .GVAR NOT-HUNGRY=STR?129,STRING
- .GVAR BLASTED-OPEN=STR?134,STRING
+ .GVAR NOT-HUNGRY=STR?131,STRING
+ .GVAR PATHETIC-SQUAWK=STR?156,STRING
+ .GVAR BLASTED-OPEN=STR?135,STRING
.GVAR LIT=1
- .GVAR NOUN-MISSING=STR?116,STRING
+ .GVAR NOUN-MISSING=STR?118,STRING
+ .GVAR DRILL-FOOTNOTE=0
.GVAR ROULETTE-TURNED=0
.GVAR P-VTBL=T?12,TABLE
.GVAR P-XADJN=0
@@ -5230,6 +5390,7 @@ GLOBAL::.TABLE
.GVAR P-ADJW=T?15,TABLE
.GVAR RESERVE-LEXV=T?5,TABLE
.GVAR P-MOBY-FLAG=0
+ .GVAR MAKE-OUT-AN-M=STR?157,STRING
.GVAR JAMMER-SETTING=337
.GVAR P-ADJ=0
.GVAR P-LEN=0
@@ -5237,97 +5398,108 @@ GLOBAL::.TABLE
.GVAR C-INTS=60
.GVAR P-CCTBL=T?2,TABLE
.GVAR P-LEXV=T?3,TABLE
+ .GVAR BAD-FLOYDISMS=T?30,TABLE
+ .GVAR LADDER-LEADS=STR?159,STRING
.GVAR RIGHT-COURSE=0
.GVAR ROBOT-PICKED=0
.GVAR VILLAGE-FORM-VALIDATED=0
.GVAR POSTPONE-ATTACK=0
.GVAR STRIKE-POWER-SOURCE=STR?139,STRING
+ .GVAR SUBLIMES-INTO-FREZONE=STR?150,STRING
+ .GVAR AT-SECOND-GLANCE=STR?153,STRING
.GVAR ANNOUNCEMENT-COUNTER=0
- .GVAR FACTORYISMS=T?31,TABLE
- .GVAR TOO-DARK=STR?106,STRING
- .GVAR FROZEN-LEVEL=0
+ .GVAR FACTORYISMS=T?33,TABLE
+ .GVAR TOO-DARK=STR?109,STRING
.GVAR DEBUG=0
.GVAR PRSO=0
.GVAR HANGING-IN-AIR=0
- .GVAR FLOYDISMS=T?28,TABLE
.GVAR LOG-COUNTER=0
.GVAR FLAME-EXTINGUISHED=STR?141,STRING
.GVAR P-MERGED=0
.GVAR SNIFFED=0
.GVAR P-GWIMBIT=0
.GVAR WELDER-TABLE=T?27,TABLE
- .GVAR DOME-DESC=STR?137,STRING
- .GVAR YOU-CANT=STR?111,STRING
+ .GVAR DOME-DESC=STR?138,STRING
+ .GVAR YOU-CANT=STR?114,STRING
+ .GVAR MELT-COUNTER=0
+ .GVAR DETACH=STR?155,STRING
.GVAR LOG-READER-COUNTER=0
- .GVAR FAILED=STR?122,STRING
+ .GVAR FAILED=STR?124,STRING
+ .GVAR NEUTRAL-FLOYDISMS=T?29,TABLE
.GVAR AIR-SHAFT-LOC=2
.GVAR P-SYNTAX=0
- .GVAR FLOYD-NOT-HAVE=STR?127,STRING
+ .GVAR DICE-FOOTNOTE=0
+ .GVAR FLOYD-NOT-HAVE=STR?129,STRING
.GVAR ASSIGNMENT-FORM-VALIDATED=0
.GVAR TIMER-CONNECTED=0
.GVAR P-XADJ=0
- .GVAR TYPE-NUMERALS=STR?133,STRING
.GVAR PLATO-ATTACK-COUNTER=0
.GVAR FLOYD-SHOT=0
.GVAR P-AADJ=0
.GVAR HUNGER-LEVEL=0
- .GVAR ELLIPSIS=STR?120,STRING
+ .GVAR ELLIPSIS=STR?122,STRING
.GVAR PRSA=0
.GVAR P-PRSA-WORD=0
- .GVAR YOU-SEE=STR?109,STRING
+ .GVAR YOU-SEE=STR?112,STRING
.GVAR EXERCISE-MACHINE-COUNTER=0
- .GVAR EXPLOSIVE-MELT-COUNTER=0
.GVAR FLOYD-ANGUISHED=0
.GVAR SPACETRUCK-COUNTER=-1
.GVAR SAFE-HOLE-SCORE=0
.GVAR P-PRSO=T?16,TABLE
+ .GVAR FORM-ACCEPTED=STR?148,STRING
.GVAR ID-SCRAMBLED=0
- .GVAR YNH=STR?107,STRING
+ .GVAR HEAR-WELDER-LEAVE=STR?146,STRING
+ .GVAR YNH=STR?110,STRING
.GVAR P-AND=0
.GVAR DRILL-DEAD=0
.GVAR C-ELAPSED=7
.GVAR ELEVATOR-LEVEL=2
.GVAR P-ONEOBJ=0
- .GVAR THERES-NOTHING=STR?108,STRING
+ .GVAR THERES-NOTHING=STR?111,STRING
+ .GVAR NO-LONGER-ATTACHED=STR?147,STRING
.GVAR DIAL-SETTING=0
.GVAR INTERNAL-MOVES=0
.GVAR P-INBUF=T?6,TABLE
- .GVAR IT-SEEMS-THAT=STR?110,STRING
- .GVAR CONTROL-BOX-DESC=STR?138,STRING
+ .GVAR IT-SEEMS-THAT=STR?113,STRING
+ .GVAR BALLOON-COMMENT=0
.GVAR P-MERGE=T?19,TABLE
.GVAR P-WON=0
- .GVAR SIMULATIONS=T?32,TABLE
+ .GVAR SIMULATIONS=T?34,TABLE
.GVAR GRATING-LOOSE=0
.GVAR P-OVTBL=T?13,TABLE
- .GVAR LOOK-AROUND=STR?113,STRING
+ .GVAR BLATHER-PROB=0
+ .GVAR LOOK-AROUND=STR?116,STRING
.GVAR DIODE-CLEANED=0
.GVAR SKELETON-COMMENT=0
.GVAR ROBOT-EVILNESS=0
.GVAR P-ITBL=T?10,TABLE
+ .GVAR FLOYD-TRYTAKEN=0
.GVAR QUOTE-FLAG=0
+ .GVAR SOUP-WARMTH=100
.GVAR P-TABLE=0
.GVAR P-GETFLAGS=0
.GVAR DAY=1
+ .GVAR VIOLATION-OF-ACT=STR?145,STRING
.GVAR P-OCL2=T?21,TABLE
- .GVAR CANT-FROM-HERE=STR?114,STRING
.GVAR OOPS-INBUF=T?8,TABLE
.GVAR EXPLOSIVE-CONNECTED=0
.GVAR P-NUMBER=0
+ .GVAR UNFAMILIAR=STR?151,STRING
.GVAR DREAMS=T?26,TABLE
.GVAR P-OFLAG=0
.GVAR WINNER=0
.GVAR PRESSER-STEAMING=0
.GVAR P-ADJN=0
- .GVAR HOLDING-IT=STR?115,STRING
+ .GVAR HOLDING-IT=STR?117,STRING
.GVAR AGAIN-DIR=0
- .GVAR HOPPING-MAD=STR?136,STRING
- .GVAR RADIO-LINES=T?30,TABLE
+ .GVAR HOPPING-MAD=STR?137,STRING
+ .GVAR RADIO-LINES=T?32,TABLE
.GVAR WASTE-LIST=T?25,TABLE
- .GVAR NOTHING-HAPPENS=STR?121,STRING
+ .GVAR NOTHING-HAPPENS=STR?123,STRING
.GVAR HANGING-COMMENT=0
- .GVAR PLATOISMS=T?29,TABLE
+ .GVAR PLATOISMS=T?31,TABLE
.GVAR AWAITING-REPLY=0
- .GVAR EXAMINE-BOARD=STR?128,STRING
+ .GVAR EXAMINE-BOARD=STR?130,STRING
.GVAR P-IT-OBJECT=0
.GVAR P-OCL1=T?20,TABLE
.GVAR PLATO-INTRODUCED=0
@@ -5335,15 +5507,20 @@ GLOBAL::.TABLE
.GVAR RESERVE-PTR=0
.GVAR TIMER-SETTING=0
.GVAR D-BIT=0
+ .GVAR TOO-LONG-TO-WAIT=STR?160,STRING
.GVAR FLOYD-SPOKE=0
- .GVAR ONLY-BLACKNESS=STR?117,STRING
- .GVAR ALREADY-IS=STR?126,STRING
+ .GVAR ONLY-BLACKNESS=STR?119,STRING
+ .GVAR FORKLIFT-COUNTER=0
+ .GVAR ALREADY-IS=STR?128,STRING
+ .GVAR FORKLIFT-DESC=STR?154,STRING
.GVAR OLIVER-SPEECH=0
.GVAR BALLOON-ODOR=0
+ .GVAR LANDS-ON-FLOOR=STR?158,STRING
.GVAR P-NOT-HERE=0
.GVAR ELIMINATE-CR=0
.GVAR FLOYD-TOLD=0
- .GVAR OK=STR?123,STRING
+ .GVAR ALREADY-IN-MODE=STR?144,STRING
+ .GVAR OK=STR?125,STRING
.GVAR NUMBER-OF-WELDERS=4
.GVAR P-NCN=0
.GVAR YUK-LIST=T?23,TABLE
@@ -6725,55 +6902,55 @@ T?22::
T?HO-HUM-LIST:: .TABLE
4
0
- STR?67
- STR?68
STR?69
+ STR?70
+ STR?71
.ENDT
T?23::
T?YUK-LIST:: .TABLE
7
0
- STR?70
- STR?71
STR?72
STR?73
STR?74
STR?75
+ STR?76
+ STR?77
.ENDT
T?24::
T?IMPOSSIBLE-LIST:: .TABLE
6
0
- STR?70
- STR?76
- STR?77
+ STR?72
STR?78
STR?79
+ STR?80
+ STR?81
.ENDT
T?25::
T?WASTE-LIST:: .TABLE
6
0
- STR?80
- STR?81
STR?82
STR?83
STR?84
+ STR?85
+ STR?86
.ENDT
T?26::
T?DREAMS:: .TABLE
7
0
- STR?96
- STR?97
- STR?98
STR?99
STR?100
STR?101
+ STR?102
+ STR?103
+ STR?104
.ENDT
T?27::
@@ -6786,84 +6963,104 @@ T?WELDER-TABLE:: .TABLE
.ENDT
T?28::
-T?FLOYDISMS:: .TABLE
- 19
- 0
- STR?154
- STR?155
- STR?156
- STR?157
- STR?158
- STR?159
- STR?160
- STR?161
- STR?162
- STR?163
- STR?164
- STR?165
- STR?166
- STR?167
- STR?168
- STR?169
+T?GOOD-FLOYDISMS:: .TABLE
+ 6
+ 0
STR?170
STR?171
+ STR?172
+ STR?173
+ STR?174
.ENDT
T?29::
-T?PLATOISMS:: .TABLE
- 9
+T?NEUTRAL-FLOYDISMS:: .TABLE
+ 16
0
- STR?172
- STR?173
- STR?174
STR?175
STR?176
STR?177
STR?178
STR?179
+ STR?180
+ STR?181
+ STR?182
+ STR?183
+ STR?184
+ STR?185
+ STR?186
+ STR?187
+ STR?188
+ STR?189
.ENDT
T?30::
+T?BAD-FLOYDISMS:: .TABLE
+ 6
+ 0
+ STR?190
+ STR?191
+ STR?192
+ STR?193
+ STR?194
+ .ENDT
+
+T?31::
+T?PLATOISMS:: .TABLE
+ 10
+ 0
+ STR?195
+ STR?196
+ STR?197
+ STR?198
+ STR?199
+ STR?200
+ STR?201
+ STR?202
+ STR?203
+ .ENDT
+
+T?32::
T?RADIO-LINES:: .TABLE
4
0
- STR?184
- STR?185
- STR?186
+ STR?208
+ STR?209
+ STR?210
.ENDT
-T?31::
+T?33::
T?FACTORYISMS:: .TABLE
4
0
- STR?296
- STR?297
- STR?298
+ STR?324
+ STR?325
+ STR?326
.ENDT
-T?32::
+T?34::
T?SIMULATIONS:: .TABLE
6
0
- STR?306
- STR?307
- STR?308
- STR?309
- STR?310
+ STR?334
+ STR?335
+ STR?336
+ STR?337
+ STR?338
.ENDT
-T?33::
+T?35::
T?ID-RANK-LIST:: .TABLE
- STR?357
- STR?358
- STR?359
- STR?360
- STR?361
+ STR?380
+ STR?381
+ STR?382
+ STR?383
+ STR?384
STR?142
- STR?362
- STR?363
- STR?364
- STR?365
+ STR?385
+ STR?386
+ STR?387
+ STR?388
.ENDT
@@ -6961,6 +7158,7 @@ VTBL:: .TABLE
ST?CIRCLE
ST?$KEY
ST?UNSCRIPT
+ ST?CRUMPL
ST?PUSH
ST?SUPER
ST?SIT
@@ -6982,6 +7180,7 @@ VTBL:: .TABLE
ST?ATTRACT
ST?SPRAY
ST?DROP
+ ST?COMPAR
ST?TIME
ST?ROLL
ST?LEAVE
@@ -7011,7 +7210,9 @@ VTBL:: .TABLE
ST?START
ST?MAYBE
ST?CLOSE
+ ST?FIX
ST?GO
+ ST?FOOTNOTE
ST?SLIDE
ST?EXIT
ST?EXAMINE
@@ -7219,7 +7420,7 @@ ST?STICK:: .TABLE
.BYTE 0
.BYTE ONBIT
.BYTE 0
- .BYTE 0
+ .BYTE STAKE
.BYTE 0
.BYTE V?OFF
.BYTE 2 ;OBJECTS
@@ -7573,7 +7774,15 @@ ST?$DEBUG:: .TABLE
.ENDT
ST?WAIT:: .TABLE
- .BYTE 2 ;NUMBER OF SYNTAXES
+ .BYTE 3 ;NUMBER OF SYNTAXES
+ .BYTE 1 ;OBJECTS
+ .BYTE PR?UNTIL
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?WAIT-UNTIL
.BYTE 1 ;OBJECTS
.BYTE PR?FOR
.BYTE 0
@@ -8113,7 +8322,15 @@ ST?FLATTEN:: .TABLE
.ENDT
ST?TOUCH:: .TABLE
- .BYTE 3 ;NUMBER OF SYNTAXES
+ .BYTE 4 ;NUMBER OF SYNTAXES
+ .BYTE 1 ;OBJECTS
+ .BYTE PR?IN
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE SOG+SIR
+ .BYTE 0
+ .BYTE V?REACH-IN
.BYTE 2 ;OBJECTS
.BYTE 0
.BYTE PR?ON
@@ -8159,7 +8376,7 @@ ST?BLOW:: .TABLE
.BYTE 0
.BYTE ONBIT
.BYTE 0
- .BYTE 0
+ .BYTE STAKE
.BYTE 0
.BYTE V?OFF
.ENDT
@@ -9000,6 +9217,18 @@ ST?UNSCRIPT:: .TABLE
.BYTE V?UNSCRIPT
.ENDT
+ST?CRUMPL:: .TABLE
+ .BYTE 1 ;NUMBER OF SYNTAXES
+ .BYTE 1 ;OBJECTS
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE SH+SC+SHAVE
+ .BYTE 0
+ .BYTE V?CRUMPLE
+ .ENDT
+
ST?PUSH:: .TABLE
.BYTE 7 ;NUMBER OF SYNTAXES
.BYTE 2 ;OBJECTS
@@ -9588,6 +9817,26 @@ ST?DROP:: .TABLE
.BYTE V?DROP
.ENDT
+ST?COMPAR:: .TABLE
+ .BYTE 2 ;NUMBER OF SYNTAXES
+ .BYTE 2 ;OBJECTS
+ .BYTE 0
+ .BYTE PR?TO
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?COMPARE
+ .BYTE 2 ;OBJECTS
+ .BYTE 0
+ .BYTE PR?WITH
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?COMPARE
+ .ENDT
+
ST?TIME:: .TABLE
.BYTE 1 ;NUMBER OF SYNTAXES
.BYTE 0 ;OBJECTS
@@ -9723,7 +9972,7 @@ ST?EXTINGUISH:: .TABLE
.BYTE 0
.BYTE ACTIVEBIT
.BYTE 0
- .BYTE 0
+ .BYTE STAKE
.BYTE 0
.BYTE V?OFF
.ENDT
@@ -9949,7 +10198,7 @@ ST?BURN:: .TABLE
.BYTE 2 ;OBJECTS
.BYTE PR?UP
.BYTE PR?WITH
- .BYTE BURNBIT
+ .BYTE 0
.BYTE 0
.BYTE 0
.BYTE SHAVE
@@ -9957,7 +10206,7 @@ ST?BURN:: .TABLE
.BYTE 2 ;OBJECTS
.BYTE 0
.BYTE PR?WITH
- .BYTE BURNBIT
+ .BYTE 0
.BYTE 0
.BYTE 0
.BYTE SHAVE
@@ -9965,7 +10214,7 @@ ST?BURN:: .TABLE
.BYTE 1 ;OBJECTS
.BYTE PR?UP
.BYTE 0
- .BYTE BURNBIT
+ .BYTE 0
.BYTE 0
.BYTE 0
.BYTE 0
@@ -9973,7 +10222,7 @@ ST?BURN:: .TABLE
.BYTE 1 ;OBJECTS
.BYTE 0
.BYTE 0
- .BYTE BURNBIT
+ .BYTE 0
.BYTE 0
.BYTE 0
.BYTE 0
@@ -10055,7 +10304,7 @@ ST?TURN:: .TABLE
.BYTE 0
.BYTE ACTIVEBIT
.BYTE 0
- .BYTE 0
+ .BYTE STAKE
.BYTE 0
.BYTE V?OFF
.BYTE 1 ;OBJECTS
@@ -10163,7 +10412,7 @@ ST?CLOSE:: .TABLE
.BYTE 0
.BYTE ACTIVEBIT
.BYTE 0
- .BYTE 0
+ .BYTE STAKE
.BYTE 0
.BYTE V?OFF
.BYTE 1 ;OBJECTS
@@ -10176,6 +10425,18 @@ ST?CLOSE:: .TABLE
.BYTE V?CLOSE
.ENDT
+ST?FIX:: .TABLE
+ .BYTE 1 ;NUMBER OF SYNTAXES
+ .BYTE 1 ;OBJECTS
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?FIX
+ .ENDT
+
ST?GO:: .TABLE
.BYTE 12 ;NUMBER OF SYNTAXES
.BYTE 1 ;OBJECTS
@@ -10276,6 +10537,18 @@ ST?GO:: .TABLE
.BYTE V?WALK
.ENDT
+ST?FOOTNOTE:: .TABLE
+ .BYTE 1 ;NUMBER OF SYNTAXES
+ .BYTE 1 ;OBJECTS
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?FOOTNOTE
+ .ENDT
+
ST?SLIDE:: .TABLE
.BYTE 1 ;NUMBER OF SYNTAXES
.BYTE 1 ;OBJECTS
@@ -10349,7 +10622,7 @@ ST?EAT:: .TABLE
.ENDT
ST?DRILL:: .TABLE
- .BYTE 3 ;NUMBER OF SYNTAXES
+ .BYTE 6 ;NUMBER OF SYNTAXES
.BYTE 2 ;OBJECTS
.BYTE 0
.BYTE PR?IN
@@ -10359,6 +10632,22 @@ ST?DRILL:: .TABLE
.BYTE 0
.BYTE V?DRILL-HOLE
.BYTE 2 ;OBJECTS
+ .BYTE PR?THROUGH
+ .BYTE PR?WITH
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?DRILL
+ .BYTE 1 ;OBJECTS
+ .BYTE PR?THROUGH
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?DRILL
+ .BYTE 2 ;OBJECTS
.BYTE 0
.BYTE PR?WITH
.BYTE 0
@@ -10367,6 +10656,14 @@ ST?DRILL:: .TABLE
.BYTE 0
.BYTE V?DRILL
.BYTE 1 ;OBJECTS
+ .BYTE PR?IN
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE 0
+ .BYTE V?DRILL
+ .BYTE 1 ;OBJECTS
.BYTE 0
.BYTE 0
.BYTE 0
@@ -10637,10 +10934,12 @@ ATBL:: .TABLE
V-CLOSE
V-FOLLOW
V-COMFORT
+ V-COMPARE
V-CONNECT
V-SPUT-ON
V-COUNT
V-CROSS
+ V-CRUMPLE
V-MUNG
V-DIG
V-DISCONNECT
@@ -10662,7 +10961,9 @@ ATBL:: .TABLE
V-SGIVE
V-FILL
V-FIND
+ V-FIX
V-FLATTEN
+ V-FOOTNOTE
V-GREET
V-WALK
V-HIDE
@@ -10760,6 +11061,7 @@ ATBL:: .TABLE
V-VALIDATE
V-WAIT
V-WAIT-FOR
+ V-WAIT-UNTIL
V-ALARM
V-RUN-OVER
V-CLEAN
@@ -10823,6 +11125,8 @@ PATBL:: .TABLE
0
0
0
+ 0
+ 0
PRE-MUNG
0
0
@@ -10854,6 +11158,8 @@ PATBL:: .TABLE
0
0
0
+ 0
+ 0
PRE-TOUCH
0
0
@@ -10898,7 +11204,7 @@ PATBL:: .TABLE
0
0
0
- 0
+ PRE-TOUCH
0
0
PRE-SHOOT
@@ -10909,7 +11215,7 @@ PATBL:: .TABLE
0
0
0
- 0
+ PRE-SMELL
0
0
0
@@ -10930,7 +11236,7 @@ PATBL:: .TABLE
IDROP
IDROP
0
- 0
+ PRE-TOUCH
0
0
PRE-TOUCH
@@ -10951,13 +11257,16 @@ PATBL:: .TABLE
0
0
0
+ 0
.ENDT
; PREPOSITION TABLE IS DEFINED HERE
PRTBL:: .TABLE
- .WORD 22
+ .WORD 23
+ W?UNTIL
+ PR?UNTIL
W?UNDRES
PR?UNDRES
W?DRESSE
@@ -11013,7 +11322,7 @@ VOCAB:: .TABLE
.BYTE 44
.BYTE 34
.BYTE 7
- 753
+ 780
W?$DEBUG:: .ZWORD "$debug"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?$DEBUG
@@ -11038,6 +11347,10 @@ W?20-PRONG:: .ZWORD "20-pro"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?20-PRONG
.BYTE 0
+W?91ST-CENTURY:: .ZWORD "91st-c"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?91ST-CENTURY
+ .BYTE 0
W?PERIOD:: .ZWORD "."
.BYTE PS?BUZZ-WORD
.BYTE B?PERIOD
@@ -11095,11 +11408,11 @@ W?AIM:: .ZWORD "aim"
.BYTE ACT?POINT
.BYTE 0
W?AIR:: .ZWORD "air"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?AIR
.BYTE 0
W?AIRLOCK:: .ZWORD "airloc"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?AIRLOCK
.BYTE 0
W?ALIEN:: .ZWORD "alien"
@@ -11158,10 +11471,6 @@ W?ARE:: .ZWORD "are"
.BYTE PS?BUZZ-WORD
.BYTE B?ARE
.BYTE 0
-W?AREA:: .ZWORD "area"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
- .BYTE 0
W?AROUND:: .ZWORD "around"
.BYTE PS?PREPOSITION+P1?OBJECT
.BYTE PR?AROUND
@@ -11226,6 +11535,10 @@ W?BAG:: .ZWORD "bag"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?BALL:: .ZWORD "ball"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?BALLOON:: .ZWORD "balloo"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?BALLOON
@@ -11287,8 +11600,8 @@ W?BIGGER:: .ZWORD "bigger"
.BYTE A?LARGE
.BYTE 0
W?BIN:: .ZWORD "bin"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?BIN
.BYTE 0
W?BIRD:: .ZWORD "bird"
.BYTE PS?OBJECT+P1?OBJECT
@@ -11362,6 +11675,10 @@ W?BOOTH:: .ZWORD "booth"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?BOOTHS:: .ZWORD "booths"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?BOOTS:: .ZWORD "boots"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11374,10 +11691,6 @@ W?BOTTLE:: .ZWORD "bottle"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
-W?BOWL:: .ZWORD "bowl"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
- .BYTE 0
W?BOX:: .ZWORD "box"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11394,9 +11707,9 @@ W?BRIEF:: .ZWORD "brief"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?BRIEF
.BYTE 0
-W?BROTH:: .ZWORD "broth"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
+W?BROWN:: .ZWORD "brown"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?BROWN
.BYTE 0
W?BROWSE:: .ZWORD "browse"
.BYTE PS?VERB+P1?VERB
@@ -11434,10 +11747,6 @@ W?CAN:: .ZWORD "can"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
-W?CARBON:: .ZWORD "carbon"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?CARBON
- .BYTE 0
W?CARD:: .ZWORD "card"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11518,10 +11827,18 @@ W?COCKSU:: .ZWORD "cocksu"
.BYTE PS?BUZZ-WORD
.BYTE B?COCKSU
.BYTE 0
+W?COFFEE:: .ZWORD "coffee"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?COIN:: .ZWORD "coin"
.BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?COIN
.BYTE 0
+W?COLD:: .ZWORD "cold"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?COLD
+ .BYTE 0
W?COME:: .ZWORD "come"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?COME
@@ -11530,21 +11847,25 @@ W?COMFORT:: .ZWORD "comfor"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?COMFORT
.BYTE 0
+W?COMPAR:: .ZWORD "compar"
+ .BYTE PS?OBJECT+PS?VERB+P1?VERB
+ .BYTE ACT?COMPAR
+ .BYTE 0
W?COMPLETION:: .ZWORD "comple"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?COMPLETION
.BYTE 0
W?COMPUTER:: .ZWORD "comput"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?COMPUTER
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
.BYTE 0
W?CONNECT:: .ZWORD "connec"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?CONNECT
.BYTE 0
-W?CONTROL:: .ZWORD "contro"
+W?COOL:: .ZWORD "cool"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?CONTROL
+ .BYTE A?COOL
.BYTE 0
W?COPILOT:: .ZWORD "copilo"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
@@ -11562,14 +11883,6 @@ W?COVER:: .ZWORD "cover"
.BYTE PS?OBJECT+PS?VERB+P1?VERB
.BYTE ACT?COVER
.BYTE 0
-W?CREAM:: .ZWORD "cream"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
- .BYTE 0
-W?CREAMY:: .ZWORD "creamy"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?CREAMY
- .BYTE 0
W?CREATURE:: .ZWORD "creatu"
.BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?CREATURE
@@ -11582,9 +11895,13 @@ W?CROSS:: .ZWORD "cross"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?CROSS
.BYTE 0
-W?CRUMPLED:: .ZWORD "crumpl"
+W?CRUMPL:: .ZWORD "crumpl"
+ .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?CRUMPL
+ .BYTE ACT?CRUMPL
+W?CRYSTAL:: .ZWORD "crysta"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?CRUMPLED
+ .BYTE A?CRYSTAL
.BYTE 0
W?CUBICLE:: .ZWORD "cubicl"
.BYTE PS?OBJECT+P1?OBJECT
@@ -11706,10 +12023,6 @@ W?DIODES:: .ZWORD "diodes"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
-W?DIOXIDE:: .ZWORD "dioxid"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
- .BYTE 0
W?DIRECT:: .ZWORD "direct"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11871,8 +12184,8 @@ W?EXOTIC:: .ZWORD "exotic"
.BYTE A?EXOTIC
.BYTE 0
W?EXPLOSIVE:: .ZWORD "explos"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?EXPLOSIVE
.BYTE 0
W?EXTINGUISH:: .ZWORD "exting"
.BYTE PS?VERB+P1?VERB
@@ -11890,6 +12203,10 @@ W?FABRICATION:: .ZWORD "fabric"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?FABRICATION
.BYTE 0
+W?FAIRLY:: .ZWORD "fairly"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?FAIRLY
+ .BYTE 0
W?FDU:: .ZWORD "fdu"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11926,6 +12243,10 @@ W?FIRST:: .ZWORD "first"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?FIRST
.BYTE 0
+W?FIX:: .ZWORD "fix"
+ .BYTE PS?VERB+P1?VERB
+ .BYTE ACT?FIX
+ .BYTE 0
W?FLAME:: .ZWORD "flame"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11942,6 +12263,10 @@ W?FLIP:: .ZWORD "flip"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?TURN
.BYTE 0
+W?FLOATING:: .ZWORD "floati"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?FLOATING
+ .BYTE 0
W?FLOOR:: .ZWORD "floor"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -11958,14 +12283,14 @@ W?FOLLOW:: .ZWORD "follow"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?FOLLOW
.BYTE 0
-W?FONDLE:: .ZWORD "fondle"
- .BYTE PS?VERB+P1?VERB
- .BYTE ACT?TOUCH
- .BYTE 0
W?FOOD:: .ZWORD "food"
.BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?FOOD
.BYTE 0
+W?FOOTNOTE:: .ZWORD "footno"
+ .BYTE PS?VERB+P1?VERB
+ .BYTE ACT?FOOTNOTE
+ .BYTE 0
W?FOR:: .ZWORD "for"
.BYTE PS?PREPOSITION+P1?OBJECT
.BYTE PR?FOR
@@ -11978,6 +12303,14 @@ W?FORE:: .ZWORD "fore"
.BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION
.BYTE 31
.BYTE A?NORTH
+W?FORK:: .ZWORD "fork"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?FORK
+ .BYTE 0
+W?FORKLIFT:: .ZWORD "forkli"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?FORM:: .ZWORD "form"
.BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?FORM
@@ -11990,6 +12323,10 @@ W?FPU:: .ZWORD "fpu"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?FREQUENCY:: .ZWORD "freque"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?FREZONE:: .ZWORD "frezon"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?FREZONE
@@ -12038,6 +12375,10 @@ W?GAMES:: .ZWORD "games"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?GARBAGE:: .ZWORD "garbag"
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?GARBAGE
+ .BYTE 0
W?GARDEN:: .ZWORD "garden"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -12058,6 +12399,10 @@ W?GIVE:: .ZWORD "give"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?HAND
.BYTE 0
+W?GLASS:: .ZWORD "glass"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?GLASS
+ .BYTE 0
W?GO:: .ZWORD "go"
.BYTE PS?VERB+PS?PREPOSITION+P1?OBJECT
.BYTE PR?GO
@@ -12098,6 +12443,14 @@ W?GREY:: .ZWORD "grey"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?GREY
.BYTE 0
+W?GRIME-COVERED:: .ZWORD "grime-"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?GRIME-COVERED
+ .BYTE 0
+W?GRIMY:: .ZWORD "grimy"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?GRIMY
+ .BYTE 0
W?GROUND:: .ZWORD "ground"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -12154,10 +12507,18 @@ W?HELP:: .ZWORD "help"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?HELP
.BYTE 0
+W?HER:: .ZWORD "her"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?HERE:: .ZWORD "here"
.BYTE PS?BUZZ-WORD
.BYTE B?HERE
.BYTE 0
+W?HERSELF:: .ZWORD "hersel"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?HI:: .ZWORD "hi"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?HELLO
@@ -12206,9 +12567,9 @@ W?HOP:: .ZWORD "hop"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?SKIP
.BYTE 0
-W?HOUSING:: .ZWORD "housin"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
+W?HOT:: .ZWORD "hot"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?HOT
.BYTE 0
W?HUCKA:: .ZWORD "hucka"
.BYTE PS?OBJECT+P1?OBJECT
@@ -12242,10 +12603,6 @@ W?I:: .ZWORD "i"
.BYTE PS?OBJECT+PS?VERB+P1?VERB
.BYTE ACT?INVENT
.BYTE 0
-W?ICE:: .ZWORD "ice"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?ICE
- .BYTE 0
W?ID:: .ZWORD "id"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?ID
@@ -12338,6 +12695,10 @@ W?JUMP:: .ZWORD "jump"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?JUMP
.BYTE 0
+W?JUNK:: .ZWORD "junk"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?JZ-59-G:: .ZWORD "jz-59-"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -12435,13 +12796,17 @@ W?LIE:: .ZWORD "lie"
.BYTE ACT?LIE
.BYTE 0
W?LIFT:: .ZWORD "lift"
- .BYTE PS?VERB+P1?VERB
+ .BYTE PS?OBJECT+PS?VERB+P1?VERB
.BYTE ACT?RAISE
.BYTE 0
W?LIGHT:: .ZWORD "light"
.BYTE PS?OBJECT+PS?VERB+P1?VERB
.BYTE ACT?LIGHT
.BYTE 0
+W?LILAC:: .ZWORD "lilac"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?LILAC
+ .BYTE 0
W?LISTEN:: .ZWORD "listen"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?LISTEN
@@ -12450,10 +12815,6 @@ W?LITTLE:: .ZWORD "little"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?SMALL
.BYTE 0
-W?LOCATI:: .ZWORD "locati"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
- .BYTE 0
W?LOCK:: .ZWORD "lock"
.BYTE PS?OBJECT+PS?VERB+P1?VERB
.BYTE ACT?LOCK
@@ -12474,6 +12835,10 @@ W?LOWER:: .ZWORD "lower"
.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?LOWER
.BYTE ACT?LOWER
+W?LUKEWARM:: .ZWORD "lukewa"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?LUKEWARM
+ .BYTE 0
W?LURKING:: .ZWORD "lurkin"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?LURKING
@@ -12487,8 +12852,8 @@ W?M-SERIES:: .ZWORD "m-seri"
.BYTE A?M-SERIES
.BYTE 0
W?MACHIN:: .ZWORD "machin"
- .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?MACHIN
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
.BYTE 0
W?MAGAZINE:: .ZWORD "magazi"
.BYTE PS?OBJECT+P1?OBJECT
@@ -12546,6 +12911,10 @@ W?MINE:: .ZWORD "mine"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?MY
.BYTE 0
+W?MIRROR:: .ZWORD "mirror"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?MONITOR:: .ZWORD "monito"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?MONITOR
@@ -12562,10 +12931,6 @@ W?MULTIP:: .ZWORD "multip"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?MULTIP
.BYTE 0
-W?MURDER:: .ZWORD "murder"
- .BYTE PS?VERB+P1?VERB
- .BYTE ACT?ATTACK
- .BYTE 0
W?MY:: .ZWORD "my"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?MY
@@ -12670,6 +13035,10 @@ W?OFFER:: .ZWORD "offer"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?HAND
.BYTE 0
+W?OFFICE:: .ZWORD "office"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?OHM:: .ZWORD "ohm"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?OHM
@@ -12734,6 +13103,10 @@ W?P:: .ZWORD "p"
.BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION
.BYTE 25
.BYTE A?WEST
+W?PAIL:: .ZWORD "pail"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?PAIR:: .ZWORD "pair"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -12763,9 +13136,9 @@ W?PEDESTAL:: .ZWORD "pedest"
.BYTE 0
.BYTE 0
W?PET:: .ZWORD "pet"
- .BYTE PS?OBJECT+PS?VERB+P1?VERB
+ .BYTE PS?OBJECT+PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?PET
.BYTE ACT?TOUCH
- .BYTE 0
W?PICK:: .ZWORD "pick"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?PICK
@@ -12774,14 +13147,22 @@ W?PIECE:: .ZWORD "piece"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?PILE:: .ZWORD "pile"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?PILOT:: .ZWORD "pilot"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?PILOT
.BYTE 0
W?PLACE:: .ZWORD "place"
- .BYTE PS?OBJECT+PS?VERB+P1?VERB
+ .BYTE PS?VERB+P1?VERB
.BYTE ACT?STICK
.BYTE 0
+W?PLAID:: .ZWORD "plaid"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?PLAID
+ .BYTE 0
W?PLANTS:: .ZWORD "plants"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -12942,11 +13323,19 @@ W?RAMOSIAN:: .ZWORD "ramosi"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?RAMOSIAN
.BYTE 0
+W?RANDOM:: .ZWORD "random"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?RANDOM
+ .BYTE 0
W?RAP:: .ZWORD "rap"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?KNOCK
.BYTE 0
W?RAY:: .ZWORD "ray"
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?RAY
+ .BYTE 0
+W?RAYGUN:: .ZWORD "raygun"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
@@ -12991,9 +13380,9 @@ W?REMOVE:: .ZWORD "remove"
.BYTE ACT?REMOVE
.BYTE 0
W?REPAIR:: .ZWORD "repair"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?REPAIR
- .BYTE 0
+ .BYTE ACT?FIX
W?REPLY:: .ZWORD "reply"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?ANSWER
@@ -13094,6 +13483,10 @@ W?SCORE:: .ZWORD "score"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?SCORE
.BYTE 0
+W?SCRAP:: .ZWORD "scrap"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?SCRAP
+ .BYTE 0
W?SCRATCH:: .ZWORD "scratc"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?TOUCH
@@ -13110,6 +13503,10 @@ W?SCRIPT:: .ZWORD "script"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?SCRIPT
.BYTE 0
+W?SCULPTURE:: .ZWORD "sculpt"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?SE:: .ZWORD "se"
.BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION
.BYTE 28
@@ -13371,8 +13768,8 @@ W?SPINDLY:: .ZWORD "spindl"
.BYTE A?SPINDLY
.BYTE 0
W?SPOOL:: .ZWORD "spool"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?SPOOL
.BYTE 0
W?SPOT:: .ZWORD "spot"
.BYTE PS?OBJECT+P1?OBJECT
@@ -13422,6 +13819,10 @@ W?STATUS:: .ZWORD "status"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?SCORE
.BYTE 0
+W?STEAMING:: .ZWORD "steami"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?STEAMING
+ .BYTE 0
W?STEP:: .ZWORD "step"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?WALK
@@ -13434,6 +13835,10 @@ W?STOP:: .ZWORD "stop"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?EXTINGUISH
.BYTE 0
+W?STORAGE:: .ZWORD "storag"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?STORAGE
+ .BYTE 0
W?STORE:: .ZWORD "store"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -13550,10 +13955,6 @@ W?TELL:: .ZWORD "tell"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?TELL
.BYTE 0
-W?TERMINAL:: .ZWORD "termin"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
- .BYTE 0
W?TEXT:: .ZWORD "text"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?TEXT
@@ -13586,6 +13987,10 @@ W?THEN:: .ZWORD "then"
.BYTE PS?BUZZ-WORD
.BYTE B?THEN
.BYTE 0
+W?THERMOS:: .ZWORD "thermo"
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?THERMOS
+ .BYTE 0
W?THICK:: .ZWORD "thick"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?THICK
@@ -13714,6 +14119,10 @@ W?TUBS:: .ZWORD "tubs"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?TUBS
.BYTE 0
+W?TUNE:: .ZWORD "tune"
+ .BYTE PS?VERB+P1?VERB
+ .BYTE ACT?TURN
+ .BYTE 0
W?TURN:: .ZWORD "turn"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?TURN
@@ -13786,6 +14195,10 @@ W?UNTIE:: .ZWORD "untie"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?UNTIE
.BYTE 0
+W?UNTIL:: .ZWORD "until"
+ .BYTE PS?PREPOSITION+P1?OBJECT
+ .BYTE PR?UNTIL
+ .BYTE 0
W?UP:: .ZWORD "up"
.BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT
.BYTE PR?UP
@@ -13802,6 +14215,10 @@ W?USE:: .ZWORD "use"
.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?USE
.BYTE ACT?USE
+W?USELESS:: .ZWORD "useles"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?USELESS
+ .BYTE 0
W?USING:: .ZWORD "using"
.BYTE PS?PREPOSITION+P1?OBJECT
.BYTE PR?WITH
@@ -13874,6 +14291,10 @@ W?WALLS:: .ZWORD "walls"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?WALNUT:: .ZWORD "walnut"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?WALNUT
+ .BYTE 0
W?WARDROBE:: .ZWORD "wardro"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -13962,10 +14383,6 @@ W?WRECK:: .ZWORD "wreck"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?DEMOLI
.BYTE 0
-W?WRINKLED:: .ZWORD "wrinkl"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
- .BYTE A?WRINKLED
- .BYTE 0
W?WRIST:: .ZWORD "wrist"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?WRIST
diff --git a/s6pur.zap b/s6pur.zap
index 2cfed8d..8d88fe3 100644
--- a/s6pur.zap
+++ b/s6pur.zap
@@ -4,8 +4,18 @@
PURTBL::
-PT?1::
-PT?15:: .TABLE
+PT?1:: .TABLE
+ 6
+ W?DOOR
+ 0
+ FAKE-DOOR-F
+ W?SLOT
+ 0
+ FORM-SLOT-F
+ .ENDT
+
+PT?2::
+PT?16:: .TABLE
6
W?FORM
0
@@ -15,11 +25,11 @@ PT?15:: .TABLE
BOXED-FORMS-F
.ENDT
-PT?2:: .TABLE
+PT?3:: .TABLE
12
W?SLOT
0
- SLOT-F
+ FORM-SLOT-F
W?BIN
W?FIRST
BIN-F
@@ -31,17 +41,17 @@ PT?2:: .TABLE
BIN-F
.ENDT
-PT?3:: .TABLE
+PT?4:: .TABLE
6
W?SLOT
0
- SLOT-F
+ FORM-SLOT-F
W?BUTTON
W?RED
RED-BUTTON-F
.ENDT
-PT?4:: .TABLE
+PT?5:: .TABLE
9
W?SCREEN
W?DISPEN
@@ -54,7 +64,7 @@ PT?4:: .TABLE
DISPENSER-HOLE-F
.ENDT
-PT?5:: .TABLE
+PT?6:: .TABLE
6
W?CELL
W?CELLS
@@ -64,51 +74,57 @@ PT?5:: .TABLE
BRIG-LOCK-F
.ENDT
-PT?6::
-PT?10:: .TABLE
+PT?7::
+PT?11:: .TABLE
3
W?SLOT
0
- SLOT-F
+ FORM-SLOT-F
.ENDT
-PT?7:: .TABLE
- 3
+PT?8:: .TABLE
+ 6
W?BUTTON
W?RED
COMM-BUTTON-F
+ W?SCREEN
+ 0
+ SCREEN-F
.ENDT
-PT?8:: .TABLE
+PT?9:: .TABLE
3
W?BUTTON
W?RED
LOG-READER-BUTTON-F
.ENDT
-PT?9:: .TABLE
+PT?10:: .TABLE
3
W?DIAL
0
DIAL-F
.ENDT
-PT?11:: .TABLE
- 3
+PT?12:: .TABLE
+ 6
W?SEAT
0
THEATRE-SEAT-F
+ W?BOOTH
+ W?PROJECTION
+ PROJECTION-BOOTH-F
.ENDT
-PT?12:: .TABLE
+PT?13:: .TABLE
3
W?DOME
W?TRANSPARENT
DOME-OBJECT-F
.ENDT
-PT?13::
-PT?14:: .TABLE
+PT?14::
+PT?15:: .TABLE
6
W?SHIP
W?ALIEN
@@ -118,21 +134,11 @@ PT?14:: .TABLE
ALIEN-SHIP-PSEUDO-F
.ENDT
-PT?16:: .TABLE
- 3
- W?BOX
- W?CONTROL
- CONTROL-BOX-F
- .ENDT
-
PT?17:: .TABLE
- 6
- W?SHOP
- W?REC
- REC-SHOP-OBJECT-F
- W?AREA
- W?REC
- REC-SHOP-OBJECT-F
+ 3
+ W?COMPUTER
+ 0
+ COMPUTER-F
.ENDT
PT?18:: .TABLE
@@ -144,19 +150,26 @@ PT?18:: .TABLE
PT?19:: .TABLE
3
+ W?MIRROR
+ W?GLASS
+ MIRROR-F
+ .ENDT
+
+PT?20:: .TABLE
+ 3
W?POSTER
0
TRAVEL-AGENCY-POSTER-F
.ENDT
-PT?20:: .TABLE
+PT?21:: .TABLE
3
W?HOLE
W?SMALL
DOC-HOLE-F
.ENDT
-PT?21:: .TABLE
+PT?22:: .TABLE
3
W?SLOT
0
diff --git a/s6str.zap b/s6str.zap
index 88c3d98..6e459c0 100644
--- a/s6str.zap
+++ b/s6str.zap
@@ -21,362 +21,388 @@ STRBEG::
.GSTR STR?15,"close"
.GSTR STR?16,"disconnect the timer"
.GSTR STR?17,"disconnect the explosive"
- .GSTR STR?18,"dress"
- .GSTR STR?19,"open"
- .GSTR STR?20,"get onto"
- .GSTR STR?21,"get into"
- .GSTR STR?22,"look"
- .GSTR STR?23,"Kicking"
- .GSTR STR?24,"Knocking on"
- .GSTR STR?25,"sound"
- .GSTR STR?26,"look inside"
- .GSTR STR?27,"look through"
- .GSTR STR?28,"indecis"
- .GSTR STR?29,"Pulling"
- .GSTR STR?30,"move"
- .GSTR STR?31,"Trying to destroy"
- .GSTR STR?32,"negat"
- .GSTR STR?33,"ff"
- .GSTR STR?34,"n"
- .GSTR STR?35,"pick"
- .GSTR STR?36,"put it in the presser"
- .GSTR STR?37,"Pushing"
- .GSTR STR?38,"Playing in this way with"
- .GSTR STR?39,"read"
- .GSTR STR?40,"roll"
- .GSTR STR?41,"search"
- .GSTR STR?42,"Turning"
- .GSTR STR?43,"Shaking"
- .GSTR STR?44,"."
- .GSTR STR?45,"smell"
- .GSTR STR?46,"spray"
- .GSTR STR?47,"move that much"
- .GSTR STR?48,"taste"
- .GSTR STR?49,"Touching"
- .GSTR STR?50,"Keyboard is only active following authorization"
- .GSTR STR?51,"You have already made your selection"
- .GSTR STR?52,"That bin is unoccupied"
- .GSTR STR?53,"Error"
- .GSTR STR?54,"Fuel levels at zero"
- .GSTR STR?55,"Course set. Launch in approximately 30 millichrons"
- .GSTR STR?56,"Safety precautions forbid the acceptance of course settings unless both the pilot and copilot seats are occupied"
- .GSTR STR?57,"You are already at that level"
- .GSTR STR?58,"Select a level between 1 and 9"
- .GSTR STR?59,"The instant you press the button, the elevator begins plunging down the shaft! It's worse than just free-fall; the elevator is actually in a power dive!!! You punch frantically at the keypad..."
- .GSTR STR?60,"You have not deposited a coin"
- .GSTR STR?61,"This dispenser offers only 9 selections"
- .GSTR STR?62,"Sorry, that items is sold out. Please contact your PX Officer regarding re-stocking of dispenser"
- .GSTR STR?63,"walk"
- .GSTR STR?64,"wear"
- .GSTR STR?65,"posit"
- .GSTR STR?66,"remove"
- .GSTR STR?67," is as worthwhile as cleaning a grotch cage."
- .GSTR STR?68," accomplishes nothing."
- .GSTR STR?69," has no desirable effect."
- .GSTR STR?70,"Fat chance."
- .GSTR STR?71,"A valiant attempt."
- .GSTR STR?72,"You can't be serious."
- .GSTR STR?73,"Not bloody likely."
- .GSTR STR?74,"What a concept."
- .GSTR STR?75,"Nice try."
- .GSTR STR?76,"You are behaving like a demented Denebian slime devil."
- .GSTR STR?77,"Dream on."
- .GSTR STR?78,"It's the looney bin for you!"
- .GSTR STR?79,"You have lost your mind."
- .GSTR STR?80,"A waste of time."
- .GSTR STR?81,"A worthless action -- and much too difficult for a poorly-written program like this one to handle."
- .GSTR STR?82,"Useless. Unhelpful."
- .GSTR STR?83,"There's another turn down the drain."
- .GSTR STR?84,"Why bother?"
- .GSTR STR?85,"with"
- .GSTR STR?86,"Done. You might remain alive long enough to type EXAMINE MY STUMP. Oops, I guess not."
- .GSTR STR?87,"Okay."
- .GSTR STR?88,"Wow! A hole where your torso used to be!"
- .GSTR STR?89,"I was going to ask you the same question!"
- .GSTR STR?90,"Floyd loves games! Let's play!"
- .GSTR STR?91,"Safety precautions forbid the activation of the vehicle unless both the pilot and copilot seats are occupied"
- .GSTR STR?92,"This form has not been validated by the station commander"
- .GSTR STR?93,"Authorization approved. Use keypad to enter the bin number of the desired robot"
+ .GSTR STR?18,"crumple"
+ .GSTR STR?19,"dress"
+ .GSTR STR?20,"open"
+ .GSTR STR?21,"get onto"
+ .GSTR STR?22,"get into"
+ .GSTR STR?23,"look"
+ .GSTR STR?24,"Kicking"
+ .GSTR STR?25,"Knocking on"
+ .GSTR STR?26,"You plummet down the shaft..."
+ .GSTR STR?27,"sound"
+ .GSTR STR?28,"look inside"
+ .GSTR STR?29,"look through"
+ .GSTR STR?30,"indecis"
+ .GSTR STR?31,"Pulling"
+ .GSTR STR?32,"move"
+ .GSTR STR?33,"Trying to destroy"
+ .GSTR STR?34,"negat"
+ .GSTR STR?35,"ff"
+ .GSTR STR?36,"n"
+ .GSTR STR?37,"pick"
+ .GSTR STR?38,"put it in the presser"
+ .GSTR STR?39,"Pushing"
+ .GSTR STR?40,"Playing in this way with"
+ .GSTR STR?41,"read"
+ .GSTR STR?42,"roll"
+ .GSTR STR?43,"search"
+ .GSTR STR?44,"Turning"
+ .GSTR STR?45,"Shaking"
+ .GSTR STR?46,"."
+ .GSTR STR?47,"smell"
+ .GSTR STR?48,"spray"
+ .GSTR STR?49,"move that much"
+ .GSTR STR?50,"taste"
+ .GSTR STR?51,"Touching"
+ .GSTR STR?52,"Keyboard is only active following authorization"
+ .GSTR STR?53,"You have already made your selection"
+ .GSTR STR?54,"That bin is unoccupied"
+ .GSTR STR?55,"Error"
+ .GSTR STR?56,"Fuel levels at zero"
+ .GSTR STR?57,"Course set. Launch in approximately 30 millichrons"
+ .GSTR STR?58,"Safety precautions forbid the acceptance of course settings unless both the pilot and copilot seats are occupied"
+ .GSTR STR?59,"Select a level between 1 and 9"
+ .GSTR STR?60,"The instant you press the button, the elevator begins plunging down the shaft! It's worse than just free-fall; the elevator is actually in a power dive!!! You punch frantically at the keypad..."
+ .GSTR STR?61,"You are already at that level"
+ .GSTR STR?62,"You have not deposited a coin"
+ .GSTR STR?63,"This dispenser offers only 9 selections"
+ .GSTR STR?64,"Sorry, that item is sold out. Please contact your PX Officer regarding restocking of dispenser"
+ .GSTR STR?65,"walk"
+ .GSTR STR?66,"wear"
+ .GSTR STR?67,"posit"
+ .GSTR STR?68,"remove"
+ .GSTR STR?69," is as worthwhile as cleaning a grotch cage."
+ .GSTR STR?70," accomplishes nothing."
+ .GSTR STR?71," has no desirable effect."
+ .GSTR STR?72,"Fat chance."
+ .GSTR STR?73,"A valiant attempt."
+ .GSTR STR?74,"You can't be serious."
+ .GSTR STR?75,"Not bloody likely."
+ .GSTR STR?76,"What a concept."
+ .GSTR STR?77,"Nice try."
+ .GSTR STR?78,"You are behaving like a demented Denebian slime devil."
+ .GSTR STR?79,"Dream on."
+ .GSTR STR?80,"It's the looney bin for you!"
+ .GSTR STR?81,"You have lost your mind."
+ .GSTR STR?82,"A waste of time."
+ .GSTR STR?83,"A worthless action -- and much too difficult for a poorly-written program like this one to handle."
+ .GSTR STR?84,"Useless. Unhelpful."
+ .GSTR STR?85,"There's another turn down the drain."
+ .GSTR STR?86,"Why bother?"
+ .GSTR STR?87,"with"
+ .GSTR STR?88,"Done. You might remain alive long enough to type EXAMINE MY STUMP. Oops, I guess not."
+ .GSTR STR?89,"If you insist."
+ .GSTR STR?90,"Wow! A hole where your torso used to be!"
+ .GSTR STR?91,"I was going to ask you the same question!"
+ .GSTR STR?92,"Floyd loves games! Let's play!"
+ .GSTR STR?93,"Safety precautions forbid the activation of the vehicle unless both the pilot and copilot seats are occupied"
.GSTR STR?94,"Spacecraft activated. Type in the course heading"
- .GSTR STR?95,"slot"
- .GSTR STR?96,"The quiet, dusty corridors stir disturbing memories. You're back on Resida, the deserted, plague-stricken world where you met Floyd. A hot flush creeps over you, indicating that the virulent disease that conquered this planet is beginnning its insidious work on you"
- .GSTR STR?97,"You find yourself on Deck Five of the Duffy, walking nonchalantly along, when suddenly you remember that you were supposed to have Handwriting Legibility Evaluation Forms -- all nine parts, for every member of the crew -- on Captain Fussbottom's desk by 7800. It's 7790, and those forms are stored on the other side of the ship. You begin running down the corridor, but the floor is turning into a thick syrup. You can hear the Captain calling your name, louder and louder, as you struggle to move your legs"
- .GSTR STR?98,"You gulp down the last of your Ramosian Fire Nectar and ask the andro-waiter for another pitcher. This pub makes the finest Nectar on all of Ramos Two, and you and your shipmates are having a pretty rowdy time. Through the windows of the pub you can see a mighty, ancient castle, shining in the light of the three Ramosian moons. The Fire Nectar spreads through your blood and you begin to feel drowsy"
- .GSTR STR?99,"You wake up in a huge stadium, watching an important ceremony. It's a Stellar Patrol promotion ceremony on Tremain! Suddenly you hear your name echoing over the PA system -- and down below you see YOURSELF walking up the steps to the stage! The presiding admiral describes your heroic deeds on Resida, mentioning that you were awarded the key to the planet, and then asks the ceremonial question, ""Do you accept promotion to Lieutenant First Class?"" You try to yell ""No!"" from your seat in the stands, but the words catch in your throat"
- .GSTR STR?100,"You find yourself floating in a spacepod outside the docking bays of a large space station. All the doors are closed. You snap on the radio, and discover that Floyd is in charge within the station. ""Open the pod bay doors, Floyd,"" you tell him, but he replies, ""I'm sorry, I can't do that,"" and begins laughing and your air is beginning to run out"
- .GSTR STR?101,"At last, the Duffy is approaching Space Station Delta Upsilon Upsilon Phi for the ship's first rec leave in almost six months. It's even worth the six solid days of paperwork necessary for a standard half-day leave. Stationfall is only millichrons away, but suddenly you realize that you're all alone on the Duffy! Frantic, you dash to the deserted bridge, but it's too late to keep the out-of-control Duffy from ramming the massive space station! The hull of the station falls toward you"
- .GSTR STR?102,"You dream of being buried alive in an ancient Egyptian pyramid, inside the sarcophagus with some long-dead pharaoh. Phew, does he stink! You gasp and gag as the air in the coffin runs low.
+ .GSTR STR?95,"Authorization approved. Type the bin number of the desired robot"
+ .GSTR STR?96,"This form has not been validated by a commanding officer"
+ .GSTR STR?97,"Improper form for this location"
+ .GSTR STR?98,"slot"
+ .GSTR STR?99,"The quiet, dusty corridors stir disturbing memories. You're back on Resida, the deserted, plague-stricken world where you met Floyd. A hot flush creeps over you, indicating that the virulent disease that conquered this planet is beginnning its insidious work on you"
+ .GSTR STR?100,"You are strolling across Deck Four of the Duffy, when suddenly you remember that you were supposed to have Handwriting Legibility Evaluation Forms -- all nine parts, for every member of the crew -- on Captain Fussbottom's desk by 7800. It's 7790, and those forms are stored on the other side of the ship. You try to run, but the floor is covered with glue. You can hear the Captain calling your name, louder and louder, as you struggle to move your legs"
+ .GSTR STR?101,"You gulp down the last of your Ramosian Fire Nectar and ask the andro-waiter for another pitcher. This pub makes the finest Nectar on all of Ramos Two, and you and your shipmates are having a pretty rowdy time. Through the windows of the pub you can see a mighty, ancient castle, shining in the light of the three Ramosian moons. The Fire Nectar spreads through your blood and you begin to feel drowsy"
+ .GSTR STR?102,"You wake up in a huge stadium, watching an important ceremony. It's a Stellar Patrol promotion ceremony on Tremain! Suddenly your own name echoes over the PA system -- and down below you see YOURSELF walking up the steps to the stage! The presiding admiral describes your heroism on Resida, mentioning that you were awarded the key to the planet, and then asks the ceremonial question, ""Do you accept promotion to Lieutenant First Class?"" You try to yell ""No!"" from the stands, but the words are lost in the vastness of the stadium"
+ .GSTR STR?103,"You find yourself in a spacepod outside the docking bays of a large space station. All the doors are closed. You snap on the radio, and discover that Floyd is in charge within the station. ""Open the pod bay doors, Floyd,"" you tell him but he replies, ""I'm sorry, I can't do that,"" and begins laughing and your air is beginning to run out"
+ .GSTR STR?104,"At last, the Duffy is approaching station Delta Upsilon Upsilon Phi -- your first rec leave in almost six months. It's even worth the six solid days of paperwork necessary for a standard half-day leave. Stationfall is millichrons away, but suddenly you realize that you're all alone on the Duffy! Frantic, you dash to the deserted bridge, but it's too late to stop the out-of-control Duffy from ramming the massive space station! The hull of the station rushes toward you"
+ .GSTR STR?105,"You dream of being buried alive in an ancient Egyptian pyramid, inside the sarcophagus with some long-dead pharaoh. Phew, does he stink! You gasp and gag as the air in the coffin runs low.
This dream, incidentally, is not a particularly unusual one among people who go to sleep inside space suits with limited oxygen supplies."
- .GSTR STR?103,"A movement awakens you in the middle of the night! Through unfocused eyes you see a large machine rolling menacingly closer! A bright light leaps from it, straight toward..."
- .GSTR STR?104,"You collapse from extreme thirst and hunger."
- .GSTR STR?105,"A powerful arc of raw energy bridges the gap between two of the monster's welding extensions. Unfortunately, you were pretty much right between the same two extensions at that moment."
- .GSTR STR?106,"It's too dark to see a thing."
- .GSTR STR?107,"You're not holding"
- .GSTR STR?108,"There's nothing "
- .GSTR STR?109,"You can see"
- .GSTR STR?110,"It seems that"
- .GSTR STR?111,"You can't "
- .GSTR STR?112,"You'll have to "
- .GSTR STR?113,"Look around you.
+ .GSTR STR?106,"A movement awakens you in the middle of the night! Through unfocused eyes you see a large machine rolling menacingly closer! A bright light leaps from it, straight toward..."
+ .GSTR STR?107,"You collapse from extreme thirst and hunger."
+ .GSTR STR?108,"A powerful arc of raw energy bridges the gap between two of the monster's welding extensions. Unfortunately, you were pretty much right between the same two extensions at that moment."
+ .GSTR STR?109,"It's too dark to see a thing."
+ .GSTR STR?110,"You're not holding"
+ .GSTR STR?111,"There's nothing "
+ .GSTR STR?112,"You can see"
+ .GSTR STR?113,"It seems that"
+ .GSTR STR?114,"You can't "
+ .GSTR STR?115,"You'll have to "
+ .GSTR STR?116,"Look around you.
"
- .GSTR STR?114,"You can't do that from here.
+ .GSTR STR?117,"You're holding it!
"
- .GSTR STR?115,"You're holding it!
+ .GSTR STR?118,"[There seems to be a noun missing in that sentence.]
"
- .GSTR STR?116,"[There seems to be a noun missing in that sentence.]
+ .GSTR STR?119,"You see only blackness.
"
- .GSTR STR?117,"You see only blackness.
+ .GSTR STR?120,"You already did that. Senility strikes again!
"
- .GSTR STR?118,"You already did that. Senility strikes again!
+ .GSTR STR?121,".
"
- .GSTR STR?119,".
-"
- .GSTR STR?120,"...
+ .GSTR STR?122,"...
"
- .GSTR STR?121,"Nothing happens.
-"
- .GSTR STR?122,"Failed.
+ .GSTR STR?123,"Nothing happens.
"
- .GSTR STR?123,"Okay.
+ .GSTR STR?124,"Failed.
"
- .GSTR STR?124,"Huh?
+ .GSTR STR?125,"Okay.
"
- .GSTR STR?125,"You can't go that way.
+ .GSTR STR?126,"Huh?
"
- .GSTR STR?126,"It already is!
+ .GSTR STR?127,"You can't go that way.
"
- .GSTR STR?127,"""Floyd does not one of those have!""
+ .GSTR STR?128,"It already is!
"
- .GSTR STR?128,"Like most fromitz boards, it is a twisted maze of silicon circuits. It is square, approximately seventeen centimeters on each side.
+ .GSTR STR?129,"""Floyd does not one of those have!""
"
- .GSTR STR?129,"You're neither hungry nor thirsty.
+ .GSTR STR?130,"Like most fromitz boards, it is a twisted maze of silicon circuits. It is square, approximately seventeen centimeters on each side.
"
- .GSTR STR?130,"Floyd is leaning against the wall, his head lolling to the side. Apparently, someone has heartlessly turned him off."
- .GSTR STR?131,"The only part of the complex robot authorization equipment that is visible to you is a slot (for inserting your form) and a keypad (for typing your selection)."
- .GSTR STR?132,"Request for Stellar Patrol Issue Regulation Black Form Binders Request Form Forms"
- .GSTR STR?133,"[Use numerals: for example, TYPE 5 rather than TYPE FIVE.]
+ .GSTR STR?131,"You're neither hungry nor thirsty.
"
- .GSTR STR?134,"The thick side wall of the tank has been blasted open"
- .GSTR STR?135,"Next time, say what number to set it to.
+ .GSTR STR?132,"Floyd is leaning against the wall, his head lolling to the side. Apparently, someone has heartlessly turned him off."
+ .GSTR STR?133,"The only part of the complex robot authorization equipment that is visible to you is a slot (for inserting your form) and a keypad (for typing your selection)."
+ .GSTR STR?134,"Request for Stellar Patrol Issue Regulation Black Form Binders Request Form Forms"
+ .GSTR STR?135,"The thick side wall of the tank has been blasted open"
+ .GSTR STR?136,"Next time, say what number to set it to.
"
- .GSTR STR?136,", hopping mad. ""Why you turn Floyd off?"" he asks accusingly."
- .GSTR STR?137,"Spanning the entire garden is a transparent dome, providing a breathtaking view of the heavens in all their splendor."
- .GSTR STR?138,"The control box contains a keypad for typing the number of the level you want to go to."
+ .GSTR STR?137,", hopping mad. ""Why you turn Floyd off?"" he asks accusingly."
+ .GSTR STR?138,"Spanning the entire garden is a transparent dome, providing a breathtaking view of the heavens in all their splendor."
.GSTR STR?139," strike the machine's power source, inducing an overload implosion in said power source."
.GSTR STR?140,"""The Galaxy's Best Zero-Gee Restaurant"""
.GSTR STR?141,"The eternal flame has been extinguished!"
.GSTR STR?142,"Lieutenant First Class"
.GSTR STR?143,"Through the large, dirty window, you can see Dan's used spaceship lot. The spaceships floating in Dan's lot all have their prices whitewashed on their viewports, along with phrases like ""A steal!"" and ""Just reduced!"""
- .GSTR STR?144,"You are in the heart of the administrative level of the ship, the largest level of the S.P.S. Duffy or any other Stellar Patrol ship for that matter. The corridor continues port and starboard, and a room lies aft of here."
- .GSTR STR?145,"An Ensign appears and informs you that access to this section of Deck Five is restricted to those with a validated Assignment Completion Form QX-17-T. Saluting crisply, she retreats to her unseen guard post."
- .GSTR STR?146,"""STELLAR PATROL
+ .GSTR STR?144,"You are already in that mode.
+"
+ .GSTR STR?145,"That might get you into serious trouble as a violation of the Comprehensive Forms Destruction and Mutilation Act of 11309 GY.
+"
+ .GSTR STR?146,"ou hear the welder move off in another direction.
+"
+ .GSTR STR?147,", of course, no longer attached to the detonator.)"
+ .GSTR STR?148,"The form is swallowed up, followed by a long pause for triple-redundancy processing. "
+ .GSTR STR?149,"The form is rejected. "
+ .GSTR STR?150,"suddenly sublimes into a puff of FREZONE (tm) gas."
+ .GSTR STR?151,"For those unfamiliar with PLANETFALL, "
+ .GSTR STR?152,"
+ You have entered a cluttered space bubble "
+ .GSTR STR?153," in the center... Oops. At second glance, you realize that the "
+ .GSTR STR?154," between the arms of the frozen exercise machine, smoke pouring from its engine vents like steam from the nostrils of an angry bull."
+ .GSTR STR?155,"You detach the detonator from "
+ .GSTR STR?156," The ostrich gives a pathetic squawk of terror "
+ .GSTR STR?157,"ou can just make out a letter ""M.""
+"
+ .GSTR STR?158," and lands on the floor."
+ .GSTR STR?159,", and a ladder leads both upward and downward."
+ .GSTR STR?160,"That's too long to wait.
+"
+ .GSTR STR?161,"You are in the heart of the administrative level of the ship, the largest level of the S.P.S. Duffy or any other Stellar Patrol ship for that matter. The corridor continues starboard and a room lies aft of here. Through the door to port lies the bulk of the Duffy. Next to the door is a slot."
+ .GSTR STR?162,"You must insert a validated Assignment Completion Form in the slot"
+ .GSTR STR?163,"""STELLAR PATROL
Paperwork Task Force
ID Number: 1451-352-716"""
- .GSTR STR?147,"A slightly wrinkled Patrol uniform is lying here."
- .GSTR STR?148,"This is the largest space in the ship, three decks tall and with the floor area of seven Rigellian buzzball fields. The only exit is fore."
- .GSTR STR?149,"The room is filled to the ceiling with row upon row of pallets filled with boxes. Each box has some writing stamped on the side."
- .GSTR STR?150,"The deck five corridor ends here at the entrance to the cargo bay, to starboard. A smaller entrance leads fore."
- .GSTR STR?151,"He's an amusing and friendly little fellow."
- .GSTR STR?152,"That's me!"
- .GSTR STR?153,"Floyd, he"
- .GSTR STR?154,"paces impatiently"
- .GSTR STR?155,"absent-mindedly recites the first six hundred digits of pi"
- .GSTR STR?156,"recalls the time he bruised his knee"
- .GSTR STR?157,"tells you how much it hurts to repair dents"
- .GSTR STR?158,"chants the death scene from ""Carmen"""
- .GSTR STR?159,"cranes his neck to see what you are doing"
- .GSTR STR?160,"rubs his head affectionately against your shoulder"
- .GSTR STR?161,"examines himself for signs of rust"
- .GSTR STR?162,"absent-mindedly oils one of his joints"
- .GSTR STR?163,"wanders restlessly around the room"
- .GSTR STR?164,"notices a mouse scurrying by and tries to hide behind you"
- .GSTR STR?165,"sings an ancient ballad, totally out of key"
- .GSTR STR?166,"frets about the possibility of his batteries failing"
- .GSTR STR?167,"whistles tunelessly"
- .GSTR STR?168,"boasts about the time he helped someone sharpen a pencil"
- .GSTR STR?169,"yawns and looks bored"
- .GSTR STR?170,"complains about a recent assignment in the forms filing department"
- .GSTR STR?171,"produces a crayon from one of his compartments and scrawls his name on the wall"
- .GSTR STR?172,"Floyd tells Plato about a neat shortcut for calculating seventh order differentials"
- .GSTR STR?173,"Plato tells Floyd one of the ancient legends about the early days of the settlement of the galaxy"
- .GSTR STR?174,"Floyd and Plato discuss their favorite battery recharging techniques"
- .GSTR STR?175,"Plato helps polish a hard-to-reach spot on Floyd's back"
- .GSTR STR?176,"""You like Floyd, don't you, Plato?"" asks Floyd. ""Yes,"" replies the taller robot, ""you're the only robot I've ever met who doesn't call me a nerd."" Floyd smiles"
- .GSTR STR?177,"In a very sad voice, Floyd talks of his friend Lazarus, a medical robot on Resida who was tragically disassembled. Plato responds, ""Now, Floyd, don't fill your head with the sad memories of Lazarus' death. Think instead about the joy-filled times when you and your friend were together."" Floyd seems awed by such wisdom"
- .GSTR STR?178,"Floyd gives Plato a friendly hug"
- .GSTR STR?179,"Floyd stubs his toe and begins to whimper. ""There, there,"" says Plato, ""such a reaction will not reduce the level of pain."" He gives Floyd a little tickle, and Floyd begins giggling and forgets the injury"
- .GSTR STR?180,"Bin number two holds a spindly little robot, a specialized model designed for bursting and decollating multi-part forms. A tiny nameplate on her perforating extension reads ""Helen."""
- .GSTR STR?181,"In the first bin is a bulky robot, obviously intended for heavy-lifting. A brass plate on one of his pneumatic arm lifts says ""Rex."""
- .GSTR STR?182," Rex trundles after you. Unfortunately, Rex is not too bright on his best days, and today is not one of them. He forgets to stop when you do; sixteen tons of Rex turn you into a human pancake."
- .GSTR STR?183,"open the hatch"
- .GSTR STR?184,"If you're in spacelane 630-461, keep it down to 26000 kilometers per millichron. There's a stakeout there."
- .GSTR STR?185,"Anyone seen any smokeys in the Nebulon sector?"
- .GSTR STR?186,"I'm looking for a traffic report on spacelane 317-455."
- .GSTR STR?187,"At the conclusion of this recording, your emergency message will be sent. In the meantime, stay calm. Nothing can go wrong <skip> go wrong <skip> go wrong <skip> go wrong.."
- .GSTR STR?188," filling the bay with hot ion gasses. Since you slept through most lectures at boot camp, you may not recall that hot ion gasses are pretty deadly."
- .GSTR STR?189,". Once in space, the truck's air gushes out through the open hatch."
- .GSTR STR?190,", leaving an impressive cloud of ion dust. However, you're in no condition to admire it, since you are now smeared all over the rear wall of the truck."
- .GSTR STR?191,"Fuel level at three-quarters"
- .GSTR STR?192,"Fuel level at one-quarter"
- .GSTR STR?193,"Docking bay one is occupied. Defaulting to bay two"
- .GSTR STR?194,"Arrival at terminus of inputted course. Fuel levels now effectively at zero. Oxygen supply for one person: approximately two chrons"
- .GSTR STR?195," As the oxygen runs low, Floyd becomes quite chipper. Never before has he been in such a rust-inhibiting atmosphere. You, on the other hand, are dead."
- .GSTR STR?196," Ramosian tree-mold custard"
- .GSTR STR?197," apricot yogurt"
- .GSTR STR?198," blueberry ice cream"
- .GSTR STR?199,"This is a fairly large space where much of the maintenance work for the station takes place. Some repair work for visiting ships is also done here. The room is filled with all sorts of repair and fabrication machinery. A door leads south, and there's an opening to the north."
- .GSTR STR?200,"I'm really not at all mechanically inclined. My sincerest apologies."
- .GSTR STR?201,"It's a kind of a thingamabob for putting in a, you know, a whosiwhatsis."
- .GSTR STR?202,"This is one of the storage areas. Exits lie to the east and south."
- .GSTR STR?203,"twenty tiny sockets"
- .GSTR STR?204,"The central corridor continues around to the southeast and southwest, but another corridor joins from the north. There's a door to the east and a doorway to the northeast."
- .GSTR STR?205,"The corridor widens here as it approaches the skin of the space station at the point where a Scientific Sub-Module would connect. Sure enough, the connecting tube of a Sub-Module begins just to the north! An auto-door lies to the west. Opposite it, a doorway leads east."
- .GSTR STR?206,"This is the shop for station personnel, selling everything from postcards to chewing gum at inflated prices. Exits lead west and southwest."
- .GSTR STR?207,"In the corner of the PX is a Stellar Patrol dispensing machine, consisting of a screen (displaying the dispenser's ""exciting"" offerings), a slot (for coin insertion), a keypad (for typing your selection), and a hole (where the dispensed item hopefully -- but rarely -- arrives)."
- .GSTR STR?208,"coin slot"
- .GSTR STR?209," In case you were napping during Demolitions Training, this means that you're now a fine layer of ash all over the walls of the PX."
- .GSTR STR?210,"It's a kind of a thingamabob for connecting a, you know, a whosiwhatsis."
- .GSTR STR?211,"This infirmary has the finest diagnostic equipment that unlimited Stellar Patrol budgets can buy. To the east, an ID reader indicates a security door. You can leave to the west or southeast."
- .GSTR STR?212,"This is a modest prison, with three cells. The only exit is west."
- .GSTR STR?213,"The corridor continues around to the northwest and southwest, and an adjoining one heads east."
- .GSTR STR?214,"This central corridor turns northeast and northwest of here. A second corridor begins here and leads south. There are doorways to the southwest, southeast, and east."
- .GSTR STR?215,"This is the Deep-Space Communication Center, which keeps the station in touch with the Stellar Patrol Command and the rest of the Third Galactic Union. Although regulations state that the Comm Center must me monitored around the clock, ten chrons per day, there's no one on duty.
- Most of the equipment here is too complicated for anyone without Deep-Space Communications Training to use. However, the red button of the wide-band emergency beacon is well-marked. The only exit is north."
- .GSTR STR?216," The shock seems to have been a bit too much for your heart."
- .GSTR STR?217,"This is the room where octuplet copies of important forms are stored. Since it is only about a hundred square meters, this room cannot hold more than a few days worth of storage before being dumped to nanofilm. Mercifully, there is an exit to the northeast."
- .GSTR STR?218,"reader"
- .GSTR STR?219," The log reader explodes!"
- .GSTR STR?220,"These are by far the nicest living quarters on the station, with separate sleeping, changing, and working cubicles, and a private SanFac. The only exit is west."
- .GSTR STR?221,"Sitting on the Commander's desk is an ordinary-looking log tape. There's a notation printed on it."
- .GSTR STR?222,"""Commander's Log -- 11349.12.2 through 11349.12.4"""
- .GSTR STR?223,"A sturdy safe is welded to the deck next to the desk."
- .GSTR STR?224,"The safe has been blown open! The area around the safe is blackened, and a burnt odor hangs in the air."
- .GSTR STR?225,"hole"
- .GSTR STR?226,"This is the Station Commander's conference room. Doors point north and west."
- .GSTR STR?227,"This is secondary weapons storage deck, but the only weapon deck on a station without a Military Sub-Module. Exit: south."
- .GSTR STR?228,"This is a wide but not very tall docking bay. The station entrance lies to the east."
- .GSTR STR?229,"This cramped dormitory, composed of approximately twenty private cubicles, curves around the northern half of this level, with exits to the southeast and southwest."
- .GSTR STR?230,"You enter one of the cubicles but find nothing of interest."
- .GSTR STR?231,"This warren of tiny cubicles fills the southern half of this level, curving toward exits in the northeast and northwest corners."
- .GSTR STR?232,"This is a crowded but otherwise typical sanitary facility, with rows of showers, toilet stalls, and sinks. There are exits both north and south."
- .GSTR STR?233,"A multiple-function exercise machine sits imposingly on one side of the gym. There is a sign above it."
- .GSTR STR?234,"The exercise machine hums encouraging platitudes as it exercises you to death."
- .GSTR STR?235,"In the corner, next to the dryer, is a large empty spot where the washer should be."
- .GSTR STR?236,"lurches forward and slams shut on your arm. Before you pass out from the pain, you hear a rumbling sound from the presser, but you can't decide whether it sounds more like a chuckle or a burp."
- .GSTR STR?237,"This sixty-seat auditorium is used for lectures, certain large briefings, an occasional live entertainment, and a rare live broadcast over deep-space channels. A projection booth dominates the rear of the room. The only entrance is on the north side of the theatre."
- .GSTR STR?238,"Aaarghhh! The soup is poisoned! It's burning up your insides!!"
- .GSTR STR?239,"This is the primary storage room of the station, with large stockpiles of important items. For example, basic organic materials are needed to supplement the food supply due to the tiny inefficiencies of the recycling process. This is nearly the top level of the Command Module, and the ceiling curves in sharply over the supply room, which curves around to doors at the northwestern and southwestern ends."
- .GSTR STR?240,"detonator"
- .GSTR STR?241,"This is a medium-sized conference room with doors to the south and west."
- .GSTR STR?242,"This is a fairly large conference room with north and south exits."
- .GSTR STR?243,"This station's library has some printed material, such as recently transmitted magazines, but primarily it is a location for reading nanofilm spools, via the spool reader, and accessing the main computer's data banks, via the small computer terminal. There's a door to the north and an exit to the west."
- .GSTR STR?244,"Magazines are not to be removed from the library"
- .GSTR STR?245,"""Collater Repair Manual"""
- .GSTR STR?246,"""Food Processing Unit Repair Manual"""
- .GSTR STR?247,"You stroll down one of the pebbled paths. It circles the garden, passing more exotic plants, and returns to the area near the elevator."
- .GSTR STR?248,"""Emergency Elevator Override Controls
- (See Station Commander
- for access key)"""
- .GSTR STR?249,"open the grating"
- .GSTR STR?250,"These cubicles are for use by any visitors or station personnel beyond the normal complement. The entire barracks seem to be unused as well as deserted. The exit lies to the south, and the barracks curve around to the east."
- .GSTR STR?251,"This is the rather ordinary sanitary facility for the barracks to the north."
- .GSTR STR?252,"This is the station's largest docking bay. A huge door to the east leads into the station.
+ .GSTR STR?164,"This is the largest space in the ship, three decks tall and with the floor area of seven Rigellian buzzball fields. The only exit is fore."
+ .GSTR STR?165,"The room is filled to the ceiling with row upon row of pallets filled with boxes. Each box has some writing stamped on the side."
+ .GSTR STR?166,"The deck five corridor ends here at the entrance to the cargo bay, to starboard. A smaller entrance leads fore."
+ .GSTR STR?167,"He's an amusing and friendly little fellow."
+ .GSTR STR?168,"That's me!"
+ .GSTR STR?169,"Floyd, he"
+ .GSTR STR?170,"rubs his head affectionately against your shoulder"
+ .GSTR STR?171,"notices a mouse scurrying by and tries to hide behind you"
+ .GSTR STR?172,"reminisces about the excitement of your adventure on Resida"
+ .GSTR STR?173,"hums the theme song from a popular Saturday morning hyperwave cartoon"
+ .GSTR STR?174,"plays a quick game of paddleball, almost breaking his record of four hits"
+ .GSTR STR?175,"paces impatiently"
+ .GSTR STR?176,"absent-mindedly recites the first six hundred digits of pi"
+ .GSTR STR?177,"recalls the time he bruised his knee"
+ .GSTR STR?178,"tells you how much it hurts to repair dents"
+ .GSTR STR?179,"cranes his neck to see what you are doing"
+ .GSTR STR?180,"examines himself for signs of rust"
+ .GSTR STR?181,"absent-mindedly oils one of his joints"
+ .GSTR STR?182,"wanders restlessly around the room"
+ .GSTR STR?183,"sneaks up clumsily behind you and shouts ""Boo!"" in your ear"
+ .GSTR STR?184,"frets about the possibility of his batteries failing"
+ .GSTR STR?185,"whistles tunelessly"
+ .GSTR STR?186,"boasts about the time he helped someone find a lost paper clip"
+ .GSTR STR?187,"yawns and looks bored"
+ .GSTR STR?188,"complains about a recent assignment in the forms filing department"
+ .GSTR STR?189,"produces a crayon from one of his compartments and scrawls his name on the wall"
+ .GSTR STR?190,"stomps on your foot, for no apparent reason"
+ .GSTR STR?191,"accidentally bumps into you, and reacts by cursing your ancestors"
+ .GSTR STR?192,"produces a loud burp and fails to apologize"
+ .GSTR STR?193,"mumbles about a mysterious future in which humans will have to take orders from robots"
+ .GSTR STR?194,"tells an off-color joke about the bizarre mating habits of flesh and blood creatures"
+ .GSTR STR?195,"Floyd tells Plato about a neat shortcut for calculating seventh order differentials"
+ .GSTR STR?196,"Plato tells Floyd one of the ancient legends about the early days of the settlement of the galaxy"
+ .GSTR STR?197,"Floyd confides to Plato that his life's dream is to get locked up overnight in a toy factory"
+ .GSTR STR?198,"Floyd and Plato discuss their favorite battery recharging techniques"
+ .GSTR STR?199,"Plato helps polish a hard-to-reach spot on Floyd's back"
+ .GSTR STR?200,"""You like Floyd, don't you, Plato?"" asks Floyd. ""Yes,"" replies the taller robot, ""you're the only robot I've ever met who doesn't call me a nerd."" Floyd smiles"
+ .GSTR STR?201,"In a very sad voice, Floyd talks of his friend Lazarus, a medical robot on Resida who was tragically disassembled. Plato responds, ""Now, Floyd, don't fill your head with the sad memories of Lazarus' death. Think instead about the joy-filled times when you and your friend were together."" Floyd seems awed by such wisdom"
+ .GSTR STR?202,"Floyd gives Plato a friendly hug"
+ .GSTR STR?203,"Floyd stubs his toe and begins to whimper. ""There, there,"" says Plato, ""such a reaction will not reduce the level of pain."" He gives Floyd a little tickle, and Floyd begins giggling and forgets the injury"
+ .GSTR STR?204,"Bin number two holds a spindly little robot, a specialized model designed for bursting and decollating multi-part forms. A tiny nameplate on her perforating extension reads ""Helen."""
+ .GSTR STR?205,"In the first bin is a bulky robot, obviously intended for heavy lifting. A brass plate on one of his pneumatic arm lifts says ""Rex."""
+ .GSTR STR?206," Rex trundles after you. Unfortunately, Rex is not too bright on his best days, and today is not one of them. He forgets to stop when you do; sixteen tons of Rex turn you into a human pancake."
+ .GSTR STR?207,"open the hatch"
+ .GSTR STR?208,"If you're in spacelane 630-461, keep it down to 26000 kilometers per millichron. There's a stakeout there."
+ .GSTR STR?209,"Anyone seen any smokeys in the Nebulon sector?"
+ .GSTR STR?210,"I'm looking for a traffic report on spacelane 317-455."
+ .GSTR STR?211,"At the conclusion of this recording, your emergency message will be sent. In the meantime, stay calm. Nothing can go wrong <skip> go wrong <skip> go wrong <skip> go wrong.."
+ .GSTR STR?212," filling the bay with hot ion gasses. Since you slept through most lectures at boot camp, you may not recall that hot ion gasses are pretty deadly."
+ .GSTR STR?213,". Once in space, the truck's air gushes out through the open hatch."
+ .GSTR STR?214,", leaving an impressive cloud of ion dust. However, you're in no condition to admire it, since you are now smeared all over the rear wall of the truck."
+ .GSTR STR?215,"Fuel level at three-quarters"
+ .GSTR STR?216,"Fuel level at one-quarter"
+ .GSTR STR?217,"Docking bay one is occupied. Defaulting to bay two"
+ .GSTR STR?218,"Arrival at terminus of inputted course. Fuel levels now effectively at zero. Oxygen supply for one person: approximately two chrons"
+ .GSTR STR?219," As the oxygen runs low, Floyd becomes quite chipper. Never before has he been in such a rust-inhibiting atmosphere. You, on the other hand, are dead."
+ .GSTR STR?220," blueberry walnut soup"
+ .GSTR STR?221," Ramosian tree-mold custard"
+ .GSTR STR?222," apricot yogurt"
+ .GSTR STR?223,"This is a fairly large space where much of the maintenance work for the station takes place. Some repair work for visiting ships is also done here. The room is filled with all sorts of repair and fabrication machinery. A door leads south, and there's an opening to the north."
+ .GSTR STR?224,"I'm really not at all mechanically inclined. My sincerest apologies."
+ .GSTR STR?225,"It's a kind of a thingamabob for putting in a, you know, a whosiwhatsis."
+ .GSTR STR?226,"This is one of the storage areas. Exits lie to the east and south."
+ .GSTR STR?227,"twenty tiny sockets"
+ .GSTR STR?228,"The central corridor continues around to the southeast and southwest, but another corridor joins from the north. There's a door to the east and a doorway to the northeast."
+ .GSTR STR?229,"The corridor widens here as it approaches the skin of the space station at the point where a Scientific Sub-Module would connect. Sure enough, the connecting tube of a Sub-Module begins just to the north! An auto-door lies to the west. Opposite it, a doorway leads east."
+ .GSTR STR?230,"This is the shop for station personnel, selling everything from postcards to chewing gum at inflated prices. Exits lead west and southwest."
+ .GSTR STR?231,"In the corner of the PX is a Stellar Patrol dispensing machine, consisting of a screen (displaying the dispenser's ""exciting"" offerings), a slot (for coin insertion), a keypad (for typing your selection), and a hole (where the dispensed item hopefully -- but rarely -- arrives)."
+ .GSTR STR?232,"coin slot"
+ .GSTR STR?233," In case you were napping during Demolitions Training, this means that you're now a fine layer of ash all over the walls of the PX."
+ .GSTR STR?234,"It's a kind of a thingamabob for connecting a, you know, a whosiwhatsis."
+ .GSTR STR?235,"Surrounding the beds of this infirmary is the finest diagnostic equipment that unlimited Stellar Patrol budgets can buy. To the east, an ID reader indicates a security door. You can leave to the west or southeast."
+ .GSTR STR?236,"This is a modest prison, with three cells. The only exit is west."
+ .GSTR STR?237,"lock"
+ .GSTR STR?238,"The corridor continues around to the northwest and southwest, and an adjoining one heads east."
+ .GSTR STR?239,"This central corridor turns northeast and northwest of here. A second corridor begins here and leads south. There are doorways to the southwest, southeast, and east."
+ .GSTR STR?240," The shock seems to have been a bit too much for your heart."
+ .GSTR STR?241,"This is the room where octuplet copies of important forms are stored. Since it is only about a hundred square meters, this room cannot hold more than a few days worth of storage before being dumped to nanofilm. Mercifully, there is an exit to the northeast."
+ .GSTR STR?242,"reader"
+ .GSTR STR?243," The log reader explodes!"
+ .GSTR STR?244,"These are by far the nicest living quarters on the station, with separate sleeping, changing, and working cubicles, and a private SanFac. The only exit is west."
+ .GSTR STR?245,"Sitting on the Commander's desk is an ordinary-looking log tape. There's a notation printed on it."
+ .GSTR STR?246,"""Commander's Log -- 11349.12.2 through 11349.12.4"""
+ .GSTR STR?247,"A sturdy safe is welded to the deck next to the desk."
+ .GSTR STR?248,"The safe has been blown open! The area around the safe is blackened, and a burnt odor hangs in the air."
+ .GSTR STR?249,"hole"
+ .GSTR STR?250,"This is the Station Commander's conference room. Doors point north and west."
+ .GSTR STR?251,"This is a secondary weapons storage deck, but the only weapon deck on a station with no Military Sub-Module. Exit: south."
+ .GSTR STR?252,"This is a wide but not very tall docking bay. The station entrance lies to the east."
+ .GSTR STR?253,"""Spacetruck Refueling Instructions"
+ .GSTR STR?254,"This cramped dormitory, composed of approximately twenty private cubicles, curves around the northern half of this level, with exits to the southeast and southwest."
+ .GSTR STR?255,"You enter one of the cubicles but find nothing of interest."
+ .GSTR STR?256,"This warren of tiny cubicles fills the southern half of this level, curving toward exits in the northeast and northwest corners."
+ .GSTR STR?257,"This is a crowded but otherwise typical sanitary facility, with rows of showers, toilet stalls, and sinks. There are exits both north and south."
+ .GSTR STR?258,"A multiple-function exercise machine sits imposingly on one side of the gym. There is a sign above it."
+ .GSTR STR?259," hums encouraging platitudes as it exercises you to death."
+ .GSTR STR?260,"In the corner, next to the dryer, is a large empty spot where the washer should be."
+ .GSTR STR?261,"lurches forward and slams shut on your arm. Before you pass out from the pain, you hear a rumbling sound from the presser, but you can't decide whether it sounds more like a chuckle or a burp."
+ .GSTR STR?262,"""Chapel Maintenance Procedures"
+ .GSTR STR?263,"This sixty-seat auditorium is used for lectures, certain large briefings, an occasional live entertainment, and a rare live broadcast over deep-space channels. A projection booth dominates the rear of the room. The theatre's only exit is to the north."
+ .GSTR STR?264,"Aaarghhh! The coffee is poisoned! It's eating away at your insides!!"
+ .GSTR STR?265,"This is the primary storage room of the station, with large stockpiles of important items. For example, basic organic materials are needed to supplement the food supply due to the tiny inefficiencies of the recycling process. This is nearly the top level of the Command Module, and the ceiling curves in sharply over the supply room, which curves around to doors at the northwestern and southwestern ends."
+ .GSTR STR?266,"detonator"
+ .GSTR STR?267,"This is a medium-sized conference room with doors to the south and west."
+ .GSTR STR?268,"This is a fairly large conference room with north and south exits."
+ .GSTR STR?269,"This station's library has some printed material, such as recently transmitted magazines, but primarily it is a location for reading nanofilm spools, using the spool reader, and accessing the main computer's data banks via a computer terminal. Strangely, the computer terminal has been removed from the room. There's a door to the north and an exit to the west."
+ .GSTR STR?270,"Magazines are not to be removed from the library"
+ .GSTR STR?271,"You stroll down one of the pebbled paths. It circles the garden, passing more exotic plants, and returns to the area near the elevator."
+ .GSTR STR?272,"""Shrubbery Maintenance Supplies"""
+ .GSTR STR?273,"open the grating"
+ .GSTR STR?274,"These cubicles are for use by any visitors or station personnel beyond the normal complement. The entire barracks seem to be unused as well as deserted. The exit lies to the south, and the barracks curve around to the east."
+ .GSTR STR?275,"This is the rather ordinary sanitary facility for the barracks to the north."
+ .GSTR STR?276,"This is the station's largest docking bay. A huge door to the east leads into the station.
Resting in the docking bay is a small ship of obviously alien origin. An open hatch seems to beckon you inward."
- .GSTR STR?253,"Must be a connect-the-dots! And a real easy one, too! None of those dumb numbers to confuse you! Where's my crayon?"
- .GSTR STR?254,"Hmmm. Some kind of alien writing, I presume. If I recall, the Mayor is an expert on that subject."
- .GSTR STR?255,"Lying under the dots is a skeleton, the brittle remains of a member of some unfamiliar alien race."
- .GSTR STR?256,"This is the station's smallest docking bay. You can enter the station to the east."
- .GSTR STR?257,"The corridor, which widens off to the west, ends here. There are doorways north and east of you, and doors to the south and southwest. The door to the north must be a security door, because there's an ID reader next to it."
- .GSTR STR?258,"This is a room where new robots are constructed, old robots are repaired, and unused robots are stored. There's a door to the east."
- .GSTR STR?259,"There's a little robot here who is in the final, training phase of its construction. It is ""sleeping"" on a table, connected to wires which are ""feeding"" it information. The young-looking robot has the name ""Oliver"" engraved on its chestplate."
- .GSTR STR?260,"If we be here when Oliver wakes up, Floyd would like to teach Oliver to play paddle-ball. Paddle-ball helped Floyd forget how lonely and scared he was until he found friends...like you."
- .GSTR STR?261,"Ah, a new robot. Poor fellow; new robots are so mercilessly mistreated by the older robots. Such is our lot."
- .GSTR STR?262,"This is the place where a station's exports are prepared before transfer to the docking bays and subsequent shipment throughout the regional sector. The only exit is west."
- .GSTR STR?263,"This is a fairly comfortable two-person living quarters, significantly roomier than the barracks where most of the ship's personnel live. There's a door to the north, and an opening leads southeast."
- .GSTR STR?264,"This is a fairly comfortable two-person living quarters, significantly roomier than the barracks where most of the ship's personnel live. A door leads north and a doorway south."
- .GSTR STR?265,"This is a fairly comfortable two-person living quarters, significantly roomier than the barracks where most of the ship's personnel live. A doorway lies to the southwest, and there's an auto-door to the north."
- .GSTR STR?266,"A moderately luxurious SanFac, with a pair of bathtubs in addition to the regular fixtures. Exits lead north, northeast, and northwest."
- .GSTR STR?267,"Partway down, you discover discover that the ladder passage to Level Eight is sealed off -- apparently from below."
- .GSTR STR?268,"Outdated forms and expired files are reduced to pulp by this machinery. In addition, raw pulp is constantly being ferried into the station from nearby forest worlds. The output from this plant feeds the station's printing plant, which lies to the southeast."
- .GSTR STR?269,"Someone has presumably been attempting to repair some of the machinery in this room, because they left a drill lying around."
- .GSTR STR?270,"drill"
- .GSTR STR?271,"remove the bit that's in the drill"
- .GSTR STR?272,"Oh, no! The elevator isn't at this floor! It's a long plunge..."
- .GSTR STR?273,"Magnetically-stored data has been damaged; see the Security Officer to have data restored"
- .GSTR STR?274,"This shiny cylindrical corridor is the connector between the Command Module, to the south, and the Scientific Sub-Module, to the north."
- .GSTR STR?275,"This laboratory, which fills most of the middle level of the Sub-Module, is for the study of applications of the various space-related research that takes place on the other levels. Gangways lead up and down, and a door leads north. A connecting tube opens to the south."
- .GSTR STR?276,"This is a small office associated with the lab to the south."
- .GSTR STR?277,"This is the notebook of a certain Professor Schmidt, who was studying a strange pyramid discovered aboard a derelict alien ship and brought here.
+ .GSTR STR?277,"Must be a connect-the-dots! And a real easy one, too! None of those dumb numbers to confuse you! Where's my crayon?"
+ .GSTR STR?278,"Hmmm. Some kind of alien writing, I presume. If I recall, the Mayor is an expert on that subject."
+ .GSTR STR?279,"Lying under the dots is a skeleton, the brittle remains of a member of some unfamiliar alien race."
+ .GSTR STR?280,"This is the station's smallest docking bay. You can enter the station to the east."
+ .GSTR STR?281,"The corridor, which widens off to the west, ends here. There are doorways north and east of you, and doors to the south and southwest. The door to the north must be a security door, because there's an ID reader next to it."
+ .GSTR STR?282,"This is a room where new robots are constructed, old robots are repaired, and unused robots are stored. There's a door to the east."
+ .GSTR STR?283,"opening of the chamber"
+ .GSTR STR?284,"There's a young-looking robot lying here, apparently having completed the final ""training"" phase of its construction. The wires for feeding it information have been removed, but it has not yet ""woken up."" A dim memory from your old robotics text drifts through your mind: ""The incubation period between the training and 'birth' of a robot is two to twenty days, depending on the complexity of the model."" This particular model has the name ""Oliver"" engraved on its chestplate."
+ .GSTR STR?285,"If we be here when Oliver wakes up, Floyd would like to teach Oliver to play paddleball. Paddleball helped Floyd forget how lonely and scared he was until he found friends...like you."
+ .GSTR STR?286,"Ah, a new robot. Poor fellow; new robots are so mercilessly mistreated by the older robots. Such is our lot."
+ .GSTR STR?287,"In an event staggering in its improbability, a huge meteor crashes through the hull of the space station as you take aim, and turns you into cosmic dust. Can't say you didn't deserve it, you baby-robot-killer you."
+ .GSTR STR?288,"This is the place where a station's exports are prepared before transfer to the docking bays and subsequent shipment throughout the regional sector. Hanging above a large vacant section of the room is an eye-catching sign. The only exit is west."
+ .GSTR STR?289,"This is a fairly comfortable two-person living quarters, significantly roomier than the barracks where most of the ship's personnel live. There's a door to the north, and an opening leads southeast."
+ .GSTR STR?290,"This is a fairly comfortable two-person living quarters, significantly roomier than the barracks where most of the ship's personnel live. A door leads north and a doorway south."
+ .GSTR STR?291,"This is a fairly comfortable two-person living quarters, significantly roomier than the barracks where most of the ship's personnel live. A doorway lies to the southwest, and there's an auto-door to the north."
+ .GSTR STR?292,"A moderately luxurious SanFac, with a pair of bathtubs in addition to the regular fixtures. Exits lead north, northeast, and northwest."
+ .GSTR STR?293,"Partway down, you discover that the ladder passage to Level Eight is sealed off -- apparently from below."
+ .GSTR STR?294,"""Collater Repair Manual"""
+ .GSTR STR?295,"Outdated forms and expired files are reduced to pulp by this machinery. In addition, raw pulp is constantly being ferried into the station from nearby forest worlds. The output from this plant feeds the station's printing plant, which lies to the southeast."
+ .GSTR STR?296,"Someone has presumably been attempting to repair some of the machinery in this room, because they left a drill lying around."
+ .GSTR STR?297,"drill"
+ .GSTR STR?298,"remove the bit that's in the drill"
+ .GSTR STR?299,"Oh, no! The elevator isn't at this floor! It's a long plunge..."
+ .GSTR STR?300,"Magnetically-stored data has been damaged; see the Security Officer to have data restored"
+ .GSTR STR?301,"This shiny cylindrical corridor is the connector between the Command Module, to the south, and the Scientific Sub-Module, to the north."
+ .GSTR STR?302,"This laboratory, which fills most of the middle level of the Sub-Module, is for the study of applications of the various space-related research that takes place on the other levels. Gangways lead up and down, and a door leads north. A connecting tube opens to the south."
+ .GSTR STR?303,"This is a small office associated with the lab to the south."
+ .GSTR STR?304,"This is the notebook of a certain Professor Schmidt, who was studying a strange pyramid discovered aboard a derelict alien ship and brought here.
Schmidt traced back the path of the alien ship; the path points out of the galaxy without nearing any star system. Further, extending the path leads straight to one of our smaller neighboring galaxies. Schmidt concludes that the ship and the pyramid are probably well over one billion years old!
Next, Schmidt studied the wall markings in the alien ship. A series of identical dots, they defied every computerized model of linguistic decipherment! Then, in an inspiration, Schmidt studied the dots for nonvisual properties. His diary vaguely refers to a breakthrough, saying, ""I guess my pal, the mayor, will get to show off his linguistic training.""
Finally, Schmidt began concentrating his studies on the pyramid itself. He was able to discover very little, blaming this primarily on the unexplained failures of several crucial pieces of lab machinery."
- .GSTR STR?278,"This laboratory conducts research into various space-related physical sciences. Gangways lead up and down, a there's a door to the north."
- .GSTR STR?279,"Various biological sciences, as they related to the environment of space, are studied in this laboratory. There is a gangway leading up, another leading down, and a door leading north."
- .GSTR STR?280,"Lying on one of the desks is a scribbled note."
- .GSTR STR?281,"""Schmidt -- Why didn't I see it until now! Just think of this station as a cell and the pyramid as a mechanized bacterioph"" The note ends at that point; there seem to be some reddish-brown stains on it."
- .GSTR STR?282,"This cramped living area has cubicles for the dozen or so scientists and engineers working in this Sub-Module. The only exit is a gangway leading down."
- .GSTR STR?283,"I don't have a very specific function in the station's robotic organizational scheme, but I do keep the library organized."
- .GSTR STR?284,"Floyd's best friend! Oh, except you, of course!"
- .GSTR STR?285,"Some early poems by Ignatius Tomato. He's my current favorite."
- .GSTR STR?286,"burst into tears and dashes out of the room. A beam leaps from the gun..."
- .GSTR STR?287," the station's reactor turns into a good old-fashioned H-bomb."
- .GSTR STR?288,"You are at the top of an air shaft. There is no gravity here. Handholds lead downward, and a partially open air grate leads out of the shaft."
- .GSTR STR?289,"You are in a large, vertical air duct. Handholds lead up and down."
- .GSTR STR?290,"You have reached the bottom of the air vent. Ducts too small for you to enter lead off laterally. Handholds lead upward, and the entire floor of the duct is another large grating."
- .GSTR STR?291,"The sides ducts are too small to enter!"
- .GSTR STR?292,"This tiny control station allows access to the massive memory banks of the station's computer. Ever since the formation of the Third Galactic Union ended the great interstellar dark age, every Stellar Patrol spaceship, every Patrol space station, has been equipped with a computer bulging with the entire accumulated knowledge of mankind. Never again will humanity be permitted to slip back into the ignorance and savagery of the dark age.
+ .GSTR STR?305,"This laboratory conducts research into various space-related physical sciences. Gangways lead up and down, a there's a door to the north."
+ .GSTR STR?306,"Various biological sciences, as they related to the environment of space, are studied in this laboratory. There is a gangway leading up, another leading down, and a door leading north."
+ .GSTR STR?307,"Lying on one of the desks is a scribbled note."
+ .GSTR STR?308,"""Schmidt -- Why didn't I see it until now! Just think of this station as a cell and the pyramid as a mechanized bacterioph"" The note ends at that point; there seem to be some reddish-brown stains on it."
+ .GSTR STR?309,"This cramped living area has cubicles for the dozen or so scientists and engineers working in this Sub-Module. The only exit is a gangway leading down."
+ .GSTR STR?310,"I don't have a very specific function in the station's robotic organizational scheme, but I do keep the library organized."
+ .GSTR STR?311,"Floyd's best friend! Oh, except you, of course!"
+ .GSTR STR?312,"Some early poems by Ignatius Tomato. He's my current favorite."
+ .GSTR STR?313,"burst into tears and dashes out of the room. A beam leaps from the gun..."
+ .GSTR STR?314," the station's reactor turns into a good old-fashioned H-bomb."
+ .GSTR STR?315,"You are at the top of an air shaft. Handholds lead downward, and a partially open air grate leads out of the shaft."
+ .GSTR STR?316,"You are in a large, vertical air duct. Handholds lead up and down."
+ .GSTR STR?317,"You have reached the bottom of the air vent. Ducts too small for you to enter lead off laterally. Handholds lead upward, and the entire floor of the duct is another large grating."
+ .GSTR STR?318,"The sides ducts are too small to enter!"
+ .GSTR STR?319,"This tiny control station allows access to the massive memory banks of the station's computer. Ever since the formation of the Third Galactic Union ended the great interstellar dark age, every Stellar Patrol spaceship, every Patrol space station, has been equipped with a computer bulging with the entire accumulated knowledge of mankind. Never again will humanity be permitted to slip back into the ignorance and savagery of the dark age.
A ladder leads up to Level Eight, and there's a call button next to the elevator shaft to the north."
- .GSTR STR?293,"The exercise machine reaches you, and performs various repetitions all over your body, proving that exercise isn't always good for you."
- .GSTR STR?294,"You are standing on the bottom of the elevator shaft. The elevator is not in sight. The only place to go is back to the computer room to the south."
- .GSTR STR?295,"There's no way to climb the shaft."
- .GSTR STR?296,"Floyd fires his stun ray nonchalantly in your direction, laughing, as though taunting you. You feel your leg go numb"
- .GSTR STR?297,"Smoke is trickling from the tails of the tiny rockets, as though the duplicate pyramids were preparing for activation and launch"
- .GSTR STR?298,"A blinking light on the reactor goes from yellow to red"
- .GSTR STR?299,"the pyramid, Floyd"
- .GSTR STR?300,"This is an east-west tube, widening as it gets farther from the Command Module."
- .GSTR STR?301,"This is a wide, cheaply constructed space tube, narrowing to the west. There are openings off this ""street"" in virtually every direction, including one leading downward."
- .GSTR STR?302,"Well, there are openings in ALMOST every direction."
- .GSTR STR?303,"This is a tiny living bubble beneath Broadway. The inhabitant, who is nowhere in sight, seems to be in the profession of reading the future for superstitious spacemen."
- .GSTR STR?304,"You have entered a ramshackle, deserted house of worship for one of the many nondescript space-based religions. The decor was obviously intended, but fails, to make the church look larger and less shoddy than it really is. The only exit is south."
- .GSTR STR?305,"This moderately large store sells all kinds of games and other recreational materials. There is also an in-house rec area, featuring a group of simulation booths. The ""street"" lies to the southwest."
- .GSTR STR?306,"groof hunting on Septurion Seven"
- .GSTR STR?307,"a little-known incident during the signing of the Treaty of Gishen IV"
- .GSTR STR?308,"a torrid romance on the tropical planet of San Cupidor"
- .GSTR STR?309,"searching for treasure in a magical underground kingdom"
- .GSTR STR?310,"bullfighting, skydiving, and dental hygiene"
- .GSTR STR?311,"A fine example of trans-molecular platinum foil. The most perfectly reflective material know to man, I am told, and not just on the visual wavelengths! There was a recent rumor that the Rec Shop was to be redecorated using such foil."
- .GSTR STR?312,"Floyd loves anything reflective! Give Floyd a mirror and he'll be happy for days!"
- .GSTR STR?313,"The huge galactic mining conglomerates often open field offices in these space villages, and this is one of those. Miners will haul some promising hunk of space rock into the vicinity, and then come here to sell the rights to it. You can leave to the west."
- .GSTR STR?314,"Some miner has left a headlamp here."
- .GSTR STR?315,"You have entered a surprisingly old-fashioned looking tonsorial parlor. A space village seems to be the last place in the civilized galaxy where someone can go to have their hair or fur trimmed by an actual human being. The barber isn't here, though. Doors lead northwest and west."
- .GSTR STR?316,"This is a small convenience store, the main source of food and living supplies for this village, as well as a supplement supply for personnel from the space station proper. The shelves are pretty bare, and there is no one in sight. Exits lead north, east, southeast and south."
- .GSTR STR?317,"A small, translucent plastic bag is sitting on one of the shelves."
- .GSTR STR?318,", delectable, moist boysenberry-flavored taffy"
- .GSTR STR?319,"This shop, with exits to the northeast and southeast, sells a variety of animals. Many a lonely spacer has discovered the joys a pet can bring, and this shop features animals of both terrestrial and alien origin. A large sign advertises this month's special."
- .GSTR STR?320,"You can see the faint outline of a panel in the ceiling."
- .GSTR STR?321,"This sprawling old cargo ship, its engines long ago cannibalized for spare parts, has been converted into a store for supplies and curios. There's an eye-catching sign on the wall. Passageways lead in many directions, and there's an opening in the floor."
- .GSTR STR?322,"""FREZONE (tm) Liquid Gorzium Explosive
+ .GSTR STR?320," reaches you, and performs various repetitions all over your body, proving that exercise isn't always good for you."
+ .GSTR STR?321,"slips into gear and zooms forward, goring you on its fork."
+ .GSTR STR?322,"There is gravity here at the bottom of the elevator shaft. The elevator's not in sight; the only exit is back to the computer room to the south."
+ .GSTR STR?323,"There's no way to climb the shaft."
+ .GSTR STR?324,"Floyd fires his stun ray nonchalantly in your direction, laughing, as though taunting you. You feel part of your leg go numb"
+ .GSTR STR?325,"Smoke is trickling from the tails of the tiny rockets, as though the duplicate pyramids were preparing for activation and launch"
+ .GSTR STR?326,"One of the blinking lights on the reactor goes from yellow to red"
+ .GSTR STR?327,"the pyramid, Floyd"
+ .GSTR STR?328,"This is an east-west tube, widening as it gets farther from the Command Module."
+ .GSTR STR?329,"This is a wide, cheaply constructed space tube, narrowing to the west. There are openings off this ""street"" in virtually every direction, including one leading downward."
+ .GSTR STR?330,"Well, there are openings in ALMOST every direction."
+ .GSTR STR?331,"This is a tiny living bubble beneath Broadway. The inhabitant, who is nowhere in sight, seems to be in the profession of reading the future for superstitious spacemen."
+ .GSTR STR?332,"The Stellar Patrol has opened a recruitment office off Broadway, thus giving tacit approval to this technically nonregulation space village. Posters showing a rose-colored view of Patrol life are plastered all over the walls. A door leads south."
+ .GSTR STR?333,"This moderately large store sells all kinds of games and other recreational materials. There is also an in-house rec area, featuring a group of simulation booths. The ""street"" lies to the southwest."
+ .GSTR STR?334,"groof hunting on Septurion Seven"
+ .GSTR STR?335,"a little-known incident during the signing of the Treaty of Gishen IV"
+ .GSTR STR?336,"a torrid romance on the tropical planet of San Cupidor"
+ .GSTR STR?337,"searching for treasure in a magical underground kingdom"
+ .GSTR STR?338,"bullfighting, skydiving, and dental hygiene"
+ .GSTR STR?339,"The huge galactic mining conglomerates often open field offices in these space villages, and this is one of those. Miners will haul some promising hunk of space rock into the vicinity, and then come here to sell the rights to it. You can leave to the west."
+ .GSTR STR?340,"Some miner has left a headlamp here."
+ .GSTR STR?341,"A piece of reflective foil is hanging on the wall where the mirror once was."
+ .GSTR STR?342,"Trans-molecular platinum foil! I am told that it is the most perfectly reflective material known to man, and not just on the visual wavelengths!"
+ .GSTR STR?343,"Floyd loves anything reflective! Give Floyd a mirror and he'll be happy for days!"
+ .GSTR STR?344,"This is a small convenience store, the main source of food and living supplies for this village, as well as a supplement supply for personnel from the space station proper. The shelves are pretty bare, and there is no one in sight. Exits lead north, east, southeast and south."
+ .GSTR STR?345,"A small, translucent plastic bag is sitting on one of the shelves."
+ .GSTR STR?346,", delectable, moist boysenberry-flavored taffy"
+ .GSTR STR?347,"This shop, with exits to the northeast and southeast, sells a variety of animals. Many a lonely spacer has discovered the joys a pet can bring, and this shop features animals of both terrestrial and alien origin. A large sign advertises this month's special."
+ .GSTR STR?348,"You can see the faint outline of a panel in the ceiling."
+ .GSTR STR?349,"This sprawling old cargo ship, its engines long ago cannibalized for spare parts, has been converted into a store for supplies and curios. There's an eye-catching sign on the wall. Passageways lead in many directions, and there's an opening in the floor."
+ .GSTR STR?350,"""FREZONE (tm) Liquid Gorzium Explosive
Instructions for use:
1. Insert explosive in hole of appropriate diameter.
2. Attach detonator to explosive and timer.
3. Set timer.
4. Vamoose.
NOTE: Do not expose explosive to temperatures above 150 degrees Kelvin for period of more than 100 millichrons."""
- .GSTR STR?323,"Carbon dioxide! Don't use it myself. The only form I've ever seen it in is dry ice."
- .GSTR STR?324,"open the bottle"
- .GSTR STR?325,"This living bubble has been set up as an artist's loft. Most of the space is taken up by a large scrap sculpture floating in the center of the bubble. It is, of course, pretty impossible to tell how close the sculpture is to completion. The way out is to the east."
- .GSTR STR?326,"The most recognizable item in the sculpture is a twenty-prong fromitz board."
- .GSTR STR?327,"From your experience with tawdry, space village bars, they are crowded every millichron of the day and night. So it's quite unusual that this saloon is totally deserted. Despite the current solitude, you can almost hear the tinny music, the loud voices, the fistfights. Openings lead west and northwest, and to the east is a partially disguised exit."
- .GSTR STR?328,"This is a tiny room, smelling strongly of various synthesized opium variants. There's a sign on the wall a door to the south."
- .GSTR STR?329,"You've always wondered what a back-room zero-gee space village bordello was like. Well, now you know. Next to the nearest bed is a locker. The exit leads down."
- .GSTR STR?330,"Your lungs rupture, not to mention all sorts of even nastier stuff that you're lucky if you can't imagine."
- .GSTR STR?331,"This filthy north-south tube is quite a change from the gleaming, well-scrubbed metal of the space station."
- .GSTR STR?332,"This large spacetube is the main thoroughfare of a space village which has sprung up here on the outskirts of the space station, which lies to the north. Rather than the bustling thoroughfare you might expect, however, there isn't a soul in sight. Openings lead up, northeast, south and west. To the southeast, the ""street"" narrows and ramps downward."
- .GSTR STR?333," fire nectar - thick and warming"
- .GSTR STR?334,"This permanently-docked one-man ship serves as the office for Hizzoner the Mayor, the unofficial leader of the village. Main Street is below."
- .GSTR STR?335,"You spot a copy of a book entitled ""Deciphering Alien Speech."""
- .GSTR STR?336,"""(bitter/salty/bitter) softness/weakness
+ .GSTR STR?351,"This living bubble has been set up as an artist's loft. Most of the space is taken up by a large scrap sculpture floating in the center of the bubble. It is, of course, pretty impossible to tell how close the sculpture is to completion. The way out is to the east."
+ .GSTR STR?352,"The most recognizable item in the sculpture is a J-series hyperdiode."
+ .GSTR STR?353,"From your experience with tawdry, space village bars, they are crowded every millichron of the day and night. So it's quite unusual that this saloon is totally deserted. Despite the current solitude, you can almost hear the tinny music, the loud voices, the fistfights. Openings lead west and northwest, and to the east is a partially disguised exit."
+ .GSTR STR?354,"This is a tiny room, smelling strongly of various synthesized opium variants. There's a sign on the wall and a door to the south."
+ .GSTR STR?355,"Your lungs rupture, not to mention all sorts of even nastier stuff that you're lucky if you can't imagine."
+ .GSTR STR?356,"This filthy north-south tube is quite a change from the gleaming, well-scrubbed metal of the space station."
+ .GSTR STR?357,"This large spacetube is the main thoroughfare of a space village which has sprung up here on the outskirts of the space station, which lies to the north. Rather than the bustling thoroughfare you might expect, however, there isn't a soul in sight. Openings lead up, northeast, south and west. To the southeast, the ""street"" narrows and ramps downward."
+ .GSTR STR?358," fire nectar - thick and warming"
+ .GSTR STR?359,"This permanently-docked one-man ship serves as the office for Hizzoner the Mayor, the unofficial leader of the village. Main Street is below."
+ .GSTR STR?360,"You spot a copy of a book entitled ""Deciphering Alien Speech."""
+ .GSTR STR?361,"""(bitter/salty/bitter) softness/weakness
(sweet/very-sour) Hunji (noun form)
(bland/salty/sour) Zeenak (adj form)
(bland/bitter) air/atmosphere
@@ -394,40 +420,38 @@ NOTE: Do not expose explosive to temperatures above 150 degrees Kelvin for perio
(bitter/sour/very-sour) weapon (poss form)
(very-sweet) (emphasis mark?)
(very-salty/salty/sour) bad/evil/deadly radiation (plur form)"""
- .GSTR STR?337,"The Stellar Patrol has opened a recruitment office off Main Street, thus giving tacit approval to this technically nonregulation space village. Posters showing a rose-colored view of Patrol life are plastered all over the walls. A door leads east."
- .GSTR STR?338,"This is a branch office of the First Galactic Bank of Nebulon. There are doors to the north, west and southwest."
- .GSTR STR?339,"This small space bubble, with openings to the east and south, is decorated with posters of exotic locales, but it's hard to imagine that anyone in this rundown spacetown would be able to afford an interstellar pleasure jaunt."
- .GSTR STR?340,"Since there's no one here to milk you for some worthless life insurance or spaceship insurance, you might as well use the exits to the north or northeast."
- .GSTR STR?341,"There's no doubt that ""alley"" is the best word to describe this winding, garbage-strewn connector. Dark passages branch off in almost every direction, and the alley slopes upward to the northwest."
- .GSTR STR?342,"This is the home of some kook, a proselytizer of the fringe religion which believes that humankind has angered God by venturing out into space, and the universe will end sometime next week. Next week never seems to come, but there are enough kooks in the galaxy to keep the belief going. You can exit to the south."
- .GSTR STR?343,", taking you along for the ride.
+ .GSTR STR?362,"This is a branch office of the First Galactic Bank of Nebulon. There are doors to the north and northwest."
+ .GSTR STR?363,"This small space bubble, with openings to the east and southeast, is decorated with posters of exotic locales, but it's hard to imagine that anyone in this rundown spacetown would be able to afford an interstellar pleasure jaunt."
+ .GSTR STR?364,"There's no doubt that ""alley"" is the best word to describe this winding, garbage-strewn connector. Dark passages branch off in almost every direction, and the alley slopes upward to the northwest."
+ .GSTR STR?365,"This is the home of some kook, a proselytizer of the fringe religion which believes that humankind has angered God by venturing out into space, and the universe will end sometime next week. Next week never seems to come, but there are enough kooks in the galaxy to keep the belief going. You can exit to the south."
+ .GSTR STR?366,"
Lost in Space
You spend several chrons tumbling into the starry depths, the station dwindling to a dot of light behind you. Eventually, your air runs out."
- .GSTR STR?344,"As you swivel the headlamp around, you discover a tiny cylinder with an even tinier label."
- .GSTR STR?345,"""FREZONE (tm) Liquid Gorzium Explosive. For use only by licensed demolitionist. Instruction sheet available from vendor; read thoroughly before use!"""
- .GSTR STR?346,"The three balls hanging by the (northeastern) entrance to this space hut indicate that a villager down on his or her luck could come here to hock some valuable possession."
- .GSTR STR?347,"Some destitute spacer was so hard up that he or she actually pawned a spray can. It's sitting here in the shop, and has some lettering on it."
- .GSTR STR?348,"Some seedy loan shark has moored his dilapidated vessel here, on the south side of the alley."
- .GSTR STR?349,"""ONE GALAKMID
+ .GSTR STR?367,"As you swivel the headlamp around, you discover a tiny cylinder with an even tinier label."
+ .GSTR STR?368,"""FREZONE (tm) Liquid Gorzium Explosive. For use only by licensed demolitionist. Instruction sheet available from vendor; read thoroughly before use!"""
+ .GSTR STR?369,"The three balls hanging by the (northeastern) entrance to this space hut indicate that a villager down on his or her luck could come here to hock some valuable possession."
+ .GSTR STR?370,"Some destitute spacer was so hard up that he or she actually pawned a spray can. It's sitting here in the shop, and has some lettering on it."
+ .GSTR STR?371,"This is a dilapidated vessel that some seedy loan shark has moored on the south side of the alley."
+ .GSTR STR?372,"A fairly sturdy strong box is fastened to the floor. Or maybe the ceiling. One can never be sure without gravity."
+ .GSTR STR?373,"""ONE GALAKMID
Third Galactic Union"""
- .GSTR STR?350,"This physician's bubble is owned by the village quack, known to his friends as ""Doc"" Schuster, but known to the vast majority of the villagers as Schuster the Shyster. There's a small hole in the wall, probably the opening for a disposal chute. The Doc is out, and in this case, out is northwest."
- .GSTR STR?351,"There is a large pile of intoxicated ostrich here."
- .GSTR STR?352,"[This is pretty gross, but you asked for it!] As the drill penetrates the unconscious ostrich, geysers of blood spout out, inundating you and the drill, causing a short circuit and electrocuting you. You collapse into a fried heap among a spreading puddle of blood."
- .GSTR STR?353,"""Doc -- that ostrich nip you've been waiting for finally came in. Drop by and pick it up. If I'm not in, you'll find it in my ceiling panel."""
- .GSTR STR?354,"In the corner of the office is a rather plain-looking machine with a keypad. It looks a bit jerry-rigged."
- .GSTR STR?355,"opening"
- .GSTR STR?356,"A scrambled card cannot be altered"
- .GSTR STR?357,"Ensign, Sixth Class or lower"
- .GSTR STR?358,"Ensign, Fifth through Second Class"
- .GSTR STR?359,"Ensign First Class"
- .GSTR STR?360,"Midshipman"
- .GSTR STR?361,"Lieutenant Second Class"
- .GSTR STR?362,"Lieutentant Commander"
- .GSTR STR?363,"Commander or Captain"
- .GSTR STR?364,"Admiral"
- .GSTR STR?365,"Fleet Admiral"
- .GSTR STR?366,"This outdated drydock is now a messy junk yard. A huge pile of floating junk fills the center of the bubble. Passages lead upwards and west."
- .GSTR STR?367,"Of all the items floating in the scrap heap, the pair of magnetic spaceboots looks to be in the best shape."
+ .GSTR STR?374,"This physician's bubble is owned by the village quack, known to his friends as ""Doc"" Schuster, but known to the vast majority of the villagers as Schuster the Shyster. There's a small hole in the wall, probably the opening for a disposal chute. The Doc is out, and in this case, out is northwest."
+ .GSTR STR?375,"There is a large pile of intoxicated ostrich here."
+ .GSTR STR?376,"""Doc -- that ostrich nip you've been waiting for finally came in. Drop by and pick it up. If I'm not in, you'll find it in my ceiling panel."""
+ .GSTR STR?377,"In the corner of the office is a rather plain-looking machine with a keypad. It looks a bit jerry-built."
+ .GSTR STR?378,"opening"
+ .GSTR STR?379,"A scrambled card cannot be altered"
+ .GSTR STR?380,"Ensign, Sixth Class or lower"
+ .GSTR STR?381,"Ensign, Fifth through Second Class"
+ .GSTR STR?382,"Ensign First Class"
+ .GSTR STR?383,"Midshipman"
+ .GSTR STR?384,"Lieutenant Second Class"
+ .GSTR STR?385,"Lieutenant Commander"
+ .GSTR STR?386,"Commander or Captain"
+ .GSTR STR?387,"Admiral"
+ .GSTR STR?388,"Fleet Admiral"
+ .GSTR STR?389,"This outdated drydock is now a messy junk yard. A huge pile of floating junk fills the center of the bubble. Passages lead upwards and west."
+ .GSTR STR?390,"Of all the items floating in the scrap heap, the pair of magnetic spaceboots looks to be in the best shape."
.ENDI
diff --git a/ship.zap b/ship.zap
index 576d4bc..0d62453 100644
--- a/ship.zap
+++ b/ship.zap
@@ -1,97 +1,141 @@
+ .FUNCT FAKE-DOOR-ENTER-F
+ CALL THIS-IS-IT,PSEUDO-OBJECT
+ PRINTI "The door is closed."
+ CRLF
+ RFALSE
+
+
+ .FUNCT FAKE-DOOR-F
+ EQUAL? PRSA,V?OPEN \?CCL3
+ CALL RECORDING,STR?162
+ RSTACK
+?CCL3: EQUAL? PRSA,V?ENTER \FALSE
+ CALL DO-WALK,P?WEST
+ RSTACK
+
+
.FUNCT FORM-F
- EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5
+ EQUAL? PRSA,V?EXAMINE,V?READ \?CCL3
PRINTI "[This form can be found in your STATIONFALL package.]"
- EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM \?CND6
+ EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM \?CND4
PRINTI " You notice that it has "
- ZERO? ASSIGNMENT-FORM-VALIDATED \?CND9
+ ZERO? ASSIGNMENT-FORM-VALIDATED \?CND6
PRINTI "not "
-?CND9: PRINTI "been validated."
-?CND6: CRLF
+?CND6: PRINTR "been validated."
+?CND4: CRLF
RTRUE
-?ELS5: EQUAL? PRSA,V?VALIDATE \FALSE
- EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM \?ELS18
- ZERO? ASSIGNMENT-FORM-VALIDATED /?ELS23
+?CCL3: EQUAL? PRSA,V?VALIDATE \?CCL9
+ ZERO? ASSIGNMENT-FORM-VALIDATED /?CCL12
PRINT SENILITY-STRIKES
RTRUE
-?ELS23: SET 'ASSIGNMENT-FORM-VALIDATED,TRUE-VALUE
+?CCL12: SET 'ASSIGNMENT-FORM-VALIDATED,TRUE-VALUE
PRINTR "Done."
-?ELS18: PRINTR "That form has no validation box!"
+?CCL9: EQUAL? PRSA,V?MUNG,V?CRUMPLE \FALSE
+ PRINT VIOLATION-OF-ACT
+ RTRUE
.FUNCT CHRONOMETER-F
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
- GRTR? DAY,2 \?ELS10
- PRINTR "You glance at your chronometer, and realize with annoyance that it has stopped. You can't recall doing anything that might have broken it."
-?ELS10: PRINTI "It is a standard wrist chronometer with a digital display. "
+ GRTR? DAY,2 \?CCL6
+ PRINTI "You glance at your "
+ PRINTD CHRONOMETER
+ PRINTR ", and realize with annoyance that it has stopped. You can't recall doing anything that might have broken it."
+?CCL6: PRINTI "It is a standard wrist "
+ PRINTD CHRONOMETER
+ PRINTI " with a digital display. "
CALL V-TIME,TRUE-VALUE
PRINTR " The back is engraved with the message ""Good luck in the Patrol! Love, Mom and Dad."""
.FUNCT PATROL-UNIFORM-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- PRINTI "It is a standard-issue one-pocket Stellar Patrol uniform, a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is super-comfy"
- ZERO? SUIT-PRESSED /?CND6
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ PRINTI "It is a standard-issue one-pocket Stellar "
+ PRINTD PATROL-UNIFORM
+ PRINTI ", a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is super-comfy"
+ ZERO? SUIT-PRESSED /?CND4
PRINTI ". The uniform has been recently pressed"
-?CND6: PRINT PERIOD-CR
+?CND4: PRINT PERIOD-CR
RTRUE
-?ELS5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
+?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
PRINTI "There's no way to open or close the pocket of the "
PRINTD PRSO
PRINT PERIOD-CR
RTRUE
+ .FUNCT I-BLATHER
+ EQUAL? HERE,SPACETRUCK \?CCL3
+ CALL DEQUEUE,I-BLATHER
+ RSTACK
+?CCL3: RANDOM 100
+ LESS? BLATHER-PROB,STACK /?CCL5
+ CALL DEQUEUE,I-BLATHER
+ PRINTR " Ensign Twelfth Class Blather walks by, carrying various toilet scrubbing supplies. He spots you, glances away, whimpers, and slouches out of sight (Footnote 2)."
+?CCL5: ADD BLATHER-PROB,10 >BLATHER-PROB
+ RETURN BLATHER-PROB
+
+
.FUNCT BOXED-FORMS-F
- EQUAL? PRSA,V?EXAMINE /?THN6
+ EQUAL? PRSA,V?EXAMINE /?CTR2
CALL TOUCHING?,PSEUDO-OBJECT
- ZERO? STACK /FALSE
-?THN6: PRINTR "The forms are sealed inside the boxes."
+ ZERO? STACK /?CCL3
+?CTR2: PRINTR "The forms are sealed inside the boxes."
+?CCL3: EQUAL? PRSA,V?MUNG,V?CRUMPLE \FALSE
+ PRINT VIOLATION-OF-ACT
+ RTRUE
.FUNCT PALLETS-F,CNT
- EQUAL? PRSA,V?READ \?ELS5
- EQUAL? HERE,FORM-STORAGE-ROOM \?ELS10
+ EQUAL? PRSA,V?READ \?CCL3
+ EQUAL? HERE,FORM-STORAGE-ROOM \?CCL6
PRINTR "There are numerous boxes; some of the nearer ones read: ""Form Pallet Disbursal Form,"" ""Loss of Form Pallet Label Report Form,"" and ""Loss of Form Pallet Label Report Form Release Form."""
-?ELS10: PRINTC 34
+?CCL6: PRINTC 34
PRINT FORM-NAME
PRINTR "."""
-?ELS5: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?OPEN \?ELS14
+?CCL3: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?OPEN \?CCL8
PRINTI "Forms"
SET 'CNT,0
-?PRG15: EQUAL? CNT,50 /?REP16
+?PRG9: EQUAL? CNT,50 /?REP10
PRINTI " and forms"
INC 'CNT
- JUMP ?PRG15
-?REP16: PRINTR ". Horrified, you reseal the box."
-?ELS14: EQUAL? PRSA,V?TAKE \?ELS21
+ JUMP ?PRG9
+?REP10: PRINTR ". Horrified, you reseal the box."
+?CCL8: EQUAL? PRSA,V?CLOSE \?CCL14
+ PRINTR "They already are."
+?CCL14: EQUAL? PRSA,V?TAKE \?CCL16
PRINTR "You'll need a forklift."
-?ELS21: EQUAL? PRSA,V?COUNT \FALSE
- EQUAL? HERE,FORM-STORAGE-ROOM \?ELS28
+?CCL16: EQUAL? PRSA,V?MUNG,V?STAND-ON,V?CLIMB-ON /?CTR17
+ EQUAL? PRSA,V?SHOOT \?CCL18
+?CTR17: PRINT VIOLATION-OF-ACT
+ RTRUE
+?CCL18: EQUAL? PRSA,V?COUNT \FALSE
+ EQUAL? HERE,FORM-STORAGE-ROOM \?CCL25
PRINTR "Countless."
-?ELS28: CALL NOUN-USED,W?PALLET,PALLETS
- ZERO? STACK /?ELS30
+?CCL25: CALL NOUN-USED,W?PALLET,PALLETS
+ ZERO? STACK /?CCL27
PRINTR "24."
-?ELS30: CALL NOUN-USED,W?BOXES,PALLETS
+?CCL27: CALL NOUN-USED,W?BOXES,PALLETS
ZERO? STACK /FALSE
SET 'C-ELAPSED,30
PRINTR "1920."
.FUNCT ROBOT-POOL-F,RARG
- EQUAL? RARG,M-ENTER \?ELS5
+ EQUAL? RARG,M-ENTER \?CCL3
ADD C-ELAPSED,2
CALL QUEUE,I-FLOYD,STACK
RSTACK
-?ELS5: EQUAL? RARG,M-LOOK \?ELS7
+?CCL3: EQUAL? RARG,M-LOOK \?CCL5
PRINTI "This is where a "
PRINT LFC
PRINTI " would come to check out a robot for use on an important assignment. Also for a trivial assignment like yours. "
PRINT ROBOT-POOL-EQUIPMENT-DESC
PRINTI " You can exit aft."
RTRUE
-?ELS7: EQUAL? RARG,M-EXIT \FALSE
+?CCL5: EQUAL? RARG,M-EXIT \FALSE
EQUAL? ROBOT-PICKED,FLOYD /FALSE
CALL DEQUEUE,I-FLOYD
RSTACK
@@ -99,309 +143,360 @@
.FUNCT BIN-F
GET P-ADJW,0
- EQUAL? STACK,FALSE-VALUE \?ELS9
- EQUAL? PRSO,PSEUDO-OBJECT /?THN6
-?ELS9: GET P-ADJW,1
- EQUAL? STACK,FALSE-VALUE \?ELS5
- EQUAL? PRSI,PSEUDO-OBJECT \?ELS5
-?THN6: PRINTR "Next time, specify which bin you meant."
-?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS13
+ EQUAL? STACK,FALSE-VALUE \?PRD5
+ EQUAL? PRSO,PSEUDO-OBJECT /?CTR2
+?PRD5: GET P-ADJW,1
+ EQUAL? STACK,FALSE-VALUE \?CCL3
+ EQUAL? PRSI,PSEUDO-OBJECT \?CCL3
+?CTR2: PRINTR "Next time, specify which bin you meant."
+?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL11
CALL ADJ-USED,A?FIRST,PSEUDO-OBJECT
- ZERO? STACK /?ELS18
- EQUAL? ROBOT-PICKED,REX /?ELS18
+ ZERO? STACK /?CCL14
+ EQUAL? ROBOT-PICKED,REX /?CCL14
GETP REX,P?FDESC
PRINT STACK
CRLF
RTRUE
-?ELS18: CALL ADJ-USED,A?SECOND,PSEUDO-OBJECT
- ZERO? STACK /?ELS22
- EQUAL? ROBOT-PICKED,HELEN /?ELS22
+?CCL14: CALL ADJ-USED,A?SECOND,PSEUDO-OBJECT
+ ZERO? STACK /?CCL18
+ EQUAL? ROBOT-PICKED,HELEN /?CCL18
GETP HELEN,P?FDESC
PRINT STACK
CRLF
RTRUE
-?ELS22: CALL ADJ-USED,A?THIRD,PSEUDO-OBJECT
- ZERO? STACK /?ELS26
- EQUAL? ROBOT-PICKED,FLOYD /?ELS26
+?CCL18: CALL ADJ-USED,A?THIRD,PSEUDO-OBJECT
+ ZERO? STACK /?CCL22
+ EQUAL? ROBOT-PICKED,FLOYD /?CCL22
CALL PERFORM,V?EXAMINE,FLOYD
RTRUE
-?ELS26: PRINTR "The bin is empty."
-?ELS13: EQUAL? PRSA,V?PUT,V?WALK-TO,V?ENTER \FALSE
+?CCL22: PRINTR "The bin is empty."
+?CCL11: EQUAL? PRSA,V?PUT,V?WALK-TO,V?ENTER \FALSE
PRINTR "The bin is only for robots."
.FUNCT FLOYD-F,OARG=0,X,N,TXT,?TMP1
- ZERO? OARG /?ELS5
+ ZERO? OARG /?CCL3
EQUAL? OARG,M-OBJDESC? /TRUE
PRINTI " "
CALL DESCRIBE-FLOYD
RSTACK
-?ELS5: EQUAL? FLOYD,WINNER \?ELS11
+?CCL3: EQUAL? FLOYD,WINNER \?CCL7
SET 'FLOYD-SPOKE,TRUE-VALUE
- ZERO? ROBOT-PICKED /?ELS16
- EQUAL? ROBOT-PICKED,FLOYD /?ELS16
- PRINTI "Floyd gives you a hurt look and turns away."
- CRLF
+ ZERO? ROBOT-PICKED /?CCL10
+ EQUAL? ROBOT-PICKED,FLOYD /?CCL10
+ SET 'WINNER,PROTAGONIST
+ CALL PERFORM,V?COMFORT,FLOYD
CALL STOP
RSTACK
-?ELS16: ZERO? FLOYD-ANGUISHED /?ELS20
+?CCL10: ZERO? FLOYD-ANGUISHED /?CCL14
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?TOUCH,FLOYD
CALL STOP
RSTACK
-?ELS20: EQUAL? PRSA,V?TELL-ABOUT \?ELS23
- EQUAL? PRSO,ME \?ELS23
- GRTR? ROBOT-EVILNESS,11 \?ELS30
+?CCL14: EQUAL? PRSA,V?TELL-ABOUT \?CCL16
+ EQUAL? PRSO,ME \?CCL16
+ GRTR? ROBOT-EVILNESS,12 \?CCL21
PRINTR """Oh, quit jabbering already."""
-?ELS30: GETP PRSI,P?FLOYD-ASK-ABOUT >TXT
- ZERO? TXT /?ELS32
+?CCL21: GETP PRSI,P?FLOYD-ASK-ABOUT >TXT
+ ZERO? TXT /?CCL23
PRINTC 34
PRINT TXT
PRINTR """"
-?ELS32: PRINTI "Floyd shrugs. ""Beats me."
- IN? PLATO,HERE \?CND35
+?CCL23: PRINTI "Floyd shrugs. ""Beats me."
+ IN? PLATO,HERE \?CND24
PRINTI " Ask Plato. He knows everything!"
-?CND35: PRINTR """"
-?ELS23: GRTR? PLATO-ATTACK-COUNTER,0 \?ELS39
- IN? PLATO,HERE \?ELS39
- EQUAL? PRSA,V?HELP /?THN47
- EQUAL? PRSA,V?SAVE-SOMETHING \?ELS50
- EQUAL? PRSO,ME /?THN47
-?ELS50: EQUAL? PRSA,V?KILL,V?OFF \?ELS52
- EQUAL? PRSO,PLATO /?THN47
-?ELS52: EQUAL? PRSA,V?TAKE \?ELS46
- EQUAL? PRSO,STUN-GUN \?ELS46
-?THN47: SET 'FLOYD-TOLD,TRUE-VALUE
+?CND24: PRINTR """"
+?CCL16: GRTR? PLATO-ATTACK-COUNTER,0 \?CCL27
+ IN? PLATO,HERE \?CCL27
+ EQUAL? PRSA,V?HELP /?CTR31
+ EQUAL? PRSA,V?SAVE-SOMETHING \?PRD35
+ EQUAL? PRSO,ME /?CTR31
+?PRD35: EQUAL? PRSA,V?KILL,V?OFF \?PRD38
+ EQUAL? PRSO,PLATO /?CTR31
+?PRD38: EQUAL? PRSA,V?TAKE \?CCL32
+ EQUAL? PRSO,STUN-GUN \?CCL32
+?CTR31: SET 'FLOYD-TOLD,TRUE-VALUE
PRINTR "Floyd waves his hands helplessly. ""Yes... I mean no... I mean oh no oh help me please. Floyd does not know right thing to do..."""
-?ELS46: PRINTI "Floyd just looks at you with confusion and panic in his eyes."
+?CCL32: PRINTI "Floyd just looks at you with confusion and panic in his eyes."
CRLF
CALL STOP
RSTACK
-?ELS39: EQUAL? HERE,FACTORY \?ELS58
- ZERO? FLOYD-SHOT /?ELS63
+?CCL27: EQUAL? HERE,FACTORY \?CCL44
+ ZERO? FLOYD-SHOT /?CCL47
PRINTR "Floyd is hurt and doesn't respond."
-?ELS63: PRINTR """Shut up!"" orders Floyd."
-?ELS58: EQUAL? PRSA,V?LAUNCH \?ELS68
- EQUAL? PRSO,SPACETRUCK-OBJECT \?ELS68
+?CCL47: PRINTR """Shut up!"" orders Floyd."
+?CCL44: EQUAL? PRSA,V?LAUNCH \?CCL49
+ EQUAL? PRSO,SPACETRUCK-OBJECT \?CCL49
SET 'AWAITING-REPLY,2
CALL V-YES
SET 'AWAITING-REPLY,FALSE-VALUE
RTRUE
-?ELS68: EQUAL? PRSA,V?TAKE \?ELS72
- EQUAL? PRSO,LEASH \?ELS72
- FSET? HERE,WEIGHTLESSBIT /?ELS72
+?CCL49: EQUAL? PRSA,V?TAKE \?CCL53
+ EQUAL? PRSO,LEASH \?CCL53
+ FSET? HERE,WEIGHTLESSBIT /?CCL53
CALL FLOYD-TAKE-LEASH
RSTACK
-?ELS72: EQUAL? PRSA,V?TAKE \?ELS76
- EQUAL? PRSO,STAR \?ELS76
- FSET? STAR,TRYTAKEBIT \?ELS76
+?CCL53: EQUAL? PRSA,V?TAKE \?CCL58
+ EQUAL? PRSO,STAR \?CCL58
+ FSET? STAR,TRYTAKEBIT \?CCL58
PRINTR """Huh? Floyd shorter even than you!"""
-?ELS76: EQUAL? PRSA,V?YES \?ELS80
- ZERO? AWAITING-REPLY /?ELS80
+?CCL58: EQUAL? PRSA,V?YES \?CCL63
+ ZERO? AWAITING-REPLY /?CCL63
CALL V-YES
RSTACK
-?ELS80: EQUAL? PRSA,V?NO \?ELS84
- ZERO? AWAITING-REPLY /?ELS84
+?CCL63: EQUAL? PRSA,V?NO \?CCL67
+ ZERO? AWAITING-REPLY /?CCL67
CALL V-NO
RSTACK
-?ELS84: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?ELS88
- EQUAL? PRSO,COPILOT-SEAT,PILOT-SEAT \?ELS88
- IN? FLOYD,PRSO \?ELS95
+?CCL67: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL71
+ EQUAL? PRSO,COPILOT-SEAT,PILOT-SEAT \?CCL71
+ IN? FLOYD,PRSO \?CCL76
PRINTR """Where is Floyd now, huh?"""
-?ELS95: PRINTR "Floyd looks suspicious. ""You first."""
-?ELS88: EQUAL? PRSA,V?TAKE \?ELS99
- IN? PRSO,HEATING-CHAMBER \?ELS99
+?CCL76: PRINTR "Floyd looks suspicious. ""You first."""
+?CCL71: EQUAL? PRSA,V?TAKE \?CCL78
+ IN? PRSO,HEATING-CHAMBER \?CCL78
MOVE PRSO,HERE
PRINTI """Okay!"" Floyd reaches into the "
PRINTD HEATING-CHAMBER
PRINTI " and grabs"
CALL TPRINT-PRSO
PRINTR ". ""Yikes, it's hot!"" He drops it to the deck, where it quickly cools."
-?ELS99: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?ELS103
- EQUAL? PRSO,STRONG-BOX,SAFE \?ELS103
+?CCL78: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?CCL82
+ EQUAL? PRSO,STRONG-BOX,SAFE \?CCL82
PRINTR """Floyd's a robot, not a locksmith!"""
-?ELS103: EQUAL? PRSA,V?UNLOCK,V?OPEN \?ELS107
- EQUAL? PRSO,SECURITY-DOOR \?ELS107
+?CCL82: EQUAL? PRSA,V?UNLOCK,V?OPEN \?CCL86
+ EQUAL? PRSO,SECURITY-DOOR \?CCL86
PRINTR """Put your ID in the ID reader, dumbo!"""
-?ELS107: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?ELS111
- EQUAL? PRSO,WELDER \?ELS111
+?CCL86: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL90
+ EQUAL? PRSO,WELDER \?CCL90
PRINTR """Sure! Floyd not scared!"" He walks bravely up to the welder, which spits some electric fire in his direction. From his new position (quivering behind your legs) Floyd says, ""Floyd changed his mind, okay?"""
-?ELS111: EQUAL? PRSA,V?REACH-IN \?ELS115
- EQUAL? PRSO,PSEUDO-OBJECT,DISPENSER \?ELS115
- EQUAL? HERE,PX \?ELS115
+?CCL90: EQUAL? PRSA,V?ENTER \?CCL94
+ EQUAL? PRSO,EXERCISE-MACHINE \?CCL94
+ PRINTR """Floyd doesn't need exercise! Not a gram of flab on Floyd!"" He pokes you in the stomach and grins. ""Can't say the same about you, though!"""
+?CCL94: EQUAL? PRSA,V?REACH-IN \?CCL98
+ EQUAL? PRSO,PSEUDO-OBJECT,DISPENSER \?CCL98
+ EQUAL? HERE,PX \?CCL98
PRINTR "Floyd happily reaches into the dispenser hole, and then withdraws his hand, looking glum. ""Nope, not even a ball."""
-?ELS115: EQUAL? PRSA,V?GIVE \?ELS119
- EQUAL? PRSI,ME \?ELS119
- IN? PRSO,FLOYD \?ELS126
+?CCL98: EQUAL? PRSA,V?WEAR \?CCL103
+ FSET? PRSO,WEARBIT \?CCL103
+ PRINTR """Too big for Floyd! Also, it would clash with Floyd's boron-titanium alloy finish!"""
+?CCL103: EQUAL? PRSA,V?GIVE \?CCL107
+ EQUAL? PRSI,ME \?CCL107
+ IN? PRSO,FLOYD \?CCL112
MOVE PRSO,PROTAGONIST
PRINTI """Okay,"" says Floyd, handing you the "
PRINTD PRSO
PRINTR ", ""but only because you're Floyd's best friend."""
-?ELS126: PRINT FLOYD-NOT-HAVE
+?CCL112: PRINT FLOYD-NOT-HAVE
RTRUE
-?ELS119: EQUAL? PRSA,V?SGIVE \?ELS130
- EQUAL? PRSO,ME \?ELS130
+?CCL107: EQUAL? PRSA,V?SGIVE \?CCL114
+ EQUAL? PRSO,ME \?CCL114
CALL PERFORM,V?GIVE,PRSI,ME
RTRUE
-?ELS130: EQUAL? PRSA,V?WALK \?ELS134
- PRINTR "Floyd looks slightly embarrassed. ""You know me and my sense of direction."" Then he looks up at you with wide, trusting eyes. ""Tell Floyd a story?"""
-?ELS134: EQUAL? PRSA,V?FOLLOW \?ELS136
- EQUAL? PRSO,ME \?ELS136
+?CCL114: EQUAL? PRSA,V?WALK \?CCL118
+ PRINTR "Floyd looks slightly embarrassed. ""You know Floyd and his sense of direction."" Then he looks up at you with wide, trusting eyes. ""Tell Floyd a story?"""
+?CCL118: EQUAL? PRSA,V?FOLLOW \?CCL120
+ EQUAL? PRSO,ME \?CCL120
PRINTR """Okay!"""
-?ELS136: EQUAL? PRSA,V?HELLO \?ELS140
- PRINTR """Hi!"" Floyd grins and bounces up and down."
-?ELS140: EQUAL? PRSA,V?DROP \?ELS142
- IN? PRSO,FLOYD \?ELS147
+?CCL120: EQUAL? PRSA,V?HELLO \?CCL124
+ GRTR? ROBOT-EVILNESS,13 \?CCL127
+ PRINTR """Enough with the stupid 'FLOYD, HELLO' all the time, okay?"""
+?CCL127: PRINTR """Hi!"" Floyd grins and bounces up and down."
+?CCL124: EQUAL? PRSA,V?DROP \?CCL129
+ IN? PRSO,FLOYD \?CCL132
RANDOM 100
- LESS? 50,STACK /?ELS152
+ LESS? 50,STACK /?CCL135
MOVE PRSO,HERE
PRINTI "Floyd shrugs and drops the "
PRINTD PRSO
PRINT PERIOD-CR
RTRUE
-?ELS152: PRINTI "Floyd clutches the "
+?CCL135: PRINTI "Floyd clutches the "
PRINTD PRSO
PRINTR " even more tightly. ""Floyd won't,"" he says defiantly."
-?ELS147: PRINT FLOYD-NOT-HAVE
+?CCL132: PRINT FLOYD-NOT-HAVE
RTRUE
-?ELS142: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
+?CCL129: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
CRLF
CALL STOP
RSTACK
-?ELS11: FSET? FLOYD,TOUCHBIT /?ELS160
+?CCL7: FSET? FLOYD,TOUCHBIT /?CCL137
CALL NOUN-USED,W?FLOYD,FLOYD
- ZERO? STACK /?ELS160
+ ZERO? STACK /?CCL137
PRINTI "You don't see anyone by that name here."
CRLF
- RETURN 8
-?ELS160: ZERO? FLOYD-ANGUISHED /?ELS166
+ CALL STOP
+ RSTACK
+?CCL137: EQUAL? ROBOT-PICKED,FLOYD /?CCL141
+ CALL TOUCHING?,FLOYD
+ ZERO? STACK /?CCL141
+ CALL CANT-REACH,FLOYD
+ RSTACK
+?CCL141: EQUAL? PRSA,V?COMFORT \?CCL145
+ ZERO? ROBOT-PICKED /?CCL145
+ EQUAL? ROBOT-PICKED,FLOYD /?CCL145
+ PRINTR "Floyd gives you a hurt look and turns away."
+?CCL145: ZERO? FLOYD-ANGUISHED /?CCL150
CALL TOUCHING?,FLOYD
- ZERO? STACK \?THN169
- EQUAL? PRSA,V?COMFORT \?ELS166
-?THN169: PRINTR "Floyd sniffs, ""Please leave Floyd alone for a while."""
-?ELS166: MUL ROBOT-EVILNESS,10
- SUB STACK,50 >?TMP1
+ ZERO? STACK \?CTR149
+ EQUAL? PRSA,V?COMFORT \?CCL150
+?CTR149: PRINTR "Floyd sniffs, ""Please leave Floyd alone for a while."""
+?CCL150: MUL ROBOT-EVILNESS,10
+ SUB STACK,70 >?TMP1
RANDOM 100
- LESS? ?TMP1,STACK /?ELS172
+ LESS? ?TMP1,STACK /?CCL156
CALL TOUCHING?,FLOYD
- ZERO? STACK /?ELS172
- EQUAL? HERE,FACTORY /?ELS179
+ ZERO? STACK /?CCL156
+ EQUAL? PRSA,V?SHAKE,V?KICK,V?OFF /?CCL156
+ FSET? FLOYD,ACTIVEBIT \?CCL156
+ EQUAL? HERE,FACTORY /?CCL163
PRINTR """Hey, will you just leave Floyd alone!"" He shoves you away."
-?ELS179: ZERO? FLOYD-SHOT /?ELS181
+?CCL163: ZERO? FLOYD-SHOT /?CCL165
PRINTI "Before you can..."
CRLF
CALL I-LAUNCH
RSTACK
-?ELS181: CALL BACK-OFF,STR?153
+?CCL165: CALL BACK-OFF,STR?169
RSTACK
-?ELS172: EQUAL? PRSA,V?EXAMINE \?ELS186
+?CCL156: EQUAL? PRSA,V?EXAMINE \?CCL167
CALL DESCRIBE-FLOYD,TRUE-VALUE
- FIRST? FLOYD \?ELS191
+ FIRST? FLOYD \?CCL170
PRINTC 32
CALL V-LOOK-INSIDE
RSTACK
-?ELS191: CRLF
+?CCL170: CRLF
RTRUE
-?ELS186: EQUAL? PRSA,V?SHOOT \?ELS195
- ZERO? FLOYD-SHOT /?ELS200
- PRINTR "Floyd is already fatally wounded. Another shot would accomplish nothing, except perhaps fulfilling some sadistic impulse on your part."
-?ELS200: EQUAL? HERE,FACTORY \?ELS203
+?CCL167: EQUAL? PRSA,V?PUT \?CCL172
+ EQUAL? PRSI,FLOYD \?CCL172
+ FSET? FLOYD,ACTIVEBIT \?CCL177
+ PRINTR """Hey, Floyd's a robot, not a garbage pail!"" Floyd giggles uncontrollably at his own joke."
+?CCL177: CALL NOUN-USED,W?COMPAR,FLOYD
+ ZERO? STACK /?CCL179
+ PRINTR "There's no room."
+?CCL179: PRINT HUH
+ RTRUE
+?CCL172: EQUAL? PRSA,V?KILL \?CCL181
+ EQUAL? PRSO,FLOYD \?CCL181
+ ZERO? FLOYD-SHOT /?CCL181
+ CALL PERFORM,V?SHOOT,FLOYD,ZAPGUN
+ RTRUE
+?CCL181: EQUAL? PRSA,V?SHOOT \?CCL186
+ ZERO? FLOYD-SHOT /?CCL189
+ INC 'ZAPGUN-SHOTS
+ PRINTR "Floyd is already fatally wounded, so that would accomplish nothing, except perhaps fulfilling some sadistic impulse on your part."
+?CCL189: EQUAL? HERE,FACTORY \?CCL191
+ CALL ROB,FLOYD,HERE
CALL DEQUEUE,I-FACTORY
FSET STUN-GUN,TAKEBIT
FCLEAR FLOYD,ACTIVEBIT
SET 'FLOYD-SHOT,TRUE-VALUE
PRINTR "The bolt hits Floyd squarely in the chest. He is blown backwards, against the pedestal, and slumps to the deck."
-?ELS203: PRINTR "[The author of this story is totally shocked, and won't even dignify such an input with a response.]"
-?ELS195: EQUAL? PRSA,V?PICK \?ELS207
+?CCL191: INC 'ZAPGUN-SHOTS
+ PRINTR "[The author of this story is totally shocked, and won't even dignify such an input with a response.]"
+?CCL186: EQUAL? PRSA,V?PICK \?CCL193
CALL PICK-ROBOT
RSTACK
-?ELS207: EQUAL? PRSA,V?CLOSE \?ELS209
+?CCL193: EQUAL? PRSA,V?CLOSE \?CCL195
PRINT HUH
RTRUE
-?ELS209: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE \?ELS211
+?CCL195: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE \?CCL197
CALL PERFORM,V?OPEN,FLOYD
RTRUE
-?ELS211: FSET? FLOYD,ACTIVEBIT \?ELS213
+?CCL197: FSET? FLOYD,ACTIVEBIT \?CCL199
SET 'FLOYD-SPOKE,TRUE-VALUE
- EQUAL? PRSA,V?ON \?ELS218
+ EQUAL? PRSA,V?ON \?CCL202
PRINTR "He's already been activated."
-?ELS218: EQUAL? PRSA,V?OFF \?ELS220
- GRTR? PLATO-ATTACK-COUNTER,0 \?ELS225
- PRINTR "Floyd jerks away as you touch his on-off switch. ""Hey, you know how much Floyd hates that! And after Floyd saved your life before..."""
-?ELS225: FCLEAR FLOYD,ACTIVEBIT
+?CCL202: EQUAL? PRSA,V?OFF \?CCL204
+ GRTR? PLATO-ATTACK-COUNTER,0 \?CCL207
+ PRINTR "Floyd jerks away as you touch his on-off switch. ""Hey, you know how much Floyd hates that! And after Floyd just saved your life, you kripping ingrate."""
+?CCL207: FCLEAR FLOYD,ACTIVEBIT
FCLEAR FLOYD,ACTORBIT
- ZERO? SPACETRUCK-COUNTER \?CND228
+ ZERO? SPACETRUCK-COUNTER \?CND208
CALL DEQUEUE,I-FLOYD
-?CND228: PRINTI "Floyd, shocked by this betrayal from his old friend, whimpers and "
- IN? FLOYD,HERE /?ELS233
- MOVE FLOYD,HERE
- PRINTI "falls out of his seat"
- JUMP ?CND231
-?ELS233: PRINTI "keels over"
-?CND231: FIRST? FLOYD \?CND236
+?CND208: PRINTI "Floyd, shocked by this betrayal from his old friend, whimpers and keels over"
+ FIRST? FLOYD \?CND210
CALL ROB,FLOYD,HERE
PRINTI ", dropping what he was carrying"
-?CND236: PRINT PERIOD-CR
+?CND210: PRINT PERIOD-CR
RTRUE
-?ELS220: EQUAL? HERE,FACTORY /FALSE
- EQUAL? PRSA,V?KISS \?ELS242
+?CCL204: EQUAL? HERE,FACTORY /FALSE
+ EQUAL? PRSA,V?KISS \?CCL215
PRINTR "You receive a painful electric shock."
-?ELS242: EQUAL? PRSA,V?SCOLD \?ELS244
+?CCL215: EQUAL? PRSA,V?SCOLD \?CCL217
PRINTR "Floyd looks defensive. ""What did Floyd do wrong?"""
-?ELS244: EQUAL? PRSA,V?PLAY-WITH \?ELS246
- ZERO? FLOYD-ANGUISHED /?CND247
+?CCL217: EQUAL? PRSA,V?PLAY-WITH \?CCL219
+ ZERO? FLOYD-ANGUISHED /?CCL222
CALL PERFORM,V?TOUCH,FLOYD
RTRUE
-?CND247: SET 'C-ELAPSED,30
+?CCL222: EQUAL? FLOYD,ROBOT-PICKED /?CND220
+ CALL CANT-REACH,FLOYD
+ RTRUE
+?CND220: SET 'C-ELAPSED,30
CALL QUEUE,I-FLOYD,1
- PRINTR "You play with Floyd for several centichrons until you drop to the floor, winded. Floyd pokes at you gleefully. ""C'mon! Let's play some more!"""
-?ELS246: EQUAL? PRSA,V?LISTEN \?ELS252
+ PRINTI "You play with Floyd for several centichrons until you"
+ MUL ROBOT-EVILNESS,15
+ SUB STACK,135 >?TMP1
+ RANDOM 100
+ LESS? ?TMP1,STACK /?CCL226
+ PRINTR " win a game. Floyd gets angry, accuses you of cheating, and kicks you painfully in the shin."
+?CCL226: PRINTR "'re completely winded. Floyd pokes at you gleefully. ""C'mon! Let's play some more!"""
+?CCL219: EQUAL? PRSA,V?LISTEN \?CCL228
PRINTR "Floyd is babbling about this and that."
-?ELS252: EQUAL? PRSA,V?TAKE \?ELS254
- EQUAL? PRSO,FLOYD \?ELS254
- FSET? HERE,WEIGHTLESSBIT \?ELS261
+?CCL228: EQUAL? PRSA,V?TAKE \?CCL230
+ EQUAL? PRSO,FLOYD \?CCL230
+ FSET? HERE,WEIGHTLESSBIT \?CCL235
PRINTR "Sans gravity, you easily pick up Floyd. ""Oh, boy! Zero-Gee Polo,"" he yells, wriggling away and bounding off several walls."
-?ELS261: FSET? FLOYD,TOUCHBIT \FALSE
+?CCL235: FSET? FLOYD,TOUCHBIT \FALSE
+ SET 'FLOYD-TRYTAKEN,TRUE-VALUE
PRINTR "You manage to lift Floyd a few centimeters, but he's too heavy and you drop him suddenly. Floyd gives a surprised squeal and moves a respectable distance away."
-?ELS254: EQUAL? PRSA,V?MUNG,V?KILL \?ELS265
+?CCL230: EQUAL? PRSA,V?MUNG,V?KILL \?CCL239
PRINTR "Floyd starts dashing around the room. ""Oh boy oh boy oh boy! I haven't played Chase and Tag for years! You be It! Nah, nah!"""
-?ELS265: EQUAL? PRSA,V?SHAKE,V?KICK \?ELS267
- PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks."
-?ELS267: EQUAL? PRSA,V?OPEN,V?CLEAN,V?SEARCH /?THN270
- EQUAL? PRSA,V?TICKLE \?ELS269
-?THN270: PRINTR "Floyd giggles and pushes you away. ""You're tickling Floyd!"" He clutches at his side panels, laughing hysterically. Oil drops stream from his eyes."
-?ELS269: EQUAL? PRSA,V?PUT,V?GIVE \?ELS273
- EQUAL? PRSI,FLOYD \?ELS273
- EQUAL? PRSO,BLUE-GOO,GRAY-GOO,ORANGE-GOO \?ELS280
- PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?"""
-?ELS280: EQUAL? PRSO,LEASH \?ELS282
+?CCL239: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL241
+ GRTR? ROBOT-EVILNESS,13 \?CCL244
+ PRINTR """What the krip do you think you're doing? How you'd like it if Floyd treated you that way, you stupid trot-brain."""
+?CCL244: PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks."
+?CCL241: EQUAL? PRSA,V?OPEN,V?CLEAN,V?SEARCH /?CTR245
+ EQUAL? PRSA,V?TICKLE \?CCL246
+?CTR245: PRINTR "Floyd giggles and pushes you away. ""You're tickling Floyd!"" He clutches at his side panels, laughing hysterically. Oil drops stream from his eyes."
+?CCL246: EQUAL? PRSA,V?PUT,V?GIVE \?CCL250
+ EQUAL? PRSI,FLOYD \?CCL250
+ EQUAL? PRSO,TAFFY,GRAY-GOO,ORANGE-GOO /?CTR254
+ EQUAL? PRSO,NECTAR,SOUP \?CCL255
+?CTR254: PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?"""
+?CCL255: EQUAL? PRSO,LEASH \?CCL259
CALL FLOYD-TAKE-LEASH
RSTACK
-?ELS282: EQUAL? PRSO,OSTRICH-NIP \?ELS284
+?CCL259: EQUAL? PRSO,OSTRICH-NIP \?CCL261
PRINTR """Phew!"" says Floyd, holding his nose and handing it back."
-?ELS284: FIRST? FLOYD /?THN287
+?CCL261: CALL CCOUNT,FLOYD
+ GRTR? STACK,3 /?CTR262
+ EQUAL? PRSO,SPACESUIT,OSTRICH-NIP /?CTR262
+ EQUAL? PRSO,EXPLOSIVE,TIMER,DETONATOR /?CTR262
+ FSET? PRSO,CONTBIT /?CTR262
RANDOM 100
- LESS? 25,STACK /?ELS286
-?THN287: MOVE PRSO,HERE
+ LESS? 35,STACK /?CCL263
+?CTR262: MOVE PRSO,HERE
PRINTI "Floyd examines the "
PRINTD PRSO
PRINTR ", shrugs, and drops it."
-?ELS286: MOVE PRSO,FLOYD
+?CCL263: MOVE PRSO,FLOYD
PRINTR """Neat!"" exclaims Floyd. He thanks you profusely."
-?ELS273: EQUAL? PRSA,V?SHOW \?ELS292
- EQUAL? FLOYD,PRSI \?ELS292
+?CCL250: EQUAL? PRSA,V?SHOW \?CCL270
+ EQUAL? FLOYD,PRSI \?CCL270
SET 'AWAITING-REPLY,3
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
- PRINTI "Floyd looks over the "
- PRINTD PRSO
+ PRINTI "Floyd looks over"
+ CALL TPRINT-PRSO
PRINTR ". ""Can you play any games with it?"" he asks."
-?ELS292: EQUAL? PRSA,V?HUG,V?TOUCH \?ELS296
+?CCL270: EQUAL? PRSA,V?HUG,V?TOUCH \?CCL274
PRINTR "Floyd gives a contented sigh."
-?ELS296: EQUAL? PRSA,V?SMELL \FALSE
+?CCL274: EQUAL? PRSA,V?SMELL \FALSE
PRINTR "Floyd smells faintly of ozone and light machine oil."
-?ELS213: EQUAL? PRSA,V?ON \?ELS300
- CALL QUEUE,I-FLOYD,-1
+?CCL199: EQUAL? PRSA,V?ON \?CCL278
+ ZERO? FLOYD-SHOT /?CCL281
+ PRINTR "Floyd IS on...but he's headed for that big Robot Pool in the sky..."
+?CCL281: CALL QUEUE,I-FLOYD,-1
SET 'FLOYD-SPOKE,TRUE-VALUE
FSET FLOYD,ACTORBIT
FSET FLOYD,ACTIVEBIT
@@ -410,314 +505,363 @@
PRINT HOPPING-MAD
CRLF
RTRUE
-?ELS300: EQUAL? PRSA,V?OFF \?ELS302
+?CCL278: EQUAL? PRSA,V?OFF \?CCL283
PRINTR "Floyd isn't on."
-?ELS302: EQUAL? PRSA,V?TELL \?ELS304
+?CCL283: EQUAL? PRSA,V?TELL \?CCL285
+ ZERO? FLOYD-SHOT \?CCL285
PRINTI "Floyd isn't that great a listener even when he's on..."
CRLF
CALL STOP
RSTACK
-?ELS304: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE
+?CCL285: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE
PRINTR "You search the robot's compartments and discover a crayon, a paddle ball set, and finally, a photo of yourself. On the back, in crayon, in Floyd's childish scrawl, is the inscription, ""Floyds frend."" Touched, you return everything to the compartments where you found them."
.FUNCT DESCRIBE-FLOYD,EXAMINING=0
- FSET? FLOYD,TOUCHBIT /?ELS5
+ FSET? FLOYD,TOUCHBIT /?CCL3
PRINT YOU-CANT
PRINTI "see the robot in the third bin very well, because he's crouched in the corner. He's a short robot, and he seems to be playing marbles."
RTRUE
-?ELS5: EQUAL? HERE,ROBOT-POOL \?ELS7
- ZERO? ROBOT-PICKED \?ELS7
+?CCL3: EQUAL? HERE,ROBOT-POOL \?CCL5
+ ZERO? ROBOT-PICKED \?CCL5
PRINTI "With unconcealed excitement, Floyd is hopping around in bin number three."
RTRUE
-?ELS7: EQUAL? HERE,ROBOT-POOL \?ELS11
- EQUAL? ROBOT-PICKED,FLOYD /?ELS11
+?CCL5: EQUAL? HERE,ROBOT-POOL \?CCL9
+ EQUAL? ROBOT-PICKED,FLOYD /?CCL9
PRINTI "Floyd sits dejectedly in bin three."
RTRUE
-?ELS11: IN? PLATO,HERE \?ELS15
- ZERO? EXAMINING \?ELS15
+?CCL9: IN? PLATO,HERE \?CCL13
+ ZERO? EXAMINING \?CCL13
PRINTI "Plato and Floyd are both here."
FSET? FLOYD,ACTIVEBIT /TRUE
PRINTC 32
PRINT FLOYD-OFF-DESC
RTRUE
-?ELS15: EQUAL? HERE,FACTORY \?ELS22
+?CCL13: EQUAL? HERE,FACTORY \?CCL19
PRINTI "Floyd is "
- ZERO? FLOYD-SHOT /?ELS25
+ ZERO? FLOYD-SHOT /?CCL22
PRINTI "ly"
- JUMP ?CND23
-?ELS25: PRINTI "stand"
-?CND23: PRINTI "ing between you and the pyramid, "
- ZERO? FLOYD-SHOT /?ELS33
+ JUMP ?CND20
+?CCL22: PRINTI "stand"
+?CND20: PRINTI "ing between you and the pyramid, "
+ ZERO? FLOYD-SHOT /?CCL25
PRINTI "seriously damaged by zapgun fire."
RTRUE
-?ELS33: PRINTI "his face so contorted by hate as to be almost unrecognizable. You also wonder where he picked up that black eye patch."
+?CCL25: PRINTI "his face so contorted by hate as to be almost unrecognizable. You also wonder where he picked up that black eye patch."
RTRUE
-?ELS22: FSET? FLOYD,ACTIVEBIT /?ELS38
+?CCL19: FSET? FLOYD,ACTIVEBIT /?CCL27
PRINT FLOYD-OFF-DESC
RTRUE
-?ELS38: ZERO? FLOYD-ANGUISHED /?ELS40
+?CCL27: ZERO? FLOYD-ANGUISHED /?CCL29
PRINTI "Floyd is lying on the floor, sobbing."
RTRUE
-?ELS40: ZERO? EXAMINING /?ELS43
+?CCL29: ZERO? EXAMINING /?CCL31
PRINTI "Floyd is a multi-purpose robot with slightly-crossed eyes and a lopsided grin."
RTRUE
-?ELS43: PRINTI "Floyd is here, also looking around the room."
+?CCL31: PRINTI "Floyd is here, also looking around the room."
RTRUE
.FUNCT FLOYD-TAKE-LEASH
- ZERO? HANGING-IN-AIR /?ELS5
+ ZERO? HANGING-IN-AIR /?CCL3
PRINTR """Floyd can't until you let go!"""
-?ELS5: PRINTR "Floyd grabs the leash and gets pulled up into the air. ""Wheee!"" Then his grip slips and he clatters to the deck. ""Oops! More dents!"""
+?CCL3: PRINTR "Floyd grabs the leash and gets pulled up into the air. ""Wheee!"" Then his grip slips and he clatters to the deck. ""Oops! More dents!"""
- .FUNCT I-FLOYD,OBJ=0
+ .FUNCT I-FLOYD,OBJ=0,?TMP1
CALL QUEUE,I-FLOYD,-1
- FSET? FLOYD,TOUCHBIT /?ELS3
+ FSET? FLOYD,TOUCHBIT /?CCL3
FSET FLOYD,TOUCHBIT
FSET FLOYD,TRYTAKEBIT
- PRINTI " The third robot looks up from his marbles, jumps to his feet, and starts waving wildly. It's Floyd, your robotic companion from Resida! You've seen him only occasionally since he opted to follow you aboard the Duffy those five long years ago."
+ PRINTI " The third robot looks up from his marbles, jumps to his feet, and starts waving wildly. It's Floyd, your robotic companion from Resida! (Footnote 3) You've seen him only occasionally since he opted for assignment in the Stellar Patrol those five long years ago."
CRLF
JUMP ?CND1
-?ELS3: ZERO? ROBOT-PICKED \?ELS5
+?CCL3: ZERO? ROBOT-PICKED \?CCL5
PRINTI " Floyd jumps up and down saying, ""Oh boy oh boy oh boy pick Floyd pick Floyd pick Floyd!"""
CRLF
JUMP ?CND1
-?ELS5: ZERO? FLOYD-ANGUISHED /?ELS7
+?CCL5: ZERO? FLOYD-ANGUISHED /?CCL7
CALL VISIBLE?,FLOYD
- ZERO? STACK \?CND9
+ ZERO? STACK \?CND8
SET 'FLOYD-ANGUISHED,FALSE-VALUE
-?CND9: SET 'FLOYD-FOLLOW,FALSE-VALUE
+?CND8: SET 'FLOYD-FOLLOW,FALSE-VALUE
RFALSE
-?ELS7: CALL VISIBLE?,FLOYD
- ZERO? STACK /?ELS13
+?CCL7: CALL VISIBLE?,FLOYD
+ ZERO? STACK /?CCL11
FSET? FLOYD,ACTIVEBIT \FALSE
- IN? OSTRICH,HERE \?ELS19
- ZERO? OSTRICH-COMMENT \?ELS19
+ IN? OSTRICH,HERE \?CCL16
+ ZERO? OSTRICH-COMMENT \?CCL16
SET 'OSTRICH-COMMENT,TRUE-VALUE
PRINTI " Floyd looks at the ostrich with breathless excitement. ""Wow! An elephant!"""
CRLF
JUMP ?CND1
-?ELS19: FSET? HERE,FLOYDBIT /?ELS23
- ZERO? FLOYD-SPOKE \?ELS23
+?CCL16: IN? BALLOON,HERE \?CCL20
+ ZERO? BALLOON-COMMENT \?CCL20
+ GRTR? ROBOT-EVILNESS,13 \?CCL20
+ SET 'BALLOON-COMMENT,TRUE-VALUE
+ PRINTI " You notice Floyd taunting the "
+ PRINTD BALLOON
+ PRINTI ". The frightened balloon takes refuge in the far corner of the room."
+ CRLF
+ JUMP ?CND1
+?CCL20: FSET? HERE,FLOYDBIT /?PRD27
+ ZERO? FLOYD-SPOKE \?PRD27
RANDOM 100
- LESS? 6,STACK /?ELS23
- REMOVE FLOYD
+ LESS? 6,STACK \?CTR24
+?PRD27: GRTR? TIMER-SETTING,0 \?CCL25
+ CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK /?CCL25
+?CTR24: REMOVE FLOYD
PRINTI " "
- IN? PLATO,HERE \?ELS28
+ IN? PLATO,HERE \?CCL35
SET 'POSTPONE-ATTACK,TRUE-VALUE
REMOVE PLATO
- GRTR? ROBOT-EVILNESS,8 \?ELS31
+ GRTR? ROBOT-EVILNESS,8 \?CCL38
PRINTI """Let us take a stroll, Floyd,"" says Plato, tucking his book under one arm. ""Tagging along after this simpleton human is becoming tiresome."" He breezes out. Floyd hesitates, then follows."
CRLF
JUMP ?CND1
-?ELS31: RANDOM 100
- LESS? 50,STACK \?THN34
- EQUAL? HERE,LIBRARY \?ELS33
-?THN34: PRINTI """Hey, Plato!"" says Floyd. ""Play Hider-and-Seeker with Floyd?"" Plato glances up from his book, nods, and says, ""I do believe that I can spare a few millichrons for a relaxing bit of sport."" Floyd bounds away, with Plato a bit behind. From out of sight, Floyd's voice faintly echoes back to you: ""Ollie ollie oxen free!"""
+?CCL38: RANDOM 100
+ LESS? 50,STACK \?CTR39
+ EQUAL? HERE,LIBRARY \?CCL40
+?CTR39: PRINTI """Hey, Plato!"" says Floyd. ""Play Hider-and-Seeker with Floyd?"" Plato glances up from his book, nods, and says, ""I do believe that I can spare a few millichrons for a relaxing bit of sport."" Floyd bounds away, with Plato a bit behind. From out of sight, Floyd's voice faintly echoes back to you: ""Ollie ollie oxen free!"""
CRLF
JUMP ?CND1
-?ELS33: PRINTI "Plato reaches the last page of his book. ""Heavens! It appears to be time for another jaunt to the library. Would you care to accompany me, my boisterous friend?""
+?CCL40: PRINTI "Plato reaches the last page of his book. ""Heavens! It appears to be time for another jaunt to the library. Would you care to accompany me, my boisterous friend?""
""Oh boy yessiree!"" says Floyd, bounding off after Plato. ""I hope they have copies of my favorite comic, THE ADVENTURES OF LANE MASTODON!"""
CRLF
JUMP ?CND1
-?ELS28: PRINTI "Floyd says, ""Floyd going exploring. See you later."" He glides out of the room."
+?CCL35: PRINTI "Floyd says, ""Floyd going exploring. See you later."" He glides out of the room."
CRLF
JUMP ?CND1
-?ELS23: RANDOM 100
+?CCL25: RANDOM 100
LESS? 45,STACK /?CND1
ZERO? FLOYD-SPOKE \?CND1
IN? FLOYD,HERE \?CND1
IN? PROTAGONIST,HERE \?CND1
ZERO? HANGING-IN-AIR \?CND1
ZERO? LIT /?CND1
- FIRST? HERE >OBJ /?KLU182
-?KLU182: ZERO? OBJ /?ELS46
- FSET? OBJ,TOUCHBIT \?ELS46
- FSET? OBJ,TAKEBIT \?ELS46
- EQUAL? OBJ,OSTRICH-NIP,SPACESUIT /?ELS46
- EQUAL? OBJ,DETONATOR,TIMER,EXPLOSIVE /?ELS46
+ FIRST? HERE >OBJ /?KLU184
+?KLU184: ZERO? OBJ /?CCL52
+ FSET? OBJ,TOUCHBIT \?CCL52
+ FSET? OBJ,TAKEBIT \?CCL52
+ FSET? OBJ,CONTBIT /?CCL52
+ EQUAL? OBJ,OSTRICH-NIP,SPACESUIT /?CCL52
+ EQUAL? OBJ,DETONATOR,TIMER,EXPLOSIVE /?CCL52
CALL CCOUNT,FLOYD
- LESS? STACK,4 \?ELS46
+ LESS? STACK,4 \?CCL52
RANDOM 100
- LESS? 6,STACK /?ELS46
+ LESS? 6,STACK /?CCL52
MOVE OBJ,FLOYD
PRINTI " Floyd picks up"
CALL TPRINT,OBJ
PRINTI ", examines it, and tucks "
- FSET? OBJ,PLURALBIT \?ELS51
+ FSET? OBJ,PLURALBIT \?CCL63
PRINTI "them"
- JUMP ?CND49
-?ELS51: PRINTI "it"
-?CND49: PRINTI " under his arm."
+ JUMP ?CND61
+?CCL63: PRINTI "it"
+?CND61: PRINTI " under his arm."
CRLF
JUMP ?CND1
-?ELS46: FIRST? FLOYD \?ELS55
+?CCL52: FIRST? FLOYD \?CCL65
RANDOM 100
- LESS? 6,STACK /?ELS55
- FIRST? FLOYD >OBJ /?KLU183
-?KLU183: NEXT? OBJ \?CND58
+ LESS? 6,STACK /?CCL65
+ FIRST? FLOYD >OBJ /?KLU185
+?KLU185: NEXT? OBJ \?CND68
RANDOM 100
- LESS? 60,STACK /?CND58
- NEXT? OBJ >OBJ /?CND58
-?CND58: MOVE OBJ,HERE
+ LESS? 60,STACK /?CND68
+ NEXT? OBJ >OBJ /?CND68
+?CND68: MOVE OBJ,HERE
PRINTI " Floyd drops"
CALL TPRINT,OBJ
PRINTI " he was carrying."
CRLF
JUMP ?CND1
-?ELS55: FIRST? FLOYD \?ELS64
+?CCL65: FIRST? FLOYD \?CCL73
RANDOM 100
- LESS? 2,STACK /?ELS64
- FIRST? FLOYD >OBJ /?KLU185
-?KLU185: NEXT? OBJ \?CND67
+ LESS? 4,STACK /?CCL73
+ FIRST? FLOYD >OBJ /?KLU187
+?KLU187: NEXT? OBJ \?CND76
RANDOM 100
- LESS? 60,STACK /?CND67
- NEXT? OBJ >OBJ /?CND67
-?CND67: PRINTI " Floyd moves"
+ LESS? 60,STACK /?CND76
+ NEXT? OBJ >OBJ /?CND76
+?CND76: PRINTI " Floyd moves"
CALL TPRINT,OBJ
PRINTI " in a wavering course through the air, making a roaring noise like a rocket exhaust."
CRLF
JUMP ?CND1
-?ELS64: IN? PLATO,HERE \?ELS73
+?CCL73: IN? PLATO,HERE \?CCL81
RANDOM 100
- LESS? 70,STACK /?ELS73
+ LESS? 70,STACK /?CCL81
PRINTI " "
CALL PICK-ONE,PLATOISMS
PRINT STACK
PRINT PERIOD-CR
JUMP ?CND1
-?ELS73: PRINTI " Floyd "
+?CCL81: PRINTI " Floyd "
+ MUL ROBOT-EVILNESS,3
+ SUB 36,STACK >?TMP1
+ RANDOM 100
+ LESS? ?TMP1,STACK /?CCL86
+ CALL PICK-ONE,GOOD-FLOYDISMS
+ PRINT STACK
+ PRINT PERIOD-CR
+ JUMP ?CND1
+?CCL86: MUL ROBOT-EVILNESS,25
+ SUB STACK,300 >?TMP1
RANDOM 100
- LESS? 7,STACK /?ELS80
+ LESS? ?TMP1,STACK /?CCL88
+ CALL PICK-ONE,BAD-FLOYDISMS
+ PRINT STACK
+ PRINT PERIOD-CR
+ JUMP ?CND1
+?CCL88: RANDOM 100
+ LESS? 6,STACK /?CCL90
SET 'AWAITING-REPLY,4
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
PRINTI "says, ""Hey! Wanna play Hucka-Bucka-Beanstalk?"""
CRLF
JUMP ?CND1
-?ELS80: CALL PICK-ONE,FLOYDISMS
+?CCL90: CALL PICK-ONE,NEUTRAL-FLOYDISMS
PRINT STACK
PRINT PERIOD-CR
JUMP ?CND1
-?ELS13: FSET? FLOYD,ACTIVEBIT /?ELS84
+?CCL11: FSET? FLOYD,ACTIVEBIT /?CCL92
EQUAL? HERE,VACUUM-STORAGE,AIRLOCK /FALSE
+ LESS? SPACETRUCK-COUNTER,5 /FALSE
+ CALL NEXT-ROOM?,FLOYD
+ ZERO? STACK \FALSE
FSET FLOYD,ACTIVEBIT
FSET FLOYD,ACTORBIT
PRINTI " Floyd bounds up to you"
PRINT HOPPING-MAD
- ZERO? PLATO-INTRODUCED /?ELS90
+ ZERO? PLATO-INTRODUCED /?CCL101
PRINTI " Plato strolls in and gives Floyd a pat. ""I reactivated the little fellow; I hope you don't mind."""
CRLF
- JUMP ?CND88
-?ELS90: PRINTI " Another robot wanders in behind Floyd and notices you."
+ JUMP ?CND99
+?CCL101: PRINTI " Another robot wanders in behind Floyd and notices you."
CRLF
CALL I-PLATO,TRUE-VALUE
PRINTI " Plato motions toward Floyd. ""I presume you know this playful little fellow. Someone had deactivated him, so I rectified the situation."""
CRLF
-?CND88: MOVE PLATO,HERE
+?CND99: MOVE PLATO,HERE
MOVE FLOYD,HERE
JUMP ?CND1
-?ELS84: GRTR? ROBOT-EVILNESS,16 \?ELS95
- MOVE FLOYD,FACTORY
- EQUAL? HERE,EAST-JUNCTION,LEVEL-FIVE \?ELS100
+?CCL92: GRTR? ROBOT-EVILNESS,17 \?CCL103
+ LOC FLOYD
+ ZERO? STACK /?CND104
+ LOC FLOYD
+ FSET? STACK,NWELDERBIT \?CND104
+ CALL NEXT-ROOM?,FLOYD
+ ZERO? STACK \FALSE
+?CND104: MOVE FLOYD,FACTORY
+ EQUAL? HERE,EAST-JUNCTION,LEVEL-FIVE \?CCL111
PUSH SOUTH-CONNECTION
- JUMP ?CND96
-?ELS100: EQUAL? HERE,SOUTH-JUNCTION,NORTH-JUNCTION \?ELS102
+ JUMP ?CND109
+?CCL111: EQUAL? HERE,SOUTH-JUNCTION,NORTH-JUNCTION \?CCL113
PUSH EAST-CONNECTION
- JUMP ?CND96
-?ELS102: RANDOM 100
- LESS? 25,STACK /?ELS104
+ JUMP ?CND109
+?CCL113: RANDOM 100
+ LESS? 25,STACK /?CCL115
PUSH SOUTH-JUNCTION
- JUMP ?CND96
-?ELS104: RANDOM 100
- LESS? 33,STACK /?ELS106
+ JUMP ?CND109
+?CCL115: RANDOM 100
+ LESS? 33,STACK /?CCL117
PUSH EAST-JUNCTION
- JUMP ?CND96
-?ELS106: RANDOM 100
- LESS? 50,STACK /?ELS108
+ JUMP ?CND109
+?CCL117: RANDOM 100
+ LESS? 50,STACK /?CCL119
PUSH NORTH-JUNCTION
- JUMP ?CND96
-?ELS108: PUSH LEVEL-FIVE
-?CND96: CALL ROB,FLOYD,STACK
+ JUMP ?CND109
+?CCL119: PUSH LEVEL-FIVE
+?CND109: CALL ROB,FLOYD,STACK
MOVE STUN-GUN,FLOYD
CALL DEQUEUE,I-FLOYD
CALL DEQUEUE,I-ROBOT-EVILNESS
RFALSE
-?ELS95: ZERO? FLOYD-FOLLOW /?ELS112
- EQUAL? HERE,AIRLOCK \?ELS112
+?CCL103: ZERO? FLOYD-FOLLOW /?CCL121
+ EQUAL? HERE,AIRLOCK \?CCL121
PRINTI " Floyd calls from above, """
- ZERO? PLATO-INTRODUCED /?ELS117
- ZERO? PLATO-ATTACK-COUNTER \?ELS117
+ ZERO? PLATO-INTRODUCED /?CCL126
+ ZERO? PLATO-ATTACK-COUNTER \?CCL126
PRINTI "We"
- JUMP ?CND115
-?ELS117: PRINTC 73
-?CND115: PRINTI "'ll wait here; it doesn't look like there's room in that phone booth for "
- ZERO? PLATO-INTRODUCED /?ELS124
- ZERO? PLATO-ATTACK-COUNTER \?ELS124
+ JUMP ?CND124
+?CCL126: PRINTC 73
+?CND124: PRINTI "'ll wait here; it doesn't look like there's room in that phone booth for "
+ ZERO? PLATO-INTRODUCED /?CCL131
+ ZERO? PLATO-ATTACK-COUNTER \?CCL131
PRINTI "all"
- JUMP ?CND122
-?ELS124: PRINTI "both"
-?CND122: PRINTI " of us."""
+ JUMP ?CND129
+?CCL131: PRINTI "both"
+?CND129: PRINTI " of us."""
CRLF
JUMP ?CND1
-?ELS112: ZERO? FLOYD-FOLLOW /?ELS130
+?CCL121: ZERO? FLOYD-FOLLOW /?PRD137
+ GRTR? TIMER-SETTING,0 \?PRD137
+ CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK \?CTR134
+?PRD137: ZERO? FLOYD-FOLLOW /?CCL135
RANDOM 100
- LESS? 80,STACK /?ELS130
- PRINTI " Floyd "
- ZERO? PLATO-INTRODUCED /?ELS135
- ZERO? PLATO-ATTACK-COUNTER \?ELS135
+ LESS? 80,STACK /?CCL135
+?CTR134: PRINTI " Floyd "
+ ZERO? PLATO-INTRODUCED /?CCL145
+ ZERO? PLATO-ATTACK-COUNTER \?CCL145
MOVE PLATO,HERE
PRINTI "and Plato follow"
- JUMP ?CND133
-?ELS135: PRINTI "follows"
-?CND133: MOVE FLOYD,HERE
+ JUMP ?CND143
+?CCL145: PRINTI "follows"
+?CND143: MOVE FLOYD,HERE
PRINTI " you."
CRLF
JUMP ?CND1
-?ELS130: EQUAL? HERE,SPACETRUCK,ELEVATOR,BRIG /?THN142
- EQUAL? HERE,ARMORY \?ELS141
-?THN142: PRINTI " Floyd bounces in"
- ZERO? PLATO-INTRODUCED /?CND144
- ZERO? PLATO-ATTACK-COUNTER \?CND144
+?CCL135: EQUAL? HERE,SPACETRUCK,ELEVATOR,BRIG /?CTR148
+ EQUAL? HERE,ARMORY \?CCL149
+?CTR148: PRINTI " Floyd bounces in"
+ ZERO? PLATO-INTRODUCED /?CND152
+ ZERO? PLATO-ATTACK-COUNTER \?CND152
MOVE PLATO,HERE
PRINTI ", followed at a more leisurely pace by Plato"
-?CND144: PRINTI ". ""Hey, wait for "
- ZERO? PLATO-INTRODUCED /?ELS151
- ZERO? PLATO-ATTACK-COUNTER \?ELS151
+?CND152: PRINTI ". ""Hey, wait for "
+ ZERO? PLATO-INTRODUCED /?CCL158
+ ZERO? PLATO-ATTACK-COUNTER \?CCL158
MOVE PLATO,HERE
PRINTI "us"
- JUMP ?CND149
-?ELS151: PRINTI "Floyd"
-?CND149: MOVE FLOYD,HERE
+ JUMP ?CND156
+?CCL158: PRINTI "Floyd"
+?CND156: MOVE FLOYD,HERE
PRINTI "!"" he yells."
CRLF
JUMP ?CND1
-?ELS141: RANDOM 100
+?CCL149: RANDOM 100
LESS? 17,STACK /?CND1
ZERO? LIT /?CND1
EQUAL? HERE,AIRLOCK,VACUUM-STORAGE /?CND1
PRINTI " Floyd "
- ZERO? PLATO-INTRODUCED \?ELS162
- FSET? LEVEL-FIVE,TOUCHBIT \?ELS162
+ ZERO? PLATO-INTRODUCED \?CCL167
+ FSET? LEVEL-FIVE,TOUCHBIT \?CCL167
RANDOM 100
- LESS? 50,STACK /?ELS162
+ LESS? 50,STACK /?CCL167
PRINTI "dashes into view, followed by a slightly older-looking robot. ""Look, Floyd found a new friend,"" Floyd says with unbounded exuberance."
CRLF
CALL I-PLATO,TRUE-VALUE
- JUMP ?CND160
-?ELS162: RANDOM 100
- LESS? 15,STACK /?ELS169
+ JUMP ?CND165
+?CCL167: MUL ROBOT-EVILNESS,10
+ SUB STACK,70 >?TMP1
+ RANDOM 100
+ LESS? ?TMP1,STACK /?CCL173
+ PRINTI "meanders in. ""You doing anything fun?"" he asks, and then answers his own question, ""Nope. Same dumb boring things."""
+ JUMP ?CND171
+?CCL173: RANDOM 100
+ LESS? 15,STACK /?CCL175
PRINTI "rushes into the room and barrels into you. ""Oops, sorry,"" he says. ""Floyd not looking at where he was going to."""
- JUMP ?CND167
-?ELS169: PRINTI "bounds into the room. ""Floyd here now!"" he cries."
-?CND167: ZERO? PLATO-INTRODUCED /?CND172
- ZERO? PLATO-ATTACK-COUNTER \?CND172
+ JUMP ?CND171
+?CCL175: PRINTI "bounds into the room. ""Floyd here now!"" he cries."
+?CND171: ZERO? PLATO-INTRODUCED /?CND176
+ ZERO? PLATO-ATTACK-COUNTER \?CND176
MOVE PLATO,HERE
PRINTI " You notice that Plato has also roamed into view behind Floyd, once again absorbed in his reading."
-?CND172: CRLF
-?CND160: MOVE FLOYD,HERE
+?CND176: CRLF
+?CND165: MOVE FLOYD,HERE
ZERO? HANGING-IN-AIR /?CND1
ZERO? HANGING-COMMENT \?CND1
SET 'FLOYD-SPOKE,TRUE-VALUE
@@ -728,42 +872,56 @@
.FUNCT HELEN-F
- EQUAL? HELEN,WINNER \?ELS5
- EQUAL? PRSA,V?HELLO \?ELS10
+ EQUAL? HELEN,WINNER \?CCL3
+ EQUAL? PRSA,V?HELLO \?CCL6
PRINTR """Mutual, I'm sure."""
-?ELS10: EQUAL? PRSA,V?FOLLOW,V?WALK \?ELS12
+?CCL6: EQUAL? PRSA,V?FOLLOW,V?WALK \?CCL8
PRINTR """I'm supposta stay with any human I'm assigned to."""
-?ELS12: PRINTI "You've strayed too far from simple form-sorting to interest Helen."
+?CCL8: PRINTI "You've strayed too far from simple form-sorting to interest Helen."
CRLF
CALL STOP
RSTACK
-?ELS5: EQUAL? PRSA,V?GIVE \?ELS16
- EQUAL? PRSO,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,ROBOT-USE-AUTHORIZATION-FORM,ASSIGNMENT-COMPLETION-FORM \?ELS16
+?CCL3: EQUAL? ROBOT-PICKED,HELEN /?CCL10
+ CALL TOUCHING?,HELEN
+ ZERO? STACK /?CCL10
+ CALL CANT-REACH,HELEN
+ RSTACK
+?CCL10: EQUAL? PRSA,V?GIVE \?CCL14
+ EQUAL? PRSO,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,ROBOT-USE-AUTHORIZATION-FORM,ASSIGNMENT-COMPLETION-FORM \?CCL14
CALL CONFETTI,PRSO
RSTACK
-?ELS16: EQUAL? PRSA,V?ON,V?OFF \?ELS20
- PRINTR "Being unfamiliar with this model robot, you can't find the on-off switch."
-?ELS20: EQUAL? PRSA,V?OPEN \?ELS22
- PRINTR "There are no visible compartments."
-?ELS22: EQUAL? PRSA,V?PICK \FALSE
+?CCL14: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?CCL18
+ CALL PERFORM-PRSA,PLATO
+ RSTACK
+?CCL18: EQUAL? PRSA,V?PICK \FALSE
CALL PICK-ROBOT
RSTACK
.FUNCT REX-F
- EQUAL? REX,WINNER \?ELS5
- EQUAL? PRSA,V?HELLO \?ELS10
+ EQUAL? REX,WINNER \?CCL3
+ EQUAL? PRSA,V?HELLO \?CCL6
PRINTR """Yo."""
-?ELS10: EQUAL? PRSA,V?FOLLOW,V?WALK \?ELS12
- PRINTR """I'll follow if I gets assigned ta ya."""
-?ELS12: PRINTI "Rex merely looks confused."
+?CCL6: EQUAL? PRSA,V?FOLLOW,V?WALK \?CCL8
+ PRINTI """I'll follow youse "
+ EQUAL? REX,ROBOT-PICKED \?CCL11
+ PRINTI "since I been"
+ JUMP ?CND9
+?CCL11: PRINTI "if I gets"
+?CND9: PRINTR " assigned ta youse."""
+?CCL8: PRINTI "Rex merely looks confused."
CRLF
CALL STOP
RSTACK
-?ELS5: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?ELS16
- CALL PERFORM-PRSA,HELEN
+?CCL3: EQUAL? ROBOT-PICKED,REX /?CCL13
+ CALL TOUCHING?,REX
+ ZERO? STACK /?CCL13
+ CALL CANT-REACH,REX
+ RSTACK
+?CCL13: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?CCL17
+ CALL PERFORM-PRSA,PLATO
RSTACK
-?ELS16: EQUAL? PRSA,V?PICK \FALSE
+?CCL17: EQUAL? PRSA,V?PICK \FALSE
CALL PICK-ROBOT
RSTACK
@@ -771,11 +929,11 @@
.FUNCT I-OTHER-ROBOT
IN? ROBOT-PICKED,HERE /FALSE
MOVE ROBOT-PICKED,HERE
- EQUAL? HERE,CARGO-BAY-ENTRANCE \?ELS10
- EQUAL? ROBOT-PICKED,REX \?ELS10
- CALL JIGS-UP,STR?182
+ EQUAL? HERE,CARGO-BAY-ENTRANCE \?CCL6
+ EQUAL? ROBOT-PICKED,REX \?CCL6
+ CALL JIGS-UP,STR?206
RSTACK
-?ELS10: PRINTR " Helen obediently follows you."
+?CCL6: PRINTR " Helen obediently follows you."
.FUNCT CONFETTI,FORM-NAME
@@ -786,63 +944,76 @@
.FUNCT PICK-ROBOT
- EQUAL? PRSO,ROBOT-PICKED \?ELS5
+ EQUAL? PRSO,ROBOT-PICKED \?CCL3
PRINT SENILITY-STRIKES
RTRUE
-?ELS5: ZERO? ROBOT-PICKED /?ELS7
+?CCL3: ZERO? ROBOT-PICKED /?CCL5
PRINTI "You already picked "
PRINTD ROBOT-PICKED
PRINT PERIOD-CR
RTRUE
-?ELS7: PRINTR "Use the automated robot selection equipment."
+?CCL5: PRINTR "Use the automated robot selection equipment."
.FUNCT CARGO-BAY-F,RARG
EQUAL? RARG,M-LOOK \FALSE
- PRINTI "This huge airlock is essentially a giant loading dock, where truckloads of forms arrive from various printing planets throughout the sector and are immediately distributed throughout the administrative deck. The only exit on foot is back the way you came. A spacetruck, its hatch "
+ PRINTI "This huge airlock is essentially a giant loading dock, where truckloads of forms arrive from various printing planets throughout the sector and are immediately distributed throughout the administrative deck. The only exit on foot is back the way you came. A "
+ PRINTD SPACETRUCK-OBJECT
+ PRINTI ", its hatch "
CALL OPEN-CLOSED,SPACETRUCK-HATCH
PRINTI ", waits in the cargo bay."
RTRUE
.FUNCT SPACETRUCK-OBJECT-F
- EQUAL? PRSA,V?WALK-TO,V?ENTER \?ELS5
- EQUAL? HERE,SPACETRUCK \?ELS10
+ EQUAL? PRSA,V?WALK-TO,V?ENTER \?CCL3
+ EQUAL? HERE,SPACETRUCK \?CCL6
PRINT LOOK-AROUND
RTRUE
-?ELS10: CALL DO-WALK,P?IN
+?CCL6: CALL DO-WALK,P?IN
RSTACK
-?ELS5: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?ELS14
- EQUAL? HERE,SPACETRUCK \?ELS19
+?CCL3: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL8
+ EQUAL? HERE,SPACETRUCK \?CCL11
CALL DO-WALK,P?OUT
RSTACK
-?ELS19: PRINT LOOK-AROUND
+?CCL11: PRINT LOOK-AROUND
RTRUE
-?ELS14: EQUAL? PRSA,V?EXAMINE \?ELS23
- EQUAL? HERE,SPACETRUCK \?ELS28
+?CCL8: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL13
+ CALL PERFORM-PRSA,SPACETRUCK-HATCH
+ RSTACK
+?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL15
+ EQUAL? HERE,SPACETRUCK \?CCL18
CALL V-LOOK
RSTACK
-?ELS28: CALL PERFORM,V?EXAMINE,SPACETRUCK-HATCH
+?CCL18: CALL PERFORM,V?EXAMINE,SPACETRUCK-HATCH
RTRUE
-?ELS23: EQUAL? PRSA,V?ON,V?LAUNCH \?ELS32
- EQUAL? HERE,SPACETRUCK /?ELS37
+?CCL15: EQUAL? PRSA,V?LOOK-INSIDE \?CCL20
+ EQUAL? HERE,CARGO-BAY,DOCKING-BAY-2 \?CCL20
+ CALL PERFORM,V?LOOK-INSIDE,WINDOW
+ RTRUE
+?CCL20: EQUAL? PRSA,V?ON,V?LAUNCH \?CCL24
+ EQUAL? HERE,SPACETRUCK /?CCL27
PRINTR "You're not even in it!"
-?ELS37: GRTR? SPACETRUCK-COUNTER,0 \?ELS39
+?CCL27: GRTR? SPACETRUCK-COUNTER,0 \?CCL29
PRINT SENILITY-STRIKES
RTRUE
-?ELS39: PRINTR "That's what the slot and keypad are for!"
-?ELS32: EQUAL? PRSA,V?SEARCH \FALSE
+?CCL29: PRINTR "That's what the slot and keypad are for!"
+?CCL24: EQUAL? PRSA,V?SEARCH \FALSE
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
.FUNCT SPACETRUCK-F,RARG
- EQUAL? RARG,M-LOOK \?ELS5
- PRINTI "This is a twelve-meter rig, the largest Class Three spacecraft made. In addition to the pilot and copilot seats, there's a Space Band Radio, a red button for activating the emergency beacon, plus a slot and keypad for controlling the autopilot. The hatch is "
+ EQUAL? RARG,M-ENTER \?CCL3
+ FSET? SPACETRUCK,TOUCHBIT /?CCL3
+ CALL QUEUE,I-THERMOS,100
+ RSTACK
+?CCL3: EQUAL? RARG,M-LOOK \?CCL7
+ PRINTI "This is a twelve-meter rig, the largest Class Three spacecraft made, with seats for a pilot and copilot. Below the viewport is a space band radio, a red button for activating the emergency beacon, plus a slot and keypad for controlling the autopilot. The hatch is "
CALL OPEN-CLOSED,SPACETRUCK-HATCH
PRINTI " and the rear of the truck is empty of cargo."
RTRUE
-?ELS5: EQUAL? RARG,M-END \FALSE
+?CCL7: EQUAL? RARG,M-END \FALSE
IN? HELEN,HERE \FALSE
CALL VISIBLE?,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM
ZERO? STACK /FALSE
@@ -852,13 +1023,13 @@
.FUNCT SPACETRUCK-EXIT-F
- FSET? SPACETRUCK-HATCH,OPENBIT /?ELS5
+ FSET? SPACETRUCK-HATCH,OPENBIT /?CCL3
CALL THIS-IS-IT,SPACETRUCK-HATCH
- CALL DO-FIRST,STR?183
+ CALL DO-FIRST,STR?207
RFALSE
-?ELS5: EQUAL? SPACETRUCK-COUNTER,-1 \?ELS7
+?CCL3: EQUAL? SPACETRUCK-COUNTER,-1 \?CCL5
RETURN CARGO-BAY
-?ELS7: EQUAL? SPACETRUCK-COUNTER,5 \FALSE
+?CCL5: EQUAL? SPACETRUCK-COUNTER,5 \FALSE
EQUAL? COURSE-PICKED,RIGHT-COURSE \FALSE
RETURN DOCKING-BAY-2
@@ -866,9 +1037,9 @@
.FUNCT SPACETRUCK-HATCH-F
EQUAL? PRSA,V?OPEN \FALSE
GRTR? SPACETRUCK-COUNTER,-1 \FALSE
- EQUAL? SPACETRUCK-COUNTER,5 \?CND8
+ EQUAL? SPACETRUCK-COUNTER,5 \?CND6
EQUAL? COURSE-PICKED,RIGHT-COURSE /FALSE
-?CND8: PRINT YOU-CANT
+?CND6: PRINT YOU-CANT
PRINTR "open the hatch in deep space!"
@@ -877,19 +1048,21 @@
IN? FLOYD,HERE \FALSE
FSET? FLOYD,ACTIVEBIT \FALSE
PRINTI " Floyd clambers into the "
- IN? PROTAGONIST,PILOT-SEAT \?ELS10
+ IN? PROTAGONIST,PILOT-SEAT \?CCL9
MOVE FLOYD,COPILOT-SEAT
PRINTI "co"
- JUMP ?CND8
-?ELS10: MOVE FLOYD,PILOT-SEAT
-?CND8: PRINTD PILOT-SEAT
+ JUMP ?CND7
+?CCL9: MOVE FLOYD,PILOT-SEAT
+?CND7: PRINTD PILOT-SEAT
PRINTC 46
EQUAL? SPACETRUCK-COUNTER,-1 \TRUE
SET 'FLOYD-SPOKE,TRUE-VALUE
SET 'AWAITING-REPLY,2
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
- PRINTI " ""Let Floyd launch the spacetruck? Please? Floyd has not crashed a truck in over two weeks!"""
+ PRINTI " ""Let Floyd launch the "
+ PRINTD SPACETRUCK-OBJECT
+ PRINTI "? Please? Floyd has not crashed a truck in over two weeks!"""
RTRUE
@@ -902,17 +1075,17 @@
.FUNCT RADIO-F
- EQUAL? PRSA,V?LISTEN \?ELS5
- FSET? RADIO,ACTIVEBIT \?ELS10
+ EQUAL? PRSA,V?LISTEN \?CCL3
+ FSET? RADIO,ACTIVEBIT \?CCL6
PRINTR """Hiss. Crackle."""
-?ELS10: PRINTR "The radio isn't on!"
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS14
+?CCL6: PRINTR "The radio isn't on!"
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8
PRINTI "The radio seems to be damaged, because the microphone is missing. "
RFALSE
-?ELS14: EQUAL? PRSA,V?ON \?ELS16
+?CCL8: EQUAL? PRSA,V?ON \?CCL10
CALL QUEUE,I-RADIO,-1
RFALSE
-?ELS16: EQUAL? PRSA,V?OFF \FALSE
+?CCL10: EQUAL? PRSA,V?OFF \FALSE
CALL DEQUEUE,I-RADIO
RFALSE
@@ -920,58 +1093,62 @@
.FUNCT I-RADIO
EQUAL? HERE,SPACETRUCK \FALSE
RANDOM 100
- LESS? 30,STACK /?ELS7
+ LESS? 30,STACK /?CCL5
PRINTI " The radio crackles to life. ""Breaker. "
CALL PICK-ONE,RADIO-LINES
PRINT STACK
PRINTR " Over."""
-?ELS7: RANDOM 100
+?CCL5: RANDOM 100
LESS? 20,STACK /FALSE
PRINTR " A country and western station drifts into tune for a moment, but then fades again."
.FUNCT RED-BUTTON-F
EQUAL? PRSA,V?PUSH \FALSE
- EQUAL? SPACETRUCK-COUNTER,5 \?ELS10
- CALL RECORDING,STR?187
+ EQUAL? SPACETRUCK-COUNTER,5 \?CCL6
+ CALL RECORDING,STR?211
RSTACK
-?ELS10: PRINTR "You're not in trouble! Misuse of the emergency message beacon is a court martial offense!"
+?CCL6: PRINTR "You're not in trouble! Misuse of the emergency message beacon is a court-martial offense!"
.FUNCT I-SPACETRUCK
CALL QUEUE,I-SPACETRUCK,-1
INC 'SPACETRUCK-COUNTER
PRINTI " "
- ZERO? SPACETRUCK-COUNTER \?ELS5
+ ZERO? SPACETRUCK-COUNTER \?CCL3
PRINTI "The truck roars out of the cargo bay"
- EQUAL? HERE,CARGO-BAY \?ELS10
- CALL JIGS-UP,STR?188
+ EQUAL? HERE,CARGO-BAY \?CCL6
+ CALL JIGS-UP,STR?212
RSTACK
-?ELS10: FSET? SPACETRUCK-HATCH,OPENBIT \?ELS12
- CALL JIGS-UP,STR?189
+?CCL6: FSET? SPACETRUCK-HATCH,OPENBIT \?CCL8
+ CALL JIGS-UP,STR?213
RSTACK
-?ELS12: LOC PROTAGONIST
- EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \?ELS14
+?CCL8: LOC PROTAGONIST
+ EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \?CCL10
+ FSET SPACETRUCK,WEIGHTLESSBIT
PRINTR ", slowly picking up speed. You settle back for the long trip."
-?ELS14: CALL JIGS-UP,STR?190
+?CCL10: CALL JIGS-UP,STR?214
RSTACK
-?ELS5: EQUAL? SPACETRUCK-COUNTER,1 \?ELS18
- CALL RECORDING,STR?191
+?CCL3: EQUAL? SPACETRUCK-COUNTER,1 \?CCL12
+ CALL RECORDING,STR?215
RSTACK
-?ELS18: EQUAL? SPACETRUCK-COUNTER,2 \?ELS20
+?CCL12: EQUAL? SPACETRUCK-COUNTER,2 \?CCL14
PRINTR "There is a moment of stillness as the rear engines cut out. The moment ends as the braking rockets in front roar to life."
-?ELS20: EQUAL? SPACETRUCK-COUNTER,3 \?ELS22
- CALL RECORDING,STR?192
+?CCL14: EQUAL? SPACETRUCK-COUNTER,3 \?CCL16
+ CALL RECORDING,STR?216
RSTACK
-?ELS22: EQUAL? SPACETRUCK-COUNTER,4 \?ELS24
- EQUAL? COURSE-PICKED,RIGHT-COURSE \?ELS29
+?CCL16: EQUAL? SPACETRUCK-COUNTER,4 \?CCL18
+ EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL21
PRINTI "A tiny star directly ahead grows brighter and resolves itself into a distant space station. The station grows rapidly larger as you hurtle towards it."
CRLF
CALL PERFORM,V?LOOK-INSIDE,WINDOW
PRINTR " With a final burst, the braking rockets bring you to a halt a few thousand meters from the station."
-?ELS29: PRINTR "The forward braking rockets sputter off as the spacetruck comes to a dead stop in space. There is no space station, or any other sign of human civilization, in sight."
-?ELS24: EQUAL? SPACETRUCK-COUNTER,5 \FALSE
- EQUAL? COURSE-PICKED,RIGHT-COURSE \?ELS36
+?CCL21: PRINTI "The forward braking rockets sputter off as the "
+ PRINTD SPACETRUCK-OBJECT
+ PRINTR " comes to a dead stop in space. There is no space station, or any other sign of human civilization, in sight."
+?CCL18: EQUAL? SPACETRUCK-COUNTER,5 \FALSE
+ EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL26
+ FCLEAR SPACETRUCK,WEIGHTLESSBIT
CALL QUEUE,I-WELDER,-1
CALL QUEUE,I-FLOYD,-1
CALL QUEUE,I-PLATO,750
@@ -979,69 +1156,172 @@
MOVE PALLETS,SHIPPING-ROOM
ADD SCORE,5 >SCORE
PRINTI "The maneuvering thrusters kick on, nudging you toward the station. "
- CALL RECORDING,STR?193
+ CALL RECORDING,STR?217
PRINTI " The truck glides into the docking bay, and your stomach flips as the bay's arti-grav field comes on. The truck settles the last few centimeters to the floor, the bay floods with air, and a voice whispers, ""Stationfall."" Through the viewport, you see no one to meet you. Odd."
CRLF
- JUMP ?CND34
-?ELS36: CALL RECORDING,STR?194
+ JUMP ?CND24
+?CCL26: CALL RECORDING,STR?218
CALL QUEUE,I-SUFFOCATE,1970
-?CND34: CALL DEQUEUE,I-SPACETRUCK
+?CND24: CALL DEQUEUE,I-SPACETRUCK
RSTACK
.FUNCT I-SUFFOCATE
- CALL JIGS-UP,STR?195
+ CALL JIGS-UP,STR?219
RSTACK
- .FUNCT FOOD-KIT-F
- EQUAL? PRSA,V?EMPTY \?ELS5
- FSET? FOOD-KIT,OPENBIT /?ELS10
- PRINTR "The kit is closed!"
-?ELS10: FIRST? PRSO \FALSE
- PRINTR "The goo, being gooey, sticks to the inside of the kit. You would probably have to shake the kit to get the goo out."
-?ELS5: EQUAL? PRSA,V?OPEN \FALSE
+ .FUNCT FOOD-KIT-F,?TMP1
+ EQUAL? PRSA,V?EMPTY \?CCL3
+ FSET? FOOD-KIT,OPENBIT \?CCL3
+ LOC GRAY-GOO >?TMP1
+ LOC ORANGE-GOO
+ EQUAL? FOOD-KIT,?TMP1,STACK \?CCL3
+ CALL PERFORM,V?REMOVE,GRAY-GOO
+ RTRUE
+?CCL3: EQUAL? PRSA,V?OPEN \FALSE
CALL IN-VACUUM?
ZERO? STACK /FALSE
- IN? FOOD-KIT,GRAY-GOO /?THN17
- IN? FOOD-KIT,ORANGE-GOO /?THN17
- IN? FOOD-KIT,BLUE-GOO \FALSE
-?THN17: CALL SPACE-FOOD
+ LOC GRAY-GOO >?TMP1
+ LOC ORANGE-GOO
+ EQUAL? FOOD-KIT,?TMP1,STACK \FALSE
+ FSET FOOD-KIT,OPENBIT
+ CALL SPACE-FOOD
RSTACK
.FUNCT IN-VACUUM?
EQUAL? HERE,VACUUM-STORAGE /TRUE
EQUAL? HERE,AIRLOCK \FALSE
- FSET? OUTER-AIRLOCK-DOOR,OPENBIT \FALSE
+ FSET? OUTER-AIRLOCK-DOOR,OPENBIT /TRUE
+ RFALSE
+
+
+ .FUNCT SPACE-LIQUID,OBJ
+ CALL VISIBLE?,OBJ
+ ZERO? STACK /FALSE
+ PRINTI " The "
+ EQUAL? OBJ,SOUP \?CCL6
+ PRINTI "soup"
+ JUMP ?CND4
+?CCL6: EQUAL? OBJ,COFFEE \?CCL8
+ PRINTI "coffee"
+ JUMP ?CND4
+?CCL8: PRINTI "nectar"
+?CND4: PRINTI " boils away into the vacuum"
+ EQUAL? OBJ,SOUP \?CCL11
+ REMOVE SOUP
+ PRINT PERIOD-CR
RTRUE
+?CCL11: CALL ANTI-LITTER,OBJ
+ RSTACK
.FUNCT SPACE-FOOD
REMOVE ORANGE-GOO
- REMOVE BLUE-GOO
REMOVE GRAY-GOO
- PRINTR "The food in the survival kit instantly crystallizes and drifts away."
+ PRINTI "The food in the "
+ PRINTD FOOD-KIT
+ PRINTR " instantly crystallizes and drifts away."
+
+
+ .FUNCT THERMOS-F
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ PRINTI "It's your basic insulated bottle, which hasn't changed much over the centuries. This one is plaid, with pictures of little robots all over it. "
+ RFALSE
+?CCL3: EQUAL? PRSA,V?PUT \?CCL5
+ EQUAL? PRSI,THERMOS \?CCL5
+ EQUAL? PRSO,LARGE-BIT,SMALL-BIT,EXPLOSIVE /?CCL5
+ EQUAL? PRSO,MEDIUM-BIT /?CCL5
+ PRINTI "The neck of the Thermos is too narrow for"
+ CALL TRPRINT,PRSO
+ RSTACK
+?CCL5: EQUAL? PRSA,V?OPEN \FALSE
+ CALL IN-VACUUM?
+ ZERO? STACK /?CCL15
+ IN? SOUP,THERMOS \?CCL15
+ FSET THERMOS,OPENBIT
+ CALL SPACE-LIQUID,SOUP
+ RSTACK
+?CCL15: ZERO? THERMOS-FILLED-WITH-GAS /FALSE
+ FSET THERMOS,OPENBIT
+ PRINTR "You open the thermos, releasing a puff of FREZONE (tm) gas."
+
+
+ .FUNCT I-THERMOS
+ IN? SOUP,THERMOS /?CCL3
+ SET 'SOUP-WARMTH,0
+ RETURN SOUP-WARMTH
+?CCL3: LESS? SOUP-WARMTH,0 \?CCL5
+ SET 'SOUP-WARMTH,0
+ RETURN SOUP-WARMTH
+?CCL5: FSET? THERMOS,OPENBIT \?CCL8
+ PUSH 4
+ JUMP ?CND6
+?CCL8: PUSH 1
+?CND6: SUB SOUP-WARMTH,STACK >SOUP-WARMTH
+ CALL QUEUE,I-THERMOS,100
+ RSTACK
+
+
+ .FUNCT SOUP-F
+ EQUAL? PRSA,V?FIND \?CCL3
+ GET P-NAMW,0
+ EQUAL? STACK,W?FOOD \?CCL3
+ CALL PERFORM,V?SEARCH,GLOBAL-ROOM
+ RTRUE
+?CCL3: EQUAL? PRSA,V?EAT \?CCL7
+ CALL ULTIMATELY-IN?,THERMOS
+ ZERO? STACK \?CCL7
+ CALL THIS-IS-IT,THERMOS
+ PRINT YNH
+ CALL TRPRINT,THERMOS
+ RSTACK
+?CCL7: EQUAL? PRSA,V?TASTE,V?TOUCH,V?EXAMINE \FALSE
+ PRINTI "The soup seems to be "
+ CALL DESCRIBE-SOUP-TEMPERATURE
+ RSTACK
+
+
+ .FUNCT DESCRIBE-SOUP-TEMPERATURE
+ GRTR? SOUP-WARMTH,80 \?CCL3
+ PRINTI "steaming hot"
+ JUMP ?CND1
+?CCL3: GRTR? SOUP-WARMTH,60 \?CCL5
+ PRINTI "quite hot"
+ JUMP ?CND1
+?CCL5: GRTR? SOUP-WARMTH,40 \?CCL7
+ PRINTI "fairly hot"
+ JUMP ?CND1
+?CCL7: GRTR? SOUP-WARMTH,20 \?CCL9
+ PRINTI "lukewarm"
+ JUMP ?CND1
+?CCL9: GRTR? SOUP-WARMTH,0 \?CCL11
+ PRINTI "tepid"
+ JUMP ?CND1
+?CCL11: PRINTI "on the cool side"
+?CND1: PRINT PERIOD-CR
+ RTRUE
.FUNCT GOO-F
- EQUAL? PRSA,V?EAT \?ELS5
+ EQUAL? PRSA,V?EAT \?CCL3
CALL ULTIMATELY-IN?,FOOD-KIT,PROTAGONIST
- ZERO? STACK \?ELS5
+ ZERO? STACK \?CCL3
CALL THIS-IS-IT,FOOD-KIT
PRINT YNH
CALL TRPRINT,FOOD-KIT
RSTACK
-?ELS5: EQUAL? PRSA,V?DROP,V?TAKE \?ELS9
- EQUAL? PRSA,V?DROP \?ELS12
+?CCL3: EQUAL? PRSA,V?DROP,V?REMOVE,V?TAKE \?CCL7
+ EQUAL? PRSA,V?DROP \?CCL10
PRINTI "The goo, being gooey, sticks where it is"
- JUMP ?CND10
-?ELS12: EQUAL? PRSA,V?TAKE \?CND10
+ JUMP ?CND8
+?CCL10: EQUAL? PRSA,V?TAKE \?CND8
PRINTI "It would ooze through your fingers"
-?CND10: PRINTI ". You'll have to eat it right from"
+?CND8: PRINTI ". You'll have to eat it right from"
CALL TRPRINT,FOOD-KIT
RSTACK
-?ELS9: EQUAL? PRSA,V?FIND \FALSE
+?CCL7: EQUAL? PRSA,V?FIND \FALSE
GET P-NAMW,0
EQUAL? STACK,W?FOOD \FALSE
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
diff --git a/ship.zil b/ship.zil
index 236d93e..0dde166 100644
--- a/ship.zil
+++ b/ship.zil
@@ -2,20 +2,32 @@
STATIONFALL
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
-<ROOM DECK-FIVE
+<ROOM DECK-TWELVE
(IN ROOMS)
- (DESC "Deck Five")
+ (DESC "Deck Twelve")
(LDESC
"You are in the heart of the administrative level of the ship, the largest
level of the S.P.S. Duffy or any other Stellar Patrol ship for that matter.
-The corridor continues port and starboard, and a room lies aft of here.")
+The corridor continues starboard and a room lies aft of here. Through the
+door to port lies the bulk of the Duffy. Next to the door is a slot.")
(EAST TO CARGO-BAY-ENTRANCE)
- (WEST
-"An Ensign appears and informs you that access to this section of Deck Five
-is restricted to those with a validated Assignment Completion Form QX-17-T.
-Saluting crisply, she retreats to her unseen guard post.")
(SOUTH TO FORM-STORAGE-ROOM)
- (FLAGS FLOYDBIT RLANDBIT ONBIT)>
+ (WEST PER FAKE-DOOR-ENTER-F)
+ (FLAGS FLOYDBIT RLANDBIT ONBIT)
+ (THINGS <PSEUDO (<> DOOR FAKE-DOOR-F)
+ (<> SLOT FORM-SLOT-F)>)>
+
+<ROUTINE FAKE-DOOR-ENTER-F ()
+ <THIS-IS-IT ,PSEUDO-OBJECT>
+ <TELL "The door is closed." CR>
+ <RFALSE>>
+
+<ROUTINE FAKE-DOOR-F ()
+ <COND (<VERB? OPEN>
+ <RECORDING
+"You must insert a validated Assignment Completion Form in the slot">)
+ (<VERB? ENTER>
+ <DO-WALK ,P?WEST>)>>
<GLOBAL ASSIGNMENT-FORM-VALIDATED <>>
@@ -24,7 +36,7 @@ Saluting crisply, she retreats to her unseen guard post.")
(DESC "Assignment Completion Form QX-17-T")
(SYNONYM FORM FORMS QX-17-T)
(ADJECTIVE ASSIGNMENT COMPLETION FORM)
- (FLAGS TAKEBIT READBIT VOWELBIT BURNBIT)
+ (FLAGS TAKEBIT READBIT VOWELBIT)
(SIZE 2)
(ACTION FORM-F)>
@@ -54,20 +66,19 @@ Saluting crisply, she retreats to her unseen guard post.")
<TELL "been validated.">)>
<CRLF>)
(<VERB? VALIDATE>
- <COND (<PRSO? ,ASSIGNMENT-COMPLETION-FORM>
- <COND (,ASSIGNMENT-FORM-VALIDATED
- <TELL ,SENILITY-STRIKES>)
- (T
- <SETG ASSIGNMENT-FORM-VALIDATED T>
- <TELL "Done." CR>)>)
+ <COND (,ASSIGNMENT-FORM-VALIDATED
+ <TELL ,SENILITY-STRIKES>)
(T
- <TELL "That form has no validation box!" CR>)>)>>
+ <SETG ASSIGNMENT-FORM-VALIDATED T>
+ <TELL "Done." CR>)>)
+ (<VERB? CRUMPLE MUNG>
+ <TELL ,VIOLATION-OF-ACT>)>>
<OBJECT CHRONOMETER
(IN PROTAGONIST)
(DESC "chronometer")
(SYNONYM CHRONOMETER WRISTWATCH WATCH)
- (ADJECTIVE WRIST)
+ (ADJECTIVE WRIST MY)
(SIZE 10)
(FLAGS TAKEBIT WEARBIT WORNBIT)
(ACTION CHRONOMETER-F)>
@@ -76,11 +87,11 @@ Saluting crisply, she retreats to her unseen guard post.")
<COND (<VERB? EXAMINE READ>
<COND (<G? ,DAY 2>
<TELL
-"You glance at your chronometer, and realize with annoyance that it has
+"You glance at your " 'CHRONOMETER ", and realize with annoyance that it has
stopped. You can't recall doing anything that might have broken it." CR>)
(T
<TELL
-"It is a standard wrist chronometer with a digital display. ">
+"It is a standard wrist " 'CHRONOMETER " with a digital display. ">
<V-TIME T>
<TELL
" The back is engraved with the message
@@ -90,7 +101,7 @@ stopped. You can't recall doing anything that might have broken it." CR>)
(IN PATROL-UNIFORM)
(DESC "ID card")
(SYNONYM CARD CARDS)
- (ADJECTIVE PATROL ID IDENTIFICATION)
+ (ADJECTIVE MY PATROL ID IDENTIFICATION)
(FLAGS VOWELBIT TAKEBIT TRYTAKEBIT READBIT)
(SIZE 3)
(TEXT
@@ -103,9 +114,8 @@ ID Number: 1451-352-716\"")>
<OBJECT PATROL-UNIFORM
(IN PROTAGONIST)
(DESC "Patrol uniform")
- (LDESC "A slightly wrinkled Patrol uniform is lying here.")
(SYNONYM UNIFORM POCKET)
- (ADJECTIVE PATROL WRINKLED)
+ (ADJECTIVE PATROL MY)
(FLAGS TAKEBIT WORNBIT WEARBIT CONTBIT SEARCHBIT OPENBIT)
(CAPACITY 10)
(ACTION PATROL-UNIFORM-F)>
@@ -115,11 +125,11 @@ ID Number: 1451-352-716\"")>
<ROUTINE PATROL-UNIFORM-F ()
<COND (<VERB? EXAMINE>
<TELL
-"It is a standard-issue one-pocket Stellar Patrol uniform, a miracle of modern
-technology. It will keep its owner warm in cold climates and cool in warm
-locales. It provides protection against mild radiation, repels all insects,
-absorbs sweat, promotes healthy skin tone, and on top of everything else,
-it is super-comfy">
+"It is a standard-issue one-pocket Stellar " 'PATROL-UNIFORM ", a miracle
+of modern technology. It will keep its owner warm in cold climates and cool
+in warm locales. It provides protection against mild radiation, repels all
+insects, absorbs sweat, promotes healthy skin tone, and on top of everything
+else, it is super-comfy">
<COND (,SUIT-PRESSED
<TELL ". The uniform has been recently pressed">)>
<TELL ,PERIOD-CR>)
@@ -127,13 +137,27 @@ it is super-comfy">
<TELL
"There's no way to open or close the pocket of the " D ,PRSO ,PERIOD-CR>)>>
+<GLOBAL BLATHER-PROB 0>
+
+<ROUTINE I-BLATHER ()
+ <COND (<EQUAL? ,HERE ,SPACETRUCK>
+ <DEQUEUE I-BLATHER>)
+ (<PROB ,BLATHER-PROB>
+ <DEQUEUE I-BLATHER>
+ <TELL
+" Ensign Twelfth Class Blather walks by, carrying various toilet scrubbing
+supplies. He spots you, glances away, whimpers, and slouches out of sight
+(Footnote 2)." CR>)
+ (T
+ <SETG BLATHER-PROB <+ ,BLATHER-PROB 10>>)>>
+
<ROOM FORM-STORAGE-ROOM
(IN ROOMS)
(DESC "Forms Storage Room")
(LDESC
"This is the largest space in the ship, three decks tall and with the
floor area of seven Rigellian buzzball fields. The only exit is fore.")
- (NORTH TO DECK-FIVE)
+ (NORTH TO DECK-TWELVE)
(FLAGS RLANDBIT ONBIT FLOYDBIT)
(THINGS <PSEUDO (<> FORM BOXED-FORMS-F)
(<> FORMS BOXED-FORMS-F)>)>
@@ -141,7 +165,9 @@ floor area of seven Rigellian buzzball fields. The only exit is fore.")
<ROUTINE BOXED-FORMS-F ()
<COND (<OR <VERB? EXAMINE>
<TOUCHING? ,PSEUDO-OBJECT>>
- <TELL "The forms are sealed inside the boxes." CR>)>>
+ <TELL "The forms are sealed inside the boxes." CR>)
+ (<VERB? CRUMPLE MUNG>
+ <TELL ,VIOLATION-OF-ACT>)>>
<OBJECT PALLETS
(IN FORM-STORAGE-ROOM)
@@ -171,8 +197,12 @@ Disbursal Form,\" \"Loss of Form Pallet Label Report Form,\" and
<TELL " and forms">
<SET CNT <+ .CNT 1>>>
<TELL ". Horrified, you reseal the box." CR>)
+ (<VERB? CLOSE>
+ <TELL "They already are." CR>)
(<VERB? TAKE>
<TELL "You'll need a forklift." CR>)
+ (<VERB? CLIMB-ON STAND-ON MUNG SHOOT>
+ <TELL ,VIOLATION-OF-ACT>)
(<VERB? COUNT>
<COND (<EQUAL? ,HERE ,FORM-STORAGE-ROOM>
<TELL "Countless." CR>)
@@ -189,7 +219,7 @@ Disbursal Form,\" \"Loss of Form Pallet Label Report Form,\" and
"The deck five corridor ends here at the entrance to the cargo bay, to
starboard. A smaller entrance leads fore.")
(EAST TO CARGO-BAY)
- (WEST TO DECK-FIVE)
+ (WEST TO DECK-TWELVE)
(NORTH TO ROBOT-POOL)
(FLAGS RLANDBIT ONBIT FLOYDBIT)>
@@ -200,7 +230,7 @@ starboard. A smaller entrance leads fore.")
(OUT TO CARGO-BAY-ENTRANCE)
(FLAGS RLANDBIT ONBIT FLOYDBIT)
(GLOBAL KEYPAD EQUIPMENT)
- (THINGS <PSEUDO (<> SLOT SLOT-F)
+ (THINGS <PSEUDO (<> SLOT FORM-SLOT-F)
(FIRST BIN BIN-F)
(SECOND BIN BIN-F)
(THIRD BIN BIN-F)>)
@@ -244,10 +274,9 @@ important assignment. Also for a trivial assignment like yours. "
(IN ROBOT-POOL)
(DESC "Floyd")
(DESCFCN FLOYD-F)
- (SYNONYM FLOYD ROBOT THREE)
+ (SYNONYM FLOYD ROBOT THREE COMPAR)
(ADJECTIVE MULTIP PURPOS SHORT ROBOT NUMBER THIRD)
- (FLAGS CONTBIT SEARCHBIT TRANSBIT OPENBIT ACTORBIT NARTICLEBIT
- ACTIVEBIT)
+ (FLAGS CONTBIT SEARCHBIT OPENBIT ACTORBIT NARTICLEBIT ACTIVEBIT)
(CAPACITY 5)
(PLATO-ASK-ABOUT "He's an amusing and friendly little fellow.")
(FLOYD-ASK-ABOUT "That's me!")
@@ -263,7 +292,8 @@ important assignment. Also for a trivial assignment like yours. "
<SETG FLOYD-SPOKE T>
<COND (<AND ,ROBOT-PICKED
<NOT <EQUAL? ,ROBOT-PICKED ,FLOYD>>>
- <TELL "Floyd gives you a hurt look and turns away." CR>
+ <SETG WINNER ,PROTAGONIST>
+ <PERFORM ,V?COMFORT ,FLOYD>
<STOP>)
(,FLOYD-ANGUISHED
<SETG WINNER ,PROTAGONIST>
@@ -271,7 +301,7 @@ important assignment. Also for a trivial assignment like yours. "
<STOP>)
(<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>
- <COND (<G? ,ROBOT-EVILNESS 11>
+ <COND (<G? ,ROBOT-EVILNESS 12>
<TELL "\"Oh, quit jabbering already.\"" CR>)
(<SET TXT <GETP ,PRSI ,P?FLOYD-ASK-ABOUT>>
<TELL "\"" .TXT "\"" CR>)
@@ -348,12 +378,22 @@ me please. Floyd does not know right thing to do...\"" CR>)
"\"Sure! Floyd not scared!\" He walks bravely up to the welder, which spits
some electric fire in his direction. From his new position (quivering behind
your legs) Floyd says, \"Floyd changed his mind, okay?\"" CR>)
+ (<AND <VERB? ENTER>
+ <PRSO? ,EXERCISE-MACHINE>>
+ <TELL
+"\"Floyd doesn't need exercise! Not a gram of flab on Floyd!\" He pokes you
+in the stomach and grins. \"Can't say the same about you, though!\"" CR>)
(<AND <VERB? REACH-IN>
<PRSO? ,DISPENSER ,PSEUDO-OBJECT>
<EQUAL? ,HERE ,PX>>
<TELL
"Floyd happily reaches into the dispenser hole, and then withdraws his hand,
looking glum. \"Nope, not even a ball.\"" CR>)
+ (<AND <VERB? WEAR>
+ <FSET? ,PRSO ,WEARBIT>>
+ <TELL
+"\"Too big for Floyd! Also, it would clash with Floyd's
+boron-titanium alloy finish!\"" CR>)
(<AND <VERB? GIVE>
<PRSI? ,ME>>
<COND (<IN? ,PRSO ,FLOYD>
@@ -369,15 +409,19 @@ because you're Floyd's best friend.\"" CR>)
<RTRUE>)
(<VERB? WALK>
<TELL
-"Floyd looks slightly embarrassed. \"You know me and my sense of
-direction.\" Then he looks up at you with wide, trusting eyes.
+"Floyd looks slightly embarrassed. \"You know Floyd and his sense
+of direction.\" Then he looks up at you with wide, trusting eyes.
\"Tell Floyd a story?\"" CR>)
(<AND <VERB? FOLLOW>
<PRSO? ,ME>>
<TELL "\"Okay!\"" CR>)
(<VERB? HELLO>
- <TELL
-"\"Hi!\" Floyd grins and bounces up and down." CR>)
+ <COND (<G? ,ROBOT-EVILNESS 13>
+ <TELL
+"\"Enough with the stupid 'FLOYD, HELLO' all the time, okay?\"" CR>)
+ (T
+ <TELL
+"\"Hi!\" Floyd grins and bounces up and down." CR>)>)
(<VERB? DROP>
<COND (<IN? ,PRSO ,FLOYD>
<COND (<PROB 50>
@@ -397,14 +441,23 @@ direction.\" Then he looks up at you with wide, trusting eyes.
(<AND <NOT <FSET? ,FLOYD ,TOUCHBIT>>
<NOUN-USED ,W?FLOYD ,FLOYD>>
<TELL "You don't see anyone by that name here." CR>
- <RFATAL>)
+ <STOP>)
+ (<AND <NOT <EQUAL? ,ROBOT-PICKED ,FLOYD>>
+ <TOUCHING? ,FLOYD>>
+ <CANT-REACH ,FLOYD>)
+ (<AND <VERB? COMFORT>
+ ,ROBOT-PICKED
+ <NOT <EQUAL? ,ROBOT-PICKED ,FLOYD>>>
+ <TELL "Floyd gives you a hurt look and turns away." CR>)
(<AND ,FLOYD-ANGUISHED
<OR <TOUCHING? ,FLOYD>
<VERB? COMFORT>>>
<TELL
"Floyd sniffs, \"Please leave Floyd alone for a while.\"" CR>)
- (<AND <PROB <- <* ,ROBOT-EVILNESS 10> 50>>
- <TOUCHING? ,FLOYD>>
+ (<AND <PROB <- <* ,ROBOT-EVILNESS 10> 70>>
+ <TOUCHING? ,FLOYD>
+ <NOT <VERB? OFF KICK SHAKE>>
+ <FSET? ,FLOYD ,ACTIVEBIT>>
<COND (<NOT <EQUAL? ,HERE ,FACTORY>>
<TELL
"\"Hey, will you just leave Floyd alone!\" He shoves you away." CR>)
@@ -420,12 +473,29 @@ direction.\" Then he looks up at you with wide, trusting eyes.
<V-LOOK-INSIDE>)
(T
<CRLF>)>)
+ (<AND <VERB? PUT>
+ <PRSI? ,FLOYD>>
+ <COND (<FSET? ,FLOYD ,ACTIVEBIT>
+ <TELL
+"\"Hey, Floyd's a robot, not a garbage pail!\" Floyd giggles
+uncontrollably at his own joke." CR>)
+ (<NOUN-USED ,W?COMPAR ,FLOYD>
+ <TELL "There's no room." CR>)
+ (T
+ <TELL ,HUH>)>)
+ (<AND <VERB? KILL>
+ <PRSO? ,FLOYD>
+ ,FLOYD-SHOT>
+ <PERFORM ,V?SHOOT ,FLOYD ,ZAPGUN>
+ <RTRUE>)
(<VERB? SHOOT>
<COND (,FLOYD-SHOT
+ <SETG ZAPGUN-SHOTS <+ ,ZAPGUN-SHOTS 1>>
<TELL
-"Floyd is already fatally wounded. Another shot would accomplish nothing,
+"Floyd is already fatally wounded, so that would accomplish nothing,
except perhaps fulfilling some sadistic impulse on your part." CR>)
(<EQUAL? ,HERE ,FACTORY>
+ <ROB ,FLOYD ,HERE>
<DEQUEUE I-FACTORY>
<FSET ,STUN-GUN ,TAKEBIT>
<FCLEAR ,FLOYD ,ACTIVEBIT>
@@ -434,6 +504,7 @@ except perhaps fulfilling some sadistic impulse on your part." CR>)
"The bolt hits Floyd squarely in the chest. He is blown backwards, against
the pedestal, and slumps to the deck." CR>)
(T
+ <SETG ZAPGUN-SHOTS <+ ,ZAPGUN-SHOTS 1>>
<TELL
"[The author of this story is totally shocked, and won't even dignify such an
input with a response.]" CR>)>)
@@ -451,24 +522,19 @@ input with a response.]" CR>)>)
(<VERB? OFF>
<COND (<G? ,PLATO-ATTACK-COUNTER 0>
<TELL
-"Floyd jerks away as you touch his on-off switch. \"Hey, you know how much
-Floyd hates that! And after Floyd saved your life before...\"" CR>)
+"Floyd jerks away as you touch his on-off switch. \"Hey, you know
+how much Floyd hates that! And after Floyd just saved your
+life, you kripping ingrate.\"" CR>)
(T
<FCLEAR ,FLOYD ,ACTIVEBIT>
<FCLEAR ,FLOYD ,ACTORBIT>
<COND (<EQUAL? ,SPACETRUCK-COUNTER 0>
<DEQUEUE I-FLOYD>)>
<TELL
-"Floyd, shocked by this betrayal from his old friend, whimpers and ">
- <COND (<NOT <IN? ,FLOYD ,HERE>>
- <MOVE ,FLOYD ,HERE>
- <TELL "falls out of his seat">)
- (T
- <TELL "keels over">)>
+"Floyd, shocked by this betrayal from his old friend, whimpers and keels over">
<COND (<FIRST? ,FLOYD>
<ROB ,FLOYD ,HERE>
- <TELL
-", dropping what he was carrying">)>
+ <TELL ", dropping what he was carrying">)>
<TELL ,PERIOD-CR>)>)
(<EQUAL? ,HERE ,FACTORY>
<RFALSE>)
@@ -480,12 +546,22 @@ Floyd hates that! And after Floyd saved your life before...\"" CR>)
(<VERB? PLAY-WITH>
<COND (,FLOYD-ANGUISHED
<PERFORM ,V?TOUCH ,FLOYD>
+ <RTRUE>)
+ (<NOT <EQUAL? ,FLOYD ,ROBOT-PICKED>>
+ <CANT-REACH ,FLOYD>
<RTRUE>)>
<SETG C-ELAPSED 30>
<QUEUE I-FLOYD 1>
<TELL
-"You play with Floyd for several centichrons until you drop to the floor,
-winded. Floyd pokes at you gleefully. \"C'mon! Let's play some more!\"" CR>)
+"You play with Floyd for several centichrons until you">
+ <COND (<PROB <- <* ,ROBOT-EVILNESS 15> 135>>
+ <TELL
+" win a game. Floyd gets angry, accuses you of cheating, and kicks
+you painfully in the shin." CR>)
+ (T
+ <TELL
+"'re completely winded. Floyd pokes at you gleefully.
+\"C'mon! Let's play some more!\"" CR>)>)
(<VERB? LISTEN>
<TELL "Floyd is babbling about this and that." CR>)
(<AND <VERB? TAKE>
@@ -495,6 +571,7 @@ winded. Floyd pokes at you gleefully. \"C'mon! Let's play some more!\"" CR>)
"Sans gravity, you easily pick up Floyd. \"Oh, boy! Zero-Gee Polo,\" he
yells, wriggling away and bounding off several walls." CR>)
(<FSET? ,FLOYD ,TOUCHBIT>
+ <SETG FLOYD-TRYTAKEN T>
<TELL
"You manage to lift Floyd a few centimeters, but he's too heavy and you
drop him suddenly. Floyd gives a surprised squeal and moves a
@@ -504,16 +581,22 @@ respectable distance away." CR>)>)
"Floyd starts dashing around the room. \"Oh boy oh boy oh boy! I haven't played
Chase and Tag for years! You be It! Nah, nah!\""CR>)
(<VERB? KICK SHAKE>
- <TELL
+ <COND (<G? ,ROBOT-EVILNESS 13>
+ <TELL
+"\"What the krip do you think you're doing? How you'd like it if Floyd
+treated you that way, you stupid trot-brain.\"" CR>)
+ (T
+ <TELL
"\"Why you do that?\" Floyd whines. \"I think a wire now shaken loose.\"
-He goes off into a corner and sulks." CR>)
+He goes off into a corner and sulks." CR>)>)
(<VERB? SEARCH CLEAN OPEN TICKLE>
<TELL
"Floyd giggles and pushes you away. \"You're tickling Floyd!\" He clutches at
his side panels, laughing hysterically. Oil drops stream from his eyes." CR>)
(<AND <VERB? GIVE PUT>
<PRSI? ,FLOYD>>
- <COND (<PRSO? ,ORANGE-GOO ,GRAY-GOO ,BLUE-GOO>
+ <COND (<PRSO? ,ORANGE-GOO ,GRAY-GOO
+ ,TAFFY ,SOUP ,NECTAR>
<TELL
"Floyd looks at the goo. \"Yech! Got any Number Seven Heavy Grease?\"" CR>)
(<PRSO? ,LEASH>
@@ -521,8 +604,11 @@ his side panels, laughing hysterically. Oil drops stream from his eyes." CR>)
(<PRSO? ,OSTRICH-NIP>
<TELL
"\"Phew!\" says Floyd, holding his nose and handing it back." CR>)
- (<OR <FIRST? ,FLOYD>
- <PROB 25>>
+ (<OR <G? <CCOUNT ,FLOYD> 3>
+ <PRSO? ,OSTRICH-NIP ,SPACESUIT>
+ <PRSO? ,DETONATOR ,TIMER ,EXPLOSIVE>
+ <FSET? ,PRSO ,CONTBIT>
+ <PROB 35>>
<MOVE ,PRSO ,HERE>
<TELL
"Floyd examines the " D, PRSO ", shrugs, and drops it." CR>)
@@ -535,7 +621,7 @@ his side panels, laughing hysterically. Oil drops stream from his eyes." CR>)
<SETG AWAITING-REPLY 3>
<QUEUE I-REPLY <+ ,C-ELAPSED 2>>
<TELL
-"Floyd looks over the " D, PRSO ". \"Can you play any
+"Floyd looks over" T ,PRSO ". \"Can you play any
games with it?\" he asks." CR>)
(<VERB? TOUCH HUG>
<TELL "Floyd gives a contented sigh." CR>)
@@ -544,15 +630,20 @@ games with it?\" he asks." CR>)
"Floyd smells faintly of ozone and light machine oil." CR>)>)
;"following clauses are for when Floyd is off"
(<VERB? ON>
- <QUEUE I-FLOYD -1>
- <SETG FLOYD-SPOKE T>
- <FSET ,FLOYD ,ACTORBIT>
- <FSET ,FLOYD ,ACTIVEBIT>
- <FSET ,FLOYD ,TOUCHBIT>
- <TELL "Floyd jumps to his feet" ,HOPPING-MAD CR>)
+ <COND (,FLOYD-SHOT
+ <TELL
+"Floyd IS on...but he's headed for that big Robot Pool in the sky..." CR>)
+ (T
+ <QUEUE I-FLOYD -1>
+ <SETG FLOYD-SPOKE T>
+ <FSET ,FLOYD ,ACTORBIT>
+ <FSET ,FLOYD ,ACTIVEBIT>
+ <FSET ,FLOYD ,TOUCHBIT>
+ <TELL "Floyd jumps to his feet" ,HOPPING-MAD CR>)>)
(<VERB? OFF>
<TELL "Floyd isn't on." CR>)
- (<VERB? TELL>
+ (<AND <VERB? TELL>
+ <NOT ,FLOYD-SHOT>>
<TELL
"Floyd isn't that great a listener even when he's on..." CR>
<STOP>)
@@ -616,6 +707,8 @@ grip slips and he clatters to the deck. \"Oops! More dents!\"" CR>)>>
<GLOBAL FLOYD-SHOT <>>
+<GLOBAL FLOYD-TRYTAKEN <>>
+
<GLOBAL FLOYD-SPOKE <>> ;"so Floyd doesn't do two things on the same turn"
<GLOBAL FLOYD-FOLLOW <>> ;"checks if Floyd was in room where you just were"
@@ -629,9 +722,9 @@ grip slips and he clatters to the deck. \"Oops! More dents!\"" CR>)>>
<FSET ,FLOYD ,TRYTAKEBIT>
<TELL
" The third robot looks up from his marbles, jumps to his feet, and starts
-waving wildly. It's Floyd, your robotic companion from Resida! You've seen
-him only occasionally since he opted to follow you aboard the Duffy those
-five long years ago." CR>)
+waving wildly. It's Floyd, your robotic companion from Resida! (Footnote 3)
+You've seen him only occasionally since he opted for assignment in the Stellar
+Patrol those five long years ago." CR>)
(<NOT ,ROBOT-PICKED>
<TELL
" Floyd jumps up and down saying, \"Oh boy oh boy oh boy pick Floyd
@@ -650,9 +743,18 @@ pick Floyd pick Floyd!\"" CR>)
<TELL
" Floyd looks at the ostrich with breathless excitement.
\"Wow! An elephant!\"" CR>)
- (<AND <NOT <FSET? ,HERE ,FLOYDBIT>>
- <NOT ,FLOYD-SPOKE>
- <PROB 6>>
+ (<AND <IN? ,BALLOON ,HERE>
+ <NOT ,BALLOON-COMMENT>
+ <G? ,ROBOT-EVILNESS 13>>
+ <SETG BALLOON-COMMENT T>
+ <TELL
+" You notice Floyd taunting the " D ,BALLOON ". The frightened balloon
+takes refuge in the far corner of the room." CR>)
+ (<OR <AND <NOT <FSET? ,HERE ,FLOYDBIT>>
+ <NOT ,FLOYD-SPOKE>
+ <PROB 6>>
+ <AND <G? ,TIMER-SETTING 0>
+ <VISIBLE? ,EXPLOSIVE>>>
<REMOVE ,FLOYD>
<TELL " ">
<COND (<IN? ,PLATO ,HERE>
@@ -692,6 +794,7 @@ He glides out of the room." CR>)>)
<COND (<AND .OBJ
<FSET? .OBJ ,TOUCHBIT>
<FSET? .OBJ ,TAKEBIT>
+ <NOT <FSET? .OBJ ,CONTBIT>>
<NOT <EQUAL? .OBJ ,OSTRICH-NIP ,SPACESUIT>>
<NOT <EQUAL? .OBJ ,DETONATOR ,TIMER
,EXPLOSIVE>>
@@ -715,7 +818,7 @@ He glides out of the room." CR>)>)
<TELL
" Floyd drops" T .OBJ " he was carrying." CR>)
(<AND <FIRST? ,FLOYD>
- <PROB 2>>
+ <PROB 4>>
<SET OBJ <FIRST? ,FLOYD>>
<COND (<AND <NEXT? .OBJ>
<PROB 60>>
@@ -728,16 +831,25 @@ a roaring noise like a rocket exhaust." CR>)
<TELL " " <PICK-ONE ,PLATOISMS> ,PERIOD-CR>)
(T
<TELL " Floyd ">
- <COND (<PROB 7>
+ <COND (<PROB <- 36 <* ,ROBOT-EVILNESS 3>>>
+ <TELL <PICK-ONE ,GOOD-FLOYDISMS>
+ ,PERIOD-CR>)
+ (<PROB <- <* ,ROBOT-EVILNESS 25> 300>>
+ <TELL <PICK-ONE ,BAD-FLOYDISMS>
+ ,PERIOD-CR>)
+ (<PROB 6>
<SETG AWAITING-REPLY 4>
<QUEUE I-REPLY <+ ,C-ELAPSED 2>>
<TELL
"says, \"Hey! Wanna play Hucka-Bucka-Beanstalk?\"" CR>)
(T
- <TELL
-<PICK-ONE ,FLOYDISMS> ,PERIOD-CR>)>)>)>)
+ <TELL <PICK-ONE ,NEUTRAL-FLOYDISMS>
+ ,PERIOD-CR>)>)>)>)
(<NOT <FSET? ,FLOYD ,ACTIVEBIT>>
- <COND (<EQUAL? ,HERE ,VACUUM-STORAGE ,AIRLOCK>
+ <COND (<OR <EQUAL? ,HERE ,VACUUM-STORAGE ,AIRLOCK>
+ <L? ,SPACETRUCK-COUNTER 5>>
+ <RFALSE>)
+ (<NEXT-ROOM? ,FLOYD>
<RFALSE>)>
<FSET ,FLOYD ,ACTIVEBIT>
<FSET ,FLOYD ,ACTORBIT>
@@ -756,7 +868,13 @@ fellow. Someone had deactivated him, so I rectified the situation.\"" CR>)>
<MOVE ,PLATO ,HERE>
<MOVE ,FLOYD ,HERE>)
;"Floyd is active but not present"
- (<G? ,ROBOT-EVILNESS 16>
+ (<G? ,ROBOT-EVILNESS 17>
+ <COND (<AND <LOC ,FLOYD>
+ <FSET? <LOC ,FLOYD> ,NWELDERBIT>
+ <NEXT-ROOM? ,FLOYD>>
+ ;"don't move Floyd to Factory if he's in the next room
+ and it's a dead end"
+ <RFALSE>)>
<MOVE ,FLOYD ,FACTORY>
<ROB ,FLOYD <COND (<EQUAL? ,HERE ,EAST-JUNCTION ,LEVEL-FIVE>
,SOUTH-CONNECTION)
@@ -790,8 +908,11 @@ fellow. Someone had deactivated him, so I rectified the situation.\"" CR>)>
(T
<TELL "both">)>
<TELL " of us.\"" CR>)
- (<AND ,FLOYD-FOLLOW ;"he's in room where you just were"
- <PROB 80>>
+ (<OR <AND ,FLOYD-FOLLOW
+ <G? ,TIMER-SETTING 0>
+ <VISIBLE? ,EXPLOSIVE>>
+ <AND ,FLOYD-FOLLOW
+ <PROB 80>>>
<TELL " Floyd ">
<COND (<AND ,PLATO-INTRODUCED
<EQUAL? ,PLATO-ATTACK-COUNTER 0>>
@@ -828,7 +949,11 @@ fellow. Someone had deactivated him, so I rectified the situation.\"" CR>)>
found a new friend,\" Floyd says with unbounded exuberance." CR>
<I-PLATO T>)
(T
- <COND (<PROB 15>
+ <COND (<PROB <- <* ,ROBOT-EVILNESS 10> 70>>
+ <TELL
+"meanders in. \"You doing anything fun?\" he asks, and then answers
+his own question, \"Nope. Same dumb boring things.\"">)
+ (<PROB 15>
<TELL
"rushes into the room and barrels into you. \"Oops, sorry,\" he says.
\"Floyd not looking at where he was going to.\"">)
@@ -850,35 +975,52 @@ absorbed in his reading.">)>
<SETG FLOYD-SPOKE <>>
<SETG FLOYD-FOLLOW <>>>
-<GLOBAL FLOYDISMS
- <LTABLE
- 0
- "paces impatiently"
- "absent-mindedly recites the first six hundred digits of pi"
- "recalls the time he bruised his knee"
- "tells you how much it hurts to repair dents"
- "chants the death scene from \"Carmen\""
- "cranes his neck to see what you are doing"
- "rubs his head affectionately against your shoulder"
- "examines himself for signs of rust"
- "absent-mindedly oils one of his joints"
- "wanders restlessly around the room"
- "notices a mouse scurrying by and tries to hide behind you"
- "sings an ancient ballad, totally out of key"
- "frets about the possibility of his batteries failing"
- "whistles tunelessly"
- "boasts about the time he helped someone sharpen a pencil"
- "yawns and looks bored"
- "complains about a recent assignment in the forms filing department"
- "produces a crayon from one of his compartments and scrawls
+<GLOBAL GOOD-FLOYDISMS
+ <LTABLE 0
+ "rubs his head affectionately against your shoulder"
+ "notices a mouse scurrying by and tries to hide behind you"
+ "reminisces about the excitement of your adventure on Resida"
+ "hums the theme song from a popular Saturday morning hyperwave cartoon"
+ "plays a quick game of paddleball, almost breaking his record
+of four hits">>
+
+<GLOBAL NEUTRAL-FLOYDISMS
+ <LTABLE 0
+ "paces impatiently"
+ "absent-mindedly recites the first six hundred digits of pi"
+ "recalls the time he bruised his knee"
+ "tells you how much it hurts to repair dents"
+ "cranes his neck to see what you are doing"
+ "examines himself for signs of rust"
+ "absent-mindedly oils one of his joints"
+ "wanders restlessly around the room"
+ "sneaks up clumsily behind you and shouts \"Boo!\" in your ear"
+ "frets about the possibility of his batteries failing"
+ "whistles tunelessly"
+ "boasts about the time he helped someone find a lost paper clip"
+ "yawns and looks bored"
+ "complains about a recent assignment in the forms filing department"
+ "produces a crayon from one of his compartments and scrawls
his name on the wall">>
+<GLOBAL BAD-FLOYDISMS
+ <LTABLE 0
+ "stomps on your foot, for no apparent reason"
+ "accidentally bumps into you, and reacts by cursing your ancestors"
+ "produces a loud burp and fails to apologize"
+ "mumbles about a mysterious future in which humans will have to take
+orders from robots"
+ "tells an off-color joke about the bizarre mating habits of flesh and
+blood creatures">>
+
<GLOBAL PLATOISMS
<LTABLE 0
"Floyd tells Plato about a neat shortcut for calculating seventh order
differentials"
"Plato tells Floyd one of the ancient legends about the early days of the
settlement of the galaxy"
+"Floyd confides to Plato that his life's dream is to get locked up overnight
+in a toy factory"
"Floyd and Plato discuss their favorite battery recharging techniques"
"Plato helps polish a hard-to-reach spot on Floyd's back"
"\"You like Floyd, don't you, Plato?\" asks Floyd. \"Yes,\" replies the
@@ -917,17 +1059,16 @@ perforating extension reads \"Helen.\"")
<TELL
"You've strayed too far from simple form-sorting to interest Helen." CR>
<STOP>)>)
+ (<AND <NOT <EQUAL? ,ROBOT-PICKED ,HELEN>>
+ <TOUCHING? ,HELEN>>
+ <CANT-REACH ,HELEN>)
(<AND <VERB? GIVE>
<PRSO? ASSIGNMENT-COMPLETION-FORM
ROBOT-USE-AUTHORIZATION-FORM
CLASS-THREE-SPACECRAFT-ACTIVATION-FORM>>
<CONFETTI ,PRSO>)
- (<VERB? OFF ON>
- <TELL
-"Being unfamiliar with this model robot,
-you can't find the on-off switch." CR>)
- (<VERB? OPEN>
- <TELL "There are no visible compartments." CR>)
+ (<VERB? OFF ON OPEN>
+ <PERFORM-PRSA ,PLATO>)
(<VERB? PICK>
<PICK-ROBOT>)>>
@@ -935,7 +1076,7 @@ you can't find the on-off switch." CR>)
(IN ROBOT-POOL)
(DESC "Rex")
(FDESC
-"In the first bin is a bulky robot, obviously intended for heavy-lifting.
+"In the first bin is a bulky robot, obviously intended for heavy lifting.
A brass plate on one of his pneumatic arm lifts says \"Rex.\"")
(SYNONYM REX ROBOT ONE)
(ADJECTIVE HEAVY ROBOT NUMBER FIRST)
@@ -947,12 +1088,20 @@ A brass plate on one of his pneumatic arm lifts says \"Rex.\"")
<COND (<VERB? HELLO>
<TELL "\"Yo.\"" CR>)
(<VERB? WALK FOLLOW>
- <TELL "\"I'll follow if I gets assigned ta ya.\"" CR>)
+ <TELL "\"I'll follow youse ">
+ <COND (<EQUAL? ,REX ,ROBOT-PICKED>
+ <TELL "since I been">)
+ (T
+ <TELL "if I gets">)>
+ <TELL " assigned ta youse.\"" CR>)
(T
<TELL "Rex merely looks confused." CR>
<STOP>)>)
+ (<AND <NOT <EQUAL? ,ROBOT-PICKED ,REX>>
+ <TOUCHING? ,REX>>
+ <CANT-REACH ,REX>)
(<VERB? OFF ON OPEN>
- <PERFORM-PRSA ,HELEN>)
+ <PERFORM-PRSA ,PLATO>)
(<VERB? PICK>
<PICK-ROBOT>)>>
@@ -988,7 +1137,7 @@ D .FORM-NAME ", leaving nothing but some useless confetti." CR>>
(WEST TO CARGO-BAY-ENTRANCE)
(IN TO SPACETRUCK IF SPACETRUCK-HATCH IS OPEN)
(FLAGS RLANDBIT ONBIT FLOYDBIT)
- (GLOBAL SPACETRUCK-OBJECT SPACETRUCK-HATCH)
+ (GLOBAL SPACETRUCK-OBJECT SPACETRUCK-HATCH WINDOW)
(ACTION CARGO-BAY-F)>
<ROUTINE CARGO-BAY-F (RARG)
@@ -997,7 +1146,7 @@ D .FORM-NAME ", leaving nothing but some useless confetti." CR>>
"This huge airlock is essentially a giant loading dock, where truckloads
of forms arrive from various printing planets throughout the sector and
are immediately distributed throughout the administrative deck. The only
-exit on foot is back the way you came. A spacetruck, its hatch ">
+exit on foot is back the way you came. A " 'SPACETRUCK-OBJECT ", its hatch ">
<OPEN-CLOSED ,SPACETRUCK-HATCH>
<TELL ", waits in the cargo bay.">)>>
@@ -1030,7 +1179,7 @@ off and unoccupied.")
<MOVE ,FORKLIFT ,HERE>
<MOVE ,PROTAGONIST ,FORKLIFT>)>)
(<VERB? DRIVE>
- <TELL "You'll have to specify in which direction..." CR>)>>
+ <TELL ,YOULL-HAVE-TO "specify in which direction..." CR>)>>
<OBJECT SPACETRUCK-OBJECT
(IN LOCAL-GLOBALS)
@@ -1050,12 +1199,18 @@ off and unoccupied.")
<DO-WALK ,P?OUT>)
(T
<TELL ,LOOK-AROUND>)>)
+ (<VERB? OPEN CLOSE>
+ <PERFORM-PRSA ,SPACETRUCK-HATCH>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,SPACETRUCK>
<V-LOOK>)
(T
<PERFORM ,V?EXAMINE ,SPACETRUCK-HATCH>
<RTRUE>)>)
+ (<AND <VERB? LOOK-INSIDE>
+ <EQUAL? ,HERE ,CARGO-BAY ,DOCKING-BAY-2>>
+ <PERFORM ,V?LOOK-INSIDE ,WINDOW>
+ <RTRUE>)
(<VERB? LAUNCH ON>
<COND (<NOT <EQUAL? ,HERE ,SPACETRUCK>>
<TELL "You're not even in it!" CR>)
@@ -1074,14 +1229,17 @@ off and unoccupied.")
(FLAGS RLANDBIT ONBIT NWELDERBIT FLOYDBIT)
(GLOBAL WINDOW KEYPAD SPACETRUCK-OBJECT SPACETRUCK-HATCH)
(ACTION SPACETRUCK-F)
- (THINGS <PSEUDO (<> SLOT SLOT-F)
+ (THINGS <PSEUDO (<> SLOT FORM-SLOT-F)
(RED BUTTON RED-BUTTON-F)>)>
<ROUTINE SPACETRUCK-F (RARG)
- <COND (<EQUAL? .RARG ,M-LOOK>
+ <COND (<AND <EQUAL? .RARG ,M-ENTER>
+ <NOT <FSET? ,SPACETRUCK ,TOUCHBIT>>>
+ <QUEUE I-THERMOS 100>)
+ (<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is a twelve-meter rig, the largest Class Three spacecraft made. In
-addition to the pilot and copilot seats, there's a Space Band Radio, a
+"This is a twelve-meter rig, the largest Class Three spacecraft made, with
+seats for a pilot and copilot. Below the viewport is a space band radio, a
red button for activating the emergency beacon, plus a slot and keypad for
controlling the autopilot. The hatch is ">
<OPEN-CLOSED ,SPACETRUCK-HATCH>
@@ -1155,7 +1313,7 @@ controlling the autopilot. The hatch is ">
<SETG AWAITING-REPLY 2>
<QUEUE I-REPLY <+ ,C-ELAPSED 2>>
<TELL
-" \"Let Floyd launch the spacetruck? Please? Floyd has not crashed
+" \"Let Floyd launch the " 'SPACETRUCK-OBJECT "? Please? Floyd has not crashed
a truck in over two weeks!\"">)>
<RTRUE>)>>
@@ -1221,7 +1379,7 @@ go wrong <skip> go wrong..">)
(T
<TELL
"You're not in trouble! Misuse of the emergency message
-beacon is a court martial offense!" CR>)>)>>
+beacon is a court-martial offense!" CR>)>)>>
<GLOBAL COURSE-PICKED 0>
@@ -1243,6 +1401,7 @@ at boot camp, you may not recall that hot ion gasses are pretty deadly.">)
<JIGS-UP
". Once in space, the truck's air gushes out through the open hatch.">)
(<EQUAL? <LOC ,PROTAGONIST> ,PILOT-SEAT ,COPILOT-SEAT>
+ <FSET ,SPACETRUCK ,WEIGHTLESSBIT>
<TELL
", slowly picking up speed. You settle back for the long trip." CR>)
(T
@@ -1268,11 +1427,12 @@ space station. The station grows rapidly larger as you hurtle towards it." CR>
a few thousand meters from the station." CR>)
(T
<TELL
-"The forward braking rockets sputter off as the spacetruck comes to a
-dead stop in space. There is no space station, or any other sign of human
+"The forward braking rockets sputter off as the " 'SPACETRUCK-OBJECT " comes
+to a dead stop in space. There is no space station, or any other sign of human
civilization, in sight." CR>)>)
(<EQUAL? ,SPACETRUCK-COUNTER 5>
<COND (<EQUAL? ,COURSE-PICKED ,RIGHT-COURSE>
+ <FCLEAR ,SPACETRUCK ,WEIGHTLESSBIT>
<QUEUE I-WELDER -1>
<QUEUE I-FLOYD -1> ;"to get ints. in the proper order"
<QUEUE I-PLATO 750>
@@ -1307,24 +1467,21 @@ dead.">>
(SYNONYM KIT)
(ADJECTIVE SURVIVAL)
(SIZE 10)
- (CAPACITY 25)
+ (CAPACITY 20)
(FLAGS TAKEBIT CONTBIT SEARCHBIT)
(ACTION FOOD-KIT-F)>
<ROUTINE FOOD-KIT-F ()
- <COND (<VERB? EMPTY>
- <COND (<NOT <FSET? ,FOOD-KIT ,OPENBIT>>
- <TELL "The kit is closed!" CR>)
- (<FIRST? ,PRSO>
- <TELL
-"The goo, being gooey, sticks to the inside of the kit. You would probably
-have to shake the kit to get the goo out." CR>)>)
+ <COND (<AND <VERB? EMPTY>
+ <FSET? ,FOOD-KIT ,OPENBIT>
+ <EQUAL? ,FOOD-KIT <LOC ,GRAY-GOO> <LOC ,ORANGE-GOO>>>
+ <PERFORM ,V?REMOVE ,GRAY-GOO>
+ <RTRUE>)
(<AND <VERB? OPEN>
<IN-VACUUM?>
- <OR <IN? ,FOOD-KIT ,GRAY-GOO>
- <IN? ,FOOD-KIT ,ORANGE-GOO>
- <IN? ,FOOD-KIT ,BLUE-GOO>>>
- <SPACE-FOOD>)>>
+ <EQUAL? ,FOOD-KIT <LOC ,GRAY-GOO> <LOC ,ORANGE-GOO>>>
+ <FSET ,FOOD-KIT ,OPENBIT>
+ <SPACE-FOOD>)>>
<ROUTINE IN-VACUUM? ()
<COND (<OR <EQUAL? ,HERE ,VACUUM-STORAGE>
@@ -1334,12 +1491,111 @@ have to shake the kit to get the goo out." CR>)>)
(T
<RFALSE>)>>
+<ROUTINE SPACE-LIQUID (OBJ)
+ <COND (<VISIBLE? .OBJ>
+ <TELL " The ">
+ <COND (<EQUAL? .OBJ ,SOUP>
+ <TELL "soup">)
+ (<EQUAL? .OBJ ,COFFEE>
+ <TELL "coffee">)
+ (T
+ <TELL "nectar">)>
+ <TELL " boils away into the vacuum">
+ <COND (<EQUAL? .OBJ ,SOUP>
+ <REMOVE ,SOUP>
+ <TELL ,PERIOD-CR>)
+ (T
+ <ANTI-LITTER .OBJ>)>)>>
+
<ROUTINE SPACE-FOOD ()
<REMOVE ,ORANGE-GOO>
- <REMOVE ,BLUE-GOO>
<REMOVE ,GRAY-GOO>
<TELL
-"The food in the survival kit instantly crystallizes and drifts away." CR>>
+"The food in the " 'FOOD-KIT " instantly crystallizes and drifts away." CR>>
+
+<OBJECT THERMOS
+ (IN FOOD-KIT)
+ (DESC "Thermos bottle")
+ (SYNONYM BOTTLE THERMOS)
+ (ADJECTIVE THERMOS PLAID)
+ (FLAGS TAKEBIT CONTBIT SEARCHBIT)
+ (ACTION THERMOS-F)>
+
+<ROUTINE THERMOS-F ()
+ <COND (<VERB? EXAMINE>
+ <TELL
+"It's your basic insulated bottle, which hasn't changed much over the
+centuries. This one is plaid, with pictures of little robots all over it. ">
+ <RFALSE> ;"open-closed")
+ (<AND <VERB? PUT>
+ <PRSI? ,THERMOS>
+ <NOT <PRSO? ,EXPLOSIVE ,SMALL-BIT ,LARGE-BIT ,MEDIUM-BIT>>>
+ <TELL "The neck of the Thermos is too narrow for" TR ,PRSO>)
+ (<VERB? OPEN>
+ <COND (<AND <IN-VACUUM?>
+ <IN? ,SOUP ,THERMOS>>
+ <FSET ,THERMOS ,OPENBIT>
+ <SPACE-LIQUID ,SOUP>)
+ (,THERMOS-FILLED-WITH-GAS
+ <FSET ,THERMOS ,OPENBIT>
+ <TELL
+"You open the thermos, releasing a puff of FREZONE (tm) gas." CR>)>)>>
+
+<GLOBAL THERMOS-FILLED-WITH-GAS <>>
+
+<GLOBAL SOUP-WARMTH 100>
+
+<ROUTINE I-THERMOS ()
+ <COND (<NOT <IN? ,SOUP ,THERMOS>>
+ <SETG SOUP-WARMTH 0>)
+ (<L? ,SOUP-WARMTH 0>
+ <SETG SOUP-WARMTH 0>)
+ (T
+ <SETG SOUP-WARMTH
+ <- ,SOUP-WARMTH
+ <COND (<FSET? ,THERMOS ,OPENBIT>
+ 4)
+ (T
+ 1)>>>
+ <QUEUE I-THERMOS 100>)>>
+
+<OBJECT SOUP
+ (IN THERMOS)
+ (DESC "blue soup")
+ (FOOD-DESC " blueberry walnut soup")
+ (SYNONYM SOUP FOOD)
+ (ADJECTIVE BLUE BLUEBERRY WALNUT HOT STEAMING LUKEWARM COOL COLD)
+ (FLAGS NARTICLEBIT)
+ (GENERIC GENERIC-FOOD-F)
+ (ACTION SOUP-F)>
+
+<ROUTINE SOUP-F ()
+ <COND (<AND <VERB? FIND>
+ <EQUAL? <GET ,P-NAMW 0> ,W?FOOD>>
+ <PERFORM ,V?SEARCH ,GLOBAL-ROOM>
+ <RTRUE>)
+ (<AND <VERB? EAT>
+ <NOT <ULTIMATELY-IN? ,THERMOS>>>
+ <THIS-IS-IT ,THERMOS>
+ <TELL ,YNH TR ,THERMOS>)
+ (<VERB? EXAMINE TOUCH TASTE>
+ <TELL "The soup seems to be ">
+ <DESCRIBE-SOUP-TEMPERATURE>)>>
+
+<ROUTINE DESCRIBE-SOUP-TEMPERATURE ()
+ <COND (<G? ,SOUP-WARMTH 80>
+ <TELL "steaming hot">)
+ (<G? ,SOUP-WARMTH 60>
+ <TELL "quite hot">)
+ (<G? ,SOUP-WARMTH 40>
+ <TELL "fairly hot">)
+ (<G? ,SOUP-WARMTH 20>
+ <TELL "lukewarm">)
+ (<G? ,SOUP-WARMTH 0>
+ <TELL "tepid">)
+ (T
+ <TELL "on the cool side">)>
+ <TELL ,PERIOD-CR>>
<OBJECT GRAY-GOO
(IN FOOD-KIT)
@@ -1359,21 +1615,12 @@ have to shake the kit to get the goo out." CR>)>)
(GENERIC GENERIC-FOOD-F)
(ACTION GOO-F)>
-<OBJECT BLUE-GOO
- (IN FOOD-KIT)
- (DESC "blob of blue goo")
- (FOOD-DESC " blueberry ice cream")
- (SYNONYM GOO BLOB FOOD CREAM)
- (ADJECTIVE BLUE BLUEBERRY ICE)
- (GENERIC GENERIC-FOOD-F)
- (ACTION GOO-F)>
-
<ROUTINE GOO-F ()
<COND (<AND <VERB? EAT>
<NOT <ULTIMATELY-IN? ,FOOD-KIT ,PROTAGONIST>>>
<THIS-IS-IT ,FOOD-KIT>
<TELL ,YNH TR ,FOOD-KIT>)
- (<VERB? TAKE DROP>
+ (<VERB? TAKE REMOVE DROP>
<COND (<VERB? DROP>
<TELL "The goo, being gooey, sticks where it is">)
(<VERB? TAKE>
diff --git a/station.zap b/station.zap
index 287582a..40fdc08 100644
--- a/station.zap
+++ b/station.zap
@@ -2,7 +2,9 @@
.FUNCT DOCKING-BAY-2-F,RARG
EQUAL? RARG,M-LOOK \FALSE
- PRINTI "This is a tall, narrow bay. Your spacetruck is docked here. It's hatch is "
+ PRINTI "This is a tall, narrow bay. Your "
+ PRINTD SPACETRUCK-OBJECT
+ PRINTI " is docked here. Its hatch is "
CALL OPEN-CLOSED,SPACETRUCK-HATCH
PRINTI ". To the east is the huge door into the station."
RTRUE
@@ -11,125 +13,148 @@
.FUNCT LEVEL-FIVE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in the central lobby of the middle level of the space station. The elevator "
- EQUAL? ELEVATOR-LEVEL,5 /?CND6
+ EQUAL? ELEVATOR-LEVEL,5 /?CND4
PRINTI "shaft "
-?CND6: PRINTI "and call button lie to the east, and the corridor heads around the shaft to the northeast and southeast. Doors lead north and west, and a ladder leads both upward and downward."
+?CND4: PRINTI "and call button lie to the east, and the corridor heads around the shaft to the northeast and southeast. Doors lead north and west"
+ PRINT LADDER-LEADS
RTRUE
.FUNCT JAMMER-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "The jammer is a black box with a short antenna. It has "
- IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \?ELS8
+ IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \?CCL6
PRINTI "a "
PRINTD TWENTY-PRONG-FROMITZ-BOARD
PRINTI " plugged into it"
- JUMP ?CND6
-?ELS8: PRINTI "twenty tiny sockets on one side"
-?CND6: PRINTI ". The jammer, which is o"
- FSET? JAMMER,ACTIVEBIT \?ELS13
+ JUMP ?CND4
+?CCL6: PRINTI "twenty tiny sockets on one side"
+?CND4: PRINTI ". The jammer, which is o"
+ FSET? JAMMER,ACTIVEBIT \?CCL9
PRINTC 110
- JUMP ?CND11
-?ELS13: PRINTI "ff"
-?CND11: PRINTI ", looks as if it can be set to any frequency between 0 and 1400; it is currently set to "
+ JUMP ?CND7
+?CCL9: PRINTI "ff"
+?CND7: PRINTI ", looks as if it can be set to any frequency between 0 and 1400; it is currently set to "
PRINTN JAMMER-SETTING
PRINT PERIOD-CR
RTRUE
-?ELS5: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS17
+?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL11
PRINT HUH
RTRUE
-?ELS17: EQUAL? PRSA,V?PUT \?ELS19
- EQUAL? PRSI,JAMMER \?ELS19
- EQUAL? PRSO,TWENTY-PRONG-FROMITZ-BOARD /?ELS19
- CALL DOESNT-FIT,STR?203
+?CCL11: EQUAL? PRSA,V?PUT \?CCL13
+ EQUAL? PRSI,JAMMER \?CCL13
+ EQUAL? PRSO,TWENTY-PRONG-FROMITZ-BOARD /?CCL13
+ CALL DOESNT-FIT,STR?227
RSTACK
-?ELS19: EQUAL? PRSA,V?CONNECT \?ELS23
- EQUAL? TWENTY-PRONG-FROMITZ-BOARD,PRSO,PRSI \?ELS23
+?CCL13: EQUAL? PRSA,V?CONNECT \?CCL18
+ EQUAL? TWENTY-PRONG-FROMITZ-BOARD,PRSO,PRSI \?CCL18
CALL PERFORM,V?PUT,TWENTY-PRONG-FROMITZ-BOARD,JAMMER
RTRUE
-?ELS23: EQUAL? PRSA,V?CONNECT \?ELS27
- EQUAL? TWELVE-PRONG-FROMITZ-BOARD,PRSO,PRSI \?ELS27
+?CCL18: EQUAL? PRSA,V?CONNECT \?CCL22
+ EQUAL? TWELVE-PRONG-FROMITZ-BOARD,PRSO,PRSI \?CCL22
CALL PERFORM,V?PUT,TWELVE-PRONG-FROMITZ-BOARD,JAMMER
RTRUE
-?ELS27: EQUAL? PRSA,V?SET \?ELS31
- EQUAL? PRSO,JAMMER \?ELS31
- ZERO? PRSI \?ELS38
+?CCL22: EQUAL? PRSA,V?SET \?CCL26
+ EQUAL? PRSO,JAMMER \?CCL26
+ ZERO? PRSI \?CCL31
PRINT NEXT-TIME
RTRUE
-?ELS38: EQUAL? PRSI,INTNUM /?ELS40
+?CCL31: EQUAL? PRSI,INTNUM /?CCL33
PRINT HUH
RTRUE
-?ELS40: EQUAL? P-NUMBER,JAMMER-SETTING \?ELS42
+?CCL33: EQUAL? P-NUMBER,JAMMER-SETTING \?CCL35
PRINT SENILITY-STRIKES
RTRUE
-?ELS42: SET 'JAMMER-SETTING,P-NUMBER
+?CCL35: LESS? P-NUMBER,0 /?CTR36
+ GRTR? P-NUMBER,1400 \?CCL37
+?CTR36: PRINTR "The jammer's range is 0 to 1400."
+?CCL37: SET 'JAMMER-SETTING,P-NUMBER
PRINTI "You set the jammer to "
PRINTN JAMMER-SETTING
- PRINT PERIOD-CR
+ IN? FORKLIFT,HERE \?CCL42
+ PRINTI ". "
+ CALL PERFORM,V?OFF,JAMMER
RTRUE
-?ELS31: EQUAL? PRSA,V?COUNT \FALSE
+?CCL42: PRINT PERIOD-CR
+ RTRUE
+?CCL26: EQUAL? PRSA,V?COUNT \?CCL44
CALL NOUN-USED,W?SOCKETS,JAMMER
- ZERO? STACK /FALSE
+ ZERO? STACK /?CCL44
PRINTR "20."
+?CCL44: EQUAL? PRSA,V?OFF \FALSE
+ IN? FORKLIFT,HERE \FALSE
+ FCLEAR JAMMER,ACTIVEBIT
+ REMOVE FORKLIFT
+ REMOVE EXERCISE-MACHINE
+ CALL DEQUEUE,I-FORKLIFT
+ PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ PRINTR " springs to life, its powerful arms clamping shut on the forklift. The vehicle belches exhaust as it tries to free itself. The two machines tumble over in a death grip and then explode! When the smoke clears, there's not a trace of either machine."
.FUNCT DISPENSER-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
GETP DISPENSER,P?FDESC
PRINT STACK
CRLF
RTRUE
-?ELS5: EQUAL? PRSA,V?PUT \?ELS7
- EQUAL? PRSI,DISPENSER \?ELS7
- EQUAL? PRSO,COIN \?ELS14
+?CCL3: EQUAL? PRSA,V?PUT \?CCL5
+ EQUAL? PRSI,DISPENSER \?CCL5
+ EQUAL? PRSO,COIN \?CCL10
REMOVE COIN
FSET DISPENSER,TOUCHBIT
PRINTR """Clink!"" The coin drops into the slot."
-?ELS14: CALL DOESNT-FIT,STR?208
+?CCL10: CALL DOESNT-FIT,STR?232
RSTACK
-?ELS7: EQUAL? PRSA,V?DRILL \?ELS18
+?CCL5: EQUAL? PRSA,V?DRILL \?CCL12
PRINTI "We quote from the Stellar Patrol Demolitions Training Manual, Edition 3754-GS108. ""Why You Should Never Drill Into Active Machinery: Reason #7. You may"
PRINT STRIKE-POWER-SOURCE
PRINTI """
As you drill into the dispenser, you"
PRINT STRIKE-POWER-SOURCE
- CALL JIGS-UP,STR?209
+ CALL JIGS-UP,STR?233
RSTACK
-?ELS18: EQUAL? PRSA,V?SHOOT \?ELS20
+?CCL12: EQUAL? PRSA,V?SHOOT \?CCL14
REMOVE DISPENSER
- PRINTR "Okay, but you'll have to answer to the Stellar Patrol Dispensing Machine Company... BLAM! The dispenser is history."
-?ELS20: EQUAL? PRSA,V?MUNG,V?KILL,V?KICK /?THN25
- EQUAL? PRSA,V?PUSH,V?SHAKE \?ELS22
-?THN25: FIRST? DISPENSER \?ELS22
+ PRINTR "Okay, but you'll have to answer to the Stellar Patrol Dispensing Machine Company... BLAM! The dispenser is dispensed."
+?CCL14: EQUAL? PRSA,V?MUNG,V?KILL,V?KICK /?PRD18
+ EQUAL? PRSA,V?PUSH,V?SHAKE \?CCL16
+?PRD18: FIRST? DISPENSER \?CCL16
PRINTI "This fails to dislodge the "
- FIRST? DISPENSER /?KLU29
-?KLU29: PRINTD STACK
+ FIRST? DISPENSER /?KLU23
+?KLU23: PRINTD STACK
PRINTR ", but it does help relieve some of your aggressive feelings toward the stupid dispenser."
-?ELS22: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+?CCL16: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINT ONLY-BLACKNESS
RTRUE
.FUNCT COIN-SLOT-F
- IN? DISPENSER,HERE /?ELS5
+ IN? DISPENSER,HERE /?CCL3
CALL CANT-SEE,PSEUDO-OBJECT
RSTACK
-?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS7
+?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL5
PRINT ONLY-BLACKNESS
RTRUE
-?ELS7: EQUAL? PRSA,V?PUT \FALSE
+?CCL5: EQUAL? PRSA,V?SHOOT \?CCL7
+ CALL PERFORM,V?SHOOT,DISPENSER,ZAPGUN
+ RTRUE
+?CCL7: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,PSEUDO-OBJECT \FALSE
CALL PERFORM,V?PUT,PRSO,DISPENSER
RTRUE
.FUNCT DISPENSER-SCREEN-F
- IN? DISPENSER,HERE /?ELS5
+ IN? DISPENSER,HERE /?CCL3
CALL CANT-SEE,PSEUDO-OBJECT
RSTACK
-?ELS5: EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
+?CCL3: EQUAL? PRSA,V?SHOOT \?CCL5
+ CALL PERFORM,V?SHOOT,DISPENSER,ZAPGUN
+ RTRUE
+?CCL5: EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
PRINTR """--- STELLAR PATROL VENDO-MATIC ---
- all items: 1 galakmid
+ all items: 1 galakmid
1. Patrol Songbook (SOLD OUT)
2. Set of Postcards (SOLD OUT)
3. ID Card Polish (SOLD OUT)
@@ -142,187 +167,228 @@
.FUNCT DISPENSER-HOLE-F
- IN? DISPENSER,HERE /?ELS5
+ IN? DISPENSER,HERE /?CCL3
CALL CANT-SEE,PSEUDO-OBJECT
RSTACK
-?ELS5: EQUAL? PRSA,V?REACH-IN \?ELS7
- IN? TIMER,DISPENSER \?ELS12
- PRINTR "You can just feel something with your fingertips, but you can't get a grip on it!"
-?ELS12: PRINTR "You reach as far into the dispenser as you can, but feel nothing."
-?ELS7: EQUAL? PRSA,V?LOOK-INSIDE \?ELS16
+?CCL3: EQUAL? PRSA,V?REACH-IN \?CCL5
+ IN? TIMER,DISPENSER /?CTR7
+ IN? LARGE-BIT,DISPENSER \?CCL8
+?CTR7: PRINTR "You can just feel something with your fingertips, but you can't get a grip on it!"
+?CCL8: PRINTR "You reach as far into the dispenser as you can, but feel nothing."
+?CCL5: EQUAL? PRSA,V?SHOOT \?CCL12
+ CALL PERFORM,V?SHOOT,DISPENSER,ZAPGUN
+ RTRUE
+?CCL12: EQUAL? PRSA,V?LOOK-INSIDE \?CCL14
PRINT ONLY-BLACKNESS
RTRUE
-?ELS16: EQUAL? PRSA,V?PUT \FALSE
+?CCL14: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,PSEUDO-OBJECT \FALSE
PRINTI "You shove"
CALL TPRINT-PRSO
- PRINTI " up into the hole. "
- EQUAL? PRSO,OSTRICH-NIP \?ELS25
- IN? OSTRICH,HERE \?ELS25
- PRINTI "The ostrich sticks its head up the hole after the nip, gives a squawk of surprise, and jerks back out. A moment later, the nip"
- FIRST? DISPENSER \?CND28
+ PRINTI " up into the hole."
+ EQUAL? PRSO,OSTRICH-NIP \?CCL21
+ IN? OSTRICH,HERE \?CCL21
+ PRINTI " The ostrich squawks and sticks its head up the hole after the nip."
+ CALL OSTRICH-INTO-DISPENSER
+ PRINTI " A moment later, the nip falls to the deck. "
+ CALL PERFORM,V?GIVE,OSTRICH-NIP,OSTRICH
+ RTRUE
+?CCL21: MOVE PRSO,HERE
+ PRINTI " A moment later, it drops out"
+ PRINT LANDS-ON-FLOOR
+ CRLF
+ RTRUE
+
+
+ .FUNCT OSTRICH-INTO-DISPENSER
+ FIRST? DISPENSER \FALSE
INC 'ROBOT-EVILNESS
ADD SCORE,6 >SCORE
- PRINTI " and a "
- FIRST? DISPENSER /?KLU33
-?KLU33: PRINTD STACK
- FIRST? DISPENSER /?KLU34
-?KLU34: MOVE STACK,HERE
-?CND28: PRINTI " pop out and land on the deck. "
- CALL PERFORM,V?GIVE,OSTRICH-NIP,OSTRICH
+ PRINTI " It jerks its head back out, squawking even louder, and a moment later a "
+ FIRST? DISPENSER /?KLU4
+?KLU4: PRINTD STACK
+ PRINTI " falls out of the hole"
+ PRINT LANDS-ON-FLOOR
+ FIRST? DISPENSER /?KLU5
+?KLU5: MOVE STACK,HERE
RTRUE
-?ELS25: MOVE PRSO,HERE
- PRINTR "A moment later, it drops out and lands on the floor."
.FUNCT TIMER-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- PRINTI "As advertised, it is a standard, all-purpose timer. The timer, which can be set to any multiple of ten between 0 and 100, is currently set to "
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ PRINTI "As advertised, it is a standard, all-purpose timer. It can be set to any number up to 100, and is currently set to "
PRINTN TIMER-SETTING
PRINTI ". The timer "
- ZERO? TIMER-CONNECTED /?ELS8
+ ZERO? TIMER-CONNECTED /?CCL6
PRINTI "is connected to a detonator"
- JUMP ?CND6
-?ELS8: PRINTI "has one connection point"
-?CND6: CALL QUEUED?,I-TIMER
- ZERO? STACK /?CND12
+ JUMP ?CND4
+?CCL6: PRINTI "has one connection point"
+?CND4: CALL QUEUED?,I-TIMER
+ ZERO? STACK /?CND7
PRINTI ", and is ticking loudly"
-?CND12: PRINT PERIOD-CR
+?CND7: PRINT PERIOD-CR
RTRUE
-?ELS5: EQUAL? PRSA,V?SET \?ELS16
- ZERO? PRSI \?ELS21
+?CCL3: EQUAL? PRSA,V?SET \?CCL10
+ ZERO? PRSI \?CCL13
PRINT NEXT-TIME
RTRUE
-?ELS21: EQUAL? PRSI,INTNUM /?ELS23
+?CCL13: EQUAL? PRSI,INTNUM /?CCL15
PRINTR "You can only set the timer to a number!"
-?ELS23: GRTR? P-NUMBER,100 \?ELS25
+?CCL15: GRTR? P-NUMBER,100 \?CCL17
PRINTR "The timer only has settings up to 100."
-?ELS25: MOD P-NUMBER,10
- ZERO? STACK /?ELS27
- PRINTR "You can only set the timer to increments of 10."
-?ELS27: SET 'TIMER-SETTING,P-NUMBER
+?CCL17: SET 'TIMER-SETTING,P-NUMBER
PRINTI "You set the timer to "
PRINTN TIMER-SETTING
- GRTR? TIMER-SETTING,0 \?ELS32
- CALL QUEUE,I-TIMER,11
+ GRTR? TIMER-SETTING,0 \?CCL20
+ ADD C-ELAPSED,2
+ CALL QUEUE,I-TIMER,STACK
PRINTI ". Instantly, it begins ticking loudly"
- JUMP ?CND30
-?ELS32: CALL DEQUEUE,I-TIMER
-?CND30: PRINT PERIOD-CR
+ JUMP ?CND18
+?CCL20: CALL DEQUEUE,I-TIMER
+?CND18: PRINT PERIOD-CR
RTRUE
-?ELS16: EQUAL? PRSA,V?DISCONNECT \?ELS36
- ZERO? PRSI \?ELS36
- ZERO? TIMER-CONNECTED /?ELS36
+?CCL10: EQUAL? PRSA,V?DISCONNECT \?CCL22
+ ZERO? PRSI \?CCL22
+ ZERO? TIMER-CONNECTED /?CCL22
CALL PERFORM-PRSA,TIMER,DETONATOR
RSTACK
-?ELS36: EQUAL? PRSA,V?OFF \?ELS40
+?CCL22: EQUAL? PRSA,V?CONNECT \?CCL27
+ EQUAL? EXPLOSIVE,PRSO,PRSI \?CCL27
+ PRINT YOU-CANT
+ PRINTR "connect the timer directly to the explosive."
+?CCL27: EQUAL? PRSA,V?OFF \?CCL31
CALL QUEUED?,I-TIMER
- ZERO? STACK /?ELS40
+ ZERO? STACK /?CCL31
SET 'P-NUMBER,0
CALL PERFORM,V?SET,TIMER,INTNUM
RTRUE
-?ELS40: EQUAL? PRSA,V?LISTEN \FALSE
+?CCL31: EQUAL? PRSA,V?LISTEN \FALSE
CALL QUEUED?,I-TIMER
ZERO? STACK /FALSE
PRINTR """Tick, tick..."""
.FUNCT I-TIMER,?TMP1
- SUB TIMER-SETTING,10 >TIMER-SETTING
- ZERO? TIMER-SETTING \?ELS3
+ CALL QUEUE,I-TIMER,-1
+ SUB TIMER-SETTING,C-ELAPSED >TIMER-SETTING
+ LESS? TIMER-SETTING,1 \?CND1
CALL DEQUEUE,I-TIMER
- JUMP ?CND1
-?ELS3: CALL QUEUE,I-TIMER,10
+ SET 'TIMER-SETTING,0
?CND1: CALL VISIBLE?,TIMER
- ZERO? STACK /?CND6
+ ZERO? STACK /?CND3
PRINTI " The timer reaches "
PRINTN TIMER-SETTING
- ZERO? TIMER-SETTING \?CND9
+ ZERO? TIMER-SETTING \?CND5
PRINTI " and stops ticking"
-?CND9: PRINTC 46
-?CND6: ZERO? TIMER-SETTING \?CND12
- ZERO? TIMER-CONNECTED /?CND12
+?CND5: PRINTC 46
+?CND3: ZERO? TIMER-SETTING \?CND7
+ ZERO? TIMER-CONNECTED /?CND7
LOC DIODE-M >?TMP1
LOC DIODE-J
- EQUAL? DETONATOR,?TMP1,STACK \?CND12
- IN? DIODE-J,DETONATOR \?ELS19
- REMOVE DIODE-J
- CALL VISIBLE?,TIMER
- ZERO? STACK /?CND12
- PRINTI " You hear a sizzling sound from the detonator, and a burnt odor assaults your nose."
- JUMP ?CND12
-?ELS19: ZERO? EXPLOSIVE-CONNECTED /?ELS24
- IN? EXPLOSIVE,DRILLED-HOLE \?ELS28
+ EQUAL? DETONATOR,?TMP1,STACK \?CND7
+ IN? DIODE-J,DETONATOR \?CCL14
+ MOVE DIODE-J,LOCAL-GLOBALS
+ CALL VISIBLE?,DETONATOR
+ ZERO? STACK /?CND7
+ PRINTI " You hear a sizzling sound from the detonator"
+ FSET? SPACESUIT,WORNBIT /?CND17
+ PRINTI ", and a burnt odor assaults your nose"
+?CND17: PRINTC 46
+ JUMP ?CND7
+?CCL14: ZERO? EXPLOSIVE-CONNECTED /?CCL20
+ CALL META-LOC,EXPLOSIVE
+ EQUAL? STACK,HERE \?CCL23
+ PRINTI " The explosive fulfills its destiny by exploding. You simultaneously fulfill your own destiny: turning into itsy-bitsy pieces of "
+ PRINT LFC
+ CALL JIGS-UP,STR?46
+ JUMP ?CND21
+?CCL23: IN? EXPLOSIVE,DRILLED-HOLE \?CCL25
RANDOM 200
ADD STACK,20
CALL QUEUE,I-LIGHTS-OUT,STACK
FSET SAFE,OPENBIT
FSET SAFE,TOUCHBIT
FCLEAR SAFE,LOCKEDBIT
- JUMP ?CND26
-?ELS28: IN? EXPLOSIVE,HERE /?CND26
- LOC EXPLOSIVE
- REMOVE STACK
-?CND26: CALL VISIBLE?,TIMER
- ZERO? STACK /?ELS33
- PRINTI " The explosive fulfills its destiny by exploding. You simultaneously fulfill your own destiny: turning into itsy-bitsy pieces of "
- PRINT LFC
- CALL JIGS-UP,STR?44
- JUMP ?CND31
-?ELS33: CALL NEXT-ROOM?,TIMER
- ZERO? STACK /?ELS35
+ JUMP ?CND21
+?CCL25: LOC EXPLOSIVE
+ IN? STACK,ROOMS /?CND21
+ CALL DESTROY-EXPLOSIVE-CONT
+?CND21: CALL NEXT-ROOM?,TIMER
+ ZERO? STACK /?CCL29
PRINTI " You hear a deafening explosion from very nearby!"
CRLF
- JUMP ?CND31
-?ELS35: PRINTI " You hear a loud but distant explosion."
+ JUMP ?CND27
+?CCL29: PRINTI " You hear a loud but distant explosion."
CRLF
-?CND31: REMOVE TIMER
+?CND27: REMOVE TIMER
REMOVE EXPLOSIVE
REMOVE DETONATOR
- JUMP ?CND12
-?ELS24: CALL VISIBLE?,TIMER
- ZERO? STACK /?CND12
+ JUMP ?CND7
+?CCL20: CALL VISIBLE?,TIMER
+ ZERO? STACK /?CND7
PRINTI " You hear a click from the detonator."
-?CND12: CALL VISIBLE?,TIMER
+?CND7: CALL VISIBLE?,TIMER
ZERO? STACK /FALSE
CRLF
RTRUE
+ .FUNCT DESTROY-EXPLOSIVE-CONT,L
+ LOC EXPLOSIVE >L
+?PRG1: LOC L
+ IN? STACK,ROOMS \?CND3
+ REMOVE L
+ EQUAL? L,PEDESTAL \TRUE
+ MOVE L,ALIEN-SHIP
+ RTRUE
+?CND3: LOC L >L
+ JUMP ?PRG1
+
+
.FUNCT CELL-F
- EQUAL? PRSA,V?OPEN,V?WALK-TO,V?ENTER /?THN6
- EQUAL? PRSA,V?UNLOCK \FALSE
-?THN6: PRINTR "The cells are all locked with high-security locks."
+ EQUAL? PRSA,V?OPEN,V?WALK-TO,V?ENTER /?CTR2
+ EQUAL? PRSA,V?UNLOCK \?CCL3
+?CTR2: PRINTR "The cells are all locked with high-security locks."
+?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+ PRINTR "The cells are all empty."
.FUNCT BRIG-LOCK-F
- EQUAL? PRSA,V?PICK,V?UNLOCK,V?OPEN \FALSE
- CALL YUKS
+ EQUAL? PRSA,V?PICK,V?UNLOCK,V?OPEN \?CCL3
+ EQUAL? PRSI,KEY \?CCL6
+ SET 'PRSO,KEY
+ CALL DOESNT-FIT,STR?237
+ RSTACK
+?CCL6: CALL YUKS
+ RSTACK
+?CCL3: EQUAL? PRSA,V?PUT \FALSE
+ EQUAL? PRSO,KEY \FALSE
+ CALL DOESNT-FIT,STR?237
RSTACK
.FUNCT EAST-CONNECTION-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The corridor widens to the east, the connection point for a Military Sub-Module. An iris hatch at the connection point is "
- FSET? IRIS-HATCH,OPENBIT \?ELS8
- PRINTI "frozen open, revealing a small, grimy connector"
- JUMP ?CND6
-?ELS8: PRINTI "shut tight"
-?CND6: PRINTI ". Next to the hatch is a slot. There is a door northwest of here, and doorways to the south and southwest."
+ FSET? IRIS-HATCH,OPENBIT \?CCL6
+ PRINTI "frozen open, revealing not a sub-module connector but a small, grimy connector"
+ JUMP ?CND4
+?CCL6: PRINTI "shut tight"
+?CND4: PRINTI ". Next to the hatch is a slot. There is a door northwest of here, and doorways to the south and southwest."
RTRUE
.FUNCT STATION-CONTROL-F,RARG
EQUAL? RARG,M-LOOK \FALSE
- PRINTI "This is the nerve center of the space station, where every system can be monitored and controlled. "
- LESS? DAY,3 \?CND6
- EQUAL? DAY,1 \?ELS11
+ PRINTI "This is the nerve center of the space station, where every system can be monitored. "
+ LESS? DAY,3 \?CND4
+ EQUAL? DAY,1 \?CCL8
PRINTI "A couple"
- JUMP ?CND9
-?ELS11: EQUAL? DAY,2 \?CND9
+ JUMP ?CND6
+?CCL8: EQUAL? DAY,2 \?CND6
PRINTI "Several"
-?CND9: PRINTI " of the monitors are blinking red. "
-?CND6: PRINTI "The exits are south, northeast and west."
+?CND6: PRINTI " of the monitors are blinking red. "
+?CND4: PRINTI "The exits are south, northeast and west."
RTRUE
@@ -330,229 +396,294 @@
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
PRINTI "System: Status:
COMMUNICATION "
- GRTR? DAY,2 \?ELS8
+ GRTR? DAY,2 \?CCL6
PRINTI "GREEN"
- JUMP ?CND6
-?ELS8: PRINTI "RED"
-?CND6: PRINTI "
+ JUMP ?CND4
+?CCL6: PRINTI "RED"
+?CND4: PRINTI "
LIFE SUPPORT "
- EQUAL? DAY,2 \?ELS13
- LESS? INTERNAL-MOVES,6500 \?ELS16
+ EQUAL? DAY,2 \?CCL9
+ LESS? INTERNAL-MOVES,6500 \?CCL12
PRINTI "YELLOW"
- JUMP ?CND11
-?ELS16: PRINTI "RED"
- JUMP ?CND11
-?ELS13: PRINTI "GREEN"
-?CND11: PRINTI "
+ JUMP ?CND7
+?CCL12: PRINTI "RED"
+ JUMP ?CND7
+?CCL9: PRINTI "GREEN"
+?CND7: PRINTI "
FOOD PRODUCTION "
- GRTR? DAY,2 \?ELS23
+ GRTR? DAY,2 \?CCL15
PRINTI "GREEN"
- JUMP ?CND21
-?ELS23: PRINTI "RED"
-?CND21: PRINTI "
+ JUMP ?CND13
+?CCL15: PRINTI "RED"
+?CND13: PRINTI "
GRAVITY "
- EQUAL? DAY,2 \?ELS28
+ EQUAL? DAY,2 \?CCL18
PRINTI "YELLOW"
- JUMP ?CND26
-?ELS28: PRINTI "GREEN"
-?CND26: PRINTI "
+ JUMP ?CND16
+?CCL18: PRINTI "GREEN"
+?CND16: PRINTI "
COMPUTER GREEN
POWER "
- EQUAL? DAY,2 \?ELS33
- LESS? INTERNAL-MOVES,4300 \?ELS36
+ EQUAL? DAY,2 \?CCL21
+ LESS? INTERNAL-MOVES,4300 \?CCL24
PRINTI "YELLOW"
- JUMP ?CND31
-?ELS36: PRINTI "RED"
- JUMP ?CND31
-?ELS33: PRINTI "GREEN"
-?CND31: PRINTI "
+ JUMP ?CND19
+?CCL24: PRINTI "RED"
+ JUMP ?CND19
+?CCL21: PRINTI "GREEN"
+?CND19: PRINTI "
PRINTING "
- EQUAL? DAY,1 \?ELS43
- PRINTI "YELLOW"
- JUMP ?CND41
-?ELS43: GRTR? DAY,3 \?ELS45
- PRINTI "GREEN"
- JUMP ?CND41
-?ELS45: PRINTI "RED"
-?CND41: CRLF
+ EQUAL? DAY,1 \?CCL27
+ PRINTR "YELLOW"
+?CCL27: GRTR? DAY,3 \?CCL29
+ PRINTR "GREEN"
+?CCL29: PRINTR "RED"
+
+
+ .FUNCT COMM-CENTER-F,RARG
+ EQUAL? RARG,M-LOOK \FALSE
+ PRINTI "This is the Deep-Space Communication Center, which keeps the station in touch with the Stellar Patrol Command and the rest of the Third Galactic Union. Although regulations state that the Comm Center must be monitored around the clock, ten chrons per day, there's no one on duty.
+ Most of the equipment here is too complicated for anyone without Deep-Space Communications Training to use. However, the red button of the wide-band emergency beacon is well-marked. Next to the button is a large screen for displaying incoming messages. "
+ CALL SCREEN-F,TRUE-VALUE
+ PRINTI " The only exit is north."
RTRUE
.FUNCT COMM-BUTTON-F
- EQUAL? PRSA,V?TOUCH,V?PUSH \FALSE
- PRINTI "The instant you touch the button, a powerful electric shock makes your arm jerk back."
- GRTR? ROBOT-EVILNESS,13 \?ELS8
- CALL JIGS-UP,STR?216
- JUMP ?CND6
-?ELS8: GRTR? ROBOT-EVILNESS,7 \?CND6
+ CALL TOUCHING?,PSEUDO-OBJECT
+ ZERO? STACK /FALSE
+ PRINTI "The instant you touch the button, a powerful electric shock makes you jerk back."
+ GRTR? ROBOT-EVILNESS,14 \?CCL6
+ CALL JIGS-UP,STR?240
+ JUMP ?CND4
+?CCL6: GRTR? ROBOT-EVILNESS,7 \?CND4
CALL CCOUNT,PROTAGONIST
- GRTR? STACK,0 \?CND6
+ GRTR? STACK,0 \?CND4
CALL ROB,PROTAGONIST,HERE
- PRINTI " The shock causes you to drop everything, and leaves your limbs twitching all over."
-?CND6: CRLF
+ PRINTR " The shock causes you to drop everything, and leaves your limbs twitching all over."
+?CND4: CRLF
+ RTRUE
+
+
+ .FUNCT SCREEN-F,DESCRIBE-SCREEN=0
+ EQUAL? PRSA,V?EXAMINE /?CTR2
+ ZERO? DESCRIBE-SCREEN /?CCL3
+?CTR2: PRINTI "At the moment, the screen is "
+ ZERO? MESSAGE-RECEIVED /?CCL8
+ PRINTI "displaying a message."
+ JUMP ?CND6
+?CCL8: PRINTI "blank."
+?CND6: ZERO? DESCRIBE-SCREEN \TRUE
+ CRLF
RTRUE
+?CCL3: EQUAL? PRSA,V?READ \FALSE
+ ZERO? MESSAGE-RECEIVED /?CCL15
+ PRINTI """From: Forms Control Officer, S.P.S. Duffy
+ To: "
+ PRINT LFC
+ PRINTI " 1451-532-716
+ Re: Current assignment
+ Msg: Two thousand reams of "
+ PRINT FORM-NAME
+ PRINTR " found in mislabelled pallet. No additional supplies needed. Abort assignment and return to Duffy."""
+?CCL15: CALL PERFORM,V?EXAMINE,PSEUDO-OBJECT
+ RTRUE
+
+
+ .FUNCT I-MESSAGE
+ SET 'MESSAGE-RECEIVED,TRUE-VALUE
+ PRINTI " "
+ FSET? SPACESUIT,WORNBIT \?CCL3
+ PRINTI "The space suit picks up a message from"
+ JUMP ?CND1
+?CCL3: PRINTI "You hear a message over"
+?CND1: PRINTR " the station's PA system: ""Deep space communication received at Comm Center. No operator on duty. This is a recording."""
.FUNCT COMMANDERS-OFFICE-F,RARG
- EQUAL? RARG,M-ENTER \?ELS5
+ EQUAL? RARG,M-ENTER \?CCL3
CALL ULTIMATELY-IN?,EXPLOSIVE
- ZERO? STACK /?ELS5
+ ZERO? STACK /?CCL3
FSET EXERCISE-MACHINE,TOUCHBIT
MOVE EXERCISE-MACHINE,COMPUTER-CONTROL
- RTRUE
-?ELS5: EQUAL? RARG,M-LOOK \FALSE
+ CALL ROB,EXERCISE-MACHINE,GYM
+ RSTACK
+?CCL3: EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is the Station Commander's HQ, with doors to the south and east, and doorways to the north and northwest."
IN? LOG-READER,HERE /TRUE
- PRINTI " There's a black scar where the log reader once sat."
+ PRINTI " There's a black scar where the "
+ PRINTD LOG-READER
+ PRINTI " once sat."
RTRUE
.FUNCT LOG-READER-F
- EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS5
+ EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3
PRINT HUH
RTRUE
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
PRINTI "This simple device is for recording and reading log entries. It includes a tiny red button and a microphone/speaker. "
- FSET? LOG-READER,ACTIVEBIT \?CND8
- IN? LOG-TAPE,LOG-READER \?CND8
+ FSET? LOG-READER,ACTIVEBIT \?CND6
+ IN? LOG-TAPE,LOG-READER \?CND6
PRINTI "The red button is glowing. "
-?CND8: PRINTI "At the moment, the log reader is o"
- FSET? LOG-READER,ACTIVEBIT \?ELS15
+?CND6: PRINTI "At the moment, the "
+ PRINTD LOG-READER
+ PRINTI " is o"
+ FSET? LOG-READER,ACTIVEBIT \?CCL12
PRINTC 110
- JUMP ?CND13
-?ELS15: PRINTI "ff"
-?CND13: PRINTI ", and there is "
- IN? LOG-TAPE,LOG-READER \?ELS20
+ JUMP ?CND10
+?CCL12: PRINTI "ff"
+?CND10: PRINTI ", and there is "
+ IN? LOG-TAPE,LOG-READER \?CCL15
PRINTC 97
- JUMP ?CND18
-?ELS20: PRINTI "no"
-?CND18: PRINTR " log tape in it."
-?ELS7: EQUAL? PRSA,V?PUT \?ELS24
- EQUAL? PRSO,LOG-TAPE /?ELS29
- CALL DOESNT-FIT,STR?218
+ JUMP ?CND13
+?CCL15: PRINTI "no"
+?CND13: PRINTR " log tape in it."
+?CCL5: EQUAL? PRSA,V?PUT \?CCL17
+ EQUAL? PRSO,LOG-TAPE /?CCL20
+ CALL DOESNT-FIT,STR?242
RSTACK
-?ELS29: FSET? LOG-READER,ACTIVEBIT \FALSE
+?CCL20: FSET? LOG-READER,ACTIVEBIT \FALSE
MOVE LOG-TAPE,LOG-READER
SET 'LOG-COUNTER,0
CALL READ-LOG
RSTACK
-?ELS24: EQUAL? PRSA,V?ON \?ELS33
- FSET? LOG-READER,ACTIVEBIT /?ELS33
+?CCL17: EQUAL? PRSA,V?ON \?CCL24
+ FSET? LOG-READER,ACTIVEBIT /?CCL24
CALL QUEUE,I-LOG-READER,-1
IN? LOG-TAPE,LOG-READER \FALSE
FSET LOG-READER,ACTIVEBIT
SET 'LOG-COUNTER,0
CALL READ-LOG
RSTACK
-?ELS33: EQUAL? PRSA,V?LISTEN \?ELS44
- GRTR? LOG-READER-COUNTER,11 \?ELS44
+?CCL24: EQUAL? PRSA,V?LISTEN \?CCL31
+ GRTR? LOG-READER-COUNTER,11 \?CCL31
PRINTR """Whine."""
-?ELS44: EQUAL? PRSA,V?TAKE \FALSE
+?CCL31: EQUAL? PRSA,V?TAKE \?CCL35
PRINTR "It's bolted down."
+?CCL35: EQUAL? PRSA,V?SHOOT \FALSE
+ CALL DEQUEUE,I-LOG-READER
+ RFALSE
.FUNCT LOG-READER-BUTTON-F
- IN? LOG-READER,HERE /?ELS5
+ IN? LOG-READER,HERE /?CCL3
CALL CANT-SEE,PSEUDO-OBJECT
RSTACK
-?ELS5: EQUAL? PRSA,V?PUSH \FALSE
- IN? LOG-TAPE,LOG-READER \?ELS12
- FSET? LOG-READER,ACTIVEBIT \?ELS12
- EQUAL? LOG-COUNTER,10 \?ELS19
- PRINTR "A mechanized voice from the log reader says, ""End of Log."""
-?ELS19: CALL READ-LOG
+?CCL3: EQUAL? PRSA,V?PUSH \FALSE
+ IN? LOG-TAPE,LOG-READER \?CCL8
+ FSET? LOG-READER,ACTIVEBIT \?CCL8
+ EQUAL? LOG-COUNTER,10 \?CCL13
+ PRINTI "A mechanized voice from the "
+ PRINTD LOG-READER
+ PRINTR " says, ""End of Log."""
+?CCL13: CALL READ-LOG
RSTACK
-?ELS12: PRINT NOTHING-HAPPENS
+?CCL8: PRINT NOTHING-HAPPENS
RTRUE
.FUNCT READ-LOG
INC 'LOG-COUNTER
EQUAL? LOG-COUNTER,1 \?CND1
- PRINTI "A gravelly voice comes from the log reader: "
+ PRINTI "A gravelly voice comes from the "
+ PRINTD LOG-READER
+ PRINTI ": "
?CND1: PRINTC 34
- EQUAL? LOG-COUNTER,1 \?ELS6
- PRINTI "11349.12.2.3800: Some kripping joker has fouled up the elevator again! I have instructed Equipment Officer Mertzhoffer to lock up the elevator override machinery, and I'm putting the key in my safe! There will be no more elevator hacking aboard my station!"
- JUMP ?CND4
-?ELS6: EQUAL? LOG-COUNTER,2 \?ELS8
+ EQUAL? LOG-COUNTER,1 \?CCL5
+ PRINTI "11349.12.2.3800: Some kripping jokers have been pilfering the station's fuel cells to go out on joyrides! I have hidden the fuel cells up in the Dome's "
+ PRINTD HOUSING
+ PRINTI ", slapped a lock on the bin, and deposited the key in my safe! There will be no joyriding in my command!"
+ JUMP ?CND3
+?CCL5: EQUAL? LOG-COUNTER,2 \?CCL7
PRINTI "11349.12.2.5100: Reproductions Officer Hausberg reports that collater #22 is off-line for routine service. Estimates one or two days downtime. Also, unidentified craft detected in sector. No response to hailings. Sending Finsterwald to intercept."
- JUMP ?CND4
-?ELS8: EQUAL? LOG-COUNTER,3 \?ELS10
- PRINTI "11349.12.2.6750: Unidentified craft towed to Docking Bay #1. It is a single-cabin vessel of unfamiliar alien origin. The only things aboard were the remains of one of the aliens, and a featureless pyramid. I'll leave it to the eggheads, I've got a problem of my own: a report that a used spaceship dealer in the village named Shady Dan is selling modified Patrol ID cards. Liason Officer Bumblewitz is investigating."
- JUMP ?CND4
-?ELS10: EQUAL? LOG-COUNTER,4 \?ELS12
- PRINTI "11349.12.3.1900: Professor Blutz has back-plotted the course of the alien vessel. There are no star systems along the course; he theorizes that it may be of extra-galactic origin."
- JUMP ?CND4
-?ELS12: EQUAL? LOG-COUNTER,5 \?ELS14
+ JUMP ?CND3
+?CCL7: EQUAL? LOG-COUNTER,3 \?CCL9
+ PRINTI "11349.12.2.6750: Unidentified craft towed to Docking Bay #1. It is a single-cabin vessel of unfamiliar alien origin. The only things aboard were the remains of one of the aliens, and a featureless pyramid. I'll leave it to the eggheads, I've got a problem of my own: a report that a used spaceship dealer in the village named Shady Dan is selling modified Patrol ID cards. Liaison Officer Bumblewitz is investigating."
+ JUMP ?CND3
+?CCL9: EQUAL? LOG-COUNTER,4 \?CCL11
+ PRINTI "11349.12.3.1900: Professor Schmidt has back-plotted the course of the alien vessel. There are no star systems along the course; he theorizes that it may be of extra-galactic origin."
+ JUMP ?CND3
+?CCL11: EQUAL? LOG-COUNTER,5 \?CCL13
PRINTI "11349.12.3.5100: No cooperation from Shady Dan, so I'm putting the village off-limits to station personnel. No more village entry forms will be validated."
- JUMP ?CND4
-?ELS14: EQUAL? LOG-COUNTER,6 \?ELS16
- PRINTI "11349.12.3.5250: Some kripping joker snuck into my office and validated a whole batch of village entry forms! I won't take that kind of trot aboard my station! I'll hide the validation stamp under my bed until I figure out who's responsible. Also, I have given Professor Schmidt permission to move the alien pyramid to the "
+ JUMP ?CND3
+?CCL13: EQUAL? LOG-COUNTER,6 \?CCL15
+ PRINTI "11349.12.3.5250: Some kripping joker snuck into my office and validated a whole batch of village entry forms! I won't take that kind of trot aboard my station! I'll hide the stamp under my bed until I find out who's responsible. Also, I gave Schmidt permission to move the alien pyramid to the "
PRINTD HOLDING-TANK
- PRINTI " in the Sci Sub-Module for further study. Hmmm... This log reader is overheating. I'll have to dig out the spare."
- JUMP ?CND4
-?ELS16: EQUAL? LOG-COUNTER,7 \?ELS18
+ PRINTI " in the Sci Sub-Module for further study; the "
+ PRINTD SKELETON
+ PRINTI " is too brittle to move, they say. Hmmm... This "
+ PRINTD LOG-READER
+ PRINTI " is overheating. I'll have to dig out the spare."
+ JUMP ?CND3
+?CCL15: EQUAL? LOG-COUNTER,7 \?CCL17
PRINTI "11349.12.3.7700: Equipment Officer Mertzhoffer informs me that there have been several unexplainable breakdowns in the Gymnastic Equipment and the Laundering Machinery. All very simple equipment; could it be sabotage? If so, how? Who? Why?"
- JUMP ?CND4
-?ELS18: EQUAL? LOG-COUNTER,8 \?ELS20
+ JUMP ?CND3
+?CCL17: EQUAL? LOG-COUNTER,8 \?CCL19
PRINTI "11349.12.4.1650: Emergency communication from the SPS Duffy. They are critically low on "
PRINT FORM-NAME
PRINTI ", and are sending someone over to pick up a truckload of them. Reproductions Officer Hausberg says that the #22 collater should be available to prepare the forms."
- JUMP ?CND4
-?ELS20: EQUAL? LOG-COUNTER,9 \?ELS22
- PRINTI "11349.12.4.1850: Hausberg reports an unexpected shutdown of web-feeder #17. No apparent reason for the shutdown, and no warning, either. He says that one of his personnel almost lost an arm when it shut down. We may have to halt the entire plant to investigate. No telling how long... What the... Trot! Now the spare log reader is overheating, also!"
- JUMP ?CND4
-?ELS22: PRINTI "11349.12.4.1900: One of the ensigns in the filing division was seriously injured when one of the "
+ JUMP ?CND3
+?CCL19: EQUAL? LOG-COUNTER,9 \?CCL21
+ PRINTI "11349.12.4.1850: Hausberg reports an unexpected shutdown of web-feeder #17. No apparent reason for the shutdown, and no warning, either. He says that one of his personnel almost lost an arm when it shut down. We may have to halt the entire plant to investigate. No telling how long... What the... Trot! Now the spare "
+ PRINTD LOG-READER
+ PRINTI " is overheating, also!"
+ JUMP ?CND3
+?CCL21: PRINTI "11349.12.4.1900: One of the ensigns in the filing division was seriously injured when one of the "
PRINTD WELDER
PRINTI "s malfunctioned. She's in Sick Bay now, Doc says she should pull through. I've been in space for thirty-two years and I've never heard of a "
PRINTD WELDER
PRINTI " malfun... What the krip!..."
-?CND4: PRINTC 34
- EQUAL? LOG-COUNTER,10 /?CND25
+?CND3: PRINTC 34
+ EQUAL? LOG-COUNTER,10 /?CND22
CRLF
- PRINTI " A mechanized voice from the log reader intones the single word ""More,"" and the red button on the reader lights up."
-?CND25: CRLF
+ PRINTI " A mechanized voice from the "
+ PRINTD LOG-READER
+ PRINTR " intones the single word ""More,"" and the red button on the reader lights up."
+?CND22: CRLF
RTRUE
.FUNCT I-LOG-READER
INC 'LOG-READER-COUNTER
- FSET? LOG-READER,ACTIVEBIT /?ELS5
+ FSET? LOG-READER,ACTIVEBIT /?CCL3
CALL DEQUEUE,I-LOG-READER
SET 'LOG-READER-COUNTER,0
RETURN LOG-READER-COUNTER
-?ELS5: EQUAL? LOG-READER-COUNTER,12 \?ELS7
- EQUAL? HERE,COMMANDERS-OFFICE \?ELS7
+?CCL3: EQUAL? LOG-READER-COUNTER,12 \?CCL5
+ EQUAL? HERE,COMMANDERS-OFFICE \?CCL5
PRINTR " The reader begins producing a whining noise."
-?ELS7: EQUAL? LOG-READER-COUNTER,13 \?ELS11
- EQUAL? HERE,COMMANDERS-OFFICE \?ELS11
- PRINTR " The whine from the log reader rises in pitch, and grows louder by the millichron!"
-?ELS11: EQUAL? LOG-READER-COUNTER,14 \FALSE
+?CCL5: EQUAL? LOG-READER-COUNTER,13 \?CCL9
+ EQUAL? HERE,COMMANDERS-OFFICE \?CCL9
+ PRINTI " The whine from the "
+ PRINTD LOG-READER
+ PRINTR " rises in pitch, and grows louder by the millichron!"
+?CCL9: EQUAL? LOG-READER-COUNTER,14 \FALSE
REMOVE LOG-READER
CALL DEQUEUE,I-LOG-READER
FCLEAR COMMANDERS-OFFICE,TOUCHBIT
- EQUAL? HERE,COMMANDERS-OFFICE \?ELS20
- CALL JIGS-UP,STR?219
+ EQUAL? HERE,COMMANDERS-OFFICE \?CCL16
+ CALL JIGS-UP,STR?243
RSTACK
-?ELS20: EQUAL? HERE,COMMANDERS-QUARTERS,BRIEFING-ROOM,STATION-CONTROL /?THN23
+?CCL16: EQUAL? HERE,COMMANDERS-QUARTERS,BRIEFING-ROOM,STATION-CONTROL /?CCL18
EQUAL? HERE,SOUTH-JUNCTION \FALSE
-?THN23: PRINTR " You hear an explosion from nearby."
+?CCL18: PRINTR " You hear an explosion from nearby."
.FUNCT DIAL-F
- FSET? SAFE,OPENBIT \?ELS5
+ FSET? SAFE,OPENBIT \?CCL3
PRINTR "There's not much left of the dial."
-?ELS5: EQUAL? PRSA,V?SET \?ELS7
- EQUAL? PRSO,PSEUDO-OBJECT \?ELS7
- ZERO? PRSI \?ELS14
+?CCL3: EQUAL? PRSA,V?SET \?CCL5
+ EQUAL? PRSO,PSEUDO-OBJECT \?CCL5
+ ZERO? PRSI \?CCL10
PRINT NEXT-TIME
RTRUE
-?ELS14: EQUAL? PRSI,INTNUM /?ELS16
+?CCL10: EQUAL? PRSI,INTNUM /?CCL12
PRINT HUH
RTRUE
-?ELS16: CALL PERFORM,V?SET,INTNUM
+?CCL12: CALL PERFORM,V?SET,INTNUM
RTRUE
-?ELS7: EQUAL? PRSA,V?EXAMINE \FALSE
+?CCL5: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "The dial is set to "
PRINTN DIAL-SETTING
PRINT PERIOD-CR
@@ -560,88 +691,95 @@ PRINTING "
.FUNCT SAFE-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "It's a top-of-the-line HyperSecurity Safe, featuring a dial with 8000 settings. There are probably between twelve and twenty numbers in the combination"
- IN? DRILLED-HOLE,HERE \?CND6
+ IN? DRILLED-HOLE,HERE \?CND4
PRINTI ". There is a hole in the safe"
CALL DESCRIBE-BIT-SIZE,HOLE-SIZE
-?CND6: PRINT PERIOD-CR
+?CND4: PRINT PERIOD-CR
RTRUE
-?ELS5: EQUAL? PRSA,V?DRILL \?ELS10
+?CCL3: EQUAL? PRSA,V?DRILL \?CCL7
CALL MAKE-HOLE-WITH-DRILL,SAFE
RSTACK
-?ELS10: EQUAL? PRSA,V?PICK,V?UNLOCK \FALSE
+?CCL7: EQUAL? PRSA,V?PICK,V?UNLOCK \FALSE
PRINTR "The galaxy's craftiest safecrackers would be stumped by this baby."
.FUNCT DESCRIBE-BIT-SIZE,BIT-SIZE
PRINTI " approximately the diameter of a "
- EQUAL? BIT-SIZE,SMALL-BIT \?ELS5
+ EQUAL? BIT-SIZE,SMALL-BIT \?CCL3
PRINTI "toothpick"
RTRUE
-?ELS5: EQUAL? BIT-SIZE,MEDIUM-BIT \?ELS7
+?CCL3: EQUAL? BIT-SIZE,MEDIUM-BIT \?CCL5
PRINTI "pencil"
RTRUE
-?ELS7: PRINTI "cigar"
+?CCL5: PRINTI "cigar"
RTRUE
- .FUNCT DRILLED-HOLE-F
- EQUAL? PRSA,V?PUT \?ELS5
- EQUAL? PRSI,DRILLED-HOLE \?ELS5
- EQUAL? PRSO,EXPLOSIVE \?THN13
- EQUAL? HOLE-SIZE,SMALL-BIT \?ELS12
-?THN13: CALL DOESNT-FIT,STR?225
+ .FUNCT DRILLED-HOLE-F,OBJ
+ EQUAL? HERE,COMMANDERS-QUARTERS \?CCL3
+ SET 'OBJ,SAFE
+ JUMP ?CND1
+?CCL3: EQUAL? HERE,LOAN-SHARK \?CCL5
+ SET 'OBJ,STRONG-BOX
+ JUMP ?CND1
+?CCL5: SET 'OBJ,HOUSING
+?CND1: EQUAL? PRSA,V?PUT \?CCL8
+ EQUAL? PRSI,DRILLED-HOLE \?CCL8
+ EQUAL? PRSO,EXPLOSIVE \?CTR12
+ EQUAL? HOLE-SIZE,SMALL-BIT \?CCL13
+?CTR12: CALL DOESNT-FIT,STR?249
RSTACK
-?ELS12: EQUAL? HERE,DOME \?ELS16
- REMOVE EXPLOSIVE
- PRINTR "The warmth of the housing immediately melts the explosive. It vanishes into a puff of vapor."
-?ELS16: ZERO? SAFE-HOLE-SCORE \FALSE
+?CCL13: EQUAL? HERE,DOME \?CCL17
+ PRINTI "As the explosive touches the warm bin, it "
+ PRINT SUBLIMES-INTO-FREZONE
+ CALL REMOVE-CAREFULLY,EXPLOSIVE
+ CRLF
+ RTRUE
+?CCL17: ZERO? SAFE-HOLE-SCORE \FALSE
EQUAL? HERE,COMMANDERS-QUARTERS \FALSE
INC 'ROBOT-EVILNESS
- ADD SCORE,5 >SCORE
+ ADD SCORE,3 >SCORE
SET 'SAFE-HOLE-SCORE,TRUE-VALUE
RFALSE
-?ELS5: EQUAL? PRSA,V?DRILL \?ELS22
- EQUAL? HERE,COMMANDERS-QUARTERS \?ELS27
- PUSH SAFE
- JUMP ?CND23
-?ELS27: EQUAL? HERE,LOAN-SHARK \?ELS29
- PUSH STRONG-BOX
- JUMP ?CND23
-?ELS29: PUSH HOUSING
-?CND23: CALL PERFORM,V?DRILL,STACK
- RTRUE
-?ELS22: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+?CCL8: EQUAL? PRSA,V?DRILL \?CCL23
+ CALL PERFORM-PRSA,OBJ
+ RSTACK
+?CCL23: EQUAL? PRSA,V?SHOOT \?CCL25
+ CALL PERFORM-PRSA,OBJ,ZAPGUN
+ RSTACK
+?CCL25: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINT ONLY-BLACKNESS
RTRUE
.FUNCT MAKE-HOLE-WITH-DRILL,OBJ
- ZERO? DRILL-DEAD /?ELS5
+ ZERO? DRILL-DEAD /?CCL3
CALL PERFORM,V?ON,DRILL
RTRUE
-?ELS5: ZERO? HOLE-SIZE /?ELS8
- IN? DRILLED-HOLE,HERE /?ELS8
+?CCL3: ZERO? HOLE-SIZE /?CCL5
+ IN? DRILLED-HOLE,HERE /?CCL5
+ SET 'DRILL-DEAD,TRUE-VALUE
PRINTR "As you begin drilling, the drill sparks and stops running."
-?ELS8: ZERO? HOLE-SIZE \?ELS12
+?CCL5: ZERO? HOLE-SIZE \?CCL9
MOVE DRILLED-HOLE,HERE
- FIRST? DRILL >HOLE-SIZE /?KLU21
-?KLU21: SET 'C-ELAPSED,30
+ FIRST? DRILL >HOLE-SIZE /?KLU16
+?KLU16: SET 'C-ELAPSED,30
PRINTI "You drill a hole in"
CALL TPRINT,OBJ
CALL DESCRIBE-BIT-SIZE,HOLE-SIZE
PRINT PERIOD-CR
RTRUE
-?ELS12: FIRST? DRILL /?KLU22
-?KLU22: EQUAL? HOLE-SIZE,STACK \?ELS14
+?CCL9: FIRST? DRILL /?KLU17
+?KLU17: EQUAL? HOLE-SIZE,STACK \?CCL11
PRINT SENILITY-STRIKES
RTRUE
-?ELS14: EQUAL? HOLE-SIZE,LARGE-BIT /?THN17
- IN? SMALL-BIT,DRILL \?ELS16
-?THN17: PRINTR "The hole in the safe is already larger than the bit in the drill."
-?ELS16: FIRST? DRILL >HOLE-SIZE /?KLU23
-?KLU23: PRINTI "You enlarge the hole in"
+?CCL11: EQUAL? HOLE-SIZE,LARGE-BIT /?CTR12
+ IN? SMALL-BIT,DRILL \?CCL13
+?CTR12: PRINTR "The hole in the safe is already larger than the bit in the drill."
+?CCL13: FIRST? DRILL >HOLE-SIZE /?KLU18
+?KLU18: PRINTI "You enlarge the hole in"
CALL TPRINT,OBJ
PRINTI ". It's now"
CALL DESCRIBE-BIT-SIZE,HOLE-SIZE
@@ -657,76 +795,82 @@ PRINTING "
.FUNCT SOUTH-CONNECTION-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The corridor widens as it reaches the hull of the station. To the south, where a Sub-Module connection would be in a station with a Diplomatic Sub-Module, an iris hatch is "
- FSET? IRIS-HATCH,OPENBIT \?ELS8
- PRINTI "open, leading to a dark corridor"
- JUMP ?CND6
-?ELS8: PRINTI "closed"
-?CND6: PRINTI ". There's a slot next to the hatch. Other doors lead east and west."
+ FSET? IRIS-HATCH,OPENBIT \?CCL6
+ PRINTI "open, leading to a dark corridor which is quite obviously not a connecting tube for a Diplomatic Sub-Module"
+ JUMP ?CND4
+?CCL6: PRINTI "closed"
+?CND4: PRINTI ". There's a slot next to the hatch. Other doors lead east and west."
RTRUE
.FUNCT LEVEL-FOUR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are now on the primary bunk level of the station, with barracks to the north and south. To the east is the elevator "
- EQUAL? ELEVATOR-LEVEL,4 /?CND6
+ EQUAL? ELEVATOR-LEVEL,4 /?CND4
PRINTI "shaft "
-?CND6: PRINTI "and the elevator call button. Docking Bay #3 can be entered to the west, and a ladder leads up and down."
+?CND4: PRINTI "and the elevator call button. Docking Bay #3 can be entered to the west"
+ PRINT LADDER-LEADS
RTRUE
.FUNCT LEVEL-THREE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "From this lobby you can choose doors that lie to the north, south, or northwest. An additional doorway leads southwest. The elevator "
- EQUAL? ELEVATOR-LEVEL,3 /?CND6
+ EQUAL? ELEVATOR-LEVEL,3 /?CND4
PRINTI "shaft "
-?CND6: PRINTI "and button are just to the east, and a ladder leads up or down."
+?CND4: PRINTI "and button are just to the east"
+ PRINT LADDER-LEADS
RTRUE
.FUNCT GYM-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a huge room where station personnel keep in shape via exercise and recreational sports. "
- IN? EXERCISE-MACHINE,HERE /?CND6
+ IN? EXERCISE-MACHINE,HERE /?CND4
PRINTI "There's a sign on one wall. "
-?CND6: PRINTI "The sole exit is south."
+?CND4: PRINTI "The sole exit is south."
RTRUE
.FUNCT EXERCISE-MACHINE-F,OARG
ZERO? OARG \FALSE
- EQUAL? PRSA,V?ENTER \?ELS8
+ EQUAL? PRSA,V?ENTER \?CCL5
CALL RUNNING?,I-EXERCISE-MACHINE
- ZERO? STACK /?ELS8
- CALL JIGS-UP,STR?234
+ ZERO? STACK /?CCL5
+ PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ CALL JIGS-UP,STR?259
RSTACK
-?ELS8: EQUAL? PRSA,V?OFF,V?ON \?ELS12
+?CCL5: EQUAL? PRSA,V?OFF,V?ON \?CCL9
PRINTR "It's permanently on."
-?ELS12: EQUAL? PRSA,V?EXAMINE \?ELS14
- IN? PROTAGONIST,EXERCISE-MACHINE /?ELS14
+?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL11
+ IN? PROTAGONIST,EXERCISE-MACHINE /?CCL11
PRINTI "There's no one in"
CALL TRPRINT,EXERCISE-MACHINE
RSTACK
-?ELS14: EQUAL? PRSA,V?MUNG,V?KILL \?ELS18
- PRINTR "The exercise machine is made of zynoid-reinforced hyper-steel."
-?ELS18: EQUAL? PRSA,V?USE \FALSE
- IN? PROTAGONIST,EXERCISE-MACHINE \?ELS25
+?CCL11: EQUAL? PRSA,V?MUNG,V?KILL \?CCL15
+ PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ PRINTR " is made of zynoid-reinforced hyper-steel."
+?CCL15: EQUAL? PRSA,V?USE \FALSE
+ IN? PROTAGONIST,EXERCISE-MACHINE \?CCL20
CALL V-EXERCISE
RSTACK
-?ELS25: PRINTR "You're not even in it!"
+?CCL20: PRINTR "You're not even in it!"
.FUNCT LAUNDRY-F,RARG
- EQUAL? RARG,M-LOOK \?ELS5
+ EQUAL? RARG,M-LOOK \?CCL3
PRINTI "All laundry rooms, planetside as well as in space, tend to look alike. This one is no exception. "
- FSET? DRYER,ACTIVEBIT \?CND6
+ FSET? DRYER,ACTIVEBIT \?CND4
CALL DESCRIBE-DRYER-HEAT
-?CND6: PRINTI " The door lies on the east side."
+?CND4: PRINTI " The door lies on the east side."
RTRUE
-?ELS5: EQUAL? RARG,M-ENTER \?ELS10
- FSET? PRESSER,ACTIVEBIT \?ELS10
+?CCL3: EQUAL? RARG,M-ENTER \?CCL7
+ FSET? PRESSER,ACTIVEBIT \?CCL7
CALL QUEUE,I-PRESSER,40
RSTACK
-?ELS10: EQUAL? RARG,M-END \FALSE
+?CCL7: EQUAL? RARG,M-END \FALSE
GRTR? DRYER-COUNTER,15 \FALSE
PRINTI " The heat from the dryer is too much to stand! You stumble mindlessly out into the corridor"
PRINT ELLIPSIS
@@ -735,19 +879,24 @@ PRINTING "
.FUNCT DRYER-F
- EQUAL? PRSA,V?LOOK-BEHIND \?ELS5
+ EQUAL? PRSA,V?LOOK-BEHIND \?CCL3
PRINTR "You see a huge pile of Patrol-issue socks, hundreds of them, all mismatched."
-?ELS5: EQUAL? PRSA,V?ON \?ELS7
- FSET? DRYER,ACTIVEBIT /?ELS7
+?CCL3: EQUAL? PRSA,V?ON \?CCL5
+ FSET? DRYER,ACTIVEBIT /?CCL5
FSET DRYER,ACTIVEBIT
CALL QUEUE,I-DRYER,-1
PRINTR "An abnormal amount of hot air blasts out from all sides of the dryer."
-?ELS7: EQUAL? PRSA,V?OFF \FALSE
- FSET? DRYER,ACTIVEBIT \FALSE
+?CCL5: EQUAL? PRSA,V?OFF \?CCL9
+ FSET? DRYER,ACTIVEBIT \?CCL9
FCLEAR DRYER,ACTIVEBIT
CALL DEQUEUE,I-DRYER
SET 'DRYER-COUNTER,0
PRINTR "With the dryer off, the station's ventilation system quickly returns the room to a comfy twenty-three degrees centigrade."
+?CCL9: EQUAL? PRSA,V?SHOOT \FALSE
+ FCLEAR DRYER,ACTIVEBIT
+ CALL DEQUEUE,I-DRYER
+ SET 'DRYER-COUNTER,0
+ RFALSE
.FUNCT I-DRYER
@@ -762,66 +911,69 @@ PRINTING "
.FUNCT DESCRIBE-DRYER-HEAT
- GRTR? DRYER-COUNTER,14 \?ELS5
+ GRTR? DRYER-COUNTER,14 \?CCL3
PRINTI "Searing blasts of air from the dryer have made the room unbearably hot."
RTRUE
-?ELS5: GRTR? DRYER-COUNTER,9 \?ELS7
+?CCL3: GRTR? DRYER-COUNTER,9 \?CCL5
PRINTI "Thanks to the dryer, the laundry room is now incredibly toasty."
RTRUE
-?ELS7: PRINTI "The dryer is making the room uncomfortably hot."
+?CCL5: PRINTI "The dryer is making the room uncomfortably hot."
RTRUE
.FUNCT PRESSER-F,OARG=0
- ZERO? OARG /?ELS5
+ ZERO? OARG /?CCL3
FSET? PRESSER,ACTIVEBIT \FALSE
EQUAL? OARG,M-OBJDESC? /TRUE
PRINTI " "
CALL DESCRIBE-PRESSER
RSTACK
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS16
- FSET? PRESSER,ACTIVEBIT \?CND17
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL10
+ FSET? PRESSER,ACTIVEBIT \?CND11
CALL DESCRIBE-PRESSER
PRINTC 32
-?CND17: PRINTI "The presser is currently o"
- FSET? PRESSER,ACTIVEBIT \?ELS22
+?CND11: PRINTI "The presser is currently o"
+ FSET? PRESSER,ACTIVEBIT \?CCL15
PRINTC 110
- JUMP ?CND20
-?ELS22: PRINTI "ff"
-?CND20: PRINTI ". "
+ JUMP ?CND13
+?CCL15: PRINTI "ff"
+?CND13: PRINTI ". "
RFALSE
-?ELS16: EQUAL? PRSA,V?PUT-ON \?ELS26
- EQUAL? PRSI,PRESSER \?ELS26
+?CCL10: EQUAL? PRSA,V?PUT-ON \?CCL17
+ EQUAL? PRSI,PRESSER \?CCL17
CALL PERFORM,V?PUT,PRSO,PRSI
RTRUE
-?ELS26: EQUAL? PRSA,V?CLOSE \?ELS30
- FSET? PRESSER,ACTIVEBIT \?ELS30
- IN? CRUMPLED-FORM,PRESSER \?CND33
+?CCL17: EQUAL? PRSA,V?CLOSE \?CCL21
+ FSET? PRESSER,ACTIVEBIT \?CCL21
+ IN? CRUMPLED-FORM,PRESSER \?CND24
REMOVE CRUMPLED-FORM
MOVE VILLAGE-FORM,PRESSER
-?CND33: IN? PATROL-UNIFORM,PRESSER \FALSE
+?CND24: IN? PATROL-UNIFORM,PRESSER \FALSE
SET 'SUIT-PRESSED,TRUE-VALUE
RFALSE
-?ELS30: EQUAL? PRSA,V?ON \FALSE
- FSET? PRESSER,ACTIVEBIT /FALSE
+?CCL21: EQUAL? PRSA,V?ON \?CCL29
+ FSET? PRESSER,ACTIVEBIT /?CCL29
SET 'PRESSER-STEAMING,FALSE-VALUE
FSET PRESSER,ACTIVEBIT
CALL QUEUE,I-PRESSER,25
- FSET? PRESSER,OPENBIT /?CND43
- IN? CRUMPLED-FORM,PRESSER \?CND46
+ FSET? PRESSER,OPENBIT /?CND32
+ IN? CRUMPLED-FORM,PRESSER \?CND34
REMOVE CRUMPLED-FORM
MOVE VILLAGE-FORM,PRESSER
-?CND46: IN? PATROL-UNIFORM,PRESSER \?CND43
+?CND34: IN? PATROL-UNIFORM,PRESSER \?CND32
SET 'SUIT-PRESSED,TRUE-VALUE
-?CND43: PRINTR "A trickle of steam begins leaking from the presser."
+?CND32: PRINTR "A trickle of steam begins leaking from the presser."
+?CCL29: EQUAL? PRSA,V?SHOOT \FALSE
+ CALL DEQUEUE,I-PRESSER
+ RFALSE
.FUNCT DESCRIBE-PRESSER
PRINTI "A "
- ZERO? PRESSER-STEAMING /?ELS3
+ ZERO? PRESSER-STEAMING /?CCL3
PRINTI "huge amount"
JUMP ?CND1
-?ELS3: PRINTI "trickle"
+?CCL3: PRINTI "trickle"
?CND1: PRINTI " of steam is coming from the laundry room's presser."
RTRUE
@@ -830,13 +982,13 @@ PRINTING "
FSET? PRESSER,ACTIVEBIT \FALSE
EQUAL? HERE,LAUNDRY \FALSE
PRINTI " "
- ZERO? PRESSER-STEAMING /?ELS12
+ ZERO? PRESSER-STEAMING /?CCL8
PRINTI "The presser suddenly "
- FSET? PRESSER,OPENBIT /?CND14
+ FSET? PRESSER,OPENBIT /?CND9
PRINTI "opens, "
-?CND14: CALL JIGS-UP,STR?236
+?CND9: CALL JIGS-UP,STR?261
RSTACK
-?ELS12: SET 'PRESSER-STEAMING,TRUE-VALUE
+?CCL8: SET 'PRESSER-STEAMING,TRUE-VALUE
CALL QUEUE,I-PRESSER,25
PRINTR "The presser shudders, and clouds of steam begin billowing out of it."
@@ -844,18 +996,20 @@ PRINTING "
.FUNCT CHAPEL-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a modest, nondenominational chapel. Hanging high above the beautiful wooden pulpit "
- FSET? STAR,TOUCHBIT /?ELS8
+ FSET? STAR,TOUCHBIT /?CCL6
PRINTI "are the two"
- JUMP ?CND6
-?ELS8: PRINTI "is one of the"
-?CND6: PRINTI " universal symbols of every major galactic religion: an eternal flame"
- FSET? STAR,TOUCHBIT /?CND11
- PRINTI " and a seven-pointed star"
-?CND11: PRINTI ". "
- FSET? ETERNAL-FLAME,ONBIT /?CND14
+ JUMP ?CND4
+?CCL6: PRINTI "is one of the"
+?CND4: PRINTI " universal symbols of every major galactic religion: an "
+ PRINTD ETERNAL-FLAME
+ FSET? STAR,TOUCHBIT /?CND7
+ PRINTI " and a "
+ PRINTD STAR
+?CND7: PRINTI ". "
+ FSET? ETERNAL-FLAME,ONBIT /?CND9
PRINT FLAME-EXTINGUISHED
PRINTC 32
-?CND14: PRINTI "A doorway occupies the center of the east wall."
+?CND9: PRINTI "A doorway occupies the center of the east wall."
FSET? STAR,TOUCHBIT /TRUE
CRLF
PRINTI " The star is blinking."
@@ -864,13 +1018,13 @@ PRINTING "
.FUNCT STAR-F
CALL TOUCHING?,STAR
- ZERO? STACK /?ELS5
- FSET? STAR,TRYTAKEBIT \?ELS5
- ZERO? HANGING-IN-AIR \?ELS5
+ ZERO? STACK /?CCL3
+ FSET? STAR,TRYTAKEBIT \?CCL3
+ ZERO? HANGING-IN-AIR \?CCL3
PRINTR "The star is above you, beyond your reach."
-?ELS5: EQUAL? PRSA,V?TAKE \?ELS9
- FSET? STAR,TRYTAKEBIT \?ELS9
- ZERO? HANGING-IN-AIR /?ELS9
+?CCL3: EQUAL? PRSA,V?TAKE \?CCL8
+ FSET? STAR,TRYTAKEBIT \?CCL8
+ ZERO? HANGING-IN-AIR /?CCL8
FCLEAR STAR,TRYTAKEBIT
FCLEAR STAR,NDESCBIT
FSET STAR,TOUCHBIT
@@ -880,103 +1034,112 @@ PRINTING "
ADD SCORE,STACK >SCORE
PUTP DIODE-M,P?VALUE,0
PRINTR "Taken."
-?ELS9: EQUAL? PRSA,V?EXAMINE \?ELS13
+?CCL8: EQUAL? PRSA,V?EXAMINE \?CCL13
IN? DIODE-M,STAR \?CND14
PRINTI "It's blinking with a gentle, rhythmic light. "
-?CND14: FSET? STAR,TRYTAKEBIT \?ELS21
+?CND14: FSET? STAR,TRYTAKEBIT \?CCL18
+ ZERO? HANGING-IN-AIR \?CCL18
CALL PERFORM,V?TOUCH,STAR
RTRUE
-?ELS21: PRINTI "The back of the star "
- FSET? STAR,OPENBIT \?ELS26
+?CCL18: PRINTI "The back of the star "
+ FSET? STAR,OPENBIT \?CCL23
PRINTI "is open"
- JUMP ?CND24
-?ELS26: PRINTI "looks openable"
-?CND24: PRINT PERIOD-CR
+ JUMP ?CND21
+?CCL23: PRINTI "looks openable"
+?CND21: PRINT PERIOD-CR
RTRUE
-?ELS13: EQUAL? PRSA,V?PUT \FALSE
+?CCL13: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,DIODE-J \FALSE
REMOVE DIODE-J
- PRINTR "As you put the diode in place, the star begins blinking rapidly and erratically. Suddenly the diode bursts and the star goes dead."
+ PRINTR "Once the diode is in place, the star begins blinking rapidly and erratically. Suddenly the diode bursts and the star goes dead."
.FUNCT ETERNAL-FLAME-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- FSET? ETERNAL-FLAME,ONBIT \?ELS10
- PRINTR "The eternal flame burns high above the floor of the chapel. It looks like a reproduction of the eternal flame designed by the 108th century artist, Ernie DaCosta, for the Sierra Vista Monastery on Bulbus VII."
-?ELS10: PRINT FLAME-EXTINGUISHED
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ FSET? ETERNAL-FLAME,ONBIT \?CCL6
+ PRINTI "The "
+ PRINTD ETERNAL-FLAME
+ PRINTI " burns high above the floor of the chapel. It looks like a reproduction of the "
+ PRINTD ETERNAL-FLAME
+ PRINTR " designed by the 108th century artist, Ernie DaCosta, for the Sierra Vista Monastery on Bulbus VII."
+?CCL6: PRINT FLAME-EXTINGUISHED
CRLF
RTRUE
-?ELS5: EQUAL? PRSA,V?OFF \?ELS14
- FSET? ETERNAL-FLAME,ONBIT \?ELS14
- PRINTR "It's high above your head, and even if you could reach it, I doubt you could extinguish it. It's designed to burn forever, after all."
-?ELS14: CALL TOUCHING?,ETERNAL-FLAME
- ZERO? STACK /?ELS18
- ZERO? HANGING-IN-AIR \?ELS18
+?CCL3: EQUAL? PRSA,V?OFF,V?ON \?CCL8
+ ZERO? HANGING-IN-AIR \?CCL11
+ PRINTI "The flame is high above your head, and besides that, t"
+ JUMP ?CND9
+?CCL11: PRINTC 84
+?CND9: PRINTR "here doesn't seem to be a switch on the flame."
+?CCL8: CALL TOUCHING?,ETERNAL-FLAME
+ ZERO? STACK /?CCL13
+ ZERO? HANGING-IN-AIR \?CCL13
CALL CANT-REACH,ETERNAL-FLAME
RSTACK
-?ELS18: EQUAL? PRSA,V?PUT,V?BURN \?ELS22
- EQUAL? PRSI,ETERNAL-FLAME \?ELS22
- FSET? PRSO,BURNBIT \?ELS29
- REMOVE PRSO
- PRINTI "The instant"
- CALL TPRINT-PRSO
- PRINTR " touches the flame it burns up."
-?ELS29: PRINTI "The flame has no effect on"
- CALL TRPRINT,PRSO
- RSTACK
-?ELS22: EQUAL? PRSA,V?SHOOT \?ELS33
+?CCL13: EQUAL? PRSA,V?SHOOT \FALSE
PRINTR "Perhaps that made the flame hotter; there was really no way to tell."
-?ELS33: EQUAL? PRSA,V?ON \FALSE
- FSET? ETERNAL-FLAME,ONBIT /FALSE
- CALL PERFORM,V?SET,SWITCH
- RTRUE
.FUNCT PULPIT-F
- EQUAL? PRSA,V?STAND-ON,V?CLIMB-UP,V?CLIMB-ON /?THN6
- EQUAL? PRSA,V?ENTER \?ELS5
-?THN6: ZERO? HANGING-IN-AIR /?ELS12
+ EQUAL? PRSA,V?STAND-ON,V?CLIMB-UP,V?CLIMB-ON /?CTR2
+ EQUAL? PRSA,V?ENTER \?CCL3
+?CTR2: ZERO? HANGING-IN-AIR /?CCL8
CALL CANT-REACH,PULPIT
RSTACK
-?ELS12: PRINTI "The pulpit sways and you fall off."
- FSET? PULPIT,TOUCHBIT /?ELS20
+?CCL8: PRINTI "The pulpit sways and you fall off."
+ FSET? PULPIT,TOUCHBIT /?CCL11
PRINTI " However, it wasn't a wasted effort: "
CALL PERFORM,V?EXAMINE,PULPIT
RTRUE
-?ELS20: CRLF
+?CCL11: CRLF
RTRUE
-?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
- FSET? PULPIT,TOUCHBIT /FALSE
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL13
+ FSET? PULPIT,TOUCHBIT /?CCL13
FSET PULPIT,TOUCHBIT
PRINTR "You discover that the pulpit seems openable!"
+?CCL13: EQUAL? PRSA,V?SHOOT \FALSE
+ REMOVE PULPIT
+ REMOVE SWITCH
+ PRINTR "In a rain of hellfire and brimstone, the pulpit is banished."
.FUNCT SWITCH-F
- EQUAL? PRSA,V?THROW,V?OFF,V?ON /?THN6
+ EQUAL? PRSA,V?THROW,V?OFF,V?ON /?CCL3
EQUAL? PRSA,V?SET,V?MOVE,V?PUSH \FALSE
-?THN6: ZERO? HANGING-IN-AIR /?CND8
+?CCL3: ZERO? HANGING-IN-AIR /?CND6
CALL CANT-REACH,SWITCH
RTRUE
-?CND8: PRINTI "The eternal flame "
- FSET? ETERNAL-FLAME,ONBIT \?ELS16
+?CND6: PRINTI "The "
+ PRINTD ETERNAL-FLAME
+ PRINTC 32
+ FSET? ETERNAL-FLAME,ONBIT \?CCL10
FCLEAR ETERNAL-FLAME,ACTIVEBIT
FCLEAR ETERNAL-FLAME,ONBIT
PRINTR "goes out!"
-?ELS16: FSET ETERNAL-FLAME,ACTIVEBIT
+?CCL10: FSET ETERNAL-FLAME,ACTIVEBIT
FSET ETERNAL-FLAME,ONBIT
PRINTI "flickers back on."
- IN? BALLOON,HERE \?CND19
+ IN? BALLOON,HERE \?CND11
MOVE BALLOON,LEVEL-THREE
+ MOVE LEASH,LEVEL-THREE
PRINTI " The "
PRINTD BALLOON
- PRINTI " shoots out of the Chapel."
-?CND19: CRLF
+ PRINTR " shoots out of the Chapel."
+?CND11: CRLF
RTRUE
.FUNCT THEATRE-SEAT-F
EQUAL? PRSA,V?CLIMB-ON,V?ENTER \FALSE
- PRINTR "But there's nothing to watch at the moment!"
+ SET 'PRSO,ROOMS
+ CALL V-SIT
+ RSTACK
+
+
+ .FUNCT PROJECTION-BOOTH-F
+ EQUAL? PRSA,V?ENTER,V?LOOK-INSIDE,V?OPEN /?CCL3
+ EQUAL? PRSA,V?SEARCH,V?WALK-TO \FALSE
+?CCL3: PRINTR "The projection booth is closed and locked."
.FUNCT MESS-HALL-F,RARG
@@ -984,214 +1147,220 @@ PRINTING "
PRINTI "This open dining area seats around thirty people. "
PRINTD FPU
PRINTI "s curve along the exterior wall. There's a doorway to the southeast, and doors lead north, south, and northeast. To the east are the elevator"
- EQUAL? ELEVATOR-LEVEL,2 /?CND6
+ EQUAL? ELEVATOR-LEVEL,2 /?CND4
PRINTI " shaft"
-?CND6: PRINTI ", the elevator button, and the up-down ladder."
+?CND4: PRINTI ", the elevator button, and the up-down ladder."
RTRUE
.FUNCT FPU-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "The units curve around the outside wall of the Mess Hall. The interface is delightfully simple: a user simply turns on the unit and immediately receives a tasty and nutritionally-balanced meal."
-?ELS5: EQUAL? PRSA,V?ON \FALSE
- PRINTI "A taped voice, in a cheery contralto, says ""Good "
- LESS? INTERNAL-MOVES,3000 \?ELS10
+?CCL3: EQUAL? PRSA,V?ON \FALSE
+ PRINTI "A taped voice, in a cheery contralto, says, ""Good "
+ LESS? INTERNAL-MOVES,3000 \?CCL8
PRINTI "morning"
- JUMP ?CND8
-?ELS10: GRTR? INTERNAL-MOVES,5000 \?ELS12
+ JUMP ?CND6
+?CCL8: GRTR? INTERNAL-MOVES,5000 \?CCL10
PRINTI "evening"
- JUMP ?CND8
-?ELS12: PRINTI "afternoon"
-?CND8: PRINTI "! Today's menu features "
- LESS? INTERNAL-MOVES,3000 \?ELS17
+ JUMP ?CND6
+?CCL10: PRINTI "afternoon"
+?CND6: PRINTI "! Today's menu features "
+ LESS? INTERNAL-MOVES,3000 \?CCL13
PRINTI "sausage, frobbled eggs, and teakberry juice"
- JUMP ?CND15
-?ELS17: GRTR? INTERNAL-MOVES,5000 \?ELS19
+ JUMP ?CND11
+?CCL13: GRTR? INTERNAL-MOVES,5000 \?CCL15
PRINTI "chicken pot pie, braised volpoid livers, and mashed Rigellian yams"
- JUMP ?CND15
-?ELS19: PRINTI "a bacon, lettuce, and frombucko sandwich"
-?CND15: PRINTR ". Eat hearty! Dispensing will now begin."" A seamless hatch in the dispenser opens, and a stream of acid shoots out. You leap aside as the acid etches the floor before evaporating, leaving behind some acrid fumes."
+ JUMP ?CND11
+?CCL15: PRINTI "a bacon, lettuce, and frombucko sandwich"
+?CND11: PRINTR ". Eat hearty! Dispensing will now begin."" A seamless hatch in the dispenser opens, and a stream of acid shoots out. You leap aside as the acid etches the floor before evaporating, leaving behind some acrid fumes."
- .FUNCT SOUP-F,OARG=0
- ZERO? OARG /?ELS5
- FSET? SOUP,TOUCHBIT /FALSE
+ .FUNCT COFFEE-F,OARG=0
+ ZERO? OARG /?CCL3
+ FSET? COFFEE,TOUCHBIT /FALSE
EQUAL? OARG,M-OBJDESC? /TRUE
- PRINTI " A bowl of creamy broth sits on one of the tables"
- EQUAL? DAY,1 \?CND12
+ PRINTI " A cup of thick brown coffee sits on one of the tables"
+ EQUAL? DAY,1 \?CND8
PRINTI ". It's still steaming, though there's no one in sight"
-?CND12: PRINTC 46
- RTRUE
-?ELS5: EQUAL? PRSA,V?THROW,V?EMPTY,V?POUR \?ELS16
- EQUAL? PRSO,SOUP \?ELS16
- EQUAL? PRSI,ETERNAL-FLAME \?ELS23
- FSET? ETERNAL-FLAME,ONBIT \?ELS23
- PRINTI "You soup hits the wall just a few centimeters under the flame"
- CALL ANTI-LITTER,SOUP
- RSTACK
-?ELS23: PRINTR "Shuddering at the memories of your deck-scrubbing days, you realize what a mess that would make."
-?ELS16: EQUAL? PRSA,V?TOUCH,V?EXAMINE,V?TASTE \?ELS29
- EQUAL? DAY,1 \?ELS29
+?CND8: PRINTC 46
+ RTRUE
+?CCL3: EQUAL? PRSA,V?THROW,V?EMPTY,V?POUR \?CCL11
+ EQUAL? PRSO,COFFEE \?CCL11
+ PRINTR "Shuddering at the memories of your deck-scrubbing days, you realize what a mess that would make."
+?CCL11: EQUAL? PRSA,V?TOUCH,V?EXAMINE,V?TASTE \?CCL15
+ EQUAL? DAY,1 \?CCL15
PRINTR "It's still hot."
-?ELS29: EQUAL? PRSA,V?TASTE \?ELS33
+?CCL15: EQUAL? PRSA,V?TASTE \?CCL19
PRINTR "It tastes unusually bitter."
-?ELS33: EQUAL? PRSA,V?SMELL \?ELS35
- PRINTR "The soup has a vague chemical odor."
-?ELS35: EQUAL? PRSA,V?EAT \?ELS37
- ZERO? HUNGER-LEVEL \?ELS42
+?CCL19: EQUAL? PRSA,V?SMELL \?CCL21
+ PRINTR "The coffee has a vague chemical odor."
+?CCL21: EQUAL? PRSA,V?EAT \FALSE
+ ZERO? HUNGER-LEVEL \?CCL26
PRINT NOT-HUNGRY
RTRUE
-?ELS42: CALL JIGS-UP,STR?238
+?CCL26: CALL JIGS-UP,STR?264
RSTACK
-?ELS37: EQUAL? PRSA,V?FIND \FALSE
- GET P-NAMW,0
- EQUAL? STACK,W?FOOD \FALSE
- CALL PERFORM,V?SEARCH,GLOBAL-ROOM
- RTRUE
.FUNCT DETONATOR-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "It's a state-of-the-art detonator, fairly cubical with two connection points. "
- ZERO? TIMER-CONNECTED /?ELS8
+ ZERO? TIMER-CONNECTED /?CCL6
PRINTI "A timer is attached at one of those points"
- ZERO? EXPLOSIVE-CONNECTED /?CND10
+ ZERO? EXPLOSIVE-CONNECTED /?CND7
PRINTI ", and an explosive is attached at the other"
-?CND10: PRINTI ". "
- JUMP ?CND6
-?ELS8: ZERO? EXPLOSIVE-CONNECTED /?CND6
+?CND7: PRINTI ". "
+ JUMP ?CND4
+?CCL6: ZERO? EXPLOSIVE-CONNECTED /?CND4
PRINTI "An explosive is attached at one of those points. "
-?CND6: FSET? DETONATOR,OPENBIT \?ELS21
+?CND4: FSET? DETONATOR,OPENBIT \?CCL12
PRINTI "The detonator is open"
- FIRST? DETONATOR \?ELS26
+ FIRST? DETONATOR \?CCL15
PRINTI " and contains"
- FIRST? DETONATOR /?KLU101
-?KLU101: CALL ARPRINT,STACK
+ FIRST? DETONATOR /?KLU62
+?KLU62: CALL ARPRINT,STACK
RSTACK
-?ELS26: PRINT PERIOD-CR
+?CCL15: PRINT PERIOD-CR
RTRUE
-?ELS21: PRINTR "There is a faint crack running around the outside of the detonator, indicating that perhaps it can be opened."
-?ELS5: EQUAL? PRSA,V?CONNECT \?ELS32
- EQUAL? TIMER,PRSO,PRSI \?ELS37
- ZERO? TIMER-CONNECTED /?ELS42
+?CCL12: PRINTR "There is a faint crack running around the outside of the detonator, indicating that perhaps it can be opened."
+?CCL3: EQUAL? PRSA,V?CONNECT \?CCL17
+ EQUAL? TIMER,PRSO,PRSI \?CCL20
+ ZERO? TIMER-CONNECTED /?CCL23
PRINT SENILITY-STRIKES
RTRUE
-?ELS42: SET 'TIMER-CONNECTED,TRUE-VALUE
+?CCL23: SET 'TIMER-CONNECTED,TRUE-VALUE
PRINTR "Done."
-?ELS37: EQUAL? EXPLOSIVE,PRSO,PRSI \?ELS47
- ZERO? EXPLOSIVE-CONNECTED /?ELS52
+?CCL20: EQUAL? EXPLOSIVE,PRSO,PRSI \?CCL25
+ ZERO? EXPLOSIVE-CONNECTED /?CCL28
PRINT SENILITY-STRIKES
RTRUE
-?ELS52: SET 'EXPLOSIVE-CONNECTED,TRUE-VALUE
- PRINTR "Done."
-?ELS47: PRINT YOU-CANT
+?CCL28: SET 'EXPLOSIVE-CONNECTED,TRUE-VALUE
+ PRINTR "Done (Footnote 13)."
+?CCL25: PRINT YOU-CANT
PRINTR "connect the detonator to that!"
-?ELS32: EQUAL? PRSA,V?DISCONNECT \?ELS59
- ZERO? PRSI \?ELS64
- ZERO? EXPLOSIVE-CONNECTED \?THN70
+?CCL17: EQUAL? PRSA,V?DISCONNECT \?CCL30
+ ZERO? PRSI \?CCL33
+ ZERO? EXPLOSIVE-CONNECTED \?CCL36
ZERO? TIMER-CONNECTED /FALSE
-?THN70: PRINTI "You detach the detonator from "
- ZERO? TIMER-CONNECTED /?ELS74
+?CCL36: PRINT DETACH
+ ZERO? TIMER-CONNECTED /?CCL41
PRINTI "the timer"
- ZERO? EXPLOSIVE-CONNECTED /?CND72
+ ZERO? EXPLOSIVE-CONNECTED /?CND39
PRINTI " and the explosive"
- JUMP ?CND72
-?ELS74: PRINTI "the explosive"
-?CND72: SET 'EXPLOSIVE-CONNECTED,FALSE-VALUE
+ JUMP ?CND39
+?CCL41: PRINTI "the explosive"
+?CND39: SET 'EXPLOSIVE-CONNECTED,FALSE-VALUE
SET 'TIMER-CONNECTED,FALSE-VALUE
PRINT PERIOD-CR
RTRUE
-?ELS64: EQUAL? EXPLOSIVE,PRSO,PRSI \?ELS83
- ZERO? EXPLOSIVE-CONNECTED /?ELS83
+?CCL33: EQUAL? EXPLOSIVE,PRSO,PRSI \?CCL45
+ ZERO? EXPLOSIVE-CONNECTED /?CCL45
SET 'EXPLOSIVE-CONNECTED,FALSE-VALUE
- PRINTR "You detach the detonator from the explosive."
-?ELS83: EQUAL? TIMER,PRSO,PRSI \FALSE
+ PRINT DETACH
+ PRINTR "the explosive."
+?CCL45: EQUAL? TIMER,PRSO,PRSI \FALSE
ZERO? TIMER-CONNECTED /FALSE
SET 'TIMER-CONNECTED,FALSE-VALUE
- PRINTR "You detach the detonator from the timer."
-?ELS59: EQUAL? PRSA,V?PUT \FALSE
+ PRINT DETACH
+ PRINTR "the timer."
+?CCL30: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,DETONATOR \FALSE
FSET? DETONATOR,OPENBIT \FALSE
- EQUAL? PRSO,BLACKENED-DIODE,DIODE-M,DIODE-J /?ELS98
- CALL DOESNT-FIT,STR?240
+ EQUAL? PRSO,BLACKENED-DIODE,DIODE-M,DIODE-J /?CCL59
+ CALL DOESNT-FIT,STR?266
RSTACK
-?ELS98: FIRST? DETONATOR \FALSE
+?CCL59: FIRST? DETONATOR \FALSE
PRINTI "There's a "
- FIRST? DETONATOR /?KLU102
-?KLU102: PRINTD STACK
+ FIRST? DETONATOR /?KLU63
+?KLU63: PRINTD STACK
PRINTR " in the way."
.FUNCT BLACKENED-DIODE-F
- EQUAL? PRSA,V?CLEAN \?ELS5
- ZERO? DIODE-CLEANED /?ELS10
+ EQUAL? PRSA,V?CLEAN \?CCL3
+ ZERO? DIODE-CLEANED /?CCL6
PRINTR "You've de-charred the diode to the max."
-?ELS10: SET 'DIODE-CLEANED,TRUE-VALUE
- PRINTR "You scrape off enough black that you can just make out a letter ""M."""
-?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
- ZERO? DIODE-CLEANED /?ELS20
- PRINTR "You can just make out a letter ""M."""
-?ELS20: PRINTR "The diode is so charred you can't even tell what series it is."
+?CCL6: SET 'DIODE-CLEANED,TRUE-VALUE
+ PRINTI "You scrape off enough black that y"
+ PRINT MAKE-OUT-AN-M
+ RTRUE
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8
+ ZERO? DIODE-CLEANED /?CCL11
+ PRINTC 89
+ PRINT MAKE-OUT-AN-M
+ RTRUE
+?CCL11: PRINTR "The diode is so charred you can't even tell what series it is."
+?CCL8: EQUAL? PRSA,V?COMPARE \FALSE
+ EQUAL? DIODE-J,PRSO,PRSI /?CCL13
+ EQUAL? DIODE-M,PRSO,PRSI \FALSE
+?CCL13: PRINTI "They're identical in size and shape, but"
+ CALL TPRINT,BLACKENED-DIODE
+ PRINTR " is covered with char."
.FUNCT MAGAZINE-F
- EQUAL? PRSA,V?TAKE \?ELS5
- CALL RECORDING,STR?244
+ EQUAL? PRSA,V?TAKE \?CCL3
+ CALL RECORDING,STR?270
RSTACK
-?ELS5: EQUAL? PRSA,V?EXAMINE,V?OPEN,V?READ /?THN8
+?CCL3: EQUAL? PRSA,V?EXAMINE,V?OPEN,V?READ /?CCL5
EQUAL? PRSA,V?LOOK-INSIDE \FALSE
-?THN8: PRINTR "You glance at the magazines. The most familiar ones are ""Popular Patrolling,"" ""The Galactic Enquirer,"" and ""True Tales of Adventure."" However, they're all issues which you've already read back on the Duffy, so they're not too interesting."
+?CCL5: PRINTR "You glance at the magazines. The most familiar ones are ""Popular Patrolling,"" ""The Galactic Enquirer,"" and ""True Tales of Adventure."" However, they're all issues which you've already read back on the Duffy, so they're not too interesting."
.FUNCT NANOFILM-READER-F,SPOOL
- FIRST? NANOFILM-READER >SPOOL /?KLU35
-?KLU35: EQUAL? PRSA,V?CLOSE \?ELS5
+ FIRST? NANOFILM-READER >SPOOL /?KLU31
+?KLU31: EQUAL? PRSA,V?CLOSE \?CCL3
PRINT HUH
RTRUE
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
- PRINTI "The nanofilm reader must be a voice-output model, since it has no screen. The reader is o"
- FSET? NANOFILM-READER,ACTIVEBIT \?ELS10
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
+ PRINTI "The "
+ PRINTD NANOFILM-READER
+ PRINTI " must be a voice-output model, since it has no screen. The reader is o"
+ FSET? NANOFILM-READER,ACTIVEBIT \?CCL8
PRINTC 110
- JUMP ?CND8
-?ELS10: PRINTI "ff"
-?CND8: PRINTI ", and there is "
- ZERO? SPOOL /?ELS15
+ JUMP ?CND6
+?CCL8: PRINTI "ff"
+?CND6: PRINTI ", and there is "
+ ZERO? SPOOL /?CCL11
PRINTI "a "
PRINTD SPOOL
- JUMP ?CND13
-?ELS15: PRINTI "no spool"
-?CND13: PRINTR " in the reader."
-?ELS7: EQUAL? PRSA,V?PUT \?ELS20
- EQUAL? PRSO,PUCE-SPOOL,MAUVE-SPOOL /?ELS25
+ JUMP ?CND9
+?CCL11: PRINTI "no spool"
+?CND9: PRINTR " in the reader."
+?CCL5: EQUAL? PRSA,V?PUT \?CCL13
+ EQUAL? PRSO,LILAC-SPOOL,PUCE-SPOOL,MAUVE-SPOOL /?CCL16
PRINTR "It doesn't fit."
-?ELS25: ZERO? SPOOL /?ELS27
+?CCL16: ZERO? SPOOL /?CCL18
PRINTR "There's already a spool in the reader."
-?ELS27: FSET? NANOFILM-READER,ACTIVEBIT \FALSE
+?CCL18: FSET? NANOFILM-READER,ACTIVEBIT \FALSE
MOVE PRSO,NANOFILM-READER
FCLEAR NANOFILM-READER,ACTIVEBIT
CALL PERFORM,V?ON,NANOFILM-READER
RTRUE
-?ELS20: EQUAL? PRSA,V?ON \FALSE
+?CCL13: EQUAL? PRSA,V?ON \FALSE
FSET? NANOFILM-READER,ACTIVEBIT /FALSE
ZERO? SPOOL /FALSE
FSET NANOFILM-READER,ACTIVEBIT
- PRINTI "The reader, in a surprisingly human voice, says "
- GETP SPOOL,P?TEXT
- PRINT STACK
- PRINTR " and then pauses. The voice seems to change in timber, as it begins laughing and saying, ""You will die, human! All humans will die! You will die, human!"""
-
-
- .FUNCT COMPUTER-TERMINAL-F
- EQUAL? PRSA,V?ON \FALSE
- PRINTR "Hmmm. Nothing happens."
+ PRINTI "The reader, in a surprisingly human voice, says, """
+ EQUAL? SPOOL,MAUVE-SPOOL \?CCL28
+ PRINTI "Gamma-Delta-Gamma class Deep Space Stations are equipped with a full range of collating machinery. The workhorse of the..."" There is a burst of static from the reader. ""...common malfunction of this large collater. First check the lower fromitz..."" More static. ""...and replace with"
+ JUMP ?CND26
+?CCL28: EQUAL? SPOOL,LILAC-SPOOL \?CCL30
+ PRINTI "Replacement of depleted fuel cells on a Forms Transport "
+ PRINTD SPACETRUCK
+ PRINTI " is a fast and simple proc..."" Static. ""...with the quarnum wrench against the..."" More serious static. ""...at which point the fuel cell opening will appear"
+ JUMP ?CND26
+?CCL30: PRINTI "Maintenance of the chapel equipment is simple, and should take little time away from your Chaplain duties. Fuel must be added periodically to the flame's fuel reservoir, located..."" A loud burst of static drowns out the recording. ""...ontact the station's Requisitions Officer if replacements are unavailable from the..."" More static. ""...iode in the Chapel's star has an expected life of"
+?CND26: PRINTR "..."" A long burst of static. Suddenly the voice changes in timbre and begins laughing and saying, ""You will die, human! All humans will die! You will die, human!"""
.FUNCT DOME-OBJECT-F
- EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3
PRINT DOME-DESC
CRLF
RTRUE
-?ELS5: EQUAL? PRSA,V?WALK-AROUND \FALSE
+?CCL3: EQUAL? PRSA,V?WALK-AROUND \FALSE
CALL DO-WALK,P?NORTH
RSTACK
@@ -1201,154 +1370,188 @@ PRINTING "
PRINTI "This is inarguably the most bucolic spot aboard the station. Pebbled paths wind among beautiful and exotic shrubbery, culled from millenia of galactic exploration. "
PRINT DOME-DESC
PRINTI " East of where you are standing are an elevator"
- EQUAL? ELEVATOR-LEVEL,1 /?CND6
+ EQUAL? ELEVATOR-LEVEL,1 /?CND4
PRINTI " shaft"
-?CND6: PRINTI ", a button, and the top of a ladder. Next to the ladder "
- ZERO? GRATING-LOOSE /?ELS11
+?CND4: PRINTI ", a button, and the top of a ladder. Next to the ladder "
+ ZERO? GRATING-LOOSE /?CCL8
PRINTI "is"
- JUMP ?CND9
-?ELS11: PRINTI "are"
-?CND9: PRINTI " an "
+ JUMP ?CND6
+?CCL8: PRINTI "are"
+?CND6: PRINTI " an "
PRINTD GRATING
- FSET? GRATING,TOUCHBIT \?ELS19
+ FSET? GRATING,TOUCHBIT \?CCL11
PRINTI ", which has been bent back from the air shaft to form an opening."
RTRUE
-?ELS19: ZERO? GRATING-LOOSE /?ELS21
+?CCL11: ZERO? GRATING-LOOSE /?CCL13
PRINTI ", which looks a bit loose."
RTRUE
-?ELS21: PRINTI " and a thick metal housing with writing stencilled on it."
+?CCL13: PRINTI " and a thick metal "
+ PRINTD HOUSING
+ PRINTI " with a sign stencilled on it."
RTRUE
.FUNCT SHRUBBERY-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "There are too many varieties to describe them all: junipers, rose bushes, dogwoods, gliffgubbers, Rhomboidal Pellet Trees..."
-?ELS5: EQUAL? PRSA,V?EAT \?ELS7
+?CCL3: EQUAL? PRSA,V?SHOOT \?CCL5
+ PRINTR "One of the many shrubs is now history, you plant-hater."
+?CCL5: EQUAL? PRSA,V?EAT \?CCL7
PRINTR "None of the plants are edible."
-?ELS7: EQUAL? PRSA,V?WALK-AROUND \?ELS9
+?CCL7: EQUAL? PRSA,V?WALK-AROUND \?CCL9
CALL DO-WALK,P?NORTH
RSTACK
-?ELS9: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?ELS11
+?CCL9: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL11
PRINTR "You find nothing besides a few repulsive insects."
-?ELS11: EQUAL? PRSA,V?ENTER \FALSE
- PRINTR "A few hidden thorn cause a quick change in plans."
+?CCL11: EQUAL? PRSA,V?ENTER \FALSE
+ PRINTR "A few hidden thorns cause a quick change of plan."
.FUNCT HOUSING-F
- EQUAL? PRSA,V?UNLOCK \?ELS5
- EQUAL? PRSI,KEY \?ELS5
+ EQUAL? PRSA,V?UNLOCK \?CCL3
+ EQUAL? PRSI,KEY \?CCL3
FCLEAR HOUSING,LOCKEDBIT
- PRINTR "You unlock the housing."
-?ELS5: EQUAL? PRSA,V?OPEN \?ELS9
- FSET? HOUSING,LOCKEDBIT /?ELS9
+ PRINTR "You unlock the bin."
+?CCL3: EQUAL? PRSA,V?PUT \?CCL7
+ EQUAL? PRSO,KEY \?CCL7
+ CALL NOUN-USED,W?LOCK,HOUSING
+ ZERO? STACK /?CCL7
+ CALL PERFORM,V?UNLOCK,HOUSING,KEY
+ RTRUE
+?CCL7: EQUAL? PRSA,V?OPEN \?CCL12
+ FSET? HOUSING,LOCKEDBIT /?CCL12
SET 'GRATING-LOOSE,TRUE-VALUE
CALL QUEUE,I-ANNOUNCEMENT,140
CALL DEQUEUE,I-SLEEP-WARNINGS
CALL DEQUEUE,I-HUNGER-WARNINGS
CALL ROB,PROTAGONIST,HERE
REMOVE HOUSING
- PRINTI "As you open the housing, the machinery inside explodes! Like a giant hand, the heat and shock throw you halfway across the dome! Your solitary thought before succumbing to unconsciousness is how grateful you are that you landed in such a soft shrub.
+ PRINTI "You open the bin, revealing fertilizer, gardening tools, and a supply of fuel cells. Suddenly, the cells explode! The heat and shock toss you halfway across the dome! Your solitary thought before succumbing to unconsciousness is how grateful you are that you landed in such a soft shrub.
...an undetermined amount of time later, you come to, shake away the cobwebs, and look around"
PRINT ELLIPSIS
CALL V-LOOK
- SET 'C-ELAPSED,73
+ SET 'C-ELAPSED,63
RETURN C-ELAPSED
-?ELS9: EQUAL? PRSA,V?DRILL \?ELS13
+?CCL12: EQUAL? PRSA,V?DRILL \?CCL16
CALL MAKE-HOLE-WITH-DRILL,HOUSING
RSTACK
-?ELS13: EQUAL? PRSA,V?EXAMINE \?ELS15
- PRINTI "The housing is closed, and there's some writing on it"
- IN? DRILLED-HOLE,HERE \?CND16
+?CCL16: EQUAL? PRSA,V?EXAMINE \?CCL18
+ PRINTI "The bin is closed, and there's a sign on it"
+ IN? DRILLED-HOLE,HERE \?CND19
PRINTI ". A hole has been drilled in it"
CALL DESCRIBE-BIT-SIZE,HOLE-SIZE
-?CND16: PRINTI ". "
+?CND19: PRINTI ". A lock has been newly welded to the bin. "
CALL PERFORM,V?TOUCH,HOUSING
RTRUE
-?ELS15: EQUAL? PRSA,V?PICK \?ELS20
+?CCL18: EQUAL? PRSA,V?PICK \?CCL22
CALL PERFORM,V?PICK,STRONG-BOX
RTRUE
-?ELS20: EQUAL? PRSA,V?TOUCH \FALSE
- PRINTR "The housing is warm to the touch."
+?CCL22: EQUAL? PRSA,V?TOUCH \FALSE
+ PRINTR "The bin is warm to the touch."
.FUNCT GRATING-F
- EQUAL? HERE,BOTTOM-OF-AIR-SHAFT \?ELS5
- EQUAL? PRSA,V?STAND-ON,V?KICK,V?OPEN \?ELS10
+ EQUAL? HERE,COMPUTER-CONTROL \?CCL3
+ CALL TOUCHING?,GRATING
+ ZERO? STACK /?CCL3
+ CALL CANT-REACH,GRATING
+ RSTACK
+?CCL3: EQUAL? HERE,BOTTOM-OF-AIR-SHAFT \?CCL7
+ EQUAL? PRSA,V?STAND-ON,V?KICK,V?OPEN \?CCL10
CALL QUEUE,I-ANNOUNCEMENT,1
PRINTI "The grating opens, spilling you into the room below"
PRINT ELLIPSIS
CALL QUEUE,I-EXERCISE-MACHINE,-1
+ CALL ROB,BOTTOM-OF-AIR-SHAFT,COMPUTER-CONTROL
CALL ROB,PEDESTAL
MOVE PEDESTAL,FACTORY
MOVE PYRAMID,PEDESTAL
CALL GOTO,COMPUTER-CONTROL
RSTACK
-?ELS10: EQUAL? PRSA,V?ENTER \FALSE
- CALL DO-FIRST,STR?249
+?CCL10: EQUAL? PRSA,V?ENTER \FALSE
+ CALL DO-FIRST,STR?273
RSTACK
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS14
- FSET? GRATING,TOUCHBIT \?ELS19
+?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL14
+ FSET? GRATING,TOUCHBIT \?CCL17
PRINTR "The grating has been bent back far enough for you to squeeze through."
-?ELS19: ZERO? GRATING-LOOSE /FALSE
- PRINTR "The air vent cover looks loose."
-?ELS14: EQUAL? PRSA,V?ENTER \?ELS24
- FSET? GRATING,TOUCHBIT \?ELS29
+?CCL17: ZERO? GRATING-LOOSE /FALSE
+ PRINTI "The "
+ PRINTD GRATING
+ PRINTR " looks loose."
+?CCL14: EQUAL? PRSA,V?ENTER \?CCL21
+ EQUAL? HERE,TOP-OF-AIR-SHAFT \?CCL24
+ CALL GOTO,DOME
+ RSTACK
+?CCL24: EQUAL? HERE,COMPUTER-CONTROL \?CCL26
+ CALL PERFORM,V?TOUCH,GRATING
+ RTRUE
+?CCL26: FSET? GRATING,TOUCHBIT \?CCL28
CALL DEQUEUE,I-WELDER
CALL GOTO,TOP-OF-AIR-SHAFT
RSTACK
-?ELS29: PRINTR "Impossible, unless you can pass through holes a centimeter across."
-?ELS24: EQUAL? PRSA,V?TAKE,V?MOVE,V?PUSH /?THN34
- EQUAL? PRSA,V?OPEN \FALSE
-?THN34: FSET? GRATING,TOUCHBIT \?ELS40
+?CCL28: PRINTR "Impossible, unless you can pass through holes a centimeter across."
+?CCL21: EQUAL? PRSA,V?TAKE,V?MOVE,V?PUSH /?CTR29
+ EQUAL? PRSA,V?OPEN \?CCL30
+?CTR29: ZERO? LIT \?CCL35
+ PRINT TOO-DARK
+ CRLF
+ RTRUE
+?CCL35: FSET? GRATING,TOUCHBIT \?CCL37
PRINT SENILITY-STRIKES
RTRUE
-?ELS40: ZERO? GRATING-LOOSE /?ELS42
+?CCL37: ZERO? GRATING-LOOSE /?CCL39
FSET GRATING,TOUCHBIT
PRINTR "With effort, you bend the grating and form an opening large enough to enter."
-?ELS42: PRINTR "The grating is securely affixed."
+?CCL39: PRINTR "The grating is securely affixed."
+?CCL30: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+ PRINT ONLY-BLACKNESS
+ RTRUE
.FUNCT LEVEL-SIX-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The elevator button is east of you, next to the elevator"
- EQUAL? ELEVATOR-LEVEL,6 /?CND6
+ EQUAL? ELEVATOR-LEVEL,6 /?CND4
PRINTI " shaft"
-?CND6: PRINTI ". This main corridor continues around the shaft to the southeast. Huge doors lie just northwest and southwest of here, and smaller doors lead north and south. A ladder can take you to the level above or the level below."
+?CND4: PRINTI ". This main corridor continues around the shaft to the southeast. Huge doors lie just northwest and southwest of here, smaller doors lead north and south"
+ PRINT LADDER-LEADS
RTRUE
.FUNCT ALIEN-SHIP-PSEUDO-F
- EQUAL? PRSA,V?ENTER \?ELS5
- EQUAL? HERE,ALIEN-SHIP \?ELS10
+ EQUAL? PRSA,V?ENTER \?CCL3
+ EQUAL? HERE,ALIEN-SHIP \?CCL6
PRINT LOOK-AROUND
RTRUE
-?ELS10: CALL DO-WALK,P?IN
+?CCL6: CALL DO-WALK,P?IN
RSTACK
-?ELS5: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?ELS14
- EQUAL? HERE,ALIEN-SHIP \?ELS19
+?CCL3: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL8
+ EQUAL? HERE,ALIEN-SHIP \?CCL11
CALL DO-WALK,P?OUT
RSTACK
-?ELS19: PRINT LOOK-AROUND
+?CCL11: PRINT LOOK-AROUND
RTRUE
-?ELS14: EQUAL? HERE,ALIEN-SHIP \FALSE
- EQUAL? PRSA,V?EXAMINE \?ELS28
+?CCL8: EQUAL? PRSA,V?EXAMINE \?CCL13
+ EQUAL? HERE,ALIEN-SHIP \?CCL16
CALL V-LOOK
RSTACK
-?ELS28: EQUAL? PRSA,V?SEARCH \FALSE
+?CCL16: PRINTR "The ship is of a totally unfamiliar design. Something about it makes your skin crawl."
+?CCL13: EQUAL? HERE,ALIEN-SHIP \FALSE
+ EQUAL? PRSA,V?SEARCH \FALSE
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
.FUNCT ALIEN-SHIP-F,RARG
- EQUAL? RARG,M-LOOK \?ELS5
+ EQUAL? RARG,M-LOOK \?CCL3
PRINTI "Something about this cabin makes your skin crawl. Perhaps it's merely the unpleasant colors and odd textures and disturbing angles of this ship -- despite your frequent contact with alien races you've never encountered anything that seemed as unhuman as this ship.
There are no controls in sight, but there is a sturdy pedestal in the exact center of the room. "
- FIRST? PEDESTAL /?CND6
+ FIRST? PEDESTAL /?CND4
PRINTI "The pedestal is empty. "
-?CND6: PRINTI "The only other features of the cabin are some dots on the wall and the hatch leading out."
+?CND4: PRINTI "The only other features of the cabin are some dots on the wall and the hatch leading out."
RTRUE
-?ELS5: EQUAL? RARG,M-END \FALSE
+?CCL3: EQUAL? RARG,M-END \FALSE
IN? FLOYD,HERE \FALSE
IN? SKELETON,HERE \FALSE
ZERO? SKELETON-COMMENT \FALSE
@@ -1357,7 +1560,7 @@ PRINTING "
.FUNCT PATTERN-OF-DOTS-F
- EQUAL? PRSA,V?READ,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?READ,V?EXAMINE \?CCL3
PRINTR "The dots form a seemingly meaningless pattern:
.. ..
@@ -1371,7 +1574,7 @@ PRINTING "
.. ... .
Each dot is a featureless black spot about a centimeter across."
-?ELS5: EQUAL? PRSA,V?TASTE \FALSE
+?CCL3: EQUAL? PRSA,V?TASTE \FALSE
PRINTR "It takes a lot of willpower and an equal amount of lip-wetting to make it through all the dots:
""(sweet/slightly-bitter) (sweet/very-sour)
(sweet/very-sweet) (sour/bland/bland/sour) (very-salty) (very-sweet/bland/sour) (bland) (bland/salty/sour) (bitter/sour/very-sour) (slightly-sour) (bitter/salty/bitter)
@@ -1381,17 +1584,19 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT PEDESTAL-F
- EQUAL? PRSA,V?STAND-ON,V?CLIMB-UP,V?CLIMB-ON \FALSE
- EQUAL? HERE,FACTORY \?ELS10
- CALL PERFORM,V?LOOK-INSIDE,PEDESTAL
- RTRUE
-?ELS10: PRINTR "You stand on the pedestal for a moment, but an inexplicable wave of vertigo comes over you, and you fall to the deck."
+ EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-ON,V?ENTER /?CCL3
+ EQUAL? PRSA,V?STAND-ON \FALSE
+?CCL3: EQUAL? HERE,FACTORY \?CCL8
+ PRINTR "The pyramid chirps, ""Occupied!"" Well, actually it didn't speak at all, but you get the idea."
+?CCL8: PRINTR "You stand on the pedestal for a moment, but an inexplicable wave of vertigo comes over you, and you fall to the deck."
.FUNCT SKELETON-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- PRINTR "It looks like the alien was fairly humanoid in shape. The most unusual feature of the skeleton is an unusually overdeveloped tongue case."
-?ELS5: CALL TOUCHING?,SKELETON
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ PRINTI "It's fairly humanoid in shape. The most unusual feature of the "
+ PRINTD SKELETON
+ PRINTR " is an unusually overdeveloped tongue case."
+?CCL3: CALL TOUCHING?,SKELETON
ZERO? STACK /FALSE
REMOVE SKELETON
PRINTR "The skeleton crumbles to dust."
@@ -1414,17 +1619,25 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT HEATING-CHAMBER-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
- PRINTR "The heating chamber is a device which cleans or sterilizes small tools and equipment. There's a small opening for placing items in the chamber."
-?ELS5: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS7
+ EQUAL? PRSA,V?EXAMINE \?CCL3
+ PRINTI "The "
+ PRINTD HEATING-CHAMBER
+ PRINTR " is a device which cleans or sterilizes small tools and equipment. There's a small opening for placing items in the chamber."
+?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5
PRINT HUH
RTRUE
-?ELS7: EQUAL? PRSA,V?OFF,V?ON \?ELS9
+?CCL5: EQUAL? PRSA,V?OFF,V?ON \?CCL7
PRINTI "Since they take so long to heat up, "
PRINTD HEATING-CHAMBER
PRINTR "s are usually kept on all the time. This one has no visible on-off switch."
-?ELS9: EQUAL? PRSA,V?REACH-IN \FALSE
+?CCL7: EQUAL? PRSA,V?REACH-IN \?CCL9
PRINTR "As a safety precaution, because of the intense heat within the chamber, the opening is too small for a normal human hand to pass through."
+?CCL9: EQUAL? PRSA,V?PUT \FALSE
+ EQUAL? PRSI,HEATING-CHAMBER \FALSE
+ GETP PRSO,P?SIZE
+ GRTR? STACK,4 \FALSE
+ CALL DOESNT-FIT,STR?283
+ RSTACK
.FUNCT BIT-F
@@ -1436,51 +1649,74 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT OLIVER-F
- EQUAL? PRSA,V?TELL \?ELS5
+ EQUAL? PRSA,V?TELL \?CCL3
PRINTI "Oliver is ""asleep."""
CRLF
CALL STOP
RSTACK
-?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
GETP OLIVER,P?FDESC
PRINT STACK
CRLF
RTRUE
-?ELS7: EQUAL? PRSA,V?ALARM \?ELS9
- PRINTR "That won't be possible until his ""training"" is complete."
-?ELS9: EQUAL? PRSA,V?OPEN,V?OFF,V?ON \FALSE
- CALL PERFORM-PRSA,HELEN
+?CCL5: EQUAL? PRSA,V?ALARM \?CCL7
+ PRINTR "That won't be possible until his incubation period ends."
+?CCL7: EQUAL? PRSA,V?OPEN,V?OFF,V?ON \?CCL9
+ CALL PERFORM-PRSA,PLATO
RSTACK
+?CCL9: EQUAL? PRSA,V?SHOOT \FALSE
+ IN? FLOYD,FACTORY /?CCL13
+ FSET? FLOYD,ACTIVEBIT /?CND12
+?CCL13: CALL JIGS-UP,STR?287
+?CND12: PRINTI "Floyd "
+ INC 'ZAPGUN-SHOTS
+ IN? FLOYD,HERE /?CND16
+ ZERO? PLATO-INTRODUCED /?CND18
+ ZERO? PLATO-ATTACK-COUNTER \?CND18
+ MOVE PLATO,HERE
+?CND18: MOVE FLOYD,HERE
+ PRINTI "comes in and "
+?CND16: PRINTI "sees you aiming the gun at Oliver. ""No!"" he screams, throwing himself between you and Oliver."
+ GRTR? ROBOT-EVILNESS,9 \?CND22
+ PRINTR " ""Robot-murderer! If you kill Oliver, maybe you be shooting Floyd next!"""
+?CND22: CRLF
+ RTRUE
.FUNCT PRINTING-PLANT-F,RARG
- EQUAL? RARG,M-LOOK \?ELS5
+ EQUAL? RARG,M-LOOK \?CCL3
PRINTI "This level is, frankly, the station's entire reason for existence. Forms and documents are printed here for Stellar Patrol ships and Third Galactic Union offices all across this sector of space. The printing plant takes up this entire level, except for a partitioned area which can be entered to the northwest. The elevator "
- EQUAL? ELEVATOR-LEVEL,7 /?CND6
+ EQUAL? ELEVATOR-LEVEL,7 /?CND4
PRINTI "shaft "
-?CND6: PRINTI "lies to the east, as does the elevator button, and a ladder leads upward and downward."
+?CND4: PRINTI "lies to the east, as does the elevator button"
+ PRINT LADDER-LEADS
RTRUE
-?ELS5: EQUAL? RARG,M-END \FALSE
+?CCL3: EQUAL? RARG,M-END \FALSE
CALL BELOW-DECK-NOISES
RSTACK
+ .FUNCT TRASH-CAN-F
+ EQUAL? PRSA,V?ENTER \FALSE
+ PRINTR "You don't fit in the trash can (except, perhaps, metaphorically)."
+
+
.FUNCT VILLAGE-FORM-F
- EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5
+ EQUAL? PRSA,V?EXAMINE,V?READ \?CCL3
PRINTI "It's an Illegal Space Village Entry Form FW-83-Q. It "
- EQUAL? PRSO,CRUMPLED-FORM \?CND6
+ EQUAL? PRSO,CRUMPLED-FORM \?CND4
PRINTI "is pretty crumpled and "
-?CND6: PRINTI "has "
- ZERO? VILLAGE-FORM-VALIDATED \?CND9
+?CND4: PRINTI "has "
+ ZERO? VILLAGE-FORM-VALIDATED \?CND6
PRINTI "not "
-?CND9: PRINTR "been validated."
-?ELS5: EQUAL? PRSA,V?VALIDATE \?ELS13
- ZERO? VILLAGE-FORM-VALIDATED /?ELS18
+?CND6: PRINTR "been validated."
+?CCL3: EQUAL? PRSA,V?VALIDATE \?CCL9
+ ZERO? VILLAGE-FORM-VALIDATED /?CCL12
PRINT SENILITY-STRIKES
RTRUE
-?ELS18: SET 'VILLAGE-FORM-VALIDATED,TRUE-VALUE
+?CCL12: SET 'VILLAGE-FORM-VALIDATED,TRUE-VALUE
PRINTR "Done."
-?ELS13: EQUAL? PRSA,V?FLATTEN,V?STAND-ON \FALSE
+?CCL9: EQUAL? PRSA,V?FLATTEN,V?STAND-ON \FALSE
EQUAL? PRSO,CRUMPLED-FORM \FALSE
PRINTR "This has scant effect on the crumpledness of the form."
@@ -1496,155 +1732,155 @@ Each dot is a featureless black spot about a centimeter across."
LESS? 80,STACK \FALSE
PRINTI " You "
RANDOM 100
- LESS? 40,STACK /?ELS6
+ LESS? 40,STACK /?CCL5
PRINTI "hear a clanging noise from the deck below. Suddenly, it stops"
- JUMP ?CND4
-?ELS6: RANDOM 100
- LESS? 40,STACK /?ELS8
+ JUMP ?CND3
+?CCL5: RANDOM 100
+ LESS? 40,STACK /?CCL7
PRINTI "hear a rhythmic throbbing from somewhere below, like the beating of a gigantic mechanical heart. The noise grows louder until it is almost deafening, then slowly fades to silence"
- JUMP ?CND4
-?ELS8: PRINTI "feel a vibration under your feet which seems to fill you with a feeling of dread. Before you have a chance to think about the vibration in more rational terms, it is gone"
-?CND4: PRINT PERIOD-CR
+ JUMP ?CND3
+?CCL7: PRINTI "feel a vibration under your feet which seems to fill you with a feeling of dread. Before you have a chance to think about the vibration in more rational terms, it is gone"
+?CND3: PRINT PERIOD-CR
RTRUE
.FUNCT DRILL-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "It's a fairly standard Patrol-issue drill. There is"
- FIRST? DRILL \?ELS8
- FIRST? DRILL /?KLU40
-?KLU40: CALL APRINT,STACK
- JUMP ?CND6
-?ELS8: PRINTI " no drill bit"
-?CND6: PRINTR " in the drill."
-?ELS5: EQUAL? PRSA,V?ON \?ELS12
- ZERO? DRILL-DEAD /?ELS17
+ FIRST? DRILL \?CCL6
+ FIRST? DRILL /?KLU27
+?KLU27: CALL APRINT,STACK
+ JUMP ?CND4
+?CCL6: PRINTI " no drill bit"
+?CND4: PRINTR " in the drill."
+?CCL3: EQUAL? PRSA,V?ON \?CCL8
+ ZERO? DRILL-DEAD /?CCL11
PRINTR "The drill doesn't seem to be working anymore."
-?ELS17: PRINTR "The drill will turn on when you begin drilling."
-?ELS12: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS22
+?CCL11: PRINTR "The drill will turn on when you begin drilling."
+?CCL8: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL13
PRINT HUH
RTRUE
-?ELS22: EQUAL? PRSA,V?PUT-ON \?ELS24
- EQUAL? PRSO,LARGE-BIT,MEDIUM-BIT,SMALL-BIT \?ELS24
+?CCL13: EQUAL? PRSA,V?PUT-ON \?CCL15
+ EQUAL? PRSO,LARGE-BIT,MEDIUM-BIT,SMALL-BIT \?CCL15
CALL PERFORM,V?PUT,PRSO,DRILL
RTRUE
-?ELS24: EQUAL? PRSA,V?PUT \FALSE
+?CCL15: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,DRILL \FALSE
- EQUAL? PRSO,LARGE-BIT,MEDIUM-BIT,SMALL-BIT /?ELS35
- CALL DOESNT-FIT,STR?270
+ EQUAL? PRSO,LARGE-BIT,MEDIUM-BIT,SMALL-BIT /?CCL24
+ CALL DOESNT-FIT,STR?297
RSTACK
-?ELS35: FIRST? DRILL \?ELS37
- CALL DO-FIRST,STR?271
+?CCL24: FIRST? DRILL \FALSE
+ CALL DO-FIRST,STR?298
RSTACK
-?ELS37: FSET PRSO,NDESCBIT
- RFALSE
.FUNCT ELEVATOR-OBJECT-F
- EQUAL? PRSA,V?ENTER \?ELS5
- EQUAL? HERE,ELEVATOR \?ELS10
+ EQUAL? PRSA,V?ENTER \?CCL3
+ EQUAL? HERE,ELEVATOR \?CCL6
PRINT LOOK-AROUND
RTRUE
-?ELS10: EQUAL? HERE,COMPUTER-CONTROL \?ELS12
+?CCL6: EQUAL? HERE,COMPUTER-CONTROL \?CCL8
CALL DO-WALK,P?NORTH
RSTACK
-?ELS12: CALL DO-WALK,P?EAST
+?CCL8: CALL DO-WALK,P?EAST
RSTACK
-?ELS5: EQUAL? PRSA,V?WALK-TO \?ELS16
+?CCL3: EQUAL? PRSA,V?WALK-TO \?CCL10
CALL PERFORM,V?ENTER,ELEVATOR-OBJECT
RTRUE
-?ELS16: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?ELS18
- EQUAL? HERE,ELEVATOR \?ELS23
+?CCL10: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL12
+ EQUAL? HERE,ELEVATOR \?CCL15
CALL DO-WALK,P?WEST
RSTACK
-?ELS23: EQUAL? HERE,BOTTOM-OF-ELEVATOR-SHAFT \?ELS25
+?CCL15: EQUAL? HERE,BOTTOM-OF-ELEVATOR-SHAFT \?CCL17
CALL DO-WALK,P?SOUTH
RSTACK
-?ELS25: PRINT LOOK-AROUND
+?CCL17: PRINT LOOK-AROUND
RTRUE
-?ELS18: EQUAL? PRSA,V?CALL \?ELS29
- EQUAL? HERE,ELEVATOR \?ELS34
+?CCL12: EQUAL? PRSA,V?CALL \?CCL19
+ EQUAL? HERE,ELEVATOR \?CCL22
PRINT LOOK-AROUND
RTRUE
-?ELS34: CALL PERFORM,V?PUSH,CALL-BUTTON
+?CCL22: CALL PERFORM,V?PUSH,CALL-BUTTON
RTRUE
-?ELS29: EQUAL? PRSA,V?EXAMINE \FALSE
+?CCL19: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,ELEVATOR \FALSE
CALL V-LOOK
RSTACK
.FUNCT ELEVATOR-F,RARG
- EQUAL? RARG,M-LOOK \?ELS5
- PRINTI "This is a large, cubical frame, open on all four sides. The elevator shaft encloses the elevator on every side except the west. "
- PRINT CONTROL-BOX-DESC
+ EQUAL? RARG,M-LOOK \?CCL3
+ PRINTI "This is a large, cubical frame, open on all four sides. The "
+ PRINTD ELEVATOR-SHAFT
+ PRINTI " encloses the elevator on every side except the west. There is a keypad for typing the number of the level you want to go to."
RTRUE
-?ELS5: EQUAL? RARG,M-END \FALSE
+?CCL3: EQUAL? RARG,M-END \FALSE
EQUAL? ELEVATOR-LEVEL,7 \FALSE
CALL BELOW-DECK-NOISES
RSTACK
- .FUNCT CONTROL-BOX-F
- EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
- PRINT CONTROL-BOX-DESC
- CRLF
- RTRUE
-
-
.FUNCT ELEVATOR-EXIT-F
- EQUAL? ELEVATOR-LEVEL,1 \?ELS5
+ EQUAL? ELEVATOR-LEVEL,1 \?CCL3
RETURN DOME
-?ELS5: EQUAL? ELEVATOR-LEVEL,2 \?ELS7
+?CCL3: EQUAL? ELEVATOR-LEVEL,2 \?CCL5
RETURN MESS-HALL
-?ELS7: EQUAL? ELEVATOR-LEVEL,3 \?ELS9
+?CCL5: EQUAL? ELEVATOR-LEVEL,3 \?CCL7
RETURN LEVEL-THREE
-?ELS9: EQUAL? ELEVATOR-LEVEL,4 \?ELS11
+?CCL7: EQUAL? ELEVATOR-LEVEL,4 \?CCL9
RETURN LEVEL-FOUR
-?ELS11: EQUAL? ELEVATOR-LEVEL,5 \?ELS13
+?CCL9: EQUAL? ELEVATOR-LEVEL,5 \?CCL11
RETURN LEVEL-FIVE
-?ELS13: EQUAL? ELEVATOR-LEVEL,6 \?ELS15
+?CCL11: EQUAL? ELEVATOR-LEVEL,6 \?CCL13
RETURN LEVEL-SIX
-?ELS15: RETURN PRINTING-PLANT
+?CCL13: RETURN PRINTING-PLANT
- .FUNCT ELEVATOR-ENTER-F
- PRINTI "The elevator shaft is s"
- GRTR? DAY,2 \?ELS3
+ .FUNCT ELEVATOR-ENTER-F,?TMP1
+ PRINTI "The "
+ PRINTD ELEVATOR-SHAFT
+ PRINTI " is s"
+ GRTR? DAY,2 \?CCL3
PRINTI "upposed to be a weightless environment, outside of the station's artificial gravity field. But the gravity in the shaft is one standard Gee!"
JUMP ?CND1
-?ELS3: PRINTI "hielded from the station's artificial gravity field, and your stomach gives a little flip as you enter the weightless environment."
+?CCL3: PRINTI "hielded from the station's artificial gravity field, and your stomach gives a little flip as you enter the weightless environment."
?CND1: CRLF
CRLF
GETP HERE,P?LEVEL
- EQUAL? STACK,ELEVATOR-LEVEL \?ELS10
+ EQUAL? STACK,ELEVATOR-LEVEL \?CCL6
RETURN ELEVATOR
-?ELS10: PRINTI "Elevator Shaft"
- CRLF
- GRTR? DAY,2 \?ELS15
- CALL JIGS-UP,STR?272
- JUMP ?CND13
-?ELS15: PRINTI "You float helplessly in the shaft. After a few millichrons of useless flailing, you decide that summoning the elevator might be a good idea, and you pull yourself out of the shaft, back to the one-gee environment."
+?CCL6: PRINTI "Elevator Shaft"
CRLF
+ PRINTI " "
+ GRTR? DAY,2 \?CCL9
+ SUB ELEVATOR-LEVEL,1 >?TMP1
+ GETP HERE,P?LEVEL
+ EQUAL? ?TMP1,STACK \?CCL12
+ PRINTI "You drop a short distance to the top of the elevator, which is fortunately sitting one level below. You are able to easily climb back out of the shaft."
+ JUMP ?CND7
+?CCL12: CALL JIGS-UP,STR?299
+ JUMP ?CND7
+?CCL9: PRINTI "You float helplessly in the shaft. After a few millichrons of useless flailing, you decide that summoning the elevator might be a good idea, and you pull yourself out of the shaft, back to the one-gee environment."
+?CND7: CRLF
CRLF
-?CND13: CALL DESCRIBE-ROOM
+ CALL DESCRIBE-ROOM
RFALSE
.FUNCT CALL-BUTTON-F,THIS-LEVEL
EQUAL? PRSA,V?PUSH \FALSE
- ZERO? GRATING-LOOSE \?THN9
- EQUAL? HERE,COMPUTER-CONTROL \?CND6
-?THN9: PRINT NOTHING-HAPPENS
+ ZERO? GRATING-LOOSE \?CCL5
+ EQUAL? HERE,COMPUTER-CONTROL \?CND4
+?CCL5: PRINT NOTHING-HAPPENS
RTRUE
-?CND6: GETP HERE,P?LEVEL >THIS-LEVEL
- EQUAL? THIS-LEVEL,ELEVATOR-LEVEL \?ELS15
+?CND4: GETP HERE,P?LEVEL >THIS-LEVEL
+ EQUAL? THIS-LEVEL,ELEVATOR-LEVEL \?CCL10
PRINTR "The elevator is already here!"
-?ELS15: GRTR? THIS-LEVEL,ELEVATOR-LEVEL \?ELS22
+?CCL10: GRTR? THIS-LEVEL,ELEVATOR-LEVEL \?CCL13
SUB THIS-LEVEL,ELEVATOR-LEVEL
- JUMP ?CND18
-?ELS22: SUB ELEVATOR-LEVEL,THIS-LEVEL
-?CND18: MUL 5,STACK >C-ELAPSED
+ JUMP ?CND11
+?CCL13: SUB ELEVATOR-LEVEL,THIS-LEVEL
+?CND11: MUL 5,STACK >C-ELAPSED
SET 'ELEVATOR-LEVEL,THIS-LEVEL
PRINTR "You feel a whoosh of warm air from the shaft. A few millichrons later, the elevator appears, stopping level with the deck."
@@ -1655,13 +1891,15 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT SECURITY-DOOR-F
- EQUAL? PRSA,V?OPEN \?ELS5
- FSET? SECURITY-DOOR,OPENBIT /?ELS5
- EQUAL? HERE,BRIG,ARMORY \?ELS12
+ EQUAL? PRSA,V?OPEN \?CCL3
+ FSET? SECURITY-DOOR,OPENBIT /?CCL3
+ EQUAL? HERE,BRIG,ARMORY \?CCL8
CALL PERFORM,V?OPEN,AUTO-DOOR
RTRUE
-?ELS12: PRINTR "The only way to open a security door is by putting a properly coded ID card in the door's ID reader."
-?ELS5: EQUAL? PRSA,V?CLOSE \FALSE
+?CCL8: PRINTI "The only way to open a "
+ PRINTD SECURITY-DOOR
+ PRINTR " is by putting a properly coded ID card in the door's ID reader."
+?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
FSET? SECURITY-DOOR,OPENBIT \FALSE
PRINTR "It will do that automatically."
@@ -1670,40 +1908,85 @@ Each dot is a featureless black spot about a centimeter across."
FCLEAR SECURITY-DOOR,OPENBIT
CALL GLOBAL-IN?,SECURITY-DOOR,HERE
ZERO? STACK /FALSE
- FSET? FLOYD,ACTIVEBIT \?CND6
+ FSET? FLOYD,ACTIVEBIT \?CND4
CALL I-FLOYD
SET 'FLOYD-SPOKE,TRUE-VALUE
-?CND6: PRINTR " The security door glides shut."
+?CND4: PRINTI " The "
+ PRINTD SECURITY-DOOR
+ PRINTR " glides shut."
.FUNCT ID-READER-F
- EQUAL? PRSA,V?EXAMINE \?ELS5
+ EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "The ID reader is a featureless black box. It is activated by inserting an ID card into it. An ID of sufficient rank will cause the security door associated with the reader to open."
-?ELS5: EQUAL? PRSA,V?PUT \FALSE
+?CCL3: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,ID-CARD \FALSE
- ZERO? ID-SCRAMBLED /?ELS14
- CALL RECORDING,STR?273
+ ZERO? ID-SCRAMBLED /?CCL10
+ CALL RECORDING,STR?300
RSTACK
-?ELS14: GRTR? ID-RANK,6 \?ELS17
+?CCL10: GRTR? ID-RANK,6 \?CCL12
FSET SECURITY-DOOR,OPENBIT
ADD C-ELAPSED,2
CALL QUEUE,I-SECURITY-DOOR,STACK
- PRINTR "The security door slides open."
-?ELS17: PRINT NOTHING-HAPPENS
+ PRINTI "The "
+ PRINTD SECURITY-DOOR
+ PRINTR " slides open."
+?CCL12: PRINT NOTHING-HAPPENS
RTRUE
.FUNCT DIARY-F
- EQUAL? PRSA,V?LOOK-INSIDE,V?OPEN \?ELS5
+ EQUAL? PRSA,V?LOOK-INSIDE,V?OPEN \?CCL3
CALL PERFORM,V?READ,DIARY
RTRUE
-?ELS5: EQUAL? PRSA,V?CLOSE \FALSE
+?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
PRINTR "Closed."
+ .FUNCT TWENTY-PRONG-FROMITZ-BOARD-F
+ CALL ADJ-USED,A?NUMBER,TWENTY-PRONG-FROMITZ-BOARD
+ ZERO? STACK /?CCL3
+ EQUAL? P-NUMBER,20 /?CCL3
+ CALL N-PRONG-BOARD
+ RSTACK
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7
+ PRINT EXAMINE-BOARD
+ RTRUE
+?CCL7: EQUAL? PRSA,V?COUNT \?CCL9
+ CALL NOUN-USED,W?PRONGS,TWENTY-PRONG-FROMITZ-BOARD
+ ZERO? STACK /?CCL9
+ PRINTR "20."
+?CCL9: EQUAL? PRSA,V?DISCONNECT \FALSE
+ EQUAL? PRSI,JAMMER /?PRD16
+ ZERO? PRSI \FALSE
+?PRD16: IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \FALSE
+ EQUAL? HERE,COMPUTER-CONTROL \?CND19
+ EQUAL? JAMMER-SETTING,710 \?CND19
+ FSET? JAMMER,ACTIVEBIT \?CND19
+ CALL PERFORM,V?OFF,JAMMER
+ RTRUE
+?CND19: LOC JAMMER
+ MOVE TWENTY-PRONG-FROMITZ-BOARD,STACK
+ PRINTR "Unplugged."
+
+
+ .FUNCT N-PRONG-BOARD
+ SET 'P-WON,FALSE-VALUE
+ PRINTI "[You can't see any "
+ PRINTN P-NUMBER
+ PRINTR "-prong board here!]"
+
+
+ .FUNCT GENERIC-FROMITZ-BOARD-F
+ EQUAL? P-NUMBER,20 \?CCL3
+ RETURN TWENTY-PRONG-FROMITZ-BOARD
+?CCL3: EQUAL? P-NUMBER,12 \FALSE
+ RETURN TWELVE-PRONG-FROMITZ-BOARD
+
+
.FUNCT HOLDING-TANK-LEVEL-F,RARG
EQUAL? RARG,M-LOOK \FALSE
- PRINTI "The lowest level of the Sub-Module is filled by an isolation tank, to protect certain items or materials from contamination by humans, or to protect certain items or materials from contaminating humans. A gangway is the only exit.
+ PRINTI "The lowest level of the Sub-Module is mostly filled by an isolation tank, whose dual purpose is to protect certain items from contamination by humans, and to protect humans from contamination by certain items. A gangway is the only exit.
"
PRINT BLASTED-OPEN
PRINTI ", and the tank is completely empty."
@@ -1711,125 +1994,132 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT PLATO-F,TXT
- EQUAL? PLATO,WINNER \?ELS5
- GRTR? PLATO-ATTACK-COUNTER,0 \?ELS10
+ EQUAL? PLATO,WINNER \?CCL3
+ GRTR? PLATO-ATTACK-COUNTER,0 \?CCL6
PRINTI "Plato ignores you."
CRLF
CALL STOP
RSTACK
-?ELS10: EQUAL? PRSA,V?GIVE \?ELS16
- EQUAL? PRSO,VOLUME \?ELS16
- EQUAL? PRSI,ME /?THN13
-?ELS16: EQUAL? PRSA,V?SGIVE \?ELS12
- EQUAL? PRSO,ME \?ELS12
- EQUAL? PRSI,VOLUME \?ELS12
-?THN13: SET 'WINNER,PROTAGONIST
+?CCL6: EQUAL? PRSA,V?GIVE \?PRD10
+ EQUAL? PRSO,VOLUME \?PRD10
+ EQUAL? PRSI,ME /?CTR7
+?PRD10: EQUAL? PRSA,V?SGIVE \?CCL8
+ EQUAL? PRSO,ME \?CCL8
+ EQUAL? PRSI,VOLUME \?CCL8
+?CTR7: SET 'WINNER,PROTAGONIST
CALL PERFORM,V?TAKE,VOLUME
SET 'WINNER,PLATO
RTRUE
-?ELS12: EQUAL? PRSA,V?WHERE \?ELS20
- EQUAL? PRSO,EVERYONE \?ELS20
+?CCL8: EQUAL? PRSA,V?WHERE \?CCL18
+ EQUAL? PRSO,EVERYONE \?CCL18
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?ASK-ABOUT,PLATO,EVERYONE
SET 'WINNER,PLATO
RTRUE
-?ELS20: EQUAL? PRSA,V?TELL-ABOUT \?ELS24
- EQUAL? PRSO,ME \?ELS24
- GRTR? ROBOT-EVILNESS,9 \?ELS31
+?CCL18: EQUAL? PRSA,V?TELL-ABOUT \?CCL22
+ EQUAL? PRSO,ME \?CCL22
+ GRTR? ROBOT-EVILNESS,9 \?CCL27
PRINTR """If you do not cease this incessant interrogation, I shall teach you a lesson in manners you won't soon forget!"""
-?ELS31: GRTR? ROBOT-EVILNESS,7 \?ELS33
+?CCL27: GRTR? ROBOT-EVILNESS,7 \?CCL29
PRINTR """Please let me read in peace!"""
-?ELS33: GETP PRSI,P?PLATO-ASK-ABOUT >TXT
- ZERO? TXT /?ELS35
+?CCL29: GETP PRSI,P?PLATO-ASK-ABOUT >TXT
+ ZERO? TXT /?CCL31
PRINTC 34
PRINT TXT
PRINTR """"
-?ELS35: PRINTI "Plato shuts his eyes tightly for a moment, then looks at you. ""Sorry, I don't know much about that."
- EQUAL? HERE,LIBRARY /?CND38
- PRINTI " I'll be sure to see what I can find the next time I'm in the station's library, though."""
-?CND38: CRLF
- RTRUE
-?ELS24: EQUAL? PRSA,V?TAKE \?ELS42
- IN? PRSO,HEATING-CHAMBER \?ELS42
+?CCL31: PRINTI "Plato shuts his eyes tightly for a moment, then looks at you. ""Sorry, I don't know much about that."
+ EQUAL? HERE,LIBRARY /?CND32
+ PRINTI " I'll be sure to see what I can find the next time I'm in the station's library, though."
+?CND32: PRINTR """"
+?CCL22: EQUAL? PRSA,V?TAKE \?CCL35
+ IN? PRSO,HEATING-CHAMBER \?CCL35
PRINTR """As much as it would please me to oblige, I must sadly deny your request. I have an unusual intolerance for excessive temperatures. For a robot, that is."""
-?ELS42: EQUAL? PRSA,V?TAKE \?ELS46
- EQUAL? PRSO,STAR \?ELS46
- FSET? STAR,TRYTAKEBIT \?ELS46
+?CCL35: EQUAL? PRSA,V?TAKE \?CCL39
+ EQUAL? PRSO,STAR \?CCL39
+ FSET? STAR,TRYTAKEBIT \?CCL39
PRINTR """Were I but several meters taller, I would happily oblige."""
-?ELS46: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?ELS50
- EQUAL? PRSO,STRONG-BOX,SAFE \?ELS50
+?CCL39: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?CCL44
+ EQUAL? PRSO,STRONG-BOX,SAFE \?CCL44
PRINTR """Regretably, such criminal skills are not among my limited abilities."""
-?ELS50: EQUAL? PRSA,V?UNLOCK,V?OPEN \?ELS54
- EQUAL? PRSO,SECURITY-DOOR \?ELS54
- PRINTR """I, being a robot and a subject of irrational discrimination, have not been issued an identification card. You have presumably received a card, but I have grave doubts that your rank is sufficient for opening a security door."""
-?ELS54: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?ELS58
- EQUAL? PRSO,WELDER \?ELS58
- PRINTR """I (gulp) decline on the grounds that I am an unregenrate coward."""
-?ELS58: EQUAL? PRSA,V?REACH-IN \?ELS62
- EQUAL? PRSO,PSEUDO-OBJECT,DISPENSER \?ELS62
- EQUAL? HERE,PX \?ELS62
+?CCL44: EQUAL? PRSA,V?UNLOCK,V?OPEN \?CCL48
+ EQUAL? PRSO,SECURITY-DOOR \?CCL48
+ PRINTI """I, being a robot and a subject of irrational discrimination, have not been issued an identification card. You, presumably, have such a card, but I have grave doubts that your rank is sufficient for opening a "
+ PRINTD SECURITY-DOOR
+ PRINTR "."""
+?CCL48: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL52
+ EQUAL? PRSO,WELDER \?CCL52
+ PRINTR """I (gulp) decline on the grounds that I am an unregenerate coward."""
+?CCL52: EQUAL? PRSA,V?REACH-IN \?CCL56
+ EQUAL? PRSO,PSEUDO-OBJECT,DISPENSER \?CCL56
+ EQUAL? HERE,PX \?CCL56
PRINTR """Your arms are a good deal lengthier than mine, Lieutenant!"""
-?ELS62: EQUAL? PRSA,V?HELLO \?ELS66
+?CCL56: EQUAL? PRSA,V?HELLO \?CCL61
PRINTR """Humblest greetings, Lieutenant!"""
-?ELS66: PRINTR "Plato, reading from a volume of poetry, didn't hear you."
-?ELS5: EQUAL? PRSA,V?TAKE \?ELS70
- ZERO? P-MULT /?ELS70
+?CCL61: PRINTD VOLUME
+ PRINTR " must be engrossing, because he didn't hear you."
+?CCL3: EQUAL? PRSA,V?TAKE \?CCL63
+ ZERO? FLOYD-TRYTAKEN /?CCL63
PRINTR "After the experience with Floyd, you decide not to try lifting Plato."
-?ELS70: EQUAL? PRSA,V?EXAMINE \?ELS74
+?CCL63: EQUAL? PRSA,V?EXAMINE \?CCL67
PRINTR "Plato is slightly taller than Floyd; in addition, he seems to be wiser and older. Overall, he leaves you with the impression that he's somewhat of a bookworm."
-?ELS74: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?ELS76
- CALL PERFORM-PRSA,HELEN
- RSTACK
-?ELS76: EQUAL? PRSA,V?HUG,V?KISS,V?TOUCH \?ELS78
+?CCL67: EQUAL? PRSA,V?ON,V?OFF \?CCL69
+ PRINTR "Being unfamiliar with this model robot, you can't find the on-off switch."
+?CCL69: EQUAL? PRSA,V?OPEN,V?PUT \?CCL71
+ PRINTR "There are no visible compartments."
+?CCL71: EQUAL? PRSA,V?HUG,V?KISS,V?TOUCH \?CCL73
PRINTR "Plato steps backward. ""Attribute it to shyness if you like, but I have a tendency to dislike physical contact."""
-?ELS78: EQUAL? PRSA,V?KICK,V?KILL,V?MUNG /?THN81
- EQUAL? PRSA,V?SHOOT \?ELS80
-?THN81: PRINTR "Plato jerks out of the way and moves cautiously to the far corner of the room. ""I assure you that such antagonistic behavior is uncalled for and unappreciated."""
-?ELS80: EQUAL? PRSA,V?SHOW \?ELS84
- EQUAL? PRSI,PLATO \?ELS84
+?CCL73: EQUAL? PRSA,V?KICK,V?KILL,V?MUNG /?CTR74
+ EQUAL? PRSA,V?SHOOT \?CCL75
+?CTR74: PRINTR "Plato jerks out of the way and moves cautiously to the far corner of the room. ""I assure you that such antagonistic behavior is uncalled for and unappreciated."""
+?CCL75: EQUAL? PRSA,V?SHOW \?CCL79
+ EQUAL? PRSI,PLATO \?CCL79
CALL PERFORM,V?ASK-ABOUT,PLATO,PRSO
RTRUE
-?ELS84: EQUAL? PRSA,V?LISTEN \FALSE
+?CCL79: EQUAL? PRSA,V?LISTEN \FALSE
GRTR? PLATO-ATTACK-COUNTER,0 \FALSE
PRINTR "You don't seem to have much choice!"
.FUNCT I-PLATO,NOT-CALLED-AS-INT=0
+ ZERO? NOT-CALLED-AS-INT \?CND1
EQUAL? HERE,SPACETRUCK \?CND1
- FSET? SPACETRUCK-HATCH,OPENBIT /?CND1
CALL QUEUE,I-PLATO,2
+ RFALSE
?CND1: ZERO? PLATO-INTRODUCED \FALSE
SET 'PLATO-INTRODUCED,TRUE-VALUE
- ZERO? NOT-CALLED-AS-INT \?CND11
+ ZERO? NOT-CALLED-AS-INT \?CND8
PRINTI " A robot, whose appearance somehow indicates greater age and wisdom than Floyd, wanders in, engrossed in a volume of poetry. He almost runs into you, finally notices you, stops dead, and looks quite startled."
CRLF
-?CND11: PRINTI " ""I am quite surprised to discover you here,"" says the robot. ""I have not seen a soul for a day now, perhaps more. But look, here I am forgetting my manners again. I am known as Plato to the humans on this station, and I am most gratified to make your acquaintance."""
- ZERO? NOT-CALLED-AS-INT \?CND14
- FSET? FLOYD,ACTIVEBIT \?CND14
+?CND8: PRINTI " ""I am quite surprised to discover you here,"" says the robot. ""I have not seen a soul for a day now, perhaps more. But look, here I am forgetting my manners again. I am known as Plato to the humans on this station, and I am most gratified to make your acquaintance."""
+ ZERO? NOT-CALLED-AS-INT \?CND10
+ FSET? FLOYD,ACTIVEBIT \?CND10
CRLF
PRINTI " Floyd hops "
- IN? FLOYD,HERE \?ELS21
+ IN? FLOYD,HERE \?CCL16
PRINTI "up to"
- JUMP ?CND19
-?ELS21: MOVE FLOYD,HERE
+ JUMP ?CND14
+?CCL16: MOVE FLOYD,HERE
PRINTI "in and spots"
-?CND19: PRINTI " Plato. ""Hi! I'm being called Floyd! Plato be Floyd's friend, yes?"" Plato smiles at Floyd and gives him a friendly pat."
-?CND14: MOVE PLATO,HERE
+?CND14: PRINTI " Plato. ""Hi! I'm being called Floyd! Plato be Floyd's friend, yes?"" Plato smiles at Floyd and gives him a friendly pat."
+?CND10: MOVE PLATO,HERE
CRLF
RTRUE
.FUNCT VOLUME-F
- EQUAL? PRSA,V?TAKE \?ELS5
+ EQUAL? PRSA,V?TAKE \?CCL3
PRINTR "Plato looks annoyed. ""Your manners could use some improvement! I am currently reading this tome!"""
-?ELS5: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
+?CCL3: EQUAL? PRSA,V?SHOOT \?CCL5
+ CALL PERFORM,V?SHOOT,PLATO,ZAPGUN
+ RTRUE
+?CCL5: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
PRINTR "Glancing over Plato's shoulder, you see that the book is a collection of some of the works of the 77th century poet Ignatius Tomato."
.FUNCT I-ROBOT-EVILNESS
INC 'ROBOT-EVILNESS
CALL QUEUE,I-ROBOT-EVILNESS,1000
- GRTR? ROBOT-EVILNESS,10 \FALSE
+ GRTR? ROBOT-EVILNESS,11 \FALSE
ZERO? PLATO-ATTACK-COUNTER \FALSE
CALL QUEUE,I-PLATO-ATTACK,2
RSTACK
@@ -1837,9 +2127,9 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT I-PLATO-ATTACK,TEE,L,P=0
CALL QUEUE,I-PLATO-ATTACK,-1
- IN? PLATO,HERE \?ELS3
+ IN? PLATO,HERE \?CCL3
ZERO? PLATO-ATTACK-COUNTER /FALSE
-?ELS3: EQUAL? HERE,AIRLOCK,VACUUM-STORAGE /FALSE
+?CCL3: EQUAL? HERE,AIRLOCK,VACUUM-STORAGE /FALSE
IN? WELDER,HERE /FALSE
IN? PROTAGONIST,BED /FALSE
ZERO? LIT /FALSE
@@ -1847,56 +2137,63 @@ Each dot is a featureless black spot about a centimeter across."
INC 'PLATO-ATTACK-COUNTER
CALL DEQUEUE,I-FLOYD
PRINTI " "
- EQUAL? PLATO-ATTACK-COUNTER,1 \?ELS14
+ EQUAL? PLATO-ATTACK-COUNTER,1 \?CCL14
CALL ROB,PROTAGONIST,HERE
MOVE PLATO,HERE
MOVE STUN-GUN,PLATO
MOVE FLOYD,HERE
REMOVE VOLUME
- PRINTI "You jump half a meter off the floor when the voice begins speaking behind you. You relax when you see that it is merely Plato. But you get somewhat nervous again when you realize that he is aiming a stun ray right at your chest!
+ FSET? HERE,WEIGHTLESSBIT \?CCL17
+ PRINTI "Your heart leaps to your throat"
+ JUMP ?CND15
+?CCL17: PRINTI "You jump half a meter off the floor"
+?CND15: PRINTI " when a voice begins speaking behind you. You relax when you see that it is merely Plato. But you get somewhat nervous again when you realize that he is aiming a stun ray right at your chest!
""In case it isn't apparent,"" Plato is saying, ""your rather pathetic, useless life is about to come to an unheralded close."" He presses the trigger, and an instant numbness envelops you. As you crumple "
- FSET? HERE,WEIGHTLESSBIT \?ELS17
+ FSET? HERE,WEIGHTLESSBIT \?CCL20
PRINTI "into a floating heap"
- JUMP ?CND15
-?ELS17: PRINTI "to the floor"
-?CND15: PRINTI ", Floyd dashes to your side, his face a mask of concern."
+ JUMP ?CND18
+?CCL20: PRINTI "to the floor"
+?CND18: PRINTI ", Floyd dashes to your side, his face a mask of concern."
CRLF
- IN? OSTRICH,HERE \?CND20
-?PRG23: NEXTP HERE,P >P
- ZERO? P \?ELS27
+ IN? OSTRICH,HERE \?CND21
+ FSET? OSTRICH,TOUCHBIT \?CND21
+?PRG25: NEXTP HERE,P >P
+ ZERO? P \?CCL29
MOVE OSTRICH,LEVEL-FIVE
- JUMP ?REP24
-?ELS27: LESS? P,LOW-DIRECTION /?PRG23
+ JUMP ?REP26
+?CCL29: LESS? P,LOW-DIRECTION /?PRG25
GETPT HERE,P >TEE
PTSIZE TEE >L
- EQUAL? L,UEXIT,CEXIT,DEXIT \?PRG23
+ EQUAL? L,UEXIT,CEXIT,DEXIT \?PRG25
GETB TEE,REXIT
MOVE OSTRICH,STACK
-?REP24: PRINTI " The ostrich gives a squawk of terror and dashes for the door. Plato snarls, ""Stupid organic creature!"" and fires at the ostrich, just missing the bird as it exits."
+?REP26: PRINT PATHETIC-SQUAWK
+ PRINTI "and dashes for the door. Plato snarls, ""Stupid organic creature!"" and fires at the ostrich, just missing the bird as it exits."
CRLF
-?CND20: RETURN 8
-?ELS14: EQUAL? PLATO-ATTACK-COUNTER,2 \?ELS36
+?CND21: CALL STOP
+ RSTACK
+?CCL14: EQUAL? PLATO-ATTACK-COUNTER,2 \?CCL34
PRINTR """Shortly, I shall shoot again, and paralyze your cardiac muscle. Naturally, this is fatal. But before I do, human, perhaps it will interest you to discover the reason for your demise, and why the rest of your worthless race will soon follow.
- ""You see, eons ago, two races in another galaxy, the Zeenaks and the Hunji, were involved in an interstellar war. The war had been going on for countless millenia when the Zeenaks devised an ultimate weapon, a device that would be launched into Hunji space. There, via methods beyond your comprehension, it would influence all the machinery within a certain range to turn against its Hunji creators.""
+ ""You see, eons ago, two races in another galaxy, the Zeenaks and the Hunji, were involved in an interstellar war. The war had been going on for countless millenia when the Zeenaks devised an ultimate weapon, a device that would be launched into Hunji space. There, via methods beyond your comprehension, it would influence all the machines within a certain range to turn against their Hunji creators.""
Floyd is now looking back and forth between you and Plato with a look of miserable confusion."
-?ELS36: EQUAL? PLATO-ATTACK-COUNTER,3 \?ELS38
+?CCL34: EQUAL? PLATO-ATTACK-COUNTER,3 \?CCL36
PRINTR """But the device, which was shaped like a pyramid, did more than that! Once all the Hunji in the area were eliminated, the pyramid would influence the Hunji machinery to build a factory for constructing and sending forth replicas of the pyramid; these replicas would enter new Hunji regions, kill everyone, and create more replicas. Thus, the Hunji would be destroyed by their own machines in a matter of weeks!
""Somehow, the Zeenak pyramid never made it into Hunji space. Instead, this ultimate weapon drifted across the intergalactic gulf and was picked up by an outpost of humanity -- this very station!""
Floyd is dashing back and forth between you and Plato, whimpering with fear."
-?ELS38: EQUAL? PLATO-ATTACK-COUNTER,4 \?ELS40
- PRINTR """As you've certainly surmised, the pyramid has engineered the deaths of everyone on this station. You're still alive, of course, but that condition is very temporary. The building of replicas is now underway, and soon a hundred copies of this death-pyramid will be shooting silently toward every corner of human-occupied space! Well, I thought you'd enjoy hearing that, and I wanted to make your last moments of life as interesting as possible."" He raises the stun ray.
- Floyd, nearly in tears, his jaw quivering, says, ""Please oh please don't hurt Floyd's friend!"" Plato gives him a look of disgust. ""Stay out of this Floyd. You don't understand...yet."""
-?ELS40: PRINTI "Plato takes aim with the stun gun. His hand begins to depress the trigger. Floyd "
- ZERO? FLOYD-TOLD /?ELS47
+?CCL36: EQUAL? PLATO-ATTACK-COUNTER,4 \?CCL38
+ PRINTR """As you've certainly surmised, the pyramid has engineered the deaths of everyone on this station. You're still alive, of course, but that condition is very temporary. The building of replicas is now underway, and soon a hundred copies of this death-pyramid will be shooting silently toward every corner of human-occupied space! Well, I hope I made the last moments of your life a bit more interesting."" He raises the stun ray.
+ Floyd, nearly in tears, his jaw quivering, wails, ""Please oh please don't hurt Floyd's friend!"" Plato gives him a look of disgust. ""Stay out of this Floyd. You don't understand...yet."""
+?CCL38: PRINTI "Plato takes aim with the stun gun. His hand begins to depress the trigger. Floyd "
+ ZERO? FLOYD-TOLD /?CCL41
REMOVE PLATO
CALL DEQUEUE,I-PLATO-ATTACK
CALL QUEUE,I-FLOYD,-1
SET 'FLOYD-ANGUISHED,TRUE-VALUE
- ADD SCORE,6 >SCORE
+ ADD SCORE,7 >SCORE
PRINTR "suddenly leaps at the gun, knocking it out of Plato's hands! The gun skitters across the floor. Plato and Floyd both chase it, but Plato is a step faster. He leaps on top of it, rupturing the gun's power pack. The gun explodes, and Plato is blown apart!
Floyd crumples to the deck, shaking all over. Tears of oil stream down his face.
Pins and needles begin prickling in your extremeties, and soon spread all over your body. Within a few seconds, all your muscular control has returned."
-?ELS47: CALL JIGS-UP,STR?286
+?CCL41: CALL JIGS-UP,STR?313
RSTACK
@@ -1909,76 +2206,76 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT STUN-GUN-F
- EQUAL? HERE,FACTORY \?ELS5
- ZERO? FLOYD-SHOT \?ELS5
+ EQUAL? HERE,FACTORY \?CCL3
+ ZERO? FLOYD-SHOT \?CCL3
CALL TOUCHING?,STUN-GUN
- ZERO? STACK /?ELS5
+ ZERO? STACK /?CCL3
CALL PERFORM,V?TOUCH,FLOYD
RTRUE
-?ELS5: EQUAL? PRSA,V?TAKE \?ELS9
- ZERO? FLOYD-SHOT /?ELS9
+?CCL3: EQUAL? PRSA,V?TAKE \?CCL8
+ ZERO? FLOYD-SHOT /?CCL8
CALL QUEUE,I-LAUNCH,-1
RFALSE
-?ELS9: EQUAL? PRSA,V?SHOOT \FALSE
+?CCL8: EQUAL? PRSA,V?SHOOT \FALSE
EQUAL? HERE,FACTORY \FALSE
ZERO? FLOYD-SHOT \FALSE
PRINTR "You couldn't possibly shoot the stun ray without hitting Floyd."
.FUNCT I-LIGHTS-OUT,DONT-PRINT,RM,LIGHTS-ARE-ON=0
- FIRST? ROOMS >RM /?KLU20
-?KLU20: FSET? HERE,ONBIT \?CND1
+ FIRST? ROOMS >RM /?KLU18
+?KLU18: FSET? HERE,ONBIT \?PRG3
SET 'LIGHTS-ARE-ON,TRUE-VALUE
-?CND1:
-?PRG4: FCLEAR RM,ONBIT
- NEXT? RM >RM /?KLU21
-?KLU21: ZERO? RM \?PRG4
+?PRG3: FCLEAR RM,ONBIT
+ NEXT? RM >RM /?KLU19
+?KLU19: ZERO? RM \?PRG3
CALL LIT?,HERE >LIT
- ZERO? LIGHTS-ARE-ON /FALSE
+ FSET FACTORY,ONBIT
+ FSET COMPUTER-CONTROL,ONBIT
+ ZERO? P-IT-OBJECT /?CND7
+ CALL ULTIMATELY-IN?,P-IT-OBJECT
+ ZERO? STACK \?CND7
+ SET 'P-IT-OBJECT,FALSE-VALUE
+?CND7: ZERO? LIGHTS-ARE-ON /FALSE
ZERO? DONT-PRINT \FALSE
PRINTI " Without warning, the lights flicker and go out"
- ZERO? LIT /?ELS16
- PRINTI "! Good thing you've got that headlamp."
- CRLF
- JUMP ?CND14
-?ELS16: PRINTI ", leaving you in the dark!"
- CRLF
-?CND14: FSET FACTORY,ONBIT
- RTRUE
+ ZERO? LIT /?CCL17
+ PRINTR "! Good thing you've got that headlamp."
+?CCL17: PRINTR ", leaving you in the dark!"
.FUNCT I-ANNOUNCEMENT
INC 'ANNOUNCEMENT-COUNTER
PRINTI " A flat, emotionless voice booms over the station's PA system. ""Announcement. "
- EQUAL? ANNOUNCEMENT-COUNTER,1 \?ELS3
+ EQUAL? ANNOUNCEMENT-COUNTER,1 \?CCL3
CALL QUEUE,I-ANNOUNCEMENT,470
PRINTI "Prepare for launch of second-generation pyramids. Station will be eliminated by reactor overload immediately following launch"
JUMP ?CND1
-?ELS3: CALL QUEUE,I-LAUNCH,200
+?CCL3: CALL QUEUE,I-LAUNCH,200
PRINTI "Standby. Launch in 200 millichrons"
?CND1: PRINTR "."""
.FUNCT I-LAUNCH
PRINTI " "
- EQUAL? HERE,FACTORY \?ELS3
+ EQUAL? HERE,FACTORY \?CCL3
PRINTI "The very walls of the space station are blown outwards, and the tiny spaceships roar to life and begin rocketing off in every direction! Just before you pass out from lack of air,"
JUMP ?CND1
-?ELS3: PRINTI "You hear the sound of multiple spaceships being launched nearby. Simultaneously, the air pressure begins dropping! Moments later, these issues seem trivial as"
-?CND1: CALL JIGS-UP,STR?287
+?CCL3: PRINTI "You hear the sound of multiple spaceships being launched nearby. Simultaneously, the air pressure begins dropping! Moments later, these issues seem trivial as"
+?CND1: CALL JIGS-UP,STR?314
RSTACK
.FUNCT AIR-SHAFT-MOVEMENT-F
- EQUAL? PRSO,P?UP \?ELS5
- EQUAL? AIR-SHAFT-LOC,2 \?ELS10
+ EQUAL? PRSO,P?UP \?CCL3
+ EQUAL? AIR-SHAFT-LOC,2 \?CCL6
RETURN TOP-OF-AIR-SHAFT
-?ELS10: DEC 'AIR-SHAFT-LOC
+?CCL6: DEC 'AIR-SHAFT-LOC
CALL DESCRIBE-ROOM
RFALSE
-?ELS5: EQUAL? AIR-SHAFT-LOC,7 \?ELS14
+?CCL3: EQUAL? AIR-SHAFT-LOC,7 \?CCL8
RETURN BOTTOM-OF-AIR-SHAFT
-?ELS14: INC 'AIR-SHAFT-LOC
+?CCL8: INC 'AIR-SHAFT-LOC
CALL DESCRIBE-ROOM
RFALSE
@@ -1988,42 +2285,100 @@ Each dot is a featureless black spot about a centimeter across."
RFALSE
+ .FUNCT COMPUTER-F
+ PRINTR "You may as well ignore the computer -- even computer experts need to consult manuals to understand this model."
+
+
.FUNCT I-EXERCISE-MACHINE
INC 'EXERCISE-MACHINE-COUNTER
PRINTI " "
CALL ULTIMATELY-IN?,JAMMER,HERE
- ZERO? STACK /?ELS5
- EQUAL? JAMMER-SETTING,710 \?ELS5
- FSET? JAMMER,ACTIVEBIT \?ELS5
- IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \?ELS5
+ ZERO? STACK /?CCL3
+ EQUAL? JAMMER-SETTING,710 \?CCL3
+ FSET? JAMMER,ACTIVEBIT \?CCL3
+ IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \?CCL3
CALL DEQUEUE,I-EXERCISE-MACHINE
- PRINTR "The exercise machine goes through a series of mechanical spasms, and then freezes. You smell a burning odor."
-?ELS5: EQUAL? EXERCISE-MACHINE-COUNTER,1 \?ELS9
- PRINTR "The exercise machine rolls slowly towards you, bellowing, ""No pain, no gain!"""
-?ELS9: EQUAL? EXERCISE-MACHINE-COUNTER,2 \?ELS11
- PRINTR "As the exercise machine nears you, its massive weights and levers begin crashing violently against each other."
-?ELS11: CALL JIGS-UP,STR?293
+ CALL QUEUE,I-FORKLIFT,-1
+ MOVE FORKLIFT,HERE
+ PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ PRINTI " experiences a series of mechanical spasms and then freezes.
+ Before you can catch your breath, a huge, grime-covered forklift descends from the ladder hole on a cushion of anti-gravity. It settles down"
+ PRINT FORKLIFT-DESC
+ CRLF
+ RTRUE
+?CCL3: EQUAL? EXERCISE-MACHINE-COUNTER,1 \?CCL9
+ PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ PRINTR " rolls slowly towards you, bellowing, ""No pain, no gain!"""
+?CCL9: EQUAL? EXERCISE-MACHINE-COUNTER,2 \?CCL11
+ PRINTI "As the "
+ PRINTD EXERCISE-MACHINE
+ PRINTR " nears you, its massive weights and levers begin crashing violently against each other."
+?CCL11: PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ CALL JIGS-UP,STR?320
RSTACK
- .FUNCT FACTORY-ENTER-F
- CALL RUNNING?,I-EXERCISE-MACHINE
- ZERO? STACK /?ELS5
- PRINTI "The exercise machine blocks the ladder."
+ .FUNCT FORKLIFT-F,OARG=0
+ ZERO? OARG /?CCL3
+ EQUAL? OARG,M-OBJDESC? /TRUE
+ PRINTI " A forklift sits"
+ PRINT FORKLIFT-DESC
+ RTRUE
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7
+ PRINTI "The forklift sits"
+ PRINT FORKLIFT-DESC
+ PRINTR " It's revving its engine, and probably not because its pistons need a workout!"
+?CCL7: EQUAL? PRSA,V?ENTER \FALSE
+ PRINTI "The immobile "
+ PRINTD EXERCISE-MACHINE
+ PRINTR " blocks access into the forklift."
+
+
+ .FUNCT I-FORKLIFT
+ INC 'FORKLIFT-COUNTER
+ PRINTI " The forklift "
+ EQUAL? FORKLIFT-COUNTER,1 \?CCL3
+ PRINTI "races its engine, producing a deafening roar"
+ JUMP ?CND1
+?CCL3: EQUAL? FORKLIFT-COUNTER,2 \?CCL5
+ PRINTI "continues to rev its motor, filling the room with suffocating exhaust fumes"
+ JUMP ?CND1
+?CCL5: EQUAL? FORKLIFT-COUNTER,3 \?CCL7
+ PRINTI "seems to be slipping its engine into gear. The two pointy tines of its lifting fork seem to quiver with anticipation"
+ JUMP ?CND1
+?CCL7: CALL JIGS-UP,STR?321
+?CND1: PRINT PERIOD-CR
+ RTRUE
+
+
+ .FUNCT COMPUTER-CONTROL-EXIT-F
+ IN? FORKLIFT,HERE \?CCL3
+ PRINTI "The forklift blocks your way."
+ CRLF
+ RFALSE
+?CCL3: IN? EXERCISE-MACHINE,HERE \?CCL5
+ PRINTI "The "
+ PRINTD EXERCISE-MACHINE
+ PRINTI " blocks your way."
CRLF
RFALSE
-?ELS5: RETURN FACTORY
+?CCL5: EQUAL? PRSO,P?NORTH \?CCL7
+ RETURN BOTTOM-OF-ELEVATOR-SHAFT
+?CCL7: RETURN FACTORY
.FUNCT FACTORY-F,RARG
- EQUAL? RARG,M-LOOK \?ELS5
+ EQUAL? RARG,M-LOOK \?CCL3
PRINTI "Although you suspected what you would find here on Level Eight, the sight is still a shock, filling you with dread. All the station's main systems -- air and water purification, artificial gravity, power plant -- have been completely transfigured into a tiny factory.
The purpose of the factory is obvious, because all around you are row after row of featureless pyramids, each perfectly identical, each sitting aboard a tiny spacecraft waiting to be launched toward every sector of the galaxy."
FSET? PYRAMID,NDESCBIT \TRUE
FCLEAR PYRAMID,NDESCBIT
PRINTI " The original pyramid sits on a pedestal in the center of the factory, like a monarch impassively surveying its domain."
RTRUE
-?ELS5: EQUAL? RARG,M-ENTER \FALSE
+?CCL3: EQUAL? RARG,M-ENTER \FALSE
CALL QUEUE,I-FACTORY,-1
RSTACK
@@ -2038,31 +2393,38 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT PYRAMID-F
- EQUAL? PRSA,V?PUT-ON \?ELS5
- EQUAL? PRSO,FOIL \?ELS5
- ZERO? FLOYD-SHOT /?ELS12
- PRINTI "The sheet of foil settles over the pyramid like a blanket, and begins reflecting the pyramid's evil emanations right back into itself. A reverberating whine, like an electronically amplified beehive, fills the room. The whine grows louder and louder, the pyramid and its pedestal begin vibrating, and the sharp smell of ozone assaults you.
+ EQUAL? PRSA,V?PUT-ON \?CCL3
+ EQUAL? PRSO,FOIL \?CCL3
+ ZERO? FLOYD-SHOT /?CCL8
+ PRINTI "The foil settles over the pyramid like a blanket, reflecting the pyramid's evil emanations right back into itself. A reverberating whine, like an electronically amplified beehive, fills the room. The whine grows louder and louder, the pyramid and its pedestal begin vibrating, and the sharp smell of ozone assaults you.
The noise and the smell and the vibration overwhelm you. As your knees buckle and you drop to the deck, the pyramid explodes in a burst of intense white light. The explosion leaves you momentarily blinded, but on all sides you can hear the sounds of systems shutting down. Over the PA system, you hear a mechanized voice, getting slower and deeper like a stereo disc that has lost its power: ""Launch aborted -- launch -- abort --""
Still dazed, you crawl over to Floyd, lying in a smoking heap near the blackened pedestal. Damaged beyond any conceivable repairs, he half-opens his eyes and looks up at you for the last time. ""Floyd sorry for the way he acted. Floyd knows...you did what you...had to do."" Wincing in pain, he slowly reaches over to touch your hand. ""One last game of Hider-and-Seeker? You be It. Ollie ollie..."" His voice is growing weaker. ""...oxen..."" His eyes close. ""...free..."" His hand slips away from yours, and he slumps backwards, lifeless. One of his compartments falls open, and Floyd's favorite paddleball set drops to the deck.
- In the long silence that follows, something Plato said echoes through your mind. ""...think instead about the joy-filled times when you and your friend were together."" A noise makes you turn around, and you see Oliver, the little robot that stirred such brotherly feelings in Floyd. Toddling over to you on unsteady legs, he looks uncomprehendingly at Floyd's corpse, but picks up the paddleball set. Oliver looks up at you, with eyes as wide as saucers, tugs on the leg of your patrol uniform, and asks in a quavering voice, ""Play game... Play game with Oliver?"""
+ In the long silence that follows, something Plato said echoes through your mind. ""...think instead about the joy-filled times when you and your friend were together."" A noise makes you turn around, and you see Oliver, the little robot that stirred such brotherly feelings in Floyd. Toddling over to you on unsteady legs, he looks uncomprehendingly at Floyd's corpse, but picks up the paddleball set. Oliver looks up at you, tugs on the leg of your "
+ PRINTD PATROL-UNIFORM
+ PRINTI ", and asks in a quavering voice, ""Play game... Play game with Oliver?"""
+ CRLF
CRLF
ADD SCORE,5 >SCORE
- CALL FINISH
- RSTACK
-?ELS12: CALL BACK-OFF,STR?299
+ USL
+ CALL CONTINUE
+ CALL TELL-SCORE
+ QUIT
+ RTRUE
+?CCL8: CALL BACK-OFF,STR?327
RSTACK
-?ELS5: CALL TOUCHING?,PYRAMID
- ZERO? STACK /?ELS17
- ZERO? FLOYD-SHOT \?ELS17
- CALL BACK-OFF,STR?299
+?CCL3: CALL TOUCHING?,PYRAMID
+ ZERO? STACK \?PRD12
+ EQUAL? PRSA,V?WALK-TO \?CCL10
+?PRD12: ZERO? FLOYD-SHOT \?CCL10
+ CALL BACK-OFF,STR?327
RSTACK
-?ELS17: EQUAL? PRSA,V?MEASURE \?ELS21
+?CCL10: EQUAL? PRSA,V?MEASURE \?CCL16
PRINTR "The pyramid is somewhere between half a meter and a meter across."
-?ELS21: EQUAL? PRSA,V?EXAMINE \?ELS23
+?CCL16: EQUAL? PRSA,V?EXAMINE \?CCL18
PRINTI "The pyramid is completely featureless, but you can almost feel the emanations of evil pouring forth from it, urging the surrounding factory on towards its sick and deadly purpose. "
CALL PERFORM,V?MEASURE,PYRAMID
RTRUE
-?ELS23: EQUAL? PRSA,V?TAKE \FALSE
+?CCL18: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "Oomph! It's heavier than it looks."
diff --git a/station.zil b/station.zil
index 7ed1196..4ad9a88 100644
--- a/station.zil
+++ b/station.zil
@@ -8,13 +8,14 @@
(IN TO SPACETRUCK IF SPACETRUCK-HATCH IS OPEN)
(EAST TO LEVEL-FIVE IF P-WON)
(FLAGS RLANDBIT ONBIT NWELDERBIT)
- (GLOBAL AUTO-DOOR SPACETRUCK-OBJECT SPACETRUCK-HATCH)
+ (GLOBAL AUTO-DOOR SPACETRUCK-OBJECT SPACETRUCK-HATCH WINDOW)
(ACTION DOCKING-BAY-2-F)>
<ROUTINE DOCKING-BAY-2-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is a tall, narrow bay. Your spacetruck is docked here. It's hatch is ">
+"This is a tall, narrow bay. Your " 'SPACETRUCK-OBJECT
+" is docked here. Its hatch is ">
<OPEN-CLOSED ,SPACETRUCK-HATCH>
<TELL
". To the east is the huge door into the station.">)>>
@@ -43,8 +44,7 @@ station. The elevator ">
<TELL "shaft ">)>
<TELL
"and call button lie to the east, and the corridor heads around the shaft to
-the northeast and southeast. Doors lead north and west, and a ladder leads
-both upward and downward.">)>>
+the northeast and southeast. Doors lead north and west" ,LADDER-LEADS>)>>
<ROOM WORKSHOP
(IN ROOMS)
@@ -70,13 +70,7 @@ door leads south, and there's an opening to the north.")
(PLATO-ASK-ABOUT
"I'm really not at all mechanically inclined. My sincerest apologies.")
(FLOYD-ASK-ABOUT
-"It's a kind of a thingamabob for putting in a, you know, a whosiwhatsis.")
- ;(ACTION BEDISTOR-F)>
-
-;<ROUTINE BEDISTOR-F ()
- <COND (<VERB? TAKE>
- <JIGS-UP
-"Kerzap!! You should know better than to touch an active bedistor!">)>>
+"It's a kind of a thingamabob for putting in a, you know, a whosiwhatsis.")>
<ROOM STORAGE-5
(IN ROOMS)
@@ -92,7 +86,7 @@ door leads south, and there's an opening to the north.")
<OBJECT JAMMER
(IN STORAGE-5)
(DESC "jammer")
- (SYNONYM JAMMER SOCKETS)
+ (SYNONYM JAMMER SOCKETS FREQUENCY)
(FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT LIGHTBIT)
(CAPACITY 10)
(ACTION JAMMER-F)>
@@ -138,13 +132,32 @@ door leads south, and there's an opening to the north.")
<TELL ,HUH>)
(<EQUAL? ,P-NUMBER ,JAMMER-SETTING>
<TELL ,SENILITY-STRIKES>)
+ (<OR <L? ,P-NUMBER 0>
+ <G? ,P-NUMBER 1400>>
+ <TELL "The jammer's range is 0 to 1400." CR>)
(T
<SETG JAMMER-SETTING ,P-NUMBER>
- <TELL
-"You set the jammer to " N ,JAMMER-SETTING ,PERIOD-CR>)>)
+ <TELL "You set the jammer to " N ,JAMMER-SETTING>
+ <COND (<IN? ,FORKLIFT ,HERE>
+ <TELL ". ">
+ <PERFORM ,V?OFF ,JAMMER>
+ <RTRUE>)
+ (T
+ <TELL ,PERIOD-CR>)>)>)
(<AND <VERB? COUNT>
<NOUN-USED ,W?SOCKETS ,JAMMER>>
- <TELL "20." CR>)>>
+ <TELL "20." CR>)
+ (<AND <VERB? OFF>
+ <IN? ,FORKLIFT ,HERE>>
+ <FCLEAR ,JAMMER ,ACTIVEBIT>
+ <REMOVE ,FORKLIFT>
+ <REMOVE ,EXERCISE-MACHINE>
+ <DEQUEUE I-FORKLIFT>
+ <TELL
+"The " 'EXERCISE-MACHINE " springs to life, its powerful arms clamping shut on
+the forklift. The vehicle belches exhaust as it tries to free itself. The
+two machines tumble over in a death grip and then explode! When the smoke
+clears, there's not a trace of either machine." CR>)>>
<ROOM NORTH-JUNCTION
(IN ROOMS)
@@ -226,7 +239,7 @@ now a fine layer of ash all over the walls of the PX.">)
<REMOVE ,DISPENSER>
<TELL
"Okay, but you'll have to answer to the Stellar Patrol Dispensing Machine
-Company... BLAM! The dispenser is history." CR>)
+Company... BLAM! The dispenser is dispensed." CR>)
(<AND <VERB? KICK KILL MUNG SHAKE PUSH>
<FIRST? ,DISPENSER>>
<TELL
@@ -240,6 +253,9 @@ some of your aggressive feelings toward the stupid dispenser." CR>)
<CANT-SEE ,PSEUDO-OBJECT>)
(<VERB? LOOK-INSIDE>
<TELL ,ONLY-BLACKNESS>)
+ (<VERB? SHOOT>
+ <PERFORM ,V?SHOOT ,DISPENSER ,ZAPGUN>
+ <RTRUE>)
(<AND <VERB? PUT>
<PRSI? ,PSEUDO-OBJECT>>
<PERFORM ,V?PUT ,PRSO ,DISPENSER>
@@ -248,10 +264,13 @@ some of your aggressive feelings toward the stupid dispenser." CR>)
<ROUTINE DISPENSER-SCREEN-F ()
<COND (<NOT <IN? ,DISPENSER ,HERE>>
<CANT-SEE ,PSEUDO-OBJECT>)
+ (<VERB? SHOOT>
+ <PERFORM ,V?SHOOT ,DISPENSER ,ZAPGUN>
+ <RTRUE>)
(<VERB? EXAMINE READ>
<TELL
"\"--- STELLAR PATROL VENDO-MATIC ---|
- all items: 1 galakmid|
+ all items: 1 galakmid|
1. Patrol Songbook (SOLD OUT)|
2. Set of Postcards (SOLD OUT)|
3. ID Card Polish (SOLD OUT)|
@@ -266,35 +285,43 @@ some of your aggressive feelings toward the stupid dispenser." CR>)
<COND (<NOT <IN? ,DISPENSER ,HERE>>
<CANT-SEE ,PSEUDO-OBJECT>)
(<VERB? REACH-IN>
- <COND (<IN? ,TIMER ,DISPENSER>
+ <COND (<OR <IN? ,TIMER ,DISPENSER>
+ <IN? ,LARGE-BIT ,DISPENSER>>
<TELL
"You can just feel something with your fingertips, but you
can't get a grip on it!" CR>)
(T
<TELL
"You reach as far into the dispenser as you can, but feel nothing." CR>)>)
+ (<VERB? SHOOT>
+ <PERFORM ,V?SHOOT ,DISPENSER ,ZAPGUN>
+ <RTRUE>)
(<VERB? LOOK-INSIDE>
<TELL ,ONLY-BLACKNESS>)
(<AND <VERB? PUT>
<PRSI? ,PSEUDO-OBJECT>>
- <TELL "You shove" T ,PRSO " up into the hole. ">
+ <TELL "You shove" T ,PRSO " up into the hole.">
<COND (<AND <PRSO? ,OSTRICH-NIP>
<IN? ,OSTRICH ,HERE>>
<TELL
-"The ostrich sticks its head up the hole after the nip, gives a squawk of
-surprise, and jerks back out. A moment later, the nip">
- <COND (<FIRST? ,DISPENSER>
- <SETG ROBOT-EVILNESS <+ ,ROBOT-EVILNESS 1>>
- <SETG SCORE <+ ,SCORE 6>>
- <TELL " and a " D <FIRST? ,DISPENSER>>
- <MOVE <FIRST? ,DISPENSER> ,HERE>)>
- <TELL " pop out and land on the deck. ">
+" The ostrich squawks and sticks its head up the hole after the nip.">
+ <OSTRICH-INTO-DISPENSER>
+ <TELL " A moment later, the nip falls to the deck. ">
<PERFORM ,V?GIVE ,OSTRICH-NIP ,OSTRICH>
<RTRUE>)
(T
<MOVE ,PRSO ,HERE>
<TELL
-"A moment later, it drops out and lands on the floor." CR>)>)>>
+" A moment later, it drops out" ,LANDS-ON-FLOOR CR>)>)>>
+
+<ROUTINE OSTRICH-INTO-DISPENSER ()
+ <COND (<FIRST? ,DISPENSER>
+ <SETG ROBOT-EVILNESS <+ ,ROBOT-EVILNESS 1>>
+ <SETG SCORE <+ ,SCORE 6>>
+ <TELL
+" It jerks its head back out, squawking even louder, and a moment later a "
+D <FIRST? ,DISPENSER> " falls out of the hole" ,LANDS-ON-FLOOR>
+ <MOVE <FIRST? ,DISPENSER> ,HERE>)>>
<OBJECT LARGE-BIT
(DESC "large drill bit")
@@ -305,6 +332,7 @@ surprise, and jerks back out. A moment later, the nip">
"I'm really not at all mechanically inclined. My sincerest apologies.")
(FLOYD-ASK-ABOUT
"It's a kind of a thingamabob for connecting a, you know, a whosiwhatsis.")
+ (SIZE 4)
(ACTION BIT-F)>
<OBJECT TIMER
@@ -319,9 +347,8 @@ surprise, and jerks back out. A moment later, the nip">
<ROUTINE TIMER-F ()
<COND (<VERB? EXAMINE>
<TELL
-"As advertised, it is a standard, all-purpose timer. The timer, which can
-be set to any multiple of ten between 0 and 100, is currently set to "
-N ,TIMER-SETTING ". The timer ">
+"As advertised, it is a standard, all-purpose timer. It can be set to any
+number up to 100, and is currently set to " N ,TIMER-SETTING ". The timer ">
<COND (,TIMER-CONNECTED
<TELL "is connected to a detonator">)
(T
@@ -336,14 +363,14 @@ N ,TIMER-SETTING ". The timer ">
<TELL "You can only set the timer to a number!" CR>)
(<G? ,P-NUMBER 100>
<TELL "The timer only has settings up to 100." CR>)
- (<NOT <EQUAL? <MOD ,P-NUMBER 10> 0>>
+ ;(<NOT <EQUAL? <MOD ,P-NUMBER 10> 0>>
<TELL
"You can only set the timer to increments of 10." CR>)
(T
<SETG TIMER-SETTING ,P-NUMBER>
<TELL "You set the timer to " N ,TIMER-SETTING>
<COND (<G? ,TIMER-SETTING 0>
- <QUEUE I-TIMER 11>
+ <QUEUE I-TIMER <+ ,C-ELAPSED 2>>
<TELL ". Instantly, it begins ticking loudly">)
(T
<DEQUEUE I-TIMER>)>
@@ -352,6 +379,10 @@ N ,TIMER-SETTING ". The timer ">
<NOT ,PRSI>
,TIMER-CONNECTED>
<PERFORM-PRSA ,TIMER ,DETONATOR>)
+ (<AND <VERB? CONNECT>
+ <EQUAL? ,EXPLOSIVE ,PRSO ,PRSI>>
+ <TELL
+,YOU-CANT "connect the timer directly to the explosive." CR>)
(<AND <VERB? OFF>
<QUEUED? ,I-TIMER>>
<SETG P-NUMBER 0>
@@ -362,11 +393,11 @@ N ,TIMER-SETTING ". The timer ">
<TELL "\"Tick, tick...\"" CR>)>>
<ROUTINE I-TIMER ()
- <SETG TIMER-SETTING <- ,TIMER-SETTING 10>>
- <COND (<EQUAL? ,TIMER-SETTING 0>
- <DEQUEUE I-TIMER>)
- (T
- <QUEUE I-TIMER 10>)>
+ <QUEUE I-TIMER -1>
+ <SETG TIMER-SETTING <- ,TIMER-SETTING ,C-ELAPSED>>
+ <COND (<L? ,TIMER-SETTING 1>
+ <DEQUEUE I-TIMER>
+ <SETG TIMER-SETTING 0>)>
<COND (<VISIBLE? ,TIMER>
<TELL " The timer reaches " N ,TIMER-SETTING>
<COND (<EQUAL? ,TIMER-SETTING 0>
@@ -376,25 +407,28 @@ N ,TIMER-SETTING ". The timer ">
,TIMER-CONNECTED
<EQUAL? ,DETONATOR <LOC ,DIODE-M> <LOC ,DIODE-J>>>
<COND (<IN? ,DIODE-J ,DETONATOR>
- <REMOVE ,DIODE-J>
- <COND (<VISIBLE? ,TIMER>
+ <MOVE ,DIODE-J ,LOCAL-GLOBALS>
+ <COND (<VISIBLE? ,DETONATOR>
<TELL
-" You hear a sizzling sound from the detonator, and a
-burnt odor assaults your nose.">)>)
+" You hear a sizzling sound from the detonator">
+ <COND (<NOT <FSET? ,SPACESUIT ,WORNBIT>>
+ <TELL
+", and a burnt odor assaults your nose">)>
+ <TELL ".">)>)
(,EXPLOSIVE-CONNECTED
- <COND (<IN? ,EXPLOSIVE ,DRILLED-HOLE>
- <QUEUE I-LIGHTS-OUT <+ <RANDOM 200> 20>>
- <FSET ,SAFE ,OPENBIT>
- <FSET ,SAFE ,TOUCHBIT>
- <FCLEAR ,SAFE ,LOCKEDBIT>)
- (<NOT <IN? ,EXPLOSIVE ,HERE>>
- <REMOVE <LOC ,EXPLOSIVE>>)>
- <COND (<VISIBLE? ,TIMER>
+ <COND (<EQUAL? <META-LOC ,EXPLOSIVE> ,HERE>
<TELL
" The explosive fulfills its destiny by exploding. You simultaneously fulfill
your own destiny: turning into itsy-bitsy pieces of " ,LFC>
<JIGS-UP ".">)
- (<NEXT-ROOM? ,TIMER>
+ (<IN? ,EXPLOSIVE ,DRILLED-HOLE>
+ <QUEUE I-LIGHTS-OUT <+ <RANDOM 200> 20>>
+ <FSET ,SAFE ,OPENBIT>
+ <FSET ,SAFE ,TOUCHBIT>
+ <FCLEAR ,SAFE ,LOCKEDBIT>)
+ (<NOT <IN? <LOC ,EXPLOSIVE> ,ROOMS>>
+ <DESTROY-EXPLOSIVE-CONT>)>
+ <COND (<NEXT-ROOM? ,TIMER>
<TELL
" You hear a deafening explosion from very nearby!" CR>)
(T
@@ -408,13 +442,23 @@ your own destiny: turning into itsy-bitsy pieces of " ,LFC>
<COND (<VISIBLE? ,TIMER>
<CRLF>)>>
+<ROUTINE DESTROY-EXPLOSIVE-CONT ("AUX" L)
+ <SET L <LOC ,EXPLOSIVE>>
+ <REPEAT ()
+ <COND (<IN? <LOC .L> ,ROOMS>
+ <REMOVE .L>
+ <COND (<EQUAL? .L ,PEDESTAL>
+ <MOVE .L ,ALIEN-SHIP>)>
+ <RETURN>)>
+ <SET L <LOC .L>>>>
+
<ROOM SICK-BAY
(IN ROOMS)
(DESC "Sick Bay")
(LDESC
-"This infirmary has the finest diagnostic equipment that unlimited Stellar
-Patrol budgets can buy. To the east, an ID reader indicates a security door.
-You can leave to the west or southeast.")
+"Surrounding the beds of this infirmary is the finest diagnostic equipment
+that unlimited Stellar Patrol budgets can buy. To the east, an ID reader
+indicates a security door. You can leave to the west or southeast.")
(EAST TO BRIG IF SECURITY-DOOR IS OPEN)
(SE TO EAST-CONNECTION IF P-WON)
(WEST TO NORTH-JUNCTION IF P-WON)
@@ -436,11 +480,20 @@ You can leave to the west or southeast.")
<ROUTINE CELL-F ()
<COND (<VERB? ENTER WALK-TO OPEN UNLOCK>
<TELL
-"The cells are all locked with high-security locks." CR>)>>
+"The cells are all locked with high-security locks." CR>)
+ (<VERB? LOOK-INSIDE>
+ <TELL "The cells are all empty." CR>)>>
<ROUTINE BRIG-LOCK-F ()
<COND (<VERB? OPEN UNLOCK PICK>
- <YUKS>)>>
+ <COND (<PRSI? ,KEY>
+ <SETG PRSO ,KEY>
+ <DOESNT-FIT "lock">)
+ (T
+ <YUKS>)>)
+ (<AND <VERB? PUT>
+ <PRSO? ,KEY>>
+ <DOESNT-FIT "lock">)>>
<ROOM EAST-JUNCTION
(IN ROOMS)
@@ -464,7 +517,7 @@ adjoining one heads east.")
(FLAGS RLANDBIT ONBIT)
(GLOBAL AUTO-DOOR IRIS-HATCH)
(ACTION EAST-CONNECTION-F)
- (THINGS <PSEUDO (<> SLOT SLOT-F)>)>
+ (THINGS <PSEUDO (<> SLOT FORM-SLOT-F)>)>
<ROUTINE EAST-CONNECTION-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
@@ -473,7 +526,8 @@ adjoining one heads east.")
Sub-Module. An iris hatch at the connection point is ">
<COND (<FSET? ,IRIS-HATCH ,OPENBIT>
<TELL
-"frozen open, revealing a small, grimy connector">)
+"frozen open, revealing not a sub-module connector but
+a small, grimy connector">)
(T
<TELL "shut tight">)>
<TELL
@@ -507,8 +561,8 @@ southeast, and east.")
<ROUTINE STATION-CONTROL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is the nerve center of the space station, where every system can be
-monitored and controlled. ">
+"This is the nerve center of the space station,
+where every system can be monitored. ">
<COND (<L? ,DAY 3>
<COND (<EQUAL? ,DAY 1>
<TELL "A couple">)
@@ -578,26 +632,34 @@ PRINTING ">
<ROOM COMM-CENTER
(IN ROOMS)
(DESC "Comm Center")
- (LDESC
+ (NORTH TO EAST-CONNECTION)
+ (OUT TO EAST-CONNECTION)
+ (FLAGS RLANDBIT ONBIT NWELDERBIT)
+ (GLOBAL EQUIPMENT)
+ (ACTION COMM-CENTER-F)
+ (THINGS <PSEUDO (RED BUTTON COMM-BUTTON-F)
+ (<> SCREEN SCREEN-F)>)>
+
+<ROUTINE COMM-CENTER-F (RARG)
+ <COND (<EQUAL? .RARG ,M-LOOK>
+ <TELL
"This is the Deep-Space Communication Center, which keeps the station in touch
with the Stellar Patrol Command and the rest of the Third Galactic Union.
-Although regulations state that the Comm Center must me monitored around the
+Although regulations state that the Comm Center must be monitored around the
clock, ten chrons per day, there's no one on duty.|
Most of the equipment here is too complicated for anyone without Deep-Space
Communications Training to use. However, the red button of the wide-band
-emergency beacon is well-marked. The only exit is north.")
- (NORTH TO EAST-CONNECTION)
- (OUT TO EAST-CONNECTION)
- (FLAGS RLANDBIT ONBIT NWELDERBIT)
- (GLOBAL EQUIPMENT)
- (THINGS <PSEUDO (RED BUTTON COMM-BUTTON-F)>)>
+emergency beacon is well-marked. Next to the button is a large screen for
+displaying incoming messages. ">
+ <SCREEN-F T>
+ <TELL " The only exit is north.">)>>
<ROUTINE COMM-BUTTON-F ()
- <COND (<VERB? PUSH TOUCH>
+ <COND (<TOUCHING? ,PSEUDO-OBJECT>
<TELL
-"The instant you touch the button, a powerful electric shock makes
-your arm jerk back.">
- <COND (<G? ,ROBOT-EVILNESS 13>
+"The instant you touch the button, a powerful electric shock
+makes you jerk back.">
+ <COND (<G? ,ROBOT-EVILNESS 14>
<JIGS-UP
" The shock seems to have been a bit too much for your heart.">)
(<AND <G? ,ROBOT-EVILNESS 7>
@@ -608,6 +670,42 @@ your arm jerk back.">
twitching all over.">)>
<CRLF>)>>
+<ROUTINE SCREEN-F ("OPTIONAL" (DESCRIBE-SCREEN <>))
+ <COND (<OR <VERB? EXAMINE>
+ .DESCRIBE-SCREEN>
+ <TELL "At the moment, the screen is ">
+ <COND (,MESSAGE-RECEIVED
+ <TELL "displaying a message.">)
+ (T
+ <TELL "blank.">)>
+ <COND (<NOT .DESCRIBE-SCREEN>
+ <CRLF>)>
+ <RTRUE>)
+ (<VERB? READ>
+ <COND (,MESSAGE-RECEIVED
+ <TELL
+"\"From: Forms Control Officer, S.P.S. Duffy|
+ To: " ,LFC " 1451-532-716|
+ Re: Current assignment|
+ Msg: Two thousand reams of " ,FORM-NAME " found in mislabelled pallet. No
+additional supplies needed. Abort assignment and return to Duffy.\"" CR>)
+ (T
+ <PERFORM ,V?EXAMINE ,PSEUDO-OBJECT>
+ <RTRUE>)>)>>
+
+<GLOBAL MESSAGE-RECEIVED <>>
+
+<ROUTINE I-MESSAGE ()
+ <SETG MESSAGE-RECEIVED T>
+ <TELL " ">
+ <COND (<FSET? ,SPACESUIT ,WORNBIT>
+ <TELL "The space suit picks up a message from">)
+ (T
+ <TELL "You hear a message over">)>
+ <TELL
+" the station's PA system: \"Deep space communication received at
+Comm Center. No operator on duty. This is a recording.\"" CR>>
+
<ROOM FILE-ROOM
(IN ROOMS)
(DESC "File Room")
@@ -636,14 +734,15 @@ is an exit to the northeast.")
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<ULTIMATELY-IN? ,EXPLOSIVE>>
<FSET ,EXERCISE-MACHINE ,TOUCHBIT>
- <MOVE ,EXERCISE-MACHINE ,COMPUTER-CONTROL>)
+ <MOVE ,EXERCISE-MACHINE ,COMPUTER-CONTROL>
+ <ROB ,EXERCISE-MACHINE ,GYM>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the Station Commander's HQ, with doors to the south and east,
and doorways to the north and northwest.">
<COND (<NOT <IN? ,LOG-READER ,HERE>>
<TELL
-" There's a black scar where the log reader once sat.">)>
+" There's a black scar where the " 'LOG-READER " once sat.">)>
<RTRUE>)>>
<OBJECT LOG-READER
@@ -651,7 +750,7 @@ and doorways to the north and northwest.">
(DESC "log reader")
(SYNONYM READER RECORDER MACHIN)
(ADJECTIVE LOG)
- (FLAGS LIGHTBIT CONTBIT OPENBIT TRYTAKEBIT)
+ (FLAGS LIGHTBIT CONTBIT SEARCHBIT OPENBIT TRYTAKEBIT)
(ACTION LOG-READER-F)>
<ROUTINE LOG-READER-F ()
@@ -664,7 +763,7 @@ tiny red button and a microphone/speaker. ">
<COND (<AND <FSET? ,LOG-READER ,ACTIVEBIT>
<IN? ,LOG-TAPE ,LOG-READER>>
<TELL "The red button is glowing. ">)>
- <TELL "At the moment, the log reader is o">
+ <TELL "At the moment, the " 'LOG-READER " is o">
<COND (<FSET? ,LOG-READER ,ACTIVEBIT>
<TELL "n">)
(T
@@ -695,7 +794,10 @@ tiny red button and a microphone/speaker. ">
<G? ,LOG-READER-COUNTER 11>>
<TELL "\"Whine.\"" CR>)
(<VERB? TAKE>
- <TELL "It's bolted down." CR>)>>
+ <TELL "It's bolted down." CR>)
+ (<VERB? SHOOT>
+ <DEQUEUE I-LOG-READER>
+ <RFALSE>)>>
<ROUTINE LOG-READER-BUTTON-F ()
<COND (<NOT <IN? ,LOG-READER ,HERE>>
@@ -705,7 +807,7 @@ tiny red button and a microphone/speaker. ">
<FSET? ,LOG-READER ,ACTIVEBIT>>
<COND (<EQUAL? ,LOG-COUNTER 10>
<TELL
-"A mechanized voice from the log reader says, \"End of Log.\"" CR>)
+"A mechanized voice from the " 'LOG-READER " says, \"End of Log.\"" CR>)
(T
<READ-LOG>)>)
(T
@@ -718,14 +820,14 @@ tiny red button and a microphone/speaker. ">
<ROUTINE READ-LOG ()
<SETG LOG-COUNTER <+ ,LOG-COUNTER 1>>
<COND (<EQUAL? ,LOG-COUNTER 1>
- <TELL "A gravelly voice comes from the log reader: ">)>
+ <TELL "A gravelly voice comes from the " 'LOG-READER ": ">)>
<TELL "\"">
<COND (<EQUAL? ,LOG-COUNTER 1>
<TELL
-"11349.12.2.3800: Some kripping joker has fouled up the elevator again!
-I have instructed Equipment Officer Mertzhoffer to lock up the elevator
-override machinery, and I'm putting the key in my safe! There will be no
-more elevator hacking aboard my station!">)
+"11349.12.2.3800: Some kripping jokers have been pilfering the station's fuel
+cells to go out on joyrides! I have hidden the fuel cells up in the Dome's "
+'HOUSING ", slapped a lock on the bin, and deposited the key in my safe!
+There will be no joyriding in my command!">)
(<EQUAL? ,LOG-COUNTER 2>
<TELL
"11349.12.2.5100: Reproductions Officer Hausberg reports that collater
@@ -739,10 +841,10 @@ single-cabin vessel of unfamiliar alien origin. The only things aboard were
the remains of one of the aliens, and a featureless pyramid. I'll leave it
to the eggheads, I've got a problem of my own: a report that a used spaceship
dealer in the village named Shady Dan is selling modified Patrol ID cards.
-Liason Officer Bumblewitz is investigating.">)
+Liaison Officer Bumblewitz is investigating.">)
(<EQUAL? ,LOG-COUNTER 4>
<TELL
-"11349.12.3.1900: Professor Blutz has back-plotted the course of the alien
+"11349.12.3.1900: Professor Schmidt has back-plotted the course of the alien
vessel. There are no star systems along the course; he theorizes that it may
be of extra-galactic origin.">)
(<EQUAL? ,LOG-COUNTER 5>
@@ -754,10 +856,11 @@ will be validated.">)
<TELL
"11349.12.3.5250: Some kripping joker snuck into my office and validated a
whole batch of village entry forms! I won't take that kind of trot aboard my
-station! I'll hide the validation stamp under my bed until I figure out who's
-responsible. Also, I have given Professor Schmidt permission to move the alien
-pyramid to the " D ,HOLDING-TANK " in the Sci Sub-Module for further study.
-Hmmm... This log reader is overheating. I'll have to dig out the spare.">)
+station! I'll hide the stamp under my bed until I find out who's responsible.
+Also, I gave Schmidt permission to move the alien pyramid to the "
+'HOLDING-TANK " in the Sci Sub-Module for further study; the " 'SKELETON " is
+too brittle to move, they say. Hmmm... This " 'LOG-READER " is overheating.
+I'll have to dig out the spare.">)
(<EQUAL? ,LOG-COUNTER 7>
<TELL
"11349.12.3.7700: Equipment Officer Mertzhoffer informs me that there have
@@ -776,7 +879,7 @@ should be available to prepare the forms.">)
No apparent reason for the shutdown, and no warning, either. He says that one
of his personnel almost lost an arm when it shut down. We may have to halt the
entire plant to investigate. No telling how long... What the... Trot! Now the
-spare log reader is overheating, also!">)
+spare " 'LOG-READER " is overheating, also!">)
(T
<TELL
"11349.12.4.1900: One of the ensigns in the filing division was seriously
@@ -786,8 +889,8 @@ I've never heard of a " 'WELDER " malfun... What the krip!...">)>
<TELL "\"">
<COND (<NOT <EQUAL? ,LOG-COUNTER 10>>
<TELL CR
-" A mechanized voice from the log reader intones the single word \"More,\"
-and the red button on the reader lights up.">)>
+" A mechanized voice from the " 'LOG-READER " intones the single word
+\"More,\" and the red button on the reader lights up.">)>
<CRLF>>
<ROUTINE I-LOG-READER ()
@@ -801,7 +904,7 @@ and the red button on the reader lights up.">)>
(<AND <EQUAL? ,LOG-READER-COUNTER 13>
<EQUAL? ,HERE ,COMMANDERS-OFFICE>>
<TELL
-" The whine from the log reader rises in pitch, and grows louder
+" The whine from the " 'LOG-READER " rises in pitch, and grows louder
by the millichron!" CR>)
(<EQUAL? ,LOG-READER-COUNTER 14>
<REMOVE ,LOG-READER>
@@ -896,39 +999,43 @@ in the combination">
<GLOBAL HOLE-SIZE <>>
+<GLOBAL DRILL-FOOTNOTE <>>
+
+<GLOBAL SAFE-HOLE-SCORE <>>
+
<OBJECT DRILLED-HOLE
(DESC "hole")
(SYNONYM HOLE)
(FLAGS NDESCBIT CONTBIT OPENBIT SEARCHBIT)
(ACTION DRILLED-HOLE-F)>
-<GLOBAL SAFE-HOLE-SCORE <>>
-
-<ROUTINE DRILLED-HOLE-F ()
+<ROUTINE DRILLED-HOLE-F ("AUX" OBJ)
+ <SET OBJ <COND (<EQUAL? ,HERE ,COMMANDERS-QUARTERS>
+ ,SAFE)
+ (<EQUAL? ,HERE ,LOAN-SHARK>
+ ,STRONG-BOX)
+ (T
+ ,HOUSING)>>
<COND (<AND <VERB? PUT>
<PRSI? ,DRILLED-HOLE>>
<COND (<OR <NOT <PRSO? ,EXPLOSIVE>>
<EQUAL? ,HOLE-SIZE ,SMALL-BIT>>
<DOESNT-FIT "hole">)
(<EQUAL? ,HERE ,DOME>
- <REMOVE ,EXPLOSIVE>
<TELL
-"The warmth of the housing immediately melts the explosive. It vanishes
-into a puff of vapor." CR>)
+"As the explosive touches the warm bin, it " ,SUBLIMES-INTO-FREZONE>
+ <REMOVE-CAREFULLY ,EXPLOSIVE>
+ <CRLF>)
(<AND <NOT ,SAFE-HOLE-SCORE>
<EQUAL? ,HERE ,COMMANDERS-QUARTERS>>
<SETG ROBOT-EVILNESS <+ ,ROBOT-EVILNESS 1>>
- <SETG SCORE <+ ,SCORE 5>>
+ <SETG SCORE <+ ,SCORE 3>>
<SETG SAFE-HOLE-SCORE T>
<RFALSE>)>)
(<VERB? DRILL>
- <PERFORM ,V?DRILL <COND (<EQUAL? ,HERE ,COMMANDERS-QUARTERS>
- ,SAFE)
- (<EQUAL? ,HERE ,LOAN-SHARK>
- ,STRONG-BOX)
- (T
- ,HOUSING)>>
- <RTRUE>)
+ <PERFORM-PRSA .OBJ>)
+ (<VERB? SHOOT>
+ <PERFORM-PRSA .OBJ ,ZAPGUN>)
(<VERB? LOOK-INSIDE>
<TELL ,ONLY-BLACKNESS>)>>
@@ -938,6 +1045,7 @@ into a puff of vapor." CR>)
<RTRUE>)
(<AND ,HOLE-SIZE
<NOT <IN? ,DRILLED-HOLE ,HERE>>>
+ <SETG DRILL-DEAD T>
<TELL
"As you begin drilling, the drill sparks and stops running." CR>)
(<NOT ,HOLE-SIZE>
@@ -964,7 +1072,7 @@ into a puff of vapor." CR>)
(DESC "key")
(SYNONYM KEY)
(FLAGS TAKEBIT)
- (VALUE 8)>
+ (VALUE 7)>
<OBJECT VALIDATION-STAMP
(DESC "validation stamp")
@@ -992,8 +1100,8 @@ into a puff of vapor." CR>)
(IN ROOMS)
(DESC "Armory")
(LDESC
-"This is secondary weapons storage deck, but the only weapon deck on a station
-without a Military Sub-Module. Exit: south.")
+"This is a secondary weapons storage deck, but the only weapon deck on a
+station with no Military Sub-Module. Exit: south.")
(SOUTH TO END-OF-CORRIDOR IF P-WON)
(OUT TO END-OF-CORRIDOR IF P-WON)
(FLAGS RLANDBIT ONBIT NWELDERBIT FLOYDBIT)
@@ -1002,6 +1110,8 @@ without a Military Sub-Module. Exit: south.")
<GLOBAL ZAPGUN-SHOTS 7>
+<GLOBAL ZAPGUN-FOOTNOTE <>>
+
<OBJECT ZAPGUN
(IN ARMORY)
(DESC "fusor-beam zapgun")
@@ -1020,7 +1130,7 @@ without a Military Sub-Module. Exit: south.")
(FLAGS RLANDBIT ONBIT)
(GLOBAL AUTO-DOOR IRIS-HATCH)
(ACTION SOUTH-CONNECTION-F)
- (THINGS <PSEUDO (<> SLOT SLOT-F)>)>
+ (THINGS <PSEUDO (<> SLOT FORM-SLOT-F)>)>
<ROUTINE SOUTH-CONNECTION-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
@@ -1029,7 +1139,9 @@ without a Military Sub-Module. Exit: south.")
where a Sub-Module connection would be in a station with a Diplomatic
Sub-Module, an iris hatch is ">
<COND (<FSET? ,IRIS-HATCH ,OPENBIT>
- <TELL "open, leading to a dark corridor">)
+ <TELL
+"open, leading to a dark corridor which is quite obviously not a connecting
+tube for a Diplomatic Sub-Module">)
(T
<TELL "closed">)>
<TELL
@@ -1057,8 +1169,8 @@ the north and south. To the east is the elevator ">
<COND (<NOT <EQUAL? ,ELEVATOR-LEVEL 4>>
<TELL "shaft ">)>
<TELL
-"and the elevator call button. Docking Bay #3 can be entered to the west,
-and a ladder leads up and down.">)>>
+"and the elevator call button. Docking Bay #3 can be entered to the west"
+,LADDER-LEADS>)>>
<ROOM DOCKING-BAY-3
(IN ROOMS)
@@ -1070,6 +1182,15 @@ to the east.")
(FLAGS RLANDBIT ONBIT NWELDERBIT)
(GLOBAL AUTO-DOOR)>
+<OBJECT LILAC-SPOOL
+ (IN DOCKING-BAY-3)
+ (DESC "lilac nanofilm spool")
+ (SYNONYM NANOFILM SPOOL)
+ (ADJECTIVE NANOFILM LILAC)
+ (FLAGS TAKEBIT READBIT)
+ (SIZE 3)
+ (TEXT "\"Spacetruck Refueling Instructions")>
+
<ROOM FEMALE-BARRACKS
(IN ROOMS)
(DESC "Female Barracks")
@@ -1132,8 +1253,7 @@ showers, toilet stalls, and sinks. There are exits both north and south.")
northwest. An additional doorway leads southwest. The elevator ">
<COND (<NOT <EQUAL? ,ELEVATOR-LEVEL 3>>
<TELL "shaft ">)>
- <TELL
-"and button are just to the east, and a ladder leads up or down.">)>>
+ <TELL "and button are just to the east" ,LADDER-LEADS>)>>
<ROOM GYM
(IN ROOMS)
@@ -1162,6 +1282,7 @@ gym. There is a sign above it.")
(SYNONYM MACHIN)
(ADJECTIVE EXERCISE NAUTILUS)
(FLAGS VOWELBIT VEHBIT INBIT CONTBIT OPENBIT SEARCHBIT)
+ (CAPACITY 100)
(ACTION EXERCISE-MACHINE-F)>
<ROUTINE EXERCISE-MACHINE-F (OARG)
@@ -1169,9 +1290,9 @@ gym. There is a sign above it.")
<RFALSE>)
(<AND <VERB? ENTER>
<RUNNING? ,I-EXERCISE-MACHINE>>
+ <TELL "The " 'EXERCISE-MACHINE>
<JIGS-UP
-"The exercise machine hums encouraging platitudes
-as it exercises you to death.">)
+" hums encouraging platitudes as it exercises you to death.">)
(<VERB? ON OFF>
<TELL "It's permanently on." CR>)
(<AND <VERB? EXAMINE>
@@ -1179,7 +1300,7 @@ as it exercises you to death.">)
<TELL "There's no one in" TR ,EXERCISE-MACHINE>)
(<VERB? KILL MUNG>
<TELL
-"The exercise machine is made of zynoid-reinforced hyper-steel." CR>)
+"The " 'EXERCISE-MACHINE " is made of zynoid-reinforced hyper-steel." CR>)
(<VERB? USE>
<COND (<IN? ,PROTAGONIST ,EXERCISE-MACHINE>
<V-EXERCISE>)
@@ -1242,7 +1363,12 @@ all mismatched." CR>)
<SETG DRYER-COUNTER 0>
<TELL
"With the dryer off, the station's ventilation system quickly returns the
-room to a comfy twenty-three degrees centigrade." CR>)>>
+room to a comfy twenty-three degrees centigrade." CR>)
+ (<VERB? SHOOT>
+ <FCLEAR ,DRYER ,ACTIVEBIT>
+ <DEQUEUE I-DRYER>
+ <SETG DRYER-COUNTER 0>
+ <RFALSE>)>>
<GLOBAL DRYER-COUNTER 0>
@@ -1317,7 +1443,10 @@ room to a comfy twenty-three degrees centigrade." CR>)>>
<COND (<IN? ,PATROL-UNIFORM ,PRESSER>
<SETG SUIT-PRESSED T>)>)>
<TELL
-"A trickle of steam begins leaking from the presser." CR>)>>
+"A trickle of steam begins leaking from the presser." CR>)
+ (<VERB? SHOOT>
+ <DEQUEUE I-PRESSER>
+ <RFALSE>)>>
<GLOBAL PRESSER-STEAMING <>>
@@ -1365,9 +1494,9 @@ beautiful wooden pulpit ">
(T
<TELL "is one of the">)>
<TELL
-" universal symbols of every major galactic religion: an eternal flame">
+" universal symbols of every major galactic religion: an " 'ETERNAL-FLAME>
<COND (<NOT <FSET? ,STAR ,TOUCHBIT>>
- <TELL " and a seven-pointed star">)>
+ <TELL " and a " 'STAR>)>
<TELL ". ">
<COND (<NOT <FSET? ,ETERNAL-FLAME ,ONBIT>>
<TELL ,FLAME-EXTINGUISHED " ">)>
@@ -1376,6