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