forked from historicalsource/enchanter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
stair.zil
581 lines (530 loc) · 17.4 KB
/
stair.zil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
"STAIR for
ENCHANTER
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
"
<ROOM LANDING
(IN ROOMS)
(DESC "Landing")
(LDESC
"The wall is cylindrical here, with exits east and west. The eastern one
opens into a dark, enclosed space. The air is thick with acrid smoke, and
black, greasy ashes mar the floor. The mortar and stones of the walls
are stained and crumbly.")
(EAST PER LANDING-EXIT-F)
(WEST TO JUNCTION)
(FLAGS ONBIT RLANDBIT RMUNGBIT)
(PSEUDO "ASHES" ASHES-PSEUDO)>
<GLOBAL STAIR-SOLVED? <>>
<ROUTINE LANDING-EXIT-F ()
<COND (,STAIR-SOLVED?
<TELL
"There is no floor there, and the pit beneath you is of great, if not
infinite, depth. You fall forever.">
<FINISH>)
(ELSE ,ENDLESS-STAIR)>>
<ROOM ENDLESS-STAIR
(IN ROOMS)
(DESC "Winding Stair")
(UP PER ENDLESS-UP)
(DOWN PER ENDLESS-DOWN)
(WEST PER ENDLESS-EXIT-F)
(ACTION ENDLESS-STAIR-F)
(ADVFCN ADVENTURER-DROPS-OUT)
(FLAGS RLANDBIT)
(GLOBAL STAIRS)>
<ROUTINE ADVENTURER-DROPS-OUT ()
<TELL
"The adventurer seems to have dropped out of existence. In a voice that seems
to recede into the void, you hear his final word: \"Restore....\" You muse
about how a mere adventurer might come to possess a spell of such power." CR>
<REMOVE ,ADVENTURER>
<QUEUE I-ADVENTURER 0>
<RTRUE>>
<OBJECT STAIRS
(IN LOCAL-GLOBALS)
(SYNONYM STAIRS STEPS STAIR STAIRWAY)
(ADJECTIVE SPIRAL WINDING)
(DESC "stairs")
(FLAGS NDESCBIT CLIMBBIT TOUCHBIT)
(ACTION STAIRS-F)>
<ROUTINE STAIRS-F ()
<COND (<EQUAL? ,HERE ,JUNCTION>
<TELL
"The stairs are to the east. You'll have to go there to get a look." CR>)
(<AND <EQUAL? ,HERE ,ENDLESS-STAIR>
<VERB? KULCAD>>
<STAIR-DISPEL>)>>
<GLOBAL DROPPED-SOME? <>>
<ROUTINE STAIR-DISPEL ()
<QUEUE I-HUNGER 0>
<QUEUE I-THIRST 0>
<QUEUE I-TIRED 0>
<QUEUE I-TURTLE 0>
;"Stop hunger and thirst. The loser has enough on his mind now..."
<SETG STAIR-SOLVED? T>
<SETG SCORE <+ ,SCORE ,STAIR-POINT>>
<SETG STAIR-POINT 0>
<SETG DROPPED-SOME? <DESTROY-ALL ,WINNER ,REAL-STAIR>>
<MOVE ,FLY-SCROLL ,WINNER>
<TELL
"The stairway begins to dissolve before your eyes, leaving a circular area
with exits east and west, but remarkable mainly for its absence of a floor.
Indeed, you find yourself standing in midair above a deep pit with the
sort of comical look which is found mainly among duped cartoon characters.
Frantically, you grab for the solid bannister">
<COND (,DROPPED-SOME? <TELL ", dropping your heavier possessions
in your desire to save yourself">)>
<TELL "! But the bannister shifts and dissolves
as well, leaving you grasping what appears to be an ornate scroll." CR>
<THIS-IS-IT ,FLY-SCROLL>
<ENABLE <QUEUE I-FALL-FOREVER 5>>
<ENABLE <QUEUE I-FALL -1>>
<DISABLE <INT I-TIRED>>
<GOTO ,REAL-STAIR <>>
<RTRUE>>
<ROUTINE ENDLESS-UP ()
<ENDLESS-UP-DOWN T>
,ENDLESS-STAIR>
<ROUTINE ENDLESS-DOWN ()
<ENDLESS-UP-DOWN <>>
,ENDLESS-STAIR>
<ROUTINE ENDLESS-UP-DOWN (UP?)
<FCLEAR ,ENDLESS-STAIR ,TOUCHBIT>
<STAIR-TO-TABLE ,STAIR-LOC>
<TELL "You ">
<COND (.UP?
<TELL "climb">
<SETG STAIR-LOC <+ ,STAIR-LOC 1>>)
(T
<TELL "descend">
<SETG STAIR-LOC <- ,STAIR-LOC 1>>)>
<TELL " the stairs, making one circuit of the tower." CR>
<TABLE-TO-STAIR ,STAIR-LOC>>
<ROUTINE ENDLESS-STAIR-F (RARG)
<COND (<==? .RARG ,M-LOOK>
<TELL
"This is a winding stair, stretching up and down out of sight. The walls are
mossy and damp.">
<COND (<==? ,STAIR-LOC ,STAIR-START>
<TELL " An exit leads west to a landing.">)>
<CRLF>)
(<AND <EQUAL? .RARG ,M-ENTER>
<NOT <EQUAL? ,WINNER ,PLAYER>>
<NOT <IN? ,WINNER <LOC ,PLAYER>>>>
<REMOVE ,WINNER>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<RFALSE>)>>
<ROUTINE ENDLESS-EXIT-F ()
<COND (<==? ,STAIR-LOC ,STAIR-START> ,LANDING)
(T
<TELL "You can't go that way." CR>
<RFALSE>)>>
<ROUTINE STAIR-TO-TABLE (SLOC
"AUX" TBL (CNT 0)
(F <FIRST? ,ENDLESS-STAIR>) N)
<SET TBL ,STAIR-TABLE>
<REPEAT ()
<COND (.F <SET N <NEXT? .F>>)
(ELSE <RETURN>)>
<COND (<EQUAL? .F ,WINNER>)
(<FSET? .F ,TAKEBIT>
<REPEAT ()
<COND (<==? <GET .TBL .CNT> 0>
<PUT .TBL .CNT .SLOC>
<PUT .TBL <+ .CNT 1> .F>
<SET CNT <+ .CNT 2>>
<REMOVE .F>
<RETURN>)
(ELSE
<SET CNT <+ .CNT 2>>)>>)>
<SET F .N>>>
<ROUTINE TABLE-TO-STAIR (SLOC
"AUX" TBL (CNT 0))
<SET TBL ,STAIR-TABLE>
<REPEAT ()
<COND (<NOT <L? .CNT ,STAIR-TABLE-LENGTH>>
<RETURN>)
(<==? <GET .TBL .CNT> .SLOC>
<PUT .TBL .CNT 0>
<MOVE <GET .TBL <+ .CNT 1>> ,ENDLESS-STAIR>)>
<SET CNT <+ .CNT 2>>>>
<GLOBAL STAIR-LOC 10000>
<CONSTANT STAIR-START 10000>
<CONSTANT STAIR-TABLE-LENGTH 70> ;"currently 33 takeable objects"
<GLOBAL STAIR-TABLE ;"length should be 2*number of takeable objects"
<TABLE 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0>>
\
<ROOM REAL-STAIR
(IN ROOMS)
(DESC "Winding Stair")
(LDESC
"This is a circular room with no floor. There are exits east and west.
A crude drawing of stairsteps graces the ceiling. Downward is only
darkness.")
(WEST PER REAL-STAIR-EXIT-F) ;"LANDING"
(EAST PER REAL-STAIR-EXIT-F) ;"WARLOCK-TOWER"
(DOWN PER REAL-STAIR-EXIT-F) ;"PIT"
(FLAGS RLANDBIT)
(ACTION PIT-F)
(GLOBAL STAIRS)>
<ROUTINE REAL-STAIR-EXIT-F ()
<SETG FALL-COUNT 0>
<COND (,FLYING?
<TELL "Effortlessly, you float ">
<COND (<==? ,PRSO ,P?DOWN>
<SETG FALL-COUNT 1>
<TELL "downward." CR>
<DESTROY-ALL ,HERE ,PIT>
,PIT)
(<==? ,PRSO ,P?EAST>
<SETG SCORE <+ ,SCORE ,FLY-POINT>>
<SETG FLY-POINT 0>
<STOP-FLYING>
<TELL "eastward and settle to the ground." CR>
,WARLOCK-TOWER)
(<==? ,PRSO ,P?WEST>
<STOP-FLYING>
<TELL "westward and settle to the ground." CR>
,LANDING)>)
(ELSE ;"I'm not sure this can happen"
<TELL
"You must think you can fly." CR>
<RFALSE>)>>
<ROOM PIT
(IN ROOMS)
(DESC "Bottomless Pit")
(LDESC
"This is a circular pit of apparently infinite depth. The walls are of
crudely dressed stone. No floor is visible.")
(UP PER PIT-EXIT-F)
(DOWN PER PIT-EXIT-F)
(ACTION PIT-F)
(FLAGS RLANDBIT ONBIT)>
<ROUTINE PIT-EXIT-F ()
<COND (,FLYING?
<TELL "Effortlessly, you float ">
<COND (<==? ,PRSO ,P?DOWN>
<SETG FALL-COUNT <+ ,FALL-COUNT 1>>
<TELL "downward." CR>)
(T
<SETG FALL-COUNT <- ,FALL-COUNT 1>>
<TELL "upward." CR>)>
<COND (<==? ,FALL-COUNT 0>
<DESTROY-ALL ,HERE ,REAL-STAIR>
,REAL-STAIR)
(ELSE
<DESTROY-ALL ,HERE ,PIT>
<FCLEAR ,PIT ,TOUCHBIT>
,PIT)>)
(ELSE
<TELL
"You must think you can fly." CR>
<RFALSE>)>>
<ROUTINE PIT-F ("OPTIONAL" RARG)
<COND (<==? .RARG ,M-BEG>
<COND (<AND <VERB? DROP> <HELD? ,PRSO>>
<FSET ,PRSO ,NDESCBIT>
<FCLEAR ,PRSO ,TAKEBIT>
<TELL
"The " D ,PRSO " falls out of sight below you." CR>)
(<AND <VERB? TAKE EXAMINE> <NOT <HELD? ,PRSO>>>
<TELL
"The " D ,PRSO " is out of reach below you." CR>)>)>>
<GLOBAL FALL-COUNT 0>
<ROUTINE STOP-FLYING ()
<SETG FLYING? <>>
<QUEUE I-FALL 0>
<QUEUE I-FALL-FOREVER 0>
<QUEUE I-FLY 0>
<RTRUE>>
<ROUTINE I-FALL ()
<COND (,FLYING? <RTRUE>)>
<SETG FALL-COUNT <+ ,FALL-COUNT 1>>
<TELL
"You plummet downward, deeper into the pit, but the bottom is still not
visible.">
<COND (,DROPPED-SOME?
<TELL " Far ahead of you fall your former possessions." CR>)>
<RTRUE>>
<ROUTINE I-FALL-FOREVER ()
<TELL
"You plummet deeper and deeper into the pit! Oddly enough, you never
seem to hit bottom. After many years, only tattered remnants of you
remain, still falling." CR>
<FINISH>>
<ROUTINE DESTROY-ALL (WHO WHERE "AUX" N X (DEST? <>))
<SET X <FIRST? .WHO>>
<REPEAT ()
<COND (<NOT .X> <RETURN .DEST?>)>
<SET N <NEXT? .X>>
<COND (<AND <NOT <EQUAL? .X ,WINNER>>
<G? <GETP .X ,P?SIZE> 4>>
<REMOVE-ALL .X>
<MOVE .X .WHERE>
<FSET .X ,NDESCBIT>
<FCLEAR .X ,TAKEBIT>
<SET DEST? T>)>
<SET X .N>>>
<ROUTINE REMOVE-ALL (WHAT "AUX" N X)
<SET X <FIRST? .WHAT>>
<REPEAT ()
<COND (<NOT .X> <RETURN>)>
<SET N <NEXT? .X>>
<REMOVE .X>
<SET X .N>>>
\
<ROOM WARLOCK-TOWER
(IN ROOMS)
(DESC "Warlock's Tower")
(LDESC
"This is a room carved out of black basalt, eerily lit by flickering
fires and the dim glow of magic.")
(DOWN "The pit yawns before you, and the izyuk spell has worn off!")
(WEST "The pit yawns before you, and the izyuk spell has worn off!")
(FLAGS RLANDBIT ONBIT)
(ACTION WARLOCK-TOWER-F)>
<ROUTINE WARLOCK-TOWER-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<FSET ,WARLOCK-TOWER ,TOUCHBIT>
<TELL
"As you enter, you realize that this is Krill's secret chamber,
protected by powerful illusions now broken by your skills. Before you
stands Krill, engaged in the casting of some complex and horrific magic.
Krill turns to face you, surprised and annoyed by your intrusion. You
have seen him before: cloaked in black, he sacrificed you at the Altar
before his hoard. His yellow eyes glisten and he breathes deeply. In a
voice as deep as the great caverns of the earth, he speaks: \"Fool!
Parlor magician! You dare to defile my chamber with your worm-like
presence. I shall not waste words with you. Goodbye, spell-monger!\"">
<COND (<EQUAL? ,HASTED? ,PLAYER>
<TELL "
He pauses. \"Ah! You seem to be in a hurry, campfire-conjurer! Slow down
and enjoy the show!\" He waves his hand, and you are robbed of your energy.">)>
<TELL "
Krill snaps his fingers loudly, and a giant dragon appears, breathing gouts
of flame. He moves ever closer, red eyes bulging with malice!" CR CR>
<MOVE ,DRAGON ,HERE>
<ENABLE <QUEUE I-DRAGON 2>>)>>
<OBJECT KRILL
(IN WARLOCK-TOWER)
(DESC "warlock Krill")
(LDESC
"The warlock Krill, robed in black, stands before you, in eager anticipation
of your death.")
(SYNONYM KRILL WARLOCK)
(FLAGS VICBIT)
(ACTION KRILL-F)>
<OBJECT GLOBAL-KRILL
(IN GLOBAL-OBJECTS)
(DESC "warlock Krill")
(SYNONYM KRILL WARLOCK)
(ACTION GLOBAL-KRILL-F)>
<ROUTINE GLOBAL-KRILL-F ()
<COND (<VERB? GUNCHO HELLO GIVE>
<TELL
"Krill is not here, and lucky for you." CR>)
(<VERB? ZIFMIA>
<JIGS-UP
"The warlock Krill appears before you, staring in astonishment. \"Who is
it that disturbs my slumber? Oh, it is only you, secondary-school sorcerer!\"
He points a finger and chants a spell. You are cast into the endless void!"
<>>)
(<VERB? EXAMINE WHO>
<TELL
"Krill is an evil warlock who was banished from the Circle of Enchanters.
His malice was thought to be forever ended, his reign of terror a dim and
frightful memory. But he has returned, and his power must be destroyed lest
the Circle's great works be overthrown." CR>)
(T
<GLOBAL-NOT-HERE-PRINT ,GLOBAL-KRILL>
<RTRUE>)>>
<OBJECT DRAGON
(DESC "dragon")
(SYNONYM DRAGON FLAME FLAMES)
(LDESC
"A dragon, spouting flame, approaches!")
(FLAGS VICTIM)
(ACTION DRAGON-F)>
<ROUTINE DRAGON-F ()
<COND (<VERB? GONDAR>
<TELL
"The dragon's flame is doused in a torrent of water as you cast the
gondar spell! He disappears with a torturous scream.">
<REMOVE ,DRAGON>
<SECOND-ACT>)
(<VERB? VAXUM NITFOL>
<TELL
"The dragon pauses and roars out a benevolent greeting, which, to your
chagrin, fries you to a delicate crisp." CR>
<FINISH>)
(<VERB? GUNCHO>
<TELL
"Unfortunately, the dragon is practically on top of you, and before you
can finish saying the guncho spell he blasts you to beyond well-done." CR>
<FINISH>)
(<VERB? CLEESH>
<TELL
"The dragon, being reptilian himself, is unaffected." CR>)
(<VERB? KILL ATTACK MUNG>
<TELL
"Your strength isn't nearly enough to best the dragon!" CR>)>>
<ROUTINE SECOND-ACT ("OPTIONAL" (GUNCH <>))
<TELL CR
"Krill ">
<COND (.GUNCH <TELL "seems shaken, but regains his composure.">)
(T <TELL "seems to be somewhat amused.">)>
<TELL CR CR
"\"A fine spell, wizard-worm, but your luck has ended!\" With another snap
of his fingers, he summons a being whose essence is evil. It has a shape which
is masked by its blackness and exudes a foul, fetid odor. In its hand
is a large battle axe. At a signal from Krill, it advances!" CR>
<ENABLE <QUEUE I-SHAPE 2>>
<MOVE ,SHAPE ,HERE>>
<GLOBAL NO-LONGER-PROTECTED
"Krill looks your way and spits: \"You were fortunate, wizard-worm, to have
survived our last encounter. But your trivial spells of protection will not
save you now!\"">
<ROUTINE I-DRAGON ()
<COND (<IN? ,DRAGON ,HERE>
<COND (<OR <==? ,DEATH-CHEATED ,ME>
,PROTECTED-FROM-EVIL>
<TELL ,NO-LONGER-PROTECTED CR>)>
<TELL
"The dragon engulfs you in flame. As you perish, you can hear Krill's
mocking laughter." CR>
<FINISH>)>
<QUEUE I-DRAGON 0>
<RTRUE>>
<OBJECT SHAPE
(DESC "monster")
(SYNONYM MONSTER SHAPE BEING)
(ACTION SHAPE-F)>
<ROUTINE SHAPE-F ()
<COND (<VERB? VAXUM>
<TELL
"The monster hesitates, stops, smiles, and disappears." CR>
<THIRD-ACT>)
(<VERB? CLEESH>
<TELL
"The monster hesitates, trembles, then turns into a newt. Poor monster. Its
battle axe, now unsupported, falls on it, slicing it neatly in half." CR>
<THIRD-ACT>)
(<VERB? NITFOL>
<TELL
"\"Yum, yum!\" are the last words you hear." CR>
<FINISH>)
(<VERB? GUNCHO>
<TELL
"The monster pauses for a moment as you begin the guncho spell, then swiftly
cleaves you with its axe before you can finish!" CR>
<FINISH>)
(<VERB? KILL ATTACK MUNG>
<TELL
"Your effort is useless. It is still coming closer!" CR>)>>
<ROUTINE THIRD-ACT ()
<REMOVE ,SHAPE>
<TELL CR
"Krill seems to be losing patience.|
|
\"I am through playing games, carnival-clown! You shall return to your
Circle, but I am afraid that all the little pieces will prove hard to
reassemble!\" He laughs hideously and starts a guttural chant which
shakes the very tower." CR>
<SETG KRILL-KILL T>
<ENABLE <QUEUE I-BYE 2>>
<RTRUE>>
<GLOBAL KRILL-KILL <>>
<ROUTINE I-SHAPE ()
<COND (<IN? ,SHAPE ,HERE>
<COND (<OR <==? ,DEATH-CHEATED ,ME>
,PROTECTED-FROM-EVIL>
<TELL ,NO-LONGER-PROTECTED CR>)>
<TELL
"The monster hits you with its battle axe! You fall, dead, as the
laughter of Krill reaches a crescendo!" CR>
<FINISH>)>
<QUEUE I-SHAPE 0>
<RTRUE>>
<ROUTINE I-BYE ()
<COND (<EQUAL? ,HERE ,WARLOCK-TOWER>
<TELL CR
"Krill finishes his spell and his harsh laughter is all that remains!
You are in a void, without sight, sound, or sensation. You scream at the
top of your lungs, but nothing happens. You break into a cold sweat as you
ponder the infinite, beyond all help and hope!" CR>
<FINISH>)>>
<ROUTINE KRILL-F ()
<COND (<VERB? EXAMINE>
<TELL
"Krill is not a pretty sight! Enough said." CR>)
(<AND <VERB? GUNCHO> ,KRILL-KILL>
<TELL
"Krill recoils as he hears the first words of the guncho spell. For a few
seconds he continues with the spell he was casting, trying to finish before
you. He fumbles some syllables! Then he steps
back and, with his hands outstretched toward you, lets out a bloodcurdling
scream. His face twisted, and his body vibrating with the effort of resisting
the enchantment, he utters a spell
of power, and is gone! After a quiet moment, a rumble begins deep in the
earth. It strengthens as the tower starts to sway. The floor gives way
beneath you and you tumble down towards the sea ... then you are surrounded
by a burst of light.|
|
You realize that you are with the Circle. The Eldest of the Circle, Belboz,
rises and speaks: \"The evil of Krill is ended this day. From beyond hope,
you have proved yourself great and worthy. Our hearts are gladdened at your
return.\" A chair appears at his right hand and he motions for you to
sit beside him. He smiles warmly. \"Join with us,\" he says, \"and tell us
of your quest!\"|
|
Here ends the first chapter of the Enchanter saga, in which, by virtue of your
skills, you have joined the Circle of Enchanters. Further adventures await you
as the Enchanter series continues." CR CR>
<SETG SCORE <+ ,SCORE ,WARLOCK-POINT>>
<USL>
<FINISH>)
(<VERB? CLEESH>
<TELL
"Krill shimmers for a moment, then laughs heartily. The laugh sounds
vaguely like a croak, but perhaps it is only your imagination." CR>)
(<VERB? VAXUM>
<TELL
"The spell seems to have no influence over Krill. You wouldn't much
like to see him smile, anyway." CR>)
(<VERB? GUNCHO>
<TELL
"The look of surprise on Krill's face as you recite the first few
syllables of the guncho spell is exceeded only by your look of disappointment
as you are "
<COND (<IN? ,SHAPE ,HERE> "sliced into bits by the monster!")
(T "incinerated by the dragon!")>
CR>
<FINISH>)
(<VERB? HELLO>
<TELL "Krill grins and the sight is ghastly." CR>)>>
<ROUTINE I-MUNG-ROOM ("OPTIONAL" (TELL? T) "AUX" RM TBL)
<ENABLE <QUEUE I-MUNG-ROOM 20>>
<SET TBL ,MUNG-ROOM-TABLE>
<REPEAT ()
<COND (<SET RM <GET .TBL 0>>
<COND (<NOT <FSET? .RM ,RMUNGBIT>>
<RETURN>)>
<SET TBL <REST .TBL 2>>)
(T <RETURN>)>>
<COND (.RM
<FSET .RM ,RMUNGBIT>
<FCLEAR .RM ,TOUCHBIT>
<COND (<AND .TELL? <==? .RM ,HERE>>
<TELL
"Suddenly, you sense a great wind of evil magic blowing around you. You
are weighed down by its power, and only your sorcerous training permits
you to withstand it. When you regain your composure, your surroundings
have changed." CR>)>)>
.RM>