
# Not used anymore, but it may be interesting or useful in the future:
# this file contains the races definitions INCLUDING the stats per race.

# mass is in KG.
# stats are (stat, stat_class).
# stat ranges from 1 to 100.
# stat_class means: the typical priority this stat is for a certain race (1..5)
# stat_class 1 means it is the most important stat for that race, and that stat may
# get an increase at every level. stat_class 5 means low importance and may get an
# increase every 5 levels only.

class StatType(enum.Enum):
    AGILITY = "agi"
    CHARISMA = "cha"
    INTELLIGENCE = "int"
    LUCK = "lck"
    SPEED = "spd"
    STAMINA = "sta"
    STRENGTH = "str"
    WISDOM = "wis"


_races = {
    'amphibian': {
        'body': BodyType.QUADRUPED,
        'language': 'Batrachian',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (10, 4),
                  'cha': (10, 4),
                  'int': (1, 3),
                  'lck': (21, 3),
                  'spd': (1, 5),
                  'sta': (21, 3),
                  'str': (1, 5),
                  'wis': (43, 1)}},
    'android': {
        'body': BodyType.HUMANOID,
        'language': 'English',
        'mass': 120.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (50, 3),
                  'cha': (50, 2),
                  'int': (50, 1),
                  'lck': (10, 3),
                  'spd': (50, 3),
                  'sta': (50, 4),
                  'str': (50, 4),
                  'wis': (50, 3)}},
    'ape': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Ur',
        'mass': 120.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (30, 5),
                  'cha': (5, 3),
                  'int': (15, 3),
                  'lck': (10, 4),
                  'spd': (30, 5),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (1, 2)}},
    'arachnid': {
        'body': BodyType.INSECTOID,
        'language': 'Arachnid',
        'mass': 0.2,
        'size': BodySize.TINY,
        'stats': {'agi': (43, 1),
                  'cha': (1, 5),
                  'int': (1, 3),
                  'lck': (21, 3),
                  'spd': (31, 2),
                  'sta': (1, 5),
                  'str': (10, 4),
                  'wis': (1, 5)}},
    'artrell': {
        'body': BodyType.INSECTOID,
        'language': 'Artrexcian',
        'mass': 48.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (50, 1),
                  'cha': (1, 4),
                  'int': (10, 4),
                  'lck': (33, 3),
                  'spd': (40, 2),
                  'sta': (10, 3),
                  'str': (10, 3),
                  'wis': (5, 5)}},
    'avidryl': {
        'body': BodyType.WINGED_MAN,
        'language': 'Avidryl',
        'mass': 60.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (50, 1),
                  'cha': (20, 3),
                  'int': (15, 4),
                  'lck': (2, 5),
                  'spd': (20, 3),
                  'sta': (20, 2),
                  'str': (40, 2),
                  'wis': (10, 5)}},
    'balrog': {
        'body': BodyType.WINGED_MAN,
        'language': 'Balrog',
        'mass': 1200.0,
        'size': BodySize.GIGANTIC,
        'stats': {'agi': (40, 1),
                  'cha': (1, 5),
                  'int': (30, 2),
                  'lck': (20, 3),
                  'spd': (30, 2),
                  'sta': (40, 1),
                  'str': (30, 3),
                  'wis': (10, 3)}},
    'bat': {
        'body': BodyType.CHIROPTEROID,
        'language': 'Murcielago',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (10, 2),
                  'cha': (11, 3),
                  'int': (1, 3),
                  'lck': (24, 3),
                  'spd': (52, 3),
                  'sta': (65, 1),
                  'str': (13, 4),
                  'wis': (10, 5)}},
    'bear': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Ursine',
        'mass': 160.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (1, 5),
                  'cha': (21, 3),
                  'int': (15, 3),
                  'lck': (10, 4),
                  'spd': (1, 5),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (31, 2)}},
    'bird': {
        'body': BodyType.AVIAN,
        'language': 'Avian',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (43, 1),
                  'cha': (31, 2),
                  'int': (1, 5),
                  'lck': (21, 3),
                  'spd': (43, 1),
                  'sta': (1, 5),
                  'str': (10, 4),
                  'wis': (10, 4)}},
    'blob': {
        'body': BodyType.SNAKE,
        'language': 'Creosote',
        'mass': 1.6,
        'size': BodySize.SMALL,
        'stats': {'agi': (1, 5),
                  'cha': (1, 5),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (1, 5),
                  'sta': (1, 5),
                  'str': (1, 5),
                  'wis': (1, 5)}},
    'bot': {
        'body': BodyType.ORB,
        'language': 'Bocce',
        'mass': 40.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (50, 3),
                  'cha': (50, 2),
                  'int': (50, 1),
                  'lck': (10, 3),
                  'spd': (50, 3),
                  'sta': (50, 4),
                  'str': (50, 4),
                  'wis': (50, 3)}},
    'bugbear': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Insectursine',
        'mass': 18.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (1, 5),
                  'cha': (21, 3),
                  'int': (21, 3),
                  'lck': (10, 4),
                  'spd': (1, 5),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (31, 2)}},
    'cat': {
        'body': BodyType.QUADRUPED,
        'language': 'Feline',
        'mass': 4.0,
        'size': BodySize.SMALL,
        'stats': {'agi': (43, 1),
                  'cha': (43, 1),
                  'int': (1, 5),
                  'lck': (43, 1),
                  'spd': (31, 2),
                  'sta': (10, 4),
                  'str': (10, 4),
                  'wis': (10, 4)}},
    'centaur': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Centaurian',
        'mass': 120.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (21, 3),
                  'cha': (21, 3),
                  'int': (21, 3),
                  'lck': (43, 1),
                  'spd': (31, 2),
                  'sta': (43, 1),
                  'str': (31, 2),
                  'wis': (31, 2)}},
    'chimera': {
        'body': BodyType.CHIMAERA,
        'language': 'Chimerole',
        'mass': 20.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (31, 2),
                  'cha': (1, 5),
                  'int': (21, 3),
                  'lck': (10, 4),
                  'spd': (43, 1),
                  'sta': (31, 2),
                  'str': (21, 3),
                  'wis': (21, 3)}},
    'cow': {
        'body': BodyType.QUADRUPED,
        'language': 'Bovine',
        'mass': 160.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (1, 5),
                  'cha': (10, 4),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (1, 5),
                  'sta': (43, 1),
                  'str': (31, 2),
                  'wis': (1, 5)}},
    'dark-elf': {
        'body': BodyType.HUMANOID,
        'language': 'Edhellen',
        'mass': 60.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (40, 3),
                  'cha': (35, 2),
                  'int': (65, 1),
                  'lck': (50, 1),
                  'spd': (40, 3),
                  'sta': (30, 3),
                  'str': (25, 4),
                  'wis': (60, 1)}},
    'deer': {
        'body': BodyType.QUADRUPED,
        'language': 'Tier',
        'mass': 120.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (21, 3),
                  'cha': (21, 3),
                  'int': (1, 5),
                  'lck': (10, 4),
                  'spd': (31, 2),
                  'sta': (31, 2),
                  'str': (43, 1),
                  'wis': (1, 5)}},
    'demi-god': {
        'body': BodyType.HUMANOID,
        'language': 'Sublime',
        'mass': 80.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (31, 2),
                  'cha': (31, 2),
                  'int': (31, 2),
                  'lck': (43, 1),
                  'spd': (43, 1),
                  'sta': (31, 2),
                  'str': (31, 2),
                  'wis': (31, 2)}},
    'demon': {
        'body': BodyType.WINGED_MAN,
        'language': 'Demoniac',
        'mass': 10.0,
        'size': BodySize.SOMEWHAT_LARGE,
        'stats': {'agi': (31, 2),
                  'cha': (31, 2),
                  'int': (31, 2),
                  'lck': (43, 1),
                  'spd': (31, 2),
                  'sta': (31, 2),
                  'str': (31, 2),
                  'wis': (10, 4)}},
    'dog': {
        'body': BodyType.QUADRUPED,
        'language': 'Canine',
        'mass': 20.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (21, 3),
                  'cha': (31, 2),
                  'int': (10, 4),
                  'lck': (10, 4),
                  'spd': (21, 3),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (1, 5)}},
    'dragon': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Dragonate',
        'mass': 1600.0,
        'size': BodySize.HUGE,
        'stats': {'agi': (43, 1),
                  'cha': (31, 2),
                  'int': (31, 2),
                  'lck': (43, 1),
                  'spd': (21, 3),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (43, 1)}},
    'dryad': {
        'body': BodyType.HUMANOID,
        'language': 'Vadinho',
        'mass': 4.0,
        'size': BodySize.SMALL,
        'stats': {'agi': (31, 2),
                  'cha': (43, 1),
                  'int': (10, 4),
                  'lck': (31, 2),
                  'spd': (31, 2),
                  'sta': (1, 5),
                  'str': (10, 4),
                  'wis': (31, 2)}},
    'dummy': {
        'body': BodyType.HUMANOID,
        'language': 'Common',
        'mass': 200.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (1, 1),
                  'cha': (1, 1),
                  'int': (1, 1),
                  'lck': (1, 1),
                  'spd': (1, 1),
                  'sta': (1, 1),
                  'str': (1, 1),
                  'wis': (1, 1)}},
    'dwarf': {
        'body': BodyType.HUMANOID,
        'language': 'Malkierien',
        'mass': 8.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (10, 2),
                  'cha': (11, 3),
                  'int': (18, 3),
                  'lck': (60, 1),
                  'spd': (20, 3),
                  'sta': (60, 1),
                  'str': (40, 1),
                  'wis': (20, 3)}},
    'elemental': {
        'body': BodyType.NEBULOUS,
        'language': 'Periodict',
        'mass': 1600.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (21, 3),
                  'cha': (21, 3),
                  'int': (21, 3),
                  'lck': (21, 3),
                  'spd': (21, 3),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (21, 3)}},
    'elephant': {
        'body': BodyType.QUADRUPED,
        'language': 'Pachydermian',
        'mass': 1600.0,
        'size': BodySize.HUGE,
        'stats': {'agi': (1, 5),
                  'cha': (10, 4),
                  'int': (10, 4),
                  'lck': (21, 3),
                  'spd': (10, 4),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (43, 1)}},
    'elf': {
        'body': BodyType.HUMANOID,
        'language': 'Edhellen',
        'mass': 60.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (40, 3),
                  'cha': (40, 1),
                  'int': (50, 1),
                  'lck': (50, 1),
                  'spd': (40, 3),
                  'sta': (20, 4),
                  'str': (15, 5),
                  'wis': (50, 1)}},
    'faerie': {
        'body': BodyType.WINGED_MAN,
        'language': 'Elcharean',
        'mass': 0.2,
        'size': BodySize.TINY,
        'stats': {'agi': (60, 1),
                  'cha': (30, 3),
                  'int': (10, 2),
                  'lck': (30, 2),
                  'spd': (40, 2),
                  'sta': (10, 5),
                  'str': (5, 5),
                  'wis': (15, 2)}},
    'fish': {
        'body': BodyType.FISH,
        'language': 'Ichthine',
        'mass': 8.0,
        'size': BodySize.SMALL,
        'stats': {'agi': (31, 2),
                  'cha': (1, 5),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (21, 3),
                  'sta': (10, 4),
                  'str': (10, 4),
                  'wis': (21, 3)}},
    'gargoyle': {
        'body': BodyType.WINGED_MAN,
        'language': 'Gargoyleish',
        'mass': 120.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (1, 5),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (10, 4),
                  'spd': (10, 4),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (31, 2)}},
    'giant': {
        'body': BodyType.HUMANOID,
        'language': 'Loyavenku',
        'mass': 1600.0,
        'size': BodySize.HUGE,
        'stats': {'agi': (2, 5),
                  'cha': (10, 4),
                  'int': (10, 3),
                  'lck': (5, 4),
                  'spd': (1, 5),
                  'sta': (70, 1),
                  'str': (80, 1),
                  'wis': (1, 5)}},
    'gnoll': {
        'body': BodyType.HUMANOID,
        'language': 'Kaydoch',
        'mass': 48.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (31, 2),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (31, 2),
                  'spd': (21, 3),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (10, 4)}},
    'gnome': {
        'body': BodyType.HUMANOID,
        'language': 'Kaydiyee',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (20, 3),
                  'cha': (1, 5),
                  'int': (50, 1),
                  'lck': (40, 2),
                  'spd': (20, 2),
                  'sta': (10, 4),
                  'str': (30, 3),
                  'wis': (40, 1)}},
    'goblin': {
        'body': BodyType.HUMANOID,
        'language': 'Goblinish',
        'mass': 72.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (43, 1),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (10, 4),
                  'spd': (31, 2),
                  'sta': (43, 1),
                  'str': (21, 3),
                  'wis': (21, 3)}},
    'god': {
        'body': BodyType.NEBULOUS,
        'language': 'Divine',
        'mass': 0.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (43, 1),
                  'cha': (43, 1),
                  'int': (43, 1),
                  'lck': (43, 1),
                  'spd': (43, 1),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (43, 1)}},
    'golem': {
        'body': BodyType.HUMANOID,
        'language': 'Emet',
        'mass': 200.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (21, 3),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (1, 5),
                  'spd': (21, 3),
                  'sta': (31, 2),
                  'str': (43, 1),
                  'wis': (31, 2)}},
    'griffin': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Griffinish',
        'mass': 120.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (31, 2),
                  'cha': (1, 5),
                  'int': (1, 5),
                  'lck': (43, 1),
                  'spd': (31, 2),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (10, 4)}},
    'half-elf': {
        'body': BodyType.HUMANOID,
        'language': 'Edhellen',
        'mass': 60.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (30, 2),
                  'cha': (30, 3),
                  'int': (30, 1),
                  'lck': (30, 4),
                  'spd': (60, 1),
                  'sta': (30, 5),
                  'str': (15, 3),
                  'wis': (30, 2)}},
    'half-orc': {
        'body': BodyType.HUMANOID,
        'language': 'Tangetto',
        'mass': 80.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (2, 1),
                  'cha': (4, 5),
                  'int': (20, 2),
                  'lck': (1, 5),
                  'spd': (70, 1),
                  'sta': (40, 2),
                  'str': (20, 2),
                  'wis': (10, 5)}},
    'halfling': {
        'body': BodyType.HUMANOID,
        'language': 'Duuk',
        'mass': 20.0,
        'size': BodySize.SMALL,
        'stats': {'agi': (40, 2),
                  'cha': (80, 2),
                  'int': (20, 2),
                  'lck': (80, 2),
                  'spd': (30, 1),
                  'sta': (10, 3),
                  'str': (10, 3),
                  'wis': (10, 4)}},
    'hobbit': {
        'body': BodyType.HUMANOID,
        'language': 'Hoboken',
        'mass': 20.0,
        'size': BodySize.SMALL,
        'stats': {'agi': (20, 1),
                  'cha': (33, 3),
                  'int': (20, 2),
                  'lck': (80, 1),
                  'spd': (30, 2),
                  'sta': (20, 2),
                  'str': (10, 4),
                  'wis': (20, 3)}},
    'horse': {
        'body': BodyType.QUADRUPED,
        'language': 'Equine',
        'mass': 240.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (31, 2),
                  'cha': (21, 3),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (31, 2),
                  'sta': (31, 2),
                  'str': (73, 1),
                  'wis': (1, 5)}},
    'human': {
        'body': BodyType.HUMANOID,
        'language': 'English',
        'mass': 72.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (33, 3),
                  'cha': (33, 2),
                  'int': (40, 1),
                  'lck': (20, 3),
                  'spd': (30, 3),
                  'sta': (30, 4),
                  'str': (20, 3),
                  'wis': (40, 3)}},
    'insect': {
        'body': BodyType.INSECTOID,
        'language': 'Insectoid',
        'mass': 0.04,
        'size': BodySize.MINISCULE,
        'stats': {'agi': (31, 2),
                  'cha': (1, 5),
                  'int': (1, 5),
                  'lck': (43, 1),
                  'spd': (43, 1),
                  'sta': (1, 5),
                  'str': (1, 5),
                  'wis': (1, 5)}},
    'kender': {
        'body': BodyType.HUMANOID,
        'language': 'Kendrall',
        'mass': 32.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (40, 3),
                  'cha': (40, 2),
                  'int': (20, 2),
                  'lck': (33, 3),
                  'spd': (50, 1),
                  'sta': (20, 1),
                  'str': (3, 5),
                  'wis': (7, 4)}},
    'klingon': {
        'body': BodyType.HUMANOID,
        'language': 'Tlhinghan',
        'mass': 100.0,
        'size': BodySize.SOMEWHAT_LARGE,
        'stats': {'agi': (30, 2),
                  'cha': (10, 5),
                  'int': (25, 2),
                  'lck': (1, 4),
                  'spd': (30, 3),
                  'sta': (60, 1),
                  'str': (60, 1),
                  'wis': (1, 5)}},
    'kobold': {
        'body': BodyType.HUMANOID,
        'language': 'Yeik',
        'mass': 52.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (21, 3),
                  'cha': (10, 4),
                  'int': (10, 4),
                  'lck': (21, 3),
                  'spd': (21, 3),
                  'sta': (43, 1),
                  'str': (43, 1),
                  'wis': (10, 4)}},
    'lizard': {
        'body': BodyType.QUADRUPED,
        'language': 'Reptilian',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (21, 3),
                  'cha': (10, 4),
                  'int': (1, 5),
                  'lck': (10, 4),
                  'spd': (21, 3),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (1, 5)}},
    'mech': {
        'body': BodyType.HUMANOID,
        'language': 'English',
        'mass': 400.0,
        'size': BodySize.HUGE,
        'stats': {'agi': (50, 3),
                  'cha': (50, 2),
                  'int': (1, 1),
                  'lck': (10, 3),
                  'spd': (50, 3),
                  'sta': (50, 4),
                  'str': (90, 4),
                  'wis': (1, 3)}},
    'nymph': {
        'body': BodyType.HUMANOID,
        'language': 'Nymal',
        'mass': 5.6,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (50, 1),
                  'cha': (80, 1),
                  'int': (25, 4),
                  'lck': (50, 2),
                  'spd': (60, 2),
                  'sta': (7, 5),
                  'str': (3, 5),
                  'wis': (20, 4)}},
    'ogre': {
        'body': BodyType.HUMANOID,
        'language': 'Shangtai',
        'mass': 160.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (1, 5),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (1, 5),
                  'spd': (7, 4),
                  'sta': (68, 1),
                  'str': (50, 1),
                  'wis': (1, 5)}},
    'orc': {
        'body': BodyType.HUMANOID,
        'language': 'Tangetto',
        'mass': 88.0,
        'size': BodySize.SOMEWHAT_LARGE,
        'stats': {'agi': (10, 2),
                  'cha': (1, 5),
                  'int': (10, 3),
                  'lck': (3, 4),
                  'spd': (40, 2),
                  'sta': (30, 2),
                  'str': (35, 1),
                  'wis': (3, 5)}},
    'pegasus': {
        'body': BodyType.QUADRUPED,
        'language': 'Voloquine',
        'mass': 120.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (43, 1),
                  'cha': (43, 1),
                  'int': (21, 3),
                  'lck': (43, 1),
                  'spd': (31, 2),
                  'sta': (31, 2),
                  'str': (31, 2),
                  'wis': (31, 2)}},
    'pig': {
        'body': BodyType.QUADRUPED,
        'language': 'Porcine',
        'mass': 60.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (1, 5),
                  'cha': (1, 5),
                  'int': (15, 2),
                  'lck': (1, 5),
                  'spd': (10, 4),
                  'sta': (43, 1),
                  'str': (21, 3),
                  'wis': (31, 2)}},
    'plant': {
        'body': BodyType.PLANT,
        'language': 'Vegetal',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (1, 5),
                  'cha': (11, 3),
                  'int': (1, 5),
                  'lck': (21, 3),
                  'spd': (1, 5),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (1, 5)}},
    'primate': {
        'body': BodyType.SEMI_BIPEDAL,
        'language': 'Proto',
        'mass': 60.0,
        'size': BodySize.SMALL,
        'stats': {'agi': (21, 3),
                  'cha': (15, 3),
                  'int': (21, 3),
                  'lck': (21, 3),
                  'spd': (21, 3),
                  'sta': (10, 4),
                  'str': (10, 4),
                  'wis': (10, 4)}},
    'replicant': {
        'body': BodyType.HUMANOID,
        'language': 'English',
        'mass': 72.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (40, 3),
                  'cha': (40, 2),
                  'int': (10, 1),
                  'lck': (1, 3),
                  'spd': (40, 3),
                  'sta': (40, 4),
                  'str': (40, 4),
                  'wis': (1, 3)}},
    'rodent': {
        'body': BodyType.QUADRUPED,
        'language': 'Rodentian',
        'mass': 0.4,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (21, 3),
                  'cha': (1, 5),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (31, 2),
                  'sta': (10, 4),
                  'str': (1, 5),
                  'wis': (10, 4)}},
    'satyr': {
        'body': BodyType.HUMANOID,
        'language': 'Wulinaxian',
        'mass': 6.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (50, 2),
                  'cha': (3, 5),
                  'int': (33, 3),
                  'lck': (10, 1),
                  'spd': (5, 2),
                  'sta': (25, 2),
                  'str': (2, 4),
                  'wis': (80, 1)}},
    'sheep': {
        'body': BodyType.QUADRUPED,
        'language': 'Ovine',
        'mass': 40.0,
        'size': BodySize.SOMEWHAT_SMALL,
        'stats': {'agi': (21, 3),
                  'cha': (21, 3),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (10, 4),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (1, 5)}},
    'slug': {
        'body': BodyType.GASTROPOD,
        'language': 'Clavering',
        'mass': 0.12,
        'size': BodySize.VERY_SMALL,
        'stats': {'agi': (1, 5),
                  'cha': (1, 5),
                  'int': (1, 5),
                  'lck': (1, 5),
                  'spd': (1, 5),
                  'sta': (1, 5),
                  'str': (10, 4),
                  'wis': (10, 4)}},
    'snake': {
        'body': BodyType.SNAKE,
        'language': 'Herpetian',
        'mass': 1.6,
        'size': BodySize.SMALL,
        'stats': {'agi': (10, 4),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (43, 1),
                  'spd': (10, 4),
                  'sta': (10, 4),
                  'str': (1, 5),
                  'wis': (31, 2)}},
    'strider': {
        'body': BodyType.HUMANOID,
        'language': 'English',
        'mass': 400.0,
        'size': BodySize.HUGE,
        'stats': {'agi': (50, 1),
                  'cha': (1, 3),
                  'int': (1, 3),
                  'lck': (10, 3),
                  'spd': (90, 1),
                  'sta': (50, 4),
                  'str': (90, 1),
                  'wis': (1, 3)}},
    'tortoise': {
        'body': BodyType.QUADRUPED,
        'language': 'Tortois',
        'mass': 3.6,
        'size': BodySize.SMALL,
        'stats': {'agi': (10, 4),
                  'cha': (10, 4),
                  'int': (21, 3),
                  'lck': (21, 3),
                  'spd': (1, 5),
                  'sta': (43, 1),
                  'str': (1, 5),
                  'wis': (43, 1)}},
    'tree': {
        'body': BodyType.TREE,
        'language': 'Entish',
        'mass': 160.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (1, 5),
                  'cha': (21, 3),
                  'int': (1, 5),
                  'lck': (43, 1),
                  'spd': (1, 5),
                  'sta': (43, 1),
                  'str': (21, 3),
                  'wis': (10, 4)}},
    'troll': {
        'body': BodyType.HUMANOID,
        'language': 'Murdoch',
        'mass': 8.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (10, 2),
                  'cha': (11, 3),
                  'int': (11, 3),
                  'lck': (15, 4),
                  'spd': (20, 3),
                  'sta': (65, 1),
                  'str': (50, 1),
                  'wis': (5, 5)}},
    'unicorn': {
        'body': BodyType.QUADRUPED,
        'language': 'Cornequine',
        'mass': 160.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (31, 2),
                  'cha': (90, 5),
                  'int': (10, 4),
                  'lck': (43, 1),
                  'spd': (21, 3),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (31, 2)}},
    'vehicle': {
        'body': BodyType.ORB,
        'language': 'Bocce',
        'mass': 40.0,
        'size': BodySize.LARGE,
        'stats': {'agi': (50, 3),
                  'cha': (50, 2),
                  'int': (1, 1),
                  'lck': (10, 3),
                  'spd': (50, 3),
                  'sta': (50, 4),
                  'str': (50, 4),
                  'wis': (1, 3)}},
    'viper': {
        'body': BodyType.SNAKE,
        'language': 'Aspish',
        'mass': 1.2,
        'size': BodySize.SMALL,
        'stats': {'agi': (10, 4),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (43, 1),
                  'spd': (10, 4),
                  'sta': (10, 4),
                  'str': (1, 5),
                  'wis': (31, 2)}},
    'vulcan': {
        'body': BodyType.HUMANOID,
        'language': 'Vulcan',
        'mass': 60.0,
        'size': BodySize.HUMAN_SIZED,
        'stats': {'agi': (30, 2),
                  'cha': (1, 5),
                  'int': (70, 1),
                  'lck': (1, 1),
                  'spd': (30, 3),
                  'sta': (30, 1),
                  'str': (30, 5),
                  'wis': (60, 1)}},
    'wraith': {
        'body': BodyType.SPECTRAL,
        'language': 'Revenant',
        'mass': 4.0,
        'size': BodySize.SOMEWHAT_LARGE,
        'stats': {'agi': (31, 2),
                  'cha': (1, 5),
                  'int': (10, 4),
                  'lck': (43, 1),
                  'spd': (21, 3),
                  'sta': (21, 3),
                  'str': (21, 3),
                  'wis': (31, 2)}}
}
