diff options
author | haranp <haranp@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-05-08 19:29:27 +0000 |
---|---|---|
committer | haranp <haranp@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-05-08 19:29:27 +0000 |
commit | 4693832f9d2a2ece40217c6adadc5855645312fb (patch) | |
tree | 309aae5a3f7b1e126d01fb245bfad62933dde897 /crawl-ref/source/abl-show.h | |
parent | 035aa2aee09dbf78183e61745d0d243af6c01016 (diff) | |
download | crawl-ref-4693832f9d2a2ece40217c6adadc5855645312fb.tar.gz crawl-ref-4693832f9d2a2ece40217c6adadc5855645312fb.zip |
Cleaned up ability handling. It's still rather hacky, but not nearly
as bad as the old horror.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1425 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/abl-show.h')
-rw-r--r-- | crawl-ref/source/abl-show.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/crawl-ref/source/abl-show.h b/crawl-ref/source/abl-show.h index b07940aada..861dfae146 100644 --- a/crawl-ref/source/abl-show.h +++ b/crawl-ref/source/abl-show.h @@ -14,13 +14,15 @@ #ifndef ABLSHOW_H #define ABLSHOW_H +#include "enum.h" + #include <string> #include <vector> // Structure for representing an ability: struct ability_def { - int ability; + ability_type ability; const char * name; unsigned int mp_cost; // magic cost of ability unsigned int hp_cost; // hit point cost of ability @@ -29,22 +31,29 @@ struct ability_def unsigned int flags; // used for additonal cost notices }; -const struct ability_def & get_ability_def( int abil ); +struct talent +{ + ability_type which; + int hotkey; + int fail; + bool is_invocation; +}; -const char * get_ability_name_by_index( char index ); +const struct ability_def & get_ability_def( ability_type abil ); -const std::string make_cost_description( const struct ability_def &abil ); +const char* ability_name(ability_type ability); +const std::string make_cost_description( ability_type ability ); +std::vector<const char*> get_ability_names(); +int choose_ability_menu(const std::vector<talent>& talents); // last updated 12may2000 {dlb} /* *********************************************************************** * called from: acr * *********************************************************************** */ -bool activate_ability( void ); // handles all special abilities now -char show_abilities( void ); -bool generate_abilities( bool check_conf ); -std::string print_abilities( void ); +bool activate_ability(); +std::vector<talent> your_talents( bool check_confused ); -std::vector<const char *> get_ability_names( void ); +std::string print_abilities( void ); void set_god_ability_slots( void ); |