Race Table Source

/* race table */
const   struct  race_type       race_table      []              =
{
/*
    {
        name,           pc_race?,
        act bits,       aff_by bits,    off bits,
        imm,            res,            vuln,
        form,           parts
    },
*/
    { "unique",         FALSE, 0, 0, 0, 0, 0, 0, 0, A|D|F },

    {
        "human",                TRUE,
        0,              0,              0,
        0,              0,              0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "elf",                  TRUE,
        0,              AFF_INFRARED,   0,
        0,              RES_CHARM,      VULN_IRON,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "dwarf",                TRUE,
        0,              AFF_INFRARED,   0,
        0,              RES_MAGIC|RES_POISON|RES_DISEASE, VULN_DROWNING,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "giant",                TRUE,
        0,              0,              0,
        0,              RES_FIRE|RES_COLD,      VULN_MENTAL|VULN_LIGHTNING,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "dragon",               TRUE,
        0,              0,              0,
        0,              RES_POISON|RES_FIRE|RES_BASH,   0,
        A|C|G|X|Z,      A|C|D|E|F|H|J|K|P|U|V|X|Z
    },

    {
        "hobbit",       TRUE,
        0,              AFF_INFRARED,   0,
        0,              RES_CHARM,      VULN_IRON,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "orc",                  TRUE,
        0,              AFF_INFRARED,   0,
        0,              RES_DISEASE,    VULN_LIGHT,
        A|H|M|cc,       A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "wolf",                 TRUE,
        0,              AFF_DARK_VISION,        OFF_DODGE|OFF_FAST,
        0,              0,              0,
        A|G|V,          A|C|D|E|F|H|J|K|Q|U|V|Z
    },

    {
        "goblin",                  TRUE,
        0,              AFF_INFRARED,   0,
        0,              RES_DISEASE,    VULN_LIGHT|VULN_SILVER,
        A|H|M|cc,       A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "bat",                  FALSE,
        0,              AFF_FLYING|AFF_DARK_VISION,     OFF_DODGE|OFF_FAST,
        0,              0,              VULN_LIGHT,
        A|G|W,          A|C|D|E|F|H|J|K|P|Z
    },

    {
        "bear",                 FALSE,
        0,              0,              OFF_CRUSH|OFF_DISARM|OFF_BERSERK,
        0,              RES_BASH|RES_COLD,      0,
        A|G|V,          A|B|C|D|E|F|H|J|K|U|V|Z
    },

    {
        "cat",                  FALSE,
        0,              AFF_DARK_VISION,        OFF_FAST|OFF_DODGE,
        0,              0,              0,
        A|G|V,          A|C|D|E|F|H|J|K|Q|U|V|Z
    },

    {
        "centipede",            FALSE,
        0,              AFF_DARK_VISION,        0,
        0,              RES_PIERCE|RES_COLD,    VULN_BASH,
        O|Y,  A|F|Q|X
    },

    {
        "dog",                  FALSE,
        0,              0,              OFF_FAST,
        0,              0,              0,
        A|G|V,          A|C|D|E|F|H|J|K|U|V|Z
    },

    {
        "doll",                 FALSE,
        0,              0,              0,
        IMM_MAGIC,      RES_BASH|RES_LIGHT,
        VULN_SLASH|VULN_FIRE|VULN_ACID|VULN_LIGHTNING|VULN_ENERGY,
        E|J|M|cc,       A|B|C|G|H|K|Z
    },

    {
        "fido",                 FALSE,
        0,              0,              OFF_DODGE|ASSIST_RACE,
        0,              0,                      VULN_MAGIC,
        B|G|V,          A|C|D|E|F|H|J|K|Q|V|Z
    },

    {
        "fox",                  FALSE,
        0,              AFF_DARK_VISION,        OFF_FAST|OFF_DODGE,
        0,              0,              0,
        A|G|V,          A|C|D|E|F|H|J|K|Q|U|V|Z
    },

    {
        "hobgoblin",            FALSE,
        0,              AFF_INFRARED,   0,
        0,              RES_DISEASE|RES_POISON, 0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Q|Z   /* includes a tail */
    },

    {
        "kobold",               FALSE,
        0,              AFF_INFRARED,   0,
        0,              RES_POISON,     VULN_MAGIC,
        A|B|H|M|V,      A|B|C|D|E|F|G|H|I|J|K|Q|Z
    },

    {
        "lizard",               FALSE,
        0,              0,              0,
        0,              RES_POISON,     VULN_COLD,
        A|G|X|cc,       A|C|D|E|F|H|K|Q|V|Z
    },

    {
        "modron",               FALSE,
        0,              AFF_INFRARED,           ASSIST_RACE|ASSIST_ALIGN,
        IMM_CHARM|IMM_DISEASE|IMM_MENTAL|IMM_HOLY|IMM_NEGATIVE,
                        RES_FIRE|RES_COLD|RES_ACID,     0,
        H,              A|B|C|G|H|J|K|Z
    },

    {
        "pig",                  FALSE,
        0,              0,              0,
        0,              0,              0,
        A|G|V,          A|C|D|E|F|H|J|K|Z
    },

    {
        "rabbit",               FALSE,
        0,              0,              OFF_DODGE|OFF_FAST,
        0,              0,              0,
        A|D|G|V,                A|C|D|E|F|H|J|K|Z
    },

    {
        "school monster",       FALSE,
        ACT_NOALIGN,            0,              0,
        IMM_CHARM|IMM_SUMMON,   0,              VULN_MAGIC,
        A|M|V,          A|B|C|D|E|F|H|J|K|Q|U|Z
    },

    {
        "snake",                FALSE,
        0,              0,              0,
        0,              RES_POISON,     VULN_COLD,
        A|G|R|X|Y|cc,   A|D|E|F|K|L|Q|V|X|Z
    },

    {
        "song bird",            FALSE,
        0,              AFF_FLYING,             OFF_FAST|OFF_DODGE,
        0,              0,              0,
        A|G|W,          A|C|D|E|F|H|K|P|Z
    },

    {
        "troll",                FALSE,
        0,              AFF_REGENERATION|AFF_INFRARED|AFF_DETECT_HIDDEN,
        OFF_BERSERK,
        0,      RES_CHARM|RES_BASH,     VULN_FIRE|VULN_ACID,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "water fowl",           FALSE,
        0,              AFF_SWIM|AFF_FLYING,    0,
        0,              RES_DROWNING,           0,
        A|G|W,          A|C|D|E|F|H|K|P|Q|Z
    },

    {
        "wyvern",               FALSE,
        0,              AFF_FLYING|AFF_DETECT_INVIS|AFF_DETECT_HIDDEN,
        OFF_BASH|OFF_FAST|OFF_DODGE,
        IMM_POISON,     0,      VULN_LIGHT,
        B|Z|cc,         A|C|D|E|F|H|J|K|P|Q|V|X|Z
    },

    {
        "arachnid",               FALSE,
        0,              AFF_HASTE|AFF_SNEAK|AFF_INFRARED,       OFF_FAST|OFF_PARRY|OFF_DODGE,
        IMM_SUMMON,     RES_CHARM|RES_COLD|RES_POISON|RES_BASH,    0,
        A|B|H|P,          A|C|D|E|F|K|V
    },

    {
        "demon",                FALSE,
        0,              AFF_HASTE|AFF_INFRARED,         OFF_FAST|OFF_PARRY|OFF_DODGE,
        0,              RES_CHARM|RES_MENTAL|RES_POISON,        0,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "undead",               FALSE,
        0,              AFF_SNEAK|AFF_INFRARED|AFF_DETECT_HIDDEN,       OFF_FAST|OFF_PARRY|OFF_DODGE,
        IMM_POISON|IMM_MENTAL|IMM_CHARM,        RES_MAGIC|RES_SLASH|RES_PIERCE,         VULN_BASH,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "draconian",            FALSE,
        0,              AFF_DETECT_HIDDEN|AFF_INFRARED|AFF_FLYING|AFF_REGENERATION,     OFF_BASH|OFF_DISARM|OFF_FAST|OFF_DODG>
        IMM_CHARM,      RES_MAGIC,      0,
        A|C|G|X|Z,      A|C|D|E|F|H|J|K|P|U|V|X|Z
    },

    {
        "smurf",               FALSE,
        0,                     0,              0,
        0,  RES_CHARM,              0,
        A|M|V,          A|B|C|D|E|F|H|J|K|Q|U|Z
    },

    {
        "earth elemental",      FALSE,
        0,      AFF_REGENERATION|AFF_DETECT_HIDDEN,     OFF_BASH|OFF_DISARM,
        IMM_MENTAL,     0,      VULN_FIRE,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "air elemental",        FALSE,
        0,      AFF_REGENERATION|AFF_DETECT_HIDDEN,     OFF_PARRY|OFF_DODGE,
        IMM_MENTAL,     RES_WEAPON|RES_BASH,    0,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "fire elemental",       FALSE,
        0,      AFF_REGENERATION|AFF_DETECT_HIDDEN,     OFF_BASH|OFF_DISARM|OFF_AREA_ATTACK,
        IMM_MENTAL,     RES_BASH,       VULN_COLD,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "water elemental",      FALSE,
        0,      AFF_REGENERATION|AFF_DETECT_HIDDEN,     OFF_BASH|OFF_DISARM|OFF_AREA_ATTACK,
        IMM_MENTAL,     RES_BASH|RES_WEAPON,    0,
        B|M|V,          A|B|C|D|E|F|G|H|I|J|K|U|V|Z
    },

    {
        "plant",        FALSE,
        0,      AFF_REGENERATION,       OFF_DISARM,
        IMM_MENTAL,     RES_POISON|RES_BASH,    VULN_COLD,
        O|Y,  A|F|Q|X
    },

    {
        "fish",         FALSE,
        0,      AFF_REGENERATION|AFF_DETECT_HIDDEN,     OFF_BASH|OFF_TAIL,
        IMM_SUMMON,     RES_CHARM|RES_WEAPON|RES_COLD,  0
    },

    {
        "animal",                FALSE,
        0,              AFF_DETECT_HIDDEN,              OFF_BASH|OFF_TAIL,
        0,              0,              0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "gnome",        FALSE,
        0,              AFF_INFRARED,   0,
        0,              RES_CHARM|RES_MENTAL,      0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "gargoyle",     FALSE,
        0,              AFF_DETECT_HIDDEN|AFF_FLYING,   OFF_TAIL|ASSIST_RACE,
        IMM_POISON,     RES_SLASH|RES_CHARM|RES_MENTAL, VULN_BASH,
        A|C|G|X|Z,      A|C|D|E|F|H|J|K|P|U|V|X|Z
    },

    {
        "shadow",                FALSE,
        0,              AFF_INFRARED|AFF_INVISIBLE|AFF_DETECT_HIDDEN,   OFF_BACKSTAB|OFF_DODGE,
        IMM_MENTAL,     RES_WEAPON,              VULN_LIGHT|VULN_SILVER,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "ogre",         FALSE,
        0,              AFF_INFRARED|AFF_BERSERK,       OFF_BASH|OFF_DISARM,
        0,              0,              0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "minotaur",     FALSE,
        0,              AFF_DETECT_INVIS|AFF_DETECT_HIDDEN,     OFF_BERSERK|OFF_KICK_DIRT,
        0,              RES_CHARM|RES_POISON,           0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K|Z
    },

    {
        "beholder",     FALSE,
        0,              AFF_DETECT_INVIS|AFF_FLYING,            OFF_AREA_ATTACK|OFF_DODGE|OFF_BASH,
        IMM_SUMMON|IMM_CHARM,   RES_MAGIC,              VULN_LIGHT,
        A|C|S,          E|F|K|M|V|Z
    },

    {
        "rat",          FALSE,
        0,              AFF_DARK_VISION,        OFF_FAST|OFF_DODGE,
        0,              0,              0,
        A|G|V,          A|C|D|E|F|H|J|K|Q|U|V|Z
    },

    {
        NULL, 0, 0, 0, 0, 0, 0
    }
};