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
}
};