home *** CD-ROM | disk | FTP | other *** search
/ Fatal Distractions! / fataldistractions.bin / chap01 / ccr / ccr-verb.t < prev    next >
Text File  |  1993-07-10  |  18KB  |  1,006 lines

  1. /*
  2.  * Colossal Cave Revisited
  3.  *
  4.  * A remake of Willie Crowther and Don Woods' classic Adventure.
  5.  * Converted from Donald Ekman's PC port of the original FORTRAN source.
  6.  * TADS version by David M. Baggett for ADVENTIONS.
  7.  *
  8.  * Please document all changes in the history so we know who did what.
  9.  *
  10.  * This source code is copylefted under the terms of the GNU Public
  11.  * License.  Essentially, this means that you are free to do whatever
  12.  * you wish with this source code, provided you do not charge any
  13.  * money for it or for any derivative works.
  14.  *
  15.  * ADVENTIONS distributes this game, but you are free to do what you will
  16.  * with it, provided you adhere to the terms in the GNU Public License.
  17.  * Send correspondence regarding this game or original works distributed
  18.  * by ADVENTIONS to 
  19.  *
  20.  *    ADVENTIONS
  21.  *    PO Box 851
  22.  *    Columbia, MD 21044
  23.  *
  24.  * If you would like a catalog of releases, please enclose a SASE.  Thanks!
  25.  *
  26.  * Contributors
  27.  *
  28.  *    dmb    In real life:    David M. Baggett
  29.  *        Internet:    <dmb@ai.mit.edu>
  30.  *        Compu$erve:    76440,2671 (ADVENTIONS account)
  31.  *        GEnie:        ADVENTIONS
  32.  *
  33.  * Modification History
  34.  *
  35.  *  1-Jan-93    dmb    rec.arts.int-fiction BETA release (source only)
  36.  *                      For beta testing only -- not for general
  37.  *            distribution.
  38.  * 20-Apr-93    dmb    Added a few verbs for regression testing.
  39.  *
  40.  */
  41.  
  42. /*
  43.  * This file defines new verbs, including the myriad new travel verbs.
  44.  */
  45.  
  46. /*
  47.  * system verbs
  48.  */
  49. spaceVerb: deepverb
  50.     sdesc = "space"
  51.     verb = 'space'
  52.      action(actor) = {
  53.         if (global.doublespace) {
  54.             "Now single-spacing text.";
  55.             global.doublespace := nil;
  56.         }
  57.         else {
  58.             "Now double-spacing text.";
  59.             global.doublespace := true;
  60.         }
  61.  
  62.         abort;    /* doesn't count as a turn */
  63.      }
  64. ;
  65. indentVerb: deepverb
  66.     sdesc = "indent"
  67.     verb = 'indent'
  68.      action(actor) = {
  69.         if (global.indent) {
  70.             "Paragraph indentation now off.";
  71.             global.indent := nil;
  72.         }
  73.         else {
  74.             "Paragraph indentation now on.";
  75.             global.indent := true;
  76.         }
  77.         
  78.         abort;    /* doesn't count as a turn */
  79.      }
  80. ;
  81. deterministicverb: deepverb
  82.     verb = 'deterministic' 'norandom' 'norandomize'
  83.     action(actor) = { global.nondeterministic := nil; }
  84. ;
  85. nodwarves: deepverb
  86.     verb = 'nodwarf' 'nodwarves'
  87.     action(actor) = {
  88.         Dwarves.loclist := [];
  89.         Pirates.loclist := [];
  90.         "\b*** Dwarves and pirates disabled. ***\n";
  91.         treasure_chest.moveInto(Dead_End_13);
  92.     }
  93. ;
  94.  
  95. /*
  96.  * Special and/or magic verbs
  97.  */
  98. yesVerb: deepverb
  99.     //
  100.     // This is a hack to allow the following:
  101.     //
  102.     // >kill dragon
  103.     // With what, your bare hands?
  104.     // >yes
  105.     //
  106.     sdesc = "answer yes to"
  107.     verb = 'yes' 'uh-huh' 'uhuh' 'yea' 'yeah' 'yup' 'sure' 'yep'
  108.  
  109.     action(actor) = {
  110.         //
  111.         // If we asked "with your bear hands?" last turn,
  112.         // do special stuff.
  113.         //
  114.         if (Dragon.rhetoricalturn = global.turnsofar - 1)
  115.             Dragon.kill;
  116.         else if (Bear.rhetoricalturn = global.turnsofar - 1)
  117.             Bear.nicetry;
  118.         else if (Dwarves.rhetoricalturn = global.turnsofar - 1)
  119.             Dwarves.nicetry;
  120.         else
  121.             "You're sounding awfully positive!";
  122.     }
  123. ;
  124.  
  125. feeVerb: deepverb
  126.     said = nil
  127.  
  128.     sdesc = "fee"
  129.     verb = 'fee'
  130.     action(actor) = {
  131.         if (self.said)
  132.             self.fail;
  133.         else {
  134.             "Ok!";
  135.             fieVerb.tcount := global.turnsofar + 1;
  136.             foeVerb.tcount := global.turnsofar + 2;
  137.             fooVerb.tcount := global.turnsofar + 3;
  138.             self.said := true;
  139.             fieVerb.said := nil;
  140.             foeVerb.said := nil;
  141.         }
  142.     }
  143.  
  144.     fail = {
  145.         if (self.said) {
  146.             "What's the matter, can't you read?  Now 
  147.             you'd best start over. ";
  148.         }
  149.         else {
  150.             "Nothing happens.";
  151.         }
  152.  
  153.         self.reset;
  154.     }
  155.  
  156.     reset = {
  157.         fieVerb.tcount := -1;
  158.         foeVerb.tcount := -1;
  159.         fooVerb.tcount := -1;
  160.  
  161.         self.said := nil;
  162.         fieVerb.said := nil;
  163.         foeVerb.said := nil;
  164.     }
  165. ;
  166. fieVerb: deepverb
  167.     said = nil
  168.     tcount = -1
  169.     sdesc = "fie"
  170.     verb = 'fie'
  171.     action(actor) = {
  172.         if (self.tcount = global.turnsofar) {
  173.             self.said := true;
  174.             "Ok!";
  175.         }
  176.         else
  177.             feeVerb.fail;
  178.     }
  179. ;
  180. foeVerb: deepverb
  181.     said = nil
  182.     tcount = -1
  183.     sdesc = "foe"
  184.     verb = 'foe'
  185.     action(actor) = {
  186.         if (not fieVerb.said)
  187.             feeVerb.fail;
  188.         else if (self.tcount = global.turnsofar) {
  189.             self.said := true;
  190.             "Ok!";
  191.         }
  192.         else
  193.             feeVerb.fail;
  194.     }
  195. ;
  196. fooVerb: deepverb
  197.     tcount = -1
  198.     sdesc = "foo"
  199.     verb = 'foo'
  200.     action(actor) = {
  201.         if (not foeVerb.said)
  202.             feeVerb.fail;
  203.         else if (self.tcount = global.turnsofar) {
  204.             if (golden_eggs.isIn(In_Giant_Room))
  205.                 "Nothing happens.";
  206.             else {
  207.                 if (golden_eggs.isIn(Me.location))
  208.                     "The nest of golden eggs has 
  209.                     vanished!";
  210.                 else
  211.                     "Done!";
  212.  
  213.                 golden_eggs.moveInto(In_Giant_Room);
  214.  
  215.                 if (golden_eggs.isIn(Me.location)) {
  216.                     P(); I();
  217.                     "A large nest full of golden 
  218.                     eggs suddenly appears out of 
  219.                     nowhere!";
  220.                 }
  221.             }
  222.  
  223.             feeVerb.reset;
  224.         }
  225.         else
  226.             feeVerb.fail;
  227.     }
  228. ;
  229. fumVerb: deepverb
  230.     sdesc = "fum"
  231.     verb = 'fum'
  232.     action(actor) = {
  233.         feeVerb.fail;
  234.     }
  235. ;
  236.  
  237. losingmagicVerb: deepverb
  238.     sdesc = "foobar"
  239.     verb = 'sesame' 'open-sesame' 'opensesame' 'abracadabra'
  240.         'shazam' 'shazzam' 'hocus' 'pocus' 'hokus' 'pokus'
  241.         'hocuspocus' 'hocus-pocus' 'hokuspokus' 'hokus-pokus'
  242.         'foobar'
  243.     action(actor) = {
  244.         "Good try, but that is an old worn-out magic word.";
  245.     }
  246. ;
  247.  
  248. /*
  249.  * new general-purpose verbs.
  250.  */
  251. helpVerb: deepverb
  252.     sdesc = "help"
  253.     verb = 'help' 'info' 'information'
  254.     action(actor) = { help(); }
  255. ;
  256. waveVerb: deepverb
  257.     sdesc = "wave"
  258.     verb = 'wave' 'shake'
  259.     doAction = 'Wave'
  260. ;
  261.  
  262. breakVerb: deepverb
  263.     sdesc = "break"
  264.     verb = 'break' 'destroy' 'damage' 'bust' 'mangle' 'smash'
  265.     doAction = 'Break'
  266. ;
  267.  
  268. smellVerb: deepverb
  269.     sdesc = "smell"
  270.     verb = 'smell' 'sniff' 'waft'
  271.     doAction = 'Smell'
  272. ;
  273.  
  274. rubVerb: deepverb
  275.     sdesc = "rub"
  276.     verb = 'rub' 'caress' 'fondle' 'pat' 'pet' 'hug' 'cuddle' 'squeeze'
  277.     doAction = 'Rub'
  278. ;
  279.  
  280. countVerb: deepverb
  281.     verb = 'count'
  282.     sdesc = "count"
  283.     doAction = 'Count'
  284. ;
  285.  
  286. tieVerb: deepverb
  287.     sdesc = "tie"
  288.     verb = 'tie' 'knot'
  289.     doAction = 'Tie'
  290. ;
  291.  
  292. untieVerb: deepverb
  293.     sdesc = "untie"
  294.     verb = 'untie' 'unknot'
  295.     doAction = 'Untie'
  296. ;
  297.  
  298. pourVerb: deepverb
  299.     sdesc = "pour"
  300.     verb = 'pour' 'dump'
  301.     prepDefault = onPrep
  302.     ioAction(onPrep) = 'PourOn'
  303. ;
  304. douseVerb: deepverb
  305.     sdesc = "douse"
  306.     verb = 'douse' 'drench'
  307.     prepDefault = withPrep
  308.     ioAction(withPrep) = 'DouseWith'
  309. ;
  310.  
  311. oilVerb: deepverb
  312.     sdesc = "oil"
  313.     verb = 'oil' 'grease' 'lubricate'
  314.     doAction = 'Oil'
  315. ;
  316.  
  317. waterVerb: deepverb
  318.     sdesc = "water"
  319.     verb = 'water'
  320.     doAction = 'Water'
  321. ;
  322.  
  323. kickVerb: deepverb
  324.     sdesc = "kick"
  325.     verb = 'kick' 'knee'
  326.     doAction = 'Kick'
  327. ;
  328.  
  329. singVerb: deepverb
  330.     sdesc = "sing"
  331.     verb = 'sing' 'whistle'
  332.     doAction = 'Sing'
  333.     action(actor) = { "You don't sound half bad.    But don't quit your day job."; }
  334. ;
  335.  
  336. useVerb: deepverb
  337.     sdesc = "use"
  338.     verb = 'use' 'utilize' 'employ'
  339.     doAction = 'Use'
  340. ;
  341.  
  342. lightVerb: deepverb
  343.     sedsc = "light"
  344.     verb = 'light'
  345.     doAction = 'Light'
  346. ;
  347.  
  348. pickVerb: deepverb
  349.     sdesc = "pick"
  350.     verb = 'pick'
  351.     doAction = 'Pick'
  352. ;
  353.  
  354. wakeVerb: deepverb
  355.     sdesc = "wake"
  356.     verb = 'wake' 'awaken' 'wake up' 'disturb'
  357.     doAction = 'Wake'
  358. ;
  359.  
  360. digVerb: deepverb
  361.     sdesc = "dig"
  362.     verb = 'dig' 'burrow'
  363.     action(actor) = {
  364.         "Digging without a shovel is quite impractical.  Even 
  365.         with a shovel progress is unlikely.";
  366.     }
  367. ;
  368.  
  369. blastVerb: deepverb
  370.     sdesc = "blast"
  371.     verb = 'blast' 'blast with'
  372.     action(actor) = {
  373.         if (Me.isIn(At_Ne_End) or Me.isIn(At_Sw_End))
  374.             black_mark_rod.doBlastWith(actor);
  375.         else
  376.             "Blasting requires dynamite.";
  377.     }
  378.     doAction = 'BlastWith'
  379. ;
  380.  
  381. feedVerb: deepverb
  382.     sdesc = "feed"
  383.     verb = 'feed' 'stuff' 'fatten'
  384.     doAction = 'Feed'
  385. ;
  386.  
  387. fillVerb: deepverb
  388.     sdesc = "fill"
  389.     verb = 'fill'
  390.     doAction = 'Fill'
  391. ;
  392.  
  393. emptyVerb: deepverb
  394.     sdesc = "empty"
  395.     verb = 'empty'
  396.     doAction = 'Empty'
  397. ;
  398.  
  399. /*
  400.  * Do this later.
  401.  */
  402. backVerb: travelVerb
  403.     verb = 'back' 'return' 'retreat'
  404.      action(actor) = {
  405.         actor.travelTo(self.travelDir(actor));
  406.     }
  407.     travelDir(actor) = {
  408.         return(actor.location.back);
  409.     }
  410. ;
  411.  
  412. /*
  413.  * From here until the end of the file we define the new direction verbs.
  414.  * Not very exciting reading.
  415.  */
  416. jumpVerb: travelVerb    // this is normally defined in adv.t
  417.     verb = 'jump' 'leap'
  418.      action(actor) = {
  419.         actor.travelTo(self.travelDir(actor));
  420.     }
  421.     travelDir(actor) = {
  422.         return(actor.location.road);
  423.     }
  424. ;
  425.  
  426. roadVerb: travelVerb
  427.     verb = 'road' 'hill'
  428.      action(actor) = {
  429.         actor.travelTo(self.travelDir(actor));
  430.     }
  431.     travelDir(actor) = {
  432.         return(actor.location.road);
  433.     }
  434. ;
  435.  
  436. upstreamVerb: travelVerb
  437.     verb = 'upstream'
  438.      action(actor) = {
  439.         actor.travelTo(self.travelDir(actor));
  440.     }
  441.     travelDir(actor) = {
  442.         return(actor.location.upstream);
  443.     }
  444. ;
  445.  
  446. downstreamVerb: travelVerb
  447.     verb = 'downstream'
  448.      action(actor) = {
  449.         actor.travelTo(self.travelDir(actor));
  450.     }
  451.     travelDir(actor) = {
  452.         return(actor.location.downstream);
  453.     }
  454. ;
  455.  
  456. forestVerb: travelVerb
  457.     verb = 'forest'
  458.      action(actor) = {
  459.         actor.travelTo(self.travelDir(actor));
  460.     }
  461.     travelDir(actor) = {
  462.         return(actor.location.forest);
  463.     }
  464. ;
  465.  
  466. forwardsVerb: travelVerb
  467.     verb = 'forwards' 'continue' 'onward'
  468.      action(actor) = {
  469.         actor.travelTo(self.travelDir(actor));
  470.     }
  471.     travelDir(actor) = {
  472.         return(actor.location.forwards);
  473.     }
  474. ;
  475.  
  476. valleyVerb: travelVerb
  477.     verb = 'valley'
  478.      action(actor) = {
  479.         actor.travelTo(self.travelDir(actor));
  480.     }
  481.     travelDir(actor) = {
  482.         return(actor.location.valley);
  483.     }
  484. ;
  485.  
  486. stairsVerb: travelVerb
  487.     verb = 'stairs'
  488.      action(actor) = {
  489.         actor.travelTo(self.travelDir(actor));
  490.     }
  491.     travelDir(actor) = {
  492.         return(actor.location.stairs);
  493.     }
  494. ;
  495.  
  496. buildingVerb: travelVerb
  497.     verb = 'building' 'house'
  498.      action(actor) = {
  499.         actor.travelTo(self.travelDir(actor));
  500.     }
  501.     travelDir(actor) = {
  502.         return(actor.location.building);
  503.     }
  504. ;
  505.  
  506. gullyVerb: travelVerb
  507.     verb = 'gully'
  508.      action(actor) = {
  509.         actor.travelTo(self.travelDir(actor));
  510.     }
  511.     travelDir(actor) = {
  512.         return(actor.location.gully);
  513.     }
  514. ;
  515.  
  516. streamVerb: travelVerb
  517.     verb = 'stream'
  518.      action(actor) = {
  519.         actor.travelTo(self.travelDir(actor));
  520.     }
  521.     travelDir(actor) = {
  522.         return(actor.location.stream);
  523.     }
  524. ;
  525.  
  526. rockVerb: travelVerb
  527.     verb = 'rock'
  528.      action(actor) = {
  529.         actor.travelTo(self.travelDir(actor));
  530.     }
  531.     travelDir(actor) = {
  532.         return(actor.location.rock);
  533.     }
  534. ;
  535.  
  536. bedVerb: travelVerb
  537.     verb = 'bed'
  538.      action(actor) = {
  539.         actor.travelTo(self.travelDir(actor));
  540.     }
  541.     travelDir(actor) = {
  542.         return(actor.location.bed);
  543.     }
  544. ;
  545.  
  546. crawlVerb: travelVerb
  547.     verb = 'crawl'
  548.      action(actor) = {
  549.         actor.travelTo(self.travelDir(actor));
  550.     }
  551.     travelDir(actor) = {
  552.         return(actor.location.crawl);
  553.     }
  554. ;
  555.  
  556. cobbleVerb: travelVerb
  557.     verb = 'cobble'
  558.      action(actor) = {
  559.         actor.travelTo(self.travelDir(actor));
  560.     }
  561.     travelDir(actor) = {
  562.         return(actor.location.cobble);
  563.     }
  564. ;
  565.  
  566. surfaceVerb: travelVerb
  567.     verb = 'surface'
  568.      action(actor) = {
  569.         actor.travelTo(self.travelDir(actor));
  570.     }
  571.     travelDir(actor) = {
  572.         return(actor.location.tosurface);
  573.     }
  574. ;
  575.  
  576. darkVerb: travelVerb
  577.     verb = 'dark'
  578.      action(actor) = {
  579.         actor.travelTo(self.travelDir(actor));
  580.     }
  581.     travelDir(actor) = {
  582.         return(actor.location.dark);
  583.     }
  584. ;
  585.  
  586. passageVerb: travelVerb
  587.     verb = 'passage' 'tunnel'
  588.      action(actor) = {
  589.         actor.travelTo(self.travelDir(actor));
  590.     }
  591.     travelDir(actor) = {
  592.         return(actor.location.passage);
  593.     }
  594. ;
  595.  
  596. lowVerb: travelVerb
  597.     verb = 'low'
  598.      action(actor) = {
  599.         actor.travelTo(self.travelDir(actor));
  600.     }
  601.     travelDir(actor) = {
  602.         return(actor.location.low);
  603.     }
  604. ;
  605.  
  606. canyonVerb: travelVerb
  607.     verb = 'canyon'
  608.      action(actor) = {
  609.         actor.travelTo(self.travelDir(actor));
  610.     }
  611.     travelDir(actor) = {
  612.         return(actor.location.canyon);
  613.     }
  614. ;
  615.  
  616. awkwardVerb: travelVerb
  617.     verb = 'awkward'
  618.      action(actor) = {
  619.         actor.travelTo(self.travelDir(actor));
  620.     }
  621.     travelDir(actor) = {
  622.         return(actor.location.awkward);
  623.     }
  624. ;
  625.  
  626. giantVerb: travelVerb
  627.     verb = 'giant'
  628.      action(actor) = {
  629.         actor.travelTo(self.travelDir(actor));
  630.     }
  631.     travelDir(actor) = {
  632.         return(actor.location.giant);
  633.     }
  634. ;
  635.  
  636. viewVerb: travelVerb
  637.     verb = 'view'
  638.      action(actor) = {
  639.         actor.travelTo(self.travelDir(actor));
  640.     }
  641.     travelDir(actor) = {
  642.         return(actor.location.view);
  643.     }
  644. ;
  645.  
  646. pitVerb: travelVerb
  647.     verb = 'pit'
  648.      action(actor) = {
  649.         actor.travelTo(self.travelDir(actor));
  650.     }
  651.     travelDir(actor) = {
  652.         return(actor.location.pit);
  653.     }
  654. ;
  655.  
  656. outdoorsVerb: travelVerb
  657.     verb = 'outdoors'
  658.      action(actor) = {
  659.         actor.travelTo(self.travelDir(actor));
  660.     }
  661.     travelDir(actor) = {
  662.         return(actor.location.outdoors);
  663.     }
  664. ;
  665.  
  666. crackVerb: travelVerb
  667.     verb = 'crack'
  668.      action(actor) = {
  669.         actor.travelTo(self.travelDir(actor));
  670.     }
  671.     travelDir(actor) = {
  672.         return(actor.location.crack);
  673.     }
  674. ;
  675.  
  676. stepsVerb: travelVerb
  677.     verb = 'steps'
  678.      action(actor) = {
  679.         actor.travelTo(self.travelDir(actor));
  680.     }
  681.     travelDir(actor) = {
  682.         return(actor.location.steps);
  683.     }
  684. ;
  685.  
  686. domeVerb: travelVerb
  687.     verb = 'dome'
  688.      action(actor) = {
  689.         actor.travelTo(self.travelDir(actor));
  690.     }
  691.     travelDir(actor) = {
  692.         return(actor.location.dome);
  693.     }
  694. ;
  695.  
  696. leftVerb: travelVerb
  697.     verb = 'left'
  698.      action(actor) = {
  699.         actor.travelTo(self.travelDir(actor));
  700.     }
  701.     travelDir(actor) = {
  702.         return(actor.location.left);
  703.     }
  704. ;
  705.  
  706. rightVerb: travelVerb
  707.     verb = 'right'
  708.      action(actor) = {
  709.         actor.travelTo(self.travelDir(actor));
  710.     }
  711.     travelDir(actor) = {
  712.         return(actor.location.right);
  713.     }
  714. ;
  715.  
  716. hallVerb: travelVerb
  717.     verb = 'hall'
  718.      action(actor) = {
  719.         actor.travelTo(self.travelDir(actor));
  720.     }
  721.     travelDir(actor) = {
  722.         return(actor.location.hall);
  723.     }
  724. ;
  725.  
  726. barrenVerb: travelVerb
  727.     verb = 'barren'
  728.      action(actor) = {
  729.         actor.travelTo(self.travelDir(actor));
  730.     }
  731.     travelDir(actor) = {
  732.         return(actor.location.barren);
  733.     }
  734. ;
  735.  
  736. overVerb: travelVerb
  737.     verb = 'over'
  738.      action(actor) = {
  739.         actor.travelTo(self.travelDir(actor));
  740.     }
  741.     travelDir(actor) = {
  742.         return(actor.location.over);
  743.     }
  744. ;
  745.  
  746. acrossVerb: travelVerb
  747.     verb = 'across'
  748.      action(actor) = {
  749.         actor.travelTo(self.travelDir(actor));
  750.     }
  751.     travelDir(actor) = {
  752.         return(actor.location.across);
  753.     }
  754. ;
  755.  
  756. debrisVerb: travelVerb
  757.     verb = 'debris'
  758.      action(actor) = {
  759.         actor.travelTo(self.travelDir(actor));
  760.     }
  761.     travelDir(actor) = {
  762.         return(actor.location.debris);
  763.     }
  764. ;
  765.  
  766. holeVerb: travelVerb
  767.     verb = 'hole'
  768.      action(actor) = {
  769.         actor.travelTo(self.travelDir(actor));
  770.     }
  771.     travelDir(actor) = {
  772.         return(actor.location.hole);
  773.     }
  774. ;
  775.  
  776. wallVerb: travelVerb
  777.     verb = 'wall'
  778.      action(actor) = {
  779.         actor.travelTo(self.travelDir(actor));
  780.     }
  781.     travelDir(actor) = {
  782.         return(actor.location.wall);
  783.     }
  784. ;
  785.  
  786. brokenVerb: travelVerb
  787.     verb = 'broken'
  788.      action(actor) = {
  789.         actor.travelTo(self.travelDir(actor));
  790.     }
  791.     travelDir(actor) = {
  792.         return(actor.location.broken);
  793.     }
  794. ;
  795.  
  796. y2Verb: travelVerb
  797.     verb = 'y2'
  798.      action(actor) = {
  799.         actor.travelTo(self.travelDir(actor));
  800.     }
  801.     travelDir(actor) = {
  802.         return(actor.location.y2);
  803.     }
  804. ;
  805.  
  806. floorVerb: travelVerb
  807.     verb = 'floor'
  808.      action(actor) = {
  809.         actor.travelTo(self.travelDir(actor));
  810.     }
  811.     travelDir(actor) = {
  812.         return(actor.location.floor);
  813.     }
  814. ;
  815.  
  816. roomVerb: travelVerb
  817.     verb = 'room'
  818.      action(actor) = {
  819.         actor.travelTo(self.travelDir(actor));
  820.     }
  821.     travelDir(actor) = {
  822.         return(actor.location.toroom);
  823.     }
  824. ;
  825.  
  826. slitVerb: travelVerb
  827.     verb = 'slit'
  828.      action(actor) = {
  829.         actor.travelTo(self.travelDir(actor));
  830.     }
  831.     travelDir(actor) = {
  832.         return(actor.location.slit);
  833.     }
  834. ;
  835.  
  836. slabVerb: travelVerb
  837.     verb = 'slab' 'slabroom'
  838.      action(actor) = {
  839.         actor.travelTo(self.travelDir(actor));
  840.     }
  841.     travelDir(actor) = {
  842.         return(actor.location.slab);
  843.     }
  844. ;
  845.  
  846. xyzzyVerb: travelVerb
  847.     verb = 'xyzzy'
  848.      action(actor) = {
  849.         actor.travelTo(self.travelDir(actor));
  850.     }
  851.     travelDir(actor) = {
  852.         return(actor.location.xyzzy);
  853.     }
  854. ;
  855.  
  856. depressionVerb: travelVerb
  857.     verb = 'depression' 'grate'    // DMB: added 'grate'
  858.      action(actor) = {
  859.         actor.travelTo(self.travelDir(actor));
  860.     }
  861.     travelDir(actor) = {
  862.         return(actor.location.depression);
  863.     }
  864. ;
  865.  
  866. entranceVerb: travelVerb
  867.     verb = 'entrance'
  868.      action(actor) = {
  869.         actor.travelTo(self.travelDir(actor));
  870.     }
  871.     travelDir(actor) = {
  872.         return(actor.location.entrance);
  873.     }
  874. ;
  875.  
  876. plughVerb: travelVerb
  877.     verb = 'plugh'
  878.      action(actor) = {
  879.         actor.travelTo(self.travelDir(actor));
  880.     }
  881.     travelDir(actor) = {
  882.         return(actor.location.plugh);
  883.     }
  884. ;
  885.  
  886. secretVerb: travelVerb
  887.     verb = 'secret'
  888.      action(actor) = {
  889.         actor.travelTo(self.travelDir(actor));
  890.     }
  891.     travelDir(actor) = {
  892.         return(actor.location.secret);
  893.     }
  894. ;
  895.  
  896. caveVerb: travelVerb
  897.     verb = 'cave'
  898.      action(actor) = {
  899.         actor.travelTo(self.travelDir(actor));
  900.     }
  901.     travelDir(actor) = {
  902.         return(actor.location.cave);
  903.     }
  904. ;
  905.  
  906. crossVerb: travelVerb
  907.     verb = 'cross'
  908.      action(actor) = {
  909.         actor.travelTo(self.travelDir(actor));
  910.     }
  911.     travelDir(actor) = {
  912.         return(actor.location.cross);
  913.     }
  914.     doAction = 'Cross'
  915. ;
  916.  
  917. bedquiltVerb: travelVerb
  918.     verb = 'bedquilt'
  919.      action(actor) = {
  920.         actor.travelTo(self.travelDir(actor));
  921.     }
  922.     travelDir(actor) = {
  923.         return(actor.location.bedquilt);
  924.     }
  925. ;
  926.  
  927. ploverVerb: travelVerb
  928.     verb = 'plover'
  929.      action(actor) = {
  930.         local    loc;
  931.  
  932.         //
  933.         // If the player teleports by using the plover
  934.         // magic word while holding the emerald, the
  935.         // emerald goes back to its original source.
  936.         //
  937.         loc := actor.location;
  938.         actor.travelTo(self.travelDir(actor));
  939.         if (loc <> actor.location and egg_sized_emerald.isIn(Me))
  940.             egg_sized_emerald.moveInto(In_Plover_Room);
  941.     }
  942.     travelDir(actor) = {
  943.         return(actor.location.plover);
  944.     }
  945. ;
  946.  
  947. orientalVerb: travelVerb
  948.     verb = 'oriental'
  949.      action(actor) = {
  950.         actor.travelTo(self.travelDir(actor));
  951.     }
  952.     travelDir(actor) = {
  953.         return(actor.location.oriental);
  954.     }
  955. ;
  956.  
  957. cavernVerb: travelVerb
  958.     verb = 'cavern'
  959.      action(actor) = {
  960.         actor.travelTo(self.travelDir(actor));
  961.     }
  962.     travelDir(actor) = {
  963.         return(actor.location.cavern);
  964.     }
  965. ;
  966.  
  967. shellVerb: travelVerb
  968.     verb = 'shell'
  969.      action(actor) = {
  970.         actor.travelTo(self.travelDir(actor));
  971.     }
  972.     travelDir(actor) = {
  973.         return(actor.location.shell);
  974.     }
  975. ;
  976.  
  977. reservoirVerb: travelVerb
  978.     verb = 'reservoir'
  979.      action(actor) = {
  980.         actor.travelTo(self.travelDir(actor));
  981.     }
  982.     travelDir(actor) = {
  983.         return(actor.location.reservoir);
  984.     }
  985. ;
  986.  
  987. mainVerb: travelVerb
  988.     verb = 'main' 'office'
  989.      action(actor) = {
  990.         actor.travelTo(self.travelDir(actor));
  991.     }
  992.     travelDir(actor) = {
  993.         return(actor.location.main);
  994.     }
  995. ;
  996.  
  997. forkVerb: travelVerb
  998.     verb = 'fork'
  999.      action(actor) = {
  1000.         actor.travelTo(self.travelDir(actor));
  1001.     }
  1002.     travelDir(actor) = {
  1003.         return(actor.location.fork);
  1004.     }
  1005. ;
  1006.