1stMUD4.0/bin/
1stMUD4.0/doc/MPDocs/
1stMUD4.0/player/
1stMUD4.0/win32/
1stMUD4.0/win32/rom/
/**************************************************************************
*  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