diff options
-rw-r--r-- | crawl-ref/source/mon-stuff.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc index 09da57c214..d035182376 100644 --- a/crawl-ref/source/mon-stuff.cc +++ b/crawl-ref/source/mon-stuff.cc @@ -1311,7 +1311,11 @@ static void _hogs_to_humans() for (monster_iterator mi; mi; ++mi) { - if (!mi->type == MONS_HOG) + if (mi->type != MONS_HOG) + continue; + + // Shapeshifters will stop being a hog when they feel like it. + if (mi->is_shapeshifter()) continue; const bool could_see = you.can_see(*mi); @@ -1326,9 +1330,14 @@ static void _hogs_to_humans() else mi->type = (monster_type) (mi->number - 1); + // Keep enchantments. + mon_enchant_list enchantments = mi->enchantments; + mi->number = 0; define_monster(**mi); + mi->enchantments = enchantments; + const bool can_see = you.can_see(*mi); // A monster changing factions while in the arena messes up |