summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monster.h
diff options
context:
space:
mode:
authorpubby <pubby8@gmail.com>2013-08-31 16:40:44 -0500
committerpubby <pubby8@gmail.com>2013-08-31 16:49:50 -0500
commit65c58ed6ccd53a9a080255ee37e131123ac65e96 (patch)
treed4a3d59267fa5c14ae7573b91f7dac9b66955159 /crawl-ref/source/monster.h
parentc4b51221cd6f40f90127768df0e2e1ad7ed7310e (diff)
parent70ca29ee15926336c0ab2369cb25743a9e510e08 (diff)
downloadcrawl-ref-65c58ed6ccd53a9a080255ee37e131123ac65e96.tar.gz
crawl-ref-65c58ed6ccd53a9a080255ee37e131123ac65e96.zip
Merge branch 'master' into dwants
Conflicts: crawl-ref/docs/crawl_manual.reST crawl-ref/source/abl-show.cc crawl-ref/source/dat/descript/ability.txt crawl-ref/source/delay.cc crawl-ref/source/enum.h crawl-ref/source/main.cc crawl-ref/source/mon-cast.cc crawl-ref/source/mon-gear.cc crawl-ref/source/mon-spll.h crawl-ref/source/mutation-data.h crawl-ref/source/mutation.cc crawl-ref/source/ng-restr.cc crawl-ref/source/ng-setup.cc crawl-ref/source/output.cc crawl-ref/source/player-act.cc crawl-ref/source/player.cc crawl-ref/source/species.cc crawl-ref/source/spl-data.h crawl-ref/source/wiz-you.cc
Diffstat (limited to 'crawl-ref/source/monster.h')
-rw-r--r--crawl-ref/source/monster.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/crawl-ref/source/monster.h b/crawl-ref/source/monster.h
index 8b6440e585..213fd82d2f 100644
--- a/crawl-ref/source/monster.h
+++ b/crawl-ref/source/monster.h
@@ -54,12 +54,11 @@ public:
monster_type base_monster; // zombie base monster, draconian colour
unsigned int number; // #heads (hydra), etc.
int colour;
+ mid_t summoner;
int foe_memory; // how long to 'remember' foe x,y
// once they go out of sight.
- int shield_blocks; // Count of shield blocks this round.
-
god_type god; // What god the monster worships, if
// any.
@@ -238,7 +237,7 @@ public:
item_def *weapon(int which_attack = -1) const;
item_def *launcher();
item_def *missiles();
- item_def *shield();
+ item_def *shield() const;
hands_reqd_type hands_reqd(const item_def &item) const;
@@ -300,10 +299,12 @@ public:
int skill(skill_type skill, int scale = 1, bool real = false) const;
void attacking(actor *other);
+ bool can_go_frenzy() const;
bool can_go_berserk() const;
void go_berserk(bool intentional, bool potion = false);
- void go_frenzy();
+ bool go_frenzy(actor *source);
bool berserk() const;
+ bool berserk_or_insane() const;
bool has_lifeforce() const;
bool can_mutate() const;
bool can_safely_mutate() const;
@@ -367,7 +368,7 @@ public:
bool is_icy() const;
bool is_fiery() const;
bool is_skeletal() const;
- bool is_spiny() const;
+ int spiny_degree() const;
bool paralysed() const;
bool cannot_move() const;
bool cannot_act() const;
@@ -375,7 +376,7 @@ public:
bool confused_by_you() const;
bool caught() const;
bool asleep() const;
- bool backlit(bool check_haloed = true, bool self_halo = true, bool check_corona = true) const;
+ bool backlit(bool check_haloed = true, bool self_halo = true) const;
bool umbra(bool check_haloed = true, bool self_halo = true) const;
int halo_radius2() const;
int silence_radius2() const;
@@ -425,12 +426,12 @@ public:
bool fully_petrify(actor *foe, bool quiet = false);
void slow_down(actor *, int str);
void confuse(actor *, int strength);
- bool drain_exp(actor *, const char* aux = NULL, bool quiet = false,
- int pow = 3);
+ bool drain_exp(actor *, bool quiet = false, int pow = 3);
bool rot(actor *, int amount, int immediate = 0, bool quiet = false);
int hurt(const actor *attacker, int amount,
beam_type flavour = BEAM_MISSILE,
- bool cleanup_dead = true);
+ bool cleanup_dead = true,
+ bool attacker_effects = true);
bool heal(int amount, bool max_too = false);
void blame_damage(const actor *attacker, int amount);
void blink(bool allow_partial_control = true);
@@ -497,6 +498,8 @@ public:
bool is_divine_companion() const;
bool is_projectile() const;
+ // Jumping spiders (jump instead of blink)
+ bool is_jumpy() const;
private:
void init_with(const monster& mons);