summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/xom.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/xom.cc')
-rw-r--r--crawl-ref/source/xom.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc
index b8d2e2a699..33a611b822 100644
--- a/crawl-ref/source/xom.cc
+++ b/crawl-ref/source/xom.cc
@@ -431,15 +431,16 @@ static monster_type xom_random_demon(int sever, bool use_greater_demons = true)
roll >= 340 ? DEMON_COMMON
: DEMON_LESSER;
- // Sometimes, send an angel or daeva instead.
- if (dct == DEMON_GREATER && coinflip())
- return (coinflip() ? MONS_ANGEL : MONS_DAEVA);
+ monster_type demon = MONS_PROGRAM_BUG;
- const monster_type demontype =
- summon_any_demon(
+ // Sometimes, send a holy being instead.
+ if (dct == DEMON_GREATER && coinflip())
+ demon = summon_any_holy_being();
+ else
+ demon = summon_any_demon(
use_greater_demons || dct != DEMON_GREATER ? dct : DEMON_COMMON);
- return (demontype);
+ return (demon);
}
// Returns a demon suitable for use in Xom's punishments, filtering out