summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/mon-data.h2
-rw-r--r--crawl-ref/source/monster.cc9
2 files changed, 10 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index dd62fd3c76..264c067527 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -3119,7 +3119,7 @@ static monsterentry mondata[] = {
{
MONS_HELL_KNIGHT, '@', RED, "hell knight",
M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
- mrd(MR_RES_FIRE, 2),
+ MR_RES_FIRE | MR_RES_HELLFIRE,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 6, 0 },
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index 924042a1ff..f7abb19d6b 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -2892,6 +2892,15 @@ bool monsters::is_evil() const
return (true);
}
+ // Assume that no natural creatures resist hellfire, except by evil
+ // means.
+ if (holiness() == MH_NATURAL)
+ {
+ const mon_resist_def res = get_mons_resists(this);
+ if (res.hellfire)
+ return (true);
+ }
+
return (false);
}