summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/misc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/misc.cc')
-rw-r--r--crawl-ref/source/misc.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index dd5765ecf3..65ad96c77b 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -3154,22 +3154,25 @@ bool stop_attack_prompt(const monsters *mon, bool beam_attack,
return (retval);
}
-bool is_orckind(const actor *act, const monsters *mon)
+bool is_orckind(const actor *act)
{
if (mons_genus(act->mons_species()) == MONS_ORC)
return (true);
- if (act->atype() == ACT_MONSTER
- && mons_is_zombified(mon)
- && mons_genus(mon->base_monster) == MONS_ORC)
+ if (act->atype() == ACT_MONSTER)
{
- return (true);
+ const monsters* mon = dynamic_cast<const monsters*>(act);
+ if (mons_is_zombified(mon)
+ && mons_genus(mon->base_monster) == MONS_ORC)
+ {
+ return (true);
+ }
}
return (false);
}
-bool is_dragonkind(const actor *act, const monsters *mon)
+bool is_dragonkind(const actor *act)
{
if (mons_genus(act->mons_species()) == MONS_DRAGON
|| mons_genus(act->mons_species()) == MONS_DRACONIAN)
@@ -3183,6 +3186,7 @@ bool is_dragonkind(const actor *act, const monsters *mon)
|| you.attribute[ATTR_TRANSFORMATION] == TRAN_SERPENT_OF_HELL);
}
// else the actor is a monster
+ const monsters* mon = dynamic_cast<const monsters*>(act);
if (mon->type == MONS_SERPENT_OF_HELL)
return (true);