/**************************************************************************
* Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, *
* Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. *
* *
* Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael *
* Chastain, Michael Quan, and Mitchell Tse. *
* *
* In order to use any part of this Merc Diku Mud, you must comply with *
* both the original Diku license in 'license.doc' as well the Merc *
* license in 'license.txt'. In particular, you may not remove either of *
* these copyright notices. *
* *
* Much time and thought has gone into this software and you are *
* benefiting. We hope that you share your changes too. What goes *
* around, comes around. *
***************************************************************************
* ROM 2.4 is copyright 1993-1998 Russ Taylor *
* ROM has been brought to you by the ROM consortium *
* Russ Taylor (rtaylor@hypercube.org) *
* Gabrielle Taylor (gtaylor@hypercube.org) *
* Brian Moore (zump@rom.org) *
* By using this code, you have agreed to follow the terms of the *
* ROM license, in the file Rom24/doc/rom.license *
***************************************************************************
* 1stMUD ROM Derivative (c) 2001-2003 by Ryan Jennings *
* http://1stmud.dlmud.com/ <r-jenn@shaw.ca> *
***************************************************************************/
#if !defined(BITS_H)
#define BITS_H
/* Bitvector defines, 64 max, do NOT add more
*/
#define BIT_A ((flag_t) 1 << 0)
#define BIT_B ((flag_t) 1 << 1)
#define BIT_C ((flag_t) 1 << 2)
#define BIT_D ((flag_t) 1 << 3)
#define BIT_E ((flag_t) 1 << 4)
#define BIT_F ((flag_t) 1 << 5)
#define BIT_G ((flag_t) 1 << 6)
#define BIT_H ((flag_t) 1 << 7)
#define BIT_I ((flag_t) 1 << 8)
#define BIT_J ((flag_t) 1 << 9)
#define BIT_K ((flag_t) 1 << 10)
#define BIT_L ((flag_t) 1 << 11)
#define BIT_M ((flag_t) 1 << 12)
#define BIT_N ((flag_t) 1 << 13)
#define BIT_O ((flag_t) 1 << 14)
#define BIT_P ((flag_t) 1 << 15)
#define BIT_Q ((flag_t) 1 << 16)
#define BIT_R ((flag_t) 1 << 17)
#define BIT_S ((flag_t) 1 << 18)
#define BIT_T ((flag_t) 1 << 19)
#define BIT_U ((flag_t) 1 << 20)
#define BIT_V ((flag_t) 1 << 21)
#define BIT_W ((flag_t) 1 << 22)
#define BIT_X ((flag_t) 1 << 23)
#define BIT_Y ((flag_t) 1 << 24)
#define BIT_Z ((flag_t) 1 << 25)
#define BIT_a ((flag_t) 1 << 26)
#define BIT_b ((flag_t) 1 << 27)
#define BIT_c ((flag_t) 1 << 28)
#define BIT_d ((flag_t) 1 << 29)
#define BIT_e ((flag_t) 1 << 30)
#define BIT_f ((flag_t) 1 << 31)
#define BIT_Ax ((flag_t) 1 << 32)
#define BIT_Bx ((flag_t) 1 << 33)
#define BIT_Cx ((flag_t) 1 << 34)
#define BIT_Dx ((flag_t) 1 << 35)
#define BIT_Ex ((flag_t) 1 << 36)
#define BIT_Fx ((flag_t) 1 << 37)
#define BIT_Gx ((flag_t) 1 << 38)
#define BIT_Hx ((flag_t) 1 << 39)
#define BIT_Ix ((flag_t) 1 << 40)
#define BIT_Jx ((flag_t) 1 << 41)
#define BIT_Kx ((flag_t) 1 << 42)
#define BIT_Lx ((flag_t) 1 << 43)
#define BIT_Mx ((flag_t) 1 << 44)
#define BIT_Nx ((flag_t) 1 << 45)
#define BIT_Ox ((flag_t) 1 << 46)
#define BIT_Px ((flag_t) 1 << 47)
#define BIT_Qx ((flag_t) 1 << 48)
#define BIT_Rx ((flag_t) 1 << 49)
#define BIT_Sx ((flag_t) 1 << 50)
#define BIT_Tx ((flag_t) 1 << 51)
#define BIT_Ux ((flag_t) 1 << 52)
#define BIT_Vx ((flag_t) 1 << 53)
#define BIT_Wx ((flag_t) 1 << 54)
#define BIT_Xx ((flag_t) 1 << 55)
#define BIT_Yx ((flag_t) 1 << 56)
#define BIT_Zx ((flag_t) 1 << 57)
#define BIT_ax ((flag_t) 1 << 58)
#define BIT_bx ((flag_t) 1 << 59)
#define BIT_cx ((flag_t) 1 << 60)
#define BIT_dx ((flag_t) 1 << 61)
#define BIT_ex ((flag_t) 1 << 62)
#define BIT_fx ((flag_t) 1 << 63)
#define BAN_NEWBIES (BIT_C)
#define BAN_ALL (BIT_D)
#define BAN_PERMIT (BIT_E)
/*
* Descriptor Flags.
*/
#define DESC_COLOUR (BIT_A)
#define DESC_TELOPT_EOR (BIT_B)
#define DESC_TELOPT_ECHO (BIT_C)
#define DESC_TELOPT_NAWS (BIT_D)
#define DESC_PUEBLO (BIT_E)
#define DESC_MXP (BIT_F) // see www.zuggsoft.com/zmud/mxp.htm
#define DESC_MSP (BIT_G) // see www.zuggsoft.com/zmud/msp.htm
#define DESC_TELOPT_TTYPE (BIT_H)
#define DESC_TELOPT_BINARY (BIT_I)
#define DESC_PORTAL (BIT_J) // see www.gameaxle.com
#define DESC_IMP (BIT_K) // see www.firebolt.com
/*
* TO types for act.
*/
#define TO_ROOM BIT_A
#define TO_NOTVICT BIT_B
#define TO_VICT BIT_C
#define TO_CHAR BIT_D
#define TO_ALL BIT_E
#define TO_DAMAGE BIT_F
#define TO_ZONE BIT_G
#define MUD_WIZLOCK (BIT_A)
#define MUD_NEWLOCK (BIT_B)
#define MUD_LOGALL (BIT_C)
#define NO_DNS_LOOKUPS (BIT_D) // for potential laggy gethostbyaddr
// more global flags here!
/*
* ACT bits for mobs.
* Used in #MOBILES.
*/
#define ACT_IS_NPC (BIT_A) /* Auto set for mobs */
#define ACT_SENTINEL (BIT_B) /* Stays in one room */
#define ACT_SCAVENGER (BIT_C) /* Picks up objects */
#define ACT_AGGRESSIVE (BIT_F) /* Attacks PC's */
#define ACT_STAY_AREA (BIT_G) /* Won't leave area */
#define ACT_WIMPY (BIT_H)
#define ACT_PET (BIT_I) /* Auto set for pets */
#define ACT_TRAIN (BIT_J) /* Can train PC's */
#define ACT_PRACTICE (BIT_K) /* Can practice PC's */
#define ACT_UNDEAD (BIT_O)
#define ACT_CLERIC (BIT_Q)
#define ACT_MAGE (BIT_R)
#define ACT_THIEF (BIT_S)
#define ACT_WARRIOR (BIT_T)
#define ACT_NOALIGN (BIT_U)
#define ACT_NOPURGE (BIT_V)
#define ACT_OUTDOORS (BIT_W)
#define ACT_INDOORS (BIT_Y)
#define ACT_IS_HEALER (BIT_a)
#define ACT_GAIN (BIT_b)
#define ACT_UPDATE_ALWAYS (BIT_c)
#define ACT_IS_CHANGER (BIT_d)
/* OFF bits for mobiles */
#define OFF_AREA_ATTACK (BIT_A)
#define OFF_BACKSTAB (BIT_B)
#define OFF_BASH (BIT_C)
#define OFF_BERSERK (BIT_D)
#define OFF_DISARM (BIT_E)
#define OFF_DODGE (BIT_F)
#define OFF_FADE (BIT_G)
#define OFF_FAST (BIT_H)
#define OFF_KICK (BIT_I)
#define OFF_KICK_DIRT (BIT_J)
#define OFF_PARRY (BIT_K)
#define OFF_RESCUE (BIT_L)
#define OFF_TAIL (BIT_M)
#define OFF_TRIP (BIT_N)
#define OFF_CRUSH (BIT_O)
#define ASSIST_ALL (BIT_P)
#define ASSIST_ALIGN (BIT_Q)
#define ASSIST_RACE (BIT_R)
#define ASSIST_PLAYERS (BIT_S)
#define ASSIST_GUARD (BIT_T)
#define ASSIST_VNUM (BIT_U)
/* IMM bits for mobs */
#define IMM_SUMMON (BIT_A)
#define IMM_CHARM (BIT_B)
#define IMM_MAGIC (BIT_C)
#define IMM_WEAPON (BIT_D)
#define IMM_BASH (BIT_E)
#define IMM_PIERCE (BIT_F)
#define IMM_SLASH (BIT_G)
#define IMM_FIRE (BIT_H)
#define IMM_COLD (BIT_I)
#define IMM_LIGHTNING (BIT_J)
#define IMM_ACID (BIT_K)
#define IMM_POISON (BIT_L)
#define IMM_NEGATIVE (BIT_M)
#define IMM_HOLY (BIT_N)
#define IMM_ENERGY (BIT_O)
#define IMM_MENTAL (BIT_P)
#define IMM_DISEASE (BIT_Q)
#define IMM_DROWNING (BIT_R)
#define IMM_LIGHT (BIT_S)
#define IMM_SOUND (BIT_T)
#define IMM_WOOD (BIT_X)
#define IMM_SILVER (BIT_Y)
#define IMM_IRON (BIT_Z)
/* RES bits for mobs */
#define RES_SUMMON (BIT_A)
#define RES_CHARM (BIT_B)
#define RES_MAGIC (BIT_C)
#define RES_WEAPON (BIT_D)
#define RES_BASH (BIT_E)
#define RES_PIERCE (BIT_F)
#define RES_SLASH (BIT_G)
#define RES_FIRE (BIT_H)
#define RES_COLD (BIT_I)
#define RES_LIGHTNING (BIT_J)
#define RES_ACID (BIT_K)
#define RES_POISON (BIT_L)
#define RES_NEGATIVE (BIT_M)
#define RES_HOLY (BIT_N)
#define RES_ENERGY (BIT_O)
#define RES_MENTAL (BIT_P)
#define RES_DISEASE (BIT_Q)
#define RES_DROWNING (BIT_R)
#define RES_LIGHT (BIT_S)
#define RES_SOUND (BIT_T)
#define RES_WOOD (BIT_X)
#define RES_SILVER (BIT_Y)
#define RES_IRON (BIT_Z)
/* VULN bits for mobs */
#define VULN_SUMMON (BIT_A)
#define VULN_CHARM (BIT_B)
#define VULN_MAGIC (BIT_C)
#define VULN_WEAPON (BIT_D)
#define VULN_BASH (BIT_E)
#define VULN_PIERCE (BIT_F)
#define VULN_SLASH (BIT_G)
#define VULN_FIRE (BIT_H)
#define VULN_COLD (BIT_I)
#define VULN_LIGHTNING (BIT_J)
#define VULN_ACID (BIT_K)
#define VULN_POISON (BIT_L)
#define VULN_NEGATIVE (BIT_M)
#define VULN_HOLY (BIT_N)
#define VULN_ENERGY (BIT_O)
#define VULN_MENTAL (BIT_P)
#define VULN_DISEASE (BIT_Q)
#define VULN_DROWNING (BIT_R)
#define VULN_LIGHT (BIT_S)
#define VULN_SOUND (BIT_T)
#define VULN_WOOD (BIT_X)
#define VULN_SILVER (BIT_Y)
#define VULN_IRON (BIT_Z)
/* body form */
#define FORM_EDIBLE (BIT_A)
#define FORM_POISON (BIT_B)
#define FORM_MAGICAL (BIT_C)
#define FORM_INSTANT_DECAY (BIT_D)
#define FORM_OTHER (BIT_E) /* defined by material bit */
/* actual form */
#define FORM_ANIMAL (BIT_G)
#define FORM_SENTIENT (BIT_H)
#define FORM_UNDEAD (BIT_I)
#define FORM_CONSTRUCT (BIT_J)
#define FORM_MIST (BIT_K)
#define FORM_INTANGIBLE (BIT_L)
#define FORM_BIPED (BIT_M)
#define FORM_CENTAUR (BIT_N)
#define FORM_INSECT (BIT_O)
#define FORM_SPIDER (BIT_P)
#define FORM_CRUSTACEAN (BIT_Q)
#define FORM_WORM (BIT_R)
#define FORM_BLOB (BIT_S)
#define FORM_MAMMAL (BIT_V)
#define FORM_BIRD (BIT_W)
#define FORM_REPTILE (BIT_X)
#define FORM_SNAKE (BIT_Y)
#define FORM_DRAGON (BIT_Z)
#define FORM_AMPHIBIAN (BIT_a)
#define FORM_FISH (BIT_b)
#define FORM_COLD_BLOOD (BIT_c)
/* body parts */
#define PART_HEAD (BIT_A)
#define PART_ARMS (BIT_B)
#define PART_LEGS (BIT_C)
#define PART_HEART (BIT_D)
#define PART_BRAINS (BIT_E)
#define PART_GUTS (BIT_F)
#define PART_HANDS (BIT_G)
#define PART_FEET (BIT_H)
#define PART_FINGERS (BIT_I)
#define PART_EAR (BIT_J)
#define PART_EYE (BIT_K)
#define PART_LONG_TONGUE (BIT_L)
#define PART_EYESTALKS (BIT_M)
#define PART_TENTACLES (BIT_N)
#define PART_FINS (BIT_O)
#define PART_WINGS (BIT_P)
#define PART_TAIL (BIT_Q)
/* for combat */
#define PART_CLAWS (BIT_U)
#define PART_FANGS (BIT_V)
#define PART_HORNS (BIT_W)
#define PART_SCALES (BIT_X)
#define PART_TUSKS (BIT_Y)
/*
* Bits for 'affected_by'.
* Used in #MOBILES.
*/
#define AFF_BLIND (BIT_A)
#define AFF_INVISIBLE (BIT_B)
#define AFF_DETECT_EVIL (BIT_C)
#define AFF_DETECT_INVIS (BIT_D)
#define AFF_DETECT_MAGIC (BIT_E)
#define AFF_DETECT_HIDDEN (BIT_F)
#define AFF_DETECT_GOOD (BIT_G)
#define AFF_SANCTUARY (BIT_H)
#define AFF_FAERIE_FIRE (BIT_I)
#define AFF_INFRARED (BIT_J)
#define AFF_CURSE (BIT_K)
#define AFF_UNUSED_FLAG (BIT_L) /* unused */
#define AFF_POISON (BIT_M)
#define AFF_PROTECT_EVIL (BIT_N)
#define AFF_PROTECT_GOOD (BIT_O)
#define AFF_SNEAK (BIT_P)
#define AFF_HIDE (BIT_Q)
#define AFF_SLEEP (BIT_R)
#define AFF_CHARM (BIT_S)
#define AFF_FLYING (BIT_T)
#define AFF_PASS_DOOR (BIT_U)
#define AFF_HASTE (BIT_V)
#define AFF_CALM (BIT_W)
#define AFF_PLAGUE (BIT_X)
#define AFF_WEAKEN (BIT_Y)
#define AFF_DARK_VISION (BIT_Z)
#define AFF_BERSERK (BIT_a)
#define AFF_SWIM (BIT_b)
#define AFF_REGENERATION (BIT_c)
#define AFF_SLOW (BIT_d)
/*
* Extra flags.
* Used in #OBJECTS.
*/
#define ITEM_GLOW (BIT_A)
#define ITEM_HUM (BIT_B)
#define ITEM_DARK (BIT_C)
#define ITEM_LOCK (BIT_D)
#define ITEM_EVIL (BIT_E)
#define ITEM_INVIS (BIT_F)
#define ITEM_MAGIC (BIT_G)
#define ITEM_NODROP (BIT_H)
#define ITEM_BLESS (BIT_I)
#define ITEM_ANTI_GOOD (BIT_J)
#define ITEM_ANTI_EVIL (BIT_K)
#define ITEM_ANTI_NEUTRAL (BIT_L)
#define ITEM_NOREMOVE (BIT_M)
#define ITEM_INVENTORY (BIT_N)
#define ITEM_NOPURGE (BIT_O)
#define ITEM_ROT_DEATH (BIT_P)
#define ITEM_VIS_DEATH (BIT_Q)
#define ITEM_AUCTIONED (BIT_R)
#define ITEM_NONMETAL (BIT_S)
#define ITEM_NOLOCATE (BIT_T)
#define ITEM_MELT_DROP (BIT_U)
#define ITEM_HAD_TIMER (BIT_V)
#define ITEM_SELL_EXTRACT (BIT_W)
#define ITEM_BURN_PROOF (BIT_Y)
#define ITEM_NOUNCURSE (BIT_Z)
#define ITEM_QUEST (BIT_a)
/*
* Wear flags.
* Used in #OBJECTS.
*/
#define ITEM_TAKE (BIT_A)
#define ITEM_WEAR_FINGER (BIT_B)
#define ITEM_WEAR_NECK (BIT_C)
#define ITEM_WEAR_BODY (BIT_D)
#define ITEM_WEAR_HEAD (BIT_E)
#define ITEM_WEAR_LEGS (BIT_F)
#define ITEM_WEAR_FEET (BIT_G)
#define ITEM_WEAR_HANDS (BIT_H)
#define ITEM_WEAR_ARMS (BIT_I)
#define ITEM_WEAR_SHIELD (BIT_J)
#define ITEM_WEAR_ABOUT (BIT_K)
#define ITEM_WEAR_WAIST (BIT_L)
#define ITEM_WEAR_WRIST (BIT_M)
#define ITEM_WIELD (BIT_N)
#define ITEM_HOLD (BIT_O)
#define ITEM_NO_SAC (BIT_P)
#define ITEM_WEAR_FLOAT (BIT_Q)
/* weapon types */
#define WEAPON_FLAMING (BIT_A)
#define WEAPON_FROST (BIT_B)
#define WEAPON_VAMPIRIC (BIT_C)
#define WEAPON_SHARP (BIT_D)
#define WEAPON_VORPAL (BIT_E)
#define WEAPON_TWO_HANDS (BIT_F)
#define WEAPON_SHOCKING (BIT_G)
#define WEAPON_POISON (BIT_H)
/* gate flags */
#define GATE_NORMAL_EXIT (BIT_A)
#define GATE_NOCURSE (BIT_B)
#define GATE_GOWITH (BIT_C)
#define GATE_BUGGY (BIT_D)
#define GATE_RANDOM (BIT_E)
/* furniture flags */
#define STAND_AT (BIT_A)
#define STAND_ON (BIT_B)
#define STAND_IN (BIT_C)
#define SIT_AT (BIT_D)
#define SIT_ON (BIT_E)
#define SIT_IN (BIT_F)
#define REST_AT (BIT_G)
#define REST_ON (BIT_H)
#define REST_IN (BIT_I)
#define SLEEP_AT (BIT_J)
#define SLEEP_ON (BIT_K)
#define SLEEP_IN (BIT_L)
#define PUT_AT (BIT_M)
#define PUT_ON (BIT_N)
#define PUT_IN (BIT_O)
#define PUT_INSIDE (BIT_P)
/*
* Room flags.
* Used in #ROOMS.
*/
#define ROOM_DARK (BIT_A)
#define HOME_ENTRANCE (BIT_B)
#define ROOM_NO_MOB (BIT_C)
#define ROOM_INDOORS (BIT_D)
#define ROOM_ARENA (BIT_E)
#define ROOM_BANK (BIT_F)
#define ROOM_PRIVATE (BIT_J)
#define ROOM_SAFE (BIT_K)
#define ROOM_SOLITARY (BIT_L)
#define ROOM_PET_SHOP (BIT_M)
#define ROOM_NO_RECALL (BIT_N)
#define ROOM_IMP_ONLY (BIT_O)
#define ROOM_GODS_ONLY (BIT_P)
#define ROOM_HEROES_ONLY (BIT_Q)
#define ROOM_NEWBIES_ONLY (BIT_R)
#define ROOM_LAW (BIT_S)
#define ROOM_NOWHERE (BIT_T)
#define ROOM_NOEXPLORE (BIT_U)
#define ROOM_NOAUTOMAP (BIT_V)
/*
* Exit flags.
* Used in #ROOMS.
*/
#define EX_ISDOOR (BIT_A)
#define EX_CLOSED (BIT_B)
#define EX_LOCKED (BIT_C)
#define EX_PICKPROOF (BIT_F)
#define EX_NOPASS (BIT_G)
#define EX_EASY (BIT_H)
#define EX_HARD (BIT_I)
#define EX_INFURIATING (BIT_J)
#define EX_NOCLOSE (BIT_K)
#define EX_NOLOCK (BIT_L)
#define EX_TEMP (BIT_M)
/*
* ACT bits for players.
*/
#define PLR_IS_NPC (BIT_A) /* Don't EVER set. */
#define PLR_AUTOMAP (BIT_B)
/* RT auto flags */
#define PLR_AUTOASSIST (BIT_C)
#define PLR_AUTOEXIT (BIT_D)
#define PLR_AUTOLOOT (BIT_E)
#define PLR_AUTOSAC (BIT_F)
#define PLR_AUTOGOLD (BIT_G)
#define PLR_AUTOSPLIT (BIT_H)
#define PLR_AUTOPROMPT (BIT_I)
#define PLR_AUTODAMAGE (BIT_K)
/* RT personal flags */
#define PLR_HOLYLIGHT (BIT_N)
#define PLR_CANLOOT (BIT_P)
#define PLR_NOSUMMON (BIT_Q)
#define PLR_NOFOLLOW (BIT_R)
/* 2 bits reserved, S-T */
/* penalty flags */
#define PLR_PERMIT (BIT_U)
#define PLR_LOG (BIT_W)
#define PLR_DENY (BIT_X)
#define PLR_FREEZE (BIT_Y)
#define PLR_THIEF (BIT_Z)
#define PLR_KILLER (BIT_a)
#define PLR_QUESTOR (BIT_b)
#define PLR_REMORT (BIT_c)
/* RT comm flags -- may be used on both mobs and chars */
#define COMM_QUIET (BIT_A)
#define COMM_DEAF (BIT_B)
#define COMM_NOWIZ (BIT_C)
#define COMM_NOAUCTION (BIT_D)
#define COMM_NOGOSSIP (BIT_E)
#define COMM_NOQUESTION (BIT_F)
#define COMM_NOMUSIC (BIT_G)
#define COMM_NOCLAN (BIT_H)
#define COMM_NOQUOTE (BIT_I)
#define COMM_SHOUTSOFF (BIT_J)
#define COMM_NOCOLOUR (BIT_K)
/* display flags */
#define COMM_COMPACT (BIT_L)
#define COMM_BRIEF (BIT_M)
#define COMM_PROMPT (BIT_N)
#define COMM_COMBINE (BIT_O)
#define COMM_TELNET_GA (BIT_P)
#define COMM_SHOW_AFFECTS (BIT_Q)
#define COMM_NOGRATS (BIT_R)
#define COMM_TELNET_EOR (BIT_S) /* End Of Record - from telnet negotiation */
/* penalties */
#define COMM_NOEMOTE (BIT_T)
#define COMM_NOSHOUT (BIT_U)
#define COMM_NOTELL (BIT_V)
#define COMM_NOCHANNELS (BIT_W)
#define COMM_SNOOP_PROOF (BIT_Y)
#define COMM_AFK (BIT_Z)
#define COMM_NOGOCIAL (BIT_a)
#define COMM_NOOOC (BIT_b)
#define COMM_NOBUDDY (BIT_c)
/* WIZnet flags */
#define WIZ_ON (BIT_A)
#define WIZ_TICKS (BIT_B)
#define WIZ_LOGINS (BIT_C)
#define WIZ_SITES (BIT_D)
#define WIZ_LINKS (BIT_E)
#define WIZ_DEATHS (BIT_F)
#define WIZ_RESETS (BIT_G)
#define WIZ_MOBDEATHS (BIT_H)
#define WIZ_FLAGS (BIT_I)
#define WIZ_PENALTIES (BIT_J)
#define WIZ_SACCING (BIT_K)
#define WIZ_LEVELS (BIT_L)
#define WIZ_SECURE (BIT_M)
#define WIZ_SWITCHES (BIT_N)
#define WIZ_SNOOPS (BIT_O)
#define WIZ_RESTORE (BIT_P)
#define WIZ_LOAD (BIT_Q)
#define WIZ_NEWBIE (BIT_R)
#define WIZ_PREFIX (BIT_S)
#define WIZ_SPAM (BIT_T)
#define WIZ_BUGS (BIT_U)
#define WIZ_TELNET (BIT_V)
#define WIZ_CHANSNOOP (BIT_W)
#define IGNORE_CHANNELS (BIT_A)
#define IGNORE_LEVELS (BIT_B)
#define IGNORE_NOTES (BIT_C)
#define IGNORE_TELLS (BIT_D)
#define IGNORE_ANNOUNCE (BIT_E)
#define IGNORE_SOCIALS (BIT_F)
#define IGNORE_ALL (BIT_G)
#define IGNORE_SAY (BIT_H)
#define INFO_ALL (BIT_A)
#define INFO_QUIET (BIT_B)
#define INFO_LOGIN (BIT_C)
#define INFO_LOGOUT (BIT_D)
#define INFO_DEATH (BIT_E)
#define INFO_NOTE (BIT_F)
#define INFO_LEVEL (BIT_G)
#define INFO_PRIVATE (BIT_H)
#define INFO_WAR (BIT_I)
#define INFO_GQUEST (BIT_J)
#define INFO_AUCTION (BIT_K)
#define INFO_ARENA (BIT_L)
/*
* MOBprog definitions
*/
#define TRIG_ACT (BIT_A)
#define TRIG_BRIBE (BIT_B)
#define TRIG_DEATH (BIT_C)
#define TRIG_ENTRY (BIT_D)
#define TRIG_FIGHT (BIT_E)
#define TRIG_GIVE (BIT_F)
#define TRIG_GREET (BIT_G)
#define TRIG_GRALL (BIT_H)
#define TRIG_KILL (BIT_I)
#define TRIG_HPCNT (BIT_J)
#define TRIG_RANDOM (BIT_K)
#define TRIG_SPEECH (BIT_L)
#define TRIG_EXIT (BIT_M)
#define TRIG_EXALL (BIT_N)
#define TRIG_DELAY (BIT_O)
#define TRIG_SURR (BIT_P)
#define TRIG_GET (BIT_Q)
#define TRIG_DROP (BIT_R)
#define TRIG_SIT (BIT_S)
/*
* Area flags.
*/
#define AREA_NONE 0
#define AREA_CHANGED (BIT_A) /* Area has been modified. */
#define AREA_ADDED (BIT_B) /* Area has been added to. */
#define AREA_LOADING (BIT_C) /* Used for counting in db.c */
#define AREA_PLAYER_HOMES (BIT_D)
#define AREA_CLOSED (BIT_E)
/*
* Values for containers (value[1]).
* Used in #OBJECTS.
*/
#define CONT_CLOSEABLE (BIT_A)
#define CONT_PICKPROOF (BIT_B)
#define CONT_CLOSED (BIT_C)
#define CONT_LOCKED (BIT_D)
#define CONT_PUT_ON (BIT_E)
#endif