/* attrs.h - Attribute definitions */
/* $Id: attrs.h,v 1.3 2000/09/05 20:28:53 sdennis Exp $ */
#ifndef _ATTRS_H
#define _ATTRS_H
/* Attribute flags */
#define AF_ODARK 0x00001 /* players other than owner can't see it */
#define AF_DARK 0x00002 /* No one can see it */
#define AF_WIZARD 0x00004 /* only wizards can change it */
#define AF_MDARK 0x00008 /* Only wizards can see it. Dark to mortals */
#define AF_INTERNAL 0x00010 /* Don't show even to #1 */
#define AF_NOCMD 0x00020 /* Don't create a @ command for it */
#define AF_LOCK 0x00040 /* Attribute is locked */
#define AF_DELETED 0x00080 /* Attribute should be ignored */
#define AF_NOPROG 0x00100 /* Don't process $-commands from this attr */
#define AF_GOD 0x00200 /* Only #1 can change it */
#define AF_IS_LOCK 0x00400 /* Attribute is a lock */
#define AF_VISUAL 0x00800 /* Anyone can see */
#define AF_PRIVATE 0x01000 /* Not inherited by children */
#define AF_DIRTY 0x02000 /* This attribute has been compiled. */
#define AF_REGEXP 0x08000 /* Do a regexp rather than wildcard match */
#define AF_ISUSED 0x10000 /* Used to make efficient sweeps of stale attributes */
#define A_OSUCC 1 /* Others success message */
#define A_OFAIL 2 /* Others fail message */
#define A_FAIL 3 /* Invoker fail message */
#define A_SUCC 4 /* Invoker success message */
#define A_PASS 5 /* Password (only meaningful for players) */
#define A_DESC 6 /* Description */
#define A_SEX 7 /* Sex */
#define A_ODROP 8 /* Others drop message */
#define A_DROP 9 /* Invoker drop message */
#define A_OKILL 10 /* Others kill message */
#define A_KILL 11 /* Invoker kill message */
#define A_ASUCC 12 /* Success action list */
#define A_AFAIL 13 /* Failure action list */
#define A_ADROP 14 /* Drop action list */
#define A_AKILL 15 /* Kill action list */
#define A_AUSE 16 /* Use action list */
#define A_CHARGES 17 /* Number of charges remaining */
#define A_RUNOUT 18 /* Actions done when no more charges */
#define A_STARTUP 19 /* Actions run when game started up */
#define A_ACLONE 20 /* Actions run when obj is cloned */
#define A_APAY 21 /* Actions run when given COST pennies */
#define A_OPAY 22 /* Others pay message */
#define A_PAY 23 /* Invoker pay message */
#define A_COST 24 /* Number of pennies needed to invoke xPAY */
#define A_MONEY 25 /* Value or Wealth (internal) */
#define A_LISTEN 26 /* (Wildcarded) string to listen for */
#define A_AAHEAR 27 /* Actions to do when anyone says LISTEN str */
#define A_AMHEAR 28 /* Actions to do when I say LISTEN str */
#define A_AHEAR 29 /* Actions to do when others say LISTEN str */
#define A_LAST 30 /* Date/time of last login (players only) */
#define A_QUEUEMAX 31 /* Max. # of entries obj has in the queue */
#define A_IDESC 32 /* Inside description (ENTER to get inside) */
#define A_ENTER 33 /* Invoker enter message */
#define A_OXENTER 34 /* Others enter message in dest */
#define A_AENTER 35 /* Enter action list */
#define A_ADESC 36 /* Describe action list */
#define A_ODESC 37 /* Others describe message */
#define A_RQUOTA 38 /* Relative object quota */
#define A_ACONNECT 39 /* Actions run when player connects */
#define A_ADISCONNECT 40 /* Actions run when player disconnectes */
#define A_ALLOWANCE 41 /* Daily allowance, if diff from default */
#define A_LOCK 42 /* Object lock */
#define A_NAME 43 /* Object name */
#define A_COMMENT 44 /* Wizard-accessable comments */
#define A_USE 45 /* Invoker use message */
#define A_OUSE 46 /* Others use message */
#define A_SEMAPHORE 47 /* Semaphore control info */
#define A_TIMEOUT 48 /* Per-user disconnect timeout */
#define A_QUOTA 49 /* Absolute quota (to speed up @quota) */
#define A_LEAVE 50 /* Invoker leave message */
#define A_OLEAVE 51 /* Others leave message in src */
#define A_ALEAVE 52 /* Leave action list */
#define A_OENTER 53 /* Others enter message in src */
#define A_OXLEAVE 54 /* Others leave message in dest */
#define A_MOVE 55 /* Invoker move message */
#define A_OMOVE 56 /* Others move message */
#define A_AMOVE 57 /* Move action list */
#define A_ALIAS 58 /* Alias for player names */
#define A_LENTER 59 /* ENTER lock */
#define A_LLEAVE 60 /* LEAVE lock */
#define A_LPAGE 61 /* PAGE lock */
#define A_LUSE 62 /* USE lock */
#define A_LGIVE 63 /* Give lock (who may give me away?) */
#define A_EALIAS 64 /* Alternate names for ENTER */
#define A_LALIAS 65 /* Alternate names for LEAVE */
#define A_EFAIL 66 /* Invoker entry fail message */
#define A_OEFAIL 67 /* Others entry fail message */
#define A_AEFAIL 68 /* Entry fail action list */
#define A_LFAIL 69 /* Invoker leave fail message */
#define A_OLFAIL 70 /* Others leave fail message */
#define A_ALFAIL 71 /* Leave fail action list */
#define A_REJECT 72 /* Rejected page return message */
#define A_AWAY 73 /* Not_connected page return message */
#define A_IDLE 74 /* Success page return message */
#define A_UFAIL 75 /* Invoker use fail message */
#define A_OUFAIL 76 /* Others use fail message */
#define A_AUFAIL 77 /* Use fail action list */
#define A_PFAIL 78 /* Invoker page fail message */
#define A_TPORT 79 /* Invoker teleport message */
#define A_OTPORT 80 /* Others teleport message in src */
#define A_OXTPORT 81 /* Others teleport message in dst */
#define A_ATPORT 82 /* Teleport action list */
#define A_PRIVS 83 /* Individual permissions */
#define A_LOGINDATA 84 /* Recent login information */
#define A_LTPORT 85 /* Teleport lock (can others @tel to me?) */
#define A_LDROP 86 /* Drop lock (can I be dropped or @tel'ed) */
#define A_LRECEIVE 87 /* Receive lock (who may give me things?) */
#define A_LASTSITE 88 /* Last site logged in from, in cleartext */
#define A_INPREFIX 89 /* Prefix on incoming messages into objects */
#define A_PREFIX 90 /* Prefix used by exits/objects when audible */
#define A_INFILTER 91 /* Filter to zap incoming text into objects */
#define A_FILTER 92 /* Filter to zap text forwarded by audible. */
#define A_LLINK 93 /* Who may link to here */
#define A_LTELOUT 94 /* Who may teleport out from here */
#define A_FORWARDLIST 95 /* Recipients of AUDIBLE output */
#define A_MAILFOLDERS 96 /* @mail folders */
#define A_LUSER 97 /* Spare lock not referenced by server */
#define A_LPARENT 98 /* Who may @parent to me if PARENT_OK set */
#define A_VA 100 /* VA attribute (VB-VZ follow) */
#define A_GFAIL 129 /* Give fail message */
#define A_OGFAIL 130 /* Others give fail message */
#define A_AGFAIL 131 /* Give fail action */
#define A_RFAIL 132 /* Receive fail message */
#define A_ORFAIL 133 /* Others receive fail message */
#define A_ARFAIL 134 /* Receive fail action */
#define A_DFAIL 135 /* Drop fail message */
#define A_ODFAIL 136 /* Others drop fail message */
#define A_ADFAIL 137 /* Drop fail action */
#define A_TFAIL 138 /* Teleport (to) fail message */
#define A_OTFAIL 139 /* Others teleport (to) fail message */
#define A_ATFAIL 140 /* Teleport fail action */
#define A_TOFAIL 141 /* Teleport (from) fail message */
#define A_OTOFAIL 142 /* Others teleport (from) fail message */
#define A_ATOFAIL 143 /* Teleport (from) fail action */
// Optional WoD Realm descriptions.
//
#ifdef WOD_REALMS
#define A_UMBRADESC 145
#define A_WRAITHDESC 146
#define A_FAEDESC 147
#define A_MATRIXDESC 148
#endif
#define A_LASTPAGE 200 /* Player last paged */
#define A_MAIL 201 /* Message echoed to sender */
#define A_AMAIL 202 /* Action taken when mail received */
#define A_SIGNATURE 203 /* Mail signature */
#define A_DAILY 204 /* Daily attribute to be executed */
#define A_MAILTO 205 /* Who is the mail to? */
#define A_MAILMSG 206 /* The mail message itself */
#define A_MAILSUB 207 /* The mail subject */
#define A_MAILCURF 208 /* The current @mail folder */
#define A_LSPEECH 209 /* Speechlocks */
#define A_PROGCMD 210 /* Command for exectution by @prog */
#define A_MAILFLAGS 211 /* Flags for extended mail */
#define A_DESTROYER 212 /* Who is destroying this object? */
#define A_VRML_URL 220 /* URL of the VRML scene for this object */
#define A_HTDESC 221 /* HTML @desc */
// Added by D.Piper (del@delphinian.com) 2000-APR
//
#define A_REASON 222 // Disconnect reason
#ifdef GAME_DOOFERMUX
#define A_REGINFO 223 // Registration Information
#endif // GAME_DOOFERMUX
#define A_CONNINFO 224 // Connection info: (total connected time,
// longest connection last connection, total
// connections, time of logout.
#define A_IDLETMOUT 240 /* Idle message timeout */
#define A_VLIST 252
#define A_LIST 253
#define A_STRUCT 254
#define A_TEMP 255
#define A_USER_START 256 /* Start of user-named attributes */
#define ATR_BUF_CHUNK 100 /* Min size to allocate for attribute buffer */
#define ATR_BUF_INCR 6 /* Max size of one attribute */
#endif