diff options
Diffstat (limited to 'crawl-ref/source/externs.h')
-rw-r--r-- | crawl-ref/source/externs.h | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index 44d6910904..f70b4376c7 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -236,6 +236,9 @@ public: virtual bool alive() const = 0; + virtual bool is_summoned(int* duration = NULL, + int* summon_type = NULL) const = 0; + virtual void moveto(const coord_def &c) = 0; virtual const coord_def& pos() const { return position; } virtual coord_def& pos() { return position; } @@ -253,6 +256,9 @@ public: virtual bool can_pass_through(int x, int y) const; virtual bool can_pass_through(const coord_def &c) const; + virtual bool is_habitable_feat(dungeon_feature_type actual_grid) const = 0; + bool is_habitable(const coord_def &pos) const; + virtual size_type body_size(int psize = PSIZE_TORSO, bool base = false) const = 0; virtual int body_weight() const = 0; @@ -270,6 +276,20 @@ public: } virtual bool has_equipped(equipment_type eq, int sub_type) const; + bool can_wield(const item_def* item, + bool ignore_curse = false, + bool ignore_brand = false, + bool ignore_shield = false, + bool ignore_transform = false) const; + virtual bool can_wield(const item_def &item, + bool ignore_curse = false, + bool ignore_brand = false, + bool ignore_shield = false, + bool ignore_transform = false) const = 0; + virtual bool could_wield(const item_def &item, + bool ignore_brand = false, + bool ignore_transform = false) const = 0; + virtual int hunger_level() const { return HS_ENGORGED; } virtual void make_hungry(int nutrition, bool silent = true) { @@ -968,12 +988,14 @@ public: god_type deity() const; bool alive() const; - + bool is_summoned(int* duration = NULL, int* summon_type = NULL) const; + bool swimming() const; bool submerged() const; bool floundering() const; bool extra_balanced() const; bool can_pass_through_feat(dungeon_feature_type grid) const; + bool is_habitable_feat(dungeon_feature_type actual_grid) const; size_type body_size(int psize = PSIZE_TORSO, bool base = false) const; int body_weight() const; int total_weight() const; @@ -984,6 +1006,15 @@ public: item_def *weapon(int which_attack = -1); item_def *shield(); + bool can_wield(const item_def &item, + bool ignore_curse = false, + bool ignore_brand = false, + bool ignore_shield = false, + bool ignore_transform = false) const; + bool could_wield(const item_def &item, + bool ignore_brand = false, + bool ignore_transform = false) const; + std::string name(description_level_type type, bool force_visible = false) const; std::string pronoun(pronoun_type pro, bool force_visible = false) const; @@ -1314,6 +1345,7 @@ public: bool floundering() const; bool extra_balanced() const; bool can_pass_through_feat(dungeon_feature_type grid) const; + bool is_habitable_feat(dungeon_feature_type actual_grid) const; size_type body_size(int psize = PSIZE_TORSO, bool base = false) const; int body_weight() const; int total_weight() const; @@ -1327,6 +1359,15 @@ public: item_def *missiles(); item_def *shield(); + bool can_wield(const item_def &item, + bool ignore_curse = false, + bool ignore_brand = false, + bool ignore_shield = false, + bool ignore_transform = false) const; + bool could_wield(const item_def &item, + bool ignore_brand = false, + bool ignore_transform = false) const; + int missile_count(); void wield_melee_weapon(int near = -1); void swap_weapons(int near = -1); |