summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/abl-show.h
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-05-08 19:29:27 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-05-08 19:29:27 +0000
commit4693832f9d2a2ece40217c6adadc5855645312fb (patch)
tree309aae5a3f7b1e126d01fb245bfad62933dde897 /crawl-ref/source/abl-show.h
parent035aa2aee09dbf78183e61745d0d243af6c01016 (diff)
downloadcrawl-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.h27
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 );