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