]> github.com/historicalsource and other repositories - zork2.git/blob - 2dungeon.zap
Extensions on Z-Machine Fixed.
[zork2.git] / 2dungeon.zap
1
2
3         .FUNCT  GO
4 START::
5
6 ?FCN:   PUTB    P-LEXV,0,59
7         CALL    QUEUE,I-WIZARD,4
8         PUT     STACK,0,1
9         CALL    QUEUE,I-LANTERN,200
10         PUTP    BALLOON,P?VTYPE,NONLANDBIT
11         PUTP    BUCKET,P?VTYPE,NONLANDBIT
12         PUTP    SEWL,P?SIZE,P?EAST
13         PUTP    SWWL,P?SIZE,P?WEST
14         PUTP    SSWL,P?SIZE,P?SOUTH
15         PUTP    SNWL,P?SIZE,P?NORTH
16         SET     'LIT,TRUE-VALUE
17         SET     'WINNER,ADVENTURER
18         SET     'PLAYER,ADVENTURER
19         SET     'HERE,INSIDE-BARROW
20         SET     'P-IT-OBJECT,FALSE-VALUE
21         FSET?   HERE,TOUCHBIT /?CND1
22         CALL    V-VERSION
23         CRLF    
24 ?CND1:  MOVE    WINNER,HERE
25         CALL    V-LOOK
26         CALL    MAIN-LOOP
27         JUMP    ?FCN
28
29
30         .FUNCT  HEDGES-F
31         EQUAL?  PRSA,V?EXAMINE \FALSE
32         PRINTR  "The hedges are shaped like various animals: dogs, serpents, dragons, and the like, and they are vaguely troubling to look at."
33
34
35         .FUNCT  LT-CRACK-PSEUDO
36         EQUAL?  PRSA,V?THROUGH,V?BOARD \?ELS5
37         CALL    DO-WALK,P?SOUTH
38         RTRUE   
39 ?ELS5:  CALL    CC-CRACK-PSEUDO
40         RSTACK  
41
42
43         .FUNCT  CC-CRACK-PSEUDO
44         EQUAL?  PRSA,V?BOARD,V?THROUGH \?ELS5
45         CALL    DO-WALK,P?NORTH
46         RTRUE   
47 ?ELS5:  PRINTR  "The crack is fairly wide. You should be able to get into it."
48
49
50         .FUNCT  GLOBAL-MENHIR-F
51         PRINTR  "It's not here."
52
53
54         .FUNCT  GLOBAL-CERBERUS-F
55         PRINTR  "He's not here."
56
57
58         .FUNCT  CRACK-PSEUDO
59         EQUAL?  PRSA,V?EXAMINE \FALSE
60         PRINTR  "It is a small crack (as advertised) with no redeeming value."
61
62
63         .FUNCT  ALICE-HOLE
64         EQUAL?  PRSA,V?EXAMINE \?ELS5
65         PRINTR  "The hole is very small. You could never enter it."
66 ?ELS5:  EQUAL?  PRSA,V?LOOK-INSIDE \?ELS9
67         PRINTR  "You can't see what's beyond the hole from here."
68 ?ELS9:  EQUAL?  PRSA,V?PUT \FALSE
69         EQUAL?  PRSI,PSEUDO-OBJECT \FALSE
70         PRINTR  "It doesn't fit through the hole."
71
72
73         .FUNCT  SLOT-F
74         EQUAL?  PRSA,V?LOOK-INSIDE \?ELS5
75         FIRST?  SLOT /?ELS5
76         PRINTR  "There's nothing in the hole."
77 ?ELS5:  EQUAL?  PRSA,V?EXAMINE \FALSE
78         PRINTR  "The oblong hole has been chipped out of the box, probably by someone wanting whatever is inside the box. The attempt was a pathetic failure, however."
79
80
81         .FUNCT  TEAPOT-F
82         EQUAL?  PRSA,V?CLOSE \FALSE
83         PRINTR  "The teapot has no lid."
84
85
86         .FUNCT  ROSE-F
87         EQUAL?  PRSA,V?SMELL \?ELS5
88         PRINTR  "Unlike your efforts here, it comes out smelling like a rose."
89 ?ELS5:  EQUAL?  PRSA,V?EXAMINE \FALSE
90         PRINTR  "A rose is a rose is a rose...."
91
92
93         .FUNCT  FOOTPAD-F
94         EQUAL?  PRSA,V?EXAMINE \FALSE
95         PRINTR  "A footpad is a thief."
96
97
98         .FUNCT  COMPASS-F
99         EQUAL?  PRSA,V?FIND \?ELS5
100         PRINTR  "It's on your person. And lucky for you, or you would become hopelessly lost."
101 ?ELS5:  EQUAL?  PRSA,V?OVERBOARD,V?THROW,V?DROP \?ELS9
102         PRINTR  "You can't get rid of it. It is an extension of yourself."
103 ?ELS9:  EQUAL?  PRSA,V?EXAMINE \?ELS13
104         PRINTR  "It's one of those gizmos with a needle and a card with the eight major compass directions. Simple, but effective."
105 ?ELS13: EQUAL?  PRSA,V?READ \?ELS17
106         PRINTR  "It doesn't make very interesting reading - just the compass directions."
107 ?ELS17: PRINTR  "You can't do that. And don't bother to ask why."
108
109         .ENDI