6D/
6D/area/
6D/boards/
6D/city/
6D/color/
6D/corpses/
6D/councils/
6D/htowns/
6D/news/
6D/specials/
6D/src/specials/
6D/src/trades/
/* Volk: ALL CLASS DEFINES IN HERE!! Had to do this because of multiclass. Stop changing it idiots. */

#define CLASS_NONE        -1  /* USED DON'T REMOVE! */
#define CLASS_PRIEST       0
#define CLASS_DRUID        1
#define CLASS_MAGE         2
#define CLASS_BAT          3
#define CLASS_WARRIOR      4
#define CLASS_CRUSADER     5
#define CLASS_THIEF        6
#define CLASS_DRAGONLORD   7
#define CLASS_BLACK        8  /* 7-7-96 SB */
#define CLASS_GOLD         9
#define CLASS_SILVER       10
#define CLASS_RED          11
#define CLASS_BLUE         12
#define CLASS_HELLSPAWN    13
#define CLASS_ANGEL        14
#define CLASS_VAMPIRE      15
#define CLASS_MONK         16
#define CLASS_BARD         17
#define CLASS_SHADOWKNIGHT 18
#define CLASS_PSIONIC      19
#define CLASS_HERO         20 // non-dragon remort
#define CLASS_TWOHEADED    21 // Dragon remort
#define CLASS_BALROG       22 // Vampire, Hellspawn remort
#define CLASS_SORCERER     23
#define CLASS_ROGUE        24
#define CLASS_WOLF         25
#define CLASS_OWL          26
#define CLASS_FISH         27
#define CLASS_BEAR         28
#define CLASS_GRYPHON      29
#define CLASS_TREANT       30
#define CLASS_BEAST        31
#define IS_CLASS(ch, name) (ch->Class == name || ch->secondclass == name || ch->thirdclass == name)
#define NOT_FWARRIOR(ch)         ((ch)->Class != 4 && (ch)->Class !=18 && (ch)->Class != 5 && (ch)->Class != 16 && (ch)->Class != 20 )
#define NOT_SWARRIOR(ch)         ((ch)->secondclass != 4 && (ch)->secondclass !=18 && (ch)->secondclass != 5 && (ch)->secondclass != 16 )
#define NOT_TWARRIOR(ch)         ((ch)->thirdclass != 4 && (ch)->thirdclass !=18 && (ch)->thirdclass != 5 && (ch)->thirdclass != 16 )

#define IS_SINGLECLASS(ch)      ((ch)->secondclass == -1 )
#define IS_SECONDCLASS(ch)      ((ch)->secondclass > -1)
#define IS_THIRDCLASS(ch)       ((ch)->thirdclass > -1)

//For remorts. -Taon
#define IS_REMORT(ch) (!IS_NPC(ch)) && ((ch)->Class == CLASS_BALROG || (ch)->Class == CLASS_ROGUE || (ch)->Class == CLASS_SORCERER || (ch)->Class == CLASS_HERO || (ch)->Class == CLASS_TWOHEADED))

#define IS_BLOODCLASS(ch) (!IS_NPC((ch)) && ((ch)->Class == CLASS_VAMPIRE || (ch)->Class == CLASS_HELLSPAWN || (ch)->Class == CLASS_BALROG || (ch)->Class == CLASS_BAT ))
#define IS_MINDFLAYER(ch) (!IS_NPC((ch)) && ((ch)->Class == CLASS_PSIONIC) && ((ch)->race == RACE_MINDFLAYER))
#define IS_DRAGON(ch) ((ch)->race == RACE_DRAGON)
#define IS_VAMPIRE(ch) ((ch)->race == RACE_VAMPIRE && ((ch)->Class == CLASS_VAMPIRE))

/* Volk: Added these for things like gain_mana in update.c and learn_from_success awarding more XP to caster classes.
 * IS_CASTER is a pure caster, while IS_2CASTER is a support caster. */
#define IS_CASTER(ch) ((ch)->Class == CLASS_MAGE || (ch)->Class == CLASS_PSIONIC)
#define IS_2CASTER(ch) ((ch)->Class == CLASS_PRIEST || (ch)->Class == CLASS_DRUID)