diff options
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r-- | crawl-ref/source/mon-util.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index 8001357055..a0ba09cfc6 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -377,6 +377,18 @@ bool mons_is_stationary(const monsters *mons) return (mons_class_is_stationary(mons->type)); } +bool mons_is_icy(const monsters *mons) +{ + return (mons_is_icy(mons->type)); +} + +bool mons_is_icy(int mtype) +{ + return (mtype == MONS_ICE_BEAST + || mtype == MONS_SIMULACRUM_SMALL + || mtype == MONS_SIMULACRUM_LARGE); +} + bool invalid_monster(const monsters *mons) { return (!mons || mons->type == -1); @@ -2626,6 +2638,12 @@ void monsters::attacking(actor * /* other */) { } +bool monsters::can_go_berserk() const +{ + // Stub + return (false); +} + void monsters::go_berserk(bool /* intentional */) { } @@ -3712,6 +3730,19 @@ void monsters::check_speed() } } +void monsters::mutate() +{ + if (holiness() != MH_NATURAL) + return; + + monster_polymorph(this, RANDOM_MONSTER, 100); +} + +bool monsters::is_icy() const +{ + return (mons_is_icy(type)); +} + ///////////////////////////////////////////////////////////////////////// // mon_enchant |