/*
 * This file is autogenerated, see util/species-gen.py and dat/species/ for
 * more info.
 */
#pragma once

#include "tag-version.h"

enum species_type
{
/*
 * Enums are currently hardcoded, for save compatibility. species_gen.py can
 * create these values itself, by setting `create_enum` true for a particular
 * species, but this is not recommended: species enum order when generated
 * this way may change as new species are added, breaking old saves.
 */
    SP_HUMAN,
#if TAG_MAJOR_VERSION == 34
    SP_HIGH_ELF,
#endif
    SP_DEEP_ELF,
#if TAG_MAJOR_VERSION == 34
    SP_SLUDGE_ELF,
    SP_HALFLING,
    SP_HILL_ORC,
#endif
    SP_KOBOLD,
    SP_MUMMY,
    SP_NAGA,
    SP_ONI,
    SP_TROLL,

    SP_RED_DRACONIAN,
    SP_FIRST_NONBASE_DRACONIAN = SP_RED_DRACONIAN,
    SP_WHITE_DRACONIAN,
    SP_GREEN_DRACONIAN,
    SP_YELLOW_DRACONIAN,
    SP_GREY_DRACONIAN,
    SP_BLACK_DRACONIAN,
    SP_PURPLE_DRACONIAN,
#if TAG_MAJOR_VERSION == 34
    SP_MOTTLED_DRACONIAN,
#endif
    SP_PALE_DRACONIAN,
    SP_LAST_NONBASE_DRACONIAN = SP_PALE_DRACONIAN,
    SP_BASE_DRACONIAN,
#if TAG_MAJOR_VERSION == 34
    SP_CENTAUR,
#endif
    SP_DEMIGOD,
    SP_SPRIGGAN,
    SP_MINOTAUR,
    SP_DEMONSPAWN,
#if TAG_MAJOR_VERSION == 34
    SP_GHOUL,
#endif
    SP_TENGU,
    SP_MERFOLK,
#if TAG_MAJOR_VERSION == 34
    SP_VAMPIRE,
    SP_DEEP_DWARF,
#endif
    SP_FELID,
    SP_OCTOPODE,
    SP_DJINNI,
#if TAG_MAJOR_VERSION == 34
    SP_LAVA_ORC,
#endif
    SP_GARGOYLE,
    SP_FORMICID,
    SP_VINE_STALKER,
    SP_BARACHI,
    SP_GNOLL,
    SP_ARMATAUR,
#if TAG_MAJOR_VERSION == 34
    SP_MAYFLYTAUR,
    SP_METEORAN,
#endif
    SP_MOUNTAIN_DWARF,
    SP_COGLIN,
    SP_POLTERGEIST,
    SP_REVENANT,

    // Auto-generated enums start here
    NUM_SPECIES,

    SP_UNKNOWN  = 100,
    SP_RANDOM   = 101,
    SP_VIABLE   = 102,
};
COMPILE_CHECK(NUM_SPECIES < SP_UNKNOWN);
