diff options
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r-- | crawl-ref/source/mon-util.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index 3f2f71c123..76718e6c67 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -292,13 +292,16 @@ const mon_resist_def &get_mons_class_resists(int mc) mon_resist_def get_mons_resists(const monsters *mon) { + mon_resist_def resists; if (mon->type == MONS_PLAYER_GHOST || mon->type == MONS_PANDEMONIUM_DEMON) - return (mon->ghost->resists); + resists = (mon->ghost->resists); + else + resists = mon_resist_def(); + + resists |= get_mons_class_resists(mon->type); - mon_resist_def resists = get_mons_class_resists(mon->type); - if ((mons_genus(mon->type) == MONS_DRACONIAN && - mon->type != MONS_DRACONIAN) || - mon->type == MONS_TIAMAT) + if (mons_genus(mon->type) == MONS_DRACONIAN && mon->type != MONS_DRACONIAN + || mon->type == MONS_TIAMAT) { monster_type draco_species = draco_subspecies(mon); if (draco_species != mon->type) |