Most Recent Version
parent
7edfae6d56
commit
f0866b3565
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
#
|
||||||
|
zsplit -a 2 -d 5 -h hints -v ~curpix/a5apple.d ~curpix/a5.apple.1 -n shogun -p 107 -e 23 -0 a5 270
|
|
@ -0,0 +1,2 @@
|
||||||
|
#
|
||||||
|
zsplit -a 2 -d 5 -h hints -g ~curpix/a5-apple.g -p 108 -e 23 -0 -u ~curpix/a5.apple.G a5 270
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,24 @@
|
||||||
|
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||||
|
2/01 21 330248 47851 402 234 1374
|
||||||
|
2/17 281 333896 47105 404 230 1378
|
||||||
|
4/27 309 343088 47118 405 239 1390
|
||||||
|
5/10 311 344224 47118 405 239 1390
|
||||||
|
6/06 313 344760 47123 405 239 1390
|
||||||
|
6/08 313 344768 47123 405 239 1390
|
||||||
|
6/08 313 344848 47143 405 239 1390
|
||||||
|
6/08 313 344416 47143 405 239 1390
|
||||||
|
6/12 314 344472 47143 405 239 1390
|
||||||
|
6/13 315 344472 47143 405 239 1390
|
||||||
|
6/15 317 344568 47143 405 239 1390
|
||||||
|
6/21 318 344736 47143 405 239 1390
|
||||||
|
6/23 319 344792 47145 405 239 1390
|
||||||
|
6/26 320 344792 47145 405 239 1390
|
||||||
|
6/26 320 344792 47145 405 239 1390
|
||||||
|
6/26 320 344792 47145 405 239 1390
|
||||||
|
6/26 320 344808 47145 405 239 1390
|
||||||
|
6/27 320 344808 47145 405 239 1390
|
||||||
|
6/28 321 344840 47145 405 239 1390
|
||||||
|
6/28 321 344840 47145 405 239 1390
|
||||||
|
6/29 321 344888 47145 405 239 1390
|
||||||
|
6/29 321 344872 47145 405 239 1390
|
||||||
|
7/06 322 344816 47115 405 239 1389
|
|
@ -0,0 +1,51 @@
|
||||||
|
zap of 6/13/89 15:17.
|
||||||
|
Release: 322
|
||||||
|
0 Inserting a5.zap.
|
||||||
|
64 Inserting a5freq.zap.
|
||||||
|
682 Inserting a5dat.zap.
|
||||||
|
47115 Inserting a5pur.zap.
|
||||||
|
50299 Inserting pstack.zap.
|
||||||
|
50338 Inserting pmem.zap.
|
||||||
|
50434 Inserting parser.zap.
|
||||||
|
55191 Inserting find.zap.
|
||||||
|
57481 Inserting reds.zap.
|
||||||
|
64308 Inserting breds.zap.
|
||||||
|
66592 Inserting top.zap.
|
||||||
|
68265 Inserting misc.zap.
|
||||||
|
71050 Inserting soft.zap.
|
||||||
|
73318 Inserting menu.zap.
|
||||||
|
74238 Inserting status.zap.
|
||||||
|
75268 Inserting pic.zap.
|
||||||
|
76444 Inserting desc.zap.
|
||||||
|
77528 Inserting record.zap.
|
||||||
|
77590 Inserting verbs.zap.
|
||||||
|
98896 Inserting prare.zap.
|
||||||
|
103212 Inserting qverbs.zap.
|
||||||
|
105755 Inserting globals.zap.
|
||||||
|
111295 Inserting cast.zap.
|
||||||
|
130954 Inserting erasmus.zap.
|
||||||
|
154745 Inserting anjiro.zap.
|
||||||
|
188510 Inserting voyage.zap.
|
||||||
|
206074 Inserting audience.zap.
|
||||||
|
230836 Inserting osaka.zap.
|
||||||
|
248313 Inserting maze.zap.
|
||||||
|
253570 Inserting quake.zap.
|
||||||
|
267537 Inserting mariko.zap.
|
||||||
|
279735 Inserting attack.zap.
|
||||||
|
306118 Inserting clues.zap.
|
||||||
|
308574 Inserting a5str.zap.
|
||||||
|
Unreferenced table: PT?124
|
||||||
|
Unreferenced table: PT?1326
|
||||||
|
Unreferenced table: STRBEG
|
||||||
|
Unreferenced table: PT?1426
|
||||||
|
Unreferenced string: STR?75
|
||||||
|
Data from 48839 to 50304 not in segment 0.
|
||||||
|
|
||||||
|
Lexical buffer space allocated: 1472368
|
||||||
|
Max lexical space allocated at any one time: 48012
|
||||||
|
Object buffer space allocated: 352000
|
||||||
|
Source bytes read: 1353859
|
||||||
|
Object bytes written: 345088
|
||||||
|
Preload: 47115; 405 objects; 239 globals; 1389 words.
|
||||||
|
Used 5:32
|
||||||
|
Elapsed time 7:09
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
2
|
|
@ -0,0 +1,206 @@
|
||||||
|
Wed May 10 17:59:13 EDT 1989
|
||||||
|
zsplit of 5/1/89 10:27.
|
||||||
|
2 disks active
|
||||||
|
5 disks allowed
|
||||||
|
Hint segment is called HINTS
|
||||||
|
Picture information from /home/development/curpix/a5apple.d; pictures from /home/development/curpix/a5.apple.1.
|
||||||
|
Output files will be named shogun.
|
||||||
|
Preload size 107
|
||||||
|
Extra preload 23
|
||||||
|
Segment 0 pictures go with segment 0.
|
||||||
|
Splitting a5.seg...
|
||||||
|
Segments: 25
|
||||||
|
Pages: 673
|
||||||
|
Generated global picture directory: 1 pages.
|
||||||
|
Segment 0: 0
|
||||||
|
Pages 0-94 98-134 136-254 601-608 672
|
||||||
|
260 pages, 20547 picture bytes
|
||||||
|
Segment 1: STARTUP
|
||||||
|
Pages 135
|
||||||
|
1 pages, 3884 picture bytes
|
||||||
|
Segment 2: SEKIGAHARA
|
||||||
|
Pages 595-596
|
||||||
|
2 pages, 2240 picture bytes
|
||||||
|
Segment 3: YOKOHAMA
|
||||||
|
Pages 370 545 581-586 609-610
|
||||||
|
10 pages, 6445 picture bytes
|
||||||
|
Segment 4: ANJIRO
|
||||||
|
Pages 260 276 278-279 290 301-325 624-627
|
||||||
|
34 pages, 22988 picture bytes
|
||||||
|
Segment 5: YABU
|
||||||
|
Pages 260-266 275-276 295-301 309-310 325-335 627-628
|
||||||
|
31 pages, 8 picture bytes
|
||||||
|
Segment 6: ERASMUS
|
||||||
|
Pages 255-301 627-628 630-631 633 640-642
|
||||||
|
55 pages, 19243 picture bytes
|
||||||
|
Segment 7: AUDIENCE
|
||||||
|
Pages 370 401-414 614-616 633-634
|
||||||
|
20 pages, 30115 picture bytes
|
||||||
|
Segment 8: PRISON
|
||||||
|
Pages 414-439 566 614-615 624 629-630 633-636
|
||||||
|
36 pages, 8 picture bytes
|
||||||
|
Segment 9: VOYAGE
|
||||||
|
Pages 260 367-401 630-633
|
||||||
|
40 pages, 42839 picture bytes
|
||||||
|
Segment 10: DEPARTURE
|
||||||
|
Pages 370 451-454 456-460 462-463 529-536 617-619
|
||||||
|
23 pages, 8 picture bytes
|
||||||
|
Segment 11: SEPPUKU
|
||||||
|
Pages 370 451-460 462-463 536-545 616-618
|
||||||
|
26 pages, 7729 picture bytes
|
||||||
|
Segment 12: OCHIBA
|
||||||
|
Pages 370 521-529 619-620
|
||||||
|
12 pages, 8 picture bytes
|
||||||
|
Segment 13: AFTERMATH
|
||||||
|
Pages 370 586-595 609
|
||||||
|
12 pages, 8 picture bytes
|
||||||
|
Segment 14: ESCAPE
|
||||||
|
Pages 370 449-483 536-538 616-618 633 636-639
|
||||||
|
47 pages, 26199 picture bytes
|
||||||
|
Segment 15: MAZE
|
||||||
|
Pages 450 460-461 483-494 624 636 639-640
|
||||||
|
19 pages, 9006 picture bytes
|
||||||
|
Segment 16: MARIKO
|
||||||
|
Pages 370 439-449 631 636
|
||||||
|
14 pages, 8 picture bytes
|
||||||
|
Segment 17: NINJA
|
||||||
|
Pages 370 401-406 545-581 609-616
|
||||||
|
52 pages, 13399 picture bytes
|
||||||
|
Segment 18: YOKOSE
|
||||||
|
Pages 358 370 509-521 620-624
|
||||||
|
20 pages, 10375 picture bytes
|
||||||
|
Segment 19: PIT
|
||||||
|
Pages 260-266 275-276 295-301 321-322 335-359 623-624 626-630
|
||||||
|
50 pages, 6494 picture bytes
|
||||||
|
Segment 20: RODRIGUES
|
||||||
|
Pages 260 276 278-279 282-283 290 303-310 322-325 359-367 626-627 630-631
|
||||||
|
32 pages, 8 picture bytes
|
||||||
|
Segment 21: QUAKE
|
||||||
|
Pages 370 494-509 623-624
|
||||||
|
19 pages, 21569 picture bytes
|
||||||
|
Segment 22: HINTS
|
||||||
|
Pages 94-98 136 138 144 148 213 596-601 642-672
|
||||||
|
47 pages, 1195 picture bytes
|
||||||
|
Segment 23: SOFT-KEYS
|
||||||
|
Pages 642
|
||||||
|
1 pages, 8 picture bytes
|
||||||
|
Segment 24: RECORD
|
||||||
|
Pages
|
||||||
|
0 pages, 0 picture bytes
|
||||||
|
Object bytes read in: 344576
|
||||||
|
Putting pages 0 - 92 and 98 - 111 in preload.
|
||||||
|
Putting pages 112 - 134 in extra preload.
|
||||||
|
Adding segment 0 to disk 2; total size now 153.
|
||||||
|
Adding hint segment HINTS to disk 1; total size now 153.
|
||||||
|
Adding segment 0 pictures to 2; total size now 194.
|
||||||
|
Adding global picture directory to 2; total size now 195.
|
||||||
|
Adding unused segment STARTUP to disk 3; total size now 9.
|
||||||
|
Adding unused segment ERASMUS (adjacent to STARTUP) to disk 3; total size now 102.
|
||||||
|
Adding unused segment ANJIRO (adjacent to ERASMUS) to disk 3; total size now 174.
|
||||||
|
Adding unused segment YABU (adjacent to ANJIRO) to disk 3; total size now 184.
|
||||||
|
Adding unused segment PIT (adjacent to YABU) to disk 3; total size now 222.
|
||||||
|
Adding unused segment RODRIGUES (adjacent to PIT) to disk 3; total size now 230.
|
||||||
|
Adding unused segment YOKOSE to disk 3; total size now 268.
|
||||||
|
Adding unused segment SOFT-KEYS to disk 3; total size now 268.
|
||||||
|
Adding unused segment RECORD to disk 3; total size now 268.
|
||||||
|
Adding unused segment VOYAGE to disk 4; total size now 124.
|
||||||
|
Adding unused segment AUDIENCE (adjacent to VOYAGE) to disk 4; total size now 200.
|
||||||
|
Adding unused segment PRISON (adjacent to AUDIENCE) to disk 4; total size now 230.
|
||||||
|
Adding unused segment MARIKO (adjacent to PRISON) to disk 4; total size now 240.
|
||||||
|
Adding unused segment YOKOHAMA to disk 4; total size now 262.
|
||||||
|
Adding unused segment SEKIGAHARA to disk 4; total size now 268.
|
||||||
|
Moving 8 pages to 2.
|
||||||
|
10 (136) left on 3.
|
||||||
|
10 (100) left on 4.
|
||||||
|
270 (0) left on 5.
|
||||||
|
67 left on 2.
|
||||||
|
Adding unused segment OCHIBA to disk 3; total size now 269.
|
||||||
|
Adding unused segment AFTERMATH to disk 4; total size now 268.
|
||||||
|
Adding unused segment ESCAPE to disk 5; total size now 97.
|
||||||
|
Adding unused segment MAZE (adjacent to ESCAPE) to disk 5; total size now 126.
|
||||||
|
Adding unused segment NINJA to disk 5; total size now 202.
|
||||||
|
Adding unused segment SEPPUKU (adjacent to NINJA) to disk 5; total size now 224.
|
||||||
|
Adding unused segment DEPARTURE (adjacent to SEPPUKU) to disk 5; total size now 232.
|
||||||
|
Moving 3 pages to 2.
|
||||||
|
4 (142) left on 3.
|
||||||
|
2 (108) left on 4.
|
||||||
|
41 (118) left on 5.
|
||||||
|
64 left on 2.
|
||||||
|
Moving 16 pages to 2.
|
||||||
|
4 (142) left on 3.
|
||||||
|
18 (92) left on 4.
|
||||||
|
57 (102) left on 5.
|
||||||
|
48 left on 2.
|
||||||
|
Moving page 450 from 5 (58 (101) left) to 2 (47 left).
|
||||||
|
Adding unused segment QUAKE to disk 5; total size now 270.
|
||||||
|
Moving 2 pages to 2.
|
||||||
|
6 (140) left on 3.
|
||||||
|
18 (92) left on 4.
|
||||||
|
2 (115) left on 5.
|
||||||
|
45 left on 2.
|
||||||
|
Split successful.
|
||||||
|
Map size: 1 page; 186 words.
|
||||||
|
Making disk map...
|
||||||
|
Disk 1: Pages 0 to 92 starting on disk page 1.
|
||||||
|
Disk 1: Pages 98 to 111 starting on disk page 94.
|
||||||
|
Disk 1: Pages 94 to 97 starting on disk page 108.
|
||||||
|
Disk 1: Pages 136 to 136 starting on disk page 112.
|
||||||
|
Disk 1: Pages 138 to 138 starting on disk page 113.
|
||||||
|
Disk 1: Pages 144 to 144 starting on disk page 114.
|
||||||
|
Disk 1: Pages 148 to 148 starting on disk page 115.
|
||||||
|
Disk 1: Pages 213 to 213 starting on disk page 116.
|
||||||
|
Disk 1: Pages 596 to 601 starting on disk page 117.
|
||||||
|
Disk 1: Pages 642 to 672 starting on disk page 123.
|
||||||
|
Disk 2: Pages 112 to 134 starting on disk page 0.
|
||||||
|
Disk 2: Pages 93 to 94 starting on disk page 23.
|
||||||
|
Disk 2: Pages 136 to 254 starting on disk page 25.
|
||||||
|
Disk 2: Pages 260 to 260 starting on disk page 144.
|
||||||
|
Disk 2: Pages 367 to 367 starting on disk page 145.
|
||||||
|
Disk 2: Pages 370 to 370 starting on disk page 146.
|
||||||
|
Disk 2: Pages 401 to 406 starting on disk page 147.
|
||||||
|
Disk 2: Pages 449 to 450 starting on disk page 153.
|
||||||
|
Disk 2: Pages 509 to 509 starting on disk page 155.
|
||||||
|
Disk 2: Pages 529 to 529 starting on disk page 156.
|
||||||
|
Disk 2: Pages 545 to 545 starting on disk page 157.
|
||||||
|
Disk 2: Pages 566 to 566 starting on disk page 158.
|
||||||
|
Disk 2: Pages 581 to 581 starting on disk page 159.
|
||||||
|
Disk 2: Pages 601 to 610 starting on disk page 160.
|
||||||
|
Disk 2: Pages 614 to 616 starting on disk page 170.
|
||||||
|
Disk 2: Pages 619 to 619 starting on disk page 173.
|
||||||
|
Disk 2: Pages 623 to 624 starting on disk page 174.
|
||||||
|
Disk 2: Pages 629 to 631 starting on disk page 176.
|
||||||
|
Disk 2: Pages 633 to 633 starting on disk page 179.
|
||||||
|
Disk 2: Pages 636 to 636 starting on disk page 180.
|
||||||
|
Disk 2: Pages 640 to 640 starting on disk page 181.
|
||||||
|
Disk 2: Pages 672 to 672 starting on disk page 182.
|
||||||
|
Disk 3: Pages 135 to 135 starting on disk page 0.
|
||||||
|
Disk 3: Pages 255 to 259 starting on disk page 1.
|
||||||
|
Disk 3: Pages 261 to 366 starting on disk page 6.
|
||||||
|
Disk 3: Pages 510 to 528 starting on disk page 112.
|
||||||
|
Disk 3: Pages 620 to 622 starting on disk page 131.
|
||||||
|
Disk 3: Pages 625 to 628 starting on disk page 134.
|
||||||
|
Disk 3: Pages 641 to 642 starting on disk page 138.
|
||||||
|
Disk 4: Pages 368 to 369 starting on disk page 0.
|
||||||
|
Disk 4: Pages 371 to 400 starting on disk page 2.
|
||||||
|
Disk 4: Pages 407 to 448 starting on disk page 32.
|
||||||
|
Disk 4: Pages 582 to 596 starting on disk page 74.
|
||||||
|
Disk 4: Pages 632 to 632 starting on disk page 89.
|
||||||
|
Disk 4: Pages 634 to 635 starting on disk page 90.
|
||||||
|
Disk 5: Pages 451 to 508 starting on disk page 0.
|
||||||
|
Disk 5: Pages 530 to 544 starting on disk page 58.
|
||||||
|
Disk 5: Pages 546 to 565 starting on disk page 73.
|
||||||
|
Disk 5: Pages 567 to 580 starting on disk page 93.
|
||||||
|
Disk 5: Pages 611 to 613 starting on disk page 107.
|
||||||
|
Disk 5: Pages 617 to 618 starting on disk page 110.
|
||||||
|
Disk 5: Pages 637 to 639 starting on disk page 112.
|
||||||
|
52 blocks (312 bytes).
|
||||||
|
Writing disk 1.
|
||||||
|
Added 3 pages of pictures to file. Total size 157.
|
||||||
|
Writing disk 2.
|
||||||
|
Added 41 pages of pictures to file. Total size 225.
|
||||||
|
Writing disk 3.
|
||||||
|
Added 124 pages of pictures to file. Total size 264.
|
||||||
|
Writing disk 4.
|
||||||
|
Added 160 pages of pictures to file. Total size 252.
|
||||||
|
Writing disk 5.
|
||||||
|
Added 153 pages of pictures to file. Total size 268.
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,934 @@
|
||||||
|
ZILCH of 6/30/89 14:41
|
||||||
|
|
||||||
|
Combined ZIL Compiler Ver 2.0 (MIM)
|
||||||
|
-----------------------------------
|
||||||
|
Input file: /HOME/DEVELOPMENT/SHOGUN/A5.ZIL
|
||||||
|
[YZIP instructions]
|
||||||
|
|
||||||
|
[Object numbers assigned rooms first]
|
||||||
|
|
||||||
|
[Zaps always go to current directory]
|
||||||
|
|
||||||
|
First segment STARTUP
|
||||||
|
Loading /HOME/DEVELOPMENT/SHOGUN/DEFS.ZIL and compiling it.
|
||||||
|
XFLOAD /HOME/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/PARSER.SHOGUN.
|
||||||
|
Loading /HOME/DEVELOPMENT/INTERLOGIC/ZILLIB/CONSTANTS.ZIL and compiling it.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/PSTACK.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/PMEM.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading /HOME/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/PDEFS.ZIL and compiling it.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/PARSER.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/FIND.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/REDS.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/BREDS.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading /HOME/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/GRAM.ZIL and compiling it.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/TOP.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading /HOME/DEVELOPMENT/SHOGUN/PICDEF.ZIL and compiling it.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/MISC.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Start segment STARTUP
|
||||||
|
End segment STARTUP
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/SOFT.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Start segment SOFT-KEYS
|
||||||
|
End segment SOFT-KEYS
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/MENU.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading /HOME/DEVELOPMENT/SHOGUN/STATUS.ZIL and compiling it.
|
||||||
|
Start segment 0
|
||||||
|
Start segment HINTS
|
||||||
|
Compiling routine: SETUP-TEXT-AND-STATUS
|
||||||
|
End segments 0 HINTS
|
||||||
|
Start segment 0
|
||||||
|
Compiling routine: INIT-STATUS-LINE
|
||||||
|
Compiling routine: UPDATE-STATUS-LINE
|
||||||
|
Compiling routine: ERASE-ALL-BUT
|
||||||
|
Compiling routine: INTERLUDE-STATUS-LINE
|
||||||
|
Compiling routine: RJNUM
|
||||||
|
End segment 0
|
||||||
|
Abstracting STATUS to /HOME/DEVELOPMENT/SHOGUN/STATUS.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/PIC.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Start segment STARTUP
|
||||||
|
End segment STARTUP
|
||||||
|
Start segment 0
|
||||||
|
Start segment HINTS
|
||||||
|
End segments 0 HINTS
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/DESC.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading /HOME/DEVELOPMENT/SHOGUN/SYNTAX.ZIL and compiling it.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/RECORD.ZABSTR.
|
||||||
|
Start segment RECORD
|
||||||
|
End segment RECORD
|
||||||
|
Loading /HOME/DEVELOPMENT/SHOGUN/VERBS.ZIL and compiling it.
|
||||||
|
Start segment 0
|
||||||
|
Compiling routine: YOULL-HAVE-TO
|
||||||
|
Compiling routine: TO-A-PRSO?
|
||||||
|
Compiling routine: CANT-GO
|
||||||
|
Compiling routine: NOT-HOLDING
|
||||||
|
Compiling routine: ITS-EMPTY
|
||||||
|
Compiling routine: ITS-ALREADY-X
|
||||||
|
Compiling routine: ALREADY-OPEN
|
||||||
|
Compiling routine: ALREADY-CLOSED
|
||||||
|
Compiling routine: WITH-PRSI?
|
||||||
|
Compiling routine: TELL-OPEN-CLOSED
|
||||||
|
Compiling routine: OPEN-CLOSED
|
||||||
|
Compiling routine: THE-PRSO
|
||||||
|
Compiling routine: A-PRSO
|
||||||
|
Compiling routine: A-PRSO?
|
||||||
|
Compiling routine: THE-PRSI
|
||||||
|
Compiling routine: A-PRSI?
|
||||||
|
Compiling routine: YOU-CANT-X-THAT
|
||||||
|
Compiling routine: YOU-CANT-X-PRSO
|
||||||
|
Compiling routine: UNINTERESTED
|
||||||
|
Compiling routine: PLURAL?
|
||||||
|
Compiling routine: CANT-REACH-THAT
|
||||||
|
Compiling routine: V-VERBOSE
|
||||||
|
Compiling routine: V-BRIEF
|
||||||
|
Compiling routine: V-SUPER-BRIEF
|
||||||
|
Compiling routine: V-DIAGNOSE
|
||||||
|
Compiling routine: V-INVENTORY
|
||||||
|
Compiling routine: V-QUIT
|
||||||
|
Compiling routine: V-CHOOSE
|
||||||
|
Compiling routine: V-RESTART
|
||||||
|
Compiling routine: FINISH
|
||||||
|
Compiling routine: FINISH-MENU-F
|
||||||
|
Compiling routine: V-RESTORE
|
||||||
|
Compiling routine: V-SAVE
|
||||||
|
Compiling routine: V-UNDO
|
||||||
|
Compiling routine: V-SCORE
|
||||||
|
Compiling routine: V-SCRIPT
|
||||||
|
Compiling routine: V-UNSCRIPT
|
||||||
|
Compiling routine: V-VERSION
|
||||||
|
Compiling routine: PCENTER
|
||||||
|
Compiling routine: V-CREDITS
|
||||||
|
Compiling routine: V-$VERIFY
|
||||||
|
Compiling routine: V-WAKE
|
||||||
|
Compiling routine: V-ANSWER
|
||||||
|
Compiling routine: PRE-ASK-ABOUT
|
||||||
|
Compiling routine: V-ASK-ABOUT
|
||||||
|
Compiling routine: FIND-IN
|
||||||
|
Compiling routine: PRE-ASK-FOR
|
||||||
|
Compiling routine: V-ASK-FOR
|
||||||
|
Compiling routine: PRE-ATTACK
|
||||||
|
Compiling routine: V-ATTACK
|
||||||
|
Compiling routine: V-HIT
|
||||||
|
Compiling routine: V-BITE
|
||||||
|
Compiling routine: PRE-BOARD
|
||||||
|
Compiling routine: YOU-ARE-IN
|
||||||
|
Compiling routine: V-BOARD
|
||||||
|
Compiling routine: V-BURN
|
||||||
|
Compiling routine: V-CHASTISE
|
||||||
|
Compiling routine: V-CLIMB-DOWN
|
||||||
|
Compiling routine: V-CLIMB-FOO
|
||||||
|
Compiling routine: V-CLIMB-ON
|
||||||
|
Compiling routine: V-CLIMB-OVER
|
||||||
|
Compiling routine: V-CLIMB-UP
|
||||||
|
Compiling routine: V-CLOSE
|
||||||
|
Compiling routine: CLOSE-A-DOOR
|
||||||
|
Compiling routine: IN-DARK?
|
||||||
|
Compiling routine: OKAY-THE-PRSO-IS-NOW
|
||||||
|
Compiling routine: V-COMPARE-MANY
|
||||||
|
Compiling routine: V-WASTE-OF-TIME
|
||||||
|
Compiling routine: V-COMPARE
|
||||||
|
Compiling routine: V-CROSS
|
||||||
|
Compiling routine: V-CURSE
|
||||||
|
Compiling routine: V-CUT
|
||||||
|
Compiling routine: V-DIG
|
||||||
|
Compiling routine: V-DISEMBARK
|
||||||
|
Compiling routine: V-DRINK
|
||||||
|
Compiling routine: V-DRINK-FROM
|
||||||
|
Compiling routine: PRE-DROP
|
||||||
|
Compiling routine: V-DROP
|
||||||
|
Compiling routine: V-EAT
|
||||||
|
Compiling routine: V-ENTER
|
||||||
|
Compiling routine: PRE-EXAMINE
|
||||||
|
Compiling routine: V-EXAMINE
|
||||||
|
Compiling routine: PRSO-NOTHING-SPECIAL
|
||||||
|
Compiling routine: V-EXIT
|
||||||
|
Compiling routine: V-FILL
|
||||||
|
Compiling routine: V-FIND
|
||||||
|
Compiling routine: V-FOLLOW
|
||||||
|
Compiling routine: PRE-GIVE
|
||||||
|
Compiling routine: V-GIVE
|
||||||
|
Compiling routine: V-GOODBYE
|
||||||
|
Compiling routine: V-HELLO
|
||||||
|
Compiling routine: V-HELP
|
||||||
|
Compiling routine: V-HIDE
|
||||||
|
Compiling routine: V-HIDE-BEHIND
|
||||||
|
Compiling routine: V-HIDE-UNDER
|
||||||
|
Compiling routine: V-HIDE-FROM
|
||||||
|
Compiling routine: V-KICK
|
||||||
|
Compiling routine: V-KILL
|
||||||
|
Compiling routine: IKILL
|
||||||
|
Compiling routine: NOT-TRAINED
|
||||||
|
Compiling routine: V-KNOCK
|
||||||
|
Compiling routine: V-KISS
|
||||||
|
Compiling routine: V-LAMP-OFF
|
||||||
|
Compiling routine: V-LAMP-ON
|
||||||
|
Compiling routine: V-LEAN-ON
|
||||||
|
Compiling routine: V-LEAP
|
||||||
|
Compiling routine: V-LEAVE
|
||||||
|
Compiling routine: V-LISTEN
|
||||||
|
Compiling routine: CANT-X-WITH-PRSI
|
||||||
|
Compiling routine: V-LOCK
|
||||||
|
Compiling routine: NO-LOCK
|
||||||
|
Compiling routine: V-INTRODUCE
|
||||||
|
Compiling routine: V-AFTER
|
||||||
|
Compiling routine: TIME-PASSES
|
||||||
|
Compiling routine: NEXT-SCENE
|
||||||
|
Compiling routine: FAILED-SCENE
|
||||||
|
Compiling routine: NEW-SCENE
|
||||||
|
Compiling routine: I-NEW-SCENE
|
||||||
|
Compiling routine: SCORE-HAVE
|
||||||
|
Compiling routine: SCORE-MAX
|
||||||
|
Compiling routine: CONTINUE-MENU-F
|
||||||
|
Compiling routine: V-FIRST-LOOK
|
||||||
|
Compiling routine: V-LOOK
|
||||||
|
Compiling routine: V-LOOK-BEHIND
|
||||||
|
Compiling routine: V-LOOK-DOWN
|
||||||
|
Compiling routine: WHAT-CONTENTS
|
||||||
|
Compiling routine: V-LOOK-INSIDE
|
||||||
|
Compiling routine: V-LOOK-ON
|
||||||
|
Compiling routine: V-LOOK-UNDER
|
||||||
|
Compiling routine: V-LOWER
|
||||||
|
Compiling routine: V-MELT
|
||||||
|
Compiling routine: V-MOVE
|
||||||
|
Compiling routine: MOTION-VERB?
|
||||||
|
Compiling routine: HOSTILE-VERB?
|
||||||
|
Compiling routine: JAPANESE-VERB?
|
||||||
|
Compiling routine: ACT-CRAZY?
|
||||||
|
Compiling routine: ABSTRACT-VERB?
|
||||||
|
Compiling routine: PASSIVE-VERB?
|
||||||
|
Compiling routine: V-MUNG
|
||||||
|
Compiling routine: PRE-OPEN
|
||||||
|
Compiling routine: V-OPEN
|
||||||
|
Compiling routine: V-PICK
|
||||||
|
Compiling routine: V-PLUG
|
||||||
|
Compiling routine: V-POINT
|
||||||
|
Compiling routine: V-POUR-FROM
|
||||||
|
Compiling routine: PRE-POUR
|
||||||
|
Compiling routine: V-POUR
|
||||||
|
Compiling routine: EMPTY-ALL
|
||||||
|
Compiling routine: V-PUSH
|
||||||
|
Compiling routine: V-PUSH-TO
|
||||||
|
Compiling routine: PRE-PUT
|
||||||
|
Compiling routine: TAKE-OUT-FIRST
|
||||||
|
Compiling routine: V-PUT
|
||||||
|
Compiling routine: PRSO-TOO-BIG?
|
||||||
|
Compiling routine: INSPECTION-REVEALS
|
||||||
|
Compiling routine: V-PUT-BEHIND
|
||||||
|
Compiling routine: V-PUT-ON
|
||||||
|
Compiling routine: NO-GOOD-SURFACE
|
||||||
|
Compiling routine: V-PUT-UNDER
|
||||||
|
Compiling routine: V-RAISE
|
||||||
|
Compiling routine: V-REACH-IN
|
||||||
|
Compiling routine: PRE-READ
|
||||||
|
Compiling routine: HOW-DO-YOU
|
||||||
|
Compiling routine: V-READ
|
||||||
|
Compiling routine: V-REPLY
|
||||||
|
Compiling routine: PRE-SRUB
|
||||||
|
Compiling routine: V-SRUB
|
||||||
|
Compiling routine: V-RUB
|
||||||
|
Compiling routine: V-SAY
|
||||||
|
Compiling routine: HOW-TO-USE-TELL
|
||||||
|
Compiling routine: V-SEARCH
|
||||||
|
Compiling routine: V-SEND
|
||||||
|
Compiling routine: V-SEND-UNDER
|
||||||
|
Compiling routine: PRE-SGIVE
|
||||||
|
Compiling routine: V-SGIVE
|
||||||
|
Compiling routine: V-SHAKE
|
||||||
|
Compiling routine: THAT/THEM
|
||||||
|
Compiling routine: V-SHARPEN
|
||||||
|
Compiling routine: V-SHOOT-WITH
|
||||||
|
Compiling routine: PRE-SHOOT
|
||||||
|
Compiling routine: V-SHOOT
|
||||||
|
Compiling routine: V-SHOW
|
||||||
|
Compiling routine: V-SKIP
|
||||||
|
Compiling routine: V-SLEEP
|
||||||
|
Compiling routine: LIKE-A-PRSO
|
||||||
|
Compiling routine: V-SMELL
|
||||||
|
Compiling routine: PRE-SSHOW
|
||||||
|
Compiling routine: V-SSHOW
|
||||||
|
Compiling routine: V-SWING
|
||||||
|
Compiling routine: V-SWIM
|
||||||
|
Compiling routine: V-SWIM-TO
|
||||||
|
Compiling routine: PRE-TAKE
|
||||||
|
Compiling routine: V-TAKE
|
||||||
|
Compiling routine: PUT-ON
|
||||||
|
Compiling routine: TAKE-OFF
|
||||||
|
Compiling routine: V-TAKE-OFF
|
||||||
|
Compiling routine: V-HOLD
|
||||||
|
Compiling routine: V-TELL
|
||||||
|
Compiling routine: V-THANK
|
||||||
|
Compiling routine: V-DOMO
|
||||||
|
Compiling routine: V-DOZO
|
||||||
|
Compiling routine: PRE-THROUGH
|
||||||
|
Compiling routine: V-THROUGH
|
||||||
|
Compiling routine: FIND-DOOR
|
||||||
|
Compiling routine: PRE-THROW
|
||||||
|
Compiling routine: V-THROW
|
||||||
|
Compiling routine: V-THROW-OFF
|
||||||
|
Compiling routine: V-TIE
|
||||||
|
Compiling routine: V-TIE-UP
|
||||||
|
Compiling routine: V-TIME
|
||||||
|
Compiling routine: V-TORTURE
|
||||||
|
Compiling routine: NO-EFFECT
|
||||||
|
Compiling routine: V-TURN
|
||||||
|
Compiling routine: V-TURN-OVER
|
||||||
|
Compiling routine: V-TURN-AROUND
|
||||||
|
Compiling routine: V-UNLOCK
|
||||||
|
Compiling routine: V-UNTIE
|
||||||
|
Compiling routine: V-WALK
|
||||||
|
Compiling routine: V-WALK-AROUND
|
||||||
|
Compiling routine: V-WALK-TO
|
||||||
|
Compiling routine: NEXT-ROOM?
|
||||||
|
Compiling routine: V-WAIT
|
||||||
|
Compiling routine: V-WAIT-FOR
|
||||||
|
Compiling routine: V-WAVE
|
||||||
|
Compiling routine: YOU-ARENT-HOLDING
|
||||||
|
Compiling routine: V-WAVE-AT
|
||||||
|
Compiling routine: V-DRESS
|
||||||
|
Compiling routine: V-WEAR
|
||||||
|
Compiling routine: V-YAWN
|
||||||
|
Compiling routine: V-YELL-AT
|
||||||
|
Compiling routine: V-YELL
|
||||||
|
Compiling routine: V-LAUGH
|
||||||
|
Compiling routine: ITAKE
|
||||||
|
Compiling routine: V-NOTIFY
|
||||||
|
Compiling routine: SCORE-OBJECT
|
||||||
|
Compiling routine: SCORE-OBJECT?
|
||||||
|
Compiling routine: IDROP
|
||||||
|
Compiling routine: HAVE-TO-TAKE-OFF
|
||||||
|
Compiling routine: CCOUNT
|
||||||
|
Compiling routine: WEIGHT
|
||||||
|
Compiling routine: GOTO
|
||||||
|
Compiling routine: I-STUPID-MOVE
|
||||||
|
Compiling routine: JIGS-UP?
|
||||||
|
Compiling routine: JIGS-UP
|
||||||
|
Compiling routine: MOVE-ALL
|
||||||
|
Compiling routine: THIS-IS-IT
|
||||||
|
Compiling routine: INTRINSIC?
|
||||||
|
Compiling routine: ACCESSIBLE?
|
||||||
|
Compiling routine: VISIBLE?
|
||||||
|
Compiling routine: HELD?
|
||||||
|
Compiling routine: SEE-INSIDE?
|
||||||
|
Compiling routine: GLOBAL-IN?
|
||||||
|
Compiling routine: DO-WALK
|
||||||
|
Compiling routine: HACK-HACK
|
||||||
|
Compiling routine: TELL-YUKS
|
||||||
|
Compiling routine: PRE-PRY
|
||||||
|
Compiling routine: V-PRY
|
||||||
|
Compiling routine: V-BURY
|
||||||
|
Compiling routine: V-YES
|
||||||
|
Compiling routine: V-NO
|
||||||
|
Compiling routine: V-BUY
|
||||||
|
Compiling routine: PRE-SSELL
|
||||||
|
Compiling routine: V-SSELL
|
||||||
|
Compiling routine: V-SELL
|
||||||
|
Compiling routine: PRE-TELL-ABOUT
|
||||||
|
Compiling routine: V-TELL-ABOUT
|
||||||
|
Compiling routine: DIFFICULTY
|
||||||
|
Compiling routine: V-TELL-ME-ABOUT
|
||||||
|
Compiling routine: V-TRADE
|
||||||
|
Compiling routine: V-ERASE
|
||||||
|
Compiling routine: V-ADMIRE
|
||||||
|
Compiling routine: V-BARGAIN
|
||||||
|
Compiling routine: V-REPAIR
|
||||||
|
Compiling routine: V-LOOK-UP
|
||||||
|
Compiling routine: V-PLUG-IN
|
||||||
|
Compiling routine: V-UNPLUG
|
||||||
|
Compiling routine: V-WALK-UNDER
|
||||||
|
Compiling routine: V-SCARE
|
||||||
|
Compiling routine: V-WEDGE
|
||||||
|
Compiling routine: PRE-SWEDGE
|
||||||
|
Compiling routine: V-SWEDGE
|
||||||
|
Compiling routine: V-PUT-BETWEEN
|
||||||
|
Compiling routine: V-TASTE
|
||||||
|
Compiling routine: V-DIE
|
||||||
|
Compiling routine: V-COOK
|
||||||
|
Compiling routine: V-DRIVE-ON
|
||||||
|
Compiling routine: V-DRIVE-TO
|
||||||
|
Compiling routine: V-STEP-ON
|
||||||
|
Compiling routine: V-STOP
|
||||||
|
Compiling routine: V-RELEASE
|
||||||
|
Compiling routine: V-PUSH-DOWN
|
||||||
|
Compiling routine: V-PUSH-UP
|
||||||
|
Compiling routine: V-PUSH-OUT
|
||||||
|
Compiling routine: PUSH-FOO
|
||||||
|
Compiling routine: V-PRAY
|
||||||
|
Compiling routine: PRE-SPUT-ON
|
||||||
|
Compiling routine: V-SPUT-ON
|
||||||
|
Compiling routine: V-LOVE
|
||||||
|
Compiling routine: V-THOU
|
||||||
|
Compiling routine: V-WRITE
|
||||||
|
Compiling routine: V-RING
|
||||||
|
Compiling routine: V-BOW
|
||||||
|
Compiling routine: V-SORRY
|
||||||
|
Compiling routine: V-PISS
|
||||||
|
Compiling routine: V-LOAD
|
||||||
|
Compiling routine: V-STRAIGHTEN
|
||||||
|
Compiling routine: V-LAUNCH
|
||||||
|
Compiling routine: V-BLESS
|
||||||
|
Compiling routine: V-MAKE
|
||||||
|
Compiling routine: V-ACT
|
||||||
|
Compiling routine: V-DANCE
|
||||||
|
Compiling routine: V-TEAR
|
||||||
|
Compiling routine: V-SHIP
|
||||||
|
Compiling routine: V-SORT
|
||||||
|
Compiling routine: V-ROW
|
||||||
|
Compiling routine: V-TAKE-OVER
|
||||||
|
Compiling routine: V-SHUT-UP
|
||||||
|
Compiling routine: V-USE
|
||||||
|
Compiling routine: V-STEER-BY
|
||||||
|
Compiling routine: FORMAL-SCENE?
|
||||||
|
Compiling routine: V-STRIP
|
||||||
|
Compiling routine: V-TRANSLATE
|
||||||
|
Compiling routine: SETUP-ANSWER
|
||||||
|
Compiling routine: I-SETUP-ANSWER
|
||||||
|
Compiling routine: V-SMILE
|
||||||
|
Compiling routine: V-WINK
|
||||||
|
Compiling routine: V-CLEAR
|
||||||
|
Compiling routine: V-TURN-TOWARD
|
||||||
|
Compiling routine: V-TURN-AWAY
|
||||||
|
Compiling routine: V-REACH-FOR
|
||||||
|
Compiling routine: V-HUG
|
||||||
|
Compiling routine: V-SOOTHE
|
||||||
|
Compiling routine: V-HAI
|
||||||
|
Compiling routine: V-IYE
|
||||||
|
Compiling routine: V-HOLD-ON
|
||||||
|
Compiling routine: V-RINSE
|
||||||
|
Compiling routine: V-BATHE
|
||||||
|
Compiling routine: V-REPLACE
|
||||||
|
Compiling routine: V-ESCAPE
|
||||||
|
Compiling routine: V-PLEAD
|
||||||
|
Compiling routine: V-COMMIT
|
||||||
|
Compiling routine: V-ACCUSE
|
||||||
|
Compiling routine: V-SPIT
|
||||||
|
Compiling routine: V-TEKI
|
||||||
|
Compiling routine: GET-INTQUOTE
|
||||||
|
Compiling routine: PRE-SSPEAK
|
||||||
|
Compiling routine: V-SSPEAK
|
||||||
|
Compiling routine: V-SPEAK
|
||||||
|
Compiling routine: V-AIM
|
||||||
|
Compiling routine: V-EXPLODE
|
||||||
|
End segment 0
|
||||||
|
Start segment HINTS
|
||||||
|
End segment HINTS
|
||||||
|
Start segment 0
|
||||||
|
Compiling routine: V-HINT
|
||||||
|
Compiling routine: V-HINTS-OFF
|
||||||
|
Compiling routine: V-PICK-UP
|
||||||
|
Compiling routine: V-COME-FROM
|
||||||
|
Compiling routine: PAST-TENSE?
|
||||||
|
Compiling routine: PRE-COME-TO-FROM
|
||||||
|
Compiling routine: V-COME-TO-FROM
|
||||||
|
Compiling routine: V-PARRY
|
||||||
|
Compiling routine: V-TEACH
|
||||||
|
Compiling routine: V-LEARN
|
||||||
|
Compiling routine: V-LOOK-OUT
|
||||||
|
Compiling routine: B-STAND
|
||||||
|
Compiling routine: B-SITTING?
|
||||||
|
Compiling routine: B-SIT
|
||||||
|
Compiling routine: B-KNEELING?
|
||||||
|
Compiling routine: B-KNEEL
|
||||||
|
Compiling routine: B-LYING?
|
||||||
|
Compiling routine: B-LIE-DOWN
|
||||||
|
Compiling routine: V-STAND
|
||||||
|
Compiling routine: V-SIT
|
||||||
|
Compiling routine: V-KNEEL
|
||||||
|
Compiling routine: V-KNEEL-ON
|
||||||
|
Compiling routine: V-LIE-DOWN
|
||||||
|
Compiling routine: V-LIE
|
||||||
|
Compiling routine: V-AVOID
|
||||||
|
Compiling routine: V-FUCK
|
||||||
|
Compiling routine: V-KNOW
|
||||||
|
Compiling routine: V-TRAIN
|
||||||
|
Compiling routine: V-BETRAY
|
||||||
|
Compiling routine: V-LET-IN
|
||||||
|
Compiling routine: V-PUT-AWAY
|
||||||
|
Compiling routine: V-DODGE
|
||||||
|
Compiling routine: V-WAKARIMASU
|
||||||
|
Compiling routine: V-MIZU
|
||||||
|
Compiling routine: V-QUIET
|
||||||
|
Compiling routine: V-COLOR
|
||||||
|
Compiling routine: MAC-II?
|
||||||
|
Compiling routine: DO-COLOR
|
||||||
|
Compiling routine: PICK-COLOR
|
||||||
|
Compiling routine: COLOR-OFFSET
|
||||||
|
Compiling routine: COLOR-MENU-F
|
||||||
|
Compiling routine: V-SHRUG
|
||||||
|
Compiling routine: V-SING
|
||||||
|
Compiling routine: V-DISTRACT
|
||||||
|
Compiling routine: V-JOIN
|
||||||
|
Compiling routine: OUTSIDE-TUB?
|
||||||
|
Compiling routine: V-DRAW
|
||||||
|
Compiling routine: V-DIVE
|
||||||
|
Compiling routine: V-BABBLE
|
||||||
|
Compiling routine: V-TRIP
|
||||||
|
Compiling routine: V-NIHON-GO-GA
|
||||||
|
Compiling routine: V-GENKI-DESU
|
||||||
|
Compiling routine: V-GOMEN-NASAI
|
||||||
|
Compiling routine: V-ISOGI
|
||||||
|
Compiling routine: V-KONBANWA
|
||||||
|
Compiling routine: V-KONNICHI-WA
|
||||||
|
Compiling routine: V-KINJIRU
|
||||||
|
Compiling routine: V-DRY
|
||||||
|
Compiling routine: V-WARN
|
||||||
|
Compiling routine: V-PULL-BEHIND
|
||||||
|
Compiling routine: V-TOMO
|
||||||
|
Compiling routine: V-NEH
|
||||||
|
End segment 0
|
||||||
|
Abstracting VERBS to /HOME/DEVELOPMENT/SHOGUN/VERBS.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/PRARE.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/QVERBS.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/GLOBALS.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/CAST.ZABSTR.
|
||||||
|
Start segment 0
|
||||||
|
End segment 0
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/ERASMUS.ZABSTR.
|
||||||
|
Start segment ERASMUS
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO ERASMUS RODRIGUES
|
||||||
|
Start segment ERASMUS
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ERASMUS RODRIGUES
|
||||||
|
Start segment ERASMUS
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ERASMUS RODRIGUES
|
||||||
|
Start segment ERASMUS
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ERASMUS RODRIGUES
|
||||||
|
Start segment ERASMUS
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO ERASMUS RODRIGUES
|
||||||
|
Start segment ERASMUS
|
||||||
|
Start segment YABU
|
||||||
|
Start segment PIT
|
||||||
|
End segments ERASMUS PIT YABU
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/ANJIRO.ZABSTR.
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO RODRIGUES
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO RODRIGUES
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO RODRIGUES
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment YABU
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO RODRIGUES YABU
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment PIT
|
||||||
|
End segments ANJIRO PIT
|
||||||
|
Start segment ANJIRO
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segments ANJIRO RODRIGUES
|
||||||
|
Start segment YABU
|
||||||
|
End segment YABU
|
||||||
|
Start segment PIT
|
||||||
|
End segment PIT
|
||||||
|
Start segment RODRIGUES
|
||||||
|
End segment RODRIGUES
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/VOYAGE.ZABSTR.
|
||||||
|
Start segment VOYAGE
|
||||||
|
End segment VOYAGE
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/AUDIENCE.ZABSTR.
|
||||||
|
Start segment AUDIENCE
|
||||||
|
Start segment NINJA
|
||||||
|
End segments AUDIENCE NINJA
|
||||||
|
Start segment AUDIENCE
|
||||||
|
End segment AUDIENCE
|
||||||
|
Start segment PRISON
|
||||||
|
End segment PRISON
|
||||||
|
Start segment MARIKO
|
||||||
|
End segment MARIKO
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/OSAKA.ZABSTR.
|
||||||
|
Start segment ESCAPE
|
||||||
|
Start segment MAZE
|
||||||
|
End segments ESCAPE MAZE
|
||||||
|
Start segment ESCAPE
|
||||||
|
Start segment SEPPUKU
|
||||||
|
End segments ESCAPE SEPPUKU
|
||||||
|
Start segment ESCAPE
|
||||||
|
Start segment MAZE
|
||||||
|
End segments ESCAPE MAZE
|
||||||
|
Start segment ESCAPE
|
||||||
|
Start segment DEPARTURE
|
||||||
|
Start segment SEPPUKU
|
||||||
|
End segments DEPARTURE ESCAPE SEPPUKU
|
||||||
|
Start segment ESCAPE
|
||||||
|
End segment ESCAPE
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/MAZE.ZABSTR.
|
||||||
|
Start segment MAZE
|
||||||
|
End segment MAZE
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/QUAKE.ZABSTR.
|
||||||
|
Start segment QUAKE
|
||||||
|
End segment QUAKE
|
||||||
|
Start segment YOKOSE
|
||||||
|
End segment YOKOSE
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/MARIKO.ZABSTR.
|
||||||
|
Start segment OCHIBA
|
||||||
|
End segment OCHIBA
|
||||||
|
Start segment DEPARTURE
|
||||||
|
End segment DEPARTURE
|
||||||
|
Start segment SEPPUKU
|
||||||
|
Start segment ESCAPE
|
||||||
|
End segments ESCAPE SEPPUKU
|
||||||
|
Start segment SEPPUKU
|
||||||
|
Start segment ESCAPE
|
||||||
|
End segments ESCAPE SEPPUKU
|
||||||
|
Start segment SEPPUKU
|
||||||
|
End segment SEPPUKU
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/ATTACK.ZABSTR.
|
||||||
|
Start segment NINJA
|
||||||
|
Start segment YOKOHAMA
|
||||||
|
End segments NINJA YOKOHAMA
|
||||||
|
Start segment NINJA
|
||||||
|
Start segment PRISON
|
||||||
|
End segments NINJA PRISON
|
||||||
|
Start segment NINJA
|
||||||
|
End segment NINJA
|
||||||
|
Start segment YOKOHAMA
|
||||||
|
End segment YOKOHAMA
|
||||||
|
Start segment AFTERMATH
|
||||||
|
End segment AFTERMATH
|
||||||
|
Start segment SEKIGAHARA
|
||||||
|
End segment SEKIGAHARA
|
||||||
|
XFLOAD /HOME/DEVELOPMENT/INTERLOGIC/ZILLIB/CLUES.XFLOAD.
|
||||||
|
Loading abstract /HOME/DEVELOPMENT/SHOGUN/CLUES.ZABSTR.
|
||||||
|
Start segment HINTS
|
||||||
|
End segment HINTS
|
||||||
|
Distinguished segment HINTS
|
||||||
|
Start segment HINTS
|
||||||
|
End segment HINTS
|
||||||
|
Loading /HOME/DEVELOPMENT/SHOGUN/HINTS.ZIL and compiling it.
|
||||||
|
Start segment HINTS
|
||||||
|
End segment HINTS
|
||||||
|
** Warning: Never defined - RLANDBIT
|
||||||
|
** Warning: Never defined - PERSON
|
||||||
|
** Warning: Never defined - NOTHEBIT
|
||||||
|
|
||||||
|
Warnings: 3
|
||||||
|
** Note: OBJECT has no properties: INTQUOTE
|
||||||
|
** Note: OBJECT has no properties: GLOBAL-OBJECTS
|
||||||
|
Vocabulary: 1389
|
||||||
|
|
||||||
|
Verbs: 252
|
||||||
|
|
||||||
|
Real globals: 237
|
||||||
|
|
||||||
|
AFTERMATH-QUESTION P-MULT
|
||||||
|
ALVITO-TRANSLATES? P-NOT-HERE
|
||||||
|
AMBUSH-CNT P-NUMBER
|
||||||
|
AMBUSH-PROB P-OFLAG
|
||||||
|
ANSWER-HAI? P-OLEN
|
||||||
|
ATTACK-CNT P-PRSA-WORD
|
||||||
|
AUDIENCE-CNT P-PRSI
|
||||||
|
AVOID-CALTROPS? P-PRSO
|
||||||
|
BATH-CNT P-RESPONDED
|
||||||
|
BATH-FLAG P-RUNNING
|
||||||
|
BEEN-IN-GARDEN? P-THEM-OBJECT
|
||||||
|
BELOW-DECKS-BACKGROUND P-WALK-DIR
|
||||||
|
BG-COLOR P-WON
|
||||||
|
BORDER-HEIGHT P-WORD-NUMBER
|
||||||
|
BOTTOM-HINT-NUM P-WORDS-AGAIN
|
||||||
|
C-INTS PARSE-SENTENCE-ACTIVATION
|
||||||
|
C-TABLE PARSER-RESULT
|
||||||
|
CAPTURE-CNT PERIOD
|
||||||
|
CLOCK-HAND PIC-SIDE
|
||||||
|
CLOCK-WAIT PISS-FLAG
|
||||||
|
CLOCKER-RUNNING PIT-CNT
|
||||||
|
COLLAPSE-CNT PLAYER
|
||||||
|
COLOR-NOTE PMAX
|
||||||
|
CREW-ON-DECK? PMEM-STORE-POINTER
|
||||||
|
CROOCQ-CNT PMEM-STORE-WORDS
|
||||||
|
CURRENT-BORDER PMEM-WORDS-USED
|
||||||
|
CURRENT-REDUCTION POINTEE
|
||||||
|
D-BIT PRISON-CNT
|
||||||
|
DELAY-CNT PRSA
|
||||||
|
DELAYING-FIGHT? PRSI
|
||||||
|
DEMO-VERSION? PRSI-NP
|
||||||
|
DEPARTURE-CNT PRSO
|
||||||
|
DESCRIBED-ROOM? PRSO-NP
|
||||||
|
DESCRIPTIONS PRSQ
|
||||||
|
DIGIT-WIDTH PRSS
|
||||||
|
DODGED? QCONTEXT
|
||||||
|
DONE-DEFINE? QUAKE-CNT
|
||||||
|
DOOR-CNT QUAKE?
|
||||||
|
ERROR-PRIORITY RANKINGS
|
||||||
|
ERROR-STRING REEF-FLAG
|
||||||
|
FAILED REEF-X
|
||||||
|
FG-COLOR REEF-Y
|
||||||
|
FLEN RESTORED?
|
||||||
|
FOLLOW-FLAG RIBBON-CNT
|
||||||
|
FONT-X RODRIGUES-CNT
|
||||||
|
FONT-Y RODRIGUES-QUESTION
|
||||||
|
FUMBLE-NUMBER ROPE-LOWERED?
|
||||||
|
GALLEY-IN-BAY? RUSE-CNT
|
||||||
|
GAME-OVER? SCENE
|
||||||
|
GET-HINT-ROUTINE SCORE
|
||||||
|
GOOD-TRICK SCORE-START
|
||||||
|
GOT-GUNWALE? SEARCH-FLAGS
|
||||||
|
H-CHAPT-NUM SEARCHED?
|
||||||
|
H-OR-USE-MOUSE-WID SEBASTIO-CNT
|
||||||
|
H-QUEST-NUM SEEN-FALCON?
|
||||||
|
HEALTH-TELL SEEN-MAD-SCENE?
|
||||||
|
HENDRIK-CNT SEEN-TORANAGA?
|
||||||
|
HERE SEPPUKU-CNT
|
||||||
|
HINTS-OFF SHERE
|
||||||
|
I-DONT-THINK-THAT SHIP-COURSE
|
||||||
|
ISHIDO-CNT SHIP-DIRECTION
|
||||||
|
ISHIDO-DISTRACTED? SHIP-X
|
||||||
|
IT-IS-ALREADY SHIP-Y
|
||||||
|
IT-LOOKS-LIKE SIZE
|
||||||
|
JERK-CNT SKIFF-CNT
|
||||||
|
KIRI-CNT SPACE-WIDTH
|
||||||
|
KNOCKOUT-CNT STABLE-CNT
|
||||||
|
LAST-PSEUDO-LOC STATIONARY-CNT
|
||||||
|
LEAVE-CNT STATIONARY?
|
||||||
|
LEN STORM-DELAY?
|
||||||
|
LIT STUPID-MOVE
|
||||||
|
LITTER-CNT TEXT-MARGIN
|
||||||
|
LMAX THERE-IS-NOTHING
|
||||||
|
LOAD-ALLOWED THERES-NOTHING-TO
|
||||||
|
LOAD-PISTOL-CNT TIRED-TIME
|
||||||
|
MACHINE TLEXV
|
||||||
|
MADNESS-CNT TOO-DARK
|
||||||
|
MARIKO-IMPATIENT TORANAGA-HELD-FLAG
|
||||||
|
MARIKO-PLAN? VERBOSITY
|
||||||
|
MARIKO-WON-FLAG VINCK-CNT
|
||||||
|
MAZE-HEIGHT VINCK-PICKED?
|
||||||
|
MAZE-MAP WASTE-OF-TIME
|
||||||
|
MAZE-WIDTH WHEEL-SPINNING?
|
||||||
|
MEET-CNT WIDTH
|
||||||
|
MONO-X WINNER
|
||||||
|
MOUSE-LOC-X WRONG-ANSWER?
|
||||||
|
MOUSE-LOC-Y X
|
||||||
|
MOVES XAMBUSH
|
||||||
|
MUST-CHOOSE? XFISH
|
||||||
|
NEW-SCENE-NUMBER XGOAL
|
||||||
|
NEXT-PIC-CRCNT XOFFSET
|
||||||
|
NEXT-PIC-WIDTH XSTART
|
||||||
|
NINJA-ATTACKING-CUL-DE-SAC? Y
|
||||||
|
NINJA-COWED-CNT YABU-BETRAYED?
|
||||||
|
NO-ROOM YABU-CNT
|
||||||
|
NOTHING-HAPPENS YABU-HEARD?
|
||||||
|
NOTIFY-FLAG YABU-QUESTION
|
||||||
|
NOW-PRSI YABU-RESIGNED?
|
||||||
|
OBJ-SWAP YABU-WARNED?
|
||||||
|
OCHIBA-CNT YAEMON-BORED?
|
||||||
|
OCHIBA-QUESTION YAEMON-CNT
|
||||||
|
OHERE YAMAZAKI-ATTACK
|
||||||
|
OKAY YAMAZAKI-ATTACKS
|
||||||
|
OMI-CNT YAMBUSH
|
||||||
|
OMI-QUESTION YFISH
|
||||||
|
OMOVES YGOAL
|
||||||
|
OPPONENT YOFFSET
|
||||||
|
OPRSO YOSHI-CHATS
|
||||||
|
ORPHAN-ANSWER YOSHI-GOAL
|
||||||
|
OSCORE YOSHI-TABLE
|
||||||
|
OTLEXV YOSHI-WAITS?
|
||||||
|
P-CAN-UNDO YOU-ARE
|
||||||
|
P-CONT YOU-ARE-NOW
|
||||||
|
P-DIRECTION YOU-CANT
|
||||||
|
P-HER-OBJECT YOU-FIND-NOTHING
|
||||||
|
P-HIM-OBJECT YOU-HAVE
|
||||||
|
P-IT-OBJECT YOU-HAVE-TO
|
||||||
|
P-LAST-OPEN YSTART
|
||||||
|
P-LEN
|
||||||
|
|
||||||
|
Objects: 405
|
||||||
|
|
||||||
|
ACHIKO HIRO-MATSU PRIVATE-QUARTERS-2
|
||||||
|
AIR HOLLAND PROPHECY
|
||||||
|
ALVITO HOUSE PSEUDO-OBJECT
|
||||||
|
AMBUSH-SITE IN-THE-SEA QUEEN
|
||||||
|
AMBUSHERS INNER-CORRIDOR QUILL
|
||||||
|
ANCHOR INNER-DOOR QUILT
|
||||||
|
ANJIRO INTADJ RANDOM-GRAYS
|
||||||
|
ANJIRO-HARBOR INTDIR REEF
|
||||||
|
ANJIRO-WATERFRONT INTNUM RIBBON
|
||||||
|
APPLE INTPP ROBE
|
||||||
|
ARCHERS INTQUOTE ROCK
|
||||||
|
AROUND-HEADLAND IRON-BAR ROCKY-SHORE
|
||||||
|
AT-ERASMUS IRON-DOOR RODRIGUES
|
||||||
|
AT-PORTCULLIS ISHIDO RONIN
|
||||||
|
AUDIENCE-CHAMBER ISHIDO-SWORD ROOMS
|
||||||
|
BALCONY IT ROPE
|
||||||
|
BALCONY-DOOR JAPAN ROPER
|
||||||
|
BANDIT-LEADER JAPANESE ROSARY
|
||||||
|
BANDITS JESUITS RUTTER
|
||||||
|
BARRELS KEY SAFETY-LINE
|
||||||
|
BATH-HOUSE KIKU SALAMON
|
||||||
|
BATHTUB KIMONO SAMURAI-GUARDS
|
||||||
|
BELL KIRIS-LITTER SANDALS
|
||||||
|
BELOW-DECKS KIRITSUBO SANE
|
||||||
|
BLACK-SHIP KIYAMA SATAN
|
||||||
|
BLACKTHORNE KOJIMA SAZUKO
|
||||||
|
BLACKTHORNE-QUARTERS LADDER SEA-CHAIR
|
||||||
|
BOAT-OAR LARGE-KNIFE SEA-CHEST
|
||||||
|
BOLTS LASHING SEALED-SCROLL
|
||||||
|
BOOTS LATIN SEARCH-PARTY
|
||||||
|
BOTTOM-CATCH LATITUDE SEAWATER
|
||||||
|
BRIDGE-OF-ERASMUS LEADER SEBASTIO
|
||||||
|
BROWNS LEDGE SEBASTIO-CRUCIFIX
|
||||||
|
BULLDOG LEDGE-1 SEBASTIO-HENCHMEN
|
||||||
|
BUNK LEDGE-2 SECOND-GRAY
|
||||||
|
BUNTARO LEDGE-3 SECRET-DRAWER
|
||||||
|
CALTROPS LEDGE-4 SECRET-REDOUBT
|
||||||
|
CAMELLIA LG-BAY SECRET-REDOUBT-DOOR
|
||||||
|
CAPTAINS-CABIN LG-BUNK SECRET-ROOM
|
||||||
|
CAPTAINS-CABIN-DOOR LG-CASTLE SECRET-ROOM-DOOR
|
||||||
|
CAPTAINS-DESK LG-CLIFF SECRET-RUTTER
|
||||||
|
CAULDRON LG-CREWMEN SEKIGAHARA
|
||||||
|
CEILING LG-ERASMUS SERVANTS
|
||||||
|
CELLAR-DOOR LG-GALLEY SERVANTS-QUARTERS
|
||||||
|
CELLARS LG-HOLE SHOGUN
|
||||||
|
CHIMMOKO LG-LAND SHOJI-1
|
||||||
|
CHOPSTICKS LG-LINE SHOJI-2
|
||||||
|
CHURCH LG-MEN SHOJI-3
|
||||||
|
CITY LG-NINJA SHOJI-4
|
||||||
|
CLIFF-PATH LG-PATH SHOJI-5
|
||||||
|
CLOTHES LG-RODRIGUES SHOJI-6
|
||||||
|
COJONES LG-SEA SHORT-STRAW
|
||||||
|
COMPASS LG-SHIP SIDE-FISSURE
|
||||||
|
CORRIDOR LG-SMALL-BOAT SIGN-OF-CROSS
|
||||||
|
CORTEGE LG-VILLAGE SKIFF
|
||||||
|
COURSE LG-WOMEN SLAVER
|
||||||
|
COURTYARD LG-YABU SLIPPERS
|
||||||
|
CRAZY LG-YOSHINAKA SMALL-BOAT
|
||||||
|
CREWMEN LIFE-RING SMALL-BRIDGE
|
||||||
|
CROOCQ LIGHT SMALL-KNIFE
|
||||||
|
CROWD LILY-POND SMOKE-BOMB
|
||||||
|
CUP LIZARD SOCKS
|
||||||
|
CURTAINS LOCAL-GLOBALS SONK
|
||||||
|
DAGGER LOINCLOTH SOUTH-SHOJI
|
||||||
|
DAIS LONG-STRAW SOUTH-WALL
|
||||||
|
DECK LOSING-SAMURAI SPAIN
|
||||||
|
DEEP-WOODS MADMAN SPANISH
|
||||||
|
DESK MAETSUKKER SPILLBERGEN
|
||||||
|
DICTIONARY MAIN-DECK STABLE
|
||||||
|
DIRT MAIN-DECK-2 STAIRS
|
||||||
|
DOMINGO MAIN-FISSURE STOMACH
|
||||||
|
DOOR-CRACK MAPLE-GLADE STRAIT-OF-MAGELLAN
|
||||||
|
DUTCH MARIKO STRAW
|
||||||
|
EARTHQUAKE MARIKOS-LITTER STREAM
|
||||||
|
EAST-WALL MATES SUICIDE
|
||||||
|
ENGLAND MATES-CABIN SUMIYORI
|
||||||
|
ENGLISH MATES-CABIN-DOOR SWORDS
|
||||||
|
ERASMUS-ANCHOR MAZE TAIKO
|
||||||
|
ETA ME TEA-HOUSE
|
||||||
|
ETSU MESSENGER TEKI
|
||||||
|
EYES MOUTH THEM
|
||||||
|
FALCON MURA THIS
|
||||||
|
FEET MURA-CRUCIFIX THUG
|
||||||
|
FINGERS MURA-DOOR TOP-CATCH
|
||||||
|
FIRE-BOMB MURA-HOUSE TORANAGA
|
||||||
|
FISH-GATE MURA-ROPE TORANAGA-IN-DRAG
|
||||||
|
FLAGON NINJA TORANAGAS-GUARDS
|
||||||
|
FLOWER NINJA-LEADER TOWEL
|
||||||
|
FOCSLE-DOOR NOISE TRAITOR
|
||||||
|
FOOD NORTH-SHOJI TRAPDOOR
|
||||||
|
FORECOURT NORTH-WALL TRAY
|
||||||
|
FORESAILS NOT-HERE-OBJECT TRINITY-HOUSE
|
||||||
|
FORMAL-GARDEN OAR VAN-NEKK
|
||||||
|
FORTIFIED-GATE OARS VASE
|
||||||
|
GALLEY OARSMEN VEIL
|
||||||
|
GALLEY-WHEEL OCHIBA VILLAGE-SQUARE
|
||||||
|
GANGWAY OCHIBA-ROOM VILLAGERS
|
||||||
|
GARDEN OFFAL VINCK
|
||||||
|
GARDEN-GATE OFFICIAL VINCKS-STRAW
|
||||||
|
GATEWAY OMI VOYAGE
|
||||||
|
GENERIC-OBJECTS OMI-SAMURAI WALL
|
||||||
|
GINSEL ON-BRIDGE WAREHOUSE
|
||||||
|
GLOBAL-BARBARIAN ON-DECK WATERFALL
|
||||||
|
GLOBAL-DAIMYO ONNA WEST-WALL
|
||||||
|
GLOBAL-FOOD ORDERS WHARF
|
||||||
|
GLOBAL-HATAMOTO OUTER-CORRIDOR WHAT
|
||||||
|
GLOBAL-HERE OUTER-DOOR WHEEL
|
||||||
|
GLOBAL-OBJECTS OUTER-ROOM WIND
|
||||||
|
GLOBAL-RUTTERS OUTSIDE-PRISON WOODS
|
||||||
|
GLOBAL-SAMURAI PACIFIC WORLD
|
||||||
|
GLOBAL-SLEEP PARCHMENT YABU
|
||||||
|
GLOBAL-WATER PARTY-KIMONO YABU-HEAD
|
||||||
|
GOD PASSAGE-DOOR YABU-KIMONO
|
||||||
|
GORODA PASSAGEWAY YABU-PALANQUIN
|
||||||
|
GRAY-CAPTAIN PATHS YABU-SWORDS
|
||||||
|
GRAY-LEADER PEBBLED-BEACH YAEMON
|
||||||
|
GRAYS PEDESTAL YAMAZAKI
|
||||||
|
GREEN-RIBBON PIETERZOON YOKOHAMA
|
||||||
|
GROUND PILOTS-CABIN YOKOSE-BATH-HOUSE
|
||||||
|
GRUEL PILOTS-CABIN-DOOR YOKOSE-BATHTUB
|
||||||
|
GUARDS PIRATE YOKOSE-CORRIDOR-1
|
||||||
|
GUNWALE PISTOL YOKOSE-CORRIDOR-2
|
||||||
|
GYOKO PIT YOKOSE-CORRIDOR-3
|
||||||
|
HANASE-MASEN PLAN YOKOSE-FIRST-FLOOR
|
||||||
|
HANDS PLANTS YOKOSE-GUEST-1
|
||||||
|
HEAD PLATEAU YOKOSE-GUEST-2
|
||||||
|
HEADS POPE YOKOSE-SPA-1
|
||||||
|
HELP PORTCULLIS YOKOSE-SPA-2
|
||||||
|
HENCHMAN-BODY PORTUGAL YOKOSE-SPA-3
|
||||||
|
HENCHMAN-HEAD PORTUGUESE YOKOSE-SPA-4
|
||||||
|
HENDRIK POWDER-HORN YOKOSE-SPA-5
|
||||||
|
HER PRISON YOKOSE-SPA-6
|
||||||
|
HERETIC PRISON-COURTYARD YOSHINAKA
|
||||||
|
HIGH-WALL PRISON-GATE YOU
|
||||||
|
HIM PRIVATE-QUARTERS ZATAKI
|
||||||
|
|
||||||
|
Properties: 40
|
||||||
|
|
||||||
|
P?ACTION P?COUNT P?GLOBAL P?NW P?SDESC P?TEXT
|
||||||
|
P?ADJACENT P?DESCFCN P?HEALTH P?OUT P?SE P?THINGS
|
||||||
|
P?ADJECTIVE P?DOWN P?IN P?OWNER P?SIZE P?UP
|
||||||
|
P?AFT P?EAST P?LDESC P?PICTURE P?SOUTH P?VALUE
|
||||||
|
P?AFTER P?FDESC P?MOUSE P?PORT P?STARBOARD P?WEST
|
||||||
|
P?CAPACITY P?FORE P?NE P?SCENE P?SW
|
||||||
|
P?CONTFCN P?GENERIC P?NORTH P?SCORE P?SYNONYM
|
||||||
|
|
||||||
|
Flags: 47
|
||||||
|
|
||||||
|
ABSTRACTBIT ENGLISHBIT NOABIT RLANDBIT TOUCHBIT
|
||||||
|
AN FEMALE NOTHEBIT RMUNGBIT TRANSBIT
|
||||||
|
BODY-PART FOODBIT ONBIT SCOREBIT TRYTAKEBIT
|
||||||
|
CANT-HOLD FURNITURE OPENABLE SEARCHBIT VEHBIT
|
||||||
|
CONTBIT INVISIBLE OPENBIT SITTING WEAPONBIT
|
||||||
|
DEAD JAPANESEBIT OUTSIDE SPANISHBIT WEARABLE
|
||||||
|
DONT-ALL LIGHTBIT PERSON SURFACEBIT WEARBIT
|
||||||
|
DONT-IT LOCKABLE PLURAL TAKEBIT
|
||||||
|
DOORBIT LOCKED PORTUGUESEBIT THE
|
||||||
|
DUTCHBIT NDESCBIT READBIT TOOLBIT
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,123 @@
|
||||||
|
.NEW 6
|
||||||
|
; CHARACTER SET DEFINITIONS
|
||||||
|
.CHRSET 0,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,114,115,116,117,119,121,84,11,46,44,34
|
||||||
|
.CHRSET 1,106,113,118,120,122,65,66,67,69,71,72,73,74,76,77,78,79,80,82,83,87,89,63,33,39,45
|
||||||
|
.CHRSET 2,32,32,68,70,75,81,85,86,88,90,49,50,51,91,93,58,59,61,42,40,41,35,125,62,47,9
|
||||||
|
|
||||||
|
.PICFILE "a5.bwmac.1","bwmac",480,300,480,300
|
||||||
|
|
||||||
|
.PICFILE "a5.mac.1","mac ii",640,400,320,200
|
||||||
|
|
||||||
|
.OPTIONS 0,1 ; scripting off; ask for picture file
|
||||||
|
; Low core locations
|
||||||
|
%ZVERSION:: .BYTE 6
|
||||||
|
.BYTE FLAGS
|
||||||
|
%ZORKID:: ZORKID
|
||||||
|
%ENDLOD:: ENDLOD
|
||||||
|
%START:: GO
|
||||||
|
%VOCAB:: VOCAB
|
||||||
|
%OBJECT:: OBJECT
|
||||||
|
%GLOBAL:: GLOBAL
|
||||||
|
%PURBOT:: IMPURE
|
||||||
|
%FLAGS:: .WORD 120
|
||||||
|
%SERIAL:: .WORD 0
|
||||||
|
%SERI1:: .WORD 0
|
||||||
|
%SERI2:: .WORD 0
|
||||||
|
%FWORDS:: WORDS
|
||||||
|
%PLENTH:: .WORD 0
|
||||||
|
%PCHKSM:: .WORD 0
|
||||||
|
%INTWRD:: .WORD 0
|
||||||
|
%SCRWRD:: .WORD 0
|
||||||
|
%HWRD:: .WORD 0
|
||||||
|
%VWRD:: .WORD 0
|
||||||
|
%FWRD:: .WORD 0
|
||||||
|
%FOFF:: FOFF
|
||||||
|
%SOFF:: SOFF
|
||||||
|
%CLRWRD:: .WORD 0
|
||||||
|
%TCHAR:: TCHARS
|
||||||
|
%TWID:: .WORD 0
|
||||||
|
%CRFUNC:: .WORD 0
|
||||||
|
%CHRSET:: CHRSET
|
||||||
|
%EXTAB:: LOWCORE-TABLE
|
||||||
|
.WORD 0
|
||||||
|
.WORD 0
|
||||||
|
.WORD 0
|
||||||
|
.WORD 0
|
||||||
|
|
||||||
|
.DEFSEG "AFTERMATH",0,"SEKIGAHARA","YOKOHAMA"
|
||||||
|
|
||||||
|
.DEFSEG "ANJIRO",0,"YABU","ERASMUS"
|
||||||
|
|
||||||
|
.DEFSEG "AUDIENCE",0,"PRISON","VOYAGE"
|
||||||
|
|
||||||
|
.DEFSEG "DEPARTURE",0,"SEPPUKU","OCHIBA"
|
||||||
|
|
||||||
|
.DEFSEG "ERASMUS",0,"ANJIRO","STARTUP"
|
||||||
|
|
||||||
|
.DEFSEG "ESCAPE",0,"MAZE","MARIKO"
|
||||||
|
|
||||||
|
.DEFSEG "MARIKO",0,"ESCAPE","PRISON"
|
||||||
|
|
||||||
|
.DEFSEG "MAZE",0,"ESCAPE"
|
||||||
|
|
||||||
|
.DEFSEG "NINJA",0,"YOKOHAMA","SEPPUKU"
|
||||||
|
|
||||||
|
.DEFSEG "OCHIBA",0,"DEPARTURE","YOKOSE"
|
||||||
|
|
||||||
|
.DEFSEG "PIT",0,"RODRIGUES","YABU"
|
||||||
|
|
||||||
|
.DEFSEG "PRISON",0,"MARIKO","AUDIENCE"
|
||||||
|
|
||||||
|
.DEFSEG "QUAKE",0,"YOKOSE"
|
||||||
|
|
||||||
|
.DEFSEG "RODRIGUES",0,"VOYAGE","PIT"
|
||||||
|
|
||||||
|
.DEFSEG "SEKIGAHARA",0,"AFTERMATH"
|
||||||
|
|
||||||
|
.DEFSEG "SEPPUKU",0,"NINJA","DEPARTURE"
|
||||||
|
|
||||||
|
.DEFSEG "STARTUP",1,"ERASMUS"
|
||||||
|
|
||||||
|
.DEFSEG "VOYAGE",0,"AUDIENCE","RODRIGUES"
|
||||||
|
|
||||||
|
.DEFSEG "YABU",0,"PIT","ANJIRO"
|
||||||
|
|
||||||
|
.DEFSEG "YOKOHAMA",0,"AFTERMATH","NINJA"
|
||||||
|
|
||||||
|
.DEFSEG "YOKOSE",0,"OCHIBA","QUAKE"
|
||||||
|
.INSERT "A5FREQ" ;Frequent word table
|
||||||
|
.INSERT "A5DAT" ; Data file
|
||||||
|
.INSERT "A5PUR"
|
||||||
|
.INSERT "PSTACK"
|
||||||
|
.INSERT "PMEM"
|
||||||
|
.INSERT "PARSER"
|
||||||
|
.INSERT "FIND"
|
||||||
|
.INSERT "REDS"
|
||||||
|
.INSERT "BREDS"
|
||||||
|
.INSERT "TOP"
|
||||||
|
.INSERT "MISC"
|
||||||
|
.INSERT "SOFT"
|
||||||
|
.INSERT "MENU"
|
||||||
|
.INSERT "STATUS"
|
||||||
|
.INSERT "PIC"
|
||||||
|
.INSERT "DESC"
|
||||||
|
.INSERT "RECORD"
|
||||||
|
.INSERT "VERBS"
|
||||||
|
.INSERT "PRARE"
|
||||||
|
.INSERT "QVERBS"
|
||||||
|
.INSERT "GLOBALS"
|
||||||
|
.INSERT "CAST"
|
||||||
|
.INSERT "ERASMUS"
|
||||||
|
.INSERT "ANJIRO"
|
||||||
|
.INSERT "VOYAGE"
|
||||||
|
.INSERT "AUDIENCE"
|
||||||
|
.INSERT "OSAKA"
|
||||||
|
.INSERT "MAZE"
|
||||||
|
.INSERT "QUAKE"
|
||||||
|
.INSERT "MARIKO"
|
||||||
|
.INSERT "ATTACK"
|
||||||
|
.INSERT "CLUES"
|
||||||
|
|
||||||
|
.INSERT "A5STR"
|
||||||
|
|
||||||
|
.END
|
48
a5.zil
48
a5.zil
|
@ -14,31 +14,35 @@
|
||||||
<ORDER-OBJECTS? ROOMS-FIRST>
|
<ORDER-OBJECTS? ROOMS-FIRST>
|
||||||
<NEVER-ZAP-TO-SOURCE-DIRECTORY?>
|
<NEVER-ZAP-TO-SOURCE-DIRECTORY?>
|
||||||
|
|
||||||
|
<ASK-FOR-PICTURE-FILE?>
|
||||||
|
<PICFILE "A5.MAC.1">
|
||||||
|
<PICFILE "A5.BWMAC.1">
|
||||||
|
|
||||||
;"segments"
|
;"segments"
|
||||||
|
|
||||||
<DEFINE-SEGMENT STARTUP T>
|
<DEFINE-SEGMENT STARTUP T ERASMUS>
|
||||||
<DEFINE-SEGMENT RECORD <>>
|
|
||||||
<DEFINE-SEGMENT ERASMUS <> ANJIRO>
|
<DEFINE-SEGMENT ERASMUS <> ANJIRO>
|
||||||
<DEFINE-SEGMENT ANJIRO <> ERASMUS YABU>
|
<DEFINE-SEGMENT ANJIRO <> YABU>
|
||||||
<DEFINE-SEGMENT YABU <> ANJIRO PIT>
|
<DEFINE-SEGMENT YABU <> PIT>
|
||||||
<DEFINE-SEGMENT PIT <> YABU RODRIGUES>
|
<DEFINE-SEGMENT PIT <> RODRIGUES>
|
||||||
<DEFINE-SEGMENT RODRIGUES <> PIT VOYAGE>
|
<DEFINE-SEGMENT RODRIGUES <> VOYAGE>
|
||||||
<DEFINE-SEGMENT VOYAGE <> RODRIGUES AUDIENCE>
|
<DEFINE-SEGMENT VOYAGE <> AUDIENCE>
|
||||||
<DEFINE-SEGMENT AUDIENCE <> VOYAGE PRISON>
|
<DEFINE-SEGMENT AUDIENCE <> PRISON>
|
||||||
<DEFINE-SEGMENT PRISON <> AUDIENCE MARIKO>
|
<DEFINE-SEGMENT PRISON <> MARIKO>
|
||||||
<DEFINE-SEGMENT MARIKO <> PRISON ESCAPE>
|
<DEFINE-SEGMENT MARIKO <> ESCAPE>
|
||||||
<DEFINE-SEGMENT ESCAPE <> MARIKO MAZE>
|
<DEFINE-SEGMENT ESCAPE <> MAZE>
|
||||||
<DEFINE-SEGMENT MAZE <> ESCAPE QUAKE>
|
<DEFINE-SEGMENT MAZE <>>
|
||||||
<DEFINE-SEGMENT QUAKE <> MAZE ZATAKI>
|
<DEFINE-SEGMENT QUAKE <> YOKOSE>
|
||||||
<DEFINE-SEGMENT ZATAKI <> QUAKE YOKOSE>
|
<DEFINE-SEGMENT YOKOSE <> OCHIBA>
|
||||||
<DEFINE-SEGMENT YOKOSE <> ZATAKI OCHIBA>
|
<DEFINE-SEGMENT OCHIBA <> DEPARTURE>
|
||||||
<DEFINE-SEGMENT OCHIBA <> YOKOSE DEPARTURE>
|
<DEFINE-SEGMENT DEPARTURE <> SEPPUKU>
|
||||||
<DEFINE-SEGMENT DEPARTURE <> OCHIBA SEPPUKU>
|
<DEFINE-SEGMENT SEPPUKU <> NINJA>
|
||||||
<DEFINE-SEGMENT SEPPUKU <> DEPARTURE NINJA>
|
<DEFINE-SEGMENT NINJA <> YOKOHAMA>
|
||||||
<DEFINE-SEGMENT NINJA <> SEPPUKU YOKOHAMA>
|
<DEFINE-SEGMENT YOKOHAMA <> AFTERMATH>
|
||||||
<DEFINE-SEGMENT YOKOHAMA <> NINJA AFTERMATH>
|
<DEFINE-SEGMENT AFTERMATH <> SEKIGAHARA>
|
||||||
<DEFINE-SEGMENT AFTERMATH <> YOKOHAMA SEKIGAHARA>
|
<DEFINE-SEGMENT SEKIGAHARA <>>
|
||||||
<DEFINE-SEGMENT SEKIGAHARA <> AFTERMATH>
|
|
||||||
|
<DEFINE-SEGMENT RECORD <>>
|
||||||
<DEFINE-SEGMENT HINTS <>>
|
<DEFINE-SEGMENT HINTS <>>
|
||||||
|
|
||||||
<INSERT-FILE "DEFS"> ;"redefinitions"
|
<INSERT-FILE "DEFS"> ;"redefinitions"
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
0 20547 2 0 0 0 3 0 4332 1239 5 0 7117 412 12 0 48166 6050 14 0 60702 5940 22 0 139540 5032 32 0 217583 1818
|
||||||
|
soft-keys 8 58 0 0 0
|
||||||
|
startup 3884 1 0 456 3876
|
||||||
|
erasmus 19243 4 0 5571 1546 7 0 7529 9896 8 0 17425 7777
|
||||||
|
anjiro 22988 9 0 25202 9095 10 0 34297 7897 11 0 42194 5972
|
||||||
|
yabu 8 51 0 0 0
|
||||||
|
pit 6494 13 0 54216 6486
|
||||||
|
rodrigues 8 52 0 0 0
|
||||||
|
voyage 42839 15 0 66642 8424 16 0 75066 11862 17 0 86928 8754 18 0 95682 13767
|
||||||
|
audience 30115 19 0 109449 16435 20 0 125884 8817 21 0 134701 4839
|
||||||
|
prison 8 53 0 0 0
|
||||||
|
mariko 8 54 0 0 0
|
||||||
|
escape 26199 23 0 144572 16213 24 0 160785 9970
|
||||||
|
maze 9006 25 0 170755 8578 38 0 242812 43 39 0 242855 7 40 0 242862 51 41 0 242913 32 42 0 242945 26 43 0 242971 44 44 0 243015 145 45 0 0 0 46 0 0 0
|
||||||
|
quake 21569 26 0 179333 7269 27 0 186602 7653 37 0 236197 6615 48 0 0 0
|
||||||
|
yokose 10375 33 0 219401 10367
|
||||||
|
ochiba 8 55 0 0 0
|
||||||
|
departure 8 56 0 0 0
|
||||||
|
seppuku 7729 28 0 194255 7721
|
||||||
|
ninja 13399 29 0 201976 5120 30 0 207096 8255 47 0 0 0
|
||||||
|
yokohama 6445 35 0 229768 2683 36 0 232451 3746
|
||||||
|
aftermath 8 57 0 0 0
|
||||||
|
sekigahara 2240 31 0 215351 2232
|
||||||
|
hints 1195 50 0 243160 1187
|
|
@ -0,0 +1,198 @@
|
||||||
|
.FSTR FSTR?1,"the " ;6820 3411 3411
|
||||||
|
.FSTR FSTR?2,"and " ;3240 1621 1621
|
||||||
|
.FSTR FSTR?3,"You " ;2391 798 798
|
||||||
|
.FSTR FSTR?4,"to " ;1734 1735 1735
|
||||||
|
.FSTR FSTR?5,"Toranaga" ;1422 238 238
|
||||||
|
.FSTR FSTR?6,"Mariko" ;1265 254 254
|
||||||
|
.FSTR FSTR?7,"you " ;1227 1228 1228
|
||||||
|
.FSTR FSTR?8,"your " ;1180 591 591
|
||||||
|
.FSTR FSTR?9,"are " ;1134 568 568
|
||||||
|
.FSTR FSTR?10,"of " ;1129 1130 1130
|
||||||
|
.FSTR FSTR?11,"is " ;993 994 994
|
||||||
|
.FSTR FSTR?12,"with " ;948 317 317
|
||||||
|
.FSTR FSTR?13,"have " ;932 234 234
|
||||||
|
.FSTR FSTR?14,"that " ;903 302 302
|
||||||
|
.FSTR FSTR?15,"samurai" ;890 179 179
|
||||||
|
.FSTR FSTR?16,"The " ;870 436 436
|
||||||
|
.FSTR FSTR?17,"Anjin-san" ;830 84 84
|
||||||
|
.FSTR FSTR?18,"from " ;714 239 239
|
||||||
|
.FSTR FSTR?19,"Yabu" ;702 235 235
|
||||||
|
.FSTR FSTR?20,"his " ;690 346 346
|
||||||
|
.FSTR FSTR?21,"into " ;684 229 229
|
||||||
|
.FSTR FSTR?22,"but " ;662 332 332
|
||||||
|
.FSTR FSTR?23,"doesn't " ;657 74 74
|
||||||
|
.FSTR FSTR?24,"Rodrigues" ;656 83 83
|
||||||
|
.FSTR FSTR?25,"in " ;654 655 655
|
||||||
|
.FSTR FSTR?26,"for " ;634 318 318
|
||||||
|
.FSTR FSTR?27,"can't " ;540 109 109
|
||||||
|
.FSTR FSTR?28,"Japanese" ;525 76 76
|
||||||
|
.FSTR FSTR?29,"Ishido " ;522 88 88
|
||||||
|
.FSTR FSTR?30,"don't " ;475 96 96
|
||||||
|
.FSTR FSTR?31,"Portuguese" ;450 51 51
|
||||||
|
.FSTR FSTR?32,"her" ;442 443 443
|
||||||
|
.FSTR FSTR?33,"would " ;436 110 110
|
||||||
|
.FSTR FSTR?34,"will " ;411 138 138
|
||||||
|
.FSTR FSTR?35,"very " ;408 103 103
|
||||||
|
.FSTR FSTR?36,"ninja" ;392 99 99
|
||||||
|
.FSTR FSTR?37,"already " ;384 65 65
|
||||||
|
.FSTR FSTR?38,"through " ;384 65 65
|
||||||
|
.FSTR FSTR?39,"out " ;360 181 181
|
||||||
|
.FSTR FSTR?40,"then " ;360 121 121
|
||||||
|
.FSTR FSTR?41,"can " ;358 180 180
|
||||||
|
.FSTR FSTR?42,"over" ;357 120 120
|
||||||
|
.FSTR FSTR?43,"yourself" ;355 72 72
|
||||||
|
.FSTR FSTR?44,"sword" ;354 119 119
|
||||||
|
.FSTR FSTR?45,"their " ;352 89 89
|
||||||
|
.FSTR FSTR?46,"at " ;340 341 341
|
||||||
|
.FSTR FSTR?47,"about " ;336 85 85
|
||||||
|
.FSTR FSTR?48,"all " ;334 168 168
|
||||||
|
.FSTR FSTR?49,"It's " ;330 67 67
|
||||||
|
.FSTR FSTR?50,"they " ;327 110 110
|
||||||
|
.FSTR FSTR?51,"galley" ;324 82 82
|
||||||
|
.FSTR FSTR?52,"Lord " ;324 82 82
|
||||||
|
.FSTR FSTR?53,"you" ;317 318 2326
|
||||||
|
.FSTR FSTR?54,"this " ;315 106 106
|
||||||
|
.FSTR FSTR?55,"like " ;312 105 105
|
||||||
|
.FSTR FSTR?56,"still " ;312 79 79
|
||||||
|
.FSTR FSTR?57,"him " ;310 156 156
|
||||||
|
.FSTR FSTR?58,"on " ;308 309 309
|
||||||
|
.FSTR FSTR?59,"Captain" ;306 52 52
|
||||||
|
.FSTR FSTR?60,"door" ;304 153 153
|
||||||
|
.FSTR FSTR?61,"follow" ;304 77 77
|
||||||
|
.FSTR FSTR?62,"not " ;304 153 153
|
||||||
|
.FSTR FSTR?63,"seems " ;304 77 77
|
||||||
|
.FSTR FSTR?64,"something" ;301 44 44
|
||||||
|
.FSTR FSTR?65,"There's " ;301 44 44
|
||||||
|
.FSTR FSTR?66,"Hiro-matsu" ;300 31 31
|
||||||
|
.FSTR FSTR?67,"there " ;296 75 75
|
||||||
|
.FSTR FSTR?68,"says" ;292 147 147
|
||||||
|
.FSTR FSTR?69,"Gray" ;279 94 94
|
||||||
|
.FSTR FSTR?70,"looks " ;272 69 69
|
||||||
|
.FSTR FSTR?71,"toward " ;270 55 55
|
||||||
|
.FSTR FSTR?72,"understand " ;270 31 31
|
||||||
|
.FSTR FSTR?73,"close" ;270 91 91
|
||||||
|
.FSTR FSTR?74,"as " ;265 266 266
|
||||||
|
.FSTR FSTR?75,"aren't " ;264 45 45
|
||||||
|
.FSTR FSTR?76,"he " ;264 265 265
|
||||||
|
.FSTR FSTR?77,"them" ;264 133 133
|
||||||
|
.FSTR FSTR?78,"water" ;264 89 89
|
||||||
|
.FSTR FSTR?79,"one " ;260 131 131
|
||||||
|
.FSTR FSTR?80,"continue" ;258 44 44
|
||||||
|
.FSTR FSTR?81,"other" ;258 87 87
|
||||||
|
.FSTR FSTR?82,"back " ;255 86 86
|
||||||
|
.FSTR FSTR?83,"be " ;255 256 256
|
||||||
|
.FSTR FSTR?84,"should " ;252 43 43
|
||||||
|
.FSTR FSTR?85,"down " ;252 85 85
|
||||||
|
.FSTR FSTR?86,"little " ;250 51 51
|
||||||
|
.FSTR FSTR?87,"You'" ;248 63 63
|
||||||
|
.FSTR FSTR?88,"just " ;248 63 63
|
||||||
|
.FSTR FSTR?89,"against " ;246 42 42
|
||||||
|
.FSTR FSTR?90,"anything" ;246 42 42
|
||||||
|
.FSTR FSTR?91,"begin" ;240 81 81
|
||||||
|
.FSTR FSTR?92,"forward" ;235 48 48
|
||||||
|
.FSTR FSTR?93,"see" ;233 234 311
|
||||||
|
.FSTR FSTR?94,"you, " ;232 117 117
|
||||||
|
.FSTR FSTR?95,"could " ;232 59 59
|
||||||
|
.FSTR FSTR?96,"priest" ;232 59 59
|
||||||
|
|
||||||
|
|
||||||
|
WORDS:: .TABLE
|
||||||
|
FSTR?1
|
||||||
|
FSTR?2
|
||||||
|
FSTR?3
|
||||||
|
FSTR?4
|
||||||
|
FSTR?5
|
||||||
|
FSTR?6
|
||||||
|
FSTR?7
|
||||||
|
FSTR?8
|
||||||
|
FSTR?9
|
||||||
|
FSTR?10
|
||||||
|
FSTR?11
|
||||||
|
FSTR?12
|
||||||
|
FSTR?13
|
||||||
|
FSTR?14
|
||||||
|
FSTR?15
|
||||||
|
FSTR?16
|
||||||
|
FSTR?17
|
||||||
|
FSTR?18
|
||||||
|
FSTR?19
|
||||||
|
FSTR?20
|
||||||
|
FSTR?21
|
||||||
|
FSTR?22
|
||||||
|
FSTR?23
|
||||||
|
FSTR?24
|
||||||
|
FSTR?25
|
||||||
|
FSTR?26
|
||||||
|
FSTR?27
|
||||||
|
FSTR?28
|
||||||
|
FSTR?29
|
||||||
|
FSTR?30
|
||||||
|
FSTR?31
|
||||||
|
FSTR?32
|
||||||
|
FSTR?33
|
||||||
|
FSTR?34
|
||||||
|
FSTR?35
|
||||||
|
FSTR?36
|
||||||
|
FSTR?37
|
||||||
|
FSTR?38
|
||||||
|
FSTR?39
|
||||||
|
FSTR?40
|
||||||
|
FSTR?41
|
||||||
|
FSTR?42
|
||||||
|
FSTR?43
|
||||||
|
FSTR?44
|
||||||
|
FSTR?45
|
||||||
|
FSTR?46
|
||||||
|
FSTR?47
|
||||||
|
FSTR?48
|
||||||
|
FSTR?49
|
||||||
|
FSTR?50
|
||||||
|
FSTR?51
|
||||||
|
FSTR?52
|
||||||
|
FSTR?53
|
||||||
|
FSTR?54
|
||||||
|
FSTR?55
|
||||||
|
FSTR?56
|
||||||
|
FSTR?57
|
||||||
|
FSTR?58
|
||||||
|
FSTR?59
|
||||||
|
FSTR?60
|
||||||
|
FSTR?61
|
||||||
|
FSTR?62
|
||||||
|
FSTR?63
|
||||||
|
FSTR?64
|
||||||
|
FSTR?65
|
||||||
|
FSTR?66
|
||||||
|
FSTR?67
|
||||||
|
FSTR?68
|
||||||
|
FSTR?69
|
||||||
|
FSTR?70
|
||||||
|
FSTR?71
|
||||||
|
FSTR?72
|
||||||
|
FSTR?73
|
||||||
|
FSTR?74
|
||||||
|
FSTR?75
|
||||||
|
FSTR?76
|
||||||
|
FSTR?77
|
||||||
|
FSTR?78
|
||||||
|
FSTR?79
|
||||||
|
FSTR?80
|
||||||
|
FSTR?81
|
||||||
|
FSTR?82
|
||||||
|
FSTR?83
|
||||||
|
FSTR?84
|
||||||
|
FSTR?85
|
||||||
|
FSTR?86
|
||||||
|
FSTR?87
|
||||||
|
FSTR?88
|
||||||
|
FSTR?89
|
||||||
|
FSTR?90
|
||||||
|
FSTR?91
|
||||||
|
FSTR?92
|
||||||
|
FSTR?93
|
||||||
|
FSTR?94
|
||||||
|
FSTR?95
|
||||||
|
FSTR?96
|
||||||
|
.ENDT
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -0,0 +1,315 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("WORD-FLAGS-IN-TABLE" T)) ()>
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<CONSTANT J-PLUNGE 20>
|
||||||
|
<CONSTANT J-GUARDS 21>
|
||||||
|
<ROOM GARDEN (LOC ROOMS) (SCENE S-ANJIRO S-RODRIGUES) (DESC "Garden") (SYNONYM
|
||||||
|
GARDEN) (ADJECTIVE SMALL) (LDESC
|
||||||
|
"This is a small garden surrounded by a high wall. It is unlike anything
|
||||||
|
you have ever seen: a little waterfall and stream and a small bridge
|
||||||
|
and manicured pebbled paths and rocks and flowers and shrubs. It's so
|
||||||
|
clean, so neat. The house is to the west, the village to the east.") (IN PER
|
||||||
|
MURA-HOUSE-EXIT) (WEST PER MURA-HOUSE-EXIT) (EAST TO ANJIRO) (OUT TO ANJIRO) (
|
||||||
|
FLAGS ONBIT OUTSIDE) (GLOBAL MURA-DOOR MURA-HOUSE LG-VILLAGE) (ACTION GARDEN-F)
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE MURA-HOUSE-EXIT>
|
||||||
|
<DEFINE-ROUTINE GARDEN-F>
|
||||||
|
<OBJECT HIGH-WALL (LOC GARDEN) (DESC "high wall") (SYNONYM WALL) (ADJECTIVE
|
||||||
|
HIGH) (FLAGS NDESCBIT) (ACTION HIGH-WALL-F)>
|
||||||
|
<DEFINE-ROUTINE HIGH-WALL-F>
|
||||||
|
<OBJECT WATERFALL (LOC GARDEN) (DESC "little waterfall") (SYNONYM WATERFALL
|
||||||
|
WATER POOL) (ADJECTIVE LITTLE) (FLAGS NDESCBIT) (ACTION WATERFALL-F)>
|
||||||
|
<DEFINE-ROUTINE WATERFALL-F>
|
||||||
|
<OBJECT PATHS (LOC GARDEN) (DESC "manicured path") (SYNONYM PATH PATHS) (
|
||||||
|
ADJECTIVE MANICURED) (FLAGS NDESCBIT) (ACTION PATHS-F)>
|
||||||
|
<DEFINE-ROUTINE PATHS-F>
|
||||||
|
<OBJECT SMALL-BRIDGE (LOC GARDEN) (SCENE S-ANJIRO) (DESC "small bridge") (
|
||||||
|
SYNONYM BRIDGE) (ADJECTIVE SMALL) (FLAGS NDESCBIT) (ACTION SMALL-BRIDGE-F)>
|
||||||
|
<DEFINE-ROUTINE SMALL-BRIDGE-F>
|
||||||
|
<OBJECT STREAM (LOC GARDEN) (DESC "stream") (SYNONYM STREAM) (ADJECTIVE LITTLE)
|
||||||
|
(FLAGS NDESCBIT VEHBIT) (ACTION STREAM-F)>
|
||||||
|
<DEFINE-ROUTINE STREAM-F>
|
||||||
|
<OBJECT PLANTS (LOC GARDEN) (DESC "plant") (SYNONYM FLOWER SHRUB FLOWERS SHRUBS
|
||||||
|
PLANT) (FLAGS NDESCBIT) (ACTION PLANTS-F)>
|
||||||
|
<DEFINE-ROUTINE PLANTS-F>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<ROOM ANJIRO-WATERFRONT (LOC ROOMS) (SCENE S-RODRIGUES) (AFTER
|
||||||
|
LEAVE-ANJIRO-AFTER-F) (SCORE 4) (DESC "Waterfront") (FDESC
|
||||||
|
"The next day you walk down the hill, four samurai flanking you. Ahead
|
||||||
|
the street curves with the contour of the hillside, slides down toward
|
||||||
|
the harbor.") (SYNONYM WATERFRONT) (WEST TO ANJIRO) (EAST TO ANJIRO-HARBOR) (
|
||||||
|
GLOBAL LG-ERASMUS SAMURAI-GUARDS LG-SEA LG-VILLAGE LG-BAY VILLAGERS LG-LAND) (
|
||||||
|
FLAGS ONBIT OUTSIDE) (ACTION ANJIRO-WATERFRONT-F)>
|
||||||
|
<DEFINE-ROUTINE ANJIRO-WATERFRONT-F>
|
||||||
|
<DEFINE-ROUTINE VILLAGERS-STARE>
|
||||||
|
<OBJECT ARCHERS (DESC "archers") (SYNONYM ARCHER ARCHERS SAMURAI BOW ARROW MEN)
|
||||||
|
(FLAGS PERSON JAPANESEBIT PLURAL SCOREBIT INVISIBLE AN NOABIT) (ACTION
|
||||||
|
ARCHERS-F)>
|
||||||
|
<DEFINE-ROUTINE ARCHERS-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<DEFINE-ROUTINE I-RUTTER-CLUE>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<OBJECT SMALL-BOAT (LOC ANJIRO-WATERFRONT) (SCENE S-ANJIRO S-RODRIGUES) (DESC
|
||||||
|
"small boat") (SYNONYM BOAT ROWBOAT) (ADJECTIVE SMALL) (FLAGS VEHBIT CONTBIT
|
||||||
|
OPENBIT SEARCHBIT) (CAPACITY 300) (ACTION SMALL-BOAT-F)>
|
||||||
|
<DEFINE-ROUTINE SMALL-BOAT-F>
|
||||||
|
<OBJECT BOAT-OAR (LOC SMALL-BOAT) (SCENE S-ANJIRO S-RODRIGUES) (DESC "oars") (
|
||||||
|
SYNONYM OAR OARS) (FLAGS TAKEBIT NOABIT PLURAL)>
|
||||||
|
<OBJECT LG-SMALL-BOAT (LOC LOCAL-GLOBALS) (SCENE S-ANJIRO S-RODRIGUES) (DESC
|
||||||
|
"small boat") (SYNONYM BOAT ROWBOAT) (ADJECTIVE SMALL) (FLAGS NDESCBIT VEHBIT)
|
||||||
|
(ACTION LG-SMALL-BOAT-F)>
|
||||||
|
<DEFINE-ROUTINE LG-SMALL-BOAT-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<DEFINE-ROUTINE HENCHMEN-RESTRAIN>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<ROOM ANJIRO-HARBOR (LOC ROOMS) (DESC "Harbor") (SYNONYM HARBOR) (EAST TO
|
||||||
|
AT-ERASMUS) (WEST TO ANJIRO-WATERFRONT) (FLAGS ONBIT OUTSIDE) (GLOBAL
|
||||||
|
LG-ERASMUS SAMURAI-GUARDS LG-SEA LG-BAY LG-LAND ARCHERS) (ACTION
|
||||||
|
ANJIRO-HARBOR-F)>
|
||||||
|
<DEFINE-ROUTINE ANJIRO-HARBOR-F>
|
||||||
|
<ROOM AT-ERASMUS (LOC ROOMS) (DESC "Beside the Erasmus") (UP TO ON-DECK) (WEST
|
||||||
|
TO ANJIRO-HARBOR) (FLAGS ONBIT OUTSIDE) (GLOBAL LG-ERASMUS SAMURAI-GUARDS
|
||||||
|
GANGWAY LG-SEA LG-LAND LG-BAY ARCHERS) (ACTION AT-ERASMUS-F)>
|
||||||
|
<DEFINE-ROUTINE AT-ERASMUS-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<ROOM ANJIRO (LOC ROOMS) (DESC "Anjiro") (SYNONYM ANJIRO) (PICTURE P-ANJIRO) (
|
||||||
|
IN TO GARDEN) (WEST TO GARDEN) (EAST TO ANJIRO-WATERFRONT) (GLOBAL MURA-DOOR
|
||||||
|
LG-ERASMUS LG-VILLAGE VILLAGERS) (FLAGS ONBIT OUTSIDE RMUNGBIT) (ACTION
|
||||||
|
ANJIRO-F)>
|
||||||
|
<DEFINE-ROUTINE ANJIRO-F>
|
||||||
|
<BEGIN-SEGMENT YABU>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<OBJECT VILLAGERS (LOC LOCAL-GLOBALS) (DESC "villagers") (SYNONYM VILLAGERS
|
||||||
|
WOMEN MEN FISHERMEN) (FLAGS PERSON JAPANESEBIT PLURAL OPENBIT CONTBIT SEARCHBIT
|
||||||
|
) (ACTION VILLAGERS-F)>
|
||||||
|
<DEFINE-ROUTINE VILLAGERS-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<OBJECT SEBASTIO-HENCHMEN (SCENE S-ANJIRO) (DESC "priest's henchmen") (OWNER
|
||||||
|
SEBASTIO) (SYNONYM MEN HENCHMEN HENCHMAN COMPANIONS) (ADJECTIVE JAPANESE) (
|
||||||
|
FLAGS PERSON JAPANESEBIT THE NOABIT SCOREBIT PLURAL) (ACTION
|
||||||
|
SEBASTIO-HENCHMEN-F)>
|
||||||
|
<DEFINE-ROUTINE SEBASTIO-HENCHMEN-F>
|
||||||
|
<OBJECT HENCHMAN-BODY (DESC "body") (SYNONYM BODY CORPSE MAN) (ADJECTIVE DEAD
|
||||||
|
KILLED MURDERED HEADLESS) (SIZE 200) (FLAGS PERSON JAPANESEBIT DEAD TAKEBIT
|
||||||
|
TRYTAKEBIT) (ACTION HENCHMAN-BODY-F)>
|
||||||
|
<DEFINE-ROUTINE HENCHMAN-BODY-F>
|
||||||
|
<OBJECT HENCHMAN-HEAD (DESC "severed head") (SYNONYM HEAD) (ADJECTIVE SEVERED)
|
||||||
|
(FLAGS TAKEBIT TRYTAKEBIT PERSON DEAD) (ACTION HENCHMAN-HEAD-F)>
|
||||||
|
<DEFINE-ROUTINE HENCHMAN-HEAD-F>
|
||||||
|
<DEFINE-ROUTINE I-SEBASTIO>
|
||||||
|
<GLOBAL SEBASTIO-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL PISS-FLAG <>>
|
||||||
|
<GLOBAL OMI-QUESTION 0>
|
||||||
|
<DEFINE-ROUTINE I-OMI>
|
||||||
|
<GLOBAL OMI-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE TELL-ANSWER-OR-DIE>
|
||||||
|
<DEFINE-ROUTINE OMI-KILLS-YOU>
|
||||||
|
<ROOM MURA-HOUSE (LOC ROOMS) (SCENE S-ANJIRO S-RODRIGUES) (DESC "Mura's House")
|
||||||
|
(OWNER MURA) (SYNONYM HOUSE) (SCORE 4) (FDESC
|
||||||
|
"You awaken suddenly. For a moment you think you are dreaming, because
|
||||||
|
you are ashore and in a small, clean room whose floor is covered with
|
||||||
|
soft mats. You are lying on a thick quilt.|
|
||||||
|
|
|
||||||
|
You realize that you aren't dreaming because you are terribly hungry.") (LDESC
|
||||||
|
"The room is filled with muted light shining through the opaque paper
|
||||||
|
that fills squares of cedar lath. The ceiling is polished cedar.") (EAST TO
|
||||||
|
GARDEN IF MURA-DOOR IS OPEN) (OUT TO GARDEN IF MURA-DOOR IS OPEN) (FLAGS ONBIT)
|
||||||
|
(GLOBAL MURA-DOOR LG-VILLAGE) (ACTION MURA-HOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE MURA-HOUSE-F>
|
||||||
|
<DEFINE-ROUTINE I-COLLAPSE>
|
||||||
|
<GLOBAL COLLAPSE-CNT 0 %<> WORD>
|
||||||
|
<OBJECT MURA-DOOR (LOC LOCAL-GLOBALS) (DESC "door") (SYNONYM SHOJI DOOR PANEL
|
||||||
|
PAPER SCREEN SQUARES LATHS) (ADJECTIVE PAPER WOOD TRANSLUCENT) (FLAGS NDESCBIT
|
||||||
|
DOORBIT TRYTAKEBIT) (ACTION MURA-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE MURA-DOOR-F>
|
||||||
|
<OBJECT QUILT (LOC MURA-HOUSE) (SCENE S-ANJIRO) (DESC "quilt") (SYNONYM QUILT)
|
||||||
|
(ADJECTIVE THICK PADDED SOFT COTTON) (FLAGS TAKEBIT VEHBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT FURNITURE SURFACEBIT) (ACTION QUILT-F)>
|
||||||
|
<DEFINE-ROUTINE QUILT-F>
|
||||||
|
<OBJECT MURA-CRUCIFIX (LOC MURA-HOUSE) (SCENE S-ANJIRO) (DESC "crucifix") (
|
||||||
|
FDESC "Hanging on the wall is a crucifix.") (SYNONYM CRUCIFIX CROSS) (FLAGS
|
||||||
|
TAKEBIT TRYTAKEBIT) (ACTION MURA-CRUCIFIX-F)>
|
||||||
|
<DEFINE-ROUTINE MURA-CRUCIFIX-F>
|
||||||
|
<OBJECT TRAY (LOC MURA-HOUSE) (DESC "red lacquered tray") (SYNONYM TRAY BOWL) (
|
||||||
|
ADJECTIVE RED LACQUERED) (CAPACITY 10) (FLAGS TAKEBIT SEARCHBIT OPENBIT CONTBIT
|
||||||
|
SURFACEBIT)>
|
||||||
|
<OBJECT CHOPSTICKS (LOC TRAY) (DESC "pair of sticks") (OWNER CHOPSTICKS) (
|
||||||
|
SYNONYM STICKS CHOPSTICKS STICK PAIR) (ADJECTIVE CHOP) (FLAGS TAKEBIT TOOLBIT
|
||||||
|
PLURAL) (ACTION CHOPSTICKS-F)>
|
||||||
|
<DEFINE-ROUTINE CHOPSTICKS-F>
|
||||||
|
<OBJECT FOOD (LOC TRAY) (DESC "food") (SYNONYM FOOD VEGETABLES SOUP PORRIDGE) (
|
||||||
|
ADJECTIVE MORE FISH COOKED COLD THICK) (FLAGS TAKEBIT FOODBIT SCOREBIT NOABIT)
|
||||||
|
(ACTION FOOD-F)>
|
||||||
|
<DEFINE-ROUTINE FOOD-F>
|
||||||
|
<DEFINE-ROUTINE I-REMEMBER>
|
||||||
|
<DEFINE-ROUTINE I-ONNA>
|
||||||
|
<NEW-ADD-WORD "HAKU" NOUN>
|
||||||
|
<BEGIN-SEGMENT PIT>
|
||||||
|
<OBJECT ONNA (SDESC "middle-aged woman") (SYNONYM WOMAN ONNA ONNA LADY) (
|
||||||
|
ADJECTIVE MIDDLE-AGED HEAVY-SET ROUND-FACED) (FLAGS PERSON JAPANESEBIT FEMALE
|
||||||
|
THE OPENBIT SEARCHBIT CONTBIT) (ACTION ONNA-F)>
|
||||||
|
<DEFINE-ROUTINE ONNA-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<DEFINE-ROUTINE I-ONNA-RETURNS>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<OBJECT RIBBON (DESC "silk ribbon") (LDESC
|
||||||
|
"Stretched across each doorway is a red silk ribbon.") (SYNONYM RIBBON TAPE
|
||||||
|
BANNER) (ADJECTIVE RED SILK) (FLAGS TAKEBIT READBIT) (ACTION RIBBON-F)>
|
||||||
|
<GLOBAL RIBBON-CNT 0>
|
||||||
|
<DEFINE-ROUTINE RIBBON-F>
|
||||||
|
<DEFINE-ROUTINE I-RIBBON>
|
||||||
|
<OBJECT SAMURAI-GUARDS (SCENE S-ANJIRO S-RODRIGUES S-ESCAPE) (DESC
|
||||||
|
"samurai guards") (SYNONYM SAMURAI GUARDS GUARD MAN MEN CREW CREWMEN CREWMAN) (
|
||||||
|
FLAGS PERSON JAPANESEBIT PLURAL SCOREBIT NOABIT) (DESCFCN SAMURAI-GUARDS-DESC)
|
||||||
|
(GENERIC GENERIC-SAMURAI-F) (ACTION SAMURAI-GUARDS-F)>
|
||||||
|
<DEFINE-ROUTINE SAMURAI-GUARDS-DESC>
|
||||||
|
<DEFINE-ROUTINE SAMURAI-GUARDS-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT YABU>
|
||||||
|
<ROOM VILLAGE-SQUARE (LOC ROOMS) (SCENE S-YABU) (DESC "Village Square") (SCORE
|
||||||
|
2) (FDESC "The next day, you and your crewmen are brought before the
|
||||||
|
daimyo. Samurai slam all of you on your knees and push your heads into the dust."
|
||||||
|
) (SYNONYM SQUARE) (ADJECTIVE VILLAGE) (NORTH TO BATH-HOUSE IF BATH-FLAG) (
|
||||||
|
FLAGS OUTSIDE ONBIT SCOREBIT) (GLOBAL CREWMEN LG-ERASMUS VILLAGERS PIT
|
||||||
|
LG-VILLAGE) (ACTION VILLAGE-SQUARE-F)>
|
||||||
|
<DEFINE-ROUTINE VILLAGE-SQUARE-F>
|
||||||
|
<DEFINE-ROUTINE YABU-TALK-TO-YABU>
|
||||||
|
<DEFINE-ROUTINE SPEAK-ONLY-TO-YABU>
|
||||||
|
<OBJECT SEBASTIO-CRUCIFIX (SCENE S-ANJIRO S-YABU S-PIT) (LOC SEBASTIO) (DESC
|
||||||
|
"crucifix") (OWNER SEBASTIO) (SYNONYM CRUCIFIX CROSS) (ADJECTIVE PECTORAL WOOD
|
||||||
|
WOODEN) (FLAGS DONT-ALL TAKEBIT TRYTAKEBIT NDESCBIT SCOREBIT) (ACTION
|
||||||
|
SEBASTIO-CRUCIFIX-F)>
|
||||||
|
<DEFINE-ROUTINE SEBASTIO-CRUCIFIX-F>
|
||||||
|
<DEFINE-ROUTINE JAPANESE-INTERESTED?>
|
||||||
|
<DEFINE-ROUTINE I-SEBASTIO-PRAYS>
|
||||||
|
<DEFINE-ROUTINE I-BOW?>
|
||||||
|
<GLOBAL YABU-QUESTION 0>
|
||||||
|
<DEFINE-ROUTINE I-YABU-AUDIENCE>
|
||||||
|
<GLOBAL YABU-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE YABU-SAYS>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT PIT>
|
||||||
|
<ROOM PIT (LOC ROOMS) (SCENE S-PIT) (DESC "Pit") (AFTER PIT-AFTER-F) (SYNONYM
|
||||||
|
PIT CELLAR) (SCORE 5) (FDESC
|
||||||
|
"At Yabu's order, the samurai herd you and your crew across the square,
|
||||||
|
down a ladder, and underground. A trap door locks above you.") (FLAGS ONBIT) (
|
||||||
|
GLOBAL TRAPDOOR LG-CREWMEN PIETERZOON) (ACTION PIT-F)>
|
||||||
|
<DEFINE-ROUTINE PIT-F>
|
||||||
|
<DEFINE-ROUTINE TELL-CEILING>
|
||||||
|
<OBJECT SEAWATER (DESC "seawater") (SYNONYM SEAWATER WATER) (ADJECTIVE SEA) (
|
||||||
|
FLAGS NDESCBIT) (ACTION SEAWATER-F)>
|
||||||
|
<DEFINE-ROUTINE SEAWATER-F>
|
||||||
|
<OBJECT OFFAL (DESC "offal") (SYNONYM OFFAL HEADS FISH ENTRAILS) (ADJECTIVE
|
||||||
|
FISH ROTTING) (FLAGS NDESCBIT) (ACTION OFFAL-F)>
|
||||||
|
<DEFINE-ROUTINE OFFAL-F>
|
||||||
|
<GLOBAL VINCK-PICKED? <>>
|
||||||
|
<DEFINE-ROUTINE I-PIT>
|
||||||
|
<GLOBAL PIT-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL MUST-CHOOSE? <>>
|
||||||
|
<DEFINE-ROUTINE TRAPDOOR-OPENS>
|
||||||
|
<DEFINE-ROUTINE I-TAKE-VINCK>
|
||||||
|
<GLOBAL PIT-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE OMI-BARKS>
|
||||||
|
<DEFINE-ROUTINE I-TAKE-YOU>
|
||||||
|
<GLOBAL PIT-CNT 0 %<> WORD>
|
||||||
|
<NEW-ADD-WORD "STRAWS" NOUN <VOC "STRAW"> ,PLURAL-FLAG>
|
||||||
|
<OBJECT STRAW (DESC "straw") (SYNONYM STRAW STALK) (ADJECTIVE RICE) (FLAGS
|
||||||
|
TAKEBIT) (GENERIC GENERIC-STRAW-F) (ACTION STRAW-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-STRAW-F>
|
||||||
|
<DEFINE-ROUTINE STRAW-F>
|
||||||
|
<OBJECT VINCKS-STRAW (DESC "Vinck's straw") (OWNER VINCK) (SYNONYM STRAW STALK)
|
||||||
|
(ADJECTIVE RICE SHORTEST) (FLAGS TAKEBIT NOABIT) (GENERIC GENERIC-STRAW-F) (
|
||||||
|
ACTION VINCKS-STRAW-F)>
|
||||||
|
<DEFINE-ROUTINE VINCKS-STRAW-F>
|
||||||
|
<OBJECT SHORT-STRAW (DESC "short straw") (OWNER <>) (SYNONYM STRAW STALK) (
|
||||||
|
ADJECTIVE RICE SHORT) (FLAGS TAKEBIT) (GENERIC GENERIC-STRAW-F) (ACTION
|
||||||
|
SHORT-STRAW-F)>
|
||||||
|
<DEFINE-ROUTINE SHORT-STRAW-F>
|
||||||
|
<OBJECT LONG-STRAW (DESC "long straw") (OWNER <>) (SYNONYM STRAW STALK) (
|
||||||
|
ADJECTIVE RICE LONG) (FLAGS TAKEBIT) (GENERIC GENERIC-STRAW-F) (ACTION
|
||||||
|
LONG-STRAW-F)>
|
||||||
|
<DEFINE-ROUTINE LONG-STRAW-F>
|
||||||
|
<DEFINE-ROUTINE THEY-TAKE-VICTIM>
|
||||||
|
<OBJECT TRAPDOOR (LOC PIT) (DESC "trapdoor") (SYNONYM TRAPDOOR DOOR OPENING
|
||||||
|
CEILING) (ADJECTIVE TRAP) (FLAGS DOORBIT SEARCHBIT) (DESCFCN TRAPDOOR-DESC) (
|
||||||
|
ACTION TRAPDOOR-F)>
|
||||||
|
<DEFINE-ROUTINE TRAPDOOR-DESC>
|
||||||
|
<DEFINE-ROUTINE TRAPDOOR-F>
|
||||||
|
<OBJECT LADDER (DESC "ladder") (SYNONYM LADDER) (FLAGS SURFACEBIT TAKEBIT
|
||||||
|
TRYTAKEBIT VEHBIT SCOREBIT OPENBIT CONTBIT SEARCHBIT) (DESCFCN LADDER-DESC) (
|
||||||
|
ACTION LADDER-F)>
|
||||||
|
<DEFINE-ROUTINE LADDER-DESC>
|
||||||
|
<DEFINE-ROUTINE LADDER-F>
|
||||||
|
<DEFINE-ROUTINE SAMURAI-ON-LADDER>
|
||||||
|
<OBJECT LOSING-SAMURAI (DESC "captured samurai") (SCENE S-PIT) (SYNONYM SAMURAI
|
||||||
|
COMRADE) (ADJECTIVE CAPTURED PROSTRATE UNCONSCIOUS) (FLAGS PERSON JAPANESEBIT
|
||||||
|
SCOREBIT OPENBIT SEARCHBIT CONTBIT) (GENERIC GENERIC-SAMURAI-F) (CONTFCN
|
||||||
|
LOSING-SAMURAI-F) (ACTION LOSING-SAMURAI-F)>
|
||||||
|
<DEFINE-ROUTINE LOSING-SAMURAI-F>
|
||||||
|
<OBJECT OMI-SAMURAI (SDESC "attacking samurai") (SCENE S-PIT) (OWNER OMI) (
|
||||||
|
SYNONYM SAMURAI GUARDS GUARD) (ADJECTIVE ATTACKING) (FLAGS PERSON JAPANESEBIT
|
||||||
|
NOABIT PLURAL) (DESCFCN OMI-SAMURAI-DESC) (GENERIC GENERIC-SAMURAI-F) (ACTION
|
||||||
|
OMI-SAMURAI-F)>
|
||||||
|
<DEFINE-ROUTINE OMI-SAMURAI-DESC>
|
||||||
|
<DEFINE-ROUTINE OMI-SAMURAI-F>
|
||||||
|
<DEFINE-ROUTINE I-LOSING-SAMURAI>
|
||||||
|
<DEFINE-ROUTINE DROPS-DAGGER>
|
||||||
|
<OBJECT DAGGER (LOC LOSING-SAMURAI) (DESC "dagger") (SYNONYM DAGGER) (FLAGS
|
||||||
|
TAKEBIT WEAPONBIT)>
|
||||||
|
<OBJECT CAULDRON (DESC "cauldron") (SYNONYM CAULDRON) (FLAGS OPENBIT CONTBIT
|
||||||
|
SEARCHBIT VEHBIT) (DESCFCN CAULDRON-DESC) (CONTFCN CAULDRON-F) (ACTION
|
||||||
|
CAULDRON-F)>
|
||||||
|
<DEFINE-ROUTINE CAULDRON-F>
|
||||||
|
<DEFINE-ROUTINE CAULDRON-DESC>
|
||||||
|
<DEFINE-ROUTINE I-TAKE-CROOCQ>
|
||||||
|
<GLOBAL PIT-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL CROOCQ-CNT 0>
|
||||||
|
<DEFINE-ROUTINE CROOCQ-IN-CAULDRON>
|
||||||
|
<DEFINE-ROUTINE OMI-SAYS-LIE-DOWN>
|
||||||
|
<GLOBAL ANSWER-HAI? <>>
|
||||||
|
<GLOBAL BATH-FLAG <>>
|
||||||
|
<DEFINE-ROUTINE CURSE-OMI>
|
||||||
|
<ROOM BATH-HOUSE (LOC ROOMS) (DESC "Bath House") (SYNONYM HOUSE) (ADJECTIVE
|
||||||
|
BATH) (SOUTH TO VILLAGE-SQUARE) (FLAGS ONBIT) (ACTION BATH-HOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE BATH-HOUSE-F>
|
||||||
|
<DEFINE-ROUTINE I-BATH>
|
||||||
|
<GLOBAL BATH-CNT 0 %<> WORD>
|
||||||
|
<OBJECT CROWD (SCENE S-PIT) (LOC BATH-HOUSE) (DESC "crowd of villagers") (OWNER
|
||||||
|
CROWD) (SYNONYM VILLAGERS CROWD WOMEN MEN CRONE) (ADJECTIVE OLD GAPING STARING)
|
||||||
|
(FLAGS PERSON JAPANESEBIT PLURAL OPENBIT CONTBIT SEARCHBIT) (DESCFCN CROWD-DESC
|
||||||
|
) (ACTION CROWD-F)>
|
||||||
|
<DEFINE-ROUTINE CROWD-F>
|
||||||
|
<DEFINE-ROUTINE CROWD-DESC>
|
||||||
|
<OBJECT BATHTUB (LOC BATH-HOUSE) (DESC "bath tub") (SYNONYM TUB BATH POOL WATER
|
||||||
|
) (ADJECTIVE BATH WOODEN HOT) (FLAGS NDESCBIT CANT-HOLD VEHBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT SCOREBIT) (CAPACITY 300) (ACTION BATHTUB-F)>
|
||||||
|
<DEFINE-ROUTINE BATHTUB-F>
|
||||||
|
<DEFINE-ROUTINE TAKE-A-BATH?>
|
||||||
|
<DEFINE-ROUTINE RUINABLE?>
|
||||||
|
<DEFINE-ROUTINE MURA-STOPS-YOU>
|
||||||
|
<DEFINE-ROUTINE PIT-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<OBJECT SLAVER (SCENE S-RODRIGUES) (OWNER TORANAGA) (DESC "galley") (SYNONYM
|
||||||
|
GALLEY SLAVER VESSEL SHIP) (ADJECTIVE SLAVE) (FLAGS VEHBIT) (DESCFCN
|
||||||
|
SLAVER-DESC) (GENERIC GENERIC-GALLEY-F) (ACTION SLAVER-F)>
|
||||||
|
<DEFINE-ROUTINE SLAVER-DESC>
|
||||||
|
<DEFINE-ROUTINE SLAVER-F>
|
||||||
|
<OBJECT MURA-ROPE (SCENE S-RODRIGUES) (OWNER MURA) (DESC "rope") (SYNONYM ROPE)
|
||||||
|
>
|
||||||
|
<GLOBAL RODRIGUES-QUESTION 0>
|
||||||
|
<DEFINE-ROUTINE I-MEET-RODRIGUES>
|
||||||
|
<GLOBAL MEET-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE LETS-GO-ABOARD>
|
||||||
|
<DEFINE-ROUTINE HEAR-RODRIGUES>
|
||||||
|
<DEFINE-ROUTINE DIE-IN-STORM>
|
||||||
|
<DEFINE-ROUTINE SEALED-PASSAGE>
|
||||||
|
<DEFINE-ROUTINE DONT-BE-STUPID>
|
||||||
|
<DEFINE-ROUTINE LEAVE-ANJIRO-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
File diff suppressed because it is too large
Load Diff
249
anjiro.zil
249
anjiro.zil
|
@ -42,7 +42,8 @@ she points to your boots, bowing and shaking her head." CR>
|
||||||
<COND (<SCENE? ,S-ANJIRO>
|
<COND (<SCENE? ,S-ANJIRO>
|
||||||
<QUEUE I-SEBASTIO -1>
|
<QUEUE I-SEBASTIO -1>
|
||||||
<COND (<IN? ,ONNA ,MURA-HOUSE>
|
<COND (<IN? ,ONNA ,MURA-HOUSE>
|
||||||
<MOVE ,ONNA ,GARDEN>)>)>)
|
<MOVE ,ONNA ,GARDEN>)>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<P? LISTEN (<> NOISE)>
|
<COND (<P? LISTEN (<> NOISE)>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -171,6 +172,8 @@ comparable fragrance for years." CR>)>>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<ROOM ANJIRO-WATERFRONT
|
<ROOM ANJIRO-WATERFRONT
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-RODRIGUES)
|
(SCENE S-RODRIGUES)
|
||||||
|
@ -196,7 +199,7 @@ the harbor.")
|
||||||
<FCLEAR ,HIRO-MATSU ,NOABIT>
|
<FCLEAR ,HIRO-MATSU ,NOABIT>
|
||||||
<FCLEAR ,HIRO-MATSU ,NOTHEBIT>
|
<FCLEAR ,HIRO-MATSU ,NOTHEBIT>
|
||||||
<FSET ,HIRO-MATSU ,AN>
|
<FSET ,HIRO-MATSU ,AN>
|
||||||
<NEW-SDESC ,OMI "Omi">
|
<NEW-SDESC ,OMI ,OMI-NAME>
|
||||||
<MOVE-CREW ,PIT>
|
<MOVE-CREW ,PIT>
|
||||||
<REMOVE ,HENCHMAN-BODY>
|
<REMOVE ,HENCHMAN-BODY>
|
||||||
<REMOVE ,HENCHMAN-HEAD>
|
<REMOVE ,HENCHMAN-HEAD>
|
||||||
|
@ -211,6 +214,7 @@ the harbor.")
|
||||||
<MOVE ,OMI ,ANJIRO-WATERFRONT>
|
<MOVE ,OMI ,ANJIRO-WATERFRONT>
|
||||||
<MOVE ,YABU ,ANJIRO-WATERFRONT>
|
<MOVE ,YABU ,ANJIRO-WATERFRONT>
|
||||||
<MOVE ,HIRO-MATSU ,ANJIRO-WATERFRONT>
|
<MOVE ,HIRO-MATSU ,ANJIRO-WATERFRONT>
|
||||||
|
<MOVE ,TORANAGA ,GENERIC-OBJECTS>
|
||||||
<MOVE ,ARCHERS ,ANJIRO-WATERFRONT>
|
<MOVE ,ARCHERS ,ANJIRO-WATERFRONT>
|
||||||
<FCLEAR ,ARCHERS ,INVISIBLE>
|
<FCLEAR ,ARCHERS ,INVISIBLE>
|
||||||
<QUEUE I-MEET-RODRIGUES -1>)
|
<QUEUE I-MEET-RODRIGUES -1>)
|
||||||
|
@ -226,7 +230,8 @@ anchor, to the east, is the "I"Erasmus""." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"You row the boat up onto the beach." CR CR>)
|
"You row the boat up onto the beach." CR CR>)
|
||||||
(<NOT <FSET? ,RUTTER ,RMUNGBIT>>
|
(<NOT <FSET? ,RUTTER ,RMUNGBIT>>
|
||||||
<QUEUE I-RUTTER-CLUE 1>)>)>)
|
<QUEUE I-RUTTER-CLUE 1>)>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<AND <SCENE? S-RODRIGUES>
|
<COND (<AND <SCENE? S-RODRIGUES>
|
||||||
<OR <P? (POINT EXAMINE) LG-ERASMUS>
|
<OR <P? (POINT EXAMINE) LG-ERASMUS>
|
||||||
|
@ -236,7 +241,7 @@ anchor, to the east, is the "I"Erasmus""." CR>)
|
||||||
<COND (<NOT <FSET? ,LIZARD ,SCOREBIT>>
|
<COND (<NOT <FSET? ,LIZARD ,SCOREBIT>>
|
||||||
<THIS-IS-IT ,LG-ERASMUS>
|
<THIS-IS-IT ,LG-ERASMUS>
|
||||||
<SETG QCONTEXT ,RODRIGUES>
|
<SETG QCONTEXT ,RODRIGUES>
|
||||||
<TELL " She's
|
<TELL "She's
|
||||||
moored a hundred yards away. \"Tell me about her, Ingeles,\" asks
|
moored a hundred yards away. \"Tell me about her, Ingeles,\" asks
|
||||||
the Portuguese. \"She looks like a pisscutter!\"">)>
|
the Portuguese. \"She looks like a pisscutter!\"">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
|
@ -311,6 +316,9 @@ something to the man with the arrow. Now the man puts it away." CR>
|
||||||
<END-QUOTE>
|
<END-QUOTE>
|
||||||
<RFATAL>)>)>>
|
<RFATAL>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ANJIRO+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
|
||||||
<ROUTINE I-RUTTER-CLUE ()
|
<ROUTINE I-RUTTER-CLUE ()
|
||||||
<COND (<NOT <FSET? ,RUTTER ,RMUNGBIT>>
|
<COND (<NOT <FSET? ,RUTTER ,RMUNGBIT>>
|
||||||
<FSET ,RUTTER ,RMUNGBIT>
|
<FSET ,RUTTER ,RMUNGBIT>
|
||||||
|
@ -323,6 +331,8 @@ seen your rutters or the rest of the crew. ">
|
||||||
<TELL "Can they still be on the "I"Erasmus">)>
|
<TELL "Can they still be on the "I"Erasmus">)>
|
||||||
<TELL ", you wonder?" CR>)>>
|
<TELL ", you wonder?" CR>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<OBJECT SMALL-BOAT
|
<OBJECT SMALL-BOAT
|
||||||
(LOC ANJIRO-WATERFRONT)
|
(LOC ANJIRO-WATERFRONT)
|
||||||
(SCENE S-ANJIRO S-RODRIGUES)
|
(SCENE S-ANJIRO S-RODRIGUES)
|
||||||
|
@ -416,7 +426,7 @@ aren't strong enough to pull yourself aboard.">)
|
||||||
"It's just a small wooden rowboat.">
|
"It's just a small wooden rowboat.">
|
||||||
<COND (<NOT <FSET? ,RUTTER ,RMUNGBIT>>
|
<COND (<NOT <FSET? ,RUTTER ,RMUNGBIT>>
|
||||||
<FSET ,RUTTER ,RMUNGBIT>
|
<FSET ,RUTTER ,RMUNGBIT>
|
||||||
<TELL " It reminds you that you haven't
|
<TELL "It reminds you that you haven't
|
||||||
seen your rutters anywhere, and you glance out at the "I"Erasmus"".">)>
|
seen your rutters anywhere, and you glance out at the "I"Erasmus"".">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<VERB? BOARD>
|
(<VERB? BOARD>
|
||||||
|
@ -479,6 +489,9 @@ there, bobbing in the light waves." CR>)
|
||||||
(<VERB? BOARD>
|
(<VERB? BOARD>
|
||||||
<DO-WALK ,P?DOWN>)>>
|
<DO-WALK ,P?DOWN>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ANJIRO+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
|
||||||
<ROUTINE HENCHMEN-RESTRAIN ()
|
<ROUTINE HENCHMEN-RESTRAIN ()
|
||||||
<COND (<FSET? ,SEBASTIO-HENCHMEN ,RMUNGBIT>
|
<COND (<FSET? ,SEBASTIO-HENCHMEN ,RMUNGBIT>
|
||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
|
@ -491,6 +504,8 @@ CTHE ,SEBASTIO " points to you, saying something in Japanese to " THE
|
||||||
CTHE ,SEBASTIO " motions to his companions, who restrain you." CR>)
|
CTHE ,SEBASTIO " motions to his companions, who restrain you." CR>)
|
||||||
(ELSE <RFALSE>)>>
|
(ELSE <RFALSE>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<ROOM ANJIRO-HARBOR
|
<ROOM ANJIRO-HARBOR
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(DESC "Harbor")
|
(DESC "Harbor")
|
||||||
|
@ -531,9 +546,13 @@ and southern horizons." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"As you climb down the gangway you can still feel the sweat trickling
|
"As you climb down the gangway you can still feel the sweat trickling
|
||||||
down your spine. You hate everything about the Japans and wish yourself
|
down your spine. You hate everything about the Japans and wish yourself
|
||||||
and your crew back aboard, armed, and out to sea." CR CR>
|
and your crew back aboard, armed, and out to sea." CR>
|
||||||
<MOVE ,BLACKTHORNE ,HERE>
|
<MOVE ,BLACKTHORNE ,HERE>
|
||||||
<NEXT-SCENE>)>)>>
|
<NEXT-SCENE>
|
||||||
|
<RFATAL> ;"don't do v-first-look")>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ANJIRO+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
|
||||||
<ROOM ANJIRO
|
<ROOM ANJIRO
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
|
@ -588,6 +607,9 @@ hillsides? Confused, you walk back to the house you left." CR>)>)
|
||||||
<TELL
|
<TELL
|
||||||
"You've never heard of any place called Anjiro." CR>)>)>)>>
|
"You've never heard of any place called Anjiro." CR>)>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT YABU>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<OBJECT VILLAGERS
|
<OBJECT VILLAGERS
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
(DESC "villagers")
|
(DESC "villagers")
|
||||||
|
@ -613,6 +635,9 @@ you." CR>)>)
|
||||||
"They return your bow with amusement. You are obviously a new and amazing
|
"They return your bow with amusement. You are obviously a new and amazing
|
||||||
sight for them." CR>)>)>>
|
sight for them." CR>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ANJIRO+RODRIGUES+YABU">
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
|
||||||
<OBJECT SEBASTIO-HENCHMEN
|
<OBJECT SEBASTIO-HENCHMEN
|
||||||
(SCENE S-ANJIRO)
|
(SCENE S-ANJIRO)
|
||||||
(DESC "priest's henchmen")
|
(DESC "priest's henchmen")
|
||||||
|
@ -790,11 +815,10 @@ translates, \"Kasigi Omi-san says, 'What's your nationality?'\"" CR>)
|
||||||
<RTRUE>)>)
|
<RTRUE>)>)
|
||||||
(<SETG QCONTEXT ,SEBASTIO>
|
(<SETG QCONTEXT ,SEBASTIO>
|
||||||
<SETG OMI-QUESTION 2>
|
<SETG OMI-QUESTION 2>
|
||||||
<TELL CR
|
|
||||||
CTHE ,OMI " says, \""I"Onushi ittai doko kara kitanoda?">
|
|
||||||
<NEW-SDESC ,OMI "Omi">
|
<NEW-SDESC ,OMI "Omi">
|
||||||
<SETUP-ANSWER "i sailed from">
|
<SETUP-ANSWER "i sailed from">
|
||||||
<TELL "\" The priest
|
<TELL CR
|
||||||
|
CTHE ,OMI " says, \""I"Onushi ittai doko kara kitanoda?""\"The priest
|
||||||
says nervously, \"Kasigi Omi-san says, 'Where did you sail from?'\"" CR>)
|
says nervously, \"Kasigi Omi-san says, 'Where did you sail from?'\"" CR>)
|
||||||
(DELAY
|
(DELAY
|
||||||
<COND (,OMI-QUESTION
|
<COND (,OMI-QUESTION
|
||||||
|
@ -887,7 +911,7 @@ soft mats. You are lying on a thick quilt.|
|
||||||
You realize that you aren't dreaming because you are terribly hungry.")
|
You realize that you aren't dreaming because you are terribly hungry.")
|
||||||
(LDESC
|
(LDESC
|
||||||
"The room is filled with muted light shining through the opaque paper
|
"The room is filled with muted light shining through the opaque paper
|
||||||
that fills squares of cedar lathe. The ceiling is polished cedar.")
|
that fills squares of cedar lath. The ceiling is polished cedar.")
|
||||||
(EAST TO GARDEN IF MURA-DOOR IS OPEN)
|
(EAST TO GARDEN IF MURA-DOOR IS OPEN)
|
||||||
(OUT TO GARDEN IF MURA-DOOR IS OPEN)
|
(OUT TO GARDEN IF MURA-DOOR IS OPEN)
|
||||||
(FLAGS ONBIT)
|
(FLAGS ONBIT)
|
||||||
|
@ -972,7 +996,7 @@ G"It sounds like a group of people. ""One of them is speaking Portuguese!" CR>)
|
||||||
<OBJECT MURA-DOOR
|
<OBJECT MURA-DOOR
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
(DESC "door")
|
(DESC "door")
|
||||||
(SYNONYM SHOJI DOOR PANEL PAPER SCREEN SQUARES LATHES)
|
(SYNONYM SHOJI DOOR PANEL PAPER SCREEN SQUARES LATHS)
|
||||||
(ADJECTIVE PAPER WOOD TRANSLUCENT)
|
(ADJECTIVE PAPER WOOD TRANSLUCENT)
|
||||||
(FLAGS NDESCBIT DOORBIT TRYTAKEBIT)
|
(FLAGS NDESCBIT DOORBIT TRYTAKEBIT)
|
||||||
(ACTION MURA-DOOR-F)>
|
(ACTION MURA-DOOR-F)>
|
||||||
|
@ -984,7 +1008,7 @@ G"It sounds like a group of people. ""One of them is speaking Portuguese!" CR>)
|
||||||
"The door has been broken by your clumsiness." CR>)
|
"The door has been broken by your clumsiness." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"The door is made of square wood lathes and covered with paper. It
|
"The door is made of square wood laths and covered with paper. It
|
||||||
looks translucent, shadows from the outside mottling the light and
|
looks translucent, shadows from the outside mottling the light and
|
||||||
flimsy structure." CR>)>)
|
flimsy structure." CR>)>)
|
||||||
(<VERB? OPEN MUNG TEAR RUB>
|
(<VERB? OPEN MUNG TEAR RUB>
|
||||||
|
@ -1016,7 +1040,7 @@ flimsy structure." CR>)>)
|
||||||
<TELL
|
<TELL
|
||||||
"You reach to open the door, reeling slightly as you are still very
|
"You reach to open the door, reeling slightly as you are still very
|
||||||
weak, and put out a hand to steady yourself but the light, square wood
|
weak, and put out a hand to steady yourself but the light, square wood
|
||||||
lathes can't bear your weight and they shatter, paper ripping apart. ">
|
laths can't bear your weight and they shatter, paper ripping apart. ">
|
||||||
<COND (<IN? ,FOOD ,WINNER>
|
<COND (<IN? ,FOOD ,WINNER>
|
||||||
<MOVE ,FOOD ,HERE>
|
<MOVE ,FOOD ,HERE>
|
||||||
<TELL "You drop the food. ">)>
|
<TELL "You drop the food. ">)>
|
||||||
|
@ -1203,6 +1227,8 @@ you. \""I"Goshujinsama, gokibun wa ikaga desu ka?""\" she asks." CR>>
|
||||||
|
|
||||||
<NEW-ADD-WORD "HAKU" NOUN>
|
<NEW-ADD-WORD "HAKU" NOUN>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT PIT>
|
||||||
|
|
||||||
<OBJECT ONNA
|
<OBJECT ONNA
|
||||||
(SDESC "middle-aged woman")
|
(SDESC "middle-aged woman")
|
||||||
(SYNONYM WOMAN ONNA ONNA LADY)
|
(SYNONYM WOMAN ONNA ONNA LADY)
|
||||||
|
@ -1296,6 +1322,10 @@ understand." CR>)>)
|
||||||
<TELL
|
<TELL
|
||||||
CTHE ,ONNA " seems surprised, but not unwilling." CR>)>>
|
CTHE ,ONNA " seems surprised, but not unwilling." CR>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ANJIRO+PIT">
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
|
||||||
<ROUTINE I-ONNA-RETURNS ()
|
<ROUTINE I-ONNA-RETURNS ()
|
||||||
<MOVE ,FOOD ,TRAY>
|
<MOVE ,FOOD ,TRAY>
|
||||||
<MOVE ,CLOTHES ,HERE>
|
<MOVE ,CLOTHES ,HERE>
|
||||||
|
@ -1309,6 +1339,8 @@ CTHE ,ONNA " seems surprised, but not unwilling." CR>)>>
|
||||||
food, and your clothes which she places in a neat pile. She bows
|
food, and your clothes which she places in a neat pile. She bows
|
||||||
again and departs." CR>>
|
again and departs." CR>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<OBJECT RIBBON
|
<OBJECT RIBBON
|
||||||
(DESC "silk ribbon")
|
(DESC "silk ribbon")
|
||||||
(LDESC
|
(LDESC
|
||||||
|
@ -1391,13 +1423,13 @@ of your rutters? How can you retrieve them?" CR>)>)>>
|
||||||
<COND (<RARG? OBJDESC?> <RTRUE>)
|
<COND (<RARG? OBJDESC?> <RTRUE>)
|
||||||
(<RARG? OBJDESC>
|
(<RARG? OBJDESC>
|
||||||
<TELL
|
<TELL
|
||||||
"Several samurai are at posts on the main deck.">
|
"Several samurai are at posts on the main deck. They ">
|
||||||
<COND (,RIBBON-CNT
|
<COND (,RIBBON-CNT
|
||||||
<TELL " They watch you warily.">)
|
<TELL "watch you warily.">)
|
||||||
(<FSET? ,SAMURAI-GUARDS ,RMUNGBIT>
|
(<FSET? ,SAMURAI-GUARDS ,RMUNGBIT>
|
||||||
<TELL " They seem relaxed.">)
|
<TELL "seem relaxed.">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL " They seem a little nervous.">)>)>>
|
<TELL "seem a little nervous.">)>)>>
|
||||||
|
|
||||||
<ROUTINE SAMURAI-GUARDS-F ("OPT" (RARG <>))
|
<ROUTINE SAMURAI-GUARDS-F ("OPT" (RARG <>))
|
||||||
<COND (<RARG? SUBJ>
|
<COND (<RARG? SUBJ>
|
||||||
|
@ -1465,13 +1497,13 @@ bow and smile again." CR>)
|
||||||
<TELL "The leader returns your bow.">
|
<TELL "The leader returns your bow.">
|
||||||
<COND (,RIBBON-CNT
|
<COND (,RIBBON-CNT
|
||||||
<TELL
|
<TELL
|
||||||
" The guards seem more relaxed now.">)>
|
"The guards seem more relaxed now.">)>
|
||||||
<CRLF>)>)
|
<CRLF>)>)
|
||||||
(<VERB? TELL-ABOUT>
|
(<VERB? TELL-ABOUT>
|
||||||
<TELL
|
<TELL
|
||||||
"They don't appear to understand you." CR>)>>
|
"They don't appear to understand you." CR>)>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"ANJIRO">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1514,14 +1546,14 @@ daimyo. Samurai slam all of you on your knees and push your heads into the dust
|
||||||
<TELL
|
<TELL
|
||||||
"This is the village square of Anjiro. The day is clear and warm.">
|
"This is the village square of Anjiro. The day is clear and warm.">
|
||||||
<COND (<SCENE? S-YABU>
|
<COND (<SCENE? S-YABU>
|
||||||
<TELL " You are ">
|
<TELL "You are ">
|
||||||
<COND (<B-KNEELING?>
|
<COND (<B-KNEELING?>
|
||||||
<TELL "kneeling">)
|
<TELL "kneeling">)
|
||||||
(ELSE <TELL "standing">)>
|
(ELSE <TELL "standing">)>
|
||||||
<TELL " in front of the platform.">)>
|
<TELL " in front of the platform.">)>
|
||||||
<COND (,BATH-FLAG
|
<COND (,BATH-FLAG
|
||||||
<TELL
|
<TELL
|
||||||
" A narrow path leads north between two wooden fences.">)>
|
"A narrow path leads north between two wooden fences.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<AND <SCENE? ,S-YABU ,S-PIT>
|
<COND (<AND <SCENE? ,S-YABU ,S-PIT>
|
||||||
|
@ -1561,7 +1593,7 @@ the true Church! Surely this land is in the power of Satan!\"|
|
||||||
|
|
|
|
||||||
Yabu smiles happily at you and your crewmen, then points to you and barks
|
Yabu smiles happily at you and your crewmen, then points to you and barks
|
||||||
an additional order to Omi, who bows. You shudder, wondering what fate
|
an additional order to Omi, who bows. You shudder, wondering what fate
|
||||||
could be in store for you, and afraid you are about to find out." CR CR>
|
could be in store for you, and afraid you are about to find out." CR>
|
||||||
<NEXT-SCENE>)>)
|
<NEXT-SCENE>)>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -1602,6 +1634,120 @@ CTHE ,PRSO " seems pleased by this display of manners." CR>)>)
|
||||||
"You do as you were ordered." CR>
|
"You do as you were ordered." CR>
|
||||||
<SCORE-OBJECT ,CROOCQ>)>)>)>)>>
|
<SCORE-OBJECT ,CROOCQ>)>)>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE YABU-TALK-TO-YABU ()
|
||||||
|
<COND (<AND <P? BE (BLACKTHORNE ME)>
|
||||||
|
<EQUAL? ,YABU-QUESTION 1>>
|
||||||
|
<COND (<NOT <PRSI? BLACKTHORNE ME>>
|
||||||
|
<TELL
|
||||||
|
"\"This is no time for foolishness, heretic!\" roars the priest." CR>)
|
||||||
|
(<AND <NOUN-USED? ,PRSI ,W?BLACKTHORNE>
|
||||||
|
<ADJ-USED? ,PRSI ,W?JOHN>
|
||||||
|
<NOT <P-NEGATIVE?>>>
|
||||||
|
<SETG QCONTEXT <>>
|
||||||
|
<SETG YABU-QUESTION 0>
|
||||||
|
<TELL
|
||||||
|
G"Father Sebastio translates your answer. ""He seems very deferential to
|
||||||
|
Yabu, and very sweaty." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"No, no! What is your ">
|
||||||
|
<COND (<OR <NOUN-USED? ,PRSI
|
||||||
|
,W?BLACKTHORNE>
|
||||||
|
<ADJ-USED? ,PRSI ,W?JOHN>>
|
||||||
|
<TELL "full ">)>
|
||||||
|
<TELL
|
||||||
|
"name, pirate?\" storms the priest, annoyed in
|
||||||
|
spite of himself." CR>)>)
|
||||||
|
(<AND <EQUAL? ,YABU-QUESTION 2>
|
||||||
|
<OR <AND <P? BE (BLACKTHORNE ME) INTPP>
|
||||||
|
<PP? ,W?FROM ,HOLLAND>>
|
||||||
|
<P? COME-FROM HOLLAND>>
|
||||||
|
<NOT <P-NEGATIVE?>>>
|
||||||
|
<SETG QCONTEXT <>>
|
||||||
|
<SETG YABU-QUESTION 0>
|
||||||
|
<TELL
|
||||||
|
G"Father Sebastio translates your answer. ""Yabu is showing irritation
|
||||||
|
and impatience. Perhaps the Jesuit's Japanese isn't fluent?" CR>)
|
||||||
|
(<AND <EQUAL? ,YABU-QUESTION 3>
|
||||||
|
<P? BE
|
||||||
|
(BLACKTHORNE ME)
|
||||||
|
(BLACKTHORNE RODRIGUES LEADER)>
|
||||||
|
<OR <NOUN-USED? ,PRSI ,W?PILOT>
|
||||||
|
<NOUN-USED? ,PRSI ,W?PILOT-MAJOR>>
|
||||||
|
<NOT <P-NEGATIVE?>>>
|
||||||
|
<SETG QCONTEXT ,YABU>
|
||||||
|
<SETG YABU-QUESTION 4>
|
||||||
|
<TELL
|
||||||
|
"Father Sebastio doesn't translate what you said. Instead he asks,
|
||||||
|
\"Why is an Englishman the pilot of a Dutch ship? Answer!\" Yabu
|
||||||
|
looks annoyed at the priest. Perhaps they aren't allies
|
||||||
|
after all." CR>)
|
||||||
|
(<AND <EQUAL? ,YABU-QUESTION 4>
|
||||||
|
<EQUAL? ,PRSS ,ME ,BLACKTHORNE>
|
||||||
|
<P? (WALK WALK-TO WALK-AROUND
|
||||||
|
COME-FROM COME-TO-FROM)
|
||||||
|
(<> ENGLAND STRAIT-OF-MAGELLAN
|
||||||
|
JAPAN PACIFIC GLOBAL-HERE LG-SEA
|
||||||
|
LG-ERASMUS BLACK-SHIP NOT-HERE-OBJECT)
|
||||||
|
(<> ENGLAND STRAIT-OF-MAGELLAN
|
||||||
|
PACIFIC LG-SEA LG-ERASMUS BLACK-SHIP)>
|
||||||
|
<PAST-TENSE?>
|
||||||
|
<NOT <P-NEGATIVE?>>>
|
||||||
|
<COND (<PRSO? NOT-HERE-OBJECT>
|
||||||
|
<TELL
|
||||||
|
"\"Liar! You came around Africa and India!\""G" screams the priest." CR>)
|
||||||
|
(<AND <PRSO? <> LG-SEA LG-ERASMUS
|
||||||
|
BLACK-SHIP>
|
||||||
|
<PRSI? <> LG-SEA LG-ERASMUS
|
||||||
|
BLACK-SHIP>>
|
||||||
|
<TELL
|
||||||
|
"\"Of course you did! You didn't fly!\""G" screams the priest." CR>)
|
||||||
|
(ELSE
|
||||||
|
<SETG YABU-QUESTION 0>
|
||||||
|
<SETG QCONTEXT <>>
|
||||||
|
<TELL
|
||||||
|
"You describe your voyage. \"We came through Magellan's Pass. This is the
|
||||||
|
one hundred and thirty-sixth day from there.\"|
|
||||||
|
|
|
||||||
|
\"You're lying! Magellan's Pass is secret. You came via Africa and
|
||||||
|
India. You'll have to tell the truth eventually. They use torture
|
||||||
|
here.\"" CR>
|
||||||
|
<SCORE-OBJECT ,STRAIT-OF-MAGELLAN>)>)
|
||||||
|
(<AND <P? BE (BLACKTHORNE ME)>
|
||||||
|
<P-NEGATIVE?>>
|
||||||
|
<COND (<PRSI? CHURCH>
|
||||||
|
<TELL
|
||||||
|
"\"I've already told the "I"daimyo"" that you're a heretic!\"" CR>)
|
||||||
|
(<PRSI? PORTUGUESE>
|
||||||
|
<TELL
|
||||||
|
"\"That's right, heretic, dig your own grave! Only we Portuguese and
|
||||||
|
the damnable Spanish are allowed to trade here!\"" CR>)
|
||||||
|
(<AND <PRSI? PIRATE>
|
||||||
|
<EQUAL? ,YABU-QUESTION 4>>
|
||||||
|
<SETG QCONTEXT <>>
|
||||||
|
<SETG YABU-QUESTION 0>
|
||||||
|
<TELL
|
||||||
|
"\"You liar! You filthy heretics are all pirates!\" The priest speaks
|
||||||
|
haltingly to Yabu, who answers brusquely. He is apparently losing
|
||||||
|
interest in the interrogation, and looks out into the harbor, toward
|
||||||
|
the ship." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
CTHE ,SEBASTIO " translates what you have said. Yabu doesn't seem
|
||||||
|
terribly interested, but only annoyed at the priest's poor Japanese." CR>)>)
|
||||||
|
(<AND ,YABU-QUESTION
|
||||||
|
<VERB? SAY REPLY>>
|
||||||
|
<COND (<EQUAL? ,YABU-QUESTION 1 3>
|
||||||
|
<PERFORM ,V?BE ,ME ,PRSO>
|
||||||
|
<RTRUE>)
|
||||||
|
(ELSE
|
||||||
|
<PERFORM ,V?COME-FROM>
|
||||||
|
<RTRUE>)>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
CTHE ,SEBASTIO " haltingly translates what you have said. Yabu appears
|
||||||
|
increasingly impatient." CR>)>>
|
||||||
|
|
||||||
<ROUTINE SPEAK-ONLY-TO-YABU ()
|
<ROUTINE SPEAK-ONLY-TO-YABU ()
|
||||||
<TELL
|
<TELL
|
||||||
"Yabu says something sharply, and the priest warns, \"Speak only to
|
"Yabu says something sharply, and the priest warns, \"Speak only to
|
||||||
|
@ -1647,7 +1793,7 @@ belt." CR>)
|
||||||
(ELSE <TELL "on the ground.">)>
|
(ELSE <TELL "on the ground.">)>
|
||||||
<COND (<AND <IN? ,OMI ,HERE> <IN? ,YABU ,HERE>>
|
<COND (<AND <IN? ,OMI ,HERE> <IN? ,YABU ,HERE>>
|
||||||
<TELL
|
<TELL
|
||||||
" The samurai watch. Omi, in particular, seems interested and excited.">)>
|
"The samurai watch. Omi, in particular, seems interested and excited.">)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<SCORE-OBJECT ,SEBASTIO-CRUCIFIX>)
|
<SCORE-OBJECT ,SEBASTIO-CRUCIFIX>)
|
||||||
(ELSE
|
(ELSE
|
||||||
|
@ -1814,7 +1960,7 @@ as he whirls toward you, shaking his fist. His crucifix on its long
|
||||||
chain waves mockingly near your face." CR>)
|
chain waves mockingly near your face." CR>)
|
||||||
(<THIS-IS-IT ,YABU>
|
(<THIS-IS-IT ,YABU>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"\""I"Ano mono wa nani o moshite oru?\""" the "I"daimyo"" snaps
|
"\""I"Ano mono wa nani o moshite oru?""\" the "I"daimyo"" snaps
|
||||||
impatiently." CR>)
|
impatiently." CR>)
|
||||||
(2
|
(2
|
||||||
<THIS-IS-IT ,YABU>
|
<THIS-IS-IT ,YABU>
|
||||||
|
@ -1836,7 +1982,7 @@ G"The priest confers with Yabu. \"Yabu says ""you are a " .STR ", and you
|
||||||
are condemned to death.\"">
|
are condemned to death.\"">
|
||||||
<JIGS-UP>>
|
<JIGS-UP>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"YABU">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2015,14 +2161,14 @@ us God-cursed water! We want food and water!\"" CR CR
|
||||||
priest.">
|
priest.">
|
||||||
<COND (<VERB? YELL YELL-AT>
|
<COND (<VERB? YELL YELL-AT>
|
||||||
<TELL
|
<TELL
|
||||||
" Everyone but you begins yelling. \"Water! And food, by God! Let
|
"Everyone but you begins yelling. \"Water! And food, by God! Let
|
||||||
us out of here!\"">)
|
us out of here!\"">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Everyone is still yelling.">)>
|
"Everyone is still yelling.">)>
|
||||||
<MOVE ,OFFAL ,PIT>
|
<MOVE ,OFFAL ,PIT>
|
||||||
<MOVE ,SEAWATER ,PIT>
|
<MOVE ,SEAWATER ,PIT>
|
||||||
<TELL " Omi motions to Mura, who nods and leaves." CR CR
|
<TELL "Omi motions to Mura, who nods and leaves." CR CR
|
||||||
"Mura returns with another fisherman, carrying a large barrel. They empty
|
"Mura returns with another fisherman, carrying a large barrel. They empty
|
||||||
the contents, rotting fish offal and seawater, onto your heads." CR>)
|
the contents, rotting fish offal and seawater, onto your heads." CR>)
|
||||||
(<SETG MUST-CHOOSE? T>
|
(<SETG MUST-CHOOSE? T>
|
||||||
|
@ -2361,12 +2507,12 @@ me that's to go -- \"Pieterzoon is being driven up the ladder." CR CR
|
||||||
<COND (<FSET? ,LOSING-SAMURAI ,SCOREBIT>
|
<COND (<FSET? ,LOSING-SAMURAI ,SCOREBIT>
|
||||||
<REMOVE ,LOSING-SAMURAI>
|
<REMOVE ,LOSING-SAMURAI>
|
||||||
<TELL ", including the one you knocked off
|
<TELL ", including the one you knocked off
|
||||||
of the ladder, though he appears wary and even embarassed.">)
|
of the ladder, though he appears wary and even embarrassed.">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL " stepping contemptuously over
|
<TELL " stepping contemptuously over
|
||||||
the prostrate body of their unconscious comrade.">)>)
|
the prostrate body of their unconscious comrade.">)>)
|
||||||
(ELSE <TELL ".">)>
|
(ELSE <TELL ".">)>
|
||||||
<TELL " The ladder is jerked aloft. Air and
|
<TELL "The ladder is jerked aloft. Air and
|
||||||
sky and light vanish. Bolts crash into place." CR>)>
|
sky and light vanish. Bolts crash into place." CR>)>
|
||||||
<DEQUEUE I-TAKE-VINCK>
|
<DEQUEUE I-TAKE-VINCK>
|
||||||
<DEQUEUE I-TAKE-YOU>
|
<DEQUEUE I-TAKE-YOU>
|
||||||
|
@ -2488,15 +2634,15 @@ you easily." CR>)
|
||||||
<FSET ,LADDER ,RMUNGBIT>
|
<FSET ,LADDER ,RMUNGBIT>
|
||||||
<COND (<QUEUED? I-TAKE-CROOCQ>
|
<COND (<QUEUED? I-TAKE-CROOCQ>
|
||||||
<TELL
|
<TELL
|
||||||
" There is no reaction from those above. They wait patiently." CR>)
|
"There is no reaction from those above. They wait patiently." CR>)
|
||||||
(<IN? ,OMI-SAMURAI ,LADDER>
|
(<IN? ,OMI-SAMURAI ,LADDER>
|
||||||
<TELL
|
<TELL
|
||||||
" The samurai hold tightly onto the ladder, but one swings a sword at
|
"The samurai hold tightly onto the ladder, but one swings a sword at
|
||||||
you!" CR>
|
you!" CR>
|
||||||
<SCORE-OBJECT ,LADDER>)
|
<SCORE-OBJECT ,LADDER>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" A gasp goes through the cellar. ">
|
"A gasp goes through the cellar. ">
|
||||||
<SAMURAI-ON-LADDER>
|
<SAMURAI-ON-LADDER>
|
||||||
<RTRUE>)>)>)
|
<RTRUE>)>)>)
|
||||||
(<VERB? CLIMB-FOO CLIMB-ON CLIMB-UP CLIMB-DOWN BOARD>
|
(<VERB? CLIMB-FOO CLIMB-ON CLIMB-UP CLIMB-DOWN BOARD>
|
||||||
|
@ -2517,7 +2663,7 @@ you easily." CR>)
|
||||||
<COND (<HELD? ,DAGGER>
|
<COND (<HELD? ,DAGGER>
|
||||||
<REMOVE ,DAGGER>
|
<REMOVE ,DAGGER>
|
||||||
<TELL
|
<TELL
|
||||||
" As you reach the top of the ladder, strong hands grab you and force
|
"As you reach the top of the ladder, strong hands grab you and force
|
||||||
you to drop the dagger.">)>
|
you to drop the dagger.">)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
|
@ -2740,7 +2886,7 @@ limp, dropping his dagger." CR>
|
||||||
<TELL
|
<TELL
|
||||||
"A huge black-iron cauldron stands in the square.">
|
"A huge black-iron cauldron stands in the square.">
|
||||||
<COND (<IN? ,CROOCQ ,CAULDRON>
|
<COND (<IN? ,CROOCQ ,CAULDRON>
|
||||||
<TELL " The boy Croocq, trussed like a chicken,
|
<TELL "The boy Croocq, trussed like a chicken,
|
||||||
is inside.">)>
|
is inside.">)>
|
||||||
<RFATAL>)>>
|
<RFATAL>)>>
|
||||||
|
|
||||||
|
@ -2825,7 +2971,7 @@ any cause for you to insult him. B">)
|
||||||
better yet, you will not be killed. But you will be taught manners.\" You
|
better yet, you will not be killed. But you will be taught manners.\" You
|
||||||
see Omi hitch up his kimono. He pisses on your back.">
|
see Omi hitch up his kimono. He pisses on your back.">
|
||||||
<COND (,PISS-FLAG
|
<COND (,PISS-FLAG
|
||||||
<TELL " \"Omi-san says, it
|
<TELL "\"Omi-san says, it
|
||||||
is very bad manners to say you will piss on anyone. It is bad manners and
|
is very bad manners to say you will piss on anyone. It is bad manners and
|
||||||
very stupid to say you will piss on anyone when you are unarmed. It is
|
very stupid to say you will piss on anyone when you are unarmed. It is
|
||||||
very bad manners and even more stupid to say you will piss on anyone
|
very bad manners and even more stupid to say you will piss on anyone
|
||||||
|
@ -2905,6 +3051,19 @@ he removes your head." CR>
|
||||||
<GLOBAL ANSWER-HAI? <>>
|
<GLOBAL ANSWER-HAI? <>>
|
||||||
<GLOBAL BATH-FLAG <>>
|
<GLOBAL BATH-FLAG <>>
|
||||||
|
|
||||||
|
<ROUTINE CURSE-OMI ()
|
||||||
|
<COND (<NOT ,PISS-FLAG>
|
||||||
|
<SETG PISS-FLAG T>
|
||||||
|
<TELL
|
||||||
|
"You lose your composure. \"Tell him to go to hell. Tell him I piss on
|
||||||
|
him and his whole country. Tell him exactly what I said! Exactly, by
|
||||||
|
God!\" you yell at the priest. Omi listens, then the knuckles on his
|
||||||
|
sword hand whiten. You can see he is trying not to give way to his
|
||||||
|
emotions." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"You continue to scream abuse at Omi." CR>)>>
|
||||||
|
|
||||||
<ROOM BATH-HOUSE
|
<ROOM BATH-HOUSE
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(DESC "Bath House")
|
(DESC "Bath House")
|
||||||
|
@ -2929,7 +3088,8 @@ seen, and shiver with fear." CR>)
|
||||||
<QUEUE I-BATH -1>
|
<QUEUE I-BATH -1>
|
||||||
<TELL
|
<TELL
|
||||||
"You enter the bath house, followed by Mura, who keeps a close eye on
|
"You enter the bath house, followed by Mura, who keeps a close eye on
|
||||||
you." CR CR>)>)
|
you." CR CR>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<AND <OR <P? WALK P?SOUTH>
|
<COND (<AND <OR <P? WALK P?SOUTH>
|
||||||
<HOSTILE-VERB?>>
|
<HOSTILE-VERB?>>
|
||||||
|
@ -3130,7 +3290,7 @@ G"It's much too heavy!" CR>)>)
|
||||||
<MURA-STOPS-YOU .RUIN>
|
<MURA-STOPS-YOU .RUIN>
|
||||||
<COND (<FSET? .RUIN ,WEARBIT>
|
<COND (<FSET? .RUIN ,WEARBIT>
|
||||||
<TELL
|
<TELL
|
||||||
" He pantomimes removing them, and the old women
|
"He pantomimes removing them, and the old women
|
||||||
giggle and make loud remarks to him." CR>)
|
giggle and make loud remarks to him." CR>)
|
||||||
(ELSE <CRLF>)>)
|
(ELSE <CRLF>)>)
|
||||||
(ELSE
|
(ELSE
|
||||||
|
@ -3197,7 +3357,7 @@ permanent?\"|
|
||||||
|
|
|
|
||||||
\"Temporary,\" Omi answers hesitantly. \"Only temporary, Lord.\"" CR>>
|
\"Temporary,\" Omi answers hesitantly. \"Only temporary, Lord.\"" CR>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"PIT">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3379,13 +3539,14 @@ in Japanese fashion while standing amidships." CR>)
|
||||||
(<TELL CR
|
(<TELL CR
|
||||||
CTHE ,RODRIGUES " continues to row toward the "I"Erasmus""." CR>)
|
CTHE ,RODRIGUES " continues to row toward the "I"Erasmus""." CR>)
|
||||||
(<COND (<FSET? ,ARCHERS ,SCOREBIT>
|
(<COND (<FSET? ,ARCHERS ,SCOREBIT>
|
||||||
|
<CRLF>
|
||||||
<JIGS-UP
|
<JIGS-UP
|
||||||
"One of the archers fires an arrow with incredible accuracy. It takes
|
"One of the archers fires an arrow with incredible accuracy. It takes
|
||||||
Rodrigues in the back, and he falls. The second arrow takes you.">
|
Rodrigues in the back, and he falls. The second arrow takes you.">
|
||||||
<RFATAL>)
|
<RFATAL>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"You are at the "I"Erasmus."" " CTHE ,RODRIGUES " ships the oars under the
|
"You are at the "I"Erasmus"". " CTHE ,RODRIGUES " ships the oars under the
|
||||||
watchful eyes of the samurai on board." CR CR>
|
watchful eyes of the samurai on board." CR CR>
|
||||||
<GOTO ,AT-ERASMUS>)>)
|
<GOTO ,AT-ERASMUS>)>)
|
||||||
(<MOVE ,BOAT-OAR ,SMALL-BOAT>
|
(<MOVE ,BOAT-OAR ,SMALL-BOAT>
|
||||||
|
@ -3512,6 +3673,10 @@ the galley, you wish you were on deck, helping. When the sea pours in and
|
||||||
the galley sinks, you wish so even more strongly.">
|
the galley sinks, you wish so even more strongly.">
|
||||||
<RFATAL>>
|
<RFATAL>>
|
||||||
|
|
||||||
|
<ROUTINE SEALED-PASSAGE ()
|
||||||
|
<TELL "Rodrigues heads immediately for
|
||||||
|
the sealed passage. \""I"Kinjiru, gomen nasai,""\" says one of the samurai." CR>>
|
||||||
|
|
||||||
<ROUTINE DONT-BE-STUPID ()
|
<ROUTINE DONT-BE-STUPID ()
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"\"Get in here, we haven't much time! These buggers are going to start
|
"\"Get in here, we haven't much time! These buggers are going to start
|
||||||
|
@ -3527,4 +3692,4 @@ said they may live again in the world of men. But the smallest breaking of a
|
||||||
rule, and two will be put back into the pit. They are to behave and obey all
|
rule, and two will be put back into the pit. They are to behave and obey all
|
||||||
orders.\"" CR>>
|
orders.\"" CR>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"RODRIGUES">
|
||||||
|
|
|
@ -0,0 +1,328 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("WORD-FLAGS-IN-TABLE" T)) ()>
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
<BEGIN-SEGMENT YOKOHAMA>
|
||||||
|
<OBJECT PISTOL (OWNER BLACKTHORNE) (DESC "pistol") (SYNONYM PISTOL GUN) (FLAGS
|
||||||
|
TAKEBIT WEAPONBIT) (ACTION PISTOL-F)>
|
||||||
|
<DEFINE-ROUTINE PISTOL-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
<OBJECT POWDER-HORN (LOC BLACKTHORNE-QUARTERS) (DESC "powder horn") (SYNONYM
|
||||||
|
HORN POWDER) (ADJECTIVE POWDER) (FLAGS TAKEBIT) (ACTION POWDER-HORN-F)>
|
||||||
|
<DEFINE-ROUTINE POWDER-HORN-F>
|
||||||
|
<DEFINE-ROUTINE I-LOAD-PISTOL>
|
||||||
|
<GLOBAL LOAD-PISTOL-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE MARIKO-FOLLOW-ME>
|
||||||
|
<DEFINE-ROUTINE NINJA-TALK-TO-YABU>
|
||||||
|
<DEFINE-ROUTINE NINJA-INTERRUPT-YABU>
|
||||||
|
<DEFINE-ROUTINE NINJA-FOLLOW-YABU>
|
||||||
|
<DEFINE-ROUTINE EXAMINE-MARIKO>
|
||||||
|
<DEFINE-ROUTINE NINJA-TAKE-MARIKO>
|
||||||
|
<ROOM PRIVATE-QUARTERS (LOC ROOMS) (SCENE S-NINJA) (DESC "Mariko's Quarters") (
|
||||||
|
OWNER MARIKO) (SYNONYM QUARTERS) (SCORE 6) (FDESC
|
||||||
|
"It is early in the morning of the day after Mariko's confrontation, two
|
||||||
|
or three hours before dawn. After she woke, you and Mariko had an hour
|
||||||
|
alone together. \"I still cannot believe that Ishido gave in,\" she
|
||||||
|
said. \"I knew it was my karma to bring the hostages out of Osaka. Only I could
|
||||||
|
do that for Lord Toranaga. And now it's done. But at what a cost,
|
||||||
|
neh? Madonna forgive me.\"|
|
||||||
|
|
|
||||||
|
Now you, Mariko, Kiri, Lady Etsu, and Achiko, the granddaughter of Kiyama, are
|
||||||
|
together in Mariko's quarters. You are still suspicious enough of Ishido's
|
||||||
|
intentions to be carrying your pistol.") (AFTER ETSU-AFTER-F) (NORTH TO
|
||||||
|
SECRET-REDOUBT IF SECRET-REDOUBT-DOOR IS OPEN) (IN TO SECRET-REDOUBT IF
|
||||||
|
SECRET-REDOUBT-DOOR IS OPEN) (SOUTH TO OUTER-ROOM IF NORTH-SHOJI IS OPEN) (OUT
|
||||||
|
TO OUTER-ROOM IF NORTH-SHOJI IS OPEN) (WEST TO PRIVATE-QUARTERS-2) (EAST TO
|
||||||
|
BLACKTHORNE-QUARTERS) (GLOBAL NORTH-SHOJI SECRET-REDOUBT-DOOR LG-NINJA LG-WOMEN
|
||||||
|
) (FLAGS ONBIT NOTHEBIT NOABIT) (ACTION PRIVATE-QUARTERS-F)>
|
||||||
|
<DEFINE-ROUTINE PRIVATE-QUARTERS-F>
|
||||||
|
<GLOBAL MARIKO-PLAN? <>>
|
||||||
|
<OBJECT PLAN (LOC GENERIC-OBJECTS) (DESC "plan") (SYNONYM PLAN) (ADJECTIVE
|
||||||
|
SECRET) (FLAGS SCOREBIT)>
|
||||||
|
<OBJECT CHIMMOKO (LOC OUTER-ROOM) (OWNER MARIKO) (DESC "Chimmoko") (SYNONYM
|
||||||
|
CHIMMOKO MAID) (FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT) (ACTION
|
||||||
|
CHIMMOKO-F)>
|
||||||
|
<DEFINE-ROUTINE CHIMMOKO-F>
|
||||||
|
<DEFINE-ROUTINE I-CHIMMOKO>
|
||||||
|
<OBJECT ETSU (LOC PRIVATE-QUARTERS-2) (DESC "Lady Etsu") (SYNONYM LADY ETSU) (
|
||||||
|
ADJECTIVE LADY OLD) (FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT) (ACTION
|
||||||
|
ETSU-F)>
|
||||||
|
<DEFINE-ROUTINE ETSU-F>
|
||||||
|
<OBJECT ACHIKO (LOC PRIVATE-QUARTERS) (DESC "Achiko") (SYNONYM ACHIKO GIRL) (
|
||||||
|
ADJECTIVE LADY YOUNG KIYAMA) (FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT)
|
||||||
|
(ACTION ACHIKO-F)>
|
||||||
|
<DEFINE-ROUTINE ACHIKO-F>
|
||||||
|
<DEFINE-ROUTINE I-WOMEN>
|
||||||
|
<DEFINE-ROUTINE CHOREOGRAPH>
|
||||||
|
<DEFINE-ROUTINE I-MARIKO-FOLLOW>
|
||||||
|
<ROOM PRIVATE-QUARTERS-2 (LOC ROOMS) (SCENE S-NINJA) (DESC "Private Quarters")
|
||||||
|
(ADJECTIVE PRIVATE) (SYNONYM QUARTERS) (LDESC
|
||||||
|
"This is a smaller room, part of Mariko's quarters. The Lady Etsu has
|
||||||
|
been staying here.") (EAST TO PRIVATE-QUARTERS) (FLAGS ONBIT) (GLOBAL LG-NINJA
|
||||||
|
LG-WOMEN)>
|
||||||
|
<ROOM BLACKTHORNE-QUARTERS (LOC ROOMS) (SCENE S-NINJA) (DESC "Your Quarters") (
|
||||||
|
OWNER BLACKTHORNE) (SYNONYM QUARTERS ROOM) (ADJECTIVE SMALL) (LDESC
|
||||||
|
"This is a small room in which you are quartered.") (WEST TO PRIVATE-QUARTERS)
|
||||||
|
(OUT TO PRIVATE-QUARTERS) (FLAGS ONBIT) (GLOBAL LG-NINJA LG-WOMEN)>
|
||||||
|
<ROOM SECRET-REDOUBT (LOC ROOMS) (SCENE S-NINJA) (DESC "Secret Redoubt") (
|
||||||
|
SYNONYM REDOUBT BOLTHOLE HOLE HAVEN) (ADJECTIVE SECRET BOLT) (SOUTH TO
|
||||||
|
PRIVATE-QUARTERS IF SECRET-REDOUBT-DOOR IS OPEN) (NORTH TO BALCONY IF
|
||||||
|
BALCONY-DOOR IS OPEN) (OUT TO BALCONY IF BALCONY-DOOR IS OPEN) (GLOBAL
|
||||||
|
SECRET-REDOUBT-DOOR BALCONY-DOOR LG-NINJA LG-WOMEN) (FLAGS ONBIT) (ACTION
|
||||||
|
SECRET-REDOUBT-F)>
|
||||||
|
<DEFINE-ROUTINE SECRET-REDOUBT-F>
|
||||||
|
<DEFINE-ROUTINE BOLT-STATE>
|
||||||
|
<DEFINE-ROUTINE BOLTS-REMAINING>
|
||||||
|
<OBJECT BOLTS (LOC SECRET-REDOUBT) (DESC "bolt") (SYNONYM BOLT BOLTS) (
|
||||||
|
ADJECTIVE IRON FIRST SECOND THIRD) (FLAGS NDESCBIT OPENBIT OPENABLE) (COUNT 7)
|
||||||
|
(ACTION BOLTS-F)>
|
||||||
|
<DEFINE-ROUTINE BOLTS-F>
|
||||||
|
<OBJECT SECRET-REDOUBT-DOOR (LOC LOCAL-GLOBALS) (DESC "secret door") (LDESC
|
||||||
|
"The iron-bound door lies shattered in a corner.") (SYNONYM DOOR) (ADJECTIVE
|
||||||
|
SECRET HIDDEN IRON-FORTIFIED IRON) (FLAGS INVISIBLE DOORBIT LOCKABLE) (ACTION
|
||||||
|
SECRET-REDOUBT-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE SECRET-REDOUBT-DOOR-F>
|
||||||
|
<OBJECT BALCONY-DOOR (LOC LOCAL-GLOBALS) (DESC "balcony door") (SYNONYM DOOR) (
|
||||||
|
ADJECTIVE BALCONY) (FLAGS DOORBIT LOCKABLE TRYTAKEBIT) (ACTION BALCONY-DOOR-F)>
|
||||||
|
|
||||||
|
<DEFINE-ROUTINE BALCONY-DOOR-F>
|
||||||
|
<NEW-ADD-WORD "CATCHES" NOUN <VOC "CATCH"> ,PLURAL-FLAG>
|
||||||
|
<OBJECT TOP-CATCH (LOC SECRET-REDOUBT) (DESC "top catch") (SYNONYM CATCH) (
|
||||||
|
ADJECTIVE UPPER TOP RUSTY IRON) (FLAGS NDESCBIT OPENABLE LOCKED) (ACTION
|
||||||
|
CATCH-F)>
|
||||||
|
<OBJECT BOTTOM-CATCH (LOC SECRET-REDOUBT) (DESC "bottom catch") (SYNONYM CATCH)
|
||||||
|
(ADJECTIVE LOWER BOTTOM RUSTY IRON) (FLAGS NDESCBIT OPENABLE LOCKED) (ACTION
|
||||||
|
CATCH-F)>
|
||||||
|
<DEFINE-ROUTINE CATCH-F>
|
||||||
|
<ROOM BALCONY (LOC ROOMS) (DESC "Balcony") (SYNONYM BALCONY) (LDESC
|
||||||
|
"This is a small balcony surrounded by a low battlement. The night air
|
||||||
|
is cool and sweet here after the smoke and confusion inside. The only
|
||||||
|
exit is back into the redoubt. This is as far as you can retreat.") (IN TO
|
||||||
|
SECRET-REDOUBT IF BALCONY-DOOR IS OPEN) (SOUTH TO SECRET-REDOUBT IF
|
||||||
|
BALCONY-DOOR IS OPEN) (FLAGS ONBIT OUTSIDE) (GLOBAL BALCONY-DOOR LG-NINJA
|
||||||
|
LG-WOMEN) (ACTION BALCONY-F)>
|
||||||
|
<DEFINE-ROUTINE BALCONY-F>
|
||||||
|
<OBJECT NORTH-SHOJI (LOC LOCAL-GLOBALS) (DESC "inner shoji") (SYNONYM SHOJI
|
||||||
|
DOOR) (ADJECTIVE INNER) (FLAGS DOORBIT)>
|
||||||
|
<OBJECT SOUTH-SHOJI (LOC LOCAL-GLOBALS) (DESC "outer shoji") (SYNONYM SHOJI
|
||||||
|
DOOR) (ADJECTIVE OUTER) (FLAGS DOORBIT)>
|
||||||
|
<ROOM OUTER-ROOM (LOC ROOMS) (DESC "Outer Room") (SYNONYM ROOM) (ADJECTIVE
|
||||||
|
OUTER) (LDESC "This is a waiting room outside Mariko's quarters. There are shoji
|
||||||
|
screens all around. One opens north to the private rooms, and one
|
||||||
|
south to the inner corridor.") (NORTH TO PRIVATE-QUARTERS IF NORTH-SHOJI IS
|
||||||
|
OPEN) (IN TO PRIVATE-QUARTERS IF NORTH-SHOJI IS OPEN) (OUT TO INNER-CORRIDOR IF
|
||||||
|
SOUTH-SHOJI IS OPEN) (SOUTH TO INNER-CORRIDOR IF SOUTH-SHOJI IS OPEN) (FLAGS
|
||||||
|
ONBIT) (GLOBAL LG-NINJA NORTH-SHOJI SOUTH-SHOJI LG-WOMEN) (ACTION OUTER-ROOM-F)
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE OUTER-ROOM-F>
|
||||||
|
<DEFINE-ROUTINE I-YABU-LEAVES>
|
||||||
|
<GLOBAL FOLLOW-FLAG <>>
|
||||||
|
<DEFINE-ROUTINE SETUP-FOLLOW-YABU>
|
||||||
|
<DEFINE-ROUTINE I-FOLLOW-YABU>
|
||||||
|
<GLOBAL YABU-BETRAYED? <>>
|
||||||
|
<DEFINE-ROUTINE I-YABU>
|
||||||
|
<GLOBAL YABU-CNT 0 %<> WORD>
|
||||||
|
<ROOM STAIRS (LOC ROOMS) (DESC "Winding Stairs") (SYNONYM STAIRS) (ADJECTIVE
|
||||||
|
WINDING) (LDESC "This is the main staircase leading from the tower to the cellars of Toranaga's
|
||||||
|
keep at Osaka.") (UP TO OUTER-CORRIDOR) (DOWN TO SERVANTS-QUARTERS) (FLAGS
|
||||||
|
ONBIT) (ACTION STAIRS-F)>
|
||||||
|
<DEFINE-ROUTINE STAIRS-F>
|
||||||
|
<ROOM SERVANTS-QUARTERS (LOC ROOMS) (SCENE S-NINJA) (DESC "Servants' Quarters")
|
||||||
|
(SYNONYM QUARTERS) (ADJECTIVE SERVANTS) (LDESC
|
||||||
|
"This is a crowded, narrow room full of servants. Many of them are
|
||||||
|
asleep. Others are kneeling, head to flagstones. A stairway leads
|
||||||
|
down to the cellars from here.") (UP TO STAIRS) (DOWN TO CELLARS) (FLAGS ONBIT)
|
||||||
|
(ACTION SERVANTS-QUARTERS-F)>
|
||||||
|
<DEFINE-ROUTINE SERVANTS-QUARTERS-F>
|
||||||
|
<OBJECT SERVANTS (LOC SERVANTS-QUARTERS) (DESC "servants") (SYNONYM SERVANTS
|
||||||
|
SERVANT) (FLAGS NDESCBIT PERSON JAPANESEBIT PLURAL OPENBIT CONTBIT SEARCHBIT) (
|
||||||
|
ACTION SERVANTS-F)>
|
||||||
|
<DEFINE-ROUTINE SERVANTS-F>
|
||||||
|
<ROOM CELLARS (LOC ROOMS) (DESC "Cellars") (SYNONYM CELLAR CELLARS) (UP TO
|
||||||
|
SERVANTS-QUARTERS) (GLOBAL CELLAR-DOOR) (FLAGS ONBIT SCOREBIT) (ACTION
|
||||||
|
CELLARS-F)>
|
||||||
|
<DEFINE-ROUTINE CELLARS-F>
|
||||||
|
<OBJECT BARRELS (LOC CELLARS) (DESC "crates, barrels, and boxes") (SYNONYM
|
||||||
|
CRATE BARREL BOX CRATES BARRELS BOXES PILE STACK) (FLAGS NDESCBIT FURNITURE
|
||||||
|
SURFACEBIT VEHBIT SCOREBIT) (ACTION BARRELS-F)>
|
||||||
|
<DEFINE-ROUTINE BARRELS-F>
|
||||||
|
<OBJECT CELLAR-DOOR (LOC LOCAL-GLOBALS) (DESC "iron-bound door") (SYNONYM DOOR)
|
||||||
|
(ADJECTIVE CELLAR IRON-BOUND IRON BOUND) (FLAGS AN DOORBIT LOCKABLE) (ACTION
|
||||||
|
CELLAR-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE CELLAR-DOOR-F>
|
||||||
|
<ROOM INNER-CORRIDOR (LOC ROOMS) (DESC "Inner Corridor") (SYNONYM CORRIDOR) (
|
||||||
|
ADJECTIVE INNER) (LDESC
|
||||||
|
"This inner corridor is between the Audience Chamber to the west, and
|
||||||
|
the inner apartments of the keep to the north. A sturdy iron-barred door
|
||||||
|
separates the Audience Chamber and the corridor.") (NORTH TO OUTER-ROOM IF
|
||||||
|
SOUTH-SHOJI IS OPEN) (IN TO OUTER-ROOM IF SOUTH-SHOJI IS OPEN) (WEST TO
|
||||||
|
AUDIENCE-CHAMBER IF INNER-DOOR IS OPEN) (OUT TO AUDIENCE-CHAMBER IF INNER-DOOR
|
||||||
|
IS OPEN) (GLOBAL INNER-DOOR LG-NINJA SOUTH-SHOJI GUARDS) (FLAGS ONBIT) (ACTION
|
||||||
|
INNER-CORRIDOR-F)>
|
||||||
|
<DEFINE-ROUTINE INNER-CORRIDOR-F>
|
||||||
|
<DEFINE-ROUTINE YABU-LISTENS>
|
||||||
|
<GLOBAL YABU-HEARD? <>>
|
||||||
|
<ROOM SECRET-ROOM (LOC ROOMS) (DESC "Secret Room") (SYNONYM ROOM) (ADJECTIVE
|
||||||
|
SECRET) (LDESC "This is a secret room south of the Audience Chamber. A dark and narrow
|
||||||
|
stairway leads down as well.") (NORTH TO AUDIENCE-CHAMBER IF SECRET-ROOM-DOOR
|
||||||
|
IS OPEN) (GLOBAL SECRET-ROOM-DOOR LG-NINJA) (FLAGS ONBIT) (ACTION SECRET-ROOM-F
|
||||||
|
)>
|
||||||
|
<DEFINE-ROUTINE SECRET-ROOM-F>
|
||||||
|
<OBJECT SECRET-ROOM-DOOR (LOC LOCAL-GLOBALS) (DESC "secret door") (SYNONYM DOOR
|
||||||
|
) (ADJECTIVE SECRET) (FLAGS INVISIBLE DOORBIT LOCKABLE)>
|
||||||
|
<OBJECT INNER-DOOR (LOC LOCAL-GLOBALS) (DESC "iron-barred inner door") (SYNONYM
|
||||||
|
DOOR) (ADJECTIVE IRON-BARRED IRON-BOUND INNER STURDY) (FLAGS DOORBIT OPENBIT
|
||||||
|
LOCKABLE) (ACTION INNER-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE INNER-DOOR-F>
|
||||||
|
<OBJECT IRON-BAR (LOC INNER-CORRIDOR) (DESC "iron bar") (SYNONYM BAR) (
|
||||||
|
ADJECTIVE IRON) (FLAGS NDESCBIT OPENBIT OPENABLE) (ACTION IRON-BAR-F)>
|
||||||
|
<DEFINE-ROUTINE IRON-BAR-F>
|
||||||
|
<OBJECT OUTER-DOOR (LOC LOCAL-GLOBALS) (DESC "outer door") (SYNONYM DOOR) (
|
||||||
|
ADJECTIVE OUTER) (FLAGS AN LOCKABLE DOORBIT OPENBIT)>
|
||||||
|
<DEFINE-ROUTINE I-ATTACK>
|
||||||
|
<GLOBAL ATTACK-CNT 0 %<> WORD>
|
||||||
|
<BEGIN-SEGMENT PRISON>
|
||||||
|
<OBJECT GRAY-CAPTAIN (SCENE S-NINJA S-PRISON) (OWNER <>) (DESC "Gray Captain")
|
||||||
|
(SYNONYM CAPTAIN) (ADJECTIVE GRAY) (FLAGS PERSON) (HEALTH 4) (GENERIC
|
||||||
|
GENERIC-CAPTAIN-F) (ACTION GRAY-CAPTAIN-F)>
|
||||||
|
<DEFINE-ROUTINE GRAY-CAPTAIN-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
<CONSTANT J-PLUNGE 170>
|
||||||
|
<CONSTANT J-CELLAR 171>
|
||||||
|
<CONSTANT J-SHOOT 172>
|
||||||
|
<CONSTANT J-FOLLOW-CLOSE 173>
|
||||||
|
<CONSTANT J-REAR-GUARD 174>
|
||||||
|
<CONSTANT J-KILL-CAPTAIN 175>
|
||||||
|
<CONSTANT J-KILL-GUARDS 176>
|
||||||
|
<CONSTANT J-CALTROPS 177>
|
||||||
|
<OBJECT GUARDS (DESC "guards") (SYNONYM GUARDS GUARD) (ADJECTIVE SAMURAI GRAY
|
||||||
|
BROWN) (FLAGS PERSON JAPANESEBIT PLURAL NOABIT) (GENERIC GENERIC-SAMURAI-F) (
|
||||||
|
DESCFCN GUARDS-DESC) (ACTION GUARDS-F)>
|
||||||
|
<DEFINE-ROUTINE GUARDS-DESC>
|
||||||
|
<DEFINE-ROUTINE GUARDS-F>
|
||||||
|
<OBJECT LG-NINJA (LOC LOCAL-GLOBALS) (DESC "ninja") (SYNONYM NINJA FIGURE MEN)
|
||||||
|
(ADJECTIVE RED SPOT BLACK CLAD) (FLAGS INVISIBLE PERSON) (GENERIC
|
||||||
|
GENERIC-NINJA-F) (ACTION LG-NINJA-F)>
|
||||||
|
<DEFINE-ROUTINE LG-NINJA-F>
|
||||||
|
<OBJECT NINJA-LEADER (LOC SECRET-ROOM) (DESC "ninja leader") (SYNONYM LEADER
|
||||||
|
MAN) (ADJECTIVE RED SPOT NINJA) (FLAGS NDESCBIT PERSON JAPANESEBIT SCOREBIT) (
|
||||||
|
ACTION NINJA-F)>
|
||||||
|
<OBJECT NINJA (LOC SECRET-ROOM) (DESC "ninja") (SYNONYM NINJA FIGURE MEN) (
|
||||||
|
ADJECTIVE RED SPOT BLACK CLAD) (FLAGS PERSON JAPANESEBIT SCOREBIT PLURAL) (
|
||||||
|
COUNT 5) (DESCFCN NINJA-DESC) (GENERIC GENERIC-NINJA-F) (ACTION NINJA-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-NINJA-F>
|
||||||
|
<DEFINE-ROUTINE NINJA-DESC>
|
||||||
|
<DEFINE-ROUTINE NINJA-F>
|
||||||
|
<DEFINE-ROUTINE I-CAPTAIN-RETURNS>
|
||||||
|
<DEFINE-ROUTINE I-NINJA>
|
||||||
|
<GLOBAL NINJA-COWED-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL CAPTURE-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL CAPTURE-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL KNOCKOUT-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE SETUP-FOLLOW-NINJA>
|
||||||
|
<DEFINE-ROUTINE I-FOLLOW-NINJA>
|
||||||
|
<DEFINE-ROUTINE I-MARIKO-STRUGGLES>
|
||||||
|
<DEFINE-ROUTINE I-NINJA-TAKE-MARIKO>
|
||||||
|
<OBJECT CALTROPS (LOC NINJA) (DESC "caltrops") (SYNONYM CALTROPS CALTROP BALLS
|
||||||
|
BALL) (ADJECTIVE TINY SPIKED METAL) (FLAGS TAKEBIT PLURAL) (ACTION CALTROPS-F)>
|
||||||
|
|
||||||
|
<GLOBAL AVOID-CALTROPS? <>>
|
||||||
|
<DEFINE-ROUTINE CALTROPS-F>
|
||||||
|
<OBJECT SMOKE-BOMB (LOC NINJA) (DESC "smoke") (SYNONYM BOMB SMOKE) (ADJECTIVE
|
||||||
|
SMOKE) (FLAGS NDESCBIT) (ACTION SMOKE-BOMB-F)>
|
||||||
|
<DEFINE-ROUTINE SMOKE-BOMB-F>
|
||||||
|
<DEFINE-ROUTINE I-REMOVE-SMOKE>
|
||||||
|
<OBJECT FIRE-BOMB (LOC NINJA) (DESC "fire bomb") (SYNONYM BOMB FIRE) (ADJECTIVE
|
||||||
|
FIRE) (FLAGS NDESCBIT) (ACTION FIRE-BOMB-F)>
|
||||||
|
<DEFINE-ROUTINE FIRE-BOMB-F>
|
||||||
|
<DEFINE-ROUTINE I-REMOVE-FIRE>
|
||||||
|
<CONSTANT MARIKO-STRUGGLES <LTABLE 0 "dragging a struggling Mariko with them."
|
||||||
|
"pulling Mariko along." "several manhandling Mariko into step with them."
|
||||||
|
"Mariko being pushed along ahead of them.">>
|
||||||
|
<GLOBAL NINJA-ATTACKING-CUL-DE-SAC? <>>
|
||||||
|
<DEFINE-ROUTINE I-NINJA-COWED>
|
||||||
|
<DEFINE-ROUTINE I-NINJA-VS-INNER-DOOR>
|
||||||
|
<GLOBAL DOOR-CNT 0 %<> WORD>
|
||||||
|
<OBJECT DOOR-CRACK (DESC "crack") (SYNONYM CRACK) (FLAGS NDESCBIT) (ACTION
|
||||||
|
DOOR-CRACK-F)>
|
||||||
|
<DEFINE-ROUTINE DOOR-CRACK-F>
|
||||||
|
<DEFINE-ROUTINE I-NINJA-VS-SECRET-DOOR>
|
||||||
|
<GLOBAL DOOR-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE ETSU-AFTER-F>
|
||||||
|
<OBJECT ROSARY (DESC "rosary") (SYNONYM ROSARY CROSS) (ADJECTIVE GOLD TINY
|
||||||
|
GOLDEN) (FLAGS TAKEBIT WEARBIT) (ACTION ROSARY-F)>
|
||||||
|
<DEFINE-ROUTINE ROSARY-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT YOKOHAMA>
|
||||||
|
<CONSTANT J-GRAB-PISTOL 180>
|
||||||
|
<ROOM YOKOHAMA (LOC ROOMS) (SCENE S-YOKOHAMA) (DESC "Yokohama") (FDESC
|
||||||
|
"You recuperate for a few days, and then, to your surprise, your guards are
|
||||||
|
gone. You are taken down to the dock, where you are met by the Captain-General
|
||||||
|
of the Black Ship, Ferriera, and dell'Aqua, the Father-Visitor of the Jesuits.|
|
||||||
|
|
|
||||||
|
Dell'Aqua says, \"Pilot, I'm taking you to your galley. Are you all right?\"|
|
||||||
|
|
|
||||||
|
\"You're really letting me go? Why?\"|
|
||||||
|
|
|
||||||
|
\"Because the Lady Mariko asked us to protect you.\"|
|
||||||
|
|
|
||||||
|
\"But that's no reason! You wouldn't do that just because she asked you.\"|
|
||||||
|
|
|
||||||
|
\"I agree,\" Ferriera says. \"Eminence, why not tell him the whole truth?\"|
|
||||||
|
|
|
||||||
|
\"It doesn't make sense. You know I'm going to destroy you. I'll take your
|
||||||
|
Black Ship.\"|
|
||||||
|
|
|
||||||
|
Ferriera laughs scornfully. \"With what, Ingeles? You have no ship!\"") (
|
||||||
|
FLAGS OUTSIDE ONBIT SCOREBIT) (SCORE 1) (GLOBAL LG-ERASMUS LG-SEA) (ACTION
|
||||||
|
YOKOHAMA-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOHAMA-F>
|
||||||
|
<OBJECT HEADS (LOC YOKOHAMA) (DESC "severed heads") (SYNONYM HEADS HEAD POLE
|
||||||
|
POLES REMAINS) (ADJECTIVE SEVERED GRISLY DEAD) (FLAGS NDESCBIT) (ACTION HEADS-F
|
||||||
|
)>
|
||||||
|
<DEFINE-ROUTINE HEADS-F>
|
||||||
|
<DEFINE-ROUTINE I-VINCK-NUTS>
|
||||||
|
<GLOBAL VINCK-CNT 0 %<> WORD>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT AFTERMATH>
|
||||||
|
<ROOM STABLE (LOC ROOMS) (SCENE S-AFTERMATH) (SCORE 3) (AFTER NEVER-AFTER-F) (
|
||||||
|
FDESC "Toranaga is checking the girths of his saddle. Deftly he knees the
|
||||||
|
horse in the belly, her stomach muscles relax, and he tightens the
|
||||||
|
strap another two notches. Rotten animal, he thinks, despising horses
|
||||||
|
for their constant trickeries and treacheries and ill-tempered
|
||||||
|
dangerousness. He waits a moment and knees the horse hard again. The
|
||||||
|
horse grunts and rattles her bridle and he tightens the straps completely.|
|
||||||
|
|
|
||||||
|
\"Good, Sire! Very good,\" the Hunt Master says with admiration. \"Many
|
||||||
|
would have been satisfied the first time.\"") (DESC "Stable") (SYNONYM STABLE)
|
||||||
|
(LDESC "This is the stable area of the camp at Anjiro.") (FLAGS ONBIT OUTSIDE)
|
||||||
|
(GLOBAL LG-SHIP LG-NINJA CELLAR-DOOR) (ACTION STABLE-F)>
|
||||||
|
<DEFINE-ROUTINE STABLE-F>
|
||||||
|
<DEFINE-ROUTINE I-STABLE>
|
||||||
|
<GLOBAL STABLE-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE TORANAGA-LOSES-PATIENCE>
|
||||||
|
<DEFINE-ROUTINE BUILD-ANOTHER-SHIP>
|
||||||
|
<DEFINE-ROUTINE AFTERMATH-ANSWERS>
|
||||||
|
<DEFINE-ROUTINE YABU-BETRAYED-YOU>
|
||||||
|
<DEFINE-ROUTINE YABU-LET-IN-NINJA?>
|
||||||
|
<GLOBAL AFTERMATH-QUESTION <>>
|
||||||
|
<OBJECT SEALED-SCROLL (SDESC "sealed scroll") (OWNER MARIKO) (SCENE S-AFTERMATH
|
||||||
|
) (SYNONYM SCROLL LETTER MESSAGE SEAL) (ADJECTIVE SEALED RICE-PAPER) (FLAGS
|
||||||
|
CONTBIT SEARCHBIT TAKEBIT READBIT SCOREBIT OPENABLE) (ACTION SEALED-SCROLL-F)>
|
||||||
|
<DEFINE-ROUTINE SEALED-SCROLL-F>
|
||||||
|
<OBJECT PEDESTAL (DESC "pedestal") (SCENE S-AFTERMATH) (SYNONYM PEDESTAL SPIKE)
|
||||||
|
(ADJECTIVE SMALL) (FLAGS OPENBIT CONTBIT SEARCHBIT TAKEBIT) (ACTION YABU-HEAD-F
|
||||||
|
)>
|
||||||
|
<OBJECT YABU-HEAD (LOC PEDESTAL) (DESC "head") (SCENE S-AFTERMATH) (OWNER YABU)
|
||||||
|
(SYNONYM HEAD MASK) (ADJECTIVE DEATH) (FLAGS PERSON DEAD TAKEBIT) (ACTION
|
||||||
|
YABU-HEAD-F)>
|
||||||
|
<DEFINE-ROUTINE YABU-HEAD-F>
|
||||||
|
<DEFINE-ROUTINE NEVER-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT SEKIGAHARA>
|
||||||
|
<ROOM SEKIGAHARA (LOC ROOMS) (SCENE S-EPILOGUE) (DESC "Sekigahara") (FLAGS
|
||||||
|
ONBIT) (SCORE 0) (ACTION SEKIGAHARA-F)>
|
||||||
|
<DEFINE-ROUTINE SEKIGAHARA-F>
|
||||||
|
<END-SEGMENT>
|
File diff suppressed because it is too large
Load Diff
373
attack.zil
373
attack.zil
|
@ -5,6 +5,7 @@
|
||||||
<FILE-FLAGS SENTENCE-ENDS?>
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
|
||||||
<BEGIN-SEGMENT NINJA>
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
<BEGIN-SEGMENT YOKOHAMA>
|
||||||
|
|
||||||
<OBJECT PISTOL
|
<OBJECT PISTOL
|
||||||
(OWNER BLACKTHORNE)
|
(OWNER BLACKTHORNE)
|
||||||
|
@ -39,6 +40,9 @@ your grasp by the force of the explosion!" CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL "It's already loaded." CR>)>)>>
|
<TELL "It's already loaded." CR>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"NINJA+YOKOHAMA">
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
|
||||||
<OBJECT POWDER-HORN
|
<OBJECT POWDER-HORN
|
||||||
(LOC BLACKTHORNE-QUARTERS)
|
(LOC BLACKTHORNE-QUARTERS)
|
||||||
(DESC "powder horn")
|
(DESC "powder horn")
|
||||||
|
@ -81,6 +85,216 @@ plug." CR>)
|
||||||
G"You continue loading the pistol. Next"", blow the dust carefully away from
|
G"You continue loading the pistol. Next"", blow the dust carefully away from
|
||||||
the flint. Finished!" CR>)>>
|
the flint. Finished!" CR>)>>
|
||||||
|
|
||||||
|
<ROUTINE MARIKO-FOLLOW-ME ()
|
||||||
|
<COND (<NOT <IN? ,MARIKO ,HERE>>
|
||||||
|
<COND (<NEXT-ROOM? <LOC ,MARIKO>>
|
||||||
|
<COND (<QUEUED? I-NINJA-TAKE-MARIKO>
|
||||||
|
<TELL
|
||||||
|
"Mariko is struggling with the ninja in the next room. They are trying to
|
||||||
|
abduct her!" CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Mariko is in the next room." CR>)>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"You no longer know where Mariko is." CR>)>)
|
||||||
|
(<HERE? ,SECRET-REDOUBT ,BALCONY>
|
||||||
|
<TELL
|
||||||
|
"\"No, Anjin-san, I can no longer follow.\"" CR>)
|
||||||
|
(<QUEUED? I-NINJA-TAKE-MARIKO>
|
||||||
|
<TELL
|
||||||
|
"She struggles to free herself from the ninja, but she
|
||||||
|
can't. \"Help me, Anjin-san!\" she yells." CR>)
|
||||||
|
(ELSE
|
||||||
|
<QUEUE I-MARIKO-FOLLOW -1>
|
||||||
|
<COND (<QUEUED? I-NINJA>
|
||||||
|
<COND (,CAPTURE-CNT
|
||||||
|
<TELL
|
||||||
|
"\"You can't let them take me">)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"I'll stay close by">)>
|
||||||
|
<TELL
|
||||||
|
", Anjin-san.\" she replies." CR>)
|
||||||
|
(<QUEUED? I-NINJA-COWED>
|
||||||
|
<TELL
|
||||||
|
"\"I'm coming!\" she says, rushing to your side." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"I will follow you,\" she replies." CR>)>
|
||||||
|
<SCORE-OBJECT ,MARIKO>)>>
|
||||||
|
|
||||||
|
<ROUTINE NINJA-TALK-TO-YABU ()
|
||||||
|
<COND (<VERB? TELL-ME-ABOUT WHAT>
|
||||||
|
<COND (<PRSO? ,PLAN>
|
||||||
|
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||||||
|
<TELL
|
||||||
|
"Yabu is very nervous. \"I know nothing of any plan!\" he blusters." CR>)
|
||||||
|
(ELSE
|
||||||
|
<COND (<ADJ-USED? ,PLAN ,W?SECRET>
|
||||||
|
<TELL "\"No secret">)
|
||||||
|
(ELSE
|
||||||
|
<TELL "\"So sorry">)>
|
||||||
|
<TELL
|
||||||
|
", Anjin-san. You misunderstood. Say only must have plan. Very
|
||||||
|
difficult escape Osaka, neh? Understand?\" Yabu appears somewhat
|
||||||
|
nervous." CR>
|
||||||
|
<SCORE-OBJECT ,PLAN>)>)
|
||||||
|
(<PRSO? ,NINJA ,LG-NINJA>
|
||||||
|
<TELL
|
||||||
|
"\"Ninja! Filthy assassins! Who would use ninja! Filth!\" He seems very
|
||||||
|
agitated and nervous." CR>)
|
||||||
|
(<PRSO? ,MARIKO>
|
||||||
|
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||||||
|
<TELL
|
||||||
|
"\"Mariko is dead, Anjin-san.\"" CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"She has done a very foolish thing, Anjin-san,\" he says
|
||||||
|
vehemently. He seems to be suppressing an even stronger response. He is very
|
||||||
|
nervous." CR>)>)>)
|
||||||
|
(<AND <VERB? YES HAI>
|
||||||
|
<HERE? ,OUTER-ROOM>>
|
||||||
|
<COND (<NOT <FSET? ,PLAN ,SCOREBIT>>
|
||||||
|
<TELL
|
||||||
|
"\"Very good, Anjin-san,\" Yabu replies, looking much relieved." CR>)
|
||||||
|
(<EQUAL? ,YABU-CNT 1 2>
|
||||||
|
<TELL
|
||||||
|
"\"Good, good!\" Yabu nods. \"Very worried about Lady Toda.\" He
|
||||||
|
smiles." CR>)>)
|
||||||
|
(<AND <VERB? NO IYE>
|
||||||
|
<HERE? ,OUTER-ROOM>>
|
||||||
|
<COND (<NOT <FSET? ,PLAN ,SCOREBIT>>
|
||||||
|
<TELL
|
||||||
|
"\"Don't worry, Anjin-san,\" Yabu replies, trying to look
|
||||||
|
unworried." CR>)
|
||||||
|
(<EQUAL? ,YABU-CNT 1 2>
|
||||||
|
<TELL
|
||||||
|
"\"There is no plan, Anjin-san!\" Yabu says. \"I'm only worried about
|
||||||
|
Lady Toda.\"" CR>)>)
|
||||||
|
(ELSE
|
||||||
|
<YABU-WAKARIMASEN>)>>
|
||||||
|
|
||||||
|
<ROUTINE NINJA-INTERRUPT-YABU ()
|
||||||
|
<COND (<JIGS-UP? ,J-CALL-YABU
|
||||||
|
"You're supposed to be following him, not talking to him!">
|
||||||
|
<TELL
|
||||||
|
"Yabu seems surprised to hear you call to him. He turns and says something
|
||||||
|
to you in an angry tone of voice. You hear the word \""I"kinjiru""\", which
|
||||||
|
means 'forbidden.' Then Yabu draws his killing sword, advances on you, and
|
||||||
|
removes your head.">
|
||||||
|
<JIGS-UP>
|
||||||
|
<RFATAL>)
|
||||||
|
(ELSE
|
||||||
|
<COND (<VERB? TELL>
|
||||||
|
<END-QUOTE>
|
||||||
|
<RFATAL>)
|
||||||
|
(ELSE <RTRUE>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE NINJA-FOLLOW-YABU ("AUX" RM)
|
||||||
|
<SET RM <LOC ,YABU>>
|
||||||
|
<COND (<HERE? .RM>
|
||||||
|
<COND (<HERE? ,CELLARS>
|
||||||
|
<TELL
|
||||||
|
"He doesn't appear to be going anywhere." CR>)
|
||||||
|
(,FOLLOW-FLAG
|
||||||
|
<TELL
|
||||||
|
"You continue following him, keeping well behind and being as quiet
|
||||||
|
as possible." CR>)
|
||||||
|
(ELSE
|
||||||
|
<SETUP-FOLLOW-YABU>
|
||||||
|
<TELL
|
||||||
|
"You follow Yabu, doing your best to avoid being noticed." CR>)>)
|
||||||
|
(<NEXT-ROOM? .RM>
|
||||||
|
<COND (,FOLLOW-FLAG
|
||||||
|
<COND (<HERE? ,INNER-CORRIDOR>
|
||||||
|
<TELL
|
||||||
|
"You follow warily behind him, keeping out of sight." CR>)
|
||||||
|
(<HERE? ,AUDIENCE-CHAMBER>
|
||||||
|
<TELL
|
||||||
|
"You follow behind him, bowing to the guards but keeping far enough
|
||||||
|
behind Yabu that he doesn't know he's being followed." CR>)
|
||||||
|
(<HERE? ,OUTER-CORRIDOR>
|
||||||
|
<TELL
|
||||||
|
"You follow him, letting him get one turn ahead of you on the stairs." CR>)
|
||||||
|
(<HERE? ,STAIRS>
|
||||||
|
<TELL
|
||||||
|
"You slip silently into the servants' quarters, and they stare at you
|
||||||
|
but don't move. Yabu is heading towards a stairway leading down." CR>)
|
||||||
|
(<HERE? ,SERVANTS-QUARTERS>
|
||||||
|
<TELL
|
||||||
|
"You follow Yabu at a safe distance, sometimes almost losing him in
|
||||||
|
the labyrinthine cellars. He reaches a large, dimly-lit room full of
|
||||||
|
boxes and barrels." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"You follow behind as silently and stealthily as you can." CR>)>)
|
||||||
|
(ELSE
|
||||||
|
<SETUP-FOLLOW-YABU>
|
||||||
|
<TELL "You begin following Yabu, ">
|
||||||
|
<COND (<HERE? ,OUTER-ROOM>
|
||||||
|
<TELL
|
||||||
|
"hoping he won't lose you." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"keeping far enough behind that he doesn't realize
|
||||||
|
he's being followed." CR>)>)>
|
||||||
|
<CRLF>
|
||||||
|
<GOTO .RM>
|
||||||
|
<RTRUE>)
|
||||||
|
(ELSE
|
||||||
|
<SETG FOLLOW-FLAG <>>
|
||||||
|
<TELL "You've lost him!" CR>)>>
|
||||||
|
|
||||||
|
<ROUTINE EXAMINE-MARIKO ()
|
||||||
|
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||||||
|
<COND (<FSET? ,MARIKO ,DEAD>
|
||||||
|
<TELL
|
||||||
|
"She seems at peace, sleeping. You move the kimono aside, then
|
||||||
|
put it back again. Her pulse is almost imperceptible. Then it
|
||||||
|
ceases.">)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Lady Mariko is broken and dying. She is still alive, but fading
|
||||||
|
rapidly.">)>
|
||||||
|
<TELL
|
||||||
|
"Her face is hardly touched but her body is terribly
|
||||||
|
mutilated. Around her neck is her rosary, the tiny golden cross
|
||||||
|
lying on her throat." CR>)
|
||||||
|
(<QUEUED? I-NINJA-TAKE-MARIKO>
|
||||||
|
<TELL
|
||||||
|
"Lady Mariko is struggling to free herself." CR>)
|
||||||
|
(<QUEUED? I-NINJA>
|
||||||
|
<TELL
|
||||||
|
"Lady Mariko looks like the samurai she is, brave and fearless, intent upon
|
||||||
|
her purpose." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Lady Mariko looks tired, but delicate and beautiful. The effects of the
|
||||||
|
afternoon are still with her, but she is content to be here with you." CR>)>>
|
||||||
|
|
||||||
|
<ROUTINE NINJA-TAKE-MARIKO ()
|
||||||
|
<COND (<FSET? ,MARIKO ,RMUNGBIT>
|
||||||
|
<COND (<FSET? ,BLACKTHORNE ,RMUNGBIT>
|
||||||
|
<TELL
|
||||||
|
"You're too far away. You'll have to get closer somehow." CR>)
|
||||||
|
(ELSE
|
||||||
|
<MOVE ,MARIKO ,WINNER>
|
||||||
|
<TELL
|
||||||
|
"You take her in your arms, her broken body so small it feels like
|
||||||
|
she can hardly be real." CR>)>)
|
||||||
|
(<IN? ,MARIKO ,SECRET-REDOUBT>
|
||||||
|
<MOVE ,MARIKO ,WINNER>
|
||||||
|
<QUEUE I-MARIKO-STRUGGLES -1>
|
||||||
|
<TELL
|
||||||
|
"You grab her, dragging her toward the balcony, but she tries to get
|
||||||
|
away. \"No, Anjin-san! I must stay here!\"" CR>)
|
||||||
|
(ELSE
|
||||||
|
<SETG WINNER ,MARIKO>
|
||||||
|
<PERFORM ,V?FOLLOW>
|
||||||
|
<SETG WINNER ,PLAYER>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<ROOM PRIVATE-QUARTERS
|
<ROOM PRIVATE-QUARTERS
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-NINJA)
|
(SCENE S-NINJA)
|
||||||
|
@ -93,8 +307,8 @@ the flint. Finished!" CR>)>>
|
||||||
or three hours before dawn. After she woke, you and Mariko had an hour
|
or three hours before dawn. After she woke, you and Mariko had an hour
|
||||||
alone together. \"I still cannot believe that Ishido gave in,\" she
|
alone together. \"I still cannot believe that Ishido gave in,\" she
|
||||||
said. \"I knew it was my karma to bring the hostages out of Osaka. Only I could
|
said. \"I knew it was my karma to bring the hostages out of Osaka. Only I could
|
||||||
do that for Lord Toranaga. And now it's done. But at what a cost, neh?
|
do that for Lord Toranaga. And now it's done. But at what a cost,
|
||||||
Madonna forgive me.\"|
|
neh? Madonna forgive me.\"|
|
||||||
|
|
|
|
||||||
Now you, Mariko, Kiri, Lady Etsu, and Achiko, the granddaughter of Kiyama, are
|
Now you, Mariko, Kiri, Lady Etsu, and Achiko, the granddaughter of Kiyama, are
|
||||||
together in Mariko's quarters. You are still suspicious enough of Ishido's
|
together in Mariko's quarters. You are still suspicious enough of Ishido's
|
||||||
|
@ -132,7 +346,7 @@ the west, your room to the east, and an outer room which leads to a
|
||||||
corridor on the south.">
|
corridor on the south.">
|
||||||
<COND (<NOT <FSET? ,SECRET-REDOUBT-DOOR ,INVISIBLE>>
|
<COND (<NOT <FSET? ,SECRET-REDOUBT-DOOR ,INVISIBLE>>
|
||||||
<TELL
|
<TELL
|
||||||
" On the north wall is the iron-bound door to Lord Toranaga's secret
|
"On the north wall is the iron-bound door to Lord Toranaga's secret
|
||||||
room.">)>
|
room.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
|
@ -222,7 +436,7 @@ well oiled. \"This is my Master's secret haven,\" she pants." CR>)>)>>
|
||||||
"Chimmoko, Mariko's servant, enters and bows. \"Lord Yabu wishes to
|
"Chimmoko, Mariko's servant, enters and bows. \"Lord Yabu wishes to
|
||||||
speak with the Anjin-san,\" she says.">
|
speak with the Anjin-san,\" she says.">
|
||||||
<COND (<NOT <HERE? <LOC ,YABU>>>
|
<COND (<NOT <HERE? <LOC ,YABU>>>
|
||||||
<TELL " \"He is waiting in the outer room.\"">)>
|
<TELL "\"He is waiting in the outer room.\"">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<QUEUE I-CHIMMOKO 1>)>)>>
|
<QUEUE I-CHIMMOKO 1>)>)>>
|
||||||
|
@ -435,70 +649,6 @@ been staying here.")
|
||||||
(FLAGS ONBIT)
|
(FLAGS ONBIT)
|
||||||
(GLOBAL LG-NINJA LG-WOMEN)>
|
(GLOBAL LG-NINJA LG-WOMEN)>
|
||||||
|
|
||||||
<OBJECT SWORDS
|
|
||||||
(OWNER BLACKTHORNE)
|
|
||||||
(DESC "swords")
|
|
||||||
(SYNONYM SWORDS SWORD SELLER)
|
|
||||||
(ADJECTIVE PAIR KILLING STABBING OIL LONG SHORT)
|
|
||||||
(FLAGS TAKEBIT WEARABLE WEAPONBIT NOABIT SCOREBIT PLURAL)
|
|
||||||
(GENERIC GENERIC-SWORD-F)
|
|
||||||
(ACTION SWORDS-F)>
|
|
||||||
|
|
||||||
<ROUTINE SWORDS-F ()
|
|
||||||
<COND (<VERB? EXAMINE>
|
|
||||||
<COND (<FSET? ,SWORDS ,RMUNGBIT>
|
|
||||||
<FCLEAR ,SWORDS ,RMUNGBIT>
|
|
||||||
<FSET ,SWORDS ,SCOREBIT>
|
|
||||||
<SCORE-OBJECT ,SWORDS>
|
|
||||||
<TELL
|
|
||||||
"You quickly check your sword belt. It's loose, almost ready to fall
|
|
||||||
off! What a stroke of luck you checked it! How embarrassing if it had
|
|
||||||
fallen off!" CR>)
|
|
||||||
(ELSE
|
|
||||||
<TELL
|
|
||||||
"You have a pair of samurai swords, one the long killing sword">
|
|
||||||
<COND (<G? ,SCENE ,S-QUAKE>
|
|
||||||
<TELL
|
|
||||||
" named 'Oil Seller'">)>
|
|
||||||
<TELL ", and
|
|
||||||
the other the shorter stabbing sword." CR>)>)
|
|
||||||
(<AND <VERB? WHO WHAT>
|
|
||||||
<NOUN-USED? ,PRSO ,W?SELLER>>
|
|
||||||
<TELL
|
|
||||||
"The name comes from an experience you would rather forget. One day
|
|
||||||
hunting with Toranaga, your path had been blocked by a weather-beaten
|
|
||||||
old oil
|
|
||||||
seller. Cursing, you commanded him to move, and he cursed you
|
|
||||||
back. Toranaga pointed to one of his bodyguards, asked you to give him
|
|
||||||
your sword, and before you realized what was happening, the samurai
|
|
||||||
lunged at the peddler. He walked on a pace before falling, divided
|
|
||||||
in two at the waist. Toranaga suggested you call your sword 'Oil
|
|
||||||
Seller' in honor of the incident. \"Your sword has now become legend.\"" CR>)
|
|
||||||
(<VERB? WEAR>
|
|
||||||
<COND (<NOT <FSET? ,PRSO ,WEARBIT>>
|
|
||||||
<FSET ,PRSO ,WEARBIT>
|
|
||||||
<TELL
|
|
||||||
"You shove the sword into your sash." CR>)
|
|
||||||
(ELSE
|
|
||||||
<TELL "The sword is already in your sash." CR>)>)
|
|
||||||
(<AND <VERB? TAKE>
|
|
||||||
<NOT <HELD? ,PRSO>>>
|
|
||||||
<COND (<EQUAL? <ITAKE> T>
|
|
||||||
<FSET ,SWORDS ,WEARBIT>
|
|
||||||
<TELL
|
|
||||||
"You take the sword and shove it into your sash." CR>)
|
|
||||||
(ELSE <RTRUE>)>)
|
|
||||||
(<OR <AND <VERB? DRAW PICK USE TAKE>
|
|
||||||
<HELD? ,PRSO>>
|
|
||||||
<P? PUT * HANDS>>
|
|
||||||
<COND (<FSET? ,PRSO ,WEARBIT>
|
|
||||||
<FCLEAR ,PRSO ,WEARBIT>
|
|
||||||
<TELL
|
|
||||||
"Your skill with the sword is not great, but you are now as ready as
|
|
||||||
you will ever be!" CR>)
|
|
||||||
(ELSE
|
|
||||||
<TELL "You've already drawn your sword." CR>)>)>>
|
|
||||||
|
|
||||||
<ROOM SECRET-REDOUBT
|
<ROOM SECRET-REDOUBT
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-NINJA)
|
(SCENE S-NINJA)
|
||||||
|
@ -668,10 +818,10 @@ G"You would have to walk right through the ninja!" CR>)>)>>
|
||||||
"This is a heavy, iron-bound door. It looks very strong.">
|
"This is a heavy, iron-bound door. It looks very strong.">
|
||||||
<COND (<FSET? ,PRSO ,OPENBIT>
|
<COND (<FSET? ,PRSO ,OPENBIT>
|
||||||
<TELL
|
<TELL
|
||||||
" The door is open now.">)>
|
"The door is open now.">)>
|
||||||
<COND (<HERE? ,SECRET-REDOUBT>
|
<COND (<HERE? ,SECRET-REDOUBT>
|
||||||
<TELL
|
<TELL
|
||||||
" There are three iron bolts to secure the door, ">
|
"There are three iron bolts to secure the door, ">
|
||||||
<BOLT-STATE .CNT>
|
<BOLT-STATE .CNT>
|
||||||
<TELL "." CR>)>
|
<TELL "." CR>)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
|
@ -679,11 +829,17 @@ G"You would have to walk right through the ninja!" CR>)>)>>
|
||||||
<COND (<EQUAL? .CNT 7> <RFALSE>)
|
<COND (<EQUAL? .CNT 7> <RFALSE>)
|
||||||
(ELSE <TELL "The door is still bolted." CR>)>)
|
(ELSE <TELL "The door is still bolted." CR>)>)
|
||||||
(<VERB? LOCK>
|
(<VERB? LOCK>
|
||||||
<PERFORM ,V?CLOSE ,BOLTS>
|
<COND (<HERE? PRIVATE-QUARTERS>
|
||||||
<RTRUE>)
|
<TELL "The door doesn't lock from this side." CR>)
|
||||||
|
(ELSE
|
||||||
|
<PERFORM ,V?CLOSE ,BOLTS>
|
||||||
|
<RTRUE>)>)
|
||||||
(<VERB? UNLOCK>
|
(<VERB? UNLOCK>
|
||||||
<PERFORM ,V?OPEN ,BOLTS>
|
<COND (<HERE? PRIVATE-QUARTERS>
|
||||||
<RTRUE>)>>
|
<TELL "The door doesn't unlock from this side." CR>)
|
||||||
|
(ELSE
|
||||||
|
<PERFORM ,V?OPEN ,BOLTS>
|
||||||
|
<RTRUE>)>)>>
|
||||||
|
|
||||||
<OBJECT BALCONY-DOOR
|
<OBJECT BALCONY-DOOR
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
|
@ -887,7 +1043,8 @@ G"You would have to walk right through the ninja!" CR>)>)>)>)
|
||||||
<QUEUE I-YABU -1>
|
<QUEUE I-YABU -1>
|
||||||
<TELL
|
<TELL
|
||||||
"As you enter, you see Yabu waiting impatiently. Beyond him you see
|
"As you enter, you see Yabu waiting impatiently. Beyond him you see
|
||||||
a guard watching curiously." CR CR>)>)>>
|
a guard watching curiously." CR CR>)>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<ROUTINE I-YABU-LEAVES ()
|
<ROUTINE I-YABU-LEAVES ()
|
||||||
<COND (<L? ,YABU-CNT 3>
|
<COND (<L? ,YABU-CNT 3>
|
||||||
|
@ -1128,7 +1285,7 @@ bowing abjectly and pretending not to exist." CR>)
|
||||||
mildewed, though well-lit. Crates, boxes and barrels are everywhere.">
|
mildewed, though well-lit. Crates, boxes and barrels are everywhere.">
|
||||||
<COND (,YABU-BETRAYED?
|
<COND (,YABU-BETRAYED?
|
||||||
<TELL
|
<TELL
|
||||||
" An ">
|
"An ">
|
||||||
<COND (<FSET? ,CELLAR-DOOR ,OPENBIT>
|
<COND (<FSET? ,CELLAR-DOOR ,OPENBIT>
|
||||||
<TELL "open ">)>
|
<TELL "open ">)>
|
||||||
<TELL "iron-bound door is set in the east wall.">)>
|
<TELL "iron-bound door is set in the east wall.">)>
|
||||||
|
@ -1340,22 +1497,33 @@ CTHE ,GUARDS G" stop you from closing the door." CR>)>)
|
||||||
|
|
||||||
<ROUTINE IRON-BAR-F ()
|
<ROUTINE IRON-BAR-F ()
|
||||||
<COND (<VERB? EXAMINE>
|
<COND (<VERB? EXAMINE>
|
||||||
<TELL-OPEN-CLOSED>)
|
<COND (<OR <HERE? ,INNER-CORRIDOR>
|
||||||
|
<FSET? ,INNER-DOOR ,OPENBIT>>
|
||||||
|
<TELL-OPEN-CLOSED>)
|
||||||
|
(ELSE
|
||||||
|
<TELL G"You can't see " THE ,PRSO " from here." CR>)>)
|
||||||
(<AND <VERB? OPEN>
|
(<AND <VERB? OPEN>
|
||||||
<NOT <FSET? ,IRON-BAR ,OPENBIT>>>
|
<NOT <FSET? ,IRON-BAR ,OPENBIT>>>
|
||||||
<FSET ,IRON-BAR ,OPENBIT>
|
<COND (<OR <HERE? ,INNER-CORRIDOR>
|
||||||
<FCLEAR ,INNER-DOOR ,LOCKED>
|
<FSET? ,INNER-DOOR ,OPENBIT>>
|
||||||
<TELL
|
<FSET ,IRON-BAR ,OPENBIT>
|
||||||
|
<FCLEAR ,INNER-DOOR ,LOCKED>
|
||||||
|
<TELL
|
||||||
"You slide the bar aside." CR>)
|
"You slide the bar aside." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL G"You can't open " THE ,PRSO " from here." CR>)>)
|
||||||
(<AND <VERB? CLOSE>
|
(<AND <VERB? CLOSE>
|
||||||
<FSET? ,IRON-BAR ,OPENBIT>>
|
<FSET? ,IRON-BAR ,OPENBIT>>
|
||||||
<COND (<AND <IN? ,GRAY-CAPTAIN ,AUDIENCE-CHAMBER>
|
<COND (<AND <HERE? ,AUDIENCE-CHAMBER>
|
||||||
|
<NOT <FSET? ,INNER-DOOR ,OPENBIT>>>
|
||||||
|
<TELL G"You can't close " THE ,PRSO " from here." CR>)
|
||||||
|
(<AND <IN? ,GRAY-CAPTAIN ,AUDIENCE-CHAMBER>
|
||||||
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
||||||
<TELL
|
<TELL
|
||||||
CTHE ,GUARDS G" stop you from barring the door." CR>)
|
CTHE ,GRAY-CAPTAIN " stops"G" you from barring the door." CR>)
|
||||||
(<IN? ,GUARDS ,AUDIENCE-CHAMBER>
|
(<IN? ,GUARDS ,AUDIENCE-CHAMBER>
|
||||||
<TELL
|
<TELL
|
||||||
CTHE ,GUARDS G" stop you from barring the door." CR>)
|
CTHE ,GUARDS " stop"G" you from barring the door." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<FCLEAR ,IRON-BAR ,OPENBIT>
|
<FCLEAR ,IRON-BAR ,OPENBIT>
|
||||||
<FSET ,INNER-DOOR ,LOCKED>
|
<FSET ,INNER-DOOR ,LOCKED>
|
||||||
|
@ -1402,7 +1570,7 @@ screams, and the clash of swords fill the air." CR>)
|
||||||
G"The sounds of ""battle continue, a violent shouting melee.">
|
G"The sounds of ""battle continue, a violent shouting melee.">
|
||||||
<COND (<HERE? ,AUDIENCE-CHAMBER ,OUTER-CORRIDOR
|
<COND (<HERE? ,AUDIENCE-CHAMBER ,OUTER-CORRIDOR
|
||||||
,INNER-CORRIDOR>
|
,INNER-CORRIDOR>
|
||||||
<TELL " The frantic
|
<TELL "The frantic
|
||||||
guards at the fortified door to the outer corridor listen anxiously to
|
guards at the fortified door to the outer corridor listen anxiously to
|
||||||
the mounting holocaust below.">)>
|
the mounting holocaust below.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
|
@ -1433,6 +1601,8 @@ inner corridor." CR>)
|
||||||
"Now the captain of the Grays leaves the audience chamber." CR>)>)
|
"Now the captain of the Grays leaves the audience chamber." CR>)>)
|
||||||
(ELSE <RFALSE>)>)>>
|
(ELSE <RFALSE>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT PRISON>
|
||||||
|
|
||||||
<OBJECT GRAY-CAPTAIN
|
<OBJECT GRAY-CAPTAIN
|
||||||
(SCENE S-NINJA S-PRISON)
|
(SCENE S-NINJA S-PRISON)
|
||||||
(OWNER <>)
|
(OWNER <>)
|
||||||
|
@ -1477,11 +1647,11 @@ the hostages and his desire to destroy the attackers." CR>)
|
||||||
"You fire the pistol, killing the captain instantly.">
|
"You fire the pistol, killing the captain instantly.">
|
||||||
<COND (<IN? ,GUARDS ,HERE>
|
<COND (<IN? ,GUARDS ,HERE>
|
||||||
<JIGS-UP
|
<JIGS-UP
|
||||||
" The other guards turn and immediately assume this is a
|
"The other guards turn and immediately assume this is a
|
||||||
betrayal. They cut you down in short order.">)
|
betrayal. They cut you down in short order.">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" As the gray guards aren't here, you may get away with it." CR>)>)
|
"As the gray guards aren't here, you may get away with it." CR>)>)
|
||||||
(ELSE <RTRUE>)>)>)
|
(ELSE <RTRUE>)>)>)
|
||||||
(<AND <HOSTILE-VERB?>
|
(<AND <HOSTILE-VERB?>
|
||||||
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>>
|
||||||
|
@ -1491,6 +1661,10 @@ betrayal. They cut you down in short order.">)
|
||||||
some scheme of betrayal, he fights back, and you are dispatched quickly.">)
|
some scheme of betrayal, he fights back, and you are dispatched quickly.">)
|
||||||
(ELSE <RTRUE>)>)>>
|
(ELSE <RTRUE>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"NINJA+PRISON">
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
|
||||||
<CONSTANT J-PLUNGE 170>
|
<CONSTANT J-PLUNGE 170>
|
||||||
<CONSTANT J-CELLAR 171>
|
<CONSTANT J-CELLAR 171>
|
||||||
<CONSTANT J-SHOOT 172>
|
<CONSTANT J-SHOOT 172>
|
||||||
|
@ -1680,6 +1854,8 @@ and dispatches you before you can escape.">)>
|
||||||
<RFATAL>)>
|
<RFATAL>)>
|
||||||
<SETG KNOCKOUT-CNT 0>
|
<SETG KNOCKOUT-CNT 0>
|
||||||
<COND (<NOT <FSET? ,BALCONY ,TOUCHBIT>>
|
<COND (<NOT <FSET? ,BALCONY ,TOUCHBIT>>
|
||||||
|
<COND (<IN? ,MARIKO ,HERE>
|
||||||
|
<SETG CAPTURE-CNT 0>)>
|
||||||
<QUEUE I-NINJA-COWED <GETP ,NINJA ,P?COUNT>>)>
|
<QUEUE I-NINJA-COWED <GETP ,NINJA ,P?COUNT>>)>
|
||||||
<FSET ,PISTOL ,RMUNGBIT>
|
<FSET ,PISTOL ,RMUNGBIT>
|
||||||
<COND (<AND <OR <HERE? ,AUDIENCE-CHAMBER>
|
<COND (<AND <OR <HERE? ,AUDIENCE-CHAMBER>
|
||||||
|
@ -1694,7 +1870,7 @@ and dispatches you before you can escape.">)>
|
||||||
momentarily stopping the charge.">
|
momentarily stopping the charge.">
|
||||||
<COND (<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>
|
<COND (<NOT <FSET? ,GRAY-CAPTAIN ,DEAD>>
|
||||||
<TELL
|
<TELL
|
||||||
" The shot alerts the Captain of the Grays.">)>
|
"The shot alerts the Captain of the Grays.">)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<SCORE-OBJECT ,NINJA>)
|
<SCORE-OBJECT ,NINJA>)
|
||||||
(ELSE
|
(ELSE
|
||||||
|
@ -1963,7 +2139,8 @@ be sure where they've headed." CR>)>)
|
||||||
<COND (<HELD? ,MARIKO>
|
<COND (<HELD? ,MARIKO>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko tries to break free of your hold." CR>)
|
"Mariko tries to break free of your hold." CR>)
|
||||||
(<FSET? ,MARIKO ,DEAD>
|
(<OR <FSET? ,MARIKO ,DEAD>
|
||||||
|
<FSET? ,MARIKO ,RMUNGBIT>>
|
||||||
<DEQUEUE I-MARIKO-STRUGGLES>
|
<DEQUEUE I-MARIKO-STRUGGLES>
|
||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
(ELSE
|
(ELSE
|
||||||
|
@ -2060,7 +2237,7 @@ floor." CR>)>)>
|
||||||
"The ninja retreat, " <PICK-ONE ,MARIKO-STRUGGLES>>
|
"The ninja retreat, " <PICK-ONE ,MARIKO-STRUGGLES>>
|
||||||
<COND (<AND <EQUAL? ,FOLLOW-FLAG ,NINJA>
|
<COND (<AND <EQUAL? ,FOLLOW-FLAG ,NINJA>
|
||||||
<HERE? .L>>
|
<HERE? .L>>
|
||||||
<TELL " You follow, fighting your way
|
<TELL "You follow, fighting your way
|
||||||
through the chaos, trying to catch up." CR CR>
|
through the chaos, trying to catch up." CR CR>
|
||||||
<GOTO .D>)
|
<GOTO .D>)
|
||||||
(ELSE <CRLF>)>
|
(ELSE <CRLF>)>
|
||||||
|
@ -2333,9 +2510,10 @@ into the room"><TELL ", killing you instantly." CR>
|
||||||
<COND (<IN? ,PISTOL ,BLACKTHORNE>
|
<COND (<IN? ,PISTOL ,BLACKTHORNE>
|
||||||
<MOVE ,PISTOL ,HERE>
|
<MOVE ,PISTOL ,HERE>
|
||||||
<FSET ,PISTOL ,NDESCBIT>)>
|
<FSET ,PISTOL ,NDESCBIT>)>
|
||||||
<MARGINAL-PIC ,P-EXPLOSION <>
|
<COND (<NOT <MARGINAL-PIC ,P-EXPLOSION <>
|
||||||
,P-EXPLOSION-CORNER>
|
,P-EXPLOSION-CORNER>>
|
||||||
<TELL CR
|
<CRLF>)>
|
||||||
|
<TELL
|
||||||
"Mariko presses back against the iron and calls out firmly, \"I, Toda
|
"Mariko presses back against the iron and calls out firmly, \"I, Toda
|
||||||
Mariko, protest this shameful attack and by my death --\"">
|
Mariko, protest this shameful attack and by my death --\"">
|
||||||
<TELL G" The explosion
|
<TELL G" The explosion
|
||||||
|
@ -2394,8 +2572,7 @@ dead." CR>)>)>)
|
||||||
(<AND <FSET? ,MARIKO ,RMUNGBIT>
|
(<AND <FSET? ,MARIKO ,RMUNGBIT>
|
||||||
<FSET? ,MARIKO ,SCOREBIT>>
|
<FSET? ,MARIKO ,SCOREBIT>>
|
||||||
<RFALSE>)>)
|
<RFALSE>)>)
|
||||||
(<DEQUEUE I-NINJA-VS-SECRET-DOOR>
|
(<TELL CR
|
||||||
<TELL CR
|
|
||||||
"Your head seems to burst with red and purple light and you
|
"Your head seems to burst with red and purple light and you
|
||||||
collapse. Kind hands catch you and help you to the floor." CR>
|
collapse. Kind hands catch you and help you to the floor." CR>
|
||||||
<NEXT-SCENE>)>>
|
<NEXT-SCENE>)>>
|
||||||
|
@ -2414,7 +2591,7 @@ She mounts painfully to the battlement. Everyone bows to her.|
|
||||||
|
|
|
|
||||||
\"I have told the truth. I attest to it by my death,\" she says. Then
|
\"I have told the truth. I attest to it by my death,\" she says. Then
|
||||||
she closes her eyes thankfully and lets herself fall forward to welcome
|
she closes her eyes thankfully and lets herself fall forward to welcome
|
||||||
death.">>
|
death." CR>>
|
||||||
|
|
||||||
<OBJECT ROSARY
|
<OBJECT ROSARY
|
||||||
(DESC "rosary")
|
(DESC "rosary")
|
||||||
|
@ -2445,7 +2622,7 @@ her, only to love her. You replace the rosary." CR>)>>
|
||||||
(FDESC
|
(FDESC
|
||||||
"You recuperate for a few days, and then, to your surprise, your guards are
|
"You recuperate for a few days, and then, to your surprise, your guards are
|
||||||
gone. You are taken down to the dock, where you are met by the Captain-General
|
gone. You are taken down to the dock, where you are met by the Captain-General
|
||||||
of the Black Ship, Ferriera, and Dell'Aqua, the Father-Visitor of the Jesuits.|
|
of the Black Ship, Ferriera, and dell'Aqua, the Father-Visitor of the Jesuits.|
|
||||||
|
|
|
|
||||||
Dell'Aqua says, \"Pilot, I'm taking you to your galley. Are you all right?\"|
|
Dell'Aqua says, \"Pilot, I'm taking you to your galley. Are you all right?\"|
|
||||||
|
|
|
|
||||||
|
@ -2836,7 +3013,6 @@ Omi says,|
|
||||||
But an escape from death?'\"|
|
But an escape from death?'\"|
|
||||||
|
|
|
|
||||||
Toranaga smiles." CR>
|
Toranaga smiles." CR>
|
||||||
<DEQUEUE I-STABLE>
|
|
||||||
<NEXT-SCENE>)>>
|
<NEXT-SCENE>)>>
|
||||||
|
|
||||||
<ROUTINE TORANAGA-LOSES-PATIENCE ()
|
<ROUTINE TORANAGA-LOSES-PATIENCE ()
|
||||||
|
@ -3047,7 +3223,8 @@ a truce, and make peace. I ask it because of Mariko-sama.\"|
|
||||||
<CENTER-PIC ,P-CREST>
|
<CENTER-PIC ,P-CREST>
|
||||||
<SET Y <+ <WINGET 4 ,WHIGH> <WINGET 4 ,WTOP>>>
|
<SET Y <+ <WINGET 4 ,WHIGH> <WINGET 4 ,WTOP>>>
|
||||||
<WINDEF ,S-TEXT .Y .LEFT <- <LOWCORE VWRD> .Y 1> .WIDE>
|
<WINDEF ,S-TEXT .Y .LEFT <- <LOWCORE VWRD> .Y 1> .WIDE>
|
||||||
<SCREEN ,S-TEXT>)
|
<SCREEN ,S-TEXT>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? LOOK>
|
(<RARG? LOOK>
|
||||||
<TELL
|
<TELL
|
||||||
"That year, at dawn on the twenty-first day of the tenth month, the
|
"That year, at dawn on the twenty-first day of the tenth month, the
|
||||||
|
|
|
@ -0,0 +1,207 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT AUDIENCE>
|
||||||
|
<CONSTANT J-JOKE 70>
|
||||||
|
<CONSTANT J-SIT 71>
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
<ROOM OUTER-CORRIDOR (LOC ROOMS) (SCENE S-TORANAGA) (AFTER
|
||||||
|
ISHIDO-VS-TORANAGA-AFTER-F) (DESC "Outer Corridor") (SYNONYM CORRIDOR) (
|
||||||
|
ADJECTIVE OUTER) (PICTURE P-OSAKA) (SCORE 3) (FDESC
|
||||||
|
"You take your leave of Rodrigues, and then you are on deck,
|
||||||
|
your mind whirling from the impact of Osaka, its immensity, the teeming
|
||||||
|
anthills
|
||||||
|
of people, and the enormous castle that dominates the city. From within
|
||||||
|
the castle's vastness comes the soaring beauty of the donjon, seven or
|
||||||
|
eight stories high, pointed gables with curved roofs at each level,
|
||||||
|
the tiles all gilded and the walls blue.|
|
||||||
|
|
|
||||||
|
The next day you are brought by Hiro-matsu to Toranaga's keep within
|
||||||
|
the castle.") (IN TO AUDIENCE-CHAMBER IF OUTER-DOOR IS OPEN) (EAST TO
|
||||||
|
AUDIENCE-CHAMBER IF OUTER-DOOR IS OPEN) (WEST PER STAIRS-EXIT) (DOWN PER
|
||||||
|
STAIRS-EXIT) (GLOBAL OUTER-DOOR LG-NINJA) (FLAGS ONBIT) (ACTION
|
||||||
|
OUTER-CORRIDOR-F)>
|
||||||
|
<DEFINE-ROUTINE STAIRS-EXIT>
|
||||||
|
<DEFINE-ROUTINE OUTER-CORRIDOR-F>
|
||||||
|
<ROOM AUDIENCE-CHAMBER (LOC ROOMS) (DESC "Audience Chamber") (SYNONYM CHAMBER
|
||||||
|
ROOM) (ADJECTIVE AUDIENCE) (WEST TO OUTER-CORRIDOR IF OUTER-DOOR IS OPEN) (EAST
|
||||||
|
TO INNER-CORRIDOR IF INNER-DOOR IS OPEN) (IN TO INNER-CORRIDOR IF INNER-DOOR IS
|
||||||
|
OPEN) (SOUTH TO SECRET-ROOM IF SECRET-ROOM-DOOR IS OPEN) (GLOBAL INNER-DOOR
|
||||||
|
OUTER-DOOR SECRET-ROOM-DOOR LG-NINJA LG-MEN LG-WOMEN) (FLAGS ONBIT SCOREBIT) (
|
||||||
|
ACTION AUDIENCE-CHAMBER-F)>
|
||||||
|
<GLOBAL POINTEE ALVITO>
|
||||||
|
<DEFINE-ROUTINE AUDIENCE-CHAMBER-F>
|
||||||
|
<OBJECT VASE (LOC AUDIENCE-CHAMBER) (DESC "vase") (SYNONYM VASE) (ADJECTIVE
|
||||||
|
EARTHENWARE CERAMIC) (FLAGS NDESCBIT TAKEBIT TRYTAKEBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT) (CAPACITY 10) (ACTION VASE-F)>
|
||||||
|
<DEFINE-ROUTINE VASE-F>
|
||||||
|
<OBJECT FLOWER (LOC VASE) (DESC "cherry blossom") (SYNONYM SPRAY FLOWER BLOSSOM
|
||||||
|
) (ADJECTIVE CHERRY) (FLAGS NDESCBIT TAKEBIT TRYTAKEBIT) (ACTION FLOWER-F)>
|
||||||
|
<DEFINE-ROUTINE FLOWER-F>
|
||||||
|
<OBJECT DAIS (LOC AUDIENCE-CHAMBER) (DESC "dais") (OWNER TORANAGA) (SYNONYM
|
||||||
|
DAIS) (FLAGS NDESCBIT SCOREBIT OPENBIT CONTBIT VEHBIT SEARCHBIT)>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT AUDIENCE>
|
||||||
|
<DEFINE-ROUTINE ISHIDO-VS-TORANAGA-AFTER-F>
|
||||||
|
<OBJECT FALCON (DESC "peregrine") (OWNER TORANAGA) (SYNONYM FALCON PEREGRINE
|
||||||
|
WORK) (FLAGS NDESCBIT RMUNGBIT) (ACTION FALCON-F)>
|
||||||
|
<DEFINE-ROUTINE FALCON-F>
|
||||||
|
<OBJECT TORANAGAS-GUARDS (DESC "samurai guards") (OWNER TORANAGA) (SYNONYM
|
||||||
|
GUARDS SAMURAI) (FLAGS NDESCBIT PERSON JAPANESEBIT PLURAL OPENBIT CONTBIT
|
||||||
|
SEARCHBIT NOABIT THE) (GENERIC GENERIC-SAMURAI-F) (ACTION TORANAGAS-GUARDS-F)>
|
||||||
|
<DEFINE-ROUTINE TORANAGAS-GUARDS-F>
|
||||||
|
<OBJECT ALVITO (LOC GENERIC-OBJECTS) (SCENE S-TORANAGA) (SDESC
|
||||||
|
"tonsured priest") (SYNONYM ALVITO PRIEST MAN FATHER JESUIT) (ADJECTIVE FATHER
|
||||||
|
MARTIN TONSURED LEAN-FACED PORTUGUESE) (PICTURE P-ALVITO) (FLAGS PERSON
|
||||||
|
PORTUGUESEBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT) (GENERIC GENERIC-MAN-F) (
|
||||||
|
ACTION ALVITO-F)>
|
||||||
|
<DEFINE-ROUTINE ALVITO-F>
|
||||||
|
<DEFINE-ROUTINE ALVITO-SPEAKS>
|
||||||
|
<GLOBAL ALVITO-TRANSLATES? <>>
|
||||||
|
<DEFINE-ROUTINE I-AUDIENCE>
|
||||||
|
<GLOBAL AUDIENCE-CNT 0 %<> WORD>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT PRISON>
|
||||||
|
<OBJECT LG-LINE (LOC LOCAL-GLOBALS) (SCENE S-PRISON) (DESC "line") (SYNONYM
|
||||||
|
LINE) (FLAGS NDESCBIT VEHBIT SCOREBIT) (ACTION LG-LINE-F)>
|
||||||
|
<DEFINE-ROUTINE LG-LINE-F>
|
||||||
|
<ROOM PRISON (LOC ROOMS) (SCENE S-PRISON S-MARIKO) (SCORE 6) (DESC "Cell Block"
|
||||||
|
) (AFTER PRISON-AFTER-F) (SYNONYM PRISON JAIL CELL BLOCK) (ADJECTIVE CELL) (
|
||||||
|
FDESC "Toranaga's guards take you to the prison, strip you, and force you
|
||||||
|
through the door of one of the cell blocks.|
|
||||||
|
|
|
||||||
|
At dawn it is feeding time and the guards pass out cups of gruel
|
||||||
|
and water through a small opening. The lining up for food and water
|
||||||
|
is unusually calm -- without discipline no one would eat. You take
|
||||||
|
your ration and pick your way over the bodies toward a corner.") (LDESC
|
||||||
|
"This murky and suffocating room is fifty paces long and ten wide and
|
||||||
|
packed with naked, sweating Japanese. Scarcely any light filters through
|
||||||
|
the boards and beams that make up the walls and low ceiling. A heavy iron
|
||||||
|
door seals the prisoners in.") (OUT TO PRISON-COURTYARD IF IRON-DOOR IS OPEN) (
|
||||||
|
EAST TO PRISON-COURTYARD IF IRON-DOOR IS OPEN) (FLAGS ONBIT) (GLOBAL LG-LINE
|
||||||
|
IRON-DOOR PRISON MADMAN) (THINGS <> PRISONER PRISONER-PSEUDO <> PRISONERS
|
||||||
|
PRISONER-PSEUDO) (ACTION PRISON-F)>
|
||||||
|
<DEFINE-ROUTINE PRISONER-PSEUDO>
|
||||||
|
<DEFINE-ROUTINE PRISON-F>
|
||||||
|
<OBJECT IRON-DOOR (SCENE S-PRISON) (LOC LOCAL-GLOBALS) (DESC "iron door") (
|
||||||
|
SYNONYM DOOR) (ADJECTIVE IRON) (FLAGS LOCKED LOCKABLE OPENABLE DOORBIT)>
|
||||||
|
<OBJECT CUP (SCENE S-PRISON) (DESC "cup") (OWNER GRUEL) (SYNONYM CUP) (FLAGS
|
||||||
|
TAKEBIT OPENBIT CONTBIT SEARCHBIT) (CAPACITY 10) (ACTION CUP-F)>
|
||||||
|
<DEFINE-ROUTINE CUP-F>
|
||||||
|
<OBJECT GRUEL (SCENE S-PRISON) (LOC CUP) (DESC "gruel") (SYNONYM GRUEL RATION
|
||||||
|
FOOD) (ADJECTIVE GRUEL) (FLAGS TAKEBIT FOODBIT) (ACTION GRUEL-F)>
|
||||||
|
<DEFINE-ROUTINE GRUEL-F>
|
||||||
|
<OBJECT THUG (LOC PRISON) (DESC "apelike man") (SYNONYM APE MAN THUG CONVICT
|
||||||
|
PRISONER) (ADJECTIVE APELIKE UNSHAVEN FILTHY LICE-RIDDEN FILTHY) (FLAGS AN
|
||||||
|
PERSON JAPANESEBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT) (HEALTH 3) (DESCFCN
|
||||||
|
THUG-DESC) (GENERIC GENERIC-MAN-F) (ACTION THUG-F)>
|
||||||
|
<DEFINE-ROUTINE THUG-DESC>
|
||||||
|
<DEFINE-ROUTINE THUG-F>
|
||||||
|
<CONSTANT YOU-ATTACKS <LTABLE 0 "You butt your head into the man's face."
|
||||||
|
"You kick him in the shins and he skips aside."
|
||||||
|
"You feign momentary helplessness, then kick him viciously.">>
|
||||||
|
<CONSTANT THUG-ATTACKS <LTABLE 0
|
||||||
|
"The man leaps at you, trying to knock you down with a vicious
|
||||||
|
attack." "The prisoner tries to bite you."
|
||||||
|
"The thug kicks out, trying to trip you.">>
|
||||||
|
<DEFINE-ROUTINE START-FIGHT>
|
||||||
|
<DEFINE-ROUTINE I-PRISON>
|
||||||
|
<GLOBAL PRISON-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE I-BULLDOG-EATS-IT>
|
||||||
|
<OBJECT BULLDOG (DESC "bulldog-like man") (SYNONYM MAN PRISONER BULLDOG AKABO
|
||||||
|
GONZALEZ) (ADJECTIVE BULLDOG BULLDOG-LIKE) (FLAGS PERSON JAPANESEBIT NDESCBIT
|
||||||
|
OPENBIT CONTBIT SEARCHBIT SCOREBIT) (GENERIC GENERIC-MAN-F) (ACTION BULLDOG-F)>
|
||||||
|
|
||||||
|
<DEFINE-ROUTINE BULLDOG-F>
|
||||||
|
<OBJECT DOMINGO (SDESC "old priest") (DESC "old priest") (SCENE S-PRISON
|
||||||
|
S-MARIKO S-ESCAPE) (SYNONYM FATHER PRIEST MAN DOMINGO FRANCISCAN FRIAR EUROPEAN
|
||||||
|
) (ADJECTIVE OLD FATHER FRIAR) (FLAGS AN PERSON SPANISHBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT SCOREBIT) (ACTION DOMINGO-F)>
|
||||||
|
<DEFINE-ROUTINE DOMINGO-STARES>
|
||||||
|
<DEFINE-ROUTINE DOMINGO-F>
|
||||||
|
<DEFINE-ROUTINE DOMINGO-OFFERS-HELP>
|
||||||
|
<CONSTANT DOMINGO-RAMBLES <LTABLE 0
|
||||||
|
"\"The Japanese truly have but one punishment -- death. They have almost
|
||||||
|
no other punishment. Imprisonment is not one of their punishments, my
|
||||||
|
son. To them, prison is just a temporary place to keep the man until they
|
||||||
|
decide his sentence. Only the guilty come here.\""
|
||||||
|
"\"Jesuits put me here, my son. Jesuits and their filthy lies.\""
|
||||||
|
"\"Thy ship was Spanish out of where? I'm so glad! The senor is from
|
||||||
|
Spanish Flanders? Or the Duchy of Brandenburg? Some part of our
|
||||||
|
Dominions in Germania?\""
|
||||||
|
"\"Oh, it's so good to talk the blessed mother tongue again.\""
|
||||||
|
"\"These men are my flock, senor. They are all my sons in the Blessed
|
||||||
|
Lord Jesus. I've converted so many here!\""
|
||||||
|
"\"I was put here in September -- it was in the year of our Lord
|
||||||
|
fifteen hundred ninety eight.\" You realize with a shock that this was
|
||||||
|
almost two years ago! Two years in this filthy hole!">>
|
||||||
|
<DEFINE-ROUTINE I-TEACH>
|
||||||
|
<OBJECT MADMAN (DESC "madman") (SYNONYM MADMAN MAN) (ADJECTIVE CRAZY MAD INSANE
|
||||||
|
POSSESSED) (FLAGS PERSON JAPANESEBIT) (GENERIC GENERIC-CRAZY-F) (ACTION
|
||||||
|
MADMAN-F)>
|
||||||
|
<DEFINE-ROUTINE MADMAN-F>
|
||||||
|
<DEFINE-ROUTINE I-MADMAN>
|
||||||
|
<DEFINE-ROUTINE I-BULLDOG>
|
||||||
|
<DEFINE-ROUTINE I-OUT-OF-PRISON>
|
||||||
|
<ROOM PRISON-COURTYARD (LOC ROOMS) (DESC "Prison Courtyard") (IN TO PRISON IF
|
||||||
|
IRON-DOOR IS OPEN) (WEST TO PRISON IF IRON-DOOR IS OPEN) (EAST TO
|
||||||
|
OUTSIDE-PRISON IF PRISON-GATE IS OPEN) (FLAGS ONBIT) (GLOBAL LG-LINE LG-MEN
|
||||||
|
PRISON-GATE) (THINGS <> PRISONER PRISONER-PSEUDO <> PRISONERS PRISONER-PSEUDO)
|
||||||
|
(ACTION PRISON-COURTYARD-F)>
|
||||||
|
<DEFINE-ROUTINE PRISON-COURTYARD-F>
|
||||||
|
<OBJECT OFFICIAL (LOC PRISON-COURTYARD) (DESC "official") (SYNONYM OFFICIAL) (
|
||||||
|
ADJECTIVE SOMBER) (FLAGS NDESCBIT PERSON JAPANESEBIT) (ACTION OFFICIAL-F)>
|
||||||
|
<DEFINE-ROUTINE OFFICIAL-F>
|
||||||
|
<DEFINE-ROUTINE I-LEAVE-PRISON>
|
||||||
|
<GLOBAL LEAVE-CNT 0 %<> WORD>
|
||||||
|
<OBJECT BANDIT-LEADER (DESC "bandit leader") (SYNONYM BANDIT LEADER RONIN) (
|
||||||
|
ADJECTIVE BANDIT) (FLAGS PERSON JAPANESEBIT) (GENERIC GENERIC-BANDIT-F) (ACTION
|
||||||
|
BANDIT-LEADER-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-BANDIT-F>
|
||||||
|
<DEFINE-ROUTINE BANDIT-LEADER-F>
|
||||||
|
<OBJECT BANDITS (DESC "bandits") (SYNONYM BANDITS RONIN BANDIT ATTACKER
|
||||||
|
ATTACKERS) (FLAGS PERSON JAPANESEBIT PLURAL SCOREBIT) (GENERIC GENERIC-BANDIT-F
|
||||||
|
) (ACTION BANDITS-F)>
|
||||||
|
<DEFINE-ROUTINE BANDITS-F>
|
||||||
|
<OBJECT YABU-PALANQUIN (OWNER YABU) (SCENE S-PRISON) (DESC "palanquin") (
|
||||||
|
SYNONYM PALANQUIN LITTER) (FLAGS VEHBIT OPENBIT CONTBIT SEARCHBIT) (CAPACITY
|
||||||
|
100) (GENERIC GENERIC-LITTER-F) (ACTION YABU-PALANQUIN-F)>
|
||||||
|
<DEFINE-ROUTINE YABU-PALANQUIN-F>
|
||||||
|
<ROOM DEEP-WOODS (LOC ROOMS) (DESC "Deep in the Woods") (FLAGS ONBIT) (WEST TO
|
||||||
|
OUTSIDE-PRISON) (EAST PER DEEP-WOODS-EXIT) (GLOBAL LG-CASTLE CITY) (ACTION
|
||||||
|
DEEP-WOODS-F)>
|
||||||
|
<DEFINE-ROUTINE DEEP-WOODS-EXIT>
|
||||||
|
<DEFINE-ROUTINE DEEP-WOODS-F>
|
||||||
|
<OBJECT LG-CASTLE (LOC LOCAL-GLOBALS) (DESC "Osaka castle") (SYNONYM CASTLE) (
|
||||||
|
ADJECTIVE OSAKA)>
|
||||||
|
<OBJECT PRISON-GATE (LOC LOCAL-GLOBALS) (DESC "prison gate") (SYNONYM GATE) (
|
||||||
|
ADJECTIVE PRISON) (FLAGS DOORBIT TRYTAKEBIT) (ACTION PRISON-GATE-F)>
|
||||||
|
<DEFINE-ROUTINE PRISON-GATE-F>
|
||||||
|
<DEFINE-ROUTINE CROWD-PSEUDO>
|
||||||
|
<ROOM OUTSIDE-PRISON (LOC ROOMS) (DESC "Outside Prison") (WEST TO
|
||||||
|
PRISON-COURTYARD IF PRISON-GATE IS OPEN) (FLAGS ONBIT OUTSIDE) (THINGS LARGE
|
||||||
|
CROWD CROWD-PSEUDO SPRUCE CROWD CROWD-PSEUDO <> PRISONER PRISONER-PSEUDO <>
|
||||||
|
PRISONERS PRISONER-PSEUDO) (ACTION OUTSIDE-PRISON-F)>
|
||||||
|
<DEFINE-ROUTINE OUTSIDE-PRISON-F>
|
||||||
|
<DEFINE-ROUTINE PRISON-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT MARIKO>
|
||||||
|
<ROOM MAPLE-GLADE (LOC ROOMS) (OWNER MAPLE-GLADE) (SCENE S-MARIKO) (AFTER
|
||||||
|
ALVITO-AFTER-F) (SCORE 3) (DESC "Glade of Maples") (FDESC
|
||||||
|
"And at last, Toranaga summons you.") (SYNONYM GLADE MAPLES) (FLAGS ONBIT
|
||||||
|
OUTSIDE SCOREBIT) (GLOBAL DOMINGO PRISON LG-CREWMEN TEA-HOUSE) (ACTION
|
||||||
|
MAPLE-GLADE-F)>
|
||||||
|
<DEFINE-ROUTINE MAPLE-GLADE-F>
|
||||||
|
<DEFINE-ROUTINE MARIKO-TELL-MARIKO-ABOUT>
|
||||||
|
<DEFINE-ROUTINE HOW-I-LEARNED>
|
||||||
|
<GLOBAL MARIKO-IMPATIENT 0>
|
||||||
|
<GLOBAL YAEMON-BORED? 0>
|
||||||
|
<DEFINE-ROUTINE I-YAEMON>
|
||||||
|
<GLOBAL YAEMON-CNT 0 %<> WORD>
|
||||||
|
<OBJECT PROPHECY (DESC "prophecy") (SYNONYM PROPHECY PREDICTION) (FLAGS
|
||||||
|
SCOREBIT)>
|
||||||
|
<OBJECT YAEMON (LOC GENERIC-OBJECTS) (SDESC "Yaemon") (SYNONYM BOY YAEMON HEIR)
|
||||||
|
(ADJECTIVE YOUNG) (FLAGS PERSON NOABIT NOTHEBIT JAPANESEBIT SCOREBIT) (ACTION
|
||||||
|
YAEMON-F)>
|
||||||
|
<DEFINE-ROUTINE YAEMON-F>
|
||||||
|
<DEFINE-ROUTINE ALVITO-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,207 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT AUDIENCE>
|
||||||
|
<CONSTANT J-JOKE 70>
|
||||||
|
<CONSTANT J-SIT 71>
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
<ROOM OUTER-CORRIDOR (LOC ROOMS) (SCENE S-TORANAGA) (AFTER
|
||||||
|
ISHIDO-VS-TORANAGA-AFTER-F) (DESC "Outer Corridor") (SYNONYM CORRIDOR) (
|
||||||
|
ADJECTIVE OUTER) (PICTURE P-OSAKA) (SCORE 3) (FDESC
|
||||||
|
"You take your leave of Rodrigues, and then you are on deck,
|
||||||
|
your mind whirling from the impact of Osaka, its immensity, the teeming
|
||||||
|
anthills
|
||||||
|
of people, and the enormous castle that dominates the city. From within
|
||||||
|
the castle's vastness comes the soaring beauty of the donjon, seven or
|
||||||
|
eight stories high, pointed gables with curved roofs at each level,
|
||||||
|
the tiles all gilded and the walls blue.|
|
||||||
|
|
|
||||||
|
The next day you are brought by Hiro-matsu to Toranaga's keep within
|
||||||
|
the castle.") (IN TO AUDIENCE-CHAMBER IF OUTER-DOOR IS OPEN) (EAST TO
|
||||||
|
AUDIENCE-CHAMBER IF OUTER-DOOR IS OPEN) (WEST PER STAIRS-EXIT) (DOWN PER
|
||||||
|
STAIRS-EXIT) (GLOBAL OUTER-DOOR LG-NINJA) (FLAGS ONBIT) (ACTION
|
||||||
|
OUTER-CORRIDOR-F)>
|
||||||
|
<DEFINE-ROUTINE STAIRS-EXIT>
|
||||||
|
<DEFINE-ROUTINE OUTER-CORRIDOR-F>
|
||||||
|
<ROOM AUDIENCE-CHAMBER (LOC ROOMS) (DESC "Audience Chamber") (SYNONYM CHAMBER
|
||||||
|
ROOM) (ADJECTIVE AUDIENCE) (WEST TO OUTER-CORRIDOR IF OUTER-DOOR IS OPEN) (EAST
|
||||||
|
TO INNER-CORRIDOR IF INNER-DOOR IS OPEN) (IN TO INNER-CORRIDOR IF INNER-DOOR IS
|
||||||
|
OPEN) (SOUTH TO SECRET-ROOM IF SECRET-ROOM-DOOR IS OPEN) (GLOBAL INNER-DOOR
|
||||||
|
OUTER-DOOR SECRET-ROOM-DOOR LG-NINJA LG-MEN LG-WOMEN) (FLAGS ONBIT SCOREBIT) (
|
||||||
|
ACTION AUDIENCE-CHAMBER-F)>
|
||||||
|
<GLOBAL POINTEE ALVITO>
|
||||||
|
<DEFINE-ROUTINE AUDIENCE-CHAMBER-F>
|
||||||
|
<OBJECT VASE (LOC AUDIENCE-CHAMBER) (DESC "vase") (SYNONYM VASE) (ADJECTIVE
|
||||||
|
EARTHENWARE CERAMIC) (FLAGS NDESCBIT TAKEBIT TRYTAKEBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT) (CAPACITY 10) (ACTION VASE-F)>
|
||||||
|
<DEFINE-ROUTINE VASE-F>
|
||||||
|
<OBJECT FLOWER (LOC VASE) (DESC "cherry blossom") (SYNONYM SPRAY FLOWER BLOSSOM
|
||||||
|
) (ADJECTIVE CHERRY) (FLAGS NDESCBIT TAKEBIT TRYTAKEBIT) (ACTION FLOWER-F)>
|
||||||
|
<DEFINE-ROUTINE FLOWER-F>
|
||||||
|
<OBJECT DAIS (LOC AUDIENCE-CHAMBER) (DESC "dais") (OWNER TORANAGA) (SYNONYM
|
||||||
|
DAIS) (FLAGS NDESCBIT SCOREBIT OPENBIT CONTBIT VEHBIT SEARCHBIT)>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT AUDIENCE>
|
||||||
|
<DEFINE-ROUTINE ISHIDO-VS-TORANAGA-AFTER-F>
|
||||||
|
<OBJECT FALCON (DESC "peregrine") (OWNER TORANAGA) (SYNONYM FALCON PEREGRINE
|
||||||
|
WORK) (FLAGS NDESCBIT RMUNGBIT) (ACTION FALCON-F)>
|
||||||
|
<DEFINE-ROUTINE FALCON-F>
|
||||||
|
<OBJECT TORANAGAS-GUARDS (DESC "samurai guards") (OWNER TORANAGA) (SYNONYM
|
||||||
|
GUARDS SAMURAI) (FLAGS NDESCBIT PERSON JAPANESEBIT PLURAL OPENBIT CONTBIT
|
||||||
|
SEARCHBIT NOABIT THE) (GENERIC GENERIC-SAMURAI-F) (ACTION TORANAGAS-GUARDS-F)>
|
||||||
|
<DEFINE-ROUTINE TORANAGAS-GUARDS-F>
|
||||||
|
<OBJECT ALVITO (LOC GENERIC-OBJECTS) (SCENE S-TORANAGA) (SDESC
|
||||||
|
"tonsured priest") (SYNONYM ALVITO PRIEST MAN FATHER JESUIT) (ADJECTIVE FATHER
|
||||||
|
MARTIN TONSURED LEAN-FACED PORTUGUESE) (PICTURE P-ALVITO) (FLAGS PERSON
|
||||||
|
PORTUGUESEBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT) (GENERIC GENERIC-MAN-F) (
|
||||||
|
ACTION ALVITO-F)>
|
||||||
|
<DEFINE-ROUTINE ALVITO-F>
|
||||||
|
<DEFINE-ROUTINE ALVITO-SPEAKS>
|
||||||
|
<GLOBAL ALVITO-TRANSLATES? <>>
|
||||||
|
<DEFINE-ROUTINE I-AUDIENCE>
|
||||||
|
<GLOBAL AUDIENCE-CNT 0 %<> WORD>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT PRISON>
|
||||||
|
<OBJECT LG-LINE (LOC LOCAL-GLOBALS) (SCENE S-PRISON) (DESC "line") (SYNONYM
|
||||||
|
LINE) (FLAGS NDESCBIT VEHBIT SCOREBIT) (ACTION LG-LINE-F)>
|
||||||
|
<DEFINE-ROUTINE LG-LINE-F>
|
||||||
|
<ROOM PRISON (LOC ROOMS) (SCENE S-PRISON S-MARIKO) (SCORE 6) (DESC "Cell Block"
|
||||||
|
) (AFTER PRISON-AFTER-F) (SYNONYM PRISON JAIL CELL BLOCK) (ADJECTIVE CELL) (
|
||||||
|
FDESC "Toranaga's guards take you to the prison, strip you, and force you
|
||||||
|
through the door of one of the cell blocks.|
|
||||||
|
|
|
||||||
|
At dawn it is feeding time and the guards pass out cups of gruel
|
||||||
|
and water through a small opening. The lining up for food and water
|
||||||
|
is unusually calm -- without discipline no one would eat. You take
|
||||||
|
your ration and pick your way over the bodies toward a corner.") (LDESC
|
||||||
|
"This murky and suffocating room is fifty paces long and ten wide and
|
||||||
|
packed with naked, sweating Japanese. Scarcely any light filters through
|
||||||
|
the boards and beams that make up the walls and low ceiling. A heavy iron
|
||||||
|
door seals the prisoners in.") (OUT TO PRISON-COURTYARD IF IRON-DOOR IS OPEN) (
|
||||||
|
EAST TO PRISON-COURTYARD IF IRON-DOOR IS OPEN) (FLAGS ONBIT) (GLOBAL LG-LINE
|
||||||
|
IRON-DOOR PRISON MADMAN LG-MEN) (THINGS <> PRISONER PRISONER-PSEUDO <>
|
||||||
|
PRISONERS PRISONER-PSEUDO) (ACTION PRISON-F)>
|
||||||
|
<DEFINE-ROUTINE PRISONER-PSEUDO>
|
||||||
|
<DEFINE-ROUTINE PRISON-F>
|
||||||
|
<OBJECT IRON-DOOR (SCENE S-PRISON) (LOC LOCAL-GLOBALS) (DESC "iron door") (
|
||||||
|
SYNONYM DOOR) (ADJECTIVE IRON) (FLAGS LOCKED LOCKABLE OPENABLE DOORBIT)>
|
||||||
|
<OBJECT CUP (SCENE S-PRISON) (DESC "cup") (OWNER GRUEL) (SYNONYM CUP) (FLAGS
|
||||||
|
TAKEBIT OPENBIT CONTBIT SEARCHBIT) (CAPACITY 10) (ACTION CUP-F)>
|
||||||
|
<DEFINE-ROUTINE CUP-F>
|
||||||
|
<OBJECT GRUEL (SCENE S-PRISON) (LOC CUP) (DESC "gruel") (SYNONYM GRUEL RATION
|
||||||
|
FOOD) (ADJECTIVE GRUEL) (FLAGS TAKEBIT FOODBIT) (ACTION GRUEL-F)>
|
||||||
|
<DEFINE-ROUTINE GRUEL-F>
|
||||||
|
<OBJECT THUG (LOC PRISON) (DESC "apelike man") (SYNONYM APE MAN THUG CONVICT
|
||||||
|
PRISONER) (ADJECTIVE APELIKE UNSHAVEN FILTHY LICE-RIDDEN FILTHY) (FLAGS AN
|
||||||
|
PERSON THE JAPANESEBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT) (HEALTH 3) (DESCFCN
|
||||||
|
THUG-DESC) (GENERIC GENERIC-MAN-F) (ACTION THUG-F)>
|
||||||
|
<DEFINE-ROUTINE THUG-DESC>
|
||||||
|
<DEFINE-ROUTINE THUG-F>
|
||||||
|
<CONSTANT YOU-ATTACKS <LTABLE 0 "You butt your head into the man's face."
|
||||||
|
"You kick him in the shins and he skips aside."
|
||||||
|
"You feign momentary helplessness, then kick him viciously.">>
|
||||||
|
<CONSTANT THUG-ATTACKS <LTABLE 0
|
||||||
|
"The man leaps at you, trying to knock you down with a vicious
|
||||||
|
attack." "The prisoner tries to bite you."
|
||||||
|
"The thug kicks out, trying to trip you.">>
|
||||||
|
<DEFINE-ROUTINE START-FIGHT>
|
||||||
|
<DEFINE-ROUTINE I-PRISON>
|
||||||
|
<GLOBAL PRISON-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE I-BULLDOG-EATS-IT>
|
||||||
|
<OBJECT BULLDOG (DESC "bulldog-like man") (SYNONYM MAN PRISONER BULLDOG AKABO
|
||||||
|
GONZALEZ) (ADJECTIVE BULLDOG BULLDOG-LIKE) (FLAGS PERSON JAPANESEBIT THE
|
||||||
|
NDESCBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT) (GENERIC GENERIC-MAN-F) (ACTION
|
||||||
|
BULLDOG-F)>
|
||||||
|
<DEFINE-ROUTINE BULLDOG-F>
|
||||||
|
<OBJECT DOMINGO (SDESC "old priest") (DESC "old priest") (SCENE S-PRISON
|
||||||
|
S-MARIKO S-ESCAPE) (SYNONYM FATHER PRIEST MAN DOMINGO FRANCISCAN FRIAR EUROPEAN
|
||||||
|
) (ADJECTIVE OLD FATHER FRIAR) (FLAGS AN PERSON SPANISHBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT SCOREBIT) (ACTION DOMINGO-F)>
|
||||||
|
<DEFINE-ROUTINE DOMINGO-STARES>
|
||||||
|
<DEFINE-ROUTINE DOMINGO-F>
|
||||||
|
<DEFINE-ROUTINE DOMINGO-OFFERS-HELP>
|
||||||
|
<CONSTANT DOMINGO-RAMBLES <LTABLE 0
|
||||||
|
"\"The Japanese truly have but one punishment -- death. They have almost
|
||||||
|
no other punishment. Imprisonment is not one of their punishments, my
|
||||||
|
son. To them, prison is just a temporary place to keep the man until they
|
||||||
|
decide his sentence. Only the guilty come here.\""
|
||||||
|
"\"Jesuits put me here, my son. Jesuits and their filthy lies.\""
|
||||||
|
"\"Thy ship was Spanish out of where? I'm so glad! The senor is from
|
||||||
|
Spanish Flanders? Or the Duchy of Brandenburg? Some part of our
|
||||||
|
Dominions in Germania?\""
|
||||||
|
"\"Oh, it's so good to talk the blessed mother tongue again.\""
|
||||||
|
"\"These men are my flock, senor. They are all my sons in the Blessed
|
||||||
|
Lord Jesus. I've converted so many here!\""
|
||||||
|
"\"I was put here in September -- it was in the year of our Lord
|
||||||
|
fifteen hundred ninety eight.\" You realize with a shock that this was
|
||||||
|
almost two years ago! Two years in this filthy hole!">>
|
||||||
|
<DEFINE-ROUTINE I-TEACH>
|
||||||
|
<OBJECT MADMAN (DESC "madman") (SYNONYM MADMAN MAN) (ADJECTIVE CRAZY MAD INSANE
|
||||||
|
POSSESSED) (FLAGS PERSON JAPANESEBIT) (GENERIC GENERIC-CRAZY-F) (ACTION
|
||||||
|
MADMAN-F)>
|
||||||
|
<DEFINE-ROUTINE MADMAN-F>
|
||||||
|
<DEFINE-ROUTINE I-MADMAN>
|
||||||
|
<DEFINE-ROUTINE I-BULLDOG>
|
||||||
|
<DEFINE-ROUTINE I-OUT-OF-PRISON>
|
||||||
|
<ROOM PRISON-COURTYARD (LOC ROOMS) (DESC "Prison Courtyard") (IN TO PRISON IF
|
||||||
|
IRON-DOOR IS OPEN) (WEST TO PRISON IF IRON-DOOR IS OPEN) (EAST TO
|
||||||
|
OUTSIDE-PRISON IF PRISON-GATE IS OPEN) (FLAGS ONBIT) (GLOBAL LG-LINE LG-MEN
|
||||||
|
PRISON-GATE) (THINGS <> PRISONER PRISONER-PSEUDO <> PRISONERS PRISONER-PSEUDO)
|
||||||
|
(ACTION PRISON-COURTYARD-F)>
|
||||||
|
<DEFINE-ROUTINE PRISON-COURTYARD-F>
|
||||||
|
<OBJECT OFFICIAL (LOC PRISON-COURTYARD) (DESC "official") (SYNONYM OFFICIAL) (
|
||||||
|
ADJECTIVE SOMBER) (FLAGS NDESCBIT PERSON JAPANESEBIT) (ACTION OFFICIAL-F)>
|
||||||
|
<DEFINE-ROUTINE OFFICIAL-F>
|
||||||
|
<DEFINE-ROUTINE I-LEAVE-PRISON>
|
||||||
|
<GLOBAL LEAVE-CNT 0 %<> WORD>
|
||||||
|
<OBJECT BANDIT-LEADER (DESC "bandit leader") (SYNONYM BANDIT LEADER RONIN) (
|
||||||
|
ADJECTIVE BANDIT) (FLAGS PERSON JAPANESEBIT) (GENERIC GENERIC-BANDIT-F) (ACTION
|
||||||
|
BANDIT-LEADER-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-BANDIT-F>
|
||||||
|
<DEFINE-ROUTINE BANDIT-LEADER-F>
|
||||||
|
<OBJECT BANDITS (DESC "bandits") (SYNONYM BANDITS RONIN BANDIT ATTACKER
|
||||||
|
ATTACKERS) (FLAGS PERSON JAPANESEBIT PLURAL SCOREBIT) (GENERIC GENERIC-BANDIT-F
|
||||||
|
) (ACTION BANDITS-F)>
|
||||||
|
<DEFINE-ROUTINE BANDITS-F>
|
||||||
|
<OBJECT YABU-PALANQUIN (OWNER YABU) (SCENE S-PRISON) (DESC "palanquin") (
|
||||||
|
SYNONYM PALANQUIN LITTER) (FLAGS VEHBIT OPENBIT CONTBIT SEARCHBIT) (CAPACITY
|
||||||
|
100) (GENERIC GENERIC-LITTER-F) (ACTION YABU-PALANQUIN-F)>
|
||||||
|
<DEFINE-ROUTINE YABU-PALANQUIN-F>
|
||||||
|
<ROOM DEEP-WOODS (LOC ROOMS) (DESC "Deep in the Woods") (FLAGS ONBIT) (WEST TO
|
||||||
|
OUTSIDE-PRISON) (EAST PER DEEP-WOODS-EXIT) (GLOBAL LG-CASTLE CITY) (ACTION
|
||||||
|
DEEP-WOODS-F)>
|
||||||
|
<DEFINE-ROUTINE DEEP-WOODS-EXIT>
|
||||||
|
<DEFINE-ROUTINE DEEP-WOODS-F>
|
||||||
|
<OBJECT LG-CASTLE (LOC LOCAL-GLOBALS) (DESC "Osaka castle") (SYNONYM CASTLE) (
|
||||||
|
ADJECTIVE OSAKA)>
|
||||||
|
<OBJECT PRISON-GATE (LOC LOCAL-GLOBALS) (DESC "prison gate") (SYNONYM GATE) (
|
||||||
|
ADJECTIVE PRISON) (FLAGS DOORBIT TRYTAKEBIT) (ACTION PRISON-GATE-F)>
|
||||||
|
<DEFINE-ROUTINE PRISON-GATE-F>
|
||||||
|
<DEFINE-ROUTINE CROWD-PSEUDO>
|
||||||
|
<ROOM OUTSIDE-PRISON (LOC ROOMS) (DESC "Outside Prison") (WEST TO
|
||||||
|
PRISON-COURTYARD IF PRISON-GATE IS OPEN) (FLAGS ONBIT OUTSIDE) (THINGS LARGE
|
||||||
|
CROWD CROWD-PSEUDO SPRUCE CROWD CROWD-PSEUDO <> PRISONER PRISONER-PSEUDO <>
|
||||||
|
PRISONERS PRISONER-PSEUDO) (ACTION OUTSIDE-PRISON-F)>
|
||||||
|
<DEFINE-ROUTINE OUTSIDE-PRISON-F>
|
||||||
|
<DEFINE-ROUTINE PRISON-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT MARIKO>
|
||||||
|
<ROOM MAPLE-GLADE (LOC ROOMS) (OWNER MAPLE-GLADE) (SCENE S-MARIKO) (AFTER
|
||||||
|
ALVITO-AFTER-F) (SCORE 3) (DESC "Glade of Maples") (FDESC
|
||||||
|
"And at last, Toranaga summons you.") (SYNONYM GLADE MAPLES) (FLAGS ONBIT
|
||||||
|
OUTSIDE SCOREBIT) (GLOBAL DOMINGO PRISON LG-CREWMEN TEA-HOUSE) (ACTION
|
||||||
|
MAPLE-GLADE-F)>
|
||||||
|
<DEFINE-ROUTINE MAPLE-GLADE-F>
|
||||||
|
<DEFINE-ROUTINE MARIKO-TELL-MARIKO-ABOUT>
|
||||||
|
<DEFINE-ROUTINE HOW-I-LEARNED>
|
||||||
|
<GLOBAL MARIKO-IMPATIENT 0>
|
||||||
|
<GLOBAL YAEMON-BORED? 0>
|
||||||
|
<DEFINE-ROUTINE I-YAEMON>
|
||||||
|
<GLOBAL YAEMON-CNT 0 %<> WORD>
|
||||||
|
<OBJECT PROPHECY (DESC "prophecy") (SYNONYM PROPHECY PREDICTION) (FLAGS
|
||||||
|
SCOREBIT)>
|
||||||
|
<OBJECT YAEMON (LOC GENERIC-OBJECTS) (SDESC "Yaemon") (SYNONYM BOY YAEMON HEIR)
|
||||||
|
(ADJECTIVE YOUNG) (FLAGS PERSON NOABIT NOTHEBIT JAPANESEBIT SCOREBIT) (ACTION
|
||||||
|
YAEMON-F)>
|
||||||
|
<DEFINE-ROUTINE YAEMON-F>
|
||||||
|
<DEFINE-ROUTINE ALVITO-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
File diff suppressed because it is too large
Load Diff
141
audience.zil
141
audience.zil
|
@ -9,6 +9,8 @@
|
||||||
<CONSTANT J-JOKE 70>
|
<CONSTANT J-JOKE 70>
|
||||||
<CONSTANT J-SIT 71>
|
<CONSTANT J-SIT 71>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT NINJA>
|
||||||
|
|
||||||
<ROOM OUTER-CORRIDOR ;"setup s-toranaga"
|
<ROOM OUTER-CORRIDOR ;"setup s-toranaga"
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-TORANAGA)
|
(SCENE S-TORANAGA)
|
||||||
|
@ -65,7 +67,7 @@ the castle.")
|
||||||
audience with Toranaga wait. The great Audience Chamber is to the
|
audience with Toranaga wait. The great Audience Chamber is to the
|
||||||
east and stairs down to the lower part of the keep are to the west.">
|
east and stairs down to the lower part of the keep are to the west.">
|
||||||
<COND (<SCENE? ,S-TORANAGA>
|
<COND (<SCENE? ,S-TORANAGA>
|
||||||
<TELL " Massed samurai, their young officer in
|
<TELL "Massed samurai, their young officer in
|
||||||
front of them, protect the last door -- each with right hand on the
|
front of them, protect the last door -- each with right hand on the
|
||||||
sword hilt, left on the scabbard, motionless and ready, staring at
|
sword hilt, left on the scabbard, motionless and ready, staring at
|
||||||
you.">)>
|
you.">)>
|
||||||
|
@ -104,18 +106,18 @@ ten high, the tatami mats the best quality, four fingers thick and
|
||||||
impeccable.">
|
impeccable.">
|
||||||
<COND (<NOT <FSET? ,VASE ,TOUCHBIT>>
|
<COND (<NOT <FSET? ,VASE ,TOUCHBIT>>
|
||||||
<TELL
|
<TELL
|
||||||
" Near the dais, in a niche, is a small earthenware vase
|
"Near the dais, in a niche, is a small earthenware vase
|
||||||
with a single spray of cherry blossom and this fills the room with
|
with a single spray of cherry blossom and this fills the room with
|
||||||
color and fragrance.">)>
|
color and fragrance.">)>
|
||||||
<COND (<SCENE? S-TORANAGA>
|
<COND (<SCENE? S-TORANAGA>
|
||||||
<TELL
|
<TELL
|
||||||
" Ten paces from the dais, circling it, are
|
"Ten paces from the dais, circling it, are
|
||||||
twenty samurai, seated cross-legged and facing outward.">)>
|
twenty samurai, seated cross-legged and facing outward.">)>
|
||||||
<TELL " Doors lead east and west to the outer
|
<TELL "Doors lead east and west to the outer
|
||||||
and inner corridors, respectively.">
|
and inner corridors, respectively.">
|
||||||
<COND (<NOT <FSET? ,SECRET-ROOM-DOOR ,INVISIBLE>>
|
<COND (<NOT <FSET? ,SECRET-ROOM-DOOR ,INVISIBLE>>
|
||||||
<TELL
|
<TELL
|
||||||
" On the south wall is a formerly secret door used by the ninja
|
"On the south wall is a formerly secret door used by the ninja
|
||||||
attackers.">)>
|
attackers.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
|
@ -253,6 +255,7 @@ your life.">
|
||||||
<TELL
|
<TELL
|
||||||
"Taking a deep breath, you sit cross-legged and stare at Toranaga." CR>)>)
|
"Taking a deep breath, you sit cross-legged and stare at Toranaga." CR>)>)
|
||||||
(<VERB? KNEEL>
|
(<VERB? KNEEL>
|
||||||
|
<FCLEAR ,AUDIENCE-CHAMBER ,SCOREBIT>
|
||||||
<B-KNEEL>
|
<B-KNEEL>
|
||||||
<TELL
|
<TELL
|
||||||
"You kneel abjectly, in imitation of Hiro-matsu." CR>)>)>)
|
"You kneel abjectly, in imitation of Hiro-matsu." CR>)>)>)
|
||||||
|
@ -278,33 +281,6 @@ guards motion you back." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
G"You would have to walk right through the ninja!" CR>)>)>)>)>>
|
G"You would have to walk right through the ninja!" CR>)>)>)>)>>
|
||||||
|
|
||||||
<ROUTINE ISHIDO-VS-TORANAGA-AFTER-F ()
|
|
||||||
<TELL
|
|
||||||
"Toranaga watches you
|
|
||||||
leave the room, taking his mind off the interview and coming to grips
|
|
||||||
with the problem of Ishido. Toranaga was summoned to Osaka to give
|
|
||||||
answers to the Council of Regents, and against the advice of his
|
|
||||||
advisors, he chose to obey. Now he is stuck, the meeting delayed and
|
|
||||||
delayed, Toranaga caught in the castle of his most deadly enemy.|
|
|
||||||
|
|
|
||||||
Ishido comes instantly to the point. \"What is your answer to the
|
|
||||||
Council of Regents?\"|
|
|
||||||
|
|
|
||||||
Toranaga answers, \"As President of the
|
|
||||||
Council of Regents I do not believe an answer is necessary. Our late
|
|
||||||
Master, the Taiko, has been dead a year. I don't threaten his house
|
|
||||||
or my nephew Yaemon, the Taiko's Heir. I seek no more territory. By
|
|
||||||
the Lord Buddha, I'll not be the first to break the peace.\"|
|
|
||||||
|
|
|
||||||
Ishido
|
|
||||||
bristles. \"The Lady Ochiba, the mother of the heir, is hostage in
|
|
||||||
your castle at Yedo, against your safety here. The Council requests
|
|
||||||
her presence in Osaka instantly. We're all agreed: Lord Sugiyama,
|
|
||||||
Lord Onoshi, Lord Kiyama, and I. Here are their signatures.\"|
|
|
||||||
|
|
|
||||||
Toranaga is livid. Why had Kiyama and Onoshi defected to Ishido?
|
|
||||||
Four to one means isolation and disaster!" CR>>
|
|
||||||
|
|
||||||
<OBJECT VASE
|
<OBJECT VASE
|
||||||
(LOC AUDIENCE-CHAMBER)
|
(LOC AUDIENCE-CHAMBER)
|
||||||
(DESC "vase")
|
(DESC "vase")
|
||||||
|
@ -350,6 +326,36 @@ Four to one means isolation and disaster!" CR>>
|
||||||
(SYNONYM DAIS)
|
(SYNONYM DAIS)
|
||||||
(FLAGS NDESCBIT SCOREBIT OPENBIT CONTBIT VEHBIT SEARCHBIT)>
|
(FLAGS NDESCBIT SCOREBIT OPENBIT CONTBIT VEHBIT SEARCHBIT)>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"AUDIENCE+NINJA">
|
||||||
|
<BEGIN-SEGMENT AUDIENCE>
|
||||||
|
|
||||||
|
<ROUTINE ISHIDO-VS-TORANAGA-AFTER-F ()
|
||||||
|
<TELL
|
||||||
|
"Toranaga watches you
|
||||||
|
leave the room, taking his mind off the interview and coming to grips
|
||||||
|
with the problem of Ishido. Toranaga was summoned to Osaka to give
|
||||||
|
answers to the Council of Regents, and against the advice of his
|
||||||
|
advisors, he chose to obey. Now he is stuck, the meeting delayed and
|
||||||
|
delayed, Toranaga caught in the castle of his most deadly enemy.|
|
||||||
|
|
|
||||||
|
Ishido comes instantly to the point. \"What is your answer to the
|
||||||
|
Council of Regents?\"|
|
||||||
|
|
|
||||||
|
Toranaga answers, \"As President of the
|
||||||
|
Council of Regents I do not believe an answer is necessary. Our late
|
||||||
|
Master, the Taiko, has been dead a year. I don't threaten his house
|
||||||
|
or my nephew Yaemon, the Taiko's Heir. I seek no more territory. By
|
||||||
|
the Lord Buddha, I'll not be the first to break the peace.\"|
|
||||||
|
|
|
||||||
|
Ishido
|
||||||
|
bristles. \"The Lady Ochiba, the mother of the heir, is hostage in
|
||||||
|
your castle at Yedo, against your safety here. The Council requests
|
||||||
|
her presence in Osaka instantly. We're all agreed: Lord Sugiyama,
|
||||||
|
Lord Onoshi, Lord Kiyama, and I. Here are their signatures.\"|
|
||||||
|
|
|
||||||
|
Toranaga is livid. Why had Kiyama and Onoshi defected to Ishido?
|
||||||
|
Four to one means isolation and disaster!" CR>>
|
||||||
|
|
||||||
<OBJECT FALCON
|
<OBJECT FALCON
|
||||||
(DESC "peregrine")
|
(DESC "peregrine")
|
||||||
(OWNER TORANAGA)
|
(OWNER TORANAGA)
|
||||||
|
@ -545,7 +551,7 @@ the outcome." CR>
|
||||||
"Alvito waits patiently.">
|
"Alvito waits patiently.">
|
||||||
<COND (<EQUAL? ,DELAY-CNT 1>
|
<COND (<EQUAL? ,DELAY-CNT 1>
|
||||||
<TELL
|
<TELL
|
||||||
" You wonder if '"I"teki""' truly means 'enemy.' Of course it does, you
|
"You wonder if '"I"teki""' truly means 'enemy.' Of course it does, you
|
||||||
tell yourself. This man's not like the other one.">)>
|
tell yourself. This man's not like the other one.">)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<RTRUE>)>)>)
|
<RTRUE>)>)>)
|
||||||
|
@ -619,10 +625,9 @@ for how long: until Lord Toranaga decides.\"" CR>
|
||||||
<MOVE ,TORANAGA ,GENERIC-OBJECTS>
|
<MOVE ,TORANAGA ,GENERIC-OBJECTS>
|
||||||
<REMOVE ,GRAYS>
|
<REMOVE ,GRAYS>
|
||||||
<REMOVE ,TORANAGAS-GUARDS>
|
<REMOVE ,TORANAGAS-GUARDS>
|
||||||
<DEQUEUE I-AUDIENCE>
|
|
||||||
<NEXT-SCENE>)>>
|
<NEXT-SCENE>)>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"AUDIENCE">
|
||||||
|
|
||||||
<BEGIN-SEGMENT PRISON>
|
<BEGIN-SEGMENT PRISON>
|
||||||
|
|
||||||
|
@ -678,7 +683,7 @@ door seals the prisoners in.")
|
||||||
(OUT TO PRISON-COURTYARD IF IRON-DOOR IS OPEN)
|
(OUT TO PRISON-COURTYARD IF IRON-DOOR IS OPEN)
|
||||||
(EAST TO PRISON-COURTYARD IF IRON-DOOR IS OPEN)
|
(EAST TO PRISON-COURTYARD IF IRON-DOOR IS OPEN)
|
||||||
(FLAGS ONBIT)
|
(FLAGS ONBIT)
|
||||||
(GLOBAL LG-LINE IRON-DOOR PRISON MADMAN)
|
(GLOBAL LG-LINE IRON-DOOR PRISON MADMAN LG-MEN)
|
||||||
(THINGS <> PRISONER PRISONER-PSEUDO
|
(THINGS <> PRISONER PRISONER-PSEUDO
|
||||||
<> PRISONERS PRISONER-PSEUDO)
|
<> PRISONERS PRISONER-PSEUDO)
|
||||||
(ACTION PRISON-F)>
|
(ACTION PRISON-F)>
|
||||||
|
@ -734,7 +739,7 @@ Spanish?\"" CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"\"Ah, the senor is from our dominions in Spanish Flanders!">
|
"\"Ah, the senor is from our dominions in Spanish Flanders!">
|
||||||
<COND (<FSET? ,DOMINGO ,SCOREBIT>
|
<COND (<FSET? ,DOMINGO ,SCOREBIT>
|
||||||
<TELL " But please,
|
<TELL "But please,
|
||||||
speak Spanish! I have heard no Spanish since I came to this awful
|
speak Spanish! I have heard no Spanish since I came to this awful
|
||||||
place!\"">)>
|
place!\"">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
|
@ -852,9 +857,10 @@ other for it." CR>)>)
|
||||||
(DESC "apelike man")
|
(DESC "apelike man")
|
||||||
(SYNONYM APE MAN THUG CONVICT PRISONER)
|
(SYNONYM APE MAN THUG CONVICT PRISONER)
|
||||||
(ADJECTIVE APELIKE UNSHAVEN FILTHY LICE-RIDDEN FILTHY ;"DEAD")
|
(ADJECTIVE APELIKE UNSHAVEN FILTHY LICE-RIDDEN FILTHY ;"DEAD")
|
||||||
(FLAGS AN PERSON JAPANESEBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT)
|
(FLAGS AN PERSON THE JAPANESEBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT)
|
||||||
(HEALTH 3)
|
(HEALTH 3)
|
||||||
(DESCFCN THUG-DESC)
|
(DESCFCN THUG-DESC)
|
||||||
|
(GENERIC GENERIC-MAN-F)
|
||||||
(ACTION THUG-F)>
|
(ACTION THUG-F)>
|
||||||
|
|
||||||
<ROUTINE THUG-DESC (RARG OBJ)
|
<ROUTINE THUG-DESC (RARG OBJ)
|
||||||
|
@ -1054,7 +1060,8 @@ nodding happily in your direction." CR>)>>
|
||||||
(DESC "bulldog-like man")
|
(DESC "bulldog-like man")
|
||||||
(SYNONYM MAN PRISONER BULLDOG AKABO GONZALEZ)
|
(SYNONYM MAN PRISONER BULLDOG AKABO GONZALEZ)
|
||||||
(ADJECTIVE BULLDOG BULLDOG-LIKE)
|
(ADJECTIVE BULLDOG BULLDOG-LIKE)
|
||||||
(FLAGS PERSON JAPANESEBIT NDESCBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT)
|
(FLAGS PERSON JAPANESEBIT THE NDESCBIT OPENBIT CONTBIT SEARCHBIT SCOREBIT)
|
||||||
|
(GENERIC GENERIC-MAN-F)
|
||||||
(ACTION BULLDOG-F)>
|
(ACTION BULLDOG-F)>
|
||||||
|
|
||||||
<ROUTINE BULLDOG-F ("OPT" (RARG <>))
|
<ROUTINE BULLDOG-F ("OPT" (RARG <>))
|
||||||
|
@ -1379,10 +1386,6 @@ prisoners." CR>)>)>)
|
||||||
(GENERIC GENERIC-CRAZY-F)
|
(GENERIC GENERIC-CRAZY-F)
|
||||||
(ACTION MADMAN-F)>
|
(ACTION MADMAN-F)>
|
||||||
|
|
||||||
<ROUTINE GENERIC-CRAZY-F (R F)
|
|
||||||
<COND (<SCENE? ,S-PRISON> ,MADMAN)
|
|
||||||
(ELSE ,CRAZY)>>
|
|
||||||
|
|
||||||
<ROUTINE MADMAN-F ("OPT" RARG)
|
<ROUTINE MADMAN-F ("OPT" RARG)
|
||||||
<COND (<RARG? WINNER>
|
<COND (<RARG? WINNER>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -1660,6 +1663,7 @@ saying, \""I"Iye!""\"" CR>
|
||||||
|
|
||||||
<OBJECT YABU-PALANQUIN
|
<OBJECT YABU-PALANQUIN
|
||||||
(OWNER YABU)
|
(OWNER YABU)
|
||||||
|
(SCENE S-PRISON)
|
||||||
(DESC "palanquin")
|
(DESC "palanquin")
|
||||||
(SYNONYM PALANQUIN LITTER)
|
(SYNONYM PALANQUIN LITTER)
|
||||||
(FLAGS VEHBIT OPENBIT CONTBIT SEARCHBIT)
|
(FLAGS VEHBIT OPENBIT CONTBIT SEARCHBIT)
|
||||||
|
@ -1808,7 +1812,7 @@ no ship in all Asia like yours, and if Toranaga commands, you can sweep
|
||||||
the Portuguese and Spanish from the seas with it, make a gift to him of
|
the Portuguese and Spanish from the seas with it, make a gift to him of
|
||||||
the Black Ship, destroy his enemies, anything!" CR>>
|
the Black Ship, destroy his enemies, anything!" CR>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"PRISON">
|
||||||
|
|
||||||
"S-MARIKO"
|
"S-MARIKO"
|
||||||
|
|
||||||
|
@ -1939,6 +1943,50 @@ little else. The interiors are almost entirely mysteries.\"" CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"You bow to Ishido, but he ignores you." CR>)>)>)>>
|
"You bow to Ishido, but he ignores you." CR>)>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE MARIKO-TELL-MARIKO-ABOUT ()
|
||||||
|
<COND (<PRSI? ,ME>
|
||||||
|
<TELL
|
||||||
|
"You relate the story of your life. Toranaga questions
|
||||||
|
you closely about many points, particulary those relating to war and
|
||||||
|
politics." CR>)
|
||||||
|
(<PRSI? ,DOMINGO ,PRISON>
|
||||||
|
<HOW-I-LEARNED>)
|
||||||
|
(<PRSI? ,QUEEN ,ENGLAND>
|
||||||
|
<TELL
|
||||||
|
"\"My land is ruled by a Queen. Queen Elizabeth whose father freed us from
|
||||||
|
the hated priests, and whose wise rule these many years has kept us
|
||||||
|
free!\"" CR>)
|
||||||
|
(<PRSI? ,BLACK-SHIP>
|
||||||
|
<TELL
|
||||||
|
"\"Give me back my ship and I'll sweep the Portuguese and Spanish from the
|
||||||
|
sea and bring you the Black Ship!\"" CR>)
|
||||||
|
(<PRSI? ,WORLD>
|
||||||
|
<TELL
|
||||||
|
"\"Perhaps I could draw you a map of the world, as we know it?\"|
|
||||||
|
|
|
||||||
|
Toranaga seems interested." CR>)
|
||||||
|
(<PRSI? ,VOYAGE>
|
||||||
|
<TELL
|
||||||
|
"\"We were two years sailing here, through Magellan's Pass into the Pacific.\"|
|
||||||
|
|
|
||||||
|
Toranaga interrupts, and Mariko says, \"My Master says you are mistaken. All
|
||||||
|
bar -- all Portuguese come from the south.\"|
|
||||||
|
|
|
||||||
|
\"Yes, it's true they favor that way,\" you reply. \"They have dozens of forts
|
||||||
|
all along the route. Most of those forts employ Japanese troops, by the way.\"|
|
||||||
|
|
|
||||||
|
You see an immediate reaction on Mariko's face, and when she translates, on
|
||||||
|
Toranaga's." CR>)
|
||||||
|
(<PRSI? CHURCH POPE>
|
||||||
|
<TELL
|
||||||
|
"\"The Pope divided the world between Spain and Portugal. Portugal has the
|
||||||
|
exclusive right to this country, to all these countries -- Japan, China, and
|
||||||
|
Africa -- in return for spreading Catholicism.\"" CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Mariko passes on the information to Toranaga, but he doesn't seem too
|
||||||
|
interested." CR>)>>
|
||||||
|
|
||||||
<ROUTINE HOW-I-LEARNED ()
|
<ROUTINE HOW-I-LEARNED ()
|
||||||
<SETG QCONTEXT <>>
|
<SETG QCONTEXT <>>
|
||||||
<SETUP-ANSWER <>>
|
<SETUP-ANSWER <>>
|
||||||
|
@ -2042,8 +2090,7 @@ the soothsayer's prediction!\"|
|
||||||
|
|
|
|
||||||
\"No, Lord Toranaga, I haven't forgotten,\" Ishido says, remembering very
|
\"No, Lord Toranaga, I haven't forgotten,\" Ishido says, remembering very
|
||||||
well. He bows again, very deferential to the boy, and leaves." CR>)
|
well. He bows again, very deferential to the boy, and leaves." CR>)
|
||||||
(<DEQUEUE I-YAEMON>
|
(<TELL CR
|
||||||
<TELL CR
|
|
||||||
"Soon the interview is over, and the Heir is sent for his swimming
|
"Soon the interview is over, and the Heir is sent for his swimming
|
||||||
lesson. Toranaga installs you in his own sleeping chamber, as a mark of his
|
lesson. Toranaga installs you in his own sleeping chamber, as a mark of his
|
||||||
favor. Things are looking up, indeed!" CR>
|
favor. Things are looking up, indeed!" CR>
|
||||||
|
@ -2118,4 +2165,4 @@ in for trouble!\"|
|
||||||
Ingeles, it's quite possible the Taiko's Expulsion Edicts would be reexamined and
|
Ingeles, it's quite possible the Taiko's Expulsion Edicts would be reexamined and
|
||||||
all Christian churches, schools, places of rest, would be immediately closed.\"" CR>>
|
all Christian churches, schools, places of rest, would be immediately closed.\"" CR>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"MARIKO">
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
Blackthorne's Biography
|
||||||
|
|
||||||
|
1564; Born (36 at time of story)
|
||||||
|
1576; begins apprenticeship with Alban Caradoc
|
||||||
|
1588; end of apprenticeship; Spanish Armada
|
||||||
|
1589; married Felicity
|
||||||
|
1592; sunk by the Turks; plague
|
||||||
|
1593; voyage to the West Indies
|
||||||
|
1595; voyage to find the NE Passage
|
||||||
|
1598, May; left Holland
|
||||||
|
1599; Reached Tierra del Fuego
|
||||||
|
1600, April 21; start of story
|
||||||
|
|
||||||
|
----
|
||||||
|
pp. 3-9; History of the expedition; longitude; Alban Caradoc; Tierra
|
||||||
|
del Fuego; Santa Maria Island
|
||||||
|
|
||||||
|
p. 25; why they headed across the Pacific
|
||||||
|
|
||||||
|
p. 38; Blackthorne's family in England (wife Felicity, son Tudor,
|
||||||
|
daughter Lisbeth)
|
||||||
|
|
||||||
|
pp. 85-86; Blackthorne and the London Company of Barbary Merchants;
|
||||||
|
Barbary Coast, Lagos, West Africa, Salerno; sunk by the Turks;
|
||||||
|
voyage to West Indies; NE Passage; recruitment by the Dutch
|
||||||
|
|
||||||
|
pp. 91-92; voyage to find Northeast Passage; Barbary Coast, Tripoli;
|
||||||
|
Spanish Armada
|
||||||
|
|
||||||
|
pp. 135-138; the situation in Europe
|
||||||
|
|
||||||
|
pp. 156-161; Friar Domingo explains the situation in Asia
|
||||||
|
|
||||||
|
pp. 163-164; the Spanish Armada; Alban Caradoc's death
|
||||||
|
|
||||||
|
pp. 176-183; the Known World, history, etc.
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("ONE-BYTE-PARTS-OF-SPEECH" %<>)("IN-ZILCH" T)(
|
||||||
|
"WORD-FLAGS-IN-TABLE" T)) ()>
|
||||||
|
|
||||||
|
<ZZPACKAGE "REDS">
|
||||||
|
<ENTRY RED-BE-FORM RED-BE RED-NOT RED-SNBN RED-SNBA RED-SNBP RED-SNBAP
|
||||||
|
RED-CANDO>
|
||||||
|
<INCLUDE "BASEDEFS" "FIND" "PBITDEFS" "PDEFS">
|
||||||
|
<USE "NEWSTRUC" "PARSER" "PMEM" "PSTACK">
|
||||||
|
<FILE-FLAGS MDL-ZIL?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<NEW-ADD-WORD "AM" TOBE <> <ORB ,FIRST-PERSON ,PRESENT-TENSE>>
|
||||||
|
<NEW-ADD-WORD "ARE" TOBE <> <ORB ,FIRST-PERSON ,SECOND-PERSON ,THIRD-PERSON ,
|
||||||
|
PRESENT-TENSE ,PLURAL-FLAG>>
|
||||||
|
<NEW-ADD-WORD "IS" TOBE <> <ORB ,THIRD-PERSON ,PRESENT-TENSE>>
|
||||||
|
<NEW-ADD-WORD "WAS" TOBE <> <ORB ,FIRST-PERSON ,THIRD-PERSON ,PAST-TENSE>>
|
||||||
|
<NEW-ADD-WORD "WERE" TOBE <> <ORB ,FIRST-PERSON ,SECOND-PERSON ,THIRD-PERSON ,
|
||||||
|
PAST-TENSE ,PLURAL-FLAG>>
|
||||||
|
<NEW-ADD-WORD "WILL" TOBE <> ,FUTURE-TENSE>
|
||||||
|
<NEW-ADD-WORD "SHALL" TOBE <> ,FUTURE-TENSE>
|
||||||
|
<ADD-WORD "HOW" QWORD>
|
||||||
|
<ADD-WORD "WHAT" QWORD>
|
||||||
|
<ADD-WORD "WHEN" QWORD>
|
||||||
|
<ADD-WORD "WHERE" QWORD>
|
||||||
|
<ADD-WORD "WHO" QWORD>
|
||||||
|
<ADD-WORD "WHY" QWORD>
|
||||||
|
<DEFINE-ROUTINE RED-BE-FORM>
|
||||||
|
<DEFINE-ROUTINE EXCH-4-5-Q>
|
||||||
|
<DEFINE-ROUTINE RED-SBNN>
|
||||||
|
<DEFINE-ROUTINE RED-SNBN>
|
||||||
|
<DEFINE-ROUTINE DETERMINE-SUBJ>
|
||||||
|
<DEFINE-ROUTINE RED-SBNA>
|
||||||
|
<DEFINE-ROUTINE RED-SNBA>
|
||||||
|
<OBJECT INTADJ (LOC GLOBAL-OBJECTS) (DESC "adjective") (SYNONYM L.G)>
|
||||||
|
<DEFINE-ROUTINE RED-SBNP>
|
||||||
|
<DEFINE-ROUTINE RED-SNBP>
|
||||||
|
<DEFINE-ROUTINE RED-SNBAP>
|
||||||
|
<DEFINE-ROUTINE P-PP-OBJ>
|
||||||
|
<DEFINE-ROUTINE P-PP-PREP>
|
||||||
|
<OBJECT INTPP (LOC GLOBAL-OBJECTS) (DESC "prep phrase") (SYNONYM L.G)>
|
||||||
|
<DEFINE-ROUTINE RED-SQBN>
|
||||||
|
<DEFINE-ROUTINE RED-BE>
|
||||||
|
<DEFINE-ROUTINE RED-NOT>
|
||||||
|
<NEW-ADD-WORD "CAN" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "COULD" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "DO" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "DOES" CANDO <VOC "DO"> <ORB ,THIRD-PERSON>>
|
||||||
|
<NEW-ADD-WORD "DID" CANDO <VOC "DO"> ,PAST-TENSE>
|
||||||
|
<NEW-ADD-WORD "MAY" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "MIGHT" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "WILL" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "SHALL" CANDO <VOC "WILL"> ,FUTURE-TENSE>
|
||||||
|
<NEW-ADD-WORD "WOULD" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "SHOULD" CANDO <>>
|
||||||
|
<NEW-ADD-WORD "MUST" CANDO <>>
|
||||||
|
<DEFINE-ROUTINE RED-CANDO>
|
||||||
|
<DEFINE-ROUTINE INSERT-WHAT>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<ENDPACKAGE>
|
|
@ -0,0 +1,573 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-BE-FORM:ANY:0:2,N,TYP
|
||||||
|
PUT PARSE-RESULT,2,TLEXV
|
||||||
|
POP DATA-STACK
|
||||||
|
PUT PARSE-RESULT,1,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT EXCH-4-5-Q:ANY:3:3,RED,N,TYP,X1,X2,X3,X4,X5
|
||||||
|
POP DATA-STACK >X1
|
||||||
|
POP DATA-STACK >X2
|
||||||
|
POP DATA-STACK >X3
|
||||||
|
POP DATA-STACK >X4
|
||||||
|
POP DATA-STACK >X5
|
||||||
|
EQUAL? N,6 \?CCL3
|
||||||
|
DEC 'N
|
||||||
|
POP DATA-STACK
|
||||||
|
PUT PARSE-RESULT,10,STACK
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: PUT PARSE-RESULT,10,0
|
||||||
|
?CND1: CALL2 PMEM?,X3
|
||||||
|
ZERO? STACK /?CCL6
|
||||||
|
XPUSH X3,DATA-STACK /?CND4
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: XPUSH X4,DATA-STACK /?CND4
|
||||||
|
?CND4: XPUSH X5,DATA-STACK /?BOGUS9
|
||||||
|
?BOGUS9: CALL2 PMEM?,X3
|
||||||
|
ZERO? STACK /?CCL12
|
||||||
|
XPUSH X4,DATA-STACK /?CND10
|
||||||
|
JUMP ?CND10
|
||||||
|
?CCL12: XPUSH X3,DATA-STACK /?CND10
|
||||||
|
?CND10: XPUSH X2,DATA-STACK /?BOGUS15
|
||||||
|
?BOGUS15: XPUSH X1,DATA-STACK /?BOGUS16
|
||||||
|
?BOGUS16: GET PARSE-RESULT,16
|
||||||
|
BOR PARSE-QUESTION,STACK
|
||||||
|
PUT PARSE-RESULT,16,STACK
|
||||||
|
CALL RED,N,TYP
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SBNN:ANY:0:2,N,TYP
|
||||||
|
CALL EXCH-4-5-Q,RED-SNBN,N,TYP
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SNBN:ANY:0:2,N,TYP,OK,NPP,OBJ,VERB,X,?TMP1
|
||||||
|
GET PARSE-RESULT,1 >VERB
|
||||||
|
POP DATA-STACK >NPP
|
||||||
|
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||||
|
GET WORD-FLAG-TABLE,0
|
||||||
|
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||||
|
GET X,1
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PUSH FALSE-VALUE
|
||||||
|
?CND4: BTST STACK,1024 \?CCL3
|
||||||
|
POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
?CND1: ZERO? OK /FALSE
|
||||||
|
CALL2 DETERMINE-SUBJ,VERB
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
CALL DETERMINE-OBJ,NPP,2 >OBJ
|
||||||
|
ZERO? OBJ \?CCL19
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,NPP
|
||||||
|
RSTACK
|
||||||
|
?CCL19: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD26
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN24
|
||||||
|
?PRD26: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN24: BTST STACK,32768 /?CCL21
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD29
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN27
|
||||||
|
?PRD29: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN27: BAND STACK,128
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CCL21: PUT PARSE-RESULT,6,OBJ
|
||||||
|
RETURN PARSE-RESULT
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DETERMINE-SUBJ:ANY:1:3,VERB,SHORT,N1,DATA,TMP,OBJ1,?TMP1
|
||||||
|
ZERO? SHORT \?CND1
|
||||||
|
POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BOR PARSE-NOT,STACK
|
||||||
|
PUT PARSE-RESULT,16,STACK
|
||||||
|
?CND1: POP DATA-STACK
|
||||||
|
ZERO? SHORT /?CCL7
|
||||||
|
POP DATA-STACK >TMP
|
||||||
|
PUT PARSE-RESULT,10,TMP
|
||||||
|
JUMP ?CND5
|
||||||
|
?CCL7: GET PARSE-RESULT,10 >TMP
|
||||||
|
?CND5: EQUAL? TMP,0,1 /?CCL9
|
||||||
|
GET TMP,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD16
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN14
|
||||||
|
?PRD16: GET TMP,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN14: BTST STACK,32768 /?CCL9
|
||||||
|
GET TMP,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD19
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN17
|
||||||
|
?PRD19: GET TMP,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN17: BAND STACK,128
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \?CND8
|
||||||
|
?CCL9: GET PARSE-RESULT,16
|
||||||
|
BTST STACK,2 \?CCL22
|
||||||
|
SET 'TMP,W?BE?
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL22: SET 'TMP,W?BE
|
||||||
|
?CND8: GET TMP,3 >DATA
|
||||||
|
ZERO? SHORT /?CCL28
|
||||||
|
GET DATA,2 >TMP
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL28: GET DATA,3 >TMP
|
||||||
|
?CND26: ZERO? TMP \?CCL25
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-TMNOUN
|
||||||
|
RSTACK
|
||||||
|
?CCL25: CALL GET-SYNTAX,TMP,1,1 >TMP
|
||||||
|
ZERO? TMP \?CCL30
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-NOUND
|
||||||
|
RSTACK
|
||||||
|
?CCL30: ZERO? N1 /?PRD35
|
||||||
|
PUSH N1
|
||||||
|
JUMP ?PEN33
|
||||||
|
?PRD35: POP DATA-STACK >N1
|
||||||
|
PUSH N1
|
||||||
|
?PEN33: CALL DETERMINE-OBJ,STACK,1 >OBJ1
|
||||||
|
ZERO? OBJ1 \?CCL32
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,N1
|
||||||
|
RSTACK
|
||||||
|
?CCL32: PUT PARSE-RESULT,5,OBJ1
|
||||||
|
GET TMP,0
|
||||||
|
PUT PARSE-RESULT,4,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SBNA:ANY:0:2,N,TYP
|
||||||
|
CALL EXCH-4-5-Q,RED-SNBA,N,TYP
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SNBA:ANY:0:2,N,TYP,OK,ADJ,VERB,X,?TMP1
|
||||||
|
GET PARSE-RESULT,1 >VERB
|
||||||
|
POP DATA-STACK >ADJ
|
||||||
|
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||||
|
GET WORD-FLAG-TABLE,0
|
||||||
|
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||||
|
GET X,1
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PUSH FALSE-VALUE
|
||||||
|
?CND4: BTST STACK,1024 \?CCL3
|
||||||
|
POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
?CND1: ZERO? OK /FALSE
|
||||||
|
CALL2 DETERMINE-SUBJ,VERB
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD24
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN22
|
||||||
|
?PRD24: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN22: BTST STACK,32768 /?CCL19
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD27
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN25
|
||||||
|
?PRD27: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN25: BAND STACK,128
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CCL19: CALL DO-PMEM-ALLOC,4,NOUN-PHRASE-MIN-LENGTH >X
|
||||||
|
PUT X,1,1
|
||||||
|
PUT X,3,INTADJ
|
||||||
|
PUT PARSE-RESULT,6,X
|
||||||
|
PUT PARSE-RESULT,11,ADJ
|
||||||
|
RETURN PARSE-RESULT
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SBNP:ANY:0:2,N,TYP
|
||||||
|
CALL EXCH-4-5-Q,RED-SNBP,N,TYP
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SNBP:ANY:0:2,N,TYP,OK,PP,VERB,X,?TMP1
|
||||||
|
GET PARSE-RESULT,1 >VERB
|
||||||
|
POP DATA-STACK >PP
|
||||||
|
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||||
|
GET WORD-FLAG-TABLE,0
|
||||||
|
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||||
|
GET X,1
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PUSH FALSE-VALUE
|
||||||
|
?CND4: BTST STACK,1024 \?CCL3
|
||||||
|
POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
?CND1: ZERO? OK /FALSE
|
||||||
|
CALL2 DETERMINE-SUBJ,VERB
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD25
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN23
|
||||||
|
?PRD25: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN23: BTST STACK,32768 /?CCL20
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD28
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN26
|
||||||
|
?PRD28: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN26: BAND STACK,128
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CCL20: CALL DO-PMEM-ALLOC,4,NOUN-PHRASE-MIN-LENGTH >X
|
||||||
|
PUT X,1,1
|
||||||
|
PUT X,3,INTPP
|
||||||
|
PUT PARSE-RESULT,6,X
|
||||||
|
GET PARSE-RESULT,3
|
||||||
|
CALL REDUCE-LOCATION,PP,STACK,2 >OK
|
||||||
|
ZERO? OK /?CCL31
|
||||||
|
PUT PARSE-RESULT,9,OK
|
||||||
|
RETURN PARSE-RESULT
|
||||||
|
?CCL31: PUT PARSE-RESULT,9,PP
|
||||||
|
RETURN PARSE-RESULT
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SNBAP:ANY:0:2,N,TYP,OK,ADJ,PP,VERB,X,?TMP1
|
||||||
|
GET PARSE-RESULT,1 >VERB
|
||||||
|
POP DATA-STACK >PP
|
||||||
|
POP DATA-STACK >ADJ
|
||||||
|
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||||
|
GET WORD-FLAG-TABLE,0
|
||||||
|
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||||
|
GET X,1
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PUSH FALSE-VALUE
|
||||||
|
?CND4: BTST STACK,1024 \?CCL3
|
||||||
|
POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: POP DATA-STACK
|
||||||
|
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||||
|
SET 'OK,TRUE-VALUE
|
||||||
|
?CND1: ZERO? OK /FALSE
|
||||||
|
CALL2 DETERMINE-SUBJ,VERB
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD25
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN23
|
||||||
|
?PRD25: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN23: BTST STACK,32768 /?CCL20
|
||||||
|
GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD28
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN26
|
||||||
|
?PRD28: GET PARSE-RESULT,5
|
||||||
|
GET STACK,4
|
||||||
|
GET STACK,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN26: BAND STACK,128
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CCL20: CALL DO-PMEM-ALLOC,4,4 >X
|
||||||
|
PUT X,1,1
|
||||||
|
PUT X,3,INTPP
|
||||||
|
SET 'OK,X
|
||||||
|
PUT PARSE-RESULT,6,OK
|
||||||
|
GET PARSE-RESULT,3
|
||||||
|
CALL REDUCE-LOCATION,PP,STACK,2 >OK
|
||||||
|
ZERO? OK /?CCL31
|
||||||
|
PUT PARSE-RESULT,9,OK
|
||||||
|
JUMP ?CND29
|
||||||
|
?CCL31: GET PP,2
|
||||||
|
CALL2 DETERMINE-OBJ,STACK >OK
|
||||||
|
ZERO? OK /?CND32
|
||||||
|
PUT PP,2,OK
|
||||||
|
PUTB PP,1,PMEM-TYPE-LOCATION
|
||||||
|
?CND32: PUT PARSE-RESULT,9,PP
|
||||||
|
?CND29: PUT PARSE-RESULT,11,ADJ
|
||||||
|
RETURN PARSE-RESULT
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT P-PP-OBJ:ANY:0:0,TMP
|
||||||
|
GET PARSE-RESULT,9 >TMP
|
||||||
|
ZERO? TMP /FALSE
|
||||||
|
GETB TMP,1
|
||||||
|
EQUAL? STACK,6 \FALSE
|
||||||
|
GET TMP,2 >TMP
|
||||||
|
ZERO? TMP /FALSE
|
||||||
|
GET TMP,3
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT P-PP-PREP:ANY:0:0,TMP
|
||||||
|
GET PARSE-RESULT,9 >TMP
|
||||||
|
ZERO? TMP /FALSE
|
||||||
|
GET TMP,1
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-SQBN:ANY:0:2,N,TYP,?TMP1
|
||||||
|
GET PARSE-RESULT,1 >?TMP1
|
||||||
|
POP DATA-STACK
|
||||||
|
CALL DETERMINE-SUBJ,?TMP1,TRUE-VALUE,STACK
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
RETURN PARSE-RESULT
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-BE:ANY:0:2,N,TYP,E
|
||||||
|
EQUAL? N,1 \TRUE
|
||||||
|
POP DATA-STACK >E
|
||||||
|
EQUAL? W?BE,E \FALSE
|
||||||
|
RETURN E
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-NOT:ANY:0:2,N,TYP,E
|
||||||
|
EQUAL? N,1 \TRUE
|
||||||
|
POP DATA-STACK >E
|
||||||
|
EQUAL? W?NOT,E \FALSE
|
||||||
|
RETURN E
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RED-CANDO:ANY:0:2,N,TYP,TMP,OBJ,SUBJ,WD,END,?TMP1
|
||||||
|
ZERO? N /TRUE
|
||||||
|
EQUAL? N,1 \?CCL5
|
||||||
|
POP DATA-STACK >SUBJ
|
||||||
|
GET SUBJ,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD13
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN11
|
||||||
|
?PRD13: GET SUBJ,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN11: BTST STACK,32768 /?CCL8
|
||||||
|
GET SUBJ,2
|
||||||
|
GET STACK,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD16
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN14
|
||||||
|
?PRD16: GET SUBJ,2
|
||||||
|
GET STACK,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN14: BAND STACK,128
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CCL8: CALL2 DETERMINE-OBJ,SUBJ >OBJ
|
||||||
|
ZERO? OBJ \?CCL19
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,SUBJ
|
||||||
|
RSTACK
|
||||||
|
?CCL19: GET OBJ,1
|
||||||
|
EQUAL? STACK,1 \FALSE
|
||||||
|
GET OBJ,3
|
||||||
|
FSET? STACK,PERSONBIT \FALSE
|
||||||
|
PUT PARSE-RESULT,13,OBJ
|
||||||
|
RTRUE
|
||||||
|
?CCL5: POP DATA-STACK >SUBJ
|
||||||
|
CALL2 PMEM?,SUBJ
|
||||||
|
ZERO? STACK /?CCL26
|
||||||
|
POP DATA-STACK
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BOR PARSE-NOT,STACK
|
||||||
|
PUT PARSE-RESULT,16,STACK
|
||||||
|
JUMP ?CND24
|
||||||
|
?CCL26: EQUAL? TRUE-VALUE,SUBJ /?CND27
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BOR PARSE-NOT,STACK
|
||||||
|
PUT PARSE-RESULT,16,STACK
|
||||||
|
?CND27: POP DATA-STACK >SUBJ
|
||||||
|
EQUAL? N,3 \?CND24
|
||||||
|
PUT PARSE-RESULT,14,SUBJ
|
||||||
|
?CND24: POP DATA-STACK >TMP
|
||||||
|
EQUAL? N,3 \?CCL33
|
||||||
|
SET 'SUBJ,TMP
|
||||||
|
GET PARSE-RESULT,14 >TMP
|
||||||
|
JUMP ?CND31
|
||||||
|
?CCL33: GET PARSE-RESULT,16
|
||||||
|
BOR PARSE-QUESTION,STACK
|
||||||
|
PUT PARSE-RESULT,16,STACK
|
||||||
|
PUT PARSE-RESULT,14,TMP
|
||||||
|
?CND31: GET TMP,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD42
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN40
|
||||||
|
?PRD42: GET TMP,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN40: BTST STACK,32768 /?PRD37
|
||||||
|
GET TMP,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD45
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN43
|
||||||
|
?PRD45: GET TMP,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN43: BAND STACK,1
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK \?CND34
|
||||||
|
?PRD37: GET TMP,3 >OBJ
|
||||||
|
ZERO? OBJ /?CND34
|
||||||
|
SET 'TMP,OBJ
|
||||||
|
?CND34: GET TMP,3
|
||||||
|
GET STACK,2 >TMP
|
||||||
|
ZERO? TMP \?CCL48
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-TMNOUN
|
||||||
|
RSTACK
|
||||||
|
?CCL48: CALL GET-SYNTAX,TMP,1,1 >TMP
|
||||||
|
ZERO? TMP \?CCL50
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-NOUND
|
||||||
|
RSTACK
|
||||||
|
?CCL50: CALL DETERMINE-OBJ,SUBJ,1 >OBJ
|
||||||
|
ZERO? OBJ \?CCL52
|
||||||
|
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,SUBJ
|
||||||
|
RSTACK
|
||||||
|
?CCL52: PUT PARSE-RESULT,13,OBJ
|
||||||
|
PUT PARSE-RESULT,15,TMP
|
||||||
|
EQUAL? N,3 /TRUE
|
||||||
|
POP DATA-STACK >TMP
|
||||||
|
EQUAL? TRUE-VALUE,TMP \?CCL57
|
||||||
|
PUSH 0
|
||||||
|
JUMP ?CND55
|
||||||
|
?CCL57: PUSH TMP
|
||||||
|
?CND55: PUT PARSE-RESULT,10,STACK
|
||||||
|
EQUAL? TMP,W?WHAT,W?WHO \TRUE
|
||||||
|
INTBL? W?PERIOD,TLEXV,P-LEN,132 >SUBJ /?BOGUS60
|
||||||
|
?BOGUS60: ZERO? SUBJ \?CND61
|
||||||
|
INTBL? W?THEN,TLEXV,P-LEN,132 >SUBJ /?CND61
|
||||||
|
?CND61: ZERO? SUBJ \?CND64
|
||||||
|
INTBL? W??,TLEXV,P-LEN,132 >SUBJ /?CND64
|
||||||
|
?CND64: ZERO? SUBJ \?CND67
|
||||||
|
SUB P-LEN,1
|
||||||
|
MUL STACK,4
|
||||||
|
ADD TLEXV,STACK >SUBJ
|
||||||
|
?CND67: SET 'END,4
|
||||||
|
?PRG69: GET SUBJ,0 >WD
|
||||||
|
EQUAL? TMP,WD /TRUE
|
||||||
|
GET WD,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD80
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN78
|
||||||
|
?PRD80: GET WD,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN78: BTST STACK,32768 /?CCL75
|
||||||
|
GET WD,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD83
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN81
|
||||||
|
?PRD83: GET WD,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN81: BAND STACK,1
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK /?CCL75
|
||||||
|
ADD SUBJ,4
|
||||||
|
ICALL INSERT-WHAT,TMP,STACK
|
||||||
|
RTRUE
|
||||||
|
?CCL75: GET WD,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD90
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN88
|
||||||
|
?PRD90: GET WD,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN88: BTST STACK,32768 /?CCL85
|
||||||
|
GET WD,4 >?TMP1
|
||||||
|
ZERO? ?TMP1 /?PRD93
|
||||||
|
PUSH ?TMP1
|
||||||
|
JUMP ?PEN91
|
||||||
|
?PRD93: GET WD,3
|
||||||
|
GET STACK,4
|
||||||
|
?PEN91: BAND STACK,1024
|
||||||
|
BAND STACK,32767
|
||||||
|
ZERO? STACK /?CCL85
|
||||||
|
ADD SUBJ,END
|
||||||
|
ICALL INSERT-WHAT,TMP,STACK
|
||||||
|
RTRUE
|
||||||
|
?CCL85: SUB SUBJ,4 >SUBJ
|
||||||
|
GRTR? TLEXV,SUBJ \?PRG69
|
||||||
|
SET 'END,0
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT INSERT-WHAT:ANY:2:2,TMP,SUBJ
|
||||||
|
SUB SUBJ,4
|
||||||
|
GET STACK,0
|
||||||
|
EQUAL? TMP,STACK /FALSE
|
||||||
|
SUB SUBJ,P-LEXV
|
||||||
|
DIV STACK,2
|
||||||
|
ICALL INSERT-ADJS-WD,STACK,TMP
|
||||||
|
INC 'P-OLEN
|
||||||
|
ICALL2 COPY-INPUT,1
|
||||||
|
SET 'P-OFLAG,0
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -0,0 +1,161 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<CONSTANT J-HEAD 1>
|
||||||
|
<CONSTANT J-KILL-MARIKO 2>
|
||||||
|
<CONSTANT J-SEPPUKU 3>
|
||||||
|
<CONSTANT J-CALL-YABU 4>
|
||||||
|
<CONSTANT J-SHOOT-YABU 5>
|
||||||
|
<CONSTANT J-ATTACK-ISHIDO 6>
|
||||||
|
<CONSTANT J-LAUGH-AT-TORANAGA 7>
|
||||||
|
<CONSTANT J-SWITCH 8>
|
||||||
|
<CONSTANT J-WRONG-ANSWER 9>
|
||||||
|
<DEFINE-ROUTINE NEW-SDESC>
|
||||||
|
<DEFINE-ROUTINE YABU-WAKARIMASEN>
|
||||||
|
<DEFINE-ROUTINE WAKARIMASEN>
|
||||||
|
<VOC "ANJIN" NOUN>
|
||||||
|
<VOC "ANJIN-SAN" NOUN>
|
||||||
|
<OBJECT BLACKTHORNE (LOC BRIDGE-OF-ERASMUS) (OWNER LG-ERASMUS) (DESC
|
||||||
|
"Blackthorne") (SYNONYM JOHN BLACKTHORNE PILOT PILOT-MAJOR PILOT PILOT-MAJOR) (
|
||||||
|
ADJECTIVE JOHN) (FLAGS PERSON ENGLISHBIT NOABIT NOTHEBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT) (HEALTH 3) (GENERIC GENERIC-PILOT-F) (ACTION BLACKTHORNE-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-PILOT-F>
|
||||||
|
<DEFINE-ROUTINE BLACKTHORNE-F>
|
||||||
|
<DEFINE-ROUTINE I-DONT-KNOW?>
|
||||||
|
<OBJECT BOOTS (OWNER BLACKTHORNE) (DESC "your boots") (FDESC
|
||||||
|
"Sitting at the bottom of the steps are your boots.") (SYNONYM BOOTS PAIR) (
|
||||||
|
FLAGS TAKEBIT WEARABLE PLURAL NOTHEBIT NOABIT) (ACTION BOOTS-F)>
|
||||||
|
<DEFINE-ROUTINE BOOTS-F>
|
||||||
|
<OBJECT CLOTHES (OWNER BLACKTHORNE) (DESC "your clothes") (SYNONYM CLOTHES) (
|
||||||
|
ADJECTIVE PILE) (FLAGS TAKEBIT WEARABLE PLURAL NOTHEBIT NOABIT) (ACTION
|
||||||
|
CLOTHES-F)>
|
||||||
|
<DEFINE-ROUTINE CLOTHES-F>
|
||||||
|
<OBJECT KIMONO (OWNER BLACKTHORNE) (DESC "kimono") (SYNONYM KIMONO CLOTHES) (
|
||||||
|
ADJECTIVE SILK) (FLAGS TAKEBIT WEARABLE) (ACTION KIMONO-F)>
|
||||||
|
<DEFINE-ROUTINE KIMONO-F>
|
||||||
|
<OBJECT SANDALS (OWNER BLACKTHORNE) (DESC "pair of sandals") (SYNONYM SANDALS
|
||||||
|
SLIPPERS THONG THONGS) (FLAGS TAKEBIT WEARABLE PLURAL)>
|
||||||
|
<OBJECT SOCKS (OWNER BLACKTHORNE) (DESC "socks") (SYNONYM SOCKS TABIS) (
|
||||||
|
ADJECTIVE TABI) (FLAGS TAKEBIT WEARABLE PLURAL NOABIT) (ACTION SOCKS-F)>
|
||||||
|
<DEFINE-ROUTINE SOCKS-F>
|
||||||
|
<OBJECT SWORDS (OWNER BLACKTHORNE) (DESC "swords") (SYNONYM SWORDS SWORD SELLER
|
||||||
|
) (ADJECTIVE PAIR KILLING STABBING OIL LONG SHORT) (FLAGS TAKEBIT WEARABLE
|
||||||
|
WEAPONBIT NOABIT SCOREBIT PLURAL) (GENERIC GENERIC-SWORD-F) (ACTION SWORDS-F)>
|
||||||
|
<DEFINE-ROUTINE SWORDS-F>
|
||||||
|
<OBJECT SEBASTIO (SDESC "priest") (SYNONYM PRIEST SEBASTIO MAN FATHER JESUIT
|
||||||
|
EUROPEAN) (ADJECTIVE FATHER TONSURED) (FLAGS PERSON PORTUGUESEBIT OPENBIT
|
||||||
|
CONTBIT SEARCHBIT NOABIT THE) (ACTION SEBASTIO-F)>
|
||||||
|
<DEFINE-ROUTINE SEBASTIO-F>
|
||||||
|
<OBJECT OMI (SDESC "young man") (SYNONYM MAN OMI OMI-SAN SAMURAI) (ADJECTIVE
|
||||||
|
YOUNG KASIGI) (PICTURE P-OMI) (FLAGS PERSON JAPANESEBIT SCOREBIT THE) (GENERIC
|
||||||
|
GENERIC-SAMURAI-F) (ACTION OMI-F)>
|
||||||
|
<CONSTANT OMI-NAME "Omi">
|
||||||
|
<DEFINE-ROUTINE OMI-F>
|
||||||
|
<DEFINE-ROUTINE SEBASTIO-SCREAMS>
|
||||||
|
<DEFINE-ROUTINE REMOVES-YOUR-HEAD>
|
||||||
|
<OBJECT MURA (LOC GENERIC-OBJECTS) (DESC "Mura") (SYNONYM MURA HEADMAN MAN) (
|
||||||
|
FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT OPENBIT CONTBIT SEARCHBIT) (GENERIC
|
||||||
|
GENERIC-MAN-F) (ACTION MURA-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-MAN-F>
|
||||||
|
<DEFINE-ROUTINE MURA-F>
|
||||||
|
<OBJECT BROWNS (DESC "Brown-uniformed samurai") (SYNONYM BROWNS BROWN SAMURAI)
|
||||||
|
(ADJECTIVE BROWNS BROWN BROWN-UNIFORMED) (FLAGS PERSON JAPANESEBIT NOABIT) (
|
||||||
|
COUNT 20) (GENERIC GENERIC-SAMURAI-F) (ACTION BROWNS-F)>
|
||||||
|
<DEFINE-ROUTINE BROWNS-F>
|
||||||
|
<OBJECT GRAYS (DESC "Gray-uniformed samurai") (SYNONYM GRAYS GRAY SAMURAI
|
||||||
|
ESCORT GUARDS GUARDSMEN) (ADJECTIVE GRAY GRAY-UNIFORMED) (FLAGS PERSON
|
||||||
|
JAPANESEBIT NOABIT) (GENERIC GENERIC-SAMURAI-F) (ACTION GRAYS-F)>
|
||||||
|
<DEFINE-ROUTINE GRAYS-F>
|
||||||
|
<OBJECT MARIKO (SDESC "Mariko") (PICTURE P-MARIKO) (SYNONYM MARIKO TODA WOMAN)
|
||||||
|
(ADJECTIVE LADY TODA) (FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT OPENBIT
|
||||||
|
CONTBIT SEARCHBIT SCOREBIT) (DESCFCN MARIKO-DESC) (ACTION MARIKO-F)>
|
||||||
|
<DEFINE-ROUTINE MARIKO-DESC>
|
||||||
|
<DEFINE-ROUTINE MARIKO-F>
|
||||||
|
<DEFINE-ROUTINE INTERRUPTED-SEPPUKU>
|
||||||
|
<DEFINE-ROUTINE I-LOVE-YOU>
|
||||||
|
<DEFINE-ROUTINE I-DONT-UNDERSTAND>
|
||||||
|
<OBJECT YABU (LOC OUTER-ROOM) (DESC "Yabu") (SYNONYM YABU DAIMYO LORD) (
|
||||||
|
ADJECTIVE KASIGI LORD) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT) (PICTURE
|
||||||
|
P-YABU) (DESCFCN YABU-DESC) (GENERIC GENERIC-YABU-F) (ACTION YABU-F)>
|
||||||
|
<DEFINE-ROUTINE YABU-DESC>
|
||||||
|
<DEFINE-ROUTINE YABU-F>
|
||||||
|
<OBJECT LG-YABU (LOC LOCAL-GLOBALS) (SCENE S-VOYAGE) (DESC "Yabu") (SYNONYM
|
||||||
|
YABU) (ADJECTIVE KASIGI) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT) (GENERIC
|
||||||
|
GENERIC-YABU-F) (ACTION LG-YABU-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-YABU-F>
|
||||||
|
<DEFINE-ROUTINE LG-YABU-F>
|
||||||
|
<OBJECT ISHIDO (DESC "Ishido") (SYNONYM ISHIDO MAN) (ADJECTIVE LORD KAZUNARI
|
||||||
|
TALL) (PICTURE P-ISHIDO) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT OPENBIT
|
||||||
|
SCOREBIT CONTBIT SEARCHBIT) (DESCFCN ISHIDO-DESC) (ACTION ISHIDO-F)>
|
||||||
|
<DEFINE-ROUTINE ISHIDO-DESC>
|
||||||
|
<OBJECT ISHIDO-SWORD (LOC ISHIDO) (OWNER ISHIDO) (DESC "sword") (SYNONYM SWORD)
|
||||||
|
(FLAGS NDESCBIT) (GENERIC GENERIC-SWORD-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-SWORD-F>
|
||||||
|
<DEFINE-ROUTINE ISHIDO-F>
|
||||||
|
<OBJECT TORANAGA (DESC "Toranaga") (SYNONYM TORANAGA YOSHI) (ADJECTIVE YOSHI
|
||||||
|
LORD) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT OPENBIT CONTBIT SEARCHBIT) (
|
||||||
|
DESCFCN TORANAGA-DESC) (GENERIC GENERIC-TORANAGA-F) (ACTION TORANAGA-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-TORANAGA-F>
|
||||||
|
<GLOBAL SEEN-FALCON? <>>
|
||||||
|
<DEFINE-ROUTINE TORANAGA-DESC>
|
||||||
|
<DEFINE-ROUTINE TORANAGA-F>
|
||||||
|
<OBJECT HIRO-MATSU (SDESC "Hiro-matsu") (SYNONYM HIRO-MATSU HIRO MAN) (
|
||||||
|
ADJECTIVE LORD OLD) (FLAGS PERSON JAPANESEBIT NOTHEBIT NOABIT) (ACTION
|
||||||
|
HIRO-MATSU-F)>
|
||||||
|
<DEFINE-ROUTINE HIRO-MATSU-F>
|
||||||
|
<OBJECT VINCK (LOC BELOW-DECKS) (DESC "Vinck") (SYNONYM VINCK MAN) (ADJECTIVE
|
||||||
|
JOHANN JOHANN) (FLAGS NDESCBIT PERSON DUTCHBIT NOABIT NOTHEBIT) (DESCFCN
|
||||||
|
VINCK-DESC) (ACTION VINCK-F)>
|
||||||
|
<DEFINE-ROUTINE VINCK-DESC>
|
||||||
|
<DEFINE-ROUTINE VINCK-F>
|
||||||
|
<OBJECT KIRITSUBO (LOC PRIVATE-QUARTERS) (DESC "Kiritsubo") (SYNONYM KIRITSUBO
|
||||||
|
KIRI CONSORT) (ADJECTIVE LADY) (FLAGS PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT
|
||||||
|
) (ACTION KIRITSUBO-F)>
|
||||||
|
<DEFINE-ROUTINE KIRITSUBO-F>
|
||||||
|
<OBJECT RODRIGUES (SDESC "seaman") (LOC GENERIC-OBJECTS) (SCENE S-RODRIGUES
|
||||||
|
S-VOYAGE) (SYNONYM VASCO RODRIGUES SEAMAN PILOT) (ADJECTIVE VASCO PORTUGUESE) (
|
||||||
|
PICTURE P-RODRIGUES) (FLAGS PERSON PORTUGUESEBIT OPENBIT CONTBIT SEARCHBIT) (
|
||||||
|
GENERIC GENERIC-PILOT-F) (DESCFCN RODRIGUES-DESC) (CONTFCN RODRIGUES-F) (ACTION
|
||||||
|
RODRIGUES-F)>
|
||||||
|
<DEFINE-ROUTINE RODRIGUES-DESC>
|
||||||
|
<GLOBAL WRONG-ANSWER? <>>
|
||||||
|
<DEFINE-ROUTINE RODRIGUES-F>
|
||||||
|
<DEFINE-ROUTINE TRAINED?>
|
||||||
|
<OBJECT LG-RODRIGUES (LOC LOCAL-GLOBALS) (SCENE S-VOYAGE) (DESC "Rodrigues") (
|
||||||
|
SYNONYM VASCO RODRIGUES SEAMAN PILOT BODY) (ADJECTIVE VASCO PORTUGUESE) (FLAGS
|
||||||
|
PERSON PORTUGUESEBIT NOABIT NOTHEBIT) (ACTION LG-RODRIGUES-F)>
|
||||||
|
<DEFINE-ROUTINE LG-RODRIGUES-F>
|
||||||
|
<OBJECT DICTIONARY (DESC "Japanese dictionary") (SYNONYM DICTIONARY BOOK) (
|
||||||
|
ADJECTIVE JAPANESE WORD) (FLAGS READBIT TAKEBIT) (ACTION DICTIONARY-F)>
|
||||||
|
<DEFINE-ROUTINE DICTIONARY-F>
|
||||||
|
<DEFINE-ROUTINE JAPANESE-WORD?>
|
||||||
|
<DEFINE-ROUTINE JAPANESE-PHRASE?>
|
||||||
|
<DEFINE-ROUTINE MATCH-INTQUOTE?>
|
||||||
|
<DEFMAC PHRASE ("ARGS" WDS) <FORM LTABLE '(PURE) !<MAPF ,LIST <FUNCTION (WD) <
|
||||||
|
FORM VOC .WD>> .WDS!>>>
|
||||||
|
<CONSTANT JAPANESE-PHRASES <LTABLE (PURE) <PHRASE "ANATA" "WA" "YOKU" "NEMUTTA"
|
||||||
|
"KA"> "Did you sleep well?" <PHRASE "ARIGATO" "GOZIEMASHITA">
|
||||||
|
"Thank you, from an inferior to a superior." <PHRASE "DOKO" "NO" "KUNI" "NO"
|
||||||
|
"MONODA"> "What's your nationality?" <PHRASE "GENKI" "DESU"> "Quite well." <
|
||||||
|
PHRASE "GOMEN" "NASAI"> "So sorry." <PHRASE "IKAGA" "DESU" "KA"> "How are you?"
|
||||||
|
<PHRASE "KONNICHI" "WA"> "Good day." <PHRASE "ONUSHI" "ITTAI" "DOKO" "KARA"
|
||||||
|
"KITANODA"> "Where are you from?" <PHRASE "SHIGATA" "GA" "NAI">
|
||||||
|
"There's nothing that can be done." <PHRASE "TSUYUKU" "GA" "IMASU" "KA">
|
||||||
|
"Do you have an interpreter?" <PHRASE "WAKARIMASU" "KA"> "Do you understand?">>
|
||||||
|
|
||||||
|
<CONSTANT JAPANESE-VOCABULARY <LTABLE (PURE) <VOC "AKABO"> "porter" <VOC
|
||||||
|
"ANJIN"> "pilot" <VOC "ARIGATO"> "very much" <VOC "BANZAI">
|
||||||
|
"ten thousand years" <VOC "BUSHIDO"> "Way of the Warrior" <VOC "CHA"> "tea" <
|
||||||
|
VOC "CHA-NO-YU"> "tea ceremony" <VOC "DAIMYO"> "Lord" <VOC "DESU"> 0 <VOC
|
||||||
|
"DOMO"> "thank you" <VOC "DOZO"> "please" <VOC "ETA"> "outcast" <VOC "GA"> 0 <
|
||||||
|
VOC "GENKI"> 0 <VOC "GO"> 0 <VOC "GOMEN"> 0 <VOC "GOZIEMASHITA"> 0 <VOC "HAI">
|
||||||
|
"yes" <VOC "HANASE-MASEN"> 0 <VOC "IKAGA"> 0 <VOC "ISOGI"> "hurry" <VOC "IYE">
|
||||||
|
"no" <VOC "KA"> "question" <VOC "KAGA"> "litter" <VOC "KAMI"> "evil spirit" <
|
||||||
|
VOC "KINJIRU"> "forbidden" <VOC "KONNICHI"> "good day" <VOC "KONBANWA">
|
||||||
|
"good evening" <VOC "MIZU"> "water" <VOC "NAI"> 0 <VOC "NASAI"> 0 <VOC "NEH">
|
||||||
|
"eh?" <VOC "NIHON"> "Japan" <VOC "ONNA"> "woman" <VOC "RONIN">
|
||||||
|
"masterless samurai" <VOC "SEPPUKU"> "suicide" <VOC "SHIGATA"> 0 <VOC "SHOJI">
|
||||||
|
"screen" <VOC "SO"> 0 <VOC "TATAMI"> "mat" <VOC "TEKI"> "enemy" <VOC "TOMO">
|
||||||
|
"friend" <VOC "TSURU"> "grulla (Spanish), grue (French), crane (English)" <VOC
|
||||||
|
"TSUYAKU"> "translator" <VOC "WA"> 0>>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,20 @@
|
||||||
|
CHEAT SHEET FOR SHOGUN
|
||||||
|
|
||||||
|
* Insert the diskette in one of your drives (usually drive
|
||||||
|
A), and start the program by typing SHOGUN to the DOS
|
||||||
|
prompt.
|
||||||
|
|
||||||
|
* When the first menu appears, type the F10 key (or Apple-0)
|
||||||
|
on an Apple, to get a menu of all scenes.
|
||||||
|
|
||||||
|
* Select menu items using the up- and down-arrow keys, and
|
||||||
|
carriage-return once the proper item is highlighted.
|
||||||
|
|
||||||
|
* In the "Rodrigues" scene, the correct answers to his
|
||||||
|
questions are "I TRAINED AT TRINITY HOUSE" and "THE
|
||||||
|
LATITUDE IS 50".
|
||||||
|
|
||||||
|
* In the IBM version, scripting doesn't currently work.
|
||||||
|
This is a known bug.
|
||||||
|
|
||||||
|
* In the IBM version, there aren't any pictures yet.
|
|
@ -0,0 +1,83 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("SOUND" %<>)) (("LEAVE-HINT-SCREEN" "VERBS" #WORD
|
||||||
|
*12501633253*) ("INIT-HINT-SCREEN" "VERBS" #WORD *22324330117*))>
|
||||||
|
|
||||||
|
<FILE-FLAGS CLEAN-STACK? MDL-ZIL?>
|
||||||
|
<COMPILATION-FLAG-DEFAULT SEGMENTED-HINTS <>>
|
||||||
|
<COMPILATION-FLAG-DEFAULT SPLIT-HINTS <>>
|
||||||
|
<COMPILATION-FLAG-DEFAULT SELECTIVE-HINTS <>>
|
||||||
|
<DEFAULTS-DEFINED HINT-TITLES INIT-HINT-SCREEN LEAVE-HINT-SCREEN>
|
||||||
|
<BEGIN-SEGMENT HINTS>
|
||||||
|
<DEFAULT-DEFINITION HINT-TITLES <CONSTANT RETURN-SEE-HINT "Return for hints.">
|
||||||
|
<CONSTANT RETURN-SEE-NEW-HINT "Return for a hint."> <CONSTANT M-MAIN-HINT-MENU
|
||||||
|
"M for main menu."> <CONSTANT M-SEE-HINT-MENU "M for hint menu."> <CONSTANT
|
||||||
|
PREVIOUS-HINT "P for previous item."> <CONSTANT NEXT-HINT "N for next item."> <
|
||||||
|
CONSTANT Q-RESUME-STORY "Q to resume story."> <CONSTANT H-OR-USE-MOUSE
|
||||||
|
"(Or use mouse.)"> <GLOBAL H-OR-USE-MOUSE-WID:NUMBER 0> <CONSTANT NO-MORE-HINTS
|
||||||
|
"[No more hints.]">>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<COND (<GASSIGNED? DISTINGUISHED-SEGMENT> <DISTINGUISHED-SEGMENT HINTS>)>
|
||||||
|
<BEGIN-SEGMENT HINTS>
|
||||||
|
<DEFINE20 EVAL-INTO-HINTS? () <COND (<COMPILATION-FLAG-VALUE "SEGMENTED-HINTS">
|
||||||
|
<>) (<COMPILATION-FLAG-VALUE "SPLIT-HINTS"> T)>>
|
||||||
|
<DEFINE20 CONSTRUCT-HINTS (COUNT-NAME "ARGS" STUFF "AUX" (SS <>) END-STUFF VAL
|
||||||
|
(HL (T)) (HLL .HL) V (CL (T)) (CLL .CL) TCL TCLL MAIN-SEGMENT (CURRENT-SEGMENT
|
||||||
|
<>)) <IFFLAG (SEGMENTED-HINTS <BIND () <SET MAIN-SEGMENT "0"> <SET
|
||||||
|
CURRENT-SEGMENT "0">>)> <REPEAT ((CT 0)) <COND (<OR <EMPTY? .STUFF> <TYPE? <1 .
|
||||||
|
STUFF> STRING>> <SET END-STUFF .STUFF> <IFFLAG (SEGMENTED-HINTS <COND (<EMPTY?
|
||||||
|
.STUFF>) (<AND <NOT <EMPTY? <REST .STUFF>>> <TYPE? <2 .STUFF> STRING>> <SET
|
||||||
|
CURRENT-SEGMENT <2 .STUFF>> <2 .STUFF <1 .STUFF>> <SET STUFF <REST .STUFF>>) (T
|
||||||
|
<SET CURRENT-SEGMENT .MAIN-SEGMENT>)>) (T <COND (<EMPTY? .STUFF>) (<AND <NOT <
|
||||||
|
EMPTY? <REST .STUFF>>> <TYPE? <2 .STUFF> STRING>> <2 .STUFF <1 .STUFF>> <SET
|
||||||
|
STUFF <REST .STUFF>>)>)> <COND (<NOT .SS> <SET SS .STUFF> <SET TCL (T)> <SET
|
||||||
|
TCLL .TCL> <SET CT 0>) (T <SET V <IVECTOR <- <LENGTH .SS> <LENGTH .END-STUFF>>>
|
||||||
|
> <MAPR <> <FUNCTION (L V) <1 .V <1 .L>>> .SS .V> <COND (<L? 17 <LENGTH .V>> <
|
||||||
|
WARN "Too many answers for: " <1 .V>>)> <COND (<EVAL-INTO-HINTS?> <SET HLL <
|
||||||
|
REST <PUTREST .HLL (<EVAL <FORM TABLE (LENGTH PURE SEGMENT <IFFLAG (SPLIT-HINTS
|
||||||
|
"CLUES") (T "HINTS")>) !.V>>)>>>) (T <SET HLL <REST <PUTREST .HLL (<EVAL <FORM
|
||||||
|
TABLE (LENGTH PURE) !.V>>)>>>)> <COND (.COUNT-NAME <SET CLL <REST <PUTREST .CLL
|
||||||
|
(<EVAL <FORM TABLE (BYTE) !<REST .TCL!>>>)>>> <SET TCL (T)> <SET TCLL .TCL> <
|
||||||
|
SET CT 0>)> <SET SS .STUFF>)> <COND (<EMPTY? .STUFF> <RETURN>)> <SET STUFF <
|
||||||
|
REST .STUFF>>) (T <IFFLAG (SEGMENTED-HINTS <1 .STUFF <EVAL-IN-SEGMENT .
|
||||||
|
CURRENT-SEGMENT <1 .STUFF>>>) (SPLIT-HINTS <BIND () <MAPR <> <FUNCTION (X "AUX"
|
||||||
|
(Y <1 .X>) TT) <COND (<TYPE? .Y STRING> <SET TT <EVAL-IN-SEGMENT "HINTS" <FORM
|
||||||
|
TABLE (TEMP-TABLE) .Y>>> <1 .X <ZGET .TT 0>>) (<TYPE? .Y FORM> <MAPR <> <
|
||||||
|
FUNCTION (A "AUX" (B <1 .A>) TT) <COND (<TYPE? .B STRING> <SET TT <
|
||||||
|
EVAL-IN-SEGMENT "HINTS" <FORM TABLE (TEMP-TABLE) .B>>> <1 .A <ZGET .TT 0>>)>> .
|
||||||
|
Y>)>> <1 .STUFF>> <1 .STUFF <EVAL-IN-SEGMENT "CLUES" <1 .STUFF> T>>>) (T <1 .
|
||||||
|
STUFF <EVAL-IN-SEGMENT "HINTS" <1 .STUFF> T>>)> <COND (.COUNT-NAME <COND (<1? <
|
||||||
|
MOD <SET CT <+ .CT 1>> 2>> <SET TCLL <REST <PUTREST .TCLL (0)>>>)>)> <SET STUFF
|
||||||
|
<REST .STUFF>>)>> <COND (.COUNT-NAME <COND (<EVAL-INTO-HINTS?> <EVAL <FORM
|
||||||
|
CONSTANT .COUNT-NAME <EVAL <FORM TABLE (PURE SEGMENT <IFFLAG (SPLIT-HINTS
|
||||||
|
"CLUES") (T "HINTS")>) !<REST .CL!>>>>>) (T <EVAL <FORM CONSTANT .COUNT-NAME <
|
||||||
|
EVAL <FORM PTABLE !<REST .CL!>>>>>)>)> <SET VAL <COND (<EVAL-INTO-HINTS?> <EVAL
|
||||||
|
<FORM TABLE (PURE LENGTH SEGMENT <IFFLAG (SPLIT-HINTS "CLUES") (T "HINTS")>) !<
|
||||||
|
REST .HL!>>>) (T <EVAL <FORM PLTABLE !<REST .HL!>>>)>> <EVAL <FORM CONSTANT
|
||||||
|
INVISICLUES " InvisiClues (tm)">> .VAL>
|
||||||
|
<GLOBAL H-QUEST-NUM 1>
|
||||||
|
<GLOBAL H-CHAPT-NUM 1>
|
||||||
|
<GLOBAL BOTTOM-HINT-NUM:NUMBER 0>
|
||||||
|
<CONSTANT TOP-HINT-LINE:NUMBER 1>
|
||||||
|
<CONSTANT LEFT-HINT-COLUMN:NUMBER 1>
|
||||||
|
<GLOBAL GET-HINT-ROUTINE 0>
|
||||||
|
<DEFINE-ROUTINE DO-HINTS>
|
||||||
|
<DEFINE-ROUTINE H-PICK-QUESTION>
|
||||||
|
<DEFINE-ROUTINE H-NEW-CURSOR>
|
||||||
|
<DEFINE-ROUTINE SELECT-HINT-BY-MOUSE>
|
||||||
|
<LOWCORE MSLOCY %<> T>
|
||||||
|
<LOWCORE MSLOCX %<> T>
|
||||||
|
<DEFINE-ROUTINE INVERSE-LINE>
|
||||||
|
<DEFINE-ROUTINE DISPLAY-HINT>
|
||||||
|
<DEFINE-ROUTINE H-CHAPT-NAME>
|
||||||
|
<DEFINE-ROUTINE H-GET-QUEST>
|
||||||
|
<DEFINE-ROUTINE H-PUT-UP-FROBS>
|
||||||
|
<DEFAULT-DEFINITION INIT-HINT-SCREEN <DEFINE INIT-HINT-SCREEN () <CLEAR -1> <
|
||||||
|
CSPLIT 4> <SCREEN ,S-TEXT> ,S-WINDOW>>
|
||||||
|
<DEFAULT-DEFINITION LEAVE-HINT-SCREEN <DEFINE LEAVE-HINT-SCREEN () <
|
||||||
|
INIT-STATUS-LINE> <IF-SOUND <COND (,SOUND-ON? <CHECK-LOOPING>)>> <TELL
|
||||||
|
"Back to the story..." CR>>>
|
||||||
|
<DEFINE-ROUTINE HINT-TITLE>
|
||||||
|
<DEFINE-ROUTINE LEFT-LINE>
|
||||||
|
<DEFINE-ROUTINE RIGHT-LINE>
|
||||||
|
<DEFINE-ROUTINE CENTER-LINE>
|
||||||
|
<DEFINE-ROUTINE JUSTIFIED-LINE>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,645 @@
|
||||||
|
|
||||||
|
.SEGMENT "HINTS"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DO-HINTS:ANY:0:0,Q,WIN,WCLR,QN,FG,BG,NUM,MAXC,?TMP1
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
CURSET -1,0
|
||||||
|
CALL1 INIT-HINT-SCREEN >WIN
|
||||||
|
WINATTR S-TEXT,A-WRAP,O-CLEAR
|
||||||
|
FONT 1
|
||||||
|
WINGET -3,WFSIZE
|
||||||
|
SHIFT STACK,-8 >Q
|
||||||
|
WINGET -3,WHIGH
|
||||||
|
DIV STACK,Q >BOTTOM-HINT-NUM
|
||||||
|
SCREEN S-WINDOW
|
||||||
|
WINGET S-WINDOW,WCOLOR >WCLR
|
||||||
|
GETB 0,30
|
||||||
|
EQUAL? STACK,APPLE-2C,APPLE-2E,APPLE-2GS \?CCL3
|
||||||
|
COLOR 1,1
|
||||||
|
HLIGHT H-INVERSE
|
||||||
|
JUMP ?PRG12
|
||||||
|
?CCL3: GET 0,0
|
||||||
|
BTST STACK,1 \?PRG6
|
||||||
|
ICALL CCURSET,2,9
|
||||||
|
COLOR 1,-1
|
||||||
|
JUMP ?PRG12
|
||||||
|
?PRG6: WINGET S-TEXT,WCOLOR >BG
|
||||||
|
SHIFT BG,-8 >FG
|
||||||
|
EQUAL? FG,-1,255 \?CND8
|
||||||
|
SET 'FG,1
|
||||||
|
?CND8: BAND BG,255 >BG
|
||||||
|
EQUAL? BG,-1,255 \?CND10
|
||||||
|
SET 'BG,1
|
||||||
|
?CND10: COLOR FG,BG
|
||||||
|
?PRG12: CLEAR S-TEXT
|
||||||
|
SCREEN S-WINDOW
|
||||||
|
FONT 1
|
||||||
|
ICALL HINT-TITLE,INVISICLUES,S-WINDOW
|
||||||
|
SCREEN S-TEXT
|
||||||
|
WINATTR -3,A-SCRIPT,O-CLEAR
|
||||||
|
DIROUT D-TABLE-ON,SLINE
|
||||||
|
DIROUT D-TABLE-OFF
|
||||||
|
SET 'GET-HINT-ROUTINE,H-CHAPT-NAME
|
||||||
|
GET HINTS,0
|
||||||
|
ICALL2 H-PUT-UP-FROBS,STACK
|
||||||
|
SET 'QN,H-CHAPT-NUM
|
||||||
|
GET HINTS,0
|
||||||
|
GRTR? QN,STACK \?CND14
|
||||||
|
PRINTI " ["
|
||||||
|
PRINTN QN
|
||||||
|
PRINTC 93
|
||||||
|
SET 'QN,1
|
||||||
|
?CND14: ICALL2 H-NEW-CURSOR,QN
|
||||||
|
?PRG16: GET HINTS,0 >MAXC
|
||||||
|
ZERO? DEMO-VERSION? /?CCL20
|
||||||
|
CALL2 INPUT-DEMO,1 >BG
|
||||||
|
JUMP ?CND18
|
||||||
|
?CCL20: INPUT 1 >BG
|
||||||
|
?CND18: EQUAL? BG,CLICK1,CLICK2 \?CND21
|
||||||
|
CALL1 SELECT-HINT-BY-MOUSE >FG
|
||||||
|
GRTR? FG,0 /?CND21
|
||||||
|
EQUAL? FG,-1 \?CCL27
|
||||||
|
SET 'BG,78
|
||||||
|
JUMP ?CND21
|
||||||
|
?CCL27: EQUAL? FG,-2 \?CCL29
|
||||||
|
SET 'BG,80
|
||||||
|
JUMP ?CND21
|
||||||
|
?CCL29: EQUAL? FG,-3 \?CCL31
|
||||||
|
SET 'BG,13
|
||||||
|
JUMP ?CND21
|
||||||
|
?CCL31: EQUAL? FG,-4 \?CCL33
|
||||||
|
SET 'BG,81
|
||||||
|
?CND21: EQUAL? BG,77,109,81 /?CTR35
|
||||||
|
EQUAL? BG,113 \?CCL36
|
||||||
|
?CTR35: SET 'Q,TRUE-VALUE
|
||||||
|
JUMP ?REP17
|
||||||
|
?CCL33: SOUND S-BEEP
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL36: EQUAL? BG,LEFT-ARROW \?CCL40
|
||||||
|
SUB QN,BOTTOM-HINT-NUM >NUM
|
||||||
|
LESS? 0,NUM \?CCL43
|
||||||
|
ICALL H-NEW-CURSOR,QN,TRUE-VALUE
|
||||||
|
SET 'QN,NUM
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
SET 'H-QUEST-NUM,1
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL43: SOUND S-BEEP
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL40: EQUAL? BG,RIGHT-ARROW \?CCL45
|
||||||
|
ADD QN,BOTTOM-HINT-NUM >NUM
|
||||||
|
LESS? MAXC,NUM /?CCL48
|
||||||
|
ICALL H-NEW-CURSOR,QN,TRUE-VALUE
|
||||||
|
SET 'QN,NUM
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
SET 'H-QUEST-NUM,1
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL48: SOUND S-BEEP
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL45: EQUAL? BG,78,110,DOWN-ARROW \?CCL50
|
||||||
|
SET 'NUM,QN
|
||||||
|
ICALL H-NEW-CURSOR,NUM,TRUE-VALUE
|
||||||
|
?PRG51: IGRTR? 'NUM,MAXC \?CND53
|
||||||
|
SET 'NUM,1
|
||||||
|
?CND53: EQUAL? NUM,QN \?CCL57
|
||||||
|
SOUND S-BEEP
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL57: CALL2 H-NEW-CURSOR,NUM
|
||||||
|
ZERO? STACK /?PRG51
|
||||||
|
SET 'QN,NUM
|
||||||
|
SET 'H-QUEST-NUM,1
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL50: EQUAL? BG,80,112,UP-ARROW \?CCL60
|
||||||
|
SET 'NUM,QN
|
||||||
|
ICALL H-NEW-CURSOR,NUM,TRUE-VALUE
|
||||||
|
?PRG61: DLESS? 'NUM,1 \?CND63
|
||||||
|
SET 'NUM,MAXC
|
||||||
|
?CND63: EQUAL? NUM,QN \?CCL67
|
||||||
|
SOUND S-BEEP
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL67: CALL2 H-NEW-CURSOR,NUM
|
||||||
|
ZERO? STACK /?PRG61
|
||||||
|
SET 'QN,NUM
|
||||||
|
SET 'H-QUEST-NUM,1
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL60: EQUAL? BG,13,10,32 \?CCL70
|
||||||
|
SET 'H-CHAPT-NUM,QN
|
||||||
|
CALL1 H-PICK-QUESTION >Q
|
||||||
|
JUMP ?REP17
|
||||||
|
?CCL70: EQUAL? BG,CLICK1,CLICK2 \?CCL72
|
||||||
|
GRTR? FG,MAXC \?CCL75
|
||||||
|
SOUND S-BEEP
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL75: ICALL H-NEW-CURSOR,QN,TRUE-VALUE
|
||||||
|
CALL2 H-NEW-CURSOR,FG
|
||||||
|
ZERO? STACK /?CCL78
|
||||||
|
SET 'QN,FG
|
||||||
|
SET 'H-QUEST-NUM,1
|
||||||
|
EQUAL? BG,CLICK2 \?PRG16
|
||||||
|
SET 'H-CHAPT-NUM,QN
|
||||||
|
CALL1 H-PICK-QUESTION >Q
|
||||||
|
?REP17: ZERO? Q /?PRG12
|
||||||
|
CLEAR -1
|
||||||
|
SCREEN S-WINDOW
|
||||||
|
GETB 0,30
|
||||||
|
EQUAL? STACK,APPLE-2C,APPLE-2E,APPLE-2GS \?CCL85
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
JUMP ?CND83
|
||||||
|
?CCL78: SOUND S-BEEP
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL72: SOUND S-BEEP
|
||||||
|
JUMP ?PRG16
|
||||||
|
?CCL85: BAND WCLR,255 >?TMP1
|
||||||
|
SHIFT WCLR,-8
|
||||||
|
COLOR ?TMP1,STACK
|
||||||
|
?CND83: SCREEN S-TEXT
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
WINATTR S-TEXT,A-WRAP,O-SET
|
||||||
|
WINATTR S-TEXT,A-SCRIPT,O-SET
|
||||||
|
CURSET -2,0
|
||||||
|
ICALL1 LEAVE-HINT-SCREEN
|
||||||
|
RETURN M-FATAL
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT H-PICK-QUESTION:ANY:0:0,CHR,MAXQ,Q,WID,QN,TMP,NUM
|
||||||
|
?FCN: CATCH >PARSE-SENTENCE-ACTIVATION
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
CLEAR S-TEXT
|
||||||
|
GET HINTS,H-CHAPT-NUM
|
||||||
|
GET STACK,1
|
||||||
|
ICALL HINT-TITLE,STACK,S-WINDOW
|
||||||
|
CALL CENTER-LINE,M-MAIN-HINT-MENU,2 >WID
|
||||||
|
GET HINTS,H-CHAPT-NUM
|
||||||
|
GET STACK,0
|
||||||
|
SUB STACK,1 >MAXQ
|
||||||
|
SCREEN S-TEXT
|
||||||
|
SET 'GET-HINT-ROUTINE,H-GET-QUEST
|
||||||
|
ICALL2 H-PUT-UP-FROBS,MAXQ
|
||||||
|
SET 'QN,H-QUEST-NUM
|
||||||
|
GRTR? QN,MAXQ \?CND1
|
||||||
|
PRINTI " ["
|
||||||
|
PRINTN QN
|
||||||
|
PRINTC 93
|
||||||
|
SET 'QN,1
|
||||||
|
?CND1: ICALL2 H-NEW-CURSOR,QN
|
||||||
|
?PRG3: ZERO? DEMO-VERSION? /?CCL7
|
||||||
|
CALL2 INPUT-DEMO,1 >CHR
|
||||||
|
JUMP ?CND5
|
||||||
|
?CCL7: INPUT 1 >CHR
|
||||||
|
?CND5: EQUAL? CHR,CLICK1,CLICK2 \?CND8
|
||||||
|
CALL SELECT-HINT-BY-MOUSE,WID,TRUE-VALUE >TMP
|
||||||
|
GRTR? TMP,0 /?CND8
|
||||||
|
EQUAL? TMP,-1 \?CCL14
|
||||||
|
SET 'CHR,78
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL14: EQUAL? TMP,-2 \?CCL16
|
||||||
|
SET 'CHR,80
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL16: EQUAL? TMP,-3 \?CCL18
|
||||||
|
SET 'CHR,13
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL18: EQUAL? TMP,-4 \?CCL20
|
||||||
|
SET 'CHR,81
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL20: EQUAL? TMP,-5 \?CCL22
|
||||||
|
SET 'CHR,77
|
||||||
|
?CND8: EQUAL? CHR,81,113 /TRUE
|
||||||
|
EQUAL? CHR,77,109 \?CCL27
|
||||||
|
SET 'Q,TRUE-VALUE
|
||||||
|
JUMP ?REP4
|
||||||
|
?CCL22: SOUND S-BEEP
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL27: EQUAL? CHR,LEFT-ARROW \?CCL29
|
||||||
|
SUB QN,BOTTOM-HINT-NUM >NUM
|
||||||
|
LESS? 0,NUM \?CCL32
|
||||||
|
ICALL H-NEW-CURSOR,QN,TRUE-VALUE
|
||||||
|
SET 'QN,NUM
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL32: SOUND S-BEEP
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL29: EQUAL? CHR,RIGHT-ARROW \?CCL34
|
||||||
|
ADD QN,BOTTOM-HINT-NUM >NUM
|
||||||
|
LESS? MAXQ,NUM /?CCL37
|
||||||
|
ICALL H-NEW-CURSOR,QN,TRUE-VALUE
|
||||||
|
SET 'QN,NUM
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL37: SOUND S-BEEP
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL34: EQUAL? CHR,78,110,DOWN-ARROW \?CCL39
|
||||||
|
SET 'NUM,QN
|
||||||
|
ICALL H-NEW-CURSOR,NUM,TRUE-VALUE
|
||||||
|
?PRG40: IGRTR? 'NUM,MAXQ \?CND42
|
||||||
|
SET 'NUM,1
|
||||||
|
?CND42: EQUAL? NUM,QN \?CCL46
|
||||||
|
SOUND S-BEEP
|
||||||
|
JUMP ?REP41
|
||||||
|
?CCL46: CALL2 H-NEW-CURSOR,NUM
|
||||||
|
ZERO? STACK /?PRG40
|
||||||
|
SET 'QN,NUM
|
||||||
|
?REP41: ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL39: EQUAL? CHR,80,112,UP-ARROW \?CCL49
|
||||||
|
SET 'NUM,QN
|
||||||
|
ICALL H-NEW-CURSOR,NUM,TRUE-VALUE
|
||||||
|
?PRG50: DLESS? 'NUM,1 \?CND52
|
||||||
|
SET 'NUM,MAXQ
|
||||||
|
?CND52: EQUAL? NUM,QN \?CCL56
|
||||||
|
SOUND S-BEEP
|
||||||
|
JUMP ?REP51
|
||||||
|
?CCL56: CALL2 H-NEW-CURSOR,NUM
|
||||||
|
ZERO? STACK /?PRG50
|
||||||
|
SET 'QN,NUM
|
||||||
|
?REP51: ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL49: EQUAL? CHR,CLICK1,CLICK2 \?CCL59
|
||||||
|
GRTR? TMP,MAXQ \?CCL62
|
||||||
|
SOUND S-BEEP
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL62: ICALL H-NEW-CURSOR,QN,TRUE-VALUE
|
||||||
|
CALL2 H-NEW-CURSOR,TMP
|
||||||
|
ZERO? STACK /?CCL65
|
||||||
|
SET 'QN,TMP
|
||||||
|
EQUAL? CHR,CLICK2 \?PRG3
|
||||||
|
SET 'H-QUEST-NUM,QN
|
||||||
|
ICALL1 DISPLAY-HINT
|
||||||
|
JUMP ?REP4
|
||||||
|
?CCL65: SOUND S-BEEP
|
||||||
|
ICALL2 H-NEW-CURSOR,QN
|
||||||
|
JUMP ?PRG3
|
||||||
|
?CCL59: EQUAL? CHR,13,10,32 \?CCL69
|
||||||
|
SET 'H-QUEST-NUM,QN
|
||||||
|
ICALL1 DISPLAY-HINT
|
||||||
|
?REP4: ZERO? Q /?FCN
|
||||||
|
RFALSE
|
||||||
|
?CCL69: SOUND S-BEEP
|
||||||
|
JUMP ?PRG3
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT H-NEW-CURSOR:ANY:1:2,POS,OFF?,Y,X,?TMP1
|
||||||
|
SET 'Y,POS
|
||||||
|
SET 'X,LEFT-HINT-COLUMN
|
||||||
|
GRTR? POS,BOTTOM-HINT-NUM \?CND1
|
||||||
|
SUB Y,BOTTOM-HINT-NUM >Y
|
||||||
|
WINGET -3,WWIDE
|
||||||
|
DIV STACK,2 >X
|
||||||
|
?CND1: SUB Y,1 >?TMP1
|
||||||
|
WINGET -3,WFSIZE
|
||||||
|
SHIFT STACK,-8
|
||||||
|
MUL ?TMP1,STACK
|
||||||
|
ADD 1,STACK
|
||||||
|
CURSET STACK,X
|
||||||
|
ZERO? OFF? \?CCL5
|
||||||
|
HLIGHT H-INVERSE
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL5: HLIGHT H-NORMAL
|
||||||
|
?CND3: CALL GET-HINT-ROUTINE,POS >X
|
||||||
|
ZERO? X /?CND6
|
||||||
|
PRINT X
|
||||||
|
PRINTC 32
|
||||||
|
?CND6: ZERO? OFF? \?CND8
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
?CND8: RETURN X
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SELECT-HINT-BY-MOUSE:ANY:0:2,WID,Q?,VAL,MID,X,Y,WIN,?TMP1
|
||||||
|
GET 0,27
|
||||||
|
GET STACK,2 >Y
|
||||||
|
GET 0,27
|
||||||
|
GET STACK,1 >X
|
||||||
|
WINGET S-WINDOW,WTOP >VAL
|
||||||
|
GRTR? VAL,Y /?CCL3
|
||||||
|
SUB Y,VAL >?TMP1
|
||||||
|
WINGET S-WINDOW,WHIGH
|
||||||
|
LESS? ?TMP1,STACK \?CCL3
|
||||||
|
SET 'WIN,S-WINDOW
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: WINGET S-TEXT,WTOP >VAL
|
||||||
|
SET 'WIN,S-TEXT
|
||||||
|
?CND1: SUB Y,VAL >Y
|
||||||
|
WINGET WIN,WFSIZE
|
||||||
|
SHIFT STACK,-8 >VAL
|
||||||
|
DIV Y,VAL >VAL
|
||||||
|
GETB 0,33 >?TMP1
|
||||||
|
WINGET WIN,WFSIZE
|
||||||
|
BAND STACK,255
|
||||||
|
MUL ?TMP1,STACK
|
||||||
|
DIV STACK,2 >MID
|
||||||
|
EQUAL? WIN,S-WINDOW \?CCL8
|
||||||
|
EQUAL? VAL,1 \?CCL11
|
||||||
|
DIV WID,2 >VAL
|
||||||
|
ZERO? VAL /?CCL14
|
||||||
|
SUB MID,VAL
|
||||||
|
GRTR? X,STACK \?CCL14
|
||||||
|
ADD MID,VAL
|
||||||
|
LESS? X,STACK \?CCL14
|
||||||
|
RETURN -5
|
||||||
|
?CCL14: GRTR? X,MID /?CCL19
|
||||||
|
RETURN -1
|
||||||
|
?CCL19: RETURN -3
|
||||||
|
?CCL11: EQUAL? VAL,2 \FALSE
|
||||||
|
DIV H-OR-USE-MOUSE-WID,2 >VAL
|
||||||
|
SUB MID,VAL
|
||||||
|
LESS? X,STACK \?CCL24
|
||||||
|
RETURN -2
|
||||||
|
?CCL24: ADD MID,VAL
|
||||||
|
GRTR? X,STACK \FALSE
|
||||||
|
RETURN -4
|
||||||
|
?CCL8: INC 'VAL
|
||||||
|
GRTR? X,MID \?CCL30
|
||||||
|
ZERO? Q? \?CCL30
|
||||||
|
ADD VAL,BOTTOM-HINT-NUM >VAL
|
||||||
|
RETURN VAL
|
||||||
|
?CCL30: GRTR? VAL,BOTTOM-HINT-NUM \?CND28
|
||||||
|
SET 'VAL,BOTTOM-HINT-NUM
|
||||||
|
?CND28: RETURN VAL
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT INVERSE-LINE:ANY:0:2,LN,INV,?TMP1
|
||||||
|
ASSIGNED? 'INV /?CND1
|
||||||
|
SET 'INV,H-INVERSE
|
||||||
|
?CND1: ZERO? LN /?CND3
|
||||||
|
ICALL CCURSET,LN,1
|
||||||
|
?CND3: HLIGHT INV
|
||||||
|
ZERO? INV \?CCL7
|
||||||
|
ERASE 1
|
||||||
|
RTRUE
|
||||||
|
?CCL7: FONT 4
|
||||||
|
GETB 0,39 >LN
|
||||||
|
WINGET -3,WWIDE >INV
|
||||||
|
ADD LN,INV
|
||||||
|
DIV STACK,LN
|
||||||
|
ICALL2 PRINT-SPACES,STACK
|
||||||
|
GETB 0,30
|
||||||
|
EQUAL? STACK,APPLE-2E,APPLE-2C,APPLE-2GS \?CND8
|
||||||
|
CURGET SLINE
|
||||||
|
GET SLINE,0 >?TMP1
|
||||||
|
SUB INV,LN
|
||||||
|
CURSET ?TMP1,STACK
|
||||||
|
PRINTC 32
|
||||||
|
?CND8: FONT 1
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DISPLAY-HINT:ANY:0:0,H,MX,CNT,CV,SHIFT?,COUNT-OFFS,WID,CURCX,CURC,FLG,?TMP1
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
CLEAR S-TEXT
|
||||||
|
SCREEN S-WINDOW
|
||||||
|
ICALL INVERSE-LINE,3,H-NORMAL
|
||||||
|
ICALL RIGHT-LINE,Q-RESUME-STORY,3
|
||||||
|
ICALL INVERSE-LINE,2,H-NORMAL
|
||||||
|
ICALL RIGHT-LINE,RETURN-SEE-NEW-HINT,2
|
||||||
|
GET 0,8
|
||||||
|
BTST STACK,32 \?CND1
|
||||||
|
CALL CENTER-LINE,H-OR-USE-MOUSE,3 >H-OR-USE-MOUSE-WID
|
||||||
|
?CND1: ICALL INVERSE-LINE,1,H-NORMAL
|
||||||
|
HLIGHT H-BOLD
|
||||||
|
GET HINTS,H-CHAPT-NUM >?TMP1
|
||||||
|
ADD H-QUEST-NUM,1
|
||||||
|
GET ?TMP1,STACK >H
|
||||||
|
SUB H-CHAPT-NUM,1
|
||||||
|
GET HINT-COUNTS,STACK >CV
|
||||||
|
GET H,1
|
||||||
|
ICALL CENTER-LINE,STACK,1,H-INVERSE
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
CALL CENTER-LINE,M-SEE-HINT-MENU,2 >WID
|
||||||
|
GET H,0 >MX
|
||||||
|
DIROUT D-SCREEN-OFF
|
||||||
|
GET H,1
|
||||||
|
PRINT STACK
|
||||||
|
CRLF
|
||||||
|
DIROUT D-SCREEN-ON
|
||||||
|
SCREEN S-TEXT
|
||||||
|
WINATTR -3,A-SCRIPT,O-SET
|
||||||
|
WINATTR S-TEXT,A-WRAP,O-SET
|
||||||
|
CURSET 1,1
|
||||||
|
MOD H-QUEST-NUM,2 >SHIFT?
|
||||||
|
SUB H-QUEST-NUM,1
|
||||||
|
DIV STACK,2 >COUNT-OFFS
|
||||||
|
SET 'CNT,1
|
||||||
|
GETB CV,COUNT-OFFS >CURCX
|
||||||
|
ZERO? SHIFT? /?CCL5
|
||||||
|
SHIFT CURCX,-4
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL5: PUSH CURCX
|
||||||
|
?CND3: BAND STACK,15
|
||||||
|
ADD 1,STACK >CURC
|
||||||
|
?PRG6: IGRTR? 'CNT,CURC /?REP7
|
||||||
|
SUB MX,CNT
|
||||||
|
ADD STACK,1
|
||||||
|
PRINTN STACK
|
||||||
|
PRINTI "> "
|
||||||
|
GET H,CNT
|
||||||
|
PRINT STACK
|
||||||
|
CRLF
|
||||||
|
JUMP ?PRG6
|
||||||
|
?REP7: SET 'FLG,TRUE-VALUE
|
||||||
|
?PRG11: ZERO? FLG /?CND13
|
||||||
|
SET 'FLG,FALSE-VALUE
|
||||||
|
GRTR? CNT,MX \?CCL17
|
||||||
|
PRINT NO-MORE-HINTS
|
||||||
|
CRLF
|
||||||
|
SCREEN S-WINDOW
|
||||||
|
ICALL INVERSE-LINE,2,H-NORMAL
|
||||||
|
ICALL CENTER-LINE,M-SEE-HINT-MENU,2
|
||||||
|
SCREEN S-TEXT
|
||||||
|
JUMP ?CND13
|
||||||
|
?CCL17: SUB MX,CNT
|
||||||
|
ADD STACK,1
|
||||||
|
PRINTN STACK
|
||||||
|
PRINTI "> "
|
||||||
|
?CND13: ZERO? DEMO-VERSION? /?CCL20
|
||||||
|
CALL2 INPUT-DEMO,1 >CURC
|
||||||
|
JUMP ?CND18
|
||||||
|
?CCL20: INPUT 1 >CURC
|
||||||
|
?CND18: EQUAL? CURC,CLICK1,CLICK2 \?CND21
|
||||||
|
CALL2 SELECT-HINT-BY-MOUSE,WID >CURCX
|
||||||
|
GRTR? CURCX,0 /?CND21
|
||||||
|
EQUAL? CURCX,-3 \?CCL27
|
||||||
|
SET 'CURC,13
|
||||||
|
JUMP ?CND21
|
||||||
|
?CCL27: EQUAL? CURCX,-4 \?CCL29
|
||||||
|
SET 'CURC,81
|
||||||
|
JUMP ?CND21
|
||||||
|
?CCL29: EQUAL? CURCX,-5 \?CCL31
|
||||||
|
SET 'CURC,77
|
||||||
|
?CND21: EQUAL? CURC,77,109,81 /?CTR33
|
||||||
|
EQUAL? CURC,113 \?CCL34
|
||||||
|
?CTR33: ZERO? SHIFT? /?CCL39
|
||||||
|
GETB CV,COUNT-OFFS
|
||||||
|
BAND STACK,15 >?TMP1
|
||||||
|
SUB CNT,2
|
||||||
|
SHIFT STACK,4
|
||||||
|
BOR ?TMP1,STACK
|
||||||
|
PUTB CV,COUNT-OFFS,STACK
|
||||||
|
JUMP ?CND37
|
||||||
|
?CCL31: SOUND S-BEEP
|
||||||
|
JUMP ?PRG11
|
||||||
|
?CCL39: GETB CV,COUNT-OFFS
|
||||||
|
BAND STACK,240 >?TMP1
|
||||||
|
SUB CNT,2
|
||||||
|
BOR ?TMP1,STACK
|
||||||
|
PUTB CV,COUNT-OFFS,STACK
|
||||||
|
?CND37: EQUAL? CURC,81,113 \?CCL42
|
||||||
|
THROW TRUE-VALUE,PARSE-SENTENCE-ACTIVATION
|
||||||
|
JUMP ?PRG11
|
||||||
|
?CCL42: WINATTR -3,A-SCRIPT,O-CLEAR
|
||||||
|
WINATTR S-TEXT,A-WRAP,O-CLEAR
|
||||||
|
RTRUE
|
||||||
|
?CCL34: EQUAL? CURC,13,10 \?CCL44
|
||||||
|
GRTR? CNT,MX /?CCL47
|
||||||
|
SET 'FLG,TRUE-VALUE
|
||||||
|
GET H,CNT
|
||||||
|
PRINT STACK
|
||||||
|
CRLF
|
||||||
|
IGRTR? 'CNT,MX \?PRG11
|
||||||
|
SET 'FLG,FALSE-VALUE
|
||||||
|
PRINT NO-MORE-HINTS
|
||||||
|
CRLF
|
||||||
|
SCREEN S-WINDOW
|
||||||
|
ICALL INVERSE-LINE,2,H-NORMAL
|
||||||
|
ICALL CENTER-LINE,M-SEE-HINT-MENU,2
|
||||||
|
SCREEN S-TEXT
|
||||||
|
JUMP ?PRG11
|
||||||
|
?CCL47: SOUND S-BEEP
|
||||||
|
JUMP ?PRG11
|
||||||
|
?CCL44: SOUND S-BEEP
|
||||||
|
JUMP ?PRG11
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT H-CHAPT-NAME:ANY:1:1,N
|
||||||
|
GET HINTS,N
|
||||||
|
GET STACK,1
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT H-GET-QUEST:ANY:1:1,N,?TMP1
|
||||||
|
GET HINTS,H-CHAPT-NUM >?TMP1
|
||||||
|
ADD N,1
|
||||||
|
GET ?TMP1,STACK
|
||||||
|
GET STACK,1
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT H-PUT-UP-FROBS:ANY:1:1,MX,ST,QN,X,Y,TMP,BHL,WID
|
||||||
|
SET 'QN,1
|
||||||
|
SET 'X,LEFT-HINT-COLUMN
|
||||||
|
SET 'Y,TOP-HINT-LINE
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
SET 'BHL,BOTTOM-HINT-NUM
|
||||||
|
WINGET -3,WFSIZE
|
||||||
|
SHIFT STACK,-8 >WID
|
||||||
|
?PRG1: IGRTR? 'ST,MX /TRUE
|
||||||
|
CALL GET-HINT-ROUTINE,ST >TMP
|
||||||
|
ZERO? TMP /?PRG1
|
||||||
|
SUB Y,1
|
||||||
|
MUL STACK,WID
|
||||||
|
ADD 1,STACK
|
||||||
|
CURSET STACK,X
|
||||||
|
PRINT TMP
|
||||||
|
ERASE 1
|
||||||
|
IGRTR? 'Y,BHL \?PRG1
|
||||||
|
SET 'Y,TOP-HINT-LINE
|
||||||
|
WINGET -3,WWIDE
|
||||||
|
DIV STACK,2 >X
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT INIT-HINT-SCREEN:ANY:0:0
|
||||||
|
SCREEN S-FULL
|
||||||
|
CLEAR S-FULL
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS /?CCL3
|
||||||
|
ICALL DISPLAY-BORDER,P-HINT-BORDER,FALSE-VALUE
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: MUL 3,FONT-Y
|
||||||
|
ADD 1,STACK
|
||||||
|
DISPLAY P-HINT-BORDER,STACK,1
|
||||||
|
?CND1: ICALL2 SETUP-TEXT-AND-STATUS,P-HINT-LOC
|
||||||
|
SCREEN S-TEXT
|
||||||
|
MARGIN 0,0
|
||||||
|
RETURN S-STATUS
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT LEAVE-HINT-SCREEN:ANY:0:0
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT HINT-TITLE:ANY:2:3,TITLE,WIN,THIRD
|
||||||
|
ASSIGNED? 'THIRD /?CND1
|
||||||
|
SET 'THIRD,TRUE-VALUE
|
||||||
|
?CND1: SCREEN S-WINDOW
|
||||||
|
ICALL INVERSE-LINE,1,H-NORMAL
|
||||||
|
ICALL INVERSE-LINE,2,H-NORMAL
|
||||||
|
ICALL INVERSE-LINE,3,H-NORMAL
|
||||||
|
HLIGHT H-BOLD
|
||||||
|
ICALL CENTER-LINE,TITLE,1,H-INVERSE
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
ICALL LEFT-LINE,2,NEXT-HINT
|
||||||
|
GET 0,8
|
||||||
|
BTST STACK,32 \?CND3
|
||||||
|
CALL CENTER-LINE,H-OR-USE-MOUSE,3 >H-OR-USE-MOUSE-WID
|
||||||
|
?CND3: ICALL LEFT-LINE,3,PREVIOUS-HINT
|
||||||
|
ZERO? THIRD /FALSE
|
||||||
|
ICALL RIGHT-LINE,RETURN-SEE-HINT,2
|
||||||
|
CALL RIGHT-LINE,Q-RESUME-STORY,3
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT LEFT-LINE:ANY:2:3,LN,STR,INV
|
||||||
|
ICALL CCURSET,LN,1
|
||||||
|
ZERO? INV /?CND1
|
||||||
|
HLIGHT INV
|
||||||
|
?CND1: PRINT STR
|
||||||
|
ZERO? INV /FALSE
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RIGHT-LINE:ANY:1:4,STR,LN,INV,LEN
|
||||||
|
CALL JUSTIFIED-LINE,STR,LN,INV,LEN,1
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CENTER-LINE:ANY:1:4,STR,LN,INV,LEN
|
||||||
|
CALL JUSTIFIED-LINE,STR,LN,INV,LEN,2
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT JUSTIFIED-LINE:ANY:5:5,STR,LN,INV,LEN,CTR
|
||||||
|
ZERO? LN \?CCL3
|
||||||
|
CURGET SLINE
|
||||||
|
GET SLINE,0 >LN
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: DEC 'LN
|
||||||
|
WINGET -3,WFSIZE
|
||||||
|
SHIFT STACK,-8
|
||||||
|
MUL LN,STACK
|
||||||
|
ADD 1,STACK >LN
|
||||||
|
?CND1: ZERO? LEN \?CND4
|
||||||
|
DIROUT D-TABLE-ON,SLINE
|
||||||
|
PRINT STR
|
||||||
|
PRINTC 32
|
||||||
|
DIROUT D-TABLE-OFF
|
||||||
|
GET 0,24 >LEN
|
||||||
|
?CND4: WINGET -3,WWIDE
|
||||||
|
SUB STACK,LEN
|
||||||
|
DIV STACK,CTR
|
||||||
|
CURSET LN,STACK
|
||||||
|
ZERO? INV /?CND6
|
||||||
|
HLIGHT INV
|
||||||
|
?CND6: PRINT STR
|
||||||
|
PRINTC 32
|
||||||
|
ZERO? INV \?CCL9
|
||||||
|
RETURN LEN
|
||||||
|
?CCL9: HLIGHT H-NORMAL
|
||||||
|
RETURN LEN
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
39
defs.zil
39
defs.zil
|
@ -104,7 +104,10 @@ THINGS
|
||||||
<COND (<NOT <EQUAL? ,P-CAN-UNDO 2>>
|
<COND (<NOT <EQUAL? ,P-CAN-UNDO 2>>
|
||||||
<REPAINT-DISPLAY>)
|
<REPAINT-DISPLAY>)
|
||||||
(<EQUAL? ,P-CAN-UNDO 2>
|
(<EQUAL? ,P-CAN-UNDO 2>
|
||||||
<COLOR ,FG-COLOR ,BG-COLOR>
|
<NORMAL-COLOR>
|
||||||
|
<SCREEN ,S-FULL>
|
||||||
|
<NORMAL-COLOR>
|
||||||
|
<SCREEN 0>
|
||||||
<RESET-MARGIN>
|
<RESET-MARGIN>
|
||||||
<CLEAR 0>
|
<CLEAR 0>
|
||||||
<UPDATE-STATUS-LINE>
|
<UPDATE-STATUS-LINE>
|
||||||
|
@ -122,10 +125,10 @@ THINGS
|
||||||
<DELAY-DEFINITION YES?>
|
<DELAY-DEFINITION YES?>
|
||||||
|
|
||||||
<COMPILATION-FLAG P-PS-COMMA T>
|
<COMPILATION-FLAG P-PS-COMMA T>
|
||||||
<TERMINALS VERB NOUN ADJ
|
<TERMINALS (VERB 6) (NOUN 4) (ADJ 5)
|
||||||
;ADV QUANT MISCWORD
|
;ADV QUANT MISCWORD
|
||||||
DIR TOBE QWORD CANDO COMMA
|
(DIR 1) TOBE QWORD CANDO COMMA
|
||||||
PARTICLE PREP ;"keep these two in order! -- SWG"
|
(PARTICLE 3) (PREP 2) ;"keep these two in order! -- SWG"
|
||||||
ASKWORD
|
ASKWORD
|
||||||
COMMA APOSTR OFWORD ARTICLE QUOTE>
|
COMMA APOSTR OFWORD ARTICLE QUOTE>
|
||||||
|
|
||||||
|
@ -317,21 +320,21 @@ THINGS
|
||||||
|
|
||||||
<REPLACE-DEFINITION SOFT-KEY-DEFINITIONS
|
<REPLACE-DEFINITION SOFT-KEY-DEFINITIONS
|
||||||
<SOFT-KEYS
|
<SOFT-KEYS
|
||||||
,UP-ARROW "n"
|
,UP-ARROW "n
"
|
||||||
,DOWN-ARROW "s"
|
,DOWN-ARROW "s
"
|
||||||
,LEFT-ARROW "w"
|
,LEFT-ARROW "w
"
|
||||||
,RIGHT-ARROW "e"
|
,RIGHT-ARROW "e
"
|
||||||
;"vt100 keypad keys"
|
;"vt100 keypad keys"
|
||||||
,F1 "sw"
|
,F1 "examine "
|
||||||
,F2 "s"
|
,F2 "take "
|
||||||
,F3 "se"
|
,F3 "wear "
|
||||||
,F4 "w"
|
,F4 "bow to "
|
||||||
,F5 ""
|
,F5 "turn wheel to "
|
||||||
,F6 "e"
|
,F6 "inventory
"
|
||||||
,F7 "nw"
|
,F7 "nw
"
|
||||||
,F8 "n"
|
,F8 "ne
"
|
||||||
,F9 "ne"
|
,F9 "se
"
|
||||||
,F10 ""
|
,F10 "sw
"
|
||||||
-1 0
|
-1 0
|
||||||
-1 <TABLE "Save Definition File" SOFT-SAVE-DEFS>
|
-1 <TABLE "Save Definition File" SOFT-SAVE-DEFS>
|
||||||
-1 <TABLE "Restore Definition File" SOFT-RESTORE-DEFS>
|
-1 <TABLE "Restore Definition File" SOFT-RESTORE-DEFS>
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<GLOBAL DESCRIBED-ROOM? <>>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-ROOM>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-OBJECTS>
|
||||||
|
<CONSTANT D-ALL? 1>
|
||||||
|
<CONSTANT D-PARA? 2>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-CONTENTS>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-START>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-SPECIAL>
|
||||||
|
<GLOBAL D-BIT <>>
|
||||||
|
<DEFINE-ROUTINE DESCRIBABLE?>
|
||||||
|
<DEFINE-ROUTINE SIMPLE-DESC?>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-REST>
|
||||||
|
<DEFINE-ROUTINE DESCRIBE-SENT>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,316 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-ROOM:ANY:0:1,LOOK?,V?,STR,AV
|
||||||
|
ZERO? LIT \?CND1
|
||||||
|
PRINTI "It is pitch black."
|
||||||
|
CRLF
|
||||||
|
RFALSE
|
||||||
|
?CND1: IN? HERE,ROOMS \?CND3
|
||||||
|
HLIGHT H-BOLD
|
||||||
|
PRINTD HERE
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
?CND3: LOC WINNER >AV
|
||||||
|
FSET? AV,VEHBIT \?CND5
|
||||||
|
FSET? AV,SURFACEBIT \?CCL9
|
||||||
|
PRINTI ", on "
|
||||||
|
JUMP ?CND7
|
||||||
|
?CCL9: PRINTI ", in "
|
||||||
|
?CND7: ICALL2 THE-PRINT,AV
|
||||||
|
?CND5: CRLF
|
||||||
|
ZERO? LOOK? /?PRD12
|
||||||
|
SET 'V?,LOOK?
|
||||||
|
JUMP ?PEN10
|
||||||
|
?PRD12: EQUAL? VERBOSITY,2 /?PRD13
|
||||||
|
PUSH 0
|
||||||
|
JUMP ?PRD14
|
||||||
|
?PRD13: PUSH 1
|
||||||
|
?PRD14: SET 'V?,STACK
|
||||||
|
?PEN10: FSET? HERE,TOUCHBIT /?CND15
|
||||||
|
FSET HERE,TOUCHBIT
|
||||||
|
ZERO? VERBOSITY /?CND15
|
||||||
|
SET 'V?,TRUE-VALUE
|
||||||
|
?CND15: SET 'DESCRIBED-ROOM?,V?
|
||||||
|
ZERO? V? /TRUE
|
||||||
|
EQUAL? HERE,AV /?CCL23
|
||||||
|
FSET? AV,VEHBIT \?CCL23
|
||||||
|
GETP AV,P?ACTION
|
||||||
|
CALL STACK,M-LOOK
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
?CCL23: GETP HERE,P?ACTION
|
||||||
|
CALL STACK,M-LOOK
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
GETP HERE,P?LDESC >STR
|
||||||
|
ZERO? STR /TRUE
|
||||||
|
PRINT STR
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-OBJECTS:ANY:0:0,O,STR,AV,TMP
|
||||||
|
LOC WINNER >AV
|
||||||
|
FIRST? HERE >O /?BOGUS1
|
||||||
|
?BOGUS1: ZERO? O /FALSE
|
||||||
|
?PRG4: ZERO? O /?REP5
|
||||||
|
CALL2 DESCRIBABLE?,O
|
||||||
|
ZERO? STACK /?CND6
|
||||||
|
FSET? O,TOUCHBIT /?CND6
|
||||||
|
GETP O,P?FDESC >STR
|
||||||
|
ZERO? STR /?CND6
|
||||||
|
ICALL2 THIS-IS-IT,O
|
||||||
|
CRLF
|
||||||
|
PRINT STR
|
||||||
|
FSET? O,CONTBIT \?CND13
|
||||||
|
ADD D-ALL?,D-PARA?
|
||||||
|
ICALL DESCRIBE-CONTENTS,O,TRUE-VALUE,STACK
|
||||||
|
?CND13: CRLF
|
||||||
|
?CND6: NEXT? O >O /?PRG4
|
||||||
|
JUMP ?PRG4
|
||||||
|
?REP5: FIRST? HERE >O /?PRG17
|
||||||
|
?PRG17: ZERO? O /?REP18
|
||||||
|
CALL2 DESCRIBABLE?,O
|
||||||
|
ZERO? STACK /?CND19
|
||||||
|
GETP O,P?FDESC
|
||||||
|
ZERO? STACK /?CCL23
|
||||||
|
FSET? O,TOUCHBIT \?CND19
|
||||||
|
?CCL23: GETP O,P?DESCFCN >STR
|
||||||
|
ZERO? STR /?CCL29
|
||||||
|
CALL STR,M-OBJDESC?,O >TMP
|
||||||
|
ZERO? TMP /?CCL29
|
||||||
|
EQUAL? TMP,M-FATAL /?CND19
|
||||||
|
ICALL2 THIS-IS-IT,O
|
||||||
|
CRLF
|
||||||
|
CALL STR,M-OBJDESC,O >STR
|
||||||
|
ZERO? STR /?CND34
|
||||||
|
FSET? O,CONTBIT \?CND34
|
||||||
|
EQUAL? STR,M-FATAL /?CND34
|
||||||
|
ADD D-ALL?,D-PARA?
|
||||||
|
ICALL DESCRIBE-CONTENTS,O,TRUE-VALUE,STACK
|
||||||
|
?CND34: CRLF
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL29: GETP O,P?LDESC >STR
|
||||||
|
ZERO? STR /?CND19
|
||||||
|
ICALL2 THIS-IS-IT,O
|
||||||
|
CRLF
|
||||||
|
PRINT STR
|
||||||
|
FSET? O,CONTBIT \?CND41
|
||||||
|
ADD D-ALL?,D-PARA?
|
||||||
|
ICALL DESCRIBE-CONTENTS,O,TRUE-VALUE,STACK
|
||||||
|
?CND41: CRLF
|
||||||
|
?CND19: NEXT? O >O /?PRG17
|
||||||
|
JUMP ?PRG17
|
||||||
|
?REP18: SUB 0,PERSON >D-BIT
|
||||||
|
ICALL DESCRIBE-CONTENTS,HERE,FALSE-VALUE,FALSE-VALUE
|
||||||
|
SET 'D-BIT,PERSON
|
||||||
|
ICALL DESCRIBE-CONTENTS,HERE,FALSE-VALUE,FALSE-VALUE
|
||||||
|
SET 'D-BIT,FALSE-VALUE
|
||||||
|
ZERO? AV /FALSE
|
||||||
|
EQUAL? HERE,AV /FALSE
|
||||||
|
CALL DESCRIBE-CONTENTS,AV,FALSE-VALUE,FALSE-VALUE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-CONTENTS:ANY:1:3,OBJ,LEVEL,ALL?,F,N,1ST?,IT?,TWO?,START?,PARA?,DB
|
||||||
|
ASSIGNED? 'LEVEL /?CND1
|
||||||
|
SET 'LEVEL,-1
|
||||||
|
?CND1: ASSIGNED? 'ALL? /?CND3
|
||||||
|
SET 'ALL?,D-ALL?
|
||||||
|
?CND3: SET '1ST?,TRUE-VALUE
|
||||||
|
EQUAL? LEVEL,2 \?CCL7
|
||||||
|
SET 'LEVEL,TRUE-VALUE
|
||||||
|
SET 'PARA?,TRUE-VALUE
|
||||||
|
SET 'START?,TRUE-VALUE
|
||||||
|
JUMP ?CND5
|
||||||
|
?CCL7: BTST ALL?,D-PARA? \?CND5
|
||||||
|
SET 'PARA?,TRUE-VALUE
|
||||||
|
?CND5: FIRST? OBJ >N /?BOGUS9
|
||||||
|
?BOGUS9: ZERO? START? \?PRG25
|
||||||
|
IN? OBJ,ROOMS /?PRG25
|
||||||
|
FSET? OBJ,PERSON /?PRG25
|
||||||
|
ZERO? N /FALSE
|
||||||
|
FSET? OBJ,CONTBIT \FALSE
|
||||||
|
FSET? OBJ,OPENBIT /?PRD20
|
||||||
|
FSET? OBJ,TRANSBIT \FALSE
|
||||||
|
?PRD20: EQUAL? LEVEL,-1 /?PRG25
|
||||||
|
FSET? OBJ,SEARCHBIT \FALSE
|
||||||
|
?PRG25: ZERO? N /?CCL28
|
||||||
|
CALL2 DESCRIBABLE?,N
|
||||||
|
ZERO? STACK /?CND27
|
||||||
|
BTST ALL?,D-ALL? /?CCL28
|
||||||
|
CALL2 SIMPLE-DESC?,N
|
||||||
|
ZERO? STACK /?CND27
|
||||||
|
?CCL28: ZERO? F /?CND35
|
||||||
|
ZERO? 1ST? /?CCL39
|
||||||
|
SET '1ST?,FALSE-VALUE
|
||||||
|
EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?CCL42
|
||||||
|
ZERO? START? \?CND37
|
||||||
|
ZERO? PARA? \?CCL47
|
||||||
|
SET 'PARA?,TRUE-VALUE
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND45
|
||||||
|
?CCL47: EQUAL? LEVEL,TRUE-VALUE \?CND45
|
||||||
|
PRINTC 11
|
||||||
|
?CND45: FSET? F,PLURAL \?CCL51
|
||||||
|
PUSH TRUE-VALUE
|
||||||
|
JUMP ?CND49
|
||||||
|
?CCL51: PUSH N
|
||||||
|
?CND49: ICALL DESCRIBE-START,OBJ,STACK
|
||||||
|
JUMP ?CND37
|
||||||
|
?CCL42: EQUAL? LEVEL,-1 /?CND37
|
||||||
|
PRINT LEVEL
|
||||||
|
JUMP ?CND37
|
||||||
|
?CCL39: ZERO? N /?CCL54
|
||||||
|
PRINTI ", "
|
||||||
|
JUMP ?CND37
|
||||||
|
?CCL54: PRINTI " and "
|
||||||
|
?CND37: ICALL2 PRINTA,F
|
||||||
|
ICALL2 DESCRIBE-SPECIAL,F
|
||||||
|
ZERO? IT? \?CCL57
|
||||||
|
ZERO? TWO? \?CCL57
|
||||||
|
SET 'IT?,F
|
||||||
|
JUMP ?CND35
|
||||||
|
?CCL57: SET 'TWO?,TRUE-VALUE
|
||||||
|
SET 'IT?,FALSE-VALUE
|
||||||
|
?CND35: SET 'F,N
|
||||||
|
?CND27: ZERO? N /?CND60
|
||||||
|
NEXT? N >N /?CND60
|
||||||
|
?CND60: ZERO? F \?PRG25
|
||||||
|
ZERO? N \?PRG25
|
||||||
|
ZERO? IT? /?CND67
|
||||||
|
ZERO? TWO? \?CND67
|
||||||
|
ICALL2 THIS-IS-IT,IT?
|
||||||
|
?CND67: ZERO? 1ST? /?CCL73
|
||||||
|
ZERO? START? /?CCL73
|
||||||
|
PRINTI " nothing"
|
||||||
|
RFALSE
|
||||||
|
?CCL73: ZERO? 1ST? \?REP26
|
||||||
|
EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?REP26
|
||||||
|
EQUAL? OBJ,HERE \?CND79
|
||||||
|
PRINTI " here"
|
||||||
|
?CND79: PRINTC 46
|
||||||
|
?REP26: EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?CND81
|
||||||
|
FIRST? OBJ >F /?PRG84
|
||||||
|
?PRG84: ZERO? F /?CND81
|
||||||
|
FSET? F,CONTBIT /?PRD91
|
||||||
|
EQUAL? F,HERE \?CND86
|
||||||
|
?PRD91: CALL DESCRIBABLE?,F,TRUE-VALUE
|
||||||
|
ZERO? STACK /?CND86
|
||||||
|
BTST ALL?,D-ALL? /?CCL89
|
||||||
|
CALL2 SIMPLE-DESC?,F
|
||||||
|
ZERO? STACK /?CND86
|
||||||
|
?CCL89: SET 'DB,D-BIT
|
||||||
|
SET 'D-BIT,FALSE-VALUE
|
||||||
|
ZERO? PARA? /?CCL101
|
||||||
|
PUSH 3
|
||||||
|
JUMP ?CND99
|
||||||
|
?CCL101: PUSH D-ALL?
|
||||||
|
?CND99: CALL DESCRIBE-CONTENTS,F,TRUE-VALUE,STACK
|
||||||
|
ZERO? STACK /?CND97
|
||||||
|
SET '1ST?,FALSE-VALUE
|
||||||
|
SET 'PARA?,TRUE-VALUE
|
||||||
|
?CND97: SET 'D-BIT,DB
|
||||||
|
?CND86: NEXT? F >F /?PRG84
|
||||||
|
JUMP ?PRG84
|
||||||
|
?CND81: ZERO? 1ST? \?CND103
|
||||||
|
EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?CND103
|
||||||
|
LOC WINNER
|
||||||
|
EQUAL? OBJ,HERE,STACK \?CND103
|
||||||
|
CRLF
|
||||||
|
?CND103: ZERO? 1ST? /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-START:ANY:2:2,OBJ,N
|
||||||
|
EQUAL? OBJ,HERE \?CCL3
|
||||||
|
EQUAL? D-BIT,PERSON \?CCL6
|
||||||
|
PRINTI "You see "
|
||||||
|
RTRUE
|
||||||
|
?CCL6: PRINTI "There "
|
||||||
|
ZERO? N /?CCL9
|
||||||
|
PRINTI "are "
|
||||||
|
RTRUE
|
||||||
|
?CCL9: PRINTI "is "
|
||||||
|
RTRUE
|
||||||
|
?CCL3: EQUAL? OBJ,PLAYER \?CCL11
|
||||||
|
EQUAL? D-BIT,WEARBIT \?CCL14
|
||||||
|
PRINTI "You are wearing "
|
||||||
|
RTRUE
|
||||||
|
?CCL14: PRINTI "You are carrying "
|
||||||
|
RTRUE
|
||||||
|
?CCL11: FSET? OBJ,PERSON \?CCL16
|
||||||
|
ICALL2 CTHE-PRINT,OBJ
|
||||||
|
PRINTI " has "
|
||||||
|
RTRUE
|
||||||
|
?CCL16: FSET? OBJ,SURFACEBIT \?CCL18
|
||||||
|
EQUAL? OBJ,LADDER \?CCL21
|
||||||
|
PRINTI "Stand"
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL21: PRINTI "Sitt"
|
||||||
|
?CND19: PRINTI "ing on "
|
||||||
|
ICALL2 THE-PRINT,OBJ
|
||||||
|
ZERO? N /?CCL24
|
||||||
|
PRINTI " are "
|
||||||
|
RTRUE
|
||||||
|
?CCL24: PRINTI " is "
|
||||||
|
RTRUE
|
||||||
|
?CCL18: ICALL2 CTHE-PRINT,OBJ
|
||||||
|
PRINTI " contains "
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-SPECIAL:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,ONBIT \FALSE
|
||||||
|
PRINTI " (providing light)"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBABLE?:ANY:1:2,OBJ,CONT?
|
||||||
|
FSET? OBJ,INVISIBLE /FALSE
|
||||||
|
EQUAL? OBJ,WINNER /FALSE
|
||||||
|
LOC WINNER
|
||||||
|
EQUAL? OBJ,STACK \?CCL7
|
||||||
|
LOC WINNER
|
||||||
|
EQUAL? HERE,STACK \FALSE
|
||||||
|
?CCL7: ZERO? CONT? \?CCL11
|
||||||
|
FSET? OBJ,NDESCBIT /FALSE
|
||||||
|
?CCL11: ZERO? D-BIT /TRUE
|
||||||
|
GRTR? D-BIT,0 \?CCL18
|
||||||
|
FSET? OBJ,D-BIT /TRUE
|
||||||
|
RFALSE
|
||||||
|
?CCL18: SUB 0,D-BIT
|
||||||
|
FSET? OBJ,STACK /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SIMPLE-DESC?:ANY:1:1,OBJ,STR
|
||||||
|
GETP OBJ,P?FDESC
|
||||||
|
ZERO? STACK /?CCL3
|
||||||
|
FSET? OBJ,TOUCHBIT \FALSE
|
||||||
|
?CCL3: GETP OBJ,P?DESCFCN >STR
|
||||||
|
ZERO? STR /?CCL7
|
||||||
|
CALL STR,M-OBJDESC?,OBJ
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CCL7: GETP OBJ,P?LDESC
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-REST:ANY:1:1,OBJ
|
||||||
|
CALL2 DESCRIBE-CONTENTS,OBJ
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
PRINTI "nothing"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DESCRIBE-SENT:ANY:1:1,OBJ
|
||||||
|
CALL DESCRIBE-CONTENTS,OBJ,FALSE-VALUE,3
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
PRINTI "The "
|
||||||
|
ICALL2 DPRINT,OBJ
|
||||||
|
PRINTI " is empty."
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
8
desc.zil
8
desc.zil
|
@ -147,7 +147,7 @@ Prints nothing and rfalses if there was nothing to list.
|
||||||
<SET PARA? T>
|
<SET PARA? T>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<EQUAL? .LEVEL T>
|
(<EQUAL? .LEVEL T>
|
||||||
<TELL " ">)>
|
<TELL "">)>
|
||||||
<DESCRIBE-START
|
<DESCRIBE-START
|
||||||
.OBJ
|
.OBJ
|
||||||
<COND (<FSET? .F ,PLURAL>
|
<COND (<FSET? .F ,PLURAL>
|
||||||
|
@ -220,7 +220,7 @@ Prints nothing and rfalses if there was nothing to list.
|
||||||
(ELSE <TELL "is ">)>)>)
|
(ELSE <TELL "is ">)>)>)
|
||||||
(<EQUAL? .OBJ ,PLAYER>
|
(<EQUAL? .OBJ ,PLAYER>
|
||||||
<COND (<EQUAL? ,D-BIT ,WEARBIT>
|
<COND (<EQUAL? ,D-BIT ,WEARBIT>
|
||||||
<TELL " You are wearing ">)
|
<TELL "You are wearing ">)
|
||||||
(T
|
(T
|
||||||
<TELL "You are carrying ">)>)
|
<TELL "You are carrying ">)>)
|
||||||
(<FSET? .OBJ ,PERSON>
|
(<FSET? .OBJ ,PERSON>
|
||||||
|
@ -303,6 +303,4 @@ Prints nothing and rfalses if there was nothing to list.
|
||||||
(T ;"nothing"
|
(T ;"nothing"
|
||||||
<RFALSE>)>>
|
<RFALSE>)>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"0">
|
||||||
|
|
||||||
;"END"
|
|
||||||
|
|
|
@ -0,0 +1,284 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("WORD-FLAGS-IN-TABLE" T)) ()>
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
<OBJECT COMPASS (SCENE S-ERASMUS) (DESC "compass") (SYNONYM COMPASS) (ADJECTIVE
|
||||||
|
MAGNETIC) (FLAGS TAKEBIT READBIT) (ACTION COMPASS-F)>
|
||||||
|
<DEFINE-ROUTINE COMPASS-F>
|
||||||
|
<OBJECT DECK (SCENE S-ERASMUS) (LOC LOCAL-GLOBALS) (DESC "deck") (SYNONYM DECK
|
||||||
|
ABOVE WATCH POST POSTS) (FLAGS NDESCBIT TAKEBIT) (GENERIC GENERIC-DECK-F) (
|
||||||
|
ACTION DECK-F)>
|
||||||
|
<DEFINE-ROUTINE DECK-F>
|
||||||
|
<OBJECT REEF (LOC LOCAL-GLOBALS) (OWNER REEF) (DESC "reef") (SYNONYM REEF REEFS
|
||||||
|
REEF-TOPS ROCKS GAP BREAK) (FLAGS NDESCBIT SCOREBIT) (ACTION REEF-F)>
|
||||||
|
<DEFINE-ROUTINE REEF-F>
|
||||||
|
<DEFINE-ROUTINE TELL-REEF-DIR>
|
||||||
|
<OBJECT FORESAILS (LOC LOCAL-GLOBALS) (DESC "foresails") (SYNONYM FORESAILS
|
||||||
|
SAILS SAIL HALLIARD) (ADJECTIVE FORE) (FLAGS NDESCBIT SCOREBIT) (ACTION
|
||||||
|
FORESAILS-F)>
|
||||||
|
<DEFINE-ROUTINE FORESAILS-F>
|
||||||
|
<OBJECT LG-ERASMUS (LOC LOCAL-GLOBALS) (OWNER BLACKTHORNE) (DESC "Erasmus") (
|
||||||
|
SYNONYM ERASMUS SHIP BOAT) (FLAGS NDESCBIT THE FEMALE VEHBIT SCOREBIT) (GENERIC
|
||||||
|
GENERIC-SHIP-F) (ACTION LG-ERASMUS-F)>
|
||||||
|
<DEFINE-ROUTINE LG-ERASMUS-F>
|
||||||
|
<DEFINE-ROUTINE ARENT-WHERE-PRSO-IS>
|
||||||
|
<OBJECT GANGWAY (LOC LOCAL-GLOBALS) (DESC "gangway") (SYNONYM GANGWAY) (FLAGS
|
||||||
|
NDESCBIT) (ACTION GANGWAY-F)>
|
||||||
|
<DEFINE-ROUTINE GANGWAY-F>
|
||||||
|
<GLOBAL STORM-DELAY? <>>
|
||||||
|
<GLOBAL SHIP-DIRECTION <>>
|
||||||
|
<GLOBAL SHIP-X 21>
|
||||||
|
<GLOBAL SHIP-Y 9>
|
||||||
|
<GLOBAL SHIP-COURSE <>>
|
||||||
|
<DEFINE-ROUTINE QUEUE-STORM>
|
||||||
|
<GLOBAL WHEEL-SPINNING? <>>
|
||||||
|
<DEFINE-ROUTINE I-STORM>
|
||||||
|
<GLOBAL REEF-FLAG <>>
|
||||||
|
<DEFINE-ROUTINE REEF-SIGHTED?>
|
||||||
|
<GLOBAL REEF-X <>>
|
||||||
|
<GLOBAL REEF-Y <>>
|
||||||
|
<DEFINE-ROUTINE REEF-DISTANCE>
|
||||||
|
<OBJECT CREWMEN (LOC BELOW-DECKS) (DESC "crewmen") (SYNONYM CREW CREWMEN
|
||||||
|
CREWMAN MEN MAN SAILOR SAILORS) (FLAGS PERSON DUTCHBIT NOABIT THE PLURAL
|
||||||
|
DONT-ALL) (DESCFCN CREWMEN-DESC) (GENERIC GENERIC-CREWMEN-F) (ACTION
|
||||||
|
LG-CREWMEN-F)>
|
||||||
|
<DEFINE-ROUTINE CREWMEN-DESC>
|
||||||
|
<OBJECT LG-CREWMEN (LOC LOCAL-GLOBALS) (DESC "crewmen") (SYNONYM CREW CREWMEN
|
||||||
|
CREWMAN MAN MEN) (FLAGS PERSON DUTCHBIT JAPANESEBIT NOABIT THE PLURAL) (GENERIC
|
||||||
|
GENERIC-CREWMEN-F) (ACTION LG-CREWMEN-F)>
|
||||||
|
<GLOBAL CREW-ON-DECK? <>>
|
||||||
|
<DEFINE-ROUTINE LG-CREWMEN-F>
|
||||||
|
<DEFINE-ROUTINE CURSES-IN>
|
||||||
|
<DEFINE-ROUTINE CREW-HERE?>
|
||||||
|
<OBJECT HENDRIK (DESC "Hendrik Specz") (SYNONYM HENDRIK SPECZ MATE) (ADJECTIVE
|
||||||
|
HENDRIK THIRD) (FLAGS PERSON DUTCHBIT NOABIT NOTHEBIT) (DESCFCN HENDRIK-DESC) (
|
||||||
|
ACTION HENDRIK-F)>
|
||||||
|
<DEFINE-ROUTINE HENDRIK-DESC>
|
||||||
|
<DEFINE-ROUTINE HENDRIK-F>
|
||||||
|
<DEFINE-ROUTINE I-HENDRIK>
|
||||||
|
<GLOBAL HENDRIK-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE HENDRIK-TAKES-WHEEL>
|
||||||
|
<DEFINE-ROUTINE HENDRIK-SAVES-THE-DAY>
|
||||||
|
<OBJECT MAETSUKKER (LOC BELOW-DECKS) (DESC "Maetsukker") (SYNONYM MAETSUKKER) (
|
||||||
|
FLAGS NDESCBIT PERSON DUTCHBIT NOABIT NOTHEBIT SCOREBIT) (ACTION MAETSUKKER-F)>
|
||||||
|
|
||||||
|
<DEFINE-ROUTINE MAETSUKKER-F>
|
||||||
|
<OBJECT GINSEL (LOC BELOW-DECKS) (DESC "Ginsel") (SYNONYM GINSEL) (FLAGS
|
||||||
|
NDESCBIT PERSON DUTCHBIT NOABIT NOTHEBIT) (ACTION GINSEL-F)>
|
||||||
|
<DEFINE-ROUTINE GINSEL-F>
|
||||||
|
<ROOM BRIDGE-OF-ERASMUS (LOC ROOMS) (SCENE S-ERASMUS) (OWNER LG-ERASMUS) (DESC
|
||||||
|
"Bridge") (SYNONYM BRIDGE) (PICTURE P-STORM) (SCORE 11) (FDESC
|
||||||
|
"The gale tears at you, biting deep within, and you know that if you
|
||||||
|
don't make landfall soon you'll all be dead. You are John Blackthorne,
|
||||||
|
Pilot-Major of a dead fleet: one ship left out of five, eight and twenty
|
||||||
|
men out of one hundred and seven, and only ten of those can walk. Little
|
||||||
|
food, almost no water, and that brackish and foul.") (DOWN TO ON-DECK) (FORE TO
|
||||||
|
ON-DECK) (PORT SORRY "You would fall overboard.") (STARBOARD SORRY
|
||||||
|
"You would fall overboard.") (AFT SORRY "You would fall overboard.") (ACTION
|
||||||
|
BRIDGE-OF-ERASMUS-F) (GLOBAL LG-ERASMUS REEF FORESAILS LG-CREWMEN LG-SEA DECK)
|
||||||
|
(FLAGS ONBIT OUTSIDE)>
|
||||||
|
<DEFINE-ROUTINE BRIDGE-OF-ERASMUS-F>
|
||||||
|
<DEFINE-ROUTINE DONE-BELOW?>
|
||||||
|
<DEFINE-ROUTINE RESTART-STORM?>
|
||||||
|
<OBJECT BELL (LOC BRIDGE-OF-ERASMUS) (DESC "bell") (SYNONYM BELL) (FLAGS
|
||||||
|
NDESCBIT SCOREBIT) (ACTION BELL-F)>
|
||||||
|
<DEFINE-ROUTINE BELL-F>
|
||||||
|
<DEFINE-ROUTINE MOVE-CREW>
|
||||||
|
<DEFINE-ROUTINE I-HANDS>
|
||||||
|
<OBJECT SEA-CHAIR (LOC BRIDGE-OF-ERASMUS) (DESC "sea chair") (SYNONYM CHAIR) (
|
||||||
|
ADJECTIVE SEA) (FLAGS NDESCBIT FURNITURE OPENBIT CONTBIT VEHBIT SEARCHBIT) (
|
||||||
|
ACTION SEA-CHAIR-F)>
|
||||||
|
<DEFINE-ROUTINE SEA-CHAIR-F>
|
||||||
|
<OBJECT FOCSLE-DOOR (LOC LOCAL-GLOBALS) (OWNER CREWMEN) (DESC "focsle door") (
|
||||||
|
SYNONYM DOOR) (ADJECTIVE CREW FOCSLE FORECASTLE) (FLAGS DOORBIT LOCKABLE) (
|
||||||
|
ACTION FOCSLE-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE FOCSLE-DOOR-F>
|
||||||
|
<ROOM BELOW-DECKS (LOC ROOMS) (SCENE S-ERASMUS) (DESC "Below Decks") (SYNONYM
|
||||||
|
QUARTERS FORECASTLE FOCSLE DECKS) (ADJECTIVE CREW) (PICTURE P-BELOW-DECKS) (UP
|
||||||
|
TO ON-DECK IF FOCSLE-DOOR IS OPEN) (AFT TO ON-DECK IF FOCSLE-DOOR IS OPEN) (OUT
|
||||||
|
TO ON-DECK IF FOCSLE-DOOR IS OPEN) (ACTION BELOW-DECKS-F) (FLAGS ONBIT) (GLOBAL
|
||||||
|
DECK LG-ERASMUS FOCSLE-DOOR LG-CREWMEN LG-BUNK) (THINGS <> RAT RAT-PSEUDO <>
|
||||||
|
COCKROACH COCKROACH-PSEUDO)>
|
||||||
|
<DEFINE-ROUTINE BELOW-DECKS-F>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<ROOM ON-DECK (SCENE S-ERASMUS) (LOC ROOMS) (DESC "Deck") (SYNONYM DECK) (UP TO
|
||||||
|
BRIDGE-OF-ERASMUS) (DOWN SORRY
|
||||||
|
"The gangways are fore and aft. Down is ambiguous.") (PORT SORRY
|
||||||
|
"You would fall overboard.") (STARBOARD SORRY "You would fall overboard.") (AFT
|
||||||
|
TO PASSAGEWAY IF PASSAGE-DOOR IS OPEN) (FORE TO BELOW-DECKS IF FOCSLE-DOOR IS
|
||||||
|
OPEN) (FLAGS ONBIT OUTSIDE) (GLOBAL LG-ERASMUS FOCSLE-DOOR PASSAGE-DOOR REEF
|
||||||
|
LG-CREWMEN FORESAILS DECK GANGWAY LG-SEA LG-SMALL-BOAT) (ACTION ON-DECK-F)>
|
||||||
|
<DEFINE-ROUTINE ON-DECK-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
<OBJECT ERASMUS-ANCHOR (LOC ON-DECK) (OWNER LG-ERASMUS) (DESC "anchor") (
|
||||||
|
SYNONYM ANCHOR) (SIZE 200) (FLAGS TAKEBIT AN) (DESCFCN ERASMUS-ANCHOR-DESC) (
|
||||||
|
ACTION ERASMUS-ANCHOR-F)>
|
||||||
|
<DEFINE-ROUTINE ERASMUS-ANCHOR-DESC>
|
||||||
|
<DEFINE-ROUTINE ERASMUS-ANCHOR-F>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<ROOM PASSAGEWAY (LOC ROOMS) (DESC "Passageway") (SYNONYM PASSAGEWAY) (LDESC
|
||||||
|
"The Captain's cabin is aft of here. Your cabin is to port, and the Mates'
|
||||||
|
cabin to starboard. The main deck is forward of here.") (AFT TO CAPTAINS-CABIN
|
||||||
|
IF CAPTAINS-CABIN-DOOR IS OPEN) (STARBOARD TO MATES-CABIN IF MATES-CABIN-DOOR
|
||||||
|
IS OPEN) (PORT TO PILOTS-CABIN IF PILOTS-CABIN-DOOR IS OPEN) (FORE TO ON-DECK
|
||||||
|
IF PASSAGE-DOOR IS OPEN) (OUT TO ON-DECK IF PASSAGE-DOOR IS OPEN) (FLAGS ONBIT)
|
||||||
|
(GLOBAL DECK LG-ERASMUS LG-CREWMEN PASSAGE-DOOR PILOTS-CABIN CAPTAINS-CABIN
|
||||||
|
MATES-CABIN PILOTS-CABIN-DOOR CAPTAINS-CABIN-DOOR MATES-CABIN-DOOR) (ACTION
|
||||||
|
PASSAGEWAY-F) (THINGS <> RAT RAT-PSEUDO <> COCKROACH COCKROACH-PSEUDO)>
|
||||||
|
<DEFINE-ROUTINE PASSAGEWAY-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
<DEFINE-ROUTINE I-BELOW-DECKS>
|
||||||
|
<GLOBAL BELOW-DECKS-BACKGROUND <LTABLE 0
|
||||||
|
"A rat scurries in the shadows cast by a hanging oil lamp."
|
||||||
|
"Timbers creak pleasantly." "Cockroaches swarm on the floor.">>
|
||||||
|
<ROOM CAPTAINS-CABIN (LOC ROOMS) (DESC "Captain's Cabin") (OWNER SPILLBERGEN) (
|
||||||
|
SYNONYM CABIN ROOM) (LDESC
|
||||||
|
"This is the great cabin, the Captain-General's quarters and
|
||||||
|
magazine. The passageway leading to the other officers' cabins
|
||||||
|
is forward.") (FORE TO PASSAGEWAY IF CAPTAINS-CABIN-DOOR IS OPEN) (OUT TO
|
||||||
|
PASSAGEWAY IF CAPTAINS-CABIN-DOOR IS OPEN) (FLAGS ONBIT) (GLOBAL DECK
|
||||||
|
LG-ERASMUS CAPTAINS-CABIN-DOOR LG-CREWMEN LG-BUNK) (ACTION CAPTAINS-CABIN-F) (
|
||||||
|
THINGS <> RAT RAT-PSEUDO <> COCKROACH COCKROACH-PSEUDO)>
|
||||||
|
<DEFINE-ROUTINE CAPTAINS-CABIN-F>
|
||||||
|
<DEFINE-ROUTINE I-WHINE>
|
||||||
|
<OBJECT FLAGON (LOC CAPTAINS-DESK) (DESC "flagon") (SYNONYM FLAGON WATER DRINK)
|
||||||
|
(FLAGS TAKEBIT SEARCHBIT OPENABLE TRANSBIT CONTBIT SCOREBIT) (CAPACITY 10) (
|
||||||
|
ACTION FLAGON-F)>
|
||||||
|
<DEFINE-ROUTINE FLAGON-F>
|
||||||
|
<OBJECT SECRET-DRAWER (LOC CAPTAINS-CABIN) (OWNER SPILLBERGEN) (DESC
|
||||||
|
"secret drawer") (SYNONYM DRAWER CATCH ORNAMENTATION) (ADJECTIVE SECRET SMALL)
|
||||||
|
(FLAGS INVISIBLE NDESCBIT SEARCHBIT OPENABLE CONTBIT FURNITURE) (ACTION
|
||||||
|
SECRET-DRAWER-F)>
|
||||||
|
<DEFINE-ROUTINE SECRET-DRAWER-F>
|
||||||
|
<OBJECT CAPTAINS-DESK (LOC CAPTAINS-CABIN) (OWNER SPILLBERGEN) (DESC "desk") (
|
||||||
|
LDESC "The Captain's ornate desk fills one wall of the cabin.") (SYNONYM DESK)
|
||||||
|
(ADJECTIVE CAPTAIN) (FLAGS SEARCHBIT SURFACEBIT OPENABLE CONTBIT FURNITURE
|
||||||
|
SCOREBIT) (CAPACITY 100) (ACTION CAPTAINS-DESK-F)>
|
||||||
|
<DEFINE-ROUTINE CAPTAINS-DESK-F>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<ROOM PILOTS-CABIN (LOC ROOMS) (DESC "Pilot's Cabin") (SCENE S-ERASMUS S-ANJIRO
|
||||||
|
S-RODRIGUES) (OWNER BLACKTHORNE) (SYNONYM CABIN ROOM) (STARBOARD TO PASSAGEWAY
|
||||||
|
IF PILOTS-CABIN-DOOR IS OPEN) (OUT TO PASSAGEWAY IF PILOTS-CABIN-DOOR IS OPEN)
|
||||||
|
(FLAGS ONBIT) (GLOBAL DECK PILOTS-CABIN-DOOR LG-ERASMUS LG-CREWMEN) (THINGS <>
|
||||||
|
RAT RAT-PSEUDO <> COCKROACH COCKROACH-PSEUDO) (ACTION PILOTS-CABIN-F)>
|
||||||
|
<DEFINE-ROUTINE PILOTS-CABIN-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
<NEW-ADD-WORD "RUTTERS" NOUN <VOC "RUTTER"> ,PLURAL-FLAG>
|
||||||
|
<NEW-ADD-WORD "MAPS" NOUN <VOC "MAP"> ,PLURAL-FLAG>
|
||||||
|
<OBJECT SECRET-RUTTER (LOC SEA-CHEST) (DESC "secret Portuguese rutter") (
|
||||||
|
SYNONYM RUTTER MAP) (ADJECTIVE SECRET PORTUGUESE) (FLAGS READBIT TAKEBIT
|
||||||
|
OPENABLE) (ACTION SECRET-RUTTER-F)>
|
||||||
|
<DEFINE-ROUTINE SECRET-RUTTER-F>
|
||||||
|
<OBJECT RUTTER (LOC SEA-CHEST) (OWNER BLACKTHORNE) (DESC "your rutter") (
|
||||||
|
SYNONYM RUTTER MAP) (FLAGS NOABIT NOTHEBIT READBIT TAKEBIT SCOREBIT OPENABLE) (
|
||||||
|
ACTION RUTTER-F)>
|
||||||
|
<DEFINE-ROUTINE RUTTER-F>
|
||||||
|
<OBJECT SEA-CHEST (LOC PILOTS-CABIN) (DESC "sea chest") (SYNONYM CHEST TRUNK) (
|
||||||
|
ADJECTIVE SEA) (SIZE 200) (FLAGS LOCKED LOCKABLE TAKEBIT SEARCHBIT CONTBIT
|
||||||
|
OPENABLE) (CAPACITY 20) (ACTION SEA-CHEST-F)>
|
||||||
|
<DEFINE-ROUTINE SEA-CHEST-F>
|
||||||
|
<DEFINE-ROUTINE I-BUNK>
|
||||||
|
<OBJECT LG-BUNK (LOC LOCAL-GLOBALS) (SCENE S-ERASMUS S-ANJIRO S-RODRIGUES) (
|
||||||
|
DESC "bed") (SYNONYM BUNK BED HAMMOCK BUNKS BEDS HAMMOCKS) (FLAGS FURNITURE
|
||||||
|
SURFACEBIT VEHBIT) (ACTION LG-BUNK-F)>
|
||||||
|
<DEFINE-ROUTINE LG-BUNK-F>
|
||||||
|
<OBJECT BUNK (LOC PILOTS-CABIN) (SCENE S-ERASMUS S-ANJIRO S-RODRIGUES) (DESC
|
||||||
|
"bunk") (FDESC "The long narrow bunk with its straw palliasse looks inviting.")
|
||||||
|
(SYNONYM BUNK BED) (ADJECTIVE LONG NARROW) (FLAGS FURNITURE VEHBIT) (COUNT 0) (
|
||||||
|
ACTION BUNK-F)>
|
||||||
|
<CONSTANT J-BUNK 10>
|
||||||
|
<DEFINE-ROUTINE BUNK-F>
|
||||||
|
<OBJECT DESK (LOC PILOTS-CABIN) (DESC "desk") (SYNONYM DESK) (FLAGS FURNITURE
|
||||||
|
OPENBIT SURFACEBIT CONTBIT SEARCHBIT) (CAPACITY 100) (ACTION DESK-F)>
|
||||||
|
<DEFINE-ROUTINE DESK-F>
|
||||||
|
<OBJECT QUILL (LOC DESK) (DESC "quill") (SYNONYM QUILL PEN) (ADJECTIVE FRESH
|
||||||
|
QUILL) (FLAGS TAKEBIT TOOLBIT)>
|
||||||
|
<OBJECT KEY (LOC PILOTS-CABIN) (DESC "rusty key") (SYNONYM KEY) (ADJECTIVE
|
||||||
|
RUSTY) (FLAGS NDESCBIT SCOREBIT) (ACTION KEY-F)>
|
||||||
|
<DEFINE-ROUTINE KEY-F>
|
||||||
|
<OBJECT APPLE (DESC "tiny bruised apple") (OWNER BLACKTHORNE) (SYNONYM APPLE
|
||||||
|
APPLES SLICE) (ADJECTIVE BRUISED TINY MOLDY) (FLAGS NDESCBIT TAKEBIT FOODBIT
|
||||||
|
SCOREBIT DONT-ALL) (COUNT 4) (ACTION APPLE-F)>
|
||||||
|
<DEFINE-ROUTINE APPLE-F>
|
||||||
|
<DEFINE-ROUTINE RAT-PSEUDO>
|
||||||
|
<DEFINE-ROUTINE COCKROACH-PSEUDO>
|
||||||
|
<DEFINE-ROUTINE RANDOM-PSEUDO>
|
||||||
|
<ROOM MATES-CABIN (LOC ROOMS) (DESC "Mates' Cabin") (OWNER MATES) (SYNONYM
|
||||||
|
CABIN ROOM) (ADJECTIVE MATES) (PORT TO PASSAGEWAY IF MATES-CABIN-DOOR IS OPEN)
|
||||||
|
(OUT TO PASSAGEWAY IF MATES-CABIN-DOOR IS OPEN) (FLAGS ONBIT) (GLOBAL DECK
|
||||||
|
MATES-CABIN-DOOR LG-ERASMUS LG-CREWMEN) (THINGS <> RAT RAT-PSEUDO <> COCKROACH
|
||||||
|
COCKROACH-PSEUDO) (ACTION MATES-CABIN-F)>
|
||||||
|
<DEFINE-ROUTINE MATES-CABIN-F>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<OBJECT PILOTS-CABIN-DOOR (LOC LOCAL-GLOBALS) (OWNER BLACKTHORNE) (DESC
|
||||||
|
"Pilot's cabin door") (SYNONYM DOOR) (ADJECTIVE CABIN) (FLAGS DOORBIT LOCKABLE)
|
||||||
|
>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
<OBJECT CAPTAINS-CABIN-DOOR (LOC LOCAL-GLOBALS) (OWNER SPILLBERGEN) (DESC
|
||||||
|
"Captain's cabin door") (SYNONYM DOOR) (ADJECTIVE CABIN) (FLAGS DOORBIT
|
||||||
|
LOCKABLE) (ACTION CAPTAINS-CABIN-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE CAPTAINS-CABIN-DOOR-F>
|
||||||
|
<OBJECT MATES (LOC GENERIC-OBJECTS) (DESC "Mates") (SYNONYM MATES MATE OFFICERS
|
||||||
|
OFFICER) (ADJECTIVE FIRST SECOND THIRD) (FLAGS PERSON DUTCHBIT)>
|
||||||
|
<OBJECT MATES-CABIN-DOOR (LOC LOCAL-GLOBALS) (OWNER MATES) (DESC
|
||||||
|
"Mates' cabin door") (SYNONYM DOOR) (ADJECTIVE CABIN) (FLAGS DOORBIT LOCKABLE)
|
||||||
|
(ACTION MATES-CABIN-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE MATES-CABIN-DOOR-F>
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
<OBJECT PASSAGE-DOOR (LOC LOCAL-GLOBALS) (DESC "passageway door") (SYNONYM DOOR
|
||||||
|
) (ADJECTIVE PASSAGE PASSAGEWAY) (FLAGS DOORBIT LOCKABLE) (ACTION
|
||||||
|
PASSAGE-DOOR-F)>
|
||||||
|
<DEFINE-ROUTINE PASSAGE-DOOR-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
<OBJECT LASHING (LOC BRIDGE-OF-ERASMUS) (DESC "protective lashing") (SYNONYM
|
||||||
|
LASHING ROPE) (ADJECTIVE PROTECTIVE) (FLAGS NDESCBIT)>
|
||||||
|
<OBJECT WHEEL (LOC BRIDGE-OF-ERASMUS) (OWNER LG-ERASMUS) (DESC "wheel") (
|
||||||
|
SYNONYM WHEEL RUDDER HELM TILLER) (DESCFCN WHEEL-DESC) (FLAGS CANT-HOLD
|
||||||
|
SCOREBIT) (ACTION WHEEL-F)>
|
||||||
|
<DEFINE-ROUTINE WHEEL-DESC>
|
||||||
|
<DEFINE-ROUTINE WHEEL-F>
|
||||||
|
<DEFINE-ROUTINE I-BROADSIDE>
|
||||||
|
<DEFINE-ROUTINE I-SHIP-BROADSIDE>
|
||||||
|
<DEFINE-ROUTINE SHIP-BROADSIDE>
|
||||||
|
<DEFINE-ROUTINE SET-COURSE>
|
||||||
|
<GLOBAL TIRED-TIME 0>
|
||||||
|
<DEFINE-ROUTINE I-TIRED-WARNING>
|
||||||
|
<DEFINE-ROUTINE I-TIRED>
|
||||||
|
<BEGIN-SEGMENT YABU>
|
||||||
|
<BEGIN-SEGMENT PIT>
|
||||||
|
<OBJECT SPILLBERGEN (LOC CAPTAINS-CABIN) (DESC "Captain-General Spillbergen") (
|
||||||
|
SYNONYM SPILLBERGEN CAPTAIN MAN) (ADJECTIVE CAPTAIN-GENERAL CAPTAIN PAULUS) (
|
||||||
|
FLAGS PERSON DUTCHBIT OPENBIT CONTBIT SEARCHBIT NOABIT NOTHEBIT) (DESCFCN
|
||||||
|
SPILLBERGEN-DESC) (GENERIC GENERIC-CAPTAIN-F) (ACTION SPILLBERGEN-F)>
|
||||||
|
<DEFINE-ROUTINE SPILLBERGEN-DESC>
|
||||||
|
<DEFINE-ROUTINE SPILLBERGEN-F>
|
||||||
|
<OBJECT PIETERZOON (LOC MATES-CABIN) (DESC "Pieterzoon") (SYNONYM PIETERZOON
|
||||||
|
GUNNER) (FLAGS PERSON DUTCHBIT NOABIT NOTHEBIT) (ACTION PIETERZOON-F)>
|
||||||
|
<DEFINE-ROUTINE PIETERZOON-F>
|
||||||
|
<OBJECT ROPER (LOC PASSAGEWAY) (DESC "Jan Roper") (SYNONYM JAN ROPER CALVINIST)
|
||||||
|
(ADJECTIVE JAN) (FLAGS PERSON DUTCHBIT NOABIT NOTHEBIT SCOREBIT CONTBIT OPENBIT
|
||||||
|
SEARCHBIT) (CONTFCN ROPER-F) (ACTION ROPER-F)>
|
||||||
|
<DEFINE-ROUTINE ROPER-F>
|
||||||
|
<OBJECT SONK (LOC BELOW-DECKS) (DESC "Sonk") (SYNONYM SONK COOK) (FLAGS
|
||||||
|
NDESCBIT PERSON DUTCHBIT NOABIT NOTHEBIT) (ACTION SONK-F)>
|
||||||
|
<DEFINE-ROUTINE SONK-F>
|
||||||
|
<OBJECT SALAMON (LOC BELOW-DECKS) (DESC "Salamon") (SYNONYM SALAMON MUTE) (
|
||||||
|
FLAGS NDESCBIT PERSON DUTCHBIT NOABIT NOTHEBIT) (ACTION SALAMON-F)>
|
||||||
|
<DEFINE-ROUTINE SALAMON-F>
|
||||||
|
<OBJECT VAN-NEKK (LOC MATES-CABIN) (DESC "Baccus van Nekk") (SYNONYM BACCUS
|
||||||
|
NEKK) (ADJECTIVE CHIEF MERCHANT BACCUS VAN) (FLAGS PERSON DUTCHBIT NOABIT
|
||||||
|
NOTHEBIT) (ACTION VAN-NEKK-F)>
|
||||||
|
<DEFINE-ROUTINE VAN-NEKK-F>
|
||||||
|
<OBJECT CROOCQ (LOC BELOW-DECKS) (DESC "Croocq") (SYNONYM CROOCQ BOY) (
|
||||||
|
ADJECTIVE MAXIMILIAN) (FLAGS NDESCBIT PERSON DUTCHBIT NOABIT NOTHEBIT) (ACTION
|
||||||
|
CROOCQ-F)>
|
||||||
|
<DEFINE-ROUTINE CROOCQ-F>
|
||||||
|
<DEFINE-ROUTINE SEND-HIM-OUT?>
|
||||||
|
<END-SEGMENT>
|
File diff suppressed because it is too large
Load Diff
203
erasmus.zil
203
erasmus.zil
|
@ -103,16 +103,18 @@ hemmed in by rocks and smashed by waves." CR>)
|
||||||
(<EQUAL? ,REEF-X ,REEF-Y>
|
(<EQUAL? ,REEF-X ,REEF-Y>
|
||||||
<TELL
|
<TELL
|
||||||
"The reef is barely two hundred yards ">
|
"The reef is barely two hundred yards ">
|
||||||
<COND (<EQUAL? ,SHIP-DIRECTION ,P?WEST>
|
<TELL-REEF-DIR>
|
||||||
<TELL "ahead">)
|
<TELL ", great black claws of rocks
|
||||||
|
pounded by the hungry sea. A foaming line of surf looms ">
|
||||||
|
<TELL-REEF-DIR>
|
||||||
|
<TELL ", broken intermittently ">
|
||||||
|
<COND (<EQUAL? ,SHIP-DIRECTION ,P?WEST ,P?NW>
|
||||||
|
<TELL "to port">)
|
||||||
(<EQUAL? ,SHIP-DIRECTION ,P?SW>
|
(<EQUAL? ,SHIP-DIRECTION ,P?SW>
|
||||||
<TELL "to starboard">)
|
<TELL "to starboard">)
|
||||||
(<EQUAL? ,SHIP-DIRECTION ,P?NW>
|
(ELSE
|
||||||
<TELL "to port">)
|
<TELL "by too-narrow channels">)>
|
||||||
(ELSE <TELL "away">)>
|
<TELL "." CR>)
|
||||||
<TELL ", great black claws of rocks
|
|
||||||
pounded by the hungry sea. A foaming line of surf looms ahead,
|
|
||||||
broken intermittently to port." CR>)
|
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"The reef is off to the west, veiled in storm but revealed by
|
"The reef is off to the west, veiled in storm but revealed by
|
||||||
|
@ -128,6 +130,15 @@ breakers." CR>)>)
|
||||||
<PERFORM ,V?TURN ,WHEEL ,INTDIR>
|
<PERFORM ,V?TURN ,WHEEL ,INTDIR>
|
||||||
<RTRUE>)>)>>
|
<RTRUE>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE TELL-REEF-DIR ()
|
||||||
|
<COND (<EQUAL? ,SHIP-DIRECTION ,P?WEST>
|
||||||
|
<TELL "ahead">)
|
||||||
|
(<EQUAL? ,SHIP-DIRECTION ,P?SW>
|
||||||
|
<TELL "to starboard">)
|
||||||
|
(<EQUAL? ,SHIP-DIRECTION ,P?NW>
|
||||||
|
<TELL "to port">)
|
||||||
|
(ELSE <TELL "away">)>>
|
||||||
|
|
||||||
<OBJECT FORESAILS
|
<OBJECT FORESAILS
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
(DESC "foresails")
|
(DESC "foresails")
|
||||||
|
@ -205,9 +216,6 @@ someone screams." CR>)
|
||||||
(GENERIC GENERIC-SHIP-F)
|
(GENERIC GENERIC-SHIP-F)
|
||||||
(ACTION LG-ERASMUS-F)>
|
(ACTION LG-ERASMUS-F)>
|
||||||
|
|
||||||
<ROUTINE GENERIC-SHIP-F (R F)
|
|
||||||
,LG-ERASMUS>
|
|
||||||
|
|
||||||
<ROUTINE LG-ERASMUS-F ("OPT" (RARG <>))
|
<ROUTINE LG-ERASMUS-F ("OPT" (RARG <>))
|
||||||
<COND (<RARG? SUBJ>
|
<COND (<RARG? SUBJ>
|
||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
|
@ -395,7 +403,7 @@ G"That would be suicide in this storm." CR>)
|
||||||
<COND (<EQUAL? ,SHIP-DIRECTION ,P?WEST>
|
<COND (<EQUAL? ,SHIP-DIRECTION ,P?WEST>
|
||||||
<COND (<OR <FSET? ,FORESAILS ,RMUNGBIT>
|
<COND (<OR <FSET? ,FORESAILS ,RMUNGBIT>
|
||||||
<AND <EQUAL? ,SHIP-Y 1>
|
<AND <EQUAL? ,SHIP-Y 1>
|
||||||
<L? ,SHIP-X 6>>>
|
<L=? ,SHIP-X 7>>>
|
||||||
<SETG SHIP-X <- ,SHIP-X 1>>)
|
<SETG SHIP-X <- ,SHIP-X 1>>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<SETG SHIP-X <- ,SHIP-X 2>>)>)
|
<SETG SHIP-X <- ,SHIP-X 2>>)>)
|
||||||
|
@ -412,9 +420,9 @@ G"That would be suicide in this storm." CR>)
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"The waiting spines of the reef tear into the ship!">
|
"The waiting spines of the reef tear into the ship!">
|
||||||
<COND (<FSET? ,HERE ,OUTSIDE>
|
<COND (<FSET? ,HERE ,OUTSIDE>
|
||||||
<TELL " The gap is tantalizingly
|
<TELL "The gap is tantalizingly
|
||||||
close, but you missed it.">)>
|
close, but you missed it.">)>
|
||||||
<TELL " Two years out from England, and it ends here in
|
<TELL "Two years out from England, and it ends here in
|
||||||
a watery grave." CR>
|
a watery grave." CR>
|
||||||
<JIGS-UP>)
|
<JIGS-UP>)
|
||||||
(<EQUAL? ,SHIP-X 6>
|
(<EQUAL? ,SHIP-X 6>
|
||||||
|
@ -474,7 +482,7 @@ dead men!\" screams one.">
|
||||||
<COND (<IN? ,VINCK ,HERE>
|
<COND (<IN? ,VINCK ,HERE>
|
||||||
<MOVE ,VINCK ,ON-DECK>
|
<MOVE ,VINCK ,ON-DECK>
|
||||||
<TELL
|
<TELL
|
||||||
" \"We'd better go above, Pilot,\" urges Vinck as he shuffles toward
|
"\"We'd better go above, Pilot,\" urges Vinck as he shuffles toward
|
||||||
the door." CR>)
|
the door." CR>)
|
||||||
(ELSE <CRLF>)>)
|
(ELSE <CRLF>)>)
|
||||||
(<HERE? ,CAPTAINS-CABIN>
|
(<HERE? ,CAPTAINS-CABIN>
|
||||||
|
@ -486,7 +494,7 @@ thanks to you! Out!\"" CR>)
|
||||||
"You sense from the terror in the voice that the reefs are close.">
|
"You sense from the terror in the voice that the reefs are close.">
|
||||||
<COND (<IN? ,GINSEL ,BELOW-DECKS>
|
<COND (<IN? ,GINSEL ,BELOW-DECKS>
|
||||||
<TELL
|
<TELL
|
||||||
" Has the watch been asleep? All too likely!">)>
|
"Has the watch been asleep? All too likely!">)>
|
||||||
<CRLF>)>)>
|
<CRLF>)>)>
|
||||||
<RTRUE>)>
|
<RTRUE>)>
|
||||||
<COND (<AND <EQUAL? ,SHIP-Y 9>
|
<COND (<AND <EQUAL? ,SHIP-Y 9>
|
||||||
|
@ -578,7 +586,7 @@ fight the waves for long, and are dashed against the rocks.">
|
||||||
(<AND <EQUAL? ,SHIP-Y 4>
|
(<AND <EQUAL? ,SHIP-Y 4>
|
||||||
<EQUAL? ,SHIP-X 10>>
|
<EQUAL? ,SHIP-X 10>>
|
||||||
<FSET ,HENDRIK ,DEAD>
|
<FSET ,HENDRIK ,DEAD>
|
||||||
<REMOVE ,HENDRIK>
|
<MOVE ,HENDRIK ,GENERIC-OBJECTS>
|
||||||
<COND (<FSET? ,HERE ,OUTSIDE>
|
<COND (<FSET? ,HERE ,OUTSIDE>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"This wave comes in stronger than the last. Hendrik is caught and lifted,
|
"This wave comes in stronger than the last. Hendrik is caught and lifted,
|
||||||
|
@ -602,7 +610,7 @@ none. The "I"Erasmus"" is heading for the rocks starboard of the gap!" CR>)>)
|
||||||
<EQUAL? ,SHIP-X 7>>
|
<EQUAL? ,SHIP-X 7>>
|
||||||
<COND (<FSET? ,HERE ,OUTSIDE>
|
<COND (<FSET? ,HERE ,OUTSIDE>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"The ship is swept past the gap in the reef!" CR>)>)
|
"The ship is being swept past the gap in the reef!" CR>)>)
|
||||||
(<AND <EQUAL? ,SHIP-Y 1>
|
(<AND <EQUAL? ,SHIP-Y 1>
|
||||||
<EQUAL? ,SHIP-X 5>>
|
<EQUAL? ,SHIP-X 5>>
|
||||||
<COND (<HERE? ,BRIDGE-OF-ERASMUS ,ON-DECK>
|
<COND (<HERE? ,BRIDGE-OF-ERASMUS ,ON-DECK>
|
||||||
|
@ -756,11 +764,10 @@ speeds through the pass to safety. Into the bay beyond." CR>
|
||||||
(GENERIC GENERIC-CREWMEN-F)
|
(GENERIC GENERIC-CREWMEN-F)
|
||||||
(ACTION LG-CREWMEN-F)>
|
(ACTION LG-CREWMEN-F)>
|
||||||
|
|
||||||
<ROUTINE GENERIC-CREWMEN-F (R F)
|
|
||||||
,LG-CREWMEN>
|
|
||||||
|
|
||||||
<ROUTINE CREWMEN-DESC ("OPT" RARG OBJ)
|
<ROUTINE CREWMEN-DESC ("OPT" RARG OBJ)
|
||||||
<COND (<RARG? OBJDESC?> <RTRUE>)
|
<COND (<RARG? OBJDESC?>
|
||||||
|
<COND (<HERE? ,BELOW-DECKS ,VILLAGE-SQUARE>
|
||||||
|
<RTRUE>)>)
|
||||||
(<RARG? OBJDESC>
|
(<RARG? OBJDESC>
|
||||||
<COND (<HERE? ,BELOW-DECKS>
|
<COND (<HERE? ,BELOW-DECKS>
|
||||||
<COND (,CREW-ON-DECK?
|
<COND (,CREW-ON-DECK?
|
||||||
|
@ -828,26 +835,26 @@ else. You'll have to order specific crewmen to get any results." CR>)
|
||||||
<COND (<IN? ,MAETSUKKER
|
<COND (<IN? ,MAETSUKKER
|
||||||
,BELOW-DECKS>
|
,BELOW-DECKS>
|
||||||
<TELL
|
<TELL
|
||||||
" Vinck, Ginsel, and Maetsukker are">)
|
"Vinck, Ginsel, and Maetsukker are">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Vinck and Ginsel are">)>)
|
"Vinck and Ginsel are">)>)
|
||||||
(<IN? ,MAETSUKKER ,BELOW-DECKS>
|
(<IN? ,MAETSUKKER ,BELOW-DECKS>
|
||||||
<TELL
|
<TELL
|
||||||
" Vinck and Maetsukker are">)
|
"Vinck and Maetsukker are">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Vinck is">)>)
|
"Vinck is">)>)
|
||||||
(<IN? ,GINSEL ,BELOW-DECKS>
|
(<IN? ,GINSEL ,BELOW-DECKS>
|
||||||
<COND (<IN? ,MAETSUKKER ,BELOW-DECKS>
|
<COND (<IN? ,MAETSUKKER ,BELOW-DECKS>
|
||||||
<TELL
|
<TELL
|
||||||
" Ginsel and Maetsukker are">)
|
"Ginsel and Maetsukker are">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Ginsel is">)>)
|
"Ginsel is">)>)
|
||||||
(<IN? ,MAETSUKKER ,BELOW-DECKS>
|
(<IN? ,MAETSUKKER ,BELOW-DECKS>
|
||||||
<TELL
|
<TELL
|
||||||
" Maetsukker is">)
|
"Maetsukker is">)
|
||||||
(ELSE <CRLF> <RTRUE>)>
|
(ELSE <CRLF> <RTRUE>)>
|
||||||
<TELL
|
<TELL
|
||||||
" in the best condition, although everyone is badly off.">)
|
" in the best condition, although everyone is badly off.">)
|
||||||
|
@ -1269,7 +1276,7 @@ privateer. The ">
|
||||||
deck aft of the wheel, and the ship's bell is hanging here.">
|
deck aft of the wheel, and the ship's bell is hanging here.">
|
||||||
<COND (<QUEUED? I-STORM>
|
<COND (<QUEUED? I-STORM>
|
||||||
<TELL
|
<TELL
|
||||||
" Spray blows past in an angry torrent.">)>
|
"Spray blows past in an angry torrent.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
<COND (<AND <SCENE? ,S-ERASMUS>
|
<COND (<AND <SCENE? ,S-ERASMUS>
|
||||||
|
@ -1281,7 +1288,8 @@ deck aft of the wheel, and the ship's bell is hanging here.">
|
||||||
<FSET ,WHEEL ,RMUNGBIT> ;"lash wheel"
|
<FSET ,WHEEL ,RMUNGBIT> ;"lash wheel"
|
||||||
<TELL
|
<TELL
|
||||||
"As you climb onto the bridge, you see that Hendrik has fallen asleep
|
"As you climb onto the bridge, you see that Hendrik has fallen asleep
|
||||||
at his post. At least the wheel is lashed in place." CR CR>)>)
|
at his post. At least the wheel is lashed in place." CR CR>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<P? LISTEN <>>
|
<COND (<P? LISTEN <>>
|
||||||
<PERFORM ,V?LISTEN ,WIND>
|
<PERFORM ,V?LISTEN ,WIND>
|
||||||
|
@ -1348,7 +1356,7 @@ uncontrolled.">)>
|
||||||
<COND (<AND <IN? ,HENDRIK ,BRIDGE-OF-ERASMUS>
|
<COND (<AND <IN? ,HENDRIK ,BRIDGE-OF-ERASMUS>
|
||||||
<FSET? ,HENDRIK ,RMUNGBIT>>
|
<FSET? ,HENDRIK ,RMUNGBIT>>
|
||||||
<FCLEAR ,HENDRIK ,RMUNGBIT>
|
<FCLEAR ,HENDRIK ,RMUNGBIT>
|
||||||
<TELL " The noise wakes Hendrik. \"We're
|
<TELL "The noise wakes Hendrik. \"We're
|
||||||
lost,\" he screams. \"Oh, Lord Jesus help us!\"">)>
|
lost,\" he screams. \"Oh, Lord Jesus help us!\"">)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<COND (<AND ,REEF-FLAG
|
<COND (<AND ,REEF-FLAG
|
||||||
|
@ -1412,12 +1420,12 @@ lost,\" he screams. \"Oh, Lord Jesus help us!\"">)>
|
||||||
they pull themselves out onto the deck.">
|
they pull themselves out onto the deck.">
|
||||||
<COND (,REEF-FLAG
|
<COND (,REEF-FLAG
|
||||||
<MOVE-CREW ,ON-DECK>
|
<MOVE-CREW ,ON-DECK>
|
||||||
<TELL " They are terrified when they
|
<TELL "They are terrified when they
|
||||||
see the encroaching reef, most are panicked and don't know what
|
see the encroaching reef, most are panicked and don't know what
|
||||||
to do next, but a few with their last reserves of strength
|
to do next, but a few with their last reserves of strength
|
||||||
try ineffectually to get the ship under control." CR>)
|
try ineffectually to get the ship under control." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL " They sullenly look around, see that there is
|
<TELL "They sullenly look around, see that there is
|
||||||
no danger, and muttering curses, return below, oblivious to your
|
no danger, and muttering curses, return below, oblivious to your
|
||||||
entreaties." CR>)>)>>
|
entreaties." CR>)>)>>
|
||||||
|
|
||||||
|
@ -1495,7 +1503,8 @@ deck. It's dim, warm and close here, and the stench is abominable." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"As you enter, a volley of feeble curses greets you. You close the door
|
"As you enter, a volley of feeble curses greets you. You close the door
|
||||||
and they subside. No one moves." CR CR>)>)>)
|
and they subside. No one moves." CR CR>)>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<VERB? SMELL>
|
<COND (<VERB? SMELL>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -1512,6 +1521,9 @@ worse." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"They back off, intimidated." CR>)>)>>
|
"They back off, intimidated." CR>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<ROOM ON-DECK
|
<ROOM ON-DECK
|
||||||
(SCENE S-ERASMUS)
|
(SCENE S-ERASMUS)
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
|
@ -1592,11 +1604,12 @@ to leave without trying to regain your rutters." CR>)>)
|
||||||
<TELL
|
<TELL
|
||||||
"As you climb aboard, ">
|
"As you climb aboard, ">
|
||||||
<SEALED-PASSAGE>
|
<SEALED-PASSAGE>
|
||||||
<CRLF>)>)>)>>
|
<CRLF>)>)>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<ROUTINE SEALED-PASSAGE ()
|
<END-SEGMENT ;"ERASMUS+ANJIRO+RODRIGUES">
|
||||||
<TELL "Rodrigues heads immediately for
|
|
||||||
the sealed passage. \""I"Kinjiru, gomen nasai,""\" says one of the samurai." CR>>
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
|
||||||
<OBJECT ERASMUS-ANCHOR
|
<OBJECT ERASMUS-ANCHOR
|
||||||
(LOC ON-DECK)
|
(LOC ON-DECK)
|
||||||
|
@ -1625,6 +1638,8 @@ grace of God and your good piloting, the "I"Erasmus"" reaches port.">)>>
|
||||||
<TELL
|
<TELL
|
||||||
G"That would be suicide in this storm." CR>)>>
|
G"That would be suicide in this storm." CR>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<ROOM PASSAGEWAY
|
<ROOM PASSAGEWAY
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(DESC "Passageway")
|
(DESC "Passageway")
|
||||||
|
@ -1647,15 +1662,17 @@ cabin to starboard. The main deck is forward of here.")
|
||||||
|
|
||||||
<ROUTINE PASSAGEWAY-F (RARG)
|
<ROUTINE PASSAGEWAY-F (RARG)
|
||||||
<COND (<RARG? ENTER>
|
<COND (<RARG? ENTER>
|
||||||
<SETG TIRED-TIME <DEQUEUE I-TIRED>>
|
<COND (<SCENE? ,S-ERASMUS>
|
||||||
<QUEUE I-BELOW-DECKS -1 T>
|
<SETG TIRED-TIME <DEQUEUE I-TIRED>>
|
||||||
<COND (<IN? ,ROPER ,PASSAGEWAY>
|
<QUEUE I-BELOW-DECKS -1 T>
|
||||||
<MOVE ,ROPER ,MATES-CABIN>
|
<COND (<IN? ,ROPER ,PASSAGEWAY>
|
||||||
<MOVE ,APPLE ,ROPER>
|
<MOVE ,ROPER ,MATES-CABIN>
|
||||||
<TELL
|
<MOVE ,APPLE ,ROPER>
|
||||||
|
<TELL
|
||||||
"As you enter the relative quiet of the aft passageway, you notice
|
"As you enter the relative quiet of the aft passageway, you notice
|
||||||
Jan Roper heading across the passage from your cabin to the Mates'
|
Jan Roper heading across the passage from your cabin to the Mates'
|
||||||
cabin." CR CR>)>)
|
cabin." CR CR>)>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<P? (OPEN CLOSE)>
|
<COND (<P? (OPEN CLOSE)>
|
||||||
<COND (<PRSO? PILOTS-CABIN>
|
<COND (<PRSO? PILOTS-CABIN>
|
||||||
|
@ -1668,6 +1685,9 @@ cabin." CR CR>)>)
|
||||||
<PERFORM ,PRSA ,CAPTAINS-CABIN-DOOR>
|
<PERFORM ,PRSA ,CAPTAINS-CABIN-DOOR>
|
||||||
<RTRUE>)>)>)>>
|
<RTRUE>)>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ERASMUS+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
|
||||||
<ROUTINE I-BELOW-DECKS ()
|
<ROUTINE I-BELOW-DECKS ()
|
||||||
<COND (<FSET? ,HERE ,OUTSIDE>
|
<COND (<FSET? ,HERE ,OUTSIDE>
|
||||||
<DEQUEUE I-BELOW-DECKS>
|
<DEQUEUE I-BELOW-DECKS>
|
||||||
|
@ -1868,6 +1888,8 @@ ornamentation." CR>)
|
||||||
<RESTART-STORM?>
|
<RESTART-STORM?>
|
||||||
<SCORE-OBJECT ,CAPTAINS-DESK>)>)>>
|
<SCORE-OBJECT ,CAPTAINS-DESK>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<ROOM PILOTS-CABIN
|
<ROOM PILOTS-CABIN
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(DESC "Pilot's Cabin")
|
(DESC "Pilot's Cabin")
|
||||||
|
@ -1891,18 +1913,19 @@ second best on the ship. The only exit is out to the passageway.">
|
||||||
<COND (<AND <SCENE? S-ERASMUS>
|
<COND (<AND <SCENE? S-ERASMUS>
|
||||||
<NOT <FSET? ,HERE ,TOUCHBIT>>>
|
<NOT <FSET? ,HERE ,TOUCHBIT>>>
|
||||||
<TELL
|
<TELL
|
||||||
" There's something wrong here. Your cabin has been disturbed. As
|
"There's something wrong here. Your cabin has been disturbed. As
|
||||||
you look around, trying to see what's wrong, your eyes stray to the
|
you look around, trying to see what's wrong, your eyes stray to the
|
||||||
sea chest which contains your rutters. You do it almost in a panic, for
|
sea chest which contains your rutters. You do it almost in a panic, for
|
||||||
a pilot's rutters are his life.">)
|
a pilot's rutters are his life.">)
|
||||||
(<SCENE? S-RODRIGUES>
|
(<SCENE? S-RODRIGUES>
|
||||||
<TELL
|
<TELL
|
||||||
" The room looks as though it has been tidied up and then thoroughly
|
"The room looks as though it has been tidied up and then thoroughly
|
||||||
turned over again.">)>
|
turned over again.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
<COND (<SCENE? S-ERASMUS>
|
<COND (<SCENE? S-ERASMUS>
|
||||||
<QUEUE I-BUNK 4>)>)
|
<QUEUE I-BUNK 4>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? LEAVE>
|
(<RARG? LEAVE>
|
||||||
<COND (<SCENE? ,S-ERASMUS>
|
<COND (<SCENE? ,S-ERASMUS>
|
||||||
<DEQUEUE I-BUNK>)>)
|
<DEQUEUE I-BUNK>)>)
|
||||||
|
@ -1918,6 +1941,9 @@ of your crew. You think better of it." CR>)>)
|
||||||
<PERFORM ,V?BOARD ,BUNK>
|
<PERFORM ,V?BOARD ,BUNK>
|
||||||
<RTRUE>)>)>>
|
<RTRUE>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ERASMUS+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
|
||||||
<NEW-ADD-WORD "RUTTERS" NOUN <VOC "RUTTER"> ,PLURAL-FLAG>
|
<NEW-ADD-WORD "RUTTERS" NOUN <VOC "RUTTER"> ,PLURAL-FLAG>
|
||||||
<NEW-ADD-WORD "MAPS" NOUN <VOC "MAP"> ,PLURAL-FLAG>
|
<NEW-ADD-WORD "MAPS" NOUN <VOC "MAP"> ,PLURAL-FLAG>
|
||||||
|
|
||||||
|
@ -2076,7 +2102,7 @@ rest." CR>)>)
|
||||||
(<FSET? ,SEA-CHEST ,LOCKED>
|
(<FSET? ,SEA-CHEST ,LOCKED>
|
||||||
<FSET ,SEA-CHEST ,RMUNGBIT>
|
<FSET ,SEA-CHEST ,RMUNGBIT>
|
||||||
<TELL
|
<TELL
|
||||||
"It's locked. Your keep your rutters in it, and they are your most
|
"It's locked. You keep your rutters in it, and they are your most
|
||||||
precious possessions." CR>)
|
precious possessions." CR>)
|
||||||
(<NOT <FSET? ,SEA-CHEST ,OPENBIT>>
|
(<NOT <FSET? ,SEA-CHEST ,OPENBIT>>
|
||||||
<FSET ,SEA-CHEST ,OPENBIT>
|
<FSET ,SEA-CHEST ,OPENBIT>
|
||||||
|
@ -2129,7 +2155,7 @@ to say." CR>)>>
|
||||||
(SCENE S-ERASMUS S-ANJIRO S-RODRIGUES)
|
(SCENE S-ERASMUS S-ANJIRO S-RODRIGUES)
|
||||||
(DESC "bed")
|
(DESC "bed")
|
||||||
(SYNONYM BUNK BED HAMMOCK BUNKS BEDS HAMMOCKS)
|
(SYNONYM BUNK BED HAMMOCK BUNKS BEDS HAMMOCKS)
|
||||||
(FLAGS FURNITURE VEHBIT)
|
(FLAGS FURNITURE SURFACEBIT VEHBIT)
|
||||||
(ACTION LG-BUNK-F)>
|
(ACTION LG-BUNK-F)>
|
||||||
|
|
||||||
<ROUTINE LG-BUNK-F ()
|
<ROUTINE LG-BUNK-F ()
|
||||||
|
@ -2205,9 +2231,9 @@ gone! ">)>
|
||||||
<MOVE ,KEY ,WINNER>
|
<MOVE ,KEY ,WINNER>
|
||||||
<THIS-IS-IT ,KEY>
|
<THIS-IS-IT ,KEY>
|
||||||
<TELL
|
<TELL
|
||||||
"You search for the key to your sea-chest. Can someone have taken it? No! There it is. You take it with thanks." CR>)
|
"You search for the key to your sea chest. Can someone have taken it? No! There it is. You take it with thanks." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL "You notice the key to your sea-chest,
|
<TELL "You notice the key to your sea chest,
|
||||||
safe and sound where you left it." CR>)>
|
safe and sound where you left it." CR>)>
|
||||||
<RESTART-STORM?>
|
<RESTART-STORM?>
|
||||||
<SCORE-OBJECT ,KEY>)
|
<SCORE-OBJECT ,KEY>)
|
||||||
|
@ -2310,7 +2336,7 @@ sore and tender. After you finish the apple, you feel better." CR>
|
||||||
CTHE ,PRSI " take" S ,PRSI " the apple and gobble" S ,PRSI " it greedily.">
|
CTHE ,PRSI " take" S ,PRSI " the apple and gobble" S ,PRSI " it greedily.">
|
||||||
<COND (<PRSI? ,VINCK ,PIETERZOON CROOCQ>
|
<COND (<PRSI? ,VINCK ,PIETERZOON CROOCQ>
|
||||||
<TELL
|
<TELL
|
||||||
" \"Thank you, Pilot. Thank you!\"">)>
|
"\"Thank you, Pilot. Thank you!\"">)>
|
||||||
<CRLF>)>>
|
<CRLF>)>>
|
||||||
|
|
||||||
<ROUTINE RAT-PSEUDO ()
|
<ROUTINE RAT-PSEUDO ()
|
||||||
|
@ -2341,9 +2367,9 @@ CTHE ,PRSI " take" S ,PRSI " the apple and gobble" S ,PRSI " it greedily.">
|
||||||
<TELL
|
<TELL
|
||||||
"This is the Mates' cabin.">
|
"This is the Mates' cabin.">
|
||||||
<COND (<SCENE? ,S-ERASMUS>
|
<COND (<SCENE? ,S-ERASMUS>
|
||||||
<TELL " It is now shared by Baccus van Nekk, the
|
<TELL "It is now shared by Baccus van Nekk, the
|
||||||
chief merchant, Hendrik the third mate, and the boy, Croocq.">)>
|
chief merchant, Hendrik the third mate, and the boy, Croocq.">)>
|
||||||
<TELL " The passageway is outside." CR>)
|
<TELL "The passageway is outside." CR>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<AND <P? SEARCH GLOBAL-HERE>
|
<COND (<AND <P? SEARCH GLOBAL-HERE>
|
||||||
<IN? ,APPLE ,ROPER>>
|
<IN? ,APPLE ,ROPER>>
|
||||||
|
@ -2356,6 +2382,8 @@ Pilot. Search all you want.\"" CR>)
|
||||||
D ,PRSO " reluctantly allows himself to be searched, cursing you all
|
D ,PRSO " reluctantly allows himself to be searched, cursing you all
|
||||||
the while. You find nothing." CR>)>)>>
|
the while. You find nothing." CR>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<OBJECT PILOTS-CABIN-DOOR
|
<OBJECT PILOTS-CABIN-DOOR
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
(OWNER BLACKTHORNE)
|
(OWNER BLACKTHORNE)
|
||||||
|
@ -2364,6 +2392,9 @@ the while. You find nothing." CR>)>)>>
|
||||||
(ADJECTIVE ;MY CABIN)
|
(ADJECTIVE ;MY CABIN)
|
||||||
(FLAGS DOORBIT LOCKABLE)>
|
(FLAGS DOORBIT LOCKABLE)>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ERASMUS+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
|
||||||
<OBJECT CAPTAINS-CABIN-DOOR
|
<OBJECT CAPTAINS-CABIN-DOOR
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
(OWNER SPILLBERGEN)
|
(OWNER SPILLBERGEN)
|
||||||
|
@ -2375,8 +2406,9 @@ the while. You find nothing." CR>)>)>>
|
||||||
|
|
||||||
<ROUTINE CAPTAINS-CABIN-DOOR-F ()
|
<ROUTINE CAPTAINS-CABIN-DOOR-F ()
|
||||||
<COND (<VERB? KNOCK>
|
<COND (<VERB? KNOCK>
|
||||||
<TELL
|
<COND (<IN? ,SPILLBERGEN ,CAPTAINS-CABIN>
|
||||||
"You hear a faint response." CR>)>>
|
<TELL
|
||||||
|
"You hear a faint response." CR>)>)>>
|
||||||
|
|
||||||
<OBJECT MATES
|
<OBJECT MATES
|
||||||
(LOC GENERIC-OBJECTS)
|
(LOC GENERIC-OBJECTS)
|
||||||
|
@ -2396,8 +2428,12 @@ the while. You find nothing." CR>)>)>>
|
||||||
|
|
||||||
<ROUTINE MATES-CABIN-DOOR-F ()
|
<ROUTINE MATES-CABIN-DOOR-F ()
|
||||||
<COND (<VERB? KNOCK>
|
<COND (<VERB? KNOCK>
|
||||||
<TELL
|
<COND (<SCENE? ,S-ERASMUS>
|
||||||
"\"Aye? Come in, damn you! Do think this is a palace?\"" CR>)>>
|
<TELL
|
||||||
|
"\"Aye? Come in, damn you! Do think this is a palace?\"" CR>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT ANJIRO>
|
||||||
|
<BEGIN-SEGMENT RODRIGUES>
|
||||||
|
|
||||||
<OBJECT PASSAGE-DOOR
|
<OBJECT PASSAGE-DOOR
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
|
@ -2417,6 +2453,9 @@ the while. You find nothing." CR>)>)>>
|
||||||
<TELL
|
<TELL
|
||||||
"You hear noise inside, but no response to your knock." CR>)>)>>
|
"You hear noise inside, but no response to your knock." CR>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ERASMUS+ANJIRO+RODRIGUES">
|
||||||
|
<BEGIN-SEGMENT ERASMUS>
|
||||||
|
|
||||||
<OBJECT LASHING
|
<OBJECT LASHING
|
||||||
(LOC BRIDGE-OF-ERASMUS)
|
(LOC BRIDGE-OF-ERASMUS)
|
||||||
(DESC "protective lashing")
|
(DESC "protective lashing")
|
||||||
|
@ -2429,7 +2468,6 @@ the while. You find nothing." CR>)>)>>
|
||||||
(OWNER LG-ERASMUS)
|
(OWNER LG-ERASMUS)
|
||||||
(DESC "wheel")
|
(DESC "wheel")
|
||||||
(SYNONYM WHEEL RUDDER HELM TILLER)
|
(SYNONYM WHEEL RUDDER HELM TILLER)
|
||||||
(ADJECTIVE SHIPS)
|
|
||||||
(DESCFCN WHEEL-DESC)
|
(DESCFCN WHEEL-DESC)
|
||||||
(FLAGS CANT-HOLD SCOREBIT)
|
(FLAGS CANT-HOLD SCOREBIT)
|
||||||
(ACTION WHEEL-F)>
|
(ACTION WHEEL-F)>
|
||||||
|
@ -2612,20 +2650,20 @@ foresails, and the ship wallows like a pig!" CR>)
|
||||||
<COND (<AND ,REEF-FLAG ;"3,4"
|
<COND (<AND ,REEF-FLAG ;"3,4"
|
||||||
<EQUAL? ,REEF-X ,REEF-Y>>
|
<EQUAL? ,REEF-X ,REEF-Y>>
|
||||||
<TELL
|
<TELL
|
||||||
" The ship turns broadside to the reef, struggling against the
|
"The ship turns broadside to the reef, struggling against the
|
||||||
wind which tries to drive it onto the spines." CR>)
|
wind which tries to drive it onto the spines." CR>)
|
||||||
(<AND <EQUAL? ,SHIP-X 6> ;"11"
|
(<AND <EQUAL? ,SHIP-X 6> ;"11"
|
||||||
<EQUAL? ,SHIP-Y 2>>
|
<EQUAL? ,SHIP-Y 2>>
|
||||||
<TELL
|
<TELL
|
||||||
" Fighting the wind, the ship slowly turns away from the reef." CR>)
|
"Fighting the wind, the ship slowly turns away from the reef." CR>)
|
||||||
(<AND <EQUAL? ,SHIP-X 1> ;"15"
|
(<AND <EQUAL? ,SHIP-X 1> ;"15"
|
||||||
<EQUAL? ,SHIP-Y 1>>
|
<EQUAL? ,SHIP-Y 1>>
|
||||||
<TELL
|
<TELL
|
||||||
" Struggling, the ship begins to turn to port, slowly, slowly as the
|
"Struggling, the ship begins to turn to port, slowly, slowly as the
|
||||||
swift currents are drawing you deeper into the maze of rocks." CR>)
|
swift currents are drawing you deeper into the maze of rocks." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" The ship struggles against the wind." CR>)>)
|
"The ship struggles against the wind." CR>)>)
|
||||||
(<EQUAL? ,P-DIRECTION ,P?STARBOARD>
|
(<EQUAL? ,P-DIRECTION ,P?STARBOARD>
|
||||||
<QUEUE I-BROADSIDE 2>
|
<QUEUE I-BROADSIDE 2>
|
||||||
<SET-COURSE ,P?STARBOARD>
|
<SET-COURSE ,P?STARBOARD>
|
||||||
|
@ -2635,15 +2673,15 @@ swift currents are drawing you deeper into the maze of rocks." CR>)
|
||||||
<COND (<AND <EQUAL? ,SHIP-X 8> ;"10"
|
<COND (<AND <EQUAL? ,SHIP-X 8> ;"10"
|
||||||
<EQUAL? ,SHIP-Y 2>>
|
<EQUAL? ,SHIP-Y 2>>
|
||||||
<TELL
|
<TELL
|
||||||
" The wind snaps the sails full and the ship heads for the gap, but it
|
"The wind snaps the sails full and the ship heads for the gap, but it
|
||||||
means coming very close to the waiting reef!" CR>)
|
means coming very close to the waiting reef!" CR>)
|
||||||
(<AND <EQUAL? ,SHIP-X 5> ;"12"
|
(<AND <EQUAL? ,SHIP-X 5> ;"12"
|
||||||
<EQUAL? ,SHIP-Y 1>>
|
<EQUAL? ,SHIP-Y 1>>
|
||||||
<TELL
|
<TELL
|
||||||
" With a crack the sails fill, shooting the "I"Erasmus"" into the gap!" CR>)
|
"With a crack the sails fill, shooting the "I"Erasmus"" into the gap!" CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" The ship gains speed with the wind." CR>)>)
|
"The ship gains speed with the wind." CR>)>)
|
||||||
(<EQUAL? ,P-DIRECTION ,P?FORE ,P?IN>
|
(<EQUAL? ,P-DIRECTION ,P?FORE ,P?IN>
|
||||||
<DEQUEUE I-BROADSIDE>
|
<DEQUEUE I-BROADSIDE>
|
||||||
<SET-COURSE ,P?FORE>
|
<SET-COURSE ,P?FORE>
|
||||||
|
@ -2715,6 +2753,9 @@ fails you. You collapse, every fiber aching with months of
|
||||||
deprivation. It is not long after that the ship is driven against the
|
deprivation. It is not long after that the ship is driven against the
|
||||||
rocks.">)>>
|
rocks.">)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT YABU>
|
||||||
|
<BEGIN-SEGMENT PIT>
|
||||||
|
|
||||||
<OBJECT SPILLBERGEN
|
<OBJECT SPILLBERGEN
|
||||||
(LOC CAPTAINS-CABIN)
|
(LOC CAPTAINS-CABIN)
|
||||||
(DESC "Captain-General Spillbergen")
|
(DESC "Captain-General Spillbergen")
|
||||||
|
@ -2725,15 +2766,6 @@ rocks.">)>>
|
||||||
(GENERIC GENERIC-CAPTAIN-F)
|
(GENERIC GENERIC-CAPTAIN-F)
|
||||||
(ACTION SPILLBERGEN-F)>
|
(ACTION SPILLBERGEN-F)>
|
||||||
|
|
||||||
<ROUTINE GENERIC-CAPTAIN-F (R F)
|
|
||||||
<COND (<SCENE? ,S-ERASMUS ,S-ANJIRO ,S-YABU ,S-PIT>
|
|
||||||
,SPILLBERGEN)
|
|
||||||
(<SCENE? ,S-NINJA>
|
|
||||||
,GRAY-CAPTAIN)
|
|
||||||
(<SCENE? ,S-DEPARTURE>
|
|
||||||
<COND (<FSET? ,YAMAZAKI ,DEAD> ,KOJIMA)
|
|
||||||
(ELSE <RFALSE>)>)>>
|
|
||||||
|
|
||||||
<ROUTINE SPILLBERGEN-DESC (RARG OBJ)
|
<ROUTINE SPILLBERGEN-DESC (RARG OBJ)
|
||||||
<COND (<RARG? OBJDESC?>
|
<COND (<RARG? OBJDESC?>
|
||||||
<COND (<SCENE? ,S-ERASMUS ,S-YABU ,S-PIT> <RTRUE>)
|
<COND (<SCENE? ,S-ERASMUS ,S-YABU ,S-PIT> <RTRUE>)
|
||||||
|
@ -2799,7 +2831,7 @@ florid man, normally very fat, now very thin, the skin of his
|
||||||
paunch hanging slackly in folds.">
|
paunch hanging slackly in folds.">
|
||||||
<COND (<AND <HERE? ,CAPTAINS-CABIN>
|
<COND (<AND <HERE? ,CAPTAINS-CABIN>
|
||||||
<FSET? ,FLAGON ,SCOREBIT>>
|
<FSET? ,FLAGON ,SCOREBIT>>
|
||||||
<TELL " He looks parched.">)>
|
<TELL "He looks parched.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<AND <VERB? FIND>
|
(<AND <VERB? FIND>
|
||||||
<SCENE? ,S-ERASMUS>
|
<SCENE? ,S-ERASMUS>
|
||||||
|
@ -2819,7 +2851,7 @@ paunch hanging slackly in folds.">
|
||||||
"Weakly, Spillbergen drinks a little water.">
|
"Weakly, Spillbergen drinks a little water.">
|
||||||
<COND (<FSET? ,FLAGON ,SCOREBIT>
|
<COND (<FSET? ,FLAGON ,SCOREBIT>
|
||||||
<TELL
|
<TELL
|
||||||
" \"Thanks,\" he says. \"Where's land -- where's land?\"|
|
"\"Thanks,\" he says. \"Where's land -- where's land?\"|
|
||||||
|
|
|
|
||||||
\"Ahead\" is all you can say in reply." CR>
|
\"Ahead\" is all you can say in reply." CR>
|
||||||
<RESTART-STORM?>
|
<RESTART-STORM?>
|
||||||
|
@ -2978,13 +3010,14 @@ hoarder!\"" CR>)>)
|
||||||
<COND (<FSET? ,APPLE ,NDESCBIT>
|
<COND (<FSET? ,APPLE ,NDESCBIT>
|
||||||
<FCLEAR ,APPLE ,NDESCBIT>
|
<FCLEAR ,APPLE ,NDESCBIT>
|
||||||
<TELL
|
<TELL
|
||||||
" \"It's mine, I tell you! Share and share alike!\" he whines, pulling
|
"\"It's mine, I tell you! Share and share alike!\" he whines, pulling
|
||||||
an apple out of his pocket.">)
|
an apple out of his pocket." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<MOVE ,APPLE ,HERE>
|
<MOVE ,APPLE ,HERE>
|
||||||
<TELL
|
<TELL
|
||||||
" \"Don't hit me!\" he screams, dropping the apple on the ground.">)>)>
|
"\"Don't hit me!\" he screams, dropping the apple on the ground." CR>
|
||||||
<CRLF>)
|
<SCORE-OBJECT ,ROPER>)>)
|
||||||
|
(ELSE <CRLF>)>)
|
||||||
(<P? SEND ROPER>
|
(<P? SEND ROPER>
|
||||||
<TELL
|
<TELL
|
||||||
"He refuses to go, scornfully suggesting you get the regular crewmen on
|
"He refuses to go, scornfully suggesting you get the regular crewmen on
|
||||||
|
@ -3049,7 +3082,7 @@ G"The only responses are muttered curses in Dutch." CR>)>)
|
||||||
<COND (<P? SEND VAN-NEKK>
|
<COND (<P? SEND VAN-NEKK>
|
||||||
<TELL
|
<TELL
|
||||||
"\"I'd go, Pilot, but it's not my watch. It's Vinck's watch, I think, and
|
"\"I'd go, Pilot, but it's not my watch. It's Vinck's watch, I think, and
|
||||||
Ginsel's, and Maetsukker's, if I've not gone crazed. He smiles wanly." CR>)>)>>
|
Ginsel's, and Maetsukker's, if I've not gone crazed.\" He smiles wanly." CR>)>)>>
|
||||||
|
|
||||||
<OBJECT CROOCQ
|
<OBJECT CROOCQ
|
||||||
(LOC BELOW-DECKS)
|
(LOC BELOW-DECKS)
|
||||||
|
@ -3094,4 +3127,4 @@ G"The only responses are muttered curses in Dutch." CR>)>)
|
||||||
<P? (STEP-ON TAKE BOARD WALK-TO CLIMB-ON)
|
<P? (STEP-ON TAKE BOARD WALK-TO CLIMB-ON)
|
||||||
(DECK BRIDGE-OF-ERASMUS ON-DECK)>>)>>
|
(DECK BRIDGE-OF-ERASMUS ON-DECK)>>)>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"ERASMUS+YABU+PIT">
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("ONE-BYTE-PARTS-OF-SPEECH" %<>)("WORD-FLAGS-IN-TABLE" T)(
|
||||||
|
"IN-ZILCH" T)) (("INVALID-OBJECT?" "DEFS" #WORD *06466464176*))>
|
||||||
|
|
||||||
|
<ZZSECTION "FIND">
|
||||||
|
<INCLUDE "BASEDEFS" "PDEFS" "PBITDEFS">
|
||||||
|
<USE "NEWSTRUC" "PARSER" "PMEM">
|
||||||
|
<BLOCK (<ROOT>)>
|
||||||
|
THINGS
|
||||||
|
<ENDBLOCK>
|
||||||
|
<FILE-FLAGS MDL-ZIL? CLEAN-STACK?>
|
||||||
|
<DEFAULTS-DEFINED EXCLUDE-HERE-OBJECT? INVALID-OBJECT? MOBY-FIND?
|
||||||
|
LAST-PSEUDO-LOC PSEUDO-OBJECTS SEARCH-IN-LG?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<PUT-DECL BOOLEAN '<OR ATOM FALSE>>
|
||||||
|
<DEFMAC FD-FLAG (WHICH 'VAL "OPT" 'NEW) <COND (<ASSIGNED? NEW> <COND (<OR <
|
||||||
|
TYPE? .NEW ATOM FALSE> <AND <TYPE? .NEW FORM> <EMPTY? .NEW>>> <COND (<TYPE? .
|
||||||
|
NEW ATOM> <FORM ORB ,.WHICH .VAL>) (T <FORM ANDB .VAL <XORB ,.WHICH -1>>)>) (<
|
||||||
|
TYPE? .VAL FIX LVAL GVAL> <FORM COND (.NEW <FORM ORB .VAL ,.WHICH>) (T <FORM
|
||||||
|
ANDB .VAL <XORB ,.WHICH -1>>)>) (T <FORM BIND ((FLAG .VAL)) <FORM COND (.NEW <
|
||||||
|
FORM ORB ,.WHICH '.FLAG>) (T <FORM ANDB '.FLAG <XORB ,.WHICH -1>>)>>)>) (T <
|
||||||
|
FORM NOT <FORM 0? <FORM ANDB .VAL ,.WHICH>>>)>>
|
||||||
|
<CONSTANT FIND-FLAGS-GWIM 1>
|
||||||
|
<DEFMAC FIND-GWIM? ('F) <FORM NOT <FORM 0? <FORM ANDB <FORM FIND-FLAGS .F> ,
|
||||||
|
FIND-FLAGS-GWIM>>>>
|
||||||
|
<CONSTANT FINDER <MAKE-FINDER>>
|
||||||
|
<GLOBAL P-NOT-HERE:NUMBER 0>
|
||||||
|
<DEFINE-ROUTINE FIND-DESCENDANTS>
|
||||||
|
<DEFINE-ROUTINE EXCLUDED?>
|
||||||
|
<DEFAULT-DEFINITION INVALID-OBJECT? <DEFINE INVALID-OBJECT? (OBJ) <>>>
|
||||||
|
<DEFINE-ROUTINE MATCH-OBJECT>
|
||||||
|
<CONSTANT SYN-FIND-PROP 256>
|
||||||
|
<DEFINE-ROUTINE TEST-OBJECT>
|
||||||
|
<DEFINE-ROUTINE ADD-OBJECT>
|
||||||
|
<DEFINE-ROUTINE NOT-IN-FIND-RES?>
|
||||||
|
<DEFINE-ROUTINE EVERYWHERE-VERB?>
|
||||||
|
<DEFINE-ROUTINE MULTIPLE-EXCEPTION?>
|
||||||
|
<ADD-WORD OPEN ADJ>
|
||||||
|
<ADD-WORD CLOSED ADJ>
|
||||||
|
<ADD-WORD SHUT ADJ>
|
||||||
|
<DEFINE-ROUTINE CHECK-ADJS-THERE?>
|
||||||
|
<DEFINE-ROUTINE CHECK-ADJS>
|
||||||
|
<OBJECT GENERIC-OBJECTS (ADJACENT 0)>
|
||||||
|
<DEFAULT-DEFINITION MOBY-FIND? <DEFMAC MOBY-FIND? ('SEARCH) <FORM OR <FORM AND
|
||||||
|
<FORM BAND .SEARCH ',SEARCH-MOBY> <FORM 0? <FORM BAND .SEARCH ',
|
||||||
|
SEARCH-MUST-HAVE>>> <FORM BAND ',PAST-TENSE <FORM WORD-FLAGS <FORM PARSE-VERB '
|
||||||
|
,PARSE-RESULT>>>>>>
|
||||||
|
<DEFAULT-DEFINITION SEARCH-IN-LG? <ROUTINE SEARCH-IN-LG?>>
|
||||||
|
<DEFAULT-DEFINITION EXCLUDE-HERE-OBJECT? <ROUTINE EXCLUDE-HERE-OBJECT?>>
|
||||||
|
<DEFINE-ROUTINE FIND-OBJECTS>
|
||||||
|
<DEFAULT-DEFINITION PSEUDO-OBJECTS <PUTPROP THINGS PROPSPEC HACK-PSEUDOS> <
|
||||||
|
DEFINE20 HACK-PSEUDOS (LIST "AUX" (N 0) (CT 0)) <SET LIST <REST .LIST>> <SET
|
||||||
|
LIST <MAPR ,LIST <FUNCTION (X "AUX" L (ACT 0) (NCT 0)) <COND (<0? .N> <SET CT <
|
||||||
|
+ .CT 1>> <SET N 1> <COND (<TYPE? <1 .X> ATOM> <SET ACT 1>) (<TYPE? <1 .X> LIST
|
||||||
|
> <SET ACT <LENGTH <1 .X>>>) (T <SET ACT 0>)> <COND (<LENGTH? .X 1>) (<TYPE? <2
|
||||||
|
.X> ATOM> <SET NCT 1>) (<TYPE? <2 .X> LIST> <SET NCT <LENGTH <2 .X>>>) (T <SET
|
||||||
|
NCT 0>)> <TABLE (PURE) <BYTE .ACT> <BYTE .NCT> <COND (<0? .ACT> 0) (<==? .ACT 1
|
||||||
|
> <VOC <SPNAME <1 .X>> ADJ>) (T <EVAL <CHTYPE (TABLE (PURE) !<MAPF ,LIST <
|
||||||
|
FUNCTION (Y) <VOC <SPNAME .Y> ADJ>> <1 .X>!>) FORM>>)> <COND (<0? .NCT> 0) (<
|
||||||
|
==? .NCT 1> <VOC <SPNAME <2 .X>> NOUN>) (T <EVAL <CHTYPE (TABLE (PURE) !<MAPF ,
|
||||||
|
LIST <FUNCTION (Y) <VOC <SPNAME .Y> NOUN>> <2 .X>!>) FORM>>)>>) (<1? .N> <SET N
|
||||||
|
2> <MAPRET>) (T <SET N 0> <1 .X>)>> .LIST>> (<> <EVAL <CHTYPE (TABLE (PURE) .CT
|
||||||
|
!.LIST) FORM>>)> <ROUTINE TEST-THINGS> <GLOBAL LAST-PSEUDO-LOC:OBJECT <>> <
|
||||||
|
OBJECT PSEUDO-OBJECT (LOC LOCAL-GLOBALS) (DESC "pseudoxxx") (ACTION 0)>>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<END-DEFINITIONS>
|
|
@ -0,0 +1,603 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FIND-DESCENDANTS:ANY:2:2,PARENT,FLAGS,F,FOBJ
|
||||||
|
SET 'F,FINDER
|
||||||
|
EQUAL? PARENT,GLOBAL-HERE \?CND1
|
||||||
|
SET 'PARENT,HERE
|
||||||
|
?CND1: FIRST? PARENT >FOBJ \TRUE
|
||||||
|
?PRG6: CALL2 VISIBLE?,FOBJ
|
||||||
|
ZERO? STACK /?CND8
|
||||||
|
BTST FLAGS,8 /?CND10
|
||||||
|
BTST FLAGS,1 \?PRF16
|
||||||
|
PUSH 1
|
||||||
|
JUMP ?PEN14
|
||||||
|
?PRF16: PUSH 0
|
||||||
|
?PEN14: CALL MATCH-OBJECT,FOBJ,F,STACK
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
?CND10: BTST FLAGS,4 \?CND8
|
||||||
|
FIRST? FOBJ \?CND8
|
||||||
|
EQUAL? FOBJ,WINNER /?CND8
|
||||||
|
FSET? FOBJ,SEARCHBIT \?PRD24
|
||||||
|
FSET? FOBJ,OPENBIT /?CCL18
|
||||||
|
FSET? FOBJ,TRANSBIT /?CCL18
|
||||||
|
?PRD24: FSET? FOBJ,SURFACEBIT \?CND8
|
||||||
|
?CCL18: BTST FLAGS,1 \?CCL33
|
||||||
|
PUSH 5
|
||||||
|
JUMP ?CND31
|
||||||
|
?CCL33: PUSH 4
|
||||||
|
?CND31: CALL FIND-DESCENDANTS,FOBJ,STACK
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
?CND8: NEXT? FOBJ >FOBJ /?PRG6
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT EXCLUDED?:ANY:2:2,FOBJ,F,EXC,PHRASE,CT,VEC,VV
|
||||||
|
GET F,8 >EXC
|
||||||
|
ZERO? EXC /FALSE
|
||||||
|
GET EXC,3 >PHRASE
|
||||||
|
?PRG4: ZERO? PHRASE /?CND6
|
||||||
|
GET PHRASE,1 >CT
|
||||||
|
ADD PHRASE,6 >VEC
|
||||||
|
?PRG8: DLESS? 'CT,0 \?CND10
|
||||||
|
SET 'VV,FALSE-VALUE
|
||||||
|
JUMP ?REP9
|
||||||
|
?CND10: GET VEC,0
|
||||||
|
EQUAL? FOBJ,STACK \?CND12
|
||||||
|
SET 'VV,TRUE-VALUE
|
||||||
|
?REP9: ZERO? VV \TRUE
|
||||||
|
?CND6: GET EXC,1 >EXC
|
||||||
|
ZERO? EXC /FALSE
|
||||||
|
GET EXC,3 >PHRASE
|
||||||
|
JUMP ?PRG4
|
||||||
|
?CND12: ADD VEC,4 >VEC
|
||||||
|
JUMP ?PRG8
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT INVALID-OBJECT?:ANY:1:1,OBJ
|
||||||
|
LOC OBJ
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
IN? OBJ,GLOBAL-OBJECTS /FALSE
|
||||||
|
IN? OBJ,GENERIC-OBJECTS /FALSE
|
||||||
|
CALL2 IN-SCENE?,OBJ
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MATCH-OBJECT:ANY:3:3,FOBJ,F,INCLUDE?,NOUN,ADJS,APP,TB,RES,TMP,?TMP1
|
||||||
|
GET F,9 >RES
|
||||||
|
FSET? FOBJ,INVISIBLE /TRUE
|
||||||
|
GET F,6 >NOUN
|
||||||
|
EQUAL? NOUN,FALSE-VALUE,W?ONE /?PRD6
|
||||||
|
GETPT FOBJ,P?SYNONYM >TB
|
||||||
|
ZERO? TB /TRUE
|
||||||
|
PTSIZE TB
|
||||||
|
DIV STACK,2
|
||||||
|
INTBL? NOUN,TB,STACK \TRUE
|
||||||
|
?PRD6: GET F,7 >ADJS
|
||||||
|
ZERO? ADJS /?PRD11
|
||||||
|
CALL CHECK-ADJS,FOBJ,F,ADJS
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
?PRD11: GET F,5 >ADJS
|
||||||
|
ZERO? ADJS /?PRD14
|
||||||
|
CALL CHECK-ADJS,FOBJ,F,ADJS
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
?PRD14: CALL EXCLUDED?,FOBJ,F
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
GET F,1
|
||||||
|
BTST STACK,1 /?CTR2
|
||||||
|
CALL2 INVALID-OBJECT?,FOBJ
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
?CTR2: ZERO? INCLUDE? /TRUE
|
||||||
|
GET F,5 >ADJS
|
||||||
|
ZERO? ADJS /?CCL24
|
||||||
|
GETPT FOBJ,P?ADJECTIVE >TMP
|
||||||
|
ZERO? TMP /?CCL24
|
||||||
|
GET ADJS,4 >?TMP1
|
||||||
|
PTSIZE TMP
|
||||||
|
DIV STACK,2
|
||||||
|
EQUAL? ?TMP1,STACK \?CCL24
|
||||||
|
PUT RES,1,1
|
||||||
|
PUT RES,2,FALSE-VALUE
|
||||||
|
PUT RES,4,FOBJ
|
||||||
|
EQUAL? FOBJ,HERE \FALSE
|
||||||
|
PUT RES,4,GLOBAL-HERE
|
||||||
|
RFALSE
|
||||||
|
?CCL24: GET F,0 >APP
|
||||||
|
ZERO? APP /?CCL32
|
||||||
|
GET F,1
|
||||||
|
BTST STACK,1 /?CCL32
|
||||||
|
GET RES,1
|
||||||
|
ZERO? STACK /?CTR36
|
||||||
|
GET F,2
|
||||||
|
ZERO? STACK /?CCL37
|
||||||
|
?CTR36: CALL ADD-OBJECT,FOBJ,F
|
||||||
|
RSTACK
|
||||||
|
?CCL37: CALL TEST-OBJECT,FOBJ,APP,F
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
GET RES,1
|
||||||
|
EQUAL? STACK,1 \?CCL44
|
||||||
|
GET RES,4
|
||||||
|
CALL TEST-OBJECT,STACK,APP,F
|
||||||
|
ZERO? STACK \?CCL47
|
||||||
|
PUT RES,4,FOBJ
|
||||||
|
EQUAL? FOBJ,HERE \TRUE
|
||||||
|
PUT RES,4,GLOBAL-HERE
|
||||||
|
RTRUE
|
||||||
|
?CCL47: CALL ADD-OBJECT,FOBJ,F
|
||||||
|
RSTACK
|
||||||
|
?CCL44: CALL ADD-OBJECT,FOBJ,F
|
||||||
|
RSTACK
|
||||||
|
?CCL32: ZERO? APP \?CCL51
|
||||||
|
GET F,1
|
||||||
|
BTST STACK,1 \?CTR53
|
||||||
|
GET F,2
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
?CTR53: CALL ADD-OBJECT,FOBJ,F
|
||||||
|
RSTACK
|
||||||
|
?CCL51: CALL TEST-OBJECT,FOBJ,APP,F
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
CALL ADD-OBJECT,FOBJ,F
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TEST-OBJECT:ANY:3:3,FOBJ,APP,F,N,NN,?TMP1
|
||||||
|
BAND APP,65280
|
||||||
|
ZERO? STACK \?CCL3
|
||||||
|
BTST APP,128 \?CCL6
|
||||||
|
BAND APP,63
|
||||||
|
FSET? FOBJ,STACK /FALSE
|
||||||
|
RTRUE
|
||||||
|
?CCL6: FSET? FOBJ,APP /TRUE
|
||||||
|
RFALSE
|
||||||
|
?CCL3: GET APP,1
|
||||||
|
BTST STACK,256 \?CND12
|
||||||
|
GET APP,1
|
||||||
|
BAND STACK,63
|
||||||
|
GETP FOBJ,STACK >?TMP1
|
||||||
|
GET APP,2
|
||||||
|
EQUAL? ?TMP1,STACK /TRUE
|
||||||
|
RFALSE
|
||||||
|
?CND12: GET APP,0 >N
|
||||||
|
?PRG17: GET APP,N >NN
|
||||||
|
BTST NN,128 \?CCL21
|
||||||
|
BAND NN,63
|
||||||
|
FSET? FOBJ,STACK /?CND19
|
||||||
|
RTRUE
|
||||||
|
?CCL21: FSET? FOBJ,NN /TRUE
|
||||||
|
?CND19: DLESS? 'N,1 \?PRG17
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT ADD-OBJECT:ANY:2:2,OBJ,F,VEC,NC,DOIT?,SYN,WHICH,?TMP1
|
||||||
|
GET F,9 >VEC
|
||||||
|
SET 'DOIT?,TRUE-VALUE
|
||||||
|
GET F,3 >SYN
|
||||||
|
GET F,4 >WHICH
|
||||||
|
EQUAL? OBJ,HERE \?CND1
|
||||||
|
SET 'OBJ,GLOBAL-HERE
|
||||||
|
?CND1: GET F,2
|
||||||
|
ZERO? STACK \?CND3
|
||||||
|
ZERO? SYN /?CND3
|
||||||
|
GET VEC,1
|
||||||
|
EQUAL? 1,STACK \?CND3
|
||||||
|
CALL MULTIPLE-EXCEPTION?,OBJ,SYN,WHICH,F
|
||||||
|
ZERO? STACK /?CCL10
|
||||||
|
SET 'DOIT?,FALSE-VALUE
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL10: GET VEC,4
|
||||||
|
CALL MULTIPLE-EXCEPTION?,STACK,SYN,WHICH,F
|
||||||
|
ZERO? STACK /?CND3
|
||||||
|
PUT VEC,4,OBJ
|
||||||
|
SET 'DOIT?,FALSE-VALUE
|
||||||
|
?CND3: ZERO? DOIT? /TRUE
|
||||||
|
GET F,2
|
||||||
|
ZERO? STACK /?PRD17
|
||||||
|
GET F,3
|
||||||
|
ZERO? STACK /?PRD17
|
||||||
|
GET F,3 >?TMP1
|
||||||
|
GET F,4
|
||||||
|
CALL MULTIPLE-EXCEPTION?,OBJ,?TMP1,STACK,F
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
?PRD17: CALL NOT-IN-FIND-RES?,OBJ,VEC >WHICH
|
||||||
|
ZERO? WHICH /TRUE
|
||||||
|
GET VEC,1
|
||||||
|
ADD 1,STACK
|
||||||
|
PUT VEC,1,STACK
|
||||||
|
PUT WHICH,0,OBJ
|
||||||
|
GET F,2
|
||||||
|
EQUAL? STACK,NP-QUANT-A /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT NOT-IN-FIND-RES?:ANY:2:3,OBJ,VEC,NO-CHANGE?,CT,SZ,ANS,NVEC,NEW-OBJECT
|
||||||
|
GET VEC,1 >CT
|
||||||
|
GET VEC,0 >SZ
|
||||||
|
?PRG1: ADD VEC,8 >ANS
|
||||||
|
LESS? CT,1 \?CCL5
|
||||||
|
RETURN ANS
|
||||||
|
?CCL5: GRTR? CT,SZ \?CCL7
|
||||||
|
SUB CT,SZ >CT
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL7: SET 'SZ,CT
|
||||||
|
?CND3: INTBL? OBJ,ANS,SZ /FALSE
|
||||||
|
GET VEC,2 >NVEC
|
||||||
|
ZERO? NVEC /?CCL12
|
||||||
|
SET 'VEC,NVEC
|
||||||
|
SET 'SZ,FIND-RES-MAXOBJ
|
||||||
|
JUMP ?PRG1
|
||||||
|
?CCL12: LESS? SZ,FIND-RES-MAXOBJ \?CCL14
|
||||||
|
MUL 2,SZ
|
||||||
|
ADD ANS,STACK
|
||||||
|
RSTACK
|
||||||
|
?CCL14: ZERO? NO-CHANGE? \TRUE
|
||||||
|
SET 'SZ,FIND-RES-MAXOBJ
|
||||||
|
CALL DO-PMEM-ALLOC,7,9 >NEW-OBJECT
|
||||||
|
SET 'NVEC,NEW-OBJECT
|
||||||
|
PUT VEC,2,NVEC
|
||||||
|
ADD NVEC,8
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT EVERYWHERE-VERB?:ANY:0:2,WHICH,SYNTAX,SYN
|
||||||
|
ASSIGNED? 'WHICH /?CND1
|
||||||
|
GET FINDER,4 >WHICH
|
||||||
|
?CND1: ASSIGNED? 'SYNTAX /?CND3
|
||||||
|
GET PARSE-RESULT,3 >SYNTAX
|
||||||
|
?CND3: EQUAL? WHICH,1 \?CCL7
|
||||||
|
GETB SYNTAX,5 >SYN
|
||||||
|
JUMP ?CND5
|
||||||
|
?CCL7: GETB SYNTAX,9 >SYN
|
||||||
|
?CND5: BTST SYN,128 \FALSE
|
||||||
|
BTST SYN,64 \TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MULTIPLE-EXCEPTION?:ANY:4:4,OBJ,SYNTAX,WHICH,F,L,VB
|
||||||
|
LOC OBJ >L
|
||||||
|
GET SYNTAX,0 >VB
|
||||||
|
EQUAL? OBJ,FALSE-VALUE,ROOMS \?CCL3
|
||||||
|
INC 'P-NOT-HERE
|
||||||
|
RTRUE
|
||||||
|
?CCL3: CALL EVERYWHERE-VERB?,WHICH,SYNTAX
|
||||||
|
ZERO? STACK \?CCL5
|
||||||
|
CALL2 ACCESSIBLE?,OBJ
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
?CCL5: EQUAL? VB,V?TAKE \?CCL9
|
||||||
|
GET F,6
|
||||||
|
ZERO? STACK \?CCL9
|
||||||
|
EQUAL? WHICH,1 \?CCL9
|
||||||
|
FSET? OBJ,TAKEBIT /?CCL15
|
||||||
|
FSET? OBJ,TRYTAKEBIT \TRUE
|
||||||
|
?CCL15: EQUAL? L,WINNER /TRUE
|
||||||
|
RFALSE
|
||||||
|
?CCL9: EQUAL? VB,V?DROP \FALSE
|
||||||
|
IN? OBJ,WINNER \TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CHECK-ADJS-THERE?:ANY:1:1,OWNER,TMP
|
||||||
|
GET OWNER-SR-THERE,1 >TMP
|
||||||
|
ZERO? TMP /FALSE
|
||||||
|
INTBL? OWNER,OWNER-SR-THERE+8,TMP /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CHECK-ADJS:ANY:3:3,OBJ,F,ADJS,CNT,TMP,OWNER,ID,VEC,CT,ADJ,FL,OADJS,NUM,?TMP1
|
||||||
|
GETP OBJ,P?OWNER >OWNER
|
||||||
|
GETB ADJS,1
|
||||||
|
EQUAL? STACK,2 /?CCL2
|
||||||
|
GET ADJS,2 >TMP
|
||||||
|
ZERO? TMP /?CND1
|
||||||
|
?CCL2: SET 'ID,OWNER
|
||||||
|
LESS? 0,ID \?CCL7
|
||||||
|
SET 'ID,OWNER
|
||||||
|
GRTR? ID,LAST-OBJECT /?CCL7
|
||||||
|
EQUAL? OWNER,TMP /?CND1
|
||||||
|
EQUAL? OWNER,ROOMS \?CCL14
|
||||||
|
GET OWNER-SR-HERE,1
|
||||||
|
ZERO? STACK /?CCL17
|
||||||
|
GET OWNER-SR-HERE,4 >ID
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL17: GET OWNER-SR-THERE,1
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
GET OWNER-SR-THERE,4 >ID
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL14: GET OWNER-SR-HERE,1 >TMP
|
||||||
|
ZERO? TMP \?CCL21
|
||||||
|
CALL2 CHECK-ADJS-THERE?,OWNER
|
||||||
|
ZERO? STACK \?CND1
|
||||||
|
RFALSE
|
||||||
|
?CCL21: INTBL? OWNER,OWNER-SR-HERE+8,TMP /?CND1
|
||||||
|
CALL2 CHECK-ADJS-THERE?,OWNER
|
||||||
|
ZERO? STACK \?CND1
|
||||||
|
RFALSE
|
||||||
|
?CCL7: ZERO? OWNER /?CCL28
|
||||||
|
GET OWNER-SR-HERE,1 >CNT
|
||||||
|
ZERO? CNT \?CCL31
|
||||||
|
SET 'ID,PLAYER
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL31: ADD OWNER,2 >TMP
|
||||||
|
SET 'VEC,OWNER-SR-HERE+8
|
||||||
|
?PRG33: DLESS? 'CNT,0 /FALSE
|
||||||
|
GET VEC,0 >?TMP1
|
||||||
|
GET OWNER,0
|
||||||
|
INTBL? ?TMP1,TMP,STACK >ID \?CCL39
|
||||||
|
GET ID,0 >ID
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL39: ADD VEC,2 >VEC
|
||||||
|
JUMP ?PRG33
|
||||||
|
?CCL28: LESS? 0,TMP \?CCL41
|
||||||
|
GRTR? TMP,LAST-OBJECT /?CCL41
|
||||||
|
CALL HELD?,OBJ,TMP
|
||||||
|
ZERO? STACK \?CND1
|
||||||
|
RFALSE
|
||||||
|
?CCL41: GET OWNER-SR-HERE,1 >TMP
|
||||||
|
ZERO? TMP /FALSE
|
||||||
|
LOC OBJ
|
||||||
|
INTBL? STACK,OWNER-SR-HERE+8,TMP >ID \FALSE
|
||||||
|
?CND1: EQUAL? ID,0,OBJ /?CND50
|
||||||
|
GET F,9
|
||||||
|
PUT STACK,3,ID
|
||||||
|
?CND50: GETB ADJS,1
|
||||||
|
EQUAL? STACK,2 /TRUE
|
||||||
|
ADD ADJS,10 >VEC
|
||||||
|
GET ADJS,4 >CT
|
||||||
|
GETPT OBJ,P?ADJECTIVE >OADJS
|
||||||
|
PTSIZE OADJS
|
||||||
|
DIV STACK,2 >NUM
|
||||||
|
?PRG54: DLESS? 'CT,0 /TRUE
|
||||||
|
GET VEC,CT >ADJ
|
||||||
|
SET 'ID,ADJ
|
||||||
|
EQUAL? ADJ,W?NO.WORD /?PRG54
|
||||||
|
INTBL? ID,OADJS,NUM /?PRG54
|
||||||
|
EQUAL? ID,W?CLOSED,W?SHUT \?CCL63
|
||||||
|
FSET? OBJ,OPENBIT \?PRG54
|
||||||
|
?CCL63: EQUAL? ID,W?OPEN \FALSE
|
||||||
|
FSET? OBJ,OPENBIT /?PRG54
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SEARCH-IN-LG?:ANY:1:1,OBJ
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT EXCLUDE-HERE-OBJECT?:ANY:0:0
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FIND-OBJECTS:ANY:0:3,SEARCH,PARENT,NO-ADJACENT,GLBS,CONT?,N,RES,NEW-OBJECT,FLAG,?PR-FLAG,?TMP1,?TMP2
|
||||||
|
ASSIGNED? 'SEARCH /?CND1
|
||||||
|
GET FINDER,4
|
||||||
|
EQUAL? 1,STACK \?CCL5
|
||||||
|
GET PARSE-RESULT,3
|
||||||
|
GETB STACK,5 >SEARCH
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL5: GET PARSE-RESULT,3
|
||||||
|
GETB STACK,9 >SEARCH
|
||||||
|
?CND1: SET 'CONT?,TRUE-VALUE
|
||||||
|
GET FINDER,9 >RES
|
||||||
|
PUT RES,1,0
|
||||||
|
PUT RES,2,FALSE-VALUE
|
||||||
|
ZERO? PARENT /?CCL8
|
||||||
|
CALL FIND-DESCENDANTS,PARENT,7
|
||||||
|
ZERO? STACK /?CND6
|
||||||
|
GET RES,1
|
||||||
|
ZERO? STACK \?CND6
|
||||||
|
?CCL8: ZERO? PARENT /?CND13
|
||||||
|
ZERO? NO-ADJACENT \?CND13
|
||||||
|
GET FINDER,5 >GLBS
|
||||||
|
ZERO? GLBS \?CND13
|
||||||
|
CALL DO-PMEM-ALLOC,1,8 >NEW-OBJECT
|
||||||
|
PUT NEW-OBJECT,2,PARENT
|
||||||
|
SET 'GLBS,NEW-OBJECT
|
||||||
|
PUT FINDER,5,GLBS
|
||||||
|
?CND13: BTST SEARCH,128 \?CND19
|
||||||
|
BTST SEARCH,64 /?CND19
|
||||||
|
FIRST? GENERIC-OBJECTS \?CND19
|
||||||
|
FIRST? GENERIC-OBJECTS >NEW-OBJECT /?PRG25
|
||||||
|
?PRG25: CALL MATCH-OBJECT,NEW-OBJECT,FINDER,TRUE-VALUE
|
||||||
|
ZERO? STACK /?REP26
|
||||||
|
NEXT? NEW-OBJECT >NEW-OBJECT /?PRG25
|
||||||
|
?REP26: GET RES,1 >CONT?
|
||||||
|
ZERO? CONT? /?CND19
|
||||||
|
EQUAL? CONT?,1 /TRUE
|
||||||
|
RFALSE
|
||||||
|
?CND19: SET 'NEW-OBJECT,FALSE-VALUE
|
||||||
|
?PRG35: ZERO? NEW-OBJECT \?PRD40
|
||||||
|
BAND SEARCH,12
|
||||||
|
ZERO? STACK \?CCL38
|
||||||
|
?PRD40: ZERO? NEW-OBJECT /?CND37
|
||||||
|
?CCL38: ZERO? NEW-OBJECT \?CTR44
|
||||||
|
BTST SEARCH,8 \?CCL45
|
||||||
|
?CTR44: SET '?PR-FLAG,6
|
||||||
|
JUMP ?CND43
|
||||||
|
?CCL45: SET '?PR-FLAG,2
|
||||||
|
?CND43: ZERO? NEW-OBJECT \?CTR49
|
||||||
|
BAND SEARCH,12
|
||||||
|
ZERO? STACK /?CCL50
|
||||||
|
?CTR49: BOR 1,?PR-FLAG >FLAG
|
||||||
|
JUMP ?CND48
|
||||||
|
?CCL50: BAND ?PR-FLAG,-2 >FLAG
|
||||||
|
?CND48: ZERO? NEW-OBJECT \?CCL55
|
||||||
|
BTST SEARCH,4 /?CCL55
|
||||||
|
BOR 8,FLAG
|
||||||
|
JUMP ?CND53
|
||||||
|
?CCL55: BAND FLAG,-9
|
||||||
|
?CND53: CALL FIND-DESCENDANTS,WINNER,STACK >CONT?
|
||||||
|
?CND37: ZERO? NEW-OBJECT \?CCL59
|
||||||
|
BAND SEARCH,3
|
||||||
|
ZERO? STACK /?CND58
|
||||||
|
?CCL59: ZERO? NEW-OBJECT \?CTR63
|
||||||
|
BAND SEARCH,3
|
||||||
|
ZERO? STACK /?CCL64
|
||||||
|
?CTR63: SET '?PR-FLAG,3
|
||||||
|
JUMP ?CND62
|
||||||
|
?CCL64: SET '?PR-FLAG,2
|
||||||
|
?CND62: ZERO? NEW-OBJECT \?CTR69
|
||||||
|
BTST SEARCH,2 \?CCL70
|
||||||
|
?CTR69: BOR 4,?PR-FLAG >FLAG
|
||||||
|
JUMP ?CND68
|
||||||
|
?CCL70: BAND ?PR-FLAG,-5 >FLAG
|
||||||
|
?CND68: ZERO? NEW-OBJECT \?CCL75
|
||||||
|
BTST SEARCH,1 /?CCL75
|
||||||
|
BOR 8,FLAG
|
||||||
|
JUMP ?CND73
|
||||||
|
?CCL75: BAND FLAG,-9
|
||||||
|
?CND73: CALL FIND-DESCENDANTS,HERE,STACK >CONT?
|
||||||
|
?CND58: GET RES,1
|
||||||
|
ZERO? STACK \?CND6
|
||||||
|
BTST SEARCH,15 /?CND78
|
||||||
|
ZERO? NEW-OBJECT \?CND78
|
||||||
|
GET TLEXV,0 >GLBS
|
||||||
|
ZERO? GLBS /?CCL86
|
||||||
|
GET GLBS,4
|
||||||
|
ZERO? STACK \?CTR85
|
||||||
|
GET GLBS,3
|
||||||
|
ZERO? STACK /?CCL86
|
||||||
|
?CTR85: SET 'NEW-OBJECT,TRUE-VALUE
|
||||||
|
JUMP ?PRG35
|
||||||
|
?CCL86: BTST SEARCH,64 \?CND78
|
||||||
|
BTST SEARCH,128 \FALSE
|
||||||
|
?CND78: GETPT HERE,P?GLOBAL >GLBS
|
||||||
|
ZERO? GLBS /?CND94
|
||||||
|
PTSIZE GLBS
|
||||||
|
DIV STACK,2 >N
|
||||||
|
?PRG97: DLESS? 'N,0 /?CND94
|
||||||
|
GET GLBS,N >?PR-FLAG
|
||||||
|
CALL MATCH-OBJECT,?PR-FLAG,FINDER,TRUE-VALUE >CONT?
|
||||||
|
ZERO? CONT? /?CND94
|
||||||
|
FIRST? ?PR-FLAG \?PRG97
|
||||||
|
BTST SEARCH,2 \?PRG97
|
||||||
|
CALL2 SEARCH-IN-LG?,?PR-FLAG
|
||||||
|
ZERO? STACK /?PRG97
|
||||||
|
CALL FIND-DESCENDANTS,?PR-FLAG,FD-INCLUDE? >CONT?
|
||||||
|
ZERO? CONT? \?PRG97
|
||||||
|
?CND94: ZERO? CONT? /?CND111
|
||||||
|
CALL1 EXCLUDE-HERE-OBJECT?
|
||||||
|
ZERO? STACK \?CND111
|
||||||
|
CALL MATCH-OBJECT,HERE,FINDER,TRUE-VALUE >CONT?
|
||||||
|
?CND111: ZERO? CONT? /?CND115
|
||||||
|
LOC PLAYER
|
||||||
|
EQUAL? HERE,STACK /?CND115
|
||||||
|
LOC PLAYER
|
||||||
|
GETP STACK,P?THINGS
|
||||||
|
ZERO? STACK /?CND115
|
||||||
|
LOC PLAYER
|
||||||
|
CALL TEST-THINGS,STACK,FINDER >CONT?
|
||||||
|
?CND115: ZERO? CONT? /?CND120
|
||||||
|
GETP HERE,P?THINGS
|
||||||
|
ZERO? STACK /?CND120
|
||||||
|
CALL TEST-THINGS,HERE,FINDER >CONT?
|
||||||
|
?CND120: GET RES,1
|
||||||
|
ZERO? STACK /?CND124
|
||||||
|
SET 'CONT?,FALSE-VALUE
|
||||||
|
?CND124: ZERO? CONT? /?CND126
|
||||||
|
BTST SEARCH,2 \?CCL130
|
||||||
|
PUSH 5
|
||||||
|
JUMP ?CND128
|
||||||
|
?CCL130: PUSH 1
|
||||||
|
?CND128: CALL FIND-DESCENDANTS,GLOBAL-OBJECTS,STACK >CONT?
|
||||||
|
?CND126: ZERO? CONT? /?CND131
|
||||||
|
GET RES,1
|
||||||
|
ZERO? STACK \?CND131
|
||||||
|
ZERO? NO-ADJACENT \?CND131
|
||||||
|
GETP HERE,P?ADJACENT >GLBS
|
||||||
|
ZERO? GLBS /?CND131
|
||||||
|
GETB GLBS,0 >N
|
||||||
|
?PRG137: GETB GLBS,N
|
||||||
|
ZERO? STACK /?CCL141
|
||||||
|
DEC 'N
|
||||||
|
GETB GLBS,N
|
||||||
|
ICALL FIND-OBJECTS,1,STACK,TRUE-VALUE
|
||||||
|
JUMP ?CND139
|
||||||
|
?CCL141: DEC 'N
|
||||||
|
?CND139: DLESS? 'N,1 \?PRG137
|
||||||
|
GET RES,1
|
||||||
|
ZERO? STACK /?CND131
|
||||||
|
SET 'CONT?,FALSE-VALUE
|
||||||
|
?CND131: ZERO? CONT? /?CND6
|
||||||
|
GET RES,1
|
||||||
|
ZERO? STACK \?CND6
|
||||||
|
BTST SEARCH,128 \?PRD152
|
||||||
|
BTST SEARCH,64 \?CCL147
|
||||||
|
?PRD152: GET PARSE-RESULT,1 >?TMP2
|
||||||
|
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||||
|
GET WORD-FLAG-TABLE,0
|
||||||
|
INTBL? ?TMP2,?TMP1,STACK,132 >FLAG \?CCL157
|
||||||
|
GET FLAG,1
|
||||||
|
JUMP ?CND155
|
||||||
|
?CCL157: PUSH FALSE-VALUE
|
||||||
|
?CND155: BTST STACK,512 \?CND6
|
||||||
|
?CCL147: SET '?PR-FLAG,1
|
||||||
|
?PRG158: CALL MATCH-OBJECT,?PR-FLAG,FINDER,TRUE-VALUE
|
||||||
|
ZERO? STACK /?CND6
|
||||||
|
IGRTR? '?PR-FLAG,LAST-OBJECT \?PRG158
|
||||||
|
?CND6: GET RES,1
|
||||||
|
EQUAL? STACK,1 /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TEST-THINGS:ANY:2:2,RM,F,CT,RMG,RMGL,TTBL,NOUN,XCT,V,X,?TMP1
|
||||||
|
GETP RM,P?THINGS >RMG
|
||||||
|
GET RMG,0 >RMGL
|
||||||
|
ADD RMG,2 >RMG
|
||||||
|
GET F,5 >CT
|
||||||
|
ZERO? CT /?CND1
|
||||||
|
GET CT,4 >CT
|
||||||
|
?CND1: GET F,6 >NOUN
|
||||||
|
GET F,5
|
||||||
|
ADD STACK,10 >V
|
||||||
|
?PRG3: GET RMG,0 >TTBL
|
||||||
|
EQUAL? NOUN,W?ONE /?PRD8
|
||||||
|
GETB TTBL,1 >XCT
|
||||||
|
EQUAL? XCT,1 \?PRD11
|
||||||
|
GET TTBL,2
|
||||||
|
EQUAL? NOUN,STACK /?PRD8
|
||||||
|
?PRD11: GET TTBL,2
|
||||||
|
INTBL? NOUN,STACK,XCT \?CND5
|
||||||
|
?PRD8: ZERO? CT /?PRD14
|
||||||
|
GETB TTBL,0 >XCT
|
||||||
|
EQUAL? XCT,1 \?PRD17
|
||||||
|
GET V,0 >?TMP1
|
||||||
|
GET TTBL,1
|
||||||
|
EQUAL? ?TMP1,STACK /?PRD14
|
||||||
|
?PRD17: GET V,0 >?TMP1
|
||||||
|
GET TTBL,1
|
||||||
|
INTBL? ?TMP1,STACK,XCT \?CND5
|
||||||
|
?PRD14: GET F,7
|
||||||
|
ZERO? STACK /?CCL6
|
||||||
|
GET OWNER-SR-HERE,1
|
||||||
|
EQUAL? 1,STACK \?CND5
|
||||||
|
GET OWNER-SR-HERE,4
|
||||||
|
EQUAL? PSEUDO-OBJECT,STACK \?CND5
|
||||||
|
EQUAL? LAST-PSEUDO-LOC,RM \?CND5
|
||||||
|
GETP PSEUDO-OBJECT,P?ACTION >?TMP1
|
||||||
|
GET RMG,1
|
||||||
|
EQUAL? ?TMP1,STACK \?CND5
|
||||||
|
?CCL6: SET 'LAST-PSEUDO-LOC,RM
|
||||||
|
GET RMG,1
|
||||||
|
PUTP PSEUDO-OBJECT,P?ACTION,STACK
|
||||||
|
GETPT PSEUDO-OBJECT,P?ACTION
|
||||||
|
SUB STACK,7 >V
|
||||||
|
COPYT NOUN,V,6
|
||||||
|
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||||
|
GET WORD-FLAG-TABLE,0
|
||||||
|
INTBL? NOUN,?TMP1,STACK,132 >X \?CCL31
|
||||||
|
GET X,1
|
||||||
|
JUMP ?CND29
|
||||||
|
?CCL31: PUSH FALSE-VALUE
|
||||||
|
?CND29: BTST STACK,PLURAL-FLAG \?CCL28
|
||||||
|
FSET PSEUDO-OBJECT,PLURAL
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL28: FCLEAR PSEUDO-OBJECT,PLURAL
|
||||||
|
?CND26: ICALL ADD-OBJECT,PSEUDO-OBJECT,F
|
||||||
|
RFALSE
|
||||||
|
?CND5: ADD RMG,4 >RMG
|
||||||
|
DLESS? 'RMGL,1 \?PRG3
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -0,0 +1,328 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<INCLUDE "PDEFS">
|
||||||
|
<OBJECT GLOBAL-OBJECTS (FLAGS AN BODY-PART CONTBIT DEAD DONT-ALL DONT-IT
|
||||||
|
DOORBIT DUTCHBIT ENGLISHBIT FEMALE FOODBIT FURNITURE INVISIBLE JAPANESEBIT
|
||||||
|
LIGHTBIT LOCKABLE LOCKED NDESCBIT NOABIT NOTHEBIT ONBIT OPENABLE OPENBIT
|
||||||
|
OUTSIDE PERSON PLURAL PORTUGUESEBIT READBIT RLANDBIT RMUNGBIT SCOREBIT
|
||||||
|
SEARCHBIT SITTING SPANISHBIT SURFACEBIT TAKEBIT THE TOOLBIT TOUCHBIT TRANSBIT
|
||||||
|
TRYTAKEBIT VEHBIT WEAPONBIT WEARABLE WEARBIT)>
|
||||||
|
<OBJECT LOCAL-GLOBALS (LOC GLOBAL-OBJECTS) (SYNONYM ZZMGCK) (DESCFCN 0) (
|
||||||
|
CONTFCN 0) (GLOBAL GLOBAL-OBJECTS) (FDESC "F") (LDESC "F") (THINGS 0) (COUNT 0)
|
||||||
|
(SIZE 0) (TEXT "") (VALUE 0) (CAPACITY 0)>
|
||||||
|
<OBJECT ROOMS (IN TO ROOMS)>
|
||||||
|
<OBJECT INTDIR (LOC GLOBAL-OBJECTS) (SYNONYM NORTH EAST WEST SOUTH FORE AFT
|
||||||
|
PORT STARBOARD) (DESC "direction") (GENERIC GENERIC-NORTH-F)>
|
||||||
|
<GLOBAL P-DIRECTION <>>
|
||||||
|
<DEFINE-ROUTINE TELL-DIRECTION>
|
||||||
|
<SYNONYM NORTH N>
|
||||||
|
<SYNONYM SOUTH S>
|
||||||
|
<SYNONYM EAST E>
|
||||||
|
<SYNONYM WEST W>
|
||||||
|
<SYNONYM DOWN D>
|
||||||
|
<SYNONYM UP U ALOFT>
|
||||||
|
<SYNONYM NE NORTHEAST>
|
||||||
|
<SYNONYM NW NORTHWEST>
|
||||||
|
<SYNONYM SE SOUTHEAST>
|
||||||
|
<SYNONYM SW SOUTHWEST>
|
||||||
|
<SYNONYM IN AHEAD>
|
||||||
|
<SYNONYM FORE FOREWARD FORWARD FORARD STRAIGHT>
|
||||||
|
<DIR-SYNONYM FORE F>
|
||||||
|
<SYNONYM STARBOARD SB RIGHT>
|
||||||
|
<SYNONYM PORT P LEFT>
|
||||||
|
<GLOBAL HERE:OBJECT <>>
|
||||||
|
<GLOBAL LIT <>>
|
||||||
|
<GLOBAL MOVES 0>
|
||||||
|
<GLOBAL OMOVES 0>
|
||||||
|
<GLOBAL SCORE 0>
|
||||||
|
<GLOBAL OSCORE 0>
|
||||||
|
<CONSTANT DIR-BIT 1>
|
||||||
|
<CONSTANT DIR-DIR 2>
|
||||||
|
<CONSTANT DIR-NAME 3>
|
||||||
|
<GLOBAL P-DIRECTION <>>
|
||||||
|
<OBJECT INTNUM (LOC GLOBAL-OBJECTS) (DESC "number") (SYNONYM INT.NUM DEGREES
|
||||||
|
NORTH) (ADJECTIVE INT.NUM DEGREES NUMBER) (GENERIC GENERIC-NORTH-F) (ACTION
|
||||||
|
INTNUM-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-NORTH-F>
|
||||||
|
<DEFINE-ROUTINE INTNUM-F>
|
||||||
|
<OBJECT THIS (LOC GLOBAL-OBJECTS) (SYNONYM THIS THAT) (DESC "this") (FLAGS AN
|
||||||
|
NOABIT NOTHEBIT NDESCBIT TOUCHBIT)>
|
||||||
|
<OBJECT IT (LOC GLOBAL-OBJECTS) (SYNONYM IT OBJECT) (DESC "it") (FLAGS AN
|
||||||
|
NOABIT NOTHEBIT NDESCBIT TOUCHBIT)>
|
||||||
|
<OBJECT THEM (LOC GLOBAL-OBJECTS) (SYNONYM THEM THEY OBJECTS) (DESC "them") (
|
||||||
|
FLAGS NOABIT NOTHEBIT NDESCBIT TOUCHBIT)>
|
||||||
|
<OBJECT HIM (LOC GLOBAL-OBJECTS) (SYNONYM HIM HE) (DESC "him") (FLAGS PERSON
|
||||||
|
NOABIT NOTHEBIT NDESCBIT TOUCHBIT) (ACTION HIM-F)>
|
||||||
|
<DEFINE-ROUTINE HIM-F>
|
||||||
|
<OBJECT HER (LOC GLOBAL-OBJECTS) (SYNONYM HER SHE) (DESC "her") (FLAGS FEMALE
|
||||||
|
PERSON NOABIT NOTHEBIT NDESCBIT TOUCHBIT) (ACTION HER-F)>
|
||||||
|
<DEFINE-ROUTINE HER-F>
|
||||||
|
<OBJECT LIGHT (LOC GLOBAL-OBJECTS) (DESC "light") (SYNONYM LIGHT LIGHTS) (
|
||||||
|
ACTION LIGHT-F)>
|
||||||
|
<DEFINE-ROUTINE LIGHT-F>
|
||||||
|
<OBJECT LG-HOLE (LOC LOCAL-GLOBALS) (FLAGS NDESCBIT TOUCHBIT) (DESC "hole") (
|
||||||
|
SYNONYM HOLE) (ADJECTIVE MUDDY) (ACTION LG-HOLE-F)>
|
||||||
|
<DEFINE-ROUTINE LG-HOLE-F>
|
||||||
|
<OBJECT CEILING (LOC GLOBAL-OBJECTS) (FLAGS NDESCBIT TOUCHBIT) (DESC "ceiling")
|
||||||
|
(SYNONYM CEILING ROOF) (ACTION CEILING-F)>
|
||||||
|
<DEFINE-ROUTINE CEILING-F>
|
||||||
|
<OBJECT AIR (LOC GLOBAL-OBJECTS) (DESC "air") (SYNONYM AIR COLD) (FLAGS AN
|
||||||
|
NOABIT)>
|
||||||
|
<CONSTANT BODY-PARTS-OWNERS <TABLE (LENGTH PURE) BLACKTHORNE YABU CHIMMOKO ETSU
|
||||||
|
ACHIKO KIRITSUBO MARIKO GRAY-CAPTAIN GUARDS LG-NINJA NINJA-LEADER NINJA BUNTARO
|
||||||
|
SAZUKO HIRO-MATSU TORANAGA GRAYS ISHIDO TORANAGAS-GUARDS ALVITO OARSMEN
|
||||||
|
RODRIGUES SEARCH-PARTY SEBASTIO-HENCHMEN SEBASTIO OMI MURA ONNA SAMURAI-GUARDS
|
||||||
|
LOSING-SAMURAI OMI-SAMURAI CREWMEN LG-CREWMEN HENDRIK VINCK MAETSUKKER GINSEL
|
||||||
|
MATES SPILLBERGEN PIETERZOON ROPER SONK SALAMON VAN-NEKK CROOCQ>>
|
||||||
|
<OBJECT FEET (LOC GLOBAL-OBJECTS) (SYNONYM FEET FOOT) (OWNER BODY-PARTS-OWNERS)
|
||||||
|
(DESC "feet") (FLAGS NDESCBIT BODY-PART TOOLBIT TOUCHBIT NOABIT)>
|
||||||
|
<OBJECT HANDS (LOC GLOBAL-OBJECTS) (SYNONYM HANDS HAND) (ADJECTIVE BARE) (OWNER
|
||||||
|
BODY-PARTS-OWNERS) (DESC "hand") (FLAGS NDESCBIT BODY-PART TOOLBIT TOUCHBIT
|
||||||
|
NOABIT)>
|
||||||
|
<OBJECT HEAD (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "head") (
|
||||||
|
SYNONYM HEAD FACE) (FLAGS NOABIT BODY-PART)>
|
||||||
|
<OBJECT COJONES (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "balls") (
|
||||||
|
SYNONYM COJONES TESTICLES BALLS NUTS) (FLAGS BODY-PART NOABIT PLURAL) (ACTION
|
||||||
|
COJONES-F)>
|
||||||
|
<DEFINE-ROUTINE COJONES-F>
|
||||||
|
<OBJECT STOMACH (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "stomach")
|
||||||
|
(SYNONYM STOMACH BELLY) (FLAGS BODY-PART NOABIT)>
|
||||||
|
<OBJECT FINGERS (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "fingers")
|
||||||
|
(SYNONYM FINGERS) (FLAGS BODY-PART NOABIT)>
|
||||||
|
<OBJECT MOUTH (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "mouth") (
|
||||||
|
SYNONYM MOUTH) (FLAGS BODY-PART NOABIT) (ACTION MOUTH-F)>
|
||||||
|
<DEFINE-ROUTINE MOUTH-F>
|
||||||
|
<OBJECT EYES (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "eyes") (
|
||||||
|
SYNONYM EYE EYES) (FLAGS BODY-PART NOABIT) (ACTION EYES-F)>
|
||||||
|
<DEFINE-ROUTINE EYES-F>
|
||||||
|
<GLOBAL PLAYER <>>
|
||||||
|
<DEFINE-ROUTINE LIST-PEOPLE>
|
||||||
|
<OBJECT LG-MEN (LOC LOCAL-GLOBALS) (SYNONYM MAN MEN) (DESC "men") (FLAGS PERSON
|
||||||
|
TOUCHBIT NOABIT PLURAL) (ACTION LG-MEN-F)>
|
||||||
|
<DEFINE-ROUTINE LG-MEN-F>
|
||||||
|
<DEFINE-ROUTINE MAN?>
|
||||||
|
<OBJECT LG-WOMEN (SCENE S-NINJA) (LOC LOCAL-GLOBALS) (SYNONYM WOMAN WOMEN) (
|
||||||
|
DESC "women") (FLAGS PERSON FEMALE TOUCHBIT NOABIT PLURAL) (ACTION LG-WOMEN-F)>
|
||||||
|
|
||||||
|
<DEFINE-ROUTINE LG-WOMEN-F>
|
||||||
|
<DEFINE-ROUTINE WOMAN?>
|
||||||
|
<OBJECT YOU (LOC GLOBAL-OBJECTS) (SYNONYM YOU YOURSELF) (DESC "myself") (FLAGS
|
||||||
|
PERSON TOUCHBIT NOABIT NOTHEBIT) (ACTION YOU-F)>
|
||||||
|
<DEFINE-ROUTINE YOU-F>
|
||||||
|
<OBJECT ME (LOC GLOBAL-OBJECTS) (SYNONYM ME MYSELF SELF I WE US) (DESC
|
||||||
|
"yourself") (FLAGS PERSON TOUCHBIT NOABIT NOTHEBIT) (ACTION ME-F)>
|
||||||
|
<DEFINE-ROUTINE MENTAL-COLLAPSE>
|
||||||
|
<DEFINE-ROUTINE ME-F>
|
||||||
|
<OBJECT GLOBAL-HERE (LOC GLOBAL-OBJECTS) (DESC "here") (SYNONYM ROOM CHAMBER
|
||||||
|
PLACE BASEMENT HERE AREA) (ADJECTIVE AREA) (FLAGS NOABIT NOTHEBIT) (ACTION
|
||||||
|
GLOBAL-HERE-F)>
|
||||||
|
<DEFINE-ROUTINE GLOBAL-HERE-F>
|
||||||
|
<SETG C-NORTH 1>
|
||||||
|
<SETG C-EAST 2>
|
||||||
|
<SETG C-WEST 4>
|
||||||
|
<SETG C-SOUTH 8>
|
||||||
|
<SETG C-NE 16>
|
||||||
|
<SETG C-NW 32>
|
||||||
|
<SETG C-SE 64>
|
||||||
|
<SETG C-SW 128>
|
||||||
|
<CONSTANT C-NORTH 1>
|
||||||
|
<CONSTANT C-EAST 2>
|
||||||
|
<CONSTANT C-WEST 4>
|
||||||
|
<CONSTANT C-SOUTH 8>
|
||||||
|
<CONSTANT C-NE 16>
|
||||||
|
<CONSTANT C-NW 32>
|
||||||
|
<CONSTANT C-SE 64>
|
||||||
|
<CONSTANT C-SW 128>
|
||||||
|
<OBJECT NORTH-WALL (LOC GLOBAL-OBJECTS) (DESC "north wall") (SYNONYM WALL) (
|
||||||
|
ADJECTIVE NORTH FORE) (GENERIC GENERIC-WALL-F) (ACTION WALL-F)>
|
||||||
|
<OBJECT EAST-WALL (LOC GLOBAL-OBJECTS) (DESC "east wall") (SYNONYM WALL) (
|
||||||
|
ADJECTIVE EAST STARBOARD) (FLAGS AN) (GENERIC GENERIC-WALL-F) (ACTION WALL-F)>
|
||||||
|
<OBJECT WEST-WALL (LOC GLOBAL-OBJECTS) (DESC "west wall") (SYNONYM WALL) (
|
||||||
|
ADJECTIVE WEST PORT) (GENERIC GENERIC-WALL-F) (ACTION WALL-F)>
|
||||||
|
<OBJECT SOUTH-WALL (LOC GLOBAL-OBJECTS) (DESC "south wall") (SYNONYM WALL) (
|
||||||
|
ADJECTIVE SOUTH AFT) (GENERIC GENERIC-WALL-F) (ACTION WALL-F)>
|
||||||
|
<OBJECT WALL (LOC GLOBAL-OBJECTS) (DESC "wall") (SYNONYM WALL WALLS) (GENERIC
|
||||||
|
GENERIC-WALL-F) (ACTION WALL-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-WALL-F>
|
||||||
|
<DEFINE-ROUTINE WALL-F>
|
||||||
|
<OBJECT DIRT (LOC GLOBAL-OBJECTS) (DESC "dirt") (SYNONYM RUBBLE DEBRIS DUST
|
||||||
|
DIRT) (FLAGS NOABIT)>
|
||||||
|
<OBJECT GROUND (LOC GLOBAL-OBJECTS) (SYNONYM FLOOR GROUND FIELD EARTH DIRT) (
|
||||||
|
ADJECTIVE STONE SANDY TINY LEVEL) (DESC "ground") (FLAGS THE) (ACTION GROUND-F)
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE GROUND-F>
|
||||||
|
<OBJECT CORRIDOR (LOC GLOBAL-OBJECTS) (DESC "passage") (SYNONYM PASSAGE
|
||||||
|
CORRIDOR EXIT TUNNEL) (ADJECTIVE LONG DARK STEAM) (ACTION CORRIDOR-F)>
|
||||||
|
<DEFINE-ROUTINE CORRIDOR-F>
|
||||||
|
<OBJECT GLOBAL-SLEEP (LOC GLOBAL-OBJECTS) (DESC "sleep") (SYNONYM SLEEP NAP) (
|
||||||
|
FLAGS ABSTRACTBIT NOABIT NOTHEBIT) (ACTION GLOBAL-SLEEP-F)>
|
||||||
|
<DEFINE-ROUTINE GLOBAL-SLEEP-F>
|
||||||
|
<OBJECT NOISE (LOC GLOBAL-OBJECTS) (DESC "noise") (SYNONYM NOISE SOUND WHINING
|
||||||
|
CRYING COMMOTION)>
|
||||||
|
<OBJECT SIGN-OF-CROSS (LOC GLOBAL-OBJECTS) (OWNER SIGN-OF-CROSS) (DESC "cross")
|
||||||
|
(SYNONYM SIGN CROSS) (ADJECTIVE SIGN) (FLAGS ABSTRACTBIT) (ACTION
|
||||||
|
SIGN-OF-CROSS-F)>
|
||||||
|
<DEFINE-ROUTINE SIGN-OF-CROSS-F>
|
||||||
|
<OBJECT SANE (LOC GENERIC-OBJECTS) (DESC "sane") (SYNONYM NORMAL SANE ORDINARY
|
||||||
|
QUIET) (ADJECTIVE ACTING) (FLAGS DONT-IT)>
|
||||||
|
<OBJECT CRAZY (LOC GENERIC-OBJECTS) (DESC "insane") (SYNONYM KAMI INSANE MADMAN
|
||||||
|
MAD CRAZY BONKERS BERSERK POSSESSED SILLY STUPID) (ADJECTIVE ACTING) (GENERIC
|
||||||
|
GENERIC-CRAZY-F) (FLAGS DONT-IT SCOREBIT NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT TRAITOR (LOC GENERIC-OBJECTS) (DESC "traitor") (SYNONYM TRAITOR
|
||||||
|
BETRAYER) (FLAGS SCOREBIT)>
|
||||||
|
<OBJECT STRAIT-OF-MAGELLAN (LOC GENERIC-OBJECTS) (OWNER STRAIT-OF-MAGELLAN) (
|
||||||
|
DESC "Magellan's Pass") (SYNONYM MAGELLAN PASS STRAIT STRAITS) (FLAGS NOABIT
|
||||||
|
NOTHEBIT SCOREBIT)>
|
||||||
|
<OBJECT PACIFIC (LOC GENERIC-OBJECTS) (DESC "Pacific Ocean") (SYNONYM ATLANTIC
|
||||||
|
PACIFIC OCEAN) (ADJECTIVE ATLANTIC PACIFIC) (FLAGS NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT PORTUGAL (LOC GLOBAL-OBJECTS) (DESC "Portugal") (SYNONYM PORTUGAL) (
|
||||||
|
FLAGS ABSTRACTBIT NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT PORTUGUESE (LOC GLOBAL-OBJECTS) (DESC "Portuguese") (SYNONYM PORTUGUESE
|
||||||
|
) (ADJECTIVE PORTUGUESE) (FLAGS NOABIT NOTHEBIT) (ACTION PORTUGUESE-F)>
|
||||||
|
<DEFINE-ROUTINE PORTUGUESE-F>
|
||||||
|
<DEFINE-ROUTINE PORTUGUESE?>
|
||||||
|
<OBJECT SPAIN (LOC GLOBAL-OBJECTS) (DESC "Spain") (SYNONYM SPAIN) (FLAGS
|
||||||
|
ABSTRACTBIT NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT SPANISH (LOC GLOBAL-OBJECTS) (DESC "Spanish") (SYNONYM SPANISH) (
|
||||||
|
ADJECTIVE SPANISH) (FLAGS NOABIT NOTHEBIT) (ACTION SPANISH-F)>
|
||||||
|
<DEFINE-ROUTINE SPANISH?>
|
||||||
|
<DEFINE-ROUTINE SPANISH-F>
|
||||||
|
<OBJECT ENGLAND (LOC GLOBAL-OBJECTS) (DESC "England") (SYNONYM ENGLAND BRITAIN
|
||||||
|
LONDON) (ADJECTIVE ENGLISHMAN BRITON) (FLAGS ABSTRACTBIT NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT ENGLISH (LOC GLOBAL-OBJECTS) (DESC "English") (SYNONYM ENGLISH BRITISH)
|
||||||
|
(ADJECTIVE ENGLISH BRITISH) (FLAGS NOABIT NOTHEBIT) (ACTION ENGLISH-F)>
|
||||||
|
<DEFINE-ROUTINE ENGLISH?>
|
||||||
|
<DEFINE-ROUTINE ENGLISH-F>
|
||||||
|
<OBJECT HOLLAND (LOC GLOBAL-OBJECTS) (DESC "Holland") (SYNONYM HOLLAND
|
||||||
|
NETHERLANDS ROTTERDAM AMSTERDAM) (FLAGS ABSTRACTBIT NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT DUTCH (LOC GLOBAL-OBJECTS) (DESC "Dutch") (SYNONYM DUTCH) (ADJECTIVE
|
||||||
|
DUTCH) (FLAGS ABSTRACTBIT NOABIT NOTHEBIT) (ACTION DUTCH-F)>
|
||||||
|
<DEFINE-ROUTINE DUTCH?>
|
||||||
|
<DEFINE-ROUTINE DUTCH-F>
|
||||||
|
<OBJECT HANASE-MASEN (LOC GLOBAL-OBJECTS) (DESC "hanase-masen") (SYNONYM
|
||||||
|
HANASE-MASEN) (FLAGS ABSTRACTBIT)>
|
||||||
|
<OBJECT JAPAN (LOC GLOBAL-OBJECTS) (DESC "Japan") (SYNONYM JAPAN JAPANS NIPPON
|
||||||
|
NIHON) (FLAGS NOABIT NOTHEBIT) (ACTION JAPAN-F)>
|
||||||
|
<DEFINE-ROUTINE JAPAN-F>
|
||||||
|
<OBJECT JAPANESE (LOC GLOBAL-OBJECTS) (DESC "Japanese") (SYNONYM JAPANESE) (
|
||||||
|
ADJECTIVE JAPANESE) (COUNT 0) (FLAGS NOABIT NOTHEBIT SCOREBIT) (ACTION
|
||||||
|
JAPANESE-F)>
|
||||||
|
<DEFINE-ROUTINE JAPANESE?>
|
||||||
|
<DEFINE-ROUTINE JAPANESE-F>
|
||||||
|
<DEFINE-ROUTINE FIND-NATIONALITY>
|
||||||
|
<OBJECT LATIN (LOC GLOBAL-OBJECTS) (DESC "Latin") (SYNONYM LATIN) (FLAGS
|
||||||
|
ABSTRACTBIT NOABIT NOTHEBIT)>
|
||||||
|
<OBJECT GLOBAL-FOOD (LOC GLOBAL-OBJECTS) (DESC "food") (SYNONYM FOOD) (
|
||||||
|
ADJECTIVE MORE) (ACTION GLOBAL-FOOD-F)>
|
||||||
|
<DEFINE-ROUTINE GLOBAL-FOOD-F>
|
||||||
|
<OBJECT GLOBAL-WATER (LOC GLOBAL-OBJECTS) (DESC "water") (SYNONYM WATER DRINK
|
||||||
|
WATER) (FLAGS NOABIT) (ACTION GLOBAL-WATER-F)>
|
||||||
|
<DEFINE-ROUTINE GLOBAL-WATER-F>
|
||||||
|
<OBJECT CHURCH (LOC GENERIC-OBJECTS) (OWNER GOD) (DESC "Church") (SYNONYM
|
||||||
|
CHURCH SOCIETY) (ADJECTIVE CHRISTIAN CATHOLIC) (FLAGS ABSTRACTBIT)>
|
||||||
|
<OBJECT JESUITS (LOC GENERIC-OBJECTS) (DESC "Jesuits") (SYNONYM JESUIT JESUITS)
|
||||||
|
>
|
||||||
|
<OBJECT GOD (LOC GENERIC-OBJECTS) (DESC "God") (SYNONYM GOD JESUS) (FLAGS
|
||||||
|
ABSTRACTBIT)>
|
||||||
|
<OBJECT SATAN (LOC GENERIC-OBJECTS) (DESC "Satan") (SYNONYM SATAN DEVIL) (FLAGS
|
||||||
|
ABSTRACTBIT)>
|
||||||
|
<OBJECT BLACK-SHIP (LOC GLOBAL-OBJECTS) (SCENE S-PRISON S-MARIKO S-AFTERMATH) (
|
||||||
|
DESC "Black Ship") (SYNONYM SHIP) (ADJECTIVE BLACK) (FLAGS ABSTRACTBIT THE) (
|
||||||
|
GENERIC GENERIC-SHIP-F)>
|
||||||
|
<OBJECT GORODA (LOC GENERIC-OBJECTS) (DESC "Goroda") (SYNONYM GORODA) (
|
||||||
|
ADJECTIVE DICTATOR) (FLAGS PERSON)>
|
||||||
|
<OBJECT TAIKO (LOC GENERIC-OBJECTS) (DESC "Taiko") (SYNONYM TAIKO KWAMPAKU
|
||||||
|
NAKAMURA) (FLAGS PERSON)>
|
||||||
|
<OBJECT SHOGUN (LOC GENERIC-OBJECTS) (DESC "Shogun") (SYNONYM SHOGUN) (FLAGS
|
||||||
|
PERSON)>
|
||||||
|
<OBJECT KIYAMA (LOC GENERIC-OBJECTS) (DESC "Kiyama") (SYNONYM KIYAMA) (
|
||||||
|
ADJECTIVE LORD) (FLAGS PERSON)>
|
||||||
|
<OBJECT POPE (LOC GENERIC-OBJECTS) (DESC "Pope") (SYNONYM POPE) (ADJECTIVE
|
||||||
|
CHRISTIAN CATHOLIC) (FLAGS PERSON)>
|
||||||
|
<OBJECT GLOBAL-HATAMOTO (LOC GENERIC-OBJECTS) (DESC "hatamoto") (SYNONYM
|
||||||
|
HATAMOTO) (FLAGS PERSON) (ACTION GLOBAL-HATAMOTO-F)>
|
||||||
|
<DEFINE-ROUTINE GLOBAL-HATAMOTO-F>
|
||||||
|
<OBJECT GLOBAL-BARBARIAN (LOC GENERIC-OBJECTS) (DESC "barbarian") (SYNONYM
|
||||||
|
BARBARIAN) (FLAGS PERSON SCOREBIT)>
|
||||||
|
<OBJECT GLOBAL-SAMURAI (LOC GENERIC-OBJECTS) (DESC "samurai") (SYNONYM SAMURAI)
|
||||||
|
(GENERIC GENERIC-SAMURAI-F) (FLAGS PERSON)>
|
||||||
|
<OBJECT GLOBAL-DAIMYO (LOC GENERIC-OBJECTS) (DESC "daimyo") (SYNONYM DAIMYO
|
||||||
|
LORD) (FLAGS PERSON)>
|
||||||
|
<OBJECT PIRATE (LOC GENERIC-OBJECTS) (DESC "pirate") (SYNONYM PIRATE CORSAIR)>
|
||||||
|
<OBJECT HERETIC (LOC GENERIC-OBJECTS) (DESC "heretic") (SYNONYM HERETIC
|
||||||
|
SATANIST WORSHIPPER) (ADJECTIVE SATAN)>
|
||||||
|
<OBJECT LEADER (LOC GENERIC-OBJECTS) (DESC "leader") (SYNONYM LEADER
|
||||||
|
PILOT-MAJOR)>
|
||||||
|
<VOC "SORRY" ADJ>
|
||||||
|
<OBJECT WIND (LOC GLOBAL-OBJECTS) (DESC "wind") (SYNONYM WIND GALE STORM BREEZE
|
||||||
|
) (ACTION WIND-F)>
|
||||||
|
<DEFINE-ROUTINE WIND-F>
|
||||||
|
<OBJECT HELP (LOC GLOBAL-OBJECTS) (DESC "help") (SYNONYM HELP ASSISTANCE AID) (
|
||||||
|
FLAGS ABSTRACTBIT) (ACTION HELP-F)>
|
||||||
|
<DEFINE-ROUTINE HELP-F>
|
||||||
|
<OBJECT SUICIDE (LOC GENERIC-OBJECTS) (DESC "suicide") (SYNONYM SUICIDE SEPPUKU
|
||||||
|
DEATH)>
|
||||||
|
<DEFINE-ROUTINE PRINT-SPACES>
|
||||||
|
<CONSTANT SLINE <ITABLE NONE 41>>
|
||||||
|
<OBJECT TRINITY-HOUSE (LOC GLOBAL-OBJECTS) (DESC "Trinity House") (SYNONYM
|
||||||
|
HOUSE TRINITY) (ADJECTIVE TRINITY) (FLAGS ABSTRACTBIT SCOREBIT) (ACTION
|
||||||
|
TRINITY-HOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE TRINITY-HOUSE-F>
|
||||||
|
<OBJECT LATITUDE (LOC GENERIC-OBJECTS) (OWNER LIZARD) (DESC "latitude") (
|
||||||
|
SYNONYM LATITUDE)>
|
||||||
|
<OBJECT LIZARD (LOC GENERIC-OBJECTS) (OWNER LIZARD) (DESC "The Lizard") (
|
||||||
|
SYNONYM LIZARD) (FLAGS NOTHEBIT NOABIT SCOREBIT) (ACTION LIZARD-F)>
|
||||||
|
<DEFINE-ROUTINE LIZARD-F>
|
||||||
|
<OBJECT ROPE (LOC GENERIC-OBJECTS) (DESC "rope") (SYNONYM ROPE) (ACTION ROPE-F)
|
||||||
|
(GENERIC GENERIC-ROPE-F)>
|
||||||
|
<DEFINE-ROUTINE ROPE-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-ROPE-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-SAMURAI-F>
|
||||||
|
<OBJECT LG-SHIP (SCENE S-AFTERMATH) (LOC LOCAL-GLOBALS) (DESC "ship") (SYNONYM
|
||||||
|
SHIP BOAT ERASMUS) (ADJECTIVE NEW ANOTHER) (FLAGS NDESCBIT)>
|
||||||
|
<OBJECT COURSE (LOC GLOBAL-OBJECTS) (DESC "course") (SYNONYM COURSE) (ACTION
|
||||||
|
COURSE-F)>
|
||||||
|
<DEFINE-ROUTINE COURSE-F>
|
||||||
|
<OBJECT GLOBAL-RUTTERS (LOC GENERIC-OBJECTS) (OWNER BLACKTHORNE) (DESC
|
||||||
|
"rutters") (SYNONYM RUTTERS MAPS)>
|
||||||
|
<OBJECT QUEEN (LOC GENERIC-OBJECTS) (DESC "Queen Elizabeth") (SYNONYM QUEEN
|
||||||
|
ELIZABETH) (ADJECTIVE QUEEN)>
|
||||||
|
<OBJECT WORLD (LOC GENERIC-OBJECTS) (DESC "world") (SYNONYM WORLD GLOBE EARTH
|
||||||
|
MAP)>
|
||||||
|
<OBJECT VOYAGE (LOC GENERIC-OBJECTS) (DESC "voyage") (SYNONYM VOYAGE TRIP
|
||||||
|
JOURNEY)>
|
||||||
|
<OBJECT TEKI (LOC GENERIC-OBJECTS) (DESC "teki") (SYNONYM TEKI)>
|
||||||
|
<OBJECT ETA (LOC GENERIC-OBJECTS) (DESC "eta") (SYNONYM ETA ETER ETERS) (FLAGS
|
||||||
|
AN) (ACTION ETA-F)>
|
||||||
|
<DEFINE-ROUTINE ETA-F>
|
||||||
|
<OBJECT ORDERS (LOC GLOBAL-OBJECTS) (DESC "request") (SYNONYM REQUEST ORDER
|
||||||
|
ORDERS) (ACTION ORDERS-F)>
|
||||||
|
<DEFINE-ROUTINE ORDERS-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-SHIP-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-CREWMEN-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-CAPTAIN-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-SEA-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-GALLEY-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-DECK-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-CRAZY-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-LITTER-F>
|
||||||
|
<OBJECT LG-VILLAGE (LOC LOCAL-GLOBALS) (DESC "fishing village") (SYNONYM
|
||||||
|
VILLAGE) (ADJECTIVE SMALL FISHING) (FLAGS NDESCBIT) (ACTION LG-VILLAGE-F)>
|
||||||
|
<DEFINE-ROUTINE LG-VILLAGE-F>
|
||||||
|
<OBJECT LG-BAY (LOC LOCAL-GLOBALS) (DESC "bay") (SYNONYM BAY HARBOR POINT) (
|
||||||
|
FLAGS NDESCBIT) (ACTION LG-BAY-F)>
|
||||||
|
<DEFINE-ROUTINE LG-BAY-F>
|
||||||
|
<OBJECT LG-LAND (LOC LOCAL-GLOBALS) (DESC "land") (SYNONYM LAND SHORE ROCK
|
||||||
|
ROCKS CLIFF CLIFFS HEADLAND WATERFRONT WHARF) (ADJECTIVE DRY) (FLAGS NDESCBIT)
|
||||||
|
(ACTION LG-LAND-F)>
|
||||||
|
<DEFINE-ROUTINE LG-LAND-F>
|
||||||
|
<OBJECT LG-SEA (LOC LOCAL-GLOBALS) (DESC "sea") (SYNONYM SEA OCEAN WATER WAVES
|
||||||
|
WAVE FOAM SEAWATER TIDE COMBER COMBERS CURRENT CURRENTS) (ADJECTIVE RAGING
|
||||||
|
FROTHY FOAMY) (FLAGS NDESCBIT VEHBIT) (GENERIC GENERIC-SEA-F) (ACTION LG-SEA-F)
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE LG-SEA-F>
|
||||||
|
<CONSTANT NUMBERS <LTABLE "one" "two" "three" "four" "five" "six" "seven"
|
||||||
|
"eight" "nine" "ten" "eleven" "twelve" "thirteen" "fourteen" "fifteen"
|
||||||
|
"sixteen" "seventeen" "eighteen" "nineteen" "twenty">>
|
||||||
|
<END-SEGMENT>
|
File diff suppressed because it is too large
Load Diff
236
globals.zil
236
globals.zil
|
@ -201,7 +201,8 @@
|
||||||
<RTRUE>)>)
|
<RTRUE>)>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<MORE-SPECIFIC>
|
<MORE-SPECIFIC>
|
||||||
<COND (<VERB? TELL> <END-QUOTE> <RFATAL>)>)>>
|
<COND (<VERB? TELL> <END-QUOTE> <RFATAL>)>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<OBJECT HER
|
<OBJECT HER
|
||||||
(LOC GLOBAL-OBJECTS)
|
(LOC GLOBAL-OBJECTS)
|
||||||
|
@ -417,7 +418,8 @@ a steer hasn't.\"" CR>)>>
|
||||||
<TELL G"There is no response." CR>)
|
<TELL G"There is no response." CR>)
|
||||||
(<RARG? <>>
|
(<RARG? <>>
|
||||||
<COND (<VERB? EXAMINE>
|
<COND (<VERB? EXAMINE>
|
||||||
<LIST-PEOPLE ,MAN? "man" "men">)
|
<LIST-PEOPLE ,MAN? "man" "men">
|
||||||
|
<CRLF>)
|
||||||
(<OR <VERB? TELL>
|
(<OR <VERB? TELL>
|
||||||
<P? TELL-ABOUT LG-MEN>>
|
<P? TELL-ABOUT LG-MEN>>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -445,7 +447,8 @@ G"You'll have to address an individual to get a response." CR>
|
||||||
<TELL G"There is no response." CR>)
|
<TELL G"There is no response." CR>)
|
||||||
(<RARG? <>>
|
(<RARG? <>>
|
||||||
<COND (<VERB? EXAMINE>
|
<COND (<VERB? EXAMINE>
|
||||||
<LIST-PEOPLE ,WOMAN? "woman" "women">)
|
<LIST-PEOPLE ,WOMAN? "woman" "women">
|
||||||
|
<CRLF>)
|
||||||
(<OR <VERB? TELL>
|
(<OR <VERB? TELL>
|
||||||
<P? TELL-ABOUT LG-WOMEN>>
|
<P? TELL-ABOUT LG-WOMEN>>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -996,7 +999,7 @@ the desired direction." CR>)
|
||||||
<P? TEACH * ENGLISH>
|
<P? TEACH * ENGLISH>
|
||||||
<P? ASK-ABOUT * ENGLISH>>
|
<P? ASK-ABOUT * ENGLISH>>
|
||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
(<VERB? BE BE?> <RFALSE>)
|
(<VERB? BE BE? REPLY> <RFALSE>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<FIND-NATIONALITY ,ENGLISH ,ENGLISHBIT>)>>
|
<FIND-NATIONALITY ,ENGLISH ,ENGLISHBIT>)>>
|
||||||
|
|
||||||
|
@ -1060,6 +1063,11 @@ world." CR>)>)>>
|
||||||
(FLAGS NOABIT NOTHEBIT SCOREBIT)
|
(FLAGS NOABIT NOTHEBIT SCOREBIT)
|
||||||
(ACTION JAPANESE-F)>
|
(ACTION JAPANESE-F)>
|
||||||
|
|
||||||
|
<ROUTINE JAPANESE? ()
|
||||||
|
<OR <PRSI? JAPANESE>
|
||||||
|
<ADJ? ,W?JAPANESE>
|
||||||
|
<PP? ,W?FROM ,JAPAN>>>
|
||||||
|
|
||||||
<ROUTINE JAPANESE-F ()
|
<ROUTINE JAPANESE-F ()
|
||||||
<COND (<OR <P? (SPEAK LEARN SAY) JAPANESE>
|
<COND (<OR <P? (SPEAK LEARN SAY) JAPANESE>
|
||||||
<P? TEACH * JAPANESE>
|
<P? TEACH * JAPANESE>
|
||||||
|
@ -1512,4 +1520,222 @@ tanners, executioners and undertakers." CR>)>>
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL "You'll have to be more specific." CR>)>)>>
|
<TELL "You'll have to be more specific." CR>)>)>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
"generic functions"
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-SHIP-F (R F)
|
||||||
|
,LG-ERASMUS>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-CREWMEN-F (R F)
|
||||||
|
,LG-CREWMEN>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-CAPTAIN-F (R F)
|
||||||
|
<COND (<SCENE? ,S-ERASMUS ,S-ANJIRO ,S-YABU ,S-PIT>
|
||||||
|
,SPILLBERGEN)
|
||||||
|
(<SCENE? ,S-NINJA>
|
||||||
|
,GRAY-CAPTAIN)
|
||||||
|
(<SCENE? ,S-DEPARTURE>
|
||||||
|
<COND (<FSET? ,YAMAZAKI ,DEAD> ,KOJIMA)
|
||||||
|
(ELSE <RFALSE>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-SEA-F (R F)
|
||||||
|
,LG-SEA>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-GALLEY-F (R F)
|
||||||
|
<COND (<SCENE? ,S-YABU ,S-ANJIRO ,S-ERASMUS>
|
||||||
|
,LG-ERASMUS)
|
||||||
|
(<SCENE? ,S-RODRIGUES>
|
||||||
|
,SLAVER)
|
||||||
|
(ELSE
|
||||||
|
,LG-GALLEY)>>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-DECK-F (R F)
|
||||||
|
,DECK>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-CRAZY-F (R F)
|
||||||
|
<COND (<SCENE? ,S-PRISON> ,MADMAN)
|
||||||
|
(ELSE ,CRAZY)>>
|
||||||
|
|
||||||
|
<ROUTINE GENERIC-LITTER-F (R F)
|
||||||
|
<COND (<OR <HERE? ,WOODS>
|
||||||
|
<IN? ,WINNER ,MARIKOS-LITTER>>
|
||||||
|
,MARIKOS-LITTER)
|
||||||
|
(<IN? ,YABU-PALANQUIN ,HERE>
|
||||||
|
,YABU-PALANQUIN)>>
|
||||||
|
|
||||||
|
<OBJECT LG-VILLAGE
|
||||||
|
(LOC LOCAL-GLOBALS)
|
||||||
|
(DESC "fishing village")
|
||||||
|
(SYNONYM VILLAGE)
|
||||||
|
(ADJECTIVE SMALL FISHING)
|
||||||
|
(FLAGS NDESCBIT)
|
||||||
|
(ACTION LG-VILLAGE-F)>
|
||||||
|
|
||||||
|
<ROUTINE LG-VILLAGE-F ()
|
||||||
|
<COND (<SCENE? S-ANJIRO>
|
||||||
|
<COND (<VERB? THROUGH>
|
||||||
|
<COND (<HERE? ,GARDEN ,MURA-HOUSE> <DO-WALK ,P?EAST>)
|
||||||
|
(<HERE? ,ANJIRO-WATERFRONT> <DO-WALK ,P?NORTH>)
|
||||||
|
(ELSE
|
||||||
|
<TELL "The village is right here." CR>)>)
|
||||||
|
(<VERB? EXIT>
|
||||||
|
<COND (<HERE? ,GARDEN ,MURA-HOUSE>
|
||||||
|
<TELL
|
||||||
|
"You can't tell from here how to leave the village." CR>)
|
||||||
|
(<HERE? ,ANJIRO ,ANJIRO-WATERFRONT>
|
||||||
|
<DO-WALK ,P?NORTH>)>)>)
|
||||||
|
(<SCENE? S-VOYAGE>
|
||||||
|
<TELL "The village is too far away, considering your condition." CR>)>>
|
||||||
|
|
||||||
|
<OBJECT LG-BAY
|
||||||
|
(LOC LOCAL-GLOBALS)
|
||||||
|
(DESC "bay")
|
||||||
|
(SYNONYM BAY HARBOR POINT)
|
||||||
|
(FLAGS NDESCBIT)
|
||||||
|
(ACTION LG-BAY-F)>
|
||||||
|
|
||||||
|
<ROUTINE LG-BAY-F ()
|
||||||
|
<COND (<VERB? EXAMINE>
|
||||||
|
<COND (<SCENE? ,S-VOYAGE>
|
||||||
|
<TELL
|
||||||
|
"The bay looks like an island of relative calm." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"The harbor is a small bay protected by reefs almost out of sight to the
|
||||||
|
east." CR>)>)
|
||||||
|
(<P? (PUT THROW) * LG-BAY>
|
||||||
|
<PERFORM ,PRSA ,PRSO ,LG-SEA>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
|
<OBJECT LG-LAND
|
||||||
|
(LOC LOCAL-GLOBALS)
|
||||||
|
(DESC "land")
|
||||||
|
(SYNONYM LAND SHORE ROCK ROCKS CLIFF CLIFFS HEADLAND WATERFRONT WHARF)
|
||||||
|
(ADJECTIVE DRY)
|
||||||
|
(FLAGS NDESCBIT)
|
||||||
|
(ACTION LG-LAND-F)>
|
||||||
|
|
||||||
|
<ROUTINE LG-LAND-F ("AUX" TRIES)
|
||||||
|
<COND (<AND <SCENE? ,S-ANJIRO ,S-RODRIGUES>
|
||||||
|
<VERB? WALK-TO>>
|
||||||
|
<DO-WALK ,P?WEST>)
|
||||||
|
(<AND <SCENE? ,S-VOYAGE>
|
||||||
|
<VERB? POINT>
|
||||||
|
,GALLEY-IN-BAY?>
|
||||||
|
<COND (<FSET? ,SKIFF ,RMUNGBIT>
|
||||||
|
<SET TRIES <GETP ,SKIFF ,P?COUNT>>
|
||||||
|
<PUTP ,SKIFF ,P?COUNT <+ .TRIES 1>>
|
||||||
|
<COND (<ZERO? .TRIES>
|
||||||
|
<TELL
|
||||||
|
"Hiro-matsu is here, with Yabu beside him. They eventually realize
|
||||||
|
you are proposing to go ashore, and Hiro-matsu responds harshly. ">
|
||||||
|
<HIRO-MATSU-REFUSES>)
|
||||||
|
(<EQUAL? .TRIES 1>
|
||||||
|
<YABU-BOARDS-SKIFF>)>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
G"It would be a good trick, and somewhat amusing, to get into a boat
|
||||||
|
while it's still on deck, but not a good idea." CR>)>)
|
||||||
|
(<VERB? WALK-TO>
|
||||||
|
<COND (<IN? ,WINNER ,SKIFF>
|
||||||
|
<DO-WALK ,P?EAST>)
|
||||||
|
(<IN? ,WINNER ,SMALL-BOAT>
|
||||||
|
<DO-WALK ,P?WEST>)
|
||||||
|
(<SCENE? ,S-ERASMUS ,S-VOYAGE>
|
||||||
|
<TELL "Easier said than done." CR>)>)
|
||||||
|
(<VERB? RUB CLIMB-ON>
|
||||||
|
<COND (<OR <SCENE? ,S-ERASMUS>
|
||||||
|
<AND <SCENE? ,S-VOYAGE>
|
||||||
|
<HERE? ,IN-THE-SEA ,GALLEY ,MAIN-DECK>>>
|
||||||
|
<TELL
|
||||||
|
"It's too far away." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"It feels like you would expect land to feel." CR>)>)>>
|
||||||
|
|
||||||
|
<OBJECT LG-SEA
|
||||||
|
(LOC LOCAL-GLOBALS)
|
||||||
|
(DESC "sea")
|
||||||
|
(SYNONYM SEA OCEAN WATER WAVES WAVE FOAM SEAWATER
|
||||||
|
TIDE COMBER COMBERS CURRENT CURRENTS)
|
||||||
|
(ADJECTIVE RAGING FROTHY FOAMY)
|
||||||
|
(FLAGS NDESCBIT VEHBIT)
|
||||||
|
(GENERIC GENERIC-SEA-F)
|
||||||
|
(ACTION LG-SEA-F)>
|
||||||
|
|
||||||
|
<ROUTINE LG-SEA-F ("OPT" (RARG <>))
|
||||||
|
<COND (<RARG? <>>
|
||||||
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||||
|
<COND (<SCENE? ,S-ERASMUS>
|
||||||
|
<TELL
|
||||||
|
"The sea is a maze of mountainous waves and razor-spined reef-tops." CR>)
|
||||||
|
(<SCENE? ,S-VOYAGE>
|
||||||
|
<TELL
|
||||||
|
"The gale-driven surf is thrown high in the air, hurled by the wind
|
||||||
|
against the rocky shore.">
|
||||||
|
<COND (<AND <NOT <HERE? ,GALLEY ,MAIN-DECK
|
||||||
|
,IN-THE-SEA>>
|
||||||
|
<NOT <IN? ,YABU ,HERE>>>
|
||||||
|
<TELL
|
||||||
|
"You can see that the tide is coming in.">)>
|
||||||
|
<CRLF>)
|
||||||
|
(ELSE
|
||||||
|
<TELL "It's full of water." CR>)>)
|
||||||
|
(<VERB? POINT>
|
||||||
|
<COND (<IN? ,YABU ,HERE>
|
||||||
|
<TELL
|
||||||
|
"Yabu looks at the sea, and you can tell he hates and perhaps fears
|
||||||
|
it." CR>)>)
|
||||||
|
(<OR <VERB? BOARD THROUGH SWIM LEAP DIVE>
|
||||||
|
<P? THROW ME>>
|
||||||
|
<COND (<HERE? ,ON-DECK ,BRIDGE-OF-ERASMUS>
|
||||||
|
<COND (<SCENE? S-ANJIRO S-RODRIGUES>
|
||||||
|
<TELL
|
||||||
|
"Wouldn't it be safer to just climb back into the boat?" CR>)
|
||||||
|
(ELSE
|
||||||
|
<PERFORM ,V?LEAP ,LG-ERASMUS>
|
||||||
|
<RTRUE>)>)
|
||||||
|
(<HERE? ANJIRO-WATERFRONT>
|
||||||
|
<DO-WALK ,P?EAST>
|
||||||
|
<RTRUE>)
|
||||||
|
(<HERE? GALLEY MAIN-DECK>
|
||||||
|
<GOTO ,IN-THE-SEA>)
|
||||||
|
(<HERE? MAIN-DECK-2>
|
||||||
|
<COND (<JIGS-UP? ,J-PILING>
|
||||||
|
<JIGS-UP
|
||||||
|
"You hit your head on a piling as you attempt this feat.">)
|
||||||
|
(ELSE <RTRUE>)>)
|
||||||
|
(<HERE? IN-THE-SEA>
|
||||||
|
<COND (<IN? ,WINNER ,SKIFF>
|
||||||
|
<TELL
|
||||||
|
"As you try to leap into the sea, the samurai grab you. They hold you
|
||||||
|
tightly as Yabu scowls." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL G"You already are." CR>)>)
|
||||||
|
(<IN? ,WINNER ,SMALL-BOAT>
|
||||||
|
<TELL
|
||||||
|
"Why do that when you're in a nice boat?" CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL "You wouldn't like it. It's wet." CR>)>)
|
||||||
|
(<P? (PUT THROW) * LG-SEA>
|
||||||
|
<COND (<HELD? ,PRSO>
|
||||||
|
<REMOVE ,PRSO>
|
||||||
|
<TELL
|
||||||
|
CTHE ,PRSO " drop">
|
||||||
|
<COND (<NOT <PLURAL? ,PRSO>> <TELL "s">)>
|
||||||
|
<TELL " into the water and ">
|
||||||
|
<COND (<PRSO? ,OARS ,BOAT-OAR ,LIFE-RING>
|
||||||
|
<TELL "float">)
|
||||||
|
(ELSE <TELL "sink">)>
|
||||||
|
<COND (<NOT <PLURAL? ,PRSO>> <TELL "s">)>
|
||||||
|
<TELL " out of sight." CR>)>)
|
||||||
|
(<VERB? DRINK>
|
||||||
|
<TELL
|
||||||
|
"Seawater will drive you mad, as every sailor knows." CR>)>)>>
|
||||||
|
|
||||||
|
<CONSTANT NUMBERS
|
||||||
|
<LTABLE "one" "two" "three" "four" "five" "six"
|
||||||
|
"seven" "eight" "nine" "ten" "eleven" "twelve"
|
||||||
|
"thirteen" "fourteen" "fifteen" "sixteen"
|
||||||
|
"seventeen" "eighteen" "nineteen" "twenty">>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"0">
|
||||||
|
|
|
@ -228,6 +228,7 @@ the answers."
|
||||||
"Get in it."
|
"Get in it."
|
||||||
"Keep trying! Insist! You'll get your way eventually.">
|
"Keep trying! Insist! You'll get your way eventually.">
|
||||||
<PLTABLE "I can't find Rodrigues' body!"
|
<PLTABLE "I can't find Rodrigues' body!"
|
||||||
|
"If you didn't see him clinging to the oar, you can't find him."
|
||||||
"Be persistent. Keep searching."
|
"Be persistent. Keep searching."
|
||||||
"Keep heading south from the beach."
|
"Keep heading south from the beach."
|
||||||
"You can go all the way around the headland, but then you can't
|
"You can go all the way around the headland, but then you can't
|
||||||
|
@ -422,7 +423,7 @@ the party."
|
||||||
"Give Toranaga your swords!">
|
"Give Toranaga your swords!">
|
||||||
|
|
||||||
"Journey to Yedo"
|
"Journey to Yedo"
|
||||||
<PLTABLE "What an embarassing situation!"
|
<PLTABLE "What an embarrassing situation!"
|
||||||
"When in Rome..."
|
"When in Rome..."
|
||||||
"There is little taboo against nakedness here."
|
"There is little taboo against nakedness here."
|
||||||
"...and everyone around is a friend."
|
"...and everyone around is a friend."
|
||||||
|
@ -453,7 +454,7 @@ the party."
|
||||||
"But don't take too long! Remember, Yoshi is still out there.">
|
"But don't take too long! Remember, Yoshi is still out there.">
|
||||||
|
|
||||||
"Ochiba"
|
"Ochiba"
|
||||||
<PLTABLE "How do I avoid embarassment?"
|
<PLTABLE "How do I avoid embarrassment?"
|
||||||
"What were you worrying about mere seconds ago?"
|
"What were you worrying about mere seconds ago?"
|
||||||
"Check your swords!">
|
"Check your swords!">
|
||||||
<PLTABLE "How do I avoid offending?"
|
<PLTABLE "How do I avoid offending?"
|
||||||
|
@ -470,7 +471,7 @@ the party."
|
||||||
"Correct his mistake."
|
"Correct his mistake."
|
||||||
"You are no longer a barbarian, you are a samurai!"
|
"You are no longer a barbarian, you are a samurai!"
|
||||||
"Tell him so!"
|
"Tell him so!"
|
||||||
"It will expose his rudeness, and put him in an embarassing position.">
|
"It will expose his rudeness, and put him in an embarrassing position.">
|
||||||
|
|
||||||
"Departure"
|
"Departure"
|
||||||
<PLTABLE "What can I do to help Mariko?"
|
<PLTABLE "What can I do to help Mariko?"
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
The general form of the game is that you play several different
|
||||||
|
characters. Different puzzles are presented and solved as
|
||||||
|
different characters. When the game begins, you are
|
||||||
|
Blackthorne, but later you can (must?) be Mariko, Toranaga,
|
||||||
|
etc. in various situations.
|
||||||
|
|
||||||
|
Some puzzles are pretty clearly defined. These are marked
|
||||||
|
with a *. For others, it's not obvious what the puzzle is.
|
||||||
|
These are marked with a ?.
|
||||||
|
|
||||||
|
Puzzles:
|
||||||
|
|
||||||
|
* As Blackthorne, you must navigate the Erasmus through the
|
||||||
|
storm and reef into Anjiro harbor. This is primarily just a
|
||||||
|
puzzle where you must steer the Erasmus in the right
|
||||||
|
direction. Minor additional parts include being lashed to
|
||||||
|
the rudder, commanding the sails to be reefed, etc.
|
||||||
|
|
||||||
|
? As Blackthorne, you must learn Japanese. How this is done
|
||||||
|
is an open question.
|
||||||
|
|
||||||
|
* As Blackthorne, you must rescue Rodrigues when he is washed
|
||||||
|
overboard. This may include convincing Hiro-matsu to let
|
||||||
|
you go ashore, finding Rodrigues (?), causing Yabu to climb
|
||||||
|
down the cliff (since the guards won't let you do it),
|
||||||
|
attracting his attention to the ledge, etc.
|
||||||
|
|
||||||
|
* As Blackthorne, you must help Toranaga escape from Osaka.
|
||||||
|
This would be in several parts. First, you must notice that
|
||||||
|
Toranaga and Kiritsubo switch places. Second, you must
|
||||||
|
distract Ishido and the guards.
|
||||||
|
|
||||||
|
* As Toranaga, you must get to the galley through the maze of
|
||||||
|
Osaka's streets. I see this as a maze-type puzzle where
|
||||||
|
there are bands of Ishido's Grays and an ambush at some
|
||||||
|
point by "bandits." At some point in the maze is the place
|
||||||
|
where you find your extra men (the sign of a fish). At some
|
||||||
|
time after the ambush, Ishido will know you've escaped, and
|
||||||
|
more Grays will arrive.
|
||||||
|
|
||||||
|
? As Toranaga, you must negotiate with Ferriera and the
|
||||||
|
Jesuits to get out of the harbor. How this is done I
|
||||||
|
haven't a clue.
|
||||||
|
|
||||||
|
* As Blackthorne, you must maneuver the galley out of the
|
||||||
|
harbor by staying close to the frigate, but not too close.
|
||||||
|
|
||||||
|
* As Blackthorne, you must teach Toranaga to dive. This might
|
||||||
|
be too hard; instead there could be a swimming race puzzle,
|
||||||
|
where you must try to beat Toranaga.
|
||||||
|
|
||||||
|
* As Blackthorne, you must threaten (and mean!) to commit
|
||||||
|
seppuku, but the timing must be perfect, otherwise you will
|
||||||
|
succeed. You must bring things to a head just as Omi is
|
||||||
|
ready to stop you.
|
||||||
|
|
||||||
|
? As Mariko, you must teach Blackthorne Japanese. How?
|
||||||
|
|
||||||
|
? As Mariko, you must try to commit suicide. How to make this
|
||||||
|
more than just a timing puzzle? It is important to not do
|
||||||
|
it before Ishido gives in. Maybe you should play someone
|
||||||
|
other than Mariko in this puzzle? Ishido?
|
||||||
|
|
||||||
|
* As Blackthorne, you must fight the ninja during the attack,
|
||||||
|
help Mariko escape into the secret room, not open the door
|
||||||
|
when the ninja say they only want you, break the bolts on
|
||||||
|
the other door, not stop Mariko, etc.
|
||||||
|
|
||||||
|
? As Toranaga, you must detect Yabu's treachery?
|
||||||
|
|
||||||
|
|
||||||
|
Overall Puzzles:
|
||||||
|
|
||||||
|
As Toranaga, you are constantly trying to influence people
|
||||||
|
to come over to your side. How to do this? Possibilities
|
||||||
|
include a diplomacy-type structure, a swapping structure
|
||||||
|
("Offer Izu to Yabu," "Tell Zataki about Ochiba," etc.). You
|
||||||
|
must also delay things as much as possible after your escape
|
||||||
|
from Osaka. Perhaps various people come to you with
|
||||||
|
information, as Gyoko does in the book. To get the
|
||||||
|
information, you have to consent to speak with them. Some
|
||||||
|
of it is true, some is not, and you must act on the true
|
||||||
|
information. This might also be how Omi reports the news
|
||||||
|
about Yabu's betrayal during the attack. There are various
|
||||||
|
"players" you can negotiate with. These include the other
|
||||||
|
regents, the Jesuits, Ferriera, some of your own people
|
||||||
|
(such as Yabu), Blackthorne, Mariko, etc. They will ask for
|
||||||
|
things, and you have to decide what to give them. You also
|
||||||
|
have limited resources to give away, and if you promise them
|
||||||
|
twice, you might get in trouble (like Ishido giving the
|
||||||
|
Kwanto to both Zataki and Kiyama).
|
||||||
|
|
||||||
|
Learning Japanese. This is a puzzle for both Blackthorne
|
||||||
|
and Mariko. Perhaps there is a vocabulary you must learn,
|
||||||
|
and as Blackthorne, you can only communicate through an
|
||||||
|
interpreter or in Japanese. As the game progresses, you
|
||||||
|
have less access to an interpreter. One implementation
|
||||||
|
problem is that some Japanese words are longer than 9
|
||||||
|
characters, for example "wakarimas-u" vs. "wakarimas-en".
|
||||||
|
|
||||||
|
Scoring. Your score as each character must depend on how
|
||||||
|
you are doing at achieving your goals. As Toranaga, it's
|
||||||
|
your influence. As Blackthorne, it could be your
|
||||||
|
proficiency in Japanese, and your adoption of Japanese
|
||||||
|
customs. Suppose that at various points, Blackthorne is
|
||||||
|
given options. One is a "barbarian" option, and one is a
|
||||||
|
"japanese" option. Examples would include eating meat vs.
|
||||||
|
not eating meat, or wearing European clothes vs. wearing a
|
||||||
|
kimono. These might be scored subtly (not appear on the
|
||||||
|
status line, for example?)
|
||||||
|
|
|
@ -0,0 +1,252 @@
|
||||||
|
SHOGUN ILLUSTRATIONS
|
||||||
|
|
||||||
|
Anything labelled (European) CAN (but doesn't have to be) in European
|
||||||
|
style. The rest SHOULD but don't absolutely have to be in Japanese
|
||||||
|
style. Use your artistic judgment. Where I could, I've marked these
|
||||||
|
with the chapter in the book where they occur.
|
||||||
|
|
||||||
|
Please don't be too constrained by these suggestions!
|
||||||
|
|
||||||
|
1. --ALREADY DONE--
|
||||||
|
|
||||||
|
* Erasmus during storm (European) (Prologue)
|
||||||
|
|
||||||
|
* View of garden from Mura's house (Chapter 1)
|
||||||
|
|
||||||
|
This is a small garden surrounded by a high wall. It is unlike anything
|
||||||
|
you have ever seen: a little waterfall and stream and a small bridge
|
||||||
|
and manicured pebbled paths and rocks and flowers and shrubs. It's so
|
||||||
|
clean, so neat.
|
||||||
|
|
||||||
|
* Yabu climbing down cliff to rescue Rodrigues (Chapter 9)
|
||||||
|
|
||||||
|
Yabu kicks off his thong slippers. He takes the swords out of his belt
|
||||||
|
and puts them safely under cover. He barks some orders at one of the
|
||||||
|
samurai, then takes off his soaking kimono, and clad only in his
|
||||||
|
loincloth, goes to the cliff edge, testing it through the soles of his
|
||||||
|
cotton tabi -- his sock-shoes.
|
||||||
|
|
||||||
|
Suddenly, Yabu slips! He grips an outcrop with his left hand, stopping
|
||||||
|
his fall. He grinds his toes in a crevice, fighting for another hold,
|
||||||
|
but his left hand rips away. His toes find a cleft and he hugs the
|
||||||
|
cliff desperately. Then the toehold gives way! He falls the last
|
||||||
|
twenty feet.
|
||||||
|
|
||||||
|
* Procession (Escape from Osaka) (Chapter 21)
|
||||||
|
|
||||||
|
This is the courtyard of Toranaga's keep within Osaka castle. In the
|
||||||
|
forecourt, outside the gate, an escort of sixty heavily armed samurai
|
||||||
|
is drawn up in neat lines, every third man carrying a flare.
|
||||||
|
|
||||||
|
Just after dusk Kiri waddled nervously down the steps. She headed for
|
||||||
|
her curtained litter that stood beside the garden hut. You are leaning
|
||||||
|
against the wall near the fortified gate. You are wearing a belted
|
||||||
|
kimono of the Browns and tabi socks and military thongs.
|
||||||
|
|
||||||
|
* Japanese warrior (Buntaro? Omi? Yabu?) (see below...)
|
||||||
|
|
||||||
|
* Mariko's seppuku (Chapter 56)
|
||||||
|
|
||||||
|
Mariko stops by the lily pond and undoes her obi and lets it fall.
|
||||||
|
Chimmoko helps her out of her blue kimono. Beneath it Mariko wears the
|
||||||
|
most brilliant white kimono and obi you have ever seen. It is a formal
|
||||||
|
death kimono. She unties the green ribbon from her hair and casts it
|
||||||
|
aside.
|
||||||
|
|
||||||
|
Clad completely in white, Mariko walks from the garden into the
|
||||||
|
forecourt, never looking at you.
|
||||||
|
|
||||||
|
At a sign from Sumiyori everyone bows. Mariko bows to them. Four
|
||||||
|
samurai come forward and spread a crimson coverlet over the tatamis.
|
||||||
|
|
||||||
|
Mariko goes to the crimson square and kneels in the center, in front
|
||||||
|
of the tiny white cushion. Her right hand brings out her stiletto
|
||||||
|
dagger from her white obi and she places it on the cushion in front of
|
||||||
|
her. Mariko arranges the skirts of her kimono perfectly, Chimmoko
|
||||||
|
helping her, tying a small white blanket around her waist with the
|
||||||
|
cord. You know that this is to prevent her skirts being blooded and
|
||||||
|
disarranged by her death throes.
|
||||||
|
|
||||||
|
2. --SUGGESTIONS--
|
||||||
|
|
||||||
|
* Blackthorne (1/2 or less of screen)
|
||||||
|
|
||||||
|
* Rodrigues (1/2 or less of screen)
|
||||||
|
|
||||||
|
Rodrigues is a man as tall as you and about your own age, but
|
||||||
|
black-haired and dark-eyed and carelessly dressed in seaman's clothes,
|
||||||
|
rapier by his side, pistols in his belt. A jeweled crucifix hangs from
|
||||||
|
his neck. He wears a jaunty cap.
|
||||||
|
|
||||||
|
* Father Sebastio (1/2 or less of screen)
|
||||||
|
|
||||||
|
Sebastio is a short, thick man with dark hair and a long beard. His
|
||||||
|
robe is travel-stained and his boots are besmirched with mud. He is
|
||||||
|
obviously a Portuguese or Spanish priest, and though his flowing robe
|
||||||
|
is orange, there is no mistaking the crucifix and rosary at his belt,
|
||||||
|
or the cold hostility on his face.
|
||||||
|
|
||||||
|
* Father Alvito (1/2 or less of screen)
|
||||||
|
|
||||||
|
Alvito is a graceful, handsome man, perhaps a few years older than
|
||||||
|
you. He wears tabi socks and a flowing kimono that seems, on him, to
|
||||||
|
belong. A rosary and a carved golden cross hang at his belt. He has an
|
||||||
|
easy elegance, and the aura of strength and natural power of the
|
||||||
|
Jesuits.
|
||||||
|
|
||||||
|
* Toranaga (1/2 or less of screen)
|
||||||
|
|
||||||
|
Toranaga is a short man with a thick belly and a large nose. His
|
||||||
|
eyebrows are thick and dark and his mustache and beard gray-flecked
|
||||||
|
and sparse. Eyes dominate his face. He is fifty-eight and strong for
|
||||||
|
his age.
|
||||||
|
|
||||||
|
* Yabu (1/2 or less of screen)
|
||||||
|
|
||||||
|
Kasigi Yabu is short, squat, and dominating. There's arrogance and
|
||||||
|
cruelty in the daimyo's face, you think. He kneels comfortably, his
|
||||||
|
heels tucked neatly under him, flanked by four lieutenants, one of
|
||||||
|
whom is Kasigi Omi, his nephew and vassal. They all wear silk kimonos
|
||||||
|
and, over them, ornate surcoats with wide belts.
|
||||||
|
|
||||||
|
* Omi (1/2 or less of screen)
|
||||||
|
|
||||||
|
Omi is a head shorter and much younger than you, his handsome face
|
||||||
|
slightly pockmarked though. He wears breeches and clogs and a light
|
||||||
|
kimono with two scabbarded swords stuck into the belt. One is
|
||||||
|
daggerlike, the other, a two-handed killing sword, is long and
|
||||||
|
slightly curved."
|
||||||
|
|
||||||
|
* Other characters... (Mariko? Buntaro? etc. etc.)
|
||||||
|
|
||||||
|
* Below decks scene on Erasmus (European) (Prologue)
|
||||||
|
|
||||||
|
The crew's quarters of the Erasmus. A companionway leads up to the
|
||||||
|
deck. It's dim, warm and close here, and the stench is abominable.
|
||||||
|
Most of the survivors of the crew are here in bunks and hammocks, some
|
||||||
|
sleeping, some awake.
|
||||||
|
|
||||||
|
* Anjiro landscape including Erasmus at anchor (Chapter 1)
|
||||||
|
|
||||||
|
The village is set around a crescent harbor that faces east, perhaps
|
||||||
|
two hundred houses unlike any you've ever seen nestling at the
|
||||||
|
beginning of the mountain which spills down to the shore. Above are
|
||||||
|
terraced fields to the west and dirt roads that lead north and south.
|
||||||
|
Below to the east is the waterfront. In the harbor you can see the
|
||||||
|
Erasmus riding at anchor.
|
||||||
|
|
||||||
|
This is the waterfront of the village. The ground is cobbled and a
|
||||||
|
stone launching ramp goes from the shore into the sea. There are men
|
||||||
|
and women cleaning fish. Small islands are visible to the east and
|
||||||
|
south. At anchor, to the east, is the Erasmus.
|
||||||
|
|
||||||
|
* Looking out of Pit at Omi (Chapter 2-6)
|
||||||
|
|
||||||
|
You are crammed into a deep cellar, one of the many that the fishermen
|
||||||
|
use to store sun-dried fish. The cellar is five paces long and five
|
||||||
|
wide and four deep, with an earthen floor and walls. The ceiling is
|
||||||
|
made of planks with a foot of earth above and a single trapdoor
|
||||||
|
set into it.
|
||||||
|
|
||||||
|
The trapdoor opens. Omi looks down at you. Beside him are Mura and the
|
||||||
|
priest. Everyone but you begins yelling. "Water! And food, by God!
|
||||||
|
Let us out of here!" Omi motions to Mura, who nods and leaves.
|
||||||
|
|
||||||
|
Mura returns with another fisherman, carrying a large barrel. They
|
||||||
|
empty the contents, rotting fish offal and seawater, onto your heads.
|
||||||
|
|
||||||
|
* Confusion on deck during galley voyage to Osaka (Chapter 8)
|
||||||
|
|
||||||
|
"Watch out for'ard!" Rodrigues shouts. The galley rolls sickeningly,
|
||||||
|
twenty oars pulling at air instead of sea and there is chaos aboard.
|
||||||
|
The first comber has struck and the port gunwale is awash. The galley
|
||||||
|
is floundering.
|
||||||
|
|
||||||
|
Abruptly the galley swerves and you are carried to the down side, your
|
||||||
|
legs taken away by some of the rowers who have also slipped their
|
||||||
|
safety lines to try to fight some order into their oars.
|
||||||
|
|
||||||
|
The gunwale is under water and one man goes overboard! You feel the rush
|
||||||
|
of water carrying you over the gunwale as well!
|
||||||
|
|
||||||
|
* Rodrigues overboard (Chapter 8)
|
||||||
|
|
||||||
|
You see the wave take Rodrigues, and you watch him, gasping and
|
||||||
|
struggling in the churning sea. You remember that he can't swim.
|
||||||
|
|
||||||
|
The rain slashes down and you see that Rodrigues is being carried
|
||||||
|
further from the galley.
|
||||||
|
|
||||||
|
The last you see of Rodrigues is an arm gripping a broken oar.
|
||||||
|
|
||||||
|
* Osaka Castle (Chapter 10)
|
||||||
|
|
||||||
|
You smile back, take your leave of Rodrigues, and then you are on
|
||||||
|
deck, your mind whirling from the impact of Osaka, its immensity, the
|
||||||
|
teeming anthills of people, and the enormous castle that dominates the
|
||||||
|
city. From within the castle's vastness comes the soaring beauty of
|
||||||
|
the donjon, seven or eight stories high, pointed gables with curved
|
||||||
|
roofs at each level, the tiles all gilded and the walls blue.
|
||||||
|
|
||||||
|
* Toranaga's falcon (Chapter 11)
|
||||||
|
|
||||||
|
Toranaga is repairing a broken wing feather of a hooded falcon as
|
||||||
|
delicately as any ivory carver.
|
||||||
|
|
||||||
|
The falcon is a peregrine and she is in her prime. The handler, a
|
||||||
|
gnarled old samurai, kneels in front of Toranaga and holds her as if
|
||||||
|
she were spun glass. Toranaga cuts the broken quill, dips the tiny
|
||||||
|
bamboo imping needle into the glue and inserts it into the haft of the
|
||||||
|
feather, then delicately slips the new cut feather over the other end.
|
||||||
|
He adjusts the angle until it is perfect and binds it with a silken
|
||||||
|
thread. The tiny bells on the falcon's feet jingle, and he gentles the
|
||||||
|
fear out of her.
|
||||||
|
|
||||||
|
* Bath scene with Mariko and Blackthorne
|
||||||
|
|
||||||
|
* Blackthorne giving his sword to Toranaga (Chapter 38)
|
||||||
|
|
||||||
|
(This is just after you and Toranaga and Mariko have survived an
|
||||||
|
earthquake; the remains of a crevice are nearby, and you are on
|
||||||
|
a hillside plateau.)
|
||||||
|
|
||||||
|
In your hands is Fujiko's sword. It is still scabbarded, though
|
||||||
|
muddied and scarred. Your short stabbing sword has disappeared. You
|
||||||
|
kneel in front of Toranaga and offer your sword as a sword should be
|
||||||
|
offered.
|
||||||
|
|
||||||
|
* Blackthorne's mad scene at the last gate in Osaka (Chapter 22)
|
||||||
|
|
||||||
|
* Toranaga in drag (Chapter 23)
|
||||||
|
|
||||||
|
Buntaro was covering Toranaga's litter with his body as best he could,
|
||||||
|
an arrow stuck into the back of his leather chainmail bamboo armor,
|
||||||
|
and then, when the volley ceased, he rushed forward and ripps the
|
||||||
|
curtains apart. The two arrows were imbedded in Toranaga's chest and
|
||||||
|
side but he was unharmed and he jerked the barbs out of the armor he
|
||||||
|
wore beneath the kimono. Then he tore off the wide-brimmed hat and
|
||||||
|
the wig. Toranaga fought out of the curtains and, pulling his sword
|
||||||
|
from under the coverlet, leapt to his feet. He still wore the
|
||||||
|
travelling cloak and Kiri's kimono, but the skirts were hitched up out
|
||||||
|
of the way, his military leggings incongruous.
|
||||||
|
|
||||||
|
* Ninja (Chapter 57)
|
||||||
|
|
||||||
|
They wore tight-fitting clothes of black and black tabi and black
|
||||||
|
masks. Their hands and faces were also blackened. These men were armed
|
||||||
|
with chain knives, sword, and shuriken. In the center of their black
|
||||||
|
hoods was a red spot. On their backs were slung haversacks and short
|
||||||
|
thin poles.
|
||||||
|
|
||||||
|
* Explosion of bomb (Chapter 57)
|
||||||
|
|
||||||
|
* Burned, wrecked Erasmus (Chapter 60)
|
||||||
|
|
||||||
|
* Toranaga's Crest (should fit in top half of screen) (Chapter 7)
|
||||||
|
|
||||||
|
"three interlocked bamboo sprays."
|
||||||
|
|
||||||
|
(This is pretty vague; doesn't say shape or color or anything.
|
||||||
|
However, I believe that Clavell told me the crest is identical to
|
||||||
|
Togugawa Ieyasu's -- he is the model for Toranaga)
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
In Shogun, you play the role of resourceful English seaman
|
||||||
|
John Blackthorne, Pilot-Major of the Dutch trader-warship
|
||||||
|
Erasmus, which is on a secret mission of trade and plunder
|
||||||
|
to the Spanish-dominated Pacific Ocean.
|
||||||
|
|
||||||
|
The year is 1600, and the powerful Catholic empire of Spain
|
||||||
|
and Portugal is locked in a death struggle with the upstart
|
||||||
|
Protestant nations of England and Holland. The Catholic
|
||||||
|
nations have spread their political and religious influence
|
||||||
|
across the world, reaching as far as China and the almost
|
||||||
|
mythical land of Japan, extracting great wealth in spices
|
||||||
|
and precious metals. Their extensive knowledge of the Asian
|
||||||
|
seaways is highly secret information coveted by English and
|
||||||
|
Dutch traders. But while the European powers battle each
|
||||||
|
other, a longer and even more vicious struggle is raging among
|
||||||
|
the feudal lords of Japan.
|
||||||
|
|
||||||
|
After hundreds of years of anarchy, Japan was unified by the
|
||||||
|
great warrior Nakamura, who became Taiko, or military ruler.
|
||||||
|
But the Taiko has died, leaving as heir a seven-year-old
|
||||||
|
boy, and a five-man Council of Regents to rule in his name.
|
||||||
|
The dominant figures on the Council are Lord Toranaga and
|
||||||
|
Lord Ishido. Each is a daimyo: powerful warrior-rulers who
|
||||||
|
follow the ancient samurai traditions. Each harbors the
|
||||||
|
ambition to be Shogun: supreme ruler under the divine but
|
||||||
|
nearly powerless Emperor.
|
||||||
|
|
||||||
|
Toranaga and Ishido are each backed by lesser daimyos and
|
||||||
|
hordes of samurai. They jockey for position, nearly
|
||||||
|
evenly matched, looking for any way of bolstering their
|
||||||
|
chances. Perhaps the Jesuits will swing their support behind
|
||||||
|
one candidate, or hostages will neutralize a powerful
|
||||||
|
supporter. The balance is delicate, and the appearance of the
|
||||||
|
Erasmus creates excitement and new possibilities.
|
||||||
|
|
||||||
|
It is into the center of this momentous conflict that you,
|
||||||
|
John Blackthorne, have been thrown, and soon you discover
|
||||||
|
that the perils of the sea are almost trifling compared to
|
||||||
|
the danger and intrigue among the samurai lords of Japan.
|
||||||
|
|
||||||
|
Life in Japan can be a hazardous affair. If you choose the
|
||||||
|
wrong friends or confidants, you may find your head detached
|
||||||
|
from your body. But strict adherence to the rules of
|
||||||
|
etiquette, some judicious questions, and careful listening
|
||||||
|
will enhance your pleasure, prestige, and prospects for
|
||||||
|
survival.
|
||||||
|
|
||||||
|
Shogun is one of a new family of Infocom stories which
|
||||||
|
utilize vivid graphics to enhance the story. So now, along
|
||||||
|
with the quality interactive fiction that you've come to
|
||||||
|
expect from Infocom, you can also expect beautiful artwork
|
||||||
|
as well. You'll find that the art in Shogun is tied very
|
||||||
|
closely to the story and gives you a "fine-focus" on the
|
||||||
|
mood or locale as you play the role of John Blackthorne.
|
|
@ -0,0 +1,75 @@
|
||||||
|
-sama Sir
|
||||||
|
-san Mister
|
||||||
|
Anata wa yoku nemutta ka? Did you sleep well?
|
||||||
|
Anata wa? And you?
|
||||||
|
Arigato Thank you
|
||||||
|
Arigato goziemashita Thank you (from an inferior)
|
||||||
|
Bushido Way of the Warrior
|
||||||
|
Daimyo Lord
|
||||||
|
Do itashimashite It's nothing
|
||||||
|
Doko no kuni no monoda? What's your nationality?
|
||||||
|
Domo Thank you
|
||||||
|
Dozo Please
|
||||||
|
Ga matsu Wait
|
||||||
|
Genki desu Quite well
|
||||||
|
Gomen nasai So sorry
|
||||||
|
Gyoi
|
||||||
|
Haha-san Mother
|
||||||
|
Hai Yes
|
||||||
|
Hai? What?
|
||||||
|
Hitachi We
|
||||||
|
Hombun Duty
|
||||||
|
Honto Truth
|
||||||
|
Hotte oke!
|
||||||
|
Ii Good
|
||||||
|
Ikaga desu ka How are you?
|
||||||
|
Ikamasho
|
||||||
|
Ikimasho ka? ?Leave?
|
||||||
|
Ima Now
|
||||||
|
Ima hara hette wa oranu I'm not hungry now
|
||||||
|
Ishimasho!
|
||||||
|
Isogi Quickly
|
||||||
|
Isogi! Hurry up!
|
||||||
|
Iye No
|
||||||
|
Kami Spirit
|
||||||
|
Kare ni matsu yoni
|
||||||
|
Keirei Salute
|
||||||
|
Kinjiru Forbidden
|
||||||
|
Konbanwa Good evening
|
||||||
|
Konnichi wa Good day
|
||||||
|
Kotaba shirimasen I don't know the words
|
||||||
|
Kowa jozuni shabereru yoni natta na You're learning to speak Japanese very well
|
||||||
|
Mate Wait
|
||||||
|
Matsu Patience
|
||||||
|
Miru Watch
|
||||||
|
Mizu Water
|
||||||
|
Nan yo yoda?
|
||||||
|
Nanda?
|
||||||
|
Nane mo It's nothing
|
||||||
|
Nanigoto da? ?
|
||||||
|
Nihon go ga hanase-masen I don't speak Japanese
|
||||||
|
Oba-san MotherOhayo ?Hello
|
||||||
|
Ohayo Good day
|
||||||
|
Okagasama de genki desu Very well, thank you
|
||||||
|
Okiro Get up
|
||||||
|
Onna Woman
|
||||||
|
Onushi ittai doko kara kitanoda? Where are you from?
|
||||||
|
Shigata ga nai There's nothing that can be done
|
||||||
|
Shinpai suruna Don't worry
|
||||||
|
Shunjin Prisoner
|
||||||
|
So desu Well; Really
|
||||||
|
Sonata wa oyogitamo ka? ?Do you want to swim?
|
||||||
|
Suwaru Sit down
|
||||||
|
Tai-fun Typhoon
|
||||||
|
Taihenyoi Very good
|
||||||
|
Tsuma Wife
|
||||||
|
Tsuyuku ga imasu ka? Do you have an interpreter?
|
||||||
|
Ugoku na ?Stop
|
||||||
|
Wakarimasen I don't understand
|
||||||
|
Wakarimasu I understand
|
||||||
|
Wakarimasu ka? Do you understand?
|
||||||
|
Watakushi I
|
||||||
|
Watashi wa yoku nemutta I slept very well
|
||||||
|
Yoi Good
|
||||||
|
Yokoso oide kudasareta Welcome to my house
|
||||||
|
Yukimasu Go
|
|
@ -0,0 +1,139 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT OCHIBA>
|
||||||
|
<ROOM OCHIBA-ROOM (LOC ROOMS) (SCENE S-OCHIBA) (SCORE 3) (DESC "Reception Room"
|
||||||
|
) (SYNONYM ROOM) (ADJECTIVE RECEPTION) (FDESC
|
||||||
|
"Your feet take you under the final portcullis and your escorts lead
|
||||||
|
you up to the huge door. Here they leave you alone. Desperate for
|
||||||
|
any distraction from the ordeal to come, you admire the camellia blossom
|
||||||
|
Mariko took from a vase in your quarters and gave to you. The flower is
|
||||||
|
reassuring. Not everyone here in Osaka is an enemy.|
|
||||||
|
|
|
||||||
|
You stand rigid for a moment, petrified with
|
||||||
|
nervousness. What if you disgrace yourself? What if you slip or your
|
||||||
|
swords fall or your limited Japanese fails you. You take a deep breath
|
||||||
|
and walk forward into the flare-lit maw.") (LDESC
|
||||||
|
"It is an immense, high-raftered room with a golden ornamented
|
||||||
|
ceiling. Gold-paneled columns support the rafters, which are made of rare and
|
||||||
|
polished woods. Five hundred samurai and their ladies are here, wearing
|
||||||
|
all the colors of the rainbow. To one side is a line of guests who wait
|
||||||
|
to bow before the raised platform at the far end.") (FLAGS ONBIT) (ACTION
|
||||||
|
OCHIBA-ROOM-F)>
|
||||||
|
<DEFINE-ROUTINE OCHIBA-ROOM-F>
|
||||||
|
<DEFINE-ROUTINE NOT-A-BARBARIAN?>
|
||||||
|
<OBJECT CAMELLIA (DESC "camellia blossom") (SYNONYM BLOSSOM FLOWER CAMELLIA) (
|
||||||
|
ADJECTIVE CAMELLIA PINK) (FLAGS TAKEBIT SCOREBIT) (ACTION CAMELLIA-F)>
|
||||||
|
<DEFINE-ROUTINE CAMELLIA-F>
|
||||||
|
<GLOBAL OCHIBA-QUESTION <>>
|
||||||
|
<DEFINE-ROUTINE I-OCHIBA>
|
||||||
|
<GLOBAL OCHIBA-CNT 0 %<> WORD>
|
||||||
|
<OBJECT OCHIBA (LOC OCHIBA-ROOM) (DESC "Lady Ochiba") (SYNONYM OCHIBA LADY) (
|
||||||
|
ADJECTIVE LADY) (FLAGS PERSON JAPANESEBIT NOABIT FEMALE) (DESCFCN OCHIBA-DESC)
|
||||||
|
(ACTION OCHIBA-F)>
|
||||||
|
<DEFINE-ROUTINE OCHIBA-DESC>
|
||||||
|
<DEFINE-ROUTINE OCHIBA-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT DEPARTURE>
|
||||||
|
<DEFINE-ROUTINE DEPARTURE-AFTER-F>
|
||||||
|
<DEFINE-ROUTINE I-DEPARTURE>
|
||||||
|
<GLOBAL DEPARTURE-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL YAMAZAKI-ATTACK <>>
|
||||||
|
<GLOBAL YAMAZAKI-ATTACKS <LTABLE 0
|
||||||
|
"The Captain leaps forward, his sword a whirling arc directed at your
|
||||||
|
head!" "The Captain swings his sword, chopping viciously at your knees."
|
||||||
|
"The Captain charges at you, his sword pointed straight at your belly."
|
||||||
|
"The Captain screams \"Yaemon!\" and begins an overhand blow toward
|
||||||
|
your head.">>
|
||||||
|
<OBJECT YAMAZAKI (SCENE S-DEPARTURE) (DESC "Yamazaki") (SYNONYM GRAY CAPTAIN
|
||||||
|
LEADER YAMAZAKI DANZENJI) (ADJECTIVE GRAY) (FLAGS PERSON NOABIT NOTHEBIT
|
||||||
|
SCOREBIT) (HEALTH 4) (GENERIC GENERIC-CAPTAIN-F) (ACTION YAMAZAKI-F)>
|
||||||
|
<DEFINE-ROUTINE YAMAZAKI-F>
|
||||||
|
<CONSTANT SWORD-ATTACKS <LTABLE 0
|
||||||
|
"You swing, wishing for luck, for good karma, for a pistol, by
|
||||||
|
God! He parries, but the force of your blow is strong, and the tip
|
||||||
|
manages to carve into his wrist."
|
||||||
|
"You hold the blade before you, stabbing almost wildly with it, wondering
|
||||||
|
why his attack is so formal. You see an opening and plunge madly
|
||||||
|
forward, wounding him in the chest."
|
||||||
|
"You interpose your blade, and there is a ringing, almost bell-like
|
||||||
|
crash as they meet. You slide your blade around and manage to wound
|
||||||
|
him. He seems almost surprised."
|
||||||
|
"Leaping and yelling, you charge him, and in an astonishing flurry he
|
||||||
|
fights back, executing a daring turn and riposte, but he's off balance
|
||||||
|
and you slice the back of his calf.">>
|
||||||
|
<OBJECT KOJIMA (SCENE S-DEPARTURE) (DESC "Kojima") (SYNONYM CAPTAIN LEADER
|
||||||
|
KOJIMA) (ADJECTIVE GRAY) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT) (HEALTH 4)
|
||||||
|
(GENERIC GENERIC-CAPTAIN-F) (ACTION KOJIMA-F)>
|
||||||
|
<DEFINE-ROUTINE KOJIMA-F>
|
||||||
|
<GLOBAL DELAYING-FIGHT? 0>
|
||||||
|
<DEFINE-ROUTINE CAPTAIN-KILLS-YOU>
|
||||||
|
<DEFINE-ROUTINE I-FIGHT>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<ROOM FORMAL-GARDEN (LOC ROOMS) (SCENE S-SEPPUKU S-ESCAPE) (DESC
|
||||||
|
"Formal Garden") (SYNONYM GARDEN) (ADJECTIVE FORMAL) (SCORE 1) (FDESC
|
||||||
|
"In a sudden hush, Mariko's maid Chimmoko comes out of the small gates
|
||||||
|
to the garden and walks over to you and bows. \"Anjin-san, please excuse
|
||||||
|
me, my Mistress wishes to see you. I will escort you.\"|
|
||||||
|
|
|
||||||
|
You get up, still deep in your reverie and your overpowering sense of
|
||||||
|
doom. The shadows are long now.|
|
||||||
|
|
|
||||||
|
Chimmoko goes over to Sumiyori. \"Please excuse me, Captain, but my Lady
|
||||||
|
asks you to please prepare everything.\"|
|
||||||
|
|
|
||||||
|
\"Where does she want it done?\"|
|
||||||
|
|
|
||||||
|
The maid points to the space in front of the arch. \"There, Sire.\"|
|
||||||
|
|
|
||||||
|
Sumiyori is startled. \"It's to be in public? She's doing it for all
|
||||||
|
to see? But, well ... what about her second?\"|
|
||||||
|
|
|
||||||
|
\"She believes Lord Kiyama will honor her.\"|
|
||||||
|
|
|
||||||
|
\"And if he doesn't?\"|
|
||||||
|
|
|
||||||
|
\"I don't know, Captain. She hasn't told me.\" Chimmoko bows and then
|
||||||
|
goes back to the gates and beckons you. The Grays begin to follow but
|
||||||
|
Chimmoko shakes her head and says her mistress had not bidden
|
||||||
|
them. They allow you to leave and you follow the servant into the garden.") (
|
||||||
|
LDESC "It is like a different world within the garden gates, verdant and serene,
|
||||||
|
the sun on the treetops, birds chattering and insects foraging, the brook
|
||||||
|
falling sweetly into the lily pond. A tiny thatch-roofed tea house is
|
||||||
|
beside the garden gate. The courtyard of the keep, a world away, is to the
|
||||||
|
east.") (EAST TO COURTYARD IF GARDEN-GATE IS OPEN) (OUT TO COURTYARD IF
|
||||||
|
GARDEN-GATE IS OPEN) (NORTH TO TEA-HOUSE) (IN TO TEA-HOUSE) (FLAGS ONBIT
|
||||||
|
OUTSIDE) (GLOBAL GARDEN-GATE TEA-HOUSE) (ACTION FORMAL-GARDEN-F)>
|
||||||
|
<DEFINE-ROUTINE FORMAL-GARDEN-F>
|
||||||
|
<OBJECT GARDEN-GATE (LOC LOCAL-GLOBALS) (DESC "garden gate") (SYNONYM GATE) (
|
||||||
|
ADJECTIVE GARDEN) (FLAGS DOORBIT)>
|
||||||
|
<OBJECT LILY-POND (LOC FORMAL-GARDEN) (DESC "lily pond") (SYNONYM POND WATER) (
|
||||||
|
ADJECTIVE LILY) (FLAGS NDESCBIT VEHBIT) (ACTION LILY-POND-F)>
|
||||||
|
<DEFINE-ROUTINE LILY-POND-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
<DEFINE-ROUTINE SEPPUKU-EXAMINE-MARIKO>
|
||||||
|
<DEFINE-ROUTINE SEPPUKU-TAKE-MARIKO>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<ROOM TEA-HOUSE (LOC ROOMS) (SCENE S-SEPPUKU S-ESCAPE S-DEPARTURE S-MARIKO) (
|
||||||
|
DESC "Tea House") (LDESC
|
||||||
|
"The tea house is small, simple, and immaculate. The doorway is small
|
||||||
|
so that all will be humble, equal, the host and guest, the most high
|
||||||
|
Lord and the merest samurai.") (SYNONYM HOUSE HUT) (ADJECTIVE LITTLE TEA
|
||||||
|
CHA-NO-YU) (OUT TO FORMAL-GARDEN) (SOUTH TO FORMAL-GARDEN) (FLAGS ONBIT OUTSIDE
|
||||||
|
) (ACTION TEA-HOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE TEA-HOUSE-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
<OBJECT GREEN-RIBBON (OWNER MARIKO) (DESC "green silk ribbon") (SYNONYM RIBBON)
|
||||||
|
(ADJECTIVE GREEN SILK) (FLAGS TAKEBIT) (ACTION GREEN-RIBBON-F)>
|
||||||
|
<DEFINE-ROUTINE GREEN-RIBBON-F>
|
||||||
|
<OBJECT SUMIYORI (SCENE S-SEPPUKU) (DESC "Sumiyori") (SYNONYM BROWN CAPTAIN
|
||||||
|
LEADER SUMIYORI) (ADJECTIVE CAPTAIN BROWN) (FLAGS PERSON NOABIT NOTHEBIT) (
|
||||||
|
ACTION SUMIYORI-F)>
|
||||||
|
<DEFINE-ROUTINE SUMIYORI-F>
|
||||||
|
<DEFINE-ROUTINE I-SEPPUKU>
|
||||||
|
<GLOBAL SEPPUKU-CNT 0 %<> WORD>
|
||||||
|
<GLOBAL MARIKO-WON-FLAG <>>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,772 @@
|
||||||
|
|
||||||
|
.SEGMENT "OCHIBA"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT OCHIBA-ROOM-F:ANY:1:1,RARG
|
||||||
|
EQUAL? RARG,M-SCENE-SETUP \?CCL3
|
||||||
|
ICALL1 DRESS-BLACKTHORNE
|
||||||
|
MOVE CAMELLIA,BLACKTHORNE
|
||||||
|
MOVE SWORDS,BLACKTHORNE
|
||||||
|
FSET SWORDS,WEARBIT
|
||||||
|
FSET SWORDS,RMUNGBIT
|
||||||
|
MOVE ISHIDO,OCHIBA-ROOM
|
||||||
|
MOVE OCHIBA,OCHIBA-ROOM
|
||||||
|
CALL QUEUE,I-OCHIBA,-1
|
||||||
|
RSTACK
|
||||||
|
?CCL3: EQUAL? RARG,M-BEG \FALSE
|
||||||
|
EQUAL? PRSA,V?BOW,V?HELLO,V?KONNICHI-WA /?PRD12
|
||||||
|
EQUAL? PRSA,V?KONBANWA \?PRD10
|
||||||
|
?PRD12: EQUAL? PRSO,FALSE-VALUE,OCHIBA,ISHIDO /?CTR7
|
||||||
|
?PRD10: EQUAL? PRSA,V?KNEEL \?CCL8
|
||||||
|
?CTR7: FSET? BLACKTHORNE,TRYTAKEBIT \?CCL17
|
||||||
|
EQUAL? PRSA,V?HELLO,V?KONNICHI-WA,V?KONBANWA \?CCL20
|
||||||
|
EQUAL? PRSO,OCHIBA,FALSE-VALUE \?CCL20
|
||||||
|
SET 'WINNER,OCHIBA
|
||||||
|
ICALL2 PERFORM,V?HELLO
|
||||||
|
SET 'WINNER,PLAYER
|
||||||
|
RTRUE
|
||||||
|
?CCL20: PRINTR "You have already bowed to the hosts."
|
||||||
|
?CCL17: FSET? OCHIBA,RMUNGBIT \?CCL24
|
||||||
|
FSET BLACKTHORNE,TRYTAKEBIT
|
||||||
|
ICALL1 B-STAND
|
||||||
|
PRINTI "In front of the platform, you kneel and bow formally as you have seen the others do, once to Ochiba and once to Ishido.You then stand and walk forward."
|
||||||
|
FSET? SWORDS,WEARBIT \?CND25
|
||||||
|
FSET? SWORDS,RMUNGBIT \?CND25
|
||||||
|
FCLEAR SWORDS,RMUNGBIT
|
||||||
|
FCLEAR SWORDS,WEARBIT
|
||||||
|
MOVE SWORDS,HERE
|
||||||
|
PRINTR "Suddenly, just as you had feared, your sword belt comes loose and your swords clatter to the floor.You turn red, scrambling for them on the ground, and Ishido begins a swelling round of humiliating laughter."
|
||||||
|
?CND25: CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL24: PRINTR "You must be very nervous: you aren't at the front of the line yet!"
|
||||||
|
?CCL8: EQUAL? PRSA,V?CURSE \?CCL30
|
||||||
|
EQUAL? PRSO,ISHIDO,OCHIBA \?CCL30
|
||||||
|
PRINTI "You insult "
|
||||||
|
ICALL1 DPRINT-PRSO
|
||||||
|
PRINTR ", forfeiting any gain you might have gotten from the exchange."
|
||||||
|
?CCL30: CALL1 ACT-CRAZY?
|
||||||
|
ZERO? STACK /?CCL34
|
||||||
|
EQUAL? QCONTEXT,ISHIDO \?CCL37
|
||||||
|
PRINTR "Ishido stares at you.""This is what I meant!"""
|
||||||
|
?CCL37: PRINTR "Ochiba looks disgusted."
|
||||||
|
?CCL34: CALL1 HOSTILE-VERB?
|
||||||
|
ZERO? STACK \?CCL39
|
||||||
|
EQUAL? PRSA,V?DRAW,V?PICK,V?USE /?PRD43
|
||||||
|
EQUAL? PRSA,V?TAKE \FALSE
|
||||||
|
?PRD43: EQUAL? PRSO,SWORDS \FALSE
|
||||||
|
?CCL39: PRINTR "Such a foolish action would surely lead to your immediate death."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT NOT-A-BARBARIAN?:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?BE \FALSE
|
||||||
|
EQUAL? PRSO,BLACKTHORNE,ME \FALSE
|
||||||
|
CALL1 P-NEGATIVE?
|
||||||
|
ZERO? STACK /?CCL8
|
||||||
|
EQUAL? PRSI,GLOBAL-BARBARIAN,CRAZY /TRUE
|
||||||
|
RFALSE
|
||||||
|
?CCL8: EQUAL? PRSI,GLOBAL-SAMURAI,GLOBAL-HATAMOTO /TRUE
|
||||||
|
EQUAL? PRSI,INTADJ \FALSE
|
||||||
|
GET PARSE-RESULT,11
|
||||||
|
EQUAL? STACK,W?SAMURAI /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CAMELLIA-F:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||||
|
PRINTR "This is a particularly beautiful pink camellia blossom that you cut from a tree in the garden.It is at the peak of its beauty."
|
||||||
|
?CCL3: EQUAL? PRSA,V?GIVE \FALSE
|
||||||
|
EQUAL? PRSO,CAMELLIA \FALSE
|
||||||
|
EQUAL? PRSI,OCHIBA \FALSE
|
||||||
|
FSET? BLACKTHORNE,TRYTAKEBIT /?CCL11
|
||||||
|
PRINTR "Ochiba recoils from the unaccustomed familiarity.You haven't even greeted her properly.""His manners are barbaric,"" she says to Ishido, with sadness."
|
||||||
|
?CCL11: REMOVE CAMELLIA
|
||||||
|
ICALL2 SCORE-OBJECT,CAMELLIA
|
||||||
|
PRINTR """In my land we are ruled by a Queen.We have the custom to always give a Lady a birthday gift.Even a Queen.Please excuse if this is not good manners.""She looks at the flower.Five hundred people wait to see how she will respond to your gallantry and daring.
|
||||||
|
|
||||||
|
""I am not a Queen, Anjin-san, only the mother of the Heir and widow of the Lord Taiko.I cannot accept your gift as a Queen, but as a Lady on her birthday, perhaps I may ask everyone's permission to accept the gift?""
|
||||||
|
|
||||||
|
The room bursts into applause."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-OCHIBA:ANY:0:0
|
||||||
|
INC 'DELAY-CNT
|
||||||
|
EQUAL? OCHIBA-CNT,2 \?CCL5
|
||||||
|
FSET? BLACKTHORNE,TRYTAKEBIT /?CND3
|
||||||
|
GRTR? DELAY-CNT,4 \?CCL10
|
||||||
|
CRLF
|
||||||
|
PRINTI "Ishido stands, bows to Lady Ochiba, and asks, ""With your permission, Lady, I will remove this insult to your person."""
|
||||||
|
CRLF
|
||||||
|
ICALL1 JIGS-UP
|
||||||
|
RETURN M-FATAL
|
||||||
|
?CCL10: CRLF
|
||||||
|
PRINTR "Every eye is on you as you stand before Ochiba.Every breath is held."
|
||||||
|
?CCL5: EQUAL? OCHIBA-CNT,4 \?CCL12
|
||||||
|
EQUAL? OCHIBA-QUESTION,1 \?CND3
|
||||||
|
GRTR? DELAY-CNT,2 \?CCL17
|
||||||
|
SET 'OCHIBA-QUESTION,FALSE-VALUE
|
||||||
|
CRLF
|
||||||
|
PRINTR """Ah, I suppose what we have heard is not true, then.He must not truly speak our language.""She turns to Ishido and smiles."
|
||||||
|
?CCL17: CRLF
|
||||||
|
PRINTR """Is it true that you speak our language, Anjin-san?"" she asks in a friendly way, using the Japanese that you can barely understand."
|
||||||
|
?CCL12: EQUAL? OCHIBA-CNT,7 \?CND3
|
||||||
|
EQUAL? OCHIBA-QUESTION,2 \?CND3
|
||||||
|
GRTR? DELAY-CNT,3 \?CCL23
|
||||||
|
SET 'OCHIBA-QUESTION,0
|
||||||
|
CRLF
|
||||||
|
PRINTR """Bah!It is clear he is a barbarian without honor!""Ishido turns away with a snort of dirision."
|
||||||
|
?CCL23: CRLF
|
||||||
|
PRINTI "Ishido continues to taunt you.""You are a barbarian.You "
|
||||||
|
ICALL2 PRINTUNDER,STR?590
|
||||||
|
PRINTR " are prone to fits of madness, as I've been told?""The room is hushed, everyone waiting to see how you will respond."
|
||||||
|
?CND3: SET 'DELAY-CNT,0
|
||||||
|
INC 'OCHIBA-CNT
|
||||||
|
EQUAL? OCHIBA-CNT,1 \?CCL26
|
||||||
|
CRLF
|
||||||
|
PRINTR "The procession of guests creeps forward, each politely bowing to Ochiba and greeting her on her birthday."
|
||||||
|
?CCL26: EQUAL? OCHIBA-CNT,2 \?CCL28
|
||||||
|
FSET OCHIBA,RMUNGBIT
|
||||||
|
CRLF
|
||||||
|
PRINTR "Ochiba is looking at you, and then Ishido is looking at you, too.Soon all conversation dies and everyone is watching you.The men and women ahead of you in line melt away and suddenly no one is between you and the platform."
|
||||||
|
?CCL28: EQUAL? OCHIBA-CNT,3 /TRUE
|
||||||
|
EQUAL? OCHIBA-CNT,4 \?CCL31
|
||||||
|
SET 'OCHIBA-QUESTION,1
|
||||||
|
SET 'QCONTEXT,OCHIBA
|
||||||
|
CRLF
|
||||||
|
PRINTI """Please wait, Anjin-san,"" says Ochiba.You feel the extraordinary sensuality that surrounds her, without conscious effort on her part."""
|
||||||
|
FSET? HANASE-MASEN,RMUNGBIT \?CCL34
|
||||||
|
PRINTR "You speak our language, then?"""
|
||||||
|
?CCL34: PRINTR "It is said that you speak our language?"""
|
||||||
|
?CCL31: EQUAL? OCHIBA-CNT,5 /TRUE
|
||||||
|
EQUAL? OCHIBA-CNT,6 \?CCL37
|
||||||
|
SET 'QCONTEXT,ISHIDO
|
||||||
|
CRLF
|
||||||
|
PRINTR "Ishido rudely interrupts.""When we last met, you were a madman.I hope you won't get mad tonight or any other night."""
|
||||||
|
?CCL37: EQUAL? OCHIBA-CNT,7 \?CCL39
|
||||||
|
SET 'QCONTEXT,ISHIDO
|
||||||
|
SET 'OCHIBA-QUESTION,2
|
||||||
|
CRLF
|
||||||
|
PRINTI """Such madness is usual among you barbarians, "
|
||||||
|
ICALL2 PRINTUNDER,STR?587
|
||||||
|
PRINTR """He emphasizes the word 'barbarians.' Such public rudeness to a guest is very bad.Lady Ochiba seems surprised."
|
||||||
|
?CCL39: EQUAL? OCHIBA-CNT,8 \?CCL41
|
||||||
|
MOVE MARIKO,HERE
|
||||||
|
CRLF
|
||||||
|
PRINTI """Mariko-san, your pupil does you credit, "
|
||||||
|
ICALL2 PRINTUNDER,STR?587
|
||||||
|
PRINTR """ calls out Ochiba.Mariko is coming through the guests.""I have done little, Ochiba-sama.It's all the Anjin-san's work and the word book that the Christian fathers gave him."""
|
||||||
|
?CCL41: EQUAL? OCHIBA-CNT,9 \?CCL43
|
||||||
|
CRLF
|
||||||
|
PRINTI "Ochiba turns to Mariko.""Now, Mariko-san, we must talk about the poetry competition!It will be held in two days, when Lord Toranaga leaves his own borders to journey here.What's the theme to be?And the first line of the poem?""Mariko is renowned as a poetess.
|
||||||
|
|
||||||
|
Mariko thinks a moment.""It should be about "
|
||||||
|
ICALL2 PRINTUNDER,STR?591
|
||||||
|
PRINTR ", Lady Ochiba, and the first line: 'On a leafless branch.'""
|
||||||
|
|
||||||
|
Ishido compliments her on her choice.""Excellent, but we'll have to be very good to compete with you, Mariko-san!"""
|
||||||
|
?CCL43: EQUAL? OCHIBA-CNT,10 \?CCL45
|
||||||
|
CRLF
|
||||||
|
PRINTR "Mariko continues, ""So sorry, Sire, but I will not be there.I'm leaving Osaka tomorrow with the Lady Kiritsubo and the Lady Sazuko, to meet Lord Toranaga.""
|
||||||
|
|
||||||
|
""Nonsense!"" replies Ishido.""He will be here so soon that to go to meet him isn't necessary.""
|
||||||
|
|
||||||
|
""So sorry, Sire, but those are the orders of my liege Lord.I must leave tomorrow.Am I confined here?And if so, on whose orders?""
|
||||||
|
|
||||||
|
Ishido keeps his eyes riveted on her.""No, you are not confined."""
|
||||||
|
?CCL45: EQUAL? OCHIBA-CNT,11 \?CCL47
|
||||||
|
CRLF
|
||||||
|
PRINTR "Many of the ladies in the room turn to their neighbors, and some whisper openly what all those held against their will in Osaka are thinking: 'If she can go, so can I, so can you!I'll leave tomorrow, too!'"
|
||||||
|
?CCL47: EQUAL? OCHIBA-CNT,12 \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTI "Mariko makes a half-bow to the room and leaves.Yabu steps forward with you and the two of you follow her out, very conscious that you are the only samurai present wearing Toranaga's uniform."
|
||||||
|
CRLF
|
||||||
|
CALL1 NEXT-SCENE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT OCHIBA-DESC:ANY:2:2,RARG,OBJ
|
||||||
|
EQUAL? RARG,M-OBJDESC? /TRUE
|
||||||
|
PRINTI "On the platform, alone, is the Lady Ochiba."
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT OCHIBA-F:ANY:0:1,RARG
|
||||||
|
EQUAL? RARG,M-SUBJ /FALSE
|
||||||
|
EQUAL? RARG,M-WINNER \?CCL5
|
||||||
|
EQUAL? PRSA,V?YES,V?HAI,V?NO /?CTR7
|
||||||
|
EQUAL? PRSA,V?IYE /?CTR7
|
||||||
|
EQUAL? PRSA,V?SAY \?PRD12
|
||||||
|
EQUAL? PRSO,JAPANESE /?CTR7
|
||||||
|
?PRD12: EQUAL? PRSA,V?NIHON-GO-GA \?CCL8
|
||||||
|
EQUAL? PRSO,HANASE-MASEN \?CCL8
|
||||||
|
?CTR7: EQUAL? OCHIBA-QUESTION,1 /?CTR18
|
||||||
|
EQUAL? PRSA,V?NIHON-GO-GA \?CCL19
|
||||||
|
EQUAL? PRSO,HANASE-MASEN \?CCL19
|
||||||
|
?CTR18: SET 'OCHIBA-QUESTION,FALSE-VALUE
|
||||||
|
EQUAL? PRSA,V?HAI,V?IYE,V?SPEAK /?CCL25
|
||||||
|
EQUAL? PRSA,V?NIHON-GO-GA \?CND24
|
||||||
|
?CCL25: FSET HANASE-MASEN,RMUNGBIT
|
||||||
|
?CND24: EQUAL? PRSA,V?NO,V?IYE \?CCL30
|
||||||
|
PRINTI """No, Highness.I have learned a few words and phrases, so that I may better be understood, however."
|
||||||
|
JUMP ?CND28
|
||||||
|
?CCL30: PRINTI """Please excuse me, Highness."
|
||||||
|
?CND28: PRINTR "I have to use short words and respectfully ask you to use simple words with me."""
|
||||||
|
?CCL19: PRINTR "She doesn't seem to be listening."
|
||||||
|
?CCL8: EQUAL? PRSA,V?HELLO \?CCL32
|
||||||
|
FSET? OCHIBA,TRYTAKEBIT /?CCL35
|
||||||
|
FSET OCHIBA,TRYTAKEBIT
|
||||||
|
PRINTR """May I respectfully congratulate you on your birthday and pray that you live to enjoy a thousand more."""
|
||||||
|
?CCL35: PRINTR "You have already congratulated her."
|
||||||
|
?CCL32: EQUAL? PRSA,V?THANK \?CCL37
|
||||||
|
EQUAL? PRSO,YOU \?CCL37
|
||||||
|
PRINTR """Domo, Ochiba-sama.""She acknowledges your thanks."
|
||||||
|
?CCL37: EQUAL? PRSA,V?NO /?CTR40
|
||||||
|
CALL1 NOT-A-BARBARIAN?
|
||||||
|
ZERO? STACK /?CCL41
|
||||||
|
?CTR40: PRINTR """This may be true, Anjin-san, but your manners are less than perfect."""
|
||||||
|
?CCL41: CALL1 WAKARIMASEN
|
||||||
|
RSTACK
|
||||||
|
?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL45
|
||||||
|
PRINTR "She is slight, almost girlish in build, with a luminous glow to her fair skin.She is at the peak of her beauty.Her sloe eyes are large under painted, arched brows, her hair set like a winged helmet.Her kimono is exquisitely rich, gold threads on the rarest blue-black silk.She sits comfortably on a cushion."
|
||||||
|
?CCL45: EQUAL? PRSA,V?WHO \FALSE
|
||||||
|
PRINTR "The Lady Ochiba is the widow of the Taiko, and the mother of the Heir, Yaemon.The rumors say that she is now the mistress of Lord Ishido.All Japan wonders if the Taiko, who had never before sired a child, was truly the Yaemon's father, but only Ochiba knows for sure."
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "DEPARTURE"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DEPARTURE-AFTER-F:ANY:0:0
|
||||||
|
PRINTI "Ishido and his supporters meet in Kiyama's opulent, overrich quarters.
|
||||||
|
|
||||||
|
""It's impossible, Lord General,"" Ochiba says.""You can't let a lady of her rank commit seppuku.So sorry, but you've been trapped.The hostages will have to be freed, and then there's nothing to stop Toranaga.""
|
||||||
|
|
||||||
|
""I agree,"" Lord Kiyama says forcefully.
|
||||||
|
|
||||||
|
""With due humility, Lady,"" Ishido replies, ""whatever I said or didn't say, doesn't matter an "
|
||||||
|
ICALL2 PRINTUNDER,STR?218
|
||||||
|
PRINTR "'s turd to her.She's already decided, at least Toranaga has.We are at war, Toranaga's not yet in our hands, and until he's dead the Heir is in total danger.""
|
||||||
|
|
||||||
|
He walks over to the window.""Suppose she's disarmed?Capture her!Confine her until Toranaga's in our hands, then the hostages don't matter.In eighteen days Toranaga has to be here!""
|
||||||
|
|
||||||
|
""You really think Lady Toda could be captured?"" Kiyama says.
|
||||||
|
|
||||||
|
""Yes,"" replies Ishido."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-DEPARTURE:ANY:0:0
|
||||||
|
INC 'DELAY-CNT
|
||||||
|
EQUAL? DEPARTURE-CNT,2 \?CND3
|
||||||
|
CALL2 QUEUED?,I-FIGHT
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
?CND3: SET 'DELAY-CNT,0
|
||||||
|
INC 'DEPARTURE-CNT
|
||||||
|
EQUAL? DEPARTURE-CNT,1 \?CCL9
|
||||||
|
MOVE YAMAZAKI,FORECOURT
|
||||||
|
ICALL2 THIS-IS-IT,YAMAZAKI
|
||||||
|
CRLF
|
||||||
|
PRINTR "Twenty Browns form up as a vanguard and move off.Porters pick up Mariko's palanquin and follow the Browns, Kiri and Lady Sazuko close behind.
|
||||||
|
|
||||||
|
When Mariko's palanquin comes into the sunlight, a Captain of Grays steps forward, standing directly in her way.""May I see your papers?"" he inquires.
|
||||||
|
|
||||||
|
Mariko says formally, ""We require none.I am Toda Mariko-noh-Buntaro and I have been ordered by my leige Lord, Lord Toranaga, to escort his ladies to meet him.Kindly let us pass.""
|
||||||
|
|
||||||
|
""My name is Yamazaki Danzenji, Captain of the Fourth Legion, and my line is as ancient as your own, my Lady.Please excuse me, but my leige Lord, Lord Ishido, says no one may leave Osaka Castle without papers.""
|
||||||
|
|
||||||
|
""So sorry, Captain, but if you do not move out of the way I will order you killed."""
|
||||||
|
?CCL9: EQUAL? DEPARTURE-CNT,2 \?CCL11
|
||||||
|
ICALL QUEUE,I-FIGHT,-1
|
||||||
|
SET 'OPPONENT,YAMAZAKI
|
||||||
|
CRLF
|
||||||
|
PRINT STR?592
|
||||||
|
PRINTR " the Gray Captain replies proudly.Mariko nods sadly.""Please kill him,"" she orders quietly, and at once the battle is joined.It is terrifyingly fair and formal, one Gray for each Brown and one for yourself."
|
||||||
|
?CCL11: EQUAL? DEPARTURE-CNT,3 \?CCL13
|
||||||
|
MOVE MARIKO,HERE
|
||||||
|
MOVE KOJIMA,HERE
|
||||||
|
SET 'OPPONENT,KOJIMA
|
||||||
|
ICALL2 THIS-IS-IT,KOJIMA
|
||||||
|
CRLF
|
||||||
|
PRINTR "Almost immediately, twenty more Browns run forward to form a new vanguard.From up ahead twenty more Grays move silently out from the hundreds that are waiting.
|
||||||
|
|
||||||
|
""Wait,"" Mariko orders.She steps out of her palanquin and picks up a sword, unsheaths it, and walks forward alone.She approaches the officer.""You know who I am.Please get out of my way.""
|
||||||
|
|
||||||
|
""I am Kojima Harutomo, Captain of the Sixth Legion.Please excuse me, you may not pass, Lady."""
|
||||||
|
?CCL13: EQUAL? DEPARTURE-CNT,4 \?CCL15
|
||||||
|
CRLF
|
||||||
|
PRINTR "Mariko darts forward but her blow is contained.The Gray stays on the defensive although he could kill her without effort.
|
||||||
|
|
||||||
|
Again Mariko tries to bring the Gray to battle, but he slides away, allowing her to exhaust herself.But he does this gravely, giving her every courtesy, giving her the honor that is her due.She knows she cannot last much longer.She sees how easy it would be for the massed Grays to cut them all off if they wish and leave them stranded and helpless.She breaks off the fight."
|
||||||
|
?CCL15: EQUAL? DEPARTURE-CNT,5 \?CCL17
|
||||||
|
SET 'OPPONENT,FALSE-VALUE
|
||||||
|
MOVE ISHIDO,HERE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Lord Ishido emerges from the crowd of Grays.""Lady Toda, the castle orders must be obeyed.But if you wish, I will call a meeting of the Regents and ask for a ruling.""
|
||||||
|
|
||||||
|
Mariko turns to Ishido and bows.""My orders are clear.If I am not permitted to obey, I will not be able to live with that shame."""
|
||||||
|
?CCL17: EQUAL? DEPARTURE-CNT,6 \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTI """These men have prevented me from doing my duty, from obeying my leige Lord.I cannot live with this shame, Sire.Unless we are allowed to obey our leige Lord, as is our right, I will commit seppuku at sunset!""
|
||||||
|
|
||||||
|
She bows and walks toward the gateway.All in the avenue and all on the battlements bow to her in homage.She goes into the garden, her footsteps taking her to the secluded, rustic little tea house.She goes inside and, once there, she weeps silently for all the men who have died."
|
||||||
|
CRLF
|
||||||
|
REMOVE KOJIMA
|
||||||
|
REMOVE YAMAZAKI
|
||||||
|
REMOVE MARIKOS-LITTER
|
||||||
|
CALL1 NEXT-SCENE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT YAMAZAKI-F:ANY:0:1,RARG,H
|
||||||
|
EQUAL? RARG,M-SUBJ /FALSE
|
||||||
|
EQUAL? RARG,M-WINNER \?CCL5
|
||||||
|
EQUAL? PRSA,V?WHO \?CCL8
|
||||||
|
EQUAL? PRSO,YAMAZAKI,YOU \?CCL8
|
||||||
|
PRINTR """My name is Yamazaki Danzenji, Captain of the Fourth Legion!"""
|
||||||
|
?CCL8: EQUAL? PRSA,V?STOP \?CCL12
|
||||||
|
PRINT STR?592
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL12: CALL1 WAKARIMASEN
|
||||||
|
RSTACK
|
||||||
|
?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL14
|
||||||
|
FSET? PRSO,DEAD \?CCL17
|
||||||
|
PRINTR "He is dead.You have killed him."
|
||||||
|
?CCL17: PRINT STR?274
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL14: EQUAL? PRSA,V?BOW \?CCL19
|
||||||
|
PRINTR "He looks you over carefully, considering his options."
|
||||||
|
?CCL19: CALL1 HOSTILE-VERB?
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
EQUAL? PRSA,V?BITE,V?PISS,V?SPIT /?CTR23
|
||||||
|
EQUAL? PRSA,V?KICK \?CCL24
|
||||||
|
?CTR23: PRINTR "He is clearly insulted that you would ever try such a barbaric action."
|
||||||
|
?CCL24: EQUAL? PRSO,YAMAZAKI \?PRD30
|
||||||
|
EQUAL? PRSI,SWORDS,FALSE-VALUE \?CTR27
|
||||||
|
?PRD30: EQUAL? PRSI,YAMAZAKI \?CCL28
|
||||||
|
EQUAL? PRSO,SWORDS,FALSE-VALUE /?CCL28
|
||||||
|
?CTR27: PRINTR "You aren't taking him very seriously, are you?"
|
||||||
|
?CCL28: FSET? YAMAZAKI,DEAD \?CCL36
|
||||||
|
PRINTR "You strike the already-dead Gray with your sword.The onlookers are shocked at this insult to a worthy opponent!"
|
||||||
|
?CCL36: FSET? YAMAZAKI,RMUNGBIT /?CCL38
|
||||||
|
CALL2 QUEUED?,I-FIGHT
|
||||||
|
ZERO? STACK /?CCL41
|
||||||
|
FSET YAMAZAKI,RMUNGBIT
|
||||||
|
FSET? SWORDS,WEARBIT \?CCL44
|
||||||
|
FCLEAR SWORDS,WEARBIT
|
||||||
|
PRINTR "You draw your sword, and the Captain bows to you and does the same."
|
||||||
|
?CCL44: SET 'DELAYING-FIGHT?,FALSE-VALUE
|
||||||
|
PRINTR "You strike at the Gray Captain, and he dodges expertly as he draws his sword.He is clearly shocked that you would attack him before he had a chance to draw his sword."
|
||||||
|
?CCL41: PRINTR """Not yet, Anjin-san!Wait for my order!"""
|
||||||
|
?CCL38: ZERO? YAMAZAKI-ATTACK \?CCL46
|
||||||
|
SET 'DELAYING-FIGHT?,FALSE-VALUE
|
||||||
|
PRINTR "You swing powerfully if somewhat inexpertly with your sword.The Captain parries."
|
||||||
|
?CCL46: SET 'DELAYING-FIGHT?,FALSE-VALUE
|
||||||
|
SET 'YAMAZAKI-ATTACK,FALSE-VALUE
|
||||||
|
GETP YAMAZAKI,P?HEALTH >H
|
||||||
|
DEC 'H
|
||||||
|
PUTP YAMAZAKI,P?HEALTH,H
|
||||||
|
CALL2 PICK-ONE,SWORD-ATTACKS
|
||||||
|
PRINT STACK
|
||||||
|
CRLF
|
||||||
|
ZERO? H \TRUE
|
||||||
|
FSET YAMAZAKI,DEAD
|
||||||
|
SET 'OPPONENT,FALSE-VALUE
|
||||||
|
GETP BROWNS,P?COUNT
|
||||||
|
ZERO? STACK \?CND49
|
||||||
|
ICALL2 DEQUEUE,I-FIGHT
|
||||||
|
?CND49: CRLF
|
||||||
|
PRINTI "The captain, slowed by pain and loss of blood, cannot even parry your next stroke, which skewers him like a lamb.He stares at you silently for a moment, then his eyes glaze and he falls to the ground, dead."
|
||||||
|
CRLF
|
||||||
|
ICALL2 SCORE-OBJECT,YAMAZAKI
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT KOJIMA-F:ANY:0:1,RARG
|
||||||
|
EQUAL? RARG,M-SUBJ /FALSE
|
||||||
|
EQUAL? RARG,M-WINNER \?CCL5
|
||||||
|
EQUAL? PRSA,V?WHO \?CCL8
|
||||||
|
EQUAL? PRSO,KOJIMA,YOU \?CCL8
|
||||||
|
PRINTR """My name is Kojima Harumoto, Captain of the Sixth Legion!"""
|
||||||
|
?CCL8: EQUAL? PRSA,V?STOP \?CCL12
|
||||||
|
PRINT STR?592
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL12: CALL1 WAKARIMASEN
|
||||||
|
RSTACK
|
||||||
|
?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL14
|
||||||
|
FSET? PRSO,DEAD \?CCL17
|
||||||
|
PRINTR "He is dead.Mariko has killed him."
|
||||||
|
?CCL17: PRINT STR?274
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL14: CALL1 HOSTILE-VERB?
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
FSET? KOJIMA,DEAD \?CCL22
|
||||||
|
PRINTR "You prepare to strike the already-dead Gray with your sword.Mariko says, ""No, Anjin-san.He was samurai.He was doing his duty."""
|
||||||
|
?CCL22: PRINTR "Mariko says, ""Anjin-san, this is my fight.You must not shame me by fighting this man.I am samurai, and this is my duty, and my honor."""
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CAPTAIN-KILLS-YOU:ANY:0:0
|
||||||
|
CRLF
|
||||||
|
CALL2 JIGS-UP,STR?601
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-FIGHT:ANY:0:0,B
|
||||||
|
GETP BROWNS,P?COUNT >B
|
||||||
|
FSET? YAMAZAKI,DEAD /?CND1
|
||||||
|
INC 'DELAYING-FIGHT?
|
||||||
|
FSET? BLACKTHORNE,SITTING \?CCL5
|
||||||
|
GRTR? DELAYING-FIGHT?,4 \?CCL8
|
||||||
|
ICALL1 CAPTAIN-KILLS-YOU
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL8: CRLF
|
||||||
|
PRINTI "The Captain motions for you to stand and fight."
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL5: CALL2 HELD?,SWORDS
|
||||||
|
ZERO? STACK /?CTR9
|
||||||
|
FSET? SWORDS,WEARBIT \?CCL10
|
||||||
|
?CTR9: GRTR? DELAYING-FIGHT?,4 \?CCL15
|
||||||
|
ICALL1 CAPTAIN-KILLS-YOU
|
||||||
|
CRLF
|
||||||
|
ICALL2 JIGS-UP,STR?601
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL15: CRLF
|
||||||
|
PRINTI "The Captain waits for you to draw your sword."
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL10: FSET? YAMAZAKI,RMUNGBIT /?CCL18
|
||||||
|
FSET YAMAZAKI,RMUNGBIT
|
||||||
|
ICALL2 THIS-IS-IT,YAMAZAKI
|
||||||
|
SET 'OPPONENT,YAMAZAKI
|
||||||
|
CRLF
|
||||||
|
PRINTI "The Captain bows formally, draws his sword, and prepares to attack you."
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL18: ZERO? YAMAZAKI-ATTACK /?CCL20
|
||||||
|
CRLF
|
||||||
|
PRINTI "The Captain swings his sword at you, but oddly, at the last second he seems to adjust his attack so that you are only slightly cut, rather than sliced in two."
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL20: SET 'YAMAZAKI-ATTACK,TRUE-VALUE
|
||||||
|
CRLF
|
||||||
|
CALL2 PICK-ONE,YAMAZAKI-ATTACKS
|
||||||
|
PRINT STACK
|
||||||
|
CRLF
|
||||||
|
?CND1: ZERO? B /TRUE
|
||||||
|
RANDOM 7
|
||||||
|
SUB B,STACK >B
|
||||||
|
GRTR? B,0 /?CND23
|
||||||
|
SET 'B,0
|
||||||
|
?CND23: PUTP BROWNS,P?COUNT,B
|
||||||
|
ZERO? B \?CCL27
|
||||||
|
FSET? YAMAZAKI,DEAD \?CND28
|
||||||
|
ICALL2 DEQUEUE,I-FIGHT
|
||||||
|
?CND28: CRLF
|
||||||
|
PRINTR "It is now one to one, the last Brown, blood-stained and wounded, already the victor of four duels.The fresh Gray dispatches him easily and stands alone among the bodies."
|
||||||
|
?CCL27: CRLF
|
||||||
|
PRINTI "Each time a Gray falls, another calmly walks out of the waiting pack to join his comrades in the killing.It is now "
|
||||||
|
GET NUMBERS,B
|
||||||
|
PRINT STACK
|
||||||
|
PRINTI " Brown"
|
||||||
|
EQUAL? B,1 /?CCL32
|
||||||
|
PRINTR "s versus as many Grays."
|
||||||
|
?CCL32: PRINTR " versus one Gray."
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "ESCAPE"
|
||||||
|
|
||||||
|
.SEGMENT "SEPPUKU"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FORMAL-GARDEN-F:ANY:1:1,RARG
|
||||||
|
EQUAL? RARG,M-SCENE-SETUP \?CCL3
|
||||||
|
ICALL1 DRESS-BLACKTHORNE
|
||||||
|
ICALL QUEUE,I-SEPPUKU,-1
|
||||||
|
FSET FORTIFIED-GATE,OPENBIT
|
||||||
|
MOVE MARIKO,TEA-HOUSE
|
||||||
|
FCLEAR MARIKO,SCOREBIT
|
||||||
|
FSET GARDEN-GATE,OPENBIT
|
||||||
|
MOVE CHIMMOKO,HERE
|
||||||
|
MOVE YABU,FORECOURT
|
||||||
|
MOVE KIRITSUBO,FORECOURT
|
||||||
|
MOVE SUMIYORI,FORECOURT
|
||||||
|
MOVE ISHIDO,GENERIC-OBJECTS
|
||||||
|
RTRUE
|
||||||
|
?CCL3: EQUAL? RARG,M-ENTER \FALSE
|
||||||
|
EQUAL? SCENE,S-ESCAPE \TRUE
|
||||||
|
EQUAL? OHERE,COURTYARD \TRUE
|
||||||
|
IN? MARIKO,COURTYARD \TRUE
|
||||||
|
ICALL QUEUE,I-COME-BACK,6
|
||||||
|
PRINTI "As you enter the garden, Mariko calls to you ""Anjin-san, we are leaving soon.Come back!""You see her explain to Yabu what she said."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT LILY-POND-F:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||||
|
PRINTR "The lily pond glistens in the sun, its waters rippled by the gentle fall of water from the brook."
|
||||||
|
?CCL3: EQUAL? PRSA,V?BOARD,V?THROUGH \FALSE
|
||||||
|
PRINTR "To do so would disturb the serenity and peace of the garden and the pond."
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "SEPPUKU"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SEPPUKU-EXAMINE-MARIKO:ANY:0:0
|
||||||
|
PRINTR "She is kneeling, facing the doorway, freshly made up, lips crimson, immaculately coiffured, wearing a fresh kimono of somber blue edged with green, with a lighter green obi and a thin green ribbon for her hair."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SEPPUKU-TAKE-MARIKO:ANY:0:0
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN,TEA-HOUSE \?CCL3
|
||||||
|
PRINTR """No, Anjin-san, I cannot stop.This is my duty to our master.Only in this way may I expiate the sin of my father, and not die in shame."""
|
||||||
|
?CCL3: FSET? MARIKO,SCOREBIT \?CCL5
|
||||||
|
FSET? MARIKO,SITTING /?CCL5
|
||||||
|
MOVE MARIKO,WINNER
|
||||||
|
ICALL2 DEQUEUE,I-SEPPUKU
|
||||||
|
PRINTI "You decide that she has endured enough, proved enough, so you come forward and catch her in your arms as she falls, lift her up just as her mind leaves her.For a moment you stand there alone, proud that you alone decided.She rests like a broken doll in your arms.Then you carry her inside.No one moves or bars your path."
|
||||||
|
CRLF
|
||||||
|
ICALL2 SCORE-OBJECT,MARIKO
|
||||||
|
CALL1 NEXT-SCENE
|
||||||
|
RSTACK
|
||||||
|
?CCL5: CALL JIGS-UP?,J-SEPPUKU,STR?264
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
PRINTI "You come forward to try to help her."
|
||||||
|
CALL1 INTERRUPTED-SEPPUKU
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
.SEGMENT "ESCAPE"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TEA-HOUSE-F:ANY:1:1,RARG
|
||||||
|
EQUAL? RARG,M-BEG \?CCL3
|
||||||
|
EQUAL? PRSA,V?KISS \FALSE
|
||||||
|
EQUAL? PRSO,MARIKO \FALSE
|
||||||
|
PRINTR "You kiss her gently and tenderly."
|
||||||
|
?CCL3: EQUAL? RARG,M-ENTER \FALSE
|
||||||
|
EQUAL? SCENE,S-SEPPUKU \?CND11
|
||||||
|
ICALL2 THIS-IS-IT,MARIKO
|
||||||
|
SET 'QCONTEXT,MARIKO
|
||||||
|
PRINTI "You go forward alone."
|
||||||
|
?CND11: PRINTI "You "
|
||||||
|
FSET? SANDALS,WEARBIT \?CND13
|
||||||
|
FCLEAR SANDALS,WEARBIT
|
||||||
|
MOVE SANDALS,FORMAL-GARDEN
|
||||||
|
PRINTI "slip your feet out of your thongs and "
|
||||||
|
?CND13: PRINTI "walk up the three steps.You have to stoop, almost to your knees, to go through the tiny screened doorway."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "SEPPUKU"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT GREEN-RIBBON-F:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?DROP \?CCL3
|
||||||
|
FSET? PRSO,RMUNGBIT \?CCL3
|
||||||
|
CALL2 YOULL-HAVE-TO,STR?605
|
||||||
|
RSTACK
|
||||||
|
?CCL3: EQUAL? PRSA,V?TIE \?CCL7
|
||||||
|
EQUAL? PRSO,RIBBON \?CCL7
|
||||||
|
EQUAL? PRSI,FALSE-VALUE \?CCL7
|
||||||
|
CALL2 HELD?,PRSO
|
||||||
|
ZERO? STACK \?CCL13
|
||||||
|
PRINT STR?606
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL13: FSET? PRSO,RMUNGBIT /?CCL15
|
||||||
|
FSET PRSO,RMUNGBIT
|
||||||
|
PRINTR "You tie the ribbon to your sash in homage to Mariko's courage."
|
||||||
|
?CCL15: PRINT STR?131
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL7: EQUAL? PRSA,V?UNTIE \FALSE
|
||||||
|
CALL2 HELD?,PRSO
|
||||||
|
ZERO? STACK \?CCL20
|
||||||
|
PRINT STR?606
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL20: FSET? PRSO,RMUNGBIT \?CCL22
|
||||||
|
FCLEAR PRSO,RMUNGBIT
|
||||||
|
PRINTR "You untie the ribbon."
|
||||||
|
?CCL22: PRINT STR?131
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SUMIYORI-F:ANY:0:1,RARG
|
||||||
|
EQUAL? RARG,M-SUBJ /FALSE
|
||||||
|
EQUAL? RARG,M-WINNER \?CCL5
|
||||||
|
CALL1 WAKARIMASEN
|
||||||
|
RSTACK
|
||||||
|
?CCL5: EQUAL? PRSA,V?WHO \FALSE
|
||||||
|
PRINTR "Sumiyori is the senior officer of Toranaga's Browns in Osaka."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-SEPPUKU:ANY:0:0
|
||||||
|
INC 'DELAY-CNT
|
||||||
|
ZERO? SEPPUKU-CNT \?CCL5
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN,TEA-HOUSE /?CND3
|
||||||
|
MOVE CHIMMOKO,HERE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Mariko's servant Chimmoko urges you to return to the garden."
|
||||||
|
?CCL5: EQUAL? SEPPUKU-CNT,1 \?CCL9
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN \?CND3
|
||||||
|
MOVE CHIMMOKO,HERE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Chimmoko points imploringly at the tea house.""My mistress wishes to see you, please, Anjin-san,"" she says in the simplified Japanese that is all you can understand."
|
||||||
|
?CCL9: EQUAL? SEPPUKU-CNT,3 \?CND3
|
||||||
|
EQUAL? HERE,TEA-HOUSE /TRUE
|
||||||
|
?CND3: SET 'DELAY-CNT,0
|
||||||
|
INC 'SEPPUKU-CNT
|
||||||
|
EQUAL? SEPPUKU-CNT,1 \?CCL17
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN \FALSE
|
||||||
|
MOVE CHIMMOKO,HERE
|
||||||
|
CRLF
|
||||||
|
PRINTI "Chimmoko points to the little "
|
||||||
|
ICALL2 PRINTUNDER,STR?607
|
||||||
|
PRINTR " house."
|
||||||
|
?CCL17: EQUAL? SEPPUKU-CNT,2 \?CCL22
|
||||||
|
MOVE CHIMMOKO,FORMAL-GARDEN
|
||||||
|
EQUAL? HERE,TEA-HOUSE \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR """Thou,"" Mariko says in Latin, the language of love."
|
||||||
|
?CCL22: EQUAL? SEPPUKU-CNT,3 \?CCL27
|
||||||
|
MOVE MARIKO,FORMAL-GARDEN
|
||||||
|
EQUAL? HERE,TEA-HOUSE \?CCL30
|
||||||
|
CRLF
|
||||||
|
PRINTR "Chimmoko approaches.""It's time, Mistress.""
|
||||||
|
|
||||||
|
""Is everything ready?""Mariko asks.
|
||||||
|
|
||||||
|
""Yes, Mistress.""
|
||||||
|
|
||||||
|
""Wait for me beside the lily pond.""The footsteps go away.Mariko turns back to you and kisses you gently.She bows to you and goes through the doorway."
|
||||||
|
?CCL30: EQUAL? HERE,FORMAL-GARDEN \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Chimmoko enters the tea house, then re-emerges a moment later.Mariko follows her, and bows to you as she goes by."
|
||||||
|
?CCL27: EQUAL? SEPPUKU-CNT,4 \?CCL34
|
||||||
|
MOVE GREEN-RIBBON,FORMAL-GARDEN
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Mariko stops by the lily pond and undoes her obi and lets it fall.Chimmoko helps her out of her blue kimono.Beneath it Mariko wears the most brilliant white kimono and obi you have ever seen.It is a formal death kimono.She unties the green ribbon from her hair and casts it aside."
|
||||||
|
?CCL34: EQUAL? SEPPUKU-CNT,5 \?CCL39
|
||||||
|
FCLEAR COURTYARD,TOUCHBIT
|
||||||
|
MOVE MARIKO,COURTYARD
|
||||||
|
MOVE CHIMMOKO,COURTYARD
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN,FORECOURT,COURTYARD \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Clad completely in white, Mariko walks from the garden into the courtyard, never looking at you."
|
||||||
|
?CCL39: EQUAL? SEPPUKU-CNT,6 \?CCL44
|
||||||
|
FCLEAR FORECOURT,TOUCHBIT
|
||||||
|
MOVE MARIKO,FORECOURT
|
||||||
|
MOVE CHIMMOKO,FORECOURT
|
||||||
|
EQUAL? HERE,FORMAL-GARDEN,FORECOURT,COURTYARD \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Mariko walks to the gateway, where eight tatamis have been laid out in the center of the main gate."
|
||||||
|
?CCL44: EQUAL? SEPPUKU-CNT,7 \?CCL49
|
||||||
|
FSET MARIKO,SITTING
|
||||||
|
EQUAL? HERE,FORECOURT \?CCL52
|
||||||
|
CRLF
|
||||||
|
PRINTR "At a sign from Sumiyori everyone bows.Mariko bows to them.Four samurai come forward and spread a crimson coverlet over the tatamis.
|
||||||
|
|
||||||
|
Mariko goes to the crimson square and kneels in the center, in front of the tiny white cushion.Her right hand brings out her stiletto dagger from her white obi and she places it on the cushion in front of her.Mariko arranges the skirts of her kimono perfectly, Chimmoko helping her, tying a small white blanket around her waist with the cord.You know that this is to prevent her skirts being blooded and disarranged by her death throes."
|
||||||
|
?CCL52: EQUAL? HERE,COURTYARD \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Through the crowd to the south you can see Mariko in the forecourt preparing for her death."
|
||||||
|
?CCL49: EQUAL? SEPPUKU-CNT,8 \?CCL56
|
||||||
|
EQUAL? HERE,FORECOURT \?CCL59
|
||||||
|
CRLF
|
||||||
|
PRINTR "Serene and prepared, Mariko looks up at the castle donjon.Sun still dominates the upper story, glittering off the golden tiles.Rapidly the flaming light mounts the spire.Then it disappears.
|
||||||
|
|
||||||
|
Servants are lighting flares along the avenue.When they finish, they flee as quickly and silently as they arrived.
|
||||||
|
|
||||||
|
Mariko reaches forward and straightens the knife.She looks through the gateway to the far end of the avenue.It is as still and as empty as it had ever been."
|
||||||
|
?CCL59: EQUAL? HERE,COURTYARD \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "The crowd is such that you can no longer see Mariko."
|
||||||
|
?CCL56: EQUAL? SEPPUKU-CNT,9 \?CCL63
|
||||||
|
EQUAL? HERE,FORECOURT \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Mariko looks once again at the knife.She says ""Kasigi Yabu-sama!It seems Lord Kiyama has declined to assist me.Please, I would be honored if you would be my second.
|
||||||
|
|
||||||
|
""It is my honor,"" Yabu replies.He bows, gets to his feet, and stands behind her to her left.His sword sings as it slides from its scabbard.""I am ready, Lady,"" he says.
|
||||||
|
|
||||||
|
""Please wait until I make the second cut."""
|
||||||
|
?CCL63: EQUAL? SEPPUKU-CNT,10 \?CCL68
|
||||||
|
MOVE ISHIDO,FORECOURT
|
||||||
|
EQUAL? HERE,FORECOURT \?CCL71
|
||||||
|
ICALL2 MARGINAL-PIC,P-SEPPUKU
|
||||||
|
CRLF
|
||||||
|
PRINTR "With her right hand, Mariko makes the sign of the cross, then leans forward and takes the knife and touches it to her lips as though to taste the polished steel.She changes her grip and holds the knife firmly with her right hand under the left side of her throat.
|
||||||
|
|
||||||
|
Suddenly flares round the far end of the avenue.A retinue approaches.Ishido is at their head.
|
||||||
|
|
||||||
|
Mariko does not move the knife.Yabu is as still as a coiled spring.""Lady,"" he says, ""do you wait or are you continuing?I wish to be perfect for you."""
|
||||||
|
?CCL71: CRLF
|
||||||
|
PRINTR "You can hear a subdued whispering coming from all around."
|
||||||
|
?CCL68: EQUAL? SEPPUKU-CNT,11 \?CCL73
|
||||||
|
EQUAL? HERE,FORECOURT \?CCL76
|
||||||
|
CRLF
|
||||||
|
PRINTI """I wait ... we ... I""Her hand lowers the knife.Yabu lowers his sword and it hisses back into his scabbard.
|
||||||
|
|
||||||
|
Ishido stands at the gateway.""It's not sunset yet, Lady.Are you so keen to die?""
|
||||||
|
|
||||||
|
""No, Lord General.Just to obey my Lord ... "" She holds her hands together to stop their shaking.A rumble of anger goes through the Browns at Ishido's arrogant rudeness."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
PRINTI "Ishido says loudly, ""The Lady Ochiba begged the Regents on behalf of the Heir to make an exception in your case.Here are permits for you to leave at dawn tomorrow.""He shoves them into the hands of Sumiyori.
|
||||||
|
|
||||||
|
""Sire?"" Mariko says, without understanding, her voice threadbare."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
PRINTI """You are free to leave.At dawn,"" barks Ishido.
|
||||||
|
|
||||||
|
""And Kiritsubo-san and the Lady Sazuko?""
|
||||||
|
|
||||||
|
""Isn't that also part of your 'duty?' Their permits are there also."""
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
PRINTR "Ishido addresses the others.""Any ladies may apply, any samurai.I've said before, it's stupid to leave for seventeen days, it's insulting to flout the Heir's welcome ..."" -- his ruthless gaze goes back to Mariko -- ""or to pressure them with threats of seppuku!"""
|
||||||
|
?CCL76: CRLF
|
||||||
|
PRINTI "You can hear a building, burgeoning noise from all around the forecourt."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
PRINTR "As suddenly as it started, the noise ceases."
|
||||||
|
?CCL73: EQUAL? SEPPUKU-CNT,12 \?CCL78
|
||||||
|
MOVE ISHIDO,GENERIC-OBJECTS
|
||||||
|
EQUAL? HERE,FORECOURT \?CCL81
|
||||||
|
CRLF
|
||||||
|
PRINTR "Ishido turns on his heel, shouts an order to the Grays, and walks off."
|
||||||
|
?CCL81: CRLF
|
||||||
|
PRINTR "From the forecourt you can hear the sound of marching feet."
|
||||||
|
?CCL78: EQUAL? SEPPUKU-CNT,13 \?CCL83
|
||||||
|
FSET MARIKO,SCOREBIT
|
||||||
|
SET 'MARIKO-WON-FLAG,TRUE-VALUE
|
||||||
|
FCLEAR MARIKO,SITTING
|
||||||
|
EQUAL? HERE,FORECOURT \FALSE
|
||||||
|
CRLF
|
||||||
|
PRINTR "Yabu turns to Mariko.""Lady, it's over now.You've ... you've won.You've won.""
|
||||||
|
|
||||||
|
Mariko tries to grope to her feet.She fails.She tries a second time.Again she fails.Her hands go to the crimson again, and this time she forces herself upright.She wavers and almost falls, then her feet move and slowly she totters across the crimson, reeling helplessly toward the main door."
|
||||||
|
?CCL83: EQUAL? SEPPUKU-CNT,14 \FALSE
|
||||||
|
EQUAL? HERE,FORECOURT \?CCL91
|
||||||
|
CRLF
|
||||||
|
PRINTI "Mariko teeters helplessly, unable to move forward any further.There is a hushed silence, everyone in the forecourt watching her.She falls to the ground."
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND89
|
||||||
|
?CCL91: CRLF
|
||||||
|
PRINTI "From the forecourt is hushed silence, as though all of Osaka is waiting for something, and then a sigh, just barely audible though thousands of throats make it, comes over the walls."
|
||||||
|
CRLF
|
||||||
|
?CND89: CALL1 NEXT-SCENE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
79
mariko.zil
79
mariko.zil
|
@ -70,7 +70,7 @@ walk forward.">
|
||||||
<FCLEAR ,SWORDS ,WEARBIT>
|
<FCLEAR ,SWORDS ,WEARBIT>
|
||||||
<MOVE ,SWORDS ,HERE>
|
<MOVE ,SWORDS ,HERE>
|
||||||
<TELL
|
<TELL
|
||||||
" Suddenly, just as you had feared, your sword belt comes loose and
|
"Suddenly, just as you had feared, your sword belt comes loose and
|
||||||
your swords clatter to the floor. You turn red, scrambling for them
|
your swords clatter to the floor. You turn red, scrambling for them
|
||||||
on the ground, and Ishido begins a swelling round of humiliating
|
on the ground, and Ishido begins a swelling round of humiliating
|
||||||
laughter.">)>
|
laughter.">)>
|
||||||
|
@ -93,6 +93,18 @@ from the exchange." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"Such a foolish action would surely lead to your immediate death." CR>)>)>>
|
"Such a foolish action would surely lead to your immediate death." CR>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE NOT-A-BARBARIAN? ()
|
||||||
|
<COND (<P? BE (BLACKTHORNE ME)>
|
||||||
|
<COND (<P-NEGATIVE?>
|
||||||
|
<COND (<PRSI? GLOBAL-BARBARIAN CRAZY>
|
||||||
|
<RTRUE>)
|
||||||
|
(ELSE <RFALSE>)>)
|
||||||
|
(<PRSI? GLOBAL-SAMURAI GLOBAL-HATAMOTO>
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND <PRSI? INTADJ>
|
||||||
|
<ADJ? ,W?SAMURAI>>
|
||||||
|
<RTRUE>)>)>>
|
||||||
|
|
||||||
<OBJECT CAMELLIA
|
<OBJECT CAMELLIA
|
||||||
(DESC "camellia blossom")
|
(DESC "camellia blossom")
|
||||||
(SYNONYM BLOSSOM FLOWER CAMELLIA)
|
(SYNONYM BLOSSOM FLOWER CAMELLIA)
|
||||||
|
@ -238,8 +250,7 @@ Ishido keeps his eyes riveted on her. \"No, you are not confined.\"" CR>)
|
||||||
whisper openly what all those held against their will in Osaka are
|
whisper openly what all those held against their will in Osaka are
|
||||||
thinking: 'If she can go, so can I, so can you! I'll leave tomorrow,
|
thinking: 'If she can go, so can I, so can you! I'll leave tomorrow,
|
||||||
too!'" CR>)
|
too!'" CR>)
|
||||||
(<DEQUEUE I-OCHIBA>
|
(<TELL CR
|
||||||
<TELL CR
|
|
||||||
"Mariko makes a half-bow to the room and leaves. Yabu steps forward
|
"Mariko makes a half-bow to the room and leaves. Yabu steps forward
|
||||||
with you and the two of you follow her out, very conscious that you
|
with you and the two of you follow her out, very conscious that you
|
||||||
are the only samurai present wearing Toranaga's uniform." CR>
|
are the only samurai present wearing Toranaga's uniform." CR>
|
||||||
|
@ -280,7 +291,7 @@ better be understood, however.">)
|
||||||
<TELL
|
<TELL
|
||||||
"\"Please excuse me, Highness.">)>
|
"\"Please excuse me, Highness.">)>
|
||||||
<TELL
|
<TELL
|
||||||
" I have to use short words and respectfully
|
"I have to use short words and respectfully
|
||||||
ask you to use simple words with me.\"" CR>)
|
ask you to use simple words with me.\"" CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -431,7 +442,6 @@ once there, she weeps silently for all the men who have died." CR>
|
||||||
<REMOVE ,KOJIMA>
|
<REMOVE ,KOJIMA>
|
||||||
<REMOVE ,YAMAZAKI>
|
<REMOVE ,YAMAZAKI>
|
||||||
<REMOVE ,MARIKOS-LITTER>
|
<REMOVE ,MARIKOS-LITTER>
|
||||||
<DEQUEUE I-DEPARTURE>
|
|
||||||
<NEXT-SCENE>)>>
|
<NEXT-SCENE>)>>
|
||||||
|
|
||||||
<GLOBAL YAMAZAKI-ATTACK <>>
|
<GLOBAL YAMAZAKI-ATTACK <>>
|
||||||
|
@ -524,8 +534,9 @@ Captain parries." CR>)
|
||||||
<COND (<ZERO? <GETP ,BROWNS ,P?COUNT>>
|
<COND (<ZERO? <GETP ,BROWNS ,P?COUNT>>
|
||||||
<DEQUEUE I-FIGHT>)>
|
<DEQUEUE I-FIGHT>)>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"The captain stares at you silently for a moment, then his eyes glaze
|
"The captain, slowed by pain and loss of blood, cannot even parry your
|
||||||
and he falls to the ground, dead." CR>
|
next stroke, which skewers him like a lamb. He stares at you silently
|
||||||
|
for a moment, then his eyes glaze and he falls to the ground, dead." CR>
|
||||||
<SCORE-OBJECT ,YAMAZAKI>)>
|
<SCORE-OBJECT ,YAMAZAKI>)>
|
||||||
<RTRUE>)>)>>
|
<RTRUE>)>)>>
|
||||||
|
|
||||||
|
@ -640,7 +651,7 @@ the victor of four duels. The fresh Gray dispatches him easily and stands
|
||||||
alone among the bodies." CR>)
|
alone among the bodies." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Each time a Gray falls, another calmy walks out of the waiting pack to
|
"Each time a Gray falls, another calmly walks out of the waiting pack to
|
||||||
join his comrades in the killing. It is now " <GET ,NUMBERS .B> " Brown">
|
join his comrades in the killing. It is now " <GET ,NUMBERS .B> " Brown">
|
||||||
<COND (<NOT <EQUAL? .B 1>>
|
<COND (<NOT <EQUAL? .B 1>>
|
||||||
<TELL "s versus as many Grays." CR>)
|
<TELL "s versus as many Grays." CR>)
|
||||||
|
@ -655,6 +666,7 @@ join his comrades in the killing. It is now " <GET ,NUMBERS .B> " Brown">
|
||||||
"S-SEPPUKU"
|
"S-SEPPUKU"
|
||||||
|
|
||||||
<BEGIN-SEGMENT SEPPUKU>
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
|
||||||
<ROOM FORMAL-GARDEN
|
<ROOM FORMAL-GARDEN
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
|
@ -723,7 +735,8 @@ east.")
|
||||||
<QUEUE I-COME-BACK 6>
|
<QUEUE I-COME-BACK 6>
|
||||||
<TELL
|
<TELL
|
||||||
"As you enter the garden, Mariko calls to you \"Anjin-san, we are leaving
|
"As you enter the garden, Mariko calls to you \"Anjin-san, we are leaving
|
||||||
soon. Come back!\" You see her explain to Yabu what she said." CR CR>)>)>>
|
soon. Come back!\" You see her explain to Yabu what she said." CR CR>)>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<OBJECT GARDEN-GATE
|
<OBJECT GARDEN-GATE
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
|
@ -750,6 +763,41 @@ gentle fall of water from the brook." CR>)
|
||||||
"To do so would disturb the serenity and peace of the garden and the
|
"To do so would disturb the serenity and peace of the garden and the
|
||||||
pond." CR>)>>
|
pond." CR>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
|
||||||
|
<ROUTINE SEPPUKU-EXAMINE-MARIKO ()
|
||||||
|
<TELL
|
||||||
|
"She is kneeling, facing the doorway, freshly made up, lips crimson,
|
||||||
|
immaculately coiffured, wearing a fresh kimono of somber blue edged
|
||||||
|
with green, with a lighter green obi and a thin green ribbon for her
|
||||||
|
hair." CR>>
|
||||||
|
|
||||||
|
<ROUTINE SEPPUKU-TAKE-MARIKO ()
|
||||||
|
<COND (<HERE? FORMAL-GARDEN TEA-HOUSE>
|
||||||
|
<TELL
|
||||||
|
"\"No, Anjin-san, I cannot stop. This is my duty to our master. Only in this
|
||||||
|
way may I expiate the sin of my father, and not die in shame.\"" CR>)
|
||||||
|
(<AND <FSET? ,MARIKO ,SCOREBIT>
|
||||||
|
<NOT <FSET? ,MARIKO ,SITTING>>>
|
||||||
|
<MOVE ,MARIKO ,WINNER>
|
||||||
|
<DEQUEUE I-SEPPUKU>
|
||||||
|
<TELL
|
||||||
|
"You decide that she has endured enough, proved enough, so you come
|
||||||
|
forward and catch her in your arms as she falls, lift her up just as
|
||||||
|
her mind leaves her. For a moment you stand there alone, proud that
|
||||||
|
you alone decided. She rests like a broken doll in your arms. Then
|
||||||
|
you carry her inside. No one moves or bars your path." CR>
|
||||||
|
<SCORE-OBJECT ,MARIKO>
|
||||||
|
<NEXT-SCENE>)
|
||||||
|
(<JIGS-UP? ,J-SEPPUKU
|
||||||
|
"You reconsider. You would both die if you interrupted the ceremony.">
|
||||||
|
<TELL "You come forward to try to help her.">
|
||||||
|
<INTERRUPTED-SEPPUKU>)
|
||||||
|
(ELSE <RTRUE>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
|
||||||
<ROOM TEA-HOUSE
|
<ROOM TEA-HOUSE
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-SEPPUKU S-ESCAPE S-DEPARTURE S-MARIKO)
|
(SCENE S-SEPPUKU S-ESCAPE S-DEPARTURE S-MARIKO)
|
||||||
|
@ -758,7 +806,7 @@ pond." CR>)>>
|
||||||
"The tea house is small, simple, and immaculate. The doorway is small
|
"The tea house is small, simple, and immaculate. The doorway is small
|
||||||
so that all will be humble, equal, the host and guest, the most high
|
so that all will be humble, equal, the host and guest, the most high
|
||||||
Lord and the merest samurai.")
|
Lord and the merest samurai.")
|
||||||
(SYNONYM HOUSE)
|
(SYNONYM HOUSE HUT)
|
||||||
(ADJECTIVE LITTLE TEA CHA-NO-YU)
|
(ADJECTIVE LITTLE TEA CHA-NO-YU)
|
||||||
(OUT TO FORMAL-GARDEN)
|
(OUT TO FORMAL-GARDEN)
|
||||||
(SOUTH TO FORMAL-GARDEN)
|
(SOUTH TO FORMAL-GARDEN)
|
||||||
|
@ -783,7 +831,11 @@ Lord and the merest samurai.")
|
||||||
<TELL "slip your feet out of your thongs and ">)>
|
<TELL "slip your feet out of your thongs and ">)>
|
||||||
<TELL "walk
|
<TELL "walk
|
||||||
up the three steps. You have to stoop, almost to your knees, to go
|
up the three steps. You have to stoop, almost to your knees, to go
|
||||||
through the tiny screened doorway." CR CR>)>>
|
through the tiny screened doorway." CR CR>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
|
||||||
<OBJECT GREEN-RIBBON
|
<OBJECT GREEN-RIBBON
|
||||||
(OWNER MARIKO)
|
(OWNER MARIKO)
|
||||||
|
@ -1008,8 +1060,7 @@ time. Again she fails. Her hands go to the crimson again, and this time she
|
||||||
forces herself upright. She wavers and almost falls, then her feet
|
forces herself upright. She wavers and almost falls, then her feet
|
||||||
move and slowly she totters across the crimson, reeling helplessly toward
|
move and slowly she totters across the crimson, reeling helplessly toward
|
||||||
the main door." CR>)>)
|
the main door." CR>)>)
|
||||||
(<DEQUEUE I-SEPPUKU>
|
(<COND (<HERE? ,FORECOURT>
|
||||||
<COND (<HERE? ,FORECOURT>
|
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko teeters helplessly, unable to move forward any further. There is
|
"Mariko teeters helplessly, unable to move forward any further. There is
|
||||||
a hushed silence, everyone in the forecourt watching her. She falls to
|
a hushed silence, everyone in the forecourt watching her. She falls to
|
||||||
|
@ -1023,4 +1074,4 @@ throats make it, comes over the walls." CR>)>
|
||||||
|
|
||||||
<GLOBAL MARIKO-WON-FLAG <>>
|
<GLOBAL MARIKO-WON-FLAG <>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"SEPPUKU">
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT MAZE>
|
||||||
|
<CONSTANT MAZE-WINDOW 3>
|
||||||
|
<CONSTANT MWALL 128>
|
||||||
|
<DEFMAC MSTREET? ('VAL) <FORM ZERO? <FORM BAND .VAL ,MWALL>>>
|
||||||
|
<OBJECT HOUSE (LOC LOCAL-GLOBALS) (SYNONYM HOUSE HOUSES SHOP SHOPS) (DESC
|
||||||
|
"house") (FLAGS NDESCBIT) (ACTION HOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE HOUSE-F>
|
||||||
|
<OBJECT RONIN (SYNONYM RONIN DETACHMENT) (DESC "detachment of ronin") (FLAGS
|
||||||
|
PERSON PLURAL JAPANESEBIT) (ACTION RONIN-F)>
|
||||||
|
<DEFINE-ROUTINE RONIN-F>
|
||||||
|
<OBJECT FISH-GATE (SYNONYM GATE FISH) (ADJECTIVE BATTERED ETCHED) (DESC "gate")
|
||||||
|
(FLAGS NDESCBIT SCOREBIT) (ACTION FISH-GATE-F)>
|
||||||
|
<DEFINE-ROUTINE FISH-GATE-F>
|
||||||
|
<OBJECT AMBUSHERS (SYNONYM AMBUSHER BOWMAN FIGURE SHAPE AMBUSHERS BOWMEN
|
||||||
|
FIGURES SHAPES) (ADJECTIVE SHADOWY DIM) (DESC "dim figures") (FLAGS PERSON
|
||||||
|
JAPANESEBIT PLURAL) (DESCFCN AMBUSHERS-DESC) (ACTION AMBUSHERS-F)>
|
||||||
|
<DEFINE-ROUTINE AMBUSHERS-DESC>
|
||||||
|
<DEFINE-ROUTINE AMBUSHERS-F>
|
||||||
|
<OBJECT MESSENGER (SYNONYM MESSENGER MAN SAMURAI GRAY) (ADJECTIVE GRAY) (DESC
|
||||||
|
"messenger") (FLAGS PERSON JAPANESEBIT INVISIBLE SCOREBIT) (GENERIC
|
||||||
|
GENERIC-MAN-F) (ACTION MESSENGER-F)>
|
||||||
|
<DEFINE-ROUTINE MESSENGER-F>
|
||||||
|
<ROOM AMBUSH-SITE (LOC ROOMS) (DESC "City Street") (LDESC
|
||||||
|
"This is a dark, deserted street in the middle of Osaka.") (SYNONYM STREET) (
|
||||||
|
ADJECTIVE CITY) (FLAGS ONBIT OUTSIDE) (GLOBAL MESSENGER) (ACTION AMBUSH-SITE-F)
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE AMBUSH-SITE-F>
|
||||||
|
<GLOBAL AMBUSH-PROB 2>
|
||||||
|
<GLOBAL XAMBUSH 0>
|
||||||
|
<GLOBAL YAMBUSH 0>
|
||||||
|
<DEFINE-ROUTINE I-AMBUSH-START>
|
||||||
|
<DEFINE-ROUTINE I-AMBUSH>
|
||||||
|
<GLOBAL AMBUSH-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE I-CAUGHT>
|
||||||
|
<ROOM MAZE (LOC ROOMS) (SYNONYM STREETS) (ADJECTIVE CITY) (DESC "City Streets")
|
||||||
|
(FLAGS OUTSIDE ONBIT) (GLOBAL HOUSE) (MOUSE MAZE-MOUSE-F) (ACTION MAZE-F)>
|
||||||
|
<DEFINE-ROUTINE MAZE-F>
|
||||||
|
<DEFINE-ROUTINE LEAVE-MAZE>
|
||||||
|
<CONSTANT MAZE-PICS <TABLE P-MAZE-WALL P-MAZE-STREET P-MAZE-PARTY P-MAZE-CASTLE
|
||||||
|
P-MAZE-DOCK P-MAZE-FISH P-MAZE-BACKGROUND 0>>
|
||||||
|
<DEFINE-ROUTINE MAZE-MOUSE-F>
|
||||||
|
<CONSTANT NORTH-STR <LTABLE (PURE STRING) "north">>
|
||||||
|
<CONSTANT SOUTH-STR <LTABLE (PURE STRING) "south">>
|
||||||
|
<CONSTANT EAST-STR <LTABLE (PURE STRING) "east">>
|
||||||
|
<CONSTANT WEST-STR <LTABLE (PURE STRING) "west">>
|
||||||
|
<CONSTANT SE-STR <LTABLE (PURE STRING) "se">>
|
||||||
|
<CONSTANT SW-STR <LTABLE (PURE STRING) "sw">>
|
||||||
|
<CONSTANT NE-STR <LTABLE (PURE STRING) "ne">>
|
||||||
|
<CONSTANT NW-STR <LTABLE (PURE STRING) "nw">>
|
||||||
|
<CONSTANT MAZE-BOX-TBL <TABLE 0 0>>
|
||||||
|
<DEFINE-ROUTINE MGETB>
|
||||||
|
<DEFINE-ROUTINE MPUTB>
|
||||||
|
<GLOBAL YOFFSET 0>
|
||||||
|
<GLOBAL XOFFSET 0>
|
||||||
|
<DEFINE-ROUTINE DISPLAY-MAZE-PIC>
|
||||||
|
<DEFINE-ROUTINE MAZE-MOVE>
|
||||||
|
<DEFINE-ROUTINE MPUTC>
|
||||||
|
<DEFINE-ROUTINE DISPLAY-MAZE>
|
||||||
|
<DEFINE-ROUTINE PRINTM>
|
||||||
|
<CONSTANT MAX-MAZE-WIDTH 37>
|
||||||
|
<CONSTANT MAX-MAZE-HEIGHT 17>
|
||||||
|
<GLOBAL MAZE-MAP <ITABLE <* ,MAX-MAZE-WIDTH ,MAX-MAZE-HEIGHT> (BYTE) 128>>
|
||||||
|
<GLOBAL MAZE-WIDTH 37>
|
||||||
|
<GLOBAL MAZE-HEIGHT 17>
|
||||||
|
<GLOBAL SIZE 0>
|
||||||
|
<GLOBAL PMAX 0>
|
||||||
|
<CONSTANT DIR <TABLE <TABLE (BYTE) 0 1 2 3> <TABLE (BYTE) 0 1 3 2> <TABLE (BYTE
|
||||||
|
) 0 2 1 3> <TABLE (BYTE) 0 2 3 1> <TABLE (BYTE) 0 3 1 2> <TABLE (BYTE) 0 3 2 1>
|
||||||
|
<TABLE (BYTE) 1 0 2 3> <TABLE (BYTE) 1 0 3 2> <TABLE (BYTE) 1 2 0 3> <TABLE (
|
||||||
|
BYTE) 1 2 3 0> <TABLE (BYTE) 1 3 0 2> <TABLE (BYTE) 1 3 2 0> <TABLE (BYTE) 2 0
|
||||||
|
1 3> <TABLE (BYTE) 2 0 3 1> <TABLE (BYTE) 2 1 0 3> <TABLE (BYTE) 2 1 3 0> <
|
||||||
|
TABLE (BYTE) 2 3 0 1> <TABLE (BYTE) 2 3 1 0> <TABLE (BYTE) 3 0 1 2> <TABLE (
|
||||||
|
BYTE) 3 0 2 1> <TABLE (BYTE) 3 1 0 2> <TABLE (BYTE) 3 1 2 0> <TABLE (BYTE) 3 2
|
||||||
|
0 1> <TABLE (BYTE) 3 2 1 0>>>
|
||||||
|
<CONSTANT XOFF1 <TABLE 0 0 1 -1>>
|
||||||
|
<CONSTANT YOFF1 <TABLE -1 1 0 0>>
|
||||||
|
<CONSTANT XOFF2 <TABLE 0 0 2 -2>>
|
||||||
|
<CONSTANT YOFF2 <TABLE -2 2 0 0>>
|
||||||
|
<GLOBAL X 0>
|
||||||
|
<GLOBAL Y 0>
|
||||||
|
<GLOBAL XSTART 0>
|
||||||
|
<GLOBAL YSTART 0>
|
||||||
|
<GLOBAL XGOAL 0>
|
||||||
|
<GLOBAL YGOAL 0>
|
||||||
|
<GLOBAL LEN 0>
|
||||||
|
<GLOBAL LMAX 0>
|
||||||
|
<GLOBAL FLEN 0>
|
||||||
|
<GLOBAL XFISH 0>
|
||||||
|
<GLOBAL YFISH 0>
|
||||||
|
<DEFINE-ROUTINE BUILDMAZE>
|
||||||
|
<DEFINE-ROUTINE VISITED>
|
||||||
|
<DEFINE-ROUTINE VALID>
|
||||||
|
<DEFINE-ROUTINE FINDMOVE>
|
||||||
|
<DEFINE-ROUTINE BACKUP>
|
||||||
|
<DEFINE-ROUTINE REMOVEWALL>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,772 @@
|
||||||
|
|
||||||
|
.SEGMENT "MAZE"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT HOUSE-F:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||||
|
PRINTR "Houses and shops crowd the street on all sides, some dark and some lit by oil lamps flickering through the paper panels of the shojis."
|
||||||
|
?CCL3: EQUAL? PRSA,V?ENTER,V?BOARD,V?THROUGH \FALSE
|
||||||
|
PRINTR "As you start to move off from the cortege, Mariko calls you back, speaking in Latin.""No, Pilot, that is not the way."""
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RONIN-F:ANY:0:1,RARG
|
||||||
|
EQUAL? RARG,M-WINNER \FALSE
|
||||||
|
PRINTI "The ronin take orders only from Toranaga."
|
||||||
|
CRLF
|
||||||
|
CALL1 END-QUOTE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FISH-GATE-F:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
||||||
|
PRINTR "It's just a weathered old gate with a fish carved on it."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT AMBUSHERS-DESC:ANY:2:2,RARG,OBJ
|
||||||
|
EQUAL? RARG,M-OBJDESC? /TRUE
|
||||||
|
PRINTI "Dim figures can be seen on one of the tiled roofs of a nearby house."
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT AMBUSHERS-F:ANY:0:1,RARG
|
||||||
|
EQUAL? RARG,M-SUBJ /FALSE
|
||||||
|
EQUAL? RARG,M-WINNER \?CCL5
|
||||||
|
PRINT STR?211
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL5: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||||
|
PRINTR "From here, in the dark, they are merely dim dark outlines."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MESSENGER-F:ANY:0:1,RARG
|
||||||
|
IN? MESSENGER,LOCAL-GLOBALS \?CCL3
|
||||||
|
CALL1 PASSIVE-VERB?
|
||||||
|
ZERO? STACK \?CCL3
|
||||||
|
PRINTR "He's gone!"
|
||||||
|
?CCL3: EQUAL? RARG,M-SUBJ /FALSE
|
||||||
|
EQUAL? RARG,M-WINNER \?CCL9
|
||||||
|
CALL1 WAKARIMASEN
|
||||||
|
RSTACK
|
||||||
|
?CCL9: EQUAL? PRSA,V?STOP /?CCL11
|
||||||
|
CALL1 HOSTILE-VERB?
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
?CCL11: FSET? MESSENGER,DEAD \?CCL16
|
||||||
|
PRINTR "Buntaro hacked him to pieces."
|
||||||
|
?CCL16: FSET? MESSENGER,RMUNGBIT /?CCL18
|
||||||
|
FSET MESSENGER,RMUNGBIT
|
||||||
|
PRINTR "You stretch to intercept the man, grabbing and nearly tackling him, and he tumbles to the ground."
|
||||||
|
?CCL18: PRINTI "Desperately you struggle with the messenger and manage to knock him down a second time."
|
||||||
|
CRLF
|
||||||
|
CALL2 SCORE-OBJECT,MESSENGER
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT AMBUSH-SITE-F:ANY:0:1,RARG
|
||||||
|
EQUAL? RARG,M-BEG \FALSE
|
||||||
|
EQUAL? PRSA,V?WALK \?CCL6
|
||||||
|
PRINTR "You are pinned down by the attack.To run would be suicidal!"
|
||||||
|
?CCL6: EQUAL? PRSA,V?PUSH,V?TAKE,V?HELP /?PRD10
|
||||||
|
EQUAL? PRSA,V?PULL-BEHIND \?CCL8
|
||||||
|
?PRD10: EQUAL? PRSO,MARIKO \?CCL8
|
||||||
|
FSET? MARIKOS-LITTER,SCOREBIT \?CCL8
|
||||||
|
ICALL1 B-LIE-DOWN
|
||||||
|
PRINTI "You roll for cover, taking Mariko with you into the lee of the tumbled litter."
|
||||||
|
CRLF
|
||||||
|
CALL2 SCORE-OBJECT,MARIKOS-LITTER
|
||||||
|
RSTACK
|
||||||
|
?CCL8: EQUAL? PRSA,V?DODGE /?PRD17
|
||||||
|
EQUAL? PRSA,V?HIDE-BEHIND,V?HIDE-UNDER \FALSE
|
||||||
|
EQUAL? PRSO,MARIKOS-LITTER \FALSE
|
||||||
|
?PRD17: FSET? MARIKOS-LITTER,SCOREBIT \FALSE
|
||||||
|
ICALL1 B-LIE-DOWN
|
||||||
|
PRINTR "You roll for cover into the lee of the tumbled litter."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-AMBUSH-START:ANY:0:0
|
||||||
|
GRTR? AMBUSH-PROB,100 /?CCL3
|
||||||
|
RANDOM 100
|
||||||
|
LESS? AMBUSH-PROB,STACK \?CCL3
|
||||||
|
ICALL QUEUE,I-AMBUSH-START,5
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CCL8
|
||||||
|
PUSH 12
|
||||||
|
JUMP ?CND6
|
||||||
|
?CCL8: PUSH 6
|
||||||
|
?CND6: ADD AMBUSH-PROB,STACK >AMBUSH-PROB
|
||||||
|
RFALSE
|
||||||
|
?CCL3: SET 'XAMBUSH,X
|
||||||
|
SET 'YAMBUSH,Y
|
||||||
|
ICALL MOVE-ALL,MAZE,AMBUSH-SITE
|
||||||
|
IN? BLACKTHORNE,MARIKOS-LITTER \?CCL11
|
||||||
|
MOVE MARIKOS-LITTER,MAZE
|
||||||
|
JUMP ?CND9
|
||||||
|
?CCL11: MOVE BLACKTHORNE,MAZE
|
||||||
|
?CND9: MOVE AMBUSHERS,AMBUSH-SITE
|
||||||
|
ICALL QUEUE,I-AMBUSH,-1
|
||||||
|
CRLF
|
||||||
|
PRINTI "The arrows come out of the night, the first impaling the captain through the throat.His lungs fill with molten fire and death swallows him.His last thought is one of wonder, for did not Lord Kiyama, his master, tell him the ambush was to be later, beside the wharves, and directed at the pirate?"
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
CALL2 GOTO,AMBUSH-SITE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-AMBUSH:ANY:0:0
|
||||||
|
INC 'DELAY-CNT
|
||||||
|
EQUAL? AMBUSH-CNT,5 \?CND3
|
||||||
|
FSET? MESSENGER,SCOREBIT \?CCL7
|
||||||
|
FSET? MESSENGER,RMUNGBIT \?CCL10
|
||||||
|
FSET? MESSENGER,SURFACEBIT /?CCL10
|
||||||
|
FSET MESSENGER,SURFACEBIT
|
||||||
|
CRLF
|
||||||
|
PRINTR "Immediately he rolls and is on his feet again!"
|
||||||
|
?CCL10: MOVE MESSENGER,LOCAL-GLOBALS
|
||||||
|
FCLEAR MESSENGER,SCOREBIT
|
||||||
|
CRLF
|
||||||
|
PRINTR "This time the messenger scuttles away from you and is off like a hare chased by hounds."
|
||||||
|
?CCL7: IN? MESSENGER,LOCAL-GLOBALS /?CND3
|
||||||
|
FSET? MESSENGER,DEAD /?CND3
|
||||||
|
FSET MESSENGER,DEAD
|
||||||
|
CRLF
|
||||||
|
PRINTR "This time Buntaro, with a vicious chop of his sword, cuts the man down."
|
||||||
|
?CND3: SET 'DELAY-CNT,0
|
||||||
|
INC 'AMBUSH-CNT
|
||||||
|
EQUAL? AMBUSH-CNT,1 \?CCL18
|
||||||
|
CRLF
|
||||||
|
PRINTI "An arrow slams into the litter post an inch from your head!Two arrows pierce the curtains of Kiritsubo's litter, and another strikes one of the maids in the waist.As she screams, the litter bearers take to their heels into the darkness.Mariko "
|
||||||
|
FSET? MARIKOS-LITTER,SCOREBIT \?CCL21
|
||||||
|
PRINTI "stands in the open"
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL21: PRINTI "clings to you"
|
||||||
|
?CND19: PRINTR ", staring in shock at the dying maid."
|
||||||
|
?CCL18: EQUAL? AMBUSH-CNT,2 \?CCL23
|
||||||
|
CRLF
|
||||||
|
PRINTI "A shower of arrows straddles both litters."
|
||||||
|
FSET? MARIKOS-LITTER,SCOREBIT \?CCL26
|
||||||
|
FSET MARIKO,DEAD
|
||||||
|
PRINTI "One strikes Mariko in the back as she starts to run for cover.She falls to the ground and is still."
|
||||||
|
CRLF
|
||||||
|
CALL1 FAILED-SCENE
|
||||||
|
RSTACK
|
||||||
|
?CCL26: PRINTR "One thuds into the ground where Mariko was an instant ago."
|
||||||
|
?CCL23: EQUAL? AMBUSH-CNT,3 \?CCL28
|
||||||
|
MOVE TORANAGA,HERE
|
||||||
|
REMOVE TORANAGA-IN-DRAG
|
||||||
|
FSET CURTAINS,OPENBIT
|
||||||
|
CALL MARGINAL-PIC,P-IN-DRAG,TRUE-VALUE,P-IN-DRAG-CORNER,TRUE-VALUE
|
||||||
|
ZERO? STACK \?CND29
|
||||||
|
CRLF
|
||||||
|
?CND29: PRINTR "Buntaro shields Toranaga's litter with his body as best he can, then whips open the curtains.Two arrows are imbedded in Toranaga's chest and side, and he jerks them out of the armor he wears beneath the kimono.He fights his way out of the litter and stands in the street, sword drawn, an incongruous figure in kimono and hat."
|
||||||
|
?CCL28: EQUAL? AMBUSH-CNT,4 \?CCL32
|
||||||
|
REMOVE AMBUSHERS
|
||||||
|
CRLF
|
||||||
|
PRINTR "Another volley of arrows comes out of the darkness, one missing you so narrowly that it takes skin off of your cheek, and then all is silent.
|
||||||
|
|
||||||
|
Buntaro and some of his men are near the wall in pursuit but the ambushers vanish into the blackness.A dozen men race in pursuit but all know it's hopeless."
|
||||||
|
?CCL32: EQUAL? AMBUSH-CNT,5 \?CCL34
|
||||||
|
MOVE MESSENGER,HERE
|
||||||
|
FCLEAR MESSENGER,INVISIBLE
|
||||||
|
ICALL2 THIS-IS-IT,MESSENGER
|
||||||
|
SET 'OPPONENT,MESSENGER
|
||||||
|
CRLF
|
||||||
|
PRINTR "One of the officer Grays says, ""Toranaga!"" and though it is said quietly, everyone hears.Here, incredibly, is the enemy of his master, free, outside the castle walls.""You will wait here, Lord Toranaga.You,"" he snaps at one of his men, ""report to Lord Ishido at once!""The man races toward you, heading back toward the castle!"
|
||||||
|
?CCL34: EQUAL? AMBUSH-CNT,6 \?CCL36
|
||||||
|
ICALL REPLACE-SYNONYM,CORTEGE,W?GRAYS,W?BROWNS
|
||||||
|
MOVE GRAYS,HERE
|
||||||
|
ICALL2 THIS-IS-IT,GRAYS
|
||||||
|
CRLF
|
||||||
|
PRINTR "The rest of the Grays attack, trying to reach Toranaga.One officer whips out his two-handed sword and leaps for Toranaga but Buntaro parries.The Browns and Grays, all intermixed, erupt into a swirling melee.
|
||||||
|
|
||||||
|
The Grays fight courageously.Four join in a suicidal charge at Toranaga.The Browns break it and the Grays regroup and charge again.Then a senior officer orders three to retreat for help and the rest to guard the retreat."
|
||||||
|
?CCL36: EQUAL? AMBUSH-CNT,7 \FALSE
|
||||||
|
ICALL2 DEQUEUE,I-AMBUSH
|
||||||
|
FSET? MESSENGER,DEAD \?CCL41
|
||||||
|
REMOVE MESSENGER
|
||||||
|
JUMP ?CND39
|
||||||
|
?CCL41: ICALL QUEUE,I-CAUGHT,150
|
||||||
|
?CND39: REMOVE GRAYS
|
||||||
|
ICALL MOVE-ALL,AMBUSH-SITE,MAZE
|
||||||
|
MOVE BLACKTHORNE,AMBUSH-SITE
|
||||||
|
CRLF
|
||||||
|
PRINTI "The three Grays tear off, and though Buntaro kills one, the other two are only wounded.The rest die."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
CALL2 GOTO,MAZE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT I-CAUGHT:ANY:0:0
|
||||||
|
EQUAL? HERE,MAZE \FALSE
|
||||||
|
ICALL1 LEAVE-MAZE
|
||||||
|
CRLF
|
||||||
|
PRINTI "Ahead of you, a mass of Gray archers materializes out of the night.Above, a mass of fireworks blooms in warning from the castle.Toranaga turns, ordering the cortege to retreat down an alley, but there are Grays there too.The party is surrounded!"
|
||||||
|
CRLF
|
||||||
|
ICALL1 JIGS-UP
|
||||||
|
RETURN M-FATAL
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MAZE-F:ANY:1:1,RARG,XX,YY,OXX,OYY,MOVED?
|
||||||
|
EQUAL? RARG,M-LOOK \?CCL3
|
||||||
|
PRINTR "This maze of streets and alleys extends from the great castle to the harbor.At night, it is a nightmare of blind alleys, twisting overhung streets, and shadowy hurrying shapes."
|
||||||
|
?CCL3: EQUAL? RARG,M-ENTER \?CCL5
|
||||||
|
ICALL2 TOUCH-SEG,P-MAZE-BACKGROUND
|
||||||
|
PICSET MAZE-PICS
|
||||||
|
FSET? HERE,TOUCHBIT /?CND6
|
||||||
|
ICALL MOVE-ALL,CITY,MAZE
|
||||||
|
PRINTI "The cortege continues through the winding, curling city streets, the pedestrians bowing and the very poor on their knees until you pass."
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
ICALL QUEUE,I-AMBUSH-START,5
|
||||||
|
PRINTI "[Building Osaka.]"
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
ICALL1 BUILDMAZE
|
||||||
|
?CND6: EQUAL? OHERE,WAREHOUSE \?CCL10
|
||||||
|
SET 'XX,XGOAL
|
||||||
|
SET 'YY,YGOAL
|
||||||
|
PRINTI "You have returned to the"
|
||||||
|
PRINT STR?563
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL10: EQUAL? OHERE,AMBUSH-SITE \?CCL12
|
||||||
|
SET 'XX,XAMBUSH
|
||||||
|
SET 'YY,YAMBUSH
|
||||||
|
PRINTI "The cortege re-forms and prepares to continue the escape.The urgency is now great, as the escaped Grays will spread the alarm."
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND8
|
||||||
|
?CCL12: SET 'XX,XSTART
|
||||||
|
SET 'YY,YSTART
|
||||||
|
PRINTI "You have entered a"
|
||||||
|
PRINT STR?563
|
||||||
|
CRLF
|
||||||
|
?CND8: CRLF
|
||||||
|
ICALL1 TYPE-ANY-KEY
|
||||||
|
ICALL1 DISPLAY-MAZE
|
||||||
|
ICALL MAZE-MOVE,XX,YY
|
||||||
|
RTRUE
|
||||||
|
?CCL5: EQUAL? RARG,M-LEAVE \?CCL14
|
||||||
|
CALL1 LEAVE-MAZE
|
||||||
|
RSTACK
|
||||||
|
?CCL14: EQUAL? RARG,M-BEG \FALSE
|
||||||
|
EQUAL? PRSA,V?DEFINE \?CCL19
|
||||||
|
CLEAR MAZE-WINDOW
|
||||||
|
RFALSE
|
||||||
|
?CCL19: EQUAL? PRSA,V?COLOR \?CCL21
|
||||||
|
PRINTR "[Sorry, you can't change colors in this part of Osaka.]"
|
||||||
|
?CCL21: EQUAL? PRSA,V?WALK \?CCL23
|
||||||
|
SET 'MOVED?,FALSE-VALUE
|
||||||
|
?PRG24: SET 'XX,X
|
||||||
|
SET 'YY,Y
|
||||||
|
SET 'OXX,X
|
||||||
|
SET 'OYY,Y
|
||||||
|
EQUAL? P-WALK-DIR,P?NORTH \?CCL28
|
||||||
|
GRTR? YY,0 \?CCL28
|
||||||
|
DEC 'YY
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL28: EQUAL? P-WALK-DIR,P?EAST \?CCL32
|
||||||
|
SUB MAZE-WIDTH,1
|
||||||
|
LESS? XX,STACK \?CCL32
|
||||||
|
INC 'XX
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL32: EQUAL? P-WALK-DIR,P?WEST \?CCL36
|
||||||
|
GRTR? XX,0 \?CCL36
|
||||||
|
DEC 'XX
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL36: EQUAL? P-WALK-DIR,P?SOUTH \?CCL40
|
||||||
|
SUB MAZE-HEIGHT,1
|
||||||
|
LESS? YY,STACK \?CCL40
|
||||||
|
INC 'YY
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL40: EQUAL? P-WALK-DIR,P?NE \?CCL44
|
||||||
|
SUB MAZE-WIDTH,1
|
||||||
|
LESS? XX,STACK \?CCL44
|
||||||
|
GRTR? YY,0 \?CCL44
|
||||||
|
INC 'XX
|
||||||
|
DEC 'YY
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL44: EQUAL? P-WALK-DIR,P?SE \?CCL49
|
||||||
|
SUB MAZE-WIDTH,1
|
||||||
|
LESS? XX,STACK \?CCL49
|
||||||
|
SUB MAZE-HEIGHT,1
|
||||||
|
LESS? YY,STACK \?CCL49
|
||||||
|
INC 'XX
|
||||||
|
INC 'YY
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL49: EQUAL? P-WALK-DIR,P?SW \?CCL54
|
||||||
|
GRTR? XX,0 \?CCL54
|
||||||
|
SUB MAZE-HEIGHT,1
|
||||||
|
LESS? YY,STACK \?CCL54
|
||||||
|
DEC 'XX
|
||||||
|
INC 'YY
|
||||||
|
JUMP ?CND26
|
||||||
|
?CCL54: EQUAL? P-WALK-DIR,P?NW \?CCL59
|
||||||
|
GRTR? XX,0 \?CCL59
|
||||||
|
GRTR? YY,0 \?CCL59
|
||||||
|
DEC 'XX
|
||||||
|
DEC 'YY
|
||||||
|
?CND26: EQUAL? XX,XSTART \?CCL65
|
||||||
|
EQUAL? YY,YSTART \?CCL65
|
||||||
|
ICALL2 GOTO,CITY
|
||||||
|
RTRUE
|
||||||
|
?CCL59: PRINTR "You can't go that way."
|
||||||
|
?CCL65: EQUAL? XX,XGOAL \?CCL69
|
||||||
|
EQUAL? YY,YGOAL \?CCL69
|
||||||
|
ICALL2 GOTO,WAREHOUSE
|
||||||
|
RTRUE
|
||||||
|
?CCL69: CALL MGETB,XX,YY
|
||||||
|
BTST STACK,128 /?CCL73
|
||||||
|
EQUAL? XX,OXX /?CTR72
|
||||||
|
EQUAL? YY,OYY /?CTR72
|
||||||
|
CALL MGETB,XX,OYY
|
||||||
|
BTST STACK,128 \?CTR72
|
||||||
|
CALL MGETB,OXX,YY
|
||||||
|
BTST STACK,128 /?CCL73
|
||||||
|
?CTR72: ICALL MAZE-MOVE,XX,YY
|
||||||
|
EQUAL? XX,XFISH \?CCL82
|
||||||
|
EQUAL? YY,YFISH \?CCL82
|
||||||
|
LOC FISH-GATE
|
||||||
|
ZERO? STACK \?CCL82
|
||||||
|
MOVE FISH-GATE,HERE
|
||||||
|
FSET? FISH-GATE,SCOREBIT \TRUE
|
||||||
|
MOVE RONIN,HERE
|
||||||
|
ICALL2 SCORE-OBJECT,FISH-GATE
|
||||||
|
PRINT STR?564
|
||||||
|
PRINTI "Toranaga stops the cortege outside a battered gate.A fish is etched into its timbers.He knocks in code.The door opens at once, and an ill-kempt samurai bows.""Bring your men and follow me,"" Toranaga says.Fifteen men dressed as "
|
||||||
|
ICALL2 PRINTUNDER,STR?565
|
||||||
|
PRINTR " follow him and slip into place as advance and rear guard.Others spread the alarm to other secret cadres.Soon there are fifty troops with you and a hundred guarding your flanks."
|
||||||
|
?CCL82: EQUAL? OXX,XFISH \?CND80
|
||||||
|
EQUAL? OYY,YFISH \?CND80
|
||||||
|
REMOVE FISH-GATE
|
||||||
|
?CND80: EQUAL? P-WALK-DIR,P?NORTH,P?SOUTH \?CCL93
|
||||||
|
SUB XX,1
|
||||||
|
CALL MGETB,STACK,YY
|
||||||
|
BTST STACK,128 \?REP25
|
||||||
|
ADD XX,1
|
||||||
|
CALL MGETB,STACK,YY
|
||||||
|
BTST STACK,128 \?REP25
|
||||||
|
SET 'MOVED?,TRUE-VALUE
|
||||||
|
JUMP ?PRG24
|
||||||
|
?CCL93: EQUAL? P-WALK-DIR,P?EAST,P?WEST \?PRG24
|
||||||
|
SUB YY,1
|
||||||
|
CALL MGETB,XX,STACK
|
||||||
|
BTST STACK,128 \?REP25
|
||||||
|
ADD YY,1
|
||||||
|
CALL MGETB,XX,STACK
|
||||||
|
BTST STACK,128 \?REP25
|
||||||
|
SET 'MOVED?,TRUE-VALUE
|
||||||
|
JUMP ?PRG24
|
||||||
|
?CCL73: ZERO? MOVED? \?REP25
|
||||||
|
PRINTR "There's a house there."
|
||||||
|
?REP25: PRINT STR?564
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
?CCL23: EQUAL? PRSA,V?DROP \FALSE
|
||||||
|
IN? WINNER,MAZE \FALSE
|
||||||
|
CALL1 IDROP
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
REMOVE PRSO
|
||||||
|
ICALL1 CTHE-PRINT-PRSO
|
||||||
|
PRINTR " drops to the ground and is lost from sight in the dark and confusion."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT LEAVE-MAZE:ANY:0:0,YY,?TMP1
|
||||||
|
WINGET S-TEXT,WYPOS >?TMP1
|
||||||
|
WINGET S-TEXT,WTOP
|
||||||
|
ADD ?TMP1,STACK >YY
|
||||||
|
ICALL1 SETUP-TEXT-AND-STATUS
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CND1
|
||||||
|
ICALL1 DISPLAY-BORDER
|
||||||
|
?CND1: SCREEN S-TEXT
|
||||||
|
WINGET S-TEXT,WTOP
|
||||||
|
SUB YY,STACK
|
||||||
|
CURSET STACK,1
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MAZE-MOUSE-F:ANY:1:1,TRM,DIR,WX,WY,BX,BY,?TMP1,?TMP2
|
||||||
|
GET MAZE-BOX-TBL,1 >BX
|
||||||
|
GET MAZE-BOX-TBL,0 >BY
|
||||||
|
WINGET MAZE-WINDOW,WTOP
|
||||||
|
ADD STACK,YOFFSET >?TMP2
|
||||||
|
MUL Y,BY
|
||||||
|
ADD ?TMP2,STACK >?TMP1
|
||||||
|
DIV BY,2
|
||||||
|
ADD ?TMP1,STACK >WY
|
||||||
|
WINGET MAZE-WINDOW,WLEFT
|
||||||
|
ADD STACK,XOFFSET >?TMP2
|
||||||
|
MUL X,BX
|
||||||
|
ADD ?TMP2,STACK >?TMP1
|
||||||
|
DIV BX,2
|
||||||
|
ADD ?TMP1,STACK >WX
|
||||||
|
SUB MOUSE-LOC-Y,WY >WY
|
||||||
|
SUB MOUSE-LOC-X,WX >WX
|
||||||
|
LESS? WX,0 /?CCL3
|
||||||
|
LESS? WY,0 \?CCL6
|
||||||
|
SUB 0,WY >WY
|
||||||
|
MUL WY,3
|
||||||
|
GRTR? WX,STACK \?CCL9
|
||||||
|
SET 'DIR,EAST-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL9: MUL WX,3
|
||||||
|
GRTR? WY,STACK \?CCL11
|
||||||
|
SET 'DIR,NORTH-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL11: SET 'DIR,NE-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL6: MUL WY,3
|
||||||
|
GRTR? WX,STACK \?CCL14
|
||||||
|
SET 'DIR,EAST-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL14: MUL WX,3
|
||||||
|
GRTR? WY,STACK \?CCL16
|
||||||
|
SET 'DIR,SOUTH-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL16: SET 'DIR,SE-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: LESS? WY,0 \?CCL18
|
||||||
|
SUB 0,WY >WY
|
||||||
|
SUB 0,WX >WX
|
||||||
|
MUL WY,3
|
||||||
|
GRTR? WX,STACK \?CCL21
|
||||||
|
SET 'DIR,WEST-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL21: MUL WX,3
|
||||||
|
GRTR? WY,STACK \?CCL23
|
||||||
|
SET 'DIR,NORTH-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL23: SET 'DIR,NW-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL18: SUB 0,WX >WX
|
||||||
|
MUL WY,3
|
||||||
|
GRTR? WX,STACK \?CCL26
|
||||||
|
SET 'DIR,WEST-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL26: MUL WX,3
|
||||||
|
GRTR? WY,STACK \?CCL28
|
||||||
|
SET 'DIR,SOUTH-STR
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL28: SET 'DIR,SW-STR
|
||||||
|
?CND1: DIV BX,2
|
||||||
|
GRTR? WX,STACK /?CCL31
|
||||||
|
DIV BY,2
|
||||||
|
GRTR? WY,STACK \FALSE
|
||||||
|
?CCL31: ZERO? DIR /FALSE
|
||||||
|
ICALL ADD-TO-INPUT,DIR,13
|
||||||
|
RETURN 13
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MGETB:ANY:2:2,X,Y
|
||||||
|
MUL Y,MAZE-WIDTH
|
||||||
|
ADD STACK,X
|
||||||
|
GETB MAZE-MAP,STACK
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MPUTB:ANY:3:3,X,Y,VAL
|
||||||
|
MUL Y,MAZE-WIDTH
|
||||||
|
ADD STACK,X
|
||||||
|
PUTB MAZE-MAP,STACK,VAL
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DISPLAY-MAZE-PIC:ANY:3:3,VAL,Y,X,BY,BX,OY,OX,?TMP1,?TMP2
|
||||||
|
ZERO? VAL /FALSE
|
||||||
|
GET MAZE-BOX-TBL,0 >BY
|
||||||
|
GET MAZE-BOX-TBL,1 >BX
|
||||||
|
ADD 1,YOFFSET >?TMP2
|
||||||
|
MUL Y,BY
|
||||||
|
ADD ?TMP2,STACK >?TMP1
|
||||||
|
ADD 1,XOFFSET >?TMP2
|
||||||
|
MUL X,BX
|
||||||
|
ADD ?TMP2,STACK
|
||||||
|
DISPLAY VAL,?TMP1,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MAZE-MOVE:ANY:2:2,?LCL-X,?LCL-Y,?TMP1
|
||||||
|
SCREEN MAZE-WINDOW
|
||||||
|
SET 'X,?LCL-X
|
||||||
|
SET 'Y,?LCL-Y
|
||||||
|
SUB ?LCL-X,1 >?TMP1
|
||||||
|
SUB ?LCL-Y,1
|
||||||
|
ICALL MPUTC,?TMP1,STACK
|
||||||
|
SUB ?LCL-Y,1
|
||||||
|
ICALL MPUTC,?LCL-X,STACK
|
||||||
|
ADD ?LCL-X,1 >?TMP1
|
||||||
|
SUB ?LCL-Y,1
|
||||||
|
ICALL MPUTC,?TMP1,STACK
|
||||||
|
SUB ?LCL-X,1
|
||||||
|
ICALL MPUTC,STACK,?LCL-Y
|
||||||
|
ADD ?LCL-X,1
|
||||||
|
ICALL MPUTC,STACK,?LCL-Y
|
||||||
|
SUB ?LCL-X,1 >?TMP1
|
||||||
|
ADD ?LCL-Y,1
|
||||||
|
ICALL MPUTC,?TMP1,STACK
|
||||||
|
ADD ?LCL-Y,1
|
||||||
|
ICALL MPUTC,?LCL-X,STACK
|
||||||
|
ADD ?LCL-X,1 >?TMP1
|
||||||
|
ADD ?LCL-Y,1
|
||||||
|
ICALL MPUTC,?TMP1,STACK
|
||||||
|
ICALL MPUTC,?LCL-X,?LCL-Y,P-MAZE-PARTY
|
||||||
|
SCREEN S-TEXT
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MPUTC:ANY:2:3,X,Y,VAL,OVAL
|
||||||
|
CALL VALID,X,Y
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
CALL MGETB,X,Y >OVAL
|
||||||
|
ZERO? VAL \?CND4
|
||||||
|
SET 'VAL,OVAL
|
||||||
|
BTST VAL,128 /?CCL8
|
||||||
|
EQUAL? X,XSTART \?CCL11
|
||||||
|
EQUAL? Y,YSTART \?CCL11
|
||||||
|
SET 'VAL,P-MAZE-CASTLE
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL11: EQUAL? X,XGOAL \?CCL15
|
||||||
|
EQUAL? Y,YGOAL \?CCL15
|
||||||
|
SET 'VAL,P-MAZE-DOCK
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL15: EQUAL? X,XFISH \?CCL19
|
||||||
|
EQUAL? Y,YFISH \?CCL19
|
||||||
|
SET 'VAL,P-MAZE-FISH
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL19: SET 'VAL,P-MAZE-STREET
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL8: SET 'VAL,P-MAZE-WALL
|
||||||
|
?CND4: BAND OVAL,MWALL
|
||||||
|
BOR VAL,STACK >VAL
|
||||||
|
EQUAL? VAL,OVAL /FALSE
|
||||||
|
ICALL MPUTB,X,Y,VAL
|
||||||
|
BAND VAL,127
|
||||||
|
CALL DISPLAY-MAZE-PIC,STACK,Y,X
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DISPLAY-MAZE:ANY:0:0,Y,BY,BX,MH,MW,TH,SH,FH,?TMP2,?TMP3,?TMP1
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
CLEAR S-TEXT
|
||||||
|
PICINF P-MAZE-BACKGROUND,YX-TBL /?BOGUS1
|
||||||
|
?BOGUS1: WINGET S-FULL,WHIGH >FH
|
||||||
|
WINGET S-STATUS,WHIGH >SH
|
||||||
|
GET YX-TBL,0 >MH
|
||||||
|
GET YX-TBL,1 >MW
|
||||||
|
ADD SH,MH >?TMP1
|
||||||
|
MUL 2,FONT-Y
|
||||||
|
ADD ?TMP1,STACK
|
||||||
|
GRTR? STACK,FH \?CND2
|
||||||
|
SUB FH,SH >?TMP1
|
||||||
|
MUL 2,FONT-Y
|
||||||
|
SUB ?TMP1,STACK >MH
|
||||||
|
?CND2: WINGET S-TEXT,WWIDE
|
||||||
|
GRTR? MW,STACK \?CND4
|
||||||
|
WINGET S-TEXT,WWIDE >MW
|
||||||
|
?CND4: WINGET S-STATUS,WTOP
|
||||||
|
ADD STACK,SH >Y
|
||||||
|
WINGET S-TEXT,WLEFT
|
||||||
|
ICALL WINDEF,MAZE-WINDOW,Y,STACK,MH,MW
|
||||||
|
SUB FH,SH >TH
|
||||||
|
ADD Y,MH >?TMP3
|
||||||
|
WINGET S-TEXT,WLEFT >?TMP2
|
||||||
|
SUB TH,MH >?TMP1
|
||||||
|
WINGET S-TEXT,WWIDE
|
||||||
|
ICALL WINDEF,S-TEXT,?TMP3,?TMP2,?TMP1,STACK
|
||||||
|
CLEAR S-TEXT
|
||||||
|
SCREEN MAZE-WINDOW
|
||||||
|
PICINF P-MAZE-BOX,MAZE-BOX-TBL /?BOGUS6
|
||||||
|
?BOGUS6: GET MAZE-BOX-TBL,0 >BY
|
||||||
|
GET MAZE-BOX-TBL,1 >BX
|
||||||
|
WINGET MAZE-WINDOW,WHIGH >?TMP1
|
||||||
|
MUL MAZE-HEIGHT,BY
|
||||||
|
SUB ?TMP1,STACK >YOFFSET
|
||||||
|
LESS? YOFFSET,0 \?CCL9
|
||||||
|
SET 'YOFFSET,0
|
||||||
|
JUMP ?CND7
|
||||||
|
?CCL9: DIV YOFFSET,2 >YOFFSET
|
||||||
|
?CND7: WINGET MAZE-WINDOW,WWIDE >?TMP1
|
||||||
|
MUL MAZE-WIDTH,BX
|
||||||
|
SUB ?TMP1,STACK >XOFFSET
|
||||||
|
LESS? XOFFSET,0 \?CCL12
|
||||||
|
SET 'XOFFSET,0
|
||||||
|
JUMP ?CND10
|
||||||
|
?CCL12: DIV XOFFSET,2 >XOFFSET
|
||||||
|
?CND10: ICALL1 PRINTM
|
||||||
|
SCREEN S-TEXT
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINTM:ANY:0:0,M,OFFS,Y,X
|
||||||
|
DISPLAY P-MAZE-BACKGROUND,1,1
|
||||||
|
?PRG1: LESS? Y,MAZE-HEIGHT \TRUE
|
||||||
|
SET 'X,0
|
||||||
|
?PRG5: LESS? X,MAZE-WIDTH \?REP6
|
||||||
|
GETB MAZE-MAP,OFFS
|
||||||
|
BAND STACK,127 >M
|
||||||
|
ICALL DISPLAY-MAZE-PIC,M,Y,X
|
||||||
|
INC 'OFFS
|
||||||
|
INC 'X
|
||||||
|
JUMP ?PRG5
|
||||||
|
?REP6: INC 'Y
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT BUILDMAZE:ANY:0:0,LEFT,PLEN,D,YY,XX,?TMP1
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CND1
|
||||||
|
SET 'MAZE-WIDTH,19
|
||||||
|
SET 'MAZE-HEIGHT,15
|
||||||
|
?CND1: DIV MAZE-WIDTH,2 >?TMP1
|
||||||
|
DIV MAZE-HEIGHT,2
|
||||||
|
MUL ?TMP1,STACK >SIZE
|
||||||
|
SET 'PMAX,SIZE
|
||||||
|
SET 'LEFT,SIZE
|
||||||
|
RANDOM 5
|
||||||
|
ADD 10,STACK >FLEN
|
||||||
|
?PRG3: LESS? YY,MAZE-HEIGHT \?REP4
|
||||||
|
SET 'XX,0
|
||||||
|
?PRG7: LESS? XX,MAZE-WIDTH \?REP8
|
||||||
|
ICALL MPUTB,XX,YY,MWALL
|
||||||
|
INC 'XX
|
||||||
|
JUMP ?PRG7
|
||||||
|
?REP8: INC 'YY
|
||||||
|
JUMP ?PRG3
|
||||||
|
?REP4: SET 'YY,1
|
||||||
|
?PRG11: LESS? YY,MAZE-HEIGHT \?REP12
|
||||||
|
SET 'XX,1
|
||||||
|
?PRG15: LESS? XX,MAZE-WIDTH \?REP16
|
||||||
|
ICALL MPUTB,XX,YY,0
|
||||||
|
ADD XX,2 >XX
|
||||||
|
JUMP ?PRG15
|
||||||
|
?REP16: ADD YY,2 >YY
|
||||||
|
JUMP ?PRG11
|
||||||
|
?REP12: SUB MAZE-WIDTH,2 >XGOAL
|
||||||
|
SET 'XSTART,XGOAL
|
||||||
|
SET 'X,XGOAL
|
||||||
|
DIV MAZE-HEIGHT,2
|
||||||
|
SUB STACK,1
|
||||||
|
RANDOM STACK
|
||||||
|
MUL STACK,2
|
||||||
|
ADD STACK,1 >YGOAL
|
||||||
|
SET 'YSTART,YGOAL
|
||||||
|
SET 'Y,YGOAL
|
||||||
|
ICALL MPUTB,X,Y,1
|
||||||
|
SET 'LEN,1
|
||||||
|
SET 'LMAX,1
|
||||||
|
SET 'XX,0
|
||||||
|
?PRG19: DEC 'LEFT
|
||||||
|
GRTR? LEFT,0 \?REP20
|
||||||
|
?PRG23: CALL MGETB,X,Y
|
||||||
|
ZERO? STACK /?CTR26
|
||||||
|
LESS? XX,PMAX \?CTR26
|
||||||
|
CALL FINDMOVE,X,Y >D
|
||||||
|
LESS? D,0 \?REP24
|
||||||
|
?CTR26: ICALL1 BACKUP
|
||||||
|
SET 'XX,0
|
||||||
|
JUMP ?PRG23
|
||||||
|
?REP24: ICALL2 REMOVEWALL,D
|
||||||
|
INC 'XX
|
||||||
|
JUMP ?PRG19
|
||||||
|
?REP20: SET 'YY,1
|
||||||
|
?PRG31: LESS? YY,MAZE-HEIGHT \?REP32
|
||||||
|
SET 'XX,1
|
||||||
|
?PRG35: LESS? XX,MAZE-WIDTH \?REP36
|
||||||
|
ICALL MPUTB,XX,YY,0
|
||||||
|
ADD XX,2 >XX
|
||||||
|
JUMP ?PRG35
|
||||||
|
?REP36: ADD YY,2 >YY
|
||||||
|
JUMP ?PRG31
|
||||||
|
?REP32: SET 'XX,0
|
||||||
|
?PRG39: LESS? XX,MAZE-WIDTH \?REP40
|
||||||
|
ICALL MPUTB,XX,0,MWALL
|
||||||
|
SUB MAZE-HEIGHT,1
|
||||||
|
ICALL MPUTB,XX,STACK,MWALL
|
||||||
|
INC 'XX
|
||||||
|
JUMP ?PRG39
|
||||||
|
?REP40: SET 'YY,1
|
||||||
|
?PRG43: SUB MAZE-HEIGHT,1
|
||||||
|
LESS? YY,STACK \?REP44
|
||||||
|
ICALL MPUTB,0,YY,MWALL
|
||||||
|
SUB MAZE-WIDTH,1
|
||||||
|
ICALL MPUTB,STACK,YY,MWALL
|
||||||
|
INC 'YY
|
||||||
|
JUMP ?PRG43
|
||||||
|
?REP44: INC 'XGOAL
|
||||||
|
CALL MPUTB,XGOAL,YGOAL,0
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT VISITED:ANY:2:2,XLOC,YLOC
|
||||||
|
CALL VALID,XLOC,YLOC
|
||||||
|
ZERO? STACK /TRUE
|
||||||
|
CALL MGETB,XLOC,YLOC
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT VALID:ANY:2:2,XLOC,YLOC
|
||||||
|
LESS? XLOC,0 /FALSE
|
||||||
|
LESS? XLOC,MAZE-WIDTH \FALSE
|
||||||
|
LESS? YLOC,0 /FALSE
|
||||||
|
LESS? YLOC,MAZE-HEIGHT /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FINDMOVE:ANY:2:2,XLOC,YLOC,DV,D,I,?PR-I,?TMP1
|
||||||
|
RANDOM 23 >DV
|
||||||
|
?PRG1: LESS? ?PR-I,4 /?CND3
|
||||||
|
RETURN D
|
||||||
|
?CND3: GET DIR,DV
|
||||||
|
GETB STACK,?PR-I >D
|
||||||
|
GET XOFF2,D
|
||||||
|
ADD XLOC,STACK >?TMP1
|
||||||
|
GET YOFF2,D
|
||||||
|
ADD YLOC,STACK
|
||||||
|
CALL VISITED,?TMP1,STACK
|
||||||
|
ZERO? STACK \?CCL7
|
||||||
|
RETURN D
|
||||||
|
?CCL7: SET 'D,-1
|
||||||
|
INC '?PR-I
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT BACKUP:ANY:0:0,D,XX,YY,?PR-D
|
||||||
|
DEC 'LEN
|
||||||
|
?PRG1: LESS? ?PR-D,4 \?REP2
|
||||||
|
GET XOFF2,?PR-D
|
||||||
|
ADD X,STACK >XX
|
||||||
|
GET YOFF2,?PR-D
|
||||||
|
ADD Y,STACK >YY
|
||||||
|
CALL VALID,XX,YY
|
||||||
|
ZERO? STACK /?CND5
|
||||||
|
CALL MGETB,XX,YY
|
||||||
|
EQUAL? STACK,LEN /?REP2
|
||||||
|
?CND5: INC '?PR-D
|
||||||
|
JUMP ?PRG1
|
||||||
|
?REP2: SET 'X,XX
|
||||||
|
SET 'Y,YY
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT REMOVEWALL:ANY:1:1,D,?TMP1
|
||||||
|
GET XOFF1,D
|
||||||
|
ADD X,STACK >?TMP1
|
||||||
|
GET YOFF1,D
|
||||||
|
ADD Y,STACK
|
||||||
|
ICALL MPUTB,?TMP1,STACK,0
|
||||||
|
CALL MGETB,X,Y
|
||||||
|
ADD STACK,1 >LEN
|
||||||
|
GET XOFF2,D
|
||||||
|
ADD X,STACK >X
|
||||||
|
GET YOFF2,D
|
||||||
|
ADD Y,STACK >Y
|
||||||
|
ICALL MPUTB,X,Y,LEN
|
||||||
|
EQUAL? LEN,FLEN \?CND1
|
||||||
|
SET 'XFISH,X
|
||||||
|
SET 'YFISH,Y
|
||||||
|
?CND1: GRTR? LEN,LMAX \TRUE
|
||||||
|
SET 'LMAX,LEN
|
||||||
|
SET 'XSTART,X
|
||||||
|
SET 'YSTART,Y
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
81
maze.zil
81
maze.zil
|
@ -145,8 +145,15 @@ litter." CR>
|
||||||
<GLOBAL YAMBUSH 0>
|
<GLOBAL YAMBUSH 0>
|
||||||
|
|
||||||
<ROUTINE I-AMBUSH-START ()
|
<ROUTINE I-AMBUSH-START ()
|
||||||
<COND (<OR <G? ,AMBUSH-PROB 100>
|
<COND (<AND <L=? ,AMBUSH-PROB 100>
|
||||||
<PROB ,AMBUSH-PROB>>
|
<NOT <PROB ,AMBUSH-PROB>>>
|
||||||
|
<QUEUE I-AMBUSH-START 5>
|
||||||
|
<SETG AMBUSH-PROB
|
||||||
|
<+ ,AMBUSH-PROB
|
||||||
|
<COND (<APPLE?> 12)
|
||||||
|
(ELSE 6)>>>
|
||||||
|
<RFALSE>)
|
||||||
|
(ELSE
|
||||||
<SETG XAMBUSH ,X>
|
<SETG XAMBUSH ,X>
|
||||||
<SETG YAMBUSH ,Y>
|
<SETG YAMBUSH ,Y>
|
||||||
<MOVE-ALL ,MAZE ,AMBUSH-SITE>
|
<MOVE-ALL ,MAZE ,AMBUSH-SITE>
|
||||||
|
@ -162,11 +169,7 @@ through the throat. His lungs fill with molten fire and death
|
||||||
swallows him. His last thought is one of wonder, for did not Lord
|
swallows him. His last thought is one of wonder, for did not Lord
|
||||||
Kiyama, his master, tell him the ambush was to be later, beside
|
Kiyama, his master, tell him the ambush was to be later, beside
|
||||||
the wharves, and directed at the pirate?" CR CR>
|
the wharves, and directed at the pirate?" CR CR>
|
||||||
<GOTO ,AMBUSH-SITE>)
|
<GOTO ,AMBUSH-SITE>)>>
|
||||||
(ELSE
|
|
||||||
<QUEUE I-AMBUSH-START 5>
|
|
||||||
<SETG AMBUSH-PROB <+ ,AMBUSH-PROB 6>>
|
|
||||||
<RFALSE>)>>
|
|
||||||
|
|
||||||
<ROUTINE I-AMBUSH ()
|
<ROUTINE I-AMBUSH ()
|
||||||
<ZLINES ,AMBUSH-CNT
|
<ZLINES ,AMBUSH-CNT
|
||||||
|
@ -186,17 +189,18 @@ staring in shock at the dying maid." CR>)
|
||||||
<COND (<FSET? ,MARIKOS-LITTER ,SCOREBIT>
|
<COND (<FSET? ,MARIKOS-LITTER ,SCOREBIT>
|
||||||
<FSET ,MARIKO ,DEAD>
|
<FSET ,MARIKO ,DEAD>
|
||||||
<TELL
|
<TELL
|
||||||
" One strikes Mariko in the back as she starts to run for cover. She
|
"One strikes Mariko in the back as she starts to run for cover. She
|
||||||
falls to the ground and is still." CR>
|
falls to the ground and is still." CR>
|
||||||
<FAILED-SCENE>)
|
<FAILED-SCENE>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" One thuds into the ground where Mariko was an instant ago." CR>)>)
|
"One thuds into the ground where Mariko was an instant ago." CR>)>)
|
||||||
(<MOVE ,TORANAGA ,HERE>
|
(<MOVE ,TORANAGA ,HERE>
|
||||||
<REMOVE ,TORANAGA-IN-DRAG>
|
<REMOVE ,TORANAGA-IN-DRAG>
|
||||||
<FSET ,CURTAINS ,OPENBIT>
|
<FSET ,CURTAINS ,OPENBIT>
|
||||||
<MARGINAL-PIC ,P-IN-DRAG T ,P-IN-DRAG-CORNER T>
|
<COND (<NOT <MARGINAL-PIC ,P-IN-DRAG T ,P-IN-DRAG-CORNER T>>
|
||||||
<TELL CR
|
<CRLF>)>
|
||||||
|
<TELL
|
||||||
"Buntaro shields Toranaga's litter with his body as best he can, then
|
"Buntaro shields Toranaga's litter with his body as best he can, then
|
||||||
whips open the curtains. Two arrows are imbedded in Toranaga's chest and
|
whips open the curtains. Two arrows are imbedded in Toranaga's chest and
|
||||||
side,
|
side,
|
||||||
|
@ -293,6 +297,7 @@ too. The party is surrounded!" CR>
|
||||||
harbor. At night, it is a nightmare of blind alleys, twisting overhung
|
harbor. At night, it is a nightmare of blind alleys, twisting overhung
|
||||||
streets, and shadowy hurrying shapes." CR>)
|
streets, and shadowy hurrying shapes." CR>)
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
|
<TOUCH-SEG ,P-MAZE-BACKGROUND>
|
||||||
<PICSET ,MAZE-PICS>
|
<PICSET ,MAZE-PICS>
|
||||||
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||||
<MOVE-ALL ,CITY ,MAZE>
|
<MOVE-ALL ,CITY ,MAZE>
|
||||||
|
@ -313,7 +318,7 @@ pass." CR CR>
|
||||||
<SET YY ,YAMBUSH>
|
<SET YY ,YAMBUSH>
|
||||||
<TELL
|
<TELL
|
||||||
"The cortege re-forms and prepares to continue the escape. The urgency is
|
"The cortege re-forms and prepares to continue the escape. The urgency is
|
||||||
now great, as the escaped grays will spread the alarm." CR>)
|
now great, as the escaped Grays will spread the alarm." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<SET XX ,XSTART>
|
<SET XX ,XSTART>
|
||||||
<SET YY ,YSTART>
|
<SET YY ,YSTART>
|
||||||
|
@ -330,6 +335,9 @@ now great, as the escaped grays will spread the alarm." CR>)
|
||||||
<COND (<VERB? DEFINE>
|
<COND (<VERB? DEFINE>
|
||||||
<CLEAR ,MAZE-WINDOW>
|
<CLEAR ,MAZE-WINDOW>
|
||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
|
(<VERB? COLOR>
|
||||||
|
<TELL
|
||||||
|
"[Sorry, you can't change colors in this part of Osaka.]" CR>)
|
||||||
(<VERB? WALK>
|
(<VERB? WALK>
|
||||||
<REPEAT ((MOVED? <>))
|
<REPEAT ((MOVED? <>))
|
||||||
<SET XX ,X>
|
<SET XX ,X>
|
||||||
|
@ -395,13 +403,14 @@ now great, as the escaped grays will spread the alarm." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
G"You make your way through the deserted streets.">
|
G"You make your way through the deserted streets.">
|
||||||
<TELL
|
<TELL
|
||||||
" Toranaga stops the cortege outside a battered gate. A fish is etched
|
"Toranaga stops the cortege outside a battered gate. A fish is etched
|
||||||
into its timbers. He knocks in code. The door opens at once, and an
|
into its timbers. He knocks in code. The door opens at once, and an
|
||||||
ill-kempt samurai bows. \"Bring your men and follow me,\" Toranaga
|
ill-kempt samurai bows. \"Bring your men and follow me,\" Toranaga
|
||||||
says. Fifteen men, dressed as "I"ronin"" follow him and slip into
|
says. Fifteen men dressed as "I"ronin"" follow him and slip into
|
||||||
place as advance and rear guard. Others spread the alarm to other
|
place as advance and rear guard. Others spread the alarm to other
|
||||||
secret cadres. Soon there are fifty troops with you and a hundred
|
secret cadres. Soon there are fifty troops with you and a hundred
|
||||||
guarding your flanks." CR>)>)
|
guarding your flanks." CR>)>
|
||||||
|
<RTRUE>)
|
||||||
(<AND <EQUAL? .OXX ,XFISH>
|
(<AND <EQUAL? .OXX ,XFISH>
|
||||||
<EQUAL? .OYY ,YFISH>>
|
<EQUAL? .OYY ,YFISH>>
|
||||||
<REMOVE ,FISH-GATE>)>
|
<REMOVE ,FISH-GATE>)>
|
||||||
|
@ -439,6 +448,7 @@ confusion." CR>)
|
||||||
<ROUTINE LEAVE-MAZE ("AUX" YY)
|
<ROUTINE LEAVE-MAZE ("AUX" YY)
|
||||||
<SET YY <+ <WINGET ,S-TEXT ,WYPOS> <WINGET ,S-TEXT ,WTOP>>>
|
<SET YY <+ <WINGET ,S-TEXT ,WYPOS> <WINGET ,S-TEXT ,WTOP>>>
|
||||||
<SETUP-TEXT-AND-STATUS>
|
<SETUP-TEXT-AND-STATUS>
|
||||||
|
<COND (<APPLE?> <DISPLAY-BORDER>)>
|
||||||
<SCREEN ,S-TEXT>
|
<SCREEN ,S-TEXT>
|
||||||
<CURSET <- .YY <WINGET ,S-TEXT ,WTOP>> 1>>
|
<CURSET <- .YY <WINGET ,S-TEXT ,WTOP>> 1>>
|
||||||
|
|
||||||
|
@ -583,17 +593,24 @@ confusion." CR>)
|
||||||
<MPUTB .X .Y .VAL>
|
<MPUTB .X .Y .VAL>
|
||||||
<DISPLAY-MAZE-PIC <BAND .VAL 127> .Y .X>)>)>>
|
<DISPLAY-MAZE-PIC <BAND .VAL 127> .Y .X>)>)>>
|
||||||
|
|
||||||
<ROUTINE DISPLAY-MAZE ("AUX" Y BY BX MH TH SH)
|
<ROUTINE DISPLAY-MAZE ("AUX" Y BY BX MH MW TH SH FH)
|
||||||
<RESET-MARGIN>
|
<RESET-MARGIN>
|
||||||
<CLEAR ,S-TEXT>
|
<CLEAR ,S-TEXT>
|
||||||
<PICINF ,P-MAZE-BACKGROUND ,YX-TBL>
|
<PICINF ,P-MAZE-BACKGROUND ,YX-TBL>
|
||||||
|
<SET FH <WINGET ,S-FULL ,WHIGH>>
|
||||||
<SET SH <WINGET ,S-STATUS ,WHIGH>>
|
<SET SH <WINGET ,S-STATUS ,WHIGH>>
|
||||||
|
<SET MH <GET ,YX-TBL 0>>
|
||||||
|
<SET MW <GET ,YX-TBL 1>>
|
||||||
|
<COND (<G? <+ .SH .MH <* 2 ,FONT-Y>> .FH>
|
||||||
|
<SET MH <- .FH .SH <* 2 ,FONT-Y>>>)>
|
||||||
|
<COND (<G? .MW <WINGET ,S-TEXT ,WWIDE>>
|
||||||
|
<SET MW <WINGET ,S-TEXT ,WWIDE>>)>
|
||||||
<WINDEF ,MAZE-WINDOW
|
<WINDEF ,MAZE-WINDOW
|
||||||
<SET Y <+ <WINGET ,S-STATUS ,WTOP> .SH>>
|
<SET Y <+ <WINGET ,S-STATUS ,WTOP> .SH>>
|
||||||
<WINGET ,S-TEXT ,WLEFT>
|
<WINGET ,S-TEXT ,WLEFT>
|
||||||
<SET MH <GET ,YX-TBL 0>>
|
.MH
|
||||||
<GET ,YX-TBL 1>>
|
.MW>
|
||||||
<SET TH <- <WINGET ,S-FULL ,WHIGH> .SH>>
|
<SET TH <- .FH .SH>>
|
||||||
<WINDEF ,S-TEXT
|
<WINDEF ,S-TEXT
|
||||||
<+ .Y .MH> <WINGET ,S-TEXT ,WLEFT>
|
<+ .Y .MH> <WINGET ,S-TEXT ,WLEFT>
|
||||||
<- .TH .MH> <WINGET ,S-TEXT ,WWIDE>>
|
<- .TH .MH> <WINGET ,S-TEXT ,WWIDE>>
|
||||||
|
@ -603,13 +620,15 @@ confusion." CR>)
|
||||||
<SET BY <GET ,MAZE-BOX-TBL 0>>
|
<SET BY <GET ,MAZE-BOX-TBL 0>>
|
||||||
<SET BX <GET ,MAZE-BOX-TBL 1>>
|
<SET BX <GET ,MAZE-BOX-TBL 1>>
|
||||||
<SETG YOFFSET
|
<SETG YOFFSET
|
||||||
</ <- <WINGET ,MAZE-WINDOW ,WHIGH>
|
<- <WINGET ,MAZE-WINDOW ,WHIGH>
|
||||||
<* ,MAZE-HEIGHT .BY>>
|
<* ,MAZE-HEIGHT .BY>>>
|
||||||
2>>
|
<COND (<L? ,YOFFSET 0> <SETG YOFFSET 0>)
|
||||||
|
(ELSE <SETG YOFFSET </ ,YOFFSET 2>>)>
|
||||||
<SETG XOFFSET
|
<SETG XOFFSET
|
||||||
</ <- <WINGET ,MAZE-WINDOW ,WWIDE>
|
<- <WINGET ,MAZE-WINDOW ,WWIDE>
|
||||||
<* ,MAZE-WIDTH .BX>>
|
<* ,MAZE-WIDTH .BX>>>
|
||||||
2>>
|
<COND (<L? ,XOFFSET 0> <SETG XOFFSET 0>)
|
||||||
|
(ELSE <SETG XOFFSET </ ,XOFFSET 2>>)>
|
||||||
<PRINTM>
|
<PRINTM>
|
||||||
<SCREEN ,S-TEXT>>
|
<SCREEN ,S-TEXT>>
|
||||||
|
|
||||||
|
@ -621,11 +640,14 @@ confusion." CR>)
|
||||||
.Y .X>
|
.Y .X>
|
||||||
<SET OFFS <+ .OFFS 1>>>>>
|
<SET OFFS <+ .OFFS 1>>>>>
|
||||||
|
|
||||||
<CONSTANT MAZE-WIDTH 37>
|
<CONSTANT MAX-MAZE-WIDTH 37>
|
||||||
<CONSTANT MAZE-HEIGHT 17>
|
<CONSTANT MAX-MAZE-HEIGHT 17>
|
||||||
|
<GLOBAL MAZE-MAP <ITABLE <* ,MAX-MAZE-WIDTH ,MAX-MAZE-HEIGHT> (BYTE) 128>>
|
||||||
|
|
||||||
|
<GLOBAL MAZE-WIDTH 37>
|
||||||
|
<GLOBAL MAZE-HEIGHT 17>
|
||||||
<GLOBAL SIZE 0>
|
<GLOBAL SIZE 0>
|
||||||
<GLOBAL PMAX 0>
|
<GLOBAL PMAX 0>
|
||||||
<GLOBAL MAZE-MAP <ITABLE <* ,MAZE-WIDTH ,MAZE-HEIGHT> (BYTE) 128>>
|
|
||||||
|
|
||||||
<CONSTANT DIR
|
<CONSTANT DIR
|
||||||
<TABLE <TABLE (BYTE) 0 1 2 3> <TABLE (BYTE) 0 1 3 2>
|
<TABLE <TABLE (BYTE) 0 1 2 3> <TABLE (BYTE) 0 1 3 2>
|
||||||
|
@ -659,6 +681,9 @@ confusion." CR>)
|
||||||
<GLOBAL YFISH 0>
|
<GLOBAL YFISH 0>
|
||||||
|
|
||||||
<ROUTINE BUILDMAZE ("AUX" LEFT PLEN D)
|
<ROUTINE BUILDMAZE ("AUX" LEFT PLEN D)
|
||||||
|
<COND (<APPLE?>
|
||||||
|
<SETG MAZE-WIDTH 19>
|
||||||
|
<SETG MAZE-HEIGHT 15>)>
|
||||||
<SETG SIZE <* </ ,MAZE-WIDTH 2> </ ,MAZE-HEIGHT 2>>>
|
<SETG SIZE <* </ ,MAZE-WIDTH 2> </ ,MAZE-HEIGHT 2>>>
|
||||||
<SETG PMAX ,SIZE>
|
<SETG PMAX ,SIZE>
|
||||||
<SET LEFT ,SIZE>
|
<SET LEFT ,SIZE>
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<DEFAULTS-DEFINED MENU-WINDOW DIROUT-TABLE>
|
||||||
|
<DEFAULT-DEFINITION MENU-WINDOW <CONSTANT MENU-WINDOW 2>>
|
||||||
|
<DEFAULT-DEFINITION DIROUT-TABLE <CONSTANT DIROUT-TABLE <ITABLE 80 <BYTE 0>>>>
|
||||||
|
<DEFINE-ROUTINE GET-FROM-MENU>
|
||||||
|
<DEFINE-ROUTINE MENU-SELECT>
|
||||||
|
<DEFINE-ROUTINE PRINT-TABLE>
|
||||||
|
<DEFINE-ROUTINE STRWIDTH>
|
||||||
|
<DEFINE-ROUTINE LC>
|
||||||
|
<DEFINE-ROUTINE FIND-ITEM>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,245 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT GET-FROM-MENU:ANY:3:4,MSG,MENU,FCN,DEF,YFULL,Y,TMP,N,WHICH,L,WID,CNT,LL,?TMP1,?TMP2
|
||||||
|
ASSIGNED? 'DEF /?CND1
|
||||||
|
SET 'DEF,1
|
||||||
|
?CND1: GET MENU,0 >L
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS /?CCL4
|
||||||
|
EQUAL? MACHINE,AMIGA \?CND3
|
||||||
|
?CCL4: INC 'L
|
||||||
|
?CND3: WINGET S-TEXT,WCRCNT >Y
|
||||||
|
ZERO? Y /?CND7
|
||||||
|
ICALL2 N-CRLF,Y
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
?CND7: WINGET 0,WHIGH
|
||||||
|
DIV STACK,FONT-Y >TMP
|
||||||
|
WINGET 0,WLCNT
|
||||||
|
SUB TMP,STACK
|
||||||
|
GRTR? L,STACK \?CND9
|
||||||
|
WINPUT 0,WLCNT,TMP
|
||||||
|
?CND9: GET MENU,0 >LL
|
||||||
|
?PRG11: IGRTR? 'CNT,LL \?CCL15
|
||||||
|
INC 'WID
|
||||||
|
SET 'RESTORED?,TRUE-VALUE
|
||||||
|
?PRG18: ZERO? RESTORED? /?CND20
|
||||||
|
MUL L,FONT-Y
|
||||||
|
ICALL2 MAKE-ROOM-FOR,STACK
|
||||||
|
WINGET 0,WYPOS >Y
|
||||||
|
WINGET 0,WTOP
|
||||||
|
ADD STACK,Y
|
||||||
|
ADD STACK,-1 >YFULL
|
||||||
|
?CND20: CURSET Y,1
|
||||||
|
WINGET 0,WLEFT >?TMP2
|
||||||
|
MUL L,FONT-Y >?TMP1
|
||||||
|
WINGET 0,WWIDE
|
||||||
|
ICALL WINDEF,MENU-WINDOW,YFULL,?TMP2,?TMP1,STACK
|
||||||
|
SCREEN MENU-WINDOW
|
||||||
|
EQUAL? MACHINE,AMIGA /?CND22
|
||||||
|
WINGET S-TEXT,WCOLOR >LL
|
||||||
|
BAND LL,255 >?TMP1
|
||||||
|
SHIFT LL,-8
|
||||||
|
COLOR ?TMP1,STACK
|
||||||
|
?CND22: CLEAR MENU-WINDOW
|
||||||
|
SCREEN S-TEXT
|
||||||
|
PRINT MSG
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS /?CTR25
|
||||||
|
EQUAL? MACHINE,AMIGA \?CCL26
|
||||||
|
?CTR25: SET 'LL,FONT-Y
|
||||||
|
CRLF
|
||||||
|
JUMP ?CND24
|
||||||
|
?CCL15: DIROUT D-TABLE-ON,DIROUT-TABLE
|
||||||
|
GET MENU,CNT
|
||||||
|
ICALL2 PRINT-TABLE,STACK
|
||||||
|
DIROUT D-TABLE-OFF
|
||||||
|
GET 0,24 >TMP
|
||||||
|
GRTR? TMP,WID \?PRG11
|
||||||
|
SET 'WID,TMP
|
||||||
|
JUMP ?PRG11
|
||||||
|
?CCL26: SET 'LL,0
|
||||||
|
?CND24: ADD YFULL,LL
|
||||||
|
CALL MENU-SELECT,MENU,STACK,WID,DEF >WHICH
|
||||||
|
LESS? WHICH,0 \?CCL31
|
||||||
|
RETURN WHICH
|
||||||
|
?CCL31: GET 0,8
|
||||||
|
BTST STACK,1 \?CND29
|
||||||
|
DIROUT D-SCREEN-OFF
|
||||||
|
PRINTC 32
|
||||||
|
GET MENU,WHICH
|
||||||
|
ICALL2 PRINT-TABLE,STACK
|
||||||
|
CRLF
|
||||||
|
CRLF
|
||||||
|
DIROUT D-SCREEN-ON
|
||||||
|
?CND29: CRLF
|
||||||
|
SET 'RESTORED?,FALSE-VALUE
|
||||||
|
CALL FCN,WHICH,MENU >LL
|
||||||
|
ZERO? LL /?PRG18
|
||||||
|
RETURN LL
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MENU-SELECT:ANY:3:4,M,Y,WID,S,X,CNT,CHR,?PR-Y,OS,OICNT,ITEM,TMP,?TMP1
|
||||||
|
ASSIGNED? 'S /?CND1
|
||||||
|
SET 'S,1
|
||||||
|
?CND1: GET M,0 >CNT
|
||||||
|
GET 0,17
|
||||||
|
SUB STACK,WID
|
||||||
|
DIV STACK,2 >X
|
||||||
|
MUL CNT,FONT-Y
|
||||||
|
ICALL WINDEF,MENU-WINDOW,Y,X,STACK,WID
|
||||||
|
SCREEN MENU-WINDOW
|
||||||
|
EQUAL? MACHINE,AMIGA /?CND3
|
||||||
|
WINGET S-TEXT,WCOLOR >CHR
|
||||||
|
BAND CHR,255 >?TMP1
|
||||||
|
SHIFT CHR,-8
|
||||||
|
COLOR ?TMP1,STACK
|
||||||
|
?CND3: CLEAR MENU-WINDOW
|
||||||
|
ICALL1 CURSOR-OFF
|
||||||
|
?PRG5: IGRTR? '?PR-Y,CNT /?REP6
|
||||||
|
ICALL CCURSET,?PR-Y,1
|
||||||
|
EQUAL? ?PR-Y,S \?CND10
|
||||||
|
HLIGHT H-INVERSE
|
||||||
|
?CND10: GET M,?PR-Y
|
||||||
|
ICALL2 PRINT-TABLE,STACK
|
||||||
|
EQUAL? ?PR-Y,S \?PRG5
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
JUMP ?PRG5
|
||||||
|
?REP6: ICALL CCURSET,S,1
|
||||||
|
SET '?PR-Y,0
|
||||||
|
GET M,S >ITEM
|
||||||
|
?PRG14: ZERO? DEMO-VERSION? /?CCL18
|
||||||
|
CALL2 INPUT-DEMO,1
|
||||||
|
JUMP ?CND16
|
||||||
|
?CCL18: INPUT 1
|
||||||
|
?CND16: CALL2 CONVERT-KEYS,STACK
|
||||||
|
CALL2 LC,STACK >CHR
|
||||||
|
SET 'OS,S
|
||||||
|
SET 'OICNT,?PR-Y
|
||||||
|
EQUAL? CHR,CLICK1,CLICK2 \?CCL21
|
||||||
|
CALL2 IN-WINDOW?,SOFT-WINDOW >TMP
|
||||||
|
ZERO? TMP /?CCL21
|
||||||
|
SET 'S,TMP
|
||||||
|
EQUAL? OS,S /?CND24
|
||||||
|
ICALL CCURSET,OS,1
|
||||||
|
GET M,OS
|
||||||
|
ICALL2 PRINT-TABLE,STACK
|
||||||
|
ICALL CCURSET,S,1
|
||||||
|
HLIGHT H-INVERSE
|
||||||
|
GET M,S >ITEM
|
||||||
|
ICALL2 PRINT-TABLE,ITEM
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
CALL2 L-PIXELS,S >?TMP1
|
||||||
|
CALL STRWIDTH,ITEM,?PR-Y
|
||||||
|
ADD STACK,1
|
||||||
|
CURSET ?TMP1,STACK
|
||||||
|
?CND24: EQUAL? CHR,CLICK2 \?CCL28
|
||||||
|
CLEAR MENU-WINDOW
|
||||||
|
ICALL1 CURSOR-ON
|
||||||
|
SCREEN S-TEXT
|
||||||
|
RETURN S
|
||||||
|
?CCL28: SET 'OS,S
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL21: EQUAL? CHR,8,127 \?CCL30
|
||||||
|
GRTR? ?PR-Y,0 \?CCL30
|
||||||
|
DEC '?PR-Y
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL30: EQUAL? CHR,UP-ARROW,LEFT-ARROW,DOWN-ARROW /?CTR33
|
||||||
|
EQUAL? CHR,RIGHT-ARROW,32 \?CCL34
|
||||||
|
?CTR33: SET 'ITEM,FALSE-VALUE
|
||||||
|
SET '?PR-Y,FALSE-VALUE
|
||||||
|
EQUAL? CHR,UP-ARROW,LEFT-ARROW \?CCL39
|
||||||
|
GRTR? S,1 \?CCL42
|
||||||
|
DEC 'S
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL42: SET 'S,CNT
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL39: LESS? S,CNT \?CCL45
|
||||||
|
INC 'S
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL45: SET 'S,1
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL34: EQUAL? CHR,13 \?CCL47
|
||||||
|
CLEAR MENU-WINDOW
|
||||||
|
ICALL1 CURSOR-ON
|
||||||
|
SCREEN S-TEXT
|
||||||
|
RETURN S
|
||||||
|
?CCL47: GETB ITEM,0
|
||||||
|
LESS? ?PR-Y,STACK \?CCL49
|
||||||
|
ADD ?PR-Y,1
|
||||||
|
GETB ITEM,STACK
|
||||||
|
CALL2 LC,STACK
|
||||||
|
EQUAL? CHR,STACK \?CCL49
|
||||||
|
INC '?PR-Y
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL49: CALL FIND-ITEM,ITEM,CHR,?PR-Y,M >TMP
|
||||||
|
ZERO? TMP /?CCL53
|
||||||
|
SET 'S,TMP
|
||||||
|
INC '?PR-Y
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL53: SOUND S-BEEP
|
||||||
|
?CND19: GET M,S >ITEM
|
||||||
|
EQUAL? S,OS \?CCL55
|
||||||
|
EQUAL? ?PR-Y,OICNT /?PRG14
|
||||||
|
?CCL55: EQUAL? S,OS /?CND58
|
||||||
|
ICALL CCURSET,OS,1
|
||||||
|
GET M,OS
|
||||||
|
ICALL2 PRINT-TABLE,STACK
|
||||||
|
ICALL CCURSET,S,1
|
||||||
|
HLIGHT H-INVERSE
|
||||||
|
ICALL2 PRINT-TABLE,ITEM
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
?CND58: CALL2 L-PIXELS,S >?TMP1
|
||||||
|
CALL STRWIDTH,ITEM,?PR-Y
|
||||||
|
ADD STACK,1
|
||||||
|
CURSET ?TMP1,STACK
|
||||||
|
JUMP ?PRG14
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINT-TABLE:ANY:1:2,TBL,L
|
||||||
|
ASSIGNED? 'L /?CND1
|
||||||
|
GETB TBL,0 >L
|
||||||
|
?CND1: ADD 1,TBL
|
||||||
|
PRINTT STACK,L
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT STRWIDTH:ANY:2:2,ITEM,ICNT
|
||||||
|
GRTR? ICNT,1 \FALSE
|
||||||
|
DIROUT D-TABLE-ON,DIROUT-TABLE
|
||||||
|
ICALL PRINT-TABLE,ITEM,ICNT
|
||||||
|
DIROUT D-TABLE-OFF
|
||||||
|
GET 0,24
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT LC:ANY:1:1,CHR
|
||||||
|
LESS? CHR,65 /?CCL3
|
||||||
|
GRTR? CHR,90 /?CCL3
|
||||||
|
ADD CHR,32
|
||||||
|
RSTACK
|
||||||
|
?CCL3: RETURN CHR
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FIND-ITEM:ANY:4:4,ITEM,CHR,ICNT,MENU,S,NITEM,CCNT,C1,C2
|
||||||
|
?PRG1: GET MENU,0
|
||||||
|
IGRTR? 'S,STACK /FALSE
|
||||||
|
GET MENU,S >NITEM
|
||||||
|
GETB NITEM,0
|
||||||
|
LESS? ICNT,STACK \?PRG1
|
||||||
|
ADD ICNT,1
|
||||||
|
GETB NITEM,STACK
|
||||||
|
CALL2 LC,STACK
|
||||||
|
EQUAL? CHR,STACK \?PRG1
|
||||||
|
SET 'CCNT,0
|
||||||
|
?PRG9: IGRTR? 'CCNT,ICNT \?CND11
|
||||||
|
RETURN S
|
||||||
|
?CND11: GETB NITEM,CCNT
|
||||||
|
CALL2 LC,STACK >C1
|
||||||
|
GETB ITEM,CCNT
|
||||||
|
CALL2 LC,STACK >C2
|
||||||
|
EQUAL? C1,C2 /?PRG9
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -0,0 +1,184 @@
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<PROPDEF SCENE <> (SCENE "MANY" S:FIX = <> "MANY" <BYTE .S>)>
|
||||||
|
<PROPDEF SCORE <> (SCORE N:FIX = 2 <BYTE 0> <BYTE .N>)>
|
||||||
|
<DEFINE-ROUTINE PRINT-HIM/HER>
|
||||||
|
<DEFINE-ROUTINE CPRINT-HE/SHE>
|
||||||
|
<DEFINE-ROUTINE PRINT-HE/SHE>
|
||||||
|
<DEFINE-ROUTINE PRINT-HIS/HER>
|
||||||
|
<DEFINE-ROUTINE PRINT-PLURAL>
|
||||||
|
<DEFINE-ROUTINE PRINTUNDER>
|
||||||
|
<DEFINE-ROUTINE CTHE-PRINT-PRSO>
|
||||||
|
<DEFINE-ROUTINE CTHE-PRINT-PRSI>
|
||||||
|
<DEFINE-ROUTINE CTHE-PRINT>
|
||||||
|
<DEFINE-ROUTINE THE-PRINT-PRSO>
|
||||||
|
<DEFINE-ROUTINE THE-PRINT-PRSI>
|
||||||
|
<DEFINE-ROUTINE THE-PRINT>
|
||||||
|
<DEFINE-ROUTINE CPRINTA-PRSO>
|
||||||
|
<DEFINE-ROUTINE PRINTA-PRSO>
|
||||||
|
<DEFINE-ROUTINE PRINTA-PRSI>
|
||||||
|
<DEFINE-ROUTINE PRINTA>
|
||||||
|
<DEFINE-ROUTINE DPRINT-PRSO>
|
||||||
|
<DEFINE-ROUTINE DPRINT-PRSI>
|
||||||
|
<DEFINE-ROUTINE DPRINT>
|
||||||
|
<DEFINE-ROUTINE IPRINT>
|
||||||
|
<COND (<GASSIGNED? ZILCH> <DEFINE PE (F I) <COND (<TYPE? .I LIST> <FORM .F !.I>
|
||||||
|
) (ELSE <FORM .F .I>)>> <DEFMAC P? ('V "OPT" ('O '*) ('I '*) ('W '*) "AUX" (L (
|
||||||
|
))) <COND (<N==? .I '*> <SET L (<PE PRSI? .I> !.L)>)> <COND (<N==? .O '*> <COND
|
||||||
|
(<OR <==? .V 'WALK> <==? .V ',V?WALK>> <SET L (<PE DIR? .O> !.L)>) (ELSE <SET L
|
||||||
|
(<PE PRSO? .O> !.L)>)>)> <COND (<N==? .V '*> <SET L (<PE VERB? .V> !.L)>)> <
|
||||||
|
COND (<N==? .W '*> <SET L (<PE WINNER? .W> !.L)>)> <COND (<EMPTY? <REST .L>> <1
|
||||||
|
.L>) (ELSE <FORM AND !.L>)>> <DEFMAC NOT-SOLVED? ('OBJ) <FORM FSET? .OBJ ',
|
||||||
|
SCOREBIT>> <DEFMAC SOLVED? ('OBJ) <FORM NOT <FORM FSET? .OBJ ',SCOREBIT>>> <
|
||||||
|
DEFMAC VERB? ("ARGS" ATMS) <MULTIFROB ',PRSA .ATMS>> <DEFMAC SCENE? ("ARGS"
|
||||||
|
ATMS) <MULTIFROB ',SCENE .ATMS>> <DEFMAC CONTEXT? ("ARGS" ATMS) <MULTIFROB '.
|
||||||
|
RARG .ATMS>> <DEFMAC ADJ? ("ARGS" ATMS) <MULTIFROB '<PARSE-ADJ ,PARSE-RESULT> .
|
||||||
|
ATMS>> <SETG RARG? ,CONTEXT?> <DEFMAC WINNER? ("ARGS" ATMS) <MULTIFROB ',WINNER
|
||||||
|
.ATMS>> <DEFMAC PRSO? ("ARGS" ATMS) <MULTIFROB ',PRSO .ATMS>> <DEFMAC DIR? (
|
||||||
|
"ARGS" ATMS) <MULTIFROB ',P-WALK-DIR .ATMS>> <DEFMAC PRSI? ("ARGS" ATMS) <
|
||||||
|
MULTIFROB ',PRSI .ATMS>> <DEFMAC HERE? ("ARGS" ATMS) <MULTIFROB ',HERE .ATMS>>
|
||||||
|
<SETG ROOM? ,HERE?> <DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ())
|
||||||
|
ATM SP) <REPEAT () <COND (<EMPTY? .ATMS> <RETURN <COND (<LENGTH? .OO 1> <ERROR
|
||||||
|
.X>) (<LENGTH? .OO 2> <NTH .OO 2>) (ELSE <CHTYPE .OO FORM>)>>)> <REST <PUTREST
|
||||||
|
.O <SET O (<REPEAT ((LL <FORM EQUAL? .X>) (L <REST .LL>)) <COND (<OR <EMPTY? .
|
||||||
|
ATMS> <==? <LENGTH <REST .LL 2>> 3>> <RETURN .LL>)> <SET ATM <NTH .ATMS 1>> <
|
||||||
|
PUTREST .L <SET L (<COND (<TYPE? .ATM ATOM> <SET SP <SPNAME .ATM>> <MAKE-GVAL <
|
||||||
|
COND (<==? .X ',PRSA> <PARSE <STRING "V?" .SP>>) (<==? .X ',P-WALK-DIR> <COND (
|
||||||
|
<AND <G? <LENGTH .SP> 2> <==? <1 .SP> !\P> <==? <2 .SP> !\?>> .ATM) (ELSE <
|
||||||
|
PARSE <STRING "P?" .SP>>)>) (<==? .X '.RARG> <COND (<AND <G? <LENGTH .SP> 2> <
|
||||||
|
==? <1 .SP> !\M> <==? <2 .SP> !\->> .ATM) (ELSE <PARSE <STRING "M-" .SP>>)>) (
|
||||||
|
ELSE .ATM)>>) (ELSE .ATM)>)>> <SET ATMS <REST .ATMS>>>)>>>>>) (ELSE <DEFINE P?
|
||||||
|
(V "OPT" (O '*) (I '*) (W '*) "AUX" (L <>)) <AND <OR <==? .W '*> <WINNER? .W>>
|
||||||
|
<OR <==? .V '*> <VERB? .V>> <OR <==? .O '*> <PRSO? .O>> <OR <==? .I '*> <PRSI?
|
||||||
|
.I>>>> <DEFINE VERB? ("TUPLE" ATMS) <MAPF <> <FUNCTION (A "AUX" ATM) <COND (<
|
||||||
|
TYPE? .A ATOM> <COND (<SET ATM <LOOKUP <STRING "V?" <SPNAME .A>> <MOBLIST
|
||||||
|
INITIAL>>> <COND (<EQUAL? ,PRSA ,.ATM> <MAPLEAVE T>)>) (ELSE <ERROR NOT-A-VERB?
|
||||||
|
.A>)>) (<EQUAL? ,PRSA .A> <MAPLEAVE T>)>> .ATMS>> <DEFINE CONTEXT? ("TUPLE"
|
||||||
|
ATMS) <MAPF <> <FUNCTION (A "AUX" ATM) <COND (<TYPE? .A ATOM> <COND (<AND <G? <
|
||||||
|
LENGTH <SET ATM <SPNAME .A>>> 2> <==? <1 .ATM> !\M> <==? <2 .ATM> !\->> <COND (
|
||||||
|
<EQUAL? .RARG ,.ATM> <MAPLEAVE T>)>) (<SET ATM <LOOKUP <STRING "M-" <SPNAME .A>
|
||||||
|
> <MOBLIST INITIAL>>> <COND (<EQUAL? .RARG ,.ATM> <MAPLEAVE T>)>) (ELSE <ERROR
|
||||||
|
NOT-A-CONTEXT? .A>)>) (<EQUAL? .RARG .A> <MAPLEAVE T>)>> .ATMS>> <SETG RARG? ,
|
||||||
|
CONTEXT?> <DEFINE WINNER? ("TUPLE" ATMS) <MULTIFROB ,WINNER .ATMS>> <DEFINE
|
||||||
|
PRSO? ("TUPLE" ATMS) <MULTIFROB ,PRSO .ATMS>> <DEFINE PRSI? ("TUPLE" ATMS) <
|
||||||
|
MULTIFROB ,PRSI .ATMS>> <DEFINE HERE? ("TUPLE" ATMS) <MULTIFROB HERE .ATMS>> <
|
||||||
|
SETG ROOM? ,HERE?> <DEFINE MULTIFROB (X ATMS) <MAPF <> <FUNCTION (A) <COND (<
|
||||||
|
TYPE? .A ATOM> <SET A ,.A>)> <COND (<EQUAL? .X .A> <MAPLEAVE T>)>> .ATMS>>)>
|
||||||
|
<COND (<GASSIGNED? ZILCH> <DEFMAC BSET ('OBJ "ARGS" BITS) <MULTIBITS FSET .OBJ
|
||||||
|
.BITS>> <DEFMAC BCLEAR ('OBJ "ARGS" BITS) <MULTIBITS FCLEAR .OBJ .BITS>> <
|
||||||
|
DEFMAC BSET? ('OBJ "ARGS" BITS) <MULTIBITS FSET? .OBJ .BITS>> <DEFINE MULTIBITS
|
||||||
|
(X OBJ ATMS "AUX" (OT <COND (<==? .X FSET?> <FORM OR>) (ELSE <FORM PROG ()>)>)
|
||||||
|
(OO <COND (<LENGTH? .OT 1> .OT) (ELSE <REST .OT>)>) (O .OO) ATM) <REPEAT () <
|
||||||
|
COND (<EMPTY? .ATMS> <RETURN .OT>)> <SET ATM <NTH .ATMS 1>> <SET ATMS <REST .
|
||||||
|
ATMS>> <PUTREST .O <SET O (<FORM .X .OBJ <COND (<TYPE? .ATM FORM> .ATM) (ELSE <
|
||||||
|
MAKE-GVAL .ATM>)>>)>>>>) (ELSE <DEFINE BSET (OBJ "TUPLE" BITS) <MULTIBITS ,FSET
|
||||||
|
.OBJ .BITS>> <DEFINE BCLEAR (OBJ "TUPLE" BITS) <MULTIBITS ,FCLEAR .OBJ .BITS>>
|
||||||
|
<DEFINE BSET? (OBJ "TUPLE" BITS) <MAPF <> <FUNCTION (A) <COND (<FSET? .OBJ ,.A>
|
||||||
|
<MAPLEAVE T>)>> .BITS>> <DEFINE MULTIBITS (X OBJ ATMS) <MAPF <> <FUNCTION (A) <
|
||||||
|
APPLY .X .OBJ ,.A>> .ATMS>>)>
|
||||||
|
<DEFMAC RFATAL () '<RETURN ,M-FATAL>>
|
||||||
|
<COND (<GASSIGNED? ZILCH> <DEFMAC PROB ('BASE?) <FORM NOT <FORM L? .BASE? '<
|
||||||
|
RANDOM 100>>>>) (ELSE <DEFINE PROB (BASE?) <NOT <L? .BASE? <RANDOM 100>>>>)>
|
||||||
|
<DEFINE-ROUTINE PICK-ONE>
|
||||||
|
<DEFMAC APPLE? () '<EQUAL? ,MACHINE ,APPLE-2E ,APPLE-2C ,APPLE-2GS>>
|
||||||
|
<GLOBAL P-WON <>>
|
||||||
|
<GLOBAL SCENE 0>
|
||||||
|
<DEFINE-ROUTINE SCENE-SELECT>
|
||||||
|
<DEFINE-ROUTINE SCENE-SELECT-F>
|
||||||
|
<CONSTANT PART-MENU <LTABLE <TABLE (PURE STRING LENGTH) "START the game "> <
|
||||||
|
TABLE (PURE STRING LENGTH) "RESTORE a saved game "> <TABLE (PURE STRING LENGTH)
|
||||||
|
"QUIT the game ">>>
|
||||||
|
<CONSTANT SCENE-NAMES <PLTABLE "Erasmus" "Anjiro" "Yabu" "Pit" "Rodrigues"
|
||||||
|
"Voyage to Osaka" "Toranaga" "Prison" "Mariko" "Escape" "Earthquake"
|
||||||
|
"Journey to Yedo" "Ochiba" "Departure" "Seppuku" "Ninja" "Yokohama" "Aftermath"
|
||||||
|
"Epilogue">>
|
||||||
|
<DEFMAC SCENE-CONSTANTS ("TUPLE" SS "AUX" (CNT 0)) <MAPF ,PLTABLE <FUNCTION (S)
|
||||||
|
<EVAL <FORM CONSTANT .S <SET CNT <+ .CNT 1>>>>> .SS>>
|
||||||
|
<CONSTANT SCENES <SCENE-CONSTANTS S-ERASMUS S-ANJIRO S-YABU S-PIT S-RODRIGUES
|
||||||
|
S-VOYAGE S-TORANAGA S-PRISON S-MARIKO S-ESCAPE S-QUAKE S-JOURNEY S-OCHIBA
|
||||||
|
S-DEPARTURE S-SEPPUKU S-NINJA S-YOKOHAMA S-AFTERMATH S-EPILOGUE>>
|
||||||
|
<CONSTANT SCENE-LOCS <PLTABLE BRIDGE-OF-ERASMUS MURA-HOUSE VILLAGE-SQUARE PIT
|
||||||
|
ANJIRO-WATERFRONT GALLEY OUTER-CORRIDOR PRISON MAPLE-GLADE COURTYARD PLATEAU
|
||||||
|
YOKOSE-BATH-HOUSE OCHIBA-ROOM FORECOURT FORMAL-GARDEN PRIVATE-QUARTERS YOKOHAMA
|
||||||
|
STABLE SEKIGAHARA>>
|
||||||
|
<CONSTANT SCENE-PICS <TABLE (PURE BYTE LENGTH) P-STORM P-GARDEN P-YABU-SEG
|
||||||
|
P-PIT P-RODRIGUES-SEG P-CONFUSION P-OSAKA P-PRISON-SEG P-MARIKO-SEG
|
||||||
|
P-PROCESSION P-QUAKE P-BATH P-OCHIBA-SEG P-DEPARTURE-SEG P-SEPPUKU P-NINJA
|
||||||
|
P-VINCK P-AFTERMATH-SEG P-CREST>>
|
||||||
|
<GLOBAL MACHINE <>>
|
||||||
|
<GLOBAL WIDTH 0>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT STARTUP>
|
||||||
|
<DEFINE-ROUTINE GO>
|
||||||
|
<DEFINE-ROUTINE SLIDE-SHOW>
|
||||||
|
<DEFINE-ROUTINE END-DEMO>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<CONSTANT S-FULL 7>
|
||||||
|
<DEFINE-ROUTINE SETUP-FULL>
|
||||||
|
<DEFINE-ROUTINE SETUP-DISPLAY>
|
||||||
|
<DEFINE-ROUTINE REPAINT-DISPLAY>
|
||||||
|
<DEFINE-ROUTINE GOTO-SCENE>
|
||||||
|
<DEFINE-ROUTINE TOUCH-SEG>
|
||||||
|
<DEFINE-ROUTINE GAME-VERB?>
|
||||||
|
<GLOBAL P-MULT <>>
|
||||||
|
<GLOBAL P-NOT-HERE 0>
|
||||||
|
<DEFINE-ROUTINE END-QUOTE>
|
||||||
|
<GLOBAL CLOCK-WAIT <>>
|
||||||
|
<GLOBAL C-TABLE <ITABLE 13 <> <>>>
|
||||||
|
<CONSTANT C-INTLEN 4>
|
||||||
|
<CONSTANT C-RTN 0>
|
||||||
|
<CONSTANT C-TICK 1>
|
||||||
|
<CONSTANT C-TABLELEN 52>
|
||||||
|
<GLOBAL C-INTS 52>
|
||||||
|
<DEFINE-ROUTINE DEQUEUE>
|
||||||
|
<DEFINE-ROUTINE QUEUED?>
|
||||||
|
<DEFINE-ROUTINE QUEUE>
|
||||||
|
<GLOBAL STATIONARY? <>>
|
||||||
|
<GLOBAL STATIONARY-CNT <>>
|
||||||
|
<GLOBAL CLOCK-HAND <>>
|
||||||
|
<DEFINE-ROUTINE CLOCKER>
|
||||||
|
<DEFINE-ROUTINE DEQUEUE-ALL>
|
||||||
|
<DEFINE PSEUDO ("TUPLE" V) <MAPF ,PLTABLE <FUNCTION (OBJ) <COND (<N==? <LENGTH
|
||||||
|
.OBJ> 3> <ERROR BAD-THING .OBJ>)> <MAPRET <COND (<NTH .OBJ 1> <VOC <SPNAME <NTH
|
||||||
|
.OBJ 1>> ADJECTIVE>)> <COND (<NTH .OBJ 2> <VOC <SPNAME <NTH .OBJ 2>> NOUN>)>>>
|
||||||
|
.V>>
|
||||||
|
<DEFINE-ROUTINE PERFORM-PRSA>
|
||||||
|
<DEFINE-ROUTINE NEW-VERB>
|
||||||
|
<DEFINE-ROUTINE SWAP-VERB>
|
||||||
|
<DEFINE-ROUTINE NEW-PRSO>
|
||||||
|
<DEFINE-ROUTINE NEW-WINNER-PRSO>
|
||||||
|
<DEFINE-ROUTINE REDIRECT>
|
||||||
|
<GLOBAL DELAY-CNT 0>
|
||||||
|
<COND (<GASSIGNED? ZILCH> <DEFMAC ZLINES ('VAR:<PRIMTYPE ATOM> "ARGS" LINES:
|
||||||
|
LIST "AUX" (CNT:FIX 0) SETTER:ATOM (DELAYS:<OR FALSE LIST> <>)) <COND (<TYPE? .
|
||||||
|
VAR ATOM> <EVAL <FORM GLOBAL .VAR 0>> <SET SETTER <CHTYPE .VAR GVAL>>) (<TYPE?
|
||||||
|
.VAR GVAL> <EVAL <FORM GLOBAL <CHTYPE .VAR ATOM> 0>> <SET SETTER 'SETG>) (<
|
||||||
|
TYPE? .VAR LVAL> <EVAL <FORM GLOBAL <CHTYPE .VAR ATOM> 0>> <SET SETTER 'SET>)>
|
||||||
|
<SET DELAYS <MAPF ,LIST <FUNCTION (LINE:LIST) <COND (<EMPTY? .LINE> <MAPRET>) (
|
||||||
|
<==? <1 .LINE> DELAY> <MAPRET (<FORM EQUAL? .VAR .CNT> !<REST .LINE!>)>) (ELSE
|
||||||
|
<COND (<AND <NOT <EMPTY? .LINE>> <TYPE? <1 .LINE> FIX>> <SET CNT <+ .CNT <1 .
|
||||||
|
LINE>>> <SET LINE <REST .LINE>>) (ELSE <SET CNT <+ .CNT 1>>)> <MAPRET>)>> .
|
||||||
|
LINES>> <SET CNT 0> <COND (<NOT <EMPTY? .DELAYS>> <SET DELAYS ('<SETG DELAY-CNT
|
||||||
|
<+ ,DELAY-CNT 1>> <FORM COND !.DELAYS> '<SETG DELAY-CNT 0>)>)> <FORM PROG () !.
|
||||||
|
DELAYS <FORM .SETTER <CHTYPE .VAR ATOM> <FORM + .VAR 1>> <FORM COND !<MAPF ,
|
||||||
|
LIST <FUNCTION (LINE:LIST) <COND (<NOT <EMPTY? .LINE>> <COND (<==? <1 .LINE>
|
||||||
|
DELAY> <MAPRET>) (<TYPE? <1 .LINE> FIX> <SET CNT <+ .CNT <1 .LINE>>> <SET LINE
|
||||||
|
<REST .LINE>>) (ELSE <SET CNT <+ .CNT 1>>)> <LIST <FORM EQUAL? .VAR .CNT> !.
|
||||||
|
LINE>) (ELSE <ERROR BAD-ZLINES>)>> .LINES!>>>>) (ELSE <DEFINE ZLINES (VAR
|
||||||
|
"ARGS" LINES) <RFALSE>>)>
|
||||||
|
<COND (<GASSIGNED? ZILCH> <DEFMAC FOR ('X "ARGS" BODY) <FORM REPEAT (<1 .X>) <
|
||||||
|
FORM COND (<FORM NOT <2 .X>> '<RETURN>)> !.BODY <3 .X>>>)>
|
||||||
|
<DEFINE-ROUTINE CREWMAN?>
|
||||||
|
<DEFINE-ROUTINE WINDEF>
|
||||||
|
<GLOBAL FONT-X 7>
|
||||||
|
<GLOBAL FONT-Y 10>
|
||||||
|
<DEFINE-ROUTINE C-PIXELS>
|
||||||
|
<DEFINE-ROUTINE L-PIXELS>
|
||||||
|
<DEFINE-ROUTINE CCURSET>
|
||||||
|
<DEFINE-ROUTINE IN-SCENE?>
|
||||||
|
<DEFINE-ROUTINE REPLACE-SYNONYM>
|
||||||
|
<DEFINE-ROUTINE REPLACE-ADJECTIVE>
|
||||||
|
<DEFINE-ROUTINE CURSOR-OFF>
|
||||||
|
<DEFINE-ROUTINE CURSOR-ON>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,698 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINT-HIM/HER:ANY:1:1,X
|
||||||
|
FSET? X,PLURAL \?CCL3
|
||||||
|
PRINTI "them"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: FSET? X,PERSON \?CCL5
|
||||||
|
EQUAL? X,ME,WINNER \?CCL8
|
||||||
|
PRINTI "yourself"
|
||||||
|
RTRUE
|
||||||
|
?CCL8: FSET? X,FEMALE \?CCL10
|
||||||
|
PRINTI "her"
|
||||||
|
RTRUE
|
||||||
|
?CCL10: PRINTI "him"
|
||||||
|
RTRUE
|
||||||
|
?CCL5: PRINTI "it"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CPRINT-HE/SHE:ANY:1:1,X
|
||||||
|
FSET? X,PLURAL \?CCL3
|
||||||
|
PRINTI "They"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: FSET? X,PERSON \?CCL5
|
||||||
|
EQUAL? X,ME,WINNER \?CCL8
|
||||||
|
PRINTI "You"
|
||||||
|
RTRUE
|
||||||
|
?CCL8: FSET? X,FEMALE \?CCL10
|
||||||
|
PRINTI "She"
|
||||||
|
RTRUE
|
||||||
|
?CCL10: PRINTI "He"
|
||||||
|
RTRUE
|
||||||
|
?CCL5: PRINTI "It"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINT-HE/SHE:ANY:1:1,X
|
||||||
|
FSET? X,PLURAL \?CCL3
|
||||||
|
PRINTI "they"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: FSET? X,PERSON \?CCL5
|
||||||
|
EQUAL? X,ME,WINNER \?CCL8
|
||||||
|
PRINTI "yourself"
|
||||||
|
RTRUE
|
||||||
|
?CCL8: FSET? X,FEMALE \?CCL10
|
||||||
|
PRINTI "she"
|
||||||
|
RTRUE
|
||||||
|
?CCL10: PRINTI "he"
|
||||||
|
RTRUE
|
||||||
|
?CCL5: PRINTI "it"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINT-HIS/HER:ANY:1:1,X
|
||||||
|
FSET? X,PLURAL \?CCL3
|
||||||
|
PRINTI "their"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: FSET? X,PERSON \?CCL5
|
||||||
|
EQUAL? X,ME,WINNER \?CCL8
|
||||||
|
PRINTI "your"
|
||||||
|
RTRUE
|
||||||
|
?CCL8: FSET? X,FEMALE \?CCL10
|
||||||
|
PRINTI "her"
|
||||||
|
RTRUE
|
||||||
|
?CCL10: PRINTI "his"
|
||||||
|
RTRUE
|
||||||
|
?CCL5: PRINTI "its"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINT-PLURAL:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,PLURAL /FALSE
|
||||||
|
PRINTC 115
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINTUNDER:ANY:1:1,X
|
||||||
|
HLIGHT H-UNDER
|
||||||
|
PRINT X
|
||||||
|
HLIGHT H-NORMAL
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CTHE-PRINT-PRSO:ANY:0:0
|
||||||
|
CALL THE-PRINT,PRSO,TRUE-VALUE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CTHE-PRINT-PRSI:ANY:0:0
|
||||||
|
CALL THE-PRINT,PRSI,TRUE-VALUE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CTHE-PRINT:ANY:1:1,O
|
||||||
|
CALL THE-PRINT,O,TRUE-VALUE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT THE-PRINT-PRSO:ANY:0:0
|
||||||
|
CALL2 THE-PRINT,PRSO
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT THE-PRINT-PRSI:ANY:0:0
|
||||||
|
CALL2 THE-PRINT,PRSI
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT THE-PRINT:ANY:1:2,O,CAP?
|
||||||
|
FSET? O,NOTHEBIT /?PRD2
|
||||||
|
PUSH 1
|
||||||
|
JUMP ?PEN1
|
||||||
|
?PRD2: PUSH 0
|
||||||
|
?PEN1: CALL DPRINT,O,CAP?,STACK
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CPRINTA-PRSO:ANY:0:0
|
||||||
|
CALL PRINTA,PRSO,TRUE-VALUE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINTA-PRSO:ANY:0:0
|
||||||
|
CALL2 PRINTA,PRSO
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINTA-PRSI:ANY:0:0
|
||||||
|
CALL2 PRINTA,PRSI
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINTA:ANY:1:2,O,CAP?
|
||||||
|
FSET? O,THE \?CCL3
|
||||||
|
ZERO? CAP? /?CCL6
|
||||||
|
PRINTI "The "
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL6: PRINTI "the "
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: FSET? O,NOABIT /?CND1
|
||||||
|
FSET? O,AN \?CCL10
|
||||||
|
ZERO? CAP? /?CCL13
|
||||||
|
PRINTI "An "
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL13: PRINTI "an "
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL10: ZERO? CAP? /?CCL15
|
||||||
|
PRINTI "A "
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL15: PRINTI "a "
|
||||||
|
?CND1: CALL2 IPRINT,O
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DPRINT-PRSO:ANY:0:0
|
||||||
|
CALL2 DPRINT,PRSO
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DPRINT-PRSI:ANY:0:0
|
||||||
|
CALL2 DPRINT,PRSI
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DPRINT:ANY:1:3,O,CAP?,THE?,S
|
||||||
|
EQUAL? O,PLAYER,ME \?CCL3
|
||||||
|
ZERO? CAP? /?CCL6
|
||||||
|
PRINTI "You"
|
||||||
|
RTRUE
|
||||||
|
?CCL6: PRINTI "you"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: EQUAL? O,RUTTER \?CCL8
|
||||||
|
ZERO? CAP? /?CCL8
|
||||||
|
PRINTI "Your rutter"
|
||||||
|
RTRUE
|
||||||
|
?CCL8: CALL2 GET-OWNER,O >S
|
||||||
|
ZERO? S /?CCL13
|
||||||
|
GETP O,P?OWNER
|
||||||
|
EQUAL? S,STACK /?CCL13
|
||||||
|
EQUAL? S,PLAYER \?CCL18
|
||||||
|
ZERO? CAP? /?CCL21
|
||||||
|
PRINTI "Your "
|
||||||
|
JUMP ?CND11
|
||||||
|
?CCL21: PRINTI "your "
|
||||||
|
JUMP ?CND11
|
||||||
|
?CCL18: ICALL DPRINT,S,CAP?
|
||||||
|
PRINTI "'s "
|
||||||
|
JUMP ?CND11
|
||||||
|
?CCL13: ZERO? THE? \?CCL22
|
||||||
|
FSET? O,THE \?CND11
|
||||||
|
?CCL22: ZERO? CAP? /?CCL27
|
||||||
|
PRINTI "The "
|
||||||
|
JUMP ?CND11
|
||||||
|
?CCL27: PRINTI "the "
|
||||||
|
?CND11: CALL2 IPRINT,O
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT IPRINT:ANY:1:1,O,TMP
|
||||||
|
GETP O,P?SDESC >TMP
|
||||||
|
ZERO? TMP /?CCL3
|
||||||
|
PRINT TMP
|
||||||
|
RTRUE
|
||||||
|
?CCL3: PRINTD O
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PICK-ONE:ANY:1:1,FROB,L,CNT,RND,MSG,RFROB
|
||||||
|
GET FROB,0 >L
|
||||||
|
GET FROB,1 >CNT
|
||||||
|
DEC 'L
|
||||||
|
ADD FROB,2 >FROB
|
||||||
|
MUL CNT,2
|
||||||
|
ADD FROB,STACK >RFROB
|
||||||
|
SUB L,CNT
|
||||||
|
RANDOM STACK >RND
|
||||||
|
GET RFROB,RND >MSG
|
||||||
|
GET RFROB,1
|
||||||
|
PUT RFROB,RND,STACK
|
||||||
|
PUT RFROB,1,MSG
|
||||||
|
INC 'CNT
|
||||||
|
EQUAL? CNT,L \?CND1
|
||||||
|
SET 'CNT,0
|
||||||
|
?CND1: PUT FROB,0,CNT
|
||||||
|
RETURN MSG
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SCENE-SELECT:ANY:0:1,FULL?,TMP,M,WID,WHICH,L,Y,END,?TMP1
|
||||||
|
GET PART-MENU,0
|
||||||
|
ADD STACK,1 >L
|
||||||
|
WINGET S-FULL,WHIGH
|
||||||
|
ADD 1,STACK >END
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CND1
|
||||||
|
ADD L,2 >L
|
||||||
|
?CND1: MUL L,FONT-Y >TMP
|
||||||
|
SUB END,TMP >Y
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CND3
|
||||||
|
MUL 2,FONT-Y
|
||||||
|
SUB Y,STACK >Y
|
||||||
|
?CND3: WINGET S-TEXT,WLEFT >?TMP1
|
||||||
|
WINGET S-TEXT,WWIDE
|
||||||
|
ICALL WINDEF,S-TEXT,Y,?TMP1,TMP,STACK
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
?PRG5: CLEAR S-TEXT
|
||||||
|
SCREEN S-TEXT
|
||||||
|
CALL GET-FROM-MENU,STR?6,PART-MENU,SCENE-SELECT-F,1 >WHICH
|
||||||
|
ZERO? WHICH /?PRG5
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SCENE-SELECT-F:ANY:2:2,TMP,M
|
||||||
|
EQUAL? TMP,1 \?CCL3
|
||||||
|
ICALL1 SETUP-TEXT-AND-STATUS
|
||||||
|
GET SCENES,1 >SCENE
|
||||||
|
RETURN SCENE
|
||||||
|
?CCL3: EQUAL? TMP,2 \?CCL5
|
||||||
|
CLEAR S-TEXT
|
||||||
|
ICALL1 V-RESTORE
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
CLEAR S-TEXT
|
||||||
|
RFALSE
|
||||||
|
?CCL5: EQUAL? TMP,3 \FALSE
|
||||||
|
CLEAR S-TEXT
|
||||||
|
ICALL V-QUIT,TRUE-VALUE,FALSE-VALUE
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
CLEAR S-TEXT
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "STARTUP"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT GO:ANY:0:0
|
||||||
|
?FCN: MOUSE-LIMIT -1
|
||||||
|
GETB 0,30 >MACHINE
|
||||||
|
GETB 0,45 >FG-COLOR
|
||||||
|
GETB 0,44 >BG-COLOR
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CCL4
|
||||||
|
SET 'TEXT-MARGIN,0
|
||||||
|
PICINF P-BORDER,YX-TBL \?CND2
|
||||||
|
GET YX-TBL,0 >BORDER-HEIGHT
|
||||||
|
JUMP ?CND2
|
||||||
|
?CCL4: SET 'TEXT-MARGIN,2
|
||||||
|
?CND2: SET 'LIT,TRUE-VALUE
|
||||||
|
ADD C-TABLE,C-TABLELEN >CLOCK-HAND
|
||||||
|
SET 'PLAYER,BLACKTHORNE
|
||||||
|
ICALL1 SETUP-FULL
|
||||||
|
ICALL1 TITLE-SCREEN
|
||||||
|
ZERO? DEMO-VERSION? /?CND7
|
||||||
|
ICALL1 SLIDE-SHOW
|
||||||
|
JUMP ?FCN
|
||||||
|
?CND7: ICALL1 SETUP-DISPLAY
|
||||||
|
ICALL1 SCENE-SELECT
|
||||||
|
ICALL GOTO-SCENE,SCENE,FALSE-VALUE
|
||||||
|
CALL1 MAIN-LOOP
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SLIDE-SHOW:ANY:0:0
|
||||||
|
CLEAR -1
|
||||||
|
PRINTI "This is a demonstration version of SHOGUN.
|
||||||
|
|
||||||
|
First you will see a few samples of the graphic screens that await you in SHOGUN.We've used graphics in surprising new ways to enhance the story without detracting from Infocom's traditional richness and depth.
|
||||||
|
Then you will be able to interact with a small section of SHOGUN.Feel free to try the new friendlier parser, the optional mouse interface, and the on-screen hints.
|
||||||
|
SHOGUN is an adaptation of James Clavell's novel, which has sold over 7 million copies and inspired the popular T.V. mini-series.Dave Lebling, while collaborating with Clavell, has incorporated the creative style and rich prose that have made his earlier ZORK titles so popular.
|
||||||
|
In SHOGUN you are transcended into the world of Clavell's saga, which combines all of the mystery and action of a great adventure story with the intensity and romance of a classic love story.Whether you find yourself matching wits with tyrannical Japanese aristocrats or fighting off attacks by Ninja assassins, you are sure to be both challenged and entertained.Both the action and the intriguing, historical locale set the stage for unparalleled fun and excitement.
|
||||||
|
"
|
||||||
|
ICALL1 TYPE-ANY-KEY
|
||||||
|
CALL1 END-DEMO
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT END-DEMO:ANY:0:0
|
||||||
|
?FCN: CLEAR -1
|
||||||
|
PRINTI "
|
||||||
|
You have reached the end of this demonstration version of
|
||||||
|
"
|
||||||
|
ICALL1 V-VERSION
|
||||||
|
PRINTI "
|
||||||
|
|
||||||
|
"
|
||||||
|
ICALL1 TYPE-ANY-KEY
|
||||||
|
SCREEN S-TEXT
|
||||||
|
RESTART
|
||||||
|
PRINT FAILED
|
||||||
|
JUMP ?FCN
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SETUP-FULL:ANY:0:0,HIGH,WIDE,X
|
||||||
|
GET 0,18 >HIGH
|
||||||
|
GET 0,17 >WIDE
|
||||||
|
ICALL WINDEF,S-FULL,1,1,HIGH,WIDE
|
||||||
|
WINGET S-TEXT,WFSIZE >X
|
||||||
|
SHIFT X,-8 >FONT-Y
|
||||||
|
BAND X,255 >FONT-X
|
||||||
|
RETURN FONT-X
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SETUP-DISPLAY:ANY:0:0,HIGH,WIDE
|
||||||
|
GET 0,18 >HIGH
|
||||||
|
GET 0,17 >WIDE
|
||||||
|
MOUSE-LIMIT -1
|
||||||
|
ICALL1 SETUP-FULL
|
||||||
|
ICALL1 SETUP-TEXT-AND-STATUS
|
||||||
|
WINGET S-TEXT,WWIDE >WIDE
|
||||||
|
MARGIN TEXT-MARGIN,TEXT-MARGIN,S-TEXT
|
||||||
|
MUL 2,TEXT-MARGIN
|
||||||
|
SUB WIDE,STACK >WIDE
|
||||||
|
GETB P-INBUF,0 >WIDTH
|
||||||
|
DIV WIDE,FONT-X >WIDE
|
||||||
|
LESS? WIDE,WIDTH \FALSE
|
||||||
|
SET 'WIDTH,WIDE
|
||||||
|
GRTR? WIDE,INBUF-LENGTH \?CCL6
|
||||||
|
PUSH INBUF-LENGTH
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PUSH WIDE
|
||||||
|
?CND4: PUTB P-INBUF,0,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT REPAINT-DISPLAY:ANY:0:1,NO-BORDER?
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
ICALL1 NORMAL-COLOR
|
||||||
|
ICALL1 SETUP-DISPLAY
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS /?CCL2
|
||||||
|
ZERO? NO-BORDER? \?CND1
|
||||||
|
?CCL2: ICALL1 DISPLAY-BORDER
|
||||||
|
?CND1: ICALL2 INIT-STATUS-LINE,TRUE-VALUE
|
||||||
|
EQUAL? HERE,MAZE \FALSE
|
||||||
|
CALL1 DISPLAY-MAZE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT GOTO-SCENE:ANY:1:2,SC,OSC
|
||||||
|
ASSIGNED? 'OSC /?CND1
|
||||||
|
SET 'OSC,SCENE
|
||||||
|
?CND1: CLEAR S-TEXT
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CCL5
|
||||||
|
ZERO? OSC \?CCL5
|
||||||
|
SCREEN S-STATUS
|
||||||
|
CLEAR S-STATUS
|
||||||
|
ICALL2 DISPLAY-BORDER,P-EBORDER
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL5: EQUAL? CURRENT-BORDER,P-BORDER /?CND3
|
||||||
|
ICALL2 DISPLAY-BORDER,P-BORDER
|
||||||
|
?CND3: ICALL1 END-QUOTE
|
||||||
|
ICALL1 RESET-MARGIN
|
||||||
|
ICALL1 DEQUEUE-ALL
|
||||||
|
SET 'ORPHAN-ANSWER,FALSE-VALUE
|
||||||
|
SET 'SCENE,SC
|
||||||
|
GET SCENE-LOCS,SCENE >HERE
|
||||||
|
GETB SCENE-PICS,SCENE
|
||||||
|
ICALL2 TOUCH-SEG,STACK
|
||||||
|
FCLEAR HERE,TOUCHBIT
|
||||||
|
SET 'QCONTEXT,FALSE-VALUE
|
||||||
|
ICALL2 MOVE-ALL,BLACKTHORNE
|
||||||
|
MOVE BLACKTHORNE,HERE
|
||||||
|
FCLEAR BLACKTHORNE,RMUNGBIT
|
||||||
|
SET 'P-IT-OBJECT,FALSE-VALUE
|
||||||
|
SET 'P-HIM-OBJECT,FALSE-VALUE
|
||||||
|
SET 'P-HER-OBJECT,FALSE-VALUE
|
||||||
|
SET 'P-THEM-OBJECT,FALSE-VALUE
|
||||||
|
ICALL1 B-STAND
|
||||||
|
SET 'OPPONENT,FALSE-VALUE
|
||||||
|
GETP HERE,P?ACTION
|
||||||
|
ICALL STACK,M-SCENE-SETUP
|
||||||
|
SET 'WINNER,PLAYER
|
||||||
|
CLEAR S-TEXT
|
||||||
|
ZERO? OSC \?CCL11
|
||||||
|
CLEAR S-STATUS
|
||||||
|
ICALL1 INIT-STATUS-LINE
|
||||||
|
JUMP ?CND9
|
||||||
|
?CCL11: ICALL2 UPDATE-STATUS-LINE,TRUE-VALUE
|
||||||
|
?CND9: ICALL2 GOTO,HERE
|
||||||
|
ZERO? OSC \TRUE
|
||||||
|
ICALL1 CLOCKER
|
||||||
|
SET 'MOVES,0
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TOUCH-SEG:ANY:1:1,S
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS /?CCL3
|
||||||
|
EQUAL? MACHINE,IBM \FALSE
|
||||||
|
?CCL3: PICINF S,YX-TBL /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT GAME-VERB?:ANY:0:0
|
||||||
|
EQUAL? PRSA,V?TELL \?CCL3
|
||||||
|
ZERO? P-CONT \TRUE
|
||||||
|
?CCL3: EQUAL? PRSA,V?HELP \?CCL7
|
||||||
|
ZERO? PRSO /TRUE
|
||||||
|
?CCL7: EQUAL? PRSA,V?QUIT,V?VERSION,V?BRIEF /TRUE
|
||||||
|
EQUAL? PRSA,V?SUPER-BRIEF,V?VERBOSE,V?COLOR /TRUE
|
||||||
|
EQUAL? PRSA,V?$VERIFY,V?RESTART,V?SAVE /TRUE
|
||||||
|
EQUAL? PRSA,V?RESTORE,V?SCRIPT,V?UNSCRIPT /TRUE
|
||||||
|
EQUAL? PRSA,V?UNDO,V?SCORE,V?TIME /TRUE
|
||||||
|
EQUAL? PRSA,V?DEFINE,V?$REFRESH,V?NOTIFY /TRUE
|
||||||
|
EQUAL? PRSA,V?HINT,V?HINTS-OFF,V?CREDITS /TRUE
|
||||||
|
EQUAL? PRSA,V?$RANDOM,V?$COMMAND,V?$RECORD /TRUE
|
||||||
|
EQUAL? PRSA,V?$UNRECORD /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT END-QUOTE:ANY:0:0
|
||||||
|
SET 'P-CONT,FALSE-VALUE
|
||||||
|
RETURN M-FATAL
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DEQUEUE:ANY:1:1,RTN,TIM
|
||||||
|
CALL2 QUEUED?,RTN >RTN
|
||||||
|
ZERO? RTN /FALSE
|
||||||
|
GET RTN,C-TICK >TIM
|
||||||
|
PUT RTN,C-RTN,0
|
||||||
|
RETURN TIM
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT QUEUED?:ANY:1:1,RTN,C,E
|
||||||
|
ADD C-TABLE,C-TABLELEN >E
|
||||||
|
ADD C-TABLE,C-INTS >C
|
||||||
|
?PRG1: EQUAL? C,E /FALSE
|
||||||
|
GET C,C-RTN
|
||||||
|
EQUAL? STACK,RTN \?CND3
|
||||||
|
GET C,C-TICK
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
RETURN C
|
||||||
|
?CND3: ADD C,C-INTLEN >C
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT QUEUE:ANY:2:3,RTN,TICK,I?,C,E,INT
|
||||||
|
ADD C-TABLE,C-TABLELEN >E
|
||||||
|
ADD C-TABLE,C-INTS >C
|
||||||
|
?PRG1: EQUAL? C,E \?CCL5
|
||||||
|
ZERO? INT /?CCL8
|
||||||
|
SET 'C,INT
|
||||||
|
JUMP ?CND6
|
||||||
|
?CCL8: SUB C-INTS,C-INTLEN >C-INTS
|
||||||
|
ADD C-TABLE,C-INTS >INT
|
||||||
|
?CND6: PUT INT,C-RTN,RTN
|
||||||
|
JUMP ?REP2
|
||||||
|
?CCL5: GET C,C-RTN
|
||||||
|
EQUAL? STACK,RTN \?CCL10
|
||||||
|
ZERO? I? \FALSE
|
||||||
|
SET 'INT,C
|
||||||
|
?REP2: GRTR? INT,CLOCK-HAND \?CND15
|
||||||
|
ADD TICK,3
|
||||||
|
SUB 0,STACK >TICK
|
||||||
|
?CND15: PUT INT,C-TICK,TICK
|
||||||
|
RETURN INT
|
||||||
|
?CCL10: GET C,C-RTN
|
||||||
|
ZERO? STACK \?CND3
|
||||||
|
SET 'INT,C
|
||||||
|
?CND3: ADD C,C-INTLEN >C
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CLOCKER:ANY:0:0,E,TICK,RTN,FLG,Q?,OWINNER,TMP
|
||||||
|
ZERO? CLOCK-WAIT /?CND1
|
||||||
|
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||||
|
RFALSE
|
||||||
|
?CND1: EQUAL? HERE,STATIONARY? \?CCL5
|
||||||
|
INC 'STATIONARY-CNT
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL5: SET 'STATIONARY?,HERE
|
||||||
|
SET 'STATIONARY-CNT,0
|
||||||
|
?CND3: ADD C-TABLE,C-INTS >CLOCK-HAND
|
||||||
|
ADD C-TABLE,C-TABLELEN >E
|
||||||
|
SET 'OWINNER,WINNER
|
||||||
|
SET 'WINNER,PLAYER
|
||||||
|
?PRG6: ZERO? NEW-SCENE-NUMBER /?CND8
|
||||||
|
ICALL1 I-NEW-SCENE
|
||||||
|
ADD C-TABLE,C-INTS >CLOCK-HAND
|
||||||
|
SET 'FLG,TRUE-VALUE
|
||||||
|
?CND8: EQUAL? CLOCK-HAND,E \?CCL12
|
||||||
|
INC 'MOVES
|
||||||
|
SET 'WINNER,OWINNER
|
||||||
|
RETURN FLG
|
||||||
|
?CCL12: GET CLOCK-HAND,C-RTN
|
||||||
|
ZERO? STACK /?CND10
|
||||||
|
GET CLOCK-HAND,C-TICK >TICK
|
||||||
|
LESS? TICK,-1 \?CCL16
|
||||||
|
SUB 0,TICK
|
||||||
|
SUB STACK,3
|
||||||
|
PUT CLOCK-HAND,C-TICK,STACK
|
||||||
|
SET 'Q?,CLOCK-HAND
|
||||||
|
JUMP ?CND10
|
||||||
|
?CCL16: ZERO? TICK /?CND10
|
||||||
|
GRTR? TICK,0 \?CND18
|
||||||
|
DEC 'TICK
|
||||||
|
PUT CLOCK-HAND,C-TICK,TICK
|
||||||
|
?CND18: ZERO? TICK /?CND20
|
||||||
|
SET 'Q?,CLOCK-HAND
|
||||||
|
?CND20: GRTR? TICK,0 /?CND10
|
||||||
|
GET CLOCK-HAND,C-RTN >RTN
|
||||||
|
ZERO? TICK \?CND24
|
||||||
|
PUT CLOCK-HAND,C-RTN,0
|
||||||
|
?CND24: CALL RTN >TMP
|
||||||
|
ZERO? TMP /?CND26
|
||||||
|
SET 'FLG,TMP
|
||||||
|
?CND26: ZERO? Q? \?CND10
|
||||||
|
GET CLOCK-HAND,C-RTN
|
||||||
|
ZERO? STACK /?CND10
|
||||||
|
SET 'Q?,TRUE-VALUE
|
||||||
|
?CND10: ZERO? NEW-SCENE-NUMBER /?CCL34
|
||||||
|
ADD C-TABLE,C-INTS >CLOCK-HAND
|
||||||
|
JUMP ?PRG6
|
||||||
|
?CCL34: EQUAL? FLG,M-FATAL \?CCL36
|
||||||
|
SET 'CLOCK-HAND,E
|
||||||
|
JUMP ?PRG6
|
||||||
|
?CCL36: EQUAL? CLOCK-HAND,E /?PRG6
|
||||||
|
ADD CLOCK-HAND,C-INTLEN >CLOCK-HAND
|
||||||
|
ZERO? Q? \?PRG6
|
||||||
|
ADD C-INTS,C-INTLEN >C-INTS
|
||||||
|
JUMP ?PRG6
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DEQUEUE-ALL:ANY:0:0,E,TICK,RTN,FLG,Q?
|
||||||
|
ZERO? CLOCK-WAIT /?CND1
|
||||||
|
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||||
|
RFALSE
|
||||||
|
?CND1: ADD C-TABLE,C-INTS >CLOCK-HAND
|
||||||
|
ADD C-TABLE,C-TABLELEN >E
|
||||||
|
?PRG3: EQUAL? CLOCK-HAND,E \?CCL7
|
||||||
|
SET 'CLOCK-HAND,E
|
||||||
|
RTRUE
|
||||||
|
?CCL7: PUT CLOCK-HAND,C-TICK,0
|
||||||
|
PUT CLOCK-HAND,C-RTN,0
|
||||||
|
ADD CLOCK-HAND,C-INTLEN >CLOCK-HAND
|
||||||
|
ADD C-INTS,C-INTLEN >C-INTS
|
||||||
|
JUMP ?PRG3
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PERFORM-PRSA:ANY:0:2,O,I
|
||||||
|
CALL PERFORM,PRSA,O,I
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT NEW-VERB:ANY:1:1,V
|
||||||
|
CALL PERFORM,V,PRSO,PRSI
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SWAP-VERB:ANY:1:1,V
|
||||||
|
CALL PERFORM,V,PRSI,PRSO
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT NEW-PRSO:ANY:1:1,O
|
||||||
|
CALL PERFORM-PRSA,O,PRSI
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT NEW-WINNER-PRSO:ANY:1:3,A,O,I,OW
|
||||||
|
SET 'OW,WINNER
|
||||||
|
SET 'WINNER,PRSO
|
||||||
|
ICALL PERFORM,A,O,I
|
||||||
|
SET 'WINNER,OW
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT REDIRECT:ANY:2:2,FROM,TO,O,I
|
||||||
|
EQUAL? PRSO,FROM \?CCL3
|
||||||
|
SET 'O,TO
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: SET 'O,PRSO
|
||||||
|
?CND1: EQUAL? PRSI,FROM \?CCL6
|
||||||
|
SET 'I,TO
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: SET 'I,PRSI
|
||||||
|
?CND4: ICALL PERFORM-PRSA,O,I
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CREWMAN?:ANY:1:1,OBJ
|
||||||
|
EQUAL? OBJ,CREWMEN,LG-CREWMEN /FALSE
|
||||||
|
FSET? OBJ,DUTCHBIT /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT WINDEF:ANY:5:5,W,TOP,LEFT,HIGH,WIDE
|
||||||
|
WINPOS W,TOP,LEFT
|
||||||
|
WINSIZE W,HIGH,WIDE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT C-PIXELS:ANY:1:1,X
|
||||||
|
SUB X,1
|
||||||
|
MUL STACK,FONT-X
|
||||||
|
ADD STACK,1
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT L-PIXELS:ANY:1:1,Y
|
||||||
|
SUB Y,1
|
||||||
|
MUL STACK,FONT-Y
|
||||||
|
ADD STACK,1
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CCURSET:ANY:2:2,Y,X,?TMP1
|
||||||
|
CALL2 L-PIXELS,Y >?TMP1
|
||||||
|
CALL2 C-PIXELS,X
|
||||||
|
CURSET ?TMP1,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT IN-SCENE?:ANY:1:1,OBJ,SC,PT
|
||||||
|
GETPT OBJ,P?SCENE >SC
|
||||||
|
ZERO? SC /TRUE
|
||||||
|
PTSIZE SC >PT
|
||||||
|
INTBL? SCENE,SC,PT,1 /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT REPLACE-SYNONYM:ANY:3:4,OBJ,OLD,NEW,DUP?,TMP,S,L
|
||||||
|
GETPT OBJ,P?SYNONYM >S
|
||||||
|
ZERO? S /FALSE
|
||||||
|
PTSIZE S
|
||||||
|
DIV STACK,2 >L
|
||||||
|
ZERO? DUP? \?CCL6
|
||||||
|
INTBL? NEW,S,L /TRUE
|
||||||
|
?CCL6: INTBL? OLD,S,L >TMP \FALSE
|
||||||
|
PUT TMP,0,NEW
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT REPLACE-ADJECTIVE:ANY:3:4,OBJ,OLD,NEW,DUP?,TMP,S,L
|
||||||
|
GETPT OBJ,P?ADJECTIVE >S
|
||||||
|
ZERO? S /FALSE
|
||||||
|
PTSIZE S
|
||||||
|
DIV STACK,2 >L
|
||||||
|
ZERO? DUP? \?CCL6
|
||||||
|
INTBL? NEW,S,L /TRUE
|
||||||
|
?CCL6: INTBL? OLD,S,L >TMP \FALSE
|
||||||
|
PUT TMP,0,NEW
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CURSOR-OFF:ANY:0:0
|
||||||
|
CURSET -1
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CURSOR-ON:ANY:0:0
|
||||||
|
CURSET -2
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
201
misc.zil
201
misc.zil
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
<BEGIN-SEGMENT 0>
|
<BEGIN-SEGMENT 0>
|
||||||
|
|
||||||
<GLOBAL DEMO-VERSION? <>> ;"for swg"
|
|
||||||
|
|
||||||
<PROPDEF SCENE <> (SCENE "MANY" S:FIX = <> "MANY" <BYTE .S>)>
|
<PROPDEF SCENE <> (SCENE "MANY" S:FIX = <> "MANY" <BYTE .S>)>
|
||||||
<PROPDEF SCORE <> (SCORE N:FIX = 2 <BYTE 0> <BYTE .N>)>
|
<PROPDEF SCORE <> (SCORE N:FIX = 2 <BYTE 0> <BYTE .N>)>
|
||||||
|
|
||||||
|
@ -394,6 +392,9 @@
|
||||||
;<ROUTINE RANDOM-ELEMENT (FROB)
|
;<ROUTINE RANDOM-ELEMENT (FROB)
|
||||||
<GET .FROB <RANDOM <GET .FROB 0>>>>
|
<GET .FROB <RANDOM <GET .FROB 0>>>>
|
||||||
|
|
||||||
|
<DEFMAC APPLE? ()
|
||||||
|
'<EQUAL? ,MACHINE ,APPLE-2E ,APPLE-2C ,APPLE-2GS>>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;"former MAIN.ZIL stuff"
|
;"former MAIN.ZIL stuff"
|
||||||
|
@ -402,11 +403,18 @@
|
||||||
|
|
||||||
<GLOBAL SCENE 0>
|
<GLOBAL SCENE 0>
|
||||||
|
|
||||||
<ROUTINE SCENE-SELECT ("OPT" (FULL? <>) "AUX" TMP M WID WHICH)
|
<ROUTINE SCENE-SELECT ("OPT" (FULL? <>) "AUX" TMP M WID WHICH L Y END)
|
||||||
|
<SET L <+ <GET ,PART-MENU ;.MEN 0> 1>>
|
||||||
|
<SET END <+ 1 <WINGET ,S-FULL ,WHIGH>>>
|
||||||
|
<COND (<APPLE?> <SET L <+ .L 2>>)>
|
||||||
|
<SET TMP <* .L ,FONT-Y>>
|
||||||
|
<SET Y <- .END .TMP>>
|
||||||
|
<COND (<APPLE?> <SET Y <- .Y <* 2 ,FONT-Y>>>)>
|
||||||
|
<WINDEF ,S-TEXT
|
||||||
|
.Y <WINGET ,S-TEXT ,WLEFT>
|
||||||
|
.TMP <WINGET ,S-TEXT ,WWIDE>>
|
||||||
|
<RESET-MARGIN>
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<SPLIT <- <WINGET ,S-FULL ,WHIGH>
|
|
||||||
<* <+ <GET ,PART-MENU ;.MEN 0> 1> ,FONT-Y>>>
|
|
||||||
<RESET-MARGIN>
|
|
||||||
<CLEAR ,S-TEXT>
|
<CLEAR ,S-TEXT>
|
||||||
<SCREEN ,S-TEXT>
|
<SCREEN ,S-TEXT>
|
||||||
<SET WHICH
|
<SET WHICH
|
||||||
|
@ -414,13 +422,12 @@
|
||||||
,PART-MENU
|
,PART-MENU
|
||||||
,SCENE-SELECT-F
|
,SCENE-SELECT-F
|
||||||
1>>
|
1>>
|
||||||
<COND (<EQUAL? .WHICH -1>
|
<COND (.WHICH <RTRUE>)>>>
|
||||||
<SET FULL? <NOT .FULL?>>)
|
|
||||||
(.WHICH <RTRUE>)>>>
|
|
||||||
|
|
||||||
<ROUTINE SCENE-SELECT-F (TMP M)
|
<ROUTINE SCENE-SELECT-F (TMP M)
|
||||||
<COND (<EQUAL? .TMP 1>
|
<COND (<EQUAL? .TMP 1>
|
||||||
<SPLIT <* ,FONT-Y ,STATUS-LINES>>
|
<SETUP-TEXT-AND-STATUS>
|
||||||
|
;<SPLIT <* ,FONT-Y ,STATUS-LINES>>
|
||||||
<SETG SCENE <GET ,SCENES 1>>)
|
<SETG SCENE <GET ,SCENES 1>>)
|
||||||
(<EQUAL? .TMP 2>
|
(<EQUAL? .TMP 2>
|
||||||
<CLEAR ,S-TEXT>
|
<CLEAR ,S-TEXT>
|
||||||
|
@ -466,7 +473,7 @@
|
||||||
"Epilogue">>
|
"Epilogue">>
|
||||||
|
|
||||||
<DEFMAC SCENE-CONSTANTS ("TUPLE" SS "AUX" (CNT 0))
|
<DEFMAC SCENE-CONSTANTS ("TUPLE" SS "AUX" (CNT 0))
|
||||||
<MAPF ,LTABLE
|
<MAPF ,PLTABLE
|
||||||
<FUNCTION (S)
|
<FUNCTION (S)
|
||||||
<EVAL <FORM CONSTANT .S <SET CNT <+ .CNT 1>>>>>
|
<EVAL <FORM CONSTANT .S <SET CNT <+ .CNT 1>>>>>
|
||||||
.SS>>
|
.SS>>
|
||||||
|
@ -493,67 +500,142 @@
|
||||||
S-EPILOGUE>>
|
S-EPILOGUE>>
|
||||||
|
|
||||||
<CONSTANT SCENE-LOCS
|
<CONSTANT SCENE-LOCS
|
||||||
<LTABLE BRIDGE-OF-ERASMUS ;"S-ERASMUS"
|
<PLTABLE BRIDGE-OF-ERASMUS ;"S-ERASMUS"
|
||||||
MURA-HOUSE ;"S-ANJIRO"
|
MURA-HOUSE ;"S-ANJIRO"
|
||||||
VILLAGE-SQUARE ;"S-YABU"
|
VILLAGE-SQUARE ;"S-YABU"
|
||||||
PIT ;"S-PIT"
|
PIT ;"S-PIT"
|
||||||
ANJIRO-WATERFRONT ;"S-RODRIGUES"
|
ANJIRO-WATERFRONT ;"S-RODRIGUES"
|
||||||
GALLEY ;"S-VOYAGE"
|
GALLEY ;"S-VOYAGE"
|
||||||
OUTER-CORRIDOR ;"S-TORANAGA"
|
OUTER-CORRIDOR ;"S-TORANAGA"
|
||||||
PRISON ;"S-PRISON"
|
PRISON ;"S-PRISON"
|
||||||
MAPLE-GLADE ;"S-MARIKO"
|
MAPLE-GLADE ;"S-MARIKO"
|
||||||
COURTYARD ;"S-ESCAPE"
|
COURTYARD ;"S-ESCAPE"
|
||||||
PLATEAU ;"S-QUAKE"
|
PLATEAU ;"S-QUAKE"
|
||||||
YOKOSE-BATH-HOUSE ;"S-JOURNEY"
|
YOKOSE-BATH-HOUSE ;"S-JOURNEY"
|
||||||
OCHIBA-ROOM ;"S-OCHIBA"
|
OCHIBA-ROOM ;"S-OCHIBA"
|
||||||
FORECOURT ;"S-DEPARTURE"
|
FORECOURT ;"S-DEPARTURE"
|
||||||
FORMAL-GARDEN ;"S-SEPPUKU"
|
FORMAL-GARDEN ;"S-SEPPUKU"
|
||||||
PRIVATE-QUARTERS ;"S-NINJA"
|
PRIVATE-QUARTERS ;"S-NINJA"
|
||||||
YOKOHAMA ;"S-YOKOHAMA"
|
YOKOHAMA ;"S-YOKOHAMA"
|
||||||
STABLE ;"S-AFTERMATH"
|
STABLE ;"S-AFTERMATH"
|
||||||
SEKIGAHARA ;"S-EPILOGUE">>
|
SEKIGAHARA ;"S-EPILOGUE">>
|
||||||
|
|
||||||
|
<CONSTANT SCENE-PICS
|
||||||
|
<TABLE (PURE BYTE LENGTH)
|
||||||
|
P-STORM ;"S-ERASMUS"
|
||||||
|
P-GARDEN ;"S-ANJIRO"
|
||||||
|
P-YABU-SEG ;"S-YABU"
|
||||||
|
P-PIT ;"S-PIT"
|
||||||
|
P-RODRIGUES-SEG ;"S-RODRIGUES"
|
||||||
|
P-CONFUSION ;"S-VOYAGE"
|
||||||
|
P-OSAKA ;"S-TORANAGA"
|
||||||
|
P-PRISON-SEG ;"S-PRISON"
|
||||||
|
P-MARIKO-SEG ;"S-MARIKO"
|
||||||
|
P-PROCESSION ;"S-ESCAPE"
|
||||||
|
P-QUAKE ;"S-QUAKE"
|
||||||
|
P-BATH ;"S-JOURNEY"
|
||||||
|
P-OCHIBA-SEG ;"S-OCHIBA"
|
||||||
|
P-DEPARTURE-SEG ;"S-DEPARTURE"
|
||||||
|
P-SEPPUKU ;"S-SEPPUKU"
|
||||||
|
P-NINJA ;"S-NINJA"
|
||||||
|
P-VINCK ;"S-YOKOHAMA"
|
||||||
|
P-AFTERMATH-SEG ;"S-AFTERMATH"
|
||||||
|
P-CREST ;"S-EPILOGUE">>
|
||||||
|
|
||||||
<GLOBAL MACHINE <>>
|
<GLOBAL MACHINE <>>
|
||||||
<GLOBAL WIDTH 0>
|
<GLOBAL WIDTH 0>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"0">
|
||||||
|
|
||||||
<BEGIN-SEGMENT STARTUP>
|
<BEGIN-SEGMENT STARTUP>
|
||||||
|
|
||||||
<ROUTINE GO ()
|
<ROUTINE GO ()
|
||||||
<MOUSE-LIMIT -1>
|
<MOUSE-LIMIT -1>
|
||||||
<SETG FG-COLOR <LOWCORE (CLRWRD 1)>>
|
<SETG MACHINE <LOWCORE INTID>>
|
||||||
<SETG BG-COLOR <LOWCORE (CLRWRD 0)>>
|
<COND ;(<EQUAL? ,MACHINE ,AMIGA> ;"sigh, all Amiga colors are ugly"
|
||||||
|
<SETG FG-COLOR ,C-BLACK>
|
||||||
|
<SETG BG-COLOR 10 ;"light gray">
|
||||||
|
<COLOR ,FG-COLOR ,BG-COLOR>)
|
||||||
|
(ELSE
|
||||||
|
<SETG FG-COLOR <LOWCORE (CLRWRD 1)>>
|
||||||
|
<SETG BG-COLOR <LOWCORE (CLRWRD 0)>>)>
|
||||||
|
<COND (<APPLE?>
|
||||||
|
<SETG TEXT-MARGIN 0>
|
||||||
|
<COND (<PICINF ,P-BORDER ,YX-TBL>
|
||||||
|
<SETG BORDER-HEIGHT <GET ,YX-TBL 0>>)>)
|
||||||
|
(ELSE <SETG TEXT-MARGIN 2>)>
|
||||||
<SETG LIT T>
|
<SETG LIT T>
|
||||||
<SETG CLOCK-HAND <REST ,C-TABLE ,C-TABLELEN>>
|
<SETG CLOCK-HAND <REST ,C-TABLE ,C-TABLELEN>>
|
||||||
<SETG MACHINE <LOWCORE INTID>>
|
|
||||||
<SETG PLAYER ,BLACKTHORNE>
|
<SETG PLAYER ,BLACKTHORNE>
|
||||||
<SETUP-FULL>
|
<SETUP-FULL>
|
||||||
<TITLE-SCREEN>
|
<TITLE-SCREEN>
|
||||||
|
<COND (,DEMO-VERSION?
|
||||||
|
<SLIDE-SHOW>
|
||||||
|
<AGAIN>)>
|
||||||
<SETUP-DISPLAY>
|
<SETUP-DISPLAY>
|
||||||
<SCENE-SELECT>
|
<SCENE-SELECT>
|
||||||
<GOTO-SCENE ,SCENE <>>
|
<GOTO-SCENE ,SCENE <>>
|
||||||
<MAIN-LOOP>>
|
<MAIN-LOOP>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<ROUTINE SLIDE-SHOW ()
|
||||||
|
<CLEAR -1>
|
||||||
|
<TELL
|
||||||
|
"This is a demonstration version of SHOGUN.|
|
||||||
|
|
|
||||||
|
First you will see a few samples of the graphic screens that await you
|
||||||
|
in SHOGUN.We've used graphics in surprising new ways to enhance the
|
||||||
|
story without detracting from Infocom's traditional richness and depth.|
|
||||||
|
Then you will be able to interact with a small section of
|
||||||
|
SHOGUN.Feel free to try the new friendlier parser, the optional mouse
|
||||||
|
interface, and the on-screen hints.|
|
||||||
|
SHOGUN is an adaptation of James Clavell's novel,
|
||||||
|
which has sold over 7 million copies and inspired the popular T.V.
|
||||||
|
mini-series.Dave Lebling, while collaborating with Clavell, has
|
||||||
|
incorporated the creative style and rich prose that have made his
|
||||||
|
earlier ZORK titles so popular.|
|
||||||
|
In SHOGUN you are transcended into the world of Clavell's saga, which
|
||||||
|
combines all of the mystery and action of a great adventure story with
|
||||||
|
the intensity and romance of a classic love story.Whether you find
|
||||||
|
yourself matching wits with tyrannical Japanese aristocrats or fighting
|
||||||
|
off attacks by Ninja assassins, you are sure to be both challenged and
|
||||||
|
entertained.Both the action and the intriguing, historical locale set
|
||||||
|
the stage for unparalleled fun and excitement.|
|
||||||
|
">
|
||||||
|
<TYPE-ANY-KEY>
|
||||||
|
<END-DEMO>>
|
||||||
|
|
||||||
|
<ROUTINE END-DEMO ()
|
||||||
|
<CLEAR -1>
|
||||||
|
<TELL "|
|
||||||
|
You have reached the end of this demonstration version of|">
|
||||||
|
<V-VERSION>
|
||||||
|
<TELL "||">
|
||||||
|
<TYPE-ANY-KEY>
|
||||||
|
<SCREEN ,S-TEXT>
|
||||||
|
;<DEFAULT-COLORS> ;"return to default before screen clears"
|
||||||
|
<RESTART>
|
||||||
|
<TELL ,FAILED>
|
||||||
|
<AGAIN>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"STARTUP">
|
||||||
|
|
||||||
<BEGIN-SEGMENT 0>
|
<BEGIN-SEGMENT 0>
|
||||||
|
|
||||||
<CONSTANT S-FULL 7>
|
<CONSTANT S-FULL 7>
|
||||||
|
|
||||||
<ROUTINE SETUP-FULL ("AUX" (HIGH <LOWCORE VWRD>) (WIDE <LOWCORE HWRD>))
|
<ROUTINE SETUP-FULL ("AUX" (HIGH <LOWCORE VWRD>) (WIDE <LOWCORE HWRD>) X)
|
||||||
<WINDEF ,S-FULL 1 1 .HIGH .WIDE>>
|
<WINDEF ,S-FULL 1 1 .HIGH .WIDE>
|
||||||
|
|
||||||
<ROUTINE SETUP-DISPLAY ("AUX" X (HIGH <LOWCORE VWRD>) (WIDE <LOWCORE HWRD>))
|
|
||||||
<MOUSE-LIMIT -1>
|
|
||||||
<SETUP-FULL>
|
|
||||||
<SET X <WINGET ,S-TEXT ,WFSIZE>>
|
<SET X <WINGET ,S-TEXT ,WFSIZE>>
|
||||||
<SETG FONT-Y <HIGH-BYTE .X>>
|
<SETG FONT-Y <HIGH-BYTE .X>>
|
||||||
<SETG FONT-X <LOW-BYTE .X>>
|
<SETG FONT-X <LOW-BYTE .X>>>
|
||||||
|
|
||||||
|
<ROUTINE SETUP-DISPLAY ("AUX" (HIGH <LOWCORE VWRD>) (WIDE <LOWCORE HWRD>))
|
||||||
|
<MOUSE-LIMIT -1>
|
||||||
|
<SETUP-FULL>
|
||||||
<SETUP-TEXT-AND-STATUS>
|
<SETUP-TEXT-AND-STATUS>
|
||||||
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
||||||
<MARGIN ,TEXT-MARGIN ,TEXT-MARGIN ,S-TEXT>
|
<MARGIN ,TEXT-MARGIN ,TEXT-MARGIN ,S-TEXT>
|
||||||
<SET WIDE <- .WIDE 4>>
|
<SET WIDE <- .WIDE <* 2 ,TEXT-MARGIN>>>
|
||||||
<SETG WIDTH <GETB ,P-INBUF 0>>
|
<SETG WIDTH <GETB ,P-INBUF 0>>
|
||||||
<SET WIDE </ .WIDE ,FONT-X>>
|
<SET WIDE </ .WIDE ,FONT-X>>
|
||||||
<COND (<L? .WIDE ,WIDTH>
|
<COND (<L? .WIDE ,WIDTH>
|
||||||
|
@ -566,19 +648,29 @@
|
||||||
|
|
||||||
<ROUTINE REPAINT-DISPLAY ("OPT" (NO-BORDER? <>))
|
<ROUTINE REPAINT-DISPLAY ("OPT" (NO-BORDER? <>))
|
||||||
<RESET-MARGIN>
|
<RESET-MARGIN>
|
||||||
<COLOR ,FG-COLOR ,BG-COLOR>
|
<NORMAL-COLOR>
|
||||||
<SETUP-DISPLAY>
|
<SETUP-DISPLAY>
|
||||||
<COND (<NOT .NO-BORDER?> <DISPLAY-BORDER>)>
|
<COND (<OR <APPLE?> <NOT .NO-BORDER?>>
|
||||||
|
<DISPLAY-BORDER>)>
|
||||||
<INIT-STATUS-LINE T>
|
<INIT-STATUS-LINE T>
|
||||||
<COND (<HERE? ,MAZE>
|
<COND (<HERE? ,MAZE>
|
||||||
<DISPLAY-MAZE>)>>
|
<DISPLAY-MAZE>)>>
|
||||||
|
|
||||||
<ROUTINE GOTO-SCENE (SC "OPT" (OSC ,SCENE))
|
<ROUTINE GOTO-SCENE (SC "OPT" (OSC ,SCENE))
|
||||||
|
<CLEAR ,S-TEXT>
|
||||||
|
<COND (<AND <APPLE?> <NOT .OSC>>
|
||||||
|
<SCREEN ,S-STATUS>
|
||||||
|
<CLEAR ,S-STATUS>
|
||||||
|
<DISPLAY-BORDER ,P-EBORDER>)
|
||||||
|
(<NOT <EQUAL? ,CURRENT-BORDER ,P-BORDER>>
|
||||||
|
<DISPLAY-BORDER ,P-BORDER>)>
|
||||||
<END-QUOTE>
|
<END-QUOTE>
|
||||||
<RESET-MARGIN>
|
<RESET-MARGIN>
|
||||||
<DEQUEUE-ALL>
|
<DEQUEUE-ALL>
|
||||||
|
<SETG ORPHAN-ANSWER <>>
|
||||||
<SETG SCENE .SC>
|
<SETG SCENE .SC>
|
||||||
<SETG HERE <GET ,SCENE-LOCS ,SCENE>>
|
<SETG HERE <GET ,SCENE-LOCS ,SCENE>>
|
||||||
|
<TOUCH-SEG <GETB ,SCENE-PICS ,SCENE>>
|
||||||
<FCLEAR ,HERE ,TOUCHBIT>
|
<FCLEAR ,HERE ,TOUCHBIT>
|
||||||
<SETG QCONTEXT <>>
|
<SETG QCONTEXT <>>
|
||||||
<MOVE-ALL ,BLACKTHORNE>
|
<MOVE-ALL ,BLACKTHORNE>
|
||||||
|
@ -603,6 +695,10 @@
|
||||||
<SETG MOVES 0>)>
|
<SETG MOVES 0>)>
|
||||||
<RTRUE>>
|
<RTRUE>>
|
||||||
|
|
||||||
|
<ROUTINE TOUCH-SEG (S)
|
||||||
|
<COND (<OR <APPLE?> <EQUAL? ,MACHINE ,IBM>>
|
||||||
|
<PICINF .S ,YX-TBL>)>>
|
||||||
|
|
||||||
;<GLOBAL WAS-IT? <>>
|
;<GLOBAL WAS-IT? <>>
|
||||||
;<GLOBAL WAS-THEM? <>>
|
;<GLOBAL WAS-THEM? <>>
|
||||||
;<GLOBAL WAS-HIM? <>>
|
;<GLOBAL WAS-HIM? <>>
|
||||||
|
@ -818,7 +914,7 @@ be included when the crunch comes."
|
||||||
|
|
||||||
<GLOBAL CLOCK-HAND <>>
|
<GLOBAL CLOCK-HAND <>>
|
||||||
|
|
||||||
<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER TMP (OSC ,SCENE))
|
<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER TMP)
|
||||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||||
<COND (<EQUAL? ,HERE ,STATIONARY?>
|
<COND (<EQUAL? ,HERE ,STATIONARY?>
|
||||||
<SETG STATIONARY-CNT <+ ,STATIONARY-CNT 1>>)
|
<SETG STATIONARY-CNT <+ ,STATIONARY-CNT 1>>)
|
||||||
|
@ -830,8 +926,11 @@ be included when the crunch comes."
|
||||||
<SET OWINNER ,WINNER>
|
<SET OWINNER ,WINNER>
|
||||||
<SETG WINNER ,PLAYER>
|
<SETG WINNER ,PLAYER>
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
|
<COND (,NEW-SCENE-NUMBER
|
||||||
|
<I-NEW-SCENE>
|
||||||
|
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>
|
||||||
|
<SET FLG T>)>
|
||||||
<COND (<EQUAL? ,CLOCK-HAND .E>
|
<COND (<EQUAL? ,CLOCK-HAND .E>
|
||||||
<SETG CLOCK-HAND .E>
|
|
||||||
<SETG MOVES <+ ,MOVES 1>>
|
<SETG MOVES <+ ,MOVES 1>>
|
||||||
<SETG WINNER .OWINNER>
|
<SETG WINNER .OWINNER>
|
||||||
<RETURN .FLG>)
|
<RETURN .FLG>)
|
||||||
|
@ -856,7 +955,6 @@ be included when the crunch comes."
|
||||||
1>>)>>
|
1>>)>>
|
||||||
<COND (<ZERO? .TICK>
|
<COND (<ZERO? .TICK>
|
||||||
<PUT ,CLOCK-HAND ,C-RTN 0>)>
|
<PUT ,CLOCK-HAND ,C-RTN 0>)>
|
||||||
<SET OSC ,SCENE>
|
|
||||||
<COND (<SET TMP <APPLY .RTN>>
|
<COND (<SET TMP <APPLY .RTN>>
|
||||||
<SET FLG .TMP>)>
|
<SET FLG .TMP>)>
|
||||||
<COND (<AND <NOT .Q?>
|
<COND (<AND <NOT .Q?>
|
||||||
|
@ -865,7 +963,7 @@ be included when the crunch comes."
|
||||||
<GET ,CLOCK-HAND
|
<GET ,CLOCK-HAND
|
||||||
,C-RTN>>>>
|
,C-RTN>>>>
|
||||||
<SET Q? T>)>)>)>)>
|
<SET Q? T>)>)>)>)>
|
||||||
<COND (<NOT <EQUAL? .OSC ,SCENE>> ;"new scene during int?"
|
<COND (,NEW-SCENE-NUMBER ;"new scene during int?"
|
||||||
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>)
|
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>)
|
||||||
(<EQUAL? .FLG ,M-FATAL>
|
(<EQUAL? .FLG ,M-FATAL>
|
||||||
<SETG CLOCK-HAND .E>)
|
<SETG CLOCK-HAND .E>)
|
||||||
|
@ -1050,7 +1148,4 @@ be included when the crunch comes."
|
||||||
<ROUTINE CURSOR-ON ()
|
<ROUTINE CURSOR-ON ()
|
||||||
<CURSET -2>>
|
<CURSET -2>>
|
||||||
|
|
||||||
<DEFMAC APPLE? ()
|
<END-SEGMENT ;"0">
|
||||||
'<EQUAL? ,MACHINE ,APPLE-2E ,APPLE-2C ,APPLE-2GS>>
|
|
||||||
|
|
||||||
<END-SEGMENT>
|
|
||||||
|
|
|
@ -0,0 +1,236 @@
|
||||||
|
ERASMUS AT SEA
|
||||||
|
|
||||||
|
I like discovering things in my cabin: my apple, my chest, my two
|
||||||
|
rutters. I wouldn't mind a very easy puzzle here like using a key to
|
||||||
|
open the chest or my desk to get the apple.
|
||||||
|
|
||||||
|
;;I've put a key in your desk that you have to search for. I could
|
||||||
|
;;make it even easier by just having it in the desk.
|
||||||
|
|
||||||
|
I don't like the closed doors: the passageway door, the pilot's cabin
|
||||||
|
door, the captain's door, the mates' door, the crew's door, etc. It
|
||||||
|
prevents free movement, but it isn't fun or tricky to open the doors.
|
||||||
|
|
||||||
|
;;I'm reluctant to just make doors open automatically when you try
|
||||||
|
;;to go through them. It's so traditional in I.F. that you have to
|
||||||
|
;;open them yourself.
|
||||||
|
|
||||||
|
I don't like all those names thrown at me when I enter a room: Van
|
||||||
|
Nekk, Roper, Piterzoon, Croocq, Ginsel, etc., especially since they
|
||||||
|
serve no purpose other than color. (I don't have to know them or talk to
|
||||||
|
them.) I'd prefer treating them not as individuals but as a group:
|
||||||
|
"Seamen are lying about, longing for death less miserable than this."
|
||||||
|
|
||||||
|
;;This is changed. You now just get the names if you say L AT CREWMEN
|
||||||
|
;;or WHO ARE CREWMEN.
|
||||||
|
|
||||||
|
On the other hand, I like Captain Spillbergen as an individual. I wish
|
||||||
|
there were more I could do with him or in front of him. (Is there a way
|
||||||
|
to quench his thirst? If so, I can't figure it out.)
|
||||||
|
|
||||||
|
;;In Spillbergen's desk is a flagon of water that you can find and
|
||||||
|
;;give him. I'm surprised you haven't found it yet!
|
||||||
|
|
||||||
|
As you know, I like the text: eating the apple, writing in the rutter,
|
||||||
|
the rat that scurries past, etc.
|
||||||
|
|
||||||
|
I can't figure out why, sometimes, "the storm shifts slightly, and the
|
||||||
|
waves and wind drive you onto the rocks of a reef" and you die.
|
||||||
|
(Sometimes this happens when I'm below deck and Specz is asleep at the
|
||||||
|
wheel; sometimes it happens when I first WAKE SPECZ; sometimes it
|
||||||
|
happens when I just TAKE WHEEL, letting Specz sleep.) I think I'd rather
|
||||||
|
not die from the reefs until I'm given a chance via the bow lookout's
|
||||||
|
call "Rotz vooruit!"
|
||||||
|
|
||||||
|
;;I've changed this some, mostly by advancing the storm one move, so
|
||||||
|
;;that the first message about it comes immediately. See what you
|
||||||
|
;;think.
|
||||||
|
|
||||||
|
I like the scene as written once the reefs are spotted: steering the
|
||||||
|
ship, raising the foresails, getting Vinck's help, more steering, and
|
||||||
|
the text descriptions. And I like the way the scene ends (suddenly).
|
||||||
|
|
||||||
|
Since I don't have to do anything with the anchor (in this scene), its
|
||||||
|
presence seems strange.
|
||||||
|
|
||||||
|
;;It's tester insurance. Both Liz and Amy tried to find it and drop it,
|
||||||
|
;;possibly after noticing there was one in the Galley in a later scene.
|
||||||
|
|
||||||
|
AWAKENING IN ANJIRO
|
||||||
|
|
||||||
|
I like the puzzle about eating food twice (the woman seems pretty smart
|
||||||
|
-- any obscure reference to the tray and she figures out what to do). I
|
||||||
|
like the door breaking when you open it. I like the text decsription of
|
||||||
|
the garden.
|
||||||
|
|
||||||
|
I neither like nor dislike the clothes and boots. LOOK AT CLOTHES got a
|
||||||
|
nice blurb, but I've entered the house wearing the boots and it doesn't
|
||||||
|
upset the woman. I don't remember whether I can walk down to the
|
||||||
|
waterfront naked. If not, or if I need the boots (because the pebble
|
||||||
|
path hurts my feet), then it's a mini-puzzle, and I'd like it better if
|
||||||
|
I had to work a teensy bit harder to find my clothes and boots (just by
|
||||||
|
exploring another room or location).
|
||||||
|
|
||||||
|
;;I've added Onna not letting you back in the house if you are wearing
|
||||||
|
;;your boots.
|
||||||
|
|
||||||
|
I like the confrontation with the priest at the waterfront, and I like
|
||||||
|
Omi's bit (the interview and the beheading). In many ways Omi is the
|
||||||
|
first interesting character we meet (other than ourself), and it might
|
||||||
|
be nice to learn more about him after the beheading. I can think of one
|
||||||
|
other scene (at least) with Omi: the Pit. But I think I eventually want
|
||||||
|
to read more about certain characters, like Omi: "You later learned much
|
||||||
|
about Omi, that he was shrewd and intelligent. He appeared to serve his
|
||||||
|
masters well, while he was serving himself even better. Like most of the
|
||||||
|
Japanese, he never showed warmth outwardly; yet he was not as cold and
|
||||||
|
ruthless as some others. Omi, in fact, would come to respect you, and
|
||||||
|
you him. But now you only hated him and swore revenge." I don't where
|
||||||
|
this would work best -- here, or at the Pit scene -- but I think it's
|
||||||
|
worth consideration.
|
||||||
|
|
||||||
|
I don't like the return to the Erasmus -- it's such a no-win situation.
|
||||||
|
Rowing out there to be prevented from doing anything, and rowing back --
|
||||||
|
it's such a letdown, which is all the more noticeable after the
|
||||||
|
beautifiul beginning. I like the closing text -- "you can still feel the
|
||||||
|
sweat trickling down your spine" -- bliss! But that's about the ONLY
|
||||||
|
thing I like about the return to the Erasmus. Maybe the delicacy and
|
||||||
|
beauty we find in the house and garden can be continued, with new
|
||||||
|
discoveries and explorations. I'm not sure what the goal would be, but
|
||||||
|
I'd like it to be achieveable. (I haven't spent much time thinking about
|
||||||
|
a goal here.)
|
||||||
|
|
||||||
|
;;This section exists entirely to get you to that closing text, which
|
||||||
|
;;I like, too. I'd like to add more stuff in the village, but what?
|
||||||
|
|
||||||
|
INTERVIEW WITH YABU
|
||||||
|
|
||||||
|
I like this scene as-is, pretty much. I wasn't bothered by a second
|
||||||
|
interview (I recall Amy or Liz thinking it repetitious, but I don't find
|
||||||
|
it so.)
|
||||||
|
|
||||||
|
I don't like the roll call of names: "You see Father Sebastio, Mura,
|
||||||
|
Baccus van Nekk, Maetsukker, Ginsel, Croocq, and Vinck here." Again,
|
||||||
|
I'd rather they be treated not as individuals, since they're not
|
||||||
|
interesting as indiviuals. (Exceptions being Yabu, Sebastio, and maybe
|
||||||
|
Spillbergen.)
|
||||||
|
|
||||||
|
;;Changed as described above for the "roll-call" on the Erasmus.
|
||||||
|
|
||||||
|
A clue is probably needed for Shogun novices about breaking the cross.
|
||||||
|
But that's a fine-tuning.
|
||||||
|
|
||||||
|
And perhaps more can be said about Yabu, as I suggested about Omi
|
||||||
|
previously.
|
||||||
|
|
||||||
|
THE PIT
|
||||||
|
|
||||||
|
Oddly, the roll call of names doesn't bother me here. Maybe because such
|
||||||
|
a list seems appropriate in a confined space where there's nothing else
|
||||||
|
to look at.
|
||||||
|
|
||||||
|
I like everything about this scene except it reminds me of Frank Capra's
|
||||||
|
movie Meet John Doe, where Capra makes a great situation and you wonder
|
||||||
|
how he's going to resolve it -- and Capra couldn't figure out how to
|
||||||
|
resolve it, so it has the usual Capra saccharine ending. (You don't have
|
||||||
|
a saccharine ending, but the ending still isn't satisfying.)
|
||||||
|
|
||||||
|
There's NOTHING to do in the first part of the scene -- you don't even
|
||||||
|
get to choose a straw. It's only 4 or 5 turns now, but it could be even
|
||||||
|
fewer.
|
||||||
|
|
||||||
|
I can't remember Amy's suggestion, but I remember liking it when I
|
||||||
|
remembered it.
|
||||||
|
|
||||||
|
;;I've changed it so that you can get picked as the victim. Omi no
|
||||||
|
;;longer says not to pick you. If you resist, or if you prevent Vinck
|
||||||
|
;;from being taken (if he's the loser), Pieterzoon is still taken.
|
||||||
|
;;The scene also goes to the logical end, now.
|
||||||
|
|
||||||
|
Maybe the scuffle with the samurai could go on a little longer. Then
|
||||||
|
again, maybe all-text combat isn't very interesting, but it was
|
||||||
|
certainly the most interactive part of this scene.
|
||||||
|
|
||||||
|
I recall from the book that some unlucky samurai gets stuck in the Pit.
|
||||||
|
Maybe it's up to the player to prevent his being killed by the others?
|
||||||
|
|
||||||
|
;;He's there if you fight hard enough. He even drops a knife that you
|
||||||
|
;;can get for a few turns.
|
||||||
|
|
||||||
|
VOYAGE TO OSAKA
|
||||||
|
|
||||||
|
I like the analogy of the galley riding like "a fat-bellied pig."
|
||||||
|
|
||||||
|
Rodrigues orders the player to steer south. The player who does this
|
||||||
|
loses, but I don't think it's at all obvious that the player should do
|
||||||
|
otherwise.
|
||||||
|
|
||||||
|
;;I've changed the text to make it more obvious that Rodrigues is
|
||||||
|
;;chickening out, and that you (as the brave guy you are) shouldn't
|
||||||
|
;;go along.
|
||||||
|
|
||||||
|
The player goes foreward (on Rodrigues' order) to tell the men to ship
|
||||||
|
oars. But this doesn't work and the player has to go back to the helm.
|
||||||
|
How about if the command DOES work (when you say MEN, SHIP OARS), at
|
||||||
|
least temporarily; then, as you return to the helm, a wave or gust of
|
||||||
|
wind nearly tips the boat and THEN the player is nearly washed
|
||||||
|
overboard. Instead of a nameless hand pulling you from the sea, it can
|
||||||
|
be Rodrigues (giving the player more incentive to rescue him later -- to
|
||||||
|
return the favor). The wave or gust that nearly washes you overboard
|
||||||
|
can screw up the oarsmen again, explaining Rodrigues' leaving the helm.
|
||||||
|
|
||||||
|
I like going ashore looking for Rodrigues -- it suddenly makes the scene
|
||||||
|
seem so much larger (not surprising, I guess, since you go from 2 rooms
|
||||||
|
to a lot). And though I haven't figured out how to save Yabu, I like
|
||||||
|
the puzzle. (I have the rope and I've thrown things at Yabu, including
|
||||||
|
rocks, without success.) I like the time element here -- I seem to have
|
||||||
|
plenty of moves to try things, but I don't have forever, since the tide
|
||||||
|
comes in.
|
||||||
|
|
||||||
|
I guess the search for Rodrigues is realistic, and I can't think of a
|
||||||
|
better way to do it; but having to search each location twice is kind of
|
||||||
|
repetitious. (Though you've managed to keep it from being dull by
|
||||||
|
putting in good text: "sea-bloated ... half-eaten ... crab-mutilated
|
||||||
|
corpses.")
|
||||||
|
|
||||||
|
As you get out of the skiff, the text says "You disembark quickly,
|
||||||
|
intending to lead the search party, but Yabu usurps that position and
|
||||||
|
sets a strong pace, which you are hard put to keep up with." But I don't
|
||||||
|
believe you can FOLLOW YABU; he's "here."
|
||||||
|
|
||||||
|
Overall, I guess this is one of my favorite scenes: it's got puzzles and
|
||||||
|
color and exploration.
|
||||||
|
|
||||||
|
ESCAPE FROM OSAKA
|
||||||
|
|
||||||
|
I successfully finished this scene once upon a time; I failed to finish
|
||||||
|
it most recently, so these notes are incomplete.
|
||||||
|
|
||||||
|
The exchanges between Buntaro, Ishido, and Hiro-matsu are very nice. But
|
||||||
|
the player lacks for a goal or something to do besides wait. Similarly,
|
||||||
|
the player lacks any incentive to LOOK AT KIRITSUBO when Sazuko screams
|
||||||
|
and falls. I think this scene suffers from its faithfulness to the book.
|
||||||
|
|
||||||
|
I can only suggest a pretty major change for the first part, which keeps
|
||||||
|
the things I like but differs greatly from the book; namely:
|
||||||
|
|
||||||
|
The scene begins (non-interactively) with Blackthorne overhearing a
|
||||||
|
conversation between Toranaga & Kiritsubo (or Toranaga & Hiro-matsu),
|
||||||
|
tipping the player off about the switcheroo. The interactive portion
|
||||||
|
then begins much as it does now, except the player must get Hiro-matsu
|
||||||
|
somehow into the Courtyard or Forecourt to prevent Ishido and Buntaro
|
||||||
|
from battling. (Since Hiro-matsu doesn't understand English, perhaps the
|
||||||
|
player has to steal something of Hiro-matsu's and be chased to the
|
||||||
|
Courtyard.) Then, when the switcheroo comes, Toranaga or Kiri
|
||||||
|
accidentally drops something, or gets a veil caught on something or
|
||||||
|
another, and Blackthorne must save the situation. Then the scene
|
||||||
|
continues pretty much as written. This gives, at least, a goal for the
|
||||||
|
player early on, plus an incentive to LOOK AT KIRITSUBO at the right
|
||||||
|
moment.
|
||||||
|
|
||||||
|
I don't understand why, but I enjoy the maze taking me through the
|
||||||
|
streets of Osaka. (I didn't get that far in my most recent play.) I
|
||||||
|
don't remember if the "map" takes over the entire screen. If not, you
|
||||||
|
could have some road-rally-type clues to help you get through the maze
|
||||||
|
"in time." (Currently there seems to be no time limit; but if the
|
||||||
|
cortege were being chased, it would be necessary to LOOK AT SIGN, see
|
||||||
|
the fish, and know to turn north.)
|
|
@ -0,0 +1,185 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<CONSTANT J-DRAG 100>
|
||||||
|
<CONSTANT J-VEIL 101>
|
||||||
|
<CONSTANT J-FLEE 102>
|
||||||
|
<CONSTANT J-MOAT 103>
|
||||||
|
<CONSTANT J-ISHIDO 104>
|
||||||
|
<CONSTANT J-PARCHMENT 105>
|
||||||
|
<OBJECT CORTEGE (DESC "cortege") (SYNONYM CORTEGE PROCESSION PARTY COLUMN GRAYS
|
||||||
|
BROWNS) (FLAGS NDESCBIT) (ACTION CORTEGE-F)>
|
||||||
|
<DEFINE-ROUTINE CORTEGE-F>
|
||||||
|
<DEFINE-ROUTINE ESCAPE-FOLLOW-KIRI>
|
||||||
|
<BEGIN-SEGMENT MAZE>
|
||||||
|
<OBJECT BUNTARO (DESC "Buntaro") (SYNONYM BUNTARO) (ADJECTIVE LORD TODA) (FLAGS
|
||||||
|
PERSON JAPANESEBIT NOABIT NOTHEBIT) (ACTION BUNTARO-F)>
|
||||||
|
<DEFINE-ROUTINE BUNTARO-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<OBJECT SAZUKO (DESC "Sazuko") (SYNONYM SAZUKO GIRL) (ADJECTIVE LADY) (FLAGS
|
||||||
|
PERSON JAPANESEBIT FEMALE NOABIT NOTHEBIT) (ACTION SAZUKO-F)>
|
||||||
|
<DEFINE-ROUTINE SAZUKO-F>
|
||||||
|
<DEFINE-ROUTINE I-ISHIDO>
|
||||||
|
<GLOBAL ISHIDO-CNT 0 %<> WORD>
|
||||||
|
<OBJECT TORANAGA-IN-DRAG (SDESC "veiled figure") (SYNONYM FIGURE KIRI KIRITSUBO
|
||||||
|
KIRITSUBO) (ADJECTIVE VEILED DISGUISED) (FLAGS PERSON FEMALE JAPANESEBIT
|
||||||
|
SCOREBIT OPENBIT CONTBIT SEARCHBIT) (GENERIC GENERIC-TORANAGA-F) (ACTION
|
||||||
|
TORANAGA-IN-DRAG-F)>
|
||||||
|
<DEFINE-ROUTINE TORANAGA-IN-DRAG-F>
|
||||||
|
<OBJECT VEIL (LOC TORANAGA-IN-DRAG) (DESC "veil") (SYNONYM VEIL) (FLAGS
|
||||||
|
NDESCBIT TAKEBIT DONT-ALL) (ACTION VEIL-F)>
|
||||||
|
<DEFINE-ROUTINE VEIL-F>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
<ROOM COURTYARD (LOC ROOMS) (SCENE S-ESCAPE) (DESC "Courtyard") (SYNONYM
|
||||||
|
COURTYARD) (PICTURE P-PROCESSION) (SCORE 13) (AFTER HATAMOTO-AFTER-F) (FDESC
|
||||||
|
"Just after dusk Kiri waddled nervously down the steps. She headed for
|
||||||
|
her curtained litter that stood near the little tea house just inside
|
||||||
|
the garden. You are leaning
|
||||||
|
against the wall near the fortified gate. You are wearing a belted
|
||||||
|
kimono of the Browns and tabi socks and military thongs.") (SOUTH TO FORECOURT
|
||||||
|
IF FORTIFIED-GATE IS OPEN) (OUT TO FORECOURT IF FORTIFIED-GATE IS OPEN) (WEST
|
||||||
|
TO FORMAL-GARDEN IF GARDEN-GATE IS OPEN) (FLAGS ONBIT OUTSIDE) (GLOBAL
|
||||||
|
FORTIFIED-GATE SAMURAI-GUARDS GARDEN-GATE ISHIDO BUNTARO YABU HIRO-MATSU) (
|
||||||
|
ACTION COURTYARD-F)>
|
||||||
|
<DEFINE-ROUTINE COURTYARD-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<DEFINE-ROUTINE I-KIRI>
|
||||||
|
<GLOBAL KIRI-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE TELL-CHECKPOINTS>
|
||||||
|
<OBJECT CURTAINS (LOC KIRIS-LITTER) (OWNER KIRITSUBO) (DESC "curtains") (
|
||||||
|
SYNONYM CURTAIN CURTAINS) (FLAGS NDESCBIT SCOREBIT OPENABLE) (ACTION CURTAINS-F
|
||||||
|
)>
|
||||||
|
<DEFINE-ROUTINE CURTAINS-F>
|
||||||
|
<GLOBAL BEEN-IN-GARDEN? <>>
|
||||||
|
<DEFINE-ROUTINE I-COME-BACK>
|
||||||
|
<BEGIN-SEGMENT MAZE>
|
||||||
|
<OBJECT KIRIS-LITTER (OWNER KIRITSUBO) (DESC "Kiritsubo's curtained litter") (
|
||||||
|
SYNONYM LITTER PALANQUIN) (ADJECTIVE KIRITSUBO KIRI CURTAINED) (FLAGS SEARCHBIT
|
||||||
|
NOTHEBIT NOABIT VEHBIT OPENBIT CONTBIT) (DESCFCN KIRIS-LITTER-DESC) (GENERIC
|
||||||
|
GENERIC-LITTER-F) (ACTION KIRIS-LITTER-F)>
|
||||||
|
<DEFINE-ROUTINE KIRIS-LITTER-DESC>
|
||||||
|
<DEFINE-ROUTINE KIRIS-LITTER-F>
|
||||||
|
<OBJECT MARIKOS-LITTER (OWNER MARIKO) (DESC "Mariko's litter") (SYNONYM LITTER
|
||||||
|
PALANQUIN) (ADJECTIVE MARIKO) (FLAGS SEARCHBIT NOABIT NOTHEBIT VEHBIT OPENBIT
|
||||||
|
CONTBIT SCOREBIT) (DESCFCN MARIKOS-LITTER-DESC) (GENERIC GENERIC-LITTER-F) (
|
||||||
|
ACTION MARIKOS-LITTER-F)>
|
||||||
|
<DEFINE-ROUTINE MARIKOS-LITTER-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<DEFINE-ROUTINE GET-IN-LITTER>
|
||||||
|
<BEGIN-SEGMENT DEPARTURE>
|
||||||
|
<DEFINE-ROUTINE MARIKOS-LITTER-DESC>
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
<ROOM FORECOURT (LOC ROOMS) (SCENE S-DEPARTURE) (SCORE 1) (DESC "Forecourt") (
|
||||||
|
AFTER DEPARTURE-AFTER-F) (FDESC
|
||||||
|
"Mariko walks up the crowded sunlit avenue toward the gates in the
|
||||||
|
cul-de-sac. Behind her is a bodyguard of Browns. Unlike the Grays
|
||||||
|
lining the avenue and watching from the battlements, none have armor
|
||||||
|
or carry bows. Swords are their only weapons.|
|
||||||
|
|
|
||||||
|
Mariko gets into her palanquin and sits. \"Yoshinaka-san! Please begin.\"") (
|
||||||
|
SYNONYM FORECOURT) (NORTH TO COURTYARD IF FORTIFIED-GATE IS OPEN) (IN TO
|
||||||
|
COURTYARD IF FORTIFIED-GATE IS OPEN) (SOUTH TO GATEWAY) (FLAGS ONBIT OUTSIDE) (
|
||||||
|
GLOBAL FORTIFIED-GATE GARDEN-GATE SAMURAI-GUARDS) (ACTION FORECOURT-F)>
|
||||||
|
<DEFINE-ROUTINE FORECOURT-F>
|
||||||
|
<OBJECT FORTIFIED-GATE (LOC LOCAL-GLOBALS) (DESC "fortified gate") (SYNONYM
|
||||||
|
GATE DOOR) (ADJECTIVE FORTIFIED) (FLAGS DOORBIT) (ACTION FORTIFIED-GATE-F)>
|
||||||
|
<DEFINE-ROUTINE FORTIFIED-GATE-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
<OBJECT PORTCULLIS (LOC LOCAL-GLOBALS) (DESC "portcullis") (SYNONYM PORTCULLIS)
|
||||||
|
(ADJECTIVE IRON) (FLAGS DOORBIT OPENBIT)>
|
||||||
|
<ROOM GATEWAY (LOC ROOMS) (DESC "Gateway") (SYNONYM GATEWAY) (SOUTH TO
|
||||||
|
ON-BRIDGE) (FLAGS ONBIT OUTSIDE) (GLOBAL SAMURAI-GUARDS) (ACTION GATEWAY-F)>
|
||||||
|
<DEFINE-ROUTINE GATEWAY-F>
|
||||||
|
<GLOBAL SEEN-MAD-SCENE? <>>
|
||||||
|
<DEFINE-ROUTINE TORANAGA-CLOSES-CURTAIN>
|
||||||
|
<GLOBAL ISHIDO-DISTRACTED? <>>
|
||||||
|
<GLOBAL JERK-CNT 0>
|
||||||
|
<DEFINE-ROUTINE I-ISHIDO-2>
|
||||||
|
<GLOBAL ISHIDO-CNT 0 %<> WORD>
|
||||||
|
<ROOM ON-BRIDGE (SCENE S-ESCAPE) (LOC ROOMS) (DESC "Bridge") (SYNONYM BRIDGE) (
|
||||||
|
ADJECTIVE LAST) (LDESC
|
||||||
|
"This is the last bridge. It leads south over the moat from the last
|
||||||
|
checkpoint.") (NORTH TO GATEWAY) (SOUTH TO AT-PORTCULLIS) (FLAGS ONBIT OUTSIDE)
|
||||||
|
(ACTION ON-BRIDGE-F)>
|
||||||
|
<DEFINE-ROUTINE ON-BRIDGE-F>
|
||||||
|
<ROOM AT-PORTCULLIS (LOC ROOMS) (DESC "Portcullis") (SYNONYM PORTCULLIS) (
|
||||||
|
ADJECTIVE LAST) (LDESC
|
||||||
|
"This is the last portcullis. To the north is the bridge over the
|
||||||
|
moat. Guards watch you curiously.") (SOUTH TO WOODS) (NORTH TO ON-BRIDGE) (
|
||||||
|
FLAGS ONBIT OUTSIDE) (GLOBAL PORTCULLIS SAMURAI-GUARDS) (ACTION AT-PORTCULLIS-F
|
||||||
|
)>
|
||||||
|
<DEFINE-ROUTINE AT-PORTCULLIS-F>
|
||||||
|
<ROOM WOODS (LOC ROOMS) (DESC "Wooded Area") (SYNONYM AREA) (ADJECTIVE WOODED)
|
||||||
|
(LDESC "This is a wooded area totally out of sight of the castle. To the east
|
||||||
|
is the city proper.") (EAST TO CITY) (NORTH TO AT-PORTCULLIS) (FLAGS ONBIT
|
||||||
|
OUTSIDE SCOREBIT) (ACTION WOODS-F)>
|
||||||
|
<DEFINE-ROUTINE WOODS-F>
|
||||||
|
<DEFINE-ROUTINE I-ESCAPE-CONTINUES>
|
||||||
|
<GLOBAL LITTER-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE I-MADNESS>
|
||||||
|
<GLOBAL MADNESS-CNT 0 %<> WORD>
|
||||||
|
<DEFINE-ROUTINE MOVE-CORTEGE>
|
||||||
|
<OBJECT PARCHMENT (DESC "roll of parchment") (OWNER PARCHMENT) (SYNONYM
|
||||||
|
PARCHMENT ROLL MESSAGE SCROLL) (ADJECTIVE SLIM) (FLAGS TAKEBIT READBIT SCOREBIT
|
||||||
|
) (ACTION PARCHMENT-F)>
|
||||||
|
<DEFINE-ROUTINE PARCHMENT-F>
|
||||||
|
<GLOBAL SEEN-TORANAGA? <>>
|
||||||
|
<ROOM CITY (LOC ROOMS) (DESC "City of Osaka") (OWNER CITY) (SYNONYM CITY OSAKA)
|
||||||
|
(LDESC "The city by night is a fairyland. The rich houses have many colored
|
||||||
|
lanterns, oil-lit and candle-lit, hanging over their gateways and in
|
||||||
|
their gardens, the shoji screens giving off a delightful
|
||||||
|
translucence. Even the poor houses are mellowed by the shojis. Lanterns
|
||||||
|
light the way of pedestrians and kagas, and of samurai on horseback.|
|
||||||
|
|
|
||||||
|
The harbor is to the east.") (EAST TO MAZE) (WEST SORRY
|
||||||
|
"You can't return to the castle now.") (FLAGS ONBIT OUTSIDE) (GLOBAL HOUSE) (
|
||||||
|
ACTION CITY-F)>
|
||||||
|
<DEFINE-ROUTINE CITY-F>
|
||||||
|
<ROOM WAREHOUSE (LOC ROOMS) (DESC "Warehouse") (SYNONYM WAREHOUSE) (LDESC
|
||||||
|
"You are in a narrow and deserted back street near the dock. The shadows
|
||||||
|
of a nearby warehouse shield the party from the view of anyone on the
|
||||||
|
wharf to the east.") (WEST SORRY "There's no time for that now.") (EAST TO
|
||||||
|
WHARF) (FLAGS ONBIT OUTSIDE) (ACTION WAREHOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE WAREHOUSE-F>
|
||||||
|
<OBJECT LARGE-KNIFE (DESC "large knife") (SYNONYM KNIFE) (ADJECTIVE LARGE) (
|
||||||
|
FLAGS TAKEBIT WEARABLE WEAPONBIT) (GENERIC GENERIC-KNIFE-F) (ACTION
|
||||||
|
LARGE-KNIFE-F)>
|
||||||
|
<DEFINE-ROUTINE LARGE-KNIFE-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-KNIFE-F>
|
||||||
|
<OBJECT SMALL-KNIFE (DESC "small knife") (SYNONYM KNIFE) (ADJECTIVE SMALL) (
|
||||||
|
FLAGS TAKEBIT WEARABLE WEARBIT WEAPONBIT) (GENERIC GENERIC-KNIFE-F) (ACTION
|
||||||
|
SMALL-KNIFE-F)>
|
||||||
|
<DEFINE-ROUTINE SMALL-KNIFE-F>
|
||||||
|
<GLOBAL OPPONENT <>>
|
||||||
|
<GLOBAL DODGED? <>>
|
||||||
|
<DEFINE-ROUTINE I-RUSE>
|
||||||
|
<GLOBAL RUSE-CNT 0 %<> WORD>
|
||||||
|
<ROOM WHARF (LOC ROOMS) (DESC "Wharf") (SYNONYM WHARF) (WEST TO WAREHOUSE) (UP
|
||||||
|
TO MAIN-DECK) (EAST TO MAIN-DECK-2) (GLOBAL LG-GALLEY GANGWAY) (FLAGS ONBIT
|
||||||
|
OUTSIDE) (ACTION WHARF-F)>
|
||||||
|
<DEFINE-ROUTINE WHARF-F>
|
||||||
|
<ROOM MAIN-DECK-2 (SCENE S-ESCAPE) (LOC ROOMS) (DESC "Main Deck") (SYNONYM DECK
|
||||||
|
) (ADJECTIVE MAIN) (WEST TO WHARF) (DOWN SORRY
|
||||||
|
"There's nothing of interest below decks.") (FLAGS ONBIT OUTSIDE SCOREBIT) (
|
||||||
|
GLOBAL LG-GALLEY) (GENERIC GENERIC-DECK-F) (ACTION MAIN-DECK-2-F)>
|
||||||
|
<DEFINE-ROUTINE MAIN-DECK-2-F>
|
||||||
|
<OBJECT GRAY-LEADER (DESC "Gray Leader") (SYNONYM GRAY LEADER MAN SAMURAI) (
|
||||||
|
ADJECTIVE LARGE TOUGH GRIZZLED GRAY) (FLAGS PERSON JAPANESEBIT THE SCOREBIT) (
|
||||||
|
ACTION GRAY-LEADER-F)>
|
||||||
|
<DEFINE-ROUTINE GRAY-LEADER-F>
|
||||||
|
<OBJECT RANDOM-GRAYS (DESC "attacking Grays") (SYNONYM GRAY GRAYS SAMURAI) (
|
||||||
|
ADJECTIVE ATTACKING GRAY) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT SCOREBIT) (
|
||||||
|
ACTION RANDOM-GRAYS-F)>
|
||||||
|
<DEFINE-ROUTINE RANDOM-GRAYS-F>
|
||||||
|
<OBJECT SECOND-GRAY (DESC "young Gray samurai") (SYNONYM GRAY SAMURAI) (
|
||||||
|
ADJECTIVE SECOND YOUNG YOUNGER GRAY) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT
|
||||||
|
SCOREBIT) (GENERIC GENERIC-GRAY-F) (ACTION SECOND-GRAY-F)>
|
||||||
|
<DEFINE-ROUTINE GENERIC-GRAY-F>
|
||||||
|
<DEFINE-ROUTINE SECOND-GRAY-F>
|
||||||
|
<DEFINE-ROUTINE HANGS-UP-ON-SLEEVE>
|
||||||
|
<DEFINE-ROUTINE HATAMOTO-AFTER-F>
|
||||||
|
<END-SEGMENT>
|
331
osaka.zil
331
osaka.zil
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
"OSAKA for
|
"OSAKA for
|
||||||
SHOGUN
|
SHOGUN
|
||||||
(c) Copyright 1988 Infocom, Inc. All Rights Reserved."
|
(c) Copyright 1988 Infocom, Inc. All Rights Reserved."
|
||||||
|
@ -30,55 +29,31 @@ and a force of Grays guards the Browns." CR>)
|
||||||
<COND (<NOT <IN? ,CORTEGE ,HERE>>
|
<COND (<NOT <IN? ,CORTEGE ,HERE>>
|
||||||
<DO-WALK ,P?SOUTH>)>)>>
|
<DO-WALK ,P?SOUTH>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE ESCAPE-FOLLOW-KIRI ("AUX" DIR)
|
||||||
<OBJECT KIMONO
|
<COND (<AND ,SEEN-TORANAGA?
|
||||||
(OWNER BLACKTHORNE)
|
<IN? ,KIRIS-LITTER ,COURTYARD>>
|
||||||
(DESC "kimono")
|
<COND (<JIGS-UP? ,J-SWITCH
|
||||||
(SYNONYM KIMONO CLOTHES)
|
"You stop partway, realizing you might be disrupting something you know
|
||||||
(ADJECTIVE SILK)
|
nothing about.">
|
||||||
(FLAGS TAKEBIT WEARABLE)
|
<TELL
|
||||||
(ACTION KIMONO-F)>
|
"You follow Kiri into the garden and the little hut. She's crouched inside,
|
||||||
|
trying to be quiet, but when you blunder in she screams in spite of
|
||||||
<ROUTINE KIMONO-F ()
|
herself. The scream brings guards. They recognize Kiri and wonder, if she
|
||||||
<COND (<AND <VERB? TAKE-OFF> <FORMAL-SCENE?>>
|
is here,
|
||||||
|
who is in the litter? It is only after the ensuing battle that Ishido
|
||||||
|
returns and orders you killed." CR>
|
||||||
|
<JIGS-UP>)
|
||||||
|
(ELSE <RTRUE>)>)
|
||||||
|
(<NOT <IN? ,KIRIS-LITTER ,HERE>>
|
||||||
|
<COND (<SET DIR <NEXT-ROOM? <LOC ,KIRIS-LITTER>>>
|
||||||
|
<DO-WALK .DIR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL "You've lost track of her." CR>)>)
|
||||||
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"You would expose yourself to ridicule." CR>)
|
"She's in her litter, so you can follow it when it leaves." CR>)>>
|
||||||
(<AND <VERB? WEAR>
|
|
||||||
<NOUN-USED? ,PRSO ,W?CLOTHES>
|
|
||||||
<NOT <FSET? ,PRSO ,RMUNGBIT>>>
|
|
||||||
<PERFORM ,V?DRESS>
|
|
||||||
<RTRUE>)
|
|
||||||
(<AND <VERB? TAKE-OFF>
|
|
||||||
<NOUN-USED? ,PRSO ,W?CLOTHES>
|
|
||||||
<NOT <FSET? ,PRSO ,RMUNGBIT>>>
|
|
||||||
<PERFORM ,V?STRIP>
|
|
||||||
<RTRUE>)
|
|
||||||
(<VERB? TEAR>
|
|
||||||
<TELL
|
|
||||||
"Your kimono would tear easily, but it would be silly to do so." CR>)>>
|
|
||||||
|
|
||||||
<OBJECT SANDALS
|
<BEGIN-SEGMENT MAZE>
|
||||||
(OWNER BLACKTHORNE)
|
|
||||||
(DESC "pair of sandals")
|
|
||||||
(SYNONYM SANDALS SLIPPERS THONG THONGS)
|
|
||||||
(FLAGS TAKEBIT WEARABLE PLURAL)>
|
|
||||||
|
|
||||||
<OBJECT SOCKS
|
|
||||||
(OWNER BLACKTHORNE)
|
|
||||||
(DESC "socks")
|
|
||||||
(SYNONYM SOCKS TABIS)
|
|
||||||
(ADJECTIVE TABI)
|
|
||||||
(FLAGS TAKEBIT WEARABLE PLURAL NOABIT)
|
|
||||||
(ACTION SOCKS-F)>
|
|
||||||
|
|
||||||
<ROUTINE SOCKS-F ()
|
|
||||||
<COND (<VERB? EXAMINE>
|
|
||||||
<TELL
|
|
||||||
"These are tabi socks. They are different from European socks in that
|
|
||||||
there is a notch for the thong of a sandal. They remind you of mittens." CR>)
|
|
||||||
(<AND <VERB? TAKE-OFF WEAR>
|
|
||||||
<FSET? ,SANDALS ,WEARBIT>>
|
|
||||||
<HAVE-TO-TAKE-OFF ,SANDALS>)>>
|
|
||||||
|
|
||||||
<OBJECT BUNTARO
|
<OBJECT BUNTARO
|
||||||
(DESC "Buntaro")
|
(DESC "Buntaro")
|
||||||
|
@ -105,6 +80,9 @@ to kill someone, and wouldn't be too particular about who." CR>)>)
|
||||||
with a quick temper. He is the only living son of Lord Hiro-matsu,
|
with a quick temper. He is the only living son of Lord Hiro-matsu,
|
||||||
and the husband of Lady Mariko." CR>)>>
|
and the husband of Lady Mariko." CR>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ESCAPE MAZE">
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
|
||||||
<OBJECT SAZUKO
|
<OBJECT SAZUKO
|
||||||
(DESC "Sazuko")
|
(DESC "Sazuko")
|
||||||
(SYNONYM SAZUKO GIRL)
|
(SYNONYM SAZUKO GIRL)
|
||||||
|
@ -126,70 +104,6 @@ and very pregnant." CR>)
|
||||||
"Lady Sazuko is a short, square-faced girl of little beauty. She is
|
"Lady Sazuko is a short, square-faced girl of little beauty. She is
|
||||||
very pregnant." CR>)>>
|
very pregnant." CR>)>>
|
||||||
|
|
||||||
<OBJECT BROWNS
|
|
||||||
(DESC "Brown-uniformed samurai")
|
|
||||||
(SYNONYM BROWNS BROWN SAMURAI)
|
|
||||||
(ADJECTIVE BROWNS BROWN BROWN-UNIFORMED)
|
|
||||||
(FLAGS PERSON JAPANESEBIT NOABIT)
|
|
||||||
(COUNT 20)
|
|
||||||
(GENERIC GENERIC-SAMURAI-F)
|
|
||||||
(ACTION BROWNS-F)>
|
|
||||||
|
|
||||||
<ROUTINE BROWNS-F ("OPT" (RARG <>))
|
|
||||||
<COND (<RARG? SUBJ>
|
|
||||||
<RFALSE>)
|
|
||||||
(<RARG? WINNER>
|
|
||||||
<COND (<AND <HERE? ,MAIN-DECK>
|
|
||||||
<SCENE? ,S-ESCAPE>>
|
|
||||||
<SETG WINNER ,PLAYER>
|
|
||||||
<PERFORM ,V?MIZU>
|
|
||||||
<RTRUE>)
|
|
||||||
(ELSE
|
|
||||||
<TELL
|
|
||||||
"The Browns are not under your orders." CR>)>
|
|
||||||
<END-QUOTE>)
|
|
||||||
(ELSE
|
|
||||||
<COND (<VERB? WHO>
|
|
||||||
<TELL
|
|
||||||
"The Browns are Toranaga's samurai." CR>)
|
|
||||||
(<VERB? EXAMINE>
|
|
||||||
<TELL
|
|
||||||
"They are all dressed in the Brown uniform." CR>)>)>>
|
|
||||||
|
|
||||||
<OBJECT GRAYS
|
|
||||||
(DESC "Gray-uniformed samurai")
|
|
||||||
(SYNONYM GRAYS GRAY SAMURAI ESCORT GUARDS GUARDSMEN)
|
|
||||||
(ADJECTIVE GRAY GRAY-UNIFORMED)
|
|
||||||
(FLAGS PERSON JAPANESEBIT NOABIT)
|
|
||||||
(GENERIC GENERIC-SAMURAI-F)
|
|
||||||
(ACTION GRAYS-F)>
|
|
||||||
|
|
||||||
<ROUTINE GRAYS-F ("OPT" (RARG <>))
|
|
||||||
<COND (<RARG? SUBJ>
|
|
||||||
<RFALSE>)
|
|
||||||
(<RARG? WINNER>
|
|
||||||
<TELL
|
|
||||||
"The Grays ignore you." CR>
|
|
||||||
<END-QUOTE>)
|
|
||||||
(ELSE
|
|
||||||
<COND (<VERB? WHO>
|
|
||||||
<TELL
|
|
||||||
"The Grays are Ishido's samurai." CR>)
|
|
||||||
(<VERB? EXAMINE>
|
|
||||||
<COND (<SCENE? ,S-PRISON>
|
|
||||||
<TELL
|
|
||||||
"They are behaving more like escorts than guards." CR>)
|
|
||||||
(ELSE
|
|
||||||
<TELL
|
|
||||||
"They are all dressed in the Gray uniform." CR>)>)>)>>
|
|
||||||
|
|
||||||
<ROUTINE NOT-A-BARBARIAN? ()
|
|
||||||
<OR <AND <P? BE (BLACKTHORNE ME)
|
|
||||||
(GLOBAL-BARBARIAN CRAZY)>
|
|
||||||
<P-NEGATIVE?>>
|
|
||||||
<P? BE (BLACKTHORNE ME)
|
|
||||||
(GLOBAL-SAMURAI GLOBAL-HATAMOTO)>>>
|
|
||||||
|
|
||||||
<ROUTINE I-ISHIDO ()
|
<ROUTINE I-ISHIDO ()
|
||||||
<ZLINES ,ISHIDO-CNT
|
<ZLINES ,ISHIDO-CNT
|
||||||
(<QUEUE I-ISHIDO -1>
|
(<QUEUE I-ISHIDO -1>
|
||||||
|
@ -263,11 +177,11 @@ well." CR CR
|
||||||
"Satisfied that all is as it should be, Ishido turns and leaves with all
|
"Satisfied that all is as it should be, Ishido turns and leaves with all
|
||||||
his men. Hiro-matsu exhales and scratches his piles.">
|
his men. Hiro-matsu exhales and scratches his piles.">
|
||||||
<COND (<HERE? ,COURTYARD>
|
<COND (<HERE? ,COURTYARD>
|
||||||
<TELL " \"You'd better
|
<TELL "\"You'd better
|
||||||
leave now, Yabu-san. That rice maggot'll give you no more trouble.\" Yabu
|
leave now, Yabu-san. That rice maggot'll give you no more trouble.\" Yabu
|
||||||
replies, \"Yes, at once.\"" CR>)
|
replies, \"Yes, at once.\"" CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL " He says something to Yabu, who bows
|
<TELL "He says something to Yabu, who bows
|
||||||
and then begins to get the escort moving." CR>)>)>)>>
|
and then begins to get the escort moving." CR>)>)>)>>
|
||||||
|
|
||||||
<OBJECT TORANAGA-IN-DRAG
|
<OBJECT TORANAGA-IN-DRAG
|
||||||
|
@ -294,8 +208,8 @@ CTHE ,TORANAGA-IN-DRAG " looks at you, but doesn't reply." CR>)
|
||||||
<FCLEAR ,TORANAGA-IN-DRAG ,FEMALE>
|
<FCLEAR ,TORANAGA-IN-DRAG ,FEMALE>
|
||||||
<TELL
|
<TELL
|
||||||
"You look at the veiled figure. She is dressed exactly like Kiri, and at
|
"You look at the veiled figure. She is dressed exactly like Kiri, and at
|
||||||
first you assume that it must be her. But if so, how did she get here?
|
first you assume that it must be her. But if so, how did she get
|
||||||
Then you look more carefully, and realize it's a man, not a woman --
|
here? Then you look more carefully, and realize it's a man, not a woman --
|
||||||
it's Toranaga, in disguise! What can he be planning? Escape!" CR>
|
it's Toranaga, in disguise! What can he be planning? Escape!" CR>
|
||||||
<SCORE-OBJECT ,TORANAGA-IN-DRAG>)
|
<SCORE-OBJECT ,TORANAGA-IN-DRAG>)
|
||||||
(ELSE
|
(ELSE
|
||||||
|
@ -348,6 +262,8 @@ as sharp as it needs to be, though." CR>
|
||||||
<JIGS-UP>)
|
<JIGS-UP>)
|
||||||
(ELSE <RTRUE>)>)>)>>
|
(ELSE <RTRUE>)>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
|
||||||
<ROOM COURTYARD
|
<ROOM COURTYARD
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-ESCAPE)
|
(SCENE S-ESCAPE)
|
||||||
|
@ -413,6 +329,9 @@ CTHE ,PRSO " doesn't seem to be anywhere nearby." CR>)>)
|
||||||
<TELL
|
<TELL
|
||||||
"\"No, Anjin-san, stay here!\" Mariko says. \"We are leaving soon.\"" CR>)>)>>
|
"\"No, Anjin-san, stay here!\" Mariko says. \"We are leaving soon.\"" CR>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ESCAPE+SEPPUKU">
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
|
||||||
<ROUTINE I-KIRI ()
|
<ROUTINE I-KIRI ()
|
||||||
<ZLINES ,KIRI-CNT
|
<ZLINES ,KIRI-CNT
|
||||||
(<COND (<HERE? ,COURTYARD>
|
(<COND (<HERE? ,COURTYARD>
|
||||||
|
@ -425,8 +344,8 @@ giving him instructions. All you can understand is the word "I"dozo"",
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"You can hear conversations and crying coming from the courtyard." CR>)>)
|
"You can hear conversations and crying coming from the courtyard." CR>)>)
|
||||||
(<COND (<HERE? ,COURTYARD>
|
(<FSET ,KIRITSUBO ,SCOREBIT>
|
||||||
<FSET ,KIRITSUBO ,SCOREBIT>
|
<COND (<HERE? ,COURTYARD>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Lady Sazuko bows and hurries off, Yabu following. The girl runs up the
|
"Lady Sazuko bows and hurries off, Yabu following. The girl runs up the
|
||||||
steps. As she nears the top she slips and falls. Kiri screams something
|
steps. As she nears the top she slips and falls. Kiri screams something
|
||||||
|
@ -437,18 +356,17 @@ in Japanese. All eyes flash to the prostrate girl." CR>)
|
||||||
"Kiritsubo hurries through the garden into the little tea house, then
|
"Kiritsubo hurries through the garden into the little tea house, then
|
||||||
emerges again moments later. As she passes you, your eyes meet. ">
|
emerges again moments later. As she passes you, your eyes meet. ">
|
||||||
<COND (<FSET? ,TORANAGA-IN-DRAG ,SCOREBIT>
|
<COND (<FSET? ,TORANAGA-IN-DRAG ,SCOREBIT>
|
||||||
<TELL
|
|
||||||
"It is not Kiri, but Toranaga in disguise!" CR>
|
|
||||||
<SCORE-OBJECT ,TORANAGA-IN-DRAG>
|
|
||||||
<REPLACE-SYNONYM ,TORANAGA-IN-DRAG
|
<REPLACE-SYNONYM ,TORANAGA-IN-DRAG
|
||||||
,W?KIRITSUBO
|
,W?KIRITSUBO
|
||||||
,W?TORANAGA>)
|
,W?TORANAGA>
|
||||||
|
<TELL
|
||||||
|
"It is not Kiri, but Toranaga in disguise!" CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"It is Toranaga. Kiritsubo and Toranaga have switched!" CR>)>
|
"It is Toranaga. Kiritsubo and Toranaga have switched!" CR>)>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"The figure slips into Kiri's litter, veil drawn." CR>
|
"The figure slips into Kiri's litter, veil drawn." CR>
|
||||||
<SCORE-OBJECT ,KIRITSUBO>)
|
<SCORE-OBJECT ,TORANAGA-IN-DRAG ,KIRITSUBO>)
|
||||||
(<HERE? ,TEA-HOUSE>
|
(<HERE? ,TEA-HOUSE>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Suddenly, Kiritsubo dashes into the tea house. When she sees you, she
|
"Suddenly, Kiritsubo dashes into the tea house. When she sees you, she
|
||||||
|
@ -462,8 +380,8 @@ sword and surprisingly attacks you rather than Yabu.">
|
||||||
"There seems to be some commotion in the courtyard." CR>)>)
|
"There seems to be some commotion in the courtyard." CR>)>)
|
||||||
(<MOVE ,TORANAGA-IN-DRAG ,KIRIS-LITTER>
|
(<MOVE ,TORANAGA-IN-DRAG ,KIRIS-LITTER>
|
||||||
<MOVE ,KIRITSUBO ,TEA-HOUSE>
|
<MOVE ,KIRITSUBO ,TEA-HOUSE>
|
||||||
|
<FCLEAR ,KIRITSUBO ,SCOREBIT>
|
||||||
<COND (<HERE? ,COURTYARD>
|
<COND (<HERE? ,COURTYARD>
|
||||||
<FCLEAR ,KIRITSUBO ,SCOREBIT>
|
|
||||||
<COND (<EQUAL? ,OHERE ,FORMAL-GARDEN>
|
<COND (<EQUAL? ,OHERE ,FORMAL-GARDEN>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"You see that Sazuko, one of Toranaga's consorts, has fallen to the
|
"You see that Sazuko, one of Toranaga's consorts, has fallen to the
|
||||||
|
@ -471,7 +389,7 @@ ground. She is pregnant, and everyone is terrified for the safety of
|
||||||
the child." CR>)>
|
the child." CR>)>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko and Yabu rush to aid the girl. Yabu picks her up. Sazuko is
|
"Mariko and Yabu rush to aid the girl. Yabu picks her up. Sazuko is
|
||||||
more startled than hurt. She speaks to them, embarassed at her clumsiness,
|
more startled than hurt. She speaks to them, embarrassed at her clumsiness,
|
||||||
then stands. Everyone relaxes. Toranaga's unborn child is safe." CR>)
|
then stands. Everyone relaxes. Toranaga's unborn child is safe." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL CR
|
<TELL CR
|
||||||
|
@ -595,6 +513,8 @@ a battle erupts.">)>
|
||||||
"He hustles you unceremoniously back to the courtyard." CR CR>
|
"He hustles you unceremoniously back to the courtyard." CR CR>
|
||||||
<GOTO ,COURTYARD>)>)>>
|
<GOTO ,COURTYARD>)>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT MAZE>
|
||||||
|
|
||||||
<OBJECT KIRIS-LITTER
|
<OBJECT KIRIS-LITTER
|
||||||
;(LOC COURTYARD)
|
;(LOC COURTYARD)
|
||||||
(OWNER KIRITSUBO)
|
(OWNER KIRITSUBO)
|
||||||
|
@ -658,13 +578,6 @@ a battle erupts.">)>
|
||||||
(GENERIC GENERIC-LITTER-F)
|
(GENERIC GENERIC-LITTER-F)
|
||||||
(ACTION MARIKOS-LITTER-F)>
|
(ACTION MARIKOS-LITTER-F)>
|
||||||
|
|
||||||
<ROUTINE GENERIC-LITTER-F (R F)
|
|
||||||
<COND (<OR <HERE? ,WOODS>
|
|
||||||
<IN? ,WINNER ,MARIKOS-LITTER>>
|
|
||||||
,MARIKOS-LITTER)
|
|
||||||
(<IN? ,YABU-PALANQUIN ,HERE>
|
|
||||||
,YABU-PALANQUIN)>>
|
|
||||||
|
|
||||||
<ROUTINE MARIKOS-LITTER-F ("OPT" (RARG <>))
|
<ROUTINE MARIKOS-LITTER-F ("OPT" (RARG <>))
|
||||||
<COND (<RARG? BEG>
|
<COND (<RARG? BEG>
|
||||||
<COND (<AND <HERE? WOODS CITY>
|
<COND (<AND <HERE? WOODS CITY>
|
||||||
|
@ -688,6 +601,9 @@ don't move." CR>)
|
||||||
<TELL
|
<TELL
|
||||||
"Mariko's maid prevents you." CR>)>)>)>>
|
"Mariko's maid prevents you." CR>)>)>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ESCAPE+MAZE">
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
|
||||||
<ROUTINE GET-IN-LITTER ("OPT" (FORCE? <>))
|
<ROUTINE GET-IN-LITTER ("OPT" (FORCE? <>))
|
||||||
<DEQUEUE I-ESCAPE-CONTINUES>
|
<DEQUEUE I-ESCAPE-CONTINUES>
|
||||||
<MOVE ,PLAYER ,MARIKOS-LITTER>
|
<MOVE ,PLAYER ,MARIKOS-LITTER>
|
||||||
|
@ -706,6 +622,8 @@ is soothing and you lay back, depleted." CR CR>
|
||||||
<MOVE ,YABU ,CITY>
|
<MOVE ,YABU ,CITY>
|
||||||
<GOTO ,CITY>>
|
<GOTO ,CITY>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT DEPARTURE>
|
||||||
|
|
||||||
<ROUTINE MARIKOS-LITTER-DESC (RARG OBJ)
|
<ROUTINE MARIKOS-LITTER-DESC (RARG OBJ)
|
||||||
<COND (<RARG? OBJDESC?> <RTRUE>)
|
<COND (<RARG? OBJDESC?> <RTRUE>)
|
||||||
(ELSE
|
(ELSE
|
||||||
|
@ -717,6 +635,8 @@ the open curtains you can see Mariko.">)
|
||||||
(ELSE <TELL ".">)>
|
(ELSE <TELL ".">)>
|
||||||
<RFATAL>)>>
|
<RFATAL>)>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT SEPPUKU>
|
||||||
|
|
||||||
<ROOM FORECOURT
|
<ROOM FORECOURT
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
(SCENE S-DEPARTURE)
|
(SCENE S-DEPARTURE)
|
||||||
|
@ -756,7 +676,7 @@ Mariko gets into her palanquin and sits. \"Yoshinaka-san! Please begin.\"")
|
||||||
paths and walls that makes up the rest of the castle. To the north, through an
|
paths and walls that makes up the rest of the castle. To the north, through an
|
||||||
arched gateway with a fortified gate, is a courtyard.">
|
arched gateway with a fortified gate, is a courtyard.">
|
||||||
<COND (<SCENE? ,S-DEPARTURE ,S-SEPPUKU>
|
<COND (<SCENE? ,S-DEPARTURE ,S-SEPPUKU>
|
||||||
<TELL " The forecourt is crowded with Grays,
|
<TELL "The forecourt is crowded with Grays,
|
||||||
other samurai and their women.">)>
|
other samurai and their women.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? LEAVE>
|
(<RARG? LEAVE>
|
||||||
|
@ -829,6 +749,9 @@ events to come." CR>)>)>)
|
||||||
"You could no more open or close this gate by yourself than tear
|
"You could no more open or close this gate by yourself than tear
|
||||||
down Osaka Castle with your bare hands." CR>)>>
|
down Osaka Castle with your bare hands." CR>)>>
|
||||||
|
|
||||||
|
<END-SEGMENT ;"ESCAPE+DEPARTURE+SEPPUKU">
|
||||||
|
<BEGIN-SEGMENT ESCAPE>
|
||||||
|
|
||||||
<OBJECT PORTCULLIS
|
<OBJECT PORTCULLIS
|
||||||
(LOC LOCAL-GLOBALS)
|
(LOC LOCAL-GLOBALS)
|
||||||
(DESC "portcullis")
|
(DESC "portcullis")
|
||||||
|
@ -853,16 +776,17 @@ is the final drawbridge and the final moat. To the south, on the far side
|
||||||
of the bridge,
|
of the bridge,
|
||||||
is the ultimate strongpoint.">
|
is the ultimate strongpoint.">
|
||||||
<COND (<SCENE? ,S-ESCAPE>
|
<COND (<SCENE? ,S-ESCAPE>
|
||||||
<TELL " A multitude of flares turn the night into
|
<TELL "A multitude of flares turn the night into
|
||||||
crimson day.">)
|
crimson day.">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Crowds of curious onlookers clog the street.">)>
|
"Crowds of curious onlookers clog the street.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
<COND (<EQUAL? ,OHERE ,FORECOURT>
|
<COND (<EQUAL? ,OHERE ,FORECOURT>
|
||||||
<SETG ISHIDO-CNT 0>
|
<SETG ISHIDO-CNT 0>
|
||||||
<QUEUE I-ISHIDO-2 -1>)>)
|
<QUEUE I-ISHIDO-2 -1>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<SCENE? ,S-ESCAPE>
|
<COND (<SCENE? ,S-ESCAPE>
|
||||||
<SET MAD?
|
<SET MAD?
|
||||||
|
@ -966,7 +890,7 @@ exhaustion is beginning to take its toll." CR>)>)>)>)>)>>
|
||||||
<QUEUE I-MADNESS -1>
|
<QUEUE I-MADNESS -1>
|
||||||
<COND (<FSET? ,CURTAINS ,OPENBIT>
|
<COND (<FSET? ,CURTAINS ,OPENBIT>
|
||||||
<FCLEAR ,CURTAINS ,OPENBIT>
|
<FCLEAR ,CURTAINS ,OPENBIT>
|
||||||
<TELL " For an instant Toranaga
|
<TELL "For an instant Toranaga
|
||||||
is in full view behind Ishido. In the never-ending second before Toranaga
|
is in full view behind Ishido. In the never-ending second before Toranaga
|
||||||
tugs the curtains closed again, you know that Yabu has recognized him,
|
tugs the curtains closed again, you know that Yabu has recognized him,
|
||||||
and Mariko, and probably Buntaro and some of the Brown samurai.">)>>
|
and Mariko, and probably Buntaro and some of the Brown samurai.">)>>
|
||||||
|
@ -1023,7 +947,7 @@ the curtains." CR>)
|
||||||
"Everyone is waiting for the hand to appear.">
|
"Everyone is waiting for the hand to appear.">
|
||||||
<COND (,SEEN-TORANAGA?
|
<COND (,SEEN-TORANAGA?
|
||||||
<TELL
|
<TELL
|
||||||
" You realize Toranaga is trapped. Politeness demands that he take the
|
"You realize Toranaga is trapped. Politeness demands that he take the
|
||||||
scroll and his hand will give him away!">)>
|
scroll and his hand will give him away!">)>
|
||||||
<TELL CR CR
|
<TELL CR CR
|
||||||
"Ishido is getting impatient. \"Kiritsubo-san?\" he calls." CR>)
|
"Ishido is getting impatient. \"Kiritsubo-san?\" he calls." CR>)
|
||||||
|
@ -1177,7 +1101,8 @@ out of sight of the castle, you gratefully collapse." CR>
|
||||||
<SCORE-OBJECT ,WOODS>)>)>)
|
<SCORE-OBJECT ,WOODS>)>)>)
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
<DEQUEUE I-ISHIDO-2>
|
<DEQUEUE I-ISHIDO-2>
|
||||||
<DEQUEUE I-MARIKO-FOLLOW>)>>
|
<DEQUEUE I-MARIKO-FOLLOW>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<ROUTINE I-ESCAPE-CONTINUES ()
|
<ROUTINE I-ESCAPE-CONTINUES ()
|
||||||
<ZLINES ,LITTER-CNT
|
<ZLINES ,LITTER-CNT
|
||||||
|
@ -1239,7 +1164,7 @@ over in forced semihysteria that the mad barbarian believed he was
|
||||||
only trying to save Ishido from a bad " I "kami" ".">
|
only trying to save Ishido from a bad " I "kami" ".">
|
||||||
<COND (<EQUAL? ,ISHIDO-DISTRACTED?
|
<COND (<EQUAL? ,ISHIDO-DISTRACTED?
|
||||||
,V?ATTACK ,V?HIT>
|
,V?ATTACK ,V?HIT>
|
||||||
<TELL " \"It's the worst
|
<TELL "\"It's the worst
|
||||||
insult to touch their faces, just like with us!\"">)>
|
insult to touch their faces, just like with us!\"">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(;5
|
(;5
|
||||||
|
@ -1400,7 +1325,8 @@ The harbor is to the east.")
|
||||||
<ROUTINE CITY-F ("OPT" (RARG <>))
|
<ROUTINE CITY-F ("OPT" (RARG <>))
|
||||||
<COND (<RARG? ENTER>
|
<COND (<RARG? ENTER>
|
||||||
<COND (<EQUAL? ,OHERE ,WOODS>
|
<COND (<EQUAL? ,OHERE ,WOODS>
|
||||||
<MOVE-ALL ,WOODS ,CITY>)>)
|
<MOVE-ALL ,WOODS ,CITY>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? <>>
|
(<RARG? <>>
|
||||||
<COND (<VERB? FIND>
|
<COND (<VERB? FIND>
|
||||||
<COND (<G=? ,SCENE ,S-VOYAGE>
|
<COND (<G=? ,SCENE ,S-VOYAGE>
|
||||||
|
@ -1436,7 +1362,7 @@ appear, the Grays spot you and surge forward." CR CR>
|
||||||
<GOTO ,WHARF>
|
<GOTO ,WHARF>
|
||||||
<MOVE ,BROWNS ,WHARF>
|
<MOVE ,BROWNS ,WHARF>
|
||||||
<MOVE ,GRAYS ,WHARF>
|
<MOVE ,GRAYS ,WHARF>
|
||||||
<MOVE ,GRAY-LEADER ,MAIN-DECK>
|
<MOVE ,GRAY-LEADER ,MAIN-DECK-2>
|
||||||
<FSET ,GRAY-LEADER ,NDESCBIT>
|
<FSET ,GRAY-LEADER ,NDESCBIT>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<IN? ,MARIKO ,WAREHOUSE>
|
(<IN? ,MARIKO ,WAREHOUSE>
|
||||||
|
@ -1450,7 +1376,8 @@ appear, the Grays spot you and surge forward." CR CR>
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
<COND (<EQUAL? ,OHERE ,MAZE>
|
<COND (<EQUAL? ,OHERE ,MAZE>
|
||||||
<MOVE-ALL ,MAZE ,WAREHOUSE>
|
<MOVE-ALL ,MAZE ,WAREHOUSE>
|
||||||
<QUEUE I-RUSE -1>)>)>>
|
<QUEUE I-RUSE -1>)>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
<OBJECT LARGE-KNIFE
|
<OBJECT LARGE-KNIFE
|
||||||
(DESC "large knife")
|
(DESC "large knife")
|
||||||
|
@ -1555,7 +1482,7 @@ the Grays. You add to the babel in a panting mixture of Portuguese, English,
|
||||||
and Dutch, motioning for them to hurry. You lean against the gangway, unable
|
and Dutch, motioning for them to hurry. You lean against the gangway, unable
|
||||||
to see anything on the galley distinctly. You can't tell if the samurai on
|
to see anything on the galley distinctly. You can't tell if the samurai on
|
||||||
deck are Grays or Browns or both." CR>)
|
deck are Grays or Browns or both." CR>)
|
||||||
(<COND (<HERE? ,WHARF ,MAIN-DECK ,GALLEY>
|
(<COND (<HERE? ,WHARF ,MAIN-DECK-2>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko is frantically haranguing the senior officer of the Grays. He shouts
|
"Mariko is frantically haranguing the senior officer of the Grays. He shouts
|
||||||
orders, and suddenly a hundred samurai, all Grays, pour off the ship.|
|
orders, and suddenly a hundred samurai, all Grays, pour off the ship.|
|
||||||
|
@ -1564,14 +1491,13 @@ Quickly, Mariko turns to you and asks, \"Does the ship seem all right to
|
||||||
you?\"">
|
you?\"">
|
||||||
<SETG QCONTEXT ,MARIKO>
|
<SETG QCONTEXT ,MARIKO>
|
||||||
<COND (<HERE? ,WHARF>
|
<COND (<HERE? ,WHARF>
|
||||||
<TELL " She motions you onto the galley.">)>
|
<TELL "She motions you onto the galley.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko is desperately calling you back to the wharf." CR>)>)
|
"Mariko is desperately calling you back to the wharf." CR>)>)
|
||||||
(DELAY
|
(DELAY
|
||||||
<COND (<AND <NOT <IN? ,BLACKTHORNE ,MAIN-DECK>>
|
<COND (<NOT <IN? ,BLACKTHORNE ,MAIN-DECK-2>>
|
||||||
<NOT <IN? ,BLACKTHORNE ,GALLEY>>>
|
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko commands you urgently in Latin, \"Get aboard the galley,
|
"Mariko commands you urgently in Latin, \"Get aboard the galley,
|
||||||
Anjin-san! We must see if it is safe!\"" CR>
|
Anjin-san! We must see if it is safe!\"" CR>
|
||||||
|
@ -1671,7 +1597,6 @@ his sash. The phalanx moves with measured tread toward the galley.|
|
||||||
|
|
|
|
||||||
Bastard, you think. You're a cruel, cold-gutted, heartless bastard but you've
|
Bastard, you think. You're a cruel, cold-gutted, heartless bastard but you've
|
||||||
got majesty, no doubt about that." CR>
|
got majesty, no doubt about that." CR>
|
||||||
<DEQUEUE I-RUSE>
|
|
||||||
<NEXT-SCENE>)>>
|
<NEXT-SCENE>)>>
|
||||||
|
|
||||||
<ROOM WHARF
|
<ROOM WHARF
|
||||||
|
@ -1680,7 +1605,7 @@ got majesty, no doubt about that." CR>
|
||||||
(SYNONYM WHARF)
|
(SYNONYM WHARF)
|
||||||
(WEST TO WAREHOUSE)
|
(WEST TO WAREHOUSE)
|
||||||
(UP TO MAIN-DECK)
|
(UP TO MAIN-DECK)
|
||||||
(EAST TO MAIN-DECK)
|
(EAST TO MAIN-DECK-2)
|
||||||
(GLOBAL LG-GALLEY GANGWAY)
|
(GLOBAL LG-GALLEY GANGWAY)
|
||||||
(FLAGS ONBIT OUTSIDE ;SCOREBIT)
|
(FLAGS ONBIT OUTSIDE ;SCOREBIT)
|
||||||
(ACTION WHARF-F)>
|
(ACTION WHARF-F)>
|
||||||
|
@ -1693,7 +1618,8 @@ east, moored to stanchions fixed into the stone wharf that extends
|
||||||
a hundred yards out into the sea." CR>)
|
a hundred yards out into the sea." CR>)
|
||||||
(<RARG? ENTER>
|
(<RARG? ENTER>
|
||||||
<REMOVE ,ANCHOR>
|
<REMOVE ,ANCHOR>
|
||||||
<REMOVE ,SKIFF>)
|
<REMOVE ,SKIFF>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<P? EXAMINE GRAYS>
|
<COND (<P? EXAMINE GRAYS>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -1706,6 +1632,91 @@ color of their uniforms." CR>)
|
||||||
(<P? (BOARD CLIMB-ON) (GALLEY LG-GALLEY ROOMS)>
|
(<P? (BOARD CLIMB-ON) (GALLEY LG-GALLEY ROOMS)>
|
||||||
<DO-WALK ,P?EAST>)>)>>
|
<DO-WALK ,P?EAST>)>)>>
|
||||||
|
|
||||||
|
<ROOM MAIN-DECK-2
|
||||||
|
(SCENE S-ESCAPE)
|
||||||
|
(LOC ROOMS)
|
||||||
|
(DESC "Main Deck")
|
||||||
|
(SYNONYM DECK)
|
||||||
|
(ADJECTIVE MAIN)
|
||||||
|
(WEST TO WHARF)
|
||||||
|
(DOWN SORRY "There's nothing of interest below decks.")
|
||||||
|
(FLAGS ONBIT OUTSIDE SCOREBIT)
|
||||||
|
(GLOBAL LG-GALLEY)
|
||||||
|
(GENERIC GENERIC-DECK-F)
|
||||||
|
(ACTION MAIN-DECK-2-F)>
|
||||||
|
|
||||||
|
<ROUTINE MAIN-DECK-2-F (RARG)
|
||||||
|
<COND (<RARG? LOOK>
|
||||||
|
<TELL
|
||||||
|
G"This is the oar deck of the galley, forward of the quarterdeck. ">
|
||||||
|
<TELL
|
||||||
|
"Gray guardsmen crowd the deck." CR>)
|
||||||
|
(<RARG? ENTER>
|
||||||
|
<MOVE ,MARIKO ,MAIN-DECK-2>
|
||||||
|
<MOVE ,BROWNS ,MAIN-DECK-2>
|
||||||
|
<TELL
|
||||||
|
"You pull yourself up the gangway using the ropes for support. Your dash
|
||||||
|
across the wharf has tired you more than you realized at first. Mariko and
|
||||||
|
two Browns follow after.">
|
||||||
|
<CRLF> <CRLF>)
|
||||||
|
(<RARG? BEG>
|
||||||
|
<COND (<P? WALK (P?AFT P?UP)>
|
||||||
|
<TELL
|
||||||
|
"The gangway aft is blocked by Grays and crewmen." CR>)
|
||||||
|
(<P? TAKE-OFF LG-GALLEY>
|
||||||
|
<DO-WALK ,P?WEST>)
|
||||||
|
(<AND <EQUAL? ,QCONTEXT ,MARIKO>
|
||||||
|
<VERB? YES HAI>>
|
||||||
|
<SETG QCONTEXT <>>
|
||||||
|
<TELL
|
||||||
|
"\"Well, she's floating, at least,\" you reply, and then notice one of the
|
||||||
|
crewmen from the voyage to Osaka. With Mariko's help, you ask him if the
|
||||||
|
galley is ready, and if there are still Grays aboard. \"Anjin-san, he thanks
|
||||||
|
you for the life of his ship, and says they are ready. As for the other, he
|
||||||
|
doesn't know.\" Mariko seems very worried as she says this." CR>)
|
||||||
|
(<P? (HELP WAKE TAKE) MARIKO>
|
||||||
|
<COND (<AND <FSET? ,WHARF ,SCOREBIT>
|
||||||
|
<NOT <FSET? ,GLOBAL-WATER ,SCOREBIT>>>
|
||||||
|
<FSET ,GLOBAL-WATER ,SCOREBIT>
|
||||||
|
<TELL
|
||||||
|
"You make your way over to Mariko. \"Get some water -- water, by God!\" What's
|
||||||
|
the word for water? Desperately you search your mind for the Japanese
|
||||||
|
word. The old monk had told it to you a thousand times." CR>
|
||||||
|
<SCORE-OBJECT ,WHARF>)
|
||||||
|
(,OPPONENT
|
||||||
|
<TELL
|
||||||
|
"You'll have to try something more specific." CR>)
|
||||||
|
(<NOT <B-STANDING?>>
|
||||||
|
<TELL
|
||||||
|
"You try to crawl to her, but you are too fatigued." CR>)>)
|
||||||
|
(<OR <VERB? MIZU>
|
||||||
|
<AND <P? SAY INTQUOTE>
|
||||||
|
<EQUAL? ,W?MIZU
|
||||||
|
<GET-INTQUOTE 0>
|
||||||
|
<GET-INTQUOTE 1>>>
|
||||||
|
<AND <P? SAY GLOBAL-WATER>
|
||||||
|
<NOUN-USED? ,PRSO ,W?MIZU>>>
|
||||||
|
<COND (<FSET? ,GLOBAL-WATER ,SCOREBIT>
|
||||||
|
<TELL
|
||||||
|
"\""I"Mizu, mizu! Hai! Wakarimas?""\" you yell. A man nods, and begins to hurry
|
||||||
|
away. You stand protectively over Mariko." CR>
|
||||||
|
<SCORE-OBJECT ,GLOBAL-WATER>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"You continue yelling, for no apparent reason." CR>)>)
|
||||||
|
(<AND <EQUAL? ,OPPONENT ,GRAY-LEADER
|
||||||
|
,RANDOM-GRAYS ,SECOND-GRAY>
|
||||||
|
<OR <MOTION-VERB?>
|
||||||
|
<VERB? PARRY STOP>>>
|
||||||
|
<SETG DODGED? T>
|
||||||
|
<COND (<FSET? ,GRAY-LEADER ,DEAD>
|
||||||
|
<TELL
|
||||||
|
"You leap out of the way, and the blow misses." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"You try desperately to dodge out of the way, trying to avoid the leader's
|
||||||
|
attack." CR>)>)>)>>
|
||||||
|
|
||||||
<OBJECT GRAY-LEADER
|
<OBJECT GRAY-LEADER
|
||||||
(DESC "Gray Leader")
|
(DESC "Gray Leader")
|
||||||
(SYNONYM GRAY LEADER MAN SAMURAI)
|
(SYNONYM GRAY LEADER MAN SAMURAI)
|
||||||
|
@ -1809,22 +1820,6 @@ a counterattack." CR>)
|
||||||
"You toss it at " THE ,PRSI " but it misses, and he turns on you!" CR>
|
"You toss it at " THE ,PRSI " but it misses, and he turns on you!" CR>
|
||||||
<JIGS-UP>)>>
|
<JIGS-UP>)>>
|
||||||
|
|
||||||
;<ROOM WHARF-N
|
|
||||||
(LOC ROOMS)
|
|
||||||
(DESC "North Wharf")
|
|
||||||
(SYNONYM WHARF)
|
|
||||||
(ADJECTIVE NORTH)
|
|
||||||
(SOUTH TO WHARF)
|
|
||||||
(FLAGS ONBIT OUTSIDE)>
|
|
||||||
|
|
||||||
;<ROOM WHARF-S
|
|
||||||
(LOC ROOMS)
|
|
||||||
(DESC "South Wharf")
|
|
||||||
(SYNONYM WHARF)
|
|
||||||
(ADJECTIVE SOUTH)
|
|
||||||
(NORTH TO WHARF)
|
|
||||||
(FLAGS ONBIT OUTSIDE)>
|
|
||||||
|
|
||||||
<ROUTINE HATAMOTO-AFTER-F ()
|
<ROUTINE HATAMOTO-AFTER-F ()
|
||||||
<TELL
|
<TELL
|
||||||
"The galley escapes from Osaka harbor, the rowers speeding it back towards
|
"The galley escapes from Osaka harbor, the rowers speeding it back towards
|
||||||
|
@ -1837,6 +1832,6 @@ instructed to learn Japanese, and train a regiment of troops in European
|
||||||
tactics and the use of muskets.|
|
tactics and the use of muskets.|
|
||||||
|
|
|
|
||||||
But best of all, he says he will return the "I"Erasmus"" to you, but he won't
|
But best of all, he says he will return the "I"Erasmus"" to you, but he won't
|
||||||
say when.">>
|
say when." CR>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"ESCAPE">
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
Overall:
|
||||||
|
|
||||||
|
Boiling of crewman
|
||||||
|
Sea Voyage to Osaka
|
||||||
|
Blackthorne rescues Yabu
|
||||||
|
Visit to Castle
|
||||||
|
Blackthorne meets Toranaga
|
||||||
|
Blackthorne in Prison
|
||||||
|
Blackthorne to be taught Japanese
|
||||||
|
Blackthorne meets Mariko
|
||||||
|
Toranaga's Escape from Castle
|
||||||
|
Galley Escapes from Harbor
|
||||||
|
Blackthorne makes love to Mariko
|
||||||
|
Pheasant Incident
|
||||||
|
Confrontation with Buntaro
|
||||||
|
Visit to Crew in Eta Quarter
|
||||||
|
Gun Regiment
|
||||||
|
Earthquake, Blackthorne saves Toranaga
|
||||||
|
Summons to Osaka
|
||||||
|
Mariko threatens suicide
|
||||||
|
Attack on Castle by Ninja
|
||||||
|
Mariko dies
|
||||||
|
Blackthorne's ship is burned
|
||||||
|
Yabu's treachery is discovered
|
||||||
|
Toranaga defeats Ishido, becomes Shogun
|
||||||
|
|
||||||
|
Characters:
|
||||||
|
|
||||||
|
Crew of the "Erasmus";
|
||||||
|
John Blackthorne, Pilot-Major; "Anjin-san"
|
||||||
|
Hendrik Specz, third mate
|
||||||
|
Paulus Spillbergen, Captain-General
|
||||||
|
(Alban Caradoc, pilot, Blackthorne's teacher)
|
||||||
|
Maetsukker
|
||||||
|
Johann Vinck, gunner and bosun's mate
|
||||||
|
Baccus van Nekk, chief merchant
|
||||||
|
Croocq, boy
|
||||||
|
Sonk, cook
|
||||||
|
Salamon, mute
|
||||||
|
Jan Roper, merchant
|
||||||
|
Ginsel
|
||||||
|
Hans Pieterzoon, gunner
|
||||||
|
|
||||||
|
Anjiro, a fishing Village;
|
||||||
|
"Onna"
|
||||||
|
Mura, headman of Izu (secretly spy for Toranaga)
|
||||||
|
Saiko, Mura's mother
|
||||||
|
Niji, Mura's wife
|
||||||
|
Father Sebastio, a Portuguese Jesuit
|
||||||
|
Kasigi Omi, samurai in charge of Anjiro
|
||||||
|
Midori, wife of Omi
|
||||||
|
Tamazaki, a fisherman (killed by Omi)
|
||||||
|
Kasigi Yabu, Daimyo of Izu, Omi's uncle
|
||||||
|
Fujiko, Blackthorne's consort, widow of Usagi Fujiko
|
||||||
|
Gyoko, a madam
|
||||||
|
Kiku, a courtesan
|
||||||
|
|
||||||
|
Europeans;
|
||||||
|
Father Alvito, "Tsukku-san"
|
||||||
|
Ferriera, Captain-General of the Black Ship
|
||||||
|
dell'Aqua, Father-Visitor
|
||||||
|
Rodrigues, pilot
|
||||||
|
Lords;
|
||||||
|
(Lord Goroda, Dictator)
|
||||||
|
(Taiko, Shogun)
|
||||||
|
Toranaga, Lord of the Kwanto
|
||||||
|
Yaemon, the heir
|
||||||
|
Ishido, Lord of Osaka
|
||||||
|
Ikawa Jikkyu
|
||||||
|
Naga, son of Toranaga
|
||||||
|
Noboru, son on Toranaga
|
||||||
|
Lord Sudara, son of Toranaga
|
||||||
|
Ochiba, widow of the Taiko
|
||||||
|
Genjiko, Ochiba's sister, Sudara's wife.
|
||||||
|
Buntaro, husband of Mariko, son of Hiro-matsu
|
||||||
|
Hiro-matsu, Toranaga's general
|
||||||
|
Toda Mariko, wife of Buntaro, daughter of Akechi Jinsai
|
||||||
|
(Akechi Jinsai, aka Ju-san Kubo)
|
||||||
|
|
||||||
|
Settings:
|
||||||
|
|
||||||
|
The "Erasmus," a Netherlands merchant ship.
|
||||||
|
Anjiro, a fishing village in Izu.
|
||||||
|
The Pit.
|
||||||
|
Osaka Castle.
|
||||||
|
Prison.
|
||||||
|
Toranaga's keep.
|
||||||
|
Edo.
|
||||||
|
Yokohama.
|
||||||
|
One of Toranaga's Galleys.
|
||||||
|
On the road between Osaka and Yedo.
|
||||||
|
Yokose.
|
|
@ -0,0 +1,268 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("LONG-WORDS" %<>)("UNDO" T)("P-PS-ADV" %<>)(
|
||||||
|
"P-DEBUGGING-PARSER" %<>)("ONE-BYTE-PARTS-OF-SPEECH" %<>)("WORD-FLAGS-IN-TABLE"
|
||||||
|
T)("IN-ZILCH" T)("P-BE-VERB" T)) (("BUZZER-WORD?" "DEFS" #WORD *00726107774*) (
|
||||||
|
"TELL-CTHE" "DEFS" #WORD *37636524210*) ("TELL-THE" "DEFS" #WORD *10632536250*)
|
||||||
|
("SPECIAL-CONTRACTION?" "DEFS" #WORD *22117166400*) ("ROOMSBIT" "DEFS" #WORD
|
||||||
|
*25712643046*) ("PERSONBIT" "DEFS" #WORD *32442731556*) ("NARTICLEBIT" "DEFS" #
|
||||||
|
WORD *11626040112*))>
|
||||||
|
|
||||||
|
<ZZPACKAGE "PARSER">
|
||||||
|
<ENTRY PARSER PARSE-SENTENCE PARSE-IT PARSER-ERROR TLEXV P-OFLAG P-WALK-DIR
|
||||||
|
RED-SD>
|
||||||
|
<RENTRY DEBUG-PARSER>
|
||||||
|
<RENTRY ACCESSIBLE? BUZZER-WORD? DIR-VERB? FEMALE GLOBAL-OBJECTS LIT LIT? ONBIT
|
||||||
|
OPENBIT P-INBUF P-LEXV P-NUMBER P?THINGS PERFORM PERSONBIT PLAYER
|
||||||
|
PRINT-VOCAB-WORD SEARCHBIT SPECIAL-CONTRACTION? SURFACEBIT TAKEBIT TELL-CTHE
|
||||||
|
TELL-THE TITLE-ABBR? TRANSBIT TRYTAKEBIT VERBOSITY VISIBLE? WINNER>
|
||||||
|
<INCLUDE "BASEDEFS" "PBITDEFS" "PDEFS" "SYMBOLS">
|
||||||
|
<USE "PSTACK" "PMEM">
|
||||||
|
<FILE-FLAGS MDL-ZIL? CLEAN-STACK?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<COMPILATION-FLAG-DEFAULT P-APOSTROPHE-BREAKS-WORDS T>
|
||||||
|
<COMPILATION-FLAG-DEFAULT P-BE-VERB <>>
|
||||||
|
<DEFAULTS-DEFINED BE-PATIENT BEG-PARDON BUZZER-WORD? COLLECTIVE-VERB? CONTBIT
|
||||||
|
DIR-VERB? FEMALE GAME-VERB? INVISIBLE LIT? NARTICLEBIT NUMBER? ONBIT OPENBIT
|
||||||
|
P-NO-MEM-ROUTINE PERSONBIT PLAYER PLURAL QCONTEXT-CHECK READ-INPUT ROOMSBIT
|
||||||
|
SEARCHBIT SEENBIT SPECIAL-CONTRACTION? STATUS-LINE SURFACEBIT TAKEBIT TELL-CTHE
|
||||||
|
TELL-GWIM-MSG TELL-THE TITLE-ABBR? TOUCHBIT TRANSBIT TRYTAKEBIT UNKNOWN-WORD>
|
||||||
|
<COND (<NOT <GASSIGNED? DEBUG-PARSER>> <SETG DEBUG-PARSER <>>)>
|
||||||
|
<DEFAULT-DEFINITION CONTBIT T>
|
||||||
|
<DEFAULT-DEFINITION FEMALE T>
|
||||||
|
<DEFAULT-DEFINITION INVISIBLE T>
|
||||||
|
<DEFAULT-DEFINITION NARTICLEBIT T>
|
||||||
|
<DEFAULT-DEFINITION ONBIT T>
|
||||||
|
<DEFAULT-DEFINITION OPENBIT T>
|
||||||
|
<DEFAULT-DEFINITION PERSONBIT T>
|
||||||
|
<DEFAULT-DEFINITION PLAYER T>
|
||||||
|
<DEFAULT-DEFINITION PLURAL T>
|
||||||
|
<DEFAULT-DEFINITION ROOMSBIT T>
|
||||||
|
<DEFAULT-DEFINITION SEARCHBIT T>
|
||||||
|
<DEFAULT-DEFINITION SEENBIT T>
|
||||||
|
<DEFAULT-DEFINITION SURFACEBIT T>
|
||||||
|
<DEFAULT-DEFINITION TAKEBIT T>
|
||||||
|
<DEFAULT-DEFINITION TOUCHBIT T>
|
||||||
|
<DEFAULT-DEFINITION TRANSBIT T>
|
||||||
|
<DEFAULT-DEFINITION TRYTAKEBIT T>
|
||||||
|
<DEFMAC IF-SHORT ('EXPR1 "OPT" 'EXPR2) <COND (<L=? ,NUMBER-WORD-CLASSES 15> <
|
||||||
|
COND (<AND .EXPR1 <N==? .EXPR1 '<>>> .EXPR1)>) (<ASSIGNED? EXPR2> .EXPR2)>>
|
||||||
|
<CONSTANT STATE-STACK <ALLOCATE-PSTACK>>
|
||||||
|
<CONSTANT SPLIT-STACK <ALLOCATE-PSTACK>>
|
||||||
|
<CONSTANT DATA-STACK <ALLOCATE-PSTACK>>
|
||||||
|
<CONSTANT LEXV-LENGTH 59>
|
||||||
|
<CONSTANT LEXV-LENGTH-BYTES <+ 2 <* 4 ,LEXV-LENGTH>>>
|
||||||
|
<CONSTANT P-LEXV <ITABLE ,LEXV-LENGTH (LEXV) 0 #BYTE *00000000000* #BYTE
|
||||||
|
*00000000000*>>
|
||||||
|
<CONSTANT G-LEXV <ITABLE ,LEXV-LENGTH (LEXV) 0 #BYTE *00000000000* #BYTE
|
||||||
|
*00000000000*>>
|
||||||
|
<CONSTANT O-LEXV <ITABLE ,LEXV-LENGTH (LEXV) 0 #BYTE *00000000000* #BYTE
|
||||||
|
*00000000000*>>
|
||||||
|
<CONSTANT INBUF-LENGTH <+ 1 ,LEXV-LENGTH>>
|
||||||
|
<CONSTANT P-INBUF <ITABLE ,INBUF-LENGTH (BYTE LENGTH) 0>>
|
||||||
|
<CONSTANT G-INBUF <ITABLE ,INBUF-LENGTH (BYTE LENGTH) 0>>
|
||||||
|
<CONSTANT O-INBUF <ITABLE ,INBUF-LENGTH (BYTE LENGTH) 0>>
|
||||||
|
<CONSTANT P-LEXWORDS 1>
|
||||||
|
<CONSTANT P-LEXSTART 1>
|
||||||
|
<CONSTANT P-LEXELEN 2>
|
||||||
|
<CONSTANT OOPS-TABLE <TABLE <> <> <> <> <>>>
|
||||||
|
<CONSTANT O-START 0>
|
||||||
|
<CONSTANT O-LENGTH 1>
|
||||||
|
<CONSTANT O-END 2>
|
||||||
|
<CONSTANT O-PTR 3>
|
||||||
|
<CONSTANT O-AGAIN 4>
|
||||||
|
<GLOBAL WINNER:OBJECT PLAYER>
|
||||||
|
<GLOBAL P-OFLAG:NUMBER 0>
|
||||||
|
<GLOBAL P-NUMBER:NUMBER 0>
|
||||||
|
<GLOBAL CURRENT-REDUCTION <>>
|
||||||
|
<GLOBAL PARSER-RESULT <>>
|
||||||
|
<GLOBAL P-WALK-DIR <>>
|
||||||
|
<GLOBAL TLEXV 0>
|
||||||
|
<GLOBAL OTLEXV 0>
|
||||||
|
<CONSTANT ERROR-ARGS:TABLE <ITABLE 4 <>>>
|
||||||
|
<GLOBAL ERROR-STRING:STRING <>>
|
||||||
|
<GLOBAL ERROR-PRIORITY:NUMBER 0>
|
||||||
|
<ADD-WORD "AGAIN" MISCWORD>
|
||||||
|
<ADD-WORD "G" MISCWORD>
|
||||||
|
<ADD-WORD "OOPS" MISCWORD>
|
||||||
|
<ADD-WORD "O" MISCWORD>
|
||||||
|
<GLOBAL P-LEN:NUMBER 0>
|
||||||
|
<DEFAULT-DEFINITION STATUS-LINE <DEFINE INIT-STATUS-LINE () <SPLIT 1> <SCREEN ,
|
||||||
|
S-WINDOW> <CURSET 1 1> <HLIGHT ,H-INVERSE> <ERASE 1> <HLIGHT ,H-NORMAL> <SCREEN
|
||||||
|
,S-TEXT> <RTRUE>> <GLOBAL OLD-HERE:OBJECT <>> <DEFINE UPDATE-STATUS-LINE () <
|
||||||
|
SCREEN ,S-WINDOW> <HLIGHT ,H-INVERSE> <COND (<NOT <EQUAL? ,HERE ,OLD-HERE>> <
|
||||||
|
SETG OLD-HERE ,HERE> <CURSET 1 1> <ERASE 1> <CURSET 1 1> <TELL D ,HERE>)> <
|
||||||
|
CURSET 1 <- <LOWCORE SCRH> <+ <DIGITS ,SCORE> <DIGITS ,MOVES>>>> <TELL N ,SCORE
|
||||||
|
C !\/ N ,MOVES> <HLIGHT ,H-NORMAL> <SCREEN ,S-TEXT> <RTRUE>> <DEFINE DIGITS (N
|
||||||
|
"AUX" (D 1)) <COND (<L? .N 0> <SET D <+ 1 .D>> <SET N <- 0 .N>>)> <REPEAT () <
|
||||||
|
SET N </ .N 10>> <COND (<0? .N> <RETURN>) (T <SET D <+ 1 .D>>)>> .D>>
|
||||||
|
<DEFAULT-DEFINITION READ-INPUT <GLOBAL DEMO-VERSION? <>> <DEFINE READ-INPUT ()
|
||||||
|
<TELL ">"> <COND (T <PUTB ,P-INBUF 1 0>)> <COND (,DEMO-VERSION? <READ-DEMO ,
|
||||||
|
P-INBUF ,P-LEXV>) (T <ZREAD ,P-INBUF ,P-LEXV>)> <COND (T <SCRIPT-INBUF>)>> <
|
||||||
|
DEFINE SCRIPT-INBUF ("AUX" BUF (CNT 0) (N <GETB ,P-INBUF 1>) CHR) <DIROUT ,
|
||||||
|
D-SCREEN-OFF> <SET BUF <REST ,P-INBUF>> <REPEAT () <COND (<IGRTR? CNT .N> <
|
||||||
|
RETURN>) (ELSE <SET CHR <GETB .BUF .CNT>> <COND (<AND <G=? .CHR !\a> <L=? .CHR
|
||||||
|
!\z>> <PRINTC <- .CHR 32>>) (ELSE <PRINTC .CHR>)>)>> <CRLF> <DIROUT ,
|
||||||
|
D-SCREEN-ON>>>
|
||||||
|
<CONSTANT P-QB-WORDS-1 <PLTABLE <VOC "ARE"> <VOC "CAN"> <VOC "COULD"> <VOC "DO"
|
||||||
|
> <VOC "DOES"> <VOC "DID"> <VOC "HE"> <VOC "I"> <VOC "IS"> <VOC "IT"> <VOC
|
||||||
|
"SHE"> <VOC "SHOULD"> <VOC "THAT"> <VOC "THEY"> <VOC "WAS"> <VOC "WE"> <VOC
|
||||||
|
"WERE"> <VOC "WILL"> <VOC "WOULD"> <VOC "YOU">>>
|
||||||
|
<CONSTANT P-QB-WORDS-2 <PLTABLE <VOC "NOT"> <VOC "NOT"> <VOC "NOT"> <VOC "NOT">
|
||||||
|
<VOC "NOT"> <VOC "NOT"> <VOC "IS"> <VOC "AM"> <VOC "NOT"> <VOC "IS"> <VOC "IS">
|
||||||
|
<VOC "NOT"> <VOC "IS"> <VOC "ARE"> <VOC "NOT"> <VOC "ARE"> <VOC "NOT"> <VOC
|
||||||
|
"NOT"> <VOC "NOT"> <VOC "ARE">>>
|
||||||
|
<CONSTANT P-QA-WORDS1 <PLTABLE <VOC "AREN"> <VOC "CAN"> <VOC "COULDN"> <VOC
|
||||||
|
"DON"> <VOC "DOESN"> <VOC "DIDN"> <VOC "HE"> <VOC "I"> <VOC "ISN"> <VOC "IT"> <
|
||||||
|
VOC "SHE"> <VOC "SHOULDN"> <VOC "THAT"> <VOC "THEY"> <VOC "WASN"> <VOC "WE"> <
|
||||||
|
VOC "WEREN"> <VOC "WON"> <VOC "WOULDN"> <VOC "YOU">>>
|
||||||
|
<CONSTANT P-QA-WORDS2 <PLTABLE <VOC "T"> <VOC "T"> <VOC "T"> <VOC "T"> <VOC "T"
|
||||||
|
> <VOC "T"> <VOC "S"> <VOC "M"> <VOC "T"> <VOC "S"> <VOC "S"> <VOC "T"> <VOC
|
||||||
|
"S"> <VOC "RE"> <VOC "T"> <VOC "RE"> <VOC "T"> <VOC "T"> <VOC "T"> <VOC "RE">>>
|
||||||
|
|
||||||
|
<DEFAULT-DEFINITION SPECIAL-CONTRACTION? <DEFINE SPECIAL-CONTRACTION? (PTR) <>>
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE EXPAND-BE-CONTRACTIONS>
|
||||||
|
<DEFAULT-DEFINITION TELL-THE <DEFINE TELL-THE (OBJ "AUX" TMP) <COND (<EQUAL? .
|
||||||
|
OBJ ,PLAYER> <TELL "you">) (T <COND (<SET TMP <GET-OWNER .OBJ>> <COND (<EQUAL?
|
||||||
|
.TMP ,PLAYER> <TELL "your ">) (<NOT <EQUAL? .TMP .OBJ>> <TELL-THE .TMP> <TELL
|
||||||
|
"'s ">)>) (<NOT <FSET? .OBJ ,NARTICLEBIT>> <TELL "the ">)> <TELL D .OBJ>)>>>
|
||||||
|
<DEFAULT-DEFINITION TELL-CTHE <DEFINE TELL-CTHE (OBJ "AUX" TMP) <COND (<EQUAL?
|
||||||
|
.OBJ ,PLAYER> <TELL "You">) (T <COND (<SET TMP <GET-OWNER .OBJ>> <COND (<EQUAL?
|
||||||
|
.TMP ,PLAYER> <TELL "Your ">) (<NOT <EQUAL? .TMP .OBJ>> <TELL-CTHE .TMP> <TELL
|
||||||
|
"'s ">)>) (<NOT <FSET? .OBJ ,NARTICLEBIT>> <TELL "The ">)> <TELL D .OBJ>)>>>
|
||||||
|
<COMPILATION-FLAG-DEFAULT P-ZORK0 <>>
|
||||||
|
<COMPILATION-FLAG-DEFAULT P-PS-ADV T>
|
||||||
|
<GLOBAL P-DIRECTION:NUMBER 0>
|
||||||
|
<COMPILATION-FLAG-DEFAULT P-TITLE-ABBRS <>>
|
||||||
|
<DEFAULT-DEFINITION TITLE-ABBR? <DEFMAC TITLE-ABBR? ('WRD) <FORM EQUAL? .WRD ,
|
||||||
|
W?MR ,W?MRS ,W?MS>>>
|
||||||
|
<DEFINE-ROUTINE NAKED-DIR?>
|
||||||
|
<DEFINE-ROUTINE PARSER>
|
||||||
|
<DEFAULT-DEFINITION GAME-VERB? <CONSTANT GAME-VERB-TABLE <LTABLE V?BRIEF V?QUIT
|
||||||
|
V?RESTART V?RESTORE V?SAVE V?SCORE V?SCRIPT V?SUPER-BRIEF V?TELL V?UNSCRIPT
|
||||||
|
V?VERBOSE V?VERSION V?$VERIFY>> <DEFINE GAME-VERB? () <COND (<INTBL? ,PRSA <
|
||||||
|
ZREST ,GAME-VERB-TABLE 2> <ZGET ,GAME-VERB-TABLE 0>> <RTRUE>)> <COND (<VERB?
|
||||||
|
$RANDOM $COMMAND $RECORD $UNRECORD> <RTRUE>)>>>
|
||||||
|
<DEFINE-ROUTINE RED-SD>
|
||||||
|
<GDECL (SPLITS) FIX>
|
||||||
|
<CONSTANT PARSE-RESULT <MAKE-PARSE-RESULT>>
|
||||||
|
<GLOBAL P-WORD-NUMBER:NUMBER 0>
|
||||||
|
<GLOBAL P-WORDS-AGAIN:NUMBER 0>
|
||||||
|
<GLOBAL P-OLEN:NUMBER 0>
|
||||||
|
<DEFINE-ROUTINE PARSE-IT>
|
||||||
|
<GLOBAL P-RUNNING:TABLE <>>
|
||||||
|
<GLOBAL PARSE-SENTENCE-ACTIVATION <>>
|
||||||
|
<DEFINE-ROUTINE PARSE-SENTENCE>
|
||||||
|
<DEFINE-ROUTINE GET-TERMINAL-ACTION>
|
||||||
|
<DEFINE-ROUTINE GET-NONTERMINAL-ACTION>
|
||||||
|
<GLOBAL P-RESPONDED:NUMBER 0>
|
||||||
|
<DEFAULT-DEFINITION BE-PATIENT <ROUTINE BE-PATIENT>>
|
||||||
|
<DEFINE-ROUTINE MAIN-LOOP>
|
||||||
|
<DEFAULT-DEFINITION COLLECTIVE-VERB? <DEFMAC COLLECTIVE-VERB? () '<VERB? COUNT>
|
||||||
|
>>
|
||||||
|
<DEFAULT-DEFINITION DIR-VERB? <DEFMAC DIR-VERB? () '<VERB? WALK>>>
|
||||||
|
<DEFINE-ROUTINE MAIN-LOOP-1>
|
||||||
|
<DEFINE-ROUTINE PERF-MANY>
|
||||||
|
<DEFINE-ROUTINE TEST-ADJACENT>
|
||||||
|
<DEFAULT-DEFINITION QCONTEXT-CHECK <ROUTINE QCONTEXT-CHECK>>
|
||||||
|
<GLOBAL LIT:OBJECT <>>
|
||||||
|
<DEFAULT-DEFINITION LIT? <ROUTINE LIT?>>
|
||||||
|
<DEFINE-ROUTINE IGNORE-FIRST-WORD>
|
||||||
|
<DEFINE-ROUTINE FIX-QUOTATIONS>
|
||||||
|
<DEFINE-ROUTINE MAIN-LOOP-IT>
|
||||||
|
<DEFAULT-DEFINITION P-NO-MEM-ROUTINE <ROUTINE P-NO-MEM-ROUTINE>>
|
||||||
|
<DEFAULT-DEFINITION BEG-PARDON <ROUTINE BEG-PARDON>>
|
||||||
|
<DEFAULT-DEFINITION UNKNOWN-WORD <ROUTINE UNKNOWN-WORD>>
|
||||||
|
<DEFINE-ROUTINE WORD-PRINT>
|
||||||
|
<DEFMAC PRINT-VOCAB-WORD ('WD) <FORM PRINTB .WD>>
|
||||||
|
<DEFINE-ROUTINE DO-OOPS>
|
||||||
|
<DEFINE-ROUTINE DO-AGAIN>
|
||||||
|
<DEFINE-ROUTINE NP-SAVE>
|
||||||
|
<DEFINE-ROUTINE PARSER-ERROR>
|
||||||
|
<DEFAULT-DEFINITION BUZZER-WORD? <IFN-P-BE-VERB <CONSTANT P-W-WORDS <PLTABLE <
|
||||||
|
VOC "WHAT"> <IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHAT'S">> <VOC "WHEN"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHEN'S">> <VOC "WHERE"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHERE'S">> <VOC "WHO"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHO'S">> <VOC "WHY"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHY'S">> <VOC "HOW"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "HOW'S">> <VOC "WOULD"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WOULDN'T">> <VOC "COULD"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "COULDN'T">> <VOC "SHOULD"> <
|
||||||
|
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "SHOULDN'T">>>>> <IFN-P-BE-VERB <IFFLAG (
|
||||||
|
P-APOSTROPHE-BREAKS-WORDS <CONSTANT P-Q-WORDS1 <PLTABLE <IFN-P-BE-VERB <VOC
|
||||||
|
"AREN">> <IFN-P-BE-VERB <VOC "CAN">> <IFN-P-BE-VERB <VOC "COULDN">> <
|
||||||
|
IFN-P-BE-VERB <VOC "DIDN">> <IFN-P-BE-VERB <VOC "DOESN">> <IFN-P-BE-VERB <VOC
|
||||||
|
"DON">> <VOC "HASN"> <VOC "HAVEN"> <IFN-P-BE-VERB <VOC "HE">> <VOC "I"> <VOC
|
||||||
|
"I"> <IFN-P-BE-VERB <VOC "I">> <VOC "I"> <IFN-P-BE-VERB <VOC "ISN">> <
|
||||||
|
IFN-P-BE-VERB <VOC "IT">> <VOC "LET"> <IFN-P-BE-VERB <VOC "SHE">> <
|
||||||
|
IFN-P-BE-VERB <VOC "SHOULDN">> <IFN-P-BE-VERB <VOC "THAT">> <IFN-P-BE-VERB <VOC
|
||||||
|
"THEY">> <IFN-P-BE-VERB <VOC "WASN">> <IFN-P-BE-VERB <VOC "WE">> <VOC "WE"> <
|
||||||
|
IFN-P-BE-VERB <VOC "WEREN">> <IFN-P-BE-VERB <VOC "WON">> <IFN-P-BE-VERB <VOC
|
||||||
|
"WOULDN">> <IFN-P-BE-VERB <VOC "YOU">>>> <CONSTANT P-Q-WORDS2 <PLTABLE <
|
||||||
|
IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <
|
||||||
|
IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <
|
||||||
|
VOC "T"> <VOC "T"> <IFN-P-BE-VERB <VOC "S">> <VOC "D"> <VOC "LL"> <
|
||||||
|
IFN-P-BE-VERB <VOC "M">> <VOC "VE"> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <
|
||||||
|
VOC "S">> <VOC "S"> <IFN-P-BE-VERB <VOC "S">> <IFN-P-BE-VERB <VOC "T">> <
|
||||||
|
IFN-P-BE-VERB <VOC "S">> <IFN-P-BE-VERB <VOC "RE">> <IFN-P-BE-VERB <VOC "T">> <
|
||||||
|
IFN-P-BE-VERB <VOC "RE">> <VOC "LL"> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <
|
||||||
|
VOC "T">> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "RE">>>>) (T <CONSTANT
|
||||||
|
P-Q-WORDS1 <PLTABLE <IFN-P-BE-VERB <VOC "AREN'T">> <IFN-P-BE-VERB <VOC "CAN'T">
|
||||||
|
> <IFN-P-BE-VERB <VOC "COULDN'T">> <IFN-P-BE-VERB <VOC "DIDN'T">> <
|
||||||
|
IFN-P-BE-VERB <VOC "DOESN'T">> <IFN-P-BE-VERB <VOC "DON'T">> <VOC "HASN'T"> <
|
||||||
|
VOC "HAVEN'T"> <IFN-P-BE-VERB <VOC "HE'S">> <VOC "I'D"> <VOC "I'LL"> <
|
||||||
|
IFN-P-BE-VERB <VOC "I'M">> <VOC "I'VE"> <IFN-P-BE-VERB <VOC "ISN'T">> <
|
||||||
|
IFN-P-BE-VERB <VOC "IT'S">> <VOC "LET'S"> <IFN-P-BE-VERB <VOC "SHE'S">> <
|
||||||
|
IFN-P-BE-VERB <VOC "SHOULDN'T">> <IFN-P-BE-VERB <VOC "THAT'S">> <IFN-P-BE-VERB
|
||||||
|
<VOC "THEY'RE">> <IFN-P-BE-VERB <VOC "WASN'T">> <IFN-P-BE-VERB <VOC "WE'RE">> <
|
||||||
|
VOC "WE'LL"> <IFN-P-BE-VERB <VOC "WEREN'T">> <IFN-P-BE-VERB <VOC "WON'T">> <
|
||||||
|
IFN-P-BE-VERB <VOC "WOULDN'T">> <IFN-P-BE-VERB <VOC "YOU'RE">>>>)> <CONSTANT
|
||||||
|
P-Q-WORDS <PLTABLE <IFN-P-BE-VERB <VOC "AM">> <IFN-P-BE-VERB <VOC "ARE">> <
|
||||||
|
IFN-P-BE-VERB <VOC "CAN">> <IFN-P-BE-VERB <VOC "COULD">> <IFN-P-BE-VERB <VOC
|
||||||
|
"DID">> <IFN-P-BE-VERB <VOC "DO">> <VOC "HAS"> <VOC "HAVE"> <IFN-P-BE-VERB <VOC
|
||||||
|
"IS">> <VOC "LIKE"> <IFN-P-BE-VERB <VOC "SHOULD">> <VOC "WANT"> <IFN-P-BE-VERB
|
||||||
|
<VOC "WAS">> <IFN-P-BE-VERB <VOC "WERE">> <IFN-P-BE-VERB <VOC "WILL">> <
|
||||||
|
IFN-P-BE-VERB <VOC "WOULD">>>>> <CONSTANT P-N-WORDS <PLTABLE <VOC "ZERO"> <VOC
|
||||||
|
"TEN"> <VOC "ELEVEN"> <VOC "TWELVE"> <VOC "THIRTEEN"> <VOC "FOURTEEN"> <VOC
|
||||||
|
"FIFTEEN"> <VOC "SIXTEEN"> <VOC "SEVENTEEN"> <VOC "EIGHTEEN"> <VOC "NINETEEN">
|
||||||
|
<VOC "TWENTY"> <VOC "THIRTY"> <VOC "FORTY"> <VOC "FIFTY"> <VOC "SIXTY"> <VOC
|
||||||
|
"SEVENTY"> <VOC "EIGHTY"> <VOC "NINETY"> <VOC "HUNDRED"> <VOC "THOUSAND"> <VOC
|
||||||
|
"MILLION"> <VOC "BILLION">>> <CONSTANT P-C-WORDS <PLTABLE <VOC "ASS"> <VOC
|
||||||
|
"ASSHOLE"> <VOC "BASTARD"> <VOC "BITCH"> <VOC "COCK"> <VOC "COCKSUCKER"> <VOC
|
||||||
|
"CRAP"> <VOC "CUNT"> <VOC "CUSS"> <VOC "DAMN"> <VOC "DAMNED"> <VOC "FUCK"> <VOC
|
||||||
|
"FUCKED"> <VOC "FUCKER"> <VOC "FUCKING"> <VOC "GODDAMN"> <VOC "GODDAMNED"> <VOC
|
||||||
|
"HELL"> <VOC "PISS"> <VOC "SCREW"> <VOC "SHIT"> <VOC "SHITHEAD"> <VOC "SUCKS">>
|
||||||
|
> <DEFINE BUZZER-WORD? (WD PTR "AUX" N) <IFN-P-BE-VERB <SETG P-ERRS <+ 3 ,
|
||||||
|
P-ERRS>> <COND (<EQUAL? .WD ,W?\(SOMETHI ,W?SOMETHING> <TELL
|
||||||
|
"[Type a real word instead of" ,P-SOMETHING> <RTRUE>) (<INTBL? .WD <ZREST ,
|
||||||
|
P-W-WORDS 2> <ZGET ,P-W-WORDS 0>> <W-WORD-REPLY .WD> <RTRUE>) (<OR <INTBL? .WD
|
||||||
|
<ZREST ,P-Q-WORDS 2> <ZGET ,P-Q-WORDS 0>> <IFFLAG (P-APOSTROPHE-BREAKS-WORDS <
|
||||||
|
AND <SET N <INTBL? .WD <ZREST ,P-Q-WORDS1 2> <ZGET ,P-Q-WORDS1 0>>> <EQUAL? <
|
||||||
|
ZGET .PTR ,P-LEXELEN> ,W?APOSTROPHE> <EQUAL? <ZGET ,P-Q-WORDS2 <- .N ,
|
||||||
|
P-Q-WORDS1>> <ZGET .PTR <* 2 ,P-LEXELEN>>>>) (T <INTBL? .WD <ZREST ,P-Q-WORDS1
|
||||||
|
2> <ZGET ,P-Q-WORDS1 0>>)>> <TELL-PLEASE-USE-COMMANDS> <RTRUE>)>> <COND (<
|
||||||
|
INTBL? .WD <ZREST ,P-N-WORDS 2> <ZGET ,P-N-WORDS 0>> <TELL
|
||||||
|
"[Use numerals for numbers, for example \"10.\"]" CR> <RTRUE>) (<INTBL? .WD <
|
||||||
|
ZREST ,P-C-WORDS 2> <ZGET ,P-C-WORDS 0>> <TELL !\[ <PICK-ONE ,OFFENDED> "]" CR>
|
||||||
|
<RTRUE>) (T <RFALSE>)>> <CONSTANT OFFENDED <LTABLE 0 "What charming language!"
|
||||||
|
"Computers aren't impressed by naughty words!"
|
||||||
|
"You ought to be ashamed of yourself!"
|
||||||
|
"Hey, save that talk for the locker room!" "Step outside and say that!"
|
||||||
|
"And so's your old man!">> <IFN-P-BE-VERB <DEFINE W-WORD-REPLY (WD) <COND (<OR
|
||||||
|
<NOT <EQUAL? .WD ,W?WHAT ,W?WHO>> <NOT <EQUAL? ,WINNER ,PLAYER>>> <COND (<
|
||||||
|
EQUAL? .WD ,W?WHERE> <TO-DO-X-USE-Y "locate" "FIND"> <RTRUE>) (T <TO-DO-X-USE-Y
|
||||||
|
"ask about" "TELL ME ABOUT"> <RTRUE>)>) (T <TELL "[Maybe you could "> <COND (<
|
||||||
|
FSET? ,LIBRARY ,TOUCHBIT> <TELL "look that up in the">) (T <TELL "find an">)> <
|
||||||
|
TELL " encyclopedia.]" CR>)>> <DEFINE TO-DO-X-USE-Y (STR1 STR2) <TELL "[To " .
|
||||||
|
STR1 " something, use the command: " .STR2 ,P-SOMETHING> <RTRUE>> <CONSTANT
|
||||||
|
P-SOMETHING " (something).]|"> <VOC "(SOMETHI"> <VOC "SOMETHING"> <DEFINE
|
||||||
|
TELL-PLEASE-USE-COMMANDS ("AUX" (THRESH <COND (<FSET? ,GREAT-HALL ,TOUCHBIT> 10
|
||||||
|
) (T 2)>)) <TELL "["> <COND (<L? ,P-ERRS .THRESH> <PRINT "Please use commands">
|
||||||
|
<TELL ", not statements or questions"> <PRINTR ".]">) (T <TELL-SAMPLE-COMMANDS>
|
||||||
|
)>>>>
|
||||||
|
<DEFAULT-DEFINITION NUMBER? <ADD-WORD "INT.NUM" ADJ> <ADD-WORD "INT.NUM" NOUN>
|
||||||
|
<ADD-WORD "INT.TIM" ADJ> <ADD-WORD "INT.TIM" NOUN> <ROUTINE NUMBER?>>
|
||||||
|
<DEFINE-ROUTINE CHANGE-LEXV>
|
||||||
|
<CONSTANT GWIM-MSG <TABLE 0 0 0 0>>
|
||||||
|
<DEFAULT-DEFINITION TELL-GWIM-MSG <ROUTINE TELL-GWIM-MSG>>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<ENDPACKAGE>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<CONSTANT P-TITLE 1>
|
||||||
|
<CONSTANT YX-TBL <TABLE 0 0>>
|
||||||
|
<DEFINE-ROUTINE YCEILING>
|
||||||
|
<DEFINE-ROUTINE XCEILING>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT STARTUP>
|
||||||
|
<DEFINE-ROUTINE TITLE-SCREEN>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<GLOBAL CURRENT-BORDER 0>
|
||||||
|
<DEFINE-ROUTINE DISPLAY-BORDER>
|
||||||
|
<DEFINE-ROUTINE CENTER-PIC-X>
|
||||||
|
<DEFINE-ROUTINE CENTER-PIC>
|
||||||
|
<GLOBAL TEXT-MARGIN 2>
|
||||||
|
<DEFINE-ROUTINE FLUSH-OLD-PICTURE>
|
||||||
|
<DEFINE-ROUTINE N-CRLF>
|
||||||
|
<DEFINE-ROUTINE MARGINAL-PIC>
|
||||||
|
<DEFINE-ROUTINE SET-MARGIN>
|
||||||
|
<GLOBAL PIC-SIDE <>>
|
||||||
|
<GLOBAL NEXT-PIC-WIDTH 0>
|
||||||
|
<GLOBAL NEXT-PIC-CRCNT 0>
|
||||||
|
<DEFINE-ROUTINE NEXT-MARGIN>
|
||||||
|
<DEFINE-ROUTINE RESET-MARGIN-1>
|
||||||
|
<BEGIN-SEGMENT HINTS>
|
||||||
|
<DEFINE-ROUTINE RESET-MARGIN>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<DEFINE-ROUTINE MAKE-ROOM-FOR>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,337 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT YCEILING:ANY:1:1,Y
|
||||||
|
ADD Y,FONT-Y
|
||||||
|
ADD STACK,-1 >Y
|
||||||
|
MOD Y,FONT-Y
|
||||||
|
SUB Y,STACK
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT XCEILING:ANY:1:1,X
|
||||||
|
ADD X,FONT-X
|
||||||
|
ADD STACK,-1 >X
|
||||||
|
MOD X,FONT-X
|
||||||
|
SUB X,STACK
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "STARTUP"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TITLE-SCREEN:ANY:0:0
|
||||||
|
CLEAR S-FULL
|
||||||
|
PICINF P-TITLE,YX-TBL \?CND1
|
||||||
|
ICALL1 CURSOR-OFF
|
||||||
|
SCREEN S-FULL
|
||||||
|
DISPLAY P-TITLE,1,1
|
||||||
|
WINGET S-TEXT,WHIGH
|
||||||
|
CURSET STACK,1
|
||||||
|
ZERO? DEMO-VERSION? /?CCL5
|
||||||
|
ICALL2 INPUT-DEMO,1
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL5: INPUT 1
|
||||||
|
?CND3: CLEAR S-FULL
|
||||||
|
ICALL1 CURSOR-ON
|
||||||
|
?CND1: EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS /?CCL8
|
||||||
|
ICALL2 DISPLAY-BORDER,P-BORDER
|
||||||
|
JUMP ?CND6
|
||||||
|
?CCL8: DISPLAY P-BORDER,1,1
|
||||||
|
WINGET S-FULL,WHIGH
|
||||||
|
SUB STACK,BORDER-HEIGHT
|
||||||
|
ADD 1,STACK
|
||||||
|
DISPLAY P-BORDER,STACK,1
|
||||||
|
?CND6: CALL2 V-VERSION,TRUE-VALUE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DISPLAY-BORDER:ANY:0:2,B,CH?,Y,?TMP1
|
||||||
|
ASSIGNED? 'B /?CND1
|
||||||
|
SET 'B,CURRENT-BORDER
|
||||||
|
?CND1: ASSIGNED? 'CH? /?CND3
|
||||||
|
SET 'CH?,TRUE-VALUE
|
||||||
|
?CND3: EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CCL7
|
||||||
|
SCREEN S-BORDER
|
||||||
|
JUMP ?CND5
|
||||||
|
?CCL7: PICINF B,YX-TBL \?CND5
|
||||||
|
SCREEN S-FULL
|
||||||
|
?CND5: DISPLAY B,1,1
|
||||||
|
ZERO? CH? /?CND9
|
||||||
|
SET 'CURRENT-BORDER,B
|
||||||
|
?CND9: EQUAL? MACHINE,IBM \?CND11
|
||||||
|
SET 'Y,1
|
||||||
|
EQUAL? B,P-HINT-BORDER \?CND13
|
||||||
|
GET YX-TBL,0 >Y
|
||||||
|
PICINF P-HINT-BORDER-L,YX-TBL \?CND13
|
||||||
|
ADD 1,Y
|
||||||
|
DISPLAY P-HINT-BORDER-L,STACK,1
|
||||||
|
?CND13: EQUAL? B,P-BORDER \?CCL19
|
||||||
|
SET 'B,P-BORDER-R
|
||||||
|
JUMP ?CND17
|
||||||
|
?CCL19: EQUAL? B,P-BORDER2 \?CCL21
|
||||||
|
SET 'B,P-BORDER2-R
|
||||||
|
JUMP ?CND17
|
||||||
|
?CCL21: EQUAL? B,P-HINT-BORDER \?CND17
|
||||||
|
SET 'B,P-HINT-BORDER-R
|
||||||
|
?CND17: PICINF B,YX-TBL \?CND11
|
||||||
|
WINGET S-FULL,WWIDE >?TMP1
|
||||||
|
GET YX-TBL,1
|
||||||
|
SUB ?TMP1,STACK
|
||||||
|
ADD 1,STACK
|
||||||
|
DISPLAY B,Y,STACK
|
||||||
|
?CND11: SCREEN S-TEXT
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CENTER-PIC-X:ANY:1:1,P,X,Y,?TMP1
|
||||||
|
PICINF P,YX-TBL \FALSE
|
||||||
|
ICALL1 FLUSH-OLD-PICTURE
|
||||||
|
GET YX-TBL,0
|
||||||
|
CALL2 YCEILING,STACK >Y
|
||||||
|
ICALL2 MAKE-ROOM-FOR,Y
|
||||||
|
WINGET -3,WWIDE >?TMP1
|
||||||
|
GET YX-TBL,1
|
||||||
|
SUB ?TMP1,STACK >X
|
||||||
|
GRTR? X,1 \?CCL6
|
||||||
|
DIV X,2 >X
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: SET 'X,1
|
||||||
|
?CND4: DISPLAY P,0,X
|
||||||
|
DIV Y,FONT-Y
|
||||||
|
ICALL2 N-CRLF,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT CENTER-PIC:ANY:1:1,P,X,Y,?TMP1
|
||||||
|
PICINF P,YX-TBL \FALSE
|
||||||
|
WINGET -3,WHIGH >?TMP1
|
||||||
|
GET YX-TBL,0
|
||||||
|
SUB ?TMP1,STACK >Y
|
||||||
|
WINGET -3,WWIDE >?TMP1
|
||||||
|
GET YX-TBL,1
|
||||||
|
SUB ?TMP1,STACK >X
|
||||||
|
GRTR? Y,1 \?CCL6
|
||||||
|
DIV Y,2 >Y
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: SET 'Y,1
|
||||||
|
?CND4: GRTR? X,1 \?CCL9
|
||||||
|
DIV X,2 >X
|
||||||
|
JUMP ?CND7
|
||||||
|
?CCL9: SET 'X,1
|
||||||
|
?CND7: DISPLAY P,Y,X
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT FLUSH-OLD-PICTURE:ANY:0:0,Y
|
||||||
|
WINGET S-TEXT,WCRCNT >Y
|
||||||
|
ZERO? Y /FALSE
|
||||||
|
ICALL2 N-CRLF,Y
|
||||||
|
CALL1 RESET-MARGIN
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT N-CRLF:ANY:1:1,Y,CNT
|
||||||
|
WINATTR -3,A-SCRIPT,O-CLEAR
|
||||||
|
?PRG1: IGRTR? 'CNT,Y \?CND3
|
||||||
|
WINATTR -3,A-SCRIPT,O-SET
|
||||||
|
RTRUE
|
||||||
|
?CND3: CRLF
|
||||||
|
JUMP ?PRG1
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MARGINAL-PIC:ANY:1:4,P,RIGHT?,C,CTOP?,TMP,X,Y,YLEFT,HIGH,WIDE,CENTER?,BORD?
|
||||||
|
ASSIGNED? 'RIGHT? /?CND1
|
||||||
|
SET 'RIGHT?,TRUE-VALUE
|
||||||
|
?CND1: PICINF P,YX-TBL \FALSE
|
||||||
|
WINGET S-TEXT,WHIGH >HIGH
|
||||||
|
WINGET S-TEXT,WWIDE >WIDE
|
||||||
|
ICALL1 FLUSH-OLD-PICTURE
|
||||||
|
GET YX-TBL,0
|
||||||
|
CALL2 YCEILING,STACK >Y
|
||||||
|
EQUAL? MACHINE,APPLE-2E,APPLE-2C,APPLE-2GS \?CND6
|
||||||
|
GRTR? Y,HIGH \?CND6
|
||||||
|
SET 'BORD?,TRUE-VALUE
|
||||||
|
SUB Y,BORDER-HEIGHT >Y
|
||||||
|
?CND6: GET YX-TBL,1 >X
|
||||||
|
ZERO? C /?CCL12
|
||||||
|
PICINF C,YX-TBL \?CCL12
|
||||||
|
GET YX-TBL,0 >NEXT-PIC-CRCNT
|
||||||
|
GET YX-TBL,1 >NEXT-PIC-WIDTH
|
||||||
|
JUMP ?CND10
|
||||||
|
?CCL12: SET 'C,0
|
||||||
|
SET 'NEXT-PIC-CRCNT,0
|
||||||
|
SET 'NEXT-PIC-WIDTH,0
|
||||||
|
?CND10: CALL2 MAKE-ROOM-FOR,Y >YLEFT
|
||||||
|
MUL FONT-X,10
|
||||||
|
ADD X,STACK
|
||||||
|
LESS? STACK,WIDE /?CND15
|
||||||
|
SET 'CENTER?,TRUE-VALUE
|
||||||
|
?CND15: ZERO? BORD? /?CND17
|
||||||
|
SCREEN S-BORDER
|
||||||
|
CURSET 1,1
|
||||||
|
?CND17: ZERO? CENTER? /?CCL21
|
||||||
|
SUB WIDE,X
|
||||||
|
DIV STACK,2
|
||||||
|
ADD 1,STACK
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL21: ZERO? RIGHT? /?CCL23
|
||||||
|
LESS? X,WIDE \?CCL23
|
||||||
|
SUB WIDE,X
|
||||||
|
ADD 1,STACK
|
||||||
|
JUMP ?CND19
|
||||||
|
?CCL23: PUSH 1
|
||||||
|
?CND19: DISPLAY P,0,STACK
|
||||||
|
ZERO? BORD? /?CND26
|
||||||
|
SCREEN S-TEXT
|
||||||
|
?CND26: ZERO? CENTER? /?CCL30
|
||||||
|
CURSET YLEFT,1
|
||||||
|
ICALL1 CURSOR-OFF
|
||||||
|
ZERO? DEMO-VERSION? /?CCL33
|
||||||
|
ICALL2 INPUT-DEMO,1
|
||||||
|
JUMP ?CND31
|
||||||
|
?CCL33: INPUT 1
|
||||||
|
?CND31: EQUAL? MACHINE,AMIGA \?CND34
|
||||||
|
ICALL1 DISPLAY-BORDER
|
||||||
|
?CND34: ICALL1 CURSOR-ON
|
||||||
|
CALL2 YCEILING,HIGH
|
||||||
|
SUB STACK,FONT-Y >Y
|
||||||
|
SUB HIGH,Y
|
||||||
|
LESS? STACK,FONT-Y \?CND36
|
||||||
|
SUB Y,FONT-Y >Y
|
||||||
|
?CND36: INC 'Y
|
||||||
|
GRTR? YLEFT,Y \?CND38
|
||||||
|
SUB YLEFT,Y
|
||||||
|
SCROLL S-TEXT,STACK
|
||||||
|
CURSET Y,1
|
||||||
|
?CND38: CRLF
|
||||||
|
JUMP ?CND28
|
||||||
|
?CCL30: ZERO? C /?CCL42
|
||||||
|
ZERO? CTOP? /?CCL42
|
||||||
|
PUSH NEXT-PIC-WIDTH
|
||||||
|
JUMP ?CND40
|
||||||
|
?CCL42: PUSH X
|
||||||
|
?CND40: ICALL SET-MARGIN,STACK,RIGHT?
|
||||||
|
DIV Y,FONT-Y >Y
|
||||||
|
ZERO? C /?CCL47
|
||||||
|
ZERO? CTOP? /?CND48
|
||||||
|
SET 'NEXT-PIC-WIDTH,X
|
||||||
|
?CND48: SET 'PIC-SIDE,RIGHT?
|
||||||
|
CALL2 YCEILING,NEXT-PIC-CRCNT
|
||||||
|
DIV STACK,FONT-Y
|
||||||
|
SUB STACK,1 >TMP
|
||||||
|
ZERO? CTOP? /?CCL52
|
||||||
|
SUB Y,TMP
|
||||||
|
SUB STACK,1 >NEXT-PIC-CRCNT
|
||||||
|
ADD TMP,1
|
||||||
|
WINPUT 0,WCRCNT,STACK
|
||||||
|
JUMP ?CND50
|
||||||
|
?CCL52: ADD TMP,1 >NEXT-PIC-CRCNT
|
||||||
|
SUB Y,TMP
|
||||||
|
SUB STACK,1
|
||||||
|
WINPUT 0,WCRCNT,STACK
|
||||||
|
?CND50: WINPUT 0,WCRFUNC,NEXT-MARGIN
|
||||||
|
JUMP ?CND28
|
||||||
|
?CCL47: ZERO? BORD? /?CCL55
|
||||||
|
PUSH RESET-MARGIN-1
|
||||||
|
JUMP ?CND53
|
||||||
|
?CCL55: PUSH RESET-MARGIN
|
||||||
|
?CND53: WINPUT 0,WCRFUNC,STACK
|
||||||
|
EQUAL? P,P-OAR \?CND56
|
||||||
|
INC 'Y
|
||||||
|
?CND56: WINPUT 0,WCRCNT,Y
|
||||||
|
?CND28: SUB HIGH,YLEFT
|
||||||
|
GRTR? STACK,FONT-Y /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT SET-MARGIN:ANY:2:2,X,RIGHT?,WIDE
|
||||||
|
WINGET S-TEXT,WWIDE >WIDE
|
||||||
|
ADD X,2
|
||||||
|
CALL2 XCEILING,STACK
|
||||||
|
DIV STACK,FONT-X >X
|
||||||
|
ZERO? RIGHT? /?CCL3
|
||||||
|
MUL X,FONT-X
|
||||||
|
MARGIN TEXT-MARGIN,STACK
|
||||||
|
JUMP ?CND1
|
||||||
|
?CCL3: MUL X,FONT-X
|
||||||
|
MARGIN STACK,TEXT-MARGIN
|
||||||
|
?CND1: DIV WIDE,FONT-X
|
||||||
|
SUB STACK,X >WIDE
|
||||||
|
GRTR? WIDE,INBUF-LENGTH \?CCL6
|
||||||
|
PUSH INBUF-LENGTH
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PUSH WIDE
|
||||||
|
?CND4: PUTB P-INBUF,0,STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT NEXT-MARGIN:ANY:0:0
|
||||||
|
ZERO? NEXT-PIC-CRCNT /TRUE
|
||||||
|
ICALL SET-MARGIN,NEXT-PIC-WIDTH,PIC-SIDE
|
||||||
|
WINPUT S-TEXT,WCRCNT,NEXT-PIC-CRCNT
|
||||||
|
WINPUT S-TEXT,WCRFUNC,RESET-MARGIN-1
|
||||||
|
SET 'NEXT-PIC-CRCNT,0
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RESET-MARGIN-1:ANY:0:0
|
||||||
|
ICALL1 DISPLAY-BORDER
|
||||||
|
CALL1 RESET-MARGIN
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
.SEGMENT "HINTS"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RESET-MARGIN:ANY:0:0
|
||||||
|
WINPUT S-TEXT,WCRCNT,0
|
||||||
|
WINPUT S-TEXT,WCRFUNC,0
|
||||||
|
MARGIN TEXT-MARGIN,TEXT-MARGIN
|
||||||
|
PUTB P-INBUF,0,INBUF-LENGTH
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT MAKE-ROOM-FOR:ANY:1:1,Y,YLEFT,LLEFT,HIGH,YLOC,XLOC
|
||||||
|
WINGET S-TEXT,WHIGH >HIGH
|
||||||
|
WINGET S-TEXT,WYPOS >YLOC
|
||||||
|
WINGET S-TEXT,WXPOS >XLOC
|
||||||
|
GRTR? Y,HIGH \?CND1
|
||||||
|
SET 'Y,HIGH
|
||||||
|
?CND1: SUB HIGH,YLOC
|
||||||
|
ADD 1,STACK >YLEFT
|
||||||
|
GRTR? Y,YLEFT \?CND3
|
||||||
|
SUB Y,YLEFT
|
||||||
|
CALL2 YCEILING,STACK >YLEFT
|
||||||
|
WINGET S-TEXT,WLCNT
|
||||||
|
SUB STACK,1
|
||||||
|
MUL STACK,FONT-Y
|
||||||
|
SUB YLOC,STACK >LLEFT
|
||||||
|
GRTR? YLEFT,LLEFT \?CND5
|
||||||
|
DIV HIGH,FONT-Y
|
||||||
|
WINPUT S-TEXT,WLCNT,STACK
|
||||||
|
CRLF
|
||||||
|
WINGET S-TEXT,WYPOS
|
||||||
|
SUB STACK,FONT-Y
|
||||||
|
CURSET STACK,1
|
||||||
|
?CND5: SCROLL S-TEXT,YLEFT
|
||||||
|
SUB YLOC,YLEFT >YLOC
|
||||||
|
GRTR? YLOC,0 /?CND7
|
||||||
|
SET 'YLOC,1
|
||||||
|
?CND7: CURSET YLOC,XLOC
|
||||||
|
?CND3: WINGET S-TEXT,WYPOS
|
||||||
|
ADD Y,STACK >YLEFT
|
||||||
|
RETURN YLEFT
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
93
pic.zil
93
pic.zil
|
@ -16,7 +16,7 @@
|
||||||
<SET X <+ .X ,FONT-X -1>>
|
<SET X <+ .X ,FONT-X -1>>
|
||||||
<- .X <MOD .X ,FONT-X>>>
|
<- .X <MOD .X ,FONT-X>>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"0">
|
||||||
|
|
||||||
<BEGIN-SEGMENT STARTUP>
|
<BEGIN-SEGMENT STARTUP>
|
||||||
|
|
||||||
|
@ -27,35 +27,60 @@
|
||||||
<SCREEN ,S-FULL>
|
<SCREEN ,S-FULL>
|
||||||
<DISPLAY ,P-TITLE 1 1>
|
<DISPLAY ,P-TITLE 1 1>
|
||||||
<CURSET <WINGET ,S-TEXT ,WHIGH> 1>
|
<CURSET <WINGET ,S-TEXT ,WHIGH> 1>
|
||||||
<INPUT 1>
|
<READ-CHAR> ;<INPUT 1>
|
||||||
<CLEAR ,S-FULL>
|
<CLEAR ,S-FULL>
|
||||||
<CURSOR-ON>)>
|
<CURSOR-ON>)>
|
||||||
<DISPLAY-BORDER ,P-BORDER>
|
<COND (<NOT <APPLE?>>
|
||||||
|
<DISPLAY-BORDER ,P-BORDER>)
|
||||||
|
(ELSE
|
||||||
|
<DISPLAY ,P-BORDER 1 1>
|
||||||
|
<DISPLAY ,P-BORDER
|
||||||
|
<+ 1 <- <WINGET ,S-FULL ,WHIGH> ,BORDER-HEIGHT>>
|
||||||
|
1>)>
|
||||||
<V-VERSION T>>
|
<V-VERSION T>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"STARTUP">
|
||||||
|
|
||||||
<BEGIN-SEGMENT 0>
|
<BEGIN-SEGMENT 0>
|
||||||
|
|
||||||
<GLOBAL CURRENT-BORDER 0>
|
<GLOBAL CURRENT-BORDER 0>
|
||||||
|
|
||||||
<ROUTINE DISPLAY-BORDER ("OPT" (B ,CURRENT-BORDER))
|
<ROUTINE DISPLAY-BORDER ("OPT" (B ,CURRENT-BORDER) (CH? T) "AUX" Y)
|
||||||
<COND (<APPLE?> <RFALSE>)
|
<COND (<APPLE?>
|
||||||
|
<SCREEN ,S-BORDER>)
|
||||||
(<PICINF .B ,YX-TBL>
|
(<PICINF .B ,YX-TBL>
|
||||||
<SCREEN ,S-FULL>
|
<SCREEN ,S-FULL>)>
|
||||||
<DISPLAY .B 1 1>
|
<DISPLAY .B 1 1>
|
||||||
<SETG CURRENT-BORDER .B>
|
<COND (.CH? <SETG CURRENT-BORDER .B>)>
|
||||||
<SCREEN ,S-TEXT>)>>
|
<COND (<EQUAL? ,MACHINE ,IBM>
|
||||||
|
<SET Y 1>
|
||||||
|
<COND (<EQUAL? .B ,P-HINT-BORDER>
|
||||||
|
<SET Y <GET ,YX-TBL 0>>
|
||||||
|
<COND (<PICINF ,P-HINT-BORDER-L ,YX-TBL>
|
||||||
|
<DISPLAY ,P-HINT-BORDER-L <+ 1 .Y> 1>)>)>
|
||||||
|
<COND (<EQUAL? .B ,P-BORDER>
|
||||||
|
<SET B ,P-BORDER-R>)
|
||||||
|
(<EQUAL? .B ,P-BORDER2>
|
||||||
|
<SET B ,P-BORDER2-R>)
|
||||||
|
(<EQUAL? .B ,P-HINT-BORDER>
|
||||||
|
<SET B ,P-HINT-BORDER-R>)>
|
||||||
|
<COND (<PICINF .B ,YX-TBL>
|
||||||
|
<DISPLAY .B
|
||||||
|
.Y
|
||||||
|
<+ 1
|
||||||
|
<- <WINGET ,S-FULL ,WWIDE>
|
||||||
|
<GET ,YX-TBL 1>>>>)>)>
|
||||||
|
<SCREEN ,S-TEXT>>
|
||||||
|
|
||||||
<ROUTINE CENTER-PIC-X (P "AUX" X Y)
|
<ROUTINE CENTER-PIC-X (P "AUX" X Y)
|
||||||
<COND (<PICINF .P ,YX-TBL>
|
<COND (<PICINF .P ,YX-TBL>
|
||||||
<FLUSH-OLD-PICTURE>
|
<FLUSH-OLD-PICTURE>
|
||||||
<MAKE-ROOM-FOR <SET Y <GET ,YX-TBL 0>>>
|
<MAKE-ROOM-FOR <SET Y <YCEILING <GET ,YX-TBL 0>>>>
|
||||||
<SET X <- <WINGET -3 ,WWIDE> <GET ,YX-TBL 1>>>
|
<SET X <- <WINGET -3 ,WWIDE> <GET ,YX-TBL 1>>>
|
||||||
<COND (<G? .X 1> <SET X </ .X 2>>)
|
<COND (<G? .X 1> <SET X </ .X 2>>)
|
||||||
(ELSE <SET X 1>)>
|
(ELSE <SET X 1>)>
|
||||||
<DISPLAY .P 0 .X>
|
<DISPLAY .P 0 .X>
|
||||||
<N-CRLF </ <+ .Y ,FONT-Y -1> ,FONT-Y>>
|
<N-CRLF </ .Y ,FONT-Y>>
|
||||||
<RTRUE>)>>
|
<RTRUE>)>>
|
||||||
|
|
||||||
"display a picture centered in the current window"
|
"display a picture centered in the current window"
|
||||||
|
@ -70,7 +95,7 @@
|
||||||
(ELSE <SET X 1>)>
|
(ELSE <SET X 1>)>
|
||||||
<DISPLAY .P .Y .X>)>>
|
<DISPLAY .P .Y .X>)>>
|
||||||
|
|
||||||
<CONSTANT TEXT-MARGIN 2> ;"left and right text margins in pixels"
|
<GLOBAL TEXT-MARGIN 2> ;"left and right text margins in pixels"
|
||||||
|
|
||||||
<ROUTINE FLUSH-OLD-PICTURE ("AUX" Y)
|
<ROUTINE FLUSH-OLD-PICTURE ("AUX" Y)
|
||||||
<COND (<SET Y <WINGET ,S-TEXT ,WCRCNT>>
|
<COND (<SET Y <WINGET ,S-TEXT ,WCRCNT>>
|
||||||
|
@ -78,17 +103,24 @@
|
||||||
<RESET-MARGIN>)>>
|
<RESET-MARGIN>)>>
|
||||||
|
|
||||||
<ROUTINE N-CRLF (Y)
|
<ROUTINE N-CRLF (Y)
|
||||||
|
<WINATTR -3 ,A-SCRIPT ,O-CLEAR>
|
||||||
<REPEAT ((CNT 0))
|
<REPEAT ((CNT 0))
|
||||||
<COND (<IGRTR? CNT .Y> <RETURN>)>
|
<COND (<IGRTR? CNT .Y>
|
||||||
|
<WINATTR -3 ,A-SCRIPT ,O-SET>
|
||||||
|
<RETURN>)>
|
||||||
<CRLF>>>
|
<CRLF>>>
|
||||||
|
|
||||||
<ROUTINE MARGINAL-PIC (P "OPT" (RIGHT? T) (C <>) (CTOP? <>)
|
<ROUTINE MARGINAL-PIC (P "OPT" (RIGHT? T) (C <>) (CTOP? <>)
|
||||||
"AUX" TMP X Y YLEFT HIGH WIDE (CENTER? <>))
|
"AUX" TMP X Y YLEFT HIGH WIDE (CENTER? <>) (BORD? <>))
|
||||||
<COND (<PICINF .P ,YX-TBL>
|
<COND (<PICINF .P ,YX-TBL>
|
||||||
<SET HIGH <WINGET ,S-TEXT ,WHIGH>>
|
<SET HIGH <WINGET ,S-TEXT ,WHIGH>>
|
||||||
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
||||||
<FLUSH-OLD-PICTURE>
|
<FLUSH-OLD-PICTURE>
|
||||||
<SET Y <YCEILING <GET ,YX-TBL 0>>> ;"pic height rounded up"
|
<SET Y <YCEILING <GET ,YX-TBL 0>>> ;"pic height rounded up"
|
||||||
|
<COND (<AND <APPLE?>
|
||||||
|
<G? .Y .HIGH>>
|
||||||
|
<SET BORD? T>
|
||||||
|
<SET Y <- .Y ,BORDER-HEIGHT>>)>
|
||||||
<SET X <GET ,YX-TBL 1>> ;"pic width"
|
<SET X <GET ,YX-TBL 1>> ;"pic width"
|
||||||
<COND (<AND .C <PICINF .C ,YX-TBL>>
|
<COND (<AND .C <PICINF .C ,YX-TBL>>
|
||||||
<SETG NEXT-PIC-CRCNT <GET ,YX-TBL 0>>
|
<SETG NEXT-PIC-CRCNT <GET ,YX-TBL 0>>
|
||||||
|
@ -100,6 +132,9 @@
|
||||||
<SET YLEFT <MAKE-ROOM-FOR .Y>>
|
<SET YLEFT <MAKE-ROOM-FOR .Y>>
|
||||||
<COND (<G=? <+ .X <* ,FONT-X 10>> .WIDE>
|
<COND (<G=? <+ .X <* ,FONT-X 10>> .WIDE>
|
||||||
<SET CENTER? T>)>
|
<SET CENTER? T>)>
|
||||||
|
<COND (.BORD?
|
||||||
|
<SCREEN ,S-BORDER>
|
||||||
|
<CURSET 1 1>)>
|
||||||
<DISPLAY .P
|
<DISPLAY .P
|
||||||
0
|
0
|
||||||
<COND (.CENTER?
|
<COND (.CENTER?
|
||||||
|
@ -108,10 +143,13 @@
|
||||||
<L? .X .WIDE>>
|
<L? .X .WIDE>>
|
||||||
<+ 1 <- .WIDE .X>>)
|
<+ 1 <- .WIDE .X>>)
|
||||||
(ELSE 1)>>
|
(ELSE 1)>>
|
||||||
|
<COND (.BORD? <SCREEN ,S-TEXT>)>
|
||||||
<COND (.CENTER?
|
<COND (.CENTER?
|
||||||
<CURSET .YLEFT 1>
|
<CURSET .YLEFT 1>
|
||||||
<CURSOR-OFF>
|
<CURSOR-OFF>
|
||||||
<INPUT 1>
|
<READ-CHAR> ;<INPUT 1>
|
||||||
|
<COND (<EQUAL? ,MACHINE ,AMIGA> ;"makes pallette happy"
|
||||||
|
<DISPLAY-BORDER>)>
|
||||||
<CURSOR-ON>
|
<CURSOR-ON>
|
||||||
<SET Y <- <YCEILING .HIGH> ,FONT-Y>>
|
<SET Y <- <YCEILING .HIGH> ,FONT-Y>>
|
||||||
<COND (<L? <- .HIGH .Y> ,FONT-Y>
|
<COND (<L? <- .HIGH .Y> ,FONT-Y>
|
||||||
|
@ -141,10 +179,15 @@
|
||||||
<WINPUT 0 ,WCRCNT <- .Y .TMP 1>>)>
|
<WINPUT 0 ,WCRCNT <- .Y .TMP 1>>)>
|
||||||
<WINPUT 0 ,WCRFUNC ,NEXT-MARGIN>)
|
<WINPUT 0 ,WCRFUNC ,NEXT-MARGIN>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<WINPUT 0 ,WCRFUNC ,RESET-MARGIN>
|
<WINPUT 0 ,WCRFUNC
|
||||||
|
<COND (.BORD? ,RESET-MARGIN-1)
|
||||||
|
(ELSE ,RESET-MARGIN)>>
|
||||||
<COND (<EQUAL? .P ,P-OAR>
|
<COND (<EQUAL? .P ,P-OAR>
|
||||||
<SET Y <+ .Y 1>>)>
|
<SET Y <+ .Y 1>>)>
|
||||||
<WINPUT 0 ,WCRCNT .Y>)>)>)>>
|
<WINPUT 0 ,WCRCNT .Y>)>)>
|
||||||
|
<COND (<L=? <- .HIGH .YLEFT> ,FONT-Y>
|
||||||
|
<RTRUE>)
|
||||||
|
(ELSE <RFALSE>)>)>>
|
||||||
|
|
||||||
<ROUTINE SET-MARGIN (X RIGHT? "AUX" WIDE)
|
<ROUTINE SET-MARGIN (X RIGHT? "AUX" WIDE)
|
||||||
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
<SET WIDE <WINGET ,S-TEXT ,WWIDE>>
|
||||||
|
@ -168,16 +211,26 @@
|
||||||
<COND (,NEXT-PIC-CRCNT
|
<COND (,NEXT-PIC-CRCNT
|
||||||
<SET-MARGIN ,NEXT-PIC-WIDTH ,PIC-SIDE>
|
<SET-MARGIN ,NEXT-PIC-WIDTH ,PIC-SIDE>
|
||||||
<WINPUT ,S-TEXT ,WCRCNT ,NEXT-PIC-CRCNT>
|
<WINPUT ,S-TEXT ,WCRCNT ,NEXT-PIC-CRCNT>
|
||||||
<WINPUT ,S-TEXT ,WCRFUNC ,RESET-MARGIN>
|
<WINPUT ,S-TEXT ,WCRFUNC ,RESET-MARGIN-1>
|
||||||
<SETG NEXT-PIC-CRCNT 0>)>
|
<SETG NEXT-PIC-CRCNT 0>)>
|
||||||
<RTRUE>>
|
<RTRUE>>
|
||||||
|
|
||||||
|
<ROUTINE RESET-MARGIN-1 ()
|
||||||
|
<DISPLAY-BORDER>
|
||||||
|
<RESET-MARGIN>>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT HINTS>
|
||||||
|
|
||||||
<ROUTINE RESET-MARGIN ()
|
<ROUTINE RESET-MARGIN ()
|
||||||
<WINPUT ,S-TEXT ,WCRCNT 0>
|
<WINPUT ,S-TEXT ,WCRCNT 0>
|
||||||
<WINPUT ,S-TEXT ,WCRFUNC 0>
|
<WINPUT ,S-TEXT ,WCRFUNC 0>
|
||||||
<MARGIN ,TEXT-MARGIN ,TEXT-MARGIN>
|
<MARGIN ,TEXT-MARGIN ,TEXT-MARGIN>
|
||||||
<PUTB ,P-INBUF 0 ,INBUF-LENGTH>>
|
<PUTB ,P-INBUF 0 ,INBUF-LENGTH>>
|
||||||
|
|
||||||
|
<END-SEGMENT>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
|
||||||
"make sure room for Y pixels, by scrolling and moreing if necessary"
|
"make sure room for Y pixels, by scrolling and moreing if necessary"
|
||||||
|
|
||||||
<ROUTINE MAKE-ROOM-FOR (Y "AUX" YLEFT LLEFT (HIGH <WINGET ,S-TEXT ,WHIGH>)
|
<ROUTINE MAKE-ROOM-FOR (Y "AUX" YLEFT LLEFT (HIGH <WINGET ,S-TEXT ,WHIGH>)
|
||||||
|
@ -202,4 +255,4 @@
|
||||||
<SET YLEFT <+ .Y <WINGET ,S-TEXT ,WYPOS>>>
|
<SET YLEFT <+ .Y <WINGET ,S-TEXT ,WYPOS>>>
|
||||||
<RETURN .YLEFT>>
|
<RETURN .YLEFT>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"0">
|
||||||
|
|
17
picdef.zil
17
picdef.zil
|
@ -3,6 +3,7 @@
|
||||||
<CONSTANT P-BORDER-LOC 2>
|
<CONSTANT P-BORDER-LOC 2>
|
||||||
<CONSTANT P-BORDER 3>
|
<CONSTANT P-BORDER 3>
|
||||||
<CONSTANT P-BORDER2 4>
|
<CONSTANT P-BORDER2 4>
|
||||||
|
<CONSTANT P-EBORDER 4>
|
||||||
<CONSTANT P-TIME 5>
|
<CONSTANT P-TIME 5>
|
||||||
<CONSTANT P-BORDER-3 6>
|
<CONSTANT P-BORDER-3 6>
|
||||||
<CONSTANT P-STORM 7>
|
<CONSTANT P-STORM 7>
|
||||||
|
@ -49,3 +50,19 @@
|
||||||
<CONSTANT P-WARRIOR-CORNER 48>
|
<CONSTANT P-WARRIOR-CORNER 48>
|
||||||
<CONSTANT P-HINT-LOC 49>
|
<CONSTANT P-HINT-LOC 49>
|
||||||
<CONSTANT P-HINT-BORDER 50>
|
<CONSTANT P-HINT-BORDER 50>
|
||||||
|
|
||||||
|
"these are to swap in segments when needed"
|
||||||
|
|
||||||
|
<CONSTANT P-YABU-SEG 51>
|
||||||
|
<CONSTANT P-RODRIGUES-SEG 52>
|
||||||
|
<CONSTANT P-PRISON-SEG 53>
|
||||||
|
<CONSTANT P-MARIKO-SEG 54>
|
||||||
|
<CONSTANT P-OCHIBA-SEG 55>
|
||||||
|
<CONSTANT P-DEPARTURE-SEG 56>
|
||||||
|
<CONSTANT P-AFTERMATH-SEG 57>
|
||||||
|
<CONSTANT P-SOFT-KEY-SEG 58>
|
||||||
|
|
||||||
|
<CONSTANT P-BORDER-R 59>
|
||||||
|
<CONSTANT P-BORDER2-R 60>
|
||||||
|
<CONSTANT P-HINT-BORDER-L 61>
|
||||||
|
<CONSTANT P-HINT-BORDER-R 62>
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("IN-ZILCH" T)("P-DEBUGGING-PARSER" %<>)) ()>
|
||||||
|
|
||||||
|
<ZZPACKAGE "PMEM">
|
||||||
|
<ENTRY PMEM PMEM-ALLOC PMEM-TYPE? PMEM-RESET PM-TYPE MAKE-PM-TYPE
|
||||||
|
PMEM-WORDS-USED PDEFS-INTERNAL-OBLIST PMEM-STORE-WARN PMEM-STORE-LENGTH>
|
||||||
|
<INCLUDE "BASEDEFS" "PBITDEFS">
|
||||||
|
<USE "NEWSTRUC">
|
||||||
|
<SET-DEFSTRUCT-FILE-DEFAULTS>
|
||||||
|
<FILE-FLAGS MDL-ZIL?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<DEFSTRUCT PMEM (TABLE 'CONSTRUCTOR ('PRINTTYPE PRINT-PMEM) 'NODECL ('NTH ZGET)
|
||||||
|
('PUT ZPUT) ('START-OFFSET 0)) (PM-HEADER <OR FIX FALSE>) (PM-LENGTH <OR FIX
|
||||||
|
FALSE> 'OFFSET 0 'NTH GETB 'PUT PUTB) (PM-TYPE-CODE <OR FIX FALSE> 'OFFSET 1 '
|
||||||
|
NTH GETB 'PUT PUTB)>
|
||||||
|
<CONSTANT PM-HEADER-LEN 1>
|
||||||
|
<DEFSTRUCT PM-TYPE VECTOR (PMT-NAME ATOM) (PMT-CODE FIX) (PMT-LENGTH <OR FIX
|
||||||
|
FALSE>) (PMT-ARGS <VECTOR [REST PM-ARG]> [])>
|
||||||
|
<DEFSTRUCT PM-ARG VECTOR (PMA-NAME ATOM) (PMA-OFFS FIX) (PMA-TYPE ANY) (
|
||||||
|
PMA-DEFAULT ANY)>
|
||||||
|
<GDECL (PM-TYPE-COUNT) FIX (PM-LIST) LIST>
|
||||||
|
<CONSTANT PMEM-STORE-LENGTH:FIX 180>
|
||||||
|
<CONSTANT PMEM-STORE:TABLE <ITABLE ,PMEM-STORE-LENGTH>>
|
||||||
|
<GLOBAL PMEM-STORE-POINTER PMEM-STORE>
|
||||||
|
<GLOBAL PMEM-STORE-WORDS:NUMBER PMEM-STORE-LENGTH>
|
||||||
|
<DEFINE-ROUTINE PMEM?>
|
||||||
|
<DEFINE20 PM-TYPE (NAME:ATOM LENGTH:<OR FIX FALSE> "ARGS" STUFF "AUX" ATM CODE
|
||||||
|
TYPE-OBJ (OCT ,PM-HEADER-LEN) ARGS) <SET ATM <PARSE <STRING "PM-TYPE-" <SPNAME
|
||||||
|
.NAME>> 10 ,PDEFS-INTERNAL-OBLIST>> <COND (<NOT <GASSIGNED? PM-TYPE-COUNT>> <
|
||||||
|
SETG PM-TYPE-COUNT 0> <SETG PM-LIST (T)>)> <SET CODE <SETG PM-TYPE-COUNT <+ ,
|
||||||
|
PM-TYPE-COUNT 1>>> <SET TYPE-OBJ <MAKE-PM-TYPE 'PMT-NAME .ATM 'PMT-CODE .CODE '
|
||||||
|
PMT-LENGTH .LENGTH>> <EVAL <FORM CONSTANT <PARSE <STRING "PMEM-TYPE-" <SPNAME .
|
||||||
|
NAME>> 10 ,PDEFS-INTERNAL-OBLIST> .CODE>> <PUTREST <REST ,PM-LIST <- <LENGTH ,
|
||||||
|
PM-LIST> 1>> (.TYPE-OBJ)> <SETG .ATM .TYPE-OBJ> <SET ARGS <MAPF ,VECTOR <
|
||||||
|
FUNCTION (ARG:<OR LIST ATOM> "AUX" NATM OFFS (TYPE ANY) (DEFAULT <>) NNATM) <
|
||||||
|
COND (<TYPE? .ARG LIST> <SET NATM <1 .ARG>> <SET ARG <REST .ARG>>) (T <SET NATM
|
||||||
|
.ARG> <SET ARG ()>)> <SET NATM <PARSE <STRING <SPNAME .NAME> "-" <SPNAME .NATM>
|
||||||
|
> 10 ,PDEFS-INTERNAL-OBLIST>> <SET NNATM <PARSE <STRING <SPNAME .NAME> "-" <
|
||||||
|
SPNAME .NATM> "-OFFSET"> 10 ,PDEFS-INTERNAL-OBLIST>> <EVAL <FORM DEFMAC .NATM (
|
||||||
|
''OBJ "OPT" ''NEW) <FORM COND (<FORM ASSIGNED? NEW> <FORM FORM ZPUT '.OBJ .OCT
|
||||||
|
'.NEW>) (T <FORM FORM ZGET '.OBJ .OCT>)>>> <SETG .NNATM <SET OFFS .OCT>> <SET
|
||||||
|
OCT <+ .OCT 1>> <COND (<EMPTY? .ARG>) (T <SET TYPE <1 .ARG>> <COND (<NOT <
|
||||||
|
LENGTH? .ARG 1>> <COND (<AND <TYPE? <SET DEFAULT <2 .ARG>> FORM> <EMPTY? .
|
||||||
|
DEFAULT>> <SET DEFAULT <>>)>)> <COND (<AND <NOT <MATCH-KEY .DEFAULT NONE>> <NOT
|
||||||
|
<TYPE? .DEFAULT FORM>>> <COND (<NOT <DECL? .DEFAULT .TYPE>> <COND (<DECL? .
|
||||||
|
DEFAULT <FORM OR FALSE .TYPE>> <SET TYPE <FORM OR FALSE .TYPE>>) (T <ERROR
|
||||||
|
DEFAULT-DOESNT-MATCH-DECL .TYPE .DEFAULT PM-TYPE>)>)>)>)> <MAKE-PM-ARG '
|
||||||
|
PMA-NAME .NATM 'PMA-OFFS .OFFS 'PMA-TYPE .TYPE 'PMA-DEFAULT .DEFAULT>> .STUFF>>
|
||||||
|
<PMT-ARGS .TYPE-OBJ .ARGS>>
|
||||||
|
<DEFINE20 GET-PM-TYPE (TYPE:ATOM "AUX" TEMP) <COND (<AND <GASSIGNED? .TYPE> <
|
||||||
|
TYPE? ,.TYPE PM-TYPE>> ,.TYPE) (T <SET TEMP <PARSE <STRING "PM-TYPE-" <SPNAME .
|
||||||
|
TYPE>> 10 ,PDEFS-INTERNAL-OBLIST>> <COND (<AND <GASSIGNED? .TEMP> <TYPE? ,.TEMP
|
||||||
|
PM-TYPE>> ,.TEMP) (T <ERROR NOT-A-PMEM-TYPE!-ERRORS .TYPE>)>)>>
|
||||||
|
<DEFMAC PMEM-TYPE? ('PMEM 'TYPE "OPT" 'TYPE2 "AUX" (ATM <>) (ATM2 <>)) <SET
|
||||||
|
TYPE <GET-PM-TYPE .TYPE>> <COND (<ASSIGNED? TYPE2> <SET TYPE2 <GET-PM-TYPE .
|
||||||
|
TYPE2>>) (T <SET TYPE2 <>>)> <COND (<NOT .TYPE2> <FORM ==? <FORM PM-TYPE-CODE .
|
||||||
|
PMEM> <PMT-CODE .TYPE>>) (T <FORM OR <FORM ==? <FORM PM-TYPE .PMEM> <PMT-CODE .
|
||||||
|
TYPE>> <FORM ==? <FORM PM-TYPE .PMEM> <PMT-CODE .TYPE2>>>)>>
|
||||||
|
<DEFINE20 PRINT-PMEM (PMEM:PMEM "OPT" (OUTCHAN:CHANNEL .OUTCHAN) "AUX" (CODE <
|
||||||
|
PM-TYPE-CODE .PMEM>) (OBJ:PM-TYPE <NTH ,PM-LIST <+ .CODE 1>>)) <PRINT-MANY .
|
||||||
|
OUTCHAN PRINC "#" <PMT-NAME .OBJ> " ["> <REPEAT ((CT <PM-LENGTH .PMEM>) (N 1))
|
||||||
|
<COND (<L? <SET CT <- .CT 1>> 0> <RETURN>)> <PRIN1 <ZGET .PMEM .N>> <PRINC !\ >
|
||||||
|
<SET N <+ .N 1>>> <PRINC !\]> .PMEM>
|
||||||
|
<GLOBAL PMEM-WORDS-USED 0>
|
||||||
|
<GDECL (PMEM-WORDS-USED) FIX>
|
||||||
|
<DEFINE-ROUTINE PMEM-RESET>
|
||||||
|
<DEFINE20 MATCH-KEY (FOO BAR) <AND <TYPE? .FOO ATOM> <TYPE? .BAR ATOM> <=? <
|
||||||
|
SPNAME .FOO> <SPNAME .BAR>>>>
|
||||||
|
<DEFMAC PMEM-ALLOC PA (TYPNAM:ATOM "ARGS" STUFF "AUX" TEMP NT:PM-TYPE BASE
|
||||||
|
LENARG ATM BL) <SET NT <GET-PM-TYPE .TYPNAM>> <COND (<SET TEMP <MEMQ LENGTH .
|
||||||
|
STUFF>> <SET LENARG <2 .TEMP>>) (<NOT <SET LENARG <PMT-LENGTH .NT>>> <ERROR
|
||||||
|
BAD-PMEM-LENGTH-ARG!-ERRORS .TYPNAM PMEM-ALLOC>)> <SET BASE <FORM BIND ((
|
||||||
|
NEW-OBJECT <FORM DO-PMEM-ALLOC <PMT-CODE .NT> .LENARG>))>> <SET BL <REST .BASE>
|
||||||
|
> <REPEAT ((ARGS <PMT-ARGS .NT>) (INIT <CHTYPE <STACK <IVECTOR <* 2 <+ <LENGTH
|
||||||
|
.ARGS> ,PM-HEADER-LEN>> NONE>> TABLE>) THIS-ARG OFFS:FIX FRM) <COND (<EMPTY? .
|
||||||
|
STUFF> <MAPF <> <FUNCTION (ARG:PM-ARG "AUX" (IVAL <ZGET .INIT <PMA-OFFS .ARG>>)
|
||||||
|
) <COND (<AND <MATCH-KEY .IVAL NONE> <MATCH-KEY <PMA-DEFAULT .ARG> NONE>> <
|
||||||
|
ERROR NO-VALUE-FOR-MANDATORY-SLOT!-ERRORS .TYPNAM PMEM-ALLOC>) (<MATCH-KEY .
|
||||||
|
IVAL NONE> <COND (<AND <PMA-DEFAULT .ARG> <N==? <PMA-DEFAULT .ARG> '<>> <N==? <
|
||||||
|
PMA-DEFAULT .ARG> 0>> <SET BL <REST <PUTREST .BL (<FORM <PMA-NAME .ARG> '.
|
||||||
|
NEW-OBJECT <PMA-DEFAULT .ARG>>)>>>)>)>> .ARGS> <RETURN>)> <COND (<OR <NOT <
|
||||||
|
TYPE? <SET ATM <1 .STUFF>> ATOM>> <AND <OR <NOT <GASSIGNED? .ATM>> <NOT <TYPE?
|
||||||
|
,.ATM FIX MACRO>>> <SET ATM <PARSE <STRING <SPNAME .TYPNAM> "-" <SPNAME .ATM>>
|
||||||
|
10 ,PDEFS-INTERNAL-OBLIST>> <OR <NOT <GASSIGNED? .ATM>> <NOT <TYPE? ,.ATM FIX
|
||||||
|
MACRO>>>>> <COND (<N==? <1 .STUFF> LENGTH> <ERROR BAD-PMEM-ARG!-ERRORS .STUFF
|
||||||
|
PMEM-ALLOC>)>) (T <SET FRM <EXPAND <FORM .ATM .INIT T>>> <ZPUT .INIT <3 .FRM:
|
||||||
|
FORM> T> <COND (<AND <2 .STUFF> <N==? <2 .STUFF> '<>> <N==? <2 .STUFF> 0>> <SET
|
||||||
|
BL <REST <PUTREST .BL (<FORM .ATM '.NEW-OBJECT <2 .STUFF>>)>>>)>)> <SET STUFF <
|
||||||
|
REST .STUFF 2>>> <PUTREST .BL ('.NEW-OBJECT)> .BASE>
|
||||||
|
<DEFINE-ROUTINE DO-PMEM-ALLOC>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<ENDPACKAGE>
|
|
@ -0,0 +1,38 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PMEM?:ANY:1:1,PTR
|
||||||
|
LESS? PTR,PMEM-STORE /FALSE
|
||||||
|
LESS? PTR,PMEM-STORE+180 /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PMEM-RESET:ANY:0:0
|
||||||
|
GRTR? PMEM-WORDS-USED,0 \?CND1
|
||||||
|
SET 'PMEM-WORDS-USED,0
|
||||||
|
SUB PMEM-STORE-LENGTH,PMEM-STORE-WORDS
|
||||||
|
MUL 2,STACK
|
||||||
|
COPYT PMEM-STORE,0,STACK
|
||||||
|
?CND1: SET 'PMEM-STORE-WORDS,PMEM-STORE-LENGTH
|
||||||
|
SET 'PMEM-STORE-POINTER,PMEM-STORE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DO-PMEM-ALLOC:ANY:2:2,TYPE,LENGTH,STOR,LEFT,NEW
|
||||||
|
SET 'STOR,PMEM-STORE-POINTER
|
||||||
|
SET 'LEFT,PMEM-STORE-WORDS
|
||||||
|
IGRTR? 'LENGTH,LEFT \?CND1
|
||||||
|
ICALL2 P-NO-MEM-ROUTINE,TYPE
|
||||||
|
?CND1: ADD PMEM-WORDS-USED,LENGTH >PMEM-WORDS-USED
|
||||||
|
SUB LEFT,LENGTH >PMEM-STORE-WORDS
|
||||||
|
MUL LENGTH,2
|
||||||
|
ADD STOR,STACK >PMEM-STORE-POINTER
|
||||||
|
DEC 'LENGTH
|
||||||
|
PUTB STOR,0,LENGTH
|
||||||
|
PUTB STOR,1,TYPE
|
||||||
|
RETURN STOR
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -0,0 +1,84 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("P-ZORK0" %<>)("ONE-BYTE-PARTS-OF-SPEECH" %<>)(
|
||||||
|
"WORD-FLAGS-IN-TABLE" T)("IN-ZILCH" T)("P-APOSTROPHE-BREAKS-WORDS" T)(
|
||||||
|
"P-BE-VERB" T)) (("SETUP-ORPHAN-NP" "DEFS" #WORD *32734731554*) (
|
||||||
|
"WINNER-SAYS-WHICH?" "DEFS" #WORD *11064457026*) ("REFRESH" "DEFS" #WORD
|
||||||
|
*26533721703*))>
|
||||||
|
|
||||||
|
<ZZPACKAGE "PARSER">
|
||||||
|
<RENTRY PRINT-LEXV TELL-CTHE TELL-THE>
|
||||||
|
<INCLUDE "BASEDEFS" "PBITDEFS" "PDEFS">
|
||||||
|
<USE "PMEM" "PSTACK" "REDS">
|
||||||
|
<FILE-FLAGS MDL-ZIL? CLEAN-STACK?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<DEFAULTS-DEFINED CANT-FIND-OBJECT CANT-USE-MULTIPLE DONT-UNDERSTAND
|
||||||
|
PRINT-INTQUOTE PRINT-LEXV REFRESH SETUP-ORPHAN SETUP-ORPHAN-NP TOO-MANY-NOUNS
|
||||||
|
WHICH-LIST? WHICH-PRINT WINNER-SAYS-WHICH? YES?>
|
||||||
|
<DEFINE-ROUTINE TOO-MANY-NEW>
|
||||||
|
<DEFINE-ROUTINE NAKED-OOPS>
|
||||||
|
<DEFINE-ROUTINE CANT-OOPS>
|
||||||
|
<DEFINE-ROUTINE CANT-AGAIN>
|
||||||
|
<DEFAULT-DEFINITION CANT-USE-MULTIPLE <ROUTINE CANT-USE-MULTIPLE>>
|
||||||
|
<DEFINE-ROUTINE MAKE-ROOM-FOR-TOKENS>
|
||||||
|
<DEFINE-ROUTINE REPLACE-ONE-TOKEN>
|
||||||
|
<DEFAULT-DEFINITION REFRESH <DEFINE V-$REFRESH () <LOWCORE FLAGS <BAND <LOWCORE
|
||||||
|
FLAGS> <BCOM ,F-REFRESH>>> <CLEAR -1> <INIT-STATUS-LINE> <RTRUE>>>
|
||||||
|
<DEFAULT-DEFINITION PRINT-INTQUOTE <ROUTINE PRINT-INTQUOTE>>
|
||||||
|
<DEFAULT-DEFINITION PRINT-LEXV <ROUTINE PRINT-LEXV>>
|
||||||
|
<DEFINE-ROUTINE COPY-INPUT>
|
||||||
|
<COND (<NOT <OR <CHECK-VERSION? XZIP> <CHECK-VERSION? YZIP>>> <DEFINE
|
||||||
|
COPY-INBUF (SRC DEST "AUX" CNT:FIX) <SET CNT <- <GETB .SRC 0> 1>> <REPEAT () <
|
||||||
|
PUTB .DEST .CNT <GETB .SRC .CNT>> <COND (<L? <SET CNT <- .CNT 1>> 0> <RETURN>)>
|
||||||
|
>> <DEFINE COPY-LEXV (SRC DEST "OPT" (MAX:FIX ,LEXV-LENGTH) "AUX" (CTR:FIX 1))
|
||||||
|
<PUTB .DEST 0 <GETB .SRC 0>> <PUTB .DEST 1 <GETB .SRC 1>> <SET DEST <ZREST .
|
||||||
|
DEST <* ,P-LEXSTART:FIX 2>>> <SET SRC <ZREST .SRC <* ,P-LEXSTART:FIX 2>>> <
|
||||||
|
REPEAT () <ZPUT .DEST 0 <ZGET .SRC 0>> <PUTB .DEST 2 <GETB .SRC 2>> <PUTB .DEST
|
||||||
|
3 <GETB .SRC 3>> <COND (<G? <SET CTR <+ .CTR 1>> .MAX> <RETURN>)> <SET DEST <
|
||||||
|
ZREST .DEST <* 2 ,P-LEXELEN:FIX>>> <SET SRC <ZREST .SRC <* 2 ,P-LEXELEN:FIX>>>>
|
||||||
|
>)>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<ADD-WORD NO.WORD ADJ>
|
||||||
|
<DEFINE-ROUTINE BUFFER-PRINT>
|
||||||
|
<DEFINE-ROUTINE CAPITALIZE>
|
||||||
|
<DEFINE-ROUTINE PRINT-PARSER-FAILURE>
|
||||||
|
<DEFINE-ROUTINE NAKED-ADJECTIVE?>
|
||||||
|
<DEFINE-ROUTINE CHANGE-AND-TO-THEN?>
|
||||||
|
<DEFAULT-DEFINITION DONT-UNDERSTAND <ROUTINE DONT-UNDERSTAND>>
|
||||||
|
<DEFINE-ROUTINE MISSING>
|
||||||
|
<DEFAULT-DEFINITION CANT-FIND-OBJECT <ROUTINE CANT-FIND-NPP> <ROUTINE
|
||||||
|
CANT-FIND-OBJECT> <ROUTINE NP-CANT-SEE>>
|
||||||
|
<DEFAULT-DEFINITION WINNER-SAYS-WHICH? <DEFINE WINNER-SAYS-WHICH? (NP) <>>>
|
||||||
|
<DEFAULT-DEFINITION WHICH-LIST? <ROUTINE WHICH-LIST?>>
|
||||||
|
<DEFAULT-DEFINITION WHICH-PRINT <ROUTINE WHICH-PRINT>>
|
||||||
|
<DEFINE-ROUTINE NP-PRINT>
|
||||||
|
<DEFINE-ROUTINE ADJS-PRINT>
|
||||||
|
<DEFAULT-DEFINITION TOO-MANY-NOUNS <ROUTINE TOO-MANY-NOUNS>>
|
||||||
|
<DEFINE-ROUTINE INBUF-ADD>
|
||||||
|
<DEFINE-ROUTINE INBUF-PRINT>
|
||||||
|
<DEFAULT-DEFINITION YES? <CONSTANT YES-INBUF <ITABLE 19 (BYTE LENGTH) 0>> <
|
||||||
|
CONSTANT YES-LEXV <ITABLE 3 (LEXV) 0 0>> <DEFINE YES? ("OPT" (NO-Q <>) "AUX"
|
||||||
|
WORD VAL) <COND (<NOT .NO-Q> <TELL !\?>)> <REPEAT () <TELL "|>"> <COND (T <PUTB
|
||||||
|
,YES-INBUF 1 0>)> <COND (,DEMO-VERSION? <READ-DEMO ,YES-INBUF ,YES-LEXV>) (T <
|
||||||
|
ZREAD ,YES-INBUF ,YES-LEXV>)> <COND (<AND <NOT <0? <GETB ,YES-LEXV ,P-LEXWORDS>
|
||||||
|
>> <SET WORD <ZGET ,YES-LEXV ,P-LEXSTART>>> <COND (<COMPARE-WORD-TYPES <
|
||||||
|
WORD-CLASSIFICATION-NUMBER .WORD> <GET-CLASSIFICATION VERB>> <SET VAL <
|
||||||
|
WORD-VERB-STUFF .WORD>>) (T <SET VAL <>>)> <COND (<EQUAL? .VAL ,ACT?YES> <SET
|
||||||
|
VAL T> <RETURN>) (<OR <EQUAL? .VAL ,ACT?NO> <EQUAL? .WORD ,W?N>> <SET VAL <>> <
|
||||||
|
RETURN>) (<EQUAL? .VAL ,ACT?RESTART> <V-RESTART>) (<EQUAL? .VAL ,ACT?RESTORE> <
|
||||||
|
V-RESTORE>) (<EQUAL? .VAL ,ACT?QUIT> <V-QUIT>)>)> <TELL
|
||||||
|
"[Please type YES or NO.]">> .VAL>>
|
||||||
|
<DEFAULT-DEFINITION SETUP-ORPHAN <ROUTINE SETUP-ORPHAN>>
|
||||||
|
<DEFAULT-DEFINITION SETUP-ORPHAN-NP <DEFINE SETUP-ORPHAN-NP (STR OBJ1 OBJ2
|
||||||
|
"OPT" (OBJ3 <>) "AUX" NUM VEC) <DIROUT ,D-TABLE-ON ,O-INBUF> <TELL .STR> <
|
||||||
|
DIROUT ,D-TABLE-OFF> <PUTB ,O-INBUF 0 ,INBUF-LENGTH> <LEX ,O-INBUF ,O-LEXV> <
|
||||||
|
COND (<ZERO? <SET NUM <GETB ,O-LEXV ,P-LEXWORDS>>> <>) (<INTBL? 0 <ZREST ,
|
||||||
|
O-LEXV <* 2 ,P-LEXSTART>> .NUM 132> <>) (T <SETG P-OFLAG <- 1 <* ,P-LEXELEN <
|
||||||
|
GETB ,O-LEXV ,P-LEXWORDS>>>> <ZPUT ,OOPS-TABLE ,O-END <+ 2 <GETB ,O-INBUF 1>>>
|
||||||
|
<ZPUT ,OOPS-TABLE ,O-AGAIN <ZREST ,P-LEXV <* 2 ,P-LEXSTART>>> <SET VEC <
|
||||||
|
REST-TO-SLOT ,ORPHAN-SR FIND-RES-OBJ1>> <ZPUT .VEC 0 .OBJ1> <ZPUT .VEC 1 .OBJ2>
|
||||||
|
<SET NUM 2> <COND (<T? .OBJ3> <INC NUM> <ZPUT .VEC 2 .OBJ3>)> <FIND-RES-COUNT ,
|
||||||
|
ORPHAN-SR .NUM> T)>>>
|
||||||
|
<DEFINE-ROUTINE INSERT-ADJS>
|
||||||
|
<DEFINE-ROUTINE INSERT-ADJS-WD>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<ENDPACKAGE>
|
|
@ -0,0 +1,45 @@
|
||||||
|
|
||||||
|
<ZZPACKAGE "PSTACK">
|
||||||
|
<ENTRY ALLOCATE-PSTACK MAX-PSTACK-SIZE PUSH-PSTACK POP-PSTACK PEEK-PSTACK
|
||||||
|
PSTACK FLUSH-PSTACK PSTACK-PTR CLEAR-PSTACK PSTACK-DATA PSTACK-EMPTY?>
|
||||||
|
<USE "NEWSTRUC">
|
||||||
|
<FILE-FLAGS>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<MSETG MAX-PSTACK-SIZE 21>
|
||||||
|
<NEWTYPE PSTACK TABLE>
|
||||||
|
<DEFMAC ALLOCATE-PSTACK () <ITABLE ,MAX-PSTACK-SIZE 0>>
|
||||||
|
<DEFMAC PSTACK-PTR ('S "OPT" 'NEW) <COND (<ASSIGNED? NEW> <FORM ZPUT .S 0 .NEW>
|
||||||
|
) (T <CHTYPE [<FORM ZGET .S 0> FIX] ADECL>)>>
|
||||||
|
<DEFMAC PSTACK-EMPTY? ('PSTACK) <COND (<CHECK-VERSION? YZIP> <FORM EQUAL? <- ,
|
||||||
|
MAX-PSTACK-SIZE 1> <FORM PSTACK-PTR .PSTACK>>) (T <FORM 0? <FORM PSTACK-PTR .
|
||||||
|
PSTACK>>)>>
|
||||||
|
<DEFMAC CLEAR-PSTACK ('S) <COND (<CHECK-VERSION? YZIP> <FORM PSTACK-PTR <CHTYPE
|
||||||
|
[.S PSTACK] ADECL> <- ,MAX-PSTACK-SIZE 1>>) (T <FORM PSTACK-PTR <CHTYPE [.S
|
||||||
|
PSTACK] ADECL> 0>)>>
|
||||||
|
<DEFINE20 PRINT-PSTACK (S:PSTACK "OPT" (OUTCHAN:CHANNEL .OUTCHAN) "AUX" (P <
|
||||||
|
PSTACK-PTR .S>)) <PRINT-MANY .OUTCHAN PRINC "#PSTACK [" .P " ["> <REPEAT ((D <
|
||||||
|
ZREST .S 2>)) <COND (<L=? .P 0> <RETURN>)> <PRIN1 <ZGET .D 0>> <PRINC " "> <SET
|
||||||
|
D <ZREST .D 2>> <SET P <- .P 1>>> <PRINC "]]">>
|
||||||
|
<COND (<CHECK-VERSION? YZIP> <DEFMAC PUSH-PSTACK ('S 'OBJ) <FORM XPUSH .OBJ .S>
|
||||||
|
>) (T <IF-P-DEBUGGING-PARSER <GLOBAL PSTACK-WARN:NUMBER 20>> <ROUTINE
|
||||||
|
PUSH-PSTACK (S:PSTACK OBJ "AUX" TMP) <SET TMP <+ 1 <PSTACK-PTR .S>>> <COND (<
|
||||||
|
L=? ,MAX-PSTACK-SIZE .TMP> <P-NO-MEM-ROUTINE> <RFALSE>)> <IF-P-DEBUGGING-PARSER
|
||||||
|
<COND (<L? ,PSTACK-WARN .TMP> <SETG PSTACK-WARN .TMP> <PRINTI "[PSTACK: "> <
|
||||||
|
PRINTN <- ,MAX-PSTACK-SIZE .TMP>> <PRINTI " left!]|">)>> <PSTACK-PTR .S .TMP> <
|
||||||
|
ZPUT .S .TMP .OBJ> .S>)>
|
||||||
|
<COND (<CHECK-VERSION? YZIP> <DEFMAC FLUSH-PSTACK ('S "OPT" ('N 1)) <FORM
|
||||||
|
FSTACK .N .S>>) (T <ROUTINE FLUSH-PSTACK (S:PSTACK "OPT" (N:FIX 1)) <COND (<G?
|
||||||
|
0 <SET N <- <PSTACK-PTR .S> .N>>> <SET N 0>)> <PSTACK-PTR .S .N> .S>)>
|
||||||
|
<COND (<CHECK-VERSION? YZIP> <DEFMAC POP-PSTACK ('S "OPT" ('N 1)) <COND (<1? .N
|
||||||
|
> <FORM POP .S>) (T <FORM FSTACK .N .S>)>>) (T <ROUTINE POP-PSTACK (S:PSTACK
|
||||||
|
"OPT" (N:FIX 1) "AUX" (OBJ <PEEK-PSTACK .S>)) <COND (<NOT <0? .N>> <
|
||||||
|
FLUSH-PSTACK .S .N>)> .OBJ>)>
|
||||||
|
<COND (<CHECK-VERSION? YZIP> <ROUTINE PEEK-PSTACK (S "OPT" (OFFS 0) "AUX" (N 0)
|
||||||
|
VAL) <REPEAT () <SET VAL <POP .S>> <PUSH .VAL> <SET N <ADD N 1>> <COND (<LESS?
|
||||||
|
<SET OFFS <SUB OFFS 1>> 0> <RETURN>)>> <REPEAT () <COND (<LESS? <SET N <SUB N 1
|
||||||
|
>> 0> <RETURN>) (T <XPUSH #ZLOCAL!-IZILCH STACK .S>)>> .VAL>) (T <ROUTINE
|
||||||
|
PEEK-PSTACK (S:PSTACK "OPT" (OFFS:FIX 0)) <ZGET .S <- <PSTACK-PTR .S> .OFFS>>>)
|
||||||
|
>
|
||||||
|
<DEFINE-ROUTINE PEEK-PSTACK>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<ENDPACKAGE>
|
|
@ -0,0 +1,18 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PEEK-PSTACK:ANY:1:2,S,OFFS,N,VAL
|
||||||
|
?PRG1: POP S >VAL
|
||||||
|
PUSH VAL
|
||||||
|
INC 'N
|
||||||
|
DLESS? 'OFFS,0 \?PRG1
|
||||||
|
?PRG5: DLESS? 'N,0 /?REP6
|
||||||
|
POP
|
||||||
|
XPUSH STACK,S /?PRG5
|
||||||
|
JUMP ?PRG5
|
||||||
|
?REP6: RETURN VAL
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -0,0 +1,90 @@
|
||||||
|
Puzzles marked with a + have "happy" endings: they can be solved in the
|
||||||
|
usual sense. Those marked with a - can't be solved in the sense that
|
||||||
|
there is a happy ending, or a way to reach the stated goal. Those marked
|
||||||
|
with a . have a partial solution (you can get part of the goal)
|
||||||
|
|
||||||
|
Blackthorne
|
||||||
|
(Goal is to survive, to regain his ship, to return to England. Later,
|
||||||
|
to learn Japanese, prove he's not a barbarian, and to keep Mariko.)
|
||||||
|
+ Reef/Arrival: pilot Erasmus through reef, avoid being washed
|
||||||
|
overboard
|
||||||
|
. The Pit: prevent Yabu from killing anyone, become civilized
|
||||||
|
+ Rescuing Rodrigues: tying kimonos, getting Yabu's attention
|
||||||
|
+ Suicide Attempt: must go through with it
|
||||||
|
+ Surviving in Prison: beat up baddies, become friends with
|
||||||
|
Fr. Domingo, don't reveal that you're English
|
||||||
|
+ Learning Japanese: this goes on throughout the game, but there
|
||||||
|
is a long sequence soon after you first meet Mariko
|
||||||
|
. The Pheasant: you could probably throw it away?
|
||||||
|
+ Teaching Toranaga to dive/not beating him in race
|
||||||
|
+ Toranaga's Escape from Osaka Castle
|
||||||
|
Diversion: must notice that old woman is really Toranaga
|
||||||
|
Battle at/in harbor: must thread way through maze of streets,
|
||||||
|
get to ship, get by Rodrigues in harbor
|
||||||
|
+ Rescuing Toranaga from Earthquake
|
||||||
|
- Saving Mariko from her suicide: prevent Mariko from committing
|
||||||
|
suicide (can't "win" because it is only Oshido who can do this)
|
||||||
|
- Saving Mariko during battle at Osaka Castle: if you save Mariko
|
||||||
|
the point of the suicide/battle is lost, also, she "wants" to
|
||||||
|
die. You can, however, prevent her from being kidnapped by the
|
||||||
|
ninja.
|
||||||
|
|
||||||
|
Mariko
|
||||||
|
(Goal is to atone for her father's sin and gain revenge against the
|
||||||
|
Taiko and Ishido (by helping Toranaga). Later, to keep her affair with
|
||||||
|
Blackthorne secret, to somehow have him without compromising her
|
||||||
|
position.)
|
||||||
|
Teaching Blackthorne Japanese
|
||||||
|
Falling in love with Blackthorne
|
||||||
|
Avoiding rape by Portuguese
|
||||||
|
Suicide Attempt
|
||||||
|
Attack on Osaka Castle
|
||||||
|
|
||||||
|
Toranaga
|
||||||
|
(Goal is to become Shogun.)
|
||||||
|
Escape from Osaka Castle
|
||||||
|
Disguise as a woman
|
||||||
|
Battle at/in harbor
|
||||||
|
Influencing other daimyos
|
||||||
|
Zataki
|
||||||
|
Kiyama
|
||||||
|
Detecting Yabu's treachery
|
||||||
|
|
||||||
|
Omi
|
||||||
|
(Goal is increased power and influence, ultimately to replace Yabu as
|
||||||
|
head of the Kasigi clan.)
|
||||||
|
Taming Blackthorne
|
||||||
|
The Musket Regiment
|
||||||
|
Getting Kiku
|
||||||
|
|
||||||
|
Yabu
|
||||||
|
(Goal is increased power and influence, perhaps ultimately to be Shogun,
|
||||||
|
but more immediately to avoid detection as a traitor.)
|
||||||
|
The Waiting Barbarian
|
||||||
|
Betrayal of Toranaga
|
||||||
|
Attack on Osaka Castle
|
||||||
|
Killing Sumiyori
|
||||||
|
Letting in the ninja
|
||||||
|
|
||||||
|
Ferriera
|
||||||
|
(Goal is to destroy Blackthorne, failing that, his ship. Long-term,
|
||||||
|
wealth for himself and decreased influence for the Jesuits.)
|
||||||
|
Neutralizing Blackthorne
|
||||||
|
Gaining the upper hand vs. the Jesuits
|
||||||
|
Killing B. after he is released from Osaka
|
||||||
|
|
||||||
|
...more possible characters...
|
||||||
|
|
||||||
|
dell'Aqua
|
||||||
|
|
||||||
|
Alvito
|
||||||
|
|
||||||
|
Rodrigues
|
||||||
|
|
||||||
|
Ochiba
|
||||||
|
|
||||||
|
Ishido
|
||||||
|
|
||||||
|
Usagi
|
||||||
|
|
||||||
|
Mura
|
|
@ -0,0 +1,180 @@
|
||||||
|
|
||||||
|
<FILE-FLAGS SENTENCE-ENDS?>
|
||||||
|
<BEGIN-SEGMENT QUAKE>
|
||||||
|
<ROOM PLATEAU (LOC ROOMS) (SCENE S-QUAKE) (DESC "Plateau") (SYNONYM PLATEAU) (
|
||||||
|
SCORE 4) (AFTER ZATAKI-AFTER-F) (FDESC
|
||||||
|
"You sit cross-legged in front of Toranaga, swords in his
|
||||||
|
sash. Mariko is explaining something to you. \"War
|
||||||
|
is coming,\" she says. \"When?\" you ask. \"Very soon, so you are to leave
|
||||||
|
at once with me. I'm going to Osaka, you are to accompany me part of
|
||||||
|
the way, but you're going on to Yedo to prepare your ship for war.\"") (FLAGS
|
||||||
|
ONBIT OUTSIDE SCOREBIT) (ACTION PLATEAU-F)>
|
||||||
|
<DEFINE-ROUTINE PLATEAU-F>
|
||||||
|
<GLOBAL TORANAGA-HELD-FLAG <>>
|
||||||
|
<GLOBAL QUAKE? <>>
|
||||||
|
<DEFINE-ROUTINE I-QUAKE>
|
||||||
|
<GLOBAL QUAKE-CNT 0 %<> WORD>
|
||||||
|
<OBJECT EARTHQUAKE (DESC "earthquake") (SYNONYM QUAKE EARTHQUAKE) (ADJECTIVE
|
||||||
|
EARTH) (ACTION EARTHQUAKE-F)>
|
||||||
|
<DEFINE-ROUTINE EARTHQUAKE-F>
|
||||||
|
<OBJECT MAIN-FISSURE (DESC "main fissure") (SYNONYM FISSURE CHASM CLEFT DITCH
|
||||||
|
LEDGE) (ADJECTIVE MAIN FIRST OLD MUDDY) (FLAGS SEARCHBIT OPENBIT CONTBIT VEHBIT
|
||||||
|
) (GENERIC GENERIC-FISSURE-F) (DESCFCN FISSURE-DESC) (ACTION MAIN-FISSURE-F)>
|
||||||
|
<DEFINE-ROUTINE MAIN-FISSURE-F>
|
||||||
|
<DEFINE-ROUTINE GENERIC-FISSURE-F>
|
||||||
|
<OBJECT SIDE-FISSURE (DESC "side fissure") (SYNONYM FISSURE CHASM CLEFT DITCH
|
||||||
|
GAP LEDGE) (ADJECTIVE SIDE NEW SECOND MUDDY) (FLAGS SEARCHBIT OPENBIT CONTBIT
|
||||||
|
VEHBIT SCOREBIT) (GENERIC GENERIC-FISSURE-F) (DESCFCN FISSURE-DESC) (ACTION
|
||||||
|
SIDE-FISSURE-F)>
|
||||||
|
<DEFINE-ROUTINE FISSURE-DESC>
|
||||||
|
<DEFINE-ROUTINE SIDE-FISSURE-F>
|
||||||
|
<DEFINE-ROUTINE I-CRAWL>
|
||||||
|
<DEFINE-ROUTINE ZATAKI-AFTER-F>
|
||||||
|
<OBJECT ZATAKI (LOC GLOBAL-OBJECTS) (DESC "Zataki") (SYNONYM ZATAKI) (ADJECTIVE
|
||||||
|
SAIGAWA LORD) (FLAGS PERSON JAPANESEBIT NOABIT NOTHEBIT OPENBIT CONTBIT
|
||||||
|
SEARCHBIT) (CONTFCN ZATAKI-F) (ACTION ZATAKI-F)>
|
||||||
|
<DEFINE-ROUTINE ZATAKI-F>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<BEGIN-SEGMENT YOKOSE>
|
||||||
|
<CONSTANT J-YOSHI 130>
|
||||||
|
<ROOM YOKOSE-BATH-HOUSE (LOC ROOMS) (SCENE S-JOURNEY) (SCORE 3) (AFTER
|
||||||
|
JOURNEY-AFTER-F) (FDESC
|
||||||
|
"Toranaga tells everyone he will head up the east road toward Atami
|
||||||
|
and Odawara, thence over the mountains to Yedo. Mariko is given
|
||||||
|
permission to go to Osaka. \"But first you'll go directly from here
|
||||||
|
to Mishima, then continue on to Yedo with the Anjin-san. You're
|
||||||
|
responsible for him until you arrive.\"|
|
||||||
|
|
|
||||||
|
Buntaro turns to Mariko. \"Sayonara -- until I see you at Osaka. When
|
||||||
|
we meet there or when you return from there, then we begin again.\"|
|
||||||
|
|
|
||||||
|
\"Sayonara, my Lord.\" Mariko bows. He swings into his saddle and
|
||||||
|
is off toward the head of the column.|
|
||||||
|
|
|
||||||
|
\"Go with God,\" she says, and you watch her eyes following Buntaro.|
|
||||||
|
|
|
||||||
|
The journey to Mishima takes nine days, and every night, for part of
|
||||||
|
the night, you are together. Secretly. Your escort, Captain Akira
|
||||||
|
Yoshinaka, unwittingly makes it easier by placing you in adjoining rooms.|
|
||||||
|
|
|
||||||
|
Tonight the group arrives at Yokose Spa, road-weary and dirty from the
|
||||||
|
journey. Everyone is anxious for a bath and a night's sleep -- or
|
||||||
|
other relaxation.") (DESC "Bath House") (LDESC
|
||||||
|
"This is the bath house outside the inn at Yokose. The first floor of
|
||||||
|
the inn is to the west.") (SYNONYM BATH HOUSE) (ADJECTIVE BATH) (WEST TO
|
||||||
|
YOKOSE-FIRST-FLOOR) (FLAGS ONBIT RMUNGBIT) (ACTION YOKOSE-BATH-HOUSE-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-BATH-HOUSE-F>
|
||||||
|
<DEFINE-ROUTINE JOURNEY-AFTER-F>
|
||||||
|
<OBJECT ROBE (LOC YOKOSE-BATH-HOUSE) (OWNER MARIKO) (DESC "robe") (SYNONYM ROBE
|
||||||
|
) (ADJECTIVE THICK COTTON BATHING BATH) (FLAGS TAKEBIT WEARABLE WEARBIT) (
|
||||||
|
ACTION ROBE-F)>
|
||||||
|
<DEFINE-ROUTINE ROBE-F>
|
||||||
|
<OBJECT TOWEL (LOC YOKOSE-BATH-HOUSE) (DESC "towel") (SYNONYM TOWEL) (ADJECTIVE
|
||||||
|
SMALL BATH) (FLAGS TAKEBIT TOOLBIT WEARABLE) (ACTION TOWEL-F)>
|
||||||
|
<DEFINE-ROUTINE TOWEL-F>
|
||||||
|
<OBJECT YOKOSE-BATHTUB (LOC YOKOSE-BATH-HOUSE) (DESC "bath tub") (SYNONYM TUB
|
||||||
|
BATH POOL WATER) (ADJECTIVE BATH WOODEN HOT) (FLAGS NDESCBIT CANT-HOLD VEHBIT
|
||||||
|
OPENBIT CONTBIT SEARCHBIT SCOREBIT) (CAPACITY 300) (DESCFCN YOKOSE-BATHTUB-DESC
|
||||||
|
) (ACTION YOKOSE-BATHTUB-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-BATHTUB-DESC>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-BATHTUB-F>
|
||||||
|
<DEFINE-ROUTINE PUT-DOWN-TOWEL>
|
||||||
|
<DEFINE-ROUTINE EXHIBITION>
|
||||||
|
<DEFINE-ROUTINE I-YOKOSE-BATH>
|
||||||
|
<GLOBAL BATH-CNT 0 %<> WORD>
|
||||||
|
<OBJECT SHOJI-1 (LOC LOCAL-GLOBALS) (DESC "west shoji") (SYNONYM SHOJI DOOR) (
|
||||||
|
FLAGS NDESCBIT DOORBIT)>
|
||||||
|
<OBJECT SHOJI-2 (LOC LOCAL-GLOBALS) (DESC "east shoji") (SYNONYM SHOJI DOOR) (
|
||||||
|
FLAGS NDESCBIT DOORBIT)>
|
||||||
|
<OBJECT SHOJI-3 (LOC LOCAL-GLOBALS) (DESC "west shoji") (SYNONYM SHOJI DOOR) (
|
||||||
|
FLAGS NDESCBIT DOORBIT)>
|
||||||
|
<OBJECT SHOJI-4 (LOC LOCAL-GLOBALS) (DESC "east shoji") (SYNONYM SHOJI DOOR) (
|
||||||
|
FLAGS NDESCBIT DOORBIT)>
|
||||||
|
<OBJECT SHOJI-5 (LOC LOCAL-GLOBALS) (DESC "west shoji") (SYNONYM SHOJI DOOR) (
|
||||||
|
FLAGS NDESCBIT DOORBIT)>
|
||||||
|
<OBJECT SHOJI-6 (LOC LOCAL-GLOBALS) (DESC "east shoji") (SYNONYM SHOJI DOOR) (
|
||||||
|
FLAGS NDESCBIT DOORBIT)>
|
||||||
|
<ROOM YOKOSE-SPA-1 (LOC ROOMS) (SCENE S-JOURNEY) (OWNER BLACKTHORNE) (DESC
|
||||||
|
"Blackthorne's Room") (LDESC
|
||||||
|
"This is your room at the spa at Yokose. The corridor is outside, and
|
||||||
|
Mariko's room is next to yours, but accessible only from the corridor.") (
|
||||||
|
SYNONYM YOKOSE SPA ROOM) (ADJECTIVE YOKOSE) (OUT TO YOKOSE-CORRIDOR-1) (EAST TO
|
||||||
|
YOKOSE-CORRIDOR-1) (FLAGS ONBIT RMUNGBIT) (GLOBAL LG-YOSHINAKA SHOJI-1) (ACTION
|
||||||
|
YOKOSE-SPA-1-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-SPA-1-F>
|
||||||
|
<ROOM YOKOSE-SPA-2 (LOC ROOMS) (SCENE S-JOURNEY) (DESC "Room in the Inn") (
|
||||||
|
LDESC "This is a room at the spa at Yokose. The corridor is outside.") (
|
||||||
|
SYNONYM YOKOSE SPA ROOM) (ADJECTIVE YOKOSE) (OUT TO YOKOSE-CORRIDOR-1) (WEST TO
|
||||||
|
YOKOSE-CORRIDOR-1) (GLOBAL LG-YOSHINAKA SHOJI-2) (FLAGS ONBIT RMUNGBIT) (ACTION
|
||||||
|
YOKOSE-SPA-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-SPA-F>
|
||||||
|
<OBJECT YOKOSE-GUEST-1 (LOC YOKOSE-SPA-2) (DESC "guest") (SYNONYM GUEST) (FLAGS
|
||||||
|
PERSON JAPANESEBIT) (ACTION YOKOSE-GUEST-F)>
|
||||||
|
<ROOM YOKOSE-CORRIDOR-1 (LOC ROOMS) (SCENE S-JOURNEY) (DESC "South of Corridor"
|
||||||
|
) (LDESC "This is the corridor outside the rooms. It continues north and there
|
||||||
|
are rooms to the east and west.") (SYNONYM YOKOSE SPA CORRIDOR) (ADJECTIVE
|
||||||
|
YOKOSE) (WEST TO YOKOSE-SPA-1) (EAST TO YOKOSE-SPA-2) (NORTH TO
|
||||||
|
YOKOSE-CORRIDOR-2) (GLOBAL LG-YOSHINAKA SHOJI-1 SHOJI-2) (FLAGS ONBIT)>
|
||||||
|
<ROOM YOKOSE-SPA-3 (LOC ROOMS) (SCENE S-JOURNEY) (DESC "Mariko's Room") (OWNER
|
||||||
|
MARIKO) (LDESC "This is a room at the spa at Yokose. The corridor is outside."
|
||||||
|
) (SYNONYM YOKOSE SPA ROOM) (ADJECTIVE YOKOSE) (OUT TO YOKOSE-CORRIDOR-2) (EAST
|
||||||
|
TO YOKOSE-CORRIDOR-2) (FLAGS ONBIT RMUNGBIT SCOREBIT) (GLOBAL LG-YOSHINAKA
|
||||||
|
SHOJI-3) (ACTION YOKOSE-SPA-3-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-SPA-3-F>
|
||||||
|
<ROOM YOKOSE-SPA-4 (LOC ROOMS) (SCENE S-JOURNEY) (DESC "Room at the Inn") (
|
||||||
|
LDESC "This is a room at the spa at Yokose. The corridor is outside.") (
|
||||||
|
SYNONYM YOKOSE SPA ROOM) (ADJECTIVE YOKOSE) (OUT TO YOKOSE-CORRIDOR-2) (WEST TO
|
||||||
|
YOKOSE-CORRIDOR-2) (GLOBAL LG-YOSHINAKA SHOJI-4) (FLAGS ONBIT RMUNGBIT) (ACTION
|
||||||
|
YOKOSE-SPA-F)>
|
||||||
|
<OBJECT YOKOSE-GUEST-2 (LOC YOKOSE-SPA-4) (DESC "guest") (SYNONYM GUEST) (FLAGS
|
||||||
|
PERSON JAPANESEBIT) (ACTION YOKOSE-GUEST-F)>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-GUEST-F>
|
||||||
|
<ROOM YOKOSE-CORRIDOR-2 (LOC ROOMS) (SCENE S-JOURNEY) (DESC
|
||||||
|
"Middle of Corridor") (LDESC
|
||||||
|
"This is the corridor outside the rooms. It continues north and south
|
||||||
|
and there are rooms to the east and west.") (SYNONYM YOKOSE SPA CORRIDOR) (
|
||||||
|
ADJECTIVE YOKOSE) (WEST TO YOKOSE-SPA-3) (EAST TO YOKOSE-SPA-4) (NORTH TO
|
||||||
|
YOKOSE-CORRIDOR-3) (SOUTH TO YOKOSE-CORRIDOR-1) (GLOBAL LG-YOSHINAKA SHOJI-3
|
||||||
|
SHOJI-4) (FLAGS ONBIT)>
|
||||||
|
<ROOM YOKOSE-SPA-5 (LOC ROOMS) (SCENE S-JOURNEY) (DESC "Gyoko's Room") (OWNER
|
||||||
|
GYOKO) (LDESC "This is a room at the spa at Yokose. The corridor is outside.")
|
||||||
|
(SYNONYM YOKOSE SPA ROOM) (ADJECTIVE YOKOSE) (OUT TO YOKOSE-CORRIDOR-3) (EAST
|
||||||
|
TO YOKOSE-CORRIDOR-3) (GLOBAL LG-YOSHINAKA SHOJI-5) (FLAGS ONBIT RMUNGBIT) (
|
||||||
|
ACTION YOKOSE-SPA-F)>
|
||||||
|
<ROOM YOKOSE-SPA-6 (LOC ROOMS) (SCENE S-JOURNEY) (OWNER YOSHINAKA) (DESC
|
||||||
|
"Yoshinaka's Room") (LDESC
|
||||||
|
"This is a room at the spa at Yokose. The corridor is outside.") (SYNONYM
|
||||||
|
YOKOSE SPA ROOM) (ADJECTIVE YOKOSE) (OUT TO YOKOSE-CORRIDOR-3) (WEST TO
|
||||||
|
YOKOSE-CORRIDOR-3) (GLOBAL LG-YOSHINAKA SHOJI-6) (FLAGS ONBIT RMUNGBIT) (ACTION
|
||||||
|
YOKOSE-SPA-F)>
|
||||||
|
<ROOM YOKOSE-CORRIDOR-3 (LOC ROOMS) (SCENE S-JOURNEY) (DESC "North of Corridor"
|
||||||
|
) (LDESC "This is the corridor outside the rooms. It continues south and there
|
||||||
|
are rooms to the east and west. A stair leads down.") (SYNONYM YOKOSE SPA
|
||||||
|
CORRIDOR) (ADJECTIVE YOKOSE) (WEST TO YOKOSE-SPA-5) (EAST TO YOKOSE-SPA-6) (
|
||||||
|
SOUTH TO YOKOSE-CORRIDOR-2) (DOWN TO YOKOSE-FIRST-FLOOR) (GLOBAL LG-YOSHINAKA
|
||||||
|
SHOJI-5 SHOJI-6) (FLAGS ONBIT)>
|
||||||
|
<ROOM YOKOSE-FIRST-FLOOR (LOC ROOMS) (SCENE S-JOURNEY) (DESC "First Floor") (
|
||||||
|
LDESC "This is the first floor of the spa at Yokose. A stair leads up to
|
||||||
|
the private rooms. To the east is the bath house.") (SYNONYM YOKOSE SPA) (
|
||||||
|
ADJECTIVE YOKOSE) (EAST TO YOKOSE-BATH-HOUSE) (UP TO YOKOSE-CORRIDOR-3) (FLAGS
|
||||||
|
ONBIT RMUNGBIT)>
|
||||||
|
<OBJECT GYOKO (DESC "Gyoko") (SYNONYM GYOKO) (FLAGS PERSON FEMALE NOABIT
|
||||||
|
NOTHEBIT JAPANESEBIT)>
|
||||||
|
<OBJECT KIKU (DESC "Kiku") (SYNONYM KIKU) (FLAGS PERSON FEMALE NOABIT NOTHEBIT
|
||||||
|
JAPANESEBIT)>
|
||||||
|
<OBJECT LG-YOSHINAKA (LOC LOCAL-GLOBALS) (DESC "Yoshinaka") (SYNONYM YOSHINAKA)
|
||||||
|
(FLAGS PERSON NOABIT NOTHEBIT JAPANESEBIT) (ACTION LG-YOSHINAKA-F)>
|
||||||
|
<DEFINE-ROUTINE LG-YOSHINAKA-F>
|
||||||
|
<OBJECT YOSHINAKA (DESC "Yoshinaka") (SYNONYM YOSHINAKA) (FLAGS PERSON NOABIT
|
||||||
|
NOTHEBIT JAPANESEBIT) (ACTION YOSHINAKA-F)>
|
||||||
|
<DEFINE-ROUTINE YOSHINAKA-F>
|
||||||
|
<GLOBAL YOSHI-CHATS 0>
|
||||||
|
<GLOBAL YOSHI-WAITS? 0>
|
||||||
|
<GLOBAL YOSHI-GOAL <>>
|
||||||
|
<GLOBAL YOSHI-TABLE <LTABLE YOKOSE-SPA-1 YOKOSE-SPA-2 YOKOSE-SPA-3 YOKOSE-SPA-4
|
||||||
|
YOKOSE-SPA-5 YOKOSE-SPA-6>>
|
||||||
|
<DEFINE-ROUTINE I-YOSHINAKA>
|
||||||
|
<DEFINE-ROUTINE TELL-WHO>
|
||||||
|
<DEFINE-ROUTINE TELL-WHOSE>
|
||||||
|
<DEFINE-ROUTINE YOKOSE-NEIGHBOR?>
|
||||||
|
<END-SEGMENT>
|
70
quake.zil
70
quake.zil
|
@ -202,7 +202,7 @@ scabbarded, though muddied and scarred." CR>)>)
|
||||||
<COND (<AND <FSET? ,SIDE-FISSURE ,RMUNGBIT>
|
<COND (<AND <FSET? ,SIDE-FISSURE ,RMUNGBIT>
|
||||||
<FSET? ,PLATEAU ,SCOREBIT>>
|
<FSET? ,PLATEAU ,SCOREBIT>>
|
||||||
<TELL
|
<TELL
|
||||||
" You and Toranaga laugh at the sheer
|
"You and Toranaga laugh at the sheer
|
||||||
joy of being alive, which blocks you even more. At length you both
|
joy of being alive, which blocks you even more. At length you both
|
||||||
succeed. You relax and collect your strength." CR>
|
succeed. You relax and collect your strength." CR>
|
||||||
<SETG DELAY-CNT 0>
|
<SETG DELAY-CNT 0>
|
||||||
|
@ -293,25 +293,25 @@ cleft. Mariko screams as it swallows her." CR>)
|
||||||
"There is a new shock.">
|
"There is a new shock.">
|
||||||
<COND (<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
<COND (<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" The ledge you and Mariko are on mostly gives way, only a few tiny
|
"The ledge you and Mariko are on mostly gives way, only a few tiny
|
||||||
holds remaining as the rest falls downward.">)
|
holds remaining as the rest falls downward.">)
|
||||||
(<IN? ,MARIKO ,SIDE-FISSURE>
|
(<IN? ,MARIKO ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" Mariko screams for help from within the side fissure.">)>
|
"Mariko screams for help from within the side fissure.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<TELL CR
|
(<TELL CR
|
||||||
"The chasm howls and begins to close.">
|
"The chasm howls and begins to close.">
|
||||||
<COND (<AND <IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
<COND (<AND <IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
||||||
<IN? ,MARIKO ,SIDE-FISSURE>>
|
<IN? ,MARIKO ,SIDE-FISSURE>>
|
||||||
<TELL
|
<TELL
|
||||||
" You and Mariko fight for balance.">)
|
"You and Mariko fight for balance.">)
|
||||||
(<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
(<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" The far wall screeches sickeningly as it approaches. Mud and
|
"The far wall screeches sickeningly as it approaches. Mud and
|
||||||
stones tumble off it.">)
|
stones tumble off it.">)
|
||||||
(<IN? ,MARIKO ,SIDE-FISSURE>
|
(<IN? ,MARIKO ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" You can barely hear Mariko over the rumble of the earthquake. \"Anjin-san! Help me!\"">)>
|
"You can barely hear Mariko over the rumble of the earthquake. \"Anjin-san! Help me!\"">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<SETG QUAKE? <>>
|
(<SETG QUAKE? <>>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
|
@ -320,7 +320,7 @@ stones tumble off it.">)
|
||||||
<FSET ,MARIKO ,DEAD>
|
<FSET ,MARIKO ,DEAD>
|
||||||
<FSET ,MARIKO ,NDESCBIT>
|
<FSET ,MARIKO ,NDESCBIT>
|
||||||
<TELL
|
<TELL
|
||||||
" Mariko's ledge gives way, and she slides into the depths, clutching
|
"Mariko's ledge gives way, and she slides into the depths, clutching
|
||||||
futilely at the mud walls, her last scream silenced.">)>
|
futilely at the mud walls, her last scream silenced.">)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<COND (<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
(<COND (<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
||||||
|
@ -388,8 +388,7 @@ take a peasant's enjoyment in mere existence." CR>)>)
|
||||||
(<AND <FSET? ,PLATEAU ,SCOREBIT>
|
(<AND <FSET? ,PLATEAU ,SCOREBIT>
|
||||||
<L? ,DELAY-CNT 2>>
|
<L? ,DELAY-CNT 2>>
|
||||||
<RFALSE>)>)
|
<RFALSE>)>)
|
||||||
(<DEQUEUE I-QUAKE>
|
(<COND (<IN? ,MARIKO ,HERE>
|
||||||
<COND (<IN? ,MARIKO ,HERE>
|
|
||||||
<TELL CR
|
<TELL CR
|
||||||
G"You lay full length on the ground and look up at the sky. A moment ago
|
G"You lay full length on the ground and look up at the sky. A moment ago
|
||||||
you were all ""almost dead, and all worry and heartache was wasted. "I"Karma"
|
you were all ""almost dead, and all worry and heartache was wasted. "I"Karma"
|
||||||
|
@ -459,10 +458,10 @@ fingernails tearing from the effort." CR>)
|
||||||
<COND (<IN? ,TORANAGA ,MAIN-FISSURE>
|
<COND (<IN? ,TORANAGA ,MAIN-FISSURE>
|
||||||
<COND (<IN? ,WINNER ,MAIN-FISSURE>
|
<COND (<IN? ,WINNER ,MAIN-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" You are only barely holding on beside Toranaga." CR>)
|
"You are only barely holding on beside Toranaga." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Toranaga clings precariously to the wall a few feet below." CR>)>)
|
"Toranaga clings precariously to the wall a few feet below." CR>)>)
|
||||||
(ELSE <CRLF>)>)
|
(ELSE <CRLF>)>)
|
||||||
(<VERB? ENTER BOARD CLIMB-DOWN>
|
(<VERB? ENTER BOARD CLIMB-DOWN>
|
||||||
<COND (<NOT <FSET? ,MAIN-FISSURE ,RMUNGBIT>>
|
<COND (<NOT <FSET? ,MAIN-FISSURE ,RMUNGBIT>>
|
||||||
|
@ -511,13 +510,13 @@ G"There are no longer any footholds or ledges." CR>)>)>)>>
|
||||||
<COND (<AND <IN? ,MARIKO ,SIDE-FISSURE>
|
<COND (<AND <IN? ,MARIKO ,SIDE-FISSURE>
|
||||||
<IN? ,BLACKTHORNE ,SIDE-FISSURE>>
|
<IN? ,BLACKTHORNE ,SIDE-FISSURE>>
|
||||||
<TELL
|
<TELL
|
||||||
" You and Mariko are clinging">)
|
"You and Mariko are clinging">)
|
||||||
(<IN? ,MARIKO ,SIDE-FISSURE>
|
(<IN? ,MARIKO ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" Mariko clings">)
|
"Mariko clings">)
|
||||||
(<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
(<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" You are clinging">)
|
"You are clinging">)
|
||||||
(ELSE <RFATAL>)>
|
(ELSE <RFATAL>)>
|
||||||
<TELL " desperately to the crumbling"G" wall, standing
|
<TELL " desperately to the crumbling"G" wall, standing
|
||||||
precariously on a narrow ledge.">
|
precariously on a narrow ledge.">
|
||||||
|
@ -527,7 +526,7 @@ precariously on a narrow ledge.">
|
||||||
"The main fissure snakes down from the hill, its muddy depths gaping.">
|
"The main fissure snakes down from the hill, its muddy depths gaping.">
|
||||||
<COND (<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
<COND (<IN? ,BLACKTHORNE ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" You are clinging desperately to the muddy"G" wall, standing
|
"You are clinging desperately to the muddy"G" wall, standing
|
||||||
precariously on a narrow ledge.">)>
|
precariously on a narrow ledge.">)>
|
||||||
<RFATAL>)>)>>
|
<RFATAL>)>)>>
|
||||||
|
|
||||||
|
@ -556,19 +555,19 @@ you with his iron grip." CR>)
|
||||||
(<OR <P? (RAISE PUSH-UP PUSH-OUT PUSH HELP THROW-OFF)
|
(<OR <P? (RAISE PUSH-UP PUSH-OUT PUSH HELP THROW-OFF)
|
||||||
MARIKO
|
MARIKO
|
||||||
(<> ROOMS SIDE-FISSURE)>
|
(<> ROOMS SIDE-FISSURE)>
|
||||||
<P? (PUSH-TO GIVE) MARIKO TORANAGA>>
|
<P? (PUSH-TO PUSH-UP GIVE) MARIKO TORANAGA>>
|
||||||
<TELL
|
<TELL
|
||||||
"Your terror lends you inhuman strength and somehow you manage to
|
"Your terror lends you inhuman strength and somehow you manage to
|
||||||
rip Mariko out of the tomb and shove her upward.">
|
rip Mariko out of the tomb and shove her upward.">
|
||||||
<COND (<IN? ,TORANAGA ,HERE>
|
<COND (<IN? ,TORANAGA ,HERE>
|
||||||
<MOVE ,MARIKO ,HERE>
|
<MOVE ,MARIKO ,HERE>
|
||||||
<TELL
|
<TELL
|
||||||
" Toranaga clutches her wrist and hauls her over the lip of the
|
"Toranaga clutches her wrist and hauls her over the lip of the
|
||||||
chasm." CR>
|
chasm." CR>
|
||||||
<SCORE-OBJECT ,SIDE-FISSURE>)
|
<SCORE-OBJECT ,SIDE-FISSURE>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" She tries to pull herself over the lip of the chasm but she can't
|
"She tries to pull herself over the lip of the chasm but she can't
|
||||||
get a grip on the mud and falls back." CR>)>)
|
get a grip on the mud and falls back." CR>)>)
|
||||||
(<OR <VERB? DISEMBARK CLIMB-UP>
|
(<OR <VERB? DISEMBARK CLIMB-UP>
|
||||||
<P? WALK (OUT UP)>
|
<P? WALK (OUT UP)>
|
||||||
|
@ -591,10 +590,10 @@ the shuddering brink, your lungs gulping air, unable to crawl away." CR>)>)
|
||||||
<NOT <FSET? ,MARIKO ,DEAD>>>
|
<NOT <FSET? ,MARIKO ,DEAD>>>
|
||||||
<COND (<IN? ,WINNER ,SIDE-FISSURE>
|
<COND (<IN? ,WINNER ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" You are standing beside Mariko on a small ledge.">)
|
"You are standing beside Mariko on a small ledge.">)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
" Mariko is shivering on a ledge a few feet below.">)>)>
|
"Mariko is shivering on a ledge a few feet below.">)>)>
|
||||||
<CRLF>)
|
<CRLF>)
|
||||||
(<VERB? REACH-IN>
|
(<VERB? REACH-IN>
|
||||||
<PERFORM ,V?TAKE ,MARIKO>
|
<PERFORM ,V?TAKE ,MARIKO>
|
||||||
|
@ -608,7 +607,7 @@ the shuddering brink, your lungs gulping air, unable to crawl away." CR>)>)
|
||||||
and almost blinding you.">
|
and almost blinding you.">
|
||||||
<COND (<IN? ,MARIKO ,SIDE-FISSURE>
|
<COND (<IN? ,MARIKO ,SIDE-FISSURE>
|
||||||
<TELL
|
<TELL
|
||||||
" You reach the narrow ledge on which Mariko is standing." CR>)
|
"You reach the narrow ledge on which Mariko is standing." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"You reach a narrow crumbling ledge." CR>)>)
|
"You reach a narrow crumbling ledge." CR>)>)
|
||||||
|
@ -618,12 +617,6 @@ G"There are no longer any footholds or ledges." CR>)>)>)>>
|
||||||
|
|
||||||
<ROUTINE I-CRAWL () <RFALSE>>
|
<ROUTINE I-CRAWL () <RFALSE>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
|
||||||
|
|
||||||
"S-ZATAKI"
|
|
||||||
|
|
||||||
<BEGIN-SEGMENT ZATAKI>
|
|
||||||
|
|
||||||
<ROUTINE ZATAKI-AFTER-F ()
|
<ROUTINE ZATAKI-AFTER-F ()
|
||||||
<MARGINAL-PIC ,P-WARRIOR T ,P-WARRIOR-CORNER T>
|
<MARGINAL-PIC ,P-WARRIOR T ,P-WARRIOR-CORNER T>
|
||||||
<TELL
|
<TELL
|
||||||
|
@ -693,7 +686,7 @@ to the will of the Council.\" He bows formally." CR>
|
||||||
"\"You're going to submit?,\" Zataki begins, his face twisting with
|
"\"You're going to submit?,\" Zataki begins, his face twisting with
|
||||||
disbelief." CR>
|
disbelief." CR>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"\"Listen! I accept the invitation! I will leave today!\"">>
|
"\"Listen! I accept the invitation! I will leave today!\"" CR>>
|
||||||
|
|
||||||
<OBJECT ZATAKI
|
<OBJECT ZATAKI
|
||||||
(LOC GLOBAL-OBJECTS)
|
(LOC GLOBAL-OBJECTS)
|
||||||
|
@ -718,11 +711,11 @@ his swords well used." CR>)
|
||||||
"Zataki is Lord of Shinano and half-brother of Toranaga.">
|
"Zataki is Lord of Shinano and half-brother of Toranaga.">
|
||||||
<COND (<G=? ,SCENE ,S-QUAKE>
|
<COND (<G=? ,SCENE ,S-QUAKE>
|
||||||
<TELL
|
<TELL
|
||||||
" He is a member of the Council of Regents, replacing Lord Sugiyama,
|
"He is a member of the Council of Regents, replacing Lord Sugiyama,
|
||||||
who was murdered by "I"ronin"" -- or assassinated by Ishido.">)>
|
who was murdered by "I"ronin"" -- or assassinated by Ishido.">)>
|
||||||
<CRLF>)>)>>
|
<CRLF>)>)>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"QUAKE">
|
||||||
|
|
||||||
"S-JOURNEY"
|
"S-JOURNEY"
|
||||||
|
|
||||||
|
@ -799,7 +792,7 @@ tied loosely about her waist." CR>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<TELL
|
<TELL
|
||||||
"She is naked, preparing to take her bath.">)>
|
"She is naked, preparing to take her bath.">)>
|
||||||
<TELL " The first time you saw her naked
|
<TELL "The first time you saw her naked
|
||||||
you were greatly affected. Now her nakedness, of itself, does not touch
|
you were greatly affected. Now her nakedness, of itself, does not touch
|
||||||
you physically. Living closely in Japanese style in a Japanese house
|
you physically. Living closely in Japanese style in a Japanese house
|
||||||
where the walls are paper and the rooms multipurpose, you have seen her
|
where the walls are paper and the rooms multipurpose, you have seen her
|
||||||
|
@ -935,7 +928,7 @@ you remove it. You put it aside, neatly folded." CR>)>>
|
||||||
"A large wooden bathtub dominates the room.">
|
"A large wooden bathtub dominates the room.">
|
||||||
<COND (<IN? ,MARIKO ,BATHTUB>
|
<COND (<IN? ,MARIKO ,BATHTUB>
|
||||||
<TELL
|
<TELL
|
||||||
" Mariko is bathing in the tub.">)>
|
"Mariko is bathing in the tub.">)>
|
||||||
<RFATAL>)>>
|
<RFATAL>)>>
|
||||||
|
|
||||||
<ROUTINE YOKOSE-BATHTUB-F ("OPT" (RARG <>) "AUX" RUIN)
|
<ROUTINE YOKOSE-BATHTUB-F ("OPT" (RARG <>) "AUX" RUIN)
|
||||||
|
@ -1035,14 +1028,14 @@ G"You try to drink the scalding bathwater, but it's far too hot." CR>)>)>>
|
||||||
"First, you put down the towel so it won't get wet. ">)>>
|
"First, you put down the towel so it won't get wet. ">)>>
|
||||||
|
|
||||||
<ROUTINE EXHIBITION ()
|
<ROUTINE EXHIBITION ()
|
||||||
<TELL " People are watching all around the room, undisturbed by
|
<TELL "People are watching all around the room, undisturbed by
|
||||||
a public exhibition that would lead to prison or worse in
|
a public exhibition that would lead to prison or worse in
|
||||||
England.|
|
England.|
|
||||||
|
|
|
|
||||||
As the bath finishes and you climb out, you try to hide your anticipation
|
As the bath finishes and you climb out, you try to hide your anticipation
|
||||||
of the night -- your anticipation and your fear of discovery." CR>
|
of the night -- your anticipation and your fear of discovery." CR>
|
||||||
<TIME-PASSES>
|
|
||||||
<SCORE-OBJECT ,YOKOSE-BATHTUB>
|
<SCORE-OBJECT ,YOKOSE-BATHTUB>
|
||||||
|
<TIME-PASSES>
|
||||||
<DRESS-BLACKTHORNE>
|
<DRESS-BLACKTHORNE>
|
||||||
<MOVE ,DICTIONARY ,YOKOSE-SPA-1>
|
<MOVE ,DICTIONARY ,YOKOSE-SPA-1>
|
||||||
<MOVE ,MARIKO ,YOKOSE-SPA-3>
|
<MOVE ,MARIKO ,YOKOSE-SPA-3>
|
||||||
|
@ -1129,7 +1122,6 @@ your prudishness." CR>
|
||||||
<TELL CR
|
<TELL CR
|
||||||
"Mariko climbs out of the bath, puts on her robe, and with a slightly
|
"Mariko climbs out of the bath, puts on her robe, and with a slightly
|
||||||
disappointed bow, heads inside." CR>
|
disappointed bow, heads inside." CR>
|
||||||
<DEQUEUE I-YOKOSE-BATH>
|
|
||||||
<FAILED-SCENE>)>
|
<FAILED-SCENE>)>
|
||||||
<RTRUE>)>)
|
<RTRUE>)>)
|
||||||
(<REMOVE ,ROBE>
|
(<REMOVE ,ROBE>
|
||||||
|
@ -1208,8 +1200,9 @@ away to the city of Odawara. From there to Yedo is only a matter of time.\"|
|
||||||
\"Not enough,\" she answered.|
|
\"Not enough,\" she answered.|
|
||||||
|
|
|
|
||||||
\"You're wrong, my love, so sorry,\" you said. \"There's all the time in the
|
\"You're wrong, my love, so sorry,\" you said. \"There's all the time in the
|
||||||
world.\"" CR CR>
|
world.\"" CR>
|
||||||
<NEXT-SCENE>)>)>>
|
<NEXT-SCENE>
|
||||||
|
<RFATAL> ;"short out v-first-look")>)>>
|
||||||
|
|
||||||
<ROOM YOKOSE-SPA-2
|
<ROOM YOKOSE-SPA-2
|
||||||
(LOC ROOMS)
|
(LOC ROOMS)
|
||||||
|
@ -1277,7 +1270,8 @@ are rooms to the east and west.")
|
||||||
<COND (<IN? ,CHIMMOKO ,HERE>
|
<COND (<IN? ,CHIMMOKO ,HERE>
|
||||||
<MOVE ,CHIMMOKO ,YOKOSE-CORRIDOR-2>
|
<MOVE ,CHIMMOKO ,YOKOSE-CORRIDOR-2>
|
||||||
<TELL
|
<TELL
|
||||||
"As you enter the room, Chimmoko slips silently out." CR CR>)>)
|
"As you enter the room, Chimmoko slips silently out." CR CR>)>
|
||||||
|
<RTRUE>)
|
||||||
(<RARG? BEG>
|
(<RARG? BEG>
|
||||||
<COND (<P? WALK (P?OUT P?EAST)>
|
<COND (<P? WALK (P?OUT P?EAST)>
|
||||||
<COND (<EQUAL? <LOC ,YOSHINAKA> ,YOKOSE-CORRIDOR-1
|
<COND (<EQUAL? <LOC ,YOSHINAKA> ,YOKOSE-CORRIDOR-1
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("IN-ZILCH" T)) ()>
|
||||||
|
|
||||||
|
<FILE-FLAGS MDL-ZIL?>
|
||||||
|
<DEFAULTS-DEFINED PRINT-IS/ARE>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<OBJECT WHAT (LOC GLOBAL-OBJECTS) (DESC "what") (SYNONYM WHAT WHO) (FLAGS
|
||||||
|
NOTHEBIT) (ACTION WHAT-F)>
|
||||||
|
<DEFINE-ROUTINE WHAT-F>
|
||||||
|
<DEFINE-ROUTINE TELL-Q-WORD>
|
||||||
|
<DEFINE-ROUTINE P-NEGATIVE?>
|
||||||
|
<DEFINE-ROUTINE TRY-QCONTEXT?>
|
||||||
|
<DEFINE-ROUTINE PRE-BE>
|
||||||
|
<SYNTAX BE OBJECT (MOBY) = V-BE PRE-BE>
|
||||||
|
<SYNTAX BE OBJECT (MOBY) OBJECT (MOBY) = V-BE PRE-BE>
|
||||||
|
<SYNTAX BE? OBJECT (MOBY) = V-BE?>
|
||||||
|
<SYNTAX BE? OBJECT (MOBY) OBJECT (MOBY) = V-BE?>
|
||||||
|
<DEFINE-ROUTINE V-BE>
|
||||||
|
<DEFINE-ROUTINE RIGHT-PREP?>
|
||||||
|
<DEFINE-ROUTINE V-BE?>
|
||||||
|
<SYNTAX HOW OBJECT (MOBY) (FIND RLANDBIT) = V-HOW>
|
||||||
|
<SYNTAX HOW OBJECT (MOBY) OBJECT (MOBY) = V-HOW>
|
||||||
|
<SYNTAX WHAT OBJECT (MOBY) (FIND RLANDBIT) = V-WHAT>
|
||||||
|
<SYNTAX WHAT OBJECT (MOBY) OBJECT (MOBY) = V-WHAT>
|
||||||
|
<SYNTAX WHEN OBJECT (MOBY) (FIND RLANDBIT) = V-WHEN>
|
||||||
|
<SYNTAX WHEN OBJECT (MOBY) OBJECT (MOBY) = V-WHEN>
|
||||||
|
<SYNTAX WHERE OBJECT (MOBY) (FIND RLANDBIT) = V-WHERE PRE-WHERE>
|
||||||
|
<SYNTAX WHERE OBJECT (MOBY) OBJECT (MOBY) = V-WHERE PRE-WHERE>
|
||||||
|
<SYNTAX WHO OBJECT (MOBY) (FIND RLANDBIT) = V-WHO>
|
||||||
|
<SYNTAX WHO OBJECT (MOBY) OBJECT (MOBY) = V-WHO>
|
||||||
|
<SYNONYM WHO WHOM>
|
||||||
|
<SYNTAX WHY OBJECT (MOBY) (FIND RLANDBIT) = V-WHY>
|
||||||
|
<SYNTAX WHY OBJECT (MOBY) OBJECT (MOBY) = V-WHY>
|
||||||
|
<SYNTAX WILL OBJECT (MOBY) = V-WILL?>
|
||||||
|
<SYNTAX WOULD OBJECT (MOBY) = V-WOULD?>
|
||||||
|
<DEFINE-ROUTINE V-WHO>
|
||||||
|
<DEFINE-ROUTINE V-WHAT>
|
||||||
|
<DEFINE-ROUTINE PRE-WHERE>
|
||||||
|
<DEFINE-ROUTINE V-WHERE>
|
||||||
|
<DEFINE-ROUTINE V-WHEN>
|
||||||
|
<DEFINE-ROUTINE V-WHY>
|
||||||
|
<DEFINE-ROUTINE V-HOW>
|
||||||
|
<CONSTANT ADJ-TABLE <LTABLE <VOC "OUTSIDE" <>> OUTSIDE? <VOC "OPEN" ADJ> OPEN?
|
||||||
|
<VOC "CLOSED" ADJ> Q-CLOSED? <VOC "LOCKED" ADJ> LOCKED? <VOC "UNLOCKED" ADJ>
|
||||||
|
UNLOCKED? <VOC "DEAD" ADJ> DEAD? <VOC "ALIVE" ADJ> ALIVE? <VOC "QUIET" ADJ>
|
||||||
|
QUIET? <VOC "DUTCH" ADJ> DUTCH? <VOC "PORTUGUESE" ADJ> PORTUGUESE? <VOC
|
||||||
|
"SPANISH" ADJ> SPANISH? <VOC "ENGLISH" ADJ> ENGLISH? <VOC "JAPANESE" ADJ>
|
||||||
|
JAPANESE?>>
|
||||||
|
<DEFINE-ROUTINE QUIET?>
|
||||||
|
<DEFINE-ROUTINE OUTSIDE?>
|
||||||
|
<DEFINE-ROUTINE OPEN?>
|
||||||
|
<DEFINE-ROUTINE Q-CLOSED?>
|
||||||
|
<DEFINE-ROUTINE LOCKED?>
|
||||||
|
<DEFINE-ROUTINE UNLOCKED?>
|
||||||
|
<DEFINE-ROUTINE DEAD?>
|
||||||
|
<DEFINE-ROUTINE ALIVE?>
|
||||||
|
<DEFINE-ROUTINE PRSO-IS>
|
||||||
|
<DEFAULT-DEFINITION PRINT-IS/ARE <ROUTINE PRINT-IS/ARE>>
|
||||||
|
<DEFINE-ROUTINE IS-PRSO-ADJ?>
|
||||||
|
<DEFINE-ROUTINE PP?>
|
||||||
|
<SYNTAX CAN OBJECT (MOBY) = V-CAN?>
|
||||||
|
<SYNTAX COULD OBJECT (MOBY) = V-COULD?>
|
||||||
|
<SYNTAX DO OBJECT (MOBY) = V-DO?>
|
||||||
|
<SYNTAX MAY OBJECT (MOBY) = V-MAY?>
|
||||||
|
<SYNTAX MIGHT OBJECT (MOBY) = V-MIGHT?>
|
||||||
|
<SYNTAX MUST OBJECT (MOBY) = V-MUST?>
|
||||||
|
<SYNTAX SHOULD OBJECT (MOBY) = V-SHOULD?>
|
||||||
|
<DEFINE-ROUTINE V-STATEMENT>
|
||||||
|
<CONSTANT WHO-KNOWS-STRING "It's not easy to tell ">
|
||||||
|
<DEFINE-ROUTINE WHO-KNOWS>
|
||||||
|
<DEFINE-ROUTINE ECHO-NOUNS>
|
||||||
|
<DEFINE-ROUTINE V-CAN?>
|
||||||
|
<DEFINE-ROUTINE V-MAY?>
|
||||||
|
<DEFINE-ROUTINE V-DO?>
|
||||||
|
<DEFINE-ROUTINE V-COULD?>
|
||||||
|
<DEFINE-ROUTINE V-WOULD?>
|
||||||
|
<DEFINE-ROUTINE V-SHOULD?>
|
||||||
|
<DEFINE-ROUTINE V-MIGHT?>
|
||||||
|
<DEFINE-ROUTINE V-WILL?>
|
||||||
|
<DEFINE-ROUTINE V-MUST?>
|
||||||
|
<DEFINE-ROUTINE QUESTION-VERB?>
|
||||||
|
<CONSTANT QACTIONS <PLTABLE V-BE V-BE? 0 V-DISEMBARK V-DISEMBARK? 0 V-DROP
|
||||||
|
V-DROP? PRE-DROP? V-TAKE V-TAKE? PRE-TAKE?>>
|
||||||
|
<DEFINE-ROUTINE PRE-DROP?>
|
||||||
|
<DEFINE-ROUTINE V-DROP?>
|
||||||
|
<DEFINE-ROUTINE V-DISEMBARK?>
|
||||||
|
<DEFINE-ROUTINE PRE-TAKE?>
|
||||||
|
<DEFINE-ROUTINE V-TAKE?>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,696 @@
|
||||||
|
|
||||||
|
.SEGMENT "0"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT WHAT-F:ANY:0:0,OBJ,TMP,NOT?,LOC?
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BAND PARSE-NOT,STACK >NOT?
|
||||||
|
GET PARSE-RESULT,9 >LOC?
|
||||||
|
EQUAL? PRSA,V?BE? /FALSE
|
||||||
|
GET PARSE-RESULT,10 >OBJ
|
||||||
|
EQUAL? OBJ,W?WHO,W?WHAT,W?WHERE /FALSE
|
||||||
|
GET PARSE-RESULT,10 >OBJ
|
||||||
|
EQUAL? OBJ,W?WHY,W?WHEN,W?HOW /FALSE
|
||||||
|
CALL1 EVERYWHERE-VERB?
|
||||||
|
ZERO? STACK \?CCL9
|
||||||
|
PRINTR "That's precisely the sort of question you'll have to answer for yourself."
|
||||||
|
?CCL9: EQUAL? PRSI,INTPP \FALSE
|
||||||
|
CALL1 P-PP-OBJ >OBJ
|
||||||
|
ZERO? OBJ /FALSE
|
||||||
|
ZERO? NOT? \FALSE
|
||||||
|
CALL1 P-PP-PREP >TMP
|
||||||
|
ZERO? TMP \?PEN17
|
||||||
|
GET LOC?,1 >TMP
|
||||||
|
?PEN17: EQUAL? TMP,W?BEHIND \?CCL22
|
||||||
|
ICALL PERFORM,V?LOOK-BEHIND,OBJ
|
||||||
|
RTRUE
|
||||||
|
?CCL22: EQUAL? TMP,W?DOWN \?CCL24
|
||||||
|
ICALL PERFORM,V?LOOK-DOWN,OBJ
|
||||||
|
RTRUE
|
||||||
|
?CCL24: EQUAL? TMP,W?IN,W?ON,W?THROUGH \?CCL26
|
||||||
|
ICALL PERFORM,V?LOOK-INSIDE,OBJ
|
||||||
|
RTRUE
|
||||||
|
?CCL26: EQUAL? TMP,W?UNDER \FALSE
|
||||||
|
ICALL PERFORM,V?LOOK-UNDER,OBJ
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TELL-Q-WORD:ANY:0:0,WD
|
||||||
|
EQUAL? PRSA,V?BE? \?CCL3
|
||||||
|
PRINTI "if"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: GET PARSE-RESULT,10 >WD
|
||||||
|
EQUAL? WD,W?WHO,W?WHAT,W?WHERE /?CTR4
|
||||||
|
GET PARSE-RESULT,10 >WD
|
||||||
|
EQUAL? WD,W?WHY,W?WHEN,W?HOW \?CCL5
|
||||||
|
?CTR4: PRINTB WD
|
||||||
|
RTRUE
|
||||||
|
?CCL5: PRINTI "whether"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT P-NEGATIVE?:ANY:0:0
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BAND PARSE-NOT,STACK
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT TRY-QCONTEXT?:ANY:0:0,W
|
||||||
|
ZERO? QCONTEXT /FALSE
|
||||||
|
IN? QCONTEXT,HERE \FALSE
|
||||||
|
EQUAL? QCONTEXT,WINNER /FALSE
|
||||||
|
CALL1 PAST-TENSE?
|
||||||
|
ZERO? STACK \?CCL3
|
||||||
|
EQUAL? QCONTEXT,PRSO /FALSE
|
||||||
|
EQUAL? PRSA,V?ASK-ABOUT /FALSE
|
||||||
|
EQUAL? PRSA,V?TELL-ABOUT \?CCL3
|
||||||
|
EQUAL? PRSO,ME /FALSE
|
||||||
|
?CCL3: SET 'W,WINNER
|
||||||
|
SET 'WINNER,QCONTEXT
|
||||||
|
ICALL PERFORM,PRSA,PRSO,PRSI
|
||||||
|
SET 'WINNER,W
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRE-BE:ANY:0:0
|
||||||
|
CALL1 TRY-QCONTEXT?
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-BE:ANY:0:0,TMP,NOT?,ADJ?,LOC?,OBJ,PREP
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BAND PARSE-NOT,STACK >NOT?
|
||||||
|
GET PARSE-RESULT,11 >ADJ?
|
||||||
|
GET PARSE-RESULT,9 >LOC?
|
||||||
|
EQUAL? PRSA,V?BE?,V?WHO,V?WHAT /?CTR2
|
||||||
|
EQUAL? PRSA,V?WHERE,V?WHY,V?WHEN /?CTR2
|
||||||
|
EQUAL? PRSA,V?HOW /?CTR2
|
||||||
|
GET PARSE-RESULT,10 >TMP
|
||||||
|
EQUAL? TMP,W?WHO,W?WHAT,W?WHERE /?CTR2
|
||||||
|
GET PARSE-RESULT,10 >TMP
|
||||||
|
EQUAL? TMP,W?WHY,W?WHEN,W?HOW \?CCL3
|
||||||
|
?CTR2: CALL1 TRY-QCONTEXT?
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
EQUAL? PRSI,INTADJ \?CCL13
|
||||||
|
EQUAL? PRSO,ME,PLAYER \?CCL16
|
||||||
|
EQUAL? PRSA,V?BE? \?CCL19
|
||||||
|
PRINTI "You"
|
||||||
|
JUMP ?CND17
|
||||||
|
?CCL19: PRINT WHO-KNOWS-STRING
|
||||||
|
ICALL1 TELL-Q-WORD
|
||||||
|
PRINTI " you"
|
||||||
|
?CND17: CALL2 IS-PRSO-ADJ?,ADJ?
|
||||||
|
ZERO? STACK /?CCL22
|
||||||
|
PRINTI " are "
|
||||||
|
JUMP ?CND14
|
||||||
|
?CCL22: PRINTI " aren't "
|
||||||
|
JUMP ?CND14
|
||||||
|
?CCL16: EQUAL? PRSA,V?BE? \?CCL25
|
||||||
|
ICALL2 CTHE-PRINT,PRSO
|
||||||
|
JUMP ?CND23
|
||||||
|
?CCL25: PRINT WHO-KNOWS-STRING
|
||||||
|
ICALL1 TELL-Q-WORD
|
||||||
|
PRINTC 32
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
?CND23: ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
CALL2 IS-PRSO-ADJ?,ADJ?
|
||||||
|
ZERO? STACK \?CND26
|
||||||
|
PRINTI "n't"
|
||||||
|
?CND26: PRINTC 32
|
||||||
|
?CND14: PRINTB ADJ?
|
||||||
|
PRINTR "."
|
||||||
|
?CCL13: EQUAL? PRSI,INTPP \?CCL29
|
||||||
|
CALL1 P-PP-PREP >PREP
|
||||||
|
ZERO? PREP /?CCL32
|
||||||
|
CALL1 P-PP-OBJ >OBJ
|
||||||
|
ZERO? OBJ /?CCL32
|
||||||
|
EQUAL? PRSA,V?BE? \?CCL37
|
||||||
|
CALL RIGHT-PREP?,PREP,PRSO,OBJ
|
||||||
|
ZERO? STACK \?PRF40
|
||||||
|
PUSH 1
|
||||||
|
JUMP ?PEN38
|
||||||
|
?PRF40: PUSH 0
|
||||||
|
?PEN38: ICALL PRSO-IS,STACK,TRUE-VALUE
|
||||||
|
PRINTC 32
|
||||||
|
PRINTB PREP
|
||||||
|
PRINTC 32
|
||||||
|
ICALL2 THE-PRINT,OBJ
|
||||||
|
PRINTR "."
|
||||||
|
?CCL37: PRINT WHO-KNOWS-STRING
|
||||||
|
ICALL1 TELL-Q-WORD
|
||||||
|
ICALL2 PRSO-IS,NOT?
|
||||||
|
PRINTC 32
|
||||||
|
PRINTB PREP
|
||||||
|
PRINTC 32
|
||||||
|
ICALL2 THE-PRINT,OBJ
|
||||||
|
PRINTR "."
|
||||||
|
?CCL32: PRINT WHO-KNOWS-STRING
|
||||||
|
ICALL1 TELL-Q-WORD
|
||||||
|
ICALL2 PRSO-IS,NOT?
|
||||||
|
PRINTC 32
|
||||||
|
GET LOC?,1
|
||||||
|
PRINTB STACK
|
||||||
|
PRINTC 32
|
||||||
|
GET LOC?,2
|
||||||
|
ICALL2 NP-PRINT,STACK
|
||||||
|
PRINTR "."
|
||||||
|
?CCL29: GET PARSE-RESULT,13
|
||||||
|
ZERO? STACK /?CCL42
|
||||||
|
CALL1 WHO-KNOWS
|
||||||
|
RSTACK
|
||||||
|
?CCL42: ZERO? PRSI \?CCL44
|
||||||
|
GET PARSE-RESULT,10
|
||||||
|
EQUAL? STACK,W?WHERE \?CCL44
|
||||||
|
EQUAL? PRSO,FALSE-VALUE,ROOMS /?CCL49
|
||||||
|
LOC PRSO >LOC?
|
||||||
|
JUMP ?CND47
|
||||||
|
?CCL49: SET 'LOC?,FALSE-VALUE
|
||||||
|
?CND47: ZERO? LOC? \?CCL52
|
||||||
|
PRINTR "That's an excellent question."
|
||||||
|
?CCL52: IN? PRSO,HERE \?CCL54
|
||||||
|
ICALL PRSO-IS,FALSE-VALUE,TRUE-VALUE
|
||||||
|
PRINTR " here."
|
||||||
|
?CCL54: EQUAL? LOC?,GENERIC-OBJECTS \?CCL56
|
||||||
|
PRINTI "You don't know where "
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
PRINTR "."
|
||||||
|
?CCL56: EQUAL? LOC?,GLOBAL-OBJECTS \?CCL58
|
||||||
|
PRINTI "No doubt "
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
PRINTR " around here somewhere."
|
||||||
|
?CCL58: EQUAL? LOC?,LOCAL-GLOBALS \?CCL60
|
||||||
|
CALL GLOBAL-IN?,PRSO,HERE
|
||||||
|
ZERO? STACK /?CCL60
|
||||||
|
ICALL2 CTHE-PRINT,PRSO
|
||||||
|
ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
PRINTR " nearby."
|
||||||
|
?CCL60: FSET? LOC?,PERSONBIT \?CCL64
|
||||||
|
ICALL2 CTHE-PRINT,LOC?
|
||||||
|
PRINTI " has "
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
PRINTR "."
|
||||||
|
?CCL64: CALL2 META-LOC,PRSO
|
||||||
|
EQUAL? STACK,HERE \?CCL66
|
||||||
|
ICALL2 CTHE-PRINT,PRSO
|
||||||
|
ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
PRINTI " in "
|
||||||
|
ICALL2 THE-PRINT,LOC?
|
||||||
|
PRINTR "."
|
||||||
|
?CCL66: IN? LOC?,ROOMS \?CCL68
|
||||||
|
ICALL2 CTHE-PRINT,PRSO
|
||||||
|
ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
PRINTI " probably "
|
||||||
|
FSET? PRSO,TOUCHBIT \?CCL71
|
||||||
|
PRINTI "still in the place called """
|
||||||
|
ICALL2 DPRINT,LOC?
|
||||||
|
PRINTR "."""
|
||||||
|
?CCL71: FSET? PRSO,PERSONBIT /?CND72
|
||||||
|
PRINTI "lying "
|
||||||
|
?CND72: PRINTR "around somewhere."
|
||||||
|
?CCL68: PRINT WHO-KNOWS-STRING
|
||||||
|
PRINTI "where "
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
PRINTR "."
|
||||||
|
?CCL44: PRINT WHO-KNOWS-STRING
|
||||||
|
ICALL1 TELL-Q-WORD
|
||||||
|
EQUAL? PRSO,FALSE-VALUE,ROOMS /?CND74
|
||||||
|
ICALL2 PRSO-IS,NOT?
|
||||||
|
ZERO? PRSI /?CND74
|
||||||
|
PRINTC 32
|
||||||
|
ICALL1 PRINTA-PRSI
|
||||||
|
?CND74: PRINTR "."
|
||||||
|
?CCL3: EQUAL? PRSI,INTADJ \?CCL80
|
||||||
|
CALL2 IS-PRSO-ADJ?,ADJ?
|
||||||
|
ZERO? STACK /?CCL83
|
||||||
|
ZERO? NOT? /?CCL86
|
||||||
|
PRINTI "Wrong,"
|
||||||
|
JUMP ?CND84
|
||||||
|
?CCL86: PRINTI "Right,"
|
||||||
|
?CND84: ICALL2 PRSO-IS,FALSE-VALUE
|
||||||
|
JUMP ?CND81
|
||||||
|
?CCL83: ZERO? NOT? /?CCL89
|
||||||
|
PRINTI "Right,"
|
||||||
|
JUMP ?CND87
|
||||||
|
?CCL89: PRINTI "Wrong,"
|
||||||
|
?CND87: ICALL2 PRSO-IS,TRUE-VALUE
|
||||||
|
?CND81: PRINTC 32
|
||||||
|
PRINTB ADJ?
|
||||||
|
PRINTR "."
|
||||||
|
?CCL80: EQUAL? PRSI,INTPP \?CCL91
|
||||||
|
PRINTI "So, you say"
|
||||||
|
ICALL2 PRSO-IS,NOT?
|
||||||
|
PRINTC 32
|
||||||
|
CALL1 P-PP-PREP >TMP
|
||||||
|
ZERO? TMP /?CCL94
|
||||||
|
PRINTB TMP
|
||||||
|
JUMP ?CND92
|
||||||
|
?CCL94: GET LOC?,1
|
||||||
|
PRINTB STACK
|
||||||
|
?CND92: PRINTC 32
|
||||||
|
CALL1 P-PP-OBJ >TMP
|
||||||
|
ZERO? TMP /?CCL97
|
||||||
|
ICALL2 THE-PRINT,TMP
|
||||||
|
JUMP ?CND95
|
||||||
|
?CCL97: GET LOC?,2
|
||||||
|
ICALL2 NP-PRINT,STACK
|
||||||
|
?CND95: PRINTR "."
|
||||||
|
?CCL91: EQUAL? P-PRSA-WORD,W?BE \?CCL99
|
||||||
|
EQUAL? PRSO,WINNER \?CCL102
|
||||||
|
ICALL2 CTHE-PRINT,PRSO
|
||||||
|
PRINTI " is already "
|
||||||
|
PRINTI "that"
|
||||||
|
PRINTR "."
|
||||||
|
?CCL102: PRINTR "That would take a bit of magic."
|
||||||
|
?CCL99: PRINTI "So you think"
|
||||||
|
ICALL2 PRSO-IS,NOT?
|
||||||
|
ZERO? PRSI /?CND103
|
||||||
|
PRINTC 32
|
||||||
|
ICALL1 PRINTA-PRSI
|
||||||
|
?CND103: PRINTR "."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT RIGHT-PREP?:ANY:3:3,PREP,OBJ,CONT
|
||||||
|
IN? OBJ,CONT \FALSE
|
||||||
|
EQUAL? PREP,W?IN,W?INSIDE \?CCL5
|
||||||
|
CALL2 SEE-INSIDE?,CONT
|
||||||
|
ZERO? STACK /FALSE
|
||||||
|
RTRUE
|
||||||
|
?CCL5: EQUAL? PREP,W?ON \FALSE
|
||||||
|
FSET? CONT,SURFACEBIT /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-BE?:ANY:0:0
|
||||||
|
CALL1 V-BE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WHO:ANY:0:0
|
||||||
|
EQUAL? PRSO,ROOMS \?CCL3
|
||||||
|
CALL1 MORE-SPECIFIC
|
||||||
|
RSTACK
|
||||||
|
?CCL3: ZERO? PRSI \?CCL5
|
||||||
|
PRINTI "You don't know anything special about "
|
||||||
|
ICALL1 THE-PRINT-PRSO
|
||||||
|
PRINTR "."
|
||||||
|
?CCL5: CALL1 V-BE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WHAT:ANY:0:0
|
||||||
|
CALL1 V-WHO
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRE-WHERE:ANY:0:0
|
||||||
|
ZERO? PRSS \FALSE
|
||||||
|
ZERO? PRSQ \FALSE
|
||||||
|
ICALL PERFORM,V?FIND,PRSO,PRSI
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WHERE:ANY:0:0
|
||||||
|
EQUAL? PRSO,ROOMS \?CCL3
|
||||||
|
CALL1 MORE-SPECIFIC
|
||||||
|
RSTACK
|
||||||
|
?CCL3: CALL1 V-BE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WHEN:ANY:0:0
|
||||||
|
EQUAL? PRSO,ROOMS \?CCL3
|
||||||
|
CALL1 MORE-SPECIFIC
|
||||||
|
RSTACK
|
||||||
|
?CCL3: CALL1 V-BE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WHY:ANY:0:0
|
||||||
|
EQUAL? PRSO,ROOMS \?CCL3
|
||||||
|
CALL1 MORE-SPECIFIC
|
||||||
|
RSTACK
|
||||||
|
?CCL3: CALL1 V-BE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-HOW:ANY:0:0
|
||||||
|
EQUAL? PRSO,ROOMS \?CCL3
|
||||||
|
CALL1 MORE-SPECIFIC
|
||||||
|
RSTACK
|
||||||
|
?CCL3: CALL1 V-BE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT QUIET?:ANY:1:1,OBJ
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT OUTSIDE?:ANY:1:1,OBJ
|
||||||
|
FSET? HERE,OUTSIDE /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT OPEN?:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,OPENABLE /?PRD3
|
||||||
|
FSET? OBJ,DOORBIT \FALSE
|
||||||
|
?PRD3: FSET? OBJ,OPENBIT /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT Q-CLOSED?:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,OPENABLE /?PRD3
|
||||||
|
FSET? OBJ,DOORBIT \FALSE
|
||||||
|
?PRD3: FSET? OBJ,OPENBIT /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT LOCKED?:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,DOORBIT \FALSE
|
||||||
|
FSET? OBJ,LOCKED /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT UNLOCKED?:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,DOORBIT \FALSE
|
||||||
|
FSET? OBJ,LOCKED /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT DEAD?:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,PERSONBIT \TRUE
|
||||||
|
FSET? OBJ,DEAD /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT ALIVE?:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,PERSONBIT \FALSE
|
||||||
|
FSET? OBJ,DEAD /FALSE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRSO-IS:ANY:1:2,NOT?,CAP?
|
||||||
|
EQUAL? PRSO,ME,PLAYER \?CCL3
|
||||||
|
ZERO? CAP? /?CCL6
|
||||||
|
PRINTI "You"
|
||||||
|
JUMP ?CND4
|
||||||
|
?CCL6: PRINTI " you"
|
||||||
|
?CND4: PRINTI " are"
|
||||||
|
ZERO? NOT? /FALSE
|
||||||
|
PRINTI "n't"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: ZERO? CAP? /?CCL12
|
||||||
|
ICALL2 CTHE-PRINT,PRSO
|
||||||
|
JUMP ?CND10
|
||||||
|
?CCL12: PRINTC 32
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
?CND10: ICALL2 PRINT-IS/ARE,PRSO
|
||||||
|
ZERO? NOT? /FALSE
|
||||||
|
PRINTI "n't"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRINT-IS/ARE:ANY:1:1,OBJ
|
||||||
|
FSET? OBJ,PLURAL /?CTR2
|
||||||
|
EQUAL? OBJ,BLACKTHORNE,ME,YOU \?CCL3
|
||||||
|
?CTR2: PRINTI " are"
|
||||||
|
RTRUE
|
||||||
|
?CCL3: PRINTI " is"
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT IS-PRSO-ADJ?:ANY:1:1,ADJ,TMP
|
||||||
|
GETPT PRSO,P?ADJECTIVE >TMP
|
||||||
|
ZERO? TMP /?CCL3
|
||||||
|
PTSIZE TMP
|
||||||
|
DIV STACK,2
|
||||||
|
INTBL? ADJ,TMP,STACK /TRUE
|
||||||
|
?CCL3: GET ADJ-TABLE,0
|
||||||
|
INTBL? ADJ,ADJ-TABLE,STACK >TMP \FALSE
|
||||||
|
GET TMP,1
|
||||||
|
CALL STACK,PRSO
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PP?:ANY:2:2,P,N,TMP
|
||||||
|
GET PARSE-RESULT,9 >TMP
|
||||||
|
ZERO? TMP /FALSE
|
||||||
|
ZERO? P /FALSE
|
||||||
|
CALL1 P-PP-PREP
|
||||||
|
EQUAL? P,STACK \FALSE
|
||||||
|
ZERO? N /FALSE
|
||||||
|
CALL1 P-PP-OBJ
|
||||||
|
EQUAL? N,STACK /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-STATEMENT:ANY:0:0
|
||||||
|
CALL1 V-DO?
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT WHO-KNOWS:ANY:0:1,WD,OBJ,SUBJ,V,M,N,?TMP1
|
||||||
|
ASSIGNED? 'WD /?CND1
|
||||||
|
GET PARSE-RESULT,14 >WD
|
||||||
|
?CND1: GET PARSE-RESULT,10
|
||||||
|
EQUAL? STACK,W?WHO,W?WHAT \?CCL5
|
||||||
|
GET P-PRSA-WORD,3
|
||||||
|
GET STACK,2 >OBJ
|
||||||
|
ZERO? OBJ /?CCL5
|
||||||
|
CALL GET-SYNTAX,OBJ,1,0,TRUE-VALUE
|
||||||
|
ZERO? STACK /?CCL5
|
||||||
|
CALL DETERMINE-OBJ,FALSE-VALUE,1,TRUE-VALUE >OBJ
|
||||||
|
ZERO? OBJ /?CCL5
|
||||||
|
GET OBJ,3 >OBJ
|
||||||
|
ZERO? OBJ /?CCL5
|
||||||
|
PRINTI "Perhaps"
|
||||||
|
JUMP ?CND3
|
||||||
|
?CCL5: SET 'OBJ,FALSE-VALUE
|
||||||
|
PRINT WHO-KNOWS-STRING
|
||||||
|
ICALL1 TELL-Q-WORD
|
||||||
|
?CND3: GET PARSE-RESULT,13 >SUBJ
|
||||||
|
ZERO? SUBJ /?CCL13
|
||||||
|
GET SUBJ,3 >SUBJ
|
||||||
|
JUMP ?CND11
|
||||||
|
?CCL13: EQUAL? PRSO,FALSE-VALUE,ROOMS /?CCL15
|
||||||
|
SET 'SUBJ,PRSO
|
||||||
|
?CND11: PRINTC 32
|
||||||
|
EQUAL? SUBJ,ME,PLAYER \?CCL18
|
||||||
|
PRINTI "you"
|
||||||
|
JUMP ?CND16
|
||||||
|
?CCL15: PRINTR "."
|
||||||
|
?CCL18: ICALL2 THE-PRINT,SUBJ
|
||||||
|
?CND16: ZERO? WD /?CND19
|
||||||
|
EQUAL? WD,W?DO,W?DOES,W?DID \?CCL22
|
||||||
|
GET PARSE-RESULT,13
|
||||||
|
ZERO? STACK \?CND19
|
||||||
|
?CCL22: PRINTC 32
|
||||||
|
PRINTB WD
|
||||||
|
?CND19: GET PARSE-RESULT,13
|
||||||
|
ZERO? STACK /?CND25
|
||||||
|
PRINTC 32
|
||||||
|
ZERO? WD /?CCL29
|
||||||
|
EQUAL? WD,W?DID \?CCL32
|
||||||
|
GETB VOCAB,0
|
||||||
|
ADD 1,STACK
|
||||||
|
ADD VOCAB,STACK >V
|
||||||
|
GETB V,0
|
||||||
|
BOR 128,STACK >M
|
||||||
|
EQUAL? P-PRSA-WORD,W?GET \?CCL37
|
||||||
|
PRINTI "got"
|
||||||
|
JUMP ?CND30
|
||||||
|
?CCL37: ADD V,9 >?TMP1
|
||||||
|
ADD V,1
|
||||||
|
GET STACK,0
|
||||||
|
INTBL? P-PRSA-WORD,?TMP1,STACK,M >N \?CCL39
|
||||||
|
GET N,1
|
||||||
|
BTST STACK,PAST-TENSE \?CCL39
|
||||||
|
PRINTB N
|
||||||
|
JUMP ?CND30
|
||||||
|
?CCL39: PRINTB P-PRSA-WORD
|
||||||
|
PRINTI "ed"
|
||||||
|
JUMP ?CND30
|
||||||
|
?CCL32: PRINTB P-PRSA-WORD
|
||||||
|
EQUAL? WD,W?DO,W?DOES \?CND30
|
||||||
|
EQUAL? SUBJ,ME,PLAYER /?CND30
|
||||||
|
FSET? SUBJ,PLURAL /?CND30
|
||||||
|
PRINTC 115
|
||||||
|
?CND30: ZERO? OBJ /?CCL49
|
||||||
|
PRINTC 32
|
||||||
|
EQUAL? OBJ,SUBJ \?CCL52
|
||||||
|
FSET? OBJ,PERSONBIT /?CCL55
|
||||||
|
PRINTI "it"
|
||||||
|
JUMP ?CND53
|
||||||
|
?CCL55: FSET? OBJ,FEMALE \?CCL57
|
||||||
|
PRINTI "her"
|
||||||
|
JUMP ?CND53
|
||||||
|
?CCL57: PRINTI "him"
|
||||||
|
?CND53: PRINTI "self"
|
||||||
|
JUMP ?CND25
|
||||||
|
?CCL52: ICALL2 THE-PRINT,OBJ
|
||||||
|
JUMP ?CND25
|
||||||
|
?CCL49: ICALL1 ECHO-NOUNS
|
||||||
|
JUMP ?CND25
|
||||||
|
?CCL29: PRINTB P-PRSA-WORD
|
||||||
|
?CND25: PRINTR "."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT ECHO-NOUNS:ANY:0:0,WD
|
||||||
|
EQUAL? PRSO,0,WHAT,NOT-HERE-OBJECT /?CND1
|
||||||
|
GET PARSE-RESULT,7 >WD
|
||||||
|
ZERO? WD /?CND3
|
||||||
|
PRINTC 32
|
||||||
|
PRINTB WD
|
||||||
|
?CND3: PRINTC 32
|
||||||
|
ICALL2 THE-PRINT,PRSO
|
||||||
|
?CND1: EQUAL? PRSI,0,WHAT,NOT-HERE-OBJECT /FALSE
|
||||||
|
GET PARSE-RESULT,8 >WD
|
||||||
|
ZERO? WD /?CND8
|
||||||
|
PRINTC 32
|
||||||
|
PRINTB WD
|
||||||
|
?CND8: PRINTC 32
|
||||||
|
CALL2 THE-PRINT,PRSI
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-CAN?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?CAN
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-MAY?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?MAY
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-DO?:ANY:0:0
|
||||||
|
CALL1 TRY-QCONTEXT?
|
||||||
|
ZERO? STACK \TRUE
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BTST STACK,PARSE-QUESTION /?CCL5
|
||||||
|
ZERO? PRSS \?CCL8
|
||||||
|
ICALL1 MORE-SPECIFIC
|
||||||
|
RTRUE
|
||||||
|
?CCL8: PRINTI "So you think"
|
||||||
|
EQUAL? PRSS,ME,PLAYER \?CCL11
|
||||||
|
PRINTI " you "
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BTST STACK,1 \?CND9
|
||||||
|
PRINTI "don't "
|
||||||
|
JUMP ?CND9
|
||||||
|
?CCL11: PRINTC 32
|
||||||
|
ICALL2 THE-PRINT,PRSS
|
||||||
|
PRINTC 32
|
||||||
|
GET PARSE-RESULT,16
|
||||||
|
BTST STACK,1 \?CND9
|
||||||
|
PRINTI "doesn't "
|
||||||
|
?CND9: PRINTB P-PRSA-WORD
|
||||||
|
ICALL1 ECHO-NOUNS
|
||||||
|
PRINTR "."
|
||||||
|
?CCL5: CALL1 WHO-KNOWS
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-COULD?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?COULD
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WOULD?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?WOULD
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-SHOULD?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?SHOULD
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-MIGHT?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?MIGHT
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-WILL?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?WILL
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-MUST?:ANY:0:0
|
||||||
|
CALL2 WHO-KNOWS,W?MUST
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT QUESTION-VERB?:ANY:0:0,TMP
|
||||||
|
GET PARSE-RESULT,10 >TMP
|
||||||
|
EQUAL? TMP,W?WHO,W?WHAT,W?WHERE /TRUE
|
||||||
|
GET PARSE-RESULT,10 >TMP
|
||||||
|
EQUAL? TMP,W?WHY,W?WHEN,W?HOW /TRUE
|
||||||
|
EQUAL? PRSA,V?BE?,V?CAN?,V?COULD? /TRUE
|
||||||
|
EQUAL? PRSA,V?DO?,V?MAY?,V?MIGHT? /TRUE
|
||||||
|
EQUAL? PRSA,V?MUST?,V?SHOULD?,V?WILL? /TRUE
|
||||||
|
EQUAL? PRSA,V?WOULD? /TRUE
|
||||||
|
RFALSE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRE-DROP?:ANY:0:0
|
||||||
|
LOC PRSS
|
||||||
|
EQUAL? PRSO,STACK \FALSE
|
||||||
|
ICALL PERFORM,V?DISEMBARK,PRSO,PRSI
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-DROP?:ANY:0:0
|
||||||
|
EQUAL? PRSO,ROOMS \FALSE
|
||||||
|
PRINT STR?61
|
||||||
|
PRINTR "hanging from anything."
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-DISEMBARK?:ANY:0:0,AV
|
||||||
|
LOC PRSS >AV
|
||||||
|
EQUAL? PRSO,FALSE-VALUE,ROOMS \?CCL3
|
||||||
|
ZERO? AV /?CCL6
|
||||||
|
IN? AV,ROOMS /?CCL6
|
||||||
|
ICALL PERFORM,PRSA,AV,PRSI
|
||||||
|
RTRUE
|
||||||
|
?CCL6: PRINT STR?61
|
||||||
|
PRINTR "in anything."
|
||||||
|
?CCL3: ZERO? AV /?CCL10
|
||||||
|
IN? AV,ROOMS /?CCL10
|
||||||
|
EQUAL? AV,PRSO /FALSE
|
||||||
|
CALL HELD?,AV,PRSO
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
PRINT STR?55
|
||||||
|
FSET? AV,SURFACEBIT \?CCL20
|
||||||
|
PRINTI " on "
|
||||||
|
JUMP ?CND18
|
||||||
|
?CCL20: PRINTI " in "
|
||||||
|
?CND18: ICALL2 THE-PRINT,AV
|
||||||
|
PRINTR "!"
|
||||||
|
?CCL10: LOC PRSO
|
||||||
|
ZERO? STACK /?CCL22
|
||||||
|
ICALL PERFORM,V?TAKE,PRSO,PRSI
|
||||||
|
RTRUE
|
||||||
|
?CCL22: PRINT STR?117
|
||||||
|
CRLF
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT PRE-TAKE?:ANY:0:0
|
||||||
|
ZERO? PRSI \FALSE
|
||||||
|
CALL1 PRE-TAKE
|
||||||
|
RSTACK
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-TAKE?:ANY:0:0
|
||||||
|
GET PARSE-RESULT,10
|
||||||
|
ZERO? STACK \FALSE
|
||||||
|
PRINTR "Seems reasonable."
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
12
qverbs.zil
12
qverbs.zil
|
@ -352,7 +352,17 @@ yourself." CR>
|
||||||
<VOC "ALIVE" ADJ>
|
<VOC "ALIVE" ADJ>
|
||||||
ALIVE?
|
ALIVE?
|
||||||
<VOC "QUIET" ADJ>
|
<VOC "QUIET" ADJ>
|
||||||
QUIET?>>
|
QUIET?
|
||||||
|
<VOC "DUTCH" ADJ>
|
||||||
|
DUTCH?
|
||||||
|
<VOC "PORTUGUESE" ADJ>
|
||||||
|
PORTUGUESE?
|
||||||
|
<VOC "SPANISH" ADJ>
|
||||||
|
SPANISH?
|
||||||
|
<VOC "ENGLISH" ADJ>
|
||||||
|
ENGLISH?
|
||||||
|
<VOC "JAPANESE" ADJ>
|
||||||
|
JAPANESE?>>
|
||||||
|
|
||||||
<DEFINE QUIET? (OBJ)
|
<DEFINE QUIET? (OBJ)
|
||||||
<RTRUE>>
|
<RTRUE>>
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("IN-ZILCH" T)) ()>
|
||||||
|
|
||||||
|
<BEGIN-SEGMENT RECORD>
|
||||||
|
<SYNTAX \#RANDOM OBJECT = V-$RANDOM>
|
||||||
|
<SYNTAX \#COMMAND = V-$COMMAND>
|
||||||
|
<SYNTAX \#RECORD = V-$RECORD>
|
||||||
|
<SYNTAX \#UNRECORD = V-$UNRECORD>
|
||||||
|
<DEFINE-ROUTINE V-$COMMAND>
|
||||||
|
<DEFINE-ROUTINE V-$RANDOM>
|
||||||
|
<DEFINE-ROUTINE V-$RECORD>
|
||||||
|
<DEFINE-ROUTINE V-$UNRECORD>
|
||||||
|
<END-SEGMENT>
|
|
@ -0,0 +1,29 @@
|
||||||
|
|
||||||
|
.SEGMENT "RECORD"
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-$COMMAND:ANY:0:0
|
||||||
|
DIRIN D-COMMAND-FILE
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-$RANDOM:ANY:0:0
|
||||||
|
EQUAL? PRSO,INTNUM /?CCL3
|
||||||
|
PRINTR "Illegal call to #RANDOM."
|
||||||
|
?CCL3: SUB 0,P-NUMBER
|
||||||
|
RANDOM STACK
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-$RECORD:ANY:0:0
|
||||||
|
DIROUT D-RECORD-ON
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
|
||||||
|
.FUNCT V-$UNRECORD:ANY:0:0
|
||||||
|
DIROUT D-RECORD-OFF
|
||||||
|
RTRUE
|
||||||
|
|
||||||
|
.ENDSEG
|
||||||
|
|
||||||
|
.ENDI
|
|
@ -274,4 +274,4 @@
|
||||||
<TELL ", " D .CNT>)>>
|
<TELL ", " D .CNT>)>>
|
||||||
<CRLF>>
|
<CRLF>>
|
||||||
|
|
||||||
<END-SEGMENT>
|
<END-SEGMENT ;"RECORD">
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
<FLAGS-AND-DEFAULTS (("P-BE-VERB" T)("ONE-BYTE-PARTS-OF-SPEECH" %<>)(
|
||||||
|
"WORD-FLAGS-IN-TABLE" T)("IN-ZILCH" T)("P-ZORK0" %<>)) (("DIR-VERB-PRSI?"
|
||||||
|
"DEFS" #WORD *35522513507*))>
|
||||||
|
|
||||||
|
<ZZPACKAGE "REDS">
|
||||||
|
<ENTRY RED-SP RED-ADV RED-PART RED-SV RED-SVN RED-SVPNPN RED-SVD RED-PERS
|
||||||
|
RED-VP RED-NP RED-OF RED-QT RED-QN RED-NPP RED-PP RED-POSS RED-ADJ RED-ADJS
|
||||||
|
RED-QUOTE>
|
||||||
|
<ENTRY RED-O-ADJ RED-O-PP RED-O-NP NUMERIC-ADJ? DIR-VERB-WORD?>
|
||||||
|
<INCLUDE "BASEDEFS" "FIND" "PBITDEFS" "PDEFS">
|
||||||
|
<USE "NEWSTRUC" "PARSER" "PMEM" "PSTACK">
|
||||||
|
<FILE-FLAGS MDL-ZIL?>
|
||||||
|
<BEGIN-SEGMENT 0>
|
||||||
|
<DEFAULTS-DEFINED DIR-VERB-PRSI? DIR-VERB-WORD? NOT-HERE-VERB?>
|
||||||
|
<COMPILATION-FLAG-DEFAULT HACK-ORPHAN-NOUNS T>
|
||||||
|
<DEFAULT-DEFINITION DIR-VERB-PRSI? <DEFINE DIR-VERB-PRSI? (NP) <AND <EQUAL? <
|
||||||
|
PARSE-ACTION ,PARSE-RESULT> ,V?MOVE-DIR ,V?RIDE-DIR ,V?ROLL-DIR ,V?SET-DIR> <
|
||||||
|
NOT <EQUAL? <NOUN-PHRASE-OBJ1 .NP> ,INTDIR ,LEFT-RIGHT>>>>>
|
||||||
|
<DEFAULT-DEFINITION DIR-VERB-WORD? <DEFMAC DIR-VERB-WORD? ('WD) <FORM EQUAL? .
|
||||||
|
WD ',W?WALK ',W?GO ',W?RUN>>>
|
||||||
|
<DEFAULT-DEFINITION NOT-HERE-VERB? <DEFMAC NOT-HERE-VERB? ('V) <FORM EQUAL? .V
|
||||||
|
',V?WALK-TO>>>
|
||||||
|
<DEFMAC ABS ('NUM) <FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>) (T .NUM)>>
|
||||||
|
<DEFINE-ROUTINE RED-FCN>
|
||||||
|
<DEFINE-ROUTINE RED-PART>
|
||||||
|
<DEFINE-ROUTINE GET-SYNTAX>
|
||||||
|
<DEFINE-ROUTINE RED-SV>
|
||||||
|
<DEFINE-ROUTINE ROOT-VERB>
|
||||||
|
<DEFINE-ROUTINE RED-SVN>
|
||||||
|
<DEFINE-ROUTINE SVN>
|
||||||
|
<DEFINE-ROUTINE RED-SVPNPN>
|
||||||
|
<DEFINE-ROUTINE RED-SVD>
|
||||||
|
<DEFINE-ROUTINE RED-SP>
|
||||||
|
<GLOBAL SEARCH-FLAGS:NUMBER 0>
|
||||||
|
<DEFINE-ROUTINE IREDUCE-EXCEPTION>
|
||||||
|
<DEFINE-ROUTINE REDUCE-EXCEPT-IT>
|
||||||
|
<DEFINE-ROUTINE REDUCE-EXCEPTION>
|
||||||
|
<CONSTANT P-NO-INSIDE "No inside">
|
||||||
|
<CONSTANT P-NO-SURFACE "No surface">
|
||||||
|
<CONSTANT P-NOTHING "Nothing">
|
||||||
|
<CONSTANT PREP-BIT <ITABLE 3 0>>
|
||||||
|
<DEFINE-ROUTINE REDUCE-LOCATION>
|
||||||
|
<COND (<GASSIGNED? DO-TEST-PREP> <SETG TEST-PREP <TABLE ,DO-TEST-PREP>>)>
|
||||||
|
<DEFINE-ROUTINE DETERMINE-OBJ>
|
||||||
|
<DEFINE-ROUTINE CHECK-DIR-ADJS>
|
||||||
|
<DEFINE-ROUTINE NUMERIC-ADJ?>
|
||||||
|
<COMPILATION-FLAG-DEFAULT P-GENDERS T>
|
||||||
|
<VOC "HIMSELF" NOUN>
|
||||||
|
<VOC "HERSELF" NOUN>
|
||||||
|
<DEFINE-ROUTINE DETERMINE-NP>
|
||||||
|
<DEFINE-ROUTINE DET-NP-NOT-HERE?>
|
||||||
|
<DEFINE-ROUTINE DET-NP-OWNEE?>
|
||||||
|
<DEFINE-ROUTINE FIND-OWNERS>
|
||||||
|
<DEFINE-ROUTINE READY-TO-DISAMBIGUATE?>
|
||||||
|
<DEFINE-ROUTINE DETERMINE-NP-XFER>
|
||||||
|
<DEFINE-ROUTINE DO-ORPHAN-TEST>
|
||||||
|
<DEFINE-ROUTINE RED-O-ADJ>
|
||||||
|
<DEFINE-ROUTINE RED-O-PP>
|
||||||
|
<DEFINE-ROUTINE INSERT-NP>
|
||||||
|
<DEFINE-ROUTINE TEST-SR>
|
||||||
|
<DEFINE-ROUTINE TEST-O-SR>
|
||||||
|
<DEFINE-ROUTINE RED-O-NP>
|
||||||
|
<DEFINE-ROUTINE RED-PERS>
|
||||||
|
<DEFINE-ROUTINE HACK-TELL>
|
||||||
|
<DEFINE-ROUTINE HACK-TELL-1>
|
||||||
|
<DEFINE-ROUTINE RED-VP>
|
||||||
|
<DEFINE-ROUTINE RED-NP>
|
||||||
|
<DEFINE-ROUTINE RED-OF>
|
||||||
|
<DEFINE-ROUTINE RED-QT>
|
||||||
|
<DEFINE-ROUTINE GET-QUANTITY-WORD>
|
||||||
|
<DEFINE-ROUTINE GET-QUANTITY>
|
||||||
|
<DEFINE-ROUTINE RED-QN>
|
||||||
|
<DEFINE-ROUTINE RED-NPP>
|
||||||
|
<DEFINE-ROUTINE RED-PP>
|
||||||
|
<ADD-WORD MY ADJ>
|
||||||
|
<ADD-WORD ME NOUN>
|
||||||
|
<ADD-WORD YOUR ADJ>
|
||||||
|
<ADD-WORD YOU NOUN>
|
||||||
|
<ADD-WORD ITS ADJ>
|
||||||
|
<ADD-WORD IT NOUN>
|
||||||
|
<ADD-WORD HIS ADJ>
|
||||||
|
<ADD-WORD HIM NOUN>
|
||||||
|
<ADD-WORD THEIR ADJ>
|
||||||
|
<ADD-WORD THEM NOUN>
|
||||||
|
<DEFINE-ROUTINE RED-POSS>
|
||||||
|
<CONSTANT LAST-OBJECT 0>
|
||||||
|
<DEFINE-ROUTINE RED-ADJS>
|
||||||
|
<DEFINE-ROUTINE RED-ADJ>
|
||||||
|
<OBJECT INTQUOTE (LOC GLOBAL-OBJECTS) (DESC "quotation")>
|
||||||
|
<DEFINE-ROUTINE RED-QUOTE>
|
||||||
|
<END-SEGMENT>
|
||||||
|
<ENDPACKAGE>
|
|
@ -0,0 +1,19 @@
|
||||||
|
Erasmus
|
||||||
|
Anjiro
|
||||||
|
Yabu
|
||||||
|
Pit => Omi ?
|
||||||
|
Rodrigues
|
||||||
|
Voyage to Osaka => doctor&Rodrigues
|
||||||
|
Toranaga
|
||||||
|
Prison => Ishido vs. Toranaga ?
|
||||||
|
Mariko => Ishido & prophecy ?
|
||||||
|
? Ishido vs. Buntaro => Escape
|
||||||
|
samurai => Earthquake
|
||||||
|
Zataki => Journey to Yedo
|
||||||
|
Ochiba => poetry ?
|
||||||
|
Departure => Mariko's fight ?
|
||||||
|
Seppuku => seppuku ceremony ?
|
||||||
|
Ninja => Etsu's suicide
|
||||||
|
Yokohama
|
||||||
|
Aftermath
|
||||||
|
Epilogue
|
|
@ -0,0 +1,117 @@
|
||||||
|
------ERASMUS (10)
|
||||||
|
+1 ROPER Getting your apple back from Roper
|
||||||
|
+1 APPLE Eating the apple
|
||||||
|
+1 KEY Finding the key to the sea chest
|
||||||
|
+1 RUTTER Writing in your rutter
|
||||||
|
+1 CAPTAINS-DESK Finding the flagon in the Captain's desk
|
||||||
|
+1 FLAGON Giving the Captain water
|
||||||
|
+1 MAETSUKKER Sending Maetsukker out on watch
|
||||||
|
+1 BELL Ringing the bell to get the crew on deck
|
||||||
|
+1 FORESAILS Fixing the foresails
|
||||||
|
+1 REEF Getting through the reef into the harbor
|
||||||
|
|
||||||
|
------ANJIRO (5)
|
||||||
|
+1 FOOD Eating the food
|
||||||
|
+1 MURA-DOOR Apologizing for breaking the door
|
||||||
|
+1 SEBASTIO Asking Sebastio who he is
|
||||||
|
+1 OMI Getting through Omi's interrogation
|
||||||
|
+1 SAMURAI-GUARDS Trying to get your rutters back
|
||||||
|
|
||||||
|
------YABU (1)
|
||||||
|
+1 SEBASTIO-CRUCIFIX Breaking Sebastio's crucifix
|
||||||
|
|
||||||
|
------PIT (5)
|
||||||
|
+1 VINCK Saving Vinck if he's the one picked to die
|
||||||
|
+1 LOSING-SAMURAI Fighting the samurai, taking one as a hostage
|
||||||
|
+1 VILLAGE-SQUARE Agreeing to behave
|
||||||
|
+1 CROOCQ Lying down
|
||||||
|
+1 BATHTUB Taking a bath
|
||||||
|
|
||||||
|
------RODRIGUES (3)
|
||||||
|
+1 TRINITY-HOUSE Answering Rodrigues about Trinity House
|
||||||
|
+1 LIZARD Answering Rodrigues about the Lizard
|
||||||
|
+1 LG-ERASMUS Telling Rodrigues about the Erasmus
|
||||||
|
|
||||||
|
------VOYAGE (11)
|
||||||
|
+1 GUNWALE Grabbing the gunwale
|
||||||
|
+1 MAIN-DECK Restoring order on the oar deck
|
||||||
|
+1 OARSMEN Getting the oarsmen to row again
|
||||||
|
+1 OAR Throwing oar to Rodrigues
|
||||||
|
+1 ANCHOR Dropping anchor once in the bay
|
||||||
|
+1 SKIFF Getting into the skiff
|
||||||
|
+1 LEDGE-4 Finding Rodrigues
|
||||||
|
+1 YABU-KIMONO Making a rope of kimonos
|
||||||
|
+1 LOINCLOTH Adding loincloths to rope
|
||||||
|
+1 LEDGE Finding the ledge
|
||||||
|
+1 SEARCH-PARTY Getting Yabu's attention
|
||||||
|
|
||||||
|
------AUDIENCE (3)
|
||||||
|
+1 AUDIENCE-CHAMBER Defying convention by bowing but not kneeling
|
||||||
|
+1 DAIS Moving to the dais when Ishido arrives
|
||||||
|
+1 ALVITO Telling Toranaga Alvito is your enemy
|
||||||
|
|
||||||
|
------PRISON (6)
|
||||||
|
+1 THUG Defeating the thug
|
||||||
|
+1 DOMINGO Speaking Spanish to Domingo
|
||||||
|
+1 JAPANESE Asking Domingo to teach you Japanese
|
||||||
|
+1 LG-LINE Joining the line of prisoners
|
||||||
|
+1 BANDITS Avoiding the bandit's attack
|
||||||
|
+1 YABU-PALANQUIN Getting in Yabu's palanquin
|
||||||
|
|
||||||
|
------MARIKO (4)
|
||||||
|
+1 MAPLE-GLADE Greet or bow to Mariko/Toranaga
|
||||||
|
+1 ISHIDO Bow to Ishido
|
||||||
|
+1 YAEMON Smile or wink at him
|
||||||
|
+1 PROPHECY Ask about the prophecy
|
||||||
|
|
||||||
|
------ESCAPE (12)
|
||||||
|
+1 TORANAGA-IN-DRAG Seeing Toranaga in the hut
|
||||||
|
+1 KIRITSUBO Seeing Toranaga and Kiritsubo switch
|
||||||
|
+1 PARCHMENT Grabbing the parchment from Ishido
|
||||||
|
+1 CURTAINS Giving the parchment to Kiri/Toranaga
|
||||||
|
+1 CRAZY Distracting Ishido by acting nuts
|
||||||
|
+1 WOODS Reaching the woods successfully
|
||||||
|
+1 MARIKOS-LITTER Saving Mariko during ambush
|
||||||
|
+1 FISH-GATE Finding the ronin
|
||||||
|
+1 WHARF Helping Mariko when she 'faints'
|
||||||
|
+1 GLOBAL-WATER Remembering the word for 'water'
|
||||||
|
+1 GRAY-LEADER Killing the Gray leader
|
||||||
|
+1 SECOND-GRAY Killing the second Gray
|
||||||
|
|
||||||
|
------QUAKE (4)
|
||||||
|
+1 MAIN-FISSURE Saving Toranaga
|
||||||
|
+1 SIDE-FISSURE Saving Mariko
|
||||||
|
+1 PLATEAU Pissing in the fissure
|
||||||
|
+1 SWORDS Giving swords to Toranaga after his are lost
|
||||||
|
|
||||||
|
------ZATAKI (0)
|
||||||
|
|
||||||
|
------JOURNEY(3)
|
||||||
|
+1 YOKOSE-BATHTUB Bathing with Mariko
|
||||||
|
+1 YOKOSE-SPA-3 Making love to Mariko
|
||||||
|
+1 YOKOSE-SPA-1 Getting back to your room safely
|
||||||
|
|
||||||
|
------RECEPTION (3)
|
||||||
|
+1 SWORDS Checking your swords
|
||||||
|
+1 CAMELLIA Giving the camellia to Ochiba
|
||||||
|
+1 GLOBAL-BARBARIAN Telling Ishido you are not a barbarian
|
||||||
|
|
||||||
|
------DEPARTURE
|
||||||
|
|
||||||
|
------SEPPUKU (1)
|
||||||
|
+1 MARIKO Carrying Mariko away
|
||||||
|
|
||||||
|
------ATTACK (5)
|
||||||
|
+1 PLAN Asking Yabu about the plan
|
||||||
|
+1 CELLARS Seeing Yabu in the cellars let in the ninja
|
||||||
|
+1 NINJA Shooting the ninja leader
|
||||||
|
+1 MARIKO Telling Mariko to follow you
|
||||||
|
+1 MARIKO Blessing Mariko
|
||||||
|
|
||||||
|
------YOKOHAMA (1)
|
||||||
|
+1 YOKOHAMA Picking up Vinck
|
||||||
|
|
||||||
|
------AFTERMATH (3)
|
||||||
|
+1 SEALED-SCROLL Reading the sealed scroll
|
||||||
|
+1 TRAITOR Reporting that you saw Yabu
|
||||||
|
+1 YABU Reporting the password
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue