home *** CD-ROM | disk | FTP | other *** search
/ Fatal Distractions! / fataldistractions.bin / chap01 / ccr / thingext.t < prev   
Text File  |  1993-07-10  |  3KB  |  89 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.  *
  39.  */
  40.  
  41. /*
  42.  * This file is #included in adv.t and defines extensions to the thing
  43.  * class.
  44.  */
  45.  
  46. // Default actions for new verbs.
  47. // These are #included into the thing class definition.
  48.  
  49.     verDoKick(actor) = { "Feeling violent?"; }
  50.     verDoSmell(actor) = { "It smells like an ordinary "; self.sdesc; "."; }
  51.     verDoWave(actor) = {
  52.         "Waving "; self.thedesc; " doesn't seem to do much.";
  53.     }
  54.     verDoBreak(actor) = { "I see no obvious way to do that."; }
  55.     verDoRub(actor) = { "Ok, you just rubbed "; self.thedesc; "."; }
  56.     verDoCount(actor) = { "I see one (1) "; self.sdesc; "."; }
  57.     verDoUse(actor) = {
  58.         "You'll have to be a bit more explicit than that.";
  59.     }
  60.     verDoLight(actor) = {
  61.         "I don't know how to light "; self.thesdesc; ".";
  62.     }
  63.     verDoPick(actor) = { "You're babbling, man!  Snap out of it!"; }
  64.     verDoWake(actor) = { caps(); self.thedesc; " is not asleep."; }
  65.     verDoBlastWith(actor) = { "Been eating those funny brownies again?"; }
  66.     verDoOil(actor) = { "Yuck."; }
  67.     verDoWater(actor) = { "I don't see any point to that."; }
  68.     verIoOpenWith(actor) = {
  69.         "You can't use that to open anything.";
  70.     }
  71.  
  72.     /*
  73.      * Map douse x with y to pour y on x
  74.      */
  75.     verDoDouseWith(actor) = { self.verIoPourOn(actor); }
  76.     doDouseWith(actor, io) = { io.doPourOn(actor, self); }
  77.     verIoDouseWith(actor) = { self.verDoPourOn(actor); }
  78.     ioDouseWith(actor, dobj) = { dobj.ioPourOn(actor, self); }
  79.  
  80.     verDoPourOn(actor, io) = {
  81.         caps(); self.thedesc; " is going to have to undergo
  82.         a major state change first.";
  83.     }
  84.     doPourOn(actor, io) = {
  85.         "This shouldn't happen.";
  86.     }
  87.     verIoPourOn(actor) = {}
  88.     ioPourOn(actor, dobj) = { dobj.doPourOn(actor, self); }
  89.