summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc31
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