diff options
author | Robert Vollmert <rvollmert@gmx.net> | 2009-10-24 12:42:13 +0200 |
---|---|---|
committer | Robert Vollmert <rvollmert@gmx.net> | 2009-10-24 14:31:30 +0200 |
commit | 394fb595f6d03fa9d266ed28726975e0b59bc798 (patch) | |
tree | 3a84b6c9ced49b07af9212a3447770ae53897ed5 /crawl-ref/source/species.h | |
parent | ea81f9787b7cba7a18ec7c098fcd0fe37fe7daef (diff) | |
download | crawl-ref-394fb595f6d03fa9d266ed28726975e0b59bc798.tar.gz crawl-ref-394fb595f6d03fa9d266ed28726975e0b59bc798.zip |
Extract newgame character restrictions from newgame.cc.
The functions in the new ng-restr.cc are "pure": They don't
access global state; data is passed in via the new and
incomplete newgame_def.
Eventually, new_game should be split into something like
newgame_def choose_game();
that doesn't access "you", and
void setup_game(newgame_def);
that sets up the player.
Also get rid of player_size in favour of player::body_size. Rename
player_size_type to size_part_type since it's not really
player-specific (used in actor::body_size). Move parts of
player_genus, player::has_claws, body_size out into species.cc.
Diffstat (limited to 'crawl-ref/source/species.h')
-rw-r--r-- | crawl-ref/source/species.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crawl-ref/source/species.h b/crawl-ref/source/species.h index d84219847c..6648fda35f 100644 --- a/crawl-ref/source/species.h +++ b/crawl-ref/source/species.h @@ -1,6 +1,20 @@ #ifndef SPECIES_H #define SPECIES_H +enum genus_type +{ + GENPC_DRACONIAN, + GENPC_ELVEN, + GENPC_DWARVEN, + GENPC_OGRE, + GENPC_NONE +}; + +genus_type species_genus(species_type species); +int species_has_claws(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(); @@ -15,5 +29,9 @@ std::string species_name(species_type speci, int level, bool genus = false, bool adj = false); species_type str_to_species(const std::string &species); + +// species_type bounds checking. +bool is_valid_species(species_type); + #endif |