|
|
1.1 root 1: {*** ROUTINE DECLARATIONS ***}
2:
3: ROUTINE inside;
4: ROUTINE ei8;
5: ROUTINE cdrop;
6: ROUTINE ctake;
7: ROUTINE exitg;
8: ROUTINE skore;
9: ROUTINE darkq;
10: ROUTINE darkt;
11: ROUTINE objl;
12: ROUTINE objs;
13: ROUTINE onlmp;
14: ROUTINE scord;
15: ROUTINE ratng;
16: ROUTINE ratnx;
17: ROUTINE scads;
18:
19: {*** GLOBALS ***}
20:
21: kludge = 2;
22: onoff = 2;
23: signed = 2;
24: tlakst = 2;
25: fedmky = 2;
26: ropstf = 2;
27: readl = 3;
28: wellbt = 2;
29: cutflg = 2;
30: earplg = 3;
31: tookbt = 2;
32: movbl = 1;
33: darkbt = 2;
34: rtied = 3;
35: stond = 2;
36: killd = 2;
37: wiped = 2;
38: blokd = 2;
39: tooky = 2;
40: abrad = 3;
41: hitbr = 2;
42: dugbt = 2;
43: debug = 10;
44: VISIT = 11;
45:
46: rarea = 19;
47: pfound = 17;
48: pplace = 18;
49: pscore = 17;
50: pmax = 18;
51: ratvl = 19;
52: weight = 20;
53:
54: Myloc = 15;
55:
56: {*** DEAD-END ROUTINES ***}
57:
58:
59: cg = ($say "Can't go that way.
60: ");
61:
62: tosml = ($say "The hole is too small for you to fit through.
63: ");
64:
65: dumdir = ($say "I don't know which direction that is.
66: ");
67:
68: tohigh = ($say "The hole is too high for you to reach.
69: ");
70:
71: nothe = ($say "This section is not implemented yet.\n");
72:
73: {*** MUSEUM ROOMS ***}
74:
75: NOUN mrm1;
76: NOUN mrm2;
77: NOUN mrm3;
78: NOUN mrm4;
79: NOUN mrm5;
80: NOUN mrm6;
81:
82: {*** INDIAN ROOMS ***}
83:
84: NOUN irm1;
85: NOUN irm2;
86: NOUN irm3;
87: NOUN irm4;
88: NOUN irm5;
89: NOUN irm6;
90: NOUN irm7;
91: NOUN irm8;
92: NOUN irm9;
93: NOUN irm10;
94: NOUN irm11;
95: NOUN irm12;
96: NOUN irm13;
97: NOUN irm14;
98: NOUN irm15;
99: NOUN irm16;
100: NOUN irm17;
101: NOUN irm18;
102: NOUN irm19;
103: NOUN irm20;
104: NOUN irm21;
105: NOUN irm22;
106: NOUN irm23;
107:
108: {*** PREHISTORIC ROOMS ***}
109:
110: NOUN prehs;
111: NOUN prm1(prehs);
112: prm1(darkbt) = 1;
113: NOUN prm2(prehs);
114: NOUN prm3(prehs);
115: NOUN prm4(prehs);
116: NOUN prm5(prehs);
117: prm5(darkbt) = 1;
118: NOUN prm6(prehs);
119: prm6(darkbt) = 1;
120: NOUN prm7(prehs);
121: prm7(darkbt) = 1;
122: NOUN prm8(prehs);
123: prm8(darkbt) = 1;
124: NOUN prm9(prehs);
125: NOUN prm10(prehs);
126: NOUN prm11(prehs);
127: NOUN prm12(prehs);
128: NOUN prm13(prehs);
129: NOUN prm14(prehs);
130: NOUN prm15(prehs);
131: NOUN prm16(prehs);
132: NOUN prm17(prehs);
133: prm17(darkbt) = 1;
134: NOUN prm18(prehs);
135: prm18(darkbt) = 1;
136: NOUN prm19(prehs);
137: prm19(darkbt) = 1;
138: NOUN prm20(prehs);
139: prm20(darkbt) = 1;
140: NOUN prm21(prehs);
141: NOUN prm22(prehs);
142: NOUN prm23(prehs);
143:
144: NOUN .ME;
145: .ME(SDESC) = ($exit 0);
146: .ME(LDESC) = ($exit 0);
147:
148: {*** PREPOSITIONS ***}
149:
150: PREP into;
151:
152: {*** OBJECTS ***}
153:
154: NOUN pen(mrm2);
155: pen(movbl) = 1;
156: pen(weight) = 1;
157: pen(LDESC) = ($say "There is a ball-point pen here.\n");
158: pen(SDESC) = ($say "ball-point pen");
159:
160: NOUN paper(mrm2);
161: release = paper;
162: form = paper;
163: paper(movbl) = 1;
164: paper(weight) = 1;
165: paper(LDESC) = (($eq ($prop paper readl) 0) :
166: ($say "There is a slip of paper here.\n"))
167: (($eq ($prop paper readl) 1) :
168: ($say "There is a release form here.\n"));
169: paper(SDESC) = (($eq ($prop paper readl) 0) : ($say "slip of paper"))
170: (($eq ($prop paper readl) 1) : ($say "release form"));
171:
172: NOUN spices(irm6);
173: spices(movbl) = 1;
174: spices(weight) = 3;
175: spices(LDESC) = ($say "There is a bag of spices here.\n");
176: spices(SDESC) = ($say "spices");
177: spices(rarea) = 1;
178: spices(pfound) = 5;
179: spices(pplace) = 9;
180:
181: NOUN rupees(irm7);
182: coins=rupees;
183: rupees(movbl) = 1;
184: rupees(weight) = 5;
185: rupees(LDESC) = ($say "There is a bag of rupees (Indian coins) here.\n");
186: rupees(SDESC) = ($say "rupees (coins)");
187: rupees(rarea) = 1;
188: rupees(pfound) = 5;
189: rupees(pplace) = 15;
190:
191: NOUN coconut(irm3);
192: coconut(movbl) = 1;
193: coconut(weight) = 3;
194: coconut(LDESC) = ($say "There is a large coconut here.\n");
195: coconut(SDESC) = ($say "coconut");
196:
197: NOUN rope(mrm1);
198: rope(movbl) = 1;
199: rope(weight) = 3;
200: rope(LDESC) = (($eq ($prop rope ropstf) 0):
201: ($say "There is a coil of rope here.\n"))
202: (($eq ($prop rope ropstf) 1) :
203: ($say "There is a long piece of rope here, magically
204: rising up in mid-air.\n"));
205: rope(SDESC) = ($say "rope");
206:
207: NOUN clarinet(irm2);
208: clarinet(movbl) = 1;
209: clarinet(weight) = 2;
210: clarinet(LDESC) = ($say "There is a clarinet here.\n");
211: clarinet(SDESC) = ($say "clarinet");
212:
213: NOUN cobra(irm22);
214: cobra(LDESC) = ($say "There is a king cobra at the bottom of the pit.\n");
215: cobra(SDESC) = ($say "cobra");
216: snake = cobra;
217: elapid = cobra;
218:
219: NOUN river;
220:
221: NOUN statue;
222:
223: NOUN banana(irm3);
224: banana(movbl) = 1;
225: banana(weight) = 2;
226: banana(LDESC) = ($say "There is a banana here.\n");
227: banana(SDESC) = ($say "banana");
228:
229: NOUN peel;
230: peel(movbl) = 1;
231: peel(weight) = 1;
232: peel(LDESC) = ($say "On the ground, there is a banana peel.\n");
233: peel(SDESC) = ($say "banana peel");
234:
235: NOUN vishnu;
236:
237: NOUN mara;
238:
239: NOUN lakshmi;
240:
241: NOUN crocodile;
242:
243: NOUN rhino(irm13);
244: rhino(LDESC) = (($eq ($prop rhino cutflg) 1) :
245: ($say "There is a rhino sleeping here with his horn removed.\n"))
246: (($eq ($prop rhino cutflg) 0) :
247: ($say "There is a rhinoceros sleeping in the corner.\n"))
248: (($eq ($prop rhino earplg) 1) :
249: ($say "There are two pieces of cotton stuck in his ears.\n"));
250: rhino(SDESC) = ($say "sleeping rhino");
251:
252: NOUN saw(irm2);
253: saw(movbl) = 1;
254: saw(weight) = 2;
255: saw(LDESC) = ($say "There is a hack-saw on the ground.\n");
256: saw(SDESC) = ($say "hack-saw");
257: hacksaw = saw;
258:
259: NOUN horn;
260: horn(movbl) = 1;
261: horn(weight) = 2;
262: horn(LDESC) = ($say "There is a rhinoceros horn here.\n");
263: horn(SDESC) = ($say "rhino horn");
264: horn(rarea) = 1;
265: horn(pfound) = 14;
266: horn(pplace) = 7;
267:
268: NOUN cotton;
269: cotton(movbl) = 1;
270: cotton(weight) = 1;
271: cotton(LDESC) = ($say "There is a large wad of cotton on the ground.\n");
272: cotton(SDESC) = ($say "cotton");
273:
274: NOUN lattice(irm13);
275: lattice(LDESC) = ($exit 0);
276: lattice(SDESC) = ($exit 0);
277:
278: NOUN monkey(irm20);
279: monkey(LDESC) = ($say "There is a sacred temple monkey here.\n");
280: monkey(SDESC) = ($say "a monkey");
281:
282: NOUN tandoor;
283: oven = tandoor;
284:
285: NOUN comb(irm14);
286: comb(movbl) = 1;
287: comb(weight) = 1;
288: comb(LDESC) = ($say "There is an expertly carved jade comb here.\n");
289: comb(SDESC) = ($say "jade comb");
290: comb(rarea) = 1;
291: comb(pfound) = 7;
292: comb(pplace) = 6;
293:
294: NOUN ruby(irm17);
295: ruby(movbl) = 1;
296: ruby(weight) = 2;
297: ruby(LDESC) = ($say "There is a crimson ruby here.\n");
298: ruby(SDESC) = ($say "ruby");
299: ruby(rarea) = 1;
300: ruby(pfound) = 8;
301: ruby(pplace) = 7;
302:
303: NOUN bowl(irm21);
304: bowl(movbl) = 1;
305: bowl(weight) = 3;
306: bowl(LDESC) = ($say "There is a crystal bowl here.\n");
307: bowl(SDESC) = ($say "bowl");
308: bowl(rarea) = 1;
309: bowl(pfound) = 10;
310: bowl(pplace) = 10;
311:
312: NOUN bracelet(irm23);
313: bracelet(movbl) = 1;
314: bracelet(weight) = 1;
315: bracelet(LDESC) = ($say
316: "There is a golden bracelet in the shape of a snake here.\n");
317: bracelet(SDESC) = ($say "bracelet");
318: bracelet(rarea) = 1;
319: bracelet(pfound) = 11;
320: bracelet(pplace) = 6;
321:
322: NOUN shovel(mrm1);
323: shovel(movbl) = 1;
324: shovel(weight) = 3;
325: shovel(LDESC) = ($say
326: "There is a shovel here.\n");
327: shovel(SDESC) = ($say "shovel");
328:
329: NOUN ears;
330:
331: NOUN pole;
332:
333: NOUN amber(prm3);
334: amber(movbl) = 1;
335: amber(weight) = 2;
336: amber(LDESC) = ($say "There is a polished piece of amber here.\n");
337: amber(SDESC) = ($say "amber");
338: amber(rarea) = 2;
339: amber(pfound) = 12;
340: amber(pplace) = 6;
341:
342: NOUN lamp(mrm1);
343: lamp(movbl) = 1;
344: lamp(weight) = 3;
345: lamp(LDESC) = ($say "There is a carbide-flame lamp here.\n");
346: lamp(SDESC) = ($say "lamp");
347:
348: NOUN grate;
349:
350: NOUN nugget;
351: gold = nugget;
352: nugget(movbl) = 1;
353: nugget(weight) = 4;
354: nugget(LDESC) = ($say "There is a gold nugget lying on the ground.\n");
355: nugget(SDESC) = ($say "gold nugget");
356: nugget(rarea) = 2;
357: nugget(pfound) = 13;
358: nugget(pplace) = 7;
359:
360: NOUN axe(prm1);
361: axe(movbl) = 1;
362: axe(weight) = 1;
363: axe(LDESC) = ($say "There is an stone-age axe here.\n");
364: axe(SDESC) = ($say "axe");
365:
366: NOUN spear(prm17);
367: spear(movbl) = 1;
368: spear(weight) = 2;
369: spear(LDESC) = (($eq ($prop spear tooky) 1) :
370: ($say "There is a Neanderthal hunting spear here.\n"))
371: (($eq ($prop spear tooky) 0) :
372: ($say
373: "There is a Neanderthal hunting spear stuck in the ground.\n"));
374: spear(SDESC) = ($say "spear");
375:
376: NOUN plant(prm2);
377: plant(movbl) = 1;
378: plant(weight) = 4;
379: plant(LDESC) = ($say "There is a strange looking potted plant here.\n");
380: plant(SDESC) = ($say "plant");
381:
382: NOUN smilodon; {Putty tat}
383: sabre = smilodon;
384:
385: NOUN troglodyte;
386:
387: NOUN cheese(prm4);
388: cheese(movbl) = 1;
389: cheese(weight) = 1;
390: cheese(LDESC) = ($say
391: "There is a piece of Swiss cheese here. (Aged 1,000,000 years).
392: ");
393: cheese(SDESC) = ($say "cheese");
394:
395: NOUN towel(prm4);
396: towel(movbl) = 1;
397: towel(weight) = 2;
398: towel(LDESC) = ($say "There is an old towel here.\n");
399: towel(SDESC) = ($say "towel");
400:
401: NOUN mammoth(prm14);
402: mammoth(LDESC) = ($say
403: "There is a large wooly mammoth blocking the path to the south.\n");
404: mammoth(SDESC) = ($say "mammoth");
405: elephant = mammoth;
406: pachyderm = mammoth;
407:
408: NOUN feet;
409:
410: NOUN diamond(prm12);
411: diamond(movbl) = 1;
412: diamond(weight) = 1;
413: diamond(LDESC) = ($say "There is a small diamond here.\n");
414: diamond(SDESC) = ($say "diamond");
415: diamond(rarea) = 2;
416: diamond(pfound) = 7;
417: diamond(pplace) = 8;
418:
419: NOUN ivory(prm15);
420: ivory(movbl) = 1;
421: ivory(weight) = 2;
422: ivory(LDESC) = ($say "There is a piece of ivory here.\n");
423: ivory(SDESC) = ($say "ivory");
424: ivory(rarea) = 2;
425: ivory(pfound) = 9;
426: ivory(pplace) = 8;
427:
428: NOUN pendant;
429: pendant(movbl) = 1;
430: pendant(weight) = 2;
431: pendant(LDESC) = ($say "There is a ancient pendant here.\n");
432: pendant(SDESC) = ($say "pendant");
433: pendant(rarea) = 2;
434: pendant(pfound) = 14;
435: pendant(pplace) = 4;
436:
437: NOUN cairn;
438: skulls = cairn;
439:
440: NOUN bear(prm19);
441: bear(LDESC) = ($say "There is a ferocious cave bear blocking your path to the
442: north.\n");
443: bear(SDESC) = ($say "cave bear");
444:
445: NOUN necklace(prm20);
446: necklace(movbl) = 1;
447: necklace(weight) = 1;
448: necklace(LDESC) = ($say "There is a pearl necklace here.\n");
449: necklace(SDESC) = ($say "necklace");
450: necklace(rarea) = 2;
451: necklace(pfound) = 13;
452: necklace(pplace) = 6;
453:
454: NOUN Tyranosaur;
455:
456: NOUN ring(prm23);
457: ring(movbl) = 1;
458: ring(weight) = 1;
459: ring(LDESC) = ($say "There is a large diamond ring here.\n");
460: ring(SDESC) = ($say "ring");
461: ring(rarea) = 2;
462: ring(pfound) = 13;
463: ring(pplace) = 10;
464:
465: NOUN hole;
466:
467: NOUN newspaper(mrm1);
468: newspaper(movbl) = 1;
469: newspaper(weight) = 1;
470: newspaper(LDESC) = ($say "There is a copy of a newspaper here.\n");
471: newspaper(SDESC) = ($say "newspaper");
472:
473: NOUN crack;
474: NOUN shaft;
475:
476: {*** VERBS ***}
477:
478: VERB sign;
479: VERB read;
480: VERB throw;
481: VERB drop;
482: VERB take;
483: VERB play;
484: VERB quit;
485: VERB look;
486: VERB inven;
487: i=inven;l=look;
488: VERB rname;
489: VERB save;
490: VERB shell;
491: VERB restore;
492: VERB touch;
493: VERB eat;
494: VERB swim;
495: VERB feed;
496: VERB score;
497: VERB abracadabra;
498: VERB dig;
499: VERB cut;
500: VERB plug;
501: VERB tie;
502: VERB untie;
503: VERB on;
504: VERB off;
505: VERB light;
506: VERB open;
507: VERB close;
508: VERB wipe;
509: VERB shake;
510: VERB xyzzy;
511: VERB jamb;
512: plugh = xyzzy;
513: clean = wipe;
514: shut = close;
515: peruse = read;
516: chuck = throw;
517: hurl = throw;
518: toss = throw;
519: heave = throw;
520: put = drop;
521: discard = drop;
522: get = take;
523: grab = take;
524: push = touch;
525: pet = touch;
526: devour = eat;
527: consume = eat;
528: wade = swim;
529: ford = swim;
530: shazam = abracadabra;
531: hocus = abracadabra;
532: abra = abracadabra;
533: excavate = dig;
534: remove = cut;
535: end = quit;
536: bye = quit;
537:
538: {*** FUNNY OBJECT ROUTINES ***}
539:
540: paper(ACTION) = (($eq ($verb) sign) :
541: (($eq ($prop paper signed) 1) :
542: ($say "You already signed it.\n")
543: ($exit 1))
544: (($ne ($loc pen) .ME) :
545: ($say "You don't have anything to write with.\n")
546: ($exit 1))
547: (($ne ($loc paper) .ME) :
548: ($say "You don't have the release with you.\n")
549: ($exit 1))
550: ($setp paper signed 1)
551: (($eq ($loc .ME) mrm3) : ($say
552: "In a blinding flash of light, a stone archway appears in the east wall!\n")
553: ($exit 1))
554: (($eq ($loc .ME) mrm5) :
555: ($say "The grate magically disappears into thin air.\n")
556: ($exit 1))
557: ($say "You hear strange noises in the nearby rooms.\n")
558: ($exit 1))
559: (($eq ($verb) read) :
560: (($ne ($loc paper) .ME) :
561: ($say "You don't have the paper with you.\n")
562: ($exit 1))
563: ($say
564: " THIS CONTRACT LIMITS OUR LIABILITY
565: READ IT
566:
567: I, the undersigned, will not hold the AARDVARK, the UCLA Computer Sciences
568: Department, the UCLA Computer Club, Bell Labs, or the Digital Equipment
569: Corporation responsible for any injuries or deaths due to my executing
570: this program.\n")
571: ($setp paper readl 1)($exit 1));
572:
573: spices(ACTION) = (($and ($eq ($verb) throw) ($eq ($loc .ME) irm8)) :
574: ($say "The bag of spices lands on the other side of the river.
575: ")
576: ($move spices irm9)($exit 1))
577: (($eq ($verb) eat) :
578: ($say "Munch, Munch Munch. It needed a little more salt.\n")
579: ($move spices .ALL)
580: ($exit 1) )
581: (($and ($eq ($verb) throw) ($eq ($loc .ME) irm9)) :
582: ($say "The bag of spices gets intercepted by one of the
583: crocodiles, who promptly swallows it.\n")($move spices .ALL)
584: ($exit 1));
585:
586: rupees(ACTION) = (($and ($eq ($verb) throw)
587: ($or ($eq ($loc .ME) irm8) ($eq ($loc .ME) irm9))) :
588: ($say
589: "The bag is too heavy to throw across the river. It lands in the middle
590: of the river and sinks to the bottom.\n")($move rupees .ALL)
591: ($exit 1));
592:
593: coconut(ACTION) = (($and ($eq ($loc .ME) irm19) ($eq ($verb) drop)) :
594: (($ne ($loc coconut) .ME) :($exit 0))
595: (($eq ($prop rupees wellbt) 0) :
596: ($say "The water in the well rises.\n")
597: ($move coconut irm19) ($exit 1))
598: ($say "The water level in the well slowly rises.
599: Magically floating on the water is a bag of rupees.\n")
600: ($setp rupees wellbt 0)
601: ($move rupees irm19)
602: ($move coconut irm19) ($exit 1))
603: (($and ($eq ($verb) eat) ($eq ($loc coconut) .ME)) :
604: ($say "The coconut is too large for you to consume.\n")
605: ($exit 1) );
606:
607: clarinet(ACTION) = (($and ($eq ($verb) play) ($eq ($loc clarinet) .ME)) :
608: (($eq ($loc .ME) irm22) :
609: (($eq ($loc cobra) irm22) :
610: ($say "Your clarinet playing sounds so poor that the cobra
611: slithers off in terror.\n")
612: ($move cobra .ALL) ($exit 1)))
613: (($eq ($loc .ME) irm16) :
614: (($eq ($loc rope) irm16) :
615: (($eq ($prop rope ropstf) 0) :
616: ($say "The rope magically extends itself up into the air.\n")
617: ($setp rope ropstf 1)($exit 1))))
618: ($say "Benny Goodman you ain't.\n")
619: ($exit 1));
620:
621: rope(ACTION) = (($eq ($prop rope ropstf) 1) :
622: (($eq ($verb) take) :
623: ($setp rope ropstf 0))($exit 0))
624: (($or ($eq ($loc .ME) prm2) ($eq ($loc .ME) prm3)) :
625: (($eq ($prop rope rtied) 1) :
626: (($eq ($verb) take) :
627: ($say "You have to untie the rope first.\n") ($exit 1))
628: (($eq ($verb) tie) :
629: ($say "It's already tied, turkey.\n") ($exit 1))
630: (($eq ($verb) untie) :
631: (($eq ($loc .ME) prm2) :
632: ($move rope .ME) ($setp rope rtied 0)
633: ($say "You untie the rope and coil it up.\n"))
634: (($eq ($loc .ME) prm3) :
635: ($say "It's tied down at the other end.\n"))
636: ($exit 1)))
637: (($eq ($prop rope rtied) 0) :
638: (($eq ($verb) tie) :
639: (($eq ($loc .ME) prm2) :
640: ($say "You tie one end of the rope around the pole, the other
641: end dangles down into the canyon.\n")
642: ($move rope .ALL)
643: ($setp rope rtied 1) ($exit 1))
644: ($say "I see nothing to tie it onto.\n") ($exit 1))
645: (($eq ($verb) untie) :
646: ($say "It's already untied.\n"))))
647: (($eq ($loc .ME) prm3) :
648: (($eq ($verb) take) : ($say
649: "You can't take it, the other end is tied down.\n") ($exit 1))
650: (($eq ($verb) untie) : ($say
651: "the knot is on the other end.\n") ($exit 1)));
652:
653: river(ACTION) = (($and ($ne ($loc .ME) irm8) ($ne ($loc .ME) irm9)) :
654: ($say "I see no river here.\n")($exit 1))
655: (($eq ($verb) take) :
656: ($say "I can't do that.\n") ($exit 1));
657:
658: cobra(ACTION) = (($and ($eq ($verb) take) ($eq ($loc .ME) ($loc cobra))) :
659: ($say "That would be a poor idea.\n")($exit 1));
660:
661: crocodile(ACTION) = (($eq ($verb) take) :
662: ($say "I can't get to any crocodiles from here.\n")
663: ($exit 1));
664:
665: cmara = (($eq ($verb) take) :
666: ($say "The statue is too heavy for you to carry.\n")
667: ($exit 1));
668: claks = (($and ($or ($eq ($verb) take) ($eq ($verb) touch))
669: ($eq ($prop statue tlakst) 0)) :
670: ($say
671: "The statue slides away very easily, revealing a secret passage.\n")
672: ($setp statue tlakst 1)($exit 1));
673: mara(ACTION) = (($eq ($loc .ME) irm10) : (cmara));
674: vishnu(ACTION) = (($eq ($loc .ME) irm11) : (cmara));
675: lakshmi(ACTION) = (($eq ($loc .ME) irm12) : (claks));
676: statue(ACTION) = (($or ($eq ($loc .ME) irm10) ($eq ($loc .ME) irm11)) :
677: (cmara)
678: ($say "That won't accomplish anything.\n")
679: ($exit 1))
680: (($eq ($loc .ME) irm12) : (claks)
681: ($say "I don't see how you can do that to a statue.\n")
682: ($exit 1));
683:
684: banana(ACTION) = (($eq ($loc banana) .ME) :
685: (($eq ($verb) eat) :
686: ($say "You eat the banana, peel and all.\n")
687: ($move banana .ALL)
688: ($exit 1)))
689: (($eq ($loc .ME) irm20) :
690: (($eq ($verb) drop) :
691: ($say "The monkey picks up the banana, eats it, and discards
692: the banana-peel. As soon as the monkey finishes eating
693: the banana, a bolt of lighting hits the stone slab and
694: cracks it open.\n")
695: ($setp monkey fedmky 1)
696: ($move banana .ALL)
697: ($move peel irm20) ($exit 1)));
698:
699: horn(ACTION) = (($eq ($prop rhino cutflg) 1) : ($exit 0))
700: (($eq ($loc .ME) irm13) :
701: (($eq ($verb) take) :
702: ($say "It is still attached to the rhino.\n")
703: ($exit 1))
704: (($eq ($verb) cut) :
705: (($ne ($loc saw) .ME) :
706: ($say "You don't have something to cut the horn with.\n")
707: ($exit 1))
708: (($eq ($prop rhino earplg) 1) :
709: ($say "You cut the horn off without waking up the rhino.\n")
710: ($setp rhino cutflg 1)
711: ($move horn irm13) ($exit 1))
712: ($say "The noise of the sawing wakes up the rhinoceros who
713: tramples you to death because you disturbed his beauty sleep.\n")
714: (exitg)));
715:
716: lattice(ACTION) = (($eq ($loc .ME) irm13) :
717: (($eq ($verb) take) :
718: (($eq ($prop rhino earplg) 1) :
719: ($say "You successfully take the lattice without waking the
720: rhino. Unfortunately, the lattice was the structure which supported the roof
721: of the room, and the ceiling comes crashing down upon you and breaks every
722: bone in your body.\n"))
723: (($eq ($prop rhino earplg) 0) :
724: ($say "As you take the lattice, a large part of the bamboo
725: falls down. The noise caused by the falling bamboo scares the sleeping
726: rhinoceros who tramples you in his panicked exit from the room.\n"))
727: (exitg)));
728:
729: monkey(ACTION) = (($eq ($loc .ME) irm20) :
730: (($eq ($verb) feed) :
731: (($eq ($loc banana) .ME) :
732: ($say "The monkey takes your banana, peels it, eats it,
733: and throws away the banana peel. As soon as he finishes eating
734: the banana, there is a rumble from the depths of the earth and
735: a crack appears in the stone slab.\n")
736: ($setp monkey fedmky 1)
737: ($move banana .ALL)
738: ($move peel irm20) ($exit 1))));
739:
740: cotton(ACTION) = (($eq ($loc .ME) irm13) :
741: (($and ($eq ($verb) drop) ($eq ($iobj) ears)) :
742: ($say
743: "You stick the wads of cotton into the rhino's ears.\n")
744: ($move cotton .ALL)
745: ($setp rhino earplg 1)
746: ($exit 1)))
747: (($eq ($loc cotton) .ALL):
748: (($eq ($loc .ME) irm13):
749: (($eq ($verb) take) :
750: ($say "OK\n")
751: ($move cotton .ME)
752: ($setp rhino earplg 0)
753: ($exit 1))));
754:
755: pole(ACTION) = (($and ($eq ($loc .ME) prm2) ($eq ($verb) take)) :
756: ($say "The pole is firmly cemented into the ground.\n")
757: ($exit 1));
758:
759: lamp(ACTION) = (($eq ($verb) light) : (onlmp) ($exit 1));
760:
761: oven(ACTION) = (($and ($eq ($loc .ME) irm4) ($eq ($verb) open)) :
762: ($say "The door of the oven doesn't budge.\n")
763: ($exit 1));
764:
765: grate(ACTION) = (($and ($eq ($prop paper signed) 0)
766: ($eq ($loc .ME) mrm5)) :
767: (($or ($eq ($verb) open) ($eq ($verb) take)) :
768: ($say
769: "The grate appears to be firmly cemented into the wall.\n")
770: ($exit 1))
771: (($eq ($verb) shut) :
772: ($say "The grate is already shut.\n")($exit 1)));
773:
774: weapo = (($eq ($verb) throw) :
775: (($and ($eq ($prop bear hitbr) 0) ($eq ($loc .ME) prm19)) :
776: ($say "The axe bounces harmlessly off of the bear.\n")
777: ($move axe prm19) ($exit 1))
778: (($eq ($loc .ME) prm14) :
779: ($say "The weapon that you just threw imbeds itself deep into the
780: skull of the mammoth and is covered by the mammoth's long fur so that it
781: can't be seen. The mammoth just stares back at you blankly.\n")
782: ($move ($dobj) .ALL) ($exit 1))
783: (($or ($eq ($loc .ME) irm8) ($eq ($loc .ME) irm9)) :
784: ($say "You miss the crocodile and your weapon sinks into the river.\n")
785: ($move ($dobj) .ALL) ($exit 1))
786: (($eq ($loc .ME) irm13):
787: ($say "Your weapon bounces harmlessly off of the rhino.\n")
788: ($move ($dobj) irm13) ($exit 1))
789: (($and ($eq ($loc .ME) prm6) ($eq ($prop smilo stond) 0)) :
790: ($say "The sabre-tooth catches your weapon in its mouth and promptly
791: swallows it.\n") ($move ($dobj) .ALL) ($exit 1))
792: (($and ($eq ($loc .ME) prm8) ($eq ($prop trogl killd) 0)) :
793: ($say "You hit the troglodyte, who, screaming in pain, drops the
794: gold nugget and falls over the cliff.\n") ($setp trogl killd 1)
795: ($move ($dobj) .ALL)
796: ($move nugget prm8) ($exit 1)));
797:
798: spear(ACTION) = (($eq ($loc spear) .ME) :
799: (($ne ($loc .ME) prm19) :
800: (weapo))
801: (($eq ($loc .ME) prm19) :
802: (($eq ($verb) throw) :
803: ($say
804: "You repeatedly throw your spear at the bear. Eventually, he gets
805: bored and wanders off.\n")
806: ($move bear .ALL)
807: ($move spear prm19)
808: ($setp bear hitbr 1) ($exit 1) )))
809: (($eq ($loc .ME) prm17) :
810: (($eq ($verb) take) :
811: (($eq ($prop spear tooky) 0) :
812: ($say
813: "You hear a loud roar as an avalanche blocks the path to your north.\n")
814: ($move spear .ME)
815: ($setp spear tooky 1) ($exit 1))))
816: (($eq ($verb) shake) :
817: ($say "I don't see any playwrights here.\n"))
818: (($and ($eq ($loc .ME) prm23) ($eq ($verb) take)) :
819: ($say
820: "As soon as you take the spear, the Tyranosaurus Rex closes his mouth and
821: swallows you.\n") (exitg));
822:
823: axe(ACTION) = (($eq ($loc axe) .ME) : (weapo));
824:
825: smilo(ACTION) = (($and ($eq ($loc .ME) prm6) ($eq ($verb) take)) :
826: ($say "You must be dumber than you look.\n")
827: ($exit 1));
828:
829: troglodyte(ACTION) = (($and ($eq ($loc .ME) prm8) ($eq ($verb) take)) :
830: ($say "The troglodyte does not look like he wants to be
831: carried.\n") ($exit 1));
832:
833: plant(ACTION) = (($eq ($loc .ME) prm6) :
834: (($or ($eq ($verb) throw) ($eq ($verb) drop)) :
835: (($eq ($prop smilo stond) 0) :
836: ($say
837: "The plant you were holding turns out to be primo grade catnip. The
838: sabre-tooth cat grabs the plant and runs off purring loudly.\n")
839: ($move plant .ALL)
840: ($setp smilo stond 1) ($exit 1))))
841: (($eq ($verb) eat) :
842: ($say
843: "You completely eat the plant and now feel quite nauseous.\n")
844: ($move plant .ALL) ($exit 1));
845:
846: nugget(ACTION) = (($and ($eq ($verb) take)
847: ($eq ($prop trogl killd) 0)) :
848: ($say "He ain't gonna let you take it.\n")($exit 1));
849:
850: cheese(ACTION) = (($eq ($verb) eat) :
851: ($say "You eat the cheese, but nothing peculiar happens.\n")
852: ($move cheese .ALL) ($exit 1))
853: (($and ($eq ($verb) drop) ($eq ($loc .ME) prm14)) :
854: ($say
855: "As soon as you drop the cheese, a mouse runs out of the hole in the east
856: wall and takes it. This scares the mammoth who runs off in terror.\n")
857: ($setp mammoth blokd 1)
858: ($move mammoth .ALL)
859: ($move cheese .ALL) ($exit 1));
860:
861: mammoth(ACTION) = (($eq ($loc mammoth) ($loc .ME)) :
862: (($eq ($verb) feed) :
863: ($say "He doesn't look hungry.\n")($exit 1))
864: (($eq ($verb) take) : ($say
865: "He doesn't look too easy to carry.\n") ($exit 1)));
866:
867: feet(ACTION) = (($eq ($verb) wipe) :
868: (($ne ($loc towel) .ME) :
869: ($say "You don't have something to wipe them with.\n")
870: ($exit 1))
871: ($say "You just cleaned off your feet.\n")
872: ($setp feet wiped 0) ($exit 1))
873: (($eq ($verb) touch) :
874: ($say "You can't without bending your knees.\n"));
875:
876: cairn(ACTION) = (($eq ($loc .ME) prm18) :
877: ($say
878: "How dare you do such a thing. Any idiot with just the slightest knowledge
879: of prehistoric etiquette knows that you aren't supposed to do anything to
880: a cairn.\n") ($exit 1) );
881:
882: bear(ACTION) = (($eq ($loc .ME) prm19) :
883: (($eq ($verb) take) :
884: (($eq ($prop bear hitbr) 0) :
885: ($say
886: "The bear is a little too bulky to carry.\n")($exit 1))));
887:
888: Tyranosaur(ACTION) = (($and ($ne ($loc .ME) prm22) ($ne ($loc .ME) prm23)) :
889: ($say
890: "What? One of those things hasn't existed in several million years.\n"));
891:
892: hole(ACTION) = (($eq ($loc .ME) prm14) :
893: ($say "That hole is too small to do anything with.\n")
894: ($exit 1))
895: (($eq ($loc .ME) irm19) :
896: (($eq ($verb) drop) :
897: (($eq ($iobj) hole) :
898: ($say "It falls back out of the hole.\n")
899: ($exit 1))))
900: (($eq ($loc .ME) irm6) :
901: (($eq ($verb) drop) :
902: (($eq ($iobj) hole) :
903: (($eq ($dobj) spices) :
904: (($ne ($loc spices) .ME) :
905: ($say "You ain't got it with you.\n")
906: ($exit 1))
907: ($say "The bag of spices rips against the jagged sides of the shaft and
908: almost all of the spices get blown away in the wind.\n")
909: ($move spices .ALL)
910: ($exit 1))
911: (($eq ($dobj) rupees) :
912: (($ne ($loc rupees) .ME) :
913: ($say "You ain't got the coins with you.\n")
914: ($exit 1))
915: ($say "The rupees fall down the shaft into the darkness below. You
916: eventually hear a barely audible splash.\n")
917: ($setp rupees wellbt 1)
918: ($move rupees .ALL)
919: ($exit 1))
920: ($say "That doesn't fit in the hole.\n")
921: ($exit 1)
922: )))
923: ($say "I do not see any holes here.\n");
924:
925: newspaper(ACTION) = (($and ($eq ($verb) read) ($eq ($loc newspaper) .ME)) :
926: ($say
927: " DAILY GNUS
928: Vol 2. 25 AUGUST
929:
930: ")
931: ($say
932: "Spies in the far reaches of the Museum have reported that new construction
933: is now taking place.\n\n")
934: ($say
935: "Dungeon consultant Mr. Mctesq has recently waved his magic wand over the aardvark
936: museum. The following things should be brought to light
937: The commands, SAVE, RESTORE, and SHELL exists and work.
938: ")
939: ($say
940: "Multiple commands on a line seperated by a comma are properly handled
941: by the ddl parser.\n")
942: ($say
943: "Again, Adventurers are reminded that restocking of the museum sections will
944: be greatly rewarded.\n\n"
945: )($exit 1));
946:
947: crack(ACTION) = (($eq ($verb) jamb) :
948: ($say "The only climbable cracks in this place are A4.\n")
949: ($exit 1))
950: ($say "I can't figure that out. I'm not as smart as I am
951: cracked up to be.\n")($exit 1);
952:
953: shaft(ACTION) = (($eq ($verb) jamb) :
954: ($say "Try jamb crack (How do you jamb a shaft?)\n")
955: ($exit 1));
956:
957: {*** DIRECTIONS ***}
958:
959: VERB north;
960: VERB south;
961: VERB east;
962: VERB west;
963: VERB up;
964: VERB down;
965: VERB in;
966: VERB out;
967: n=north;
968: s=south;
969: e=east;
970: w=west;
971: u=up;
972: d=down;
973: enter = in;
974: exit=out;
975: leave=out;
976: climb=up;
977:
978: {*** VERB ROUTINES ***}
979:
980: plug(ACTION) = (($eq ($loc .ME) irm13) :
981: (($eq ($loc cotton) .ME) :
982: ($say
983: "You stick the cotton into the rhino's ears.\n")
984: ($move cotton .ALL)
985: ($setp rhino earplg 1)
986: ($exit 1)))
987: ($say "I don't quite understand what you mean.\n");
988:
989: dig(ACTION) = (($ne ($loc shovel) .ME) :
990: ($say "You don't have something to dig with.\n")
991: ($exit 1))
992: (($eq ($loc .ME) irm9) :
993: (($eq ($prop cotton tookbt) 0) : ($setp cotton tookbt 1)
994: ($say "You find some cotton buried in the sand.\n")
995: ($move cotton irm9)($exit 0))
996: ($say "OK\n") ($exit 0))
997: (($eq ($loc .ME) prm17) :
998: (($eq ($prop pendant dugbt) 0) : ($setp pendant dugbt 1)
999: ($say "You find an ancient pendant buried in the grave.\n")
1000: ($move pendant prm17) ($exit 0))
1001: ($say "You dig some but you don't find anything.\n")
1002: ($exit 0))
1003: ($say "The ground is too hard to dig into.\n");
1004:
1005: cantdo = ($say "I don't believe I can do that.\n");
1006: sign(ACTION) = (cantdo);
1007: play(ACTION) = (cantdo);
1008:
1009: arolg = ($say "It will probably cost you an arm or a leg to feed that.\n")
1010: ($exit 1);
1011: feed(ACTION) = (($or ($eq ($loc .ME) irm8) ($eq ($loc .ME) irm9)) :
1012: (($eq ($dobj) crocodile) :
1013: (arolg)))
1014: (($and ($eq ($loc .ME) prm19) ($eq ($dobj) bear)) :
1015: (($eq ($prop bear hitbr) 0) :
1016: (arolg)))
1017: (($and ($eq ($loc .ME) prm6) ($eq ($dobj) smilo)) :
1018: (($eq ($prop smilo stond) 0) :
1019: (arolg)))
1020: (($or ($eq ($loc .ME) prm22) ($eq ($loc .ME) prm23)) :
1021: (($eq ($dobj) Tyran) : (arolg)))
1022: ($say "I don't quite understand what you mean.\n");
1023:
1024: cut(ACTION) = (cantdo);
1025:
1026: read(ACTION) = ($say "I don't see any text here that I can read.\n");
1027:
1028: throw(ACTION) = (cdrop);
1029:
1030: touch(ACTION) = ($say "That doesn't seem to accomplish much.\n");
1031:
1032: eat(ACTION) = ($say "I think I just lost my appetite.\n");
1033:
1034: abracadabra(ACTION) = (($ne prehs ($loc ($loc .ME))) :
1035: ($say
1036: "That phrase hasn't worked in at least ten thousand years.\n")
1037: ($exit 0))
1038: (($ne ($loc .ME) prm17) :
1039: ($say "Nothing happens.\n") ($exit 0))
1040: (($eq ($prop spear tooky) 1) :
1041: (($eq ($prop spear abrad) 0) :
1042: ($setp spear abrad 1)
1043: ($say "The rubble gets magically cleared away.\n")
1044: ($exit 0)))
1045: ($say "Nothing much happens.\n");
1046:
1047: tie(ACTION) = ($say "It is impossible to tie a knot in that right now. \n");
1048:
1049: untie(ACTION) = ($say "I don't quite understand what you mean.\n");
1050:
1051: on(ACTION) = (($eq ($prop lamp onoff) 1) :
1052: ($say "The lamp is already on.\n") ($exit 1))
1053: (onlmp) ($exit 1);
1054:
1055: off(ACTION) = (($ne ($loc lamp) .ME) :
1056: ($say "You don't have the lamp with you.\n")
1057: ($exit 1))
1058: (($eq ($prop lamp onoff) 0) :
1059: ($say "The lamp is already off.\n")
1060: ($exit 1))
1061: ($setp lamp onoff 0)
1062: ($say "The lamp is now off.\n");
1063:
1064: light(ACTION) = ($say "I don't know how to light that.\n");
1065:
1066: open(ACTION) = ($say "That thing is un-openable.\n");
1067:
1068: close(ACTION) = ($say "I don't quite understand what you mean.\n" );
1069:
1070: swim(ACTION) = (($eq ($loc .ME) irm8) :
1071: (ei8) ($exit 0))
1072: (($eq ($loc .ME) irm9) :
1073: (ei8) ($move .ME irm8) ($exit 0))
1074: ($say "I don't see enough water here to even wade in.\n");
1075:
1076: wipe(ACTION) = ($say "I don't quite comprehend what you are saying.\n");
1077:
1078: shake(ACTION) = ($say "That probably won't accomplish much.\n");
1079:
1080: jamb(ACTION) = ($say "I don't quite comprehend what you mean.\n");
1081:
1082: xyzzy(ACTION) = ($say
1083: "You are transported to a room where you are faced by a wizard who points to
1084: you and says, ''Them's fighting words!'' You immediately get attacked by
1085: all sorts of denizens of the museum: there is a cobra chewing on your leg,")
1086: ($say "
1087: a troglodyte is bashing your brains out with a gold nugget, a crocodile is
1088: removing large chunks of flesh from you, a rhinoceros is goring you with his
1089: horn, a sabre-tooth cat is busy trying to disembowel you, you are being")
1090: ($say "
1091: trampled by a large mammoth, a vampire is sucking you dry, a Tyranosaurus
1092: Rex is sinking his six inch long fangs into various parts of your anatomy,
1093: a large bear is dismembering your body, a gargoyle is bouncing up and")
1094: ($say "
1095: down on your head, a burly troll is tearing you limb from limb, several
1096: dire wolves are making mince meat out of your torso, and the wizard is about
1097: to transport you to the corner of Westwood and Broxton.\n")
1098: ($say "Oh dear, you seem to have gotten yourself killed, as well.\n")
1099: (skore) (ratng) (ratnx) ($spec 3 0 0 0 0);
1100:
1101: score(ACTION) = (skore)(ratng);
1102: skore = ($say "You scored")
1103: ($num ($prop .ME pscore))
1104: ($say "out of")
1105: ($num ($prop .ME pmax))
1106: ($say "possible points.\n");
1107:
1108: ratng = ($setp .ME ratvl 0)
1109: (($ne ($prop .ME pscore) 0) :
1110: ($setp .ME ratvl ($quotient ($times ($prop .ME pscore) 8)
1111: ($prop .ME pmax))))
1112: ($say "That gives you a ranking of ")
1113: (($eq ($prop .ME ratvl) 0) :
1114: ($say "junior beginning adventurer.\n"))
1115: (($eq ($prop .ME ratvl) 1) :
1116: ($say "senior beginning adventurer.\n"))
1117: (($eq ($prop .ME ratvl) 2) :
1118: ($say "intermediate adventurer.\n"))
1119: (($eq ($prop .ME ratvl) 3) :
1120: ($say "expert adventurer.\n"))
1121: (($eq ($prop .ME ratvl) 4) :
1122: ($say "junior master adventurer.\n"))
1123: (($eq ($prop .ME ratvl) 5) :
1124: ($say "master adventurer.\n"))
1125: (($eq ($prop .ME ratvl) 6) :
1126: ($say "senior master adventurer.\n"))
1127: (($eq ($prop .ME ratvl) 7) :
1128: ($say "life master adventurer.\n"))
1129: (($eq ($prop .ME ratvl) 8) :
1130: ($say "super-stud adventurer.\n"));
1131:
1132: ratnx = (($eq ($prop .ME ratvl) 8) :
1133: ($say "CONGRATULATIONS.\n") ($spec 3 0 0 0 0))
1134: ($say "To achieve the next higher rating, you need to score")
1135: ($setp .ME ratvl ($plus ($prop .ME ratvl) 1))
1136: ($setp .ME ratvl ($times ($prop .ME ratvl) ($prop .ME pmax)))
1137: ($setp .ME ratvl ($quotient ($prop .ME ratvl) 8))
1138: ($setp .ME ratvl ($plus ($prop .ME ratvl) 1))
1139: ($setp .ME ratvl ($minus ($prop .ME ratvl) ($prop .ME pscore)))
1140: ($num ($prop .ME ratvl))
1141: ($say "more points.\n");
1142:
1143: objl = (($eq %1 0) : ($exit 0))
1144: (objl ($link %1))
1145: (($ldisc %1));
1146:
1147: objs = (($eq %1 0) : ($exit 0))
1148: (objs ($link %1))
1149: (($eq %1 .ME) : ($exit 0))
1150: (($eq ($prop .ME kludge) 1) : ($say "You can see:\n")
1151: ($setp .ME kludge 0))
1152: (($sdisc %1))
1153: ($say "\n");
1154:
1155: LLOOK = (($ldisc ($loc .ME)))
1156: (objl ($cont ($loc .ME)));
1157:
1158: SLOOK = (($sdisc ($loc .ME)))
1159: ($setp .ME kludge 1)
1160: (objs ($cont ($loc .ME)));
1161:
1162: LOOK = ( ($prop ($loc .ME) VISIT) :
1163: (($ne @Myloc ($loc .ME)) : (SLOOK)) :
1164: (($ne @Myloc ($loc .ME)) :
1165: (LLOOK) ($setp ($loc .ME) VISIT 1))
1166: )
1167: ($setg Myloc ($loc .ME))
1168: ($say "> ");
1169:
1170: START = ($setp .ME pmax 250)
1171: ($setp .ME debug 0)
1172: ($move .ME mrm1)
1173: ($sdem LOOK);
1174:
1175: quit(ACTION) = (skore) (ratng) (ratnx) ($spec 3 0 0 0 0);
1176:
1177: look(ACTION) = (LLOOK);
1178:
1179: take(ACTION) = (ctake);
1180: scale = ($setp .ME weight 0)
1181: (($ne ($cont .ME) 0) :
1182: ($setg 12 ($cont .ME)) (scads));
1183: scads = (($ne @12 0):
1184: ($setp .ME weight ($plus ($prop .ME weight) ($prop @12 weight)))
1185: ($setg 12 ($link @12))
1186: (scads));
1187: ctake = (scale)
1188: (($ne ($loc .ME) ($loc ($dobj))):
1189: ($say "I don't see that item here.\n")($exit 0))
1190: (($eq ($prop ($dobj) movbl) 0) :
1191: ($say "That thing is too heavy to carry.\n")($exit 0))
1192: (($gt ($plus ($prop ($dobj) weight) ($prop .ME weight)) 20) :
1193: ($say
1194: "You are carrying too much. You will have to at least drop something first.
1195: ") ($exit 0))
1196: ($setp .ME weight ($plus ($prop ($dobj) weight) ($prop .ME weight)))
1197: ($say "OK\n") ($move ($dobj) .ME)
1198: (($eq ($prop ($dobj) rarea) 0 ) : ($exit 0))
1199: ($setp .ME pscore ($plus ($prop .ME pscore) ($prop ($dobj) pfound)))
1200: ($setp ($dobj) pfound 0);
1201:
1202: drop(ACTION) = (cdrop);
1203: cdrop = (($ne ($loc ($dobj)) .ME) :
1204: ($say "You don't have it with you.\n")($exit 0))
1205: (($eq ($loc .ME) prm21) :
1206: ($say "OK, it falls further down into the crack.\n")
1207: ($move ($dobj) prm22) ($exit 1))
1208: ($say "OK\n") ($move ($dobj) ($loc .ME))
1209: (($eq ($prop ($dobj) rarea) 0 ) : ($exit 0))
1210: (($eq ($prop ($dobj) rarea) 2) : (($eq ($loc .ME) mrm5) :
1211: (scord)))
1212: (($eq ($prop ($dobj) rarea) 1): (($eq ($loc .ME) mrm3) :
1213: (scord)));
1214:
1215: scord =
1216: ($setp .ME pscore ($plus ($prop .ME pscore) ($prop ($dobj) pplace)))
1217: ($setp ($dobj) pplace 0);
1218:
1219: rname(ACTION) = (($sdisc ($loc .ME))) ($exit 1);
1220: save(ACTION) = ($say "Ok, so far this is how things stand.\n")
1221: (skore) (ratng)
1222: ($spec 4 0 0 0 0);
1223: shell(ACTION) = ($spec 6 "/bin/csh" "-i" 0 0);
1224: restore(ACTION) = ($spec 5 0 0 0 0) ($say "Restored.\n");
1225: inven(ACTION) = ($say "You are carrying:\n")
1226: (($eq ($cont .ME) 0):($say "Nothing\n")($exit 1))
1227: ($setg 12 ($cont .ME)) (inside);
1228: inside = (($ne @12 0) : (($sdisc @12)) ($say "\n")
1229: ($setg 12 ($link @12)) (inside));
1230:
1231: {*** ROOM DESCRIPTIONS ***}
1232:
1233: mrm1(LDESC) = ($say "You are standing outside the north entrance of a large
1234: brick building. Inscribed above the doorway, appear the
1235: text: 'AARDVARK'S MUSEUM -- GATEWAY TO ADVENTURELAND'.
1236: ");
1237: mrm1(SDESC) = ($say "Museum entrance
1238: ");
1239:
1240: mrm2(LDESC) = ($say "You are in a large rotunda of an old museum. Doors lead
1241: to the north, south, east, and west, and a narrow stairway
1242: in the north-east corner of the room leads down.
1243: ");
1244: mrm2(SDESC) = ($say "Museum rotunda
1245: ");
1246:
1247: mrom3a = ($say "You are in a dimly lit room containing an empty display case.
1248: A portion of a vandalized sign above the case reads:
1249: 'ARTIFACTS OF ANCIENT INDIA -- Several of these items,
1250: including the sacred rhinoceros horn, the deadly ...'.
1251: The rest of the sign is unreadable.
1252: ");
1253: mrm3(LDESC) = (mrom3a)
1254: (($eq ($prop paper signed) 0) : ($say
1255: "To the west, you can look through a large door into the rotunda
1256: of the museum. On the east wall of the hall there is an outline
1257: of an arch.
1258: "))
1259: (($eq ($prop paper signed) 1) : ($say
1260: "Through the door to the west, you can see part of the rotunda
1261: of the museum. To the east, there is a stone archway.
1262: "));
1263: mrm3(SDESC) = ($say "East wing of the museum
1264: ");
1265:
1266: mrm4(LDESC) = ($say "You are in a non-descript room with absolutely
1267: nothing in it. A hollow voice says ''This room is unavailable for use at this
1268: time. Please leave through the doorway to your north.''
1269: ");
1270: mrm4(SDESC) = ($say "Closed room
1271: ");
1272:
1273: mrom5 = ($say "You are standing before a large empty display case in a poorly
1274: lit basement-like room. Encircling the room high on the walls appear the text
1275: ''HALL OF PREHISTORY.'' A stairway leads up, and in the south wall, there is
1276: a small hole");
1277: mrm5(LDESC) = (mrom5)
1278: (($eq ($prop paper signed) 1) :
1279: ($say ".\n"))
1280: (($eq ($prop paper signed) 0) :
1281: ($say " covered by a grate.\n"));
1282: mrm5(SDESC) = ($say "Hall of Prehistory.\n");
1283:
1284: mrm6(LDESC) = ($say
1285: "You are wandering through a dense forest past twisted birch trees
1286: rising toward the sky in contorted agony. Enormous skeletons of burned
1287: out sycamores are scattered throughout the area, and gnarled stumps of")
1288: ($say
1289: "\nonce proud oak trees make the appearance of the forest even more
1290: disturbing. Nothing is stirring, a pall of death seems to hang over the
1291: forest like a blanket, and you can't seem to figure out which direction\n")
1292: ($say "is which.\n");
1293: mrm6(SDESC) = ($say "You are lost in the forest.\n");
1294:
1295: irm1(LDESC) = ($say "You are at the top of a highly ornate spiral stairway.
1296: A wing of the museum can be seen to the west. The room is moist
1297: and damp, and the scent of cumin and saffron fills the air.
1298: ");
1299: irm1(SDESC) = ($say "Top of spiral stairway
1300: ");
1301:
1302: irm2(LDESC) = ($say "You are in an east-west passage at the bottom of
1303: a spiral stairway. A slight breeze blows from east to west.
1304: ");
1305: irm2(SDESC) = ($say "Bottom of spiral stairway
1306: ");
1307:
1308: irm3(LDESC) = ($say "You are standing in a deserted Indian marketplace.
1309: Although it seems to have once been a bustling area,
1310: there is very little left here. Most of the vacant
1311: booths form an alley running north, and a small path
1312: goes east.
1313: ");
1314: irm3(SDESC) = ($say "Marketplace
1315: ");
1316:
1317: irm4(LDESC) = ($say "You are in a small kitchen adjoining the marketplace.
1318: Most of the furniture in the room has been broken, and all
1319: of the pottery once used for cooking has been stolen. In the
1320: north-west corner, there is a tandoori oven. A door to the
1321: south leads back out to the marketplace, and a trap-door
1322: leads down to what appears to be a murky basement.
1323: ");
1324: irm4(SDESC) = ($say "Kitchen
1325: ");
1326:
1327: irm5(LDESC) = ($say "You are in a cellar which apparently has been used to
1328: store spices. Empty racks line all the walls of the room,
1329: and everything in the room seems to be blanketed in a thin
1330: layer of dust. An unreachable hole appears in the ceiling
1331: and exits lead to the north, south, and east.
1332: ");
1333: irm5(SDESC) = ($say "Spice cellar
1334: ");
1335:
1336: irm6(LDESC) = ($say "You are in a small cave-like room apparently once used
1337: for the cultivation of mushrooms. You find the smell of
1338: this room slightly displeasing. There are exits to the
1339: south and west, and there is a small hole in the
1340: north wall, through which you can see a long vertical
1341: shaft with jagged sides.
1342: ");
1343: irm6(SDESC) = ($say "Mushroom room
1344: ");
1345:
1346: irm7(LDESC) = ($say "You are in an abandoned warehouse-like room which,
1347: though once used for storage, is now predominantly full of
1348: rubble. Exits lead to the north and east.
1349: ");
1350: irm7(SDESC) = ($say "Warehouse
1351: ");
1352:
1353: irm8(LDESC) = ($say "You are standing on a rocky beach on the west bank
1354: of a slow-moving subterranean river. Several large
1355: crocodiles are lazily sleeping at the north end of the river.
1356: A path leads to the west.
1357: ");
1358: irm8(SDESC) = ($say "West bank of river
1359: ");
1360:
1361: irm9(LDESC) = ($say "You are on a sandy beach on the east bank of a crocodile
1362: infested river. A roughly hewn stairway in the rock leads up
1363: far beyond your range of vision.
1364: ");
1365: irm9(SDESC) = ($say "East bank of river
1366: ");
1367:
1368: irm10(LDESC) = ($say "You are in a room containing an enormous statue of
1369: Mara, Hindu goddess and consort to Vishnu. Passages lead
1370: to the east, west, and south, and a roughly hewn stairway
1371: seems to go down to an area further underground.
1372: ");
1373: irm10(SDESC) =($say "In front of Mara's statue
1374: ");
1375:
1376: irm11(LDESC) = ($say "You are standing in front of a gigantic statue of the
1377: Hindu god Vishnu. Passages lead north and south, and it appears
1378: that you can squeeze through a narrow crack in the western wall.
1379: ");
1380: irm11(SDESC) = ($say "In front of Vishnu's statue
1381: ");
1382:
1383: irom12a = ($say "You are in a room containing an enormous statue of
1384: Lakshmi, Hindu goddess and consort to Vishnu.
1385: ");
1386: irm12(LDESC) = (irom12a)
1387: (($eq ($prop statue tlakst) 0) : ($say
1388: "Passages lead to the north and east.
1389: "))
1390: (($eq ($prop statue tlakst) 1) : ($say
1391: "Passages lead to the east and north, and on the west wall
1392: there is a hole large enough to crawl through.
1393: "));
1394: irm12(SDESC) = ($say "In front of Lakshmi's statue
1395: ");
1396:
1397: irm13(LDESC) = ($say "You are in what would appear to be a totally man-made
1398: cave. The walls are covered with bamboo shafts cut and
1399: tied together to form a very complex lattice pattern.
1400: An extremely narrow passage leads east, and there is a
1401: large door to the south.
1402: ");
1403: irm13(SDESC) = ($say "Bamboo Room
1404: ");
1405:
1406: irm14(LDESC) = ($say "You are in a small room with a very low ceiling. The
1407: only exit is to the east.
1408: ");
1409: irm14(SDESC) = ($say "Flat Room
1410: ");
1411:
1412: irm15(LDESC) = ($say "You are standing in the center of a large dome-like
1413: room. Exits lead to the north, east, and west, and around the perimeter of
1414: the room appear the words 'ABRACADABRA -- VARUNA SUCKS COCONUTS.'
1415: ");
1416: irm15(SDESC) = ($say "Inside Dome
1417: ");
1418:
1419: irm16(LDESC) = ($say
1420: "You are at the base of a tall naturally formed shaft.
1421: On all sides, you are surrounded by gigantic basalt columns
1422: towering above you in a serpentine manner, as if great
1423: likenesses of Vasuki himself. Passages lead to the north,
1424: east, and west, and above you appears a small ledge.
1425: ");
1426: irm16(SDESC) = ($say "Vertical Shaft
1427: ");
1428:
1429: irm17(LDESC) = ($say
1430: "You are on a small ledge high above the base of a large
1431: shaft. There is a rope seemingly standing rigid allowing you to
1432: climb down, but the climb above you seems quite dificult.
1433: ");
1434: irm17(SDESC) = ($say "On small ledge
1435: ");
1436:
1437: irm18(LDESC) = ($say
1438: "You are in a small room which smells strongly of
1439: incense. Stone archways lead to the south, and east, and
1440: a smaller passage leads to the west. You also hear some
1441: chanting and Sitar music in the background.
1442: ");
1443: irm18(SDESC) = ($say "Incense room
1444: ");
1445:
1446: irm19(LDESC) = ($say
1447: "You are at the holy well of Varuna, the water god. The well is in the
1448: middle of the room, leading straight down into some water far below.
1449: Legend has it that those who climb down into the well suffer a fate
1450: worse than death, so it is advisable not to go down. In the
1451: ceiling, there is a round hole")
1452: (($eq ($prop rupees wellbt) 1) :
1453: ($say " and the water in the well appears to have
1454: been disturbed recently.\n"))
1455: (($eq ($prop rupees wellbt) 0) :
1456: ($say ".\n"));
1457: irm19(SDESC) = ($say "Varuna's well
1458: ");
1459:
1460: irom20a = ($say
1461: "You are at the entrance to Siva's temple.
1462: ");
1463: irm20(LDESC) = (irom20a)
1464: (($eq ($prop monkey fedmky) 1) : ($say
1465: "A passage leads back to the west, and a crack in a huge stone slab allows
1466: one to proceed east.
1467: "))
1468: (($eq ($prop monkey fedmky) 0) : ($say
1469: "A passage leads back to the west, but the entrance to the temple is blocked
1470: by a huge stone slab.
1471: "));
1472: irm20(SDESC) = ($say "Entrance to Siva's temple
1473: ");
1474:
1475: irm21(LDESC) = ($say
1476: "You are standing in front of Siva's altar, a small stone slab in front of
1477: a large monolith. The exit is to the west.
1478: ");
1479: irm21(SDESC) = ($say "Siva's Altar
1480: ");
1481:
1482: irm22(LDESC) = ($say
1483: "You are standing at the top of a six-foot deep snake pit. The walls of the
1484: room are covered with bas relief figures of cobras, kraits, and other
1485: miscellaneous elapids. Exits lead to the west and south, through archways
1486: ringed by pythons carved into the rock.
1487: ");
1488: irm22(SDESC) = ($say "Top of Snake pit
1489: ");
1490:
1491: irm23(LDESC) = ($say
1492: "You are at the bottom of a snake pit. The only direction it appears you
1493: can go is back out.
1494: ");
1495: irm23(SDESC) =($say "Bottom of snake pit
1496: ");
1497:
1498: prm1(LDESC) = (darkq) ($say
1499: "You are in the north-south corridor of an ancient paleolithic cave. Its
1500: low ceiling is covered with paintings of wild game which have faded due to
1501: the passing of time.\n");
1502: prm1(SDESC) = (darkq)($say "North-south corridor.\n");
1503:
1504: prm2(LDESC) = ($say
1505: "You are standing on a ledge above the floor of a subterranean canyon
1506: running east-west. Shafts of sunlight penetrate through cracks in the
1507: ceiling high above, washing the room with an alabaster murkiness;
1508: casting shadows on the weathered rocks which have lain undisturbed
1509: for countless centuries. A small crawlway leads north, and there is a
1510: short, stout pole sticking out of the ground.")
1511: (($eq ($prop rope rtied) 1) : ($say " A section of rope is tied
1512: around the pole, with the other end hanging down into the canyon.\n"))
1513: (($eq ($prop rope rtied) 0) : ($say "\n"));
1514:
1515: prm2(SDESC) = ($say "Above East-west canyon.\n");
1516:
1517: prm3(LDESC) = ($say
1518: "You are at the bottom of a canyon running east-west. The passage to the
1519: east is blocked by rubble, so it appears that the only direction you can
1520: go is west. A rope dangles down from above.\n");
1521: prm3(SDESC) = ($say "East end of canyon.\n");
1522:
1523: prm4(LDESC) = ($say
1524: "You are standing in front of a limestone cavern, the entrance of which looks
1525: like a gaping mouth of a grotesque monster. It appears that you can enter
1526: the cave to your south, or go either direction in the east-west canyon that
1527: you are in.\n");
1528: prm4(SDESC) = ($say "Entrance to limestone cavern.\n");
1529:
1530: prm5(LDESC) = (darkq) ($say
1531: "You are in a very narrow room which probably was once much larger.
1532: However, it appears that a recent cave-in has closed off much of the
1533: room to the east. To your north, there is a corridor which apparently
1534: leads back out, and in the eastern wall, there is a hole which you can
1535: probably crawl through.\n");
1536: prm5(SDESC) = (darkq) ($say "Narrow room in cave.\n");
1537:
1538: prm6(LDESC) = (darkq) (($eq ($prop smilo stond) 0) : ($say
1539: "You are standing above a shallow pit which is empty except for a
1540: large smilodon (sabre-tooth tiger) which is growling at you menacingly.
1541: The only other direction it looks like you can go is back out through a
1542: small hole in the rubble forming the west wall of the room you are in.\n"))
1543: (($eq ($prop smilo stond) 1) : ($say
1544: "You are standing above an empty shallow pit. There is a small hole in the
1545: west wall of the room you are in.\n"));
1546: prm6(SDESC) = (darkq) ($say "Above shallow pit.\n");
1547:
1548: prm7(LDESC) = (darkq) ($say
1549: "You are standing on the loose gravel of a shallow pit. An exit leads
1550: south, and above you, there is a small ledge which you can climb up to.\n");
1551: prm7(SDESC) = (darkq) ($say "In shallow pit.\n");
1552:
1553: trogf = (($eq ($prop trogl killd) 0) :
1554: ($say " and there is an angry
1555: troglodyte here holding a large gold nugget under his arm"))
1556: ($say ".\n");
1557: trgfs = (($eq ($prop trogl killd) 0) :
1558: ($say "There is an angry troglodyte holding a gold nugget here.\n"));
1559: prm8(LDESC) = (darkq) ($say
1560: "You are standing near the west rim of sheer cliff which drops down into a deep
1561: almost bottomless abyss. A passage leads north") (trogf);
1562: prm8(SDESC) = (darkq) ($say "West rim of canyon.\n") (trgfs);
1563:
1564: prm9(LDESC) = ($say
1565: "You are at the junction of two canyons. The larger one runs east-west
1566: and the smaller one runs north.\n");
1567: prm9(SDESC) = ($say "Canyon junction\n");
1568:
1569: prm10(LDESC) = ($say
1570: "You are standing on a shale slab tilted from west to east at about a
1571: forty-five degree angle. At the east end of the slab, there is a short
1572: drop into what appears to be a lake. Above you and to the west, it appears
1573: that there is some more explorable terrain, and the canyon leads back to
1574: to the south. The air is quite warm, and there is a slight scent similar
1575: to asphalt in the air.\n");
1576: prm10(SDESC) = ($say "On shale slab.\n");
1577:
1578: prm11(LDESC) = ($say
1579: "You are standing in the south end of a short canyon running north-south.
1580: The ground below your feet is littered with flakes of a dark rock, which
1581: seems to comprise most of the surrounding canyon walls. There is a path to
1582: your north, and a steep slope down and to the east.\n");
1583: prm11(SDESC) = ($say "Canyon full of rubble.\n");
1584:
1585: prm12(LDESC) = ($say
1586: "You are standing in the north end of a short canyon. The ground is
1587: covered with a thin film of oil which apppears to be seeping out of
1588: a crack in the earth. The only apparent direction you can go is south.\n");
1589: prm12(SDESC) = ($say "Oily end of canyon.\n");
1590:
1591: prm13(LDESC) = ($say "You are standing in what was once a tributary into
1592: the now-extinct river which formed the large canyon in this area. There
1593: is a streambed running to the south, and you can also go east and west.\n");
1594: prm13(SDESC) = ($say "End of dry river bed.\n");
1595:
1596: prm14(LDESC) = ($say
1597: "You are standing in a narrow north-south canyon with a river bed running
1598: down the middle of it. There is a semicirular shaped hole at the base of
1599: the eastern wall.\n");
1600: prm14(SDESC) = ($say "In narrow part of river bed.\n");
1601:
1602: prm15(LDESC) = ($say
1603: "You are at the base of three water-eroded cliffs to your south, east and
1604: west. It appears that a U-shaped waterfall once flowed into this area, and
1605: exited out to the north.\n");
1606: prm15(SDESC) = ($say "Below dried waterfall.\n");
1607:
1608: prm16(LDESC) = ($say
1609: "You are in a section of the canyon where much of the rock appears to be
1610: primarily sandstone. Water has apparently flowed out of a cave to your
1611: north into three-foot wide crack in the ground. A substantial amount of
1612: rubble blocks your way west, and the rest of the canyon winds east.\n");
1613: prm16(SDESC) = ($say "Sandstone area.\n");
1614:
1615: prm17(LDESC) = (darkq) ($say
1616: "You are standing in front of the freshly dug gravesite of a Nearderthal
1617: hunter. There is an exit to your south, and it seems that more of the
1618: cave can be explored to the north.\n")
1619: (($and ($eq ($prop spear tooky) 1) ($eq ($prop spear abrad) 0)) :
1620: ($say "However, a large amount of rubble blocks that path.\n"));
1621: prm17(SDESC) = (darkq)($say "Neanderthal's gravesite\n");
1622:
1623: prm18(LDESC) = (darkq) ($say
1624: "You are in a narrow room of a north-south running cave. A large cairn of
1625: prehistoric cave bear skulls is piled high in one corner of the room.
1626: There are exits to the north and south.\n");
1627: prm18(SDESC) = (darkq) ($say "In front of cave bear cairn.\n");
1628:
1629: prm19(LDESC) = (darkq) ($say
1630: "You are in a large cavern room with a high ceiling. Cracks in the walls
1631: lead in all directions but none of them seem to lead anywhere. There are
1632: however, two major paths to the north and the south.\n");
1633: prm19(SDESC) = (darkq) ($say
1634: "Large Cavern room.\n");
1635:
1636: prm20(LDESC) = (darkq) ($say
1637: "You are in a room which was the site of a recent cave-in. It appears to
1638: be futile to go any other direction except south.\n");
1639: prm20(SDESC) = (darkq) ($say "Cave-in site.\n");
1640:
1641: prm21(LDESC) = ($say
1642: "You are in a crack in the earth which seems to have been formed by an ancient
1643: earthquake. Various strata in the rock of different darkness seem to indicate
1644: that much time has passed since the formation of the rock at the lower end of
1645: this crack. It seems that you can chimney up back out of the crack, or climb
1646: further down into it.\n");
1647: prm21(SDESC) = ($say "In large crack.\n");
1648:
1649: prm22(LDESC) = ($say
1650: "You are standing on a narrow ledge about twenty-five feet above the ground.
1651: Aside from going back up, the only other direction you can go is to step off
1652: the ledge to the west into the mouth of the large Tyranosaurus Rex waiting to
1653: swallow you whole.\n");
1654: prm22(SDESC) = ($say
1655: "On ledge in front of Tyranosaurus Rex.\n");
1656:
1657: prm23(LDESC) = ($say
1658: "You are standing inside the mouth of a Tyranosaurus Rex, whose jaws are
1659: being held open by a spear wedged length-wise in his mouth. Various pieces
1660: of former adventurers can be found among the six-inch long teeth here.
1661: You can step back out of the Tyranosaur onto the small ledge, or go
1662: further down into the Tyranosaur and get digested.\n");
1663: prm23(SDESC) = ($say "Inside mouth of Tyranosaur.\n");
1664:
1665: {*** FUNNY TRANSITION ROUTINES ***}
1666:
1667: exitg = ($say "Oh dear, you seem to have gotten yourself killed.\n")
1668: (skore)
1669: (ratng)
1670: (ratnx)
1671: (($eq ($prop .ME debug) 0) : ($spec 3 0 0 0 0));
1672:
1673: em3 = (($eq ($prop paper signed) 0):(cg) ($exit 0))
1674: ($move .ME irm1);
1675:
1676: ei8 = (($eq ($loc spice) .ME) : ($say
1677: "The savory blend of spices and human wakes up the sleeping crocodiles who
1678: decide to have you for breakfast.
1679: ") (exitg))
1680: (($eq ($loc rupee) .ME) : ($say
1681: "The weight of the coins pulls you underwater and you eventually drown.
1682: ") (exitg))
1683: ($say "You manage to get across the river, just as the crocodiles
1684: begin to stir.
1685: ")($move .ME irm9);
1686:
1687: wi12 = (($eq ($prop statue tlakst) 0) : (cg) ($exit 0))
1688: ($move .ME irm14);
1689:
1690: ui16 = (($eq ($prop rope ropstf) 0) : (cg) ($exit 0))
1691: ($say "You scramble up the rope and get to the ledge.
1692: ") ($move .ME irm17);
1693:
1694: ui17 = ($say "Are you a rock climber? \n")
1695: (($eq ($yorn) 0) : ($say "Then you better not try it.\n")
1696: ($exit 0))
1697: ($say "That climb is rated 5.11. Do you still want to try it?\n")
1698: (($eq ($yorn) 0) : ($say "Wise move.\n") ($exit 0))
1699: ($say "Half way up, you fall off a 1/32 inch wide ledge and
1700: plummet to your death.\n") (exitg);
1701:
1702: di19 = ($say "You magically get transported to the corner of Westwood and
1703: Broxton, where you are forced to spend the rest of eternity surrounded by
1704: Hari-Krishna freaks. (That'll teach you not to believe legends.)\n")
1705: ($spec 3 0 0 0 0);
1706:
1707: ei20 = (($eq ($prop monkey fedmky) 0):(cg)($exit 0))
1708: ($move .ME irm21);
1709:
1710: wi21 = (($eq ($loc peel) irm20) : ($say
1711: "As you leave the temple, you slip on a banana peel and break your neck.\n")
1712: (exitg)) ($move .ME irm20);
1713:
1714: di22 = (($eq ($loc cobra) irm22) : ($say
1715: "The cobra takes a bite at your unprotected leg and injects an
1716: unhealthy dose of neurotoxin. You start to lose your senses, your
1717: cognitive abilities, an yer rekcogiskdfsdk.\n")
1718: (exitg))($move .ME irm23);
1719:
1720: sm5 = (($eq ($prop paper signed) 0) :
1721: ($say "You bumped into the grate.\n")
1722: ($exit 0))
1723: ($move .ME prm1);
1724:
1725: dp2 = (($eq ($prop rope rtied) 0) :
1726: ($say "It is too dangerous to climb down without a rope.\n")
1727: ($exit 0))
1728: (($and ($eq ($loc lamp) .ME) ($eq ($prop lamp onoff) 1)) :
1729: ($say "Half-way down the rope, the carbide lamp burns through the
1730: rope above you and you plummet to your death.\n" )
1731: (exitg))
1732: ($say "You climb down the rope without any problems.\n")
1733: ($move .ME prm3);
1734:
1735: ep5 = (($eq ($loc spear) .ME) :
1736: ($say "You can't fit the spear you are carrying through that crack.\n")
1737: ($exit 1))
1738: ($move .ME prm6);
1739:
1740: ep8 = ($say "You fall off the cliff and plummet several hundred feet to your
1741: death.\n") (exitg);
1742:
1743: dp6 = (($eq ($prop smilo stond) 0) :
1744: ($say "As soon as you reach the bottom of the pit, the sabre-tooth
1745: tiger tears you to shreads.\n") (exitg))
1746: ($move .ME prm7);
1747:
1748: ep10 = ($say "You fall into the lake, which actually turns out to be a
1749: tar-pit covered with a thin layer of rain water. You eventually sink and
1750: get fossilized.\n") (exitg);
1751:
1752: ep11 = (($eq ($prop feet wiped) 0) :
1753: ($move .ME prm10) ($exit 1))
1754: ($say "As you walk down the slab, your feet slip and you tumble
1755: off the slab.\n")(ep10);
1756:
1757: sp12 = ($say "You find your feet to be quite slippery as you walk.\n")
1758: ($setp feet wiped 1)
1759: ($move .ME prm11);
1760:
1761: sp14 = (($eq ($prop mammoth blokd) 0) :
1762: ($say "The mammoth keeps you from going that way.\n")
1763: ($exit 1))
1764: ($move .ME prm15);
1765:
1766: np17 = (($and ($eq ($prop spear tooky) 1) ($eq ($prop spear abrad) 0)) :
1767: ($say
1768: "The rubble keeps you from going in that direction.\n")($exit 1))
1769: ($move .ME prm18);
1770:
1771: np19 = (($eq ($prop bear hitbr) 0) :
1772: ($say "The bear keeps you from going that direction.\n")
1773: ($exit 1))
1774: ($move .ME prm20);
1775:
1776: wp22 = (($eq ($loc spear) .ME) :
1777: ($say "The spear that you were carrying lodges in the tyranosaur's
1778: mouth.\n") ($move spear prm23)($move .ME prm23))
1779: (($eq ($loc spear) prm23) :
1780: ($move .ME prm23))
1781: (($and ($ne ($loc spear) .ME) ($ne ($loc spear) prm23)) :
1782: ($say "The tyranosaur crushes you in his jaw and then swallows you.\n")
1783: (exitg));
1784:
1785: dp23 = ($say "You slide down the gullet of the tyranosaur and get
1786: digested alive.\n") (exitg);
1787:
1788: dm6 = ($say "After wandering around in the forest for a while, you eventually
1789: find your way out.\n")($move .ME mrm1);
1790:
1791: darkq = (($or ($and ($ne ($loc .ME) ($loc lamp)) ($ne ($loc lamp) .ME))
1792: ($eq ($prop lamp onoff) 0 )) :
1793: ($say "It's too dark to see anything in here.\n")
1794: ($exit 1));
1795:
1796: darkt = (($or ($and ($ne ($loc .ME) ($loc lamp)) ($ne ($loc lamp) .ME))
1797: ($eq ($prop lamp onoff) 0)) :
1798: (($pct 50) : ($say
1799: "While stumbling around in the darkness, you trip and impale yourself on a
1800: stalagmite.\n")(exitg)));
1801:
1802: onlmp = (($ne ($loc lamp) .ME) :
1803: ($say "You don't have the lamp with you.\n")
1804: ($exit 1))
1805: (($eq ($prop lamp onoff) 0) :
1806: ($say "A blue flame now flickers out of the lantern.\n")
1807: ($setp lamp onoff 1)
1808: ($exit 1));
1809:
1810: {*** TRANSITIONS ***}
1811:
1812: mrm1(ACTION) = ($setv n s e w u d in out 0 0)
1813: ($hit .ME mrm6 mrm2 mrm6 mrm6 0 0 mrm2 0 0 0)
1814: ($miss 0 0 0 0 cg cg 0 dumdir 0 0);
1815:
1816: mrm2(ACTION) = ($setv n s e w u d in out 0 0)
1817: ($hit .ME mrm1 mrm4 mrm3 mrm4 0 mrm5 0 0 0 0)
1818: ($miss 0 0 0 0 cg 0 dumdir dumdir 0 0);
1819:
1820: mrm3(ACTION) = ($setv n s e w u d in out 0 0)
1821: ($hit .ME 0 0 0 mrm2 0 0 0 0 0 0)
1822: ($miss cg cg em3 0 cg cg dumdir dumdir 0 0);
1823:
1824: mrm4(ACTION) = ($setv n s e w u d in out 0 0)
1825: ($hit .ME mrm2 0 0 0 0 0 0 mrm2 0 0)
1826: ($miss 0 cg cg cg cg cg cg 0 0 0);
1827:
1828: mrm5(ACTION) = ($setv n s e w u d in out 0 0)
1829: ($hit .ME 0 0 0 0 mrm2 0 0 0 0 0)
1830: ($miss cg sm5 cg cg 0 cg dumdir dumdir 0 0);
1831:
1832: mrm6(ACTION) = ($setv n s e w u d in out 0 0)
1833: ($hit .ME 0 0 0 0 0 0 0 0 0 0)
1834: ($miss dm6 dm6 dm6 dm6 cg cg dumdir dm6 0 0);
1835:
1836: irm1(ACTION) = ($setv n s e w u d in out 0 0)
1837: ($hit .ME 0 0 0 mrm3 0 irm2 0 0 0 0)
1838: ($miss cg cg cg 0 cg 0 dumdir dumdir 0 0);
1839:
1840: irm2(ACTION) = ($setv n s e w u d in out 0 0)
1841: ($hit .ME 0 0 irm10 irm3 irm1 0 0 0 0 0)
1842: ($miss cg cg 0 0 0 cg dumdir dumdir 0 0);
1843:
1844: irm3(ACTION) = ($setv n s e w u d in out 0 0)
1845: ($hit .ME irm4 0 irm2 0 0 0 0 0 0 0)
1846: ($miss 0 cg 0 cg cg cg dumdir dumdir 0 0);
1847:
1848: irm4(ACTION) = ($setv n s e w u d in out 0 0)
1849: ($hit .ME 0 irm3 0 0 0 irm5 0 irm3 0 0)
1850: ($miss cg 0 cg cg cg 0 dumdir 0 0 0);
1851:
1852: irm5(ACTION) = ($setv n s e w u d in out 0 0)
1853: ($hit .ME irm6 irm7 irm8 0 0 0 0 0 0 0)
1854: ($miss 0 0 0 cg tohigh cg dumdir dumdir 0 0);
1855:
1856: irm6(ACTION) = ($setv n s e w u d in out 0 0)
1857: ($hit .ME 0 irm5 0 irm7 0 0 0 0 0 0)
1858: ($miss tosml 0 cg 0 cg cg dumdir dumdir 0 0);
1859:
1860: irm7(ACTION) = ($setv n s e w u d in out 0 0)
1861: ($hit .ME irm5 0 irm6 0 0 0 0 0 0 0)
1862: ($miss 0 cg 0 cg cg cg dumdir dumdir 0 0);
1863:
1864: irm8(ACTION) = ($setv n s e w u d in out 0 0)
1865: ($hit .ME 0 0 0 irm5 0 0 0 irm5 0 0)
1866: ($miss cg cg ei8 0 cg cg dumdir 0 0 0);
1867:
1868: irm9(ACTION) = ($setv n s e w u d in out 0 0)
1869: ($hit .ME 0 0 0 irm8 irm10 0 0 irm10 0 0)
1870: ($miss cg cg cg 0 0 cg dumdir 0 0 0);
1871:
1872: irm10(ACTION) = ($setv n s e w u d in out 0 0)
1873: ($hit .ME 0 irm11 irm22 irm2 0 irm9 0 0 0 0)
1874: ($miss cg 0 0 0 cg 0 dumdir dumdir 0 0);
1875:
1876: irm11(ACTION) = ($setv n s e w u d in out 0 0)
1877: ($hit .ME irm10 irm12 0 irm13 0 0 0 0 0 0)
1878: ($miss 0 0 cg 0 cg cg cg cg 0 0);
1879:
1880: irm12(ACTION) = ($setv n s e w u d in out 0 0)
1881: ($hit .ME irm11 0 irm15 0 0 0 0 0 0 0)
1882: ($miss 0 cg 0 wi12 cg cg dumdir dumdir 0 0);
1883:
1884: irm13(ACTION) = ($setv n s e w u d in out 0 0)
1885: ($hit .ME 0 irm15 irm11 0 0 0 0 0 0 0)
1886: ($miss cg 0 0 cg cg cg dumdir dumdir 0 0);
1887:
1888: irm14(ACTION) = ($setv n s e w u d in out 0 0)
1889: ($hit .ME 0 0 irm12 0 0 0 0 irm12 0 0)
1890: ($miss cg cg 0 cg cg cg dumdir 0 0 0);
1891:
1892: irm15(ACTION) = ($setv n s e w u d in out 0 0)
1893: ($hit .ME irm13 0 irm16 irm12 0 0 0 0 0 0)
1894: ($miss 0 cg 0 0 cg cg dumdir dumdir 0 0);
1895:
1896: irm16(ACTION) = ($setv n s e w u d in out 0 0)
1897: ($hit .ME irm22 0 irm18 irm15 0 0 0 0 0 0)
1898: ($miss 0 cg 0 0 ui16 cg dumdir dumdir 0 0);
1899:
1900: irm17(ACTION) = ($setv n s e w u d in out 0 0)
1901: ($hit .ME 0 0 0 0 0 irm16 0 0 0 0)
1902: ($miss cg cg cg cg ui17 0 dumdir dumdir 0 0);
1903:
1904: irm18(ACTION) = ($setv n s e w u d in out 0 0)
1905: ($hit .ME 0 irm19 irm20 irm16 0 0 0 0 0 0)
1906: ($miss cg 0 0 0 cg cg dumdir dumdir 0 0);
1907:
1908: irm19(ACTION) = ($setv n s e w u d in out 0 0)
1909: ($hit .ME irm18 0 0 0 0 0 0 irm18 0 0)
1910: ($miss 0 cg cg tosml cg di19 dumdir 0 0 0);
1911:
1912: irm20(ACTION) = ($setv n s e w u d in out 0 0)
1913: ($hit .ME 0 0 0 irm18 0 0 0 0 0 0)
1914: ($miss cg cg ei20 0 cg cg dumdir dumdir 0 0);
1915:
1916: irm21(ACTION) = ($setv n s e w u d in out 0 0)
1917: ($hit .ME 0 0 0 0 0 0 0 0 0 0)
1918: ($miss cg cg cg wi21 cg cg dumdir wi21 0 0);
1919:
1920: irm22(ACTION) = ($setv n s e w u d in out 0 0)
1921: ($hit .ME 0 irm16 0 irm10 0 0 0 0 0 0)
1922: ($miss cg 0 cg 0 cg di22 di22 cg 0 0);
1923:
1924: irm23(ACTION) = ($setv n s e w u d in out 0 0)
1925: ($hit .ME 0 0 0 0 irm22 0 0 irm22 0 0)
1926: ($miss cg cg cg cg 0 cg dumdir 0 0 0);
1927:
1928: prm1(ACTION) = (darkt)
1929: ($setv n s e w u d in out 0 0)
1930: ($hit .ME mrm5 prm2 0 0 0 0 0 0 0 0)
1931: ($miss 0 0 cg cg cg cg dumdir dumdir 0 0);
1932:
1933: prm2(ACTION) = ($setv n s e w u d in out 0 0)
1934: ($hit .ME prm1 0 0 0 0 0 0 0 0 0)
1935: ($miss 0 cg cg cg cg dp2 dumdir dumdir 0 0);
1936:
1937: prm3(ACTION) = ($setv n s e w u d in out 0 0)
1938: ($hit .ME 0 0 0 prm4 prm2 0 0 0 0 0)
1939: ($miss cg cg cg 0 0 cg dumdir dumdir 0 0);
1940:
1941: prm4(ACTION) = ($setv n s e w u d in out 0 0)
1942: ($hit .ME 0 prm5 prm3 prm9 0 0 prm5 0 0 0)
1943: ($miss cg 0 0 0 cg cg 0 dumdir 0 0);
1944:
1945: prm5(ACTION) = (darkt) ($setv n s e w u d in out 0 0)
1946: ($hit .ME prm4 0 0 0 0 0 0 prm4 0 0)
1947: ($miss 0 cg ep5 cg cg cg dumdir 0 0 0);
1948:
1949: prm6(ACTION) = (darkt) ($setv n s e w u d in out 0 0)
1950: ($hit .ME 0 0 0 prm5 0 0 0 0 0 0)
1951: ($miss cg cg cg 0 cg dp6 dumdir dumdir 0 0);
1952:
1953: prm7(ACTION) = (darkt) ($setv n s e w u d in out 0 0)
1954: ($hit .ME 0 prm8 0 0 prm6 0 0 0 0 0)
1955: ($miss cg 0 cg cg 0 cg dumdir dumdir 0 0);
1956:
1957: prm8(ACTION) = (darkt) ($setv n s e w u d in out 0 0)
1958: ($hit .ME prm7 0 0 0 0 0 0 0 0 0)
1959: ($miss 0 cg ep8 cg cg cg dumdir dumdir 0 0);
1960:
1961: prm9(ACTION) = ($setv n s e w u d in out 0 0)
1962: ($hit .ME prm10 0 prm4 prm13 0 0 0 0 0 0)
1963: ($miss 0 cg 0 0 cg cg dumdir dumdir 0 0);
1964:
1965: prm10(ACTION) = ($setv n s e w u d in out 0 0)
1966: ($hit .ME 0 prm9 0 prm11 prm11 0 0 0 0 0)
1967: ($miss cg 0 ep10 0 0 cg dumdir dumdir 0 0);
1968:
1969: prm11(ACTION) = ($setv n s e w u d in out 0 0)
1970: ($hit .ME prm12 0 0 0 0 0 0 0 0 0)
1971: ($miss 0 cg ep11 cg cg ep11 dumdir dumdir 0 0);
1972:
1973: prm12(ACTION) = ($setv n s e w u d in out 0 0)
1974: ($hit .ME 0 0 0 0 0 0 0 0 0 0)
1975: ($miss cg sp12 cg cg cg cg dumdir dumdir 0 0);
1976:
1977: prm13(ACTION) = ($setv n s e w u d in out 0 0)
1978: ($hit .ME 0 prm14 prm9 prm16 0 0 0 0 0 0)
1979: ($miss cg 0 0 0 cg cg dumdir dumdir 0 0);
1980:
1981: prm14(ACTION) = ($setv n s e w u d in out 0 0)
1982: ($hit .ME prm13 0 0 0 0 0 0 0 0 0)
1983: ($miss 0 sp14 tosml cg cg cg dumdir dumdir 0 0);
1984:
1985: prm15(ACTION) = ($setv n s e w u d in out 0 0)
1986: ($hit .ME prm14 0 0 0 0 0 0 0 0 0)
1987: ($miss 0 cg cg cg cg cg dumdir dumdir 0 0);
1988:
1989: prm16(ACTION) = ($setv n s e w u d in out 0 0)
1990: ($hit .ME prm17 0 prm13 0 0 prm21 0 0 0 0)
1991: ($miss 0 cg 0 cg cg 0 dumdir dumdir 0 0);
1992:
1993: prm17(ACTION) = ($setv n s e w u d in out 0 0)
1994: ($hit .ME 0 prm16 0 0 0 0 0 0 0 0)
1995: ($miss np17 0 cg cg cg cg dumdir dumdir 0 0);
1996:
1997: prm18(ACTION) = ($setv n s e w u d in out 0 0)
1998: ($hit .ME prm19 prm17 0 0 0 0 0 0 0 0)
1999: ($miss 0 0 cg cg cg cg dumdir dumdir 0 0);
2000:
2001: prm19(ACTION) = ($setv n s e w u d in out 0 0)
2002: ($hit .ME 0 prm18 0 0 0 0 0 0 0 0)
2003: ($miss np19 0 cg cg cg cg dumdir dumdir 0 0);
2004:
2005: prm20(ACTION) = ($setv n s e w u d in out 0 0)
2006: ($hit .ME 0 prm19 0 0 0 0 0 prm19 0 0)
2007: ($miss cg 0 cg cg cg cg dumdir 0 0 0);
2008:
2009: prm21(ACTION) = ($setv n s e w u d in out 0 0)
2010: ($hit .ME 0 0 0 0 prm16 prm22 0 0 0 0)
2011: ($miss cg cg cg cg 0 0 dumdir dumdir 0 0);
2012:
2013: prm22(ACTION) = ($setv n s e w u d in out 0 0)
2014: ($hit .ME 0 0 0 0 prm21 0 0 0 0 0)
2015: ($miss cg cg cg wp22 0 cg dumdir dumdir 0 0);
2016:
2017: prm23(ACTION) = ($setv n s e w u d in out 0 0)
2018: ($hit .ME 0 0 prm22 0 0 0 0 prm22 0 0)
2019: ($miss cg cg 0 cg cg dp23 dumdir 0 0 0);
2020:
2021: {*** CHEAT ROUTINES ***}
2022:
2023: chetr = (($eq ($prop .ME debug) 0) : ($exit 1));
2024: VERB BEAM;
2025: BEAM(ACTION) = (chetr) ($move .ME ($dobj))(LLOOK);
2026: VERB TRACTOR;
2027: TRACTOR(ACTION) = (chetr) ($move ($dobj) ($loc .ME))
2028: ($say "The ")(($sdisc ($dobj)))($say
2029: " magically appears.\n");
2030: VERB DRIBBLE;
2031: DRIBBLE(ACTION) = (chetr) (ctake) (cdrop);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.