/***************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
 *  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
 *                                                                         *
 *  Merc Diku Mud improvments 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          *
 *  benefitting.  We hope that you share your changes too.  What goes      *
 *  around, comes around.                                                  *
 ***************************************************************************/

#define CLASS_MAGE           0
#define CLASS_CLERIC         1
#define CLASS_THIEF          2
#define CLASS_WARRIOR        3
#define CLASS_PALADIN        4
#define CLASS_RANGER         5 
#define CLASS_DRUID          6
#define CLASS_BARBARIAN      7
#define CLASS_WARLOCK        8
#define CLASS_WARLORD        9
#define CLASS_NINJA         10
#define CLASS_HARPER        11
#define CLASS_CRUSADER      12
#define CLASS_PSIONICIST    13
#define CLASS_MONK          14
#define CLASS_DARKKNIGHT    15
#define CLASS_DEATHKNIGHT   16
#define CLASS_LICH          17
#define CLASS_GLADIATOR     18
#define CLASS_REVEREND      19
#define CLASS_WERECUB       20
#define CLASS_WEREBEAR      21

/***************************************************************************
 *                                                                         *
 *                   VALUES OF INTEREST TO AREA BUILDERS                   *
 *                   (Start of section ... start here)                     *
 *                                                                         *
 ***************************************************************************/

/*
 * Well known mob virtual numbers.
 * Defined in #MOBILES.
 */
#define MOB_VNUM_PUFF               1
#define MOB_VNUM_FIDO               3090
#define MOB_VNUM_CITYGUARD          3060
#define MOB_VNUM_VAMPIRE            3404
#define MOB_VNUM_AELEMENT           10
#define MOB_VNUM_MELEMENT           11
#define MOB_VNUM_WELEMENT           12
#define MOB_VNUM_FELEMENT           13
#define MOB_VNUM_UNICORN            16
#define MOB_VNUM_MAMMOTH            17
#define MOB_VNUM_SGIANT             18
#define MOB_VNUM_SDRAGON            19
#define MOB_VNUM_RABBIT             20
#define MOB_VNUM_WARHORSE           21
#define MOB_VNUM_PEGASUS            22
#define MOB_VNUM_WYRM               23
#define MOB_VNUM_SCORPION           24
#define MOB_VNUM_GORDON             25
#define MOB_VNUM_NIGHTMARE          26
#define MOB_VNUM_WYVERN             27
#define MOB_VNUM_UNDEAD_SWARRIOR    28
#define MOB_VNUM_UNDEAD_MUMMY       29
#define MOB_VNUM_UNDEAD_WRAITH      30
#define MOB_VNUM_UNDEAD_VAMPIRE     31
#define MOB_VNUM_DEMON_DECAY        32
#define MOB_VNUM_DEMON_DESTRUCTION  33
#define MOB_VNUM_DEMON_DEATH        34
#define MOB_VNUM_NAMELESS_ONE       35
#define MOB_VNUM_GRIZZLY_CUB        39
#define MOB_VNUM_GRIZZLY_BEAR       40

#define BUILDING_VNUM_LUMBER_MILL   41
#define BUILDING_VNUM_BLACKSMITH    42
#define BUILDING_VNUM_GRANARY       43
#define BUILDING_VNUM_GUARD_TOWER   44
#define BUILDING_VNUM_WEAPONSMITH   45
#define FIRST_BUILDING              41  /* Necessary for IS_BUILDING */
#define LAST_BUILDING               45

/* RT ASCII conversions -- used so we can have letters in this file */

#define A           1
#define B           2
#define C           4
#define D           8
#define E           16
#define F           32
#define G           64
#define H           128

#define I           256
#define J           512
#define K           1024
#define L           2048
#define M           4096
#define N           8192
#define O           16384
#define P           32768

#define Q           65536
#define R           131072
#define S           262144
#define T           524288
#define U           1048576
#define V           2097152
#define W           4194304
#define X           8388608

#define Y           16777216
#define Z           33554432
#define aa          67108864     /* doubled due to conflicts */
#define bb          134217728
#define cc          268435456    
#define dd          536870912
#define ee          1073741824

/*
 * ACT bits for mobs.
 * Used in #MOBILES.
 */
#define ACT_IS_NPC          (A)     /* Auto set for mobs    */
#define ACT_SENTINEL        (B)     /* Stays in one room    */
#define ACT_SCAVENGER       (C)     /* Picks up objects    */
#define ACT_AGGRESSIVE      (F)     /* Attacks PC's        */
#define ACT_STAY_AREA       (G)     /* Won't leave area    */
#define ACT_WIMPY           (H)
#define ACT_PET             (I)     /* Auto set for pets    */
#define ACT_TRAIN           (J)     /* Can train PC's    */
#define ACT_PRACTICE        (K)     /* Can practice PC's    */
#define ACT_RIDABLE         (L)     /* Marble */
#define ACT_UNDEAD          (O)
#define ACT_CLERIC          (Q)
#define ACT_MAGE            (R)
#define ACT_THIEF           (S)
#define ACT_WARRIOR         (T)
#define ACT_NOALIGN         (U)
#define ACT_NOPURGE         (V)
#define ACT_IS_HEALER       (aa)
#define ACT_GAIN            (bb)
#define ACT_UPDATE_ALWAYS   (cc)
#define ACT_TINKER          (dd)    /* Able to repair */


/*
 * Bits for 'affected_by'.
 * Used in #MOBILES.
 */
#define AFF_BLIND               (A)
#define AFF_INVISIBLE           (B)
#define AFF_DETECT_EVIL         (C)
#define AFF_DETECT_INVIS        (D)
#define AFF_DETECT_MAGIC        (E)
#define AFF_DETECT_HIDDEN       (F)
#define AFF_HOLD                (G)     /* Ender */ 
#define AFF_SANCTUARY           (H)

#define AFF_FAERIE_FIRE         (I)
#define AFF_INFRARED            (J)     /*10*/
#define AFF_CURSE               (K)
#define AFF_MERCHANT            (L)     /* Ender */
#define AFF_POISON              (M)
#define AFF_PROTECT             (N)
#define AFF_SENSEDOOR           (O)     /* Ender */
#define AFF_SNEAK               (P)

#define AFF_HIDE                (Q)
#define AFF_SLEEP               (R)
#define AFF_CHARM               (S)
#define AFF_FLYING              (T)     /*20*/
#define AFF_PASS_DOOR           (U)
#define AFF_HASTE               (V)
#define AFF_CALM                (W)
#define AFF_PLAGUE              (X)
#define AFF_WEAKEN              (Y)
#define AFF_DARK_VISION         (Z)
#define AFF_BERSERK             (aa)
#define AFF_SWIM                (bb)
#define AFF_REGENERATION        (cc)
#define AFF_FIRESHIELD          (dd)    /* oyabun */
#define AFF_ETHER               (ee)    /* Ender..no more liao 8P */

/* damage classes */
#define DAM_NONE            0
#define DAM_BASH            1
#define DAM_PIERCE          2
#define DAM_SLASH           3
#define DAM_FIRE            4
#define DAM_COLD            5
#define DAM_LIGHTNING       6
#define DAM_ACID            7
#define DAM_POISON          8
#define DAM_NEGATIVE        9
#define DAM_HOLY            10
#define DAM_ENERGY          11
#define DAM_MENTAL          12
#define DAM_DISEASE         13
#define DAM_DROWNING        14
#define DAM_LIGHT           15
#define DAM_OTHER           16
#define DAM_HARM            17

/* OFF bits for mobiles */
#define OFF_AREA_ATTACK     (A)
#define OFF_BACKSTAB        (B)
#define OFF_BASH            (C)
#define OFF_BERSERK         (D)
#define OFF_DISARM          (E)
#define OFF_DODGE           (F)
#define OFF_FADE            (G)
#define OFF_FAST            (H)
#define OFF_KICK            (I)
#define OFF_KICK_DIRT       (J)
#define OFF_PARRY           (K)
#define OFF_RESCUE          (L)
#define OFF_CKICK           (M)
#define OFF_TRIP            (N)
#define OFF_RAGE            (O)
#define OFF_DRAIN           (P)
#define ASSIST_ALL          (Q)
#define ASSIST_ALIGN        (R)
#define ASSIST_RACE         (S)
#define ASSIST_PLAYERS      (T)
#define ASSIST_GUARD        (U)
#define ASSIST_VNUM         (V)

/* return values for check_imm */
#define IS_NORMAL           0
#define IS_IMMUNE           1
#define IS_RESISTANT        2
#define IS_VULNERABLE       3

/* IMM bits for mobs */
#define IMM_SUMMON          (A)
#define IMM_CHARM           (B)
#define IMM_MAGIC           (C)
#define IMM_WEAPON          (D)
#define IMM_BASH            (E)
#define IMM_PIERCE          (F)
#define IMM_SLASH           (G)
#define IMM_FIRE            (H)
#define IMM_COLD            (I)
#define IMM_LIGHTNING       (J)
#define IMM_ACID            (K)
#define IMM_POISON          (L)
#define IMM_NEGATIVE        (M)
#define IMM_HOLY            (N)
#define IMM_ENERGY          (O)
#define IMM_MENTAL          (P)
#define IMM_DISEASE         (Q)
#define IMM_DROWNING        (R)
#define IMM_LIGHT           (S)
#define IMM_ASSASINATE      (T)
#define IMM_HEALING         (U)
#define IMM_FEAR            (V)
 
/* RES bits for mobs */
#define RES_CHARM           (B)
#define RES_MAGIC           (C)
#define RES_WEAPON          (D)
#define RES_BASH            (E)
#define RES_PIERCE          (F)
#define RES_SLASH           (G)
#define RES_FIRE            (H)
#define RES_COLD            (I)
#define RES_LIGHTNING       (J)
#define RES_ACID            (K)
#define RES_POISON          (L)
#define RES_NEGATIVE        (M)
#define RES_HOLY            (N)
#define RES_ENERGY          (O)
#define RES_MENTAL          (P)
#define RES_DISEASE         (Q)
#define RES_DROWNING        (R)
#define RES_LIGHT           (S)
 
/* VULN bits for mobs */
#define VULN_MAGIC          (C)
#define VULN_WEAPON         (D)
#define VULN_BASH           (E)
#define VULN_PIERCE         (F)
#define VULN_SLASH          (G)
#define VULN_FIRE           (H)
#define VULN_COLD           (I)
#define VULN_LIGHTNING      (J)
#define VULN_ACID           (K)
#define VULN_POISON         (L)
#define VULN_NEGATIVE       (M)
#define VULN_HOLY           (N)
#define VULN_ENERGY         (O)
#define VULN_MENTAL         (P)
#define VULN_DISEASE        (Q)
#define VULN_DROWNING       (R)
#define VULN_LIGHT          (S)
#define VULN_WOOD           (X)
#define VULN_SILVER         (Y)
#define VULN_IRON           (Z)
 
/* body form */
#define FORM_EDIBLE         (A)
#define FORM_POISON         (B)
#define FORM_MAGICAL        (C)
#define FORM_INSTANT_DECAY  (D)
#define FORM_OTHER          (E)     /* defined by material bit */
 
/* actual form */
#define FORM_ANIMAL         (G)
#define FORM_SENTIENT       (H)
#define FORM_UNDEAD         (I)
#define FORM_CONSTRUCT      (J)
#define FORM_MIST           (K)
#define FORM_INTANGIBLE     (L)
 
#define FORM_BIPED          (M)
#define FORM_CENTAUR        (N)
#define FORM_INSECT         (O)
#define FORM_SPIDER         (P)
#define FORM_CRUSTACEAN     (Q)
#define FORM_WORM           (R)
#define FORM_BLOB           (S)
 
#define FORM_MAMMAL         (V)
#define FORM_BIRD           (W)
#define FORM_REPTILE        (X)
#define FORM_SNAKE          (Y)
#define FORM_DRAGON         (Z)
#define FORM_AMPHIBIAN      (aa)
#define FORM_FISH           (bb)
#define FORM_COLD_BLOOD     (cc)    
 
/* body parts */
#define PART_HEAD           (A)
#define PART_ARMS           (B)
#define PART_LEGS           (C)
#define PART_HEART          (D)
#define PART_BRAINS         (E)
#define PART_GUTS           (F)
#define PART_HANDS          (G)
#define PART_FEET           (H)
#define PART_FINGERS        (I)
#define PART_EAR            (J)
#define PART_EYE            (K)
#define PART_LONG_TONGUE    (L)
#define PART_EYESTALKS      (M)
#define PART_TENTACLES      (N)
#define PART_FINS           (O)
#define PART_WINGS          (P)
#define PART_TAIL           (Q)
/* for combat */
#define PART_CLAWS          (U)
#define PART_FANGS          (V)
#define PART_HORNS          (W)
#define PART_SCALES         (X)
#define PART_TUSKS          (Y)


/*
 * Bits for Song sung
 * Zor
 */
#define SUNG_HEALTHY_LIVING     (A)
#define SUNG_SPRITE_DANCE       (B)
#define SUNG_ITCHY_FINGERS      (C)
#define SUNG_ACCURA_ACCURIA     (D)
#define SUNG_MADONNA            (E)
#define SUNG_DISRUPTION         (F)
#define SUNG_BONDAGE            (G)
#define SUNG_SOUND_OF_SILENCE   (H)

/*
 * Sex.
 * Used in #MOBILES.
 */
#define SEX_NEUTRAL     0
#define SEX_MALE        1
#define SEX_FEMALE      2

/* AC types */
#define AC_PIERCE       0
#define AC_BASH         1
#define AC_SLASH        2
#define AC_EXOTIC       3

/* dice */
#define DICE_NUMBER     0
#define DICE_TYPE       1
#define DICE_BONUS      2

/* size */
#define SIZE_TINY       0
#define SIZE_SMALL      1
#define SIZE_MEDIUM     2
#define SIZE_LARGE      3
#define SIZE_HUGE       4
#define SIZE_GIANT      5

/* clan state */
#define CLAN_NODEPOSIT  (A)


/*
 * Well known object virtual numbers.
 * Defined in #OBJECTS.
 */
#define OBJ_VNUM_MONEY_ONE      2
#define OBJ_VNUM_MONEY_SOME     3

#define OBJ_VNUM_CORPSE_NPC     10
#define OBJ_VNUM_CORPSE_PC      11
#define OBJ_VNUM_SEVERED_HEAD   12
#define OBJ_VNUM_TORN_HEART     13
#define OBJ_VNUM_SLICED_ARM     14
#define OBJ_VNUM_SLICED_LEG     15
#define OBJ_VNUM_GUTS           16
#define OBJ_VNUM_BRAINS         17

#define OBJ_VNUM_MUSHROOM       20
#define OBJ_VNUM_LIGHT_BALL     21
#define OBJ_VNUM_SPRING         22
#define OBJ_VNUM_ACID           23
#define OBJ_VNUM_GRASS          24
#define OBJ_VNUM_HERBS          25
#define OBJ_VNUM_DART           26
#define OBJ_VNUM_GOLDBAR        27
#define OBJ_VNUM_SCROLL         28
#define OBJ_VNUM_TMACE          34
#define OBJ_VNUM_PARMOR         45
#define OBJ_VNUM_BOMB           50
#define OBJ_VNUM_WERECUB_PAWS   58   

#define OBJ_VNUM_PIT            3010

#define OBJ_VNUM_SCHOOL_MACE    3700
#define OBJ_VNUM_SCHOOL_DAGGER  3701
#define OBJ_VNUM_SCHOOL_SWORD   3702
#define OBJ_VNUM_SCHOOL_VEST    3703
#define OBJ_VNUM_SCHOOL_SHIELD  3704
#define OBJ_VNUM_SCHOOL_BANNER  3716
#define OBJ_VNUM_MAP            3162



/*
 * Item types.
 * Used in #OBJECTS.
 */
#define ITEM_LIGHT          1
#define ITEM_SCROLL         2
#define ITEM_WAND           3
#define ITEM_STAFF          4
#define ITEM_WEAPON         5
#define ITEM_TREASURE       8
#define ITEM_ARMOR          9
#define ITEM_POTION         10
#define ITEM_CLOTHING       11
#define ITEM_FURNITURE      12
#define ITEM_TRASH          13
#define ITEM_CONTAINER      15
#define ITEM_DRINK_CON      17
#define ITEM_KEY            18
#define ITEM_FOOD           19
#define ITEM_MONEY          20
#define ITEM_BOAT           22
#define ITEM_CORPSE_NPC     23
#define ITEM_CORPSE_PC      24
#define ITEM_FOUNTAIN       25
#define ITEM_PILL           26
#define ITEM_PROTECT        27
#define ITEM_MAP            28
#define ITEM_BOMB           29  /* Marble */
#define ITEM_DART           30  /* SunRunner */
#define ITEM_EGG            31  /* Marble */
#define ITEM_PAWS           32  /* SunRunner */

/*
 * Extra flags.
 * Used in #OBJECTS.
 */
#define ITEM_GLOW           (A)
#define ITEM_HUM            (B)
#define ITEM_DARK           (C)
#define ITEM_LOCK           (D)
#define ITEM_EVIL           (E)
#define ITEM_INVIS          (F)
#define ITEM_MAGIC          (G)
#define ITEM_NODROP         (H)
#define ITEM_BLESS          (I)
#define ITEM_ANTI_GOOD      (J)
#define ITEM_ANTI_EVIL      (K)
#define ITEM_ANTI_NEUTRAL   (L)
#define ITEM_NOREMOVE       (M)
#define ITEM_INVENTORY      (N)
#define ITEM_NOPURGE        (O)
#define ITEM_ROT_DEATH      (P)
#define ITEM_VIS_DEATH      (Q)
#define ITEM_CURSE          (R)
#define ITEM_NOLOCATE       (S)
#define ITEM_HIDDEN         (T)
#define ITEM_QUEST          (U)



/*
 * Wear flags.
 * Used in #OBJECTS.
 */
#define ITEM_TAKE           (A)
#define ITEM_WEAR_FINGER    (B)
#define ITEM_WEAR_NECK      (C)
#define ITEM_WEAR_BODY      (D)
#define ITEM_WEAR_HEAD      (E)
#define ITEM_WEAR_LEGS      (F)
#define ITEM_WEAR_FEET      (G)
#define ITEM_WEAR_HANDS     (H)
#define ITEM_WEAR_ARMS      (I)
#define ITEM_WEAR_SHIELD    (J)
#define ITEM_WEAR_ABOUT     (K)
#define ITEM_WEAR_WAIST     (L)
#define ITEM_WEAR_WRIST     (M)
#define ITEM_WIELD          (N)
#define ITEM_HOLD           (O)
#define ITEM_TWO_HANDS      (P)

/* weapon class */
#define WEAPON_EXOTIC       0
#define WEAPON_SWORD        1
#define WEAPON_DAGGER       2
#define WEAPON_SPEAR        3
#define WEAPON_MACE         4
#define WEAPON_AXE          5
#define WEAPON_FLAIL        6
#define WEAPON_WHIP         7    
#define WEAPON_POLEARM      8

/* weapon types */
#define WEAPON_FLAMING      (A)
#define WEAPON_FROST        (B)
#define WEAPON_VAMPIRIC     (C)
#define WEAPON_SHARP        (D)
#define WEAPON_VORPAL       (E)
#define WEAPON_TWO_HANDS    (F)




/*
 * Apply types (for affects).
 * Used in #OBJECTS.
 */
#define APPLY_NONE          0
#define APPLY_STR           1
#define APPLY_DEX           2
#define APPLY_INT           3
#define APPLY_WIS           4
#define APPLY_CON           5
#define APPLY_SEX           6
#define APPLY_CLASS         7
#define APPLY_LEVEL         8
#define APPLY_AGE           9
#define APPLY_HEIGHT        10
#define APPLY_WEIGHT        11
#define APPLY_MANA          12
#define APPLY_HIT           13
#define APPLY_MOVE          14
#define APPLY_GOLD          15
#define APPLY_EXP           16
#define APPLY_AC            17
#define APPLY_HITROLL       18
#define APPLY_DAMROLL       19
#define APPLY_SAVING_PARA   20
#define APPLY_SAVING_ROD    21
#define APPLY_SAVING_PETRI  22
#define APPLY_SAVING_BREATH 23
#define APPLY_SAVING_SPELL  24


/*
 * Values for Materials
 */
#define ITEM_MATERIAL_WOOD  1  /* SunRunner */


/*
 * Values for containers (value[1]).
 * Used in #OBJECTS.
 */
#define CONT_CLOSEABLE      (A)
#define CONT_PICKPROOF      (B)
#define CONT_CLOSED         (C)
#define CONT_LOCKED         (D)
#define CONT_MAGICLOCKED    (E)


/*
 * Well known room virtual numbers.
 * Defined in #ROOMS.
 */
#define ROOM_VNUM_LIMBO     2
#define ROOM_VNUM_CHAT      1200
#define ROOM_VNUM_TEMPLE    3001
#define ROOM_VNUM_ALTAR     3054
#define ROOM_VNUM_SCHOOL    3700
#define ROOM_VNUM_WARZONE   21001
#define ROOM_VNUM_WARROOM   21011
#define MOB_VNUM_GALLERY    21025
#define ROOM_VNUM_WATCH     3054


/*
 * Room flags.
 * Used in #ROOMS.
 */
#define ROOM_DARK           (A)
#define ROOM_NO_MOB         (C)
#define ROOM_INDOORS        (D)

#define ROOM_NOSAVE         (E)
#define ROOM_NOGATE         (F)
#define ROOM_BANK_ENTRANCE  (G)
#define ROOM_BANK           (H)
#define ROOM_PK_ONLY        (I)
#define ROOM_PRIVATE        (J)
#define ROOM_SAFE           (K)
#define ROOM_SOLITARY       (L)
#define ROOM_PET_SHOP       (M)
#define ROOM_NO_RECALL      (N)
#define ROOM_IMP_ONLY       (O)
#define ROOM_GODS_ONLY      (P)
#define ROOM_HEROES_ONLY    (Q)
#define ROOM_NEWBIES_ONLY   (R)
#define ROOM_LAW            (S)
#define ROOM_NO_FLEE        (T) /* Zor for bard songs */
#define ROOM_HP_2X          (U) /* Zor */
#define ROOM_MANA_2X        (V) /* Zor */
#define ROOM_MV_2X          (W) /* Zor */
#define ROOM_NOWIZCMD       (X)


/*
 * Directions.
 * Used in #ROOMS.
 */
#define DIR_NORTH   0
#define DIR_EAST    1
#define DIR_SOUTH   2
#define DIR_WEST    3
#define DIR_UP      4
#define DIR_DOWN    5



/*
 * Exit flags.
 * Used in #ROOMS.
 */
#define EX_ISDOOR       (A)
#define EX_CLOSED       (B)
#define EX_LOCKED       (C)
#define EX_PICKPROOF    (F)
#define EX_BASHPROOF    (G)
#define EX_NOPASSDOOR   (H)
#define EX_MAGICLOCKED  (I) /* Marble */


/*
 * Sector types.
 * Used in #ROOMS.
 */
#define SECT_INSIDE         0
#define SECT_CITY           1
#define SECT_FIELD          2
#define SECT_FOREST         3
#define SECT_HILLS          4
#define SECT_MOUNTAIN       5
#define SECT_WATER_SWIM     6
#define SECT_WATER_NOSWIM   7
#define SECT_UNDERWATER     8
#define SECT_AIR            9
#define SECT_DESERT         10
#define SECT_MAX            11



/*
 * Equpiment wear locations.
 * Used in #RESETS.
 */
#define WEAR_NONE           -1
#define WEAR_LIGHT          0
#define WEAR_FINGER_L       1
#define WEAR_FINGER_R       2
#define WEAR_NECK_1         3
#define WEAR_NECK_2         4
#define WEAR_BODY           5
#define WEAR_HEAD           6
#define WEAR_LEGS           7
#define WEAR_FEET           8
#define WEAR_HANDS          9
#define WEAR_ARMS           10
#define WEAR_SHIELD         11
#define WEAR_ABOUT          12
#define WEAR_WAIST          13
#define WEAR_WRIST_L        14
#define WEAR_WRIST_R        15
#define WEAR_WIELD          16
#define WEAR_HOLD           17
#define MAX_WEAR            18

/*
 * MobProg - Ender
 */
#define ERROR_PROG          -1
#define IN_FILE_PROG        0
#define ACT_PROG            1
#define SPEECH_PROG         2
#define RAND_PROG           4
#define FIGHT_PROG          8
#define DEATH_PROG          16
#define HITPRCNT_PROG       32
#define ENTRY_PROG          64
#define GREET_PROG          128
#define ALL_GREET_PROG      256
#define GIVE_PROG           512
#define BRIBE_PROG          1024
/*
#define MOB_IN_RM_PROG      2048
*/

/*
 * OBJProg - Ender
 */
#define ERROR_PROG          -1
#define OWEAR_PROG           1
#define OGET_PROG            2
#define OJUNK_PROG           4
#define OEXAM_PROG           8
#define ODROP_PROG          16 
#define OSAY_PROG           32 
#define ORAND_PROG          64
#define OREMOVE_PROG       128 


#define BUILDING_LUMBER_MILL   1
#define BUILDING_BLACKSMITH    2
#define BUILDING_GRANARY       3
#define BUILDING_GUARD_TOWER   4
#define BUILDING_WEAPONSMITH   5

#define CLANSIZE_CAMP          0
#define CLANSIZE_VILLAGE       1
#define CLANSIZE_TOWN          2
#define CLANSIZE_CITY          3
#define CLANSIZE_STRONGHOLD    4
#define CLANSIZE_FORTRESS      5

/***************************************************************************
 *                                                                         *
 *                   VALUES OF INTEREST TO AREA BUILDERS                   *
 *                   (End of this section ... stop here)                   *
 *                                                                         *
 ***************************************************************************/
