#ifndef ATTRIB_H #define ATTRIB_H #define AF_OSEE 0x1 /* players other than owner can see it */ #define AF_DARK 0x2 /* No one can see it */ #define AF_WIZARD 0x4 /* only wizards can change it */ #define AF_UNIMP 0x8 /* not important -- don't save it in the db */ #define AF_NOMOD 0x10 /* not even wizards can't modify this */ #define AF_DATE 0x20 /* date stored in universal longint form */ #define AF_INHERIT 0x40 /* value inherited by childern */ #define AF_LOCK 0x80 /* interpreted as a boolean expression */ #define AF_FUNC 0x100 /* this is a user defined function */ #define AF_HAVEN 0x200 /* For attributes set HAVEN */ #define AF_BUILTIN 0x400 /* server supplies value. not database. */ #define AF_DBREF 0x800 /* value displayed as dbref. */ #define AF_NOMEM 0x1000 /* this isn't included in memory calculations */ #define AF_PROG 0x2000 /* this attr should contain a program name */ struct attrib_struct { char *name; unsigned long flags; int atrnum; /* This can be garbage if object is not NOTHING */ }; /* For list of attributes on an object */ struct attriblist_struct { struct attrib_struct *attr; char *value; struct attriblist_struct *next; }; typedef struct attrib_struct ATTR; typedef struct attriblist_struct ALIST; extern ATTR atr_list[]; #endif /* ATTRIB_H */