1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
   2: /* def.objclass.h - version 1.0.3 */
   3: 
   4: /* definition of a class of objects */
   5: 
   6: struct objclass {
   7:     char *oc_name;      /* actual name */
   8:     char *oc_descr;     /* description when name unknown */
   9:     char *oc_uname;     /* called by user */
  10:     Bitfield(oc_name_known,1);
  11:     Bitfield(oc_merge,1);   /* merge otherwise equal objects */
  12:     char oc_olet;
  13:     schar oc_prob;      /* probability for mkobj() */
  14:     schar oc_delay;     /* delay when using such an object */
  15:     uchar oc_weight;
  16:     schar oc_oc1, oc_oc2;
  17:     int oc_oi;
  18: #define nutrition   oc_oi   /* for foods */
  19: #define a_ac        oc_oc1  /* for armors - only used in ARM_BONUS */
  20: #define ARM_BONUS(obj)  ((10 - objects[obj->otyp].a_ac) + obj->spe)
  21: #define a_can       oc_oc2  /* for armors */
  22: #define bits        oc_oc1  /* for wands and rings */
  23:                 /* wands */
  24: #define     NODIR       1
  25: #define     IMMEDIATE   2
  26: #define     RAY     4
  27:                 /* rings */
  28: #define     SPEC        1   /* +n is meaningful */
  29: #define wldam       oc_oc1  /* for weapons and PICK_AXE */
  30: #define wsdam       oc_oc2  /* for weapons and PICK_AXE */
  31: #define g_val       oc_oi   /* for gems: value on exit */
  32: };
  33: 
  34: extern struct objclass objects[];
  35: 
  36: /* definitions of all object-symbols */
  37: 
  38: #define ILLOBJ_SYM  '\\'
  39: #define AMULET_SYM  '"'
  40: #define FOOD_SYM    '%'
  41: #define WEAPON_SYM  ')'
  42: #define TOOL_SYM    '('
  43: #define BALL_SYM    '0'
  44: #define CHAIN_SYM   '_'
  45: #define ROCK_SYM    '`'
  46: #define ARMOR_SYM   '['
  47: #define POTION_SYM  '!'
  48: #define SCROLL_SYM  '?'
  49: #define WAND_SYM    '/'
  50: #define RING_SYM    '='
  51: #define GEM_SYM     '*'
  52: /* Other places with explicit knowledge of object symbols:
  53:  * ....shk.c:	char shtypes[] = "=/)%?![";
  54:  * mklev.c:	"=/)%?![<>"
  55:  * hack.mkobj.c:	char mkobjstr[] = "))[[!!!!????%%%%/=**";
  56:  * hack.apply.c:   otmp = getobj("0#%", "put in");
  57:  * hack.eat.c:     otmp = getobj("%", "eat");
  58:  * hack.invent.c:          if(index("!%?[)=*(0/\"", sym)){
  59:  * hack.invent.c:    || index("%?!*",otmp->olet))){
  60:  */

Defined struct's

objclass defined in line 6; used 8 times

Defined macros

ARM_BONUS defined in line 20; used 6 times
IMMEDIATE defined in line 25; used 9 times
RAY defined in line 26; used 6 times
a_ac defined in line 19; used 1 times
  • in line 20
a_can defined in line 21; used 1 times
wldam defined in line 29; used 1 times
wsdam defined in line 30; used 1 times

Usage of this include

Last modified: 1985-10-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 2671
Valid CSS Valid XHTML 1.0 Strict