#ifndef SPECIES_H #define SPECIES_H enum genus_type { GENPC_DRACONIAN, GENPC_ELVEN, GENPC_ORCISH, GENPC_NONE, }; genus_type species_genus(species_type species); int species_has_claws(species_type species, bool mut_level = false); bool species_is_undead(species_type species); bool species_is_unbreathing(species_type species); bool species_can_swim(species_type species); bool species_likes_water(species_type species); bool species_likes_lava(species_type species); bool species_can_throw_large_rocks(species_type species); size_type species_size(species_type species, size_part_type psize = PSIZE_TORSO); // from newgame.cc species_type get_species(const int index); species_type random_draconian_player_species(); int ng_num_species(); species_type get_species_by_abbrev(const char *abbrev); const char *get_species_abbrev(species_type which_species); // from player.cc string species_name(species_type speci, bool genus = false, bool adj = false); species_type str_to_species(const string &species); monster_type player_species_to_mons_species(species_type species); // species_type bounds checking. bool is_valid_species(species_type); // Is the species valid for a new game? bool is_species_valid_choice(species_type); int species_exp_modifier(species_type species); int species_hp_modifier(species_type species); int species_mp_modifier(species_type species); #endif