home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum3.lzh / SAMPLES / AARD / verbs.adl < prev   
Text File  |  1987-10-29  |  7KB  |  292 lines

  1. {*** VERBS ***}
  2.  
  3. VERB
  4.   sign,  play,
  5.   rname, shell, eat,
  6.   swim,  feed,  score, dig,
  7.   cut,   plug,  tie,   untie,
  8.   wipe,  shake, xyzzy, jamb,
  9.   abracadabra;
  10.  
  11.  
  12. sign(PREACT)    = Preact;        play(PREACT)    = Preact;
  13. eat(PREACT)    = Preact;        cut(PREACT)    = Preact;
  14. feed(PREACT)    = Preact;        plug(PREACT)    = Preact;
  15. untie(PREACT)    = Preact;        wipe(PREACT)    = Preact;
  16. shake(PREACT)    = Preact;        jamb(PREACT)    = Preact;
  17. tie(PREACT)    = Preact;
  18. score(PREACT)    = (Expect NO_OBJ NO_OBJ);
  19. dig(PREACT)    = (Expect NO_OBJ NO_OBJ);
  20. swim(PREACT)    = (Expect NO_OBJ NO_OBJ);
  21.  
  22.  
  23. i        = inventory;
  24. plugh    = xyzzy;    clean  = wipe;
  25. shut     = close;    peruse = read;
  26. chuck    = throw;    hurl   = throw;
  27. toss     = throw;    heave  = throw;
  28. discard  = drop;    excavate = dig;
  29. grab     = take;    push   = touch;
  30. pet      = touch;    devour = eat;
  31. consume  = eat;        wade   = swim;
  32. ford     = swim;    shazam = abracadabra;
  33. hocus    = abracadabra;    abra   = abracadabra;
  34. end      = quit;    bye    = quit;
  35. leave    = exit;    climb  = up;
  36.  
  37. {*** VERB ROUTINES ***}
  38.  
  39. plug(ACTION) =
  40.     (IF ($eq ($loc .ME) irm13) THEN
  41.     (IF ($eq ($loc cotton) .ME) THEN
  42.         ($say "You stick the cotton into the rhino's ears.\n")
  43.         ($move cotton .ALL)
  44.         ($setp rhino earplg 1)
  45.         ($exit 1)
  46.     )
  47.     )
  48.     ($say "I don't quite understand what you mean.\n")
  49. ;
  50.  
  51.  
  52. dig(ACTION) =
  53.     (IF ($ne ($loc shovel) .ME) THEN
  54.     ($say "You don't have something to dig with.\n")
  55.     ($exit 1)
  56.     )
  57.     (IF ($eq ($loc .ME) irm9) THEN
  58.     (IF ($not ($prop cotton tookbt)) THEN
  59.         ($setp cotton tookbt 1)
  60.         ($say "You find some cotton buried in the sand.\n")
  61.         ($move cotton irm9)
  62.         ($return 0)
  63.     )
  64.     ($say "OK\n")
  65.     ($return 0)
  66.     )
  67.     (IF ($eq ($loc .ME) prm17) THEN
  68.     (IF ($not ($prop pendant dugbt)) THEN
  69.         ($setp pendant dugbt 1)
  70.         ($say "You find an ancient pendant buried in the grave.\n")
  71.         ($move pendant prm17)
  72.         ($return 0)
  73.     )
  74.     ($say "You dig some but you don't find anything.\n")
  75.     ($return 0)
  76.     )
  77.     ($say "The ground is too hard to dig into.\n")
  78. ;
  79.  
  80.  
  81. cantdo =
  82.     ($say "I don't believe I can do that.\n")
  83. ;
  84.  
  85.  
  86. sign(ACTION) = cantdo;
  87. play(ACTION) = cantdo;
  88.  
  89. arolg =
  90.     ($say "It will probably cost you an arm or a leg to feed that.\n")
  91.     ($exit 1)
  92. ;
  93.  
  94.  
  95. feed(ACTION) =
  96.     (IF ($or ($eq ($loc .ME) irm8) ($eq ($loc .ME) irm9)) THEN
  97.     (IF ($eq ($dobj) crocodile) THEN
  98.         (arolg)
  99.     )
  100.     )
  101.     (IF ($and ($eq ($loc .ME) prm19) ($eq ($dobj) bear)) THEN
  102.     (IF ($not ($prop bear hitbr)) THEN
  103.         (arolg)
  104.     )
  105.     )
  106.     (IF ($and ($eq ($loc .ME) prm6) ($eq ($dobj) smilo)) THEN
  107.     (IF ($not ($prop smilo stond)) THEN
  108.         (arolg)
  109.     )
  110.     )
  111.     (IF ($or ($eq ($loc .ME) prm22) ($eq ($loc .ME) prm23)) THEN
  112.     (IF ($eq ($dobj) tyranosaur) THEN
  113.         (arolg)
  114.     )
  115.     )
  116.     ($say "I don't quite understand what you mean.\n")
  117. ;
  118.  
  119.  
  120. cut(ACTION) = cantdo;
  121.  
  122. throw(ACTION) =
  123.     (IF ($ne ($loc ($dobj)) .ME) THEN
  124.     ($say "You don't have it.\n")
  125.     ($exit 1)
  126.     )
  127.     ($say "OK.\n")
  128.     (cdrop)
  129. ;
  130.  
  131. eat(ACTION) = ($say "I think I just lost my appetite.\n");
  132.  
  133. abracadabra(ACTION) =
  134.     (IF ($ne prehs ($loc ($loc .ME))) THEN
  135.     ($say
  136. "That phrase hasn't worked in at least ten thousand years.\n"
  137.     )
  138.     ($return 0)
  139.     )
  140.     (IF ($ne ($loc .ME) prm17) THEN
  141.     ($say "Nothing happens.\n")
  142.     ($return 0)
  143.     )
  144.     (IF ($prop spear tooky) THEN
  145.     (IF ($not ($prop spear abrad)) THEN
  146.         ($setp spear abrad 1)
  147.         ($say "The rubble gets magically cleared away.\n")
  148.         ($return 0)
  149.     )
  150.     )
  151.     ($say "Nothing much happens.\n")
  152. ;
  153.  
  154.  
  155. tie(ACTION) =  ($say "It is impossible to tie a knot in that right now. \n");
  156.  
  157. untie(ACTION) = ($say "I don't quite understand what you mean.\n");
  158.  
  159. swim(ACTION) =
  160.     (IF ($eq ($loc .ME) irm8) THEN
  161.     (ei8)
  162.     ($return 0)
  163.     )
  164.     (IF ($eq ($loc .ME) irm9) THEN
  165.     (ei8)
  166.     ($move .ME irm8)
  167.     ($return 0)
  168.     )
  169.     ($say "I don't see enough water here to even wade in.\n")
  170. ;
  171.  
  172.  
  173. wipe(ACTION) = ($say "I don't quite comprehend what you are saying.\n");
  174.  
  175. shake(ACTION) = ($say "That probably won't accomplish much.\n");
  176.  
  177. jamb(ACTION) = ($say "I don't quite comprehend what you mean.\n");
  178.  
  179. xyzzy(ACTION) =
  180.     ($say 
  181. "You are transported to a room where you are faced by a wizard who points to
  182. you and says, ''Them's fighting words!''  You immediately get attacked by
  183. all sorts of denizens of the museum: there is a cobra chewing on your leg, "
  184. "a troglodyte is bashing your brains out with a gold nugget, a crocodile is 
  185. removing large chunks of flesh from you, a rhinoceros is goring you with his
  186. horn, a sabre-tooth cat is busy trying to disembowel you, you are being "
  187. "trampled by a large mammoth, a vampire is sucking you dry, a Tyranosaurus
  188. Rex is sinking his six inch long fangs into various parts of your anatomy,
  189. a large bear is dismembering your body, a gargoyle is bouncing up and "
  190. "down on your head, a burly troll is tearing you limb from limb, several
  191. dire wolves are making mince meat out of your torso, and the wizard is about
  192. to transport you to the corner of Westwood and Broxton.  "
  193.     )
  194.     ($say "Oh dear, you seem to have gotten yourself killed, as well.\n")
  195.     (skore)
  196.     (ratng)
  197.     (ratnx)
  198.     ($spec QUIT)
  199. ;
  200.  
  201.  
  202. score(ACTION) =
  203.     (skore)
  204.     (ratng)
  205. ;
  206.  
  207.  
  208. quit( ACTION ) =
  209.     (skore)
  210.     (ratng)
  211.     (ratnx)
  212.     ($spec QUIT)
  213. ;
  214.  
  215.  
  216. scale =
  217.     ($setp .ME weight 0)
  218.     (IF ($cont .ME) THEN
  219.     (scads ($cont .ME))
  220.     )
  221. ;
  222.  
  223.  
  224. scads =
  225.     (IF %1 THEN
  226.     ($setp .ME weight ($plus ($prop .ME weight)
  227.                  ($prop %1 weight)))
  228.     (scads ($link %1))
  229.     )
  230. ;
  231.  
  232.  
  233. TakeAct = (ctake);
  234.  
  235. DropAct = (cdrop);
  236.  
  237.  
  238. ctake =
  239.     (scale)
  240.     (IF ($prop ($dobj) NOTAKE) THEN
  241.     ($say "That thing is too heavy to carry.\n")
  242.     ($setg Skip TRUE)
  243.     ($return 0)
  244.     )
  245.     (IF ($gt ($plus ($prop ($dobj) weight) ($prop .ME weight)) 20) THEN
  246.     ($say
  247. "You are carrying too much.  You will have to at least drop something first.\n"
  248.     )
  249.     ($setg Skip TRUE)
  250.     ($return 0)
  251.     )
  252.     ($setp .ME weight ($plus ($prop ($dobj) weight) ($prop .ME weight)))
  253.     (IF ($not ($prop ($dobj) rarea)) THEN
  254.     ($return 0)
  255.     )
  256.     ($setp .ME pscore ($plus ($prop .ME pscore) ($prop ($dobj) pfound)))
  257.     ($setp ($dobj) pfound 0)
  258. ;
  259.  
  260.  
  261. cdrop =
  262.     (IF ($eq ($loc .ME) prm21) THEN
  263.     ($say "OK, it falls further down into the crack.\n")
  264.     ($move ($dobj) prm22)
  265.     ($setg Skip TRUE)
  266.     ($return 0)
  267.     )
  268.     (IF ($not ($prop ($dobj) rarea)) THEN
  269.     ($return 0)
  270.      ELSEIF ($and ($eq ($prop ($dobj) rarea) 2) ($eq ($loc .ME) mrm5)) THEN
  271.     (scord)
  272.      ELSEIF ($and ($eq ($prop ($dobj) rarea) 1) ($eq ($loc .ME) mrm3)) THEN
  273.     (scord)
  274.     )
  275. ;
  276.     
  277. scord = 
  278.     ($setp .ME pscore ($plus ($prop .ME pscore) ($prop ($dobj) pplace)))
  279.     ($setp ($dobj) pplace 0)
  280. ;
  281.  
  282.  
  283. rname(ACTION) =
  284.     (($sdesc ($loc .ME)))
  285.     ($exit 1)
  286. ;
  287.  
  288.  
  289. shell(ACTION) =
  290.     ($spec EXEC "shell" 0)
  291. ;
  292.