Annotation of 43BSDTahoe/games/hack/def.objclass.h, revision 1.1.1.1

1.1       root        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:  */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.