summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/godwrath.cc3
-rw-r--r--crawl-ref/source/mon-stuff.cc9
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);
}