summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-27 08:44:34 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-27 08:44:34 +0000
commit40fa9db0730383e3fa018999dc8e64208b2d12f5 (patch)
tree715b0aacb4208159f8731f66e4f6aaa10ea54c15
parent9ba7349f93aeca1bb45a083235f3576f5096a995 (diff)
downloadcrawl-ref-40fa9db0730383e3fa018999dc8e64208b2d12f5.tar.gz
crawl-ref-40fa9db0730383e3fa018999dc8e64208b2d12f5.zip
Applied patch 1742546: Xom shouldn't polymorph demons.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1664 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/xom.cc33
1 files changed, 18 insertions, 15 deletions
diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc
index 3b02050603..4144f63aed 100644
--- a/crawl-ref/source/xom.cc
+++ b/crawl-ref/source/xom.cc
@@ -520,8 +520,8 @@ static bool xom_is_good(int sever)
(temp_rand == 2) ?
"Xom's power touches on a nearby monster."
: "You hear Xom's avuncular chuckle.");
- bool isFriendly = mons_friendly(mon);
- if (isFriendly)
+
+ if (mons_friendly(mon))
monster_polymorph(mon, RANDOM_MONSTER, PPT_MORE);
else
monster_polymorph(mon, RANDOM_MONSTER, PPT_LESS);
@@ -715,21 +715,24 @@ static bool xom_is_bad(int sever)
}
else if ((random2(sever) <= 7) && there_are_monsters_nearby())
{
- struct monsters* mon = get_random_nearby_monster();
+ monsters* mon = get_random_nearby_monster();
ASSERT (mon != NULL);
- temp_rand = random2(4);
+ if ( mon->holiness() == MH_NATURAL )
+ {
+ temp_rand = random2(4);
- god_speaks(GOD_XOM,
- (temp_rand == 0) ? "\"This might be better!\"" :
- (temp_rand == 1) ? "\"Hum-dee-hum-dee-hum...\"" :
- (temp_rand == 2) ? "Xom's power touches on a nearby monster."
- : "You hear Xom's avuncular chuckle.");
- bool isFriendly = mons_friendly(mon);
- if (isFriendly)
- monster_polymorph(mon, RANDOM_MONSTER, PPT_LESS);
- else
- monster_polymorph(mon, RANDOM_MONSTER, PPT_MORE);
- done = true;
+ god_speaks(GOD_XOM,
+ (temp_rand == 0) ? "\"This might be better!\"" :
+ (temp_rand == 1) ? "\"Hum-dee-hum-dee-hum...\"" :
+ (temp_rand == 2) ? "Xom's power touches on a nearby monster."
+ : "You hear Xom's avuncular chuckle.");
+
+ if (mons_friendly(mon))
+ monster_polymorph(mon, RANDOM_MONSTER, PPT_LESS);
+ else
+ monster_polymorph(mon, RANDOM_MONSTER, PPT_MORE);
+ done = true;
+ }
}
else if (!you.is_undead && random2(sever) <= 8)
{