|
|
1.1 ! root 1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ ! 2: /* def.obj.h - version 1.0.3 */ ! 3: ! 4: struct obj { ! 5: struct obj *nobj; ! 6: unsigned o_id; ! 7: unsigned o_cnt_id; /* id of container object is in */ ! 8: xchar ox,oy; ! 9: xchar odx,ody; ! 10: uchar otyp; ! 11: uchar owt; ! 12: uchar quan; /* use oextra for tmp gold objects */ ! 13: schar spe; /* quality of weapon, armor or ring (+ or -) ! 14: number of charges for wand ( >= -1 ) ! 15: special for uball and amulet %% BAH */ ! 16: char olet; ! 17: char invlet; ! 18: Bitfield(oinvis,1); /* not yet implemented */ ! 19: Bitfield(odispl,1); ! 20: Bitfield(known,1); /* exact nature known */ ! 21: Bitfield(dknown,1); /* color or text known */ ! 22: Bitfield(cursed,1); ! 23: Bitfield(unpaid,1); /* on some bill */ ! 24: Bitfield(rustfree,1); ! 25: Bitfield(onamelth,6); ! 26: long age; /* creation date */ ! 27: long owornmask; ! 28: #define W_ARM 01L ! 29: #define W_ARM2 02L ! 30: #define W_ARMH 04L ! 31: #define W_ARMS 010L ! 32: #define W_ARMG 020L ! 33: #define W_ARMOR (W_ARM | W_ARM2 | W_ARMH | W_ARMS | W_ARMG) ! 34: #define W_RINGL 010000L /* make W_RINGL = RING_LEFT (see uprop) */ ! 35: #define W_RINGR 020000L ! 36: #define W_RING (W_RINGL | W_RINGR) ! 37: #define W_WEP 01000L ! 38: #define W_BALL 02000L ! 39: #define W_CHAIN 04000L ! 40: long oextra[1]; /* used for name of ordinary objects - length ! 41: is flexible; amount for tmp gold objects */ ! 42: }; ! 43: ! 44: extern struct obj *fobj; ! 45: ! 46: #define newobj(xl) (struct obj *) alloc((unsigned)(xl) + sizeof(struct obj)) ! 47: #define ONAME(otmp) ((char *) otmp->oextra) ! 48: #define OGOLD(otmp) (otmp->oextra[0])
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.