diff options
-rw-r--r-- | crawl-ref/source/godwrath.cc | 3 | ||||
-rw-r--r-- | crawl-ref/source/mon-stuff.cc | 9 |
2 files changed, 7 insertions, 5 deletions
diff --git a/crawl-ref/source/godwrath.cc b/crawl-ref/source/godwrath.cc index 0408bb228c..c8b3e6bcae 100644 --- a/crawl-ref/source/godwrath.cc +++ b/crawl-ref/source/godwrath.cc @@ -919,8 +919,7 @@ static bool _jiyva_retribution() mon = choose_random_nearby_monster(0); if (!mon || !mon_can_be_slimified(mon) - || mon->attitude != ATT_HOSTILE - || (mon->god != GOD_NO_GOD && mon->god != GOD_JIYVA)) + || mon->attitude != ATT_HOSTILE) { tries++; continue; diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc index bdd286c9c3..e51a64cb62 100644 --- a/crawl-ref/source/mon-stuff.cc +++ b/crawl-ref/source/mon-stuff.cc @@ -2646,13 +2646,15 @@ bool mon_can_be_slimified(monsters *monster) { const mon_holy_type holi = monster->holiness(); - return (holi == MH_UNDEAD - || holi == MH_NATURAL - && !mons_is_slime(monster)); + return (!(monster->flags & MF_GOD_GIFT) + && (holi == MH_UNDEAD + || holi == MH_NATURAL && !mons_is_slime(monster)) + ); } void slimify_monster(monsters *mon, bool hostile) { + if (mon->holiness() == MH_UNDEAD) monster_polymorph(mon, MONS_DEATH_OOZE); else @@ -2689,6 +2691,7 @@ void slimify_monster(monsters *mon, bool hostile) else mon->attitude = ATT_HOSTILE; + //mon->god = GOD_NO_GOD; // Prevent assertion. mons_make_god_gift(mon, GOD_JIYVA); } |