00001 #ifndef SPECIES_H 00002 #define SPECIES_H 00003 00004 enum genus_type 00005 { 00006 GENPC_DRACONIAN, 00007 GENPC_ELVEN, 00008 GENPC_DWARVEN, 00009 GENPC_OGREISH, 00010 GENPC_NONE, 00011 }; 00012 00013 genus_type species_genus(species_type species); 00014 int species_has_claws(species_type species, bool mut_level = false); 00015 size_type species_size(species_type species, 00016 size_part_type psize = PSIZE_TORSO); 00017 00018 // from newgame.cc 00019 species_type get_species(const int index); 00020 species_type random_draconian_player_species(); 00021 int ng_num_species(); 00022 species_type get_species_by_abbrev(const char *abbrev); 00023 const char *get_species_abbrev(species_type which_species); 00024 int get_species_index_by_abbrev(const char *abbrev); 00025 int get_species_index_by_name(const char *name); 00026 00027 // from player.cc 00028 std::string species_name(species_type speci, bool genus = false, bool adj = false); 00029 species_type str_to_species(const std::string &species); 00030 00031 monster_type player_species_to_mons_species(species_type species); 00032 00033 // species_type bounds checking. 00034 bool is_valid_species(species_type); 00035 00036 #endif