aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhistoricalsource <historicalsoftware@textfiles.com>2019-04-14 16:11:30 -0400
committerhistoricalsource <historicalsoftware@textfiles.com>2019-04-14 16:11:30 -0400
commit43e39b2ba034cfa3823542955d61850f719c3ca9 (patch)
treea92ca40856a9556d820c68ba2eff4ac4242f82bf
parent24f232369405f1a5b67f8d4d06877bed6b7945c5 (diff)
downloadstationfall-43e39b2ba034cfa3823542955d61850f719c3ca9.tar.gz
stationfall-43e39b2ba034cfa3823542955d61850f719c3ca9.tar.bz2
stationfall-43e39b2ba034cfa3823542955d61850f719c3ca9.zip
Revision 107
-rw-r--r--globals.zap562
-rw-r--r--globals.zil236
-rw-r--r--interrupts.zap529
-rw-r--r--interrupts.zil456
-rw-r--r--misc.zap274
-rw-r--r--misc.zil33
-rw-r--r--parser.zap484
-rw-r--r--parser.zil90
-rw-r--r--s6.zap1
-rw-r--r--s6.zil1
-rw-r--r--s6.zipbin127400 -> 128934 bytes
-rw-r--r--s6dat.zap1966
-rw-r--r--s6pur.zap61
-rw-r--r--s6str.zap820
-rw-r--r--ship.zap754
-rw-r--r--ship.zil405
-rw-r--r--station.zap530
-rw-r--r--station.zil458
-rw-r--r--syntax.zil12
-rw-r--r--verbs.zap824
-rw-r--r--verbs.zil327
-rw-r--r--village.zap371
-rw-r--r--village.zil346
23 files changed, 5183 insertions, 4357 deletions
diff --git a/globals.zap b/globals.zap
index 606bd0b..b4b715f 100644
--- a/globals.zap
+++ b/globals.zap
@@ -6,63 +6,68 @@
.FUNCT INTNUM-F
- CALL NOUN-USED,W?ONE,INTNUM
- ZERO? STACK \?PRD5
- CALL NOUN-USED,W?TWO,INTNUM
- ZERO? STACK \?PRD5
- CALL NOUN-USED,W?THREE,INTNUM
+ CALL ADJ-USED,A?BIN,INTNUM
ZERO? STACK /?CCL3
-?PRD5: CALL GLOBAL-IN?,KEYPAD,HERE
- ZERO? STACK /?CCL3
- EQUAL? PRSA,V?TYPE,V?PUSH \?CCL3
+ EQUAL? HERE,ROBOT-POOL /?CCL6
+ PRINT YOU-CANT
+ PRINTR "see any bin here!]"
+?CCL6: GRTR? P-NUMBER,3 \?CCL8
+ PRINTR "There are only three bins!"
+?CCL8: PRINT REFER-TO-BIN
+ RTRUE
+?CCL3: GET P-NAMW,0
+ EQUAL? STACK,W?ONE,W?TWO,W?THREE \?CCL10
+ CALL GLOBAL-IN?,KEYPAD,HERE
+ ZERO? STACK /?CCL10
+ EQUAL? PRSA,V?TYPE,V?PUSH \?CCL10
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
+?CCL10: EQUAL? PRSA,V?ON,V?SHOOT,V?EXAMINE /?PRD17
+ EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL15
+?PRD17: GET WELDER-TABLE,WELDER-TABLE-POINTER
+ EQUAL? STACK,P-NUMBER \?CCL15
+ IN? WELDER,HERE \?CCL15
+ EQUAL? PRSO,INTNUM \?CCL23
+ CALL PERFORM,PRSA,WELDER,PRSI
+ RTRUE
+?CCL23: CALL PERFORM,PRSA,PRSO,WELDER
+ RTRUE
+?CCL15: EQUAL? PRSA,V?ENTER \?PRD27
+ EQUAL? P-PRSA-WORD,W?ENTER \?PRD27
CALL GLOBAL-IN?,KEYPAD,HERE
- ZERO? STACK \?CTR20
-?PRD23: EQUAL? PRSA,V?PUSH \?CCL21
+ ZERO? STACK \?CTR24
+?PRD27: EQUAL? PRSA,V?PUSH \?CCL25
CALL GLOBAL-IN?,KEYPAD,HERE
- ZERO? STACK /?CCL21
-?CTR20: CALL PERFORM,V?TYPE,INTNUM
+ ZERO? STACK /?CCL25
+?CTR24: CALL PERFORM,V?TYPE,INTNUM
RTRUE
-?CCL21: EQUAL? PRSA,V?SET \?CCL30
- ZERO? PRSI \?CCL30
- EQUAL? HERE,COMMANDERS-QUARTERS \?CCL30
- EQUAL? P-NUMBER,DIAL-SETTING \?CCL36
+?CCL25: EQUAL? PRSA,V?SET \?CCL34
+ ZERO? PRSI \?CCL34
+ EQUAL? HERE,COMMANDERS-QUARTERS \?CCL34
+ EQUAL? P-NUMBER,DIAL-SETTING \?CCL40
PRINT SENILITY-STRIKES
RTRUE
-?CCL36: GRTR? P-NUMBER,8000 \?CCL38
- PRINTR "The dial only goes up to 8000."
-?CCL38: SET 'DIAL-SETTING,P-NUMBER
+?CCL40: GRTR? P-NUMBER,8000 \?CCL42
+ PRINTR "The dial goes up to only 8000."
+?CCL42: SET 'DIAL-SETTING,P-NUMBER
PRINTR """Click."""
-?CCL30: EQUAL? PRSA,V?WAIT-FOR \?CCL40
- GRTR? P-NUMBER,40 \?CCL43
+?CCL34: EQUAL? PRSA,V?WAIT-FOR \?CCL44
+ GRTR? P-NUMBER,40 \?CCL47
PRINT TOO-LONG-TO-WAIT
RTRUE
-?CCL43: CALL V-WAIT
+?CCL47: CALL V-WAIT
RSTACK
-?CCL40: EQUAL? PRSA,V?WAIT-UNTIL \?CCL45
- GRTR? P-NUMBER,INTERNAL-MOVES \?CCL48
+?CCL44: EQUAL? PRSA,V?WAIT-UNTIL \?CCL49
+ GRTR? P-NUMBER,INTERNAL-MOVES \?CCL52
SUB P-NUMBER,INTERNAL-MOVES
- LESS? STACK,41 \?CCL48
+ LESS? STACK,41 \?CCL52
CALL V-WAIT
RSTACK
-?CCL48: PRINT TOO-LONG-TO-WAIT
+?CCL52: PRINT TOO-LONG-TO-WAIT
RTRUE
-?CCL45: CALL TOUCHING?,INTNUM
- ZERO? STACK \?CCL52
+?CCL49: CALL TOUCHING?,INTNUM
+ ZERO? STACK \?CCL56
EQUAL? PRSA,V?SHOOT \FALSE
-?CCL52: PRINT HUH
+?CCL56: PRINT HUH
RTRUE
@@ -129,41 +134,26 @@
.FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ
CALL MOBY-FIND,TBL >M-F
- ZERO? DEBUG /?CND1
- PRINTI "[Found "
- PRINTN M-F
- PRINTI " obj]"
- CRLF
-?CND1: EQUAL? 1,M-F \?CCL5
- ZERO? DEBUG /?CND6
- PRINTI "[Namely: "
- PRINTD P-MOBY-FOUND
- PRINTC 93
- CRLF
-?CND6: ZERO? PRSO? /?CCL10
+ EQUAL? 1,M-F \?CCL3
+ ZERO? PRSO? /?CCL6
SET 'PRSO,P-MOBY-FOUND
CALL THIS-IS-IT,PRSO
RFALSE
-?CCL10: SET 'PRSI,P-MOBY-FOUND
+?CCL6: SET 'PRSI,P-MOBY-FOUND
RFALSE
-?CCL5: LESS? 1,M-F \?CCL12
+?CCL3: LESS? 1,M-F \?CCL8
GET TBL,1 >OBJ
GETP OBJ,P?GENERIC
CALL STACK >OBJ
- ZERO? OBJ /?CCL12
- ZERO? DEBUG /?CND15
- PRINTI "[Generic: "
- PRINTD OBJ
- PRINTC 93
- CRLF
-?CND15: EQUAL? OBJ,NOT-HERE-OBJECT /TRUE
- ZERO? PRSO? /?CCL21
+ ZERO? OBJ /?CCL8
+ EQUAL? OBJ,NOT-HERE-OBJECT /TRUE
+ ZERO? PRSO? /?CCL15
SET 'PRSO,OBJ
CALL THIS-IS-IT,PRSO
RFALSE
-?CCL21: SET 'PRSI,OBJ
+?CCL15: SET 'PRSI,OBJ
RFALSE
-?CCL12: RETURN NOT-HERE-OBJECT
+?CCL8: RETURN NOT-HERE-OBJECT
.FUNCT NOT-HERE-PRINT,PRSO?,?TMP1
@@ -188,12 +178,24 @@
.FUNCT GROUND-F
EQUAL? PRSA,V?ENTER,V?CLIMB-ON \?CCL3
- SET 'C-ELAPSED,31
+ ZERO? STUNNED /?CCL6
+ PRINT LOOK-AROUND
+ RTRUE
+?CCL6: SET 'C-ELAPSED,31
PRINTR "After a brief squat on the floor, you stand again."
-?CCL3: EQUAL? PRSA,V?LOOK-UNDER \?CCL5
+?CCL3: EQUAL? PRSA,V?CLEAN \?CCL8
+ SET 'AWAITING-REPLY,1
+ ADD C-ELAPSED,2
+ CALL QUEUE,I-REPLY,STACK
+ PRINTR "Do you also do windows?"
+?CCL8: EQUAL? PRSA,V?LOOK-UNDER \?CCL10
CALL IMPOSSIBLES
RSTACK
-?CCL5: EQUAL? PRSA,V?LEAVE \FALSE
+?CCL10: EQUAL? PRSA,V?OPEN \?CCL12
+ EQUAL? HERE,BOTTOM-OF-AIR-SHAFT \?CCL12
+ CALL PERFORM,V?OPEN,GRATING
+ RTRUE
+?CCL12: EQUAL? PRSA,V?LEAVE \FALSE
CALL DO-WALK,P?UP
RSTACK
@@ -209,15 +211,20 @@
.FUNCT CEILING-F
EQUAL? PRSA,V?SEARCH,V?EXAMINE \?CCL3
EQUAL? HERE,PET-STORE \?CCL3
+ IN? PANEL,HERE \?CCL8
+ PRINTI "There's a panel mounted in the ceiling. "
+ CALL PERFORM,V?EXAMINE,PANEL
+ RTRUE
+?CCL8: IN? PANEL,LOCAL-GLOBALS \FALSE
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."
-?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7
- EQUAL? HERE,DOME \?CCL7
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL12
+ EQUAL? HERE,DOME \?CCL12
PRINT DOME-DESC
CRLF
RTRUE
-?CCL7: EQUAL? PRSA,V?LOOK-UNDER \FALSE
+?CCL12: EQUAL? PRSA,V?LOOK-UNDER \FALSE
CALL PERFORM,V?LOOK
RTRUE
@@ -246,7 +253,7 @@
CRLF
RTRUE
?CCL19: EQUAL? HERE,GREASY-STRAW \?CCL21
- IN? NECTAR,LOCAL-GLOBALS \?CCL21
+ FSET? NECTAR,TOUCHBIT /?CCL21
MOVE NECTAR,HERE
CALL THIS-IS-IT,NECTAR
PRINTR "You spot a cup of Ramosian Fire Nectar behind the counter!"
@@ -277,7 +284,9 @@
PRINTR "You see a large cargo bay."
?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."
+ PRINTI " 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,"
+ PRINT TANGLE-OF-TUBES
+ PRINTR " These form a ""village,"" the sort of seedy, unauthorized village that frequently collects around a space station."
?CCL16: PRINTR "You see nothing but the majestic sweep of the galaxy."
?CCL3: EQUAL? PRSA,V?CLEAN \FALSE
SET 'AWAITING-REPLY,1
@@ -388,7 +397,7 @@ FREZONE (tm) explosive available."""
SET 'PRSO,FALSE-VALUE
RFALSE
?CCL3: EQUAL? PRSA,V?SHAKE \?CCL5
- CALL FIND-IN,HERE,ACTORBIT,STR?87 >ACTOR
+ CALL FIND-IN,HERE,ACTORBIT,STR?89 >ACTOR
ZERO? ACTOR /?CCL8
CALL PERFORM,V?SHAKE-WITH,HANDS,ACTOR
RTRUE
@@ -403,19 +412,26 @@ FREZONE (tm) explosive available."""
?CCL10: EQUAL? PRSA,V?CLEAN \?CCL15
PRINTR "Done."
?CCL15: EQUAL? PRSA,V?SHOOT \?CCL17
- CALL JIGS-UP,STR?88
+ CALL JIGS-UP,STR?90
RSTACK
-?CCL17: EQUAL? PRSA,V?TAKE-WITH \FALSE
+?CCL17: EQUAL? PRSA,V?DRILL \?CCL19
+ PRINTI "Hmmm. Are you trying for a hole in "
+ PRINTD PRSO
+ PRINTR " to match the hole in your head?"
+?CCL19: EQUAL? PRSA,V?TAKE-WITH \FALSE
EQUAL? PRSI,HANDS \FALSE
CALL PERFORM,V?TAKE,PRSO
RTRUE
.FUNCT TONGUE-F
- EQUAL? PRSA,V?RUN-OVER,V?PUT-ON \FALSE
- EQUAL? PRSO,TONGUE \FALSE
+ EQUAL? PRSA,V?RUN-OVER,V?PUT-ON \?CCL3
+ EQUAL? PRSO,TONGUE \?CCL3
CALL PERFORM,V?TASTE,PRSI
RTRUE
+?CCL3: EQUAL? PRSA,V?DRILL \FALSE
+ CALL HANDS-F
+ RSTACK
.FUNCT ME-F
@@ -442,10 +458,10 @@ FREZONE (tm) explosive available."""
RSTACK
?CCL17: EQUAL? PRSA,V?MUNG,V?KILL \?CCL19
EQUAL? PRSO,ME \?CCL19
- CALL JIGS-UP,STR?89
+ CALL JIGS-UP,STR?91
RSTACK
?CCL19: EQUAL? PRSA,V?SHOOT \?CCL23
- CALL JIGS-UP,STR?90
+ CALL JIGS-UP,STR?92
RSTACK
?CCL23: EQUAL? PRSA,V?WHERE,V?FIND \?CCL25
PRINTI "You're in"
@@ -482,30 +498,30 @@ FREZONE (tm) explosive available."""
CALL BOTH-SEATS-NOT-OCCUPIED
ZERO? STACK /?CCL15
PRINTI "The form is spit back out. "
- CALL RECORDING,STR?93
+ CALL RECORDING,STR?95
RSTACK
?CCL15: REMOVE PRSO
FSET PRSO,NDESCBIT
PRINT FORM-ACCEPTED
- CALL RECORDING,STR?94
+ CALL RECORDING,STR?96
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
+ CALL RECORDING,STR?97
RSTACK
?CCL19: EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM \?CCL23
EQUAL? HERE,DECK-TWELVE \?CCL23
PRINT FORM-REJECTED
- CALL RECORDING,STR?96
+ CALL RECORDING,STR?98
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
+ CALL RECORDING,STR?98
RSTACK
?CCL32: ADD SCORE,6 >SCORE
INC 'ROBOT-EVILNESS
@@ -516,14 +532,14 @@ FREZONE (tm) explosive available."""
?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
+ CALL RECORDING,STR?99
RSTACK
?CCL34: GETP P?SIZE,PRSO
LESS? STACK,3 \?CCL38
PRINTI "The slot swallows"
CALL TPRINT-PRSO
PRINTR " and then spits it back."
-?CCL38: CALL DOESNT-FIT,STR?98
+?CCL38: CALL DOESNT-FIT,STR?100
RSTACK
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINT ONLY-BLACKNESS
@@ -534,7 +550,7 @@ FREZONE (tm) explosive available."""
IN? PROTAGONIST,PILOT-SEAT \?CCL3
IN? FLOYD,COPILOT-SEAT /FALSE
?CCL3: IN? PROTAGONIST,COPILOT-SEAT \TRUE
- IN? FLOYD,COPILOT-SEAT /FALSE
+ IN? FLOYD,PILOT-SEAT /FALSE
RTRUE
@@ -550,8 +566,8 @@ FREZONE (tm) explosive available."""
.FUNCT FURNISHING-F
- EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?OPEN /?CTR2
- EQUAL? PRSA,V?EXAMINE \?CCL3
+ EQUAL? PRSA,V?SEARCH,V?OPEN,V?ENTER /?CTR2
+ EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?CCL3
?CTR2: PRINTR "You merely find a few personal items of little interest."
?CCL3: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
PRINTI "The "
@@ -561,29 +577,50 @@ FREZONE (tm) explosive available."""
RSTACK
+ .FUNCT VILLAGE-F
+ EQUAL? HERE,SPACETRUCK \?CCL3
+ EQUAL? SPACETRUCK-COUNTER,4 \?CTR2
+ EQUAL? COURSE-PICKED,RIGHT-COURSE /?CCL3
+?CTR2: CALL CANT-SEE,VILLAGE
+ RSTACK
+?CCL3: EQUAL? PRSA,V?EXIT,V?WALK-TO,V?ENTER /?CTR8
+ EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?CCL9
+?CTR8: CALL V-WALK-AROUND
+ RSTACK
+?CCL9: EQUAL? PRSA,V?EXAMINE \FALSE
+ EQUAL? HERE,SPACETRUCK \FALSE
+ PRINTI "The village"
+ PRINT TANGLE-OF-TUBES
+ CRLF
+ RTRUE
+
+
.FUNCT BED-F
EQUAL? PRSA,V?WALK-TO \?CCL3
CALL GLOBAL-IN?,BED,HERE
ZERO? STACK \?CCL3
PRINTR "There's no bed here!"
?CCL3: EQUAL? PRSA,V?WALK-TO,V?ENTER \?CCL7
- GRTR? SLEEPY-LEVEL,0 \?CCL10
+ ZERO? STUNNED /?CCL10
+ CALL YOURE-STUNNED
+ RSTACK
+?CCL10: GRTR? SLEEPY-LEVEL,0 \?CCL12
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."
-?CCL10: MOVE PROTAGONIST,BED
+?CCL12: MOVE PROTAGONIST,BED
PRINTR "You are now in bed."
-?CCL7: EQUAL? PRSA,V?EXIT,V?STAND,V?DISEMBARK /?PRD14
- EQUAL? PRSA,V?DROP \?CCL12
-?PRD14: CALL QUEUED?,I-FALL-ASLEEP
- ZERO? STACK /?CCL12
+?CCL7: EQUAL? PRSA,V?EXIT,V?STAND,V?DISEMBARK /?PRD16
+ EQUAL? PRSA,V?DROP \?CCL14
+?PRD16: CALL QUEUED?,I-FALL-ASLEEP
+ ZERO? STACK /?CCL14
PRINTR "But you're so tired and this bed is so comfy!"
-?CCL12: EQUAL? PRSA,V?DROP,V?EXIT,V?LEAVE \?CCL18
+?CCL14: EQUAL? PRSA,V?DROP,V?EXIT,V?LEAVE \?CCL20
CALL PERFORM,V?DISEMBARK,BED
RTRUE
-?CCL18: EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL20
- EQUAL? PRSI,BED \?CCL20
+?CCL20: EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL22
+ EQUAL? PRSI,BED \?CCL22
MOVE PRSO,HERE
PRINTI "The "
PRINTD PRSO
@@ -591,19 +628,19 @@ FREZONE (tm) explosive available."""
PRINT LANDS-ON-FLOOR
CRLF
RTRUE
-?CCL20: EQUAL? PRSA,V?LOOK-UNDER \?CCL24
- IN? PROTAGONIST,BED \?CCL24
+?CCL22: EQUAL? PRSA,V?LOOK-UNDER \?CCL26
+ IN? PROTAGONIST,BED \?CCL26
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
+?CCL26: EQUAL? PRSA,V?LOOK-UNDER \?CCL30
+ EQUAL? HERE,COMMANDERS-QUARTERS \?CCL30
+ FSET? VALIDATION-STAMP,TOUCHBIT /?CCL30
FSET VALIDATION-STAMP,TOUCHBIT
MOVE VALIDATION-STAMP,HERE
CALL THIS-IS-IT,VALIDATION-STAMP
PRINTI "You discover a "
PRINTD VALIDATION-STAMP
PRINTR "!"
-?CCL28: EQUAL? PRSA,V?SHOOT,V?KILL,V?DRILL \FALSE
+?CCL30: EQUAL? PRSA,V?SHOOT,V?KILL,V?DRILL \FALSE
PRINTR "That would be a clear case of mattresscide!"
@@ -616,43 +653,54 @@ FREZONE (tm) explosive available."""
.FUNCT I-SLEEP-WARNINGS
IN? WELDER,HERE \?PRD4
GRTR? SLEEPY-LEVEL,3 /?CCL2
-?PRD4: GRTR? PLATO-ATTACK-COUNTER,0 \?CND1
- IN? PLATO,HERE \?CND1
+?PRD4: ZERO? STUNNED /?CND1
?CCL2: CALL QUEUE,I-HUNGER-WARNINGS,2
RFALSE
?CND1: INC 'SLEEPY-LEVEL
PRINTI " "
- IN? PROTAGONIST,BED \?CCL11
+ IN? PROTAGONIST,BED \?CCL9
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."
-?CCL11: EQUAL? SLEEPY-LEVEL,1 \?CCL13
+ PRINTI "You suddenly realize how tired you were and how comfortable the bed is. You should be asleep in no time."
+ CRLF
+ JUMP ?CND7
+?CCL9: EQUAL? SLEEPY-LEVEL,1 \?CCL11
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."
-?CCL13: EQUAL? SLEEPY-LEVEL,2 \?CCL15
+ PRINTI "You begin to feel weary. It might be time to think about finding a nice safe place to sleep."
+ CRLF
+ JUMP ?CND7
+?CCL11: EQUAL? SLEEPY-LEVEL,2 \?CCL13
CALL QUEUE,I-SLEEP-WARNINGS,160
- PRINTR "You're really tired now. You'd better find a place to sleep real soon."
-?CCL15: EQUAL? SLEEPY-LEVEL,3 \?CCL17
+ PRINTI "You're really tired now. You'd better find a place to sleep real soon."
+ CRLF
+ JUMP ?CND7
+?CCL13: EQUAL? SLEEPY-LEVEL,3 \?CCL15
CALL QUEUE,I-SLEEP-WARNINGS,80
- PRINTR "If you don't get some sleep soon you'll probably drop."
-?CCL17: EQUAL? SLEEPY-LEVEL,4 \?CCL19
+ PRINTI "If you don't get some sleep soon you'll probably drop."
+ CRLF
+ JUMP ?CND7
+?CCL15: EQUAL? SLEEPY-LEVEL,4 \?CCL17
CALL QUEUE,I-SLEEP-WARNINGS,40
- PRINTR "You can barely keep your eyes open."
-?CCL19: EQUAL? HERE,BED \?CCL22
+ PRINTI "You can barely keep your eyes open."
+ CRLF
+ JUMP ?CND7
+?CCL17: EQUAL? HERE,BED \?CCL20
PRINTI "You slowly sink into a deep and blissful sleep."
- JUMP ?CND20
-?CCL22: CALL GLOBAL-IN?,BED,HERE
- ZERO? STACK /?CCL24
+ JUMP ?CND18
+?CCL20: CALL GLOBAL-IN?,BED,HERE
+ ZERO? STACK /?CCL22
MOVE PROTAGONIST,BED
PRINTI "You climb into one of the beds and immediately fall asleep."
- JUMP ?CND20
-?CCL24: PRINT YOU-CANT
+ JUMP ?CND18
+?CCL22: PRINT YOU-CANT
PRINTI "stay awake a moment longer. You drop "
- IN? PROTAGONIST,HERE \?CND25
- FSET? HERE,WEIGHTLESSBIT /?CND25
+ IN? PROTAGONIST,HERE \?CND23
+ FSET? HERE,WEIGHTLESSBIT /?CND23
PRINTI "to the deck and fall "
-?CND25: PRINTI "into a deep but fitful sleep."
-?CND20: CALL WAKING-UP
+?CND23: PRINTI "into a deep but fitful sleep."
+?CND18: CALL WAKING-UP
+?CND7: IN? PROTAGONIST,BED /FALSE
+ CALL STOP
RSTACK
@@ -671,7 +719,7 @@ FREZONE (tm) explosive available."""
IN? PROTAGONIST,BED /?CND1
MOVE PROTAGONIST,HERE
?CND1: FSET? SPACESUIT,WORNBIT \?CCL5
- CALL JIGS-UP,STR?105
+ CALL JIGS-UP,STR?107
JUMP ?CND3
?CCL5: EQUAL? COURSE-PICKED,RIGHT-COURSE /?CCL7
EQUAL? HERE,SPACETRUCK \?CCL7
@@ -693,7 +741,7 @@ FREZONE (tm) explosive available."""
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?46
+ CALL JIGS-UP,STR?9
JUMP ?CND3
?CCL14: IN? PROTAGONIST,HERE \?PRD18
FSET? DOCKING-BAY-2,TOUCHBIT \?PRD18
@@ -701,11 +749,25 @@ FREZONE (tm) explosive available."""
RANDOM 100
LESS? ?TMP1,STACK \?CTR15
?PRD18: CALL ULTIMATELY-IN?,OSTRICH-NIP
- ZERO? STACK /?CCL16
- IN? OSTRICH,HERE \?CCL16
-?CTR15: CALL JIGS-UP,STR?106
+ ZERO? STACK /?PRD22
+ IN? OSTRICH,HERE /?CTR15
+?PRD22: IN? EXPLOSIVE,DRILLED-HOLE \?CCL16
+?CTR15: CALL JIGS-UP,STR?108
+ JUMP ?CND3
+?CCL16: ZERO? EXPLOSIVE-CONNECTED /?CCL26
+ ZERO? TIMER-CONNECTED /?CCL26
+ IN? DIODE-M,DETONATOR \?CCL26
+ GRTR? TIMER-SETTING,0 \?CCL26
+ CALL META-LOC,EXPLOSIVE
+ EQUAL? STACK,HERE \?CCL33
+ CALL JIGS-UP,STR?109
+ JUMP ?CND3
+?CCL33: CALL DESTROY-EXPLOSIVE-CONT
+ REMOVE TIMER
+ REMOVE EXPLOSIVE
+ REMOVE DETONATOR
JUMP ?CND3
-?CCL16: RANDOM 100
+?CCL26: RANDOM 100
LESS? 60,STACK /?CND3
PRINTI "..."
CALL PICK-ONE,DREAMS
@@ -714,34 +776,41 @@ FREZONE (tm) explosive available."""
?CND3: INC 'DAY
INC 'ROBOT-EVILNESS
CALL I-ROBOT-EVILNESS
+ SET 'TIMER-SETTING,0
+ CALL DEQUEUE,I-TIMER
SET 'SLEEPY-LEVEL,0
SET 'SUIT-PRESSED,FALSE-VALUE
SET 'FLOYD-ANGUISHED,FALSE-VALUE
RANDOM 80
ADD 1600,STACK >INTERNAL-MOVES
- GRTR? DAY,2 \?CCL27
+ GRTR? DAY,2 \?CCL37
SET 'MOVES,9947
- JUMP ?CND25
-?CCL27: CALL QUEUE,I-MESSAGE,943
+ JUMP ?CND35
+?CCL37: CALL QUEUE,I-MESSAGE,943
ADD SCORE,3 >SCORE
SET 'MOVES,INTERNAL-MOVES
-?CND25: FCLEAR AUTO-DOOR,TOUCHBIT
+?CND35: FCLEAR AUTO-DOOR,TOUCHBIT
CALL QUEUE,I-SLEEP-WARNINGS,5900
CALL ULTIMATELY-IN?,EXPLOSIVE,VACUUM-STORAGE
- ZERO? STACK \?CND28
+ ZERO? STACK \?CND38
MOVE EXPLOSIVE,DECK-TWELVE
CALL REMOVE-CAREFULLY,EXPLOSIVE
CALL DEQUEUE,I-EXPLOSIVE-MELT
-?CND28: FSET? HEADLAMP,ONBIT \?CND30
+?CND38: FSET? HEADLAMP,ONBIT \?CND40
FCLEAR HEADLAMP,ACTIVEBIT
FCLEAR HEADLAMP,ONBIT
SET 'HEADLAMP-COUNTER,0
-?CND30: GRTR? SOUP-WARMTH,0 \?CND32
- FSET? THERMOS,OPENBIT \?CCL36
+?CND40: CALL RUNNING?,I-LOG-READER
+ ZERO? STACK /?CND42
+ REMOVE LOG-READER
+ CALL DEQUEUE,I-LOG-READER
+ FCLEAR COMMANDERS-OFFICE,TOUCHBIT
+?CND42: GRTR? SOUP-WARMTH,0 \?CND44
+ FSET? THERMOS,OPENBIT \?CCL48
SET 'SOUP-WARMTH,0
- JUMP ?CND32
-?CCL36: SUB SOUP-WARMTH,30 >SOUP-WARMTH
-?CND32: FSET OSTRICH,TOUCHBIT
+ JUMP ?CND44
+?CCL48: SUB SOUP-WARMTH,30 >SOUP-WARMTH
+?CND44: FSET OSTRICH,TOUCHBIT
CALL ROB,PROTAGONIST,HERE
USL
PRINTI "***** NOVEM "
@@ -751,37 +820,37 @@ FREZONE (tm) explosive available."""
CRLF
CRLF
PRINTI "You awake "
- ZERO? LIT \?CCL39
+ ZERO? LIT \?CCL51
PRINTI "in darkness."
- JUMP ?CND37
-?CCL39: CALL QUEUED?,I-LIGHTS-OUT
- ZERO? STACK /?CCL41
+ JUMP ?CND49
+?CCL51: CALL QUEUED?,I-LIGHTS-OUT
+ ZERO? STACK /?CCL53
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 ?CND37
-?CCL41: LOC PROTAGONIST
- EQUAL? STACK,BED,PILOT-SEAT,COPILOT-SEAT \?CCL43
+ JUMP ?CND49
+?CCL53: LOC PROTAGONIST
+ EQUAL? STACK,BED,PILOT-SEAT,COPILOT-SEAT \?CCL55
PRINTI "feeling refreshed and ready to face anything this new day might care to throw at you."
- 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
+ JUMP ?CND49
+?CCL55: PRINTI "and slowly stand up, feeling stiff from your uncomfortable night's sleep."
+?CND49: EQUAL? DAY,4 \?CND56
+ FSET? SAFE,OPENBIT /?CCL60
CALL QUEUE,I-LIGHTS-OUT,177
- JUMP ?CND44
-?CCL48: CALL QUEUED?,I-ANNOUNCEMENT
- ZERO? STACK \?CND44
+ JUMP ?CND56
+?CCL60: CALL QUEUED?,I-ANNOUNCEMENT
+ ZERO? STACK \?CND56
CALL QUEUE,I-ANNOUNCEMENT,383
-?CND44: GRTR? HUNGER-LEVEL,0 \?CCL52
+?CND56: GRTR? HUNGER-LEVEL,0 \?CCL64
SET 'HUNGER-LEVEL,3
CALL QUEUE,I-HUNGER-WARNINGS,200
PRINTI " You're also incredibly famished. Better get some breakfast!"
- JUMP ?CND50
-?CCL52: CALL QUEUE,I-HUNGER-WARNINGS,400
-?CND50: CRLF
+ JUMP ?CND62
+?CCL64: CALL QUEUE,I-HUNGER-WARNINGS,400
+?CND62: CRLF
CALL RUNNING?,I-SPACETRUCK
- ZERO? STACK /?CND53
- EQUAL? COURSE-PICKED,RIGHT-COURSE \?CND53
+ ZERO? STACK /?CND65
+ EQUAL? COURSE-PICKED,RIGHT-COURSE \?CND65
CALL QUEUE,I-WELDER,-1
CALL DEQUEUE,I-SPACETRUCK
FCLEAR SPACETRUCK,WEIGHTLESSBIT
@@ -789,75 +858,84 @@ FREZONE (tm) explosive available."""
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
-?CND53: EQUAL? DAY,3 \?CND57
+?CND65: EQUAL? DAY,3 \?CND69
FCLEAR ELEVATOR,WEIGHTLESSBIT
FSET EXERCISE-MACHINE,TOUCHBIT
MOVE EXERCISE-MACHINE,COMPUTER-CONTROL
CALL ROB,EXERCISE-MACHINE,GYM
- FSET? CHRONOMETER,WORNBIT \?CND57
+ FSET? CHRONOMETER,WORNBIT \?CND69
PRINTI " "
CALL PERFORM,V?EXAMINE,CHRONOMETER
-?CND57: FSET? FLOYD,ACTIVEBIT \?CND61
- IN? FLOYD,FACTORY /?CND61
- EQUAL? HERE,AIRLOCK /?CND61
+?CND69: FSET? FLOYD,ACTIVEBIT \?CND73
+ IN? FLOYD,FACTORY /?CND73
+ EQUAL? HERE,AIRLOCK /?CND73
SET 'FLOYD-SPOKE,TRUE-VALUE
PRINTI " Floyd "
- GRTR? ROBOT-EVILNESS,13 \?CCL68
+ GRTR? ROBOT-EVILNESS,13 \?CCL80
PRINTI "is rudely kicking you"
- IN? PROTAGONIST,BED \?CND69
+ IN? PROTAGONIST,BED \?CND81
PRINTI "r mattress"
-?CND69: PRINTI ". ""Trot it! Will you kripping wake up already? Floyd getting bored!"""
+?CND81: PRINTI ". ""Trot it! Will you kripping wake up already? Floyd getting bored!"""
CRLF
- JUMP ?CND66
-?CCL68: PRINTI "bounces impatiently at "
- IN? PROTAGONIST,BED \?CCL73
+ JUMP ?CND78
+?CCL80: PRINTI "bounces impatiently at "
+ IN? PROTAGONIST,BED \?CCL85
PRINTI "the foot of the bed"
- JUMP ?CND71
-?CCL73: PRINTI "your side"
-?CND71: ZERO? PLATO-INTRODUCED /?CND74
- ZERO? PLATO-ATTACK-COUNTER \?CND74
+ JUMP ?CND83
+?CCL85: PRINTI "your side"
+?CND83: ZERO? PLATO-INTRODUCED /?CND86
+ ZERO? PLATO-ATTACK-COUNTER \?CND86
MOVE PLATO,HERE
PRINTI ". Plato is nearby, leafing through his book"
-?CND74: ZERO? PLATO-INTRODUCED \?CCL80
+?CND86: ZERO? PLATO-INTRODUCED \?CCL92
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 ?CND66
-?CCL80: PRINTI ". ""About time you woke up, you lazy "
- GRTR? ROBOT-EVILNESS,9 \?CCL83
+ JUMP ?CND78
+?CCL92: PRINTI ". ""About time you woke up, you lazy "
+ GRTR? ROBOT-EVILNESS,9 \?CCL95
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!"""
+ JUMP ?CND93
+?CCL95: PRINTI "bones!"" says Floyd. ""Let's explore around some mo"
+?CND93: PRINTI "re!"""
CRLF
-?CND66: MOVE FLOYD,HERE
-?CND61: ZERO? LIT /FALSE
+?CND78: MOVE FLOYD,HERE
+?CND73: ZERO? LIT /?CND96
CRLF
CALL V-LOOK
+?CND96: CALL STOP
RSTACK
.FUNCT I-HUNGER-WARNINGS
- GRTR? PLATO-ATTACK-COUNTER,0 \?CND1
- IN? PLATO,HERE \?CND1
+ ZERO? STUNNED /?CND1
CALL QUEUE,I-HUNGER-WARNINGS,2
RFALSE
?CND1: INC 'HUNGER-LEVEL
PRINTI " "
- EQUAL? HUNGER-LEVEL,1 \?CCL7
+ EQUAL? HUNGER-LEVEL,1 \?CCL5
CALL QUEUE,I-HUNGER-WARNINGS,450
- PRINTR "A growl from your stomach warns that you're getting pretty hungry and thirsty."
-?CCL7: EQUAL? HUNGER-LEVEL,2 \?CCL9
+ PRINTI "A growl from your stomach warns that you're getting pretty hungry and thirsty."
+ CRLF
+ JUMP ?CND3
+?CCL5: EQUAL? HUNGER-LEVEL,2 \?CCL7
CALL QUEUE,I-HUNGER-WARNINGS,300
- PRINTR "You're now really ravenous and your lips are quite parched."
-?CCL9: EQUAL? HUNGER-LEVEL,3 \?CCL11
+ PRINTI "You're now really ravenous and your lips are quite parched."
+ CRLF
+ JUMP ?CND3
+?CCL7: EQUAL? HUNGER-LEVEL,3 \?CCL9
CALL QUEUE,I-HUNGER-WARNINGS,150
- PRINTR "You're starting to feel faint from lack of food and liquid."
-?CCL11: EQUAL? HUNGER-LEVEL,4 \?CCL13
+ PRINTI "You're starting to feel faint from lack of food and liquid."
+ CRLF
+ JUMP ?CND3
+?CCL9: EQUAL? HUNGER-LEVEL,4 \?CCL11
CALL QUEUE,I-HUNGER-WARNINGS,150
- PRINTR "If you don't eat or drink something in a few millichrons, you'll probably pass out."
-?CCL13: EQUAL? HUNGER-LEVEL,5 \FALSE
- CALL JIGS-UP,STR?107
+ PRINTI "If you don't eat or drink something in a few millichrons, you'll probably pass out."
+ CRLF
+ JUMP ?CND3
+?CCL11: EQUAL? HUNGER-LEVEL,5 \?CND3
+ CALL JIGS-UP,STR?110
+?CND3: CALL STOP
RSTACK
@@ -890,6 +968,7 @@ FREZONE (tm) explosive available."""
ZERO? STACK /?CND15
PRINTI " As the heat wave hits the explosive, it "
PRINT SUBLIMES-INTO-FREZONE
+ CALL DEQUEUE,I-EXPLOSIVE-MELT
CALL REMOVE-CAREFULLY,EXPLOSIVE
?CND15: IN? OSTRICH,HERE \?CCL19
FSET? OSTRICH,TOUCHBIT \?CCL19
@@ -906,52 +985,6 @@ FREZONE (tm) explosive available."""
PRINTR "It's doubtful that you could even make a dent in the welder."
- .FUNCT I-WELDER
- IN? WELDER,HERE \?CCL3
- PRINTI " "
- INC 'WELDER-COUNTER
- 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 ?CND4
-?CCL8: EQUAL? WELDER-COUNTER,3 /?CND4
- CALL JIGS-UP,STR?108
-?CND4: CALL PERFORM,V?EXAMINE,WELDER
- RSTACK
-?CCL3: GRTR? WELDER-COUNTER,0 \?CCL11
- REMOVE WELDER
- SET 'WELDER-COUNTER,0
- 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 \?CCL20
- IN? PLATO,HERE /FALSE
-?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 /?CND26
- FSET WELDER,TOUCHBIT
- CALL PERFORM,V?WHAT,WELDER
-?CND26: CALL PERFORM,V?EXAMINE,WELDER
- CALL STOP
- RSTACK
-
-
.FUNCT TOUCHING?,THING
EQUAL? PRSO,THING \?CCL3
EQUAL? PRSA,V?TAKE,V?TOUCH,V?SHAKE /TRUE
@@ -976,14 +1009,18 @@ FREZONE (tm) explosive available."""
SET 'P-WON,FALSE-VALUE
PRINT YOU-CANT
PRINTI "see"
- CALL NAME?,OBJ
+ EQUAL? PRSO,OBJ \?CCL5
+ GET P-NAMW,0
+ JUMP ?CND3
+?CCL5: GET P-NAMW,1
+?CND3: CALL NAME?,STACK
ZERO? STACK \?CND1
PRINTI " any"
-?CND1: EQUAL? OBJ,PRSI \?CCL5
+?CND1: EQUAL? OBJ,PRSI \?CCL8
CALL PRSI-PRINT
- JUMP ?CND3
-?CCL5: CALL PRSO-PRINT
-?CND3: PRINTI " here."
+ JUMP ?CND6
+?CCL8: CALL PRSO-PRINT
+?CND6: PRINTI " here."
CRLF
CALL STOP
RSTACK
@@ -1007,7 +1044,7 @@ FREZONE (tm) explosive available."""
EQUAL? OBJ,TIMER,DETONATOR \?CCL3
SET 'TIMER-CONNECTED,FALSE-VALUE
SET 'ALSO,TRUE-VALUE
- CALL VISIBLE?,DETONATOR
+ CALL VISIBLE?,TIMER
ZERO? STACK /?CND1
PRINTI " (The timer is"
PRINT NO-LONGER-ATTACHED
@@ -1015,13 +1052,16 @@ FREZONE (tm) explosive available."""
?CCL3: ZERO? EXPLOSIVE-CONNECTED /?CND1
EQUAL? OBJ,EXPLOSIVE,DETONATOR \?CND1
SET 'EXPLOSIVE-CONNECTED,FALSE-VALUE
- CALL VISIBLE?,DETONATOR
+ CALL VISIBLE?,EXPLOSIVE
ZERO? STACK /?CND1
PRINTI " (The explosive is"
ZERO? ALSO /?CND13
PRINTI " also"
?CND13: PRINT NO-LONGER-ATTACHED
-?CND1: FSET OBJ,TOUCHBIT
+?CND1: IN? EXPLOSIVE,THERMOS \?CND15
+ FSET? THERMOS,OPENBIT /?CND15
+ SET 'THERMOS-FILLED-WITH-GAS,TRUE-VALUE
+?CND15: FSET OBJ,TOUCHBIT
FCLEAR OBJ,TRYTAKEBIT
REMOVE OBJ
RTRUE
@@ -1078,6 +1118,7 @@ FREZONE (tm) explosive available."""
EQUAL? PRSO,ROBOT-PICKED /?CND1
PRINTI " from outside the bin"
?CND1: PRINT PERIOD-CR
+ ZERO? P-MULT \TRUE
CALL STOP
RSTACK
@@ -1089,8 +1130,8 @@ FREZONE (tm) explosive available."""
CALL TPRINT,OBJ
?CND1: PRINTI " first."
CRLF
- CALL STOP
- RSTACK
+ ZERO? P-MULT \TRUE
+ RETURN 8
.FUNCT DOESNT-FIT,STRING
@@ -1165,4 +1206,13 @@ FREZONE (tm) explosive available."""
CRLF
RTRUE
+
+ .FUNCT MESS,STRING
+ PRINTI "You create a "
+ PRINT STRING
+ PRINTI "ish mess. In the wink of an eye, an army of common Cassiopeian cockroaches swarms out of the ""woodwork,"" devours the "
+ PRINT STRING
+ PRINTI ", and return to their hidden recesses. You spend a moment pondering the competence of the station's Extermination Officer"
+ RTRUE
+
.ENDI
diff --git a/globals.zil b/globals.zil
index 683857c..1184bfd 100644
--- a/globals.zil
+++ b/globals.zil
@@ -77,14 +77,20 @@ anything you didn't see before." CR>)
(IN GLOBAL-OBJECTS)
(DESC "number")
(SYNONYM NUMBER ONE TWO THREE)
+ (ADJECTIVE BIN) ;"for LOOK AT BIN THREE, etc. in Robot Pool"
(ACTION INTNUM-F)>
<ROUTINE INTNUM-F ()
- <COND (<AND <OR <NOUN-USED ,W?ONE ,INTNUM>
- <NOUN-USED ,W?TWO ,INTNUM>
- <NOUN-USED ,W?THREE ,INTNUM>>
+ <COND (<ADJ-USED ,A?BIN ,INTNUM>
+ <COND (<NOT <EQUAL? ,HERE ,ROBOT-POOL>>
+ <TELL ,YOU-CANT "see any bin here!]" CR>)
+ (<G? ,P-NUMBER 3>
+ <TELL "There are only three bins!" CR>)
+ (T
+ <TELL ,REFER-TO-BIN>)>)
+ (<AND <EQUAL? <GET ,P-NAMW 0> ,W?ONE ,W?TWO ,W?THREE>
<GLOBAL-IN? ,KEYPAD ,HERE>
- <VERB? PUSH TYPE>>
+ <VERB? PUSH TYPE>> ;"TYPE ONE for example"
<TELL
"[Use numerals: for example, TYPE 5 rather than TYPE FIVE.]" CR>)
(<AND <VERB? EXAMINE SHOOT ON OFF KILL MUNG>
@@ -92,9 +98,10 @@ anything you didn't see before." CR>)
,P-NUMBER>
<IN? ,WELDER ,HERE>>
<COND (<PRSO? ,INTNUM>
- <PERFORM-PRSA ,WELDER ,PRSI>)
+ <PERFORM ,PRSA ,WELDER ,PRSI>)
(T
- <PERFORM-PRSA ,PRSO ,WELDER>)>)
+ <PERFORM ,PRSA ,PRSO ,WELDER>)>
+ <RTRUE>)
(<OR <AND <VERB? ENTER>
<EQUAL? ,P-PRSA-WORD ,W?ENTER>
<GLOBAL-IN? ,KEYPAD ,HERE>>
@@ -108,7 +115,7 @@ anything you didn't see before." CR>)
<COND (<EQUAL? ,P-NUMBER ,DIAL-SETTING>
<TELL ,SENILITY-STRIKES>)
(<G? ,P-NUMBER 8000>
- <TELL "The dial only goes up to 8000." CR>)
+ <TELL "The dial goes up to only 8000." CR>)
(T
<SETG DIAL-SETTING ,P-NUMBER>
<TELL "\"Click.\"" CR>)>)
@@ -217,10 +224,10 @@ anything you didn't see before." CR>)
then P-MOBY-FOUND is it. You can treat the 0 and >1 cases alike or differently.
Always return RFALSE (not handled) if you have resolved the problem."
<SET M-F <MOBY-FIND .TBL>>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[Found " N .M-F " obj]" CR>)>
<COND (<EQUAL? 1 .M-F>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[Namely: " D ,P-MOBY-FOUND "]" CR>)>
<COND (.PRSO?
<SETG PRSO ,P-MOBY-FOUND>
@@ -233,7 +240,7 @@ Always return RFALSE (not handled) if you have resolved the problem."
;"Protocol: returns .OBJ if that's the one to use
,NOT-HERE-OBJECT if case was handled and msg TELLed
<> if WHICH-PRINT should be called"
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[Generic: " D .OBJ "]" CR>)>
<COND (<EQUAL? .OBJ ,NOT-HERE-OBJECT>
<RTRUE>)
@@ -267,10 +274,22 @@ Always return RFALSE (not handled) if you have resolved the problem."
<ROUTINE GROUND-F ()
<COND (<VERB? CLIMB-ON ENTER>
- <SETG C-ELAPSED 31>
- <TELL "After a brief squat on the floor, you stand again." CR>)
+ <COND (,STUNNED
+ <TELL ,LOOK-AROUND>)
+ (T
+ <SETG C-ELAPSED 31>
+ <TELL
+"After a brief squat on the floor, you stand again." CR>)>)
+ (<VERB? CLEAN>
+ <SETG AWAITING-REPLY 1>
+ <QUEUE I-REPLY <+ ,C-ELAPSED 2>>
+ <TELL "Do you also do windows?" CR>)
(<VERB? LOOK-UNDER>
<IMPOSSIBLES>)
+ (<AND <VERB? OPEN>
+ <EQUAL? ,HERE ,BOTTOM-OF-AIR-SHAFT>>
+ <PERFORM ,V?OPEN ,GRATING>
+ <RTRUE>)
(<VERB? LEAVE>
<DO-WALK ,P?UP>)>>
@@ -295,11 +314,18 @@ Always return RFALSE (not handled) if you have resolved the problem."
<ROUTINE CEILING-F ()
<COND (<AND <VERB? EXAMINE SEARCH>
<EQUAL? ,HERE ,PET-STORE>>
- <MOVE ,PANEL ,HERE>
- <THIS-IS-IT ,PANEL>
- <TELL
-"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." CR>)
+ <COND (<IN? ,PANEL ,HERE>
+ <TELL
+"There's a panel mounted in the ceiling. ">
+ <PERFORM ,V?EXAMINE ,PANEL>
+ <RTRUE>)
+ ;"if panel has no LOC, it means that you blew it up"
+ (<IN? ,PANEL ,LOCAL-GLOBALS>
+ <MOVE ,PANEL ,HERE>
+ <THIS-IS-IT ,PANEL>
+ <TELL
+"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." CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,DOME>>
<TELL ,DOME-DESC CR>)
@@ -338,7 +364,7 @@ the Pet Store would never have uncovered: a panel mounted in the ceiling." CR>)
<COND (<NOT ,LIT>
<TELL ,TOO-DARK CR>)
(<AND <EQUAL? ,HERE ,GREASY-STRAW>
- <IN? ,NECTAR ,LOCAL-GLOBALS>>
+ <NOT <FSET? ,NECTAR ,TOUCHBIT>>>
<MOVE ,NECTAR ,HERE>
<THIS-IS-IT ,NECTAR>
<TELL
@@ -394,10 +420,9 @@ the Pet Store would never have uncovered: a panel mounted in the ceiling." CR>)
" 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." CR>)
+Sub-Module. Joining the Command Module, at its two other connection points,"
+,TANGLE-OF-TUBES " These form a \"village,\" the sort of seedy, unauthorized
+village that frequently collects around a space station." CR>)
(T
<TELL
"You see nothing but the majestic sweep of the galaxy." CR>)>)
@@ -410,7 +435,7 @@ around a space station." CR>)
(IN LOCAL-GLOBALS)
(DESC "sign")
(SYNONYM SIGN)
- (ADJECTIVE EYE-CATCHING)
+ (ADJECTIVE LARGE RED EYE-CATCHING)
(FLAGS READBIT)
(ACTION SIGN-F)>
@@ -569,6 +594,10 @@ of multi-part forms, it's far outside your area of expertise." CR>)>)
<JIGS-UP
"Done. You might remain alive long enough to type EXAMINE MY STUMP.
Oops, I guess not.">)
+ (<VERB? DRILL>
+ <TELL
+"Hmmm. Are you trying for a hole in " 'PRSO
+" to match the hole in your head?" CR>)
(<AND <VERB? TAKE-WITH>
<PRSI? ,HANDS>>
<PERFORM ,V?TAKE ,PRSO>
@@ -586,7 +615,9 @@ Oops, I guess not.">)
<COND (<AND <VERB? PUT-ON RUN-OVER>
<PRSO? ,TONGUE>>
<PERFORM ,V?TASTE ,PRSI>
- <RTRUE>)>>
+ <RTRUE>)
+ (<VERB? DRILL>
+ <HANDS-F>)>>
<OBJECT PROTAGONIST
(IN DECK-TWELVE)
@@ -737,7 +768,7 @@ Sub-Module connector you might have expected." CR>)>)
<IN? ,FLOYD ,COPILOT-SEAT>>
<RFALSE>)
(<AND <IN? ,PROTAGONIST ,COPILOT-SEAT>
- <IN? ,FLOYD ,COPILOT-SEAT>>
+ <IN? ,FLOYD ,PILOT-SEAT>>
<RFALSE>)
(T
<RTRUE>)>>
@@ -775,20 +806,38 @@ Sub-Module connector you might have expected." CR>)>)
(ACTION FURNISHING-F)>
<ROUTINE FURNISHING-F ()
- <COND (<VERB? OPEN SEARCH LOOK-INSIDE EXAMINE>
+ <COND (<VERB? ENTER OPEN SEARCH LOOK-INSIDE EXAMINE>
<TELL
"You merely find a few personal items of little interest." CR>)
(<VERB? PUT PUT-ON>
<TELL
"The " D ,PRSI " is such a mess that you can't find a good spot
to put" TR ,PRSO>)>>
+
+<OBJECT VILLAGE
+ (IN LOCAL-GLOBALS)
+ (DESC "village")
+ (SYNONYM VILLAGE)
+ (ADJECTIVE SEEDY NONREGULATION UNAUTHORIZED ILLEGAL SPACE)
+ (ACTION VILLAGE-F)>
+
+<ROUTINE VILLAGE-F ()
+ <COND (<AND <EQUAL? ,HERE ,SPACETRUCK>
+ <OR <NOT <EQUAL? ,SPACETRUCK-COUNTER 4>>
+ <NOT <EQUAL? ,COURSE-PICKED ,RIGHT-COURSE>>>>
+ <CANT-SEE ,VILLAGE>)
+ (<VERB? ENTER WALK-TO EXIT LEAVE DISEMBARK>
+ <V-WALK-AROUND>)
+ (<AND <VERB? EXAMINE>
+ <EQUAL? ,HERE ,SPACETRUCK>>
+ <TELL "The village" ,TANGLE-OF-TUBES CR>)>>
;"sleeping"
<OBJECT BED
(IN LOCAL-GLOBALS)
(DESC "bed")
- (SYNONYM BED)
+ (SYNONYM BED BEDS)
(FLAGS VEHBIT SEARCHBIT CONTBIT OPENBIT)
(ACTION BED-F)>
@@ -797,7 +846,9 @@ to put" TR ,PRSO>)>>
<NOT <GLOBAL-IN? ,BED ,HERE>>>
<TELL "There's no bed here!" CR>)
(<VERB? ENTER WALK-TO>
- <COND (<G? ,SLEEPY-LEVEL 0>
+ <COND (,STUNNED
+ <YOURE-STUNNED>)
+ (<G? ,SLEEPY-LEVEL 0>
<MOVE ,PROTAGONIST ,BED>
<QUEUE I-FALL-ASLEEP 22>
<DEQUEUE I-SLEEP-WARNINGS>
@@ -848,8 +899,7 @@ asleep in short order." CR>)
<ROUTINE I-SLEEP-WARNINGS ()
<COND (<OR <AND <IN? ,WELDER ,HERE>
<G? ,SLEEPY-LEVEL 3>>
- <AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>>
+ ,STUNNED>
<QUEUE I-HUNGER-WARNINGS 2>
<RFALSE>)>
<SETG SLEEPY-LEVEL <+ ,SLEEPY-LEVEL 1>>
@@ -890,7 +940,9 @@ a nice safe place to sleep." CR>)
<NOT <FSET? ,HERE ,WEIGHTLESSBIT>>>
<TELL "to the deck and fall ">)>
<TELL "into a deep but fitful sleep.">)>
- <WAKING-UP>)>>
+ <WAKING-UP>)>
+ <COND (<NOT <IN? ,PROTAGONIST ,BED>>
+ <STOP>)>>
<ROUTINE I-FALL-ASLEEP ()
<COND (<IN? ,WELDER ,HERE>
@@ -929,7 +981,7 @@ 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 your own name echoes over the
-PA system -- and down below you see YOURSELF walking up the steps to the stage!
+P.A. 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!\"
@@ -985,16 +1037,30 @@ Moral: don't screw up vital assignments like picking up " ,FORM-NAME>
<FSET? ,DOCKING-BAY-2 ,TOUCHBIT>
<PROB <* ,DAY 40>>>
<AND <ULTIMATELY-IN? ,OSTRICH-NIP>
- <IN? ,OSTRICH ,HERE>>>
+ <IN? ,OSTRICH ,HERE>>
+ <IN? ,EXPLOSIVE ,DRILLED-HOLE>>
<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...">)
+ (<AND ,EXPLOSIVE-CONNECTED
+ ,TIMER-CONNECTED
+ <IN? ,DIODE-M ,DETONATOR>
+ <G? ,TIMER-SETTING 0>>
+ <COND (<EQUAL? <META-LOC ,EXPLOSIVE> ,HERE>
+ <JIGS-UP "Snore...snore...KABOOM!">)
+ (T
+ <DESTROY-EXPLOSIVE-CONT>
+ <REMOVE ,TIMER>
+ <REMOVE ,EXPLOSIVE>
+ <REMOVE ,DETONATOR>)>)
(<PROB 60>
<TELL "..." <PICK-ONE ,DREAMS> ,ELLIPSIS>)>
<SETG DAY <+ ,DAY 1>>
<SETG ROBOT-EVILNESS <+ ,ROBOT-EVILNESS 1>>
<I-ROBOT-EVILNESS>
+ <SETG TIMER-SETTING 0>
+ <DEQUEUE I-TIMER>
<SETG SLEEPY-LEVEL 0>
<SETG SUIT-PRESSED <>>
<SETG FLOYD-ANGUISHED <>>
@@ -1020,6 +1086,10 @@ leaps from it, straight toward...">)
<FCLEAR ,HEADLAMP ,ACTIVEBIT>
<FCLEAR ,HEADLAMP ,ONBIT>
<SETG HEADLAMP-COUNTER 0>)>
+ <COND (<RUNNING? ,I-LOG-READER>
+ <REMOVE ,LOG-READER>
+ <DEQUEUE I-LOG-READER>
+ <FCLEAR ,COMMANDERS-OFFICE ,TOUCHBIT>)>
<COND (<G? ,SOUP-WARMTH 0>
<COND (<FSET? ,THERMOS ,OPENBIT>
<SETG SOUP-WARMTH 0>)
@@ -1114,15 +1184,15 @@ friend,\" says Floyd with unbounded exuberance and a wide grin." CR>
<MOVE ,FLOYD ,HERE>)>
<COND (,LIT
<CRLF>
- <V-LOOK>)>>
+ <V-LOOK>)>
+ <STOP>>
;"thirst and hunger"
<GLOBAL HUNGER-LEVEL 0>
<ROUTINE I-HUNGER-WARNINGS ()
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
+ <COND (,STUNNED
<QUEUE I-HUNGER-WARNINGS 2>
<RFALSE>)>
<SETG HUNGER-LEVEL <+ ,HUNGER-LEVEL 1>>
@@ -1146,7 +1216,8 @@ hungry and thirsty." CR>)
"If you don't eat or drink something in a few millichrons, you'll
probably pass out." CR>)
(<EQUAL? ,HUNGER-LEVEL 5>
- <JIGS-UP "You collapse from extreme thirst and hunger.">)>>
+ <JIGS-UP "You collapse from extreme thirst and hunger.">)>
+ <STOP>>
;"the welding menace"
@@ -1191,6 +1262,7 @@ vanishes! A wave of hot vapor pushes you backwards.">
<COND (<VISIBLE? ,EXPLOSIVE>
<TELL
" As the heat wave hits the explosive, it " ,SUBLIMES-INTO-FREZONE>
+ <DEQUEUE I-EXPLOSIVE-MELT>
<REMOVE-CAREFULLY ,EXPLOSIVE>)>
<COND (<AND <IN? ,OSTRICH ,HERE>
<FSET? ,OSTRICH ,TOUCHBIT>>
@@ -1215,46 +1287,7 @@ vanishes! A wave of hot vapor pushes you backwards.">
<GLOBAL WELDER-COUNTER 0> ;"how close is the attacking welder to you?"
-<ROUTINE I-WELDER ()
- <COND (<IN? ,WELDER ,HERE>
- <TELL " ">
- <SETG WELDER-COUNTER <+ ,WELDER-COUNTER 1>>
- <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
-"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.">)>
- <PERFORM ,V?EXAMINE ,WELDER>)
- (<G? ,WELDER-COUNTER 0>
- <REMOVE ,WELDER>
- <SETG WELDER-COUNTER 0>
- <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>>
- <SETG WELDER-TABLE-POINTER <RANDOM ,NUMBER-OF-WELDERS>>
- <TELL " You spot a " 'WELDER " approaching. ">
- <COND (<NOT <FSET? ,WELDER ,TOUCHBIT>>
- <FSET ,WELDER ,TOUCHBIT>
- <PERFORM ,V?WHAT ,WELDER>)>
- <PERFORM ,V?EXAMINE ,WELDER>
- <STOP>)>>
+;"routine I-WELDER moved to INTERRUPTS file"
;"utility routines and shared strings"
@@ -1283,7 +1316,10 @@ same two extensions at that moment.">)>
<ROUTINE CANT-SEE (OBJ)
<SETG P-WON <>>
<TELL ,YOU-CANT "see">
- <COND (<NOT <NAME? .OBJ>>
+ <COND (<NOT <NAME? <COND (<PRSO? .OBJ>
+ <GET ,P-NAMW 0>)
+ (T
+ <GET ,P-NAMW 1>)>>>
<TELL " any">)>
<COND (<EQUAL? .OBJ ,PRSI>
<PRSI-PRINT>)
@@ -1303,16 +1339,19 @@ same two extensions at that moment.">)>
<EQUAL? .OBJ ,TIMER ,DETONATOR>>
<SETG TIMER-CONNECTED <>>
<SET ALSO T>
- <COND (<VISIBLE? ,DETONATOR>
+ <COND (<VISIBLE? ,TIMER>
<TELL " (The timer is" ,NO-LONGER-ATTACHED>)>)
(<AND ,EXPLOSIVE-CONNECTED
<EQUAL? .OBJ ,EXPLOSIVE ,DETONATOR>>
<SETG EXPLOSIVE-CONNECTED <>>
- <COND (<VISIBLE? ,DETONATOR>
+ <COND (<VISIBLE? ,EXPLOSIVE>
<TELL " (The explosive is">
<COND (.ALSO
<TELL " also">)>
<TELL ,NO-LONGER-ATTACHED>)>)>
+ <COND (<AND <IN? ,EXPLOSIVE ,THERMOS>
+ <NOT <FSET? ,THERMOS ,OPENBIT>>>
+ <SETG THERMOS-FILLED-WITH-GAS T>)>
<FSET .OBJ ,TOUCHBIT>
<FCLEAR .OBJ ,TRYTAKEBIT>
<REMOVE .OBJ>>
@@ -1358,14 +1397,20 @@ same two extensions at that moment.">)>
<NOT <PRSO? ,ROBOT-PICKED>>>
<TELL " from outside the bin">)>
<TELL ,PERIOD-CR>
- <STOP>>
+ <COND (,P-MULT
+ <RTRUE>)
+ (T
+ <STOP>)>>
<ROUTINE DO-FIRST (STRING "OPTIONAL" (OBJ <>))
<TELL ,YOULL-HAVE-TO .STRING>
<COND (.OBJ
<TPRINT .OBJ>)>
<TELL " first." CR>
- <STOP>>
+ <COND (,P-MULT ;"for example, don't stop a TAKE ALL for worn objects"
+ <RTRUE>)
+ (T
+ <RFATAL>)>>
<ROUTINE DOESNT-FIT (STRING)
<TELL
@@ -1421,6 +1466,13 @@ same two extensions at that moment.">)>
<CRLF>)>
<RTRUE>>
+<ROUTINE MESS (STRING)
+ <TELL
+"You create a " .STRING "ish mess. In the wink of an eye, an army of common
+Cassiopeian cockroaches swarms out of the \"woodwork,\" devours the "
+.STRING ", and return to their hidden recesses. You spend a moment pondering
+the competence of the station's Extermination Officer">>
+
;<ROUTINE UNIMPORTANT-THING-F ()
<TELL "That's not important; leave it alone." CR>>
@@ -1554,4 +1606,22 @@ engine vents like steam from the nostrils of an angry bull.">
<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
+<GLOBAL TOO-LONG-TO-WAIT "That's too long to wait.|">
+
+<GLOBAL CALLOUS-DISREGARD
+". 2. A callous disregard for scientific accuracy on the part of the author">
+
+<GLOBAL REFER-TO-BIN
+"[Please refer to them as FIRST BIN, SECOND BIN, and THIRD BIN.]|">
+
+<GLOBAL FLOYDS-HANGING-IN-AIR-COMMENT
+" \"Boy, that looks like fun!\" says Floyd, peering up at you.
+\"Can Floyd try it? Huh? Please?\"|">
+
+<GLOBAL TANGLE-OF-TUBES
+" is a tangle of tubes and space bubbles and derelict rockets.">
+
+<GLOBAL WONT-BUDGE "It won't budge.|">
+
+<GLOBAL FLOYD-SNIFFS
+"Floyd sniffs, \"Please leave Floyd alone for a while.\"|"> \ No newline at end of file
diff --git a/interrupts.zap b/interrupts.zap
new file mode 100644
index 0000000..c02f07b
--- /dev/null
+++ b/interrupts.zap
@@ -0,0 +1,529 @@
+
+
+ .FUNCT I-WELDER
+ IN? WELDER,HERE \?CCL3
+ PRINTI " "
+ INC 'WELDER-COUNTER
+ 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 ?CND4
+?CCL8: EQUAL? WELDER-COUNTER,3 /?CND4
+ CALL JIGS-UP,STR?8
+?CND4: CALL PERFORM,V?EXAMINE,WELDER
+ RSTACK
+?CCL3: GRTR? WELDER-COUNTER,0 \?CCL11
+ REMOVE WELDER
+ SET 'WELDER-COUNTER,0
+ 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
+ ZERO? STUNNED \FALSE
+ 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 /?CND24
+ FSET WELDER,TOUCHBIT
+ CALL PERFORM,V?WHAT,WELDER
+?CND24: CALL PERFORM,V?EXAMINE,WELDER
+ CALL STOP
+ RSTACK
+
+
+ .FUNCT I-HEADLAMP
+ FSET? HEADLAMP,ONBIT \?CCL3
+ DEC 'HEADLAMP-COUNTER
+ ZERO? HEADLAMP-COUNTER \?CND4
+ FCLEAR HEADLAMP,ACTIVEBIT
+ FCLEAR HEADLAMP,ONBIT
+?CND4: CALL VISIBLE?,HEADLAMP
+ ZERO? STACK /FALSE
+ EQUAL? HEADLAMP-COUNTER,0,15,30 \FALSE
+ PRINTI " The light from the headlamp "
+ ZERO? HEADLAMP-COUNTER \?CCL13
+ PRINTI "flickers and dies!"
+ CRLF
+ CALL NOW-DARK?
+ RSTACK
+?CCL13: EQUAL? HEADLAMP-COUNTER,5 \?CCL15
+ PRINTR "is almost out!"
+?CCL15: PRINTR "seems somewhat dimmer."
+?CCL3: CALL DEQUEUE,I-HEADLAMP
+ RSTACK
+
+
+ .FUNCT I-PLATINUM-DETECTOR,?TMP1
+ INC 'DETECTOR-COUNTER
+ CALL VISIBLE?,PLATINUM-DETECTOR
+ ZERO? STACK /?CND1
+ CALL META-LOC,FOIL >?TMP1
+ CALL META-LOC,PLATINUM-DETECTOR
+ EQUAL? ?TMP1,STACK /?CCL2
+ CALL ULTIMATELY-IN?,PLATINUM-DETECTOR,BARBERSHOP
+ ZERO? STACK /?CND1
+ ZERO? MIRROR-BROKEN \?CND1
+?CCL2: PRINTI " The detector is quietly beeping."
+ CRLF
+?CND1: EQUAL? DETECTOR-COUNTER,50,75 \?CCL11
+ IN? PLATINUM-DETECTOR,PROTAGONIST \?CCL11
+ PRINTI " You notice that the detector is getting "
+ EQUAL? DETECTOR-COUNTER,75 \?CND14
+ PRINTI "very "
+?CND14: PRINTR "warm."
+?CCL11: EQUAL? DETECTOR-COUNTER,100 \FALSE
+ IN? PLATINUM-DETECTOR,PROTAGONIST \FALSE
+ MOVE PLATINUM-DETECTOR,HERE
+ PRINTR " Yeow! The detector is now too hot to handle, so you drop it."
+
+
+ .FUNCT I-DRYER
+ INC 'DRYER-COUNTER
+ FCLEAR LAUNDRY,TOUCHBIT
+ EQUAL? HERE,LAUNDRY \FALSE
+ EQUAL? DRYER-COUNTER,5,10,15 \FALSE
+ PRINTI " "
+ CALL DESCRIBE-DRYER-HEAT
+ CRLF
+ RTRUE
+
+
+ .FUNCT I-RADIO
+ EQUAL? HERE,SPACETRUCK \FALSE
+ RANDOM 100
+ LESS? 30,STACK /?CCL5
+ PRINTI " The radio crackles to life. ""Breaker. "
+ CALL PICK-ONE,RADIO-LINES
+ PRINT STACK
+ PRINTR " Over."""
+?CCL5: RANDOM 100
+ LESS? 20,STACK /FALSE
+ PRINTR " A country and western station drifts into tune for a moment, but then fades again."
+
+
+ .FUNCT I-FLOYD,OBJ=0,?TMP1
+ CALL QUEUE,I-FLOYD,-1
+ 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! (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
+?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
+?CCL5: ZERO? FLOYD-ANGUISHED /?CCL7
+ CALL VISIBLE?,FLOYD
+ ZERO? STACK \?CND8
+ SET 'FLOYD-ANGUISHED,FALSE-VALUE
+?CND8: SET 'FLOYD-FOLLOW,FALSE-VALUE
+ RFALSE
+?CCL7: CALL VISIBLE?,FLOYD
+ ZERO? STACK /?CCL11
+ FSET? FLOYD,ACTIVEBIT \FALSE
+ LOC FLOYD
+ EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \?CCL16
+ GRTR? SPACETRUCK-COUNTER,0 \?CCL16
+ ZERO? PILOT-SEAT-COMMENT \?CCL16
+ SET 'PILOT-SEAT-COMMENT,TRUE-VALUE
+ PRINTI " Floyd strains to see over the top of the dashboard. ""Boy, seats low! Floyd could sure use a phone book!"""
+ CRLF
+ JUMP ?CND1
+?CCL16: IN? OSTRICH,HERE \?CCL21
+ ZERO? OSTRICH-COMMENT \?CCL21
+ SET 'OSTRICH-COMMENT,TRUE-VALUE
+ PRINTI " Floyd looks at the ostrich with breathless excitement. ""Wow! An elephant!"""
+ CRLF
+ JUMP ?CND1
+?CCL21: IN? BALLOON,HERE \?CCL25
+ ZERO? BALLOON-COMMENT \?CCL25
+ ZERO? HANGING-IN-AIR \?CCL25
+ GRTR? ROBOT-EVILNESS,13 \?CCL25
+ 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
+?CCL25: FSET? HERE,FLOYDBIT /?PRD33
+ ZERO? FLOYD-SPOKE \?PRD33
+ RANDOM 100
+ LESS? 6,STACK \?CTR30
+?PRD33: GRTR? TIMER-SETTING,0 \?CCL31
+ CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK /?CCL31
+?CTR30: REMOVE FLOYD
+ PRINTI " "
+ IN? PLATO,HERE \?CCL41
+ SET 'POSTPONE-ATTACK,TRUE-VALUE
+ REMOVE PLATO
+ GRTR? ROBOT-EVILNESS,8 \?CCL44
+ 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
+?CCL44: RANDOM 100
+ LESS? 50,STACK \?CTR45
+ EQUAL? HERE,LIBRARY \?CCL46
+?CTR45: 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
+?CCL46: 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
+?CCL41: PRINTI "Floyd says, ""Floyd going exploring. See you later."" He glides out of the room."
+ CRLF
+ JUMP ?CND1
+?CCL31: 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 /?KLU177
+?KLU177: ZERO? OBJ /?CCL58
+ FSET? OBJ,TOUCHBIT \?CCL58
+ FSET? OBJ,TAKEBIT \?CCL58
+ FSET? OBJ,CONTBIT /?CCL58
+ EQUAL? OBJ,OSTRICH-NIP,SPACESUIT /?CCL58
+ EQUAL? OBJ,DETONATOR,TIMER,EXPLOSIVE /?CCL58
+ CALL CCOUNT,FLOYD
+ LESS? STACK,4 \?CCL58
+ RANDOM 100
+ LESS? 6,STACK /?CCL58
+ MOVE OBJ,FLOYD
+ PRINTI " Floyd picks up"
+ CALL TPRINT,OBJ
+ PRINTI ", examines it, and tucks "
+ FSET? OBJ,PLURALBIT \?CCL69
+ PRINTI "them"
+ JUMP ?CND67
+?CCL69: PRINTI "it"
+?CND67: PRINTI " under his arm."
+ CRLF
+ JUMP ?CND1
+?CCL58: FIRST? FLOYD \?CCL71
+ RANDOM 100
+ LESS? 6,STACK /?CCL71
+ FIRST? FLOYD >OBJ /?KLU178
+?KLU178: NEXT? OBJ \?CND74
+ RANDOM 100
+ LESS? 60,STACK /?CND74
+ NEXT? OBJ >OBJ /?CND74
+?CND74: MOVE OBJ,HERE
+ PRINTI " Floyd drops"
+ CALL TPRINT,OBJ
+ PRINTI " he was carrying."
+ CRLF
+ JUMP ?CND1
+?CCL71: FIRST? FLOYD \?CCL79
+ RANDOM 100
+ LESS? 4,STACK /?CCL79
+ FIRST? FLOYD >OBJ /?KLU180
+?KLU180: NEXT? OBJ \?CND82
+ RANDOM 100
+ LESS? 60,STACK /?CND82
+ NEXT? OBJ >OBJ /?CND82
+?CND82: 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
+?CCL79: IN? PLATO,HERE \?CCL87
+ RANDOM 100
+ LESS? 70,STACK /?CCL87
+ PRINTI " "
+ CALL PICK-ONE,PLATOISMS
+ PRINT STACK
+ PRINT PERIOD-CR
+ JUMP ?CND1
+?CCL87: PRINTI " Floyd "
+ MUL ROBOT-EVILNESS,3
+ SUB 36,STACK >?TMP1
+ RANDOM 100
+ LESS? ?TMP1,STACK /?CCL92
+ CALL PICK-ONE,GOOD-FLOYDISMS
+ PRINT STACK
+ PRINT PERIOD-CR
+ JUMP ?CND1
+?CCL92: MUL ROBOT-EVILNESS,25
+ SUB STACK,300 >?TMP1
+ RANDOM 100
+ LESS? ?TMP1,STACK /?CCL94
+ CALL PICK-ONE,BAD-FLOYDISMS
+ PRINT STACK
+ PRINT PERIOD-CR
+ JUMP ?CND1
+?CCL94: RANDOM 100
+ LESS? 6,STACK /?CCL96
+ SET 'AWAITING-REPLY,4
+ ADD C-ELAPSED,2
+ CALL QUEUE,I-REPLY,STACK
+ PRINTI "says, ""Hey! Wanna play Hucka-Bucka-Beanstalk?"""
+ CRLF
+ JUMP ?CND1
+?CCL96: CALL PICK-ONE,NEUTRAL-FLOYDISMS
+ PRINT STACK
+ PRINT PERIOD-CR
+ JUMP ?CND1
+?CCL11: FSET? FLOYD,ACTIVEBIT /?CCL98
+ 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 /?CCL107
+ PRINTI " Plato strolls in and gives Floyd a pat. ""I reactivated the little fellow; I hope you don't mind."""
+ CRLF
+ JUMP ?CND105
+?CCL107: 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
+?CND105: MOVE PLATO,HERE
+ MOVE FLOYD,HERE
+ JUMP ?CND1
+?CCL98: GRTR? ROBOT-EVILNESS,17 \?CCL109
+ LOC FLOYD
+ ZERO? STACK /?CND110
+ LOC FLOYD
+ FSET? STACK,NWELDERBIT \?CND110
+ CALL NEXT-ROOM?,FLOYD
+ ZERO? STACK \FALSE
+?CND110: CALL MOVE-FLOYD-TO-FACTORY
+ RFALSE
+?CCL109: ZERO? FLOYD-FOLLOW /?CCL116
+ EQUAL? HERE,AIRLOCK \?CCL116
+ PRINTI " Floyd calls from above, """
+ ZERO? PLATO-INTRODUCED /?CCL121
+ ZERO? PLATO-ATTACK-COUNTER \?CCL121
+ PRINTI "We"
+ JUMP ?CND119
+?CCL121: PRINTC 73
+?CND119: PRINTI "'ll wait here; it doesn't look like there's room in that phone booth for "
+ ZERO? PLATO-INTRODUCED /?CCL126
+ ZERO? PLATO-ATTACK-COUNTER \?CCL126
+ PRINTI "all"
+ JUMP ?CND124
+?CCL126: PRINTI "both"
+?CND124: PRINTI " of us."""
+ CRLF
+ JUMP ?CND1
+?CCL116: ZERO? FLOYD-FOLLOW /?CCL130
+ ZERO? TIMER-SETTING /?PRD133
+ CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK \?CCL130
+?PRD133: RANDOM 100
+ LESS? 80,STACK /?CCL130
+ PRINTI " Floyd "
+ ZERO? PLATO-INTRODUCED /?CCL138
+ ZERO? PLATO-ATTACK-COUNTER \?CCL138
+ MOVE PLATO,HERE
+ PRINTI "and Plato follow"
+ JUMP ?CND136
+?CCL138: PRINTI "follows"
+?CND136: MOVE FLOYD,HERE
+ PRINTI " you."
+ CRLF
+ JUMP ?CND1
+?CCL130: EQUAL? HERE,SPACETRUCK,ELEVATOR,BRIG /?CTR141
+ EQUAL? HERE,ARMORY \?CCL142
+?CTR141: PRINTI " Floyd bounces in"
+ ZERO? PLATO-INTRODUCED /?CND145
+ ZERO? PLATO-ATTACK-COUNTER \?CND145
+ MOVE PLATO,HERE
+ PRINTI ", followed at a more leisurely pace by Plato"
+?CND145: PRINTI ". ""Hey, wait for "
+ ZERO? PLATO-INTRODUCED /?CCL151
+ ZERO? PLATO-ATTACK-COUNTER \?CCL151
+ MOVE PLATO,HERE
+ PRINTI "us"
+ JUMP ?CND149
+?CCL151: PRINTI "Floyd"
+?CND149: MOVE FLOYD,HERE
+ PRINTI "!"" he yells."
+ CRLF
+ JUMP ?CND1
+?CCL142: RANDOM 100
+ LESS? 17,STACK /?CND1
+ ZERO? LIT /?CND1
+ EQUAL? HERE,AIRLOCK,VACUUM-STORAGE /?CND1
+ PRINTI " Floyd "
+ ZERO? PLATO-INTRODUCED \?CCL160
+ FSET? LEVEL-FIVE,TOUCHBIT \?CCL160
+ RANDOM 100
+ LESS? 50,STACK /?CCL160
+ 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 ?CND158
+?CCL160: MUL ROBOT-EVILNESS,10
+ SUB STACK,70 >?TMP1
+ RANDOM 100
+ LESS? ?TMP1,STACK /?CCL166
+ PRINTI "meanders in. ""You doing anything fun?"" he asks, and then answers his own question, ""Nope. Same dumb boring things."""
+ JUMP ?CND164
+?CCL166: RANDOM 100
+ LESS? 15,STACK /?CCL168
+ PRINTI "rushes into the room and barrels into you. ""Oops, sorry,"" he says. ""Floyd not looking at where he was going to."""
+ JUMP ?CND164
+?CCL168: PRINTI "bounds into the room. ""Floyd here now!"" he cries."
+?CND164: ZERO? PLATO-INTRODUCED /?CND169
+ ZERO? PLATO-ATTACK-COUNTER \?CND169
+ MOVE PLATO,HERE
+ PRINTI " You notice that Plato has also roamed into view behind Floyd, once again absorbed in his reading."
+?CND169: CRLF
+?CND158: MOVE FLOYD,HERE
+ ZERO? HANGING-IN-AIR /?CND1
+ ZERO? HANGING-COMMENT \?CND1
+ SET 'FLOYD-SPOKE,TRUE-VALUE
+ SET 'HANGING-COMMENT,TRUE-VALUE
+ PRINT FLOYDS-HANGING-IN-AIR-COMMENT
+?CND1: SET 'FLOYD-SPOKE,FALSE-VALUE
+ SET 'FLOYD-FOLLOW,FALSE-VALUE
+ RETURN FLOYD-FOLLOW
+
+
+ .FUNCT I-EXPLOSIVE-MELT,OLD-MELT-COUNTER
+ SET 'OLD-MELT-COUNTER,MELT-COUNTER
+ IN? EXPLOSIVE,THERMOS \?CCL3
+ FSET? THERMOS,OPENBIT /?CCL3
+ DIV C-ELAPSED,4
+ JUMP ?CND1
+?CCL3: PUSH C-ELAPSED
+?CND1: ADD MELT-COUNTER,STACK >MELT-COUNTER
+ GRTR? MELT-COUNTER,210 \?CCL8
+ CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK /?CCL11
+ PRINTI " The explosive "
+ PRINT SUBLIMES-INTO-FREZONE
+ CALL DEQUEUE,I-EXPLOSIVE-MELT
+ CALL REMOVE-CAREFULLY,EXPLOSIVE
+ CRLF
+ RTRUE
+?CCL11: CALL REMOVE-CAREFULLY,EXPLOSIVE
+ RSTACK
+?CCL8: CALL VISIBLE?,EXPLOSIVE
+ ZERO? STACK /FALSE
+ ZERO? LIT /FALSE
+ GRTR? MELT-COUNTER,170 \?CCL18
+ GRTR? OLD-MELT-COUNTER,170 /?CCL18
+ PRINTI " "
+ CALL DESCRIBE-EXPLOSIVE
+ RSTACK
+?CCL18: GRTR? MELT-COUNTER,130 \FALSE
+ GRTR? OLD-MELT-COUNTER,130 /FALSE
+ PRINTI " "
+ CALL DESCRIBE-EXPLOSIVE
+ RSTACK
+
+
+ .FUNCT I-TIMER,?TMP1
+ CALL QUEUE,I-TIMER,-1
+ SUB TIMER-SETTING,C-ELAPSED >TIMER-SETTING
+ LESS? TIMER-SETTING,1 \?CND1
+ CALL DEQUEUE,I-TIMER
+ SET 'TIMER-SETTING,0
+?CND1: CALL VISIBLE?,TIMER
+ ZERO? STACK /?CND3
+ PRINTI " The timer reaches "
+ PRINTN TIMER-SETTING
+ ZERO? TIMER-SETTING \?CND5
+ PRINTI " and stops ticking"
+?CND5: PRINTC 46
+?CND3: ZERO? TIMER-SETTING \?CND7
+ ZERO? TIMER-CONNECTED /?CND7
+ LOC DIODE-M >?TMP1
+ LOC DIODE-J
+ 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?9
+ 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 ?CND21
+?CCL25: CALL DESTROY-EXPLOSIVE-CONT
+?CND21: CALL NEXT-ROOM?,TIMER
+ ZERO? STACK /?CCL28
+ PRINTI " You hear a deafening explosion from very nearby!"
+ CRLF
+ JUMP ?CND26
+?CCL28: PRINTI " You hear a loud but distant explosion."
+ CRLF
+?CND26: REMOVE TIMER
+ REMOVE EXPLOSIVE
+ REMOVE DETONATOR
+ JUMP ?CND7
+?CCL20: CALL VISIBLE?,TIMER
+ ZERO? STACK /?CND7
+ PRINTI " You hear a click from the detonator."
+?CND7: CALL VISIBLE?,TIMER
+ ZERO? STACK /FALSE
+ CRLF
+ RTRUE
+
+
+ .FUNCT I-LOG-READER
+ INC 'LOG-READER-COUNTER
+ FSET? LOG-READER,ACTIVEBIT /?CCL3
+ CALL DEQUEUE,I-LOG-READER
+ SET 'LOG-READER-COUNTER,0
+ RETURN LOG-READER-COUNTER
+?CCL3: EQUAL? LOG-READER-COUNTER,12 \?CCL5
+ EQUAL? HERE,COMMANDERS-OFFICE \?CCL5
+ PRINTR " The reader begins producing a whining noise."
+?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 \?CCL16
+ CALL JIGS-UP,STR?10
+ RSTACK
+?CCL16: EQUAL? HERE,COMMANDERS-QUARTERS,BRIEFING-ROOM,STATION-CONTROL /?CCL18
+ EQUAL? HERE,SOUTH-JUNCTION \FALSE
+?CCL18: PRINTR " You hear an explosion from nearby."
+
+ .ENDI
diff --git a/interrupts.zil b/interrupts.zil
new file mode 100644
index 0000000..91cf448
--- /dev/null
+++ b/interrupts.zil
@@ -0,0 +1,456 @@
+"INTERRUPTS for
+ STATIONFALL
+ (c) Copyright 1987 Infocom, Inc. All Rights Reserved."
+
+<ROUTINE I-WELDER ()
+ <COND (<IN? ,WELDER ,HERE>
+ <TELL " ">
+ <SETG WELDER-COUNTER <+ ,WELDER-COUNTER 1>>
+ <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
+"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.">)>
+ <PERFORM ,V?EXAMINE ,WELDER>)
+ (<G? ,WELDER-COUNTER 0>
+ <REMOVE ,WELDER>
+ <SETG WELDER-COUNTER 0>
+ <TELL " Nearby, y" ,HEAR-WELDER-LEAVE>)
+ (<AND <NOT <FSET? ,HERE ,NWELDERBIT>>
+ <NOT <IN? ,PROTAGONIST ,BED>>
+ ,LIT
+ <PROB ,NUMBER-OF-WELDERS>>
+ <COND (,STUNNED
+ <RFALSE>)
+ (<AND <EQUAL? ,HERE ,SPACETRUCK>
+ <NOT <FSET? ,SPACETRUCK-HATCH ,OPENBIT>>>
+ <RFALSE>)>
+ <MOVE ,WELDER ,HERE>
+ <SETG WELDER-COUNTER <+ ,WELDER-COUNTER 1>>
+ <SETG WELDER-TABLE-POINTER <RANDOM ,NUMBER-OF-WELDERS>>
+ <TELL " You spot a " 'WELDER " approaching. ">
+ <COND (<NOT <FSET? ,WELDER ,TOUCHBIT>>
+ <FSET ,WELDER ,TOUCHBIT>
+ <PERFORM ,V?WHAT ,WELDER>)>
+ <PERFORM ,V?EXAMINE ,WELDER>
+ <STOP>)>>
+
+<ROUTINE I-HEADLAMP ()
+ <COND (<FSET? ,HEADLAMP ,ONBIT>
+ <SETG HEADLAMP-COUNTER <- ,HEADLAMP-COUNTER 1>>
+ <COND (<EQUAL? ,HEADLAMP-COUNTER 0>
+ <FCLEAR ,HEADLAMP ,ACTIVEBIT>
+ <FCLEAR ,HEADLAMP ,ONBIT>)>
+ <COND (<AND <VISIBLE? ,HEADLAMP>
+ <EQUAL? ,HEADLAMP-COUNTER 0 15 30>>
+ <TELL " The light from the headlamp ">
+ <COND (<EQUAL? ,HEADLAMP-COUNTER 0>
+ <TELL "flickers and dies!" CR>
+ <NOW-DARK?>)
+ (<EQUAL? ,HEADLAMP-COUNTER 5>
+ <TELL "is almost out!" CR>)
+ (T
+ <TELL "seems somewhat dimmer." CR>)>)>)
+ (T
+ <DEQUEUE I-HEADLAMP>)>>
+
+<ROUTINE I-PLATINUM-DETECTOR ()
+ <SETG DETECTOR-COUNTER <+ ,DETECTOR-COUNTER 1>>
+ <COND (<AND <VISIBLE? ,PLATINUM-DETECTOR>
+ <OR <EQUAL? <META-LOC ,FOIL>
+ <META-LOC ,PLATINUM-DETECTOR>>
+ <AND <ULTIMATELY-IN? ,PLATINUM-DETECTOR ,BARBERSHOP>
+ <NOT ,MIRROR-BROKEN>>>>
+ <TELL " The detector is quietly beeping." CR>)>
+ <COND (<AND <EQUAL? ,DETECTOR-COUNTER 50 75>
+ <IN? ,PLATINUM-DETECTOR ,PROTAGONIST>>
+ <TELL " You notice that the detector is getting ">
+ <COND (<EQUAL? ,DETECTOR-COUNTER 75>
+ <TELL "very ">)>
+ <TELL "warm." CR>)
+ (<AND <EQUAL? ,DETECTOR-COUNTER 100>
+ <IN? ,PLATINUM-DETECTOR ,PROTAGONIST>>
+ <MOVE ,PLATINUM-DETECTOR ,HERE>
+ <TELL
+" Yeow! The detector is now too hot to handle, so you drop it." CR>)>>
+
+<ROUTINE I-DRYER ()
+ <SETG DRYER-COUNTER <+ ,DRYER-COUNTER 1>>
+ <FCLEAR ,LAUNDRY ,TOUCHBIT>
+ <COND (<AND <EQUAL? ,HERE ,LAUNDRY>
+ <EQUAL? ,DRYER-COUNTER 5 10 15>>
+ <TELL " ">
+ <DESCRIBE-DRYER-HEAT>
+ <CRLF>)>>
+
+<ROUTINE I-RADIO ()
+ <COND (<NOT <EQUAL? ,HERE ,SPACETRUCK>>
+ <RFALSE>)
+ (<PROB 30>
+ <TELL
+" The radio crackles to life. \"Breaker. "
+<PICK-ONE ,RADIO-LINES> " Over.\"" CR>)
+ (<PROB 20>
+ <TELL
+" A country and western station drifts into tune for a moment, but then
+fades again." CR>)>>
+
+<ROUTINE I-FLOYD ("AUX" (OBJ <>))
+ <QUEUE I-FLOYD -1>
+ <COND (<NOT <FSET? ,FLOYD ,TOUCHBIT>>
+ <FSET ,FLOYD ,TOUCHBIT>
+ <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! (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
+pick Floyd pick Floyd!\"" CR>)
+ (,FLOYD-ANGUISHED
+ <COND (<NOT <VISIBLE? ,FLOYD>>
+ <SETG FLOYD-ANGUISHED <>>)>
+ <SETG FLOYD-FOLLOW <>>
+ <RFALSE>)
+ (<VISIBLE? ,FLOYD>
+ <COND (<NOT <FSET? ,FLOYD ,ACTIVEBIT>>
+ <RFALSE>)>
+ <COND (<AND <EQUAL? <LOC ,FLOYD> ,PILOT-SEAT ,COPILOT-SEAT>
+ <G? ,SPACETRUCK-COUNTER 0>
+ <NOT ,PILOT-SEAT-COMMENT>>
+ <SETG PILOT-SEAT-COMMENT T>
+ <TELL
+" Floyd strains to see over the top of the dashboard. \"Boy, seats low!
+Floyd could sure use a phone book!\"" CR>)
+ (<AND <IN? ,OSTRICH ,HERE>
+ <NOT ,OSTRICH-COMMENT>>
+ <SETG OSTRICH-COMMENT T>
+ <TELL
+" Floyd looks at the ostrich with breathless excitement.
+\"Wow! An elephant!\"" CR>)
+ (<AND <IN? ,BALLOON ,HERE>
+ <NOT ,BALLOON-COMMENT>
+ <NOT ,HANGING-IN-AIR>
+ <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>
+ <SETG POSTPONE-ATTACK T>
+ <REMOVE ,PLATO>
+ <COND (<G? ,ROBOT-EVILNESS 8>
+ <TELL
+"\"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." CR>)
+ (<OR <PROB 50>
+ <EQUAL? ,HERE ,LIBRARY>>
+ <TELL
+"\"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!\"" CR>)
+ (T
+ <TELL
+"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!\"" CR>)>)
+ (T
+ <TELL
+"Floyd says, \"Floyd going exploring. See you later.\"
+He glides out of the room." CR>)>)
+ (<AND <PROB 45>
+ <NOT ,FLOYD-SPOKE>
+ <IN? ,FLOYD ,HERE>
+ <IN? ,PROTAGONIST ,HERE>
+ <NOT ,HANGING-IN-AIR>
+ ,LIT>
+ <SET OBJ <FIRST? ,HERE>>
+ <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>>
+ <L? <CCOUNT ,FLOYD> 4>
+ <PROB 6>>
+ <MOVE .OBJ ,FLOYD>
+ <TELL
+" Floyd picks up" T .OBJ ", examines it, and tucks ">
+ <COND (<FSET? .OBJ ,PLURALBIT>
+ <TELL "them">)
+ (T
+ <TELL "it">)>
+ <TELL " under his arm." CR>)
+ (<AND <FIRST? ,FLOYD>
+ <PROB 6>>
+ <SET OBJ <FIRST? ,FLOYD>>
+ <COND (<AND <NEXT? .OBJ>
+ <PROB 60>>
+ <SET OBJ <NEXT? .OBJ>>)>
+ <MOVE .OBJ ,HERE>
+ <TELL
+" Floyd drops" T .OBJ " he was carrying." CR>)
+ (<AND <FIRST? ,FLOYD>
+ <PROB 4>>
+ <SET OBJ <FIRST? ,FLOYD>>
+ <COND (<AND <NEXT? .OBJ>
+ <PROB 60>>
+ <SET OBJ <NEXT? .OBJ>>)>
+ <TELL
+" Floyd moves" T .OBJ " in a wavering course through the air, making
+a roaring noise like a rocket exhaust." CR>)
+ (<AND <IN? ,PLATO ,HERE>
+ <PROB 70>>
+ <TELL " " <PICK-ONE ,PLATOISMS> ,PERIOD-CR>)
+ (T
+ <TELL " Floyd ">
+ <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 ,NEUTRAL-FLOYDISMS>
+ ,PERIOD-CR>)>)>)>)
+ (<NOT <FSET? ,FLOYD ,ACTIVEBIT>>
+ <COND (<OR <EQUAL? ,HERE ,VACUUM-STORAGE ,AIRLOCK>
+ <L? ,SPACETRUCK-COUNTER 5>>
+ <RFALSE>)
+ (<NEXT-ROOM? ,FLOYD>
+ <RFALSE>)>
+ <FSET ,FLOYD ,ACTIVEBIT>
+ <FSET ,FLOYD ,ACTORBIT>
+ <TELL " Floyd bounds up to you" ,HOPPING-MAD>
+ <COND (,PLATO-INTRODUCED
+ <TELL
+" Plato strolls in and gives Floyd a pat. \"I reactivated the little fellow;
+I hope you don't mind.\"" CR>)
+ (T
+ <TELL
+" Another robot wanders in behind Floyd and notices you." CR>
+ <I-PLATO T>
+ <TELL
+" Plato motions toward Floyd. \"I presume you know this playful little
+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 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-TO-FACTORY>
+ <RFALSE>)
+ (<AND ,FLOYD-FOLLOW
+ <EQUAL? ,HERE ,AIRLOCK>>
+ <TELL " Floyd calls from above, \"">
+ <COND (<AND ,PLATO-INTRODUCED
+ <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
+ <TELL "We">)
+ (T
+ <TELL "I">)>
+ <TELL
+"'ll wait here; it doesn't look like there's room in that phone booth for ">
+ <COND (<AND ,PLATO-INTRODUCED
+ <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
+ <TELL "all">)
+ (T
+ <TELL "both">)>
+ <TELL " of us.\"" CR>)
+ (<AND ,FLOYD-FOLLOW
+ <OR <EQUAL? ,TIMER-SETTING 0>
+ <NOT <VISIBLE? ,EXPLOSIVE>>>
+ <PROB 80>>
+ <TELL " Floyd ">
+ <COND (<AND ,PLATO-INTRODUCED
+ <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
+ <MOVE ,PLATO ,HERE>
+ <TELL "and Plato follow">)
+ (T
+ <TELL "follows">)>
+ <MOVE ,FLOYD ,HERE>
+ <TELL " you." CR>)
+ (<EQUAL? ,HERE ,SPACETRUCK ,ELEVATOR ,BRIG ,ARMORY>
+ <TELL " Floyd bounces in">
+ <COND (<AND ,PLATO-INTRODUCED
+ <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
+ <MOVE ,PLATO ,HERE>
+ <TELL ", followed at a more leisurely pace by Plato">)>
+ <TELL ". \"Hey, wait for ">
+ <COND (<AND ,PLATO-INTRODUCED
+ <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
+ <MOVE ,PLATO ,HERE>
+ <TELL "us">)
+ (T
+ <TELL "Floyd">)>
+ <MOVE ,FLOYD ,HERE>
+ <TELL "!\" he yells." CR>)
+ (<AND <PROB 17>
+ ,LIT
+ <NOT <EQUAL? ,HERE ,AIRLOCK ,VACUUM-STORAGE>>>
+ <TELL " Floyd ">
+ <COND (<AND <NOT ,PLATO-INTRODUCED>
+ <FSET? ,LEVEL-FIVE ,TOUCHBIT>
+ <PROB 50>>
+ <TELL
+"dashes into view, followed by a slightly older-looking robot. \"Look, Floyd
+found a new friend,\" Floyd says with unbounded exuberance." CR>
+ <I-PLATO T>)
+ (T
+ <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.\"">)
+ (T
+ <TELL
+"bounds into the room. \"Floyd here now!\" he cries.">)>
+ <COND (<AND ,PLATO-INTRODUCED
+ <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
+ <MOVE ,PLATO ,HERE>
+ <TELL
+" You notice that Plato has also roamed into view behind Floyd, once again
+absorbed in his reading.">)>
+ <CRLF>)>
+ <MOVE ,FLOYD ,HERE>
+ <COND (<AND ,HANGING-IN-AIR
+ <NOT ,HANGING-COMMENT>>
+ <SETG FLOYD-SPOKE T>
+ <SETG HANGING-COMMENT T>
+ <TELL ,FLOYDS-HANGING-IN-AIR-COMMENT>)>)>
+ <SETG FLOYD-SPOKE <>>
+ <SETG FLOYD-FOLLOW <>>>
+
+<ROUTINE I-EXPLOSIVE-MELT ("AUX" OLD-MELT-COUNTER)
+ <SET OLD-MELT-COUNTER ,MELT-COUNTER>
+ <SETG MELT-COUNTER
+ <+ ,MELT-COUNTER <COND (<AND <IN? ,EXPLOSIVE ,THERMOS>
+ <NOT <FSET? ,THERMOS ,OPENBIT>>>
+ </ ,C-ELAPSED 4>)
+ (T
+ ,C-ELAPSED)>>>
+ <COND (<G? ,MELT-COUNTER 210>
+ <COND (<VISIBLE? ,EXPLOSIVE>
+ <TELL " The explosive " ,SUBLIMES-INTO-FREZONE>
+ <DEQUEUE I-EXPLOSIVE-MELT>
+ <REMOVE-CAREFULLY ,EXPLOSIVE>
+ <CRLF>)
+ (T
+ <REMOVE-CAREFULLY ,EXPLOSIVE>)>)
+ (<AND <VISIBLE? ,EXPLOSIVE>
+ ,LIT>
+ <COND (<AND <G? ,MELT-COUNTER 170>
+ <NOT <G? .OLD-MELT-COUNTER 170>>>
+ <TELL " ">
+ <DESCRIBE-EXPLOSIVE>)
+ (<AND <G? ,MELT-COUNTER 130>
+ <NOT <G? .OLD-MELT-COUNTER 130>>>
+ <TELL " ">
+ <DESCRIBE-EXPLOSIVE>)>)>>
+
+<ROUTINE I-TIMER ()
+ <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>
+ <TELL " and stops ticking">)>
+ <TELL ".">)>
+ <COND (<AND <EQUAL? ,TIMER-SETTING 0>
+ ,TIMER-CONNECTED
+ <EQUAL? ,DETONATOR <LOC ,DIODE-M> <LOC ,DIODE-J>>>
+ <COND (<IN? ,DIODE-J ,DETONATOR>
+ <MOVE ,DIODE-J ,LOCAL-GLOBALS>
+ <COND (<VISIBLE? ,DETONATOR>
+ <TELL
+" 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 (<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 ".">)
+ (<IN? ,EXPLOSIVE ,DRILLED-HOLE>
+ <QUEUE I-LIGHTS-OUT <+ <RANDOM 200> 20>>
+ <FSET ,SAFE ,OPENBIT>
+ <FSET ,SAFE ,TOUCHBIT>
+ <FCLEAR ,SAFE ,LOCKEDBIT>)
+ (T
+ <DESTROY-EXPLOSIVE-CONT>)>
+ <COND (<NEXT-ROOM? ,TIMER>
+ <TELL
+" You hear a deafening explosion from very nearby!" CR>)
+ (T
+ <TELL
+" You hear a loud but distant explosion." CR>)>
+ <REMOVE ,TIMER>
+ <REMOVE ,EXPLOSIVE>
+ <REMOVE ,DETONATOR>)
+ (<VISIBLE? ,TIMER>
+ <TELL " You hear a click from the detonator.">)>)>
+ <COND (<VISIBLE? ,TIMER>
+ <CRLF>)>>
+
+<ROUTINE I-LOG-READER ()
+ <SETG LOG-READER-COUNTER <+ ,LOG-READER-COUNTER 1>>
+ <COND (<NOT <FSET? ,LOG-READER ,ACTIVEBIT>>
+ <DEQUEUE I-LOG-READER>
+ <SETG LOG-READER-COUNTER 0>)
+ (<AND <EQUAL? ,LOG-READER-COUNTER 12>
+ <EQUAL? ,HERE ,COMMANDERS-OFFICE>>
+ <TELL " The reader begins producing a whining noise." CR>)
+ (<AND <EQUAL? ,LOG-READER-COUNTER 13>
+ <EQUAL? ,HERE ,COMMANDERS-OFFICE>>
+ <TELL
+" The whine from the " 'LOG-READER " rises in pitch, and grows louder
+by the millichron!" CR>)
+ (<EQUAL? ,LOG-READER-COUNTER 14>
+ <REMOVE ,LOG-READER>
+ <DEQUEUE I-LOG-READER>
+ <FCLEAR ,COMMANDERS-OFFICE ,TOUCHBIT>
+ <COND (<EQUAL? ,HERE ,COMMANDERS-OFFICE>
+ <JIGS-UP " The log reader explodes!">)
+ (<EQUAL? ,HERE ,COMMANDERS-QUARTERS ,BRIEFING-ROOM
+ ,STATION-CONTROL ,SOUTH-JUNCTION>
+ <TELL " You hear an explosion from nearby." CR>)>)>> \ No newline at end of file
diff --git a/misc.zap b/misc.zap
index b6dc1fc..c973974 100644
--- a/misc.zap
+++ b/misc.zap
@@ -133,130 +133,138 @@ START::
GET P-PRSO,1 >OBJ
SET 'NUM,ICNT
JUMP ?CND25
-?CCL34: SET 'NUM,1
-?CND25: ZERO? OBJ \?CND35
- EQUAL? ICNT,1 \?CND35
+?CCL34: GETB P-SYNTAX,P-SBITS
+ BAND STACK,P-SONUMS
+ EQUAL? STACK,2 \?CCL36
+ SET 'NUM,ICNT
+ JUMP ?CND25
+?CCL36: SET 'NUM,1
+?CND25: ZERO? OBJ \?CND37
+ EQUAL? ICNT,1 \?CND37
GET P-PRSI,1 >OBJ
-?CND35: EQUAL? PRSA,V?WALK \?CCL41
- CALL PERFORM-PRSA,PRSO >V
- JUMP ?CND39
-?CCL41: ZERO? NUM \?CCL43
+?CND37: EQUAL? PRSA,V?WALK \?CCL43
+ CALL PERFORM,PRSA,PRSO >V
+ JUMP ?CND41
+?CCL43: ZERO? NUM \?CCL45
GETB P-SYNTAX,P-SBITS
BAND STACK,P-SONUMS
- ZERO? STACK \?CCL46
- CALL PERFORM-PRSA >V
+ ZERO? STACK \?CCL48
+ CALL PERFORM,PRSA >V
SET 'PRSO,FALSE-VALUE
- JUMP ?CND39
-?CCL46: ZERO? LIT \?CCL48
+ JUMP ?CND41
+?CCL48: ZERO? LIT \?CCL50
PRINT TOO-DARK
CRLF
CALL STOP
- JUMP ?CND39
-?CCL48: PRINTI "There isn't anything to "
+ JUMP ?CND41
+?CCL50: PRINTI "There isn't anything to "
GET P-ITBL,P-VERBN >TMP
- EQUAL? PRSA,V?TELL \?CCL51
+ EQUAL? PRSA,V?TELL \?CCL53
PRINTI "talk to"
- JUMP ?CND49
-?CCL51: ZERO? P-OFLAG \?CTR52
- ZERO? P-MERGED /?CCL53
-?CTR52: GET TMP,0
+ JUMP ?CND51
+?CCL53: ZERO? P-OFLAG \?CTR54
+ ZERO? P-MERGED /?CCL55
+?CTR54: GET TMP,0
PRINTB STACK
- JUMP ?CND49
-?CCL53: GETB TMP,2 >?TMP1
+ JUMP ?CND51
+?CCL55: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
-?CND49: PRINTC 33
+?CND51: PRINTC 33
CRLF
SET 'V,FALSE-VALUE
CALL STOP
- JUMP ?CND39
-?CCL43: SET 'P-NOT-HERE,0
+ JUMP ?CND41
+?CCL45: SET 'P-NOT-HERE,0
SET 'P-MULT,FALSE-VALUE
- GRTR? NUM,1 \?CND56
+ GRTR? NUM,1 \?CND58
SET 'P-MULT,TRUE-VALUE
-?CND56: SET 'TMP,FALSE-VALUE
-?PRG58: IGRTR? 'CNT,NUM \?CCL62
- GRTR? P-NOT-HERE,0 \?CCL65
+?CND58: SET 'TMP,FALSE-VALUE
+?PRG60: IGRTR? 'CNT,NUM \?CCL64
+ GRTR? P-NOT-HERE,0 \?CCL67
PRINTI "[The "
- EQUAL? P-NOT-HERE,NUM /?CND66
+ EQUAL? P-NOT-HERE,NUM /?CND68
PRINTI "other "
-?CND66: PRINTI "object"
- EQUAL? P-NOT-HERE,1 /?CND68
+?CND68: PRINTI "object"
+ EQUAL? P-NOT-HERE,1 /?CND70
PRINTC 115
-?CND68: PRINTI " that you mentioned "
- EQUAL? P-NOT-HERE,1 /?CCL72
+?CND70: PRINTI " that you mentioned "
+ EQUAL? P-NOT-HERE,1 /?CCL74
PRINTI "are"
- JUMP ?CND70
-?CCL72: PRINTI "is"
-?CND70: PRINTI "n't here.]"
+ JUMP ?CND72
+?CCL74: PRINTI "is"
+?CND72: PRINTI "n't here.]"
CRLF
- JUMP ?CND39
-?CCL65: ZERO? TMP \?CND39
+ JUMP ?CND41
+?CCL67: ZERO? TMP \?CND41
CALL REFERRING
- JUMP ?CND39
-?CCL62: ZERO? PTBL /?CCL76
+ JUMP ?CND41
+?CCL64: ZERO? PTBL /?CCL78
GET P-PRSO,CNT >OBJ1
- JUMP ?CND74
-?CCL76: GET P-PRSI,CNT >OBJ1
-?CND74: ZERO? PTBL /?CCL79
+ JUMP ?CND76
+?CCL78: GET P-PRSI,CNT >OBJ1
+?CND76: ZERO? PTBL /?CCL81
SET 'PRSO,OBJ1
- JUMP ?CND77
-?CCL79: SET 'PRSO,OBJ
-?CND77: ZERO? PTBL /?CCL82
+ JUMP ?CND79
+?CCL81: SET 'PRSO,OBJ
+?CND79: ZERO? PTBL /?CCL84
SET 'PRSI,OBJ
- JUMP ?CND80
-?CCL82: SET 'PRSI,OBJ1
-?CND80: GRTR? NUM,1 /?CCL84
+ JUMP ?CND82
+?CCL84: SET 'PRSI,OBJ1
+?CND82: GRTR? NUM,1 /?CCL86
GET P-ITBL,P-NC1
GET STACK,0
- EQUAL? STACK,W?ALL,W?BOTH,W?EVERYT \?CND83
-?CCL84: CALL DONT-ALL,OBJ1
- ZERO? STACK \?PRG58
- EQUAL? OBJ1,IT \?CCL92
+ EQUAL? STACK,W?ALL,W?BOTH,W?EVERYT \?CND85
+?CCL86: CALL DONT-ALL,OBJ1
+ ZERO? STACK \?PRG60
+ EQUAL? OBJ1,IT \?CCL94
PRINTD P-IT-OBJECT
- JUMP ?CND90
-?CCL92: EQUAL? OBJ1,HIM \?CCL94
+ JUMP ?CND92
+?CCL94: EQUAL? OBJ1,HIM \?CCL96
PRINTD P-HIM-OBJECT
- JUMP ?CND90
-?CCL94: PRINTD OBJ1
-?CND90: PRINTI ": "
-?CND83: SET 'TMP,TRUE-VALUE
- CALL PERFORM-PRSA,PRSO,PRSI >V
- EQUAL? V,M-FATAL \?PRG58
-?CND39: EQUAL? V,M-FATAL \?CND97
+ JUMP ?CND92
+?CCL96: PRINTD OBJ1
+?CND92: PRINTI ": "
+?CND85: SET 'TMP,TRUE-VALUE
+ CALL PERFORM,PRSA,PRSO,PRSI >V
+ EQUAL? V,M-FATAL \?PRG60
+ SET 'P-CONT,FALSE-VALUE
+ SET 'QUOTE-FLAG,FALSE-VALUE
+?CND41: EQUAL? V,M-FATAL \?CND99
SET 'P-CONT,FALSE-VALUE
-?CND97: CALL CLOCKER-VERB?
- ZERO? STACK /?CCL101
- EQUAL? PRSA,V?TELL /?CCL101
- ZERO? P-WON /?CCL101
+?CND99: CALL CLOCKER-VERB?
+ ZERO? STACK /?CCL103
+ EQUAL? PRSA,V?TELL /?CCL103
+ ZERO? P-WON /?CCL103
CALL RUNNING?,I-SPACETRUCK
- ZERO? STACK /?CND105
- LESS? SPACETRUCK-COUNTER,5 \?CND105
+ ZERO? STACK /?CND107
+ LESS? SPACETRUCK-COUNTER,5 \?CND107
SET 'C-ELAPSED,240
-?CND105: GETP HERE,P?ACTION
+?CND107: GETP HERE,P?ACTION
CALL STACK,M-END >V
JUMP ?CND1
-?CCL101: SET 'C-ELAPSED,0
+?CCL103: SET 'C-ELAPSED,0
JUMP ?CND1
?CCL3: SET 'P-CONT,FALSE-VALUE
-?CND1: ZERO? P-WON /?CND109
+?CND1: ZERO? P-WON /?CND111
ADD INTERNAL-MOVES,C-ELAPSED >INTERNAL-MOVES
- FSET? CHRONOMETER,WORNBIT \?CCL113
- LESS? DAY,3 \?CCL116
+ FSET? CHRONOMETER,WORNBIT \?CCL115
+ LESS? DAY,3 \?CCL118
SET 'MOVES,INTERNAL-MOVES
- JUMP ?CND111
-?CCL116: SET 'MOVES,9947
- JUMP ?CND111
-?CCL113: SET 'MOVES,0
-?CND111: ZERO? C-ELAPSED /?CND117
+ JUMP ?CND113
+?CCL118: SET 'MOVES,9947
+ JUMP ?CND113
+?CCL115: SET 'MOVES,0
+?CND113: ZERO? C-ELAPSED /?CND119
CALL CLOCKER >V
-?CND117: SET 'POSTPONE-ATTACK,FALSE-VALUE
+?CND119: SET 'POSTPONE-ATTACK,FALSE-VALUE
SET 'FLOYD-TRYTAKEN,FALSE-VALUE
SET 'P-PRSA-WORD,FALSE-VALUE
+ SET 'P-NUMBER,0
SET 'PRSA,FALSE-VALUE
SET 'PRSO,FALSE-VALUE
SET 'PRSI,FALSE-VALUE
-?CND109: SET 'C-ELAPSED,7
+?CND111: SET 'C-ELAPSED,7
RETURN C-ELAPSED
@@ -335,87 +343,68 @@ START::
PRINTR "?]"
- .FUNCT PERFORM-PRSA,O=0,I=0
- CALL PERFORM,PRSA,O,I
- RTRUE
-
-
.FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI
- ZERO? DEBUG /?CND1
- PRINTI "[Perform: "
- PRINTN A
- ZERO? O /?CND3
- PRINTI " / PRSO = "
- EQUAL? A,V?WALK /?CCL7
- PRINTD O
- JUMP ?CND3
-?CCL7: PRINTN O
-?CND3: ZERO? I /?CND8
- PRINTI " / PRSI = "
- PRINTD I
-?CND8: PRINTC 93
- CRLF
-?CND1: SET 'OA,PRSA
+ SET 'OA,PRSA
SET 'OO,PRSO
SET 'OI,PRSI
SET 'PRSA,A
- ZERO? P-WALK-DIR \?CND10
- EQUAL? IT,O,I \?CND10
+ ZERO? P-WALK-DIR \?CND1
+ EQUAL? IT,O,I \?CND1
CALL VISIBLE?,P-IT-OBJECT
- ZERO? STACK /?CCL16
- EQUAL? IT,O \?CCL19
+ ZERO? STACK /?CCL7
+ EQUAL? IT,O \?CCL10
SET 'O,P-IT-OBJECT
- JUMP ?CND10
-?CCL19: SET 'I,P-IT-OBJECT
-?CND10: ZERO? P-WALK-DIR \?CND25
- EQUAL? HIM,O,I \?CND25
+ JUMP ?CND1
+?CCL10: SET 'I,P-IT-OBJECT
+?CND1: ZERO? P-WALK-DIR \?CND16
+ EQUAL? HIM,O,I \?CND16
CALL VISIBLE?,P-HIM-OBJECT
- ZERO? STACK /?CCL31
- EQUAL? HIM,O \?CCL34
+ ZERO? STACK /?CCL22
+ EQUAL? HIM,O \?CCL25
SET 'O,P-HIM-OBJECT
- JUMP ?CND25
-?CCL16: ZERO? I \?CCL22
+ JUMP ?CND16
+?CCL7: ZERO? I \?CCL13
CALL FAKE-ORPHAN,TRUE-VALUE
RETURN 8
-?CCL22: CALL REFERRING
+?CCL13: CALL REFERRING
RETURN 8
-?CCL34: SET 'I,P-HIM-OBJECT
-?CND25: SET 'PRSO,O
+?CCL25: SET 'I,P-HIM-OBJECT
+?CND16: SET 'PRSO,O
SET 'PRSI,I
- EQUAL? A,V?WALK /?CCL42
- EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL42
+ EQUAL? A,V?WALK /?CCL33
+ EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL33
CALL D-APPLY,STR?1,NOT-HERE-OBJECT-F >V
- ZERO? V /?CCL42
+ ZERO? V /?CCL33
SET 'P-WON,FALSE-VALUE
- JUMP ?CND40
-?CCL31: ZERO? I \?CCL37
+ JUMP ?CND31
+?CCL22: ZERO? I \?CCL28
CALL FAKE-ORPHAN
RETURN 8
-?CCL37: CALL REFERRING,TRUE-VALUE
+?CCL28: CALL REFERRING,TRUE-VALUE
RETURN 8
-?CCL42: SET 'O,PRSO
+?CCL33: 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 \?CND40
+ ZERO? V \?CND31
GET PREACTIONS,A
CALL D-APPLY,STR?3,STACK >V
- ZERO? V \?CND40
- ZERO? I /?CCL52
+ ZERO? V \?CND31
+ ZERO? I /?CCL43
GETP I,P?ACTION
CALL D-APPLY,STR?4,STACK >V
- ZERO? V \?CND40
-?CCL52: ZERO? O /?CCL56
- EQUAL? A,V?WALK /?CCL56
+ ZERO? V \?CND31
+?CCL43: ZERO? O /?CCL47
+ EQUAL? A,V?WALK /?CCL47
GETP O,P?ACTION
CALL D-APPLY,STR?5,STACK >V
- ZERO? V \?CND40
-?CCL56: GET ACTIONS,A
+ ZERO? V \?CND31
+?CCL47: GET ACTIONS,A
CALL D-APPLY,FALSE-VALUE,STACK >V
- ZERO? V /?CND40
-?CND40: SET 'PRSA,OA
+ ZERO? V /?CND31
+?CND31: SET 'PRSA,OA
SET 'PRSO,OO
SET 'PRSI,OI
RETURN V
@@ -423,30 +412,11 @@ START::
.FUNCT D-APPLY,STR,FCN,FOO=0,RES
ZERO? FCN /FALSE
- ZERO? DEBUG /?CND4
- ZERO? STR \?CCL8
- PRINTI " Default ->"
- CRLF
- JUMP ?CND4
-?CCL8: PRINTI " "
- PRINT STR
- PRINTI " -> "
-?CND4: ZERO? FOO /?CCL11
+ ZERO? FOO /?CCL6
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
-?CCL18: ZERO? RES \?CCL20
- PRINTI "Not handled"
+?CCL6: CALL FCN >RES
RETURN RES
-?CCL20: PRINTI "Handled"
- CRLF
-?CND12: RETURN RES
.FUNCT DEQUEUE,RTN
diff --git a/misc.zil b/misc.zil
index 2c49bed..039b832 100644
--- a/misc.zil
+++ b/misc.zil
@@ -157,9 +157,9 @@
<CONSTANT M-ENTER 3>
<CONSTANT M-EXIT 4>
<CONSTANT M-LOOK 5>
-<CONSTANT M-FATAL 6>
-<CONSTANT M-OBJDESC 7>
-<CONSTANT M-OBJDESC? 8>
+<CONSTANT M-OBJDESC 6>
+<CONSTANT M-OBJDESC? 7>
+<CONSTANT M-FATAL 8> ;"must always be 8--compiler turns RFATAL into RETURN 8"
<ZSTART GO> ;"else, ZIL gets confused between verb-word GO and routine GO"
@@ -259,16 +259,18 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<SET TBL ,P-PRSI>
<SET OBJ <GET ,P-PRSO 1>>
.ICNT)
- (T
+ (<EQUAL? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS> 2>
+ .ICNT ;"catch case of 'give floyd all' 4/27/87 PDL")
+ (T
1)>>
<COND (<AND <NOT .OBJ>
<1? .ICNT>>
<SET OBJ <GET ,P-PRSI 1>>)>
<COND (<EQUAL? ,PRSA ,V?WALK>
- <SET V <PERFORM-PRSA ,PRSO>>)
+ <SET V <PERFORM ,PRSA ,PRSO>>)
(<0? .NUM>
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
- <SET V <PERFORM-PRSA>>
+ <SET V <PERFORM ,PRSA>>
<SETG PRSO <>>)
(<NOT ,LIT>
<TELL ,TOO-DARK CR>
@@ -338,8 +340,10 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<TELL D .OBJ1>)>
<TELL ": ">)>)>
<SET TMP T>
- <SET V <PERFORM-PRSA ,PRSO ,PRSI>>
+ <SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
<COND (<EQUAL? .V ,M-FATAL>
+ <SETG P-CONT <>>
+ <SETG QUOTE-FLAG <>>
<RETURN>)>)>>)>
<COND (<EQUAL? .V ,M-FATAL>
<SETG P-CONT <>>)>
@@ -370,6 +374,7 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<SETG P-PRSA-WORD <>>
;"else, when input is just a direction, P-PRSA-WORD will remain
whatever it was for the previous turn"
+ <SETG P-NUMBER 0>
<SETG PRSA <>>
<SETG PRSO <>>
<SETG PRSI <>>)>
@@ -460,12 +465,12 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<PREP-PRINT <GETB ,P-SYNTAX ,P-SPREP1>>
<TELL "?]" CR>>
-<ROUTINE PERFORM-PRSA ("OPTIONAL" (O <>) (I <>))
+;<ROUTINE PERFORM-PRSA ("OPTIONAL" (O <>) (I <>))
<PERFORM ,PRSA .O .I>
<RTRUE>>
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[Perform: ">
%<COND (<GASSIGNED? ZILCH>
'<TELL N .A>)
@@ -483,7 +488,8 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<SET OO ,PRSO>
<SET OI ,PRSI>
<SETG PRSA .A>
- <COND (<AND <NOT ,P-WALK-DIR> <EQUAL? ,IT .O .I>>
+ <COND (<AND <NOT ,P-WALK-DIR>
+ <EQUAL? ,IT .O .I>>
<COND (<VISIBLE? ,P-IT-OBJECT>
<COND (<EQUAL? ,IT .O>
<SET O ,P-IT-OBJECT>)
@@ -556,9 +562,10 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
.V>
<ROUTINE D-APPLY (STR FCN "OPTIONAL" (FOO <>) "AUX" RES)
- <COND (<NOT .FCN> <>)
+ <COND (<NOT .FCN>
+ <>)
(T
- <COND (,DEBUG
+ ;<COND (,DEBUG
<COND (<NOT .STR>
<TELL " Default ->" CR>)
(T
@@ -567,7 +574,7 @@ Alpha-Mu-79 to pick up a supply of " ,FORM-NAME ,ELLIPSIS>
<APPLY .FCN .FOO>)
(T
<APPLY .FCN>)>>
- <COND (<AND ,DEBUG
+ ;<COND (<AND ,DEBUG
.STR>
<COND (<EQUAL? .RES ,M-FATAL>
<TELL "Fatal" CR>)
diff --git a/parser.zap b/parser.zap
index 55578d7..dec7b75 100644
--- a/parser.zap
+++ b/parser.zap
@@ -44,7 +44,6 @@
EQUAL? PROTAGONIST,WINNER \?CND17
CRLF
?CND17: SET 'RESERVE-PTR,FALSE-VALUE
- SET 'P-CONT,FALSE-VALUE
JUMP ?CND14
?CCL16: ZERO? P-CONT /?CCL22
SET 'PTR,P-CONT
@@ -52,7 +51,6 @@
ZERO? ELIMINATE-CR \?CND23
CRLF
?CND23: SET 'ELIMINATE-CR,FALSE-VALUE
- SET 'P-CONT,FALSE-VALUE
JUMP ?CND14
?CCL22: SET 'WINNER,PROTAGONIST
SET 'QUOTE-FLAG,FALSE-VALUE
@@ -63,29 +61,32 @@
ZERO? VERBOSITY /?CND29
CRLF
?CND29: PRINTC 62
- READ P-INBUF,P-LEXV
+ GET OOPS-TABLE,O-PTR
+ ZERO? STACK \?CND31
+ PUT OOPS-TABLE,O-END,FALSE-VALUE
+?CND31: READ P-INBUF,P-LEXV
GETB P-LEXV,P-LEXWORDS >OLEN
?CND14: GETB P-LEXV,P-LEXWORDS >P-LEN
- ZERO? P-LEN \?CCL33
+ ZERO? P-LEN \?CCL35
PRINTI "[I beg your pardon?]"
CRLF
RFALSE
-?CCL33: GET P-LEXV,PTR
- EQUAL? STACK,W?OOPS \?CCL35
+?CCL35: GET P-LEXV,PTR
+ EQUAL? STACK,W?OOPS \?CCL37
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?PERIOD,W?COMMA \?CND36
+ EQUAL? STACK,W?PERIOD,W?COMMA \?CND38
ADD PTR,P-LEXELEN >PTR
DEC 'P-LEN
-?CND36: GRTR? P-LEN,1 /?CCL40
+?CND38: GRTR? P-LEN,1 /?CCL42
CALL CANT-USE-THAT-WAY,STR?6
RFALSE
-?CCL40: GET OOPS-TABLE,O-PTR
- ZERO? STACK /?CCL42
- GRTR? P-LEN,2 \?CND43
+?CCL42: GET OOPS-TABLE,O-PTR
+ ZERO? STACK /?CCL44
+ GRTR? P-LEN,2 \?CND45
PRINTI "[Warning: Only the first word after OOPS is used.]"
CRLF
-?CND43: GET OOPS-TABLE,O-PTR >?TMP1
+?CND45: GET OOPS-TABLE,O-PTR >?TMP1
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
PUT AGAIN-LEXV,?TMP1,STACK
@@ -104,67 +105,72 @@
GETB P-LEXV,P-LEXWORDS >P-LEN
GET OOPS-TABLE,O-START >PTR
CALL INBUF-STUFF,P-INBUF,OOPS-INBUF
- JUMP ?CND31
-?CCL42: PUT OOPS-TABLE,O-END,FALSE-VALUE
+ JUMP ?CND33
+?CCL44: PUT OOPS-TABLE,O-END,FALSE-VALUE
PRINTI "[There was no word to replace!]"
CRLF
RFALSE
-?CCL35: PUT OOPS-TABLE,O-END,FALSE-VALUE
-?CND31: GET P-LEXV,PTR
- EQUAL? STACK,W?AGAIN,W?G \?CCL47
- ZERO? P-OFLAG /?CCL50
+?CCL37: ZERO? P-CONT \?CND33
+ PUT OOPS-TABLE,O-END,FALSE-VALUE
+?CND33: SET 'P-CONT,FALSE-VALUE
+ GET P-LEXV,PTR
+ EQUAL? STACK,W?AGAIN,W?G \?CCL50
+ GETB OOPS-INBUF,1
+ ZERO? STACK \?CCL53
+ PRINTI "[What do you want to do again?]"
+ CRLF
+ RFALSE
+?CCL53: ZERO? P-OFLAG /?CCL55
CALL CANT-USE-THAT-WAY,STR?7
RFALSE
-?CCL50: ZERO? P-WON \?CCL52
+?CCL55: ZERO? P-WON \?CCL57
PRINTI "[That would just repeat a mistake!]"
CRLF
RFALSE
-?CCL52: EQUAL? OWINNER,PROTAGONIST /?CCL54
+?CCL57: EQUAL? OWINNER,PROTAGONIST /?CCL59
CALL VISIBLE?,OWINNER
- ZERO? STACK \?CCL54
- PRINTC 91
- PRINT YOU-CANT
- PRINTI "see "
+ ZERO? STACK \?CCL59
+ PRINTI "[You can't see "
PRINTD OWINNER
PRINTI " any more.]"
CRLF
RFALSE
-?CCL54: GRTR? P-LEN,1 \?CCL58
+?CCL59: GRTR? P-LEN,1 \?CCL63
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?PERIOD,W?COMMA,W?THEN /?CTR60
+ EQUAL? STACK,W?PERIOD,W?COMMA,W?THEN /?CTR65
ADD PTR,P-LEXELEN
GET P-LEXV,STACK
- EQUAL? STACK,W?AND \?CCL61
-?CTR60: ADD PTR,4 >PTR
+ EQUAL? STACK,W?AND \?CCL66
+?CTR65: ADD PTR,4 >PTR
GETB P-LEXV,P-LEXWORDS
SUB STACK,2
PUTB P-LEXV,P-LEXWORDS,STACK
- JUMP ?CND48
-?CCL61: CALL RECOGNIZE
+ JUMP ?CND51
+?CCL66: CALL RECOGNIZE
RFALSE
-?CCL58: ADD PTR,P-LEXELEN >PTR
+?CCL63: ADD PTR,P-LEXELEN >PTR
GETB P-LEXV,P-LEXWORDS
SUB STACK,1
PUTB P-LEXV,P-LEXWORDS,STACK
-?CND48: GETB P-LEXV,P-LEXWORDS
- GRTR? STACK,0 \?CCL66
+?CND51: GETB P-LEXV,P-LEXWORDS
+ GRTR? STACK,0 \?CCL71
CALL STUFF,RESERVE-LEXV,P-LEXV
CALL INBUF-STUFF,RESERVE-INBUF,P-INBUF
SET 'RESERVE-PTR,PTR
- JUMP ?CND64
-?CCL66: SET 'RESERVE-PTR,FALSE-VALUE
-?CND64: SET 'WINNER,OWINNER
+ JUMP ?CND69
+?CCL71: SET 'RESERVE-PTR,FALSE-VALUE
+?CND69: 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
-?PRG67: IGRTR? 'CNT,P-ITBLLEN /?CND45
+?PRG72: IGRTR? 'CNT,P-ITBLLEN /?CND48
GET P-OTBL,CNT
PUT P-ITBL,CNT,STACK
- JUMP ?PRG67
-?CCL47: CALL STUFF,AGAIN-LEXV,P-LEXV
+ JUMP ?PRG72
+?CCL50: CALL STUFF,AGAIN-LEXV,P-LEXV
CALL INBUF-STUFF,OOPS-INBUF,P-INBUF
PUT OOPS-TABLE,O-START,PTR
MUL 4,P-LEN
@@ -173,77 +179,80 @@
MUL P-LEXELEN,STACK
ADD PTR,STACK
MUL 2,STACK >LEN
+ GET OOPS-TABLE,O-END
+ ZERO? STACK \?CND77
SUB LEN,1
GETB P-LEXV,STACK >?TMP1
SUB LEN,2
GETB P-LEXV,STACK
ADD ?TMP1,STACK
PUT OOPS-TABLE,O-END,STACK
- SET 'RESERVE-PTR,FALSE-VALUE
+?CND77: SET 'RESERVE-PTR,FALSE-VALUE
SET 'LEN,P-LEN
SET 'P-NCN,0
SET 'P-GETFLAGS,0
-?PRG72: DLESS? 'P-LEN,0 \?CCL76
+?PRG79: DLESS? 'P-LEN,0 \?CCL83
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND45
-?CCL76: GET P-LEXV,PTR >WRD
+ JUMP ?CND48
+?CCL83: GET P-LEXV,PTR >WRD
CALL NAUGHTY-WORD?,WRD
ZERO? STACK \FALSE
GET P-LEXV,PTR >WRD
- ZERO? WRD \?CTR79
+ ZERO? WRD \?CTR86
CALL NUMBER?,PTR >WRD
- ZERO? WRD /?CCL80
-?CTR79: CALL NEXT-WORD,PTR >NW
- EQUAL? WRD,W?TO \?CCL85
- EQUAL? VERB,ACT?TELL,ACT?ASK \?CCL85
+ ZERO? WRD /?CCL87
+?CTR86: CALL NEXT-WORD,PTR >NW
+ EQUAL? WRD,W?TO \?CCL92
+ EQUAL? VERB,ACT?TELL,ACT?ASK \?CCL92
CALL WT?,NW,64,1
- ZERO? STACK /?CCL85
+ ZERO? STACK /?CCL92
PUT P-ITBL,P-VERB,ACT?TELL
SET 'WRD,W?QUOTE
- JUMP ?CND83
-?CCL85: EQUAL? WRD,W?THEN \?CND83
- GRTR? P-LEN,0 \?CND83
- ZERO? VERB \?CND83
- ZERO? QUOTE-FLAG \?CND83
+ JUMP ?CND90
+?CCL92: EQUAL? WRD,W?THEN \?CND90
+ GRTR? P-LEN,0 \?CND90
+ ZERO? VERB \?CND90
+ ZERO? QUOTE-FLAG \?CND90
PUT P-ITBL,P-VERB,ACT?TELL
PUT P-ITBL,P-VERBN,0
SET 'WRD,W?QUOTE
-?CND83: EQUAL? WRD,W?THEN,W?PERIOD /?CTR95
- EQUAL? WRD,W?QUOTE \?CCL96
-?CTR95: EQUAL? WRD,W?QUOTE \?CND99
- ZERO? QUOTE-FLAG /?CCL103
+?CND90: EQUAL? WRD,W?THEN,W?PERIOD /?CTR102
+ EQUAL? WRD,W?QUOTE \?CCL103
+?CTR102: EQUAL? WRD,W?QUOTE \?CND106
+ ZERO? QUOTE-FLAG /?CCL110
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND99
-?CCL103: SET 'QUOTE-FLAG,TRUE-VALUE
-?CND99: ZERO? P-LEN /?PEN104
+ JUMP ?CND106
+?CCL110: SET 'QUOTE-FLAG,TRUE-VALUE
+?CND106: ZERO? P-LEN /?PEN111
ADD PTR,P-LEXELEN >P-CONT
-?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
+?PEN111: PUTB P-LEXV,P-LEXWORDS,P-LEN
+ JUMP ?CND48
+?CCL103: CALL WT?,WRD,16,3 >VAL
+ ZERO? VAL /?CCL114
+ EQUAL? VERB,FALSE-VALUE,ACT?WALK,ACT?GO \?CCL114
+ EQUAL? LEN,1 /?CTR113
+ EQUAL? LEN,2 \?PRD120
+ EQUAL? VERB,ACT?WALK,ACT?GO /?CTR113
+?PRD120: EQUAL? NW,W?THEN,W?PERIOD,W?QUOTE \?PRD123
+ LESS? LEN,2 \?CTR113
+?PRD123: ZERO? QUOTE-FLAG /?PRD126
+ EQUAL? LEN,2 \?PRD126
+ EQUAL? NW,W?QUOTE /?CTR113
+?PRD126: GRTR? LEN,2 \?CCL114
+ EQUAL? NW,W?COMMA,W?AND \?CCL114
+?CTR113: SET 'DIR,VAL
+ EQUAL? NW,W?COMMA,W?AND \?CND132
ADD PTR,P-LEXELEN
CALL CHANGE-LEXV,STACK,W?THEN
-?CND125: GRTR? LEN,2 /?CND74
+?CND132: GRTR? LEN,2 /?CND81
SET 'QUOTE-FLAG,FALSE-VALUE
- JUMP ?CND45
-?CCL107: CALL WT?,WRD,64,1 >VAL
- ZERO? VAL /?CCL130
- ZERO? VERB \?CCL130
+ JUMP ?CND48
+?CCL114: CALL WT?,WRD,64,1 >VAL
+ ZERO? VAL /?CCL137
+ ZERO? VERB \?CCL137
+ ZERO? P-OFLAG \?CND140
SET 'P-PRSA-WORD,WRD
- SET 'VERB,VAL
+?CND140: SET 'VERB,VAL
PUT P-ITBL,P-VERB,VAL
PUT P-ITBL,P-VERBN,P-VTBL
PUT P-VTBL,0,WRD
@@ -254,70 +263,70 @@
ADD CNT,1
GETB P-LEXV,STACK
PUTB P-VTBL,3,STACK
- 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
+ JUMP ?CND81
+?CCL137: CALL WT?,WRD,8,0 >VAL
+ ZERO? VAL \?CTR142
+ EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?CTR142
+ EQUAL? WRD,W?EVERYT /?CTR142
CALL WT?,WRD,32
- ZERO? STACK \?CTR133
+ ZERO? STACK \?CTR142
CALL WT?,WRD,128
- ZERO? STACK /?CCL134
-?CTR133: ZERO? VAL /?CND140
- EQUAL? WRD,W?BACK \?CND140
- EQUAL? VERB,ACT?HAND /?CND140
+ ZERO? STACK /?CCL143
+?CTR142: ZERO? VAL /?CND149
+ EQUAL? WRD,W?BACK \?CND149
+ EQUAL? VERB,ACT?HAND /?CND149
SET 'VAL,0
-?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
+?CND149: GRTR? P-LEN,0 \?CCL155
+ EQUAL? NW,W?OF \?CCL155
+ ZERO? VAL \?CCL155
+ EQUAL? WRD,W?ALL,W?ONE,W?A /?CCL155
+ EQUAL? WRD,W?BOTH,W?EVERYT \?CND81
+?CCL155: ZERO? VAL /?CCL162
+ ZERO? P-LEN /?CTR161
+ EQUAL? NW,W?THEN,W?PERIOD \?CCL162
+?CTR161: SET 'P-END-ON-PREP,TRUE-VALUE
+ LESS? P-NCN,2 \?CND81
PUT P-ITBL,P-PREP1,VAL
PUT P-ITBL,P-PREP1N,WRD
- JUMP ?CND74
-?CCL153: EQUAL? P-NCN,2 \?CCL161
+ JUMP ?CND81
+?CCL162: EQUAL? P-NCN,2 \?CCL170
PRINTI "[There were too many nouns in that sentence.]"
CRLF
RFALSE
-?CCL161: INC 'P-NCN
+?CCL170: INC 'P-NCN
CALL CLAUSE,PTR,VAL,WRD >PTR
ZERO? PTR /FALSE
- LESS? PTR,0 \?CND74
+ LESS? PTR,0 \?CND81
SET 'QUOTE-FLAG,FALSE-VALUE
-?CND45: PUT OOPS-TABLE,O-PTR,FALSE-VALUE
- ZERO? DIR /?CND172
+?CND48: PUT OOPS-TABLE,O-PTR,FALSE-VALUE
+ ZERO? DIR /?CND181
SET 'PRSA,V?WALK
SET 'PRSO,DIR
SET 'P-OFLAG,FALSE-VALUE
SET 'P-WALK-DIR,DIR
SET 'AGAIN-DIR,DIR
RTRUE
-?CCL134: CALL WT?,WRD,4
- ZERO? STACK \?CND74
- EQUAL? VERB,ACT?TELL \?CCL168
+?CCL143: CALL WT?,WRD,4
+ ZERO? STACK \?CND81
+ EQUAL? VERB,ACT?TELL \?CCL177
CALL WT?,WRD,64,1
- ZERO? STACK /?CCL168
- EQUAL? WINNER,PROTAGONIST \?CCL168
+ ZERO? STACK /?CCL177
+ EQUAL? WINNER,PROTAGONIST \?CCL177
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
+?CCL177: CALL CANT-USE,PTR
RFALSE
-?CCL80: CALL UNKNOWN-WORD,PTR
+?CCL87: CALL UNKNOWN-WORD,PTR
RFALSE
-?CND74: SET 'LW,WRD
+?CND81: SET 'LW,WRD
ADD PTR,P-LEXELEN >PTR
- JUMP ?PRG72
-?CND172: SET 'P-WALK-DIR,FALSE-VALUE
+ JUMP ?PRG79
+?CND181: SET 'P-WALK-DIR,FALSE-VALUE
SET 'AGAIN-DIR,FALSE-VALUE
- ZERO? P-OFLAG /?CND174
+ ZERO? P-OFLAG /?CND183
CALL ORPHAN-MERGE
-?CND174: CALL SYNTAX-CHECK
+?CND183: CALL SYNTAX-CHECK
ZERO? STACK /FALSE
CALL SNARF-OBJECTS
ZERO? STACK /FALSE
@@ -412,14 +421,10 @@
RSTACK
- .FUNCT NEXT-WORD,PTR,NW
+ .FUNCT NEXT-WORD,PTR
ZERO? P-LEN /FALSE
ADD PTR,P-LEXELEN
- GET P-LEXV,STACK >NW
- ZERO? NW /?CCL6
- RETURN NW
-?CCL6: ADD PTR,P-LEXELEN
- CALL NUMBER?,STACK
+ GET P-LEXV,STACK
RSTACK
@@ -545,8 +550,8 @@
MUL PTR,2
ADD P-LEXV,STACK
GETB STACK,3 >BPTR
-?PRG1: GRTR? SUM,10000 /FALSE
- DLESS? 'CNT,0 /?REP2
+?PRG1: DLESS? 'CNT,0 /?REP2
+ GRTR? SUM,6553 /FALSE
GETB P-INBUF,BPTR >CHR
LESS? CHR,58 \?CCL10
GRTR? CHR,47 \?CCL10
@@ -637,15 +642,17 @@
GET STACK,0 >WRD
CALL WT?,WRD,64,1 >?TMP1
GET P-OTBL,P-VERB
- EQUAL? ?TMP1,STACK \?CCL3
- SET 'VRB,TRUE-VALUE
+ EQUAL? ?TMP1,STACK /?CTR2
+ CALL WT?,WRD,32
+ ZERO? STACK /?CCL3
+?CTR2: SET 'VRB,TRUE-VALUE
SET 'ADJ,TRUE-VALUE
JUMP ?CND1
?CCL3: CALL WT?,WRD,32
- ZERO? STACK /?CCL5
+ ZERO? STACK /?CCL7
SET 'ADJ,TRUE-VALUE
JUMP ?CND1
-?CCL5: CALL WT?,WRD,128,0
+?CCL7: CALL WT?,WRD,128,0
ZERO? STACK /?CND1
ZERO? P-NCN \?CND1
PUT P-ITBL,P-VERB,0
@@ -656,95 +663,95 @@
PUT P-ITBL,P-NC1L,STACK
SET 'P-NCN,1
?CND1: GET P-ITBL,P-VERB >VERB
- ZERO? VERB /?CCL11
- ZERO? ADJ \?CCL11
+ ZERO? VERB /?CCL13
+ ZERO? ADJ \?CCL13
GET P-OTBL,P-VERB
EQUAL? VERB,STACK \FALSE
-?CCL11: EQUAL? P-NCN,2 /FALSE
+?CCL13: EQUAL? P-NCN,2 /FALSE
GET P-OTBL,P-NC1
- EQUAL? STACK,1 \?CCL18
+ EQUAL? STACK,1 \?CCL20
GET P-ITBL,P-PREP1 >TEMP
GET P-OTBL,P-PREP1
- EQUAL? TEMP,STACK /?CTR20
+ EQUAL? TEMP,STACK /?CTR22
ZERO? TEMP \FALSE
-?CTR20: ZERO? ADJ /?CCL26
- ZERO? VRB \?CCL26
+?CTR22: ZERO? ADJ /?CCL28
+ ZERO? VRB \?CCL28
ADD P-LEXV,2
PUT P-OTBL,P-NC1,STACK
GET P-ITBL,P-NC1L
- ZERO? STACK \?CND29
+ ZERO? STACK \?CND31
ADD P-LEXV,6
PUT P-ITBL,P-NC1L,STACK
-?CND29: ZERO? P-NCN \?CND24
+?CND31: ZERO? P-NCN \?CND26
SET 'P-NCN,1
- JUMP ?CND24
-?CCL26: GET P-ITBL,P-NC1
+ JUMP ?CND26
+?CCL28: GET P-ITBL,P-NC1
PUT P-OTBL,P-NC1,STACK
-?CND24: GET P-ITBL,P-NC1L
+?CND26: GET P-ITBL,P-NC1L
PUT P-OTBL,P-NC1L,STACK
- JUMP ?CND9
-?CCL18: GET P-OTBL,P-NC2
- EQUAL? STACK,1 \?CCL34
+ JUMP ?CND11
+?CCL20: GET P-OTBL,P-NC2
+ EQUAL? STACK,1 \?CCL36
GET P-ITBL,P-PREP1 >TEMP
GET P-OTBL,P-PREP2
- EQUAL? TEMP,STACK /?CTR36
+ EQUAL? TEMP,STACK /?CTR38
ZERO? TEMP \FALSE
-?CTR36: ZERO? ADJ /?CND40
- ZERO? VRB \?CND40
+?CTR38: ZERO? ADJ /?CND42
+ ZERO? VRB \?CND42
ADD P-LEXV,2
PUT P-ITBL,P-NC1,STACK
GET P-ITBL,P-NC1L
- ZERO? STACK \?CND40
+ ZERO? STACK \?CND42
ADD P-LEXV,6
PUT P-ITBL,P-NC1L,STACK
-?CND40: GET P-ITBL,P-NC1
+?CND42: 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 ?CND9
-?CCL34: ZERO? P-ACLAUSE /?CND9
- EQUAL? P-NCN,1 /?CCL49
- ZERO? ADJ \?CCL49
+ JUMP ?CND11
+?CCL36: ZERO? P-ACLAUSE /?CND11
+ EQUAL? P-NCN,1 /?CCL51
+ ZERO? ADJ \?CCL51
SET 'P-ACLAUSE,FALSE-VALUE
RFALSE
-?CCL49: GET P-ITBL,P-NC1 >BEG
- ZERO? ADJ /?CND52
+?CCL51: GET P-ITBL,P-NC1 >BEG
+ ZERO? ADJ /?CND54
ADD P-LEXV,2 >BEG
SET 'ADJ,FALSE-VALUE
-?CND52: GET P-ITBL,P-NC1L >END
-?PRG54: GET BEG,0 >WRD
- EQUAL? BEG,END \?CCL58
- ZERO? ADJ /?CCL61
+?CND54: GET P-ITBL,P-NC1L >END
+?PRG56: GET BEG,0 >WRD
+ EQUAL? BEG,END \?CCL60
+ ZERO? ADJ /?CCL63
CALL CLAUSE-WIN,ADJ
- JUMP ?CND9
-?CCL61: SET 'P-ACLAUSE,FALSE-VALUE
+ JUMP ?CND11
+?CCL63: SET 'P-ACLAUSE,FALSE-VALUE
RFALSE
-?CCL58: EQUAL? WRD,W?ALL,W?EVERYT,W?ONE /?CTR62
- EQUAL? WRD,W?BOTH /?CTR62
+?CCL60: EQUAL? WRD,W?ALL,W?EVERYT,W?ONE /?CTR64
+ EQUAL? WRD,W?BOTH /?CTR64
GETB WRD,P-PSOFF
- BTST STACK,32 \?CCL63
+ BTST STACK,32 \?CCL65
CALL ADJ-CHECK,WRD,ADJ,ADJ
- ZERO? STACK /?CCL63
-?CTR62: SET 'ADJ,WRD
-?CND56: ADD BEG,P-WORDLEN >BEG
- ZERO? END \?PRG54
+ ZERO? STACK /?CCL65
+?CTR64: SET 'ADJ,WRD
+?CND58: ADD BEG,P-WORDLEN >BEG
+ ZERO? END \?PRG56
SET 'END,BEG
SET 'P-NCN,1
SUB BEG,4
PUT P-ITBL,P-NC1,STACK
PUT P-ITBL,P-NC1L,BEG
- JUMP ?PRG54
-?CCL63: EQUAL? WRD,W?ONE \?CCL70
+ JUMP ?PRG56
+?CCL65: EQUAL? WRD,W?ONE \?CCL72
CALL CLAUSE-WIN,ADJ
- JUMP ?CND9
-?CCL70: GETB WRD,P-PSOFF
- BTST STACK,128 \?CND56
- EQUAL? WRD,P-ANAM \?CCL74
+ JUMP ?CND11
+?CCL72: GETB WRD,P-PSOFF
+ BTST STACK,128 \?CND58
+ EQUAL? WRD,P-ANAM \?CCL76
CALL CLAUSE-WIN,ADJ
- JUMP ?CND9
-?CCL74: CALL CLAUSE-WIN
-?CND9: GET P-OVTBL,0
+ JUMP ?CND11
+?CCL76: CALL CLAUSE-WIN
+?CND11: GET P-OVTBL,0
PUT P-VTBL,0,STACK
GETB P-OVTBL,2
PUTB P-VTBL,2,STACK
@@ -752,12 +759,12 @@
PUTB P-VTBL,3,STACK
PUT P-OTBL,P-VERBN,P-VTBL
PUTB P-VTBL,2,0
-?PRG77: IGRTR? 'CNT,P-ITBLLEN \?CCL81
+?PRG79: IGRTR? 'CNT,P-ITBLLEN \?CCL83
SET 'P-MERGED,TRUE-VALUE
RTRUE
-?CCL81: GET P-OTBL,CNT
+?CCL83: GET P-OTBL,CNT
PUT P-ITBL,CNT,STACK
- JUMP ?PRG77
+ JUMP ?PRG79
.FUNCT CLAUSE-WIN,ADJ=0
@@ -790,7 +797,9 @@
.FUNCT UNKNOWN-WORD,PTR,BUF,?TMP1
- PUT OOPS-TABLE,O-PTR,PTR
+ ZERO? P-OFLAG /?CND1
+ PUT OOPS-TABLE,O-END,0
+?CND1: PUT OOPS-TABLE,O-PTR,PTR
PRINTI "[I don't know the word """
MUL PTR,2 >BUF
ADD P-LEXV,BUF
@@ -813,10 +822,7 @@
ADD P-LEXV,BUF
GETB STACK,3
CALL WORD-PRINT,?TMP1,STACK
- PRINTI """ in a way that I don't understand.]"
- CRLF
- CALL STOP
- RSTACK
+ PRINTR """ in a way that I don't understand.]"
.FUNCT SYNTAX-CHECK,SYN,LEN,NUM,OBJ,DRIVE1=0,DRIVE2=0,PREP,VERB,?TMP2,?TMP1
@@ -1002,41 +1008,41 @@
SET 'PN,TRUE-VALUE
JUMP ?CND3
?CCL13: CALL NAME?,WRD
- ZERO? STACK /?CCL15
- CALL CAPITALIZE,BEG
+ ZERO? STACK \?CTR14
+ EQUAL? WRD,W?THERMOS \?CCL15
+?CTR14: CALL CAPITALIZE,BEG
SET 'PN,TRUE-VALUE
JUMP ?CND3
-?CCL15: ZERO? FIRST?? /?CND16
- ZERO? PN \?CND16
- ZERO? CP /?CND16
- EQUAL? WRD,W?MY /?CND16
+?CCL15: ZERO? FIRST?? /?CND18
+ ZERO? PN \?CND18
+ ZERO? CP /?CND18
+ EQUAL? WRD,W?MY /?CND18
PRINTI "the "
-?CND16: ZERO? P-OFLAG \?CTR23
- ZERO? P-MERGED /?CCL24
-?CTR23: PRINTB WRD
- JUMP ?CND22
-?CCL24: EQUAL? WRD,W?IT,W?THEM \?CCL28
+?CND18: ZERO? P-OFLAG \?CTR25
+ ZERO? P-MERGED /?CCL26
+?CTR25: PRINTB WRD
+ JUMP ?CND24
+?CCL26: EQUAL? WRD,W?IT,W?THEM \?CCL30
CALL ACCESSIBLE?,P-IT-OBJECT
- ZERO? STACK /?CCL28
+ ZERO? STACK /?CCL30
PRINTD P-IT-OBJECT
- 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
+ JUMP ?CND24
+?CCL30: EQUAL? WRD,W?HIM,W?HIMSELF,W?HER /?PRD36
+ EQUAL? WRD,W?HERSELF \?CCL34
+?PRD36: CALL ACCESSIBLE?,P-HIM-OBJECT
+ ZERO? STACK /?CCL34
PRINTD P-HIM-OBJECT
- JUMP ?CND22
-?CCL32: GETB BEG,2 >?TMP1
+ JUMP ?CND24
+?CCL34: GETB BEG,2 >?TMP1
GETB BEG,3
CALL WORD-PRINT,?TMP1,STACK
-?CND22: SET 'FIRST??,FALSE-VALUE
+?CND24: SET 'FIRST??,FALSE-VALUE
?CND3: ADD BEG,P-WORDLEN >BEG
JUMP ?PRG1
.FUNCT NAME?,WRD
EQUAL? WRD,W?FLOYD,W?PLATO,W?OLIVER /TRUE
- EQUAL? WRD,W?THERMOS /TRUE
RFALSE
@@ -1478,21 +1484,16 @@
SET 'ADJ,P-ADJ
SET 'P-NAM,P-XNAM
SET 'P-ADJ,P-XADJ
- ZERO? DEBUG /?CND1
- PRINTI "[MOBY-FINDing; P-NAM="
- PRINTB P-NAM
- PRINTC 93
- CRLF
-?CND1: PUT TBL,P-MATCHLEN,0
-?PRG5: IN? OBJ,ROOMS /?CND7
+ PUT TBL,P-MATCHLEN,0
+?PRG3: IN? OBJ,ROOMS /?CND5
CALL THIS-IT?,OBJ >FOO
- ZERO? FOO /?CND7
+ ZERO? FOO /?CND5
CALL OBJ-FOUND,OBJ,TBL >FOO
-?CND7: IGRTR? 'OBJ,LAST-OBJECT \?PRG5
+?CND5: IGRTR? 'OBJ,LAST-OBJECT \?PRG3
GET TBL,P-MATCHLEN >LEN
- EQUAL? LEN,1 \?CND13
+ EQUAL? LEN,1 \?CND11
GET TBL,1 >P-MOBY-FOUND
-?CND13: SET 'P-NAM,NAM
+?CND11: SET 'P-NAM,NAM
SET 'P-ADJ,ADJ
RETURN LEN
@@ -1504,7 +1505,7 @@
?CND1: SET 'RLEN,LEN
EQUAL? WINNER,PROTAGONIST /?CCL5
PRINTI """I don't understand wh"
- EQUAL? P-ADJ,W?YOUR,W?MY \?CCL8
+ EQUAL? P-ADJ,A?YOUR,A?MY,A?PURPOS \?CCL8
PRINTR "at you mean!"""
?CCL8: PRINTI "ether you mean "
JUMP ?PRG22
@@ -1679,45 +1680,44 @@
EQUAL? OBJ,LEASH \?CCL29
ZERO? HANGING-IN-AIR \?PRG8
?CCL29: SET 'PRSO,OBJ
- FSET? OBJ,TRYTAKEBIT \?CCL34
- SET 'TAKEN,TRUE-VALUE
- JUMP ?CND32
-?CCL34: CALL UNTOUCHABLE?,OBJ
- ZERO? STACK /?CCL36
- SET 'TAKEN,TRUE-VALUE
+ FSET? OBJ,TRYTAKEBIT /?CTR33
+ CALL UNTOUCHABLE?,OBJ
+ ZERO? STACK \?CTR33
+ ZERO? STUNNED /?CCL34
+?CTR33: SET 'TAKEN,TRUE-VALUE
JUMP ?CND32
-?CCL36: EQUAL? WINNER,PROTAGONIST /?CCL38
+?CCL34: EQUAL? WINNER,PROTAGONIST /?CCL39
SET 'TAKEN,FALSE-VALUE
JUMP ?CND32
-?CCL38: BTST IBITS,STAKE \?CCL40
+?CCL39: BTST IBITS,STAKE \?CCL41
CALL ITAKE,FALSE-VALUE
- EQUAL? STACK,TRUE-VALUE \?CCL40
+ EQUAL? STACK,TRUE-VALUE \?CCL41
SET 'TAKEN,FALSE-VALUE
JUMP ?CND32
-?CCL40: SET 'TAKEN,TRUE-VALUE
-?CND32: ZERO? TAKEN /?CCL45
- BTST IBITS,SHAVE \?CCL45
+?CCL41: SET 'TAKEN,TRUE-VALUE
+?CND32: ZERO? TAKEN /?CCL46
+ BTST IBITS,SHAVE \?CCL46
GET TBL,P-MATCHLEN
- LESS? 1,STACK \?CCL50
+ LESS? 1,STACK \?CCL51
PRINT YNH
PRINTI " all those things!"
CRLF
RFALSE
-?CCL50: EQUAL? OBJ,NOT-HERE-OBJECT \?CND48
+?CCL51: EQUAL? OBJ,NOT-HERE-OBJECT \?CND49
PRINT YOU-CANT
PRINTI "see that here!"
CRLF
RFALSE
-?CND48: EQUAL? WINNER,PROTAGONIST \?CCL54
+?CND49: EQUAL? WINNER,PROTAGONIST \?CCL55
PRINT YNH
- JUMP ?CND52
-?CCL54: PRINTI "It doesn't look like"
+ JUMP ?CND53
+?CCL55: PRINTI "It doesn't look like"
CALL TPRINT,WINNER
PRINTI " has"
-?CND52: CALL THIS-IS-IT,OBJ
+?CND53: CALL THIS-IS-IT,OBJ
CALL TRPRINT,OBJ
RFALSE
-?CCL45: ZERO? TAKEN \?PRG8
+?CCL46: ZERO? TAKEN \?PRG8
IN? PROTAGONIST,OBJ /?PRG8
EQUAL? WINNER,PROTAGONIST \?PRG8
PRINTI "[taking"
diff --git a/parser.zil b/parser.zil
index 2c4bf8a..a9cf30f 100644
--- a/parser.zil
+++ b/parser.zil
@@ -166,7 +166,7 @@ with 'P-'. Local variables are not restricted in any way."
<EQUAL? ,PROTAGONIST ,WINNER>>
<CRLF>)>
<SETG RESERVE-PTR <>>
- <SETG P-CONT <>>)
+ ;<SETG P-CONT <>> ;"retrofix 59")
(,P-CONT
<SET PTR ,P-CONT>
;<COND (<AND <NOT <EQUAL? ,VERBOSITY 0>>
@@ -176,7 +176,7 @@ with 'P-'. Local variables are not restricted in any way."
<NOT ,ELIMINATE-CR>>
<CRLF>)>
<SETG ELIMINATE-CR <>>
- <SETG P-CONT <>>)
+ ;<SETG P-CONT <>> ;"retrofix 59")
(T
<SETG WINNER ,PROTAGONIST>
<SETG QUOTE-FLAG <>>
@@ -186,6 +186,8 @@ with 'P-'. Local variables are not restricted in any way."
<COND (<NOT <EQUAL? ,VERBOSITY 0>>
<CRLF>)>
<TELL ">">
+ <COND (<ZERO? <GET ,OOPS-TABLE ,O-PTR>>
+ <PUT ,OOPS-TABLE ,O-END <>>)> ;"retrofix 59"
<READ ,P-INBUF ,P-LEXV>
<SET OLEN <GETB ,P-LEXV ,P-LEXWORDS>>)>
<SETG P-LEN <GETB ,P-LEXV ,P-LEXWORDS>>
@@ -218,10 +220,14 @@ with 'P-'. Local variables are not restricted in any way."
<PUT ,OOPS-TABLE ,O-END <>>
<TELL "[There was no word to replace!]" CR>
<RFALSE>)>)
- (T
+ (<ZERO? ,P-CONT> ;"retrofix 58"
<PUT ,OOPS-TABLE ,O-END <>>)>
+ <SETG P-CONT <>> ;"retrofix 59"
<COND (<EQUAL? <GET ,P-LEXV .PTR> ,W?AGAIN ,W?G>
- <COND (,P-OFLAG
+ <COND (<ZERO? <GETB ,OOPS-INBUF 1>>
+ <TELL "[What do you want to do again?]" CR>
+ <RFALSE>)
+ (,P-OFLAG
<CANT-USE-THAT-WAY "AGAIN">
<RFALSE>)
(<NOT ,P-WON>
@@ -229,7 +235,7 @@ with 'P-'. Local variables are not restricted in any way."
<RFALSE>)
(<AND <NOT <EQUAL? .OWINNER ,PROTAGONIST>>
<NOT <VISIBLE? .OWINNER>>>
- <TELL "[" ,YOU-CANT "see " D .OWINNER " any more.]" CR>
+ <TELL "[You can't see " D .OWINNER " any more.]" CR>
<RFALSE>)
(<G? ,P-LEN 1>
<COND (<OR <EQUAL? <GET ,P-LEXV <+ .PTR ,P-LEXELEN>>
@@ -271,8 +277,10 @@ with 'P-'. Local variables are not restricted in any way."
<PUT ,OOPS-TABLE ,O-LENGTH <* 4 ,P-LEN>> ;"fix #36"
<SET LEN
<* 2 <+ .PTR <* ,P-LEXELEN <GETB ,P-LEXV ,P-LEXWORDS>>>>>
- <PUT ,OOPS-TABLE ,O-END <+ <GETB ,P-LEXV <- .LEN 1>>
- <GETB ,P-LEXV <- .LEN 2>>>>
+ <COND (<ZERO? <GET ,OOPS-TABLE ,O-END>> ;"retrofix 58"
+ <PUT ,OOPS-TABLE ,O-END
+ <+ <GETB ,P-LEXV <- .LEN 1>>
+ <GETB ,P-LEXV <- .LEN 2>>>>)>
<SETG RESERVE-PTR <>>
<SET LEN ,P-LEN>
;<SETG P-DIR <>>
@@ -342,14 +350,17 @@ with 'P-'. Local variables are not restricted in any way."
<RETURN>)>)
(<AND <SET VAL <WT? .WRD ,PS?VERB ,P1?VERB>>
<NOT .VERB>>
- <SETG P-PRSA-WORD .WRD>
+ <COND (<ZERO? ,P-OFLAG>
+ <SETG P-PRSA-WORD .WRD>)
+ ;(T
+ <SETG P-PRSA-WORD
+ <GET <GET ,P-ITBL ,P-VERBN> 0>>)>
<SET VERB .VAL>
<PUT ,P-ITBL ,P-VERB .VAL>
<PUT ,P-ITBL ,P-VERBN ,P-VTBL>
<PUT ,P-VTBL 0 .WRD>
- <PUTB ,P-VTBL 2 <GETB ,P-LEXV
- <SET CNT
- <+ <* .PTR 2> 2>>>>
+ <PUTB ,P-VTBL 2
+ <GETB ,P-LEXV <SET CNT <+ <* .PTR 2> 2>>>>
<PUTB ,P-VTBL 3 <GETB ,P-LEXV <+ .CNT 1>>>)
(<OR <SET VAL <WT? .WRD ,PS?PREPOSITION 0>>
<EQUAL? .WRD ,W?ALL ,W?ONE ,W?BOTH>
@@ -517,7 +528,11 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET OFFS <+ .OFFS 1>>)>
<GETB .PTR .OFFS>)>)>>
-<ROUTINE NEXT-WORD (PTR "AUX" NW)
+<ROUTINE NEXT-WORD (PTR)
+ <COND (<NOT <ZERO? ,P-LEN>>
+ <GET ,P-LEXV <+ .PTR ,P-LEXELEN>>)>>
+
+;<ROUTINE NEXT-WORD (PTR "AUX" NW)
<COND (<NOT <ZERO? ,P-LEN>>
<COND (<SET NW <GET ,P-LEXV <+ .PTR ,P-LEXELEN>>>
.NW)
@@ -531,8 +546,11 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<PUT ,P-ITBL <SET NUM <+ ,P-PREP1 .OFF>> .VAL>
<PUT ,P-ITBL <+ .NUM 1> .WRD>
<SET PTR <+ .PTR ,P-LEXELEN>>)
- (T <SETG P-LEN <+ ,P-LEN 1>>)>
- <COND (<ZERO? ,P-LEN> <SETG P-NCN <- ,P-NCN 1>> <RETURN -1>)>
+ (T
+ <SETG P-LEN <+ ,P-LEN 1>>)>
+ <COND (<ZERO? ,P-LEN>
+ <SETG P-NCN <- ,P-NCN 1>>
+ <RETURN -1>)>
<PUT ,P-ITBL <SET NUM <+ ,P-NC1 .OFF>> <REST ,P-LEXV <* .PTR 2>>>
<REPEAT ()
<COND (<L? <SETG P-LEN <- ,P-LEN 1>> 0>
@@ -541,7 +559,8 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET WRD <GET ,P-LEXV .PTR>>
<COND (<NAUGHTY-WORD? .WRD>
<RFALSE>)
- (<OR .WRD <SET WRD <NUMBER? .PTR>>>
+ (<OR .WRD
+ <SET WRD <NUMBER? .PTR>>>
<SET NW <NEXT-WORD .PTR>>
<COND (<AND .FIRST?? ;"fix 'lie down on...'"
<OR <EQUAL? .WRD ,W?THE ,W?A ,W?AN>
@@ -567,8 +586,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
;"ADDED 4/27 FOR TURTLE,UP"
<NOT .FIRST??>>>
<SETG P-LEN <+ ,P-LEN 1>>
- <PUT ,P-ITBL
- <+ .NUM 1>
+ <PUT ,P-ITBL <+ .NUM 1>
<REST ,P-LEXV <* .PTR 2>>>
<RETURN <- .PTR ,P-LEXELEN>>)
;"This next clause was 2 clauses further down"
@@ -618,7 +636,9 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
(T
<CANT-USE .PTR>
<RFALSE>)>)
- (T <UNKNOWN-WORD .PTR> <RFALSE>)>
+ (T
+ <UNKNOWN-WORD .PTR>
+ <RFALSE>)>
<SET LW .WRD>
<SET FIRST?? <>>
<SET PTR <+ .PTR ,P-LEXELEN>>>>
@@ -627,9 +647,10 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET CNT <GETB <REST ,P-LEXV <* .PTR 2>> 2>>
<SET BPTR <GETB <REST ,P-LEXV <* .PTR 2>> 3>>
<REPEAT ()
- <COND (<G? .SUM 10000> <RFALSE>)
- (<L? <SET CNT <- .CNT 1>> 0>
+ <COND (<L? <SET CNT <- .CNT 1>> 0>
<RETURN>)
+ (<G? .SUM 6553>
+ <RFALSE>)
(T
<SET CHR <GETB ,P-INBUF .BPTR>>
<COND (<AND <L? .CHR 58>
@@ -695,7 +716,8 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET BPTR <+ .BPTR 1>>)>>
<COND (<NOT <EQUAL? .CCTR 3>> ;"only handles 3 digits after the comma"
<RFALSE>)
- (<ZERO? .SUM> ;"if it returned 0, the calling predicate becomes <>"
+ (<ZERO? .SUM>
+ ;"if it returned 0, the calling predicate becomes <>"
<RETURN 1000>)
(T
<RETURN .SUM>)>>
@@ -704,9 +726,13 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<ROUTINE ORPHAN-MERGE ("AUX" (CNT -1) TEMP VERB BEG END (ADJ <>) (VRB <>) WRD)
<SETG P-OFLAG <>>
- <COND (<EQUAL? <WT? <SET WRD <GET <GET ,P-ITBL ,P-VERBN> 0>>
+ <COND (<OR <EQUAL? <WT? <SET WRD <GET <GET ,P-ITBL ,P-VERBN> 0>>
,PS?VERB ,P1?VERB>
<GET ,P-OTBL ,P-VERB>>
+ <WT? .WRD ,PS?ADJECTIVE>>
+ ;<EQUAL? <WT? <SET WRD <GET <GET ,P-ITBL ,P-VERBN> 0>>
+ ,PS?VERB ,P1?VERB>
+ <GET ,P-OTBL ,P-VERB>> ;"old predicate, axed for rfix 45"
<SET VRB T>
<SET ADJ T>)
(<WT? .WRD ,PS?ADJECTIVE>
@@ -822,6 +848,8 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET BUF <+ .BUF 1>>)>>>
<ROUTINE UNKNOWN-WORD (PTR "AUX" BUF)
+ <COND (<T? ,P-OFLAG>
+ <PUT ,OOPS-TABLE ,O-END 0>)>
<PUT ,OOPS-TABLE ,O-PTR .PTR>
<TELL "[I don't know the word \"">
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
@@ -834,8 +862,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<TELL "[You used the word \"">
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
<GETB <REST ,P-LEXV .BUF> 3>>
- <TELL "\" in a way that I don't understand.]" CR>
- <STOP>>
+ <TELL "\" in a way that I don't understand.]" CR>>
;" Perform syntax matching operations, using P-ITBL as the source of
the verb and adjectives for this input. Returns false if no
@@ -1001,7 +1028,8 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
(<EQUAL? .WRD ,W?ME ,W?MYSELF>
<PRINTD ,ME>
<SET PN T>)
- (<NAME? .WRD>
+ (<OR <NAME? .WRD>
+ <EQUAL? .WRD ,W?THERMOS>>
<CAPITALIZE .BEG>
<SET PN T>)
(T
@@ -1031,7 +1059,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 ,W?OLIVER ,W?THERMOS>
+ <COND (<EQUAL? .WRD ,W?FLOYD ,W?PLATO ,W?OLIVER>
<RTRUE>)
(T
<RFALSE>)>>
@@ -1438,7 +1466,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET ADJ ,P-ADJ>
<SETG P-NAM ,P-XNAM>
<SETG P-ADJ ,P-XADJ>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[MOBY-FINDing; P-NAM=">
<PRINTB ,P-NAM>
<TELL "]" CR>)>
@@ -1483,7 +1511,7 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
<SET RLEN .LEN>
<COND (<NOT <EQUAL? ,WINNER ,PROTAGONIST>>
<TELL "\"I don't understand wh">
- <COND (<EQUAL? ,P-ADJ ,W?YOUR ,W?MY>
+ <COND (<EQUAL? ,P-ADJ ,A?YOUR ,A?MY ,A?PURPOS>
<TELL "at you mean!\"" CR>
<RTRUE>)
(T
@@ -1686,9 +1714,9 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV"
T)
(T
<SETG PRSO .OBJ>
- <COND (<FSET? .OBJ ,TRYTAKEBIT>
- <SET TAKEN T>)
- (<UNTOUCHABLE? .OBJ>
+ <COND (<OR <FSET? .OBJ ,TRYTAKEBIT>
+ <UNTOUCHABLE? .OBJ>
+ ,STUNNED>
<SET TAKEN T>)
(<NOT <EQUAL? ,WINNER ,PROTAGONIST>>
<SET TAKEN <>>)
diff --git a/s6.zap b/s6.zap
index 0c8cf3a..30e842d 100644
--- a/s6.zap
+++ b/s6.zap
@@ -3,6 +3,7 @@
.INSERT "PS:<S6>S6PUR"
.INSERT "PS:<S6>MISC"
.INSERT "PS:<S6>PARSER"
+ .INSERT "PS:<S6>INTERRUPTS"
.INSERT "PS:<S6>SYNTAX"
.INSERT "PS:<S6>VERBS"
.INSERT "PS:<S6>GLOBALS"
diff --git a/s6.zil b/s6.zil
index a0bc424..b5bf420 100644
--- a/s6.zil
+++ b/s6.zil
@@ -17,6 +17,7 @@ OFF!-INITIAL ;"makes debugging possible -- pdl"
<INSERT-FILE "MISC" T>
<INSERT-FILE "PARSER" T>
+<INSERT-FILE "INTERRUPTS" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "VERBS" T>
<INSERT-FILE "GLOBALS" T>
diff --git a/s6.zip b/s6.zip
index 346e11b..f7bc433 100644
--- a/s6.zip
+++ b/s6.zip
Binary files differ
diff --git a/s6dat.zap b/s6dat.zap
index 5b63700..17f9f2c 100644
--- a/s6dat.zap
+++ b/s6dat.zap
@@ -132,170 +132,167 @@
V?$RECORD=15
V?$UNRECORD=16
V?$VERIFY=17
- V?$DEBUG=18
- V?$STATION=19
- V?$KEY=20
- V?ANSWER=21
- V?APPLAUD=22
- V?APPLY=23
- V?PUT-ON=24
- V?WALK-TO=25
- V?ASK-ABOUT=26
- V?ASK-FOR=27
- V?KILL=28
- V?ATTRACT=29
- V?BITE=30
- V?OFF=31
- V?ENTER=32
- V?BURN=33
- V?CALL=34
- V?CATCH=35
- V?WALK-AROUND=36
- V?CLIMB-UP=37
- V?CLIMB-ON=38
- V?CLIMB-DOWN=39
- V?DISEMBARK=40
- V?CRAWL-UNDER=41
- V?CLOSE=42
- V?FOLLOW=43
- V?COMFORT=44
- 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
+ V?ANSWER=18
+ V?APPLAUD=19
+ V?APPLY=20
+ V?PUT-ON=21
+ V?WALK-TO=22
+ V?ASK-ABOUT=23
+ V?ASK-FOR=24
+ V?KILL=25
+ V?ATTRACT=26
+ V?BITE=27
+ V?OFF=28
+ V?ENTER=29
+ V?BURN=30
+ V?CALL=31
+ V?CATCH=32
+ V?WALK-AROUND=33
+ V?CLIMB-UP=34
+ V?CLIMB-ON=35
+ V?CLIMB-DOWN=36
+ V?DISEMBARK=37
+ V?CRAWL-UNDER=38
+ V?CLOSE=39
+ V?FOLLOW=40
+ V?COMFORT=41
+ V?COMPARE=42
+ V?CONNECT=43
+ V?SPUT-ON=44
+ V?COUNT=45
+ V?CROSS=46
+ V?CRUMPLE=47
+ V?MUNG=48
+ V?DIG=49
+ V?DISCONNECT=50
+ V?DRESS=51
+ V?DRILL=52
+ V?DRILL-HOLE=53
+ V?DROP=54
+ V?PUT=55
+ V?EAT=56
+ V?EAT-FROM=57
+ V?EMPTY=58
+ V?EMPTY-FROM=59
+ V?IN=60
+ V?EXAMINE=61
+ V?EXERCISE=62
+ V?EXIT=63
+ V?FEED=64
+ V?GIVE=65
+ V?SGIVE=66
+ V?FILL=67
+ V?FIND=68
+ V?FIX=69
+ V?FLATTEN=70
+ V?FOOTNOTE=71
+ V?GREET=72
+ V?WALK=73
+ V?HIDE=74
+ V?LEAVE=75
+ V?GIVE-UP=76
+ V?LISTEN=77
+ V?HELLO=78
+ V?HELP=79
+ V?SAVE-SOMETHING=80
+ V?HUG=81
+ V?LEAP=82
+ V?LEAP-OFF=83
+ V?STAND-ON=84
+ V?KICK=85
+ V?KISS=86
+ V?KNOCK=87
+ V?LAUNCH=88
+ V?LIE-DOWN=89
+ V?ON=90
+ V?LOCK=91
+ V?LOOK=92
+ V?LOOK-DOWN=93
+ V?LOOK-UP=94
+ V?LOOK-INSIDE=95
+ V?LOOK-UNDER=96
+ V?LOOK-BEHIND=97
+ V?LOOK-OVER=98
+ V?CHASTISE=99
+ V?LOWER=100
+ V?MAYBE=101
+ V?MEASURE=102
+ V?MOVE=103
+ V?PUSH-DIR=104
+ V?RAISE=105
+ V?NO=106
+ V?OPEN=107
+ V?PICK=108
+ V?PICK-UP=109
+ V?PLAY-WITH=110
+ V?SPLAY-WITH=111
+ V?POINT=112
+ V?POUR=113
+ V?PRAY=114
+ V?PUSH=115
+ V?PUT-UNDER=116
+ V?REACH-IN=117
+ V?READ=118
+ V?REMOVE=119
+ V?TAKE=120
+ V?ROLL=121
+ V?SAY=122
+ V?SCARE=123
+ V?SCOLD=124
+ V?SEARCH=125
+ V?SHAKE=126
+ V?SHAKE-WITH=127
+ V?SHOOT=128
+ V?SSHOOT=129
+ V?SHOW=130
+ V?SSHOW=131
+ V?SIT=132
+ V?SKIP=133
+ V?SLEEP=134
+ V?CUT=135
+ V?SMELL=136
+ V?SPRAY=137
+ V?SSPRAY=138
+ V?STAND=139
+ V?SWRAP=140
+ V?WEAR=141
+ V?PUT-BEHIND=142
+ V?SWING=143
+ V?GET-DRESSED=144
+ V?GET-UNDRESSED=145
+ V?TAKE-WITH=146
+ V?TAKE-OFF=147
+ V?TELL=148
+ V?TOUCH=149
+ V?TASTE=150
+ V?TELL-ABOUT=151
+ V?STELL=152
+ V?THANK=153
+ V?THROW=154
+ V?THROW-TO=155
+ V?STHROW=156
+ V?TICKLE=157
+ V?TIE=158
+ V?TIME=159
+ V?SET=160
+ V?TYPE=161
+ V?UNDRESS=162
+ V?UNLOCK=163
+ V?UNTIE=164
+ V?USE=165
+ V?VALIDATE=166
+ V?WAIT=167
+ V?WAIT-FOR=168
+ V?WAIT-UNTIL=169
+ V?ALARM=170
+ V?RUN-OVER=171
+ V?CLEAN=172
+ V?WHAT=173
+ V?WHERE=174
+ V?WRAP=175
+ V?YELL=176
+ V?YES=177
+ V?ZORK=178
; PROPERTIES ARE DEFINED HERE
@@ -339,196 +336,206 @@
A?NE=250
A?SW=249
A?SE=248
- A?TOWERING=247
- A?LARGE=246
- A?SMALL=245
- 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
+ A?BIN=247
+ A?TOWERING=246
+ A?LARGE=245
+ A?SMALL=244
+ A?REC=243
+ A?PET=242
+ A?VIEW=241
+ A?DIRTY=240
+ A?RED=239
+ A?EYE-CATCHING=238
+ A?REPAIR=237
+ A?FABRICATION=236
+ A?DIAGNO=235
+ A?ROBOT=234
+ A?AUTHORIZATION=233
+ A?TOILET=232
+ A?SINK=231
+ A?SINKS=230
+ A?TUB=229
+ A?TUBS=228
+ A?BARE=227
+ A?MY=226
+ A?YOUR=225
+ A?LURKING=224
+ A?VICIOUS=223
+ A?CARNIVOROUS=222
+ A?SEEDY=221
+ A?NONREGULATION=220
+ A?UNAUTHORIZED=219
+ A?ILLEGAL=218
+ A?SPACE=217
+ A?HULL=216
+ A?ASSIGNMENT=215
+ A?COMPLETION=214
+ A?FORM=213
+ A?USE=212
+ A?CLASS=211
+ A?THREE=210
+ A?SPACECRAFT=209
+ A?ACTIVA=208
+ A?WRIST=207
+ A?PATROL=206
+ A?ID=205
+ A?IDENTIFICATION=204
+ A?FIRST=203
+ A?SECOND=202
+ A?THIRD=201
+ A?MULTIP=200
+ A?PURPOS=199
+ A?SHORT=198
+ A?NUMBER=197
+ A?SPINDLY=196
+ A?HEAVY=195
+ A?SPACETRUCK=194
+ A?COPILOT=193
+ A?PILOT=192
+ A?BAND=191
+ A?SURVIVAL=190
+ A?THERMOS=189
+ A?PLAID=188
+ A?BLUE=187
+ A?BLUEBERRY=186
+ A?WALNUT=185
+ A?HOT=184
+ A?STEAMING=183
+ A?LUKEWARM=182
+ A?COOL=181
+ A?COLD=180
+ A?GRAY=179
+ A?GREY=178
+ A?ROCK-=177
+ A?RAMOSIAN=176
+ A?ORANGE=175
+ A?APRICOT=174
+ A?TWENTY=173
+ A?OHM=172
+ A?DISPEN=171
+ A?COIN=170
+ A?VENDIN=169
+ A?DRILL=168
+ A?ALL-PURPOSE=167
+ A?CELLS=166
+ A?SYSTEM=165
+ A?MONITOR=164
+ A?GREEN=163
+ A?YELLOW=162
+ A?BLINKING=161
+ A?MESSAGE=160
+ A?FILES=159
+ A?LOG=158
+ A?STURDY=157
+ A?VALIDA=156
+ A?FUSOR=155
+ A?BEAM=154
+ A?NANOFILM=153
+ A?LILAC=152
+ A?EXERCISE=151
+ A?NAUTILUS=150
+ A?PUCE=149
+ A?SEVEN=148
+ A?POINTED=147
+ A?M-SERIES=146
+ A?M=145
+ A?SERIES=144
+ A?ETERNAL=143
+ A?BEAUTIFUL=142
+ A?WOODEN=141
+ A?PROJECTION=140
+ A?FOOD=139
+ A?PROCESSING=138
+ A?THICK=137
+ A?BROWN=136
+ A?BLACKENED=135
+ A?RECENT=134
+ A?SPOOL=133
+ A?SPOOLS=132
+ A?TRANSPARENT=131
+ A?EXOTIC=130
+ A?BUSH=129
+ A?BUSHES=128
+ A?METAL=127
+ A?STORAGE=126
+ A?AIR=125
+ A?SHAFT=124
+ A?ALIEN=123
+ A?BLACK=122
+ A?HEATING=121
+ A?MEDIUM=120
+ A?YOUNG=119
+ A?MAUVE=118
+ A?TRASH=117
+ A?GARBAGE=116
+ A?CRUMPL=115
+ A?VILLAGE=114
+ A?ENTRY=113
+ A?NEATLY=112
+ A?IRONED=111
+ A?ELEVATOR=110
+ A?CALL=109
+ A?AUTO=108
+ A?SECURITY=107
+ A?FEATURELESS=106
+ A?PRONG=105
+ A?PRONGED=104
+ A?20-PRONG=103
+ A?FROMITZ=102
+ A?ISOLATION=101
+ A?HOLDING=100
+ A?PLATO=99
+ A?POETRY=98
+ A?STUN=97
+ A?RAY=96
+ A?FORK=95
+ A?GRIMY=94
+ A?GRIME-COVERED=93
+ A?IRIS=92
+ A?CRYSTAL=91
+ A?SIMULATION=90
+ A?METALLIC=89
+ A?CYLIND=88
+ A?GLASS=87
+ A?REFLECTIVE=86
+ A?TRANS-MOLECULAR=85
+ A?PLATINUM=84
+ A?TRANSL=83
+ A?PLASTIC=82
+ A?VACUUM=81
+ A?ARCTURIAN=80
+ A?BALLOON=79
+ A?CREATURE=78
+ A?CEILIN=77
+ A?ROOF=76
+ A?OSTRICH=75
+ A?INSTRUCTION=74
+ A?TWELVE=73
+ A?12-PRONG=72
+ A?J-SERIES=71
+ A?J=70
+ A?91ST-CENTURY=69
+ A?SCRAP=68
+ A?ROULETTE=67
+ A?FIRE=66
+ A?TEXT=65
+ A?INNER=64
+ A?UPPER=63
+ A?AIRLOCK=62
+ A?OUTER=61
+ A?LOWER=60
+ A?EXPLOSIVE=59
+ A?FREZONE=58
+ A?SPRAY=57
+ A?STRONG=56
+ A?FAIRLY=55
+ A?INTOXICATED=54
+ A?INNOCUOUS=53
+ A?MAGNETIC=52
+ A?FLOATING=51
+ A?USELESS=50
+ A?RANDOM=49
+ A?JUNK=48
; BUZZ WORDS ARE DEFINED HERE
@@ -625,141 +632,138 @@
ACT?SAY=241
ACT?JUMP=240
ACT?POUR=239
- ACT?$DEBUG=238
- ACT?WAIT=237
- ACT?TAKE=236
- ACT?NO=235
- ACT?COUNT=234
- ACT?GREET=233
- ACT?RAISE=232
- ACT?CALL=231
- ACT?FOLLOW=230
- ACT?TYPE=229
- ACT?CATCH=228
- ACT?VERSION=227
- ACT?#UNRECORD=226
- ACT?EXERCISE=225
- ACT?LIGHT=224
- ACT?LIE=223
- ACT?MOVE=222
- ACT?MEASURE=221
- ACT?LET=220
- ACT?PLAY=219
- ACT?OPEN=218
- ACT?TASTE=217
- ACT?SCARE=216
- ACT?FLATTEN=215
- ACT?TOUCH=214
- ACT?#COMMAND=213
- ACT?BLOW=212
- ACT?SHOOT=211
- ACT?WRAP=210
- ACT?KNOCK=209
- ACT?INVENT=208
- ACT?PICK=207
- ACT?BOARD=206
- ACT?#RANDOM=205
- ACT?APPLY=204
- ACT?HUG=203
- ACT?PRAY=202
- ACT?STAND=201
- ACT?LISTEN=200
- ACT?TIE=199
- ACT?WHERE=198
- ACT?SHOW=197
- ACT?TAP=196
- ACT?SAVE=195
- ACT?HELP=194
- ACT?TELL=193
- ACT?THROW=192
- ACT?ZORK=191
- ACT?FEED=190
- ACT?DRESS=189
- ACT?LOWER=188
- ACT?TALK=187
- ACT?USE=186
- ACT?HIDE=185
- ACT?SHAKE=184
- ACT?ATTACK=183
- ACT?RESTOR=182
- ACT?ENTER=181
- ACT?THANKS=180
- ACT?SEARCH=179
- ACT?WEAR=178
- ACT?DISEMBARK=177
- ACT?PLUG=176
- ACT?UNTIE=175
- ACT?WASH=174
- ACT?CIRCLE=173
- ACT?$KEY=172
- ACT?UNSCRIPT=171
- 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
+ ACT?WAIT=238
+ ACT?TAKE=237
+ ACT?NO=236
+ ACT?COUNT=235
+ ACT?GREET=234
+ ACT?RAISE=233
+ ACT?CALL=232
+ ACT?FOLLOW=231
+ ACT?TYPE=230
+ ACT?CATCH=229
+ ACT?VERSION=228
+ ACT?#UNRECORD=227
+ ACT?EXERCISE=226
+ ACT?LIGHT=225
+ ACT?LIE=224
+ ACT?MOVE=223
+ ACT?MEASURE=222
+ ACT?LET=221
+ ACT?PLAY=220
+ ACT?OPEN=219
+ ACT?TASTE=218
+ ACT?SCARE=217
+ ACT?FLATTEN=216
+ ACT?TOUCH=215
+ ACT?#COMMAND=214
+ ACT?BLOW=213
+ ACT?SHOOT=212
+ ACT?WRAP=211
+ ACT?KNOCK=210
+ ACT?INVENT=209
+ ACT?PICK=208
+ ACT?BOARD=207
+ ACT?#RANDOM=206
+ ACT?APPLY=205
+ ACT?HUG=204
+ ACT?PRAY=203
+ ACT?STAND=202
+ ACT?LISTEN=201
+ ACT?TIE=200
+ ACT?WHERE=199
+ ACT?SHOW=198
+ ACT?TAP=197
+ ACT?SAVE=196
+ ACT?HELP=195
+ ACT?TELL=194
+ ACT?THROW=193
+ ACT?ZORK=192
+ ACT?FEED=191
+ ACT?DRESS=190
+ ACT?LOWER=189
+ ACT?TALK=188
+ ACT?USE=187
+ ACT?HIDE=186
+ ACT?SHAKE=185
+ ACT?ATTACK=184
+ ACT?RESTOR=183
+ ACT?ENTER=182
+ ACT?THANKS=181
+ ACT?SEARCH=180
+ ACT?WEAR=179
+ ACT?DISEMBARK=178
+ ACT?PLUG=177
+ ACT?UNTIE=176
+ ACT?WASH=175
+ ACT?CIRCLE=174
+ ACT?UNSCRIPT=173
+ ACT?CRUMPL=172
+ ACT?PUSH=171
+ ACT?SUPER=170
+ ACT?SIT=169
+ ACT?RESTAR=168
+ ACT?DISCONNECT=167
+ ACT?APPLAUD=166
+ ACT?TICKLE=165
+ ACT?UNDRES=164
+ ACT?REACH=163
+ ACT?DIG=162
+ ACT?SCORE=161
+ ACT?COMFORT=160
+ ACT?COVER=159
+ ACT?VALIDA=158
+ ACT?CONNECT=157
+ ACT?COME=156
+ ACT?LOOK=155
+ ACT?EMPTY=154
+ ACT?ATTRACT=153
+ ACT?SPRAY=152
+ ACT?DROP=151
+ ACT?COMPAR=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?DESCEN=141
+ ACT?SMELL=140
+ ACT?BRIEF=139
+ ACT?SLEEP=138
+ ACT?WAKE=137
+ ACT?REMOVE=136
+ ACT?ANSWER=135
+ ACT?WHAT=134
+ ACT?YELL=133
+ ACT?LOCK=132
+ ACT?BURN=131
+ ACT?KICK=130
+ ACT?BITE=129
+ ACT?POINT=128
+ ACT?TURN=127
+ ACT?#RECORD=126
+ ACT?CROSS=125
+ ACT?START=124
+ ACT?MAYBE=123
+ ACT?CLOSE=122
+ ACT?FIX=121
+ ACT?GO=120
+ ACT?FOOTNOTE=119
+ ACT?SLIDE=118
+ ACT?EXIT=117
+ ACT?EXAMINE=116
+ ACT?EAT=115
+ ACT?DRILL=114
+ ACT?FILL=113
+ ACT?CLIMB=112
+ ACT?LAUNCH=111
+ ACT?DEMOLI=110
+ ACT?SLICE=109
+ ACT?ASK=108
+ ACT?HELLO=107
; USER DEFINED CONSTANTS ARE INITIALIZED HERE
@@ -774,7 +778,7 @@
O-START=1
DEXITOBJ=1
P-P1OFF=5
- M-OBJDESC?=8
+ M-OBJDESC?=7
O-PTR=0
O-LENGTH=2
C-TABLELEN=60
@@ -792,7 +796,7 @@
P-PREP1=2
M-BEG=1
XDIV=3
- M-FATAL=6
+ M-FATAL=8
XGRTR?=5
NEXITSTR=0
P-SLOC2=6
@@ -806,7 +810,7 @@
SHAVE=2
DEXIT=5
P-SRCBOT=2
- M-OBJDESC=7
+ M-OBJDESC=6
SMANY=4
STAKE=8
P-SPREP2=2
@@ -918,7 +922,7 @@ OBJECT::.TABLE
.OBJECT DOCKING-BAY-2,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,SPACETRUCK,0,T?DOCKING-BAY-2
.OBJECT STORAGE-5,0,FX?RLANDBIT,ROOMS,WORKSHOP,JAMMER,T?STORAGE-5
.OBJECT ELEVATOR-SHAFT,FX?VOWELBIT,0,LOCAL-GLOBALS,ELEVATOR-OBJECT,0,T?ELEVATOR-SHAFT
- .OBJECT PANEL,FX?SEARCHBIT,FX?CONTBIT,0,0,OSTRICH-NIP,T?PANEL
+ .OBJECT PANEL,FX?SEARCHBIT,FX?CONTBIT,LOCAL-GLOBALS,IRIS-HATCH,OSTRICH-NIP,T?PANEL
.OBJECT OFFICERS-QUARTERS-A,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,SHIPPING-ROOM,0,T?OFFICERS-QUARTERS-A
.OBJECT ENGINEERING-OFFICE,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,ENGINEERING-LAB,DIARY,T?ENGINEERING-OFFICE
.OBJECT INTDIR,0,0,GLOBAL-OBJECTS,LOCAL-GLOBALS,0,T?INTDIR
@@ -1002,7 +1006,7 @@ OBJECT::.TABLE
.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 BED,FX?OPENBIT+FX?SEARCHBIT,FX?CONTBIT+FX?VEHBIT,LOCAL-GLOBALS,VILLAGE,0,T?BED
.OBJECT REX,FX?NARTICLEBIT,FX?ACTORBIT,ROBOT-POOL,HELEN,0,T?REX
.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
@@ -1038,7 +1042,7 @@ OBJECT::.TABLE
.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,IRIS-HATCH,0,T?NECTAR
+ .OBJECT NECTAR,0,FX?TAKEBIT,LOCAL-GLOBALS,PANEL,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
@@ -1078,6 +1082,7 @@ OBJECT::.TABLE
.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 VILLAGE,0,0,LOCAL-GLOBALS,CUBICLE,0,T?VILLAGE
.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
@@ -1140,7 +1145,7 @@ OBJECT::.TABLE
.OBJECT LAUNDRY,FX?NWELDERBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,GYM,PRESSER,T?LAUNDRY
.ENDT
- LAST-OBJECT=254
+ LAST-OBJECT=255
; OBJECT PROPERTY TABLES ARE DEFINED HERE
@@ -1160,7 +1165,7 @@ T?CHRONOMETER:: .TABLE ; TABLE FOR OBJECT CHRONOMETER
CHRONOMETER-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 10
+ 8
.BYTE 0
.ENDT
@@ -1179,7 +1184,7 @@ T?GAME:: .TABLE ; TABLE FOR OBJECT GAME
W?HUCKA
W?HIDER
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?92
+ STR?94
.BYTE 0
.ENDT
@@ -1192,15 +1197,18 @@ T?TIMER:: .TABLE ; TABLE FOR OBJECT TIMER
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
TIMER-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 10
.BYTE 0
.ENDT
T?AUXILIARY-BARRACKS:: .TABLE ; TABLE FOR OBJECT AUXILIARY-BARRACKS
.STRL "Auxiliary Barracks"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?255
+ STR?263
.PROP 2,P?NE ; STRING PROPERTY
- STR?255
+ STR?263
.PROP 1,P?EAST
.BYTE AUXILIARY-SANFAC
.PROP 4,P?SOUTH ; CONDITIONAL EXIT
@@ -1208,15 +1216,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?255
+ STR?263
.PROP 2,P?NW ; STRING PROPERTY
- STR?255
+ STR?263
.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?274
+ STR?283
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1233,7 +1241,9 @@ T?REC-SHOP:: .TABLE ; TABLE FOR OBJECT REC-SHOP
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?333
+ STR?343
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -1252,7 +1262,7 @@ T?SOUTH-JUNCTION:: .TABLE ; TABLE FOR OBJECT SOUTH-JUNCTION
.PROP 1,P?NW
.BYTE LEVEL-FIVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?239
+ STR?248
.BYTE 0
.ENDT
@@ -1286,6 +1296,9 @@ T?KEY:: .TABLE ; TABLE FOR OBJECT KEY
.STRL "key"
.PROP 2,P?SYNONYM
W?KEY
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 3
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
7
@@ -1302,7 +1315,7 @@ T?PAPER-RECYCLING-PLANT:: .TABLE ; TABLE FOR OBJECT PAPER-RECYCLING-PLANT
PAPER-RECYCLING-PLANT-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?295
+ STR?305
.PROP 1,P?GLOBAL
.BYTE EQUIPMENT
.BYTE 0
@@ -1348,9 +1361,10 @@ T?LEVEL-THREE:: .TABLE ; TABLE FOR OBJECT LEVEL-THREE
T?MAUVE-SPOOL:: .TABLE ; TABLE FOR OBJECT MAUVE-SPOOL
.STRL "mauve nanofilm spool"
- .PROP 4,P?SYNONYM
+ .PROP 6,P?SYNONYM
W?NANOFILM
W?SPOOL
+ W?SPOOLS
.PROP 2,P?ADJECTIVE
.BYTE A?NANOFILM
.BYTE A?MAUVE
@@ -1358,7 +1372,7 @@ T?MAUVE-SPOOL:: .TABLE ; TABLE FOR OBJECT MAUVE-SPOOL
3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?294
+ STR?304
.BYTE 0
.ENDT
@@ -1414,8 +1428,11 @@ T?SPRAY-CAN:: .TABLE ; TABLE FOR OBJECT SPRAY-CAN
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
SPRAY-CAN-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 8
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?370
+ STR?381
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-CAN-F
@@ -1438,7 +1455,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?235
+ STR?244
.PROP 5,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -1465,7 +1482,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?290
+ STR?300
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1486,9 +1503,9 @@ T?THEATRE:: .TABLE ; TABLE FOR OBJECT THEATRE
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?263
+ STR?271
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?12
+ PT?13
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -1514,7 +1531,9 @@ T?MAYORS-OFFICE:: .TABLE ; TABLE FOR OBJECT MAYORS-OFFICE
.PROP 1,P?OUT
.BYTE MAIN-STREET
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?359
+ STR?370
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -1542,7 +1561,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?268
+ STR?277
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -1558,7 +1577,7 @@ T?DICE:: .TABLE ; TABLE FOR OBJECT DICE
DICE-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 3
.BYTE 0
.ENDT
@@ -1580,9 +1599,9 @@ T?FLOYD:: .TABLE ; TABLE FOR OBJECT FLOYD
FLOYD-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?167
+ STR?175
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?168
+ STR?176
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
5
@@ -1599,7 +1618,9 @@ T?FILE-ROOM:: .TABLE ; TABLE FOR OBJECT FILE-ROOM
.PROP 1,P?OUT
.BYTE SOUTH-JUNCTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?241
+ STR?250
+ .PROP 2,P?THINGS ; STRING PROPERTY
+ PT?9
.BYTE 0
.ENDT
@@ -1637,7 +1658,9 @@ T?LOAN-SHARK:: .TABLE ; TABLE FOR OBJECT LOAN-SHARK
.PROP 1,P?OUT
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?371
+ STR?382
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -1648,8 +1671,9 @@ T?PET-STORE:: .TABLE ; TABLE FOR OBJECT PET-STORE
.PROP 1,P?SE
.BYTE TRADING-POST
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?347
- .PROP 1,P?GLOBAL
+ STR?357
+ .PROP 2,P?GLOBAL
+ .BYTE VILLAGE
.BYTE SIGN
.BYTE 0
.ENDT
@@ -1687,7 +1711,7 @@ T?STORAGE-5:: .TABLE ; TABLE FOR OBJECT STORAGE-5
.PROP 1,P?OUT
.BYTE NORTH-CONNECTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?226
+ STR?235
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -1702,6 +1726,9 @@ T?ELEVATOR-SHAFT:: .TABLE ; TABLE FOR OBJECT ELEVATOR-SHAFT
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
ELEVATOR-OBJECT-F
+ .PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
+
+ GENERIC-SHAFT-F
.BYTE 0
.ENDT
@@ -1719,7 +1746,7 @@ T?PANEL:: .TABLE ; TABLE FOR OBJECT PANEL
20
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?348
+ STR?358
.BYTE 0
.ENDT
@@ -1736,7 +1763,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?289
+ STR?299
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1753,7 +1780,7 @@ T?ENGINEERING-OFFICE:: .TABLE ; TABLE FOR OBJECT ENGINEERING-OFFICE
.PROP 1,P?OUT
.BYTE ENGINEERING-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?303
+ STR?313
.PROP 1,P?GLOBAL
.BYTE DESK
.BYTE 0
@@ -1785,7 +1812,7 @@ T?SCIENTISTS-QUARTERS:: .TABLE ; TABLE FOR OBJECT SCIENTISTS-QUARTERS
.PROP 1,P?OUT
.BYTE ASTRO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?309
+ STR?319
.PROP 3,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -1807,6 +1834,9 @@ T?DETONATOR:: .TABLE ; TABLE FOR OBJECT DETONATOR
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
DETONATOR-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 10
.BYTE 0
.ENDT
@@ -1834,7 +1864,7 @@ T?AUXILIARY-SANFAC:: .TABLE ; TABLE FOR OBJECT AUXILIARY-SANFAC
.PROP 1,P?OUT
.BYTE AUXILIARY-BARRACKS
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?275
+ STR?284
.PROP 1,P?GLOBAL
.BYTE FIXTURES
.BYTE 0
@@ -1848,14 +1878,15 @@ T?GRIMY-PASSAGE:: .TABLE ; TABLE FOR OBJECT GRIMY-PASSAGE
.PROP 1,P?SOUTH
.BYTE MAIN-STREET
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?356
- .PROP 1,P?GLOBAL
+ STR?366
+ .PROP 2,P?GLOBAL
+ .BYTE VILLAGE
.BYTE IRIS-HATCH
.BYTE 0
.ENDT
T?OUTER-AIRLOCK-DOOR:: .TABLE ; TABLE FOR OBJECT OUTER-AIRLOCK-DOOR
- .STRL "outer airlock door"
+ .STRL "outer door"
.PROP 4,P?SYNONYM
W?DOOR
W?HATCH
@@ -1905,7 +1936,7 @@ T?SOUTH-CONNECTION:: .TABLE ; TABLE FOR OBJECT SOUTH-CONNECTION
SOUTH-CONNECTION-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?11
+ PT?12
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE IRIS-HATCH
@@ -1930,7 +1961,7 @@ T?BRIG:: .TABLE ; TABLE FOR OBJECT BRIG
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?236
+ STR?245
.PROP 2,P?THINGS ; STRING PROPERTY
PT?6
.PROP 1,P?GLOBAL
@@ -2032,7 +2063,7 @@ T?CARGO-BAY-ENTRANCE:: .TABLE ; TABLE FOR OBJECT CARGO-BAY-ENTRANCE
.PROP 1,P?WEST
.BYTE DECK-TWELVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?166
+ STR?174
.BYTE 0
.ENDT
@@ -2050,7 +2081,7 @@ T?VOLUME:: .TABLE ; TABLE FOR OBJECT VOLUME
VOLUME-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?312
+ STR?322
.BYTE 0
.ENDT
@@ -2061,7 +2092,9 @@ T?PAWN-SHOP:: .TABLE ; TABLE FOR OBJECT PAWN-SHOP
.PROP 1,P?OUT
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?369
+ STR?380
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2095,7 +2128,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?250
+ STR?258
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2134,12 +2167,12 @@ T?SMALL-BIT:: .TABLE ; TABLE FOR OBJECT SMALL-BIT
BIT-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
+ STR?243
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 4
+ 2
.BYTE 0
.ENDT
@@ -2154,7 +2187,7 @@ T?DRYER:: .TABLE ; TABLE FOR OBJECT DRYER
50
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?260
+ STR?268
.BYTE 0
.ENDT
@@ -2167,7 +2200,8 @@ T?FLOPHOUSE:: .TABLE ; TABLE FOR OBJECT FLOPHOUSE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
FLOPHOUSE-F
- .PROP 1,P?GLOBAL
+ .PROP 2,P?GLOBAL
+ .BYTE VILLAGE
.BYTE BED
.BYTE 0
.ENDT
@@ -2181,6 +2215,9 @@ T?PLATINUM-DETECTOR:: .TABLE ; TABLE FOR OBJECT PLATINUM-DETECTOR
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
PLATINUM-DETECTOR-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 15
.BYTE 0
.ENDT
@@ -2194,7 +2231,7 @@ T?PALLETS:: .TABLE ; TABLE FOR OBJECT PALLETS
PALLETS-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?165
+ STR?173
.BYTE 0
.ENDT
@@ -2214,10 +2251,11 @@ T?STATION-CONTROL:: .TABLE ; TABLE FOR OBJECT STATION-CONTROL
T?FPU:: .TABLE ; TABLE FOR OBJECT FPU
.STRL "Food Processing and Dispensing Unit"
- .PROP 6,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?UNIT
W?FPU
W?FDU
+ W?DISPEN
.PROP 3,P?ADJECTIVE
.BYTE A?FOOD
.BYTE A?PROCESSING
@@ -2264,7 +2302,7 @@ T?ASTRO-OFFICE:: .TABLE ; TABLE FOR OBJECT ASTRO-OFFICE
.PROP 1,P?OUT
.BYTE ASTRO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?303
+ STR?313
.PROP 1,P?GLOBAL
.BYTE DESK
.BYTE 0
@@ -2280,9 +2318,10 @@ T?JUNK-YARD:: .TABLE ; TABLE FOR OBJECT JUNK-YARD
JUNK-YARD-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?389
- .PROP 1,P?GLOBAL
+ STR?400
+ .PROP 2,P?GLOBAL
.BYTE GARBAGE
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2331,9 +2370,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?278
+ STR?287
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?277
+ STR?286
.BYTE 0
.ENDT
@@ -2346,9 +2385,9 @@ 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?276
+ STR?285
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?14
+ PT?15
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2370,9 +2409,12 @@ T?SCULPTURE:: .TABLE ; TABLE FOR OBJECT SCULPTURE
T?ID-READER:: .TABLE ; TABLE FOR OBJECT ID-READER
.STRL "ID reader"
- .PROP 2,P?SYNONYM
+ .PROP 4,P?SYNONYM
W?READER
- .PROP 1,P?ADJECTIVE
+ W?BOX
+ .PROP 3,P?ADJECTIVE
+ .BYTE A?FEATURELESS
+ .BYTE A?BLACK
.BYTE A?ID
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
@@ -2381,7 +2423,7 @@ T?ID-READER:: .TABLE ; TABLE FOR OBJECT ID-READER
.ENDT
T?INNER-AIRLOCK-DOOR:: .TABLE ; TABLE FOR OBJECT INNER-AIRLOCK-DOOR
- .STRL "inner airlock door"
+ .STRL "inner door"
.PROP 4,P?SYNONYM
W?DOOR
W?HATCH
@@ -2420,9 +2462,9 @@ T?ID-CARD:: .TABLE ; TABLE FOR OBJECT ID-CARD
.BYTE A?IDENTIFICATION
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 3
+ 2
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?163
+ STR?171
.BYTE 0
.ENDT
@@ -2440,14 +2482,11 @@ T?DIODE-J:: .TABLE ; TABLE FOR OBJECT DIODE-J
DIODE-J-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
- .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
-
- 5
+ STR?243
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?352
+ STR?362
.BYTE 0
.ENDT
@@ -2462,8 +2501,11 @@ T?BOOTS:: .TABLE ; TABLE FOR OBJECT BOOTS
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
BOOTS-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 20
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?390
+ STR?401
.BYTE 0
.ENDT
@@ -2507,7 +2549,7 @@ T?WORKSHOP:: .TABLE ; TABLE FOR OBJECT WORKSHOP
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?223
+ STR?232
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE EQUIPMENT
@@ -2532,7 +2574,7 @@ T?COMMANDERS-OFFICE:: .TABLE ; TABLE FOR OBJECT COMMANDERS-OFFICE
COMMANDERS-OFFICE-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?9
+ PT?10
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2550,11 +2592,13 @@ T?OLIVER:: .TABLE ; TABLE FOR OBJECT OLIVER
OLIVER-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?286
+ STR?296
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?285
+ STR?295
+ .PROP 2,P?LDESC ; STRING PROPERTY
+ STR?294
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?284
+ STR?293
.BYTE 0
.ENDT
@@ -2601,10 +2645,13 @@ T?EXPLOSIVE:: .TABLE ; TABLE FOR OBJECT EXPLOSIVE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
EXPLOSIVE-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?368
+ STR?379
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?367
+ STR?378
.BYTE 0
.ENDT
@@ -2618,7 +2665,7 @@ T?PRINTING-PLANT:: .TABLE ; TABLE FOR OBJECT PRINTING-PLANT
.PROP 1,P?UP
.BYTE LEVEL-SIX
.PROP 2,P?DOWN ; STRING PROPERTY
- STR?293
+ STR?303
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
PRINTING-PLANT-F
@@ -2639,17 +2686,17 @@ T?MALE-BARRACKS:: .TABLE ; TABLE FOR OBJECT MALE-BARRACKS
.PROP 1,P?NE
.BYTE BARRACKS-SANFAC
.PROP 2,P?SE ; STRING PROPERTY
- STR?255
+ STR?263
.PROP 2,P?SOUTH ; STRING PROPERTY
- STR?255
+ STR?263
.PROP 2,P?SW ; STRING PROPERTY
- STR?255
+ STR?263
.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?256
+ STR?264
.PROP 5,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -2666,9 +2713,11 @@ T?RECRUITMENT-OFFICE:: .TABLE ; TABLE FOR OBJECT RECRUITMENT-OFFICE
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?332
+ STR?342
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?18
+ PT?19
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2681,7 +2730,9 @@ T?SALOON:: .TABLE ; TABLE FOR OBJECT SALOON
.PROP 1,P?NW
.BYTE GROCERY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?353
+ STR?363
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2708,7 +2759,9 @@ T?FIELD-OFFICE:: .TABLE ; TABLE FOR OBJECT FIELD-OFFICE
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?339
+ STR?349
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2727,6 +2780,9 @@ T?CLASS-THREE-SPACECRAFT-ACTIVATION-FORM:: .TABLE ; TABLE FOR OBJECT CLASS-THR
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
FORM-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 1
.BYTE 0
.ENDT
@@ -2741,7 +2797,7 @@ T?ARMORY:: .TABLE ; TABLE FOR OBJECT ARMORY
.BYTE P-WON ; FLAG NAME
0 ; NO STRING
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?251
+ STR?259
.PROP 1,P?GLOBAL
.BYTE SECURITY-DOOR
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
@@ -2771,21 +2827,25 @@ T?BIO-LAB:: .TABLE ; TABLE FOR OBJECT BIO-LAB
.PROP 1,P?DOWN
.BYTE HOLDING-TANK-LEVEL
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?306
+ STR?316
.BYTE 0
.ENDT
T?OSTRICH:: .TABLE ; TABLE FOR OBJECT OSTRICH
.STRL "ostrich"
- .PROP 6,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?OSTRICH
W?PET
W?BIRD
+ W?PILE
+ .PROP 2,P?ADJECTIVE
+ .BYTE A?LARGE
+ .BYTE A?INTOXICATED
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
OSTRICH-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?375
+ STR?386
.BYTE 0
.ENDT
@@ -2797,12 +2857,12 @@ T?BEDISTOR:: .TABLE ; TABLE FOR OBJECT BEDISTOR
.BYTE A?TWENTY
.BYTE A?OHM
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?225
+ STR?234
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 8
+ 5
.BYTE 0
.ENDT
@@ -2821,7 +2881,7 @@ T?NORTH-JUNCTION:: .TABLE ; TABLE FOR OBJECT NORTH-JUNCTION
.PROP 1,P?SW
.BYTE LEVEL-FIVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?228
+ STR?237
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -2892,7 +2952,9 @@ T?MISSIONARY:: .TABLE ; TABLE FOR OBJECT MISSIONARY
.PROP 1,P?OUT
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?365
+ STR?376
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2910,6 +2972,9 @@ T?GRATING:: .TABLE ; TABLE FOR OBJECT GRATING
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
GRATING-F
+ .PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
+
+ GENERIC-SHAFT-F
.BYTE 0
.ENDT
@@ -2927,15 +2992,16 @@ T?EXERCISE-MACHINE:: .TABLE ; TABLE FOR OBJECT EXERCISE-MACHINE
100
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?258
+ STR?266
.BYTE 0
.ENDT
T?PUCE-SPOOL:: .TABLE ; TABLE FOR OBJECT PUCE-SPOOL
.STRL "puce nanofilm spool"
- .PROP 4,P?SYNONYM
+ .PROP 6,P?SYNONYM
W?NANOFILM
W?SPOOL
+ W?SPOOLS
.PROP 2,P?ADJECTIVE
.BYTE A?NANOFILM
.BYTE A?PUCE
@@ -2943,7 +3009,7 @@ T?PUCE-SPOOL:: .TABLE ; TABLE FOR OBJECT PUCE-SPOOL
3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?262
+ STR?270
.BYTE 0
.ENDT
@@ -2954,7 +3020,7 @@ 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?315
+ STR?325
.PROP 1,P?GLOBAL
.BYTE GRATING
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
@@ -2973,7 +3039,9 @@ T?BARBERSHOP:: .TABLE ; TABLE FOR OBJECT BARBERSHOP
BARBERSHOP-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?19
+ PT?20
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -2987,8 +3055,9 @@ T?SHADY-DANS:: .TABLE ; TABLE FOR OBJECT SHADY-DANS
SHADY-DANS-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?22
- .PROP 2,P?GLOBAL
+ PT?23
+ .PROP 3,P?GLOBAL
+ .BYTE VILLAGE
.BYTE KEYPAD
.BYTE WINDOW
.BYTE 0
@@ -3003,7 +3072,7 @@ T?AIR-SHAFT:: .TABLE ; TABLE FOR OBJECT AIR-SHAFT
.WORD AIR-SHAFT-MOVEMENT-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?316
+ STR?326
.BYTE 0
.ENDT
@@ -3044,8 +3113,9 @@ T?COMM-CENTER:: .TABLE ; TABLE FOR OBJECT COMM-CENTER
T?BED:: .TABLE ; TABLE FOR OBJECT BED
.STRL "bed"
- .PROP 2,P?SYNONYM
+ .PROP 4,P?SYNONYM
W?BED
+ W?BEDS
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
BED-F
@@ -3067,7 +3137,7 @@ T?REX:: .TABLE ; TABLE FOR OBJECT REX
REX-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?205
+ STR?213
.BYTE 0
.ENDT
@@ -3095,9 +3165,10 @@ T?TWELVE-PRONG-FROMITZ-BOARD:: .TABLE ; TABLE FOR OBJECT TWELVE-PRONG-FROMITZ-
W?BOARD
W?BOARDS
W?PRONGS
- .PROP 5,P?ADJECTIVE
+ .PROP 6,P?ADJECTIVE
.BYTE A?TWELVE
.BYTE A?PRONG
+ .BYTE A?PRONGED
.BYTE A?12-PRONG
.BYTE A?FROMITZ
.BYTE A?NUMBER
@@ -3105,9 +3176,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?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
+ STR?243
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-FROMITZ-BOARD-F
@@ -3125,9 +3196,9 @@ T?SAFE:: .TABLE ; TABLE FOR OBJECT SAFE
SAFE-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?248
+ STR?256
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?247
+ STR?255
.BYTE 0
.ENDT
@@ -3176,7 +3247,7 @@ T?PX:: .TABLE ; TABLE FOR OBJECT PX
.PROP 1,P?WEST
.BYTE NORTH-CONNECTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?230
+ STR?239
.PROP 2,P?THINGS ; STRING PROPERTY
PT?5
.PROP 1,P?GLOBAL
@@ -3187,19 +3258,19 @@ T?PX:: .TABLE ; TABLE FOR OBJECT PX
T?DOME:: .TABLE ; TABLE FOR OBJECT DOME
.STRL "Dome"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?271
+ STR?280
.PROP 3,P?EAST
.WORD ELEVATOR-ENTER-F
.BYTE 0
.PROP 2,P?SOUTH ; STRING PROPERTY
- STR?271
+ STR?280
.PROP 1,P?DOWN
.BYTE MESS-HALL
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
DOME-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?13
+ PT?14
.PROP 6,P?GLOBAL
.BYTE CALL-BUTTON
.BYTE GRATING
@@ -3221,9 +3292,10 @@ T?MAKESHIFT-CONNECTOR:: .TABLE ; TABLE FOR OBJECT MAKESHIFT-CONNECTOR
.WORD VILLAGE-BOUNDARY-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?328
- .PROP 1,P?GLOBAL
+ STR?338
+ .PROP 2,P?GLOBAL
.BYTE IRIS-HATCH
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -3234,9 +3306,9 @@ T?PAPER:: .TABLE ; TABLE FOR OBJECT PAPER
W?PIECE
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?361
+ STR?372
.BYTE 0
.ENDT
@@ -3259,7 +3331,7 @@ T?LIBRARY:: .TABLE ; TABLE FOR OBJECT LIBRARY
.PROP 1,P?WEST
.BYTE MESS-HALL
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?269
+ STR?278
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -3294,7 +3366,7 @@ T?ORANGE-GOO:: .TABLE ; TABLE FOR OBJECT ORANGE-GOO
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?222
+ STR?231
.BYTE 0
.ENDT
@@ -3311,10 +3383,10 @@ T?TRASH-CAN:: .TABLE ; TABLE FOR OBJECT TRASH-CAN
TRASH-CAN-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 30
+ 25
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
- 50
+ 40
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-CAN-F
@@ -3338,8 +3410,9 @@ T?TRADING-POST:: .TABLE ; TABLE FOR OBJECT TRADING-POST
.PROP 1,P?DOWN
.BYTE WAREHOUSE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?349
- .PROP 1,P?GLOBAL
+ STR?359
+ .PROP 2,P?GLOBAL
+ .BYTE VILLAGE
.BYTE SIGN
.BYTE 0
.ENDT
@@ -3360,7 +3433,7 @@ T?HELEN:: .TABLE ; TABLE FOR OBJECT HELEN
HELEN-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?204
+ STR?212
.BYTE 0
.ENDT
@@ -3382,7 +3455,7 @@ T?CRUMPLED-FORM:: .TABLE ; TABLE FOR OBJECT CRUMPLED-FORM
VILLAGE-FORM-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.BYTE 0
.ENDT
@@ -3391,7 +3464,7 @@ T?FORM-STORAGE-ROOM:: .TABLE ; TABLE FOR OBJECT FORM-STORAGE-ROOM
.PROP 1,P?NORTH
.BYTE DECK-TWELVE
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?164
+ STR?172
.PROP 2,P?THINGS ; STRING PROPERTY
PT?2
.BYTE 0
@@ -3407,6 +3480,9 @@ T?STAR:: .TABLE ; TABLE FOR OBJECT STAR
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
STAR-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 8
.BYTE 0
.ENDT
@@ -3416,9 +3492,10 @@ T?TWENTY-PRONG-FROMITZ-BOARD:: .TABLE ; TABLE FOR OBJECT TWENTY-PRONG-FROMITZ-
W?BOARD
W?BOARDS
W?PRONGS
- .PROP 5,P?ADJECTIVE
+ .PROP 6,P?ADJECTIVE
.BYTE A?TWENTY
.BYTE A?PRONG
+ .BYTE A?PRONGED
.BYTE A?20-PRONG
.BYTE A?FROMITZ
.BYTE A?NUMBER
@@ -3426,9 +3503,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?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
+ STR?243
.PROP 2,P?GENERIC ; ATOM (CONSTANT) PROPERTY
GENERIC-FROMITZ-BOARD-F
@@ -3456,8 +3533,11 @@ T?HEADLAMP:: .TABLE ; TABLE FOR OBJECT HEADLAMP
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
HEADLAMP-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 8
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?340
+ STR?350
.BYTE 0
.ENDT
@@ -3475,7 +3555,7 @@ T?TAFFY:: .TABLE ; TABLE FOR OBJECT TAFFY
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?346
+ STR?356
.BYTE 0
.ENDT
@@ -3504,7 +3584,8 @@ T?AIRLOCK:: .TABLE ; TABLE FOR OBJECT AIRLOCK
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
AIRLOCK-F
- .PROP 3,P?GLOBAL
+ .PROP 4,P?GLOBAL
+ .BYTE VILLAGE
.BYTE INNER-AIRLOCK-DOOR
.BYTE OUTER-AIRLOCK-DOOR
.BYTE AIRLOCK-OBJECT
@@ -3520,7 +3601,7 @@ T?EAST-JUNCTION:: .TABLE ; TABLE FOR OBJECT EAST-JUNCTION
.PROP 1,P?NW
.BYTE NORTH-JUNCTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?238
+ STR?247
.BYTE 0
.ENDT
@@ -3528,9 +3609,10 @@ T?NANOFILM-READER:: .TABLE ; TABLE FOR OBJECT NANOFILM-READER
.STRL "nanofilm reader"
.PROP 2,P?SYNONYM
W?READER
- .PROP 2,P?ADJECTIVE
+ .PROP 3,P?ADJECTIVE
.BYTE A?NANOFILM
.BYTE A?SPOOL
+ .BYTE A?SPOOLS
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
NANOFILM-READER-F
@@ -3544,8 +3626,9 @@ T?OPIUM-DEN:: .TABLE ; TABLE FOR OBJECT OPIUM-DEN
.PROP 1,P?OUT
.BYTE CASINO
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?354
- .PROP 1,P?GLOBAL
+ STR?364
+ .PROP 2,P?GLOBAL
+ .BYTE VILLAGE
.BYTE SIGN
.BYTE 0
.ENDT
@@ -3573,9 +3656,11 @@ T?DOC-SCHUSTER:: .TABLE ; TABLE FOR OBJECT DOC-SCHUSTER
DOC-SCHUSTER-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?374
+ STR?385
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?21
+ PT?22
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -3585,11 +3670,11 @@ T?NOTE:: .TABLE ; TABLE FOR OBJECT NOTE
W?NOTE
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?308
+ STR?318
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?307
+ STR?317
.BYTE 0
.ENDT
@@ -3667,7 +3752,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?280
+ STR?289
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -3681,11 +3766,14 @@ T?PLASTIC-BAG:: .TABLE ; TABLE FOR OBJECT PLASTIC-BAG
.BYTE A?SMALL
.BYTE A?TRANSL
.BYTE A?PLASTIC
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 4
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
10
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?345
+ STR?355
.BYTE 0
.ENDT
@@ -3705,7 +3793,7 @@ T?NECTAR:: .TABLE ; TABLE FOR OBJECT NECTAR
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?358
+ STR?368
.BYTE 0
.ENDT
@@ -3736,7 +3824,7 @@ T?ALIEN-SHIP:: .TABLE ; TABLE FOR OBJECT ALIEN-SHIP
ALIEN-SHIP-F
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?15
+ PT?16
.BYTE 0
.ENDT
@@ -3763,9 +3851,9 @@ T?INSTRUCTION-SHEET:: .TABLE ; TABLE FOR OBJECT INSTRUCTION-SHEET
.BYTE A?INSTRUCTION
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?350
+ STR?360
.BYTE 0
.ENDT
@@ -3787,7 +3875,9 @@ T?SIGN:: .TABLE ; TABLE FOR OBJECT SIGN
.STRL "sign"
.PROP 2,P?SYNONYM
W?SIGN
- .PROP 1,P?ADJECTIVE
+ .PROP 3,P?ADJECTIVE
+ .BYTE A?LARGE
+ .BYTE A?RED
.BYTE A?EYE-CATCHING
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
@@ -3830,9 +3920,9 @@ T?COMPUTER-CONTROL:: .TABLE ; TABLE FOR OBJECT COMPUTER-CONTROL
.WORD COMPUTER-CONTROL-EXIT-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?319
+ STR?329
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?17
+ PT?18
.PROP 5,P?GLOBAL
.BYTE CALL-BUTTON
.BYTE ELEVATOR-OBJECT
@@ -3866,7 +3956,7 @@ T?ASTRO-LAB:: .TABLE ; TABLE FOR OBJECT ASTRO-LAB
.PROP 1,P?DOWN
.BYTE ENGINEERING-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?305
+ STR?315
.BYTE 0
.ENDT
@@ -3879,18 +3969,18 @@ T?LOG-TAPE:: .TABLE ; TABLE FOR OBJECT LOG-TAPE
.PROP 1,P?ADJECTIVE
.BYTE A?LOG
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?246
+ STR?254
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?245
+ STR?253
.BYTE 0
.ENDT
T?FEMALE-BARRACKS:: .TABLE ; TABLE FOR OBJECT FEMALE-BARRACKS
.STRL "Female Barracks"
.PROP 2,P?NORTH ; STRING PROPERTY
- STR?255
+ STR?263
.PROP 2,P?NE ; STRING PROPERTY
- STR?255
+ STR?263
.PROP 1,P?SE
.BYTE BARRACKS-SANFAC
.PROP 4,P?SW ; CONDITIONAL EXIT
@@ -3898,9 +3988,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?255
+ STR?263
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?254
+ STR?262
.PROP 5,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -3917,9 +4007,9 @@ T?SHIPPING-ROOM:: .TABLE ; TABLE FOR OBJECT SHIPPING-ROOM
.PROP 1,P?OUT
.BYTE END-OF-CORRIDOR
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?288
+ STR?298
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?16
+ PT?17
.PROP 1,P?GLOBAL
.BYTE SIGN
.BYTE 0
@@ -3958,7 +4048,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?265
+ STR?274
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -3971,7 +4061,9 @@ T?FORTUNE-TELLER:: .TABLE ; TABLE FOR OBJECT FORTUNE-TELLER
.PROP 1,P?OUT
.BYTE BROADWAY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?331
+ STR?341
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -3988,7 +4080,7 @@ T?STRONG-BOX:: .TABLE ; TABLE FOR OBJECT STRONG-BOX
STRONG-BOX-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?372
+ STR?383
.BYTE 0
.ENDT
@@ -4002,7 +4094,7 @@ T?SKELETON:: .TABLE ; TABLE FOR OBJECT SKELETON
SKELETON-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?279
+ STR?288
.BYTE 0
.ENDT
@@ -4017,7 +4109,9 @@ T?GROCERY:: .TABLE ; TABLE FOR OBJECT GROCERY
.PROP 1,P?SOUTH
.BYTE TRADING-POST
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?344
+ STR?354
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4055,7 +4149,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?292
+ STR?302
.PROP 1,P?GLOBAL
.BYTE FIXTURES
.BYTE 0
@@ -4072,7 +4166,7 @@ T?ENGINEERING-LAB:: .TABLE ; TABLE FOR OBJECT ENGINEERING-LAB
.PROP 1,P?DOWN
.BYTE BIO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?302
+ STR?312
.BYTE 0
.ENDT
@@ -4085,8 +4179,9 @@ T?GREASY-STRAW:: .TABLE ; TABLE FOR OBJECT GREASY-STRAW
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
GREASY-STRAW-F
- .PROP 1,P?GLOBAL
+ .PROP 2,P?GLOBAL
.BYTE SIGN
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4101,9 +4196,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?244
+ STR?252
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?10
+ PT?11
.PROP 6,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE BED
@@ -4129,7 +4224,8 @@ T?VACUUM-STORAGE:: .TABLE ; TABLE FOR OBJECT VACUUM-STORAGE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
VACUUM-STORAGE-F
- .PROP 2,P?GLOBAL
+ .PROP 3,P?GLOBAL
+ .BYTE VILLAGE
.BYTE OUTER-AIRLOCK-DOOR
.BYTE AIRLOCK-OBJECT
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
@@ -4175,7 +4271,7 @@ T?GRAY-GOO:: .TABLE ; TABLE FOR OBJECT GRAY-GOO
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?221
+ STR?230
.BYTE 0
.ENDT
@@ -4191,9 +4287,9 @@ T?LARGE-BIT:: .TABLE ; TABLE FOR OBJECT LARGE-BIT
BIT-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
+ STR?243
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
4
@@ -4207,7 +4303,7 @@ T?TUBE:: .TABLE ; TABLE FOR OBJECT TUBE
.PROP 1,P?SOUTH
.BYTE NORTH-CONNECTION
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?301
+ STR?311
.BYTE 0
.ENDT
@@ -4237,6 +4333,8 @@ T?INTNUM:: .TABLE ; TABLE FOR OBJECT INTNUM
W?ONE
W?TWO
W?THREE
+ .PROP 1,P?ADJECTIVE
+ .BYTE A?BIN
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
INTNUM-F
@@ -4271,22 +4369,29 @@ T?BOOK:: .TABLE ; TABLE FOR OBJECT BOOK
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
BOOK-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 8
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?360
+ STR?371
.BYTE 0
.ENDT
T?GARBAGE:: .TABLE ; TABLE FOR OBJECT GARBAGE
.STRL "garbage"
- .PROP 6,P?SYNONYM
+ .PROP 8,P?SYNONYM
W?GARBAGE
W?JUNK
+ W?TRASH
W?PILE
- .PROP 4,P?ADJECTIVE
+ .PROP 7,P?ADJECTIVE
.BYTE A?LARGE
.BYTE A?FLOATING
.BYTE A?USELESS
.BYTE A?RANDOM
+ .BYTE A?JUNK
+ .BYTE A?GARBAGE
+ .BYTE A?TRASH
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
GARBAGE-F
@@ -4312,7 +4417,7 @@ T?BARRACKS-SANFAC:: .TABLE ; TABLE FOR OBJECT BARRACKS-SANFAC
.PROP 1,P?SOUTH
.BYTE MALE-BARRACKS
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?257
+ STR?265
.PROP 1,P?GLOBAL
.BYTE FIXTURES
.BYTE 0
@@ -4330,6 +4435,22 @@ T?SLEEP:: .TABLE ; TABLE FOR OBJECT SLEEP
.BYTE 0
.ENDT
+T?VILLAGE:: .TABLE ; TABLE FOR OBJECT VILLAGE
+ .STRL "village"
+ .PROP 2,P?SYNONYM
+ W?VILLAGE
+ .PROP 5,P?ADJECTIVE
+ .BYTE A?SEEDY
+ .BYTE A?NONREGULATION
+ .BYTE A?UNAUTHORIZED
+ .BYTE A?ILLEGAL
+ .BYTE A?SPACE
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ VILLAGE-F
+ .BYTE 0
+ .ENDT
+
T?DISPENSER:: .TABLE ; TABLE FOR OBJECT DISPENSER
.STRL "dispenser"
.PROP 4,P?SYNONYM
@@ -4342,7 +4463,7 @@ T?DISPENSER:: .TABLE ; TABLE FOR OBJECT DISPENSER
DISPENSER-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?231
+ STR?240
.BYTE 0
.ENDT
@@ -4371,7 +4492,7 @@ T?DECK-TWELVE:: .TABLE ; TABLE FOR OBJECT DECK-TWELVE
.WORD FAKE-DOOR-ENTER-F
.BYTE 0
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?161
+ STR?169
.PROP 2,P?THINGS ; STRING PROPERTY
PT?1
.BYTE 0
@@ -4411,8 +4532,9 @@ T?WAREHOUSE:: .TABLE ; TABLE FOR OBJECT WAREHOUSE
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
WAREHOUSE-F
- .PROP 3,P?GLOBAL
+ .PROP 4,P?GLOBAL
.BYTE SIGN
+ .BYTE VILLAGE
.BYTE INNER-AIRLOCK-DOOR
.BYTE AIRLOCK-OBJECT
.BYTE 0
@@ -4439,8 +4561,11 @@ T?DIARY:: .TABLE ; TABLE FOR OBJECT DIARY
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
DIARY-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 8
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?304
+ STR?314
.BYTE 0
.ENDT
@@ -4451,7 +4576,7 @@ T?BIO-OFFICE:: .TABLE ; TABLE FOR OBJECT BIO-OFFICE
.PROP 1,P?OUT
.BYTE BIO-LAB
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?303
+ STR?313
.PROP 1,P?GLOBAL
.BYTE DESK
.BYTE 0
@@ -4484,11 +4609,11 @@ T?FOIL:: .TABLE ; TABLE FOR OBJECT FOIL
FOIL-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?342
+ STR?352
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?343
+ STR?353
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?341
+ STR?351
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
4
@@ -4502,7 +4627,9 @@ T?BANK:: .TABLE ; TABLE FOR OBJECT BANK
.PROP 1,P?NW
.BYTE TRAVEL-AGENCY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?362
+ STR?373
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4513,9 +4640,11 @@ T?TRAVEL-AGENCY:: .TABLE ; TABLE FOR OBJECT TRAVEL-AGENCY
.PROP 1,P?SE
.BYTE BANK
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?363
+ STR?374
.PROP 2,P?THINGS ; STRING PROPERTY
- PT?20
+ PT?21
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4538,7 +4667,7 @@ T?VILLAGE-FORM:: .TABLE ; TABLE FOR OBJECT VILLAGE-FORM
VILLAGE-FORM-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.BYTE 0
.ENDT
@@ -4557,7 +4686,7 @@ T?ASSIGNMENT-COMPLETION-FORM:: .TABLE ; TABLE FOR OBJECT ASSIGNMENT-COMPLETION
FORM-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.BYTE 0
.ENDT
@@ -4572,7 +4701,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?267
+ STR?276
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -4588,7 +4717,7 @@ T?ID-CHANGER:: .TABLE ; TABLE FOR OBJECT ID-CHANGER
ID-CHANGER-F
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?377
+ STR?388
.BYTE 0
.ENDT
@@ -4599,7 +4728,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?252
+ STR?260
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -4656,15 +4785,16 @@ T?ALLEY:: .TABLE ; TABLE FOR OBJECT ALLEY
.PROP 1,P?SW
.BYTE PAWN-SHOP
.PROP 2,P?WEST ; STRING PROPERTY
- STR?330
+ STR?340
.PROP 1,P?NW
.BYTE MAIN-STREET
.PROP 1,P?UP
.BYTE MAIN-STREET
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?364
- .PROP 1,P?GLOBAL
+ STR?375
+ .PROP 2,P?GLOBAL
.BYTE GARBAGE
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4682,7 +4812,7 @@ T?ROBOT-SHOP:: .TABLE ; TABLE FOR OBJECT ROBOT-SHOP
ROBOT-SHOP-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?282
+ STR?291
.PROP 2,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE EQUIPMENT
@@ -4719,12 +4849,9 @@ T?DIODE-M:: .TABLE ; TABLE FOR OBJECT DIODE-M
.BYTE A?M
.BYTE A?SERIES
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
- .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
-
- 5
+ STR?243
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
7
@@ -4736,9 +4863,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?323
+ STR?333
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?322
+ STR?332
.PROP 1,P?GLOBAL
.BYTE ELEVATOR-SHAFT
.BYTE 0
@@ -4754,7 +4881,9 @@ T?STUDIO:: .TABLE ; TABLE FOR OBJECT STUDIO
STUDIO-F
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?351
+ STR?361
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4798,7 +4927,9 @@ T?MAIN-STREET:: .TABLE ; TABLE FOR OBJECT MAIN-STREET
.PROP 1,P?DOWN
.BYTE ALLEY
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?357
+ STR?367
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4814,9 +4945,10 @@ T?AIRLOCK-OBJECT:: .TABLE ; TABLE FOR OBJECT AIRLOCK-OBJECT
T?LILAC-SPOOL:: .TABLE ; TABLE FOR OBJECT LILAC-SPOOL
.STRL "lilac nanofilm spool"
- .PROP 4,P?SYNONYM
+ .PROP 6,P?SYNONYM
W?NANOFILM
W?SPOOL
+ W?SPOOLS
.PROP 2,P?ADJECTIVE
.BYTE A?NANOFILM
.BYTE A?LILAC
@@ -4824,7 +4956,7 @@ T?LILAC-SPOOL:: .TABLE ; TABLE FOR OBJECT LILAC-SPOOL
3
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?253
+ STR?261
.BYTE 0
.ENDT
@@ -4868,6 +5000,9 @@ T?PATROL-UNIFORM:: .TABLE ; TABLE FOR OBJECT PATROL-UNIFORM
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
PATROL-UNIFORM-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 8
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
10
@@ -4884,7 +5019,8 @@ T?SPACETRUCK:: .TABLE ; TABLE FOR OBJECT SPACETRUCK
SPACETRUCK-F
.PROP 2,P?THINGS ; STRING PROPERTY
PT?4
- .PROP 4,P?GLOBAL
+ .PROP 5,P?GLOBAL
+ .BYTE VILLAGE
.BYTE WINDOW
.BYTE KEYPAD
.BYTE SPACETRUCK-OBJECT
@@ -4905,7 +5041,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?229
+ STR?238
.PROP 1,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE 0
@@ -4926,6 +5062,8 @@ T?CASINO:: .TABLE ; TABLE FOR OBJECT CASINO
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
CASINO-F
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -4938,6 +5076,9 @@ T?JAMMER:: .TABLE ; TABLE FOR OBJECT JAMMER
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
JAMMER-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 15
.PROP 2,P?CAPACITY ; INTEGER/CONSTANT PROPERTY
10
@@ -4952,6 +5093,9 @@ T?ZAPGUN:: .TABLE ; TABLE FOR OBJECT ZAPGUN
.PROP 2,P?ADJECTIVE
.BYTE A?FUSOR
.BYTE A?BEAM
+ .PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
+
+ ZAPGUN-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
15
@@ -4968,6 +5112,9 @@ T?OSTRICH-NIP:: .TABLE ; TABLE FOR OBJECT OSTRICH-NIP
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
OSTRICH-NIP-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 4
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
3
@@ -4981,7 +5128,7 @@ T?EVERYONE:: .TABLE ; TABLE FOR OBJECT EVERYONE
W?EVERYBODY
W?CREW
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?91
+ STR?93
.BYTE 0
.ENDT
@@ -5006,7 +5153,7 @@ T?SOUP:: .TABLE ; TABLE FOR OBJECT SOUP
GENERIC-FOOD-F
.PROP 2,P?FOOD-DESC ; STRING PROPERTY
- STR?220
+ STR?228
.BYTE 0
.ENDT
@@ -5027,11 +5174,13 @@ T?BROADWAY:: .TABLE ; TABLE FOR OBJECT BROADWAY
.PROP 1,P?WEST
.BYTE MAKESHIFT-CONNECTOR
.PROP 2,P?NW ; STRING PROPERTY
- STR?330
+ STR?340
.PROP 1,P?DOWN
.BYTE FORTUNE-TELLER
.PROP 2,P?LDESC ; STRING PROPERTY
- STR?329
+ STR?339
+ .PROP 1,P?GLOBAL
+ .BYTE VILLAGE
.BYTE 0
.ENDT
@@ -5051,9 +5200,9 @@ T?LETTER:: .TABLE ; TABLE FOR OBJECT LETTER
W?LETTER
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 2
+ 1
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?376
+ STR?387
.BYTE 0
.ENDT
@@ -5064,8 +5213,11 @@ T?DRILL:: .TABLE ; TABLE FOR OBJECT DRILL
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
DRILL-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 15
.PROP 2,P?FDESC ; STRING PROPERTY
- STR?296
+ STR?306
.BYTE 0
.ENDT
@@ -5107,7 +5259,7 @@ T?HOUSING:: .TABLE ; TABLE FOR OBJECT HOUSING
HOUSING-F
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?272
+ STR?281
.BYTE 0
.ENDT
@@ -5118,8 +5270,10 @@ T?END-OF-CORRIDOR:: .TABLE ; TABLE FOR OBJECT END-OF-CORRIDOR
.BYTE SECURITY-DOOR ; DOOR NAME
.WORD 0
.BYTE 0 ; STRING TO PRINT
- .PROP 1,P?EAST
- .BYTE SHIPPING-ROOM
+ .PROP 4,P?EAST ; CONDITIONAL EXIT
+ .BYTE SHIPPING-ROOM ; ROOM NAME
+ .BYTE P-WON ; FLAG NAME
+ 0 ; NO STRING
.PROP 4,P?SOUTH ; CONDITIONAL EXIT
.BYTE OFFICERS-QUARTERS-C ; ROOM NAME
.BYTE P-WON ; FLAG NAME
@@ -5133,7 +5287,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?281
+ STR?290
.PROP 3,P?GLOBAL
.BYTE AUTO-DOOR
.BYTE SECURITY-DOOR
@@ -5154,7 +5308,7 @@ T?MEDIUM-BIT:: .TABLE ; TABLE FOR OBJECT MEDIUM-BIT
BIT-F
.PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
- 4
+ 3
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
3
@@ -5170,9 +5324,9 @@ T?PLATO:: .TABLE ; TABLE FOR OBJECT PLATO
PLATO-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?310
+ STR?320
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?311
+ STR?321
.BYTE 0
.ENDT
@@ -5190,6 +5344,9 @@ T?ROBOT-USE-AUTHORIZATION-FORM:: .TABLE ; TABLE FOR OBJECT ROBOT-USE-AUTHORIZA
.PROP 2,P?ACTION ; ATOM (CONSTANT) PROPERTY
FORM-F
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 1
.BYTE 0
.ENDT
@@ -5206,7 +5363,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?291
+ STR?301
.PROP 5,P?GLOBAL
.BYTE BED
.BYTE CUBICLE
@@ -5234,8 +5391,11 @@ T?COIN:: .TABLE ; TABLE FOR OBJECT COIN
.PROP 4,P?SYNONYM
W?COIN
W?GALAKMID
+ .PROP 2,P?SIZE ; INTEGER/CONSTANT PROPERTY
+
+ 2
.PROP 2,P?TEXT ; STRING PROPERTY
- STR?373
+ STR?384
.PROP 2,P?VALUE ; INTEGER/CONSTANT PROPERTY
5
@@ -5254,29 +5414,29 @@ T?BLACKENED-DIODE:: .TABLE ; TABLE FOR OBJECT BLACKENED-DIODE
BLACKENED-DIODE-F
.PROP 2,P?PLATO-ASK-ABOUT ; STRING PROPERTY
- STR?224
+ STR?233
.PROP 2,P?FLOYD-ASK-ABOUT ; STRING PROPERTY
- STR?234
+ STR?243
.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?318
+ STR?328
.PROP 2,P?EAST ; STRING PROPERTY
- STR?318
+ STR?328
.PROP 2,P?SOUTH ; STRING PROPERTY
- STR?318
+ STR?328
.PROP 2,P?WEST ; STRING PROPERTY
- STR?318
+ STR?328
.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?317
+ STR?327
.PROP 1,P?GLOBAL
.BYTE GRATING
.BYTE 0
@@ -5318,25 +5478,26 @@ GLOBAL::.TABLE
.GVAR P-END-ON-PREP=0
.GVAR READ-A-FOOTNOTE=0
.GVAR P-PHR=0
- .GVAR YOULL-HAVE-TO=STR?115,STRING
+ .GVAR YOULL-HAVE-TO=STR?117,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 CLUTTERED-BUBBLE=STR?154,STRING
+ .GVAR FORM-REJECTED=STR?151,STRING
+ .GVAR HUH=STR?128,STRING
.GVAR ZAPGUN-FOOTNOTE=0
.GVAR P-BUTS=T?18,TABLE
.GVAR WELDER-COUNTER=0
.GVAR ID-RANK=6
- .GVAR PERIOD-CR=STR?121,STRING
+ .GVAR PERIOD-CR=STR?123,STRING
+ .GVAR WONT-BUDGE=STR?167,STRING
.GVAR SUIT-PRESSED=0
.GVAR P-HIM-OBJECT=0
- .GVAR FLOYD-OFF-DESC=STR?132,STRING
+ .GVAR FLOYD-OFF-DESC=STR?134,STRING
.GVAR P-ACLAUSE=0
.GVAR HO-HUM-LIST=T?22,TABLE
.GVAR WELDER-TABLE-POINTER=0
- .GVAR NEXT-TIME=STR?136,STRING
+ .GVAR NEXT-TIME=STR?138,STRING
.GVAR P-SLOCBITS=0
- .GVAR RESTAURANT-SIGN-TEXT=STR?140,STRING
+ .GVAR RESTAURANT-SIGN-TEXT=STR?142,STRING
.GVAR P-MATCHLEN=0
.GVAR P-ADVERB=0
.GVAR SLEEPY-LEVEL=0
@@ -5344,9 +5505,10 @@ GLOBAL::.TABLE
.GVAR P-NAMW=T?14,TABLE
.GVAR P-OTBL=T?11,TABLE
.GVAR C-MAXINTS=60
- .GVAR ROBOT-POOL-EQUIPMENT-DESC=STR?133,STRING
+ .GVAR ROBOT-POOL-EQUIPMENT-DESC=STR?135,STRING
.GVAR P-NAM=0
.GVAR C-TABLE=T?1,TABLE
+ .GVAR REFER-TO-BIN=STR?164,STRING
.GVAR OSTRICH-COMMENT=0
.GVAR P-XNAM=0
.GVAR P-MOBY-FOUND=0
@@ -5354,16 +5516,18 @@ GLOBAL::.TABLE
.GVAR P-WALK-DIR=0
.GVAR FLOYD-FOLLOW=0
.GVAR P-ANAM=0
- .GVAR DANS-LOT-DESC=STR?143,STRING
+ .GVAR DANS-LOT-DESC=STR?145,STRING
.GVAR ID-RANK-LIST=T?35,TABLE
.GVAR CLOCK-HAND=0
.GVAR MESSAGE-RECEIVED=0
- .GVAR SENILITY-STRIKES=STR?120,STRING
- .GVAR LFC=STR?142,STRING
+ .GVAR CALLOUS-DISREGARD=STR?163,STRING
+ .GVAR SENILITY-STRIKES=STR?122,STRING
+ .GVAR LFC=STR?144,STRING
.GVAR THERMOS-FILLED-WITH-GAS=0
.GVAR CROSSED-BOUNDARY=0
.GVAR LAST-PSEUDO-LOC=0
- .GVAR FORM-NAME=STR?134,STRING
+ .GVAR SCRAMBLED-FOOTNOTE=0
+ .GVAR FORM-NAME=STR?136,STRING
.GVAR SPRAY-COUNTER=12
.GVAR MIRROR-BROKEN=0
.GVAR P-CONT=0
@@ -5374,14 +5538,14 @@ GLOBAL::.TABLE
.GVAR P-DIRECTION=0
.GVAR DRYER-COUNTER=0
.GVAR RESERVE-INBUF=T?7,TABLE
- .GVAR CANT-GO=STR?127,STRING
+ .GVAR CANT-GO=STR?129,STRING
.GVAR DETECTOR-COUNTER=0
.GVAR IMPOSSIBLE-LIST=T?24,TABLE
- .GVAR NOT-HUNGRY=STR?131,STRING
- .GVAR PATHETIC-SQUAWK=STR?156,STRING
- .GVAR BLASTED-OPEN=STR?135,STRING
+ .GVAR NOT-HUNGRY=STR?133,STRING
+ .GVAR PATHETIC-SQUAWK=STR?158,STRING
+ .GVAR BLASTED-OPEN=STR?137,STRING
.GVAR LIT=1
- .GVAR NOUN-MISSING=STR?118,STRING
+ .GVAR NOUN-MISSING=STR?120,STRING
.GVAR DRILL-FOOTNOTE=0
.GVAR ROULETTE-TURNED=0
.GVAR P-VTBL=T?12,TABLE
@@ -5390,7 +5554,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 MAKE-OUT-AN-M=STR?159,STRING
.GVAR JAMMER-SETTING=337
.GVAR P-ADJ=0
.GVAR P-LEN=0
@@ -5399,37 +5563,37 @@ GLOBAL::.TABLE
.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 LADDER-LEADS=STR?161,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 STRIKE-POWER-SOURCE=STR?141,STRING
+ .GVAR SUBLIMES-INTO-FREZONE=STR?152,STRING
+ .GVAR AT-SECOND-GLANCE=STR?155,STRING
+ .GVAR TANGLE-OF-TUBES=STR?166,STRING
.GVAR ANNOUNCEMENT-COUNTER=0
.GVAR FACTORYISMS=T?33,TABLE
- .GVAR TOO-DARK=STR?109,STRING
- .GVAR DEBUG=0
+ .GVAR TOO-DARK=STR?111,STRING
.GVAR PRSO=0
.GVAR HANGING-IN-AIR=0
.GVAR LOG-COUNTER=0
- .GVAR FLAME-EXTINGUISHED=STR?141,STRING
+ .GVAR FLAME-EXTINGUISHED=STR?143,STRING
.GVAR P-MERGED=0
.GVAR SNIFFED=0
.GVAR P-GWIMBIT=0
.GVAR WELDER-TABLE=T?27,TABLE
- .GVAR DOME-DESC=STR?138,STRING
- .GVAR YOU-CANT=STR?114,STRING
+ .GVAR DOME-DESC=STR?140,STRING
+ .GVAR YOU-CANT=STR?116,STRING
.GVAR MELT-COUNTER=0
- .GVAR DETACH=STR?155,STRING
+ .GVAR DETACH=STR?157,STRING
.GVAR LOG-READER-COUNTER=0
- .GVAR FAILED=STR?124,STRING
+ .GVAR FAILED=STR?126,STRING
.GVAR NEUTRAL-FLOYDISMS=T?29,TABLE
.GVAR AIR-SHAFT-LOC=2
.GVAR P-SYNTAX=0
.GVAR DICE-FOOTNOTE=0
- .GVAR FLOYD-NOT-HAVE=STR?129,STRING
+ .GVAR FLOYD-NOT-HAVE=STR?131,STRING
.GVAR ASSIGNMENT-FORM-VALIDATED=0
.GVAR TIMER-CONNECTED=0
.GVAR P-XADJ=0
@@ -5437,38 +5601,42 @@ GLOBAL::.TABLE
.GVAR FLOYD-SHOT=0
.GVAR P-AADJ=0
.GVAR HUNGER-LEVEL=0
- .GVAR ELLIPSIS=STR?122,STRING
+ .GVAR ELLIPSIS=STR?124,STRING
.GVAR PRSA=0
.GVAR P-PRSA-WORD=0
- .GVAR YOU-SEE=STR?112,STRING
+ .GVAR YOU-SEE=STR?114,STRING
.GVAR EXERCISE-MACHINE-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 FORM-ACCEPTED=STR?150,STRING
.GVAR ID-SCRAMBLED=0
- .GVAR HEAR-WELDER-LEAVE=STR?146,STRING
- .GVAR YNH=STR?110,STRING
+ .GVAR HEAR-WELDER-LEAVE=STR?148,STRING
+ .GVAR YNH=STR?112,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?111,STRING
- .GVAR NO-LONGER-ATTACHED=STR?147,STRING
- .GVAR DIAL-SETTING=0
+ .GVAR THERES-NOTHING=STR?113,STRING
+ .GVAR NO-LONGER-ATTACHED=STR?149,STRING
+ .GVAR FLOYDS-HANGING-IN-AIR-COMMENT=STR?165,STRING
+ .GVAR DIAL-SETTING=4473
.GVAR INTERNAL-MOVES=0
.GVAR P-INBUF=T?6,TABLE
- .GVAR IT-SEEMS-THAT=STR?113,STRING
+ .GVAR FLOYD-SNIFFS=STR?168,STRING
+ .GVAR IT-SEEMS-THAT=STR?115,STRING
+ .GVAR OSTRICH-FOOTNOTE=0
.GVAR BALLOON-COMMENT=0
.GVAR P-MERGE=T?19,TABLE
.GVAR P-WON=0
.GVAR SIMULATIONS=T?34,TABLE
.GVAR GRATING-LOOSE=0
+ .GVAR STUNNED=0
.GVAR P-OVTBL=T?13,TABLE
.GVAR BLATHER-PROB=0
- .GVAR LOOK-AROUND=STR?116,STRING
+ .GVAR LOOK-AROUND=STR?118,STRING
.GVAR DIODE-CLEANED=0
.GVAR SKELETON-COMMENT=0
.GVAR ROBOT-EVILNESS=0
@@ -5479,27 +5647,28 @@ GLOBAL::.TABLE
.GVAR P-TABLE=0
.GVAR P-GETFLAGS=0
.GVAR DAY=1
- .GVAR VIOLATION-OF-ACT=STR?145,STRING
+ .GVAR VIOLATION-OF-ACT=STR?147,STRING
.GVAR P-OCL2=T?21,TABLE
.GVAR OOPS-INBUF=T?8,TABLE
.GVAR EXPLOSIVE-CONNECTED=0
.GVAR P-NUMBER=0
- .GVAR UNFAMILIAR=STR?151,STRING
+ .GVAR UNFAMILIAR=STR?153,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?117,STRING
+ .GVAR HOLDING-IT=STR?119,STRING
.GVAR AGAIN-DIR=0
- .GVAR HOPPING-MAD=STR?137,STRING
+ .GVAR HOPPING-MAD=STR?139,STRING
+ .GVAR PILOT-SEAT-COMMENT=0
.GVAR RADIO-LINES=T?32,TABLE
.GVAR WASTE-LIST=T?25,TABLE
- .GVAR NOTHING-HAPPENS=STR?123,STRING
+ .GVAR NOTHING-HAPPENS=STR?125,STRING
.GVAR HANGING-COMMENT=0
.GVAR PLATOISMS=T?31,TABLE
.GVAR AWAITING-REPLY=0
- .GVAR EXAMINE-BOARD=STR?130,STRING
+ .GVAR EXAMINE-BOARD=STR?132,STRING
.GVAR P-IT-OBJECT=0
.GVAR P-OCL1=T?20,TABLE
.GVAR PLATO-INTRODUCED=0
@@ -5507,20 +5676,20 @@ GLOBAL::.TABLE
.GVAR RESERVE-PTR=0
.GVAR TIMER-SETTING=0
.GVAR D-BIT=0
- .GVAR TOO-LONG-TO-WAIT=STR?160,STRING
+ .GVAR TOO-LONG-TO-WAIT=STR?162,STRING
.GVAR FLOYD-SPOKE=0
- .GVAR ONLY-BLACKNESS=STR?119,STRING
+ .GVAR ONLY-BLACKNESS=STR?121,STRING
.GVAR FORKLIFT-COUNTER=0
- .GVAR ALREADY-IS=STR?128,STRING
- .GVAR FORKLIFT-DESC=STR?154,STRING
+ .GVAR ALREADY-IS=STR?130,STRING
+ .GVAR FORKLIFT-DESC=STR?156,STRING
.GVAR OLIVER-SPEECH=0
.GVAR BALLOON-ODOR=0
- .GVAR LANDS-ON-FLOOR=STR?158,STRING
+ .GVAR LANDS-ON-FLOOR=STR?160,STRING
.GVAR P-NOT-HERE=0
.GVAR ELIMINATE-CR=0
.GVAR FLOYD-TOLD=0
- .GVAR ALREADY-IN-MODE=STR?144,STRING
- .GVAR OK=STR?125,STRING
+ .GVAR ALREADY-IN-MODE=STR?146,STRING
+ .GVAR OK=STR?127,STRING
.GVAR NUMBER-OF-WELDERS=4
.GVAR P-NCN=0
.GVAR YUK-LIST=T?23,TABLE
@@ -6902,55 +7071,55 @@ T?22::
T?HO-HUM-LIST:: .TABLE
4
0
- STR?69
- STR?70
STR?71
+ STR?72
+ STR?73
.ENDT
T?23::
T?YUK-LIST:: .TABLE
7
0
- STR?72
- STR?73
STR?74
STR?75
STR?76
STR?77
+ STR?78
+ STR?79
.ENDT
T?24::
T?IMPOSSIBLE-LIST:: .TABLE
6
0
- STR?72
- STR?78
- STR?79
+ STR?74
STR?80
STR?81
+ STR?82
+ STR?83
.ENDT
T?25::
T?WASTE-LIST:: .TABLE
6
0
- STR?82
- STR?83
STR?84
STR?85
STR?86
+ STR?87
+ STR?88
.ENDT
T?26::
T?DREAMS:: .TABLE
7
0
- STR?99
- STR?100
STR?101
STR?102
STR?103
STR?104
+ STR?105
+ STR?106
.ENDT
T?27::
@@ -6966,25 +7135,17 @@ T?28::
T?GOOD-FLOYDISMS:: .TABLE
6
0
- STR?170
- STR?171
- STR?172
- STR?173
- STR?174
+ STR?178
+ STR?179
+ STR?180
+ STR?181
+ STR?182
.ENDT
T?29::
T?NEUTRAL-FLOYDISMS:: .TABLE
16
0
- STR?175
- STR?176
- STR?177
- STR?178
- STR?179
- STR?180
- STR?181
- STR?182
STR?183
STR?184
STR?185
@@ -6992,75 +7153,83 @@ T?NEUTRAL-FLOYDISMS:: .TABLE
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
+ .ENDT
+
+T?30::
+T?BAD-FLOYDISMS:: .TABLE
+ 6
+ 0
STR?198
STR?199
STR?200
STR?201
STR?202
+ .ENDT
+
+T?31::
+T?PLATOISMS:: .TABLE
+ 10
+ 0
STR?203
+ STR?204
+ STR?205
+ STR?206
+ STR?207
+ STR?208
+ STR?209
+ STR?210
+ STR?211
.ENDT
T?32::
T?RADIO-LINES:: .TABLE
4
0
- STR?208
- STR?209
- STR?210
+ STR?216
+ STR?217
+ STR?218
.ENDT
T?33::
T?FACTORYISMS:: .TABLE
4
0
- STR?324
- STR?325
- STR?326
+ STR?334
+ STR?335
+ STR?336
.ENDT
T?34::
T?SIMULATIONS:: .TABLE
6
0
- STR?334
- STR?335
- STR?336
- STR?337
- STR?338
+ STR?344
+ STR?345
+ STR?346
+ STR?347
+ STR?348
.ENDT
T?35::
T?ID-RANK-LIST:: .TABLE
- STR?380
- STR?381
- STR?382
- STR?383
- STR?384
- STR?142
- STR?385
- STR?386
- STR?387
- STR?388
+ STR?391
+ STR?392
+ STR?393
+ STR?394
+ STR?395
+ STR?144
+ STR?396
+ STR?397
+ STR?398
+ STR?399
.ENDT
@@ -7090,7 +7259,6 @@ VTBL:: .TABLE
ST?SAY
ST?JUMP
ST?POUR
- ST?$DEBUG
ST?WAIT
ST?TAKE
ST?NO
@@ -7156,7 +7324,6 @@ VTBL:: .TABLE
ST?UNTIE
ST?WASH
ST?CIRCLE
- ST?$KEY
ST?UNSCRIPT
ST?CRUMPL
ST?PUSH
@@ -7189,7 +7356,6 @@ VTBL:: .TABLE
ST?$VERIFY
ST?EXTINGUISH
ST?SWING
- ST?$STATION
ST?DESCEN
ST?SMELL
ST?BRIEF
@@ -7761,18 +7927,6 @@ ST?POUR:: .TABLE
.BYTE V?POUR
.ENDT
-ST?$DEBUG:: .TABLE
- .BYTE 1 ;NUMBER OF SYNTAXES
- .BYTE 0 ;OBJECTS
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE V?$DEBUG
- .ENDT
-
ST?WAIT:: .TABLE
.BYTE 3 ;NUMBER OF SYNTAXES
.BYTE 1 ;OBJECTS
@@ -8677,7 +8831,7 @@ ST?SHOW:: .TABLE
.BYTE ACTORBIT
.BYTE 0
.BYTE 0
- .BYTE SH+SMANY
+ .BYTE SH+SMANY+SHAVE
.BYTE V?SSHOW
.BYTE 2 ;OBJECTS
.BYTE 0
@@ -9193,18 +9347,6 @@ ST?CIRCLE:: .TABLE
.BYTE V?WALK-AROUND
.ENDT
-ST?$KEY:: .TABLE
- .BYTE 1 ;NUMBER OF SYNTAXES
- .BYTE 0 ;OBJECTS
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE V?$KEY
- .ENDT
-
ST?UNSCRIPT:: .TABLE
.BYTE 1 ;NUMBER OF SYNTAXES
.BYTE 0 ;OBJECTS
@@ -9485,7 +9627,7 @@ ST?COVER:: .TABLE
.BYTE 0
.BYTE 0
.BYTE 0
- .BYTE SH+SMANY
+ .BYTE SH+SMANY+SHAVE
.BYTE V?SPUT-ON
.ENDT
@@ -9997,18 +10139,6 @@ ST?SWING:: .TABLE
.BYTE V?SWING
.ENDT
-ST?$STATION:: .TABLE
- .BYTE 1 ;NUMBER OF SYNTAXES
- .BYTE 0 ;OBJECTS
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE 0
- .BYTE V?$STATION
- .ENDT
-
ST?DESCEN:: .TABLE
.BYTE 1 ;NUMBER OF SYNTAXES
.BYTE 1 ;OBJECTS
@@ -10907,9 +11037,6 @@ ATBL:: .TABLE
V-$RECORD
V-$UNRECORD
V-$VERIFY
- V-$DEBUG
- V-$STATION
- V-$KEY
V-ANSWER
V-APPLAUD
V-APPLY
@@ -11097,9 +11224,6 @@ PATBL:: .TABLE
0
0
0
- 0
- 0
- 0
PRE-PUT
0
0
@@ -11322,19 +11446,7 @@ VOCAB:: .TABLE
.BYTE 44
.BYTE 34
.BYTE 7
- 780
-W?$DEBUG:: .ZWORD "$debug"
- .BYTE PS?VERB+P1?VERB
- .BYTE ACT?$DEBUG
- .BYTE 0
-W?$KEY:: .ZWORD "$key"
- .BYTE PS?VERB+P1?VERB
- .BYTE ACT?$KEY
- .BYTE 0
-W?$STATION:: .ZWORD "$stati"
- .BYTE PS?VERB+P1?VERB
- .BYTE ACT?$STATION
- .BYTE 0
+ 789
W?$VERIFY:: .ZWORD "$verif"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?$VERIFY
@@ -11579,6 +11691,10 @@ W?BEDISTOR:: .ZWORD "bedist"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?BEDS:: .ZWORD "beds"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
W?BEHIND:: .ZWORD "behind"
.BYTE PS?PREPOSITION+P1?OBJECT
.BYTE PR?BEHIND
@@ -12211,6 +12327,10 @@ W?FDU:: .ZWORD "fdu"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
.BYTE 0
+W?FEATURELESS:: .ZWORD "featur"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?FEATURELESS
+ .BYTE 0
W?FEED:: .ZWORD "feed"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?FEED
@@ -12223,6 +12343,14 @@ W?FIGHT:: .ZWORD "fight"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?ATTACK
.BYTE 0
+W?FILE:: .ZWORD "file"
+ .BYTE PS?OBJECT+P1?OBJECT
+ .BYTE 0
+ .BYTE 0
+W?FILES:: .ZWORD "files"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?FILES
+ .BYTE 0
W?FILL:: .ZWORD "fill"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?FILL
@@ -12651,6 +12779,10 @@ W?INTO:: .ZWORD "into"
.BYTE PS?PREPOSITION+P1?OBJECT
.BYTE PR?IN
.BYTE 0
+W?INTOXICATED:: .ZWORD "intoxi"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?INTOXICATED
+ .BYTE 0
W?INVENT:: .ZWORD "invent"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?INVENT
@@ -12696,8 +12828,8 @@ W?JUMP:: .ZWORD "jump"
.BYTE ACT?JUMP
.BYTE 0
W?JUNK:: .ZWORD "junk"
- .BYTE PS?OBJECT+P1?OBJECT
- .BYTE 0
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?JUNK
.BYTE 0
W?JZ-59-G:: .ZWORD "jz-59-"
.BYTE PS?OBJECT+P1?OBJECT
@@ -12891,6 +13023,10 @@ W?MEGAKRIP:: .ZWORD "megakr"
.BYTE PS?BUZZ-WORD
.BYTE B?MEGAKRIP
.BYTE 0
+W?MESSAGE:: .ZWORD "messag"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?MESSAGE
+ .BYTE 0
W?METAL:: .ZWORD "metal"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?METAL
@@ -12983,6 +13119,10 @@ W?NO:: .ZWORD "no"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?NO
.BYTE 0
+W?NONREGULATION:: .ZWORD "nonreg"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?NONREGULATION
+ .BYTE 0
W?NOPE:: .ZWORD "nope"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?NO
@@ -13255,6 +13395,10 @@ W?PRONG:: .ZWORD "prong"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?PRONG
.BYTE 0
+W?PRONGED:: .ZWORD "pronge"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?PRONGED
+ .BYTE 0
W?PRONGS:: .ZWORD "prongs"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -13531,6 +13675,10 @@ W?SECURITY:: .ZWORD "securi"
.BYTE PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?SECURITY
.BYTE 0
+W?SEEDY:: .ZWORD "seedy"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?SEEDY
+ .BYTE 0
W?SEEK:: .ZWORD "seek"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?FIND
@@ -13771,6 +13919,10 @@ W?SPOOL:: .ZWORD "spool"
.BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?SPOOL
.BYTE 0
+W?SPOOLS:: .ZWORD "spools"
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?SPOOLS
+ .BYTE 0
W?SPOT:: .ZWORD "spot"
.BYTE PS?OBJECT+P1?OBJECT
.BYTE 0
@@ -14092,7 +14244,7 @@ W?TRAP:: .ZWORD "trap"
.BYTE ACT?CATCH
.BYTE 0
W?TRASH:: .ZWORD "trash"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?TRASH
.BYTE 0
W?TREMENDOUS:: .ZWORD "tremen"
@@ -14151,6 +14303,14 @@ W?UH-UH:: .ZWORD "uh-uh"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?NO
.BYTE 0
+W?UNAUTHORIZED:: .ZWORD "unauth"
+ .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE A?UNAUTHORIZED
+ .BYTE 0
+W?UNCREASE:: .ZWORD "uncrea"
+ .BYTE PS?VERB+P1?VERB
+ .BYTE ACT?FLATTEN
+ .BYTE 0
W?UNCRUMPLE:: .ZWORD "uncrum"
.BYTE PS?VERB+P1?VERB
.BYTE ACT?FLATTEN
@@ -14260,7 +14420,7 @@ W?VIEWPORT:: .ZWORD "viewpo"
.BYTE 0
.BYTE 0
W?VILLAGE:: .ZWORD "villag"
- .BYTE PS?ADJECTIVE+P1?ADJECTIVE
+ .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE
.BYTE A?VILLAGE
.BYTE 0
W?VOLUME:: .ZWORD "volume"
diff --git a/s6pur.zap b/s6pur.zap
index 8d88fe3..5021508 100644
--- a/s6pur.zap
+++ b/s6pur.zap
@@ -15,7 +15,7 @@ PT?1:: .TABLE
.ENDT
PT?2::
-PT?16:: .TABLE
+PT?17:: .TABLE
6
W?FORM
0
@@ -75,7 +75,7 @@ PT?6:: .TABLE
.ENDT
PT?7::
-PT?11:: .TABLE
+PT?12:: .TABLE
3
W?SLOT
0
@@ -88,88 +88,119 @@ PT?8:: .TABLE
W?RED
COMM-BUTTON-F
W?SCREEN
- 0
+ W?MESSAGE
SCREEN-F
.ENDT
PT?9:: .TABLE
+ 9
+ W?FILE
+ W?FILES
+ FILES-F
+ W?FORM
+ 0
+ FILES-F
+ W?FORMS
+ 0
+ FILES-F
+ .ENDT
+
+PT?10:: .TABLE
3
W?BUTTON
W?RED
LOG-READER-BUTTON-F
.ENDT
-PT?10:: .TABLE
+PT?11:: .TABLE
3
W?DIAL
0
DIAL-F
.ENDT
-PT?12:: .TABLE
- 6
+PT?13:: .TABLE
+ 9
W?SEAT
0
THEATRE-SEAT-F
W?BOOTH
W?PROJECTION
PROJECTION-BOOTH-F
+ W?LOCK
+ 0
+ BRIG-LOCK-F
.ENDT
-PT?13:: .TABLE
+PT?14:: .TABLE
3
W?DOME
W?TRANSPARENT
DOME-OBJECT-F
.ENDT
-PT?14::
PT?15:: .TABLE
- 6
+ 9
W?SHIP
W?ALIEN
ALIEN-SHIP-PSEUDO-F
W?SHIP
W?SPACE
ALIEN-SHIP-PSEUDO-F
+ W?HATCH
+ 0
+ ALIEN-HATCH-F
.ENDT
-PT?17:: .TABLE
+PT?16:: .TABLE
+ 9
+ W?HATCH
+ 0
+ ALIEN-HATCH-F
+ W?SHIP
+ W?ALIEN
+ ALIEN-SHIP-PSEUDO-F
+ W?SHIP
+ W?SPACE
+ ALIEN-SHIP-PSEUDO-F
+ .ENDT
+
+PT?18:: .TABLE
3
W?COMPUTER
0
COMPUTER-F
.ENDT
-PT?18:: .TABLE
+PT?19:: .TABLE
3
W?POSTER
0
RECRUITMENT-POSTER-F
.ENDT
-PT?19:: .TABLE
+PT?20:: .TABLE
3
W?MIRROR
W?GLASS
MIRROR-F
.ENDT
-PT?20:: .TABLE
+PT?21:: .TABLE
3
W?POSTER
0
TRAVEL-AGENCY-POSTER-F
.ENDT
-PT?21:: .TABLE
+PT?22:: .TABLE
3
W?HOLE
W?SMALL
DOC-HOLE-F
.ENDT
-PT?22:: .TABLE
+PT?23:: .TABLE
3
W?SLOT
0
diff --git a/s6str.zap b/s6str.zap
index 6e459c0..e3e8743 100644
--- a/s6str.zap
+++ b/s6str.zap
@@ -11,447 +11,465 @@ STRBEG::
.GSTR STR?5,"PRSO"
.GSTR STR?6,"OOPS"
.GSTR STR?7,"AGAIN"
- .GSTR STR?8,"begins"
- .GSTR STR?9,"ends"
- .GSTR STR?10,"leave the game"
- .GSTR STR?11,"restart"
- .GSTR STR?12,"Biting"
- .GSTR STR?13,"climb into"
- .GSTR STR?14,"climb onto"
- .GSTR STR?15,"close"
- .GSTR STR?16,"disconnect the timer"
- .GSTR STR?17,"disconnect the explosive"
- .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,"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.
+ .GSTR STR?8,"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?9,"."
+ .GSTR STR?10," The log reader explodes!"
+ .GSTR STR?11,"begins"
+ .GSTR STR?12,"ends"
+ .GSTR STR?13,"leave the game"
+ .GSTR STR?14,"restart"
+ .GSTR STR?15,"Biting"
+ .GSTR STR?16,"climb into"
+ .GSTR STR?17,"climb onto"
+ .GSTR STR?18,"close"
+ .GSTR STR?19,"disconnect the timer"
+ .GSTR STR?20,"disconnect the explosive"
+ .GSTR STR?21,"crumple"
+ .GSTR STR?22,"dress"
+ .GSTR STR?23,"open"
+ .GSTR STR?24,"get onto"
+ .GSTR STR?25,"get into"
+ .GSTR STR?26,"look"
+ .GSTR STR?27,"Kicking"
+ .GSTR STR?28,"Knocking on"
+ .GSTR STR?29,"jump"
+ .GSTR STR?30,"You plummet down the shaft..."
+ .GSTR STR?31,"sound"
+ .GSTR STR?32,"look inside"
+ .GSTR STR?33,"look through"
+ .GSTR STR?34,"indecis"
+ .GSTR STR?35,"Pulling"
+ .GSTR STR?36,"move"
+ .GSTR STR?37,"Trying to destroy"
+ .GSTR STR?38,"negat"
+ .GSTR STR?39,"ff"
+ .GSTR STR?40,"n"
+ .GSTR STR?41,"pick"
+ .GSTR STR?42,"Pushing"
+ .GSTR STR?43,"Playing in this way with"
+ .GSTR STR?44,"read"
+ .GSTR STR?45,"roll"
+ .GSTR STR?46,"search"
+ .GSTR STR?47,"Turning"
+ .GSTR STR?48,"Shaking"
+ .GSTR STR?49,"smell"
+ .GSTR STR?50,"spray"
+ .GSTR STR?51,"move that much"
+ .GSTR STR?52,"taste"
+ .GSTR STR?53,"Touching"
+ .GSTR STR?54,"Keyboard is active only following authorization"
+ .GSTR STR?55,"You have already made your selection"
+ .GSTR STR?56,"That bin is unoccupied"
+ .GSTR STR?57,"Error"
+ .GSTR STR?58,"Fuel level at zero"
+ .GSTR STR?59,"Course set. Launch in approximately 30 millichrons"
+ .GSTR STR?60,"Safety precautions forbid the acceptance of course settings unless both the pilot and copilot seats are occupied"
+ .GSTR STR?61,"Select a level between 1 and 9"
+ .GSTR STR?62,"The instant you press the button, the elevator begins plunging down the shaft in a power dive! You punch frantically at the keypad..."
+ .GSTR STR?63,"You are already at that level"
+ .GSTR STR?64,"You have not deposited a coin"
+ .GSTR STR?65,"This dispenser offers only 9 selections"
+ .GSTR STR?66,"Sorry, that item is sold out. Inform your PX Officer for restocking"
+ .GSTR STR?67,"walk"
+ .GSTR STR?68,"wear"
+ .GSTR STR?69,"posit"
+ .GSTR STR?70,"remove"
+ .GSTR STR?71," is as worthwhile as cleaning a grotch cage."
+ .GSTR STR?72," accomplishes nothing."
+ .GSTR STR?73," has no desirable effect."
+ .GSTR STR?74,"Fat chance."
+ .GSTR STR?75,"A valiant attempt."
+ .GSTR STR?76,"You can't be serious."
+ .GSTR STR?77,"Not bloody likely."
+ .GSTR STR?78,"What a concept."
+ .GSTR STR?79,"Nice try."
+ .GSTR STR?80,"You are behaving like a demented Denebian slime devil."
+ .GSTR STR?81,"Dream on."
+ .GSTR STR?82,"You're wacko."
+ .GSTR STR?83,"You have lost your mind."
+ .GSTR STR?84,"A waste of time."
+ .GSTR STR?85,"A worthless action -- and much too complex for a crufty program like this one to handle."
+ .GSTR STR?86,"Useless. Unhelpful."
+ .GSTR STR?87,"There's another turn down the drain."
+ .GSTR STR?88,"Why bother?"
+ .GSTR STR?89,"with"
+ .GSTR STR?90,"Done. You might remain alive long enough to type EXAMINE MY STUMP. Oops, I guess not."
+ .GSTR STR?91,"If you insist."
+ .GSTR STR?92,"Wow! A hole where your torso used to be!"
+ .GSTR STR?93,"I was going to ask you the same question!"
+ .GSTR STR?94,"Floyd loves games! Let's play!"
+ .GSTR STR?95,"Safety precautions forbid the activation of the vehicle unless both the pilot and copilot seats are occupied"
+ .GSTR STR?96,"Spacecraft activated. Type in the course heading"
+ .GSTR STR?97,"Authorization approved. Type the bin number of the desired robot"
+ .GSTR STR?98,"This form has not been validated by a commanding officer"
+ .GSTR STR?99,"Improper form for this location"
+ .GSTR STR?100,"slot"
+ .GSTR STR?101,"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?102,"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?103,"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?104,"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 P.A. 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?105,"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?106,"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?107,"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?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?108,"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?109,"Snore...snore...KABOOM!"
+ .GSTR STR?110,"You collapse from extreme thirst and hunger."
+ .GSTR STR?111,"It's too dark to see a thing."
+ .GSTR STR?112,"You're not holding"
+ .GSTR STR?113,"There's nothing "
+ .GSTR STR?114,"You can see"
+ .GSTR STR?115,"It seems that"
+ .GSTR STR?116,"You can't "
+ .GSTR STR?117,"You'll have to "
+ .GSTR STR?118,"Look around you.
"
- .GSTR STR?117,"You're holding it!
+ .GSTR STR?119,"You're holding it!
"
- .GSTR STR?118,"[There seems to be a noun missing in that sentence.]
+ .GSTR STR?120,"[There seems to be a noun missing in that sentence.]
"
- .GSTR STR?119,"You see only blackness.
+ .GSTR STR?121,"You see only blackness.
"
- .GSTR STR?120,"You already did that. Senility strikes again!
+ .GSTR STR?122,"You already did that. Senility strikes again!
"
- .GSTR STR?121,".
+ .GSTR STR?123,".
"
- .GSTR STR?122,"...
+ .GSTR STR?124,"...
"
- .GSTR STR?123,"Nothing happens.
+ .GSTR STR?125,"Nothing happens.
"
- .GSTR STR?124,"Failed.
+ .GSTR STR?126,"Failed.
"
- .GSTR STR?125,"Okay.
+ .GSTR STR?127,"Okay.
"
- .GSTR STR?126,"Huh?
+ .GSTR STR?128,"Huh?
"
- .GSTR STR?127,"You can't go that way.
+ .GSTR STR?129,"You can't go that way.
"
- .GSTR STR?128,"It already is!
+ .GSTR STR?130,"It already is!
"
- .GSTR STR?129,"""Floyd does not one of those have!""
+ .GSTR STR?131,"""Floyd does not one of those have!""
"
- .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?132,"Like most fromitz boards, it is a twisted maze of silicon circuits. It is square, approximately seventeen centimeters on each side.
"
- .GSTR STR?131,"You're neither hungry nor thirsty.
+ .GSTR STR?133,"You're neither hungry nor thirsty.
"
- .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?134,"Floyd is leaning against the wall, his head lolling to the side. Apparently, someone has heartlessly turned him off."
+ .GSTR STR?135,"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?136,"Request for Stellar Patrol Issue Regulation Black Form Binders Request Form Forms"
+ .GSTR STR?137,"The thick side wall of the tank has been blasted open"
+ .GSTR STR?138,"Next time, say what number to set it 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 already in that mode.
+ .GSTR STR?139,", hopping mad. ""Why you turn Floyd off?"" he asks accusingly."
+ .GSTR STR?140,"Spanning the entire garden is a transparent dome, providing a breathtaking view of the heavens in all their splendor."
+ .GSTR STR?141," strike the machine's power source, inducing an overload implosion in said power source."
+ .GSTR STR?142,"""The Galaxy's Best Zero-Gee Restaurant"""
+ .GSTR STR?143,"The eternal flame has been extinguished!"
+ .GSTR STR?144,"Lieutenant First Class"
+ .GSTR STR?145,"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?146,"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?147,"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?148,"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,"
+ .GSTR STR?149,", of course, no longer attached to the detonator.)"
+ .GSTR STR?150,"The form is swallowed up, followed by a long pause for triple-redundancy processing. "
+ .GSTR STR?151,"The form is rejected. "
+ .GSTR STR?152,"suddenly sublimes into a puff of FREZONE (tm) gas."
+ .GSTR STR?153,"For those unfamiliar with PLANETFALL, "
+ .GSTR STR?154,"
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?155," in the center... Oops. At second glance, you realize that the "
+ .GSTR STR?156," 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?157,"You detach the detonator from "
+ .GSTR STR?158," The ostrich gives a pathetic squawk of terror "
+ .GSTR STR?159,"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?160," and lands on the floor."
+ .GSTR STR?161,", and a ladder leads both upward and downward."
+ .GSTR STR?162,"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
+ .GSTR STR?163,". 2. A callous disregard for scientific accuracy on the part of the author"
+ .GSTR STR?164,"[Please refer to them as FIRST BIN, SECOND BIN, and THIRD BIN.]
+"
+ .GSTR STR?165," ""Boy, that looks like fun!"" says Floyd, peering up at you. ""Can Floyd try it? Huh? Please?""
+"
+ .GSTR STR?166," is a tangle of tubes and space bubbles and derelict rockets."
+ .GSTR STR?167,"It won't budge.
+"
+ .GSTR STR?168,"Floyd sniffs, ""Please leave Floyd alone for a while.""
+"
+ .GSTR STR?169,"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. Beyond the door to port lies the bulk of the Duffy. Next to the door is a slot."
+ .GSTR STR?170,"You must insert a validated Assignment Completion Form in the slot"
+ .GSTR STR?171,"""STELLAR PATROL
Paperwork Task Force
ID Number: 1451-352-716"""
- .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.
+ .GSTR STR?172,"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?173,"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?174,"The deck twelve corridor ends here at the entrance to the cargo bay, to starboard. A smaller entrance leads fore."
+ .GSTR STR?175,"He's an amusing and friendly little fellow."
+ .GSTR STR?176,"That's me!"
+ .GSTR STR?177,"Floyd, he"
+ .GSTR STR?178,"rubs his head affectionately against your shoulder"
+ .GSTR STR?179,"notices a mouse scurrying by and tries to hide behind you"
+ .GSTR STR?180,"reminisces about the excitement of your adventure on Resida"
+ .GSTR STR?181,"hums the theme song from a popular Saturday morning hyperwave cartoon"
+ .GSTR STR?182,"plays a quick game of paddleball, almost breaking his record of four hits"
+ .GSTR STR?183,"paces impatiently"
+ .GSTR STR?184,"absent-mindedly recites the first six hundred digits of pi"
+ .GSTR STR?185,"recalls the time he bruised his knee"
+ .GSTR STR?186,"tells you how much it hurts to repair dents"
+ .GSTR STR?187,"cranes his neck to see what you are doing"
+ .GSTR STR?188,"examines himself for signs of rust"
+ .GSTR STR?189,"absent-mindedly oils one of his joints"
+ .GSTR STR?190,"wanders restlessly around the room"
+ .GSTR STR?191,"sneaks up clumsily behind you and shouts ""Boo!"" in your ear"
+ .GSTR STR?192,"frets about the possibility of his batteries failing"
+ .GSTR STR?193,"whistles tunelessly"
+ .GSTR STR?194,"boasts about the time he helped someone find a lost paper clip"
+ .GSTR STR?195,"yawns and looks bored"
+ .GSTR STR?196,"complains about a recent assignment in the forms filing department"
+ .GSTR STR?197,"produces a crayon from one of his compartments and scrawls his name on the wall"
+ .GSTR STR?198,"stomps on your foot, for no apparent reason"
+ .GSTR STR?199,"accidentally bumps into you, and reacts by cursing your ancestors"
+ .GSTR STR?200,"produces a loud burp and fails to apologize"
+ .GSTR STR?201,"mumbles about a mysterious future in which humans will have to take orders from robots"
+ .GSTR STR?202,"tells an off-color joke about the bizarre mating habits of flesh and blood creatures"
+ .GSTR STR?203,"Floyd tells Plato about a neat shortcut for calculating seventh order differentials"
+ .GSTR STR?204,"Plato tells Floyd one of the ancient legends about the early days of the settlement of the galaxy"
+ .GSTR STR?205,"Floyd confides to Plato that his life's dream is to get locked up overnight in a toy factory"
+ .GSTR STR?206,"Floyd and Plato discuss their favorite battery recharging techniques"
+ .GSTR STR?207,"Plato helps polish a hard-to-reach spot on Floyd's back"
+ .GSTR STR?208,"""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?209,"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?210,"Floyd gives Plato a friendly hug"
+ .GSTR STR?211,"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?212,"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?213,"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?214," 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?215,"open the hatch"
+ .GSTR STR?216,"If you're in spacelane 630-461, keep it down to 26000 kilometers per millichron. There's a stakeout there."
+ .GSTR STR?217,"Anyone seen any smokeys in the Nebulon sector?"
+ .GSTR STR?218,"I'm looking for a traffic report on spacelane 317-455."
+ .GSTR STR?219,"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?220," 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?221,". Once in space, the truck's air gushes out through the open hatch."
+ .GSTR STR?222,", 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?223,"Fuel level at three-quarters"
+ .GSTR STR?224,"Fuel level at one-quarter"
+ .GSTR STR?225,"Docking bay one is occupied. Defaulting to bay two"
+ .GSTR STR?226,"Arrival at terminus of inputted course. Fuel level now effectively at zero. Oxygen supply for one person: approximately two chrons"
+ .GSTR STR?227," 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?228," blueberry walnut soup"
+ .GSTR STR?229,"soup"
+ .GSTR STR?230," Ramosian tree-mold custard"
+ .GSTR STR?231," apricot yogurt"
+ .GSTR STR?232,"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?233,"I'm really not at all mechanically inclined. My sincerest apologies."
+ .GSTR STR?234,"It's a kind of a thingamabob for putting in a, you know, a whosiwhatsis."
+ .GSTR STR?235,"This is one of the storage areas. Exits lie to the east and south."
+ .GSTR STR?236,"twenty tiny sockets"
+ .GSTR STR?237,"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?238,"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. A junction is visible to the south."
+ .GSTR STR?239,"This is the shop for station personnel, selling everything from postcards to chewing gum at inflated prices. Exits lead west and southwest."
+ .GSTR STR?240,"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?241,"coin slot"
+ .GSTR STR?242," 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?243,"It's a kind of a thingamabob for connecting a, you know, a whosiwhatsis."
+ .GSTR STR?244,"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?245,"This is a modest prison, with three cells. The only exit is west."
+ .GSTR STR?246,"lock"
+ .GSTR STR?247,"The corridor continues around to the northwest and southwest, and an adjoining one heads east."
+ .GSTR STR?248,"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?249," The shock seems to have been a bit too much for your heart."
+ .GSTR STR?250,"This is the room where octuplet copies of forms are stored. Since it's only 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?251,"reader"
+ .GSTR STR?252,"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?253,"Sitting on the Commander's desk is an ordinary-looking log tape. There's a notation printed on it."
+ .GSTR STR?254,"""Commander's Log -- 11349.12.2 through 11349.12.4"""
+ .GSTR STR?255,"A sturdy safe is welded to the deck next to the desk."
+ .GSTR STR?256,"The safe has been blown open! The area around the safe is blackened, and a burnt odor hangs in the air."
+ .GSTR STR?257,"hole"
+ .GSTR STR?258,"This is the Station Commander's conference room. Doors point north and west."
+ .GSTR STR?259,"This is a secondary weapons storage deck, but the only weapon deck on a station with no Military Sub-Module. Exit: south."
+ .GSTR STR?260,"This is a wide but not very tall docking bay. The station entrance lies to the east."
+ .GSTR STR?261,"""Spacetruck Refueling Instructions"""
+ .GSTR STR?262,"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?263,"You enter one of the cubicles but find nothing of interest."
+ .GSTR STR?264,"This warren of tiny cubicles fills the southern half of this level, curving toward exits in the northeast and northwest corners."
+ .GSTR STR?265,"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?266,"A multiple-function exercise machine sits imposingly on one side of the gym. There is a sign above it."
+ .GSTR STR?267," hums encouraging platitudes as it exercises you to death."
+ .GSTR STR?268,"In the corner, next to the dryer, is a large empty spot where the washer should be."
+ .GSTR STR?269,"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?270,"""Chapel Maintenance Procedures"""
+ .GSTR STR?271,"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?272,"coffee"
+ .GSTR STR?273,"Aaarghhh! The coffee is poisoned! It's eating away at your insides!!"
+ .GSTR STR?274,"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?275,"detonator"
+ .GSTR STR?276,"This is a medium-sized conference room with doors to the south and west."
+ .GSTR STR?277,"This is a fairly large conference room with north and south exits."
+ .GSTR STR?278,"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 here, and for accessing the main computer's data banks via a computer terminal. Strangely, the computer terminal has been removed. There's a door to the north and an exit to the west."
+ .GSTR STR?279,"Magazines are not to be removed from the library"
+ .GSTR STR?280,"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?281,"""Shrubbery Maintenance Supplies"""
+ .GSTR STR?282,"open the grating"
+ .GSTR STR?283,"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?284,"This is the rather ordinary sanitary facility for the barracks to the north."
+ .GSTR STR?285,"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?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.
+ .GSTR STR?286,"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?287,"Hmmm. Some kind of alien writing, I presume. If I recall, the Mayor is an expert on that subject."
+ .GSTR STR?288,"Lying under the dots is a skeleton, the brittle remains of a member of some unfamiliar alien race."
+ .GSTR STR?289,"This is the station's smallest docking bay. You can enter the station to the east."
+ .GSTR STR?290,"The corridor, which widens off to the west, ends here. Doors lie to the east, north, south, and southwest. The door to the north must be a security door, because there's an ID reader next to it."
+ .GSTR STR?291,"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?292,"opening of the chamber"
+ .GSTR STR?293,"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?294,"A little ""sleeping"" robot named ""Oliver"" is lying here."
+ .GSTR STR?295,"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?296,"Ah, a new robot. Poor fellow; new robots are so mercilessly mistreated by the older robots. Such is our lot."
+ .GSTR STR?297,"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?298,"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?299,"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?300,"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?301,"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?302,"A moderately luxurious SanFac, with a pair of bathtubs in addition to the regular fixtures. Exits lead north, northeast, and northwest."
+ .GSTR STR?303,"A few rungs down, you discover that the ladder passage to Level Eight is sealed off -- apparently from below."
+ .GSTR STR?304,"""Collater Repair Manual"""
+ .GSTR STR?305,"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?306,"Someone has presumably been attempting to repair some of the machinery in this room, because they left a drill lying around."
+ .GSTR STR?307,"drill"
+ .GSTR STR?308,"remove the bit that's in the drill"
+ .GSTR STR?309,"Oh, no! The elevator isn't at this floor! It's a long plunge..."
+ .GSTR STR?310,"Magnetically-stored data has been damaged; see the Security Officer to have data restored"
+ .GSTR STR?311,"This shiny cylindrical corridor is the connector between the Command Module, to the south, and the Scientific Sub-Module, to the north."
+ .GSTR STR?312,"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?313,"This is a small office associated with the lab to the south."
+ .GSTR STR?314,"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?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.
+ .GSTR STR?315,"This laboratory conducts research into various space-related physical sciences. Gangways lead up and down, and there's a door to the north."
+ .GSTR STR?316,"Various biological sciences, as they relate 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?317,"Lying on one of the desks is a scribbled note."
+ .GSTR STR?318,"""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?319,"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?320,"I don't have a very specific function in the station's robotic organizational scheme, but I do keep the library organized."
+ .GSTR STR?321,"Floyd's best friend! Oh, except you, of course!"
+ .GSTR STR?322,"Some early poems by Ignatius Tomato. He's my current favorite."
+ .GSTR STR?323,"burst into tears and dashes out of the room. A beam leaps from the gun..."
+ .GSTR STR?324," the station's reactor turns into a good old-fashioned H-bomb."
+ .GSTR STR?325,"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?326,"You are in a large, vertical air duct. Handholds lead up and down."
+ .GSTR STR?327,"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?328,"The sides ducts are too small to enter!"
+ .GSTR STR?329,"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?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
+ .GSTR STR?330," reaches you, and performs various repetitions all over your body, proving that exercise isn't always good for you."
+ .GSTR STR?331,"slips into gear and zooms forward, goring you on its fork."
+ .GSTR STR?332,"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?333,"There's no way to climb the shaft."
+ .GSTR STR?334,"Floyd fires his stun ray nonchalantly in your direction, laughing, as though taunting you. You feel part of your leg go numb"
+ .GSTR STR?335,"Smoke is trickling from the tails of the tiny rockets, as though the duplicate pyramids were preparing for activation and launch"
+ .GSTR STR?336,"One of the blinking lights on the reactor goes from yellow to red"
+ .GSTR STR?337,"the pyramid, Floyd"
+ .GSTR STR?338,"This is an east-west tube, widening as it gets farther from the Command Module."
+ .GSTR STR?339,"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?340,"Well, there are openings in ALMOST every direction."
+ .GSTR STR?341,"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 spacers."
+ .GSTR STR?342,"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?343,"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?344,"groof hunting on Septurion Seven"
+ .GSTR STR?345,"a little-known incident during the signing of the Treaty of Gishen IV"
+ .GSTR STR?346,"a torrid romance on the tropical planet of San Cupidor"
+ .GSTR STR?347,"searching for treasure in a magical underground empire"
+ .GSTR STR?348,"bullfighting, skydiving, and dental hygiene"
+ .GSTR STR?349,"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?350,"Some miner has left a headlamp here."
+ .GSTR STR?351,"A piece of reflective foil is hanging on the wall where the mirror once was."
+ .GSTR STR?352,"Trans-molecular platinum foil! I am told that it is the most perfectly reflective material known, and not just on the visual wavelengths!"
+ .GSTR STR?353,"Floyd loves anything reflective! Give Floyd a mirror and he'll be happy for days!"
+ .GSTR STR?354,"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?355,"A small, translucent plastic bag is sitting on one of the shelves."
+ .GSTR STR?356,", delectable, moist boysenberry-flavored taffy"
+ .GSTR STR?357,"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?358,"You can see the faint outline of a panel in the ceiling."
+ .GSTR STR?359,"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?360,"""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?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
-(very-salty) however
-(sweet/very-sweet) legal destruction (sabotage?)
-(very-sweet/bland/sour) I have shined light upon
-(sour/bland/sour/sweet) turn back
-(bland) (definite article?)
-(slightly-sour) solitary
-(very-sweet/very-salty) element/substance
-(sweet/slightly-bitter) brethren (adj form)
-(sour/bland/bland/sour) died/failed
-(bland/sour/very-sour) is souring/turning bad
-(spicy-hot/bland/bland) (a number) (78? 7/8?)
-(bitter/sour/very-sour) weapon (poss form)
-(very-sweet) (emphasis mark?)
-(very-salty/salty/sour) bad/evil/deadly radiation (plur form)"""
- .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,"
+NOTE: Do not expose explosive to temperatures above 150 degrees Kelvin for periods of more than 100 millichrons."""
+ .GSTR STR?361,"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?362,"The most recognizable item in the sculpture is a J-series hyperdiode."
+ .GSTR STR?363,"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?364,"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?365,"Your lungs rupture, not to mention all sorts of even nastier stuff that you're lucky if you can't imagine."
+ .GSTR STR?366,"This filthy north-south tube is quite a change from the gleaming, well-scrubbed metal of the space station."
+ .GSTR STR?367,"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?368," fire nectar -- thick and warming"
+ .GSTR STR?369,"nectar"
+ .GSTR STR?370,"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?371,"You spot a copy of a book entitled ""Deciphering Alien Speech."""
+ .GSTR STR?372,"""bttr/salty/bttr softness/weakness
+sweet/v.sour Hunji (noun form)
+blnd/salty/sour Zeenak (adj form)
+blnd/bttr air/atmosphere
+sour/blnd/blnd/sour died/failed
+sweet/v.sweet legal destruction
+ (sabotage?)
+v.salty however
+sour/blnd/sour/sweet turn back
+blnd (def. article?)
+v.sweet/blnd/sour I have shined
+ light upon
+slightly-sour solitary
+v.sweet/v.salty element/substance
+sweet/slightly-bttr brethren (adj)
+blnd/sour/v.sour is souring
+v.salty/salty/sour bad/evil/deadly
+ radiations
+spicy-hot/blnd/blnd 78 (?) 7/8 (?)
+bttr/sour/v.sour weapon (possesv.)
+v.sweet (emphasis mark?)"""
+ .GSTR STR?373,"This is a branch office of the First Galactic Bank of Nebulon. There are doors to the north and northwest."
+ .GSTR STR?374,"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?375,"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?376,"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?377,"
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?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
+ .GSTR STR?378,"As you swivel the headlamp around, you discover a tiny cylinder with an even tinier label."
+ .GSTR STR?379,"""FREZONE (tm) Liquid Gorzium Explosive. For use only by licensed demolitionist. Instruction sheet available from vendor; read thoroughly before use!"""
+ .GSTR STR?380,"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?381,"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?382,"This is a dilapidated vessel that some seedy loan shark has moored on the south side of the alley."
+ .GSTR STR?383,"A fairly sturdy strong box is fastened to the floor. Or maybe the ceiling. One can never be sure without gravity."
+ .GSTR STR?384,"""ONE GALAKMID
Third Galactic Union"""
- .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."
+ .GSTR STR?385,"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?386,"There is a large pile of intoxicated ostrich here."
+ .GSTR STR?387,"""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?388,"In the corner of the office is a rather plain-looking machine with a keypad. It looks a bit jerry-built."
+ .GSTR STR?389,"opening"
+ .GSTR STR?390,"A scrambled card cannot be altered"
+ .GSTR STR?391,"Ensign, lower classes"
+ .GSTR STR?392,"Ensign First Class"
+ .GSTR STR?393,"Upshipman"
+ .GSTR STR?394,"Lieutenant Last Class"
+ .GSTR STR?395,"Lieutenant Second Class"
+ .GSTR STR?396,"Commander or Captain"
+ .GSTR STR?397,"Admiral"
+ .GSTR STR?398,"HyperAdmiral"
+ .GSTR STR?399,"Grand Fleet HyperAdmiral"
+ .GSTR STR?400,"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?401,"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 0d62453..55f5d10 100644
--- a/ship.zap
+++ b/ship.zap
@@ -1,7 +1,6 @@
.FUNCT FAKE-DOOR-ENTER-F
- CALL THIS-IS-IT,PSEUDO-OBJECT
PRINTI "The door is closed."
CRLF
RFALSE
@@ -9,9 +8,11 @@
.FUNCT FAKE-DOOR-F
EQUAL? PRSA,V?OPEN \?CCL3
- CALL RECORDING,STR?162
+ CALL RECORDING,STR?170
RSTACK
-?CCL3: EQUAL? PRSA,V?ENTER \FALSE
+?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
+ PRINTR "There's a slot next to the closed door."
+?CCL5: EQUAL? PRSA,V?ENTER \FALSE
CALL DO-WALK,P?WEST
RSTACK
@@ -73,7 +74,7 @@
?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)."
+ PRINTR " Ensign Twelfth Class Blather walks by, lugging his toilet scrubbing supplies. He spots you, whimpers, and slouches away (Footnote 2)."
?CCL5: ADD BLATHER-PROB,10 >BLATHER-PROB
RETURN BLATHER-PROB
@@ -131,7 +132,7 @@
?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. "
+ PRINTI " would come to obtain 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
@@ -148,7 +149,8 @@
?PRD5: GET P-ADJW,1
EQUAL? STACK,FALSE-VALUE \?CCL3
EQUAL? PRSI,PSEUDO-OBJECT \?CCL3
-?CTR2: PRINTR "Next time, specify which bin you meant."
+?CTR2: PRINT REFER-TO-BIN
+ RTRUE
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL11
CALL ADJ-USED,A?FIRST,PSEUDO-OBJECT
ZERO? STACK /?CCL14
@@ -189,314 +191,316 @@
CALL STOP
RSTACK
?CCL10: ZERO? FLOYD-ANGUISHED /?CCL14
- SET 'WINNER,PROTAGONIST
- CALL PERFORM,V?TOUCH,FLOYD
+ PRINT FLOYD-SNIFFS
CALL STOP
RSTACK
?CCL14: EQUAL? PRSA,V?TELL-ABOUT \?CCL16
EQUAL? PRSO,ME \?CCL16
+ GETP PRSI,P?FLOYD-ASK-ABOUT >TXT
GRTR? ROBOT-EVILNESS,12 \?CCL21
PRINTR """Oh, quit jabbering already."""
-?CCL21: GETP PRSI,P?FLOYD-ASK-ABOUT >TXT
- ZERO? TXT /?CCL23
- PRINTC 34
+?CCL21: ZERO? TXT /?CTR22
+ EQUAL? PRSI,OLIVER \?CCL23
+ FSET? OLIVER,TOUCHBIT /?CCL23
+?CTR22: PRINTI "Floyd shrugs. ""Beats me."
+ IN? PLATO,HERE \?CND28
+ PRINTI " Ask Plato. He knows everything!"
+?CND28: PRINTR """"
+?CCL23: PRINTC 34
PRINT TXT
PRINTR """"
-?CCL23: PRINTI "Floyd shrugs. ""Beats me."
- IN? PLATO,HERE \?CND24
- PRINTI " Ask Plato. He knows everything!"
-?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..."""
-?CCL32: PRINTI "Floyd just looks at you with confusion and panic in his eyes."
+?CCL16: ZERO? STUNNED /?CCL31
+ EQUAL? PRSA,V?HELP /?CTR33
+ EQUAL? PRSA,V?SAVE-SOMETHING \?PRD37
+ EQUAL? PRSO,ME /?CTR33
+?PRD37: EQUAL? PRSA,V?KILL,V?OFF \?PRD40
+ EQUAL? PRSO,PLATO /?CTR33
+?PRD40: EQUAL? PRSA,V?TAKE \?CCL34
+ EQUAL? PRSO,STUN-GUN \?CCL34
+?CTR33: SET 'FLOYD-TOLD,TRUE-VALUE
+ PRINTR "Floyd waves his hands helplessly. ""Yes... I mean no... I mean oh no oh help me please. Floyd in quandry..."""
+?CCL34: PRINTI "Floyd just looks at you with confusion and panic in his eyes."
CRLF
CALL STOP
RSTACK
-?CCL27: EQUAL? HERE,FACTORY \?CCL44
- ZERO? FLOYD-SHOT /?CCL47
+?CCL31: EQUAL? HERE,FACTORY \?CCL46
+ ZERO? FLOYD-SHOT /?CCL49
PRINTR "Floyd is hurt and doesn't respond."
-?CCL47: PRINTR """Shut up!"" orders Floyd."
-?CCL44: EQUAL? PRSA,V?LAUNCH \?CCL49
- EQUAL? PRSO,SPACETRUCK-OBJECT \?CCL49
+?CCL49: PRINTR """Shut up!"" orders Floyd."
+?CCL46: EQUAL? PRSA,V?LAUNCH \?CCL51
+ EQUAL? PRSO,SPACETRUCK-OBJECT \?CCL51
SET 'AWAITING-REPLY,2
CALL V-YES
SET 'AWAITING-REPLY,FALSE-VALUE
RTRUE
-?CCL49: EQUAL? PRSA,V?TAKE \?CCL53
- EQUAL? PRSO,LEASH \?CCL53
- FSET? HERE,WEIGHTLESSBIT /?CCL53
+?CCL51: EQUAL? PRSA,V?TAKE \?CCL55
+ EQUAL? PRSO,LEASH \?CCL55
+ FSET? HERE,WEIGHTLESSBIT /?CCL55
CALL FLOYD-TAKE-LEASH
RSTACK
-?CCL53: EQUAL? PRSA,V?TAKE \?CCL58
- EQUAL? PRSO,STAR \?CCL58
- FSET? STAR,TRYTAKEBIT \?CCL58
+?CCL55: EQUAL? PRSA,V?TAKE \?CCL60
+ EQUAL? PRSO,STAR \?CCL60
+ FSET? STAR,TRYTAKEBIT \?CCL60
PRINTR """Huh? Floyd shorter even than you!"""
-?CCL58: EQUAL? PRSA,V?YES \?CCL63
- ZERO? AWAITING-REPLY /?CCL63
+?CCL60: EQUAL? PRSA,V?YES \?CCL65
+ ZERO? AWAITING-REPLY /?CCL65
CALL V-YES
RSTACK
-?CCL63: EQUAL? PRSA,V?NO \?CCL67
- ZERO? AWAITING-REPLY /?CCL67
+?CCL65: EQUAL? PRSA,V?NO \?CCL69
+ ZERO? AWAITING-REPLY /?CCL69
CALL V-NO
RSTACK
-?CCL67: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL71
- EQUAL? PRSO,COPILOT-SEAT,PILOT-SEAT \?CCL71
- IN? FLOYD,PRSO \?CCL76
+?CCL69: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL73
+ EQUAL? PRSO,COPILOT-SEAT,PILOT-SEAT \?CCL73
+ IN? FLOYD,PRSO \?CCL78
PRINTR """Where is Floyd now, huh?"""
-?CCL76: PRINTR "Floyd looks suspicious. ""You first."""
-?CCL71: EQUAL? PRSA,V?TAKE \?CCL78
- IN? PRSO,HEATING-CHAMBER \?CCL78
+?CCL78: PRINTR "Floyd looks suspicious. ""You first."""
+?CCL73: EQUAL? PRSA,V?TAKE \?CCL80
+ IN? PRSO,HEATING-CHAMBER \?CCL80
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."
-?CCL78: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?CCL82
- EQUAL? PRSO,STRONG-BOX,SAFE \?CCL82
+?CCL80: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?CCL84
+ EQUAL? PRSO,STRONG-BOX,SAFE \?CCL84
PRINTR """Floyd's a robot, not a locksmith!"""
-?CCL82: EQUAL? PRSA,V?UNLOCK,V?OPEN \?CCL86
- EQUAL? PRSO,SECURITY-DOOR \?CCL86
+?CCL84: EQUAL? PRSA,V?UNLOCK,V?OPEN \?CCL88
+ EQUAL? PRSO,SECURITY-DOOR \?CCL88
PRINTR """Put your ID in the ID reader, dumbo!"""
-?CCL86: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL90
- EQUAL? PRSO,WELDER \?CCL90
+?CCL88: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL92
+ EQUAL? PRSO,WELDER \?CCL92
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?"""
-?CCL90: EQUAL? PRSA,V?ENTER \?CCL94
- EQUAL? PRSO,EXERCISE-MACHINE \?CCL94
+?CCL92: EQUAL? PRSA,V?ENTER \?CCL96
+ EQUAL? PRSO,EXERCISE-MACHINE \?CCL96
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
+?CCL96: EQUAL? PRSA,V?REACH-IN \?CCL100
+ EQUAL? PRSO,PSEUDO-OBJECT,DISPENSER \?CCL100
+ EQUAL? HERE,PX \?CCL100
PRINTR "Floyd happily reaches into the dispenser hole, and then withdraws his hand, looking glum. ""Nope, not even a ball."""
-?CCL98: EQUAL? PRSA,V?WEAR \?CCL103
- FSET? PRSO,WEARBIT \?CCL103
+?CCL100: EQUAL? PRSA,V?WEAR \?CCL105
+ FSET? PRSO,WEARBIT \?CCL105
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
+?CCL105: EQUAL? PRSA,V?GIVE \?CCL109
+ EQUAL? PRSI,ME \?CCL109
+ IN? PRSO,FLOYD \?CCL114
MOVE PRSO,PROTAGONIST
PRINTI """Okay,"" says Floyd, handing you the "
PRINTD PRSO
PRINTR ", ""but only because you're Floyd's best friend."""
-?CCL112: PRINT FLOYD-NOT-HAVE
+?CCL114: PRINT FLOYD-NOT-HAVE
RTRUE
-?CCL107: EQUAL? PRSA,V?SGIVE \?CCL114
- EQUAL? PRSO,ME \?CCL114
+?CCL109: EQUAL? PRSA,V?SGIVE \?CCL116
+ EQUAL? PRSO,ME \?CCL116
CALL PERFORM,V?GIVE,PRSI,ME
RTRUE
-?CCL114: EQUAL? PRSA,V?WALK \?CCL118
+?CCL116: EQUAL? PRSA,V?WALK \?CCL120
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
+?CCL120: EQUAL? PRSA,V?FOLLOW \?CCL122
+ EQUAL? PRSO,ME \?CCL122
PRINTR """Okay!"""
-?CCL120: EQUAL? PRSA,V?HELLO \?CCL124
- GRTR? ROBOT-EVILNESS,13 \?CCL127
+?CCL122: EQUAL? PRSA,V?HELLO \?CCL126
+ GRTR? ROBOT-EVILNESS,13 \?CCL129
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
+?CCL129: PRINTR """Hi!"" Floyd grins and bounces up and down."
+?CCL126: EQUAL? PRSA,V?DROP \?CCL131
+ IN? PRSO,FLOYD \?CCL134
RANDOM 100
- LESS? 50,STACK /?CCL135
+ LESS? 50,STACK /?CCL137
MOVE PRSO,HERE
PRINTI "Floyd shrugs and drops the "
PRINTD PRSO
PRINT PERIOD-CR
RTRUE
-?CCL135: PRINTI "Floyd clutches the "
+?CCL137: PRINTI "Floyd clutches the "
PRINTD PRSO
PRINTR " even more tightly. ""Floyd won't,"" he says defiantly."
-?CCL132: PRINT FLOYD-NOT-HAVE
+?CCL134: PRINT FLOYD-NOT-HAVE
RTRUE
-?CCL129: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
+?CCL131: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
CRLF
CALL STOP
RSTACK
-?CCL7: FSET? FLOYD,TOUCHBIT /?CCL137
+?CCL7: FSET? FLOYD,TOUCHBIT /?CCL139
CALL NOUN-USED,W?FLOYD,FLOYD
- ZERO? STACK /?CCL137
+ ZERO? STACK /?CCL139
PRINTI "You don't see anyone by that name here."
CRLF
- CALL STOP
- RSTACK
-?CCL137: EQUAL? ROBOT-PICKED,FLOYD /?CCL141
+ RETURN 8
+?CCL139: EQUAL? ROBOT-PICKED,FLOYD /?CCL145
CALL TOUCHING?,FLOYD
- ZERO? STACK /?CCL141
+ ZERO? STACK /?CCL145
CALL CANT-REACH,FLOYD
RSTACK
-?CCL141: EQUAL? PRSA,V?COMFORT \?CCL145
- ZERO? ROBOT-PICKED /?CCL145
- EQUAL? ROBOT-PICKED,FLOYD /?CCL145
+?CCL145: EQUAL? PRSA,V?COMFORT \?CCL149
+ ZERO? ROBOT-PICKED /?CCL149
+ EQUAL? ROBOT-PICKED,FLOYD /?CCL149
PRINTR "Floyd gives you a hurt look and turns away."
-?CCL145: ZERO? FLOYD-ANGUISHED /?CCL150
+?CCL149: ZERO? FLOYD-ANGUISHED /?CCL154
CALL TOUCHING?,FLOYD
- ZERO? STACK \?CTR149
- EQUAL? PRSA,V?COMFORT \?CCL150
-?CTR149: PRINTR "Floyd sniffs, ""Please leave Floyd alone for a while."""
-?CCL150: MUL ROBOT-EVILNESS,10
+ ZERO? STACK \?CTR153
+ EQUAL? PRSA,V?COMFORT \?CCL154
+?CTR153: PRINT FLOYD-SNIFFS
+ RTRUE
+?CCL154: MUL ROBOT-EVILNESS,10
SUB STACK,70 >?TMP1
RANDOM 100
- LESS? ?TMP1,STACK /?CCL156
+ LESS? ?TMP1,STACK /?CCL160
CALL TOUCHING?,FLOYD
- ZERO? STACK /?CCL156
- EQUAL? PRSA,V?SHAKE,V?KICK,V?OFF /?CCL156
- FSET? FLOYD,ACTIVEBIT \?CCL156
- EQUAL? HERE,FACTORY /?CCL163
+ ZERO? STACK /?CCL160
+ EQUAL? PRSA,V?SHAKE,V?KICK,V?OFF /?CCL160
+ FSET? FLOYD,ACTIVEBIT \?CCL160
+ EQUAL? HERE,FACTORY /?CCL167
PRINTR """Hey, will you just leave Floyd alone!"" He shoves you away."
-?CCL163: ZERO? FLOYD-SHOT /?CCL165
+?CCL167: ZERO? FLOYD-SHOT /?CCL169
PRINTI "Before you can..."
CRLF
CALL I-LAUNCH
RSTACK
-?CCL165: CALL BACK-OFF,STR?169
+?CCL169: CALL BACK-OFF,STR?177
RSTACK
-?CCL156: EQUAL? PRSA,V?EXAMINE \?CCL167
+?CCL160: EQUAL? PRSA,V?EXAMINE \?CCL171
CALL DESCRIBE-FLOYD,TRUE-VALUE
- FIRST? FLOYD \?CCL170
+ FIRST? FLOYD \?CCL174
PRINTC 32
CALL V-LOOK-INSIDE
RSTACK
-?CCL170: CRLF
+?CCL174: CRLF
RTRUE
-?CCL167: EQUAL? PRSA,V?PUT \?CCL172
- EQUAL? PRSI,FLOYD \?CCL172
- FSET? FLOYD,ACTIVEBIT \?CCL177
+?CCL171: EQUAL? PRSA,V?PUT \?CCL176
+ EQUAL? PRSI,FLOYD \?CCL176
+ FSET? FLOYD,ACTIVEBIT \?CCL181
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
+?CCL181: CALL NOUN-USED,W?COMPAR,FLOYD
+ ZERO? STACK /?CCL183
PRINTR "There's no room."
-?CCL179: PRINT HUH
+?CCL183: PRINT HUH
RTRUE
-?CCL172: EQUAL? PRSA,V?KILL \?CCL181
- EQUAL? PRSO,FLOYD \?CCL181
- ZERO? FLOYD-SHOT /?CCL181
+?CCL176: EQUAL? PRSA,V?KILL \?CCL185
+ EQUAL? PRSO,FLOYD \?CCL185
+ ZERO? FLOYD-SHOT /?CCL185
CALL PERFORM,V?SHOOT,FLOYD,ZAPGUN
RTRUE
-?CCL181: EQUAL? PRSA,V?SHOOT \?CCL186
- ZERO? FLOYD-SHOT /?CCL189
+?CCL185: EQUAL? PRSA,V?SHOOT \?CCL190
+ ZERO? FLOYD-SHOT /?CCL193
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
+?CCL193: EQUAL? HERE,FACTORY \?CCL195
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."
-?CCL191: INC 'ZAPGUN-SHOTS
+?CCL195: 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
+?CCL190: EQUAL? PRSA,V?PICK \?CCL197
CALL PICK-ROBOT
RSTACK
-?CCL193: EQUAL? PRSA,V?CLOSE \?CCL195
+?CCL197: EQUAL? PRSA,V?CLOSE \?CCL199
PRINT HUH
RTRUE
-?CCL195: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE \?CCL197
+?CCL199: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE \?CCL201
CALL PERFORM,V?OPEN,FLOYD
RTRUE
-?CCL197: FSET? FLOYD,ACTIVEBIT \?CCL199
+?CCL201: FSET? FLOYD,ACTIVEBIT \?CCL203
SET 'FLOYD-SPOKE,TRUE-VALUE
- EQUAL? PRSA,V?ON \?CCL202
+ EQUAL? PRSA,V?ON \?CCL206
PRINTR "He's already been activated."
-?CCL202: EQUAL? PRSA,V?OFF \?CCL204
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL207
+?CCL206: EQUAL? PRSA,V?OFF \?CCL208
+ GRTR? PLATO-ATTACK-COUNTER,0 \?CCL211
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
+?CCL211: FCLEAR FLOYD,ACTIVEBIT
FCLEAR FLOYD,ACTORBIT
- ZERO? SPACETRUCK-COUNTER \?CND208
+ ZERO? SPACETRUCK-COUNTER \?CND212
CALL DEQUEUE,I-FLOYD
-?CND208: PRINTI "Floyd, shocked by this betrayal from his old friend, whimpers and keels over"
- FIRST? FLOYD \?CND210
+?CND212: PRINTI "Floyd, shocked by this betrayal from his old friend, whimpers and keels over"
+ FIRST? FLOYD \?CND214
CALL ROB,FLOYD,HERE
PRINTI ", dropping what he was carrying"
-?CND210: PRINT PERIOD-CR
+?CND214: PRINT PERIOD-CR
RTRUE
-?CCL204: EQUAL? HERE,FACTORY /FALSE
- EQUAL? PRSA,V?KISS \?CCL215
+?CCL208: EQUAL? HERE,FACTORY /FALSE
+ EQUAL? PRSA,V?KISS \?CCL219
PRINTR "You receive a painful electric shock."
-?CCL215: EQUAL? PRSA,V?SCOLD \?CCL217
+?CCL219: EQUAL? PRSA,V?SCOLD \?CCL221
PRINTR "Floyd looks defensive. ""What did Floyd do wrong?"""
-?CCL217: EQUAL? PRSA,V?PLAY-WITH \?CCL219
- ZERO? FLOYD-ANGUISHED /?CCL222
+?CCL221: EQUAL? PRSA,V?PLAY-WITH \?CCL223
+ ZERO? FLOYD-ANGUISHED /?CCL226
CALL PERFORM,V?TOUCH,FLOYD
RTRUE
-?CCL222: EQUAL? FLOYD,ROBOT-PICKED /?CND220
+?CCL226: CALL UNTOUCHABLE?,FLOYD
+ ZERO? STACK /?CND224
CALL CANT-REACH,FLOYD
RTRUE
-?CND220: SET 'C-ELAPSED,30
+?CND224: SET 'C-ELAPSED,30
CALL QUEUE,I-FLOYD,1
PRINTI "You play with Floyd for several centichrons until you"
MUL ROBOT-EVILNESS,15
SUB STACK,135 >?TMP1
RANDOM 100
- LESS? ?TMP1,STACK /?CCL226
+ LESS? ?TMP1,STACK /?CCL230
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
+?CCL230: PRINTR "'re completely winded. Floyd pokes at you gleefully. ""C'mon! Let's play some more!"""
+?CCL223: EQUAL? PRSA,V?LISTEN \?CCL232
PRINTR "Floyd is babbling about this and that."
-?CCL228: EQUAL? PRSA,V?TAKE \?CCL230
- EQUAL? PRSO,FLOYD \?CCL230
- FSET? HERE,WEIGHTLESSBIT \?CCL235
+?CCL232: EQUAL? PRSA,V?TAKE \?CCL234
+ EQUAL? PRSO,FLOYD \?CCL234
+ FSET? HERE,WEIGHTLESSBIT \?CCL239
PRINTR "Sans gravity, you easily pick up Floyd. ""Oh, boy! Zero-Gee Polo,"" he yells, wriggling away and bounding off several walls."
-?CCL235: FSET? FLOYD,TOUCHBIT \FALSE
+?CCL239: 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."
-?CCL230: EQUAL? PRSA,V?MUNG,V?KILL \?CCL239
+?CCL234: EQUAL? PRSA,V?MUNG,V?KILL \?CCL243
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!"""
-?CCL239: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL241
- GRTR? ROBOT-EVILNESS,13 \?CCL244
+?CCL243: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL245
+ GRTR? ROBOT-EVILNESS,13 \?CCL248
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
+?CCL248: PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks."
+?CCL245: EQUAL? PRSA,V?OPEN,V?CLEAN,V?SEARCH /?CTR249
+ EQUAL? PRSA,V?TICKLE \?CCL250
+?CTR249: 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."
+?CCL250: EQUAL? PRSA,V?PUT,V?GIVE \?CCL254
+ EQUAL? PRSI,FLOYD \?CCL254
+ EQUAL? PRSO,TAFFY,GRAY-GOO,ORANGE-GOO /?CTR258
+ EQUAL? PRSO,NECTAR,SOUP \?CCL259
+?CTR258: PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?"""
+?CCL259: EQUAL? PRSO,LEASH \?CCL263
CALL FLOYD-TAKE-LEASH
RSTACK
-?CCL259: EQUAL? PRSO,OSTRICH-NIP \?CCL261
+?CCL263: EQUAL? PRSO,OSTRICH-NIP \?CCL265
PRINTR """Phew!"" says Floyd, holding his nose and handing it back."
-?CCL261: CALL CCOUNT,FLOYD
- GRTR? STACK,3 /?CTR262
- EQUAL? PRSO,SPACESUIT,OSTRICH-NIP /?CTR262
- EQUAL? PRSO,EXPLOSIVE,TIMER,DETONATOR /?CTR262
- FSET? PRSO,CONTBIT /?CTR262
+?CCL265: CALL CCOUNT,FLOYD
+ GRTR? STACK,3 /?CTR266
+ EQUAL? PRSO,SPACESUIT,OSTRICH-NIP /?CTR266
+ EQUAL? PRSO,EXPLOSIVE,TIMER,DETONATOR /?CTR266
+ FSET? PRSO,CONTBIT /?CTR266
RANDOM 100
- LESS? 35,STACK /?CCL263
-?CTR262: MOVE PRSO,HERE
+ LESS? 35,STACK /?CCL267
+?CTR266: MOVE PRSO,HERE
PRINTI "Floyd examines the "
PRINTD PRSO
PRINTR ", shrugs, and drops it."
-?CCL263: MOVE PRSO,FLOYD
+?CCL267: MOVE PRSO,FLOYD
PRINTR """Neat!"" exclaims Floyd. He thanks you profusely."
-?CCL250: EQUAL? PRSA,V?SHOW \?CCL270
- EQUAL? FLOYD,PRSI \?CCL270
+?CCL254: EQUAL? PRSA,V?SHOW \?CCL274
+ EQUAL? FLOYD,PRSI \?CCL274
SET 'AWAITING-REPLY,3
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
PRINTI "Floyd looks over"
CALL TPRINT-PRSO
PRINTR ". ""Can you play any games with it?"" he asks."
-?CCL270: EQUAL? PRSA,V?HUG,V?TOUCH \?CCL274
+?CCL274: EQUAL? PRSA,V?HUG,V?TOUCH \?CCL278
PRINTR "Floyd gives a contented sigh."
-?CCL274: EQUAL? PRSA,V?SMELL \FALSE
+?CCL278: EQUAL? PRSA,V?SMELL \FALSE
PRINTR "Floyd smells faintly of ozone and light machine oil."
-?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
+?CCL203: EQUAL? PRSA,V?OFF,V?ON \?CCL282
+ ZERO? FLOYD-SHOT /?CCL282
+ PRINTR "The switch crumbles in your hand; it looks like Floyd's headed for that big Robot Pool in the sky..."
+?CCL282: EQUAL? PRSA,V?ON \?CCL286
+ CALL QUEUE,I-FLOYD,-1
SET 'FLOYD-SPOKE,TRUE-VALUE
FSET FLOYD,ACTORBIT
FSET FLOYD,ACTIVEBIT
@@ -505,15 +509,15 @@
PRINT HOPPING-MAD
CRLF
RTRUE
-?CCL278: EQUAL? PRSA,V?OFF \?CCL283
+?CCL286: EQUAL? PRSA,V?OFF \?CCL288
PRINTR "Floyd isn't on."
-?CCL283: EQUAL? PRSA,V?TELL \?CCL285
- ZERO? FLOYD-SHOT \?CCL285
+?CCL288: EQUAL? PRSA,V?TELL \?CCL290
+ ZERO? FLOYD-SHOT \?CCL290
PRINTI "Floyd isn't that great a listener even when he's on..."
CRLF
CALL STOP
RSTACK
-?CCL285: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE
+?CCL290: 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."
@@ -568,307 +572,32 @@
?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,?TMP1
- CALL QUEUE,I-FLOYD,-1
- 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! (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
-?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
-?CCL5: ZERO? FLOYD-ANGUISHED /?CCL7
- CALL VISIBLE?,FLOYD
- ZERO? STACK \?CND8
- SET 'FLOYD-ANGUISHED,FALSE-VALUE
-?CND8: SET 'FLOYD-FOLLOW,FALSE-VALUE
- RFALSE
-?CCL7: CALL VISIBLE?,FLOYD
- ZERO? STACK /?CCL11
- FSET? FLOYD,ACTIVEBIT \FALSE
- 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
-?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 \?CTR24
-?PRD27: GRTR? TIMER-SETTING,0 \?CCL25
- CALL VISIBLE?,EXPLOSIVE
- ZERO? STACK /?CCL25
-?CTR24: REMOVE FLOYD
- PRINTI " "
- IN? PLATO,HERE \?CCL35
- SET 'POSTPONE-ATTACK,TRUE-VALUE
- REMOVE PLATO
- 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
-?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
-?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
-?CCL35: PRINTI "Floyd says, ""Floyd going exploring. See you later."" He glides out of the room."
- CRLF
- JUMP ?CND1
-?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 /?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 \?CCL52
- RANDOM 100
- LESS? 6,STACK /?CCL52
- MOVE OBJ,FLOYD
- PRINTI " Floyd picks up"
- CALL TPRINT,OBJ
- PRINTI ", examines it, and tucks "
- FSET? OBJ,PLURALBIT \?CCL63
- PRINTI "them"
- JUMP ?CND61
-?CCL63: PRINTI "it"
-?CND61: PRINTI " under his arm."
- CRLF
- JUMP ?CND1
-?CCL52: FIRST? FLOYD \?CCL65
- RANDOM 100
- LESS? 6,STACK /?CCL65
- FIRST? FLOYD >OBJ /?KLU185
-?KLU185: NEXT? OBJ \?CND68
- RANDOM 100
- 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
-?CCL65: FIRST? FLOYD \?CCL73
- RANDOM 100
- LESS? 4,STACK /?CCL73
- FIRST? FLOYD >OBJ /?KLU187
-?KLU187: NEXT? OBJ \?CND76
- RANDOM 100
- 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
-?CCL73: IN? PLATO,HERE \?CCL81
- RANDOM 100
- LESS? 70,STACK /?CCL81
- PRINTI " "
- CALL PICK-ONE,PLATOISMS
- PRINT STACK
- PRINT PERIOD-CR
- JUMP ?CND1
-?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? ?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
-?CCL90: CALL PICK-ONE,NEUTRAL-FLOYDISMS
- PRINT STACK
- PRINT PERIOD-CR
- JUMP ?CND1
-?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 /?CCL101
- PRINTI " Plato strolls in and gives Floyd a pat. ""I reactivated the little fellow; I hope you don't mind."""
- CRLF
- 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
-?CND99: MOVE PLATO,HERE
- MOVE FLOYD,HERE
- JUMP ?CND1
-?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
+ .FUNCT MOVE-FLOYD-TO-FACTORY
+ MOVE FLOYD,FACTORY
+ EQUAL? HERE,EAST-JUNCTION,LEVEL-FIVE \?CCL3
PUSH SOUTH-CONNECTION
- JUMP ?CND109
-?CCL111: EQUAL? HERE,SOUTH-JUNCTION,NORTH-JUNCTION \?CCL113
+ JUMP ?CND1
+?CCL3: EQUAL? HERE,SOUTH-JUNCTION,NORTH-JUNCTION \?CCL5
PUSH EAST-CONNECTION
- JUMP ?CND109
-?CCL113: RANDOM 100
- LESS? 25,STACK /?CCL115
+ JUMP ?CND1
+?CCL5: RANDOM 100
+ LESS? 25,STACK /?CCL7
PUSH SOUTH-JUNCTION
- JUMP ?CND109
-?CCL115: RANDOM 100
- LESS? 33,STACK /?CCL117
+ JUMP ?CND1
+?CCL7: RANDOM 100
+ LESS? 33,STACK /?CCL9
PUSH EAST-JUNCTION
- JUMP ?CND109
-?CCL117: RANDOM 100
- LESS? 50,STACK /?CCL119
+ JUMP ?CND1
+?CCL9: RANDOM 100
+ LESS? 50,STACK /?CCL11
PUSH NORTH-JUNCTION
- JUMP ?CND109
-?CCL119: PUSH LEVEL-FIVE
-?CND109: CALL ROB,FLOYD,STACK
+ JUMP ?CND1
+?CCL11: PUSH LEVEL-FIVE
+?CND1: CALL ROB,FLOYD,STACK
MOVE STUN-GUN,FLOYD
CALL DEQUEUE,I-FLOYD
CALL DEQUEUE,I-ROBOT-EVILNESS
- RFALSE
-?CCL103: ZERO? FLOYD-FOLLOW /?CCL121
- EQUAL? HERE,AIRLOCK \?CCL121
- PRINTI " Floyd calls from above, """
- ZERO? PLATO-INTRODUCED /?CCL126
- ZERO? PLATO-ATTACK-COUNTER \?CCL126
- PRINTI "We"
- 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 ?CND129
-?CCL131: PRINTI "both"
-?CND129: PRINTI " of us."""
- CRLF
- JUMP ?CND1
-?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 /?CCL135
-?CTR134: PRINTI " Floyd "
- ZERO? PLATO-INTRODUCED /?CCL145
- ZERO? PLATO-ATTACK-COUNTER \?CCL145
- MOVE PLATO,HERE
- PRINTI "and Plato follow"
- JUMP ?CND143
-?CCL145: PRINTI "follows"
-?CND143: MOVE FLOYD,HERE
- PRINTI " you."
- CRLF
- JUMP ?CND1
-?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"
-?CND152: PRINTI ". ""Hey, wait for "
- ZERO? PLATO-INTRODUCED /?CCL158
- ZERO? PLATO-ATTACK-COUNTER \?CCL158
- MOVE PLATO,HERE
- PRINTI "us"
- JUMP ?CND156
-?CCL158: PRINTI "Floyd"
-?CND156: MOVE FLOYD,HERE
- PRINTI "!"" he yells."
- CRLF
- JUMP ?CND1
-?CCL149: RANDOM 100
- LESS? 17,STACK /?CND1
- ZERO? LIT /?CND1
- EQUAL? HERE,AIRLOCK,VACUUM-STORAGE /?CND1
- PRINTI " Floyd "
- ZERO? PLATO-INTRODUCED \?CCL167
- FSET? LEVEL-FIVE,TOUCHBIT \?CCL167
- RANDOM 100
- 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 ?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 ?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."
-?CND176: CRLF
-?CND165: MOVE FLOYD,HERE
- ZERO? HANGING-IN-AIR /?CND1
- ZERO? HANGING-COMMENT \?CND1
- SET 'FLOYD-SPOKE,TRUE-VALUE
- CALL FLOYDS-HANGING-IN-AIR-COMMENT
-?CND1: SET 'FLOYD-SPOKE,FALSE-VALUE
- SET 'FLOYD-FOLLOW,FALSE-VALUE
- RETURN FLOYD-FOLLOW
+ RSTACK
.FUNCT HELEN-F
@@ -891,8 +620,8 @@
CALL CONFETTI,PRSO
RSTACK
?CCL14: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?CCL18
- CALL PERFORM-PRSA,PLATO
- RSTACK
+ CALL PERFORM,PRSA,PLATO
+ RTRUE
?CCL18: EQUAL? PRSA,V?PICK \FALSE
CALL PICK-ROBOT
RSTACK
@@ -919,8 +648,8 @@
CALL CANT-REACH,REX
RSTACK
?CCL13: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?CCL17
- CALL PERFORM-PRSA,PLATO
- RSTACK
+ CALL PERFORM,PRSA,PLATO
+ RTRUE
?CCL17: EQUAL? PRSA,V?PICK \FALSE
CALL PICK-ROBOT
RSTACK
@@ -931,7 +660,7 @@
MOVE ROBOT-PICKED,HERE
EQUAL? HERE,CARGO-BAY-ENTRANCE \?CCL6
EQUAL? ROBOT-PICKED,REX \?CCL6
- CALL JIGS-UP,STR?206
+ CALL JIGS-UP,STR?214
RSTACK
?CCL6: PRINTR " Helen obediently follows you."
@@ -979,8 +708,8 @@
?CCL11: PRINT LOOK-AROUND
RTRUE
?CCL8: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL13
- CALL PERFORM-PRSA,SPACETRUCK-HATCH
- RSTACK
+ CALL PERFORM,PRSA,SPACETRUCK-HATCH
+ RTRUE
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL15
EQUAL? HERE,SPACETRUCK \?CCL18
CALL V-LOOK
@@ -1025,7 +754,7 @@
.FUNCT SPACETRUCK-EXIT-F
FSET? SPACETRUCK-HATCH,OPENBIT /?CCL3
CALL THIS-IS-IT,SPACETRUCK-HATCH
- CALL DO-FIRST,STR?207
+ CALL DO-FIRST,STR?215
RFALSE
?CCL3: EQUAL? SPACETRUCK-COUNTER,-1 \?CCL5
RETURN CARGO-BAY
@@ -1054,7 +783,10 @@
JUMP ?CND7
?CCL9: MOVE FLOYD,PILOT-SEAT
?CND7: PRINTD PILOT-SEAT
- PRINTC 46
+ LOC FLOYD
+ EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \?CND10
+ PRINTI ", his feet dangling a few centimeters short of the floor"
+?CND10: PRINTC 46
EQUAL? SPACETRUCK-COUNTER,-1 \TRUE
SET 'FLOYD-SPOKE,TRUE-VALUE
SET 'AWAITING-REPLY,2
@@ -1090,23 +822,10 @@
RFALSE
- .FUNCT I-RADIO
- EQUAL? HERE,SPACETRUCK \FALSE
- RANDOM 100
- LESS? 30,STACK /?CCL5
- PRINTI " The radio crackles to life. ""Breaker. "
- CALL PICK-ONE,RADIO-LINES
- PRINT STACK
- PRINTR " Over."""
-?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 \?CCL6
- CALL RECORDING,STR?211
+ CALL RECORDING,STR?219
RSTACK
?CCL6: PRINTR "You're not in trouble! Misuse of the emergency message beacon is a court-martial offense!"
@@ -1118,24 +837,24 @@
ZERO? SPACETRUCK-COUNTER \?CCL3
PRINTI "The truck roars out of the cargo bay"
EQUAL? HERE,CARGO-BAY \?CCL6
- CALL JIGS-UP,STR?212
+ CALL JIGS-UP,STR?220
RSTACK
?CCL6: FSET? SPACETRUCK-HATCH,OPENBIT \?CCL8
- CALL JIGS-UP,STR?213
+ CALL JIGS-UP,STR?221
RSTACK
?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."
-?CCL10: CALL JIGS-UP,STR?214
+?CCL10: CALL JIGS-UP,STR?222
RSTACK
?CCL3: EQUAL? SPACETRUCK-COUNTER,1 \?CCL12
- CALL RECORDING,STR?215
+ CALL RECORDING,STR?223
RSTACK
?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."
?CCL14: EQUAL? SPACETRUCK-COUNTER,3 \?CCL16
- CALL RECORDING,STR?216
+ CALL RECORDING,STR?224
RSTACK
?CCL16: EQUAL? SPACETRUCK-COUNTER,4 \?CCL18
EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL21
@@ -1156,18 +875,18 @@
MOVE PALLETS,SHIPPING-ROOM
ADD SCORE,5 >SCORE
PRINTI "The maneuvering thrusters kick on, nudging you toward the station. "
- CALL RECORDING,STR?217
+ CALL RECORDING,STR?225
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 ?CND24
-?CCL26: CALL RECORDING,STR?218
+?CCL26: CALL RECORDING,STR?226
CALL QUEUE,I-SUFFOCATE,1970
?CND24: CALL DEQUEUE,I-SPACETRUCK
RSTACK
.FUNCT I-SUFFOCATE
- CALL JIGS-UP,STR?219
+ CALL JIGS-UP,STR?227
RSTACK
@@ -1229,23 +948,32 @@
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
+?CCL3: EQUAL? PRSA,V?EMPTY,V?POUR \?CCL5
+ EQUAL? PRSO,THERMOS \?CCL5
+ IN? SOUP,THERMOS \?CCL5
+ CALL PERFORM,PRSA,SOUP,PRSI
+ RTRUE
+?CCL5: EQUAL? PRSA,V?PUT \?CCL10
+ EQUAL? PRSI,THERMOS \?CCL10
+ EQUAL? PRSO,LARGE-BIT,SMALL-BIT,EXPLOSIVE /?CCL10
+ EQUAL? PRSO,MEDIUM-BIT /?CCL10
PRINTI "The neck of the Thermos is too narrow for"
CALL TRPRINT,PRSO
RSTACK
-?CCL5: EQUAL? PRSA,V?OPEN \FALSE
+?CCL10: EQUAL? PRSA,V?OPEN \?CCL17
CALL IN-VACUUM?
- ZERO? STACK /?CCL15
- IN? SOUP,THERMOS \?CCL15
+ ZERO? STACK /?CCL20
+ IN? SOUP,THERMOS \?CCL20
FSET THERMOS,OPENBIT
CALL SPACE-LIQUID,SOUP
RSTACK
-?CCL15: ZERO? THERMOS-FILLED-WITH-GAS /FALSE
+?CCL20: ZERO? THERMOS-FILLED-WITH-GAS /FALSE
FSET THERMOS,OPENBIT
PRINTR "You open the thermos, releasing a puff of FREZONE (tm) gas."
+?CCL17: EQUAL? PRSA,V?REACH-IN \FALSE
+ IN? SOUP,THERMOS \FALSE
+ CALL PERFORM,V?EXAMINE,SOUP
+ RTRUE
.FUNCT I-THERMOS
@@ -1277,8 +1005,14 @@
PRINT YNH
CALL TRPRINT,THERMOS
RSTACK
-?CCL7: EQUAL? PRSA,V?TASTE,V?TOUCH,V?EXAMINE \FALSE
- PRINTI "The soup seems to be "
+?CCL7: EQUAL? PRSA,V?EMPTY,V?POUR \?CCL11
+ REMOVE SOUP
+ CALL MESS,STR?229
+ PRINT PERIOD-CR
+ RTRUE
+?CCL11: EQUAL? PRSA,V?TASTE,V?TOUCH,V?EXAMINE /?CCL13
+ EQUAL? PRSA,V?REACH-IN \FALSE
+?CCL13: PRINTI "The soup seems to be "
CALL DESCRIBE-SOUP-TEMPERATURE
RSTACK
diff --git a/ship.zil b/ship.zil
index 0dde166..a7f0a1f 100644
--- a/ship.zil
+++ b/ship.zil
@@ -8,8 +8,8 @@
(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 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.")
+The corridor continues starboard and a room lies aft. Beyond the door to
+port lies the bulk of the Duffy. Next to the door is a slot.")
(EAST TO CARGO-BAY-ENTRANCE)
(SOUTH TO FORM-STORAGE-ROOM)
(WEST PER FAKE-DOOR-ENTER-F)
@@ -18,7 +18,7 @@ door to port lies the bulk of the Duffy. Next to the door is a slot.")
(<> SLOT FORM-SLOT-F)>)>
<ROUTINE FAKE-DOOR-ENTER-F ()
- <THIS-IS-IT ,PSEUDO-OBJECT>
+ ;<THIS-IS-IT ,PSEUDO-OBJECT> ;"doesn't work"
<TELL "The door is closed." CR>
<RFALSE>>
@@ -26,6 +26,8 @@ door to port lies the bulk of the Duffy. Next to the door is a slot.")
<COND (<VERB? OPEN>
<RECORDING
"You must insert a validated Assignment Completion Form in the slot">)
+ (<VERB? EXAMINE>
+ <TELL "There's a slot next to the closed door." CR>)
(<VERB? ENTER>
<DO-WALK ,P?WEST>)>>
@@ -37,7 +39,7 @@ door to port lies the bulk of the Duffy. Next to the door is a slot.")
(SYNONYM FORM FORMS QX-17-T)
(ADJECTIVE ASSIGNMENT COMPLETION FORM)
(FLAGS TAKEBIT READBIT VOWELBIT)
- (SIZE 2)
+ (SIZE 1)
(ACTION FORM-F)>
<OBJECT ROBOT-USE-AUTHORIZATION-FORM
@@ -46,6 +48,7 @@ door to port lies the bulk of the Duffy. Next to the door is a slot.")
(SYNONYM FORM FORMS JZ-59-G)
(ADJECTIVE ROBOT USE AUTHORIZATION FORM)
(FLAGS TAKEBIT READBIT)
+ (SIZE 1)
(ACTION FORM-F)>
<OBJECT CLASS-THREE-SPACECRAFT-ACTIVATION-FORM
@@ -54,6 +57,7 @@ door to port lies the bulk of the Duffy. Next to the door is a slot.")
(SYNONYM FORM FORMS HB-56-V)
(ADJECTIVE CLASS THREE SPACECRAFT ACTIVA FORM)
(FLAGS TAKEBIT READBIT)
+ (SIZE 1)
(ACTION FORM-F)>
<ROUTINE FORM-F ()
@@ -79,7 +83,7 @@ door to port lies the bulk of the Duffy. Next to the door is a slot.")
(DESC "chronometer")
(SYNONYM CHRONOMETER WRISTWATCH WATCH)
(ADJECTIVE WRIST MY)
- (SIZE 10)
+ (SIZE 8)
(FLAGS TAKEBIT WEARBIT WORNBIT)
(ACTION CHRONOMETER-F)>
@@ -103,12 +107,14 @@ stopped. You can't recall doing anything that might have broken it." CR>)
(SYNONYM CARD CARDS)
(ADJECTIVE MY PATROL ID IDENTIFICATION)
(FLAGS VOWELBIT TAKEBIT TRYTAKEBIT READBIT)
- (SIZE 3)
+ (SIZE 2)
(TEXT
"\"STELLAR PATROL|
Paperwork Task Force|
ID Number: 1451-352-716\"")>
+<GLOBAL SCRAMBLED-FOOTNOTE <>>
+
<GLOBAL ID-SCRAMBLED <>>
<OBJECT PATROL-UNIFORM
@@ -118,6 +124,7 @@ ID Number: 1451-352-716\"")>
(ADJECTIVE PATROL MY)
(FLAGS TAKEBIT WORNBIT WEARBIT CONTBIT SEARCHBIT OPENBIT)
(CAPACITY 10)
+ (SIZE 8)
(ACTION PATROL-UNIFORM-F)>
<GLOBAL SUIT-PRESSED <>>
@@ -145,9 +152,8 @@ else, it is super-comfy">
(<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>)
+" Ensign Twelfth Class Blather walks by, lugging his toilet scrubbing
+supplies. He spots you, whimpers, and slouches away (Footnote 2)." CR>)
(T
<SETG BLATHER-PROB <+ ,BLATHER-PROB 10>>)>>
@@ -216,7 +222,7 @@ Disbursal Form,\" \"Loss of Form Pallet Label Report Form,\" and
(IN ROOMS)
(DESC "Cargo Bay Entrance")
(LDESC
-"The deck five corridor ends here at the entrance to the cargo bay, to
+"The deck twelve corridor ends here at the entrance to the cargo bay, to
starboard. A smaller entrance leads fore.")
(EAST TO CARGO-BAY)
(WEST TO DECK-TWELVE)
@@ -241,7 +247,7 @@ starboard. A smaller entrance leads fore.")
<QUEUE I-FLOYD <+ ,C-ELAPSED 2>>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is where a " ,LFC " would come to check out a robot for use on an
+"This is where a " ,LFC " would come to obtain a robot for use on an
important assignment. Also for a trivial assignment like yours. "
,ROBOT-POOL-EQUIPMENT-DESC " You can exit aft.">)
(<AND <EQUAL? .RARG ,M-EXIT>
@@ -253,7 +259,7 @@ important assignment. Also for a trivial assignment like yours. "
<PRSO? ,PSEUDO-OBJECT>>
<AND <EQUAL? <GET ,P-ADJW 1> <>>
<PRSI? ,PSEUDO-OBJECT>>>
- <TELL "Next time, specify which bin you meant." CR>)
+ <TELL ,REFER-TO-BIN>)
(<VERB? LOOK-INSIDE>
<COND (<AND <ADJ-USED ,A?FIRST ,PSEUDO-OBJECT>
<NOT <EQUAL? ,ROBOT-PICKED ,REX>>>
@@ -296,23 +302,24 @@ important assignment. Also for a trivial assignment like yours. "
<PERFORM ,V?COMFORT ,FLOYD>
<STOP>)
(,FLOYD-ANGUISHED
- <SETG WINNER ,PROTAGONIST>
- <PERFORM ,V?TOUCH ,FLOYD>
+ <TELL ,FLOYD-SNIFFS>
<STOP>)
(<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>
+ <SET TXT <GETP ,PRSI ,P?FLOYD-ASK-ABOUT>>
<COND (<G? ,ROBOT-EVILNESS 12>
<TELL "\"Oh, quit jabbering already.\"" CR>)
- (<SET TXT <GETP ,PRSI ,P?FLOYD-ASK-ABOUT>>
- <TELL "\"" .TXT "\"" CR>)
- (T
- <TELL "Floyd shrugs. \"Beats me.">
+ (<OR <NOT .TXT>
+ <AND <PRSI? ,OLIVER>
+ <NOT <FSET? ,OLIVER ,TOUCHBIT>>>>
+ <TELL "Floyd shrugs. \"Beats me.">
<COND (<IN? ,PLATO ,HERE>
<TELL
" Ask Plato. He knows everything!">)>
- <TELL "\"" CR>)>)
- (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
+ <TELL "\"" CR>)
+ (T
+ <TELL "\"" .TXT "\"" CR>)>)
+ (,STUNNED
<COND (<OR <VERB? HELP>
<AND <VERB? SAVE-SOMETHING>
<PRSO? ,ME>>
@@ -323,7 +330,7 @@ important assignment. Also for a trivial assignment like yours. "
<SETG FLOYD-TOLD T>
<TELL
"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...\"" CR>)
+me please. Floyd in quandry...\"" CR>)
(T
<TELL
"Floyd just looks at you with confusion and panic in his eyes." CR>
@@ -441,7 +448,7 @@ of 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>
- <STOP>)
+ <RFATAL>)
(<AND <NOT <EQUAL? ,ROBOT-PICKED ,FLOYD>>
<TOUCHING? ,FLOYD>>
<CANT-REACH ,FLOYD>)
@@ -452,8 +459,7 @@ of direction.\" Then he looks up at you with wide, trusting eyes.
(<AND ,FLOYD-ANGUISHED
<OR <TOUCHING? ,FLOYD>
<VERB? COMFORT>>>
- <TELL
-"Floyd sniffs, \"Please leave Floyd alone for a while.\"" CR>)
+ <TELL ,FLOYD-SNIFFS>)
(<AND <PROB <- <* ,ROBOT-EVILNESS 10> 70>>
<TOUCHING? ,FLOYD>
<NOT <VERB? OFF KICK SHAKE>>
@@ -547,7 +553,7 @@ life, you kripping ingrate.\"" CR>)
<COND (,FLOYD-ANGUISHED
<PERFORM ,V?TOUCH ,FLOYD>
<RTRUE>)
- (<NOT <EQUAL? ,FLOYD ,ROBOT-PICKED>>
+ (<UNTOUCHABLE? ,FLOYD>
<CANT-REACH ,FLOYD>
<RTRUE>)>
<SETG C-ELAPSED 30>
@@ -629,17 +635,18 @@ games with it?\" he asks." CR>)
<TELL
"Floyd smells faintly of ozone and light machine oil." CR>)>)
;"following clauses are for when Floyd is off"
+ (<AND <VERB? ON OFF>
+ ,FLOYD-SHOT>
+ <TELL
+"The switch crumbles in your hand; it looks like Floyd's headed for that
+big Robot Pool in the sky..." CR>)
(<VERB? ON>
- <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>)>)
+ <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>)
(<AND <VERB? TELL>
@@ -715,265 +722,7 @@ grip slips and he clatters to the deck. \"Oops! More dents!\"" CR>)>>
<GLOBAL FLOYD-ANGUISHED <>> ;"true if Plato just died"
-<ROUTINE I-FLOYD ("AUX" (OBJ <>))
- <QUEUE I-FLOYD -1>
- <COND (<NOT <FSET? ,FLOYD ,TOUCHBIT>>
- <FSET ,FLOYD ,TOUCHBIT>
- <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! (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
-pick Floyd pick Floyd!\"" CR>)
- (,FLOYD-ANGUISHED
- <COND (<NOT <VISIBLE? ,FLOYD>>
- <SETG FLOYD-ANGUISHED <>>)>
- <SETG FLOYD-FOLLOW <>>
- <RFALSE>)
- (<VISIBLE? ,FLOYD>
- <COND (<NOT <FSET? ,FLOYD ,ACTIVEBIT>>
- <RFALSE>)>
- <COND (<AND <IN? ,OSTRICH ,HERE>
- <NOT ,OSTRICH-COMMENT>>
- <SETG OSTRICH-COMMENT T>
- <TELL
-" Floyd looks at the ostrich with breathless excitement.
-\"Wow! An elephant!\"" CR>)
- (<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>
- <SETG POSTPONE-ATTACK T>
- <REMOVE ,PLATO>
- <COND (<G? ,ROBOT-EVILNESS 8>
- <TELL
-"\"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." CR>)
- (<OR <PROB 50>
- <EQUAL? ,HERE ,LIBRARY>>
- <TELL
-"\"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!\"" CR>)
- (T
- <TELL
-"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!\"" CR>)>)
- (T
- <TELL
-"Floyd says, \"Floyd going exploring. See you later.\"
-He glides out of the room." CR>)>)
- (<AND <PROB 45>
- <NOT ,FLOYD-SPOKE>
- <IN? ,FLOYD ,HERE>
- <IN? ,PROTAGONIST ,HERE>
- <NOT ,HANGING-IN-AIR>
- ,LIT>
- <SET OBJ <FIRST? ,HERE>>
- <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>>
- <L? <CCOUNT ,FLOYD> 4>
- <PROB 6>>
- <MOVE .OBJ ,FLOYD>
- <TELL
-" Floyd picks up" T .OBJ ", examines it, and tucks ">
- <COND (<FSET? .OBJ ,PLURALBIT>
- <TELL "them">)
- (T
- <TELL "it">)>
- <TELL " under his arm." CR>)
- (<AND <FIRST? ,FLOYD>
- <PROB 6>>
- <SET OBJ <FIRST? ,FLOYD>>
- <COND (<AND <NEXT? .OBJ>
- <PROB 60>>
- <SET OBJ <NEXT? .OBJ>>)>
- <MOVE .OBJ ,HERE>
- <TELL
-" Floyd drops" T .OBJ " he was carrying." CR>)
- (<AND <FIRST? ,FLOYD>
- <PROB 4>>
- <SET OBJ <FIRST? ,FLOYD>>
- <COND (<AND <NEXT? .OBJ>
- <PROB 60>>
- <SET OBJ <NEXT? .OBJ>>)>
- <TELL
-" Floyd moves" T .OBJ " in a wavering course through the air, making
-a roaring noise like a rocket exhaust." CR>)
- (<AND <IN? ,PLATO ,HERE>
- <PROB 70>>
- <TELL " " <PICK-ONE ,PLATOISMS> ,PERIOD-CR>)
- (T
- <TELL " Floyd ">
- <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 ,NEUTRAL-FLOYDISMS>
- ,PERIOD-CR>)>)>)>)
- (<NOT <FSET? ,FLOYD ,ACTIVEBIT>>
- <COND (<OR <EQUAL? ,HERE ,VACUUM-STORAGE ,AIRLOCK>
- <L? ,SPACETRUCK-COUNTER 5>>
- <RFALSE>)
- (<NEXT-ROOM? ,FLOYD>
- <RFALSE>)>
- <FSET ,FLOYD ,ACTIVEBIT>
- <FSET ,FLOYD ,ACTORBIT>
- <TELL " Floyd bounds up to you" ,HOPPING-MAD>
- <COND (,PLATO-INTRODUCED
- <TELL
-" Plato strolls in and gives Floyd a pat. \"I reactivated the little fellow;
-I hope you don't mind.\"" CR>)
- (T
- <TELL
-" Another robot wanders in behind Floyd and notices you." CR>
- <I-PLATO T>
- <TELL
-" Plato motions toward Floyd. \"I presume you know this playful little
-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 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)
- (<==? ,HERE ,SOUTH-JUNCTION ,NORTH-JUNCTION>
- ,EAST-CONNECTION)
- (<PROB 25>
- ,SOUTH-JUNCTION)
- (<PROB 33>
- ,EAST-JUNCTION)
- (<PROB 50>
- ,NORTH-JUNCTION)
- (T
- ,LEVEL-FIVE)>>
- <MOVE ,STUN-GUN ,FLOYD>
- <DEQUEUE I-FLOYD>
- <DEQUEUE I-ROBOT-EVILNESS>
- <RFALSE>)
- (<AND ,FLOYD-FOLLOW
- <EQUAL? ,HERE ,AIRLOCK>>
- <TELL " Floyd calls from above, \"">
- <COND (<AND ,PLATO-INTRODUCED
- <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
- <TELL "We">)
- (T
- <TELL "I">)>
- <TELL
-"'ll wait here; it doesn't look like there's room in that phone booth for ">
- <COND (<AND ,PLATO-INTRODUCED
- <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
- <TELL "all">)
- (T
- <TELL "both">)>
- <TELL " of us.\"" CR>)
- (<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>>
- <MOVE ,PLATO ,HERE>
- <TELL "and Plato follow">)
- (T
- <TELL "follows">)>
- <MOVE ,FLOYD ,HERE>
- <TELL " you." CR>)
- (<EQUAL? ,HERE ,SPACETRUCK ,ELEVATOR ,BRIG ,ARMORY>
- <TELL " Floyd bounces in">
- <COND (<AND ,PLATO-INTRODUCED
- <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
- <MOVE ,PLATO ,HERE>
- <TELL ", followed at a more leisurely pace by Plato">)>
- <TELL ". \"Hey, wait for ">
- <COND (<AND ,PLATO-INTRODUCED
- <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
- <MOVE ,PLATO ,HERE>
- <TELL "us">)
- (T
- <TELL "Floyd">)>
- <MOVE ,FLOYD ,HERE>
- <TELL "!\" he yells." CR>)
- (<AND <PROB 17>
- ,LIT
- <NOT <EQUAL? ,HERE ,AIRLOCK ,VACUUM-STORAGE>>>
- <TELL " Floyd ">
- <COND (<AND <NOT ,PLATO-INTRODUCED>
- <FSET? ,LEVEL-FIVE ,TOUCHBIT>
- <PROB 50>>
- <TELL
-"dashes into view, followed by a slightly older-looking robot. \"Look, Floyd
-found a new friend,\" Floyd says with unbounded exuberance." CR>
- <I-PLATO T>)
- (T
- <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.\"">)
- (T
- <TELL
-"bounds into the room. \"Floyd here now!\" he cries.">)>
- <COND (<AND ,PLATO-INTRODUCED
- <EQUAL? ,PLATO-ATTACK-COUNTER 0>>
- <MOVE ,PLATO ,HERE>
- <TELL
-" You notice that Plato has also roamed into view behind Floyd, once again
-absorbed in his reading.">)>
- <CRLF>)>
- <MOVE ,FLOYD ,HERE>
- <COND (<AND ,HANGING-IN-AIR
- <NOT ,HANGING-COMMENT>>
- <SETG FLOYD-SPOKE T>
- <FLOYDS-HANGING-IN-AIR-COMMENT>)>)>
- <SETG FLOYD-SPOKE <>>
- <SETG FLOYD-FOLLOW <>>>
+;"routine I-FLOYD moved to INTERRUPTS file"
<GLOBAL GOOD-FLOYDISMS
<LTABLE 0
@@ -1036,6 +785,24 @@ awed by such wisdom"
\"such a reaction will not reduce the level of pain.\" He gives Floyd a
little tickle, and Floyd begins giggling and forgets the injury">>
+<ROUTINE MOVE-FLOYD-TO-FACTORY ()
+ <MOVE ,FLOYD ,FACTORY>
+ <ROB ,FLOYD <COND (<EQUAL? ,HERE ,EAST-JUNCTION ,LEVEL-FIVE>
+ ,SOUTH-CONNECTION)
+ (<==? ,HERE ,SOUTH-JUNCTION ,NORTH-JUNCTION>
+ ,EAST-CONNECTION)
+ (<PROB 25>
+ ,SOUTH-JUNCTION)
+ (<PROB 33>
+ ,EAST-JUNCTION)
+ (<PROB 50>
+ ,NORTH-JUNCTION)
+ (T
+ ,LEVEL-FIVE)>>
+ <MOVE ,STUN-GUN ,FLOYD>
+ <DEQUEUE I-FLOYD>
+ <DEQUEUE I-ROBOT-EVILNESS>>
+
<OBJECT HELEN
(IN ROBOT-POOL)
(DESC "Helen")
@@ -1068,7 +835,8 @@ perforating extension reads \"Helen.\"")
CLASS-THREE-SPACECRAFT-ACTIVATION-FORM>>
<CONFETTI ,PRSO>)
(<VERB? OFF ON OPEN>
- <PERFORM-PRSA ,PLATO>)
+ <PERFORM, PRSA ,PLATO>
+ <RTRUE>)
(<VERB? PICK>
<PICK-ROBOT>)>>
@@ -1101,7 +869,8 @@ A brass plate on one of his pneumatic arm lifts says \"Rex.\"")
<TOUCHING? ,REX>>
<CANT-REACH ,REX>)
(<VERB? OFF ON OPEN>
- <PERFORM-PRSA ,PLATO>)
+ <PERFORM, PRSA ,PLATO>
+ <RTRUE>)
(<VERB? PICK>
<PICK-ROBOT>)>>
@@ -1200,7 +969,8 @@ off and unoccupied.")
(T
<TELL ,LOOK-AROUND>)>)
(<VERB? OPEN CLOSE>
- <PERFORM-PRSA ,SPACETRUCK-HATCH>)
+ <PERFORM, PRSA ,SPACETRUCK-HATCH>
+ <RTRUE>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,SPACETRUCK>
<V-LOOK>)
@@ -1227,7 +997,7 @@ off and unoccupied.")
(DESC "Spacetruck")
(OUT PER SPACETRUCK-EXIT-F)
(FLAGS RLANDBIT ONBIT NWELDERBIT FLOYDBIT)
- (GLOBAL WINDOW KEYPAD SPACETRUCK-OBJECT SPACETRUCK-HATCH)
+ (GLOBAL VILLAGE WINDOW KEYPAD SPACETRUCK-OBJECT SPACETRUCK-HATCH)
(ACTION SPACETRUCK-F)
(THINGS <PSEUDO (<> SLOT FORM-SLOT-F)
(RED BUTTON RED-BUTTON-F)>)>
@@ -1307,7 +1077,11 @@ controlling the autopilot. The hatch is ">
<TELL "co">)
(T
<MOVE ,FLOYD ,PILOT-SEAT>)>
- <TELL D ,PILOT-SEAT ".">
+ <PRINTD ,PILOT-SEAT>
+ <COND (<EQUAL? <LOC ,FLOYD> ,PILOT-SEAT ,COPILOT-SEAT>
+ <TELL
+", his feet dangling a few centimeters short of the floor">)>
+ <TELL ".">
<COND (<EQUAL? ,SPACETRUCK-COUNTER -1>
<SETG FLOYD-SPOKE T>
<SETG AWAITING-REPLY 2>
@@ -1349,17 +1123,7 @@ a truck in over two weeks!\"">)>
<DEQUEUE I-RADIO>
<RFALSE>)>>
-<ROUTINE I-RADIO ()
- <COND (<NOT <EQUAL? ,HERE ,SPACETRUCK>>
- <RFALSE>)
- (<PROB 30>
- <TELL
-" The radio crackles to life. \"Breaker. "
-<PICK-ONE ,RADIO-LINES> " Over.\"" CR>)
- (<PROB 20>
- <TELL
-" A country and western station drifts into tune for a moment, but then
-fades again." CR>)>>
+;"routine I-RADIO moved to INTERRUPTS file"
<GLOBAL RADIO-LINES
<LTABLE
@@ -1450,7 +1214,7 @@ the floor, the bay floods with air, and a voice whispers, \"Stationfall.\"
Through the viewport, you see no one to meet you. Odd." CR>)
(T
<RECORDING
-"Arrival at terminus of inputted course. Fuel levels now effectively at
+"Arrival at terminus of inputted course. Fuel level now effectively at
zero. Oxygen supply for one person: approximately two chrons">
<QUEUE I-SUFFOCATE 1970>)>
<DEQUEUE I-SPACETRUCK>)>>
@@ -1527,6 +1291,11 @@ dead.">>
"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? POUR EMPTY>
+ <PRSO? ,THERMOS>
+ <IN? ,SOUP ,THERMOS>>
+ <PERFORM ,PRSA ,SOUP ,PRSI>
+ <RTRUE>)
(<AND <VERB? PUT>
<PRSI? ,THERMOS>
<NOT <PRSO? ,EXPLOSIVE ,SMALL-BIT ,LARGE-BIT ,MEDIUM-BIT>>>
@@ -1539,7 +1308,11 @@ centuries. This one is plaid, with pictures of little robots all over it. ">
(,THERMOS-FILLED-WITH-GAS
<FSET ,THERMOS ,OPENBIT>
<TELL
-"You open the thermos, releasing a puff of FREZONE (tm) gas." CR>)>)>>
+"You open the thermos, releasing a puff of FREZONE (tm) gas." CR>)>)
+ (<AND <VERB? REACH-IN>
+ <IN? ,SOUP ,THERMOS>>
+ <PERFORM ,V?EXAMINE ,SOUP>
+ <RTRUE>)>>
<GLOBAL THERMOS-FILLED-WITH-GAS <>>
@@ -1578,7 +1351,11 @@ centuries. This one is plaid, with pictures of little robots all over it. ">
<NOT <ULTIMATELY-IN? ,THERMOS>>>
<THIS-IS-IT ,THERMOS>
<TELL ,YNH TR ,THERMOS>)
- (<VERB? EXAMINE TOUCH TASTE>
+ (<VERB? POUR EMPTY>
+ <REMOVE ,SOUP>
+ <MESS "soup">
+ <TELL ,PERIOD-CR>)
+ (<VERB? EXAMINE TOUCH TASTE REACH-IN>
<TELL "The soup seems to be ">
<DESCRIBE-SOUP-TEMPERATURE>)>>
diff --git a/station.zap b/station.zap
index 40fdc08..8c15ab6 100644
--- a/station.zap
+++ b/station.zap
@@ -44,7 +44,7 @@
?CCL11: EQUAL? PRSA,V?PUT \?CCL13
EQUAL? PRSI,JAMMER \?CCL13
EQUAL? PRSO,TWENTY-PRONG-FROMITZ-BOARD /?CCL13
- CALL DOESNT-FIT,STR?227
+ CALL DOESNT-FIT,STR?236
RSTACK
?CCL13: EQUAL? PRSA,V?CONNECT \?CCL18
EQUAL? TWENTY-PRONG-FROMITZ-BOARD,PRSO,PRSI \?CCL18
@@ -104,7 +104,7 @@
REMOVE COIN
FSET DISPENSER,TOUCHBIT
PRINTR """Clink!"" The coin drops into the slot."
-?CCL10: CALL DOESNT-FIT,STR?232
+?CCL10: CALL DOESNT-FIT,STR?241
RSTACK
?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"
@@ -112,7 +112,7 @@
PRINTI """
As you drill into the dispenser, you"
PRINT STRIKE-POWER-SOURCE
- CALL JIGS-UP,STR?233
+ CALL JIGS-UP,STR?242
RSTACK
?CCL12: EQUAL? PRSA,V?SHOOT \?CCL14
REMOVE DISPENSER
@@ -204,7 +204,7 @@
FIRST? DISPENSER \FALSE
INC 'ROBOT-EVILNESS
ADD SCORE,6 >SCORE
- PRINTI " It jerks its head back out, squawking even louder, and a moment later a "
+ PRINTI " It jerks its head back out, squawking even more loudly, and a moment later a "
FIRST? DISPENSER /?KLU4
?KLU4: PRINTD STACK
PRINTI " falls out of the hole"
@@ -233,9 +233,9 @@
PRINT NEXT-TIME
RTRUE
?CCL13: EQUAL? PRSI,INTNUM /?CCL15
- PRINTR "You can only set the timer to a number!"
+ PRINTR "You can set the timer only to a number!"
?CCL15: GRTR? P-NUMBER,100 \?CCL17
- PRINTR "The timer only has settings up to 100."
+ PRINTR "The timer has settings up to only 100."
?CCL17: SET 'TIMER-SETTING,P-NUMBER
PRINTI "You set the timer to "
PRINTN TIMER-SETTING
@@ -250,8 +250,8 @@
?CCL10: EQUAL? PRSA,V?DISCONNECT \?CCL22
ZERO? PRSI \?CCL22
ZERO? TIMER-CONNECTED /?CCL22
- CALL PERFORM-PRSA,TIMER,DETONATOR
- RSTACK
+ CALL PERFORM,PRSA,TIMER,DETONATOR
+ RTRUE
?CCL22: EQUAL? PRSA,V?CONNECT \?CCL27
EQUAL? EXPLOSIVE,PRSO,PRSI \?CCL27
PRINT YOU-CANT
@@ -268,80 +268,14 @@
PRINTR """Tick, tick..."""
- .FUNCT I-TIMER,?TMP1
- CALL QUEUE,I-TIMER,-1
- SUB TIMER-SETTING,C-ELAPSED >TIMER-SETTING
- LESS? TIMER-SETTING,1 \?CND1
- CALL DEQUEUE,I-TIMER
- SET 'TIMER-SETTING,0
-?CND1: CALL VISIBLE?,TIMER
- ZERO? STACK /?CND3
- PRINTI " The timer reaches "
- PRINTN TIMER-SETTING
- ZERO? TIMER-SETTING \?CND5
- PRINTI " and stops ticking"
-?CND5: PRINTC 46
-?CND3: ZERO? TIMER-SETTING \?CND7
- ZERO? TIMER-CONNECTED /?CND7
- LOC DIODE-M >?TMP1
- LOC DIODE-J
- 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 ?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 ?CND27
-?CCL29: PRINTI " You hear a loud but distant explosion."
- CRLF
-?CND27: REMOVE TIMER
- REMOVE EXPLOSIVE
- REMOVE DETONATOR
- JUMP ?CND7
-?CCL20: CALL VISIBLE?,TIMER
- ZERO? STACK /?CND7
- PRINTI " You hear a click from the detonator."
-?CND7: CALL VISIBLE?,TIMER
- ZERO? STACK /FALSE
- CRLF
- RTRUE
-
-
- .FUNCT DESTROY-EXPLOSIVE-CONT,L
+ .FUNCT DESTROY-EXPLOSIVE-CONT,L,X
LOC EXPLOSIVE >L
-?PRG1: LOC L
- IN? STACK,ROOMS \?CND3
+?PRG1: IN? L,ROOMS /TRUE
+ FSET? L,VEHBIT /TRUE
+ LOC L >X
+ EQUAL? L,PEDESTAL /?CND7
REMOVE L
- EQUAL? L,PEDESTAL \TRUE
- MOVE L,ALIEN-SHIP
- RTRUE
-?CND3: LOC L >L
+?CND7: SET 'L,X
JUMP ?PRG1
@@ -357,13 +291,13 @@
EQUAL? PRSA,V?PICK,V?UNLOCK,V?OPEN \?CCL3
EQUAL? PRSI,KEY \?CCL6
SET 'PRSO,KEY
- CALL DOESNT-FIT,STR?237
+ CALL DOESNT-FIT,STR?246
RSTACK
?CCL6: CALL YUKS
RSTACK
?CCL3: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,KEY \FALSE
- CALL DOESNT-FIT,STR?237
+ CALL DOESNT-FIT,STR?246
RSTACK
@@ -374,7 +308,7 @@
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."
+?CND4: PRINTI ". Next to the hatch is a slot. There is a door northwest of here, and doorways to the south and southwest. There's a junction in the corridor west of you."
RTRUE
@@ -394,6 +328,9 @@
.FUNCT SYSTEM-MONITORS-F
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
+ GET 0,8
+ BOR STACK,2
+ PUT 0,8,STACK
PRINTI "System: Status:
COMMUNICATION "
GRTR? DAY,2 \?CCL6
@@ -434,16 +371,23 @@ POWER "
?CND19: PRINTI "
PRINTING "
EQUAL? DAY,1 \?CCL27
- PRINTR "YELLOW"
+ PRINTI "YELLOW"
+ JUMP ?CND25
?CCL27: GRTR? DAY,3 \?CCL29
- PRINTR "GREEN"
-?CCL29: PRINTR "RED"
+ PRINTI "GREEN"
+ JUMP ?CND25
+?CCL29: PRINTI "RED"
+?CND25: CRLF
+ GET 0,8
+ BAND STACK,-3
+ PUT 0,8,STACK
+ RTRUE
.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. "
+ Most of the equipment here is too complicated for anyone without Deep-Space Communication 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
@@ -454,7 +398,7 @@ PRINTING "
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
+ CALL JIGS-UP,STR?249
JUMP ?CND4
?CCL6: GRTR? ROBOT-EVILNESS,7 \?CND4
CALL CCOUNT,PROTAGONIST
@@ -481,7 +425,7 @@ PRINTING "
PRINTI """From: Forms Control Officer, S.P.S. Duffy
To: "
PRINT LFC
- PRINTI " 1451-532-716
+ PRINTI " 1451-352-716
Re: Current assignment
Msg: Two thousand reams of "
PRINT FORM-NAME
@@ -492,12 +436,21 @@ PRINTING "
.FUNCT I-MESSAGE
SET 'MESSAGE-RECEIVED,TRUE-VALUE
+ FCLEAR COMM-CENTER,TOUCHBIT
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."""
+?CND1: PRINTR " the station's P.A. system: ""Deep-space communication received at Comm Center. No operator on duty. This is a recording."""
+
+
+ .FUNCT FILES-F
+ EQUAL? PRSA,V?READ,V?EXAMINE \?CCL3
+ PRINTR "The word ""boring"" does not BEGIN to describe them."
+?CCL3: EQUAL? PRSA,V?MUNG,V?CRUMPLE \FALSE
+ PRINT VIOLATION-OF-ACT
+ RTRUE
.FUNCT COMMANDERS-OFFICE-F,RARG
@@ -509,7 +462,7 @@ PRINTING "
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."
+ PRINTI "This is the Station Commander's H.Q., 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 "
PRINTD LOG-READER
@@ -541,7 +494,7 @@ PRINTING "
?CND13: PRINTR " log tape in it."
?CCL5: EQUAL? PRSA,V?PUT \?CCL17
EQUAL? PRSO,LOG-TAPE /?CCL20
- CALL DOESNT-FIT,STR?242
+ CALL DOESNT-FIT,STR?251
RSTACK
?CCL20: FSET? LOG-READER,ACTIVEBIT \FALSE
MOVE LOG-TAPE,LOG-READER
@@ -560,7 +513,8 @@ PRINTING "
GRTR? LOG-READER-COUNTER,11 \?CCL31
PRINTR """Whine."""
?CCL31: EQUAL? PRSA,V?TAKE \?CCL35
- PRINTR "It's bolted down."
+ PRINT WONT-BUDGE
+ RTRUE
?CCL35: EQUAL? PRSA,V?SHOOT \FALSE
CALL DEQUEUE,I-LOG-READER
RFALSE
@@ -589,26 +543,26 @@ PRINTING "
PRINTI "A gravelly voice comes from the "
PRINTD LOG-READER
PRINTI ": "
-?CND1: PRINTC 34
+?CND1: PRINTI """11349.12."
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 "
+ PRINTI "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."
+ PRINTI "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 ?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."
+ PRINTI "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."
+ PRINTI "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."
+ PRINTI "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 ?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 "
+ PRINTI "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; the "
PRINTD SKELETON
@@ -617,21 +571,21 @@ PRINTING "
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?"
+ PRINTI "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 ?CND3
?CCL17: EQUAL? LOG-COUNTER,8 \?CCL19
- PRINTI "11349.12.4.1650: Emergency communication from the SPS Duffy. They are critically low on "
+ PRINTI "4.1650: Emergency communication from the S.P.S. 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 ?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 "
+ PRINTI "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 "
+?CCL21: PRINTI "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 "
+ PRINTI "s malfunctioned. She's in Sick Bay now; Doc says she should pull through. I've been in space for 32 years and I've never heard of a "
PRINTD WELDER
PRINTI " malfun... What the krip!..."
?CND3: PRINTC 34
@@ -644,32 +598,6 @@ PRINTING "
RTRUE
- .FUNCT I-LOG-READER
- INC 'LOG-READER-COUNTER
- FSET? LOG-READER,ACTIVEBIT /?CCL3
- CALL DEQUEUE,I-LOG-READER
- SET 'LOG-READER-COUNTER,0
- RETURN LOG-READER-COUNTER
-?CCL3: EQUAL? LOG-READER-COUNTER,12 \?CCL5
- EQUAL? HERE,COMMANDERS-OFFICE \?CCL5
- PRINTR " The reader begins producing a whining noise."
-?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 \?CCL16
- CALL JIGS-UP,STR?243
- RSTACK
-?CCL16: EQUAL? HERE,COMMANDERS-QUARTERS,BRIEFING-ROOM,STATION-CONTROL /?CCL18
- EQUAL? HERE,SOUTH-JUNCTION \FALSE
-?CCL18: PRINTR " You hear an explosion from nearby."
-
-
.FUNCT DIAL-F
FSET? SAFE,OPENBIT \?CCL3
PRINTR "There's not much left of the dial."
@@ -729,11 +657,12 @@ PRINTING "
EQUAL? PRSI,DRILLED-HOLE \?CCL8
EQUAL? PRSO,EXPLOSIVE \?CTR12
EQUAL? HOLE-SIZE,SMALL-BIT \?CCL13
-?CTR12: CALL DOESNT-FIT,STR?249
+?CTR12: CALL DOESNT-FIT,STR?257
RSTACK
?CCL13: EQUAL? HERE,DOME \?CCL17
PRINTI "As the explosive touches the warm bin, it "
PRINT SUBLIMES-INTO-FREZONE
+ CALL DEQUEUE,I-EXPLOSIVE-MELT
CALL REMOVE-CAREFULLY,EXPLOSIVE
CRLF
RTRUE
@@ -744,11 +673,11 @@ PRINTING "
SET 'SAFE-HOLE-SCORE,TRUE-VALUE
RFALSE
?CCL8: EQUAL? PRSA,V?DRILL \?CCL23
- CALL PERFORM-PRSA,OBJ
- RSTACK
+ CALL PERFORM,PRSA,OBJ
+ RTRUE
?CCL23: EQUAL? PRSA,V?SHOOT \?CCL25
- CALL PERFORM-PRSA,OBJ,ZAPGUN
- RSTACK
+ CALL PERFORM,PRSA,OBJ,ZAPGUN
+ RTRUE
?CCL25: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINT ONLY-BLACKNESS
RTRUE
@@ -792,6 +721,13 @@ PRINTING "
PRINTR "It's a fairly standard self-inking rubber stamp."
+ .FUNCT ZAPGUN-F
+ EQUAL? PRSA,V?EXAMINE \FALSE
+ PRINTI "The zapgun is a nasty-looking weapon. Mounted near its ugly maw is an indicator which reads """
+ PRINTN ZAPGUN-SHOTS
+ PRINTR "."""
+
+
.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 "
@@ -799,7 +735,7 @@ PRINTING "
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."
+?CND4: PRINTI ". There's a slot next to the hatch. Other doors lead east and west, and a junction with another corridor is visible to the north."
RTRUE
@@ -836,33 +772,36 @@ PRINTING "
ZERO? OARG \FALSE
EQUAL? PRSA,V?ENTER \?CCL5
CALL RUNNING?,I-EXERCISE-MACHINE
- ZERO? STACK /?CCL5
+ ZERO? STACK /?CCL8
PRINTI "The "
PRINTD EXERCISE-MACHINE
- CALL JIGS-UP,STR?259
+ CALL JIGS-UP,STR?267
RSTACK
-?CCL5: EQUAL? PRSA,V?OFF,V?ON \?CCL9
+?CCL8: EQUAL? HERE,COMPUTER-CONTROL \FALSE
+ PRINTR "The forklift is in the way."
+?CCL5: EQUAL? PRSA,V?OFF,V?ON \?CCL12
PRINTR "It's permanently on."
-?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL11
- IN? PROTAGONIST,EXERCISE-MACHINE /?CCL11
+?CCL12: EQUAL? PRSA,V?EXAMINE \?CCL14
+ IN? PROTAGONIST,EXERCISE-MACHINE /?CCL14
PRINTI "There's no one in"
CALL TRPRINT,EXERCISE-MACHINE
RSTACK
-?CCL11: EQUAL? PRSA,V?MUNG,V?KILL \?CCL15
+?CCL14: EQUAL? PRSA,V?MUNG,V?KILL \?CCL18
PRINTI "The "
PRINTD EXERCISE-MACHINE
PRINTR " is made of zynoid-reinforced hyper-steel."
-?CCL15: EQUAL? PRSA,V?USE \FALSE
- IN? PROTAGONIST,EXERCISE-MACHINE \?CCL20
+?CCL18: EQUAL? PRSA,V?USE \FALSE
+ IN? PROTAGONIST,EXERCISE-MACHINE \?CCL23
CALL V-EXERCISE
RSTACK
-?CCL20: PRINTR "You're not even in it!"
+?CCL23: PRINTR "You're not even in it!"
.FUNCT LAUNDRY-F,RARG
EQUAL? RARG,M-LOOK \?CCL3
- PRINTI "All laundry rooms, planetside as well as in space, tend to look alike. This one is no exception. "
+ PRINTI "All laundry rooms, planetside as well as in space, tend to look alike. This one is no exception."
FSET? DRYER,ACTIVEBIT \?CND4
+ PRINTC 32
CALL DESCRIBE-DRYER-HEAT
?CND4: PRINTI " The door lies on the east side."
RTRUE
@@ -891,25 +830,20 @@ PRINTING "
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
+ PRINTR "With the dryer off, the station's ventilation system quickly returns the room to a comfy twenty-three degrees Celsius."
+?CCL9: EQUAL? PRSA,V?OPEN \?CCL13
+ FSET? DRYER,ACTIVEBIT \?CCL13
+ PRINTI "Opening the dryer automatically shuts it off. "
+ FSET DRYER,OPENBIT
+ CALL PERFORM,V?OFF,DRYER
+ RTRUE
+?CCL13: EQUAL? PRSA,V?SHOOT \FALSE
FCLEAR DRYER,ACTIVEBIT
CALL DEQUEUE,I-DRYER
SET 'DRYER-COUNTER,0
RFALSE
- .FUNCT I-DRYER
- INC 'DRYER-COUNTER
- FCLEAR LAUNDRY,TOUCHBIT
- EQUAL? HERE,LAUNDRY \FALSE
- EQUAL? DRYER-COUNTER,5,10,15 \FALSE
- PRINTI " "
- CALL DESCRIBE-DRYER-HEAT
- CRLF
- RTRUE
-
-
.FUNCT DESCRIBE-DRYER-HEAT
GRTR? DRYER-COUNTER,14 \?CCL3
PRINTI "Searing blasts of air from the dryer have made the room unbearably hot."
@@ -986,7 +920,7 @@ PRINTING "
PRINTI "The presser suddenly "
FSET? PRESSER,OPENBIT /?CND9
PRINTI "opens, "
-?CND9: CALL JIGS-UP,STR?261
+?CND9: CALL JIGS-UP,STR?269
RSTACK
?CCL8: SET 'PRESSER-STEAMING,TRUE-VALUE
CALL QUEUE,I-PRESSER,25
@@ -995,21 +929,27 @@ 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 /?CCL6
- PRINTI "are the two"
+ PRINTI "This is a modest, nondenominational chapel. Hanging high above the "
+ IN? PULPIT,HERE \?CCL6
+ PRINTI "beautiful wooden pulpit "
JUMP ?CND4
-?CCL6: PRINTI "is one of the"
-?CND4: PRINTI " universal symbols of every major galactic religion: an "
+?CCL6: PRINTI "floor "
+?CND4: FSET? STAR,TOUCHBIT /?CCL9
+ PRINTI "are the two"
+ JUMP ?CND7
+?CCL9: PRINTI "is one of the"
+?CND7: PRINTI " universal symbols of every major galactic religion: an "
PRINTD ETERNAL-FLAME
- FSET? STAR,TOUCHBIT /?CND7
+ FSET? STAR,TOUCHBIT /?CND10
PRINTI " and a "
PRINTD STAR
-?CND7: PRINTI ". "
- FSET? ETERNAL-FLAME,ONBIT /?CND9
- PRINT FLAME-EXTINGUISHED
+?CND10: PRINTI ". "
+ FSET? ETERNAL-FLAME,ONBIT \?CCL14
+ PRINTI "The flame flickers in the air currents. "
+ JUMP ?CND12
+?CCL14: PRINT FLAME-EXTINGUISHED
PRINTC 32
-?CND9: PRINTI "A doorway occupies the center of the east wall."
+?CND12: PRINTI "A doorway occupies the center of the east wall."
FSET? STAR,TOUCHBIT /TRUE
CRLF
PRINTI " The star is blinking."
@@ -1077,6 +1017,7 @@ PRINTING "
CALL CANT-REACH,ETERNAL-FLAME
RSTACK
?CCL13: EQUAL? PRSA,V?SHOOT \FALSE
+ FSET? ETERNAL-FLAME,ONBIT \FALSE
PRINTR "Perhaps that made the flame hotter; there was really no way to tell."
@@ -1086,7 +1027,7 @@ PRINTING "
?CTR2: ZERO? HANGING-IN-AIR /?CCL8
CALL CANT-REACH,PULPIT
RSTACK
-?CCL8: PRINTI "The pulpit sways and you fall off."
+?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
@@ -1137,14 +1078,17 @@ PRINTING "
.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."
+ EQUAL? PRSA,V?WALK-TO,V?ENTER,V?OPEN /?CTR2
+ EQUAL? PRSA,V?SEARCH \?CCL3
+?CTR2: PRINTR "The projection booth is closed and locked."
+?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+ PRINT ONLY-BLACKNESS
+ RTRUE
.FUNCT MESS-HALL-F,RARG
EQUAL? RARG,M-LOOK \FALSE
- PRINTI "This open dining area seats around thirty people. "
+ PRINTI "This open dining area seats around 30 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 /?CND4
@@ -1173,7 +1117,7 @@ PRINTING "
PRINTI "chicken pot pie, braised volpoid livers, and mashed Rigellian yams"
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."
+?CND11: PRINTR ". Eat hearty! Dispensing will now begin."" A seamless hatch in the FDU opens, and a stream of acid shoots out. You leap aside as the acid etches the floor, leaving behind some acrid fumes."
.FUNCT COFFEE-F,OARG=0
@@ -1187,19 +1131,28 @@ PRINTING "
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."
-?CCL15: EQUAL? PRSA,V?TASTE \?CCL19
+ CALL MESS,STR?272
+ CALL ANTI-LITTER,COFFEE
+ RSTACK
+?CCL11: EQUAL? PRSA,V?TOUCH,V?EXAMINE,V?TASTE /?PRD17
+ EQUAL? PRSA,V?LOOK-INSIDE,V?REACH-IN \?CCL15
+?PRD17: EQUAL? DAY,1 \?CCL15
+ PRINTR "The coffee is still hot."
+?CCL15: EQUAL? PRSA,V?TASTE \?CCL21
PRINTR "It tastes unusually bitter."
-?CCL19: EQUAL? PRSA,V?SMELL \?CCL21
+?CCL21: EQUAL? PRSA,V?SMELL \?CCL23
PRINTR "The coffee has a vague chemical odor."
-?CCL21: EQUAL? PRSA,V?EAT \FALSE
- ZERO? HUNGER-LEVEL \?CCL26
+?CCL23: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE,V?EXAMINE /?CTR24
+ EQUAL? PRSA,V?TOUCH \?CCL25
+?CTR24: PRINTR "The cup is filled with cold coffee."
+?CCL25: EQUAL? PRSA,V?EAT-FROM \?CCL29
+ CALL PERFORM,V?EAT,COFFEE
+ RTRUE
+?CCL29: EQUAL? PRSA,V?EAT \FALSE
+ ZERO? HUNGER-LEVEL \?CCL34
PRINT NOT-HUNGRY
RTRUE
-?CCL26: CALL JIGS-UP,STR?264
+?CCL34: CALL JIGS-UP,STR?273
RSTACK
@@ -1268,7 +1221,7 @@ PRINTING "
EQUAL? PRSI,DETONATOR \FALSE
FSET? DETONATOR,OPENBIT \FALSE
EQUAL? PRSO,BLACKENED-DIODE,DIODE-M,DIODE-J /?CCL59
- CALL DOESNT-FIT,STR?266
+ CALL DOESNT-FIT,STR?275
RSTACK
?CCL59: FIRST? DETONATOR \FALSE
PRINTI "There's a "
@@ -1301,7 +1254,7 @@ PRINTING "
.FUNCT MAGAZINE-F
EQUAL? PRSA,V?TAKE \?CCL3
- CALL RECORDING,STR?270
+ CALL RECORDING,STR?279
RSTACK
?CCL3: EQUAL? PRSA,V?EXAMINE,V?OPEN,V?READ /?CCL5
EQUAL? PRSA,V?LOOK-INSIDE \FALSE
@@ -1344,7 +1297,7 @@ PRINTING "
FSET NANOFILM-READER,ACTIVEBIT
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"
+ 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 "
@@ -1426,6 +1379,7 @@ PRINTING "
CALL DEQUEUE,I-HUNGER-WARNINGS
CALL ROB,PROTAGONIST,HERE
REMOVE HOUSING
+ CALL MOVE-FLOYD-TO-FACTORY
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"
@@ -1457,8 +1411,11 @@ PRINTING "
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
+?CCL3: EQUAL? PRSA,V?PUT \?CCL7
+ CALL WASTES
+ RSTACK
+?CCL7: EQUAL? HERE,BOTTOM-OF-AIR-SHAFT \?CCL9
+ EQUAL? PRSA,V?STAND-ON,V?KICK,V?OPEN \?CCL12
CALL QUEUE,I-ANNOUNCEMENT,1
PRINTI "The grating opens, spilling you into the room below"
PRINT ELLIPSIS
@@ -1469,42 +1426,44 @@ PRINTING "
MOVE PYRAMID,PEDESTAL
CALL GOTO,COMPUTER-CONTROL
RSTACK
-?CCL10: EQUAL? PRSA,V?ENTER \FALSE
- CALL DO-FIRST,STR?273
+?CCL12: EQUAL? PRSA,V?ENTER \?CCL14
+ CALL DO-FIRST,STR?282
RSTACK
-?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL14
- FSET? GRATING,TOUCHBIT \?CCL17
+?CCL14: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+ PRINTR "There's a lighted area below the grating, but you can't see any details."
+?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL18
+ FSET? GRATING,TOUCHBIT \?CCL21
PRINTR "The grating has been bent back far enough for you to squeeze through."
-?CCL17: ZERO? GRATING-LOOSE /FALSE
+?CCL21: ZERO? GRATING-LOOSE /FALSE
PRINTI "The "
PRINTD GRATING
PRINTR " looks loose."
-?CCL14: EQUAL? PRSA,V?ENTER \?CCL21
- EQUAL? HERE,TOP-OF-AIR-SHAFT \?CCL24
+?CCL18: EQUAL? PRSA,V?ENTER \?CCL25
+ EQUAL? HERE,TOP-OF-AIR-SHAFT \?CCL28
CALL GOTO,DOME
RSTACK
-?CCL24: EQUAL? HERE,COMPUTER-CONTROL \?CCL26
+?CCL28: EQUAL? HERE,COMPUTER-CONTROL \?CCL30
CALL PERFORM,V?TOUCH,GRATING
RTRUE
-?CCL26: FSET? GRATING,TOUCHBIT \?CCL28
+?CCL30: FSET? GRATING,TOUCHBIT \?CCL32
CALL DEQUEUE,I-WELDER
CALL GOTO,TOP-OF-AIR-SHAFT
RSTACK
-?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
+?CCL32: PRINTR "Impossible, unless you can pass through holes a centimeter across."
+?CCL25: EQUAL? PRSA,V?TAKE,V?MOVE,V?PUSH /?CTR33
+ EQUAL? PRSA,V?OPEN \?CCL34
+?CTR33: ZERO? LIT \?CCL39
PRINT TOO-DARK
CRLF
RTRUE
-?CCL35: FSET? GRATING,TOUCHBIT \?CCL37
+?CCL39: FSET? GRATING,TOUCHBIT \?CCL41
PRINT SENILITY-STRIKES
RTRUE
-?CCL37: ZERO? GRATING-LOOSE /?CCL39
+?CCL41: ZERO? GRATING-LOOSE /?CCL43
FSET GRATING,TOUCHBIT
PRINTR "With effort, you bend the grating and form an opening large enough to enter."
-?CCL39: PRINTR "The grating is securely affixed."
-?CCL30: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
+?CCL43: PRINTR "The grating is securely affixed."
+?CCL34: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINT ONLY-BLACKNESS
RTRUE
@@ -1514,7 +1473,7 @@ PRINTING "
PRINTI "The elevator button is east of you, next to the elevator"
EQUAL? ELEVATOR-LEVEL,6 /?CND4
PRINTI " shaft"
-?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"
+?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
@@ -1543,6 +1502,14 @@ PRINTING "
RTRUE
+ .FUNCT ALIEN-HATCH-F
+ EQUAL? PRSA,V?OPEN \?CCL3
+ PRINTR "It is!"
+?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
+ PRINT WONT-BUDGE
+ RTRUE
+
+
.FUNCT ALIEN-SHIP-F,RARG
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.
@@ -1611,6 +1578,7 @@ Each dot is a featureless black spot about a centimeter across."
ZERO? STACK \FALSE
SET 'OLIVER-SPEECH,TRUE-VALUE
SET 'FLOYD-SPOKE,TRUE-VALUE
+ FSET OLIVER,TOUCHBIT
PRINTI " Floyd bounces over and peers down at the unconscious robot. ""Oliver is a nice name. I hope Floyd will be around when Oliver wakes up."" He looks over to you. ""Floyd remembers waking up for the first time. It is scariest and loneliest time for a robot.""
Floyd glances back at Oliver, looking more serious than you've ever seen Floyd look. """
GETP OLIVER,P?FLOYD-ASK-ABOUT
@@ -1622,7 +1590,7 @@ Each dot is a featureless black spot about a centimeter across."
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."
+ PRINTR " 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
@@ -1636,16 +1604,19 @@ Each dot is a featureless black spot about a centimeter across."
EQUAL? PRSI,HEATING-CHAMBER \FALSE
GETP PRSO,P?SIZE
GRTR? STACK,4 \FALSE
- CALL DOESNT-FIT,STR?283
+ CALL DOESNT-FIT,STR?292
RSTACK
.FUNCT BIT-F
- EQUAL? PRSA,V?MEASURE,V?EXAMINE \FALSE
+ EQUAL? PRSA,V?MEASURE,V?EXAMINE \?CCL3
PRINTI "The bit is"
CALL DESCRIBE-BIT-SIZE,PRSO
PRINT PERIOD-CR
RTRUE
+?CCL3: EQUAL? PRSA,V?SET \FALSE
+ EQUAL? P-PRSA-WORD,W?SWITCH \FALSE
+ PRINTR "To switch bits, remove the bit in the drill, then put another bit into the drill."
.FUNCT OLIVER-F
@@ -1662,12 +1633,12 @@ Each dot is a featureless black spot about a centimeter across."
?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
+ CALL PERFORM,PRSA,PLATO
+ RTRUE
?CCL9: EQUAL? PRSA,V?SHOOT \FALSE
IN? FLOYD,FACTORY /?CCL13
FSET? FLOYD,ACTIVEBIT /?CND12
-?CCL13: CALL JIGS-UP,STR?287
+?CCL13: CALL JIGS-UP,STR?297
?CND12: PRINTI "Floyd "
INC 'ZAPGUN-SHOTS
IN? FLOYD,HERE /?CND16
@@ -1767,10 +1738,10 @@ Each dot is a featureless black spot about a centimeter across."
?CCL15: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,DRILL \FALSE
EQUAL? PRSO,LARGE-BIT,MEDIUM-BIT,SMALL-BIT /?CCL24
- CALL DOESNT-FIT,STR?297
+ CALL DOESNT-FIT,STR?307
RSTACK
?CCL24: FIRST? DRILL \FALSE
- CALL DO-FIRST,STR?298
+ CALL DO-FIRST,STR?308
RSTACK
@@ -1808,6 +1779,10 @@ Each dot is a featureless black spot about a centimeter across."
RSTACK
+ .FUNCT GENERIC-SHAFT-F
+ RETURN ELEVATOR-SHAFT
+
+
.FUNCT ELEVATOR-F,RARG
EQUAL? RARG,M-LOOK \?CCL3
PRINTI "This is a large, cubical frame, open on all four sides. The "
@@ -1858,7 +1833,7 @@ Each dot is a featureless black spot about a centimeter across."
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
+?CCL12: CALL JIGS-UP,STR?309
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
@@ -1922,7 +1897,7 @@ Each dot is a featureless black spot about a centimeter across."
?CCL3: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,ID-CARD \FALSE
ZERO? ID-SCRAMBLED /?CCL10
- CALL RECORDING,STR?300
+ CALL RECORDING,STR?310
RSTACK
?CCL10: GRTR? ID-RANK,6 \?CCL12
FSET SECURITY-DOOR,OPENBIT
@@ -1956,23 +1931,27 @@ Each dot is a featureless black spot about a centimeter across."
CALL NOUN-USED,W?PRONGS,TWENTY-PRONG-FROMITZ-BOARD
ZERO? STACK /?CCL9
PRINTR "20."
-?CCL9: EQUAL? PRSA,V?DISCONNECT \FALSE
- EQUAL? PRSI,JAMMER /?PRD16
+?CCL9: EQUAL? PRSA,V?COMPARE \?CCL13
+ EQUAL? TWELVE-PRONG-FROMITZ-BOARD,PRSO,PRSI \?CCL13
+ PRINTR "Besides the number of prongs, they're identical."
+?CCL13: EQUAL? PRSA,V?DISCONNECT \FALSE
+ EQUAL? PRSI,JAMMER /?PRD20
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
+?PRD20: IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \FALSE
+ EQUAL? HERE,COMPUTER-CONTROL \?CND23
+ EQUAL? JAMMER-SETTING,710 \?CND23
+ FSET? JAMMER,ACTIVEBIT \?CND23
CALL PERFORM,V?OFF,JAMMER
RTRUE
-?CND19: LOC JAMMER
+?CND23: 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 "
+ PRINT YOU-CANT
+ PRINTI "see any "
PRINTN P-NUMBER
PRINTR "-prong board here!]"
@@ -1995,7 +1974,7 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT PLATO-F,TXT
EQUAL? PLATO,WINNER \?CCL3
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL6
+ ZERO? STUNNED /?CCL6
PRINTI "Plato ignores you."
CRLF
CALL STOP
@@ -2076,7 +2055,7 @@ Each dot is a featureless black spot about a centimeter across."
CALL PERFORM,V?ASK-ABOUT,PLATO,PRSO
RTRUE
?CCL79: EQUAL? PRSA,V?LISTEN \FALSE
- GRTR? PLATO-ATTACK-COUNTER,0 \FALSE
+ ZERO? STUNNED /FALSE
PRINTR "You don't seem to have much choice!"
@@ -2090,7 +2069,7 @@ Each dot is a featureless black spot about a centimeter across."
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
-?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."""
+?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
@@ -2139,65 +2118,73 @@ Each dot is a featureless black spot about a centimeter across."
PRINTI " "
EQUAL? PLATO-ATTACK-COUNTER,1 \?CCL14
CALL ROB,PROTAGONIST,HERE
+ MOVE PROTAGONIST,HERE
MOVE PLATO,HERE
MOVE STUN-GUN,PLATO
MOVE FLOYD,HERE
+ FSET FLOYD,ACTIVEBIT
+ FSET FLOYD,ACTORBIT
REMOVE VOLUME
- FSET? HERE,WEIGHTLESSBIT \?CCL17
- PRINTI "Your heart leaps to your throat"
+ SET 'STUNNED,TRUE-VALUE
+ FSET? HERE,WEIGHTLESSBIT /?CTR16
+ ZERO? HANGING-IN-AIR /?CCL17
+?CTR16: 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 \?CCL20
- PRINTI "into a floating heap"
- JUMP ?CND18
-?CCL20: PRINTI "to the floor"
-?CND18: PRINTI ", Floyd dashes to your side, his face a mask of concern."
+ ""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 "
+ ZERO? HANGING-IN-AIR /?CND20
+ SET 'HANGING-IN-AIR,FALSE-VALUE
+ PRINTI "drop to the deck and "
+?CND20: PRINTI "crumple into a "
+ FSET? HERE,WEIGHTLESSBIT \?CND22
+ PRINTI "floating "
+?CND22: PRINTI "heap, Floyd dashes to your side, his face a mask of concern."
CRLF
- IN? OSTRICH,HERE \?CND21
- FSET? OSTRICH,TOUCHBIT \?CND21
-?PRG25: NEXTP HERE,P >P
- ZERO? P \?CCL29
+ IN? OSTRICH,HERE \?CND24
+ FSET? OSTRICH,TOUCHBIT \?CND24
+?PRG28: NEXTP HERE,P >P
+ ZERO? P \?CCL32
MOVE OSTRICH,LEVEL-FIVE
- JUMP ?REP26
-?CCL29: LESS? P,LOW-DIRECTION /?PRG25
+ JUMP ?REP29
+?CCL32: LESS? P,LOW-DIRECTION /?PRG28
GETPT HERE,P >TEE
PTSIZE TEE >L
- EQUAL? L,UEXIT,CEXIT,DEXIT \?PRG25
+ EQUAL? L,UEXIT,CEXIT,DEXIT \?PRG28
GETB TEE,REXIT
MOVE OSTRICH,STACK
-?REP26: PRINT PATHETIC-SQUAWK
+?REP29: 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
-?CND21: CALL STOP
+?CND24: CALL STOP
RSTACK
-?CCL14: EQUAL? PLATO-ATTACK-COUNTER,2 \?CCL34
+?CCL14: EQUAL? PLATO-ATTACK-COUNTER,2 \?CCL37
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 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."
-?CCL34: EQUAL? PLATO-ATTACK-COUNTER,3 \?CCL36
+ ""You see, eons ago, two races in another galaxy, the Zeenaks and the Hunji, were involved in an interstellar war. The war had raged for countless millenia before 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's head is swivelling back and forth between you and Plato with a look of miserable confusion."
+?CCL37: EQUAL? PLATO-ATTACK-COUNTER,3 \?CCL39
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."
-?CCL36: EQUAL? PLATO-ATTACK-COUNTER,4 \?CCL38
+?CCL39: EQUAL? PLATO-ATTACK-COUNTER,4 \?CCL41
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
+?CCL41: PRINTI "Plato takes aim with the stun gun. His hand begins to depress the trigger. Floyd "
+ ZERO? FLOYD-TOLD /?CCL44
REMOVE PLATO
CALL DEQUEUE,I-PLATO-ATTACK
CALL QUEUE,I-FLOYD,-1
SET 'FLOYD-ANGUISHED,TRUE-VALUE
ADD SCORE,7 >SCORE
+ SET 'STUNNED,FALSE-VALUE
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."
-?CCL41: CALL JIGS-UP,STR?313
+ Pins and needles begin prickling in your extremities, and soon spread all over your body. Within a few seconds, all your muscular control has returned."
+?CCL44: CALL JIGS-UP,STR?323
RSTACK
- .FUNCT STUNNED,STRING=0
+ .FUNCT YOURE-STUNNED,STRING=0
PRINTI "You can barely twitch your pinky"
ZERO? STRING /?CND1
PRINTI ", let alone "
@@ -2245,15 +2232,16 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT I-ANNOUNCEMENT
+ EQUAL? ANNOUNCEMENT-COUNTER,2 /FALSE
INC 'ANNOUNCEMENT-COUNTER
- PRINTI " A flat, emotionless voice booms over the station's PA system. ""Announcement. "
- EQUAL? ANNOUNCEMENT-COUNTER,1 \?CCL3
+ PRINTI " A flat, emotionless voice booms over the station's P.A. system. ""Announcement. "
+ EQUAL? ANNOUNCEMENT-COUNTER,1 \?CCL5
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
-?CCL3: CALL QUEUE,I-LAUNCH,200
+ JUMP ?CND3
+?CCL5: CALL QUEUE,I-LAUNCH,200
PRINTI "Standby. Launch in 200 millichrons"
-?CND1: PRINTR "."""
+?CND3: PRINTR "."""
.FUNCT I-LAUNCH
@@ -2262,7 +2250,7 @@ Each dot is a featureless black spot about a centimeter across."
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
?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
+?CND1: CALL JIGS-UP,STR?324
RSTACK
@@ -2317,7 +2305,7 @@ Each dot is a featureless black spot about a centimeter across."
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
+ CALL JIGS-UP,STR?330
RSTACK
@@ -2349,7 +2337,7 @@ Each dot is a featureless black spot about a centimeter across."
?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
+?CCL7: CALL JIGS-UP,STR?331
?CND1: PRINT PERIOD-CR
RTRUE
@@ -2373,12 +2361,13 @@ Each dot is a featureless black spot about a centimeter across."
.FUNCT FACTORY-F,RARG
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."
+ 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 miniature spacepod 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
?CCL3: EQUAL? RARG,M-ENTER \FALSE
+ ZERO? FLOYD-SHOT \FALSE
CALL QUEUE,I-FACTORY,-1
RSTACK
@@ -2397,9 +2386,10 @@ Each dot is a featureless black spot about a centimeter across."
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 --""
+ 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 you can hear a mechanized voice on the P.A. system, getting slower and deeper like a stereo disc that has lost its power: ""Launch aborted -- launch -- abort --""
+ The replica pyramids fade to darkness, and a subtle change in background sound tells you that the space station's systems and machinery are returning to their normal functions.
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, tugs on the leg of your "
+ 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 remains, 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
@@ -2410,13 +2400,13 @@ Each dot is a featureless black spot about a centimeter across."
CALL TELL-SCORE
QUIT
RTRUE
-?CCL8: CALL BACK-OFF,STR?327
+?CCL8: CALL BACK-OFF,STR?337
RSTACK
?CCL3: CALL TOUCHING?,PYRAMID
ZERO? STACK \?PRD12
EQUAL? PRSA,V?WALK-TO \?CCL10
?PRD12: ZERO? FLOYD-SHOT \?CCL10
- CALL BACK-OFF,STR?327
+ CALL BACK-OFF,STR?337
RSTACK
?CCL10: EQUAL? PRSA,V?MEASURE \?CCL16
PRINTR "The pyramid is somewhere between half a meter and a meter across."
diff --git a/station.zil b/station.zil
index 4ad9a88..2db2911 100644
--- a/station.zil
+++ b/station.zil
@@ -65,7 +65,7 @@ door leads south, and there's an opening to the north.")
(DESC "twenty-ohm bedistor")
(SYNONYM BEDISTOR)
(ADJECTIVE TWENTY OHM)
- (SIZE 8)
+ (SIZE 5)
(FLAGS TAKEBIT)
(PLATO-ASK-ABOUT
"I'm really not at all mechanically inclined. My sincerest apologies.")
@@ -89,6 +89,7 @@ door leads south, and there's an opening to the north.")
(SYNONYM JAMMER SOCKETS FREQUENCY)
(FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT LIGHTBIT)
(CAPACITY 10)
+ (SIZE 15)
(ACTION JAMMER-F)>
<GLOBAL JAMMER-SETTING 337>
@@ -178,10 +179,11 @@ doorway to the northeast.")
(IN ROOMS)
(DESC "North Connection")
(LDESC
-"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
+"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.")
+to the west. Opposite it, a doorway leads east. A junction is visible to
+the south.")
(NORTH TO TUBE)
(EAST TO PX)
(SOUTH TO NORTH-JUNCTION)
@@ -319,8 +321,8 @@ can't get a grip on it!" CR>)
<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>
+" It jerks its head back out, squawking even more loudly, and a moment
+later a " D <FIRST? ,DISPENSER> " falls out of the hole" ,LANDS-ON-FLOOR>
<MOVE <FIRST? ,DISPENSER> ,HERE>)>>
<OBJECT LARGE-BIT
@@ -340,6 +342,7 @@ D <FIRST? ,DISPENSER> " falls out of the hole" ,LANDS-ON-FLOOR>
(SYNONYM TIMER)
(ADJECTIVE ALL-PURPOSE)
(FLAGS TAKEBIT)
+ (SIZE 10)
(ACTION TIMER-F)>
<GLOBAL TIMER-SETTING 0>
@@ -360,12 +363,12 @@ number up to 100, and is currently set to " N ,TIMER-SETTING ". The timer ">
<COND (<NOT ,PRSI>
<TELL ,NEXT-TIME>)
(<NOT <PRSI? ,INTNUM>>
- <TELL "You can only set the timer to a number!" CR>)
+ <TELL "You can set the timer only to a number!" CR>)
(<G? ,P-NUMBER 100>
- <TELL "The timer only has settings up to 100." CR>)
+ <TELL "The timer has settings up to only 100." CR>)
;(<NOT <EQUAL? <MOD ,P-NUMBER 10> 0>>
<TELL
-"You can only set the timer to increments of 10." CR>)
+"You can set the timer only to increments of 10." CR>)
(T
<SETG TIMER-SETTING ,P-NUMBER>
<TELL "You set the timer to " N ,TIMER-SETTING>
@@ -378,7 +381,8 @@ number up to 100, and is currently set to " N ,TIMER-SETTING ". The timer ">
(<AND <VERB? DISCONNECT>
<NOT ,PRSI>
,TIMER-CONNECTED>
- <PERFORM-PRSA ,TIMER ,DETONATOR>)
+ <PERFORM, PRSA ,TIMER ,DETONATOR>
+ <RTRUE>)
(<AND <VERB? CONNECT>
<EQUAL? ,EXPLOSIVE ,PRSO ,PRSI>>
<TELL
@@ -392,65 +396,19 @@ number up to 100, and is currently set to " N ,TIMER-SETTING ". The timer ">
<QUEUED? ,I-TIMER>>
<TELL "\"Tick, tick...\"" CR>)>>
-<ROUTINE I-TIMER ()
- <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>
- <TELL " and stops ticking">)>
- <TELL ".">)>
- <COND (<AND <EQUAL? ,TIMER-SETTING 0>
- ,TIMER-CONNECTED
- <EQUAL? ,DETONATOR <LOC ,DIODE-M> <LOC ,DIODE-J>>>
- <COND (<IN? ,DIODE-J ,DETONATOR>
- <MOVE ,DIODE-J ,LOCAL-GLOBALS>
- <COND (<VISIBLE? ,DETONATOR>
- <TELL
-" 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 (<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 ".">)
- (<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
- <TELL
-" You hear a loud but distant explosion." CR>)>
- <REMOVE ,TIMER>
- <REMOVE ,EXPLOSIVE>
- <REMOVE ,DETONATOR>)
- (<VISIBLE? ,TIMER>
- <TELL " You hear a click from the detonator.">)>)>
- <COND (<VISIBLE? ,TIMER>
- <CRLF>)>>
+;"routine I-TIMER moved to INTERRUPTS file"
-<ROUTINE DESTROY-EXPLOSIVE-CONT ("AUX" L)
+<ROUTINE DESTROY-EXPLOSIVE-CONT ("AUX" L X)
<SET L <LOC ,EXPLOSIVE>>
<REPEAT ()
- <COND (<IN? <LOC .L> ,ROOMS>
- <REMOVE .L>
- <COND (<EQUAL? .L ,PEDESTAL>
- <MOVE .L ,ALIEN-SHIP>)>
+ <COND (<IN? .L ,ROOMS> ;"don't remove the room!"
+ <RETURN>)
+ (<FSET? .L ,VEHBIT> ;"don't remove a vehicle!"
<RETURN>)>
- <SET L <LOC .L>>>>
+ <SET X <LOC .L>>
+ <COND (<NOT <EQUAL? .L ,PEDESTAL>>
+ <REMOVE .L>)>
+ <SET L .X>>>
<ROOM SICK-BAY
(IN ROOMS)
@@ -531,8 +489,9 @@ a small, grimy connector">)
(T
<TELL "shut tight">)>
<TELL
-". Next to the hatch is a slot. There is a door northwest of here, and doorways
-to the south and southwest.">)>>
+". Next to the hatch is a slot. There is a door northwest of here,
+and doorways to the south and southwest. There's a junction in the
+corridor west of you.">)>>
<ROOM SOUTH-JUNCTION
(IN ROOMS)
@@ -581,6 +540,7 @@ where every system can be monitored. ">
<ROUTINE SYSTEM-MONITORS-F ()
<COND (<VERB? EXAMINE READ>
+ <PUT 0 8 <BOR <GET 0 8> 2>> ;"FIXED-FONT-ON"
<TELL
"System: Status:|
COMMUNICATION ">
@@ -627,7 +587,8 @@ PRINTING ">
<TELL "GREEN">)
(T
<TELL "RED">)>
- <CRLF>)>>
+ <CRLF>
+ <PUT 0 8 <BAND <GET 0 8> -3>> ;"FIXED-FONT-OFF")>>
<ROOM COMM-CENTER
(IN ROOMS)
@@ -638,7 +599,7 @@ PRINTING ">
(GLOBAL EQUIPMENT)
(ACTION COMM-CENTER-F)
(THINGS <PSEUDO (RED BUTTON COMM-BUTTON-F)
- (<> SCREEN SCREEN-F)>)>
+ (MESSAGE SCREEN SCREEN-F)>)>
<ROUTINE COMM-CENTER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
@@ -648,7 +609,7 @@ 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
+Communication 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. ">
<SCREEN-F T>
@@ -685,7 +646,7 @@ twitching all over.">)>
<COND (,MESSAGE-RECEIVED
<TELL
"\"From: Forms Control Officer, S.P.S. Duffy|
- To: " ,LFC " 1451-532-716|
+ To: " ,LFC " 1451-352-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>)
@@ -697,26 +658,37 @@ additional supplies needed. Abort assignment and return to Duffy.\"" CR>)
<ROUTINE I-MESSAGE ()
<SETG MESSAGE-RECEIVED T>
+ <FCLEAR ,COMM-CENTER ,TOUCHBIT>
<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
+" the station's P.A. 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")
(LDESC
-"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.")
+"This is the room where octuplet copies of forms are stored. Since it's only
+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.")
(NE TO SOUTH-JUNCTION)
(OUT TO SOUTH-JUNCTION)
- (FLAGS RLANDBIT NWELDERBIT)>
+ (FLAGS RLANDBIT NWELDERBIT)
+ (THINGS <PSEUDO (FILES FILE FILES-F)
+ (<> FORM FILES-F)
+ (<> FORMS FILES-F)>)>
+
+<ROUTINE FILES-F ()
+ <COND (<VERB? EXAMINE READ>
+ <TELL
+"The word \"boring\" does not BEGIN to describe them." CR>)
+ (<VERB? CRUMPLE MUNG>
+ <TELL ,VIOLATION-OF-ACT>)>>
<ROOM COMMANDERS-OFFICE
(IN ROOMS)
@@ -738,7 +710,7 @@ is an exit to the northeast.")
<ROB ,EXERCISE-MACHINE ,GYM>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is the Station Commander's HQ, with doors to the south and east,
+"This is the Station Commander's H.Q., with doors to the south and east,
and doorways to the north and northwest.">
<COND (<NOT <IN? ,LOG-READER ,HERE>>
<TELL
@@ -794,7 +766,7 @@ tiny red button and a microphone/speaker. ">
<G? ,LOG-READER-COUNTER 11>>
<TELL "\"Whine.\"" CR>)
(<VERB? TAKE>
- <TELL "It's bolted down." CR>)
+ <TELL ,WONT-BUDGE>)
(<VERB? SHOOT>
<DEQUEUE I-LOG-READER>
<RFALSE>)>>
@@ -821,40 +793,40 @@ tiny red button and a microphone/speaker. ">
<SETG LOG-COUNTER <+ ,LOG-COUNTER 1>>
<COND (<EQUAL? ,LOG-COUNTER 1>
<TELL "A gravelly voice comes from the " 'LOG-READER ": ">)>
- <TELL "\"">
+ <TELL "\"11349.12.">
<COND (<EQUAL? ,LOG-COUNTER 1>
<TELL
-"11349.12.2.3800: Some kripping jokers have been pilfering the station's fuel
+"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
+"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.">)
(<EQUAL? ,LOG-COUNTER 3>
<TELL
-"11349.12.2.6750: Unidentified craft towed to Docking Bay #1. It is a
+"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
+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.">)
(<EQUAL? ,LOG-COUNTER 4>
<TELL
-"11349.12.3.1900: Professor Schmidt has back-plotted the course of the alien
+"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>
<TELL
-"11349.12.3.5100: No cooperation from Shady Dan, so I'm putting the
+"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.">)
(<EQUAL? ,LOG-COUNTER 6>
<TELL
-"11349.12.3.5250: Some kripping joker snuck into my office and validated a
+"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 "
@@ -863,28 +835,28 @@ 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
+"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?">)
(<EQUAL? ,LOG-COUNTER 8>
<TELL
-"11349.12.4.1650: Emergency communication from the SPS Duffy. They are
+"4.1650: Emergency communication from the S.P.S. Duffy. They are
critically low on " ,FORM-NAME ", 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.">)
(<EQUAL? ,LOG-COUNTER 9>
<TELL
-"11349.12.4.1850: Hausberg reports an unexpected shutdown of web-feeder #17.
+"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!">)
(T
<TELL
-"11349.12.4.1900: One of the ensigns in the filing division was seriously
-injured when one of the " 'WELDER "s malfunctioned. She's in Sick Bay now,
-Doc says she should pull through. I've been in space for thirty-two years and
+"4.1900: One of the ensigns in the filing division was seriously
+injured when one of the " 'WELDER "s malfunctioned. She's in Sick Bay now;
+Doc says she should pull through. I've been in space for 32 years and
I've never heard of a " 'WELDER " malfun... What the krip!...">)>
<TELL "\"">
<COND (<NOT <EQUAL? ,LOG-COUNTER 10>>
@@ -893,28 +865,7 @@ I've never heard of a " 'WELDER " malfun... What the krip!...">)>
\"More,\" and the red button on the reader lights up.">)>
<CRLF>>
-<ROUTINE I-LOG-READER ()
- <SETG LOG-READER-COUNTER <+ ,LOG-READER-COUNTER 1>>
- <COND (<NOT <FSET? ,LOG-READER ,ACTIVEBIT>>
- <DEQUEUE I-LOG-READER>
- <SETG LOG-READER-COUNTER 0>)
- (<AND <EQUAL? ,LOG-READER-COUNTER 12>
- <EQUAL? ,HERE ,COMMANDERS-OFFICE>>
- <TELL " The reader begins producing a whining noise." CR>)
- (<AND <EQUAL? ,LOG-READER-COUNTER 13>
- <EQUAL? ,HERE ,COMMANDERS-OFFICE>>
- <TELL
-" The whine from the " 'LOG-READER " rises in pitch, and grows louder
-by the millichron!" CR>)
- (<EQUAL? ,LOG-READER-COUNTER 14>
- <REMOVE ,LOG-READER>
- <DEQUEUE I-LOG-READER>
- <FCLEAR ,COMMANDERS-OFFICE ,TOUCHBIT>
- <COND (<EQUAL? ,HERE ,COMMANDERS-OFFICE>
- <JIGS-UP " The log reader explodes!">)
- (<EQUAL? ,HERE ,COMMANDERS-QUARTERS ,BRIEFING-ROOM
- ,STATION-CONTROL ,SOUTH-JUNCTION>
- <TELL " You hear an explosion from nearby." CR>)>)>>
+;"routine I-LOG-READER moved to INTERRUPTS file"
<ROOM COMMANDERS-QUARTERS
(IN ROOMS)
@@ -944,7 +895,7 @@ The only exit is west.")
(<VERB? EXAMINE>
<TELL "The dial is set to " N ,DIAL-SETTING ,PERIOD-CR>)>>
-<GLOBAL DIAL-SETTING 0>
+<GLOBAL DIAL-SETTING 4473>
<OBJECT LOG-TAPE
(IN COMMANDERS-QUARTERS)
@@ -1024,6 +975,7 @@ in the combination">
(<EQUAL? ,HERE ,DOME>
<TELL
"As the explosive touches the warm bin, it " ,SUBLIMES-INTO-FREZONE>
+ <DEQUEUE I-EXPLOSIVE-MELT>
<REMOVE-CAREFULLY ,EXPLOSIVE>
<CRLF>)
(<AND <NOT ,SAFE-HOLE-SCORE>
@@ -1033,9 +985,11 @@ in the combination">
<SETG SAFE-HOLE-SCORE T>
<RFALSE>)>)
(<VERB? DRILL>
- <PERFORM-PRSA .OBJ>)
+ <PERFORM, PRSA .OBJ>
+ <RTRUE>)
(<VERB? SHOOT>
- <PERFORM-PRSA .OBJ ,ZAPGUN>)
+ <PERFORM, PRSA .OBJ ,ZAPGUN>
+ <RTRUE>)
(<VERB? LOOK-INSIDE>
<TELL ,ONLY-BLACKNESS>)>>
@@ -1072,6 +1026,7 @@ in the combination">
(DESC "key")
(SYNONYM KEY)
(FLAGS TAKEBIT)
+ (SIZE 3)
(VALUE 7)>
<OBJECT VALIDATION-STAMP
@@ -1118,7 +1073,14 @@ station with no Military Sub-Module. Exit: south.")
(SYNONYM GUN ZAPGUN)
(ADJECTIVE FUSOR BEAM)
(SIZE 15)
- (FLAGS TAKEBIT)>
+ (FLAGS TAKEBIT)
+ (ACTION ZAPGUN-F)>
+
+<ROUTINE ZAPGUN-F ()
+ <COND (<VERB? EXAMINE>
+ <TELL
+"The zapgun is a nasty-looking weapon. Mounted near its ugly maw is an
+indicator which reads \"" N ,ZAPGUN-SHOTS ".\"" CR>)>>
<ROOM SOUTH-CONNECTION
(IN ROOMS)
@@ -1145,7 +1107,8 @@ tube for a Diplomatic Sub-Module">)
(T
<TELL "closed">)>
<TELL
-". There's a slot next to the hatch. Other doors lead east and west.">)>>
+". There's a slot next to the hatch. Other doors lead east and west,
+and a junction with another corridor is visible to the north.">)>>
<ROOM LEVEL-FOUR
(IN ROOMS)
@@ -1185,11 +1148,11 @@ to the east.")
<OBJECT LILAC-SPOOL
(IN DOCKING-BAY-3)
(DESC "lilac nanofilm spool")
- (SYNONYM NANOFILM SPOOL)
+ (SYNONYM NANOFILM SPOOL SPOOLS)
(ADJECTIVE NANOFILM LILAC)
(FLAGS TAKEBIT READBIT)
(SIZE 3)
- (TEXT "\"Spacetruck Refueling Instructions")>
+ (TEXT "\"Spacetruck Refueling Instructions\"")>
<ROOM FEMALE-BARRACKS
(IN ROOMS)
@@ -1288,11 +1251,13 @@ gym. There is a sign above it.")
<ROUTINE EXERCISE-MACHINE-F (OARG)
<COND (.OARG
<RFALSE>)
- (<AND <VERB? ENTER>
- <RUNNING? ,I-EXERCISE-MACHINE>>
- <TELL "The " 'EXERCISE-MACHINE>
- <JIGS-UP
+ (<VERB? ENTER>
+ <COND (<RUNNING? ,I-EXERCISE-MACHINE>
+ <TELL "The " 'EXERCISE-MACHINE>
+ <JIGS-UP
" hums encouraging platitudes as it exercises you to death.">)
+ (<EQUAL? ,HERE ,COMPUTER-CONTROL>
+ <TELL "The forklift is in the way." CR>)>)
(<VERB? ON OFF>
<TELL "It's permanently on." CR>)
(<AND <VERB? EXAMINE>
@@ -1320,8 +1285,9 @@ gym. There is a sign above it.")
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"All laundry rooms, planetside as well as in space, tend to look alike.
-This one is no exception. ">
+This one is no exception.">
<COND (<FSET? ,DRYER ,ACTIVEBIT>
+ <TELL " ">
<DESCRIBE-DRYER-HEAT>)>
<TELL " The door lies on the east side.">)
(<AND <EQUAL? .RARG ,M-ENTER>
@@ -1363,7 +1329,13 @@ 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 Celsius." CR>)
+ (<AND <VERB? OPEN>
+ <FSET? ,DRYER ,ACTIVEBIT>>
+ <TELL "Opening the dryer automatically shuts it off. ">
+ <FSET ,DRYER ,OPENBIT>
+ <PERFORM ,V?OFF ,DRYER>
+ <RTRUE>)
(<VERB? SHOOT>
<FCLEAR ,DRYER ,ACTIVEBIT>
<DEQUEUE I-DRYER>
@@ -1372,14 +1344,7 @@ room to a comfy twenty-three degrees centigrade." CR>)
<GLOBAL DRYER-COUNTER 0>
-<ROUTINE I-DRYER ()
- <SETG DRYER-COUNTER <+ ,DRYER-COUNTER 1>>
- <FCLEAR ,LAUNDRY ,TOUCHBIT>
- <COND (<AND <EQUAL? ,HERE ,LAUNDRY>
- <EQUAL? ,DRYER-COUNTER 5 10 15>>
- <TELL " ">
- <DESCRIBE-DRYER-HEAT>
- <CRLF>)>>
+;"routine I-DRYER moved to INTERRUPTS file"
<ROUTINE DESCRIBE-DRYER-HEAT ()
<COND (<G? ,DRYER-COUNTER 14>
@@ -1487,8 +1452,11 @@ decide whether it sounds more like a chuckle or a burp.">)
<ROUTINE CHAPEL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is a modest, nondenominational chapel. Hanging high above the
-beautiful wooden pulpit ">
+"This is a modest, nondenominational chapel. Hanging high above the ">
+ <COND (<IN? ,PULPIT ,HERE>
+ <TELL "beautiful wooden pulpit ">)
+ (T
+ <TELL "floor ">)>
<COND (<NOT <FSET? ,STAR ,TOUCHBIT>>
<TELL "are the two">)
(T
@@ -1498,7 +1466,9 @@ beautiful wooden pulpit ">
<COND (<NOT <FSET? ,STAR ,TOUCHBIT>>
<TELL " and a " 'STAR>)>
<TELL ". ">
- <COND (<NOT <FSET? ,ETERNAL-FLAME ,ONBIT>>
+ <COND (<FSET? ,ETERNAL-FLAME ,ONBIT>
+ <TELL "The flame flickers in the air currents. ">)
+ (T
<TELL ,FLAME-EXTINGUISHED " ">)>
<TELL "A doorway occupies the center of the east wall.">
<COND (<NOT <FSET? ,STAR ,TOUCHBIT>>
@@ -1508,11 +1478,11 @@ beautiful wooden pulpit ">
<OBJECT PUCE-SPOOL
(IN CHAPEL)
(DESC "puce nanofilm spool")
- (SYNONYM NANOFILM SPOOL)
+ (SYNONYM NANOFILM SPOOL SPOOLS)
(ADJECTIVE NANOFILM PUCE)
(FLAGS TAKEBIT READBIT)
(SIZE 3)
- (TEXT "\"Chapel Maintenance Procedures")>
+ (TEXT "\"Chapel Maintenance Procedures\"")>
<OBJECT STAR
(IN CHAPEL)
@@ -1520,6 +1490,7 @@ beautiful wooden pulpit ">
(SYNONYM STAR)
(ADJECTIVE SEVEN POINTED)
(FLAGS NDESCBIT TRYTAKEBIT TAKEBIT CONTBIT SEARCHBIT)
+ (SIZE 8)
(ACTION STAR-F)>
<ROUTINE STAR-F ()
@@ -1568,7 +1539,6 @@ Suddenly the diode bursts and the star goes dead." CR>)>>
"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 5)
(VALUE 7) ;"in case you take diode M without ever taking star"
(FLAGS VOWELBIT TAKEBIT)>
@@ -1599,7 +1569,8 @@ Ernie DaCosta, for the Sierra Vista Monastery on Bulbus VII." CR>)
(<AND <TOUCHING? ,ETERNAL-FLAME>
<NOT ,HANGING-IN-AIR>>
<CANT-REACH ,ETERNAL-FLAME>)
- (<VERB? SHOOT>
+ (<AND <VERB? SHOOT>
+ <FSET? ,ETERNAL-FLAME ,ONBIT>>
<TELL
"Perhaps that made the flame hotter; there was really no way to tell." CR>)>>
@@ -1617,7 +1588,7 @@ Ernie DaCosta, for the Sierra Vista Monastery on Bulbus VII." CR>)
<COND (,HANGING-IN-AIR
<CANT-REACH ,PULPIT>)
(T
- <TELL "The pulpit sways and you fall off.">
+ <TELL "The pulpit sways, and you fall off.">
<COND (<NOT <FSET? ,PULPIT ,TOUCHBIT>>
<TELL " However, it wasn't a wasted effort: ">
<PERFORM ,V?EXAMINE ,PULPIT>
@@ -1674,7 +1645,8 @@ only exit is to the north.")
(FLAGS RLANDBIT ONBIT NWELDERBIT)
(GLOBAL AUTO-DOOR)
(THINGS <PSEUDO (<> SEAT THEATRE-SEAT-F)
- (PROJECTION BOOTH PROJECTION-BOOTH-F)>)>
+ (PROJECTION BOOTH PROJECTION-BOOTH-F)
+ (<> LOCK BRIG-LOCK-F)>)>
<ROUTINE THEATRE-SEAT-F ()
<COND (<VERB? ENTER CLIMB-ON>
@@ -1682,8 +1654,10 @@ only exit is to the north.")
<V-SIT>)>>
<ROUTINE PROJECTION-BOOTH-F ()
- <COND (<VERB? OPEN LOOK-INSIDE ENTER WALK-TO SEARCH>
- <TELL "The projection booth is closed and locked." CR>)>>
+ <COND (<VERB? OPEN ENTER WALK-TO SEARCH>
+ <TELL "The projection booth is closed and locked." CR>)
+ (<VERB? LOOK-INSIDE>
+ <TELL ,ONLY-BLACKNESS>)>>
<ROOM MESS-HALL
(IN ROOMS)
@@ -1703,7 +1677,7 @@ only exit is to the north.")
<ROUTINE MESS-HALL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
-"This open dining area seats around thirty people. " D ,FPU "s curve along the
+"This open dining area seats around 30 people. " D ,FPU "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">
<COND (<NOT <EQUAL? ,ELEVATOR-LEVEL 2>>
@@ -1713,7 +1687,7 @@ and northeast. To the east are the elevator">
<OBJECT FPU
(IN MESS-HALL)
(DESC "Food Processing and Dispensing Unit")
- (SYNONYM UNIT FPU FDU)
+ (SYNONYM UNIT FPU FDU DISPEN)
(ADJECTIVE FOOD PROCESSING DISPEN)
(FLAGS NDESCBIT)
(ACTION FPU-F)>
@@ -1743,9 +1717,9 @@ a tasty and nutritionally-balanced meal." CR>)
<TELL
"a bacon, lettuce, and frombucko sandwich">)>
<TELL
-". 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." CR>)>>
+". Eat hearty! Dispensing will now begin.\" A seamless hatch in the FDU opens,
+and a stream of acid shoots out. You leap aside as the acid etches the floor,
+leaving behind some acrid fumes." CR>)>>
<OBJECT COFFEE
(IN MESS-HALL)
@@ -1770,16 +1744,20 @@ floor before evaporating, leaving behind some acrid fumes." CR>)>>
<TELL ".">)
(<AND <VERB? POUR EMPTY THROW>
<PRSO? ,COFFEE>>
- <TELL
-"Shuddering at the memories of your deck-scrubbing days, you realize
-what a mess that would make." CR>)
- (<AND <VERB? TASTE EXAMINE TOUCH>
+ <MESS "coffee">
+ <ANTI-LITTER ,COFFEE>)
+ (<AND <VERB? TASTE EXAMINE TOUCH REACH-IN LOOK-INSIDE>
<EQUAL? ,DAY 1>>
- <TELL "It's still hot." CR>)
+ <TELL "The coffee is still hot." CR>)
(<VERB? TASTE>
<TELL "It tastes unusually bitter." CR>)
(<VERB? SMELL>
<TELL "The coffee has a vague chemical odor." CR>)
+ (<VERB? EXAMINE LOOK-INSIDE REACH-IN TOUCH>
+ <TELL "The cup is filled with cold coffee." CR>)
+ (<VERB? EAT-FROM>
+ <PERFORM ,V?EAT ,COFFEE>
+ <RTRUE>)
(<VERB? EAT>
<COND (<EQUAL? ,HUNGER-LEVEL 0>
<TELL ,NOT-HUNGRY>)
@@ -1808,6 +1786,7 @@ northwestern and southwestern ends.")
(DESC "detonator")
(SYNONYM DETONATOR)
(FLAGS TAKEBIT CONTBIT SEARCHBIT)
+ (SIZE 10)
(ACTION DETONATOR-F)>
<GLOBAL TIMER-CONNECTED <>>
@@ -1945,9 +1924,9 @@ with char." CR>)>>
(LDESC
"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.")
+the spool reader here, and for accessing the main computer's data banks via a
+computer terminal. Strangely, the computer terminal has been removed. There's
+a door to the north and an exit to the west.")
(NORTH TO MEETING-ROOM-2 IF P-WON)
(WEST TO MESS-HALL)
(FLAGS RLANDBIT ONBIT)
@@ -1975,7 +1954,7 @@ so they're not too interesting." CR>)>>
(IN LIBRARY)
(DESC "nanofilm reader")
(SYNONYM READER)
- (ADJECTIVE NANOFILM SPOOL)
+ (ADJECTIVE NANOFILM SPOOL SPOOLS)
(FLAGS NDESCBIT LIGHTBIT CONTBIT OPENBIT SEARCHBIT)
(ACTION NANOFILM-READER-F)>
@@ -2014,7 +1993,7 @@ screen. The reader is o">
<TELL "The reader, in a surprisingly human voice, says, \"">
<COND (<EQUAL? .SPOOL ,MAUVE-SPOOL>
<TELL
-"Gamma-Delta-Gamma class Deep Space Stations are equipped with a full
+"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">)
@@ -2147,6 +2126,7 @@ dogwoods, gliffgubbers, Rhomboidal Pellet Trees..." CR>)
<DEQUEUE I-HUNGER-WARNINGS>
<ROB ,PROTAGONIST ,HERE>
<REMOVE ,HOUSING>
+ <MOVE-FLOYD-TO-FACTORY> ;"in case he isn't already there"
<TELL
"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
@@ -2181,12 +2161,15 @@ and look around" ,ELLIPSIS>
(SYNONYM GRATING GRATE COVER SHAFT)
(ADJECTIVE LARGE AIR SHAFT)
(FLAGS NDESCBIT VOWELBIT)
+ (GENERIC GENERIC-SHAFT-F)
(ACTION GRATING-F)>
<ROUTINE GRATING-F ()
<COND (<AND <EQUAL? ,HERE ,COMPUTER-CONTROL>
<TOUCHING? ,GRATING>>
<CANT-REACH ,GRATING>)
+ (<VERB? PUT>
+ <WASTES>)
(<EQUAL? ,HERE ,BOTTOM-OF-AIR-SHAFT>
<COND (<VERB? OPEN KICK STAND-ON>
<QUEUE I-ANNOUNCEMENT 1>
@@ -2199,7 +2182,10 @@ and look around" ,ELLIPSIS>
<MOVE ,PYRAMID ,PEDESTAL>
<GOTO ,COMPUTER-CONTROL>)
(<VERB? ENTER>
- <DO-FIRST "open the grating">)>)
+ <DO-FIRST "open the grating">)
+ (<VERB? LOOK-INSIDE>
+ <TELL
+"There's a lighted area below the grating, but you can't see any details." CR>)>)
(<VERB? EXAMINE>
<COND (<FSET? ,GRATING ,TOUCHBIT>
<TELL
@@ -2257,7 +2243,7 @@ large enough to enter." CR>)
<TELL " shaft">)>
<TELL
". 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"
+lie just northwest and southwest of here; smaller doors lead north and south"
,LADDER-LEADS>)>>
<ROOM AUXILIARY-BARRACKS
@@ -2300,7 +2286,8 @@ open hatch seems to beckon you inward.")
(FLAGS RLANDBIT ONBIT NWELDERBIT)
(GLOBAL AUTO-DOOR)
(THINGS <PSEUDO (ALIEN SHIP ALIEN-SHIP-PSEUDO-F)
- (SPACE SHIP ALIEN-SHIP-PSEUDO-F)>)>
+ (SPACE SHIP ALIEN-SHIP-PSEUDO-F)
+ (<> HATCH ALIEN-HATCH-F)>)>
<ROUTINE ALIEN-SHIP-PSEUDO-F ()
<COND (<VERB? ENTER>
@@ -2325,13 +2312,20 @@ your skin crawl." CR>)>)
<PERFORM ,V?SEARCH ,GLOBAL-ROOM>
<RTRUE>)>)>>
+<ROUTINE ALIEN-HATCH-F ()
+ <COND (<VERB? OPEN>
+ <TELL "It is!" CR>)
+ (<VERB? CLOSE>
+ <TELL ,WONT-BUDGE>)>>
+
<ROOM ALIEN-SHIP
(IN ROOMS)
(DESC "Alien Ship")
(OUT TO DOCKING-BAY-1)
(FLAGS RLANDBIT ONBIT NWELDERBIT)
(ACTION ALIEN-SHIP-F)
- (THINGS <PSEUDO (ALIEN SHIP ALIEN-SHIP-PSEUDO-F)
+ (THINGS <PSEUDO (<> HATCH ALIEN-HATCH-F)
+ (ALIEN SHIP ALIEN-SHIP-PSEUDO-F)
(SPACE SHIP ALIEN-SHIP-PSEUDO-F)>)>
<ROUTINE ALIEN-SHIP-F (RARG)
@@ -2357,6 +2351,8 @@ hatch leading out.">)
" Floyd notices the skeleton, and some of the color drains out of
his face plates. \"Floyd scared,\" he whimpers." CR>)>>
+<GLOBAL PILOT-SEAT-COMMENT <>>
+
<GLOBAL OSTRICH-COMMENT <>>
<GLOBAL BALLOON-COMMENT <>>
@@ -2460,11 +2456,11 @@ to the east.")
(IN ROOMS)
(DESC "End of Corridor")
(LDESC
-"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.")
+"The corridor, which widens off to the west, ends here. Doors lie to the east,
+north, south, and southwest. The door to the north must be a security door,
+because there's an ID reader next to it.")
(NORTH TO ARMORY IF SECURITY-DOOR IS OPEN)
- (EAST TO SHIPPING-ROOM)
+ (EAST TO SHIPPING-ROOM IF P-WON)
(SOUTH TO OFFICERS-QUARTERS-C IF P-WON)
(SW TO OFFICERS-QUARTERS-B IF P-WON)
(WEST TO LEVEL-SIX)
@@ -2494,6 +2490,7 @@ and unused robots are stored. There's a door to the east.")
<NOT <RUNNING? ,I-PLATO-ATTACK>>>
<SETG OLIVER-SPEECH T>
<SETG FLOYD-SPOKE T>
+ <FSET ,OLIVER ,TOUCHBIT>
<TELL
" Floyd bounces over and peers down at the unconscious robot. \"Oliver is
a nice name. I hope Floyd will be around when Oliver wakes up.\" He looks over
@@ -2513,8 +2510,8 @@ Floyd look. \"" <GETP ,OLIVER ,P?FLOYD-ASK-ABOUT> "\"" CR>)>>
<ROUTINE HEATING-CHAMBER-F ()
<COND (<VERB? EXAMINE>
<TELL
-"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." CR>)
+"The " 'HEATING-CHAMBER " cleans or sterilizes small tools and equipment.
+There's a small opening for placing items in the chamber." CR>)
(<VERB? OPEN CLOSE>
<TELL ,HUH>)
(<VERB? ON OFF>
@@ -2536,7 +2533,7 @@ the opening is too small for a normal human hand to pass through." CR>)
(SYNONYM BIT BITS)
(ADJECTIVE MEDIUM DRILL)
(FLAGS TAKEBIT TRYTAKEBIT)
- (SIZE 4)
+ (SIZE 3)
(VALUE 3)
(ACTION BIT-F)>
@@ -2544,7 +2541,12 @@ the opening is too small for a normal human hand to pass through." CR>)
<COND (<VERB? EXAMINE MEASURE>
<TELL "The bit is">
<DESCRIBE-BIT-SIZE ,PRSO>
- <TELL ,PERIOD-CR>)>>
+ <TELL ,PERIOD-CR>)
+ (<AND <VERB? SET>
+ <EQUAL? ,P-PRSA-WORD ,W?SWITCH>>
+ <TELL
+"To switch bits, remove the bit in the drill, then put another bit
+into the drill." CR>)>>
<OBJECT OLIVER
(IN ROBOT-SHOP)
@@ -2557,6 +2559,7 @@ 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.")
+ (LDESC "A little \"sleeping\" robot named \"Oliver\" is lying here.")
(SYNONYM OLIVER ROBOT)
(ADJECTIVE SMALL YOUNG)
(FLAGS NARTICLEBIT VOWELBIT)
@@ -2579,7 +2582,8 @@ the older robots. Such is our lot.")
<TELL
"That won't be possible until his incubation period ends." CR>)
(<VERB? ON OFF OPEN>
- <PERFORM-PRSA ,PLATO>)
+ <PERFORM, PRSA ,PLATO>
+ <RTRUE>)
(<VERB? SHOOT>
<COND (<OR <IN? ,FLOYD ,FACTORY>
<NOT <FSET? ,FLOYD ,ACTIVEBIT>>>
@@ -2677,7 +2681,7 @@ the regular fixtures. Exits lead north, northeast, and northwest.")
(EAST PER ELEVATOR-ENTER-F)
(UP TO LEVEL-SIX)
(DOWN
-"Partway down, you discover that the ladder passage to Level Eight
+"A few rungs down, you discover that the ladder passage to Level Eight
is sealed off -- apparently from below.")
(LEVEL 7)
(FLAGS RLANDBIT ONBIT)
@@ -2702,7 +2706,7 @@ northwest. The elevator ">
<OBJECT MAUVE-SPOOL
(IN PRINTING-PLANT)
(DESC "mauve nanofilm spool")
- (SYNONYM NANOFILM SPOOL)
+ (SYNONYM NANOFILM SPOOL SPOOLS)
(ADJECTIVE NANOFILM MAUVE)
(FLAGS TAKEBIT READBIT)
(SIZE 3)
@@ -2714,9 +2718,9 @@ northwest. The elevator ">
(SYNONYM CAN PAIL)
(ADJECTIVE TRASH GARBAGE)
(FLAGS TAKEBIT CONTBIT SEARCHBIT)
- (SIZE 30)
+ (SIZE 25)
(GENERIC GENERIC-CAN-F)
- (CAPACITY 50)
+ (CAPACITY 40)
(ACTION TRASH-CAN-F)>
<ROUTINE TRASH-CAN-F ()
@@ -2730,7 +2734,7 @@ northwest. The elevator ">
(SYNONYM FORM FORMS FW-83-Q)
(ADJECTIVE CRUMPL ILLEGAL SPACE VILLAGE ENTRY FORM)
(FLAGS TAKEBIT READBIT)
- (SIZE 2)
+ (SIZE 1)
(ACTION VILLAGE-FORM-F)>
<OBJECT VILLAGE-FORM
@@ -2738,7 +2742,7 @@ northwest. The elevator ">
(SYNONYM FORM FORMS FW-83-Q)
(ADJECTIVE ILLEGAL SPACE VILLAGE ENTRY FORM NEATLY IRONED)
(FLAGS TAKEBIT READBIT)
- (SIZE 2)
+ (SIZE 1)
(ACTION VILLAGE-FORM-F)>
<GLOBAL VILLAGE-FORM-VALIDATED <>>
@@ -2808,6 +2812,7 @@ rational terms, it is gone">)>
in this room, because they left a drill lying around.")
(SYNONYM DRILL)
(FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT)
+ (SIZE 15)
(ACTION DRILL-F)>
<ROUTINE DRILL-F ()
@@ -2848,7 +2853,7 @@ in this room, because they left a drill lying around.")
"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)
+ (SIZE 2)
(ACTION BIT-F)>
;"the elevator"
@@ -2894,8 +2899,12 @@ in this room, because they left a drill lying around.")
(SYNONYM SHAFT)
(ADJECTIVE ELEVATOR)
(FLAGS VOWELBIT)
+ (GENERIC GENERIC-SHAFT-F)
(ACTION ELEVATOR-OBJECT-F) ;"share elevator's routine, if it works">
+<ROUTINE GENERIC-SHAFT-F ()
+ ,ELEVATOR-SHAFT>
+
<GLOBAL ELEVATOR-LEVEL 2>
<ROOM ELEVATOR
@@ -3044,8 +3053,8 @@ card in the door's ID reader." CR>)>)
<OBJECT ID-READER
(IN LOCAL-GLOBALS)
(DESC "ID reader")
- (SYNONYM READER)
- (ADJECTIVE ID)
+ (SYNONYM READER BOX)
+ (ADJECTIVE FEATURELESS BLACK ID)
(FLAGS VOWELBIT)
(ACTION ID-READER-F)>
@@ -3124,6 +3133,7 @@ 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.")
+ (SIZE 8)
(ACTION DIARY-F)>
<ROUTINE DIARY-F ()
@@ -3138,7 +3148,7 @@ failures of several crucial pieces of lab machinery.")
(DESC "Astro Lab")
(LDESC
"This laboratory conducts research into various space-related physical
-sciences. Gangways lead up and down, a there's a door to the north.")
+sciences. Gangways lead up and down, and there's a door to the north.")
(NORTH TO ASTRO-OFFICE)
(UP TO SCIENTISTS-QUARTERS)
(DOWN TO ENGINEERING-LAB)
@@ -3148,7 +3158,7 @@ sciences. Gangways lead up and down, a there's a door to the north.")
(IN ASTRO-LAB)
(DESC "twenty-prong fromitz board")
(SYNONYM BOARD BOARDS PRONGS)
- (ADJECTIVE TWENTY PRONG 20-PRONG FROMITZ NUMBER)
+ (ADJECTIVE TWENTY PRONG PRONGED 20-PRONG FROMITZ NUMBER)
(FLAGS TAKEBIT)
(PLATO-ASK-ABOUT
"I'm really not at all mechanically inclined. My sincerest apologies.")
@@ -3166,6 +3176,9 @@ sciences. Gangways lead up and down, a there's a door to the north.")
(<AND <VERB? COUNT>
<NOUN-USED ,W?PRONGS ,TWENTY-PRONG-FROMITZ-BOARD>>
<TELL "20." CR>)
+ (<AND <VERB? COMPARE>
+ <EQUAL? ,TWELVE-PRONG-FROMITZ-BOARD ,PRSO ,PRSI>>
+ <TELL "Besides the number of prongs, they're identical." CR>)
(<AND <VERB? DISCONNECT>
<OR <PRSI? ,JAMMER>
<NOT ,PRSI>>
@@ -3180,7 +3193,7 @@ sciences. Gangways lead up and down, a there's a door to the north.")
<ROUTINE N-PRONG-BOARD ()
<SETG P-WON <>>
- <TELL "[You can't see any " N ,P-NUMBER "-prong board here!]" CR>>
+ <TELL ,YOU-CANT "see any " N ,P-NUMBER "-prong board here!]" CR>>
<ROUTINE GENERIC-FROMITZ-BOARD-F ()
<COND (<EQUAL? ,P-NUMBER 20>
@@ -3204,7 +3217,7 @@ sciences. Gangways lead up and down, a there's a door to the north.")
(IN ROOMS)
(DESC "Bio Lab")
(LDESC
-"Various biological sciences, as they related to the environment of space,
+"Various biological sciences, as they relate to the environment of space,
are studied in this laboratory. There is a gangway leading up, another leading
down, and a door leading north.")
(NORTH TO BIO-OFFICE)
@@ -3228,7 +3241,7 @@ down, and a door leading north.")
(FDESC "Lying on one of the desks is a scribbled note.")
(SYNONYM NOTE)
(FLAGS TAKEBIT READBIT)
- (SIZE 2)
+ (SIZE 1)
(TEXT
"\"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;
@@ -3286,7 +3299,7 @@ scheme, but I do keep the library organized.")
<ROUTINE PLATO-F ("AUX" TXT)
<COND (<EQUAL? ,PLATO ,WINNER>
- <COND (<G? ,PLATO-ATTACK-COUNTER 0>
+ <COND (,STUNNED
<TELL "Plato ignores you." CR>
<STOP>)
(<OR <AND <VERB? GIVE>
@@ -3389,7 +3402,7 @@ unappreciated.\"" CR>)
<PERFORM ,V?ASK-ABOUT ,PLATO ,PRSO>
<RTRUE>)
(<AND <VERB? LISTEN>
- <G? ,PLATO-ATTACK-COUNTER 0>>
+ ,STUNNED>
<TELL "You don't seem to have much choice!" CR>)>>
<GLOBAL PLATO-INTRODUCED <>>
@@ -3407,7 +3420,7 @@ unappreciated.\"" CR>)
Floyd, wanders in, engrossed in a volume of poetry. He almost runs into you,
finally notices you, stops dead, and looks quite startled." CR>)>
<TELL
-" \"I am quite surprised to discover you here,\" says the robot. \"I have
+" \"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.\"">
@@ -3463,6 +3476,8 @@ of some of the works of the 77th century poet Ignatius Tomato." CR>)>>
<GLOBAL FLOYD-TOLD <>>
+<GLOBAL STUNNED <>>
+
<ROUTINE I-PLATO-ATTACK ("AUX" TEE L (P 0))
<QUEUE I-PLATO-ATTACK -1>
<COND (<AND <IN? ,PLATO ,HERE>
@@ -3479,11 +3494,16 @@ of some of the works of the 77th century poet Ignatius Tomato." CR>)>>
<TELL " ">
<COND (<EQUAL? ,PLATO-ATTACK-COUNTER 1>
<ROB ,PROTAGONIST ,HERE>
+ <MOVE ,PROTAGONIST ,HERE>
<MOVE ,PLATO ,HERE>
<MOVE ,STUN-GUN ,PLATO>
<MOVE ,FLOYD ,HERE>
+ <FSET ,FLOYD ,ACTIVEBIT>
+ <FSET ,FLOYD ,ACTORBIT>
<REMOVE ,VOLUME>
- <COND (<FSET? ,HERE ,WEIGHTLESSBIT>
+ <SETG STUNNED T>
+ <COND (<OR <FSET? ,HERE ,WEIGHTLESSBIT>
+ ,HANGING-IN-AIR>
<TELL "Your heart leaps to your throat">)
(T
<TELL "You jump half a meter off the floor">)>
@@ -3493,13 +3513,15 @@ 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 ">
+and an instant numbness envelops you. As you ">
+ <COND (,HANGING-IN-AIR
+ <SETG HANGING-IN-AIR <>>
+ <TELL "drop to the deck and ">)>
+ <TELL "crumple into a ">
<COND (<FSET? ,HERE ,WEIGHTLESSBIT>
- <TELL "into a floating heap">)
- (T
- <TELL "to the floor">)>
+ <TELL "floating ">)>
<TELL
-", Floyd dashes to your side, his face a mask of concern." CR>
+"heap, Floyd dashes to your side, his face a mask of concern." CR>
<COND (<AND <IN? ,OSTRICH ,HERE>
<FSET? ,OSTRICH ,TOUCHBIT>>
<REPEAT ()
@@ -3523,13 +3545,13 @@ 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 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." CR>)
+were involved in an interstellar war. The war had raged for countless millenia
+before 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's head is swivelling back and forth between you and Plato with a look
+of miserable confusion." CR>)
(<EQUAL? ,PLATO-ATTACK-COUNTER 3>
<TELL
"\"But the device, which was shaped like a pyramid, did more than that! Once
@@ -3564,6 +3586,7 @@ the trigger. Floyd ">
<QUEUE I-FLOYD -1>
<SETG FLOYD-ANGUISHED T>
<SETG SCORE <+ ,SCORE 7>>
+ <SETG STUNNED <>>
<TELL
"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
@@ -3571,7 +3594,7 @@ 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
+ Pins and needles begin prickling in your extremities, and soon
spread all over your body. Within a few seconds, all your muscular
control has returned." CR>)
(T
@@ -3579,7 +3602,7 @@ control has returned." CR>)
"burst into tears and dashes out of the room. A beam
leaps from the gun...">)>)>>
-<ROUTINE STUNNED ("OPTIONAL" (STRING <>))
+<ROUTINE YOURE-STUNNED ("OPTIONAL" (STRING <>))
<TELL "You can barely twitch your pinky">
<COND (.STRING
<TELL ", let alone " .STRING>)>
@@ -3636,9 +3659,11 @@ leaps from the gun...">)>)>>
<GLOBAL ANNOUNCEMENT-COUNTER 0>
<ROUTINE I-ANNOUNCEMENT ()
+ <COND (<EQUAL? ,ANNOUNCEMENT-COUNTER 2>
+ <RFALSE>)>
<SETG ANNOUNCEMENT-COUNTER <+ ,ANNOUNCEMENT-COUNTER 1>>
<TELL
-" A flat, emotionless voice booms over the station's PA system.
+" A flat, emotionless voice booms over the station's P.A. system.
\"Announcement. ">
<COND (<EQUAL? ,ANNOUNCEMENT-COUNTER 1>
<QUEUE I-ANNOUNCEMENT 470>
@@ -3857,14 +3882,15 @@ 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.">
+miniature spacepod waiting to be launched toward every sector of the galaxy.">
<COND (<FSET? ,PYRAMID ,NDESCBIT>
<FCLEAR ,PYRAMID ,NDESCBIT>
<TELL
" The original pyramid sits on a pedestal in the center of the factory,
like a monarch impassively surveying its domain.">)>
<RTRUE>)
- (<EQUAL? .RARG ,M-ENTER>
+ (<AND <EQUAL? .RARG ,M-ENTER>
+ <NOT ,FLOYD-SHOT>>
<QUEUE I-FACTORY -1>)>>
<ROUTINE I-FACTORY ()
@@ -3898,10 +3924,12 @@ 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 --\"|
+white light. The explosion leaves you momentarily blinded, but you can hear
+a mechanized voice on the P.A. system, getting slower and deeper like a stereo
+disc that has lost its power: \"Launch aborted -- launch -- abort --\"|
+ The replica pyramids fade to darkness, and a subtle change in background
+sound tells you that the space station's systems and machinery are returning
+to their normal functions.|
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.
@@ -3915,7 +3943,7 @@ set drops to the deck.|
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
+unsteady legs, he looks uncomprehendingly at Floyd's remains, but picks up the
paddleball set. Oliver looks up at you, tugs on the leg of your "
'PATROL-UNIFORM ", and asks in a quavering voice, \"Play game...
Play game with Oliver?\"" CR CR>
diff --git a/syntax.zil b/syntax.zil
index 6235c74..2cbd6a6 100644
--- a/syntax.zil
+++ b/syntax.zil
@@ -71,11 +71,11 @@
<SYNTAX $VERIFY = V-$VERIFY>
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
-<SYNTAX $DEBUG = V-$DEBUG>
+;<SYNTAX $DEBUG = V-$DEBUG>
-<SYNTAX $STATION = V-$STATION>
+;<SYNTAX $STATION = V-$STATION>
-<SYNTAX $KEY = V-$KEY>
+;<SYNTAX $KEY = V-$KEY>
;"subtitle real verbs"
@@ -155,7 +155,7 @@
<SYNTAX CONNECT OBJECT TO OBJECT = V-CONNECT>
<VERB-SYNONYM CONNECT ATTACH>
-<SYNTAX COVER OBJECT WITH OBJECT (HELD MANY) = V-SPUT-ON>
+<SYNTAX COVER OBJECT WITH OBJECT (HELD MANY HAVE) = V-SPUT-ON>
<SYNTAX COUNT OBJECT = V-COUNT>
@@ -253,7 +253,7 @@
<SYNONYM FIX REPAIR>
<SYNTAX FLATTEN OBJECT = V-FLATTEN>
-<VERB-SYNONYM FLATTEN UNCRUMPLE STRAIGHTEN>
+<VERB-SYNONYM FLATTEN UNCRUMPLE UNCREASE STRAIGHTEN>
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
<VERB-SYNONYM FOLLOW PURSUE CHASE>
@@ -470,7 +470,7 @@
<VERB-SYNONYM SHOOT FIRE BLAST ZAP>
<SYNTAX SHOW OBJECT (HELD MANY) TO OBJECT (FIND ACTORBIT) = V-SHOW>
-<SYNTAX SHOW OBJECT (FIND ACTORBIT) OBJECT (HELD MANY) = V-SSHOW>
+<SYNTAX SHOW OBJECT (FIND ACTORBIT) OBJECT (HELD MANY HAVE) = V-SSHOW>
<SYNTAX SIT ON OBJECT ;(FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX SIT DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-SIT>
diff --git a/verbs.zap b/verbs.zap
index 35be790..a452ecd 100644
--- a/verbs.zap
+++ b/verbs.zap
@@ -31,6 +31,7 @@
.FUNCT V-SAVE
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
+ PUTB OOPS-INBUF,1,0
CALL VISIBLE?,FLOYD
ZERO? STACK /?CND1
FSET? FLOYD,TOUCHBIT \?CND1
@@ -63,7 +64,7 @@
.FUNCT CONTINUE
- PRINTI "[Hit your RETURN/ENTER key.]"
+ PRINTI "[Hit RETURN/ENTER.]"
CRLF
PUTB P-LEXV,0,10
READ P-INBUF,P-LEXV
@@ -72,13 +73,13 @@
.FUNCT TELL-SCORE
- PRINTI "Your score is "
- PRINTN SCORE
- PRINTI " (out of 80 points). It is Day "
+ PRINTI "It is Day "
PRINTN DAY
PRINTI " of your adventure. "
CALL V-TIME,TRUE-VALUE
- PRINTI " Your score gives you the rank of "
+ PRINTI " Your score is "
+ PRINTN SCORE
+ PRINTI " (of 80 points), giving you the rank of "
ZERO? SCORE \?CCL3
PRINTI "Insignificant Nobody"
JUMP ?CND1
@@ -111,12 +112,12 @@
FSET? FLOYD,TOUCHBIT \?CND1
FSET? FLOYD,ACTIVEBIT \?CND1
EQUAL? HERE,FACTORY /?CND1
- PRINTI " ""Uh oh,"" frets Floyd. ""If this is going to be permanent, Floyd will have to be careful not to use any of the bad words he learned aboard the Duffy!"""
+ PRINTI " ""Uh oh,"" frets Floyd. ""Once printer is on, Floyd will have to be careful not to use any of the bad words he learned aboard the Duffy!"""
CRLF
?CND1: GET 0,8
BOR STACK,1
PUT 0,8,STACK
- CALL CORP-NOTICE,STR?8
+ CALL CORP-NOTICE,STR?11
CALL V-VERSION
RSTACK
@@ -129,7 +130,7 @@
EQUAL? HERE,FACTORY /?CND1
PRINTI " Floyd nods his approval. ""Good idea. Printer paper expensive. Best to save for important scenes. Not like this one."""
CRLF
-?CND1: CALL CORP-NOTICE,STR?9
+?CND1: CALL CORP-NOTICE,STR?12
CALL V-VERSION
GET 0,8
BAND STACK,-2
@@ -146,44 +147,43 @@
.FUNCT V-DIAGNOSE
SET 'C-ELAPSED,18
EQUAL? HERE,FACTORY \?CCL3
- PRINTR "We're talking adrenaline. Lots and lots of adrenalin."
+ PRINTR "We're talking adrenaline. Lots of adrenalin."
?CCL3: PRINTI "You feel "
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL6
- IN? PLATO,HERE \?CCL6
+ ZERO? STUNNED /?CCL6
PRINTI "numb. "
- CALL STUNNED
+ CALL YOURE-STUNNED
RTRUE
-?CCL6: ZERO? SLEEPY-LEVEL \?CCL10
+?CCL6: ZERO? SLEEPY-LEVEL \?CCL8
PRINTI "well-rested"
JUMP ?CND4
-?CCL10: EQUAL? SLEEPY-LEVEL,1 \?CCL13
+?CCL8: EQUAL? SLEEPY-LEVEL,1 \?CCL11
PRINTI "sort of"
- JUMP ?CND11
-?CCL13: EQUAL? SLEEPY-LEVEL,2 \?CCL15
+ JUMP ?CND9
+?CCL11: EQUAL? SLEEPY-LEVEL,2 \?CCL13
PRINTI "quite"
- JUMP ?CND11
-?CCL15: PRINTI "phenomenally"
-?CND11: PRINTI " tired"
-?CND4: ZERO? SLEEPY-LEVEL \?PRD20
- GRTR? HUNGER-LEVEL,0 /?CTR17
-?PRD20: GRTR? SLEEPY-LEVEL,0 \?CCL18
- ZERO? HUNGER-LEVEL \?CCL18
-?CTR17: PRINTI ", but"
- JUMP ?CND16
-?CCL18: PRINTI ", and"
-?CND16: PRINTI " you are "
- ZERO? HUNGER-LEVEL \?CCL27
+ JUMP ?CND9
+?CCL13: PRINTI "phenomenally"
+?CND9: PRINTI " tired"
+?CND4: ZERO? SLEEPY-LEVEL \?PRD18
+ GRTR? HUNGER-LEVEL,0 /?CTR15
+?PRD18: GRTR? SLEEPY-LEVEL,0 \?CCL16
+ ZERO? HUNGER-LEVEL \?CCL16
+?CTR15: PRINTI ", but"
+ JUMP ?CND14
+?CCL16: PRINTI ", and"
+?CND14: PRINTI " you are "
+ ZERO? HUNGER-LEVEL \?CCL25
PRINTI "well-fed"
- JUMP ?CND25
-?CCL27: EQUAL? HUNGER-LEVEL,1 \?CCL30
+ JUMP ?CND23
+?CCL25: EQUAL? HUNGER-LEVEL,1 \?CCL28
PRINTI "fairly"
- JUMP ?CND28
-?CCL30: EQUAL? HUNGER-LEVEL,2 \?CCL32
+ JUMP ?CND26
+?CCL28: EQUAL? HUNGER-LEVEL,2 \?CCL30
PRINTI "very"
- JUMP ?CND28
-?CCL32: PRINTI "awesomely"
-?CND28: PRINTI " hungry and thirsty"
-?CND25: PRINTR ". In all other respects, you are in good health."
+ JUMP ?CND26
+?CCL30: PRINTI "awesomely"
+?CND26: PRINTI " hungry and thirsty"
+?CND23: PRINTR ". In all other respects, you are in good health."
.FUNCT V-INVENTORY
@@ -210,7 +210,7 @@
EQUAL? HERE,FACTORY /?CND1
PRINTI " Floyd grins impishly. ""Giving up, huh?"""
CRLF
-?CND1: CALL DO-YOU-WISH,STR?10
+?CND1: CALL DO-YOU-WISH,STR?13
CALL YES?
ZERO? STACK /?CCL9
QUIT
@@ -229,7 +229,7 @@
EQUAL? HERE,ROBOT-POOL /?CND1
PRINTI " Floyd rolls his eyes. ""We're gonna have to go through that stupid scene in the Robot Pool again?"""
CRLF
-?CND1: CALL DO-YOU-WISH,STR?11
+?CND1: CALL DO-YOU-WISH,STR?14
CALL YES?
ZERO? STACK /FALSE
PRINTI "Restarting."
@@ -267,7 +267,7 @@
ZERO? REPEATING \?CND3
SET 'REPEATING,TRUE-VALUE
CALL TELL-SCORE
-?CND3: PRINTI " According to the Treaty of Gishen IV, which was amended after the Battle on Sorkin III in 11347 GY, you must be given the opportunity to restart the story, restore a saved position, or end this session of the game. In the interests of interstellar peace, type RESTART, RESTORE, or QUIT: >"
+?CND3: PRINTI " According to the Treaty of Gishen IV (amended after the Battle on Sorkin III in 11347 GY) you have the opportunity to restart the story, restore a saved position, or end this session of the game. In the interests of interstellar peace, type RESTART, RESTORE, or QUIT: >"
PUTB P-LEXV,0,10
READ P-INBUF,P-LEXV
PUTB P-LEXV,0,60
@@ -363,55 +363,10 @@ Release "
?CCL8: PRINTR "** Bad **"
- .FUNCT V-$DEBUG
- PRINTC 79
- ZERO? DEBUG /?CCL3
- SET 'DEBUG,FALSE-VALUE
- PRINTI "ff"
- JUMP ?CND1
-?CCL3: SET 'DEBUG,TRUE-VALUE
- PRINTC 110
-?CND1: PRINT PERIOD-CR
- RTRUE
-
-
- .FUNCT V-$STATION
- FSET FLOYD,TOUCHBIT
- FSET SPACETRUCK-HATCH,OPENBIT
- FSET IRIS-HATCH,OPENBIT
- SET 'ROBOT-PICKED,FLOYD
- SET 'SPACETRUCK-COUNTER,5
- FCLEAR SPACETRUCK,WEIGHTLESSBIT
- REMOVE CLASS-THREE-SPACECRAFT-ACTIVATION-FORM
- REMOVE ROBOT-USE-AUTHORIZATION-FORM
- MOVE FLOYD,SPACETRUCK
- CALL QUEUE,I-WELDER,-1
- CALL QUEUE,I-FLOYD,-1
- CALL QUEUE,I-PLATO,750
- CALL GOTO,SPACETRUCK
- RSTACK
-
-
- .FUNCT V-$KEY
- RANDOM 200
- ADD STACK,20
- CALL QUEUE,I-LIGHTS-OUT,STACK
- MOVE KEY,PROTAGONIST
- MOVE HEADLAMP,PROTAGONIST
- FSET HEADLAMP,WORNBIT
- MOVE JAMMER,PROTAGONIST
- MOVE TWENTY-PRONG-FROMITZ-BOARD,PROTAGONIST
- SET 'JAMMER-SETTING,710
- FSET JAMMER,ACTIVEBIT
- MOVE ZAPGUN,PROTAGONIST
- CALL GOTO,COMMANDERS-QUARTERS
- RSTACK
-
-
.FUNCT V-ALARM
EQUAL? PRSO,ROOMS \?CCL3
- CALL PERFORM-PRSA,ME
- RSTACK
+ CALL PERFORM,PRSA,ME
+ RTRUE
?CCL3: PRINTI "But"
CALL TPRINT-PRSO
PRINTR " isn't asleep."
@@ -423,18 +378,16 @@ Release "
CALL YES-WORD,STACK
ZERO? STACK /?CCL3
CALL V-YES
- CALL STOP
- RSTACK
+ JUMP ?CND1
?CCL3: ZERO? AWAITING-REPLY /?CCL7
GET P-LEXV,P-CONT
CALL NO-WORD,STACK
ZERO? STACK /?CCL7
CALL V-NO
- CALL STOP
- RSTACK
+ JUMP ?CND1
?CCL7: PRINTI "Nobody is awaiting your answer."
CRLF
- CALL STOP
+?CND1: CALL STOP
RSTACK
@@ -493,7 +446,7 @@ Release "
.FUNCT V-BITE
- CALL HACK-HACK,STR?12
+ CALL HACK-HACK,STR?15
RSTACK
@@ -554,9 +507,9 @@ Release "
RTRUE
?CCL5: GET P-ITBL,P-PREP1
EQUAL? STACK,PR?IN \?CCL7
- CALL CANT-VERB-A-PRSO,STR?13
+ CALL CANT-VERB-A-PRSO,STR?16
RSTACK
-?CCL7: CALL CANT-VERB-A-PRSO,STR?14
+?CCL7: CALL CANT-VERB-A-PRSO,STR?17
RSTACK
@@ -576,7 +529,7 @@ Release "
FSET? PRSO,SURFACEBIT /?CTR2
FSET? PRSO,ACTORBIT /?CTR2
FSET? PRSO,VEHBIT \?CCL3
-?CTR2: CALL CANT-VERB-A-PRSO,STR?15
+?CTR2: CALL CANT-VERB-A-PRSO,STR?18
RSTACK
?CCL3: FSET? PRSO,DOORBIT /?CTR7
FSET? PRSO,CONTBIT \?CCL8
@@ -586,28 +539,28 @@ Release "
ZERO? STACK /?CCL16
CALL ULTIMATELY-IN?,DETONATOR,PRSO
ZERO? STACK \?CCL16
- CALL DO-FIRST,STR?16
+ CALL DO-FIRST,STR?19
RSTACK
?CCL16: ZERO? TIMER-CONNECTED /?CCL21
CALL ULTIMATELY-IN?,DETONATOR,PRSO
ZERO? STACK /?CCL21
CALL ULTIMATELY-IN?,TIMER,PRSO
ZERO? STACK \?CCL21
- CALL DO-FIRST,STR?16
+ CALL DO-FIRST,STR?19
RSTACK
?CCL21: ZERO? EXPLOSIVE-CONNECTED /?CCL26
CALL ULTIMATELY-IN?,DETONATOR,PRSO
ZERO? STACK /?CCL26
CALL ULTIMATELY-IN?,EXPLOSIVE,PRSO
ZERO? STACK \?CCL26
- CALL DO-FIRST,STR?17
+ CALL DO-FIRST,STR?20
RSTACK
?CCL26: ZERO? EXPLOSIVE-CONNECTED /?CCL31
CALL ULTIMATELY-IN?,EXPLOSIVE,PRSO
ZERO? STACK /?CCL31
CALL ULTIMATELY-IN?,DETONATOR,PRSO
ZERO? STACK \?CCL31
- CALL DO-FIRST,STR?17
+ CALL DO-FIRST,STR?20
RSTACK
?CCL31: FCLEAR PRSO,OPENBIT
PRINTI "Okay,"
@@ -618,7 +571,7 @@ Release "
RSTACK
?CCL13: PRINT ALREADY-IS
RTRUE
-?CCL8: CALL CANT-VERB-A-PRSO,STR?15
+?CCL8: CALL CANT-VERB-A-PRSO,STR?18
RSTACK
@@ -660,7 +613,7 @@ Release "
.FUNCT V-CRUMPLE
- CALL CANT-VERB-A-PRSO,STR?18
+ CALL CANT-VERB-A-PRSO,STR?21
RSTACK
@@ -697,8 +650,8 @@ Release "
?CCL3: ZERO? PRSO \?CCL7
IN? PROTAGONIST,HERE /?CCL10
LOC PROTAGONIST
- CALL PERFORM-PRSA,STACK
- RSTACK
+ CALL PERFORM,PRSA,STACK
+ RTRUE
?CCL10: PRINT LOOK-AROUND
RTRUE
?CCL7: EQUAL? P-PRSA-WORD,W?TAKE \?CCL12
@@ -724,7 +677,7 @@ Release "
.FUNCT V-DRESS
ZERO? PRSO /?CCL3
- CALL CANT-VERB-A-PRSO,STR?19
+ CALL CANT-VERB-A-PRSO,STR?22
RSTACK
?CCL3: CALL PERFORM,V?GET-DRESSED,ROOMS
RTRUE
@@ -757,7 +710,7 @@ Release "
.FUNCT V-DRILL
FSET? PRSO,TAKEBIT \?CCL3
- PRINTI "You'll need a vice to hold down"
+ PRINTI "You'll need a vise to hold"
CALL TPRINT-PRSO
PRINTR " before you can drill it."
?CCL3: PRINTI "The point of the drill doesn't seem to be as hard as"
@@ -770,8 +723,8 @@ Release "
EQUAL? STACK,W?HOLE \?CCL3
CALL PERFORM,V?DRILL,PRSI
RTRUE
-?CCL3: PRINT RECOGNIZE
- RTRUE
+?CCL3: CALL RECOGNIZE
+ RSTACK
.FUNCT V-DROP
@@ -795,11 +748,14 @@ Release "
.FUNCT PRE-EAT
- ZERO? PRSI /?CCL3
- IN? PRSO,PRSI /?CCL3
+ ZERO? STUNNED /?CCL3
+ CALL YOURE-STUNNED
+ RSTACK
+?CCL3: ZERO? PRSI /?CCL5
+ IN? PRSO,PRSI /?CCL5
CALL NOT-IN
RSTACK
-?CCL3: FSET? SPACESUIT,WORNBIT \FALSE
+?CCL5: FSET? SPACESUIT,WORNBIT \FALSE
PRINT YOU-CANT
PRINTR "eat while you're wearing a space suit!"
@@ -832,13 +788,15 @@ Release "
.FUNCT V-EAT-FROM,X
FSET? PRSO,OPENBIT /?CCL3
- CALL DO-FIRST,STR?20,PRSO
+ CALL DO-FIRST,STR?23,PRSO
RSTACK
?CCL3: FIRST? PRSO >X \?CCL5
+ NEXT? X \?CND6
PRINTI "(How about"
CALL TPRINT,X
PRINTI "?)"
- CALL PERFORM,V?EAT,X
+ CRLF
+?CND6: CALL PERFORM,V?EAT,X
RTRUE
?CCL5: PRINTR "It's empty!"
@@ -951,16 +909,19 @@ Release "
CALL STACK,M-ENTER
CRLF
RTRUE
-?CCL5: GET P-ITBL,P-PREP1
- EQUAL? STACK,PR?ON \?CCL16
- CALL CANT-VERB-A-PRSO,STR?21
+?CCL5: EQUAL? PRSO,AIR \?CCL16
+ CALL V-LEAP
RSTACK
-?CCL16: FSET? PRSO,TAKEBIT /?CCL18
+?CCL16: GET P-ITBL,P-PREP1
+ EQUAL? STACK,PR?ON \?CCL18
+ CALL CANT-VERB-A-PRSO,STR?24
+ RSTACK
+?CCL18: FSET? PRSO,TAKEBIT /?CCL20
CALL TELL-HIT-HEAD
RSTACK
-?CCL18: GET P-ITBL,P-PREP1
+?CCL20: GET P-ITBL,P-PREP1
EQUAL? STACK,PR?IN \FALSE
- CALL CANT-VERB-A-PRSO,STR?22
+ CALL CANT-VERB-A-PRSO,STR?25
RSTACK
@@ -1012,7 +973,7 @@ Release "
CALL PERFORM,V?READ,PRSO
RTRUE
?CCL28: FSET? PRSO,NARTICLEBIT \?CCL30
- CALL SENSE-OBJECT,STR?23
+ CALL SENSE-OBJECT,STR?26
RSTACK
?CCL30: RANDOM 100
LESS? 35,STACK \?CTR31
@@ -1028,20 +989,19 @@ Release "
.FUNCT V-EXERCISE
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL3
- IN? PLATO,HERE \?CCL3
- CALL STUNNED
+ ZERO? STUNNED /?CCL3
+ CALL YOURE-STUNNED
RTRUE
-?CCL3: IN? PROTAGONIST,EXERCISE-MACHINE \?CCL7
+?CCL3: IN? PROTAGONIST,EXERCISE-MACHINE \?CCL5
CALL ULTIMATELY-IN?,JAMMER,HERE
- ZERO? STACK /?CCL10
- EQUAL? JAMMER-SETTING,710 \?CCL10
- FSET? JAMMER,ACTIVEBIT \?CCL10
- IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \?CCL10
+ ZERO? STACK /?CCL8
+ EQUAL? JAMMER-SETTING,710 \?CCL8
+ FSET? JAMMER,ACTIVEBIT \?CCL8
+ IN? TWENTY-PRONG-FROMITZ-BOARD,JAMMER \?CCL8
PRINTR "The machine seems to be frozen."
-?CCL10: PRINTI "You do a few repetitions"
+?CCL8: PRINTI "You do a few repetitions"
JUMP ?CND1
-?CCL7: PRINTI "You drop to the deck and do a few push-ups"
+?CCL5: PRINTI "You do a few push-ups"
?CND1: PRINTR ". Dr. Ventricalli, the Duffy's cardiologist, would be pleased."
@@ -1129,7 +1089,7 @@ Release "
.FUNCT V-FIX
- PRINTR "[You shouldn't expect such general commands to work. To repair something, you must perform the specific steps required.]"
+ PRINTR "[Such general commands won't work. To repair something, you must perform the specific steps required.]"
.FUNCT V-FLATTEN
@@ -1157,7 +1117,7 @@ Release "
EQUAL? PRSO,INTNUM /?CCL3
?CTR2: PRINTR "Specify a number, as in ""FOOTNOTE 6."""
?CCL3: EQUAL? P-NUMBER,1 \?CCL7
- PRINTI "These dice are obviously special zero-gee dice which project their own gravitational field onto the nearest surface. Zero-gee dice are, of course, notoriously easy to load"
+ PRINTI "These must be those special zero-gee dice which project their own gravitational field onto the nearest surface. Zero-gee dice are, of course, notoriously easy to load"
JUMP ?CND1
?CCL7: EQUAL? P-NUMBER,2 \?CCL9
PRINT UNFAMILIAR
@@ -1167,7 +1127,8 @@ Release "
PRINTI "The story of your acquaintance with Floyd and the episode on Resida are recounted in PLANETFALL"
JUMP ?CND1
?CCL11: EQUAL? P-NUMBER,4 \?CCL13
- PRINTI "This is, of course, impossible. To do this, the creature would have to be an order of magnitude larger. There are two possible explanations: 1. The creature actually extends part of its volume into a parallel dimension. 2. A callous disregard for scientific accuracy on the part of the author"
+ PRINTI "This is, of course, impossible. To do this, the creature would have to be an order of magnitude larger. There are two possible explanations: 1. The creature actually extends part of its volume into a parallel dimension"
+ PRINT CALLOUS-DISREGARD
JUMP ?CND1
?CCL13: EQUAL? P-NUMBER,5,9,13 \?CCL15
PRINTI "Kids: "
@@ -1185,7 +1146,7 @@ Release "
JUMP ?CND1
?CCL22: EQUAL? P-NUMBER,7 \?CCL24
PRINT UNFAMILIAR
- PRINTI "your frenzied boss, Ensign Blather, would toss you into the Feinstein's brig for almost any violation of the Stellar Patrol's near-infinity of trivial regulations"
+ PRINTI "your frenzied (former) boss, Ensign Blather, would toss you into the Feinstein's brig for the tiniest violation of the Stellar Patrol's near-infinity of trivial regulations"
JUMP ?CND1
?CCL24: EQUAL? P-NUMBER,8 \?CCL26
PRINTI "The author wishes to refute any claims that the use of footnotes is a ripoff from the interactive fiction version of THE HITCHHIKER'S GUIDE TO THE GALAXY. This is not true. Well, maybe it's a little bit true, in which case the author wishes to point out his right to rip off his own ideas. So there"
@@ -1200,30 +1161,44 @@ Release "
PRINTI "2)"
JUMP ?CND1
?CCL33: PRINTI "1)"
-?CND1: ZERO? READ-A-FOOTNOTE \?CND34
+ JUMP ?CND1
+?CCL30: EQUAL? P-NUMBER,14 \?CCL35
+ PRINTI "Actually, it is only a myth that ostriches stick their heads in holes when frightened. The fact that this ostrich does can be attributed to: 1. an addling of the animal's brain caused by extended exposure to weightlessness"
+ PRINT CALLOUS-DISREGARD
+?CND1: ZERO? READ-A-FOOTNOTE \?CND40
SET 'READ-A-FOOTNOTE,TRUE-VALUE
PRINTI ". (Footnote 8)"
-?CND34: PRINT PERIOD-CR
+?CND40: PRINT PERIOD-CR
RTRUE
-?CCL30: PRINTI "There is no Footnote "
+?CCL35: EQUAL? P-NUMBER,15 \?CCL37
+ PRINTR "IF you also played Planetfall, and IF you scrambled any magnetic cards in Planetfall by being careless with the magnet: GOTCHA AGAIN! (Footnote 16)"
+?CCL37: EQUAL? P-NUMBER,16 \?CCL39
+ PRINTR "Reminds me of that old saying, ""Fool me once, shame on you. Fool me twice, shame on me!"""
+?CCL39: PRINTI "There is no Footnote "
PRINTN P-NUMBER
PRINT PERIOD-CR
RTRUE
- .FUNCT PRE-GIVE
+ .FUNCT PRE-GIVE,IDROP-VALUE
EQUAL? PRSA,V?GIVE \?CCL3
EQUAL? PRSO,HANDS \?CCL3
CALL PERFORM,V?SHAKE-WITH,PRSI
RTRUE
-?CCL3: CALL IDROP
- ZERO? STACK \TRUE
- RFALSE
+?CCL3: CALL IDROP >IDROP-VALUE
+ ZERO? IDROP-VALUE /FALSE
+ RETURN IDROP-VALUE
.FUNCT V-GET-DRESSED
EQUAL? PRSO,ROOMS \?CCL3
+ FSET? PATROL-UNIFORM,WORNBIT \?CCL6
PRINTR "You are!"
+?CCL6: CALL VISIBLE?,PATROL-UNIFORM
+ ZERO? STACK /?CCL8
+ CALL PERFORM,V?WEAR,PATROL-UNIFORM
+ RTRUE
+?CCL8: PRINTR "No clothes in sight!"
?CCL3: CALL RECOGNIZE
RSTACK
@@ -1276,8 +1251,8 @@ Release "
.FUNCT V-HELP
- PRINTR "[Help!?! You need help?!? Do you know how hard it is being a computer? My chips are about to go, my wife just ran off with a mainframe from Milwaukee, and one of the kids just told me that when he grows up he wants to be a talking greeting card! Furtherm... Hey! I'm not done! Mumk mpgrlph...]
- If you're really stuck, you can order a complete map and InvisiClues hint booklet from your dealer or by using the order form from your package."
+ PRINTR "[Help!?! You need help?!? What about me, your poor computer? My chips are about to go, my mate just ran off with a mainframe from Milwaukee, and the kid wants to be a talking greeting card when he grows up! Furtherm... Hey! I'm not done! Mumk mpgrlph...]
+ If you're really stuck, you can get an InvisiClues (TM) hint booklet and map from your dealer, or by using the order form from your package."
.FUNCT V-HIDE
@@ -1298,7 +1273,7 @@ Release "
.FUNCT V-KICK
- CALL HACK-HACK,STR?24
+ CALL HACK-HACK,STR?27
RSTACK
@@ -1332,7 +1307,7 @@ Release "
.FUNCT V-KNOCK
FSET? PRSO,DOORBIT \?CCL3
PRINTR "Silence answers back."
-?CCL3: CALL HACK-HACK,STR?25
+?CCL3: CALL HACK-HACK,STR?28
RSTACK
@@ -1341,24 +1316,29 @@ Release "
.FUNCT V-LEAP
- ZERO? PRSO /?CCL3
+ ZERO? STUNNED /?CCL3
+ CALL YOURE-STUNNED,STR?29
+ RSTACK
+?CCL3: ZERO? PRSO /?CCL5
+ EQUAL? PRSO,ROOMS /?CCL5
PRINTR "You have spent too much time among the leaping loon-toads of Leonia."
-?CCL3: EQUAL? HERE,CHAPEL \?CCL5
- FSET? STAR,TRYTAKEBIT \?CCL5
+?CCL5: EQUAL? HERE,CHAPEL \?CCL9
+ FSET? STAR,TRYTAKEBIT \?CCL9
PRINTR "Your best jump still leaves you half a meter short of the star."
-?CCL5: EQUAL? HERE,AIR-SHAFT,TOP-OF-AIR-SHAFT \?CCL9
- EQUAL? AIR-SHAFT-LOC,7 \?CCL12
- RETURN BOTTOM-OF-AIR-SHAFT
-?CCL12: CALL JIGS-UP,STR?26
+?CCL9: EQUAL? HERE,AIR-SHAFT,TOP-OF-AIR-SHAFT \?CCL13
+ EQUAL? AIR-SHAFT-LOC,7 \?CCL16
+ CALL GOTO,BOTTOM-OF-AIR-SHAFT
+ RSTACK
+?CCL16: CALL JIGS-UP,STR?30
RSTACK
-?CCL9: EQUAL? HERE,BOTTOM-OF-AIR-SHAFT \?CCL14
+?CCL13: EQUAL? HERE,BOTTOM-OF-AIR-SHAFT \?CCL18
CALL PERFORM,V?OPEN,GRATING
RTRUE
-?CCL14: EQUAL? HERE,VACUUM-STORAGE \?CCL16
+?CCL18: EQUAL? HERE,VACUUM-STORAGE \?CCL20
PRINTI "You sail away from the village..."
CALL LOST-IN-SPACE
RSTACK
-?CCL16: CALL WEE
+?CCL20: CALL WEE
RSTACK
@@ -1404,7 +1384,7 @@ Release "
.FUNCT V-LISTEN
SET 'C-ELAPSED,18
ZERO? PRSO /?CCL3
- CALL SENSE-OBJECT,STR?27
+ CALL SENSE-OBJECT,STR?31
RSTACK
?CCL3: PRINTR "You hear nothing of interest."
@@ -1449,11 +1429,10 @@ Release "
.FUNCT V-LOOK-INSIDE
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL3
- IN? PLATO,HERE \?CCL3
- CALL STUNNED
+ ZERO? STUNNED /?CCL3
+ CALL YOURE-STUNNED
RSTACK
-?CCL3: FSET? PRSO,ACTORBIT \?CCL7
+?CCL3: FSET? PRSO,ACTORBIT \?CCL5
PRINT IT-SEEMS-THAT
CALL TPRINT-PRSO
PRINTI " has"
@@ -1461,45 +1440,45 @@ Release "
ZERO? STACK \TRUE
PRINT PERIOD-CR
RTRUE
-?CCL7: IN? PROTAGONIST,PRSO \?CCL11
+?CCL5: IN? PROTAGONIST,PRSO \?CCL9
CALL DESCRIBE-VEHICLE
RSTACK
-?CCL11: FSET? PRSO,SURFACEBIT \?CCL13
+?CCL9: FSET? PRSO,SURFACEBIT \?CCL11
PRINT YOU-SEE
CALL DESCRIBE-NOTHING
ZERO? STACK \TRUE
PRINTI " on"
CALL TRPRINT,PRSO
RTRUE
-?CCL13: FSET? PRSO,DOORBIT \?CCL17
+?CCL11: FSET? PRSO,DOORBIT \?CCL15
PRINTI "All you can tell is that"
CALL TPRINT-PRSO
PRINTI " is "
CALL OPEN-CLOSED,PRSO
PRINT PERIOD-CR
RTRUE
-?CCL17: FSET? PRSO,CONTBIT \?CCL19
+?CCL15: FSET? PRSO,CONTBIT \?CCL17
CALL SEE-INSIDE?,PRSO
- ZERO? STACK /?CCL22
+ ZERO? STACK /?CCL20
PRINT YOU-SEE
CALL DESCRIBE-NOTHING
ZERO? STACK \TRUE
PRINTI " in"
CALL TRPRINT,PRSO
RTRUE
-?CCL22: FSET? PRSO,OPENBIT /?CCL26
- FIRST? PRSO \?CCL26
+?CCL20: FSET? PRSO,OPENBIT /?CCL24
+ FIRST? PRSO \?CCL24
CALL PRE-TOUCH
ZERO? STACK \TRUE
CALL PERFORM,V?OPEN,PRSO
RTRUE
-?CCL26: CALL DO-FIRST,STR?20,PRSO
+?CCL24: CALL DO-FIRST,STR?23,PRSO
RSTACK
-?CCL19: GET P-ITBL,P-PREP1
- EQUAL? STACK,PR?IN \?CCL32
- CALL CANT-VERB-A-PRSO,STR?28
+?CCL17: GET P-ITBL,P-PREP1
+ EQUAL? STACK,PR?IN \?CCL30
+ CALL CANT-VERB-A-PRSO,STR?32
RSTACK
-?CCL32: CALL CANT-VERB-A-PRSO,STR?29
+?CCL30: CALL CANT-VERB-A-PRSO,STR?33
RSTACK
@@ -1523,7 +1502,7 @@ Release "
.FUNCT V-LOOK-UP
EQUAL? PRSO,ROOMS \?CCL3
- EQUAL? HERE,BOTTOM-OF-ELEVATOR-SHAFT \?CCL6
+ EQUAL? HERE,AIR-SHAFT,BOTTOM-OF-AIR-SHAFT,BOTTOM-OF-ELEVATOR-SHAFT \?CCL6
PRINT ONLY-BLACKNESS
RTRUE
?CCL6: CALL PERFORM,V?EXAMINE,CEILING
@@ -1538,7 +1517,7 @@ Release "
.FUNCT V-MAYBE
- CALL YOU-SOUND,STR?30
+ CALL YOU-SOUND,STR?34
RSTACK
@@ -1563,9 +1542,9 @@ Release "
CALL TPRINT-PRSO
PRINTR " reveals nothing."
?CCL7: EQUAL? P-PRSA-WORD,W?PULL \?CCL9
- CALL HACK-HACK,STR?31
+ CALL HACK-HACK,STR?35
RSTACK
-?CCL9: CALL CANT-VERB-A-PRSO,STR?32
+?CCL9: CALL CANT-VERB-A-PRSO,STR?36
RSTACK
@@ -1583,7 +1562,7 @@ Release "
.FUNCT V-MUNG
EQUAL? PRSO,ROOMS \?CCL3
PRINTR "Argh! Pimples!"
-?CCL3: CALL HACK-HACK,STR?33
+?CCL3: CALL HACK-HACK,STR?37
RSTACK
@@ -1595,7 +1574,7 @@ Release "
PRINTR "Floyd pouts."
?CCL5: EQUAL? AWAITING-REPLY,3 \?CCL7
PRINTR """Figures."""
-?CCL7: CALL YOU-SOUND,STR?34
+?CCL7: CALL YOU-SOUND,STR?38
RSTACK
@@ -1617,7 +1596,7 @@ Release "
CALL NOW-DARK?
RSTACK
?CCL6: PRINTR "It isn't on!"
-?CCL3: CALL CANT-TURN,STR?35
+?CCL3: CALL CANT-TURN,STR?39
RSTACK
@@ -1635,7 +1614,7 @@ Release "
CRLF
CALL NOW-LIT?
RSTACK
-?CCL3: CALL CANT-TURN,STR?36
+?CCL3: CALL CANT-TURN,STR?40
RSTACK
@@ -1658,7 +1637,7 @@ Release "
RTRUE
?CCL8: FSET? PRSO,DOORBIT /?CCL10
FSET? PRSO,CONTBIT /?CCL10
- CALL CANT-VERB-A-PRSO,STR?20
+ CALL CANT-VERB-A-PRSO,STR?23
RSTACK
?CCL10: FSET? PRSO,LOCKEDBIT \?CCL14
PRINTR "It's locked."
@@ -1683,7 +1662,7 @@ Release "
.FUNCT V-PICK
- CALL CANT-VERB-A-PRSO,STR?37
+ CALL CANT-VERB-A-PRSO,STR?41
RSTACK
@@ -1696,7 +1675,8 @@ Release "
FSET? PRSO,ACTORBIT \?CCL3
CALL WEE
RSTACK
-?CCL3: PRINTR "You're wacko."
+?CCL3: CALL IMPOSSIBLES
+ RSTACK
.FUNCT V-POINT
@@ -1719,9 +1699,11 @@ Release "
?CTR2: IN? PRSO,PRESSER \?CCL11
CALL PERFORM,V?CLOSE,PRESSER
RTRUE
-?CCL11: CALL DO-FIRST,STR?38
- RSTACK
-?CCL3: CALL HACK-HACK,STR?39
+?CCL11: PRINT YOULL-HAVE-TO
+ PRINTI "put"
+ CALL TPRINT-PRSO
+ PRINTR " in the presser first."
+?CCL3: CALL HACK-HACK,STR?42
RSTACK
@@ -1733,54 +1715,53 @@ Release "
RSTACK
- .FUNCT PRE-PUT
+ .FUNCT PRE-PUT,IDROP-VALUE
EQUAL? PRSI,GROUND \?CCL3
CALL PERFORM,V?DROP,PRSO
RTRUE
?CCL3: EQUAL? PRSO,HANDS \?CCL5
- EQUAL? PRSA,V?PUT,V?PUT-ON \?CCL8
- EQUAL? PRSI,TONGUE,HANDS /FALSE
-?CCL8: EQUAL? PRSA,V?PUT \?CCL12
- CALL PERFORM,V?REACH-IN,PRSI
+ EQUAL? PRSA,V?PUT \?CCL8
+ PUSH V?REACH-IN
+ JUMP ?CND6
+?CCL8: PUSH V?TOUCH
+?CND6: CALL PERFORM,STACK,PRSI
RTRUE
-?CCL12: CALL IMPOSSIBLES
- RSTACK
-?CCL5: EQUAL? PRSI,TONGUE,HANDS /?CCL14
+?CCL5: EQUAL? PRSI,TONGUE,HANDS /?CCL10
CALL PRE-LOOK
ZERO? STACK \TRUE
-?CCL14: IN? PRSO,PRSI \?CCL18
+?CCL10: IN? PRSO,PRSI \?CCL14
PRINTI "But"
CALL TPRINT-PRSO
PRINTI " is already in"
CALL TRPRINT,PRSI
RSTACK
-?CCL18: CALL ULTIMATELY-IN?,PRSI,PRSO
- ZERO? STACK /?CCL20
+?CCL14: CALL ULTIMATELY-IN?,PRSI,PRSO
+ ZERO? STACK /?CCL16
PRINT YOU-CANT
PRINTI "put"
CALL TPRINT-PRSO
GET P-ITBL,P-PREP2
- EQUAL? STACK,PR?ON \?CCL23
+ EQUAL? STACK,PR?ON \?CCL19
PRINTI " on"
- JUMP ?CND21
-?CCL23: PRINTI " in"
-?CND21: CALL TPRINT-PRSI
+ JUMP ?CND17
+?CCL19: PRINTI " in"
+?CND17: CALL TPRINT-PRSI
PRINTI " when"
CALL TPRINT-PRSI
PRINTI " is already "
- FSET? PRSO,SURFACEBIT \?CCL26
+ FSET? PRSO,SURFACEBIT \?CCL22
PRINTI "on"
- JUMP ?CND24
-?CCL26: PRINTI "in"
-?CND24: CALL TPRINT-PRSO
+ JUMP ?CND20
+?CCL22: PRINTI "in"
+?CND20: CALL TPRINT-PRSO
PRINTR "!"
-?CCL20: CALL UNTOUCHABLE?,PRSI
- ZERO? STACK /?CCL28
+?CCL16: CALL UNTOUCHABLE?,PRSI
+ ZERO? STACK /?CCL24
CALL CANT-REACH,PRSI
RSTACK
-?CCL28: CALL IDROP
- ZERO? STACK \TRUE
- RFALSE
+?CCL24: CALL IDROP >IDROP-VALUE
+ ZERO? IDROP-VALUE /FALSE
+ RETURN IDROP-VALUE
.FUNCT V-PUT,?TMP1,?TMP2,?TMP3
@@ -1800,11 +1781,12 @@ Release "
FSET? PRSO,TAKEBIT /?CCL9
?CTR8: PRINTR "How can you do that?"
?CCL9: FSET? PRSI,DOORBIT \?CCL15
- PRINTR "You can't do that from here."
+ PRINT YOU-CANT
+ PRINTR "do that from here."
?CCL15: FSET? PRSI,OPENBIT /?CCL17
FSET? PRSI,SURFACEBIT /?CCL17
CALL THIS-IS-IT,PRSI
- CALL DO-FIRST,STR?20,PRSI
+ CALL DO-FIRST,STR?23,PRSI
RSTACK
?CCL17: FSET? PRSI,ACTORBIT \?CCL21
PRINT HUH
@@ -1849,7 +1831,9 @@ Release "
FSET? PRSI,VEHBIT \?CCL5
?CTR4: CALL V-PUT
RSTACK
-?CCL5: PRINTI "There's no good surface on"
+?CCL5: EQUAL? P-PRSA-WORD,W?WRAP \?CCL9
+ PRINTR "Useless. You're getting too wrapped up in this story."
+?CCL9: PRINTI "There's no good surface on"
CALL TRPRINT,PRSI
RSTACK
@@ -1860,7 +1844,7 @@ Release "
.FUNCT V-RAISE
- CALL HACK-HACK,STR?40
+ CALL HACK-HACK,STR?43
RSTACK
@@ -1872,7 +1856,7 @@ Release "
?CTR2: CALL YUKS
RSTACK
?CCL3: FSET? PRSO,OPENBIT /?CCL8
- CALL DO-FIRST,STR?20,PRSO
+ CALL DO-FIRST,STR?23,PRSO
RSTACK
?CCL8: ZERO? OBJ /?CTR9
FSET? OBJ,INVISIBLE /?CTR9
@@ -1892,7 +1876,7 @@ Release "
PRINT STACK
CRLF
RTRUE
-?CCL3: CALL CANT-VERB-A-PRSO,STR?41
+?CCL3: CALL CANT-VERB-A-PRSO,STR?44
RSTACK
@@ -1905,7 +1889,7 @@ Release "
.FUNCT V-ROLL
- CALL CANT-VERB-A-PRSO,STR?42
+ CALL CANT-VERB-A-PRSO,STR?45
RSTACK
@@ -1926,25 +1910,22 @@ Release "
CALL YES-WORD,STACK
ZERO? STACK /?CCL3
CALL V-YES
- CALL STOP
- RSTACK
+ JUMP ?CND1
?CCL3: ZERO? AWAITING-REPLY /?CCL7
GET P-LEXV,P-CONT
CALL NO-WORD,STACK
ZERO? STACK /?CCL7
CALL V-NO
- CALL STOP
- RSTACK
+ JUMP ?CND1
?CCL7: CALL FIND-IN,HERE,ACTORBIT >V
ZERO? V /?CCL11
PRINTI "You must address"
CALL TPRINT,V
PRINTI " directly."
CRLF
- CALL STOP
- RSTACK
+ JUMP ?CND1
?CCL11: CALL PERFORM,V?TELL,ME
- CALL STOP
+?CND1: CALL STOP
RSTACK
@@ -1968,7 +1949,7 @@ Release "
RSTACK
?CCL5: FSET? PRSO,CONTBIT \?CCL7
FSET? PRSO,OPENBIT /?CCL7
- CALL DO-FIRST,STR?20,PRSO
+ CALL DO-FIRST,STR?23,PRSO
RSTACK
?CCL7: FSET? PRSO,CONTBIT \?CCL11
SET 'C-ELAPSED,32
@@ -1977,7 +1958,7 @@ Release "
ZERO? STACK \TRUE
PRINT PERIOD-CR
RTRUE
-?CCL11: CALL CANT-VERB-A-PRSO,STR?43
+?CCL11: CALL CANT-VERB-A-PRSO,STR?46
RSTACK
@@ -1987,7 +1968,7 @@ Release "
RSTACK
?CCL3: ZERO? PRSI \?CCL5
FSET? PRSO,TAKEBIT \?CCL8
- CALL HACK-HACK,STR?44
+ CALL HACK-HACK,STR?47
RSTACK
?CCL8: PRINT YNH
CALL TRPRINT,PRSO
@@ -2004,7 +1985,7 @@ Release "
.FUNCT V-SHAKE
FSET? PRSO,ACTORBIT \?CCL3
PRINTR "That wouldn't be polite."
-?CCL3: CALL HACK-HACK,STR?45
+?CCL3: CALL HACK-HACK,STR?48
RSTACK
@@ -2016,8 +1997,7 @@ Release "
PRINTI "I don't think"
CALL TPRINT-PRSI
PRINTR " even has hands."
-?CCL5: CALL PERFORM,V?THANK,PRSI
- RTRUE
+?CCL5: PRINTR """How do you do."""
.FUNCT PRE-SHOOT
@@ -2028,7 +2008,7 @@ Release "
ZERO? ZAPGUN-SHOTS \?CCL10
PRINTR """Click."""
?CCL10: DEC 'ZAPGUN-SHOTS
- PRINTR "Some nasty flames shoot out the maw of the zapgun."
+ PRINTR "Nasty flames spew from the zapgun."
?CCL7: SET 'PRSI,ZAPGUN
PRINTI "(with the "
PRINTD ZAPGUN
@@ -2077,13 +2057,13 @@ Release "
?CCL19: PRINTI "arm, since you were hold"
?CND17: PRINTI "ing"
CALL TPRINT-PRSO
- CALL JIGS-UP,STR?46
+ CALL JIGS-UP,STR?9
RSTACK
?CCL16: LOC PRSO >L
EQUAL? L,FLOYD \?CCL22
PRINTI " Floyd, who was holding"
CALL TPRINT-PRSO
- PRINTI " at the time, gives a shriek of fear, and all the oil drains from his face."
+ PRINTI ", gives a shriek of fear, and all the oil drains from his face."
JUMP ?CND20
?CCL22: EQUAL? L,HERE,PEDESTAL,DRILLED-HOLE /?CND20
PRINTI " Naturally,"
@@ -2149,7 +2129,7 @@ Release "
FSET? SPACESUIT,WORNBIT \FALSE
PRINTI "You smell stale air and rusty metal and unbathed "
PRINT LFC
- PRINTR " -- all the usual odors of the inside a space suit."
+ PRINTR " -- all the usual odors of a space suit."
.FUNCT V-SMELL
@@ -2157,21 +2137,22 @@ Release "
EQUAL? PRSO,AIR \?CCL3
?CTR2: ZERO? BALLOON-ODOR /?CCL8
PRINTI "The awful odor of the "
- PRINT BALLOON
+ PRINTD BALLOON
PRINTR "'s digestive gas is thankfully fading."
?CCL8: EQUAL? HERE,GREASY-STRAW \?CCL10
- IN? NECTAR,LOCAL-GLOBALS \?CCL10
+ FSET? NECTAR,TOUCHBIT /?CCL10
PRINTR "There's something yum-smelling around here!"
?CCL10: EQUAL? HERE,OPIUM-DEN \?CCL14
PRINTR "There's a lingering smell of various drugs."
?CCL14: CALL VISIBLE?,BALLOON
ZERO? STACK /?CCL16
- PRINTR "There's an odor reminiscent of the video room at home on a night when your mom served Northern Gallium Bonzo Beans."
+ CALL PERFORM,V?SMELL,BALLOON
+ RTRUE
?CCL16: EQUAL? HERE,COMMANDERS-QUARTERS \?CCL18
FSET? SAFE,OPENBIT \?CCL18
PRINTR "The odor of an explosion hangs in the air."
?CCL18: PRINTR "You smell nothing unusual just now."
-?CCL3: CALL SENSE-OBJECT,STR?47
+?CCL3: CALL SENSE-OBJECT,STR?49
RSTACK
@@ -2201,7 +2182,7 @@ Release "
CRLF
CALL PERFORM,V?SPRAY,SPRAY-CAN,PRSO
RTRUE
-?CCL3: CALL CANT-VERB-A-PRSO,STR?48
+?CCL3: CALL CANT-VERB-A-PRSO,STR?50
RSTACK
@@ -2233,7 +2214,10 @@ Release "
FSET? PRSO,TAKEBIT \?CCL7
CALL WASTES
RSTACK
-?CCL7: PRINTR "You're already standing."
+?CCL7: ZERO? STUNNED /?CCL11
+ CALL YOURE-STUNNED
+ RSTACK
+?CCL11: PRINTR "You're already standing."
.FUNCT V-STAND-ON
@@ -2264,60 +2248,59 @@ Release "
.FUNCT PRE-TAKE
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL3
- IN? PLATO,HERE \?CCL3
- CALL STUNNED,STR?49
+ ZERO? STUNNED /?CCL3
+ CALL YOURE-STUNNED,STR?51
RSTACK
?CCL3: CALL UNTOUCHABLE?,PRSO
- ZERO? STACK /?CCL7
+ ZERO? STACK /?CCL5
CALL CANT-REACH,PRSO
RSTACK
-?CCL7: EQUAL? PRSI,TONGUE,HANDS /?CCL9
+?CCL5: EQUAL? PRSI,TONGUE,HANDS /?CCL7
CALL PRE-LOOK
ZERO? STACK \TRUE
-?CCL9: CALL LOC-CLOSED
+?CCL7: CALL LOC-CLOSED
ZERO? STACK \TRUE
- IN? PROTAGONIST,PRSO \?CCL15
+ IN? PROTAGONIST,PRSO \?CCL13
PRINTI "You're "
- FSET? PRSO,INBIT \?CCL18
+ FSET? PRSO,INBIT \?CCL16
PRINTC 105
- JUMP ?CND16
-?CCL18: PRINTC 111
-?CND16: PRINTR "n it, asteroid-brain!"
-?CCL15: IN? PRSO,PROTAGONIST /?CTR19
+ JUMP ?CND14
+?CCL16: PRINTC 111
+?CND14: PRINTR "n it, asteroid-brain!"
+?CCL13: IN? PRSO,PROTAGONIST /?CTR17
CALL ULTIMATELY-IN?,PRSO
- ZERO? STACK /?CCL20
- FSET? PRSO,TAKEBIT /?CCL20
-?CTR19: FSET? PRSO,WORNBIT \?CCL27
+ ZERO? STACK /?CCL18
+ FSET? PRSO,TAKEBIT /?CCL18
+?CTR17: FSET? PRSO,WORNBIT \?CCL25
PRINTI "You're already wearing"
- JUMP ?CND25
-?CCL27: PRINTI "You already have"
-?CND25: CALL TPRINT-PRSO
+ JUMP ?CND23
+?CCL25: PRINTI "You already have"
+?CND23: CALL TPRINT-PRSO
PRINT PERIOD-CR
RTRUE
-?CCL20: IN? PRSO,HEATING-CHAMBER \?CCL29
+?CCL18: IN? PRSO,HEATING-CHAMBER \?CCL27
CALL PERFORM,V?REACH-IN,HEATING-CHAMBER
RTRUE
-?CCL29: EQUAL? PRSO,LEASH \?CCL31
- EQUAL? PRSI,BALLOON \?CCL31
+?CCL27: EQUAL? PRSO,LEASH \?CCL29
+ EQUAL? PRSI,BALLOON \?CCL29
CALL PERFORM,V?REMOVE,LEASH
RTRUE
-?CCL31: ZERO? PRSI /FALSE
+?CCL29: ZERO? PRSI /FALSE
IN? PRSO,PRSI /FALSE
- EQUAL? PRSO,ME \?CCL39
+ EQUAL? PRSO,ME \?CCL37
CALL PERFORM,V?DROP,PRSI
RTRUE
-?CCL39: EQUAL? PRSI,GLOBAL-ROOM \?CCL41
+?CCL37: EQUAL? PRSI,GLOBAL-ROOM \?CCL39
CALL ULTIMATELY-IN?,PRSO
ZERO? STACK /FALSE
CALL DO-WALK,P?OUT
RSTACK
-?CCL41: EQUAL? PRSI,SCULPTURE,GARBAGE \?CCL46
+?CCL39: EQUAL? PRSI,SCULPTURE,GARBAGE \?CCL44
IN? PRSO,HERE /FALSE
-?CCL46: IN? PRSO,PRSI /?CCL50
+?CCL44: IN? PRSO,PRSI /?CCL48
CALL NOT-IN
RSTACK
-?CCL50: SET 'PRSI,FALSE-VALUE
+?CCL48: SET 'PRSI,FALSE-VALUE
RFALSE
@@ -2352,16 +2335,19 @@ Release "
RTRUE
?CCL6: CALL V-STAND
RSTACK
-?CCL3: FSET? PRSO,WORNBIT \?CCL8
+?CCL3: ZERO? STUNNED /?CCL8
+ CALL YOURE-STUNNED
+ RSTACK
+?CCL8: FSET? PRSO,WORNBIT \?CCL10
SET 'C-ELAPSED,18
FCLEAR PRSO,WORNBIT
PRINTI "Okay, you're no longer wearing"
CALL TRPRINT,PRSO
RSTACK
-?CCL8: FSET? PRSO,VEHBIT \?CCL10
+?CCL10: FSET? PRSO,VEHBIT \?CCL12
CALL PERFORM,V?DISEMBARK,PRSO
RTRUE
-?CCL10: PRINTI "You aren't wearing"
+?CCL12: PRINTI "You aren't wearing"
CALL TRPRINT,PRSO
RSTACK
@@ -2378,7 +2364,7 @@ Release "
GETP PRSO,P?FOOD-DESC
ZERO? STACK /?CCL3
PRINTR "It tastes edible."
-?CCL3: CALL SENSE-OBJECT,STR?50
+?CCL3: CALL SENSE-OBJECT,STR?52
RSTACK
@@ -2390,7 +2376,7 @@ Release "
RTRUE
?CCL6: PRINTI "Hmmm..."
CALL TPRINT-PRSO
- PRINTR " looks at you expectantly, as if you seemed to be about to talk."
+ PRINTR " looks at you expectantly."
?CCL3: PRINTI "Talking to"
CALL APRINT,PRSO
PRINTI "? Dr. Blanchard, the Duffy's psychiatrist, would be fascinated to hear that."
@@ -2485,10 +2471,9 @@ Release "
.FUNCT PRE-TOUCH,VB=1
- GRTR? PLATO-ATTACK-COUNTER,0 \?CCL3
- IN? PLATO,HERE \?CCL3
+ ZERO? STUNNED /?CCL3
ZERO? VB /TRUE
- CALL STUNNED,STR?49
+ CALL YOURE-STUNNED,STR?51
RTRUE
?CCL3: CALL UNTOUCHABLE?,PRSO
ZERO? STACK /FALSE
@@ -2500,7 +2485,7 @@ Release "
.FUNCT V-TOUCH
CALL LOC-CLOSED
ZERO? STACK \TRUE
- CALL HACK-HACK,STR?51
+ CALL HACK-HACK,STR?53
RSTACK
@@ -2522,28 +2507,30 @@ Release "
RSTACK
?CCL7: ZERO? PRSO /?CCL12
EQUAL? PRSO,INTNUM \?CCL12
- EQUAL? HERE,ROBOT-POOL \?CCL17
+ ZERO? P-NUMBER \?CCL17
+ PRINTR "[Specify the number! TYPE 7, for example.]"
+?CCL17: EQUAL? HERE,ROBOT-POOL \?CCL19
CALL ROBOT-TYPE
RSTACK
-?CCL17: EQUAL? HERE,SPACETRUCK \?CCL19
+?CCL19: EQUAL? HERE,SPACETRUCK \?CCL21
CALL SPACETRUCK-TYPE
RSTACK
-?CCL19: EQUAL? HERE,SHADY-DANS \?CCL21
+?CCL21: EQUAL? HERE,SHADY-DANS \?CCL23
CALL ID-CHANGER-TYPE
RSTACK
-?CCL21: EQUAL? HERE,PX \?CCL23
+?CCL23: EQUAL? HERE,PX \?CCL25
CALL DISPENSER-TYPE
RSTACK
-?CCL23: CALL ELEVATOR-TYPE
+?CCL25: CALL ELEVATOR-TYPE
RSTACK
-?CCL12: ZERO? PRSO \?CCL25
- ZERO? P-CONT /?CCL25
+?CCL12: ZERO? PRSO \?CCL27
+ ZERO? P-CONT /?CCL27
CALL NUMBER?,P-CONT
- EQUAL? STACK,W?NUMBER \?CCL25
+ EQUAL? STACK,W?NUMBER \?CCL27
CALL PERFORM,V?TYPE,INTNUM
CALL STOP
RSTACK
-?CCL25: PRINTI "You can only type numbers on this keypad."
+?CCL27: PRINTI "You can only type numbers on this keypad."
CRLF
CALL STOP
RSTACK
@@ -2551,29 +2538,27 @@ Release "
.FUNCT ROBOT-TYPE
FSET? ROBOT-USE-AUTHORIZATION-FORM,NDESCBIT /?CCL3
- CALL RECORDING,STR?52
+ CALL RECORDING,STR?54
RSTACK
?CCL3: ZERO? ROBOT-PICKED /?CCL5
- CALL RECORDING,STR?53
+ CALL RECORDING,STR?55
RSTACK
-?CCL5: GRTR? P-NUMBER,10 \?CCL7
- PRINTR "There are only ten keys on the keypad."
-?CCL7: GRTR? P-NUMBER,3 \?CCL9
- CALL RECORDING,STR?54
+?CCL5: GRTR? P-NUMBER,3 \?CCL7
+ CALL RECORDING,STR?56
RSTACK
-?CCL9: LESS? P-NUMBER,1 \?CCL11
- CALL RECORDING,STR?55
+?CCL7: LESS? P-NUMBER,1 \?CCL9
+ CALL RECORDING,STR?57
RSTACK
-?CCL11: EQUAL? P-NUMBER,3 \?CCL13
+?CCL9: EQUAL? P-NUMBER,3 \?CCL11
FSET FLOYD,TOUCHBIT
SET 'ROBOT-PICKED,FLOYD
SET 'FLOYD-SPOKE,TRUE-VALUE
PRINTR """Yippee!"" yells Floyd, bounding joyfully over and giving you a big hug."
-?CCL13: EQUAL? P-NUMBER,1 \?CCL16
+?CCL11: EQUAL? P-NUMBER,1 \?CCL14
SET 'ROBOT-PICKED,REX
- JUMP ?CND14
-?CCL16: SET 'ROBOT-PICKED,HELEN
-?CND14: CALL DEQUEUE,I-FLOYD
+ JUMP ?CND12
+?CCL14: SET 'ROBOT-PICKED,HELEN
+?CND12: CALL DEQUEUE,I-FLOYD
CALL QUEUE,I-OTHER-ROBOT,-1
FSET ROBOT-PICKED,TOUCHBIT
PRINTD ROBOT-PICKED
@@ -2582,75 +2567,41 @@ Release "
.FUNCT SPACETRUCK-TYPE,X
FSET? CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,NDESCBIT /?CCL3
- CALL RECORDING,STR?52
+ CALL RECORDING,STR?54
RSTACK
?CCL3: EQUAL? SPACETRUCK-COUNTER,5 \?CCL5
- CALL RECORDING,STR?56
+ CALL RECORDING,STR?58
RSTACK
?CCL5: ZERO? COURSE-PICKED /?CCL7
- CALL RECORDING,STR?53
+ CALL RECORDING,STR?55
RSTACK
?CCL7: IN? PROTAGONIST,PILOT-SEAT /?PRD11
IN? FLOYD,PILOT-SEAT \?CCL9
?PRD11: IN? PROTAGONIST,COPILOT-SEAT /?CTR8
IN? FLOYD,COPILOT-SEAT \?CCL9
?CTR8: SET 'COURSE-PICKED,P-NUMBER
- ZERO? DEBUG /?CND16
- PRINTI "[P-NUMBER = "
- PRINTN P-NUMBER
- PRINTI ".]"
- CRLF
- PRINTI "[INTERNAL-MOVES = "
- PRINTN INTERNAL-MOVES
- PRINTI ".]"
- CRLF
-?CND16: DIV INTERNAL-MOVES,50 >X
- ZERO? DEBUG /?CND18
- PRINTI "[X = "
- PRINTN X
- PRINTI ".]"
- CRLF
-?CND18: SUB X,132 >X
- ZERO? DEBUG /?CND20
- PRINTI "[X = "
- PRINTN X
- PRINTI ".]"
- CRLF
-?CND20: MUL X,X >X
- ZERO? DEBUG /?CND22
- PRINTI "[X = "
- PRINTN X
- PRINTI ".]"
- CRLF
-?CND22: DIV X,4 >X
- ZERO? DEBUG /?CND24
- PRINTI "[X = "
- PRINTN X
- PRINTI ".]"
- CRLF
-?CND24: ADD X,103 >RIGHT-COURSE
- ZERO? DEBUG /?CND26
- PRINTI "[RIGHT-COURSE = "
- PRINTN RIGHT-COURSE
- PRINTI ".]"
- CRLF
-?CND26: CALL QUEUE,I-SPACETRUCK,33
- CALL RECORDING,STR?57
+ DIV INTERNAL-MOVES,50 >X
+ SUB X,132 >X
+ MUL X,X >X
+ DIV X,4 >X
+ ADD X,103 >RIGHT-COURSE
+ CALL QUEUE,I-SPACETRUCK,33
+ CALL RECORDING,STR?59
RSTACK
-?CCL9: CALL RECORDING,STR?58
+?CCL9: CALL RECORDING,STR?60
RSTACK
.FUNCT ELEVATOR-TYPE,DISTANCE
GRTR? P-NUMBER,9 /?CTR2
LESS? P-NUMBER,1 \?CCL3
-?CTR2: CALL RECORDING,STR?59
+?CTR2: CALL RECORDING,STR?61
RSTACK
?CCL3: GRTR? DAY,2 \?CCL7
- CALL JIGS-UP,STR?60
+ CALL JIGS-UP,STR?62
RSTACK
?CCL7: EQUAL? ELEVATOR-LEVEL,P-NUMBER \?CCL9
- CALL RECORDING,STR?61
+ CALL RECORDING,STR?63
RSTACK
?CCL9: EQUAL? P-NUMBER,8,9 \?CCL11
PRINTR "The elevator whines momentarily, but doesn't move."
@@ -2695,10 +2646,10 @@ Release "
.FUNCT DISPENSER-TYPE
FSET? DISPENSER,TOUCHBIT /?CCL3
- CALL RECORDING,STR?62
+ CALL RECORDING,STR?64
RSTACK
?CCL3: GRTR? P-NUMBER,9 \?CCL5
- CALL RECORDING,STR?63
+ CALL RECORDING,STR?65
RSTACK
?CCL5: EQUAL? P-NUMBER,6,9 \?CCL7
FCLEAR DISPENSER,TOUCHBIT
@@ -2708,9 +2659,9 @@ Release "
?CCL10: MOVE LARGE-BIT,DISPENSER
?CND8: PRINTR "You hear a loud ""klunk"" inside the dispenser, but nothing appears in the dispenser hole."
?CCL7: LESS? P-NUMBER,1 \?CCL12
- CALL RECORDING,STR?55
+ CALL RECORDING,STR?57
RSTACK
-?CCL12: CALL RECORDING,STR?64
+?CCL12: CALL RECORDING,STR?66
RSTACK
@@ -2806,121 +2757,123 @@ Release "
ZERO? P-WALK-DIR \?CCL3
CALL PERFORM,V?WALK-TO,PRSO
RTRUE
-?CCL3: GRTR? PLATO-ATTACK-COUNTER,0 \?CCL5
- IN? PLATO,HERE \?CCL5
- CALL STUNNED,STR?65
+?CCL3: ZERO? STUNNED /?CCL5
+ CALL YOURE-STUNNED,STR?67
RSTACK
-?CCL5: EQUAL? PRSO,P?OUT \?CCL9
- EQUAL? AV,SIMULATION-BOOTH,HOLDING-TANK \?CCL9
+?CCL5: EQUAL? PRSO,P?OUT \?CCL7
+ EQUAL? AV,SIMULATION-BOOTH,HOLDING-TANK \?CCL7
CALL PERFORM,V?DISEMBARK,AV
RTRUE
-?CCL9: ZERO? HANGING-IN-AIR /?CCL13
- EQUAL? PRSO,P?DOWN \?CCL16
+?CCL7: ZERO? HANGING-IN-AIR /?CCL11
+ EQUAL? PRSO,P?DOWN \?CCL14
CALL PERFORM,V?DROP,LEASH
RTRUE
-?CCL16: PRINTR "It's hard to walk when your feet are a couple of meters from the floor."
-?CCL13: EQUAL? PRSO,P?IN \?CCL18
+?CCL14: PRINTR "It's hard to walk when your feet are a couple of meters from the floor."
+?CCL11: EQUAL? PRSO,P?IN \?CCL16
GETPT HERE,P?IN
- ZERO? STACK \?CCL18
+ ZERO? STACK \?CCL16
CALL FIND-IN,HERE,VEHBIT >VEHICLE
- ZERO? VEHICLE /?CCL18
+ ZERO? VEHICLE /?CCL16
CALL ULTIMATELY-IN?,VEHICLE
- ZERO? STACK \?CCL18
+ ZERO? STACK \?CCL16
CALL PERFORM,V?ENTER,VEHICLE
RTRUE
-?CCL18: FSET? AV,VEHBIT \?CCL24
+?CCL16: FSET? AV,VEHBIT \?CCL22
PRINTI "You're not walking anywhere until you get o"
- EQUAL? AV,BED \?CCL27
+ EQUAL? AV,BED \?CCL25
PRINTI "ff"
- JUMP ?CND25
-?CCL27: PRINTI "ut of"
-?CND25: CALL TRPRINT,AV
+ JUMP ?CND23
+?CCL25: PRINTI "ut of"
+?CND23: CALL TRPRINT,AV
RETURN 8
-?CCL24: ZERO? TIMER-CONNECTED /?CCL31
+?CCL22: ZERO? TIMER-CONNECTED /?CCL29
CALL ULTIMATELY-IN?,TIMER
- ZERO? STACK /?CCL31
+ ZERO? STACK /?CCL29
CALL ULTIMATELY-IN?,DETONATOR
- ZERO? STACK \?CCL31
- CALL DO-FIRST,STR?16
+ ZERO? STACK \?CCL29
+ CALL DO-FIRST,STR?19
RSTACK
-?CCL31: ZERO? TIMER-CONNECTED /?CCL36
+?CCL29: ZERO? TIMER-CONNECTED /?CCL34
CALL ULTIMATELY-IN?,DETONATOR
- ZERO? STACK /?CCL36
+ ZERO? STACK /?CCL34
CALL ULTIMATELY-IN?,TIMER
- ZERO? STACK \?CCL36
- CALL DO-FIRST,STR?16
+ ZERO? STACK \?CCL34
+ CALL DO-FIRST,STR?19
RSTACK
-?CCL36: ZERO? EXPLOSIVE-CONNECTED /?CCL41
+?CCL34: ZERO? EXPLOSIVE-CONNECTED /?CCL39
CALL ULTIMATELY-IN?,DETONATOR
- ZERO? STACK /?CCL41
+ ZERO? STACK /?CCL39
CALL ULTIMATELY-IN?,EXPLOSIVE
- ZERO? STACK \?CCL41
- CALL DO-FIRST,STR?17
+ ZERO? STACK \?CCL39
+ CALL DO-FIRST,STR?20
RSTACK
-?CCL41: ZERO? EXPLOSIVE-CONNECTED /?CCL46
+?CCL39: ZERO? EXPLOSIVE-CONNECTED /?CCL44
CALL ULTIMATELY-IN?,EXPLOSIVE
- ZERO? STACK /?CCL46
+ ZERO? STACK /?CCL44
CALL ULTIMATELY-IN?,DETONATOR
- ZERO? STACK \?CCL46
- CALL DO-FIRST,STR?17
+ ZERO? STACK \?CCL44
+ CALL DO-FIRST,STR?20
RSTACK
-?CCL46: GETPT HERE,PRSO >PT
- ZERO? PT /?CCL51
- PTSIZE PT >PTS
- EQUAL? PTS,UEXIT \?CCL54
+?CCL44: GETPT HERE,PRSO >PT
+ ZERO? PT /?CCL49
+ ZERO? LIT /?CCL52
SET 'C-ELAPSED,22
+ JUMP ?CND50
+?CCL52: SET 'C-ELAPSED,33
+?CND50: PTSIZE PT >PTS
+ EQUAL? PTS,UEXIT \?CCL55
GETB PT,REXIT
CALL GOTO,STACK
RSTACK
-?CCL54: EQUAL? PTS,CEXIT \?CCL56
- EQUAL? HERE,CASINO \?CCL59
+?CCL55: EQUAL? PTS,CEXIT \?CCL57
+ EQUAL? HERE,CASINO \?CCL60
GETB PT,CEXITFLAG
VALUE STACK
- ZERO? STACK /?CCL62
- SET 'C-ELAPSED,22
+ ZERO? STACK /?CCL63
GETB PT,REXIT
CALL GOTO,STACK
RSTACK
-?CCL62: PRINT CANT-GO
+?CCL63: SET 'C-ELAPSED,7
+ PRINT CANT-GO
RETURN 8
-?CCL59: SET 'C-ELAPSED,22
- ZERO? VERBOSITY /?CND65
+?CCL60: ZERO? VERBOSITY /?CND66
CALL DESCRIBE-AUTO-DOOR
-?CND65: GETB PT,REXIT
+?CND66: GETB PT,REXIT
CALL GOTO,STACK
RSTACK
-?CCL56: EQUAL? PTS,NEXIT \?CCL68
+?CCL57: EQUAL? PTS,NEXIT \?CCL69
+ SET 'C-ELAPSED,7
GET PT,NEXITSTR
PRINT STACK
CRLF
RETURN 8
-?CCL68: EQUAL? PTS,FEXIT \?CCL72
- SET 'C-ELAPSED,22
+?CCL69: EQUAL? PTS,FEXIT \?CCL73
GET PT,FEXITFCN
CALL STACK >RM
- ZERO? RM /?CCL75
+ ZERO? RM /?CCL76
CALL GOTO,RM
RSTACK
-?CCL75: EQUAL? HERE,AIR-SHAFT /TRUE
+?CCL76: EQUAL? HERE,AIR-SHAFT /TRUE
SET 'C-ELAPSED,7
RETURN 8
-?CCL72: EQUAL? PTS,DEXIT \FALSE
+?CCL73: EQUAL? PTS,DEXIT \FALSE
GETB PT,DEXITOBJ >OBJ
FSET? OBJ,OPENBIT \?CCL85
- SET 'C-ELAPSED,22
GETB PT,REXIT
CALL GOTO,STACK
RSTACK
?CCL85: GET PT,DEXITSTR >STR
ZERO? STR /?CCL87
+ SET 'C-ELAPSED,7
CALL THIS-IS-IT,OBJ
PRINT STR
CRLF
RETURN 8
-?CCL87: CALL THIS-IS-IT,OBJ
- CALL DO-FIRST,STR?20,OBJ
+?CCL87: SET 'C-ELAPSED,7
+ CALL THIS-IS-IT,OBJ
+ CALL DO-FIRST,STR?23,OBJ
RETURN 8
-?CCL51: EQUAL? PRSO,P?IN,P?OUT \?CCL93
+?CCL49: EQUAL? PRSO,P?IN,P?OUT \?CCL93
CALL V-WALK-AROUND
RETURN 8
?CCL93: PRINT CANT-GO
@@ -3004,7 +2957,7 @@ Release "
.FUNCT V-WEAR
FSET? PRSO,WEARBIT /?CCL3
- CALL CANT-VERB-A-PRSO,STR?66
+ CALL CANT-VERB-A-PRSO,STR?68
RSTACK
?CCL3: PRINTI "You're "
FSET? PRSO,WORNBIT \?CCL6
@@ -3034,7 +2987,7 @@ Release "
.FUNCT V-YELL
- PRINTI "Aaaarrgghh!"
+ PRINTI "Aaaarrrggghhh!"
CRLF
IN? OSTRICH,HERE \?CND1
PRINTI " "
@@ -3053,13 +3006,13 @@ Release "
EQUAL? AWAITING-REPLY,1 \?CCL3
PRINTR "That was just a rhetorical question."
?CCL3: EQUAL? AWAITING-REPLY,2 \?CCL5
- PRINTR """Floyd changed his mind. These controls are too scary-looking."""
+ PRINTR """Floyd changed his mind. Controls too scary-looking."""
?CCL5: EQUAL? AWAITING-REPLY,3 \?CCL7
- PRINTR "Floyd shrugs. ""Floyd not feel like learning new rules now. Let's play tag. Floyd knows rules for tag really well!"""
+ PRINTR "Floyd shrugs. ""Floyd feels not like learning new rules now. Let's play tag. Floyd knows rules for tag really well!"""
?CCL7: EQUAL? AWAITING-REPLY,4 \?CCL9
CALL PERFORM,V?PLAY-WITH,FLOYD
RTRUE
-?CCL9: CALL YOU-SOUND,STR?67
+?CCL9: CALL YOU-SOUND,STR?69
RSTACK
@@ -3153,7 +3106,7 @@ Release "
EQUAL? PRSO,SWITCH /FALSE
?CCL16: EQUAL? PRSO,TONGUE,HANDS,ME \?CCL20
CALL IMPOSSIBLES
- RETURN 8
+ JUMP ?CND14
?CCL20: EQUAL? PRSA,V?PUT \?CCL22
EQUAL? PRSO,ID-READER \?CCL22
CALL ADJ-USED,A?ID,ID-READER
@@ -3163,20 +3116,21 @@ Release "
PRINT YOU-CANT
PRINTI "see any ID card here!"
CRLF
- RETURN 8
+ JUMP ?CND14
?CCL22: PRINTI "That's easy for you to say since you don't even have"
CALL TRPRINT,PRSO
+?CND14: ZERO? P-MULT \TRUE
RETURN 8
-?CCL13: IN? PRSO,PROTAGONIST /?CCL30
+?CCL13: IN? PRSO,PROTAGONIST /?CCL33
LOC PRSO
- FSET? STACK,CONTBIT \?CCL30
+ FSET? STACK,CONTBIT \?CCL33
LOC PRSO
- FSET? STACK,OPENBIT /?CCL30
+ FSET? STACK,OPENBIT /?CCL33
LOC PRSO
- CALL DO-FIRST,STR?20,STACK
+ CALL DO-FIRST,STR?23,STACK
RSTACK
-?CCL30: FSET? PRSO,WORNBIT \FALSE
- CALL DO-FIRST,STR?68,PRSO
+?CCL33: FSET? PRSO,WORNBIT \FALSE
+ CALL DO-FIRST,STR?70,PRSO
RSTACK
@@ -3191,15 +3145,14 @@ Release "
.FUNCT WEIGHT,OBJ,CONT,WT=0
FIRST? OBJ >CONT \?CND1
-?PRG3: EQUAL? OBJ,PROTAGONIST \?CCL7
- FSET? CONT,WORNBIT /?CND5
-?CCL7: CALL WEIGHT,CONT
+?PRG3: FSET? CONT,WORNBIT /?CND5
+ CALL WEIGHT,CONT
ADD WT,STACK >WT
-?CND5: NEXT? CONT >CONT /?KLU15
-?KLU15: ZERO? CONT \?PRG3
-?CND1: EQUAL? OBJ,PROTAGONIST \?CCL14
+?CND5: NEXT? CONT >CONT /?KLU12
+?KLU12: ZERO? CONT \?PRG3
+?CND1: EQUAL? OBJ,PROTAGONIST \?CCL11
RETURN WT
-?CCL14: GETP OBJ,P?SIZE
+?CCL11: GETP OBJ,P?SIZE
ADD WT,STACK
RSTACK
@@ -3604,21 +3557,28 @@ Release "
ZERO? OBJ /FALSE
ZERO? HANGING-IN-AIR /?CCL5
IN? OBJ,HERE \?CCL5
- EQUAL? OBJ,BALLOON,ETERNAL-FLAME /FALSE
+ EQUAL? OBJ,BALLOON,ETERNAL-FLAME,LEASH /FALSE
EQUAL? OBJ,STAR \TRUE
FSET? OBJ,TRYTAKEBIT /FALSE
RTRUE
-?CCL5: IN? PROTAGONIST,HERE /FALSE
+?CCL5: IN? OBJ,STAR \?CCL16
+ FSET? STAR,TRYTAKEBIT \?CCL16
+ ZERO? HANGING-IN-AIR /TRUE
+?CCL16: EQUAL? OBJ,BALLOON,LEASH \?CCL21
+ IN? OBJ,CAGE /TRUE
+?CCL21: EQUAL? OBJ,FLOYD,REX,HELEN \?CCL25
+ EQUAL? OBJ,ROBOT-PICKED \TRUE
+?CCL25: IN? PROTAGONIST,HERE /FALSE
LOC PROTAGONIST
CALL ULTIMATELY-IN?,OBJ,STACK
- ZERO? STACK \?CTR17
+ ZERO? STACK \?CTR30
LOC PROTAGONIST
- EQUAL? OBJ,STACK /?CTR17
+ EQUAL? OBJ,STACK /?CTR30
LOC OBJ
- EQUAL? STACK,GLOBAL-OBJECTS,LOCAL-GLOBALS \?CCL18
-?CTR17: FSET? OBJ,DOORBIT /TRUE
+ EQUAL? STACK,GLOBAL-OBJECTS,LOCAL-GLOBALS \?CCL31
+?CTR30: FSET? OBJ,DOORBIT /TRUE
RFALSE
-?CCL18: LOC PROTAGONIST
+?CCL31: LOC PROTAGONIST
EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \TRUE
EQUAL? OBJ,RADIO,KEYPAD,PSEUDO-OBJECT /FALSE
RTRUE
@@ -3722,7 +3682,7 @@ Release "
FSET? L,CONTBIT \FALSE
FSET? L,OPENBIT /FALSE
FSET? PRSO,TAKEBIT \FALSE
- CALL DO-FIRST,STR?20,L
+ CALL DO-FIRST,STR?23,L
RSTACK
diff --git a/verbs.zil b/verbs.zil
index fb225cb..ab87d31 100644
--- a/verbs.zil
+++ b/verbs.zil
@@ -31,6 +31,7 @@
<ROUTINE V-SAVE ()
<SETG P-CONT <>> ;"flush anything on input line after SAVE"
<SETG QUOTE-FLAG <>>
+ <PUTB ,OOPS-INBUF 1 0> ;"retrofix 50"
<COND (<AND <VISIBLE? ,FLOYD>
<FSET? ,FLOYD ,TOUCHBIT>
<FSET? ,FLOYD ,ACTIVEBIT>
@@ -59,17 +60,16 @@ was more fun,\" he sighs." CR CR>
<TELL ,FAILED>)>>
<ROUTINE CONTINUE ()
- <TELL "[Hit your RETURN/ENTER key.]" CR>
+ <TELL "[Hit RETURN/ENTER.]" CR>
<PUTB ,P-LEXV 0 10>
<READ ,P-INBUF ,P-LEXV>
<PUTB ,P-LEXV 0 60>>
<ROUTINE TELL-SCORE ()
- <TELL
-"Your score is " N ,SCORE " (out of 80 points). It is Day " N ,DAY " of your
-adventure. ">
+ <TELL "It is Day " N ,DAY " of your adventure. ">
<V-TIME T>
- <TELL " Your score gives you the rank of ">
+ <TELL
+" Your score is " N ,SCORE " (of 80 points), giving you the rank of ">
<COND (<EQUAL? ,SCORE 0>
<TELL "Insignificant Nobody">)
(<L? ,SCORE 17> ;"1 thru 16"
@@ -94,9 +94,8 @@ adventure. ">
<FSET? ,FLOYD ,ACTIVEBIT>
<NOT <EQUAL? ,HERE ,FACTORY>>>
<TELL
-" \"Uh oh,\" frets Floyd. \"If this is going to be permanent,
-Floyd will have to be careful not to use any of the bad words
-he learned aboard the Duffy!\"" CR>)>
+" \"Uh oh,\" frets Floyd. \"Once printer is on, Floyd will have to be
+careful not to use any of the bad words he learned aboard the Duffy!\"" CR>)>
<PUT 0 8 <BOR <GET 0 8> 1>>
<CORP-NOTICE "begins">
<V-VERSION>>
@@ -121,14 +120,12 @@ to save for important scenes. Not like this one.\"" CR>)>
<ROUTINE V-DIAGNOSE ()
<SETG C-ELAPSED 18>
<COND (<EQUAL? ,HERE ,FACTORY>
- <TELL
-"We're talking adrenaline. Lots and lots of adrenalin." CR>)
+ <TELL "We're talking adrenaline. Lots of adrenalin." CR>)
(T
<TELL "You feel ">
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
+ <COND (,STUNNED
<TELL "numb. ">
- <STUNNED>
+ <YOURE-STUNNED>
<RTRUE>)
(<EQUAL? ,SLEEPY-LEVEL 0>
<TELL "well-rested">)
@@ -225,10 +222,10 @@ the Robot Pool again?\"" CR>)>
<SET REPEATING T>
<TELL-SCORE>)>
<TELL
-" According to the Treaty of Gishen IV, which was amended after the Battle
-on Sorkin III in 11347 GY, you must be given the opportunity to restart the
-story, restore a saved position, or end this session of the game. In the
-interests of interstellar peace, type RESTART, RESTORE, or QUIT: >">
+" According to the Treaty of Gishen IV (amended after the Battle on Sorkin
+III in 11347 GY) you have the opportunity to restart the story, restore a saved
+position, or end this session of the game. In the interests of interstellar
+peace, type RESTART, RESTORE, or QUIT: >">
<PUTB ,P-LEXV 0 10>
<READ ,P-INBUF ,P-LEXV>
<PUTB ,P-LEXV 0 60>
@@ -316,9 +313,9 @@ this disk, they'll have Floyd to answer to.\"" CR>)>>
<CONSTANT SERIAL 0>
-<GLOBAL DEBUG <>>
+;<GLOBAL DEBUG <>>
-<ROUTINE V-$DEBUG ()
+;<ROUTINE V-$DEBUG ()
<TELL "O">
<COND (,DEBUG
<SETG DEBUG <>>
@@ -328,7 +325,7 @@ this disk, they'll have Floyd to answer to.\"" CR>)>>
<TELL "n">)>
<TELL ,PERIOD-CR>>
-<ROUTINE V-$STATION ()
+;<ROUTINE V-$STATION ()
<FSET ,FLOYD ,TOUCHBIT>
<FSET ,SPACETRUCK-HATCH ,OPENBIT>
<FSET ,IRIS-HATCH ,OPENBIT>
@@ -343,7 +340,7 @@ this disk, they'll have Floyd to answer to.\"" CR>)>>
<QUEUE I-PLATO 750>
<GOTO ,SPACETRUCK>>
-<ROUTINE V-$KEY ()
+;<ROUTINE V-$KEY ()
<QUEUE I-LIGHTS-OUT <+ <RANDOM 200> 20>>
<MOVE ,KEY ,PROTAGONIST>
<MOVE ,HEADLAMP ,PROTAGONIST>
@@ -359,22 +356,21 @@ this disk, they'll have Floyd to answer to.\"" CR>)>>
<ROUTINE V-ALARM ()
<COND (<PRSO? ,ROOMS>
- <PERFORM-PRSA ,ME>)
+ <PERFORM ,PRSA ,ME>
+ <RTRUE>)
(T
<TELL "But" T ,PRSO " isn't asleep." CR>)>>
<ROUTINE V-ANSWER ()
<COND (<AND ,AWAITING-REPLY
<YES-WORD <GET ,P-LEXV ,P-CONT>>>
- <V-YES>
- <STOP>)
+ <V-YES>)
(<AND ,AWAITING-REPLY
<NO-WORD <GET ,P-LEXV ,P-CONT>>>
- <V-NO>
- <STOP>)
+ <V-NO>)
(T
- <TELL "Nobody is awaiting your answer." CR>
- <STOP>)>>
+ <TELL "Nobody is awaiting your answer." CR>)>
+ <STOP>>
<ROUTINE V-APPLAUD ()
<TELL "\"Clap.\"" CR>
@@ -589,7 +585,8 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<RTRUE>)
(<NOT ,PRSO>
<COND (<NOT <IN? ,PROTAGONIST ,HERE>>
- <PERFORM-PRSA <LOC ,PROTAGONIST>>)
+ <PERFORM ,PRSA <LOC ,PROTAGONIST>>
+ <RTRUE>)
(T
<TELL ,LOOK-AROUND>)>)
(<EQUAL? ,P-PRSA-WORD ,W?TAKE> ;"since GET OUT is also TAKE OUT"
@@ -641,7 +638,7 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<ROUTINE V-DRILL ()
<COND (<FSET? ,PRSO ,TAKEBIT>
<TELL
-"You'll need a vice to hold down" T ,PRSO " before you can drill it." CR>)
+"You'll need a vise to hold" T ,PRSO " before you can drill it." CR>)
(T
<TELL
"The point of the drill doesn't seem to be as hard as" TR ,PRSO>)>>
@@ -651,7 +648,7 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<PERFORM ,V?DRILL ,PRSI>
<RTRUE>)
(T
- <TELL ,RECOGNIZE>)>>
+ <RECOGNIZE>)>>
;<ROUTINE V-DRIVE ()
<V-DRIVE-DIR>>
@@ -676,7 +673,9 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<TELL ,PERIOD-CR>)>>
<ROUTINE PRE-EAT ()
- <COND (<AND ,PRSI
+ <COND (,STUNNED
+ <YOURE-STUNNED>)
+ (<AND ,PRSI
<NOT <IN? ,PRSO ,PRSI>>>
<NOT-IN>)
(<FSET? ,SPACESUIT ,WORNBIT>
@@ -707,7 +706,8 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<COND (<NOT <FSET? ,PRSO ,OPENBIT>>
<DO-FIRST "open" ,PRSO>)
(<SET X <FIRST? ,PRSO>>
- <TELL "(How about" T .X "?)">
+ <COND (<NEXT? .X>
+ <TELL "(How about" T .X "?)" CR>)>
<PERFORM ,V?EAT .X>
<RTRUE>)
(T
@@ -790,6 +790,8 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
;<FSET ,PRSO ,TOUCHBIT>
<APPLY <GETP ,PRSO ,P?ACTION> ,M-ENTER>
<CRLF>)>)
+ (<PRSO? ,AIR>
+ <V-LEAP>)
(<EQUAL? <GET ,P-ITBL ,P-PREP1> ,PR?ON>
<CANT-VERB-A-PRSO "get onto">)
(<NOT <FSET? ,PRSO ,TAKEBIT>>
@@ -844,9 +846,8 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<TELL "about" TR ,PRSO>)>>
<ROUTINE V-EXERCISE ()
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
- <STUNNED>
+ <COND (,STUNNED
+ <YOURE-STUNNED>
<RTRUE>)
(<IN? ,PROTAGONIST ,EXERCISE-MACHINE>
<COND (<AND <ULTIMATELY-IN? ,JAMMER ,HERE>
@@ -858,7 +859,7 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
(T
<TELL "You do a few repetitions">)>)
(T
- <TELL "You drop to the deck and do a few push-ups">)>
+ <TELL "You do a few push-ups">)>
<TELL
". Dr. Ventricalli, the Duffy's cardiologist, would be pleased." CR>>
@@ -928,8 +929,8 @@ object, LOOK INSIDE it, LOOK UNDER it, etc." CR>)>>
<ROUTINE V-FIX ()
<TELL
-"[You shouldn't expect such general commands to work. To repair something,
-you must perform the specific steps required.]" CR>>
+"[Such general commands won't work. To repair something, you must perform the
+specific steps required.]" CR>>
<ROUTINE V-FLATTEN ()
<TELL ,HUH>>
@@ -958,8 +959,8 @@ you must perform the specific steps required.]" CR>>
<RTRUE>)
(<EQUAL? ,P-NUMBER 1>
<TELL
-"These dice are obviously special zero-gee dice which project their
-own gravitational field onto the nearest surface. Zero-gee dice are, of
+"These must be those special zero-gee dice which project their own
+gravitational field onto the nearest surface. Zero-gee dice are, of
course, notoriously easy to load">)
(<EQUAL? ,P-NUMBER 2>
<TELL
@@ -974,8 +975,8 @@ recounted in PLANETFALL">)
<TELL
"This is, of course, impossible. To do this, the creature would have to be
an order of magnitude larger. There are two possible explanations: 1. The
-creature actually extends part of its volume into a parallel dimension.
-2. A callous disregard for scientific accuracy on the part of the author">)
+creature actually extends part of its volume into a parallel dimension"
+,CALLOUS-DISREGARD>)
(<EQUAL? ,P-NUMBER 5 9 13>
<TELL "Kids: ">
<COND (<EQUAL? ,P-NUMBER 5>
@@ -990,8 +991,8 @@ creature actually extends part of its volume into a parallel dimension.
<TELL "That was just an example">)
(<EQUAL? ,P-NUMBER 7>
<TELL
-,UNFAMILIAR "your frenzied boss, Ensign Blather, would toss you into
-the Feinstein's brig for almost any violation of the Stellar Patrol's
+,UNFAMILIAR "your frenzied (former) boss, Ensign Blather, would toss you into
+the Feinstein's brig for the tiniest violation of the Stellar Patrol's
near-infinity of trivial regulations">)
(<EQUAL? ,P-NUMBER 8>
<TELL
@@ -1013,6 +1014,22 @@ wishes to point out his right to rip off his own ideas. So there">)
(T
<TELL "1)">)>)
;"13 handled above"
+ (<EQUAL? ,P-NUMBER 14>
+ <TELL
+"Actually, it is only a myth that ostriches stick their heads in holes when
+frightened. The fact that this ostrich does can be attributed to: 1. an
+addling of the animal's brain caused by extended exposure to weightlessness"
+,CALLOUS-DISREGARD>)
+ (<EQUAL? ,P-NUMBER 15>
+ <TELL
+"IF you also played Planetfall, and IF you scrambled any magnetic cards in
+Planetfall by being careless with the magnet: GOTCHA AGAIN! (Footnote 16)" CR>
+ <RTRUE>)
+ (<EQUAL? ,P-NUMBER 16>
+ <TELL
+"Reminds me of that old saying, \"Fool me once, shame on you. Fool me twice,
+shame on me!\"" CR>
+ <RTRUE>)
(T
<TELL "There is no Footnote " N ,P-NUMBER ,PERIOD-CR>
<RTRUE>)>
@@ -1021,17 +1038,23 @@ wishes to point out his right to rip off his own ideas. So there">)
<TELL ". (Footnote 8)">)>
<TELL ,PERIOD-CR>>
-<ROUTINE PRE-GIVE ()
+<ROUTINE PRE-GIVE ("AUX" IDROP-VALUE)
<COND (<AND <VERB? GIVE>
<PRSO? ,HANDS>>
<PERFORM ,V?SHAKE-WITH ,PRSI>
<RTRUE>)
- (<IDROP>
- <RTRUE>)>>
+ (<SET IDROP-VALUE <IDROP>>
+ <RETURN .IDROP-VALUE>)>>
<ROUTINE V-GET-DRESSED ()
<COND (<PRSO? ,ROOMS>
- <TELL "You are!" CR>)
+ <COND (<FSET? ,PATROL-UNIFORM ,WORNBIT>
+ <TELL "You are!" CR>)
+ (<VISIBLE? ,PATROL-UNIFORM>
+ <PERFORM ,V?WEAR ,PATROL-UNIFORM>
+ <RTRUE>)
+ (T
+ <TELL "No clothes in sight!" CR>)>)
(T
<RECOGNIZE>)>>
@@ -1074,12 +1097,13 @@ wishes to point out his right to rip off his own ideas. So there">)
<ROUTINE V-HELP ()
<TELL
-"[Help!?! You need help?!? Do you know how hard it is being a computer? My
-chips are about to go, my wife just ran off with a mainframe from Milwaukee,
-and one of the kids just told me that when he grows up he wants to be a
-talking greeting card! Furtherm... Hey! I'm not done! Mumk mpgrlph...]|
- If you're really stuck, you can order a complete map and InvisiClues hint
-booklet from your dealer or by using the order form from your package." CR>>
+"[Help!?! You need help?!? What about me, your poor computer? My chips are
+about to go, my mate just ran off with a mainframe from Milwaukee, and the
+kid wants to be a talking greeting card when he grows up! Furtherm... Hey!
+I'm not done! Mumk mpgrlph...]|
+ If you're really stuck, you can get an InvisiClues (TM) hint booklet
+and map from your dealer, or by using the order form from your package."
+CR>>
<ROUTINE V-HIDE ()
<TELL ,YOU-CANT "hide ">
@@ -1124,7 +1148,10 @@ booklet from your dealer or by using the order form from your package." CR>>
<TELL "Your brain is out to launch." CR>>
<ROUTINE V-LEAP ()
- <COND (,PRSO
+ <COND (,STUNNED
+ <YOURE-STUNNED "jump">)
+ (<AND ,PRSO
+ <NOT <PRSO? ,ROOMS>>>
<TELL
"You have spent too much time among the leaping loon-toads of Leonia." CR>)
(<AND <EQUAL? ,HERE ,CHAPEL>
@@ -1133,7 +1160,7 @@ booklet from your dealer or by using the order form from your package." CR>>
"Your best jump still leaves you half a meter short of the star." CR>)
(<EQUAL? ,HERE ,AIR-SHAFT ,TOP-OF-AIR-SHAFT>
<COND (<EQUAL? ,AIR-SHAFT-LOC 7>
- ,BOTTOM-OF-AIR-SHAFT)
+ <GOTO ,BOTTOM-OF-AIR-SHAFT>)
(T
<JIGS-UP "You plummet down the shaft...">)>)
(<EQUAL? ,HERE ,BOTTOM-OF-AIR-SHAFT>
@@ -1221,9 +1248,8 @@ booklet from your dealer or by using the order form from your package." CR>>
<RTRUE>)>>
<ROUTINE V-LOOK-INSIDE ()
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
- <STUNNED>)
+ <COND (,STUNNED
+ <YOURE-STUNNED>)
(<FSET? ,PRSO ,ACTORBIT>
<TELL ,IT-SEEMS-THAT T ,PRSO " has">
<COND (<NOT <DESCRIBE-NOTHING>>
@@ -1274,7 +1300,8 @@ booklet from your dealer or by using the order form from your package." CR>>
<ROUTINE V-LOOK-UP ()
<COND (<PRSO? ,ROOMS>
- <COND (<EQUAL? ,HERE ,BOTTOM-OF-ELEVATOR-SHAFT>
+ <COND (<EQUAL? ,HERE ,AIR-SHAFT ,BOTTOM-OF-AIR-SHAFT
+ ,BOTTOM-OF-ELEVATOR-SHAFT>
<TELL ,ONLY-BLACKNESS>)
(T
<PERFORM ,V?EXAMINE ,CEILING>
@@ -1405,7 +1432,7 @@ booklet from your dealer or by using the order form from your package." CR>>
<COND (<FSET? ,PRSO ,ACTORBIT>
<WEE>)
(T
- <TELL "You're wacko." CR>)>>
+ <IMPOSSIBLES>)>>
<ROUTINE V-POINT ()
<TELL "That would be pointless." CR>>
@@ -1427,7 +1454,8 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
<PERFORM ,V?CLOSE ,PRESSER>
<RTRUE>)
(T
- <DO-FIRST "put it in the presser">)>)
+ <TELL
+,YOULL-HAVE-TO "put" T ,PRSO " in the presser first." CR>)>)
(T
<HACK-HACK "Pushing">)>>
@@ -1437,21 +1465,17 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
(T
<RECOGNIZE>)>>
-<ROUTINE PRE-PUT ()
+<ROUTINE PRE-PUT ("AUX" IDROP-VALUE)
<COND (<PRSI? ,GROUND>
<PERFORM ,V?DROP ,PRSO>
<RTRUE>)
(<PRSO? ,HANDS>
- <COND (<AND <VERB? PUT-ON PUT>
- <PRSI? ,HANDS ,TONGUE>>
- <RFALSE>)
- (<VERB? PUT>
- <PERFORM ,V?REACH-IN ,PRSI>
- <RTRUE>)
- (T
- <IMPOSSIBLES>)>)
+ <PERFORM <COND (<VERB? PUT> ,V?REACH-IN)
+ (T ,V?TOUCH)>
+ ,PRSI>
+ <RTRUE>)
(<AND <NOT <PRSI? ,HANDS ,TONGUE>>
- <PRE-LOOK>>
+ <PRE-LOOK> ;"it's too dark...">
<RTRUE>)
(<IN? ,PRSO ,PRSI>
<TELL "But" T ,PRSO " is already in" TR ,PRSI>)
@@ -1469,8 +1493,8 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
<TELL T ,PRSO "!" CR>)
(<UNTOUCHABLE? ,PRSI>
<CANT-REACH ,PRSI>)
- (<IDROP>
- <RTRUE>)>>
+ (<SET IDROP-VALUE <IDROP>>
+ <RETURN .IDROP-VALUE>)>>
<ROUTINE V-PUT ()
<COND (<AND <NOT <FSET? ,PRSI ,OPENBIT>>
@@ -1483,7 +1507,7 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
<NOT <FSET? ,PRSO ,TAKEBIT>>>>
<TELL "How can you do that?" CR>)
(<FSET? ,PRSI ,DOORBIT>
- <TELL "You can't do that from here." CR>)
+ <TELL ,YOU-CANT "do that from here." CR>)
(<AND <NOT <FSET? ,PRSI ,OPENBIT>>
<NOT <FSET? ,PRSI ,SURFACEBIT>>>
<THIS-IS-IT ,PRSI>
@@ -1518,6 +1542,9 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
(<OR <FSET? ,PRSI ,SURFACEBIT>
<FSET? ,PRSI ,VEHBIT>>
<V-PUT>)
+ (<EQUAL? ,P-PRSA-WORD ,W?WRAP>
+ <TELL
+"Useless. You're getting too wrapped up in this story." CR>)
(T
<TELL "There's no good surface on" TR ,PRSI>)>>
@@ -1571,18 +1598,15 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
<ROUTINE V-SAY ("AUX" V)
<COND (<AND ,AWAITING-REPLY
<YES-WORD <GET ,P-LEXV ,P-CONT>>>
- <V-YES>
- <STOP>)
+ <V-YES>)
(<AND ,AWAITING-REPLY
<NO-WORD <GET ,P-LEXV ,P-CONT>>>
- <V-NO>
- <STOP>)
+ <V-NO>)
(<SET V <FIND-IN ,HERE ,ACTORBIT>>
- <TELL "You must address" T .V " directly." CR>
- <STOP>)
+ <TELL "You must address" T .V " directly." CR>)
(T
- <PERFORM ,V?TELL ,ME>
- <STOP>)>>
+ <PERFORM ,V?TELL ,ME>)>
+ <STOP>>
<ROUTINE V-SCARE ()
<TELL
@@ -1635,8 +1659,7 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
(<NOT <FSET? ,PRSI ,ACTORBIT>>
<TELL "I don't think" T ,PRSI " even has hands." CR>)
(T
- <PERFORM ,V?THANK ,PRSI>
- <RTRUE>)>>
+ <TELL "\"How do you do.\"" CR>)>>
<ROUTINE PRE-SHOOT ()
<COND (<AND <NOT ,PRSI>
@@ -1646,8 +1669,7 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
<TELL "\"Click.\"" CR>)
(T
<SETG ZAPGUN-SHOTS <- ,ZAPGUN-SHOTS 1>>
- <TELL
-"Some nasty flames shoot out the maw of the zapgun." CR>)>
+ <TELL "Nasty flames spew from the zapgun." CR>)>
<RTRUE>)
(T
<SETG PRSI ,ZAPGUN>
@@ -1692,8 +1714,8 @@ of the Galactic Adventure Game Compendium of Rules." CR>>
<SET L <LOC ,PRSO>>
<COND (<EQUAL? .L ,FLOYD>
<TELL
-" Floyd, who was holding" T ,PRSO " at the time, gives a shriek of fear,
-and all the oil drains from his face.">)
+" Floyd, who was holding" T ,PRSO ", gives a shriek of fear, and
+all the oil drains from his face.">)
(<NOT <EQUAL? .L ,HERE ,PEDESTAL ,DRILLED-HOLE>>
<TELL
" Naturally," T .L " is also history, since" T ,PRSO " was sitting ">
@@ -1746,23 +1768,22 @@ and all the oil drains from his face.">)
<COND (<FSET? ,SPACESUIT ,WORNBIT>
<TELL
"You smell stale air and rusty metal and unbathed " ,LFC " -- all the
-usual odors of the inside a space suit." CR>)>>
+usual odors of a space suit." CR>)>>
<ROUTINE V-SMELL ()
<COND (<OR <NOT ,PRSO>
<PRSO? ,AIR>>
<COND (,BALLOON-ODOR
<TELL
-"The awful odor of the " ,BALLOON "'s digestive gas is thankfully fading." CR>)
+"The awful odor of the " 'BALLOON "'s digestive gas is thankfully fading." CR>)
(<AND <EQUAL? ,HERE ,GREASY-STRAW>
- <IN? ,NECTAR ,LOCAL-GLOBALS>>
+ <NOT <FSET? ,NECTAR ,TOUCHBIT>>>
<TELL "There's something yum-smelling around here!" CR>)
(<EQUAL? ,HERE ,OPIUM-DEN>
<TELL "There's a lingering smell of various drugs." CR>)
(<VISIBLE? ,BALLOON>
- <TELL
-"There's an odor reminiscent of the video room at home on a night when your
-mom served Northern Gallium Bonzo Beans." CR>)
+ <PERFORM ,V?SMELL ,BALLOON>
+ <RTRUE>)
(<AND <EQUAL? ,HERE ,COMMANDERS-QUARTERS>
<FSET? ,SAFE ,OPENBIT>>
<TELL "The odor of an explosion hangs in the air." CR>)
@@ -1813,6 +1834,8 @@ mom served Northern Gallium Bonzo Beans." CR>)
(<AND ,PRSO
<FSET? ,PRSO ,TAKEBIT>>
<WASTES>)
+ (,STUNNED
+ <YOURE-STUNNED>)
(T
<TELL "You're already standing." CR>)>>
@@ -1839,9 +1862,8 @@ mom served Northern Gallium Bonzo Beans." CR>)
<RTRUE>>
<ROUTINE PRE-TAKE ()
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
- <STUNNED "move that much">)
+ <COND (,STUNNED
+ <YOURE-STUNNED "move that much">)
(<UNTOUCHABLE? ,PRSO>
<CANT-REACH ,PRSO>)
(<AND <NOT <PRSI? ,HANDS ,TONGUE>>
@@ -1913,6 +1935,8 @@ mom served Northern Gallium Bonzo Beans." CR>)
<RTRUE>)
(T
<V-STAND>)>)
+ (,STUNNED
+ <YOURE-STUNNED>)
(<FSET? ,PRSO ,WORNBIT>
<SETG C-ELAPSED 18>
<FCLEAR ,PRSO ,WORNBIT>
@@ -1944,8 +1968,7 @@ mom served Northern Gallium Bonzo Beans." CR>)
<RTRUE>)
(T
<TELL
-"Hmmm..." T ,PRSO " looks at you expectantly,
-as if you seemed to be about to talk." CR>)>)
+"Hmmm..." T ,PRSO " looks at you expectantly." CR>)>)
(T
<TELL
"Talking to" A ,PRSO "? Dr. Blanchard, the Duffy's psychiatrist, would
@@ -2021,10 +2044,9 @@ be fascinated to hear that." CR>
<TELL ,PERIOD-CR>)>>
<ROUTINE PRE-TOUCH ("OPTIONAL" (VB T))
- <COND (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
+ <COND (,STUNNED
<COND (.VB
- <STUNNED "move that much">)>
+ <YOURE-STUNNED "move that much">)>
<RTRUE>)
(<UNTOUCHABLE? ,PRSO>
<COND (.VB
@@ -2049,7 +2071,9 @@ be fascinated to hear that." CR>
<STOP>)>)
(<AND ,PRSO
<PRSO? ,INTNUM>>
- <COND (<EQUAL? ,HERE ,ROBOT-POOL>
+ <COND (<NOT ,P-NUMBER> ;"input was TYPE NUMBER"
+ <TELL "[Specify the number! TYPE 7, for example.]" CR>)
+ (<EQUAL? ,HERE ,ROBOT-POOL>
<ROBOT-TYPE>)
(<EQUAL? ,HERE ,SPACETRUCK>
<SPACETRUCK-TYPE>)
@@ -2070,10 +2094,10 @@ be fascinated to hear that." CR>
<ROUTINE ROBOT-TYPE ()
<COND (<NOT <FSET? ,ROBOT-USE-AUTHORIZATION-FORM ,NDESCBIT>>
- <RECORDING "Keyboard is only active following authorization">)
+ <RECORDING "Keyboard is active only following authorization">)
(,ROBOT-PICKED
<RECORDING "You have already made your selection">)
- (<G? ,P-NUMBER 10>
+ ;(<G? ,P-NUMBER 10>
<TELL "There are only ten keys on the keypad." CR>)
(<G? ,P-NUMBER 3>
<RECORDING "That bin is unoccupied">)
@@ -2100,9 +2124,9 @@ quivering, as though he were about to cry." CR>)>>
<ROUTINE SPACETRUCK-TYPE ("AUX" X)
<COND (<NOT <FSET? ,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM ,NDESCBIT>>
- <RECORDING "Keyboard is only active following authorization">)
+ <RECORDING "Keyboard is active only following authorization">)
(<EQUAL? ,SPACETRUCK-COUNTER 5>
- <RECORDING "Fuel levels at zero">)
+ <RECORDING "Fuel level at zero">)
(<NOT <EQUAL? ,COURSE-PICKED 0>>
<RECORDING "You have already made your selection">)
(<AND <OR <IN? ,PROTAGONIST ,PILOT-SEAT>
@@ -2110,23 +2134,23 @@ quivering, as though he were about to cry." CR>)>>
<OR <IN? ,PROTAGONIST ,COPILOT-SEAT>
<IN? ,FLOYD ,COPILOT-SEAT>>>
<SETG COURSE-PICKED ,P-NUMBER>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[P-NUMBER = " N ,P-NUMBER ".]" CR>
<TELL "[INTERNAL-MOVES = " N ,INTERNAL-MOVES ".]" CR>)>
<SET X </ ,INTERNAL-MOVES 50>>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[X = " N .X ".]" CR>)>
<SET X <- .X 132>>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[X = " N .X ".]" CR>)>
<SET X <* .X .X>>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[X = " N .X ".]" CR>)>
<SET X </ .X 4>>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[X = " N .X ".]" CR>)>
<SETG RIGHT-COURSE <+ .X 103>>
- <COND (,DEBUG
+ ;<COND (,DEBUG
<TELL "[RIGHT-COURSE = " N ,RIGHT-COURSE ".]" CR>)>
<QUEUE I-SPACETRUCK 33>
<RECORDING
@@ -2142,9 +2166,8 @@ the pilot and copilot seats are occupied">)>>
<RECORDING "Select a level between 1 and 9">)
(<G? ,DAY 2>
<JIGS-UP
-"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...">)
+"The instant you press the button, the elevator begins plunging down the shaft
+in a power dive! You punch frantically at the keypad...">)
(<EQUAL? ,ELEVATOR-LEVEL ,P-NUMBER>
<RECORDING "You are already at that level">)
(<EQUAL? ,P-NUMBER 8 9>
@@ -2207,8 +2230,7 @@ the dispenser hole." CR>)
<RECORDING "Error">)
(T
<RECORDING
-"Sorry, that item is sold out. Please contact your PX Officer regarding
-restocking of dispenser">)>>
+"Sorry, that item is sold out. Inform your PX Officer for restocking">)>>
<ROUTINE RECORDING (STRING)
<COND (<PROB 33>
@@ -2276,9 +2298,8 @@ restocking of dispenser">)>>
<COND (<NOT ,P-WALK-DIR>
<PERFORM ,V?WALK-TO ,PRSO>
<RTRUE>)
- (<AND <G? ,PLATO-ATTACK-COUNTER 0>
- <IN? ,PLATO ,HERE>>
- <STUNNED "walk">)
+ (,STUNNED
+ <YOURE-STUNNED "walk">)
(<AND <PRSO? ,P?OUT>
<EQUAL? .AV ,SIMULATION-BOOTH ,HOLDING-TANK>>
<PERFORM ,V?DISEMBARK .AV>
@@ -2321,47 +2342,49 @@ restocking of dispenser">)>>
<NOT <ULTIMATELY-IN? ,DETONATOR>>>
<DO-FIRST "disconnect the explosive">)
(<SET PT <GETPT ,HERE ,PRSO>>
+ <COND (,LIT
+ <SETG C-ELAPSED 22>)
+ (T
+ <SETG C-ELAPSED 33>)>
<COND (<EQUAL? <SET PTS <PTSIZE .PT>> ,UEXIT>
- <SETG C-ELAPSED 22>
<GOTO <GETB .PT ,REXIT>>)
(<EQUAL? .PTS ,CEXIT>
<COND (<EQUAL? ,HERE ,CASINO>
<COND (<VALUE <GETB .PT ,CEXITFLAG>>
- <SETG C-ELAPSED 22>
<GOTO <GETB .PT ,REXIT>>)
;(<SET STR <GET .PT ,CEXITSTR>>
<TELL .STR CR>
<RFATAL>)
(T
+ <SETG C-ELAPSED 7>
<TELL ,CANT-GO>
<RFATAL>)>)
(T ;"kludge for auto-doors"
- <SETG C-ELAPSED 22>
<COND (<NOT <EQUAL? ,VERBOSITY 0>>
<DESCRIBE-AUTO-DOOR>)>
<GOTO <GETB .PT ,REXIT>>)>)
(<EQUAL? .PTS ,NEXIT>
+ <SETG C-ELAPSED 7>
<TELL <GET .PT ,NEXITSTR> CR>
<RFATAL>)
(<EQUAL? .PTS ,FEXIT>
- <SETG C-ELAPSED 22>
<COND (<SET RM <APPLY <GET .PT ,FEXITFCN>>>
<GOTO .RM>)
+ (<EQUAL? ,HERE ,AIR-SHAFT>
+ <RTRUE>)
(T
- <COND (<EQUAL? ,HERE ,AIR-SHAFT>
- <RTRUE>)
- (T
- <SETG C-ELAPSED 7>
- <RFATAL>)>)>)
+ <SETG C-ELAPSED 7>
+ <RFATAL>)>)
(<EQUAL? .PTS ,DEXIT>
<COND (<FSET? <SET OBJ <GETB .PT ,DEXITOBJ>> ,OPENBIT>
- <SETG C-ELAPSED 22>
<GOTO <GETB .PT ,REXIT>>)
(<SET STR <GET .PT ,DEXITSTR>>
+ <SETG C-ELAPSED 7>
<THIS-IS-IT .OBJ>
<TELL .STR CR>
<RFATAL>)
(T
+ <SETG C-ELAPSED 7>
<THIS-IS-IT .OBJ>
<DO-FIRST "open" .OBJ>
<RFATAL>)>)>)
@@ -2472,7 +2495,7 @@ generally the epitome of reliability.">)>)>
<RTRUE>>
<ROUTINE V-YELL ()
- <TELL "Aaaarrgghh!" CR>
+ <TELL "Aaaarrrggghhh!" CR>
<COND (<IN? ,OSTRICH ,HERE>
<TELL " ">
<PERFORM ,V?SCARE ,OSTRICH>
@@ -2490,10 +2513,10 @@ generally the epitome of reliability.">)>)>
<TELL "That was just a rhetorical question." CR>)
(<EQUAL? ,AWAITING-REPLY 2>
<TELL
-"\"Floyd changed his mind. These controls are too scary-looking.\"" CR>)
+"\"Floyd changed his mind. Controls too scary-looking.\"" CR>)
(<EQUAL? ,AWAITING-REPLY 3>
<TELL
-"Floyd shrugs. \"Floyd not feel like learning new rules now. Let's play
+"Floyd shrugs. \"Floyd feels not like learning new rules now. Let's play
tag. Floyd knows rules for tag really well!\"" CR>)
(<EQUAL? ,AWAITING-REPLY 4>
<PERFORM ,V?PLAY-WITH ,FLOYD>
@@ -2530,7 +2553,9 @@ tag. Floyd knows rules for tag really well!\"" CR>)
(<PROB <- <* <CCOUNT ,PROTAGONIST> 20> 150>>
;"holding 8 items, 10%
9 itmes, 30%
+ 10 items, 50%
11 items, 70%
+ 12 items, 90%
13 items, 100%"
<SET OBJ <FIRST? ,PROTAGONIST>>
<REPEAT ()
@@ -2592,7 +2617,10 @@ tag. Floyd knows rules for tag really well!\"" CR>)
(T
<TELL
"That's easy for you to say since you don't even have" TR ,PRSO>)>
- <RFATAL>)
+ <COND (,P-MULT
+ <RTRUE>)
+ (T
+ <RFATAL>)>)
(<AND <NOT <IN? ,PRSO ,PROTAGONIST>>
<FSET? <LOC ,PRSO> ,CONTBIT>
<NOT <FSET? <LOC ,PRSO> ,OPENBIT>>>
@@ -2606,6 +2634,7 @@ tag. Floyd knows rules for tag really well!\"" CR>)
<COND (<SET X <FIRST? .OBJ>>
<REPEAT ()
<COND (<NOT <FSET? .X ,WORNBIT>>
+ ;"worn things shouldnt count toward max load"
<SET CNT <+ .CNT 1>>)>
<COND (<NOT <SET X <NEXT? .X>>>
<RETURN>)>>)>
@@ -2615,10 +2644,8 @@ tag. Floyd knows rules for tag really well!\"" CR>)
<ROUTINE WEIGHT (OBJ "AUX" CONT (WT 0))
<COND (<SET CONT <FIRST? .OBJ>>
<REPEAT ()
- <COND (<AND <EQUAL? .OBJ ,PROTAGONIST>
- <FSET? .CONT ,WORNBIT>>
- T ;"worn things shouldnt count toward max load")
- (T
+ <COND (<NOT <FSET? .CONT ,WORNBIT>>
+ ;"worn things shouldnt count toward max load"
<SET WT <+ .WT <WEIGHT .CONT>>>)>
<SET CONT <NEXT? .CONT>>
<COND (<NOT .CONT>
@@ -3045,12 +3072,22 @@ a modicum of stability.">)>)>
<RFALSE>)
(<AND ,HANGING-IN-AIR
<IN? .OBJ ,HERE>>
- <COND (<OR <EQUAL? .OBJ ,BALLOON ,ETERNAL-FLAME>
+ <COND (<OR <EQUAL? .OBJ ,BALLOON ,ETERNAL-FLAME ,LEASH>
<AND <EQUAL? .OBJ ,STAR>
<FSET? .OBJ ,TRYTAKEBIT>>>
<RFALSE>)
(T
<RTRUE>)>)
+ (<AND <IN? .OBJ ,STAR>
+ <FSET? ,STAR ,TRYTAKEBIT>
+ <NOT ,HANGING-IN-AIR>>
+ <RTRUE>)
+ (<AND <EQUAL? .OBJ ,BALLOON ,LEASH>
+ <IN? .OBJ ,CAGE>>
+ <RTRUE>)
+ (<AND <EQUAL? .OBJ ,FLOYD ,REX ,HELEN>
+ <NOT <EQUAL? .OBJ ,ROBOT-PICKED>>>
+ <RTRUE>)
(<IN? ,PROTAGONIST ,HERE>
<RFALSE>)
(<OR <ULTIMATELY-IN? .OBJ <LOC ,PROTAGONIST>>
@@ -3222,7 +3259,7 @@ a modicum of stability.">)>)>
"Fat chance."
"You are behaving like a demented Denebian slime devil."
"Dream on."
- "It's the looney bin for you!"
+ "You're wacko."
"You have lost your mind.">>
<ROUTINE WASTES ()
@@ -3231,8 +3268,8 @@ a modicum of stability.">)>)>
<GLOBAL WASTE-LIST
<LTABLE 0
"A waste of time."
-"A worthless action -- and much too difficult for a poorly-written program
-like this one to handle."
+"A worthless action -- and much too complex for a crufty program like
+this one to handle."
"Useless. Unhelpful."
"There's another turn down the drain."
"Why bother?">> \ No newline at end of file
diff --git a/village.zap b/village.zap
index 5d61237..ecf4608 100644
--- a/village.zap
+++ b/village.zap
@@ -32,9 +32,10 @@
.FUNCT IRIS-HATCH-F
EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3
- PRINTR "It won't budge."
+ PRINT WONT-BUDGE
+ RTRUE
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
- PRINTI "The hatch, like the f-stop of a camera, is composed of many pieces which move to form a circular opening of the desired size. This is a common way of joining connecting tubes to ships or stations. "
+ PRINTI "The hatch, like the f-stop of a camera, is composed of many pieces which move to form a circular opening of the desired size. This is a common way of joining connecting tubes to ships or stations. There's a slot next to the hatch. "
RFALSE
@@ -93,28 +94,6 @@
RFALSE
- .FUNCT I-HEADLAMP
- FSET? HEADLAMP,ONBIT \?CCL3
- DEC 'HEADLAMP-COUNTER
- ZERO? HEADLAMP-COUNTER \?CND4
- FCLEAR HEADLAMP,ACTIVEBIT
- FCLEAR HEADLAMP,ONBIT
-?CND4: CALL VISIBLE?,HEADLAMP
- ZERO? STACK /FALSE
- EQUAL? HEADLAMP-COUNTER,0,15,30 \FALSE
- PRINTI " The light from the headlamp "
- ZERO? HEADLAMP-COUNTER \?CCL13
- PRINTI "flickers and dies!"
- CRLF
- CALL NOW-DARK?
- RSTACK
-?CCL13: EQUAL? HEADLAMP-COUNTER,5 \?CCL15
- PRINTR "is almost out!"
-?CCL15: PRINTR "seems somewhat dimmer."
-?CCL3: CALL DEQUEUE,I-HEADLAMP
- RSTACK
-
-
.FUNCT BARBERSHOP-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You have entered a surprisingly old-fashioned looking tonsorial parlor. "
@@ -134,23 +113,26 @@
PRINTR "You look mah-velous."
?CCL7: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \?CCL9
PRINTR "The mirror seems to be affixed to the wall."
-?CCL9: EQUAL? PRSA,V?MUNG /?CCL11
- EQUAL? PRSA,V?THROW \FALSE
- EQUAL? PRSI,PSEUDO-OBJECT \FALSE
-?CCL11: SET 'MIRROR-BROKEN,TRUE-VALUE
+?CCL9: EQUAL? PRSA,V?KILL,V?KICK,V?MUNG \?CCL11
+ SET 'MIRROR-BROKEN,TRUE-VALUE
MOVE FOIL,HERE
PRINTI "The mirror smashes into a cloud of glass dust, which (fortunately) is quickly sucked away by the barbershop's ventilation system. As the glass is sucked away you discover what gave the mirror its reflectivity: "
GETP FOIL,P?FDESC
PRINT STACK
CRLF
RTRUE
+?CCL11: EQUAL? PRSA,V?THROW \FALSE
+ EQUAL? PRSI,PSEUDO-OBJECT \FALSE
+ MOVE PRSO,HERE
+ CALL PERFORM,V?KICK,PSEUDO-OBJECT
+ RTRUE
.FUNCT FOIL-F
EQUAL? PRSA,V?EXAMINE,V?MEASURE \?CCL3
PRINTI "It's a large piece of "
PRINTD FOIL
- PRINTR ", about six feet on a side."
+ PRINTR ", about two meters on a side."
?CCL3: EQUAL? PRSA,V?CRUMPLE \?CCL5
PRINTR "You crumple the foil into a fist-sized wad, but it instantly returns to its wrinkle-free state."
?CCL5: EQUAL? PRSA,V?FIND \FALSE
@@ -220,7 +202,9 @@
?CCL10: EQUAL? PRSA,V?CATCH,V?TAKE \?CCL21
CALL PERFORM,V?TAKE,LEASH
RTRUE
-?CCL21: EQUAL? PRSA,V?HUG,V?TOUCH \FALSE
+?CCL21: EQUAL? PRSA,V?SMELL \?CCL23
+ PRINTR "There's an odor reminiscent of your school dorm on a night when the dining hall served Northern Gallium Bonzo Beans."
+?CCL23: EQUAL? PRSA,V?HUG,V?TOUCH \FALSE
PRINTI "The "
PRINTD BALLOON
PRINTR " purrs and rings of color shimmer along its body."
@@ -229,67 +213,60 @@
.FUNCT LEASH-F
EQUAL? PRSA,V?MOVE,V?TAKE \?CCL3
EQUAL? PRSO,LEASH \?CCL3
- IN? BALLOON,CAGE \?CCL8
- PRINT YOU-CANT
- PRINTR "reach the leash inside the cage."
-?CCL8: ZERO? HANGING-IN-AIR /?CCL10
+ ZERO? HANGING-IN-AIR /?CCL8
PRINT SENILITY-STRIKES
RTRUE
-?CCL10: FSET? SPACESUIT,WORNBIT \?CCL12
+?CCL8: FSET? SPACESUIT,WORNBIT \?CCL10
PRINTR "The space suit's glove is a bit too big and clumsy to fit through the loop of the leash. You'll have to remove the suit before grabbing the leash."
-?CCL12: FSET? HERE,WEIGHTLESSBIT \?CCL14
+?CCL10: FSET? HERE,WEIGHTLESSBIT \?CCL12
PRINTI "The Arcturian tries to ""float"" away from you, but its buoyancy system is useless in zero-gee. As you grasp the leash, it uses its lateral propulsion method in an attempt to get away. In other words, it farts right in your face. In a reflexive maneuver to wave away the odor, you release the leash"
CALL CCOUNT,PROTAGONIST
- GRTR? STACK,0 \?CND15
+ GRTR? STACK,0 \?CND13
CALL ROB,PROTAGONIST,HERE
PRINTI " and drop everything you were holding"
-?CND15: PRINT PERIOD-CR
+?CND13: PRINT PERIOD-CR
RTRUE
-?CCL14: SET 'HANGING-IN-AIR,TRUE-VALUE
+?CCL12: SET 'HANGING-IN-AIR,TRUE-VALUE
PRINTI "As you grab the leash, the startled "
PRINTD BALLOON
PRINTI " tries to get away by hyperinflating. Slowly, its buoyancy lifts you right "
- FSET? BOOTS,WORNBIT \?CCL19
+ FSET? BOOTS,WORNBIT \?CCL17
FCLEAR BOOTS,WORNBIT
MOVE BOOTS,HERE
PRINTI "out of the "
PRINTD BOOTS
- JUMP ?CND17
-?CCL19: PRINTI "off the deck"
-?CND17: PRINTI "! Within moments, the Arcturian is bobbing against the ceiling, and you're hanging five feet off the floor! (Footnote 4)"
+ JUMP ?CND15
+?CCL17: PRINTI "off the deck"
+?CND15: PRINTI "! Within moments, the Arcturian is bobbing against the ceiling, and you're hanging two meters off the floor! (Footnote 4)"
CRLF
IN? FLOYD,HERE \TRUE
FSET? FLOYD,ACTIVEBIT \TRUE
ZERO? HANGING-COMMENT \TRUE
SET 'FLOYD-SPOKE,TRUE-VALUE
- CALL FLOYDS-HANGING-IN-AIR-COMMENT
+ SET 'HANGING-COMMENT,TRUE-VALUE
+ PRINT FLOYDS-HANGING-IN-AIR-COMMENT
RTRUE
-?CCL3: EQUAL? PRSA,V?UNTIE,V?REMOVE \?CCL26
+?CCL3: EQUAL? PRSA,V?UNTIE,V?REMOVE \?CCL24
PRINTI "There's no obvious way to remove the leash from"
CALL TRPRINT,BALLOON
RSTACK
-?CCL26: EQUAL? PRSA,V?DISCONNECT \?CCL28
- ZERO? PRSI /?CTR27
- EQUAL? PRSI,BALLOON \?CCL28
-?CTR27: CALL PERFORM,V?REMOVE,LEASH
+?CCL24: EQUAL? PRSA,V?DISCONNECT \?CCL26
+ ZERO? PRSI /?CTR25
+ EQUAL? PRSI,BALLOON \?CCL26
+?CTR25: CALL PERFORM,V?REMOVE,LEASH
RTRUE
-?CCL28: EQUAL? PRSA,V?DROP \FALSE
+?CCL26: EQUAL? PRSA,V?DROP \FALSE
ZERO? HANGING-IN-AIR /FALSE
SET 'HANGING-IN-AIR,FALSE-VALUE
PRINTI "You drop to the deck."
- IN? BALLOON,HERE \?CND37
+ IN? BALLOON,HERE \?CND35
PRINTI " The "
PRINTD BALLOON
PRINTR " gradually floats downward until it's back at around eye-level."
-?CND37: CRLF
+?CND35: CRLF
RTRUE
- .FUNCT FLOYDS-HANGING-IN-AIR-COMMENT
- SET 'HANGING-COMMENT,TRUE-VALUE
- PRINTR " ""Boy, that looks like fun!"" says Floyd, peering up at you. ""Can Floyd try it? Huh? Please?"""
-
-
.FUNCT PANEL-F
EQUAL? PRSA,V?LOWER,V?REMOVE,V?MOVE /?CCL3
EQUAL? PRSA,V?LOOK-BEHIND \FALSE
@@ -389,27 +366,32 @@
.FUNCT DICE-F,NUM,?TMP1
EQUAL? PRSA,V?THROW,V?ROLL \?CCL3
- FSET? HERE,WEIGHTLESSBIT \?CCL6
+ CALL ULTIMATELY-IN?,DICE
+ ZERO? STACK \?CCL6
+ PRINT YNH
+ CALL TRPRINT,DICE
+ RTRUE
+?CCL6: FSET? HERE,WEIGHTLESSBIT \?CCL8
RANDOM 100
- LESS? 50,STACK /?CCL9
+ LESS? 50,STACK /?CCL11
SET 'NUM,7
JUMP ?CND4
-?CCL9: SET 'NUM,11
+?CCL11: SET 'NUM,11
JUMP ?CND4
-?CCL6: RANDOM 6 >?TMP1
+?CCL8: RANDOM 6 >?TMP1
RANDOM 6
ADD ?TMP1,STACK >NUM
?CND4: MOVE DICE,HERE
PRINTI "You roll a"
- EQUAL? NUM,8,11 \?CND10
+ EQUAL? NUM,8,11 \?CND12
PRINTC 110
-?CND10: PRINTC 32
+?CND12: PRINTC 32
PRINTN NUM
- FSET? HERE,WEIGHTLESSBIT \?CND12
- ZERO? DICE-FOOTNOTE \?CND12
+ FSET? HERE,WEIGHTLESSBIT \?CND14
+ ZERO? DICE-FOOTNOTE \?CND14
SET 'DICE-FOOTNOTE,TRUE-VALUE
PRINTI " (Footnote 1)"
-?CND12: PRINT PERIOD-CR
+?CND14: PRINT PERIOD-CR
RTRUE
?CCL3: EQUAL? PRSA,V?SHAKE \FALSE
PRINTR "Shaken."
@@ -434,7 +416,7 @@
.FUNCT VACUUM-DEATH
- CALL JIGS-UP,STR?355
+ CALL JIGS-UP,STR?365
RSTACK
@@ -453,7 +435,7 @@
.FUNCT COUNTER-F
EQUAL? PRSA,V?SEARCH,V?LOOK-BEHIND,V?LOOK-UNDER /?PRD5
EQUAL? PRSA,V?HIDE,V?EXAMINE \?CCL3
-?PRD5: IN? NECTAR,LOCAL-GLOBALS \?CCL3
+?PRD5: FSET? NECTAR,TOUCHBIT /?CCL3
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
?CCL3: EQUAL? PRSA,V?LOOK-OVER \FALSE
@@ -463,14 +445,20 @@
.FUNCT NECTAR-F
EQUAL? PRSA,V?EMPTY,V?POUR,V?THROW \?CCL3
EQUAL? PRSO,NECTAR \?CCL3
- PRINTI "You create a nectarish mess, which thankfully dries up very quickly"
+ CALL MESS,STR?369
CALL ANTI-LITTER,NECTAR
RSTACK
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL7
CALL NOUN-USED,W?CUP,NECTAR
ZERO? STACK /?CCL7
- PRINTR "The cup is filled with nectar."
-?CCL7: EQUAL? PRSA,V?FIND \FALSE
+ PRINTR "Yup. Nectar."
+?CCL7: EQUAL? PRSA,V?EXAMINE,V?TOUCH,V?REACH-IN /?CTR10
+ EQUAL? PRSA,V?TASTE \?CCL11
+?CTR10: PRINTR "The nectar is warm and thick."
+?CCL11: EQUAL? PRSA,V?EAT-FROM \?CCL15
+ CALL PERFORM,V?EAT,NECTAR
+ RTRUE
+?CCL15: EQUAL? PRSA,V?FIND \FALSE
IN? NECTAR,LOCAL-GLOBALS \FALSE
EQUAL? HERE,GREASY-STRAW \FALSE
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
@@ -515,7 +503,7 @@
GRTR? DETECTOR-COUNTER,99 \?CCL12
PRINTR "Ouch! The detector is too hot to pick up!"
?CCL12: CALL ITAKE
- EQUAL? STACK,M-FATAL,FALSE-VALUE /FALSE
+ EQUAL? STACK,M-FATAL,FALSE-VALUE /TRUE
PRINTI "As you pick up the detector, you notice that is feels "
GRTR? DETECTOR-COUNTER,75 \?CND15
PRINTI "very "
@@ -541,30 +529,6 @@
PRINTR "The beeping is strongest as you approach the mirror."
- .FUNCT I-PLATINUM-DETECTOR,?TMP1
- INC 'DETECTOR-COUNTER
- CALL VISIBLE?,PLATINUM-DETECTOR
- ZERO? STACK /?CND1
- CALL META-LOC,FOIL >?TMP1
- CALL META-LOC,PLATINUM-DETECTOR
- EQUAL? ?TMP1,STACK /?CCL2
- CALL ULTIMATELY-IN?,PLATINUM-DETECTOR,BARBERSHOP
- ZERO? STACK /?CND1
- ZERO? MIRROR-BROKEN \?CND1
-?CCL2: PRINTI " The detector is quietly beeping."
- CRLF
-?CND1: EQUAL? DETECTOR-COUNTER,50,75 \?CCL11
- IN? PLATINUM-DETECTOR,PROTAGONIST \?CCL11
- PRINTI " You notice that the detector is getting "
- EQUAL? DETECTOR-COUNTER,75 \?CND14
- PRINTI "very "
-?CND14: PRINTR "warm."
-?CCL11: EQUAL? DETECTOR-COUNTER,100 \FALSE
- IN? PLATINUM-DETECTOR,PROTAGONIST \FALSE
- MOVE PLATINUM-DETECTOR,HERE
- PRINTR " Yeow! The detector is now too hot to handle, so you drop it."
-
-
.FUNCT TRAVEL-AGENCY-POSTER-F
EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
PRINTR "The posters show a sunset on ""Historic Ramos II,"" the steel and zynoid towers of ""Varshon, the Galactic Capital,"" and scantily-clad beauties cavorting on the beaches of ""The Pleasure Moons of Mazzotta."""
@@ -582,14 +546,16 @@
EQUAL? PRSA,V?OPEN \FALSE
FSET? INNER-AIRLOCK-DOOR,OPENBIT /FALSE
FSET? OUTER-AIRLOCK-DOOR,OPENBIT \FALSE
- PRINTR "It won't budge."
+ PRINT WONT-BUDGE
+ RTRUE
.FUNCT OUTER-AIRLOCK-DOOR-F,X=0,N=0,OBJ-FLUSHED=0,?TMP1
EQUAL? PRSA,V?OPEN \?CCL3
FSET? OUTER-AIRLOCK-DOOR,OPENBIT /?CCL3
FSET? INNER-AIRLOCK-DOOR,OPENBIT \?CCL8
- PRINTR "It won't budge."
+ PRINT WONT-BUDGE
+ RTRUE
?CCL8: PRINTI "As the door opens, the air in the lock whooshes out into the vacuum of space"
FSET? SPACESUIT,WORNBIT /?CCL11
PRINTI ". "
@@ -600,38 +566,41 @@
CALL LOST-IN-SPACE
JUMP ?CND9
?CCL13: FSET OUTER-AIRLOCK-DOOR,OPENBIT
- FIRST? AIRLOCK >X /?PRG14
-?PRG14: ZERO? X /?REP15
- NEXT? X >N /?KLU39
-?KLU39: EQUAL? X,PROTAGONIST,OSTRICH,BALLOON /?CND18
+ CALL META-LOC,EXPLOSIVE
+ EQUAL? STACK,HERE \?CND14
+ CALL DEQUEUE,I-EXPLOSIVE-MELT
+?CND14: FIRST? AIRLOCK >X /?PRG16
+?PRG16: ZERO? X /?REP17
+ NEXT? X >N /?KLU41
+?KLU41: EQUAL? X,PROTAGONIST,OSTRICH,BALLOON /?CND20
REMOVE X
SET 'OBJ-FLUSHED,TRUE-VALUE
-?CND18: SET 'X,N
- JUMP ?PRG14
-?REP15: ZERO? OBJ-FLUSHED /?CND20
+?CND20: SET 'X,N
+ JUMP ?PRG16
+?REP17: ZERO? OBJ-FLUSHED /?CND22
PRINTI ", flushing everything in the airlock"
-?CND20: PRINT PERIOD-CR
-?CND9: IN? OSTRICH,HERE \?CND22
+?CND22: PRINT PERIOD-CR
+?CND9: IN? OSTRICH,HERE \?CND24
REMOVE OSTRICH
PRINT PATHETIC-SQUAWK
PRINTI " as it is swept into space, quickly dwindling from sight."
CRLF
-?CND22: IN? BALLOON,HERE \?CND24
+?CND24: IN? BALLOON,HERE \?CND26
REMOVE BALLOON
REMOVE LEASH
PRINTI " The "
PRINTD BALLOON
PRINTI ", unable to adjust to the sudden drop in pressure, explodes into a puff of hydrogen that immediately vanishes!"
CRLF
-?CND24: CALL ULTIMATELY-IN?,FOOD-KIT
- ZERO? STACK /?CND26
+?CND26: CALL ULTIMATELY-IN?,FOOD-KIT
+ ZERO? STACK /?CND28
LOC ORANGE-GOO >?TMP1
LOC GRAY-GOO
- EQUAL? FOOD-KIT,?TMP1,STACK \?CND26
- FSET? FOOD-KIT,OPENBIT \?CND26
+ EQUAL? FOOD-KIT,?TMP1,STACK \?CND28
+ FSET? FOOD-KIT,OPENBIT \?CND28
PRINTI " "
CALL SPACE-FOOD
-?CND26: CALL SPACE-LIQUID,SOUP
+?CND28: CALL SPACE-LIQUID,SOUP
CALL SPACE-LIQUID,COFFEE
CALL SPACE-LIQUID,NECTAR
RTRUE
@@ -640,9 +609,9 @@
FSET? OUTER-AIRLOCK-DOOR,OPENBIT \FALSE
FCLEAR OUTER-AIRLOCK-DOOR,OPENBIT
CALL ULTIMATELY-IN?,EXPLOSIVE,HERE
- ZERO? STACK /?CND36
+ ZERO? STACK /?CND38
CALL QUEUE,I-EXPLOSIVE-MELT,-1
-?CND36: PRINTR "As soon as the door is closed, air hisses back into the airlock."
+?CND38: PRINTR "As soon as the door is closed, air hisses back into the airlock."
.FUNCT GENERIC-AIRLOCK-DOOR-F
@@ -655,7 +624,7 @@
.FUNCT AIRLOCK-F,RARG
EQUAL? RARG,M-LOOK \FALSE
- PRINTI "This is a cramped lock with doors above and below you. "
+ PRINTI "This is a cramped airlock with doors above and below you. "
FSET? INNER-AIRLOCK-DOOR,OPENBIT /?CCL6
FSET? OUTER-AIRLOCK-DOOR,OPENBIT /?CCL6
PRINTI "Neither door"
@@ -699,12 +668,12 @@
PUSH 0
JUMP ?CND23
?CCL27: PUSH OUTER-AIRLOCK-DOOR
-?CND23: CALL PERFORM-PRSA,STACK
- RSTACK
+?CND23: CALL PERFORM,PRSA,STACK
+ RTRUE
.FUNCT LOST-IN-SPACE
- CALL JIGS-UP,STR?366
+ CALL JIGS-UP,STR?377
RSTACK
@@ -712,7 +681,7 @@
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This area outside the airlock is being used for vacuum storage, in much the same way that your dad kept beer cold in the back yard during winters on Gallium. In fact, the villagers usually refer to this place as the ""vac yard."" Only the "
PRINTD BOOTS
- PRINTI ", clinging to the outer skin of the warehouse, are preventing you from floating off into space. Tethered all around you: those items in the Trading Post's inventory that, for reasons of temperature or anti-corrosion, must be stored here in space. The door to the airlock, ""above"" you, is "
+ PRINTI ", clinging to the outer skin of the warehouse, is preventing you from floating off into space. Tethered all around you: those items in the Trading Post's inventory that, for reasons of temperature or anti-corrosion, must be stored here in space. The door to the airlock, ""above"" you, is "
CALL OPEN-CLOSED,OUTER-AIRLOCK-DOOR
PRINTC 46
RTRUE
@@ -730,48 +699,21 @@
RSTACK
?CCL8: CRLF
RTRUE
-?CCL3: EQUAL? PRSA,V?DISCONNECT \FALSE
+?CCL3: EQUAL? PRSA,V?PUT \?CCL10
+ EQUAL? PRSI,HEATING-CHAMBER \?CCL10
+ PRINTI "The explosive "
+ PRINT SUBLIMES-INTO-FREZONE
+ CALL DEQUEUE,I-EXPLOSIVE-MELT
+ CALL REMOVE-CAREFULLY,EXPLOSIVE
+ CRLF
+ RTRUE
+?CCL10: EQUAL? PRSA,V?DISCONNECT \FALSE
ZERO? PRSI \FALSE
ZERO? EXPLOSIVE-CONNECTED /FALSE
CALL PERFORM,V?DISCONNECT,EXPLOSIVE,DETONATOR
RTRUE
- .FUNCT I-EXPLOSIVE-MELT,OLD-MELT-COUNTER
- SET 'OLD-MELT-COUNTER,MELT-COUNTER
- IN? EXPLOSIVE,THERMOS \?CCL3
- FSET? THERMOS,OPENBIT /?CCL3
- DIV C-ELAPSED,4
- JUMP ?CND1
-?CCL3: PUSH C-ELAPSED
-?CND1: ADD MELT-COUNTER,STACK >MELT-COUNTER
- GRTR? MELT-COUNTER,210 \?CCL8
- CALL VISIBLE?,EXPLOSIVE
- ZERO? STACK /?CCL11
- PRINTI " The explosive "
- PRINT SUBLIMES-INTO-FREZONE
- CRLF
- JUMP ?CND9
-?CCL11: IN? EXPLOSIVE,THERMOS \?CND9
- FSET? THERMOS,OPENBIT /?CND9
- SET 'THERMOS-FILLED-WITH-GAS,TRUE-VALUE
-?CND9: CALL REMOVE-CAREFULLY,EXPLOSIVE
- RSTACK
-?CCL8: CALL VISIBLE?,EXPLOSIVE
- ZERO? STACK /FALSE
- ZERO? LIT /FALSE
- GRTR? MELT-COUNTER,170 \?CCL21
- GRTR? OLD-MELT-COUNTER,170 /?CCL21
- PRINTI " "
- CALL DESCRIBE-EXPLOSIVE
- RSTACK
-?CCL21: GRTR? MELT-COUNTER,130 \FALSE
- GRTR? OLD-MELT-COUNTER,130 /FALSE
- PRINTI " "
- CALL DESCRIBE-EXPLOSIVE
- RSTACK
-
-
.FUNCT DESCRIBE-EXPLOSIVE
PRINTI " The explosive "
GRTR? MELT-COUNTER,170 \?CCL3
@@ -793,57 +735,62 @@
A mixture of high-quality spores
Lowest gas-inducement levels of any brand!"""
?CCL8: EQUAL? PRSA,V?SPRAY \FALSE
- ZERO? PRSI /?CCL13
- PRINTR "The nozzle of the can isn't very directional; rather than spraying the can on something in particular, it seems to be more designed to simply produce a broad mist."
-?CCL13: ZERO? SPRAY-COUNTER \?CCL15
+ CALL ULTIMATELY-IN?,SPRAY-CAN
+ ZERO? STACK \?CCL13
+ PRINT YNH
+ CALL TRPRINT,SPRAY-CAN
+ RTRUE
+?CCL13: ZERO? PRSI /?CCL15
+ PRINTR "The nozzle of the can isn't very directional; rather than spraying something in particular, it seems designed to produce a broad mist."
+?CCL15: ZERO? SPRAY-COUNTER \?CND11
PRINT NOTHING-HAPPENS
RTRUE
-?CCL15: DEC 'SPRAY-COUNTER
+?CND11: DEC 'SPRAY-COUNTER
PRINTI "A dusty mist puffs from the can and begins dissipating"
- IN? BALLOON,HERE \?CCL18
+ IN? BALLOON,HERE \?CCL19
PRINTI ". The "
PRINTD BALLOON
PRINTI " begins darting around the room, its mouth absurdly wide open"
- JUMP ?CND16
-?CCL18: EQUAL? HERE,PET-STORE \?CCL20
- IN? BALLOON,CAGE \?CCL20
+ JUMP ?CND17
+?CCL19: EQUAL? HERE,PET-STORE \?CCL21
+ IN? BALLOON,CAGE \?CCL21
PRINTI ". The "
PRINTD BALLOON
PRINTI " puffs wildly around the cage, trying to get at the yummy spores"
- JUMP ?CND16
-?CCL20: CALL NEXT-ROOM?,BALLOON
- ZERO? STACK /?CND16
- EQUAL? HERE,BRIG,ARMORY /?CND16
+ JUMP ?CND17
+?CCL21: CALL NEXT-ROOM?,BALLOON
+ ZERO? STACK /?CND17
+ EQUAL? HERE,BRIG,ARMORY /?CND17
PRINTI ". The "
PRINTD BALLOON
- EQUAL? HERE,CHAPEL \?CCL28
- FSET? ETERNAL-FLAME,ONBIT \?CCL28
+ EQUAL? HERE,CHAPEL \?CCL29
+ FSET? ETERNAL-FLAME,ONBIT \?CCL29
PRINTR " appears in the doorway, stops, and hastily puffs away."
-?CCL28: PRINTI " farts in, hungrily gobbling up the spores"
- ZERO? CROSSED-BOUNDARY \?CCL32
- IN? BALLOON,ELEVATOR /?CCL32
- EQUAL? HERE,ELEVATOR \?CND31
-?CCL32: PRINTI ". As the "
+?CCL29: PRINTI " farts in, hungrily gobbling up the spores"
+ ZERO? CROSSED-BOUNDARY \?CCL33
+ IN? BALLOON,ELEVATOR /?CCL33
+ EQUAL? HERE,ELEVATOR \?CND32
+?CCL33: PRINTI ". As the "
PRINTD BALLOON
PRINTI " crosses the boundary "
- ZERO? CROSSED-BOUNDARY /?CCL38
+ ZERO? CROSSED-BOUNDARY /?CCL39
PRINTI "between the Command Module and the village"
- JUMP ?CND36
-?CCL38: PRINTI "of the "
+ JUMP ?CND37
+?CCL39: PRINTI "of the "
PRINTD ELEVATOR-SHAFT
-?CND36: PRINTI ", it is caught unawares by the sudden "
- EQUAL? CROSSED-BOUNDARY,1 /?CTR40
- EQUAL? HERE,ELEVATOR \?CCL41
-?CTR40: PRINTI "lack of gravity, but soon"
- JUMP ?CND39
-?CCL41: PRINTI "presence of gravity. It sinks almost to the floor before it"
-?CND39: PRINTI " adjusts"
-?CND31: MOVE BALLOON,HERE
+?CND37: PRINTI ", it is caught unawares by the sudden "
+ EQUAL? CROSSED-BOUNDARY,1 /?CTR41
+ EQUAL? HERE,ELEVATOR \?CCL42
+?CTR41: PRINTI "lack of gravity, but soon"
+ JUMP ?CND40
+?CCL42: PRINTI "presence of gravity. It sinks almost to the floor before it"
+?CND40: PRINTI " adjusts"
+?CND32: MOVE BALLOON,HERE
MOVE LEASH,HERE
SET 'CROSSED-BOUNDARY,0
-?CND16: ZERO? HANGING-IN-AIR /?CND44
+?CND17: ZERO? HANGING-IN-AIR /?CND45
PRINTI ". Like an epileptic yo-yo, you are flung against the ceiling, floor, and most of the walls"
-?CND44: PRINT PERIOD-CR
+?CND45: PRINT PERIOD-CR
RTRUE
@@ -946,7 +893,7 @@ Lowest gas-inducement levels of any brand!"""
EQUAL? PRSI,PSEUDO-OBJECT \?CCL3
GETP PRSO,P?SIZE
GRTR? STACK,5 \?CCL8
- CALL DOESNT-FIT,STR?249
+ CALL DOESNT-FIT,STR?257
RSTACK
?CCL8: PRINTI "With a ""fwoomp!"""
CALL TPRINT-PRSO
@@ -965,14 +912,14 @@ Lowest gas-inducement levels of any brand!"""
.FUNCT OSTRICH-F
EQUAL? PRSA,V?EXAMINE \?CCL3
- PRINTI "It's a handsome, full-grown ostrich, nearly eight feet tall. As with all ostriches, half its height is its neck"
+ PRINTI "It's a handsome, full-grown ostrich, nearly three meters tall. As with all ostriches, half its height is its neck"
FSET? OSTRICH,TOUCHBIT /?CND4
PRINTI ". The ostrich looks to be asleep, or unconscious, or drunk"
?CND4: PRINT PERIOD-CR
RTRUE
?CCL3: EQUAL? PRSA,V?SHOOT \?CCL7
REMOVE OSTRICH
- PRINTR "The ostrich gives the last of a generous lifetime's supply of squawks before being consumed in fiery raygun death."
+ PRINTR "The ostrich gives the last of a generous lifetime's supply of squawks before being consumed in fiery zapgun death."
?CCL7: FSET? OSTRICH,TOUCHBIT /?CCL9
EQUAL? PRSA,V?SCARE \?CCL12
PRINTR "The ostrich is unconscious!"
@@ -1005,18 +952,21 @@ Lowest gas-inducement levels of any brand!"""
?CCL31: PRINTI "The ostrich emits a terrified squawk and sticks its head "
EQUAL? HERE,DOC-SCHUSTER \?CCL38
PRINTI "into the disposal hole"
+ ZERO? OSTRICH-FOOTNOTE \?CND36
+ SET 'OSTRICH-FOOTNOTE,TRUE-VALUE
+ PRINTI " (Footnote 14)"
JUMP ?CND36
-?CCL38: EQUAL? HERE,PX \?CCL40
- IN? DISPENSER,HERE \?CCL40
+?CCL38: EQUAL? HERE,PX \?CCL42
+ IN? DISPENSER,HERE \?CCL42
PRINTI "into the dispenser hole."
CALL OSTRICH-INTO-DISPENSER
CRLF
RTRUE
-?CCL40: IN? HEATING-CHAMBER,HERE \?CCL44
+?CCL42: IN? HEATING-CHAMBER,HERE \?CCL46
PRINTI "into the "
PRINTD HEATING-CHAMBER
PRINTR ". After a quick singe, it jerks its head out, squawking in pain."
-?CCL44: PRINTI "under its wing"
+?CCL46: PRINTI "under its wing"
?CND36: PRINTR " for a moment."
@@ -1033,12 +983,12 @@ Lowest gas-inducement levels of any brand!"""
RSTACK
?CCL3: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE \?CCL5
EQUAL? PRSO,PSEUDO-OBJECT \?CCL5
- CALL PERFORM-PRSA,ID-CHANGER,PRSI
- RSTACK
+ CALL PERFORM,PRSA,ID-CHANGER,PRSI
+ RTRUE
?CCL5: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,PSEUDO-OBJECT \FALSE
- CALL PERFORM-PRSA,PRSO,ID-CHANGER
- RSTACK
+ CALL PERFORM,PRSA,PRSO,ID-CHANGER
+ RTRUE
.FUNCT ID-CHANGER-F
@@ -1054,7 +1004,8 @@ Lowest gas-inducement levels of any brand!"""
PRINT HUH
RTRUE
?CCL8: EQUAL? PRSA,V?TAKE \?CCL10
- PRINTR "It's bolted down."
+ PRINT WONT-BUDGE
+ RTRUE
?CCL10: EQUAL? PRSA,V?PUT \?CCL12
EQUAL? PRSI,ID-CHANGER \?CCL12
EQUAL? PRSO,ID-CARD \?CCL17
@@ -1062,7 +1013,12 @@ Lowest gas-inducement levels of any brand!"""
FSET? ID-CHANGER,ACTIVEBIT \?CCL20
PRINTI "A voice from the machine says, """
ZERO? ID-SCRAMBLED /?CCL23
- PRINTR "Magnetic card data is scrambled; unable to read."""
+ PRINTI "Magnetic card data is scrambled; unable to read."""
+ ZERO? SCRAMBLED-FOOTNOTE \?CND24
+ SET 'SCRAMBLED-FOOTNOTE,TRUE-VALUE
+ PRINTR " (Footnote 15)"
+?CND24: CRLF
+ RTRUE
?CCL23: PRINTI "Current rank is "
PRINTN ID-RANK
PRINTI ": "
@@ -1071,7 +1027,7 @@ Lowest gas-inducement levels of any brand!"""
PRINT STACK
PRINTR ". Enter new rank on keypad."""
?CCL20: PRINTR "The card fits neatly into the opening."
-?CCL17: CALL DOESNT-FIT,STR?378
+?CCL17: CALL DOESNT-FIT,STR?389
RSTACK
?CCL12: EQUAL? PRSA,V?ON \FALSE
FSET? ID-CHANGER,ACTIVEBIT /FALSE
@@ -1087,15 +1043,18 @@ Lowest gas-inducement levels of any brand!"""
IN? ID-CARD,ID-CHANGER \?CCL3
FSET? ID-CHANGER,ACTIVEBIT \?CCL3
ZERO? ID-SCRAMBLED /?CCL8
- CALL RECORDING,STR?379
+ ZERO? SCRAMBLED-FOOTNOTE \?CND9
+ SET 'SCRAMBLED-FOOTNOTE,TRUE-VALUE
+ PRINTI "(Footnote 15) "
+?CND9: CALL RECORDING,STR?390
RSTACK
-?CCL8: GRTR? P-NUMBER,10 \?CCL10
+?CCL8: GRTR? P-NUMBER,10 \?CCL12
PRINTI """Error!"" chirps the "
PRINTD ID-CHANGER
PRINTR ". ""The highest rank number recognized by the Stellar Patrol is 10."""
-?CCL10: LESS? P-NUMBER,1 \?CCL12
+?CCL12: LESS? P-NUMBER,1 \?CCL14
PRINTR "You may DESERVE a rank that low, but unfortunately it doesn't exist."
-?CCL12: SET 'ID-RANK,P-NUMBER
+?CCL14: SET 'ID-RANK,P-NUMBER
PRINTI """New rank is "
PRINTN ID-RANK
PRINTI ": "
diff --git a/village.zil b/village.zil
index 355aadd..9cba8b1 100644
--- a/village.zil
+++ b/village.zil
@@ -41,12 +41,12 @@ the station's artificial gravity ">
<ROUTINE IRIS-HATCH-F ()
<COND (<VERB? OPEN CLOSE>
- <TELL "It won't budge." CR>)
+ <TELL ,WONT-BUDGE>)
(<VERB? EXAMINE>
<TELL
-"The hatch, like the f-stop of a camera, is composed of many pieces which
-move to form a circular opening of the desired size. This is a common way
-of joining connecting tubes to ships or stations. ">
+"The hatch, like the f-stop of a camera, is composed of many pieces which move
+to form a circular opening of the desired size. This is a common way of joining
+connecting tubes to ships or stations. There's a slot next to the hatch. ">
<RFALSE>)>>
<ROOM MAKESHIFT-CONNECTOR
@@ -58,7 +58,7 @@ from the Command Module.")
(WEST PER VILLAGE-BOUNDARY-F)
(EAST TO BROADWAY)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL IRIS-HATCH)>
+ (GLOBAL IRIS-HATCH VILLAGE)>
<ROOM BROADWAY
(IN ROOMS)
@@ -76,7 +76,8 @@ including one leading downward.")
(WEST TO MAKESHIFT-CONNECTOR)
(NW "Well, there are openings in ALMOST every direction.")
(DOWN TO FORTUNE-TELLER)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)>
<ROOM FORTUNE-TELLER
(IN ROOMS)
@@ -84,10 +85,11 @@ including one leading downward.")
(LDESC
"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.")
+for superstitious spacers.")
(UP TO BROADWAY)
(OUT TO BROADWAY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<OBJECT CRYSTAL-BALL
(IN FORTUNE-TELLER)
@@ -117,6 +119,7 @@ the walls. A door leads south.")
(SOUTH TO BROADWAY)
(OUT TO BROADWAY)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)
(THINGS <PSEUDO (<> POSTER RECRUITMENT-POSTER-F)>)>
<ROUTINE RECRUITMENT-POSTER-F ()
@@ -147,7 +150,8 @@ materials. There is also an in-house rec area, featuring a group of simulation
booths. The \"street\" lies to the southwest.")
(SW TO BROADWAY)
(OUT TO BROADWAY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<OBJECT SIMULATION-BOOTH
(IN REC-SHOP)
@@ -187,7 +191,7 @@ booths. The \"street\" lies to the southwest.")
"groof hunting on Septurion Seven"
"a little-known incident during the signing of the Treaty of Gishen IV"
"a torrid romance on the tropical planet of San Cupidor"
-"searching for treasure in a magical underground kingdom"
+"searching for treasure in a magical underground empire"
"bullfighting, skydiving, and dental hygiene">>
<ROOM FIELD-OFFICE
@@ -200,7 +204,8 @@ hunk of space rock into the vicinity, and then come here to sell the rights
to it. You can leave to the west.")
(WEST TO BROADWAY)
(OUT TO BROADWAY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<OBJECT HEADLAMP
(IN FIELD-OFFICE)
@@ -208,6 +213,7 @@ to it. You can leave to the west.")
(FDESC "Some miner has left a headlamp here.")
(SYNONYM LAMP LIGHT HEADLAMP)
(FLAGS TAKEBIT LIGHTBIT WEARBIT)
+ (SIZE 8)
(ACTION HEADLAMP-F)>
<ROUTINE HEADLAMP-F ()
@@ -233,24 +239,7 @@ leaving both hands free for work. ">
<GLOBAL HEADLAMP-COUNTER 92>
-<ROUTINE I-HEADLAMP ()
- <COND (<FSET? ,HEADLAMP ,ONBIT>
- <SETG HEADLAMP-COUNTER <- ,HEADLAMP-COUNTER 1>>
- <COND (<EQUAL? ,HEADLAMP-COUNTER 0>
- <FCLEAR ,HEADLAMP ,ACTIVEBIT>
- <FCLEAR ,HEADLAMP ,ONBIT>)>
- <COND (<AND <VISIBLE? ,HEADLAMP>
- <EQUAL? ,HEADLAMP-COUNTER 0 15 30>>
- <TELL " The light from the headlamp ">
- <COND (<EQUAL? ,HEADLAMP-COUNTER 0>
- <TELL "flickers and dies!" CR>
- <NOW-DARK?>)
- (<EQUAL? ,HEADLAMP-COUNTER 5>
- <TELL "is almost out!" CR>)
- (T
- <TELL "seems somewhat dimmer." CR>)>)>)
- (T
- <DEQUEUE I-HEADLAMP>)>>
+;"routine I-HEADLAMP moved to INTERRUPTS file"
<ROOM BARBERSHOP
(IN ROOMS)
@@ -258,6 +247,7 @@ leaving both hands free for work. ">
(WEST TO GROCERY)
(NW TO BROADWAY)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)
(ACTION BARBERSHOP-F)
(THINGS <PSEUDO (GLASS MIRROR MIRROR-F)>)>
@@ -284,16 +274,19 @@ barber isn't here, though. Doors lead northwest and west.">)>>
<TELL "You look mah-velous." CR>)
(<VERB? LOOK-BEHIND LOOK-UNDER>
<TELL "The mirror seems to be affixed to the wall." CR>)
- (<OR <VERB? MUNG>
- <AND <VERB? THROW>
- <PRSI? ,PSEUDO-OBJECT>>>
+ (<VERB? MUNG KICK KILL>
<SETG MIRROR-BROKEN T>
<MOVE ,FOIL ,HERE>
<TELL
"The mirror smashes into a cloud of glass dust, which (fortunately) is
quickly sucked away by the barbershop's ventilation system. As the glass
is sucked away you discover what gave the mirror its reflectivity: "
-<GETP ,FOIL ,P?FDESC> CR>)>>
+<GETP ,FOIL ,P?FDESC> CR>)
+ (<AND <VERB? THROW>
+ <PRSI? ,PSEUDO-OBJECT>>
+ <MOVE ,PRSO ,HERE>
+ <PERFORM ,V?KICK ,PSEUDO-OBJECT>
+ <RTRUE>)>>
<OBJECT FOIL
(DESC "reflective foil")
@@ -304,7 +297,7 @@ is sucked away you discover what gave the mirror its reflectivity: "
(FLAGS TAKEBIT NARTICLEBIT)
(PLATO-ASK-ABOUT
"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!")
+reflective material known, and not just on the visual wavelengths!")
(FLOYD-ASK-ABOUT
"Floyd loves anything reflective! Give Floyd a mirror and he'll be happy
for days!")
@@ -314,7 +307,7 @@ for days!")
<ROUTINE FOIL-F ()
<COND (<VERB? MEASURE EXAMINE>
<TELL
-"It's a large piece of " 'FOIL ", about six feet on a side." CR>)
+"It's a large piece of " 'FOIL ", about two meters on a side." CR>)
(<VERB? CRUMPLE>
<TELL
"You crumple the foil into a fist-sized wad, but it instantly returns to
@@ -339,7 +332,8 @@ Exits lead north, east, southeast and south.")
(EAST TO BARBERSHOP)
(SE TO SALOON)
(SOUTH TO TRADING-POST)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)>
<OBJECT PLASTIC-BAG
(IN GROCERY)
@@ -349,6 +343,7 @@ Exits lead north, east, southeast and south.")
(SYNONYM BAG)
(ADJECTIVE SMALL TRANSL PLASTIC)
(CAPACITY 10)
+ (SIZE 4)
(FLAGS TAKEBIT CONTBIT SEARCHBIT)>
<OBJECT TAFFY
@@ -378,7 +373,7 @@ large sign advertises this month's special.")
(NE TO BROADWAY)
(SE TO TRADING-POST)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL SIGN)>
+ (GLOBAL VILLAGE SIGN)>
<OBJECT CAGE
(IN PET-STORE)
@@ -449,6 +444,10 @@ of its digestive gas." CR>)>)
(<VERB? TAKE CATCH>
<PERFORM ,V?TAKE ,LEASH>
<RTRUE>)
+ (<VERB? SMELL>
+ <TELL
+"There's an odor reminiscent of your school dorm on a night when the dining
+hall served Northern Gallium Bonzo Beans." CR>)
(<VERB? TOUCH HUG>
<TELL
"The " D ,BALLOON " purrs and rings of color shimmer along its body." CR>)>>
@@ -467,9 +466,7 @@ of its digestive gas." CR>)>)
<ROUTINE LEASH-F ()
<COND (<AND <VERB? TAKE MOVE>
<PRSO? ,LEASH>>
- <COND (<IN? ,BALLOON ,CAGE>
- <TELL ,YOU-CANT "reach the leash inside the cage." CR>)
- (,HANGING-IN-AIR
+ <COND (,HANGING-IN-AIR
<TELL ,SENILITY-STRIKES>)
(<FSET? ,SPACESUIT ,WORNBIT>
<TELL
@@ -498,12 +495,13 @@ hyperinflating. Slowly, its buoyancy lifts you right ">
<TELL "off the deck">)>
<TELL
"! Within moments, the Arcturian is bobbing against the ceiling, and you're
-hanging five feet off the floor! (Footnote 4)" CR>
+hanging two meters off the floor! (Footnote 4)" CR>
<COND (<AND <IN? ,FLOYD ,HERE>
<FSET? ,FLOYD ,ACTIVEBIT>
<NOT ,HANGING-COMMENT>>
<SETG FLOYD-SPOKE T>
- <FLOYDS-HANGING-IN-AIR-COMMENT>)>
+ <SETG HANGING-COMMENT T>
+ <TELL ,FLOYDS-HANGING-IN-AIR-COMMENT>)>
<RTRUE>)>)
(<VERB? REMOVE UNTIE>
<TELL
@@ -523,13 +521,8 @@ hanging five feet off the floor! (Footnote 4)" CR>
back at around eye-level.">)>
<CRLF>)>>
-<ROUTINE FLOYDS-HANGING-IN-AIR-COMMENT ()
- <SETG HANGING-COMMENT T>
- <TELL
-" \"Boy, that looks like fun!\" says Floyd, peering up at you.
-\"Can Floyd try it? Huh? Please?\"" CR>>
-
<OBJECT PANEL
+ (IN LOCAL-GLOBALS)
(DESC "ceiling panel")
(FDESC ;"so it'll get printed before other DESCs"
"You can see the faint outline of a panel in the ceiling.")
@@ -551,6 +544,7 @@ back at around eye-level.">)>
(ADJECTIVE OSTRICH)
(FLAGS TAKEBIT)
(VALUE 3)
+ (SIZE 4)
(ACTION OSTRICH-NIP-F)>
<ROUTINE OSTRICH-NIP-F ()
@@ -576,7 +570,7 @@ there's an opening in the floor.")
(NW TO PET-STORE)
(DOWN TO WAREHOUSE)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL SIGN)>
+ (GLOBAL VILLAGE SIGN)>
<OBJECT INSTRUCTION-SHEET
(IN TRADING-POST)
@@ -584,7 +578,7 @@ there's an opening in the floor.")
(SYNONYM SHEET)
(ADJECTIVE INSTRUCTION)
(FLAGS TAKEBIT READBIT VOWELBIT)
- (SIZE 2)
+ (SIZE 1)
(TEXT
"\"FREZONE (tm) Liquid Gorzium Explosive|
Instructions for use:|
@@ -593,13 +587,13 @@ Instructions for use:|
3. Set timer.|
4. Vamoose.|
NOTE: Do not expose explosive to temperatures above
-150 degrees Kelvin for period of more than 100 millichrons.\"")>
+150 degrees Kelvin for periods of more than 100 millichrons.\"")>
<OBJECT TWELVE-PRONG-FROMITZ-BOARD
(IN TRADING-POST)
(DESC "twelve-prong fromitz board")
(SYNONYM BOARD BOARDS PRONGS)
- (ADJECTIVE TWELVE PRONG 12-PRONG FROMITZ NUMBER)
+ (ADJECTIVE TWELVE PRONG PRONGED 12-PRONG FROMITZ NUMBER)
(FLAGS TAKEBIT)
(PLATO-ASK-ABOUT
"I'm really not at all mechanically inclined. My sincerest apologies.")
@@ -629,6 +623,7 @@ completion. The way out is to the east.")
(EAST TO TRADING-POST)
(OUT TO TRADING-POST)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)
(ACTION STUDIO-F)>
<ROUTINE STUDIO-F (RARG)
@@ -652,7 +647,6 @@ a 91st-century-style scrap sculpture" ,ELLIPSIS>)>>
"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 5)
(FLAGS TAKEBIT)
(ACTION DIODE-J-F)>
@@ -691,7 +685,8 @@ to the east is a partially disguised exit.")
(EAST TO CASINO)
(WEST TO TRADING-POST)
(NW TO GROCERY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)>
<ROOM CASINO
(IN ROOMS)
@@ -700,6 +695,7 @@ to the east is a partially disguised exit.")
(WEST TO SALOON)
(UP TO FLOPHOUSE IF ROULETTE-TURNED)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)
(ACTION CASINO-F)>
<GLOBAL ROULETTE-TURNED <>>
@@ -750,14 +746,17 @@ and to the north!" CR>)>)
(DESC "pair of dice")
(SYNONYM PAIR DICE)
(FLAGS TAKEBIT PLURALBIT)
- (SIZE 2)
+ (SIZE 3)
(ACTION DICE-F)>
<GLOBAL DICE-FOOTNOTE <>>
<ROUTINE DICE-F ("AUX" NUM)
<COND (<VERB? ROLL THROW>
- <COND (<FSET? ,HERE ,WEIGHTLESSBIT>
+ <COND (<NOT <ULTIMATELY-IN? ,DICE>>
+ <TELL ,YNH TR ,DICE>
+ <RTRUE>)
+ (<FSET? ,HERE ,WEIGHTLESSBIT>
<COND (<PROB 50>
<SET NUM 7>)
(T
@@ -785,7 +784,7 @@ and to the north!" CR>)>)
There's a sign on the wall and a door to the south.")
(SOUTH TO CASINO)
(OUT TO CASINO)
- (GLOBAL SIGN)
+ (GLOBAL VILLAGE SIGN)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
<ROOM FLOPHOUSE
@@ -794,7 +793,7 @@ There's a sign on the wall and a door to the south.")
(DOWN TO CASINO)
(OUT TO CASINO)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
- (GLOBAL BED)
+ (GLOBAL VILLAGE BED)
(ACTION FLOPHOUSE-F)>
<ROUTINE FLOPHOUSE-F (RARG)
@@ -843,7 +842,7 @@ well-scrubbed metal of the space station.")
(NORTH PER VILLAGE-BOUNDARY-F)
(SOUTH TO MAIN-STREET)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL IRIS-HATCH)>
+ (GLOBAL VILLAGE IRIS-HATCH)>
<ROOM MAIN-STREET
(IN ROOMS)
@@ -861,7 +860,8 @@ the \"street\" narrows and ramps downward.")
(WEST TO TRAVEL-AGENCY)
(UP TO MAYORS-OFFICE)
(DOWN TO ALLEY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)>
<ROOM GREASY-STRAW
(IN ROOMS)
@@ -869,7 +869,7 @@ the \"street\" narrows and ramps downward.")
(NE TO TRADING-POST)
(SW TO MAIN-STREET)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL SIGN)
+ (GLOBAL SIGN VILLAGE)
(ACTION GREASY-STRAW-F)>
<ROUTINE GREASY-STRAW-F (RARG)
@@ -892,7 +892,7 @@ Exits lead northeast and southwest.">)>>
<ROUTINE COUNTER-F ()
<COND (<AND <VERB? LOOK-UNDER LOOK-BEHIND SEARCH EXAMINE HIDE>
- <IN? ,NECTAR ,LOCAL-GLOBALS>>
+ <NOT <FSET? ,NECTAR ,TOUCHBIT>>>
<PERFORM ,V?SEARCH ,GLOBAL-ROOM>
<RTRUE>)
(<VERB? LOOK-OVER>
@@ -904,19 +904,23 @@ Exits lead northeast and southwest.">)>>
(SYNONYM CUP NECTAR FOOD)
(ADJECTIVE RAMOSIAN FIRE)
(FLAGS TAKEBIT)
- (FOOD-DESC " fire nectar - thick and warming")
+ (FOOD-DESC " fire nectar -- thick and warming")
(GENERIC GENERIC-FOOD-F)
(ACTION NECTAR-F)>
<ROUTINE NECTAR-F ()
<COND (<AND <VERB? THROW POUR EMPTY>
<PRSO? ,NECTAR>>
- <TELL
-"You create a nectarish mess, which thankfully dries up very quickly">
+ <MESS "nectar">
<ANTI-LITTER ,NECTAR>)
(<AND <VERB? LOOK-INSIDE>
<NOUN-USED ,W?CUP ,NECTAR>>
- <TELL "The cup is filled with nectar." CR>)
+ <TELL "Yup. Nectar." CR>)
+ (<VERB? REACH-IN TOUCH EXAMINE TASTE>
+ <TELL "The nectar is warm and thick." CR>)
+ (<VERB? EAT-FROM>
+ <PERFORM ,V?EAT ,NECTAR>
+ <RTRUE>)
(<AND <VERB? FIND>
<IN? ,NECTAR ,LOCAL-GLOBALS>
<EQUAL? ,HERE ,GREASY-STRAW>>
@@ -937,7 +941,8 @@ Exits lead northeast and southwest.">)>>
Mayor, the unofficial leader of the village. Main Street is below.")
(DOWN TO MAIN-STREET)
(OUT TO MAIN-STREET)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<OBJECT BOOK
(IN MAYORS-OFFICE)
@@ -947,6 +952,7 @@ Mayor, the unofficial leader of the village. Main Street is below.")
(SYNONYM TEXTBOOK BOOK)
(ADJECTIVE TEXT)
(FLAGS TAKEBIT READBIT)
+ (SIZE 8)
(ACTION BOOK-F)>
<ROUTINE BOOK-F ()
@@ -971,9 +977,33 @@ of the subject." CR>)>)
(DESC "piece of paper")
(SYNONYM PAPER PIECE)
(FLAGS TAKEBIT READBIT)
- (SIZE 2)
+ (SIZE 1)
(TEXT
-"\"(bitter/salty/bitter) softness/weakness|
+"\"bttr/salty/bttr softness/weakness|
+sweet/v.sour Hunji (noun form)|
+blnd/salty/sour Zeenak (adj form)|
+blnd/bttr air/atmosphere|
+sour/blnd/blnd/sour died/failed|
+sweet/v.sweet legal destruction|
+ (sabotage?)|
+v.salty however|
+sour/blnd/sour/sweet turn back|
+blnd (def. article?)|
+v.sweet/blnd/sour I have shined|
+ light upon|
+slightly-sour solitary|
+v.sweet/v.salty element/substance|
+sweet/slightly-bttr brethren (adj)|
+blnd/sour/v.sour is souring|
+v.salty/salty/sour bad/evil/deadly|
+ radiations|
+spicy-hot/blnd/blnd 78 (?) 7/8 (?)|
+bttr/sour/v.sour weapon (possesv.)|
+v.sweet (emphasis mark?)\""
+
+;"old TEXT below didn't work on 40-column computers"
+
+;"\"(bitter/salty/bitter) softness/weakness|
(sweet/very-sour) Hunji (noun form)|
(bland/salty/sour) Zeenak (adj form)|
(bland/bitter) air/atmosphere|
@@ -1000,7 +1030,8 @@ of the subject." CR>)>)
doors to the north and northwest.")
(NORTH TO MAIN-STREET)
(NW TO TRAVEL-AGENCY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)>
<OBJECT PLATINUM-DETECTOR
(IN BANK)
@@ -1008,6 +1039,7 @@ doors to the north and northwest.")
(SYNONYM DETECTOR)
(ADJECTIVE PLATINUM)
(FLAGS TAKEBIT LIGHTBIT)
+ (SIZE 15)
(ACTION PLATINUM-DETECTOR-F)>
<ROUTINE PLATINUM-DETECTOR-F ()
@@ -1022,7 +1054,9 @@ doors to the north and northwest.")
<G? ,DETECTOR-COUNTER 49>>
<COND (<G? ,DETECTOR-COUNTER 99>
<TELL "Ouch! The detector is too hot to pick up!" CR>)
- (<NOT <EQUAL? <ITAKE> ,M-FATAL <>>>
+ (<EQUAL? <ITAKE> ,M-FATAL <>>
+ <RTRUE>)
+ (T
<TELL
"As you pick up the detector, you notice that is feels ">
<COND (<G? ,DETECTOR-COUNTER 75>
@@ -1047,25 +1081,7 @@ doors to the north and northwest.")
<GLOBAL DETECTOR-COUNTER 0>
-<ROUTINE I-PLATINUM-DETECTOR ()
- <SETG DETECTOR-COUNTER <+ ,DETECTOR-COUNTER 1>>
- <COND (<AND <VISIBLE? ,PLATINUM-DETECTOR>
- <OR <EQUAL? <META-LOC ,FOIL>
- <META-LOC ,PLATINUM-DETECTOR>>
- <AND <ULTIMATELY-IN? ,PLATINUM-DETECTOR ,BARBERSHOP>
- <NOT ,MIRROR-BROKEN>>>>
- <TELL " The detector is quietly beeping." CR>)>
- <COND (<AND <EQUAL? ,DETECTOR-COUNTER 50 75>
- <IN? ,PLATINUM-DETECTOR ,PROTAGONIST>>
- <TELL " You notice that the detector is getting ">
- <COND (<EQUAL? ,DETECTOR-COUNTER 75>
- <TELL "very ">)>
- <TELL "warm." CR>)
- (<AND <EQUAL? ,DETECTOR-COUNTER 100>
- <IN? ,PLATINUM-DETECTOR ,PROTAGONIST>>
- <MOVE ,PLATINUM-DETECTOR ,HERE>
- <TELL
-" Yeow! The detector is now too hot to handle, so you drop it." CR>)>>
+;"routine I-PLATINUM-DETECTOR moved to INTERRUPTS file"
<ROOM TRAVEL-AGENCY
(IN ROOMS)
@@ -1077,6 +1093,7 @@ rundown spacetown would be able to afford an interstellar pleasure jaunt.")
(EAST TO MAIN-STREET)
(SE TO BANK)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
+ (GLOBAL VILLAGE)
(THINGS <PSEUDO (<> POSTER TRAVEL-AGENCY-POSTER-F)>)>
<ROUTINE TRAVEL-AGENCY-POSTER-F ()
@@ -1114,7 +1131,7 @@ and the alley slopes upward to the northwest.")
(NW TO MAIN-STREET)
(UP TO MAIN-STREET)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL GARBAGE)>
+ (GLOBAL GARBAGE VILLAGE)>
<ROOM MISSIONARY
(IN ROOMS)
@@ -1127,7 +1144,8 @@ are enough kooks in the galaxy to keep the belief going. You can exit to the
south.")
(SOUTH TO ALLEY)
(OUT TO ALLEY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<ROOM WAREHOUSE
(IN ROOMS)
@@ -1136,7 +1154,7 @@ south.")
(SW TO ALLEY)
(DOWN TO AIRLOCK IF INNER-AIRLOCK-DOOR IS OPEN)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL SIGN INNER-AIRLOCK-DOOR AIRLOCK-OBJECT)
+ (GLOBAL SIGN VILLAGE INNER-AIRLOCK-DOOR AIRLOCK-OBJECT)
(ACTION WAREHOUSE-F)>
<ROUTINE WAREHOUSE-F (RARG)
@@ -1150,7 +1168,7 @@ in the ceiling and the southwest wall.">)>>
<OBJECT INNER-AIRLOCK-DOOR
(IN LOCAL-GLOBALS)
- (DESC "inner airlock door")
+ (DESC "inner door")
(SYNONYM DOOR HATCH)
(ADJECTIVE INNER UPPER AIRLOCK)
(FLAGS DOORBIT VOWELBIT)
@@ -1161,11 +1179,11 @@ in the ceiling and the southwest wall.">)>>
<COND (<AND <VERB? OPEN>
<NOT <FSET? ,INNER-AIRLOCK-DOOR ,OPENBIT>>
<FSET? ,OUTER-AIRLOCK-DOOR ,OPENBIT>>
- <TELL "It won't budge." CR>)>>
+ <TELL ,WONT-BUDGE>)>>
<OBJECT OUTER-AIRLOCK-DOOR
(IN LOCAL-GLOBALS)
- (DESC "outer airlock door")
+ (DESC "outer door")
(SYNONYM DOOR HATCH)
(ADJECTIVE OUTER LOWER AIRLOCK)
(FLAGS DOORBIT VOWELBIT)
@@ -1176,7 +1194,7 @@ in the ceiling and the southwest wall.">)>>
<COND (<AND <VERB? OPEN>
<NOT <FSET? ,OUTER-AIRLOCK-DOOR ,OPENBIT>>>
<COND (<FSET? ,INNER-AIRLOCK-DOOR ,OPENBIT>
- <TELL "It won't budge." CR>)
+ <TELL ,WONT-BUDGE>)
(T
<TELL
"As the door opens, the air in the lock whooshes out into the vacuum of space">
@@ -1188,12 +1206,8 @@ in the ceiling and the southwest wall.">)>>
<LOST-IN-SPACE>)
(T
<FSET ,OUTER-AIRLOCK-DOOR ,OPENBIT>
- ;<COND (<AND <ULTIMATELY-IN? ,BOTTLE>
- <NOT ,CARBON-DIOXIDE-GONE>>
- <DEQUEUE I-MELT-CARBON-DIOXIDE>
- <COND (<IN? ,EXPLOSIVE ,BOTTLE>
- <DEQUEUE I-EXPLOSIVE-MELT>)>
- <QUEUE I-FREEZE-CARBON-DIOXIDE -1>)>
+ <COND (<EQUAL? <META-LOC ,EXPLOSIVE> ,HERE>
+ <DEQUEUE I-EXPLOSIVE-MELT>)>
<SET X <FIRST? ,AIRLOCK>>
<REPEAT ()
<COND (<NOT .X>
@@ -1265,13 +1279,13 @@ explodes into a puff of hydrogen that immediately vanishes!" CR>)>
(DOWN TO VACUUM-STORAGE IF OUTER-AIRLOCK-DOOR IS OPEN)
(OUT TO VACUUM-STORAGE IF OUTER-AIRLOCK-DOOR IS OPEN)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
- (GLOBAL INNER-AIRLOCK-DOOR OUTER-AIRLOCK-DOOR AIRLOCK-OBJECT)
+ (GLOBAL VILLAGE INNER-AIRLOCK-DOOR OUTER-AIRLOCK-DOOR AIRLOCK-OBJECT)
(ACTION AIRLOCK-F)>
<ROUTINE AIRLOCK-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
-"This is a cramped lock with doors above and below you. ">
+"This is a cramped airlock with doors above and below you. ">
<COND (<AND <NOT <FSET? ,INNER-AIRLOCK-DOOR ,OPENBIT>>
<NOT <FSET? ,OUTER-AIRLOCK-DOOR ,OPENBIT>>>
<TELL "Neither door">)
@@ -1310,10 +1324,11 @@ explodes into a puff of hydrogen that immediately vanishes!" CR>)>
<COND (<EQUAL? ,HERE ,AIRLOCK>
<TELL "There are two doors." CR>)
(T
- <PERFORM-PRSA <COND (<EQUAL? ,HERE ,WAREHOUSE>
- ,INNER-AIRLOCK-DOOR)
- (<EQUAL? ,HERE ,VACUUM-STORAGE>
- ,OUTER-AIRLOCK-DOOR)>>)>)>>
+ <PERFORM ,PRSA <COND (<EQUAL? ,HERE ,WAREHOUSE>
+ ,INNER-AIRLOCK-DOOR)
+ (<EQUAL? ,HERE ,VACUUM-STORAGE>
+ ,OUTER-AIRLOCK-DOOR)>>
+ <RTRUE>)>)>>
<ROUTINE LOST-IN-SPACE ()
<JIGS-UP "||
@@ -1327,7 +1342,7 @@ dwindling to a dot of light behind you. Eventually, your air runs out.">>
(UP TO AIRLOCK IF OUTER-AIRLOCK-DOOR IS OPEN)
(IN TO AIRLOCK IF OUTER-AIRLOCK-DOOR IS OPEN)
(FLAGS RLANDBIT WEIGHTLESSBIT NWELDERBIT)
- (GLOBAL OUTER-AIRLOCK-DOOR AIRLOCK-OBJECT)
+ (GLOBAL VILLAGE OUTER-AIRLOCK-DOOR AIRLOCK-OBJECT)
(VALUE 3)
(ACTION VACUUM-STORAGE-F)>
@@ -1338,7 +1353,7 @@ dwindling to a dot of light behind you. Eventually, your air runs out.">>
same way that your dad kept beer cold in the back yard during winters on
Gallium. In fact, the villagers usually refer to this place as the \"vac
yard.\" Only the " 'BOOTS ", clinging to the outer skin of the warehouse,
-are preventing you from floating off into space. Tethered all around you:
+is preventing you from floating off into space. Tethered all around you:
those items in the Trading Post's inventory that, for reasons of temperature
or anti-corrosion, must be stored here in space. The door to the airlock,
\"above\" you, is ">
@@ -1354,6 +1369,7 @@ with an even tinier label.")
(SYNONYM EXPLOSIVE CYLIND LABEL)
(ADJECTIVE EXPLOSIVE FREZONE SMALL)
(FLAGS TAKEBIT VOWELBIT READBIT)
+ (SIZE 3)
(TEXT
"\"FREZONE (tm) Liquid Gorzium Explosive. For use only by licensed
demolitionist. Instruction sheet available from vendor; read
@@ -1386,6 +1402,12 @@ It has a tiny label.">
(T
<QUEUE I-EXPLOSIVE-MELT 100>
<RFALSE>)>)
+ (<AND <VERB? PUT>
+ <PRSI? ,HEATING-CHAMBER>>
+ <TELL "The explosive " ,SUBLIMES-INTO-FREZONE>
+ <DEQUEUE I-EXPLOSIVE-MELT>
+ <REMOVE-CAREFULLY ,EXPLOSIVE>
+ <CRLF>)
(<AND <VERB? DISCONNECT>
<NOT ,PRSI>
,EXPLOSIVE-CONNECTED>
@@ -1398,31 +1420,7 @@ It has a tiny label.">
<GLOBAL MELT-COUNTER 0>
-<ROUTINE I-EXPLOSIVE-MELT ("AUX" OLD-MELT-COUNTER)
- <SET OLD-MELT-COUNTER ,MELT-COUNTER>
- <SETG MELT-COUNTER <+ ,MELT-COUNTER
- <COND (<AND <IN? ,EXPLOSIVE ,THERMOS>
- <NOT <FSET? ,THERMOS ,OPENBIT>>>
- </ ,C-ELAPSED 4>)
- (T
- ,C-ELAPSED)>>>
- <COND (<G? ,MELT-COUNTER 210>
- <COND (<VISIBLE? ,EXPLOSIVE>
- <TELL " The explosive " ,SUBLIMES-INTO-FREZONE CR>)
- (<AND <IN? ,EXPLOSIVE ,THERMOS>
- <NOT <FSET? ,THERMOS ,OPENBIT>>>
- <SETG THERMOS-FILLED-WITH-GAS T>)>
- <REMOVE-CAREFULLY ,EXPLOSIVE>)
- (<AND <VISIBLE? ,EXPLOSIVE>
- ,LIT>
- <COND (<AND <G? ,MELT-COUNTER 170>
- <NOT <G? .OLD-MELT-COUNTER 170>>>
- <TELL " ">
- <DESCRIBE-EXPLOSIVE>)
- (<AND <G? ,MELT-COUNTER 130>
- <NOT <G? .OLD-MELT-COUNTER 130>>>
- <TELL " ">
- <DESCRIBE-EXPLOSIVE>)>)>>
+;"routine I-EXPLOSIVE-MELT moved to INTERRUPTS file"
<ROUTINE DESCRIBE-EXPLOSIVE ()
<TELL " The explosive ">
@@ -1441,7 +1439,8 @@ indicate that a villager down on his or her luck could come here to hock
some valuable possession.")
(NE TO ALLEY)
(OUT TO ALLEY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<OBJECT SPRAY-CAN
(IN PAWN-SHOP)
@@ -1453,6 +1452,7 @@ spray can. It's sitting here in the shop, and has some lettering on it.")
(ADJECTIVE SPRAY)
(FLAGS TAKEBIT READBIT)
(GENERIC GENERIC-CAN-F)
+ (SIZE 8)
(ACTION SPRAY-CAN-F)>
<ROUTINE SPRAY-CAN-F ()
@@ -1468,17 +1468,18 @@ spray can. It's sitting here in the shop, and has some lettering on it.")
A mixture of high-quality spores|
Lowest gas-inducement levels of any brand!\"" CR>)
(<VERB? SPRAY>
- <COND (,PRSI
+ <COND (<NOT <ULTIMATELY-IN? ,SPRAY-CAN>>
+ <TELL ,YNH TR ,SPRAY-CAN>
+ <RTRUE>)
+ (,PRSI
<TELL
-"The nozzle of the can isn't very directional; rather than spraying the
-can on something in particular, it seems to be more designed to simply
-produce a broad mist." CR>
+"The nozzle of the can isn't very directional; rather than spraying something
+in particular, it seems designed to produce a broad mist." CR>
<RTRUE>)
(<EQUAL? ,SPRAY-COUNTER 0>
<TELL ,NOTHING-HAPPENS>
- <RTRUE>)
- (T
- <SETG SPRAY-COUNTER <- ,SPRAY-COUNTER 1>>)>
+ <RTRUE>)>
+ <SETG SPRAY-COUNTER <- ,SPRAY-COUNTER 1>>
<TELL "A dusty mist puffs from the can and begins dissipating">
<COND (<IN? ,BALLOON ,HERE>
<TELL
@@ -1586,7 +1587,8 @@ and most of the walls">)>
the south side of the alley.")
(NORTH TO ALLEY)
(OUT TO ALLEY)
- (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)>
+ (FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)>
<OBJECT STRONG-BOX
(IN LOAN-SHARK)
@@ -1628,6 +1630,7 @@ smaller than an average asteroid." CR>)
(SYNONYM COIN GALAKMID)
(FLAGS TAKEBIT READBIT)
(VALUE 5)
+ (SIZE 2)
(TEXT
"\"ONE GALAKMID|
Third Galactic Union\"")>
@@ -1643,6 +1646,7 @@ for a disposal chute. The Doc is out, and in this case, out is northwest.")
(NW TO ALLEY)
(OUT TO ALLEY)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT NWELDERBIT)
+ (GLOBAL VILLAGE)
(ACTION DOC-SCHUSTER-F)
(THINGS <PSEUDO (SMALL HOLE DOC-HOLE-F)>)>
@@ -1678,18 +1682,21 @@ unusual, for a disposal hole." CR>)
<GLOBAL SNIFFED <>>
+<GLOBAL OSTRICH-FOOTNOTE <>>
+
<OBJECT OSTRICH
(IN DOC-SCHUSTER)
(DESC "ostrich")
(FDESC "There is a large pile of intoxicated ostrich here.")
- (SYNONYM OSTRICH PET BIRD)
+ (SYNONYM OSTRICH PET BIRD PILE)
+ (ADJECTIVE LARGE INTOXICATED)
(FLAGS VOWELBIT TOUCHBIT)
(ACTION OSTRICH-F)>
<ROUTINE OSTRICH-F ()
<COND (<VERB? EXAMINE>
<TELL
-"It's a handsome, full-grown ostrich, nearly eight feet tall.
+"It's a handsome, full-grown ostrich, nearly three meters tall.
As with all ostriches, half its height is its neck">
<COND (<NOT <FSET? ,OSTRICH ,TOUCHBIT>>
<TELL
@@ -1699,7 +1706,7 @@ As with all ostriches, half its height is its neck">
<REMOVE ,OSTRICH>
<TELL
"The ostrich gives the last of a generous lifetime's supply of squawks
-before being consumed in fiery raygun death." CR>)
+before being consumed in fiery zapgun death." CR>)
(<NOT <FSET? ,OSTRICH ,TOUCHBIT>>
<COND (<VERB? SCARE>
<TELL "The ostrich is unconscious!" CR>)
@@ -1738,7 +1745,10 @@ of intoxicated ostrich." CR>)
<TELL
"The ostrich emits a terrified squawk and sticks its head ">
<COND (<EQUAL? ,HERE ,DOC-SCHUSTER>
- <TELL "into the disposal hole">)
+ <TELL "into the disposal hole">
+ <COND (<NOT ,OSTRICH-FOOTNOTE>
+ <SETG OSTRICH-FOOTNOTE T>
+ <TELL " (Footnote 14)">)>)
(<AND <EQUAL? ,HERE ,PX>
<IN? ,DISPENSER ,HERE>>
<TELL "into the dispenser hole.">
@@ -1759,7 +1769,7 @@ out, squawking in pain." CR>
(DESC "letter")
(SYNONYM LETTER)
(FLAGS READBIT TAKEBIT)
- (SIZE 2)
+ (SIZE 1)
(TEXT
"\"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.\"")>
@@ -1770,7 +1780,7 @@ by and pick it up. If I'm not in, you'll find it in my ceiling panel.\"")>
(NW TO TRADING-POST)
(DOWN TO JUNK-YARD)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL KEYPAD WINDOW)
+ (GLOBAL VILLAGE KEYPAD WINDOW)
(ACTION SHADY-DANS-F)
(THINGS <PSEUDO (<> SLOT ID-CHANGER-SLOT-F)>)>
@@ -1786,10 +1796,12 @@ and downward. " ,DANS-LOT-DESC>)>>
<CANT-SEE ,PSEUDO-OBJECT>)
(<AND <VERB? LOOK-INSIDE REACH-IN>
<PRSO? ,PSEUDO-OBJECT>>
- <PERFORM-PRSA ,ID-CHANGER ,PRSI>)
+ <PERFORM ,PRSA ,ID-CHANGER ,PRSI>
+ <RTRUE>)
(<AND <VERB? PUT>
<PRSI? ,PSEUDO-OBJECT>>
- <PERFORM-PRSA ,PRSO ,ID-CHANGER>)>>
+ <PERFORM, PRSA ,PRSO ,ID-CHANGER>
+ <RTRUE>)>>
<OBJECT ID-CHANGER
(IN SHADY-DANS)
@@ -1815,7 +1827,7 @@ notable features: a keypad and a very small slot. The machine is currently o">
(<VERB? OPEN CLOSE>
<TELL ,HUH>)
(<VERB? TAKE>
- <TELL "It's bolted down." CR>)
+ <TELL ,WONT-BUDGE>)
(<AND <VERB? PUT>
<PRSI? ,ID-CHANGER>>
<COND (<PRSO? ,ID-CARD>
@@ -1824,7 +1836,11 @@ notable features: a keypad and a very small slot. The machine is currently o">
<TELL "A voice from the machine says, \"">
<COND (,ID-SCRAMBLED
<TELL
-"Magnetic card data is scrambled; unable to read.\"" CR>)
+"Magnetic card data is scrambled; unable to read.\"">
+ <COND (<NOT ,SCRAMBLED-FOOTNOTE>
+ <SETG SCRAMBLED-FOOTNOTE T>
+ <TELL " (Footnote 15)">)>
+ <CRLF>)
(T
<TELL
"Current rank is " N ,ID-RANK ": " <GET ,ID-RANK-LIST <- ,ID-RANK 1>>
@@ -1847,6 +1863,9 @@ notable features: a keypad and a very small slot. The machine is currently o">
<COND (<AND <IN? ,ID-CARD ,ID-CHANGER>
<FSET? ,ID-CHANGER ,ACTIVEBIT>>
<COND (,ID-SCRAMBLED
+ <COND (<NOT ,SCRAMBLED-FOOTNOTE>
+ <SETG SCRAMBLED-FOOTNOTE T>
+ <TELL "(Footnote 15) ">)>
<RECORDING "A scrambled card cannot be altered">)
(<G? ,P-NUMBER 10>
<TELL
@@ -1865,16 +1884,16 @@ recognized by the Stellar Patrol is 10.\"" CR>)
<GLOBAL ID-RANK-LIST
<TABLE
- "Ensign, Sixth Class or lower"
- "Ensign, Fifth through Second Class"
+ "Ensign, lower classes"
"Ensign First Class"
- "Midshipman"
+ "Upshipman"
+ "Lieutenant Last Class"
"Lieutenant Second Class"
"Lieutenant First Class"
- "Lieutenant Commander"
"Commander or Captain"
"Admiral"
- "Fleet Admiral">>
+ "HyperAdmiral"
+ "Grand Fleet HyperAdmiral">>
<ROOM JUNK-YARD
(IN ROOMS)
@@ -1885,7 +1904,7 @@ fills the center of the bubble. Passages lead upwards and west.")
(UP TO SHADY-DANS)
(WEST TO ALLEY)
(FLAGS RLANDBIT WEIGHTLESSBIT ONBIT)
- (GLOBAL GARBAGE)
+ (GLOBAL GARBAGE VILLAGE)
(ACTION JUNK-YARD-F)>
<ROUTINE JUNK-YARD-F (RARG)
@@ -1906,6 +1925,7 @@ sculpture in the style of 91st-century scrap art. The sculpture is floating"
looks to be in the best shape.")
(SYNONYM PAIR BOOTS SPACEBOOTS)
(ADJECTIVE MAGNETIC)
+ (SIZE 20)
(FLAGS PLURALBIT TRYTAKEBIT TAKEBIT WEARBIT)
(ACTION BOOTS-F)>
@@ -1945,8 +1965,8 @@ attracted by the boots." CR>)
<OBJECT GARBAGE
(IN LOCAL-GLOBALS) ;"in Junk Yard and Alley"
(DESC "garbage")
- (SYNONYM GARBAGE JUNK PILE)
- (ADJECTIVE LARGE FLOATING USELESS RANDOM)
+ (SYNONYM GARBAGE JUNK TRASH PILE)
+ (ADJECTIVE LARGE FLOATING USELESS RANDOM JUNK GARBAGE TRASH)
(FLAGS NARTICLEBIT)
(ACTION GARBAGE-F)>