summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/mon-util.cc3
-rw-r--r--crawl-ref/source/monstuff.cc4
2 files changed, 4 insertions, 3 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 70e6c39b67..900aad254d 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -807,7 +807,8 @@ bool mons_class_can_be_zombified(int mc)
bool mons_can_be_zombified(const monsters *mon)
{
- return (mons_class_can_be_zombified(mon->type));
+ return (mons_class_can_be_zombified(mon->type)
+ && !mons_is_summoned(mon));
}
int downscale_zombie_damage(int damage)
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 0a34779e12..c0cce9d350 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -781,7 +781,7 @@ void monster_die(monsters *monster, killer_type killer,
const int monster_killed = monster_index(monster);
const bool hard_reset = testbits(monster->flags, MF_HARD_RESET);
- const bool gives_xp = !monster->has_ench(ENCH_ABJ);
+ const bool gives_xp = !mons_is_summoned(monster);
bool in_transit = false;
bool drop_items = !hard_reset && !mons_is_holy(monster);
@@ -1059,7 +1059,7 @@ void monster_die(monsters *monster, killer_type killer,
if (you.duration[DUR_DEATH_CHANNEL]
&& gives_xp
&& mons_holiness(monster) == MH_NATURAL
- && mons_weight(mons_species(monster->type)))
+ && mons_weight(mons_species(monster->type) > 0))
{
const monster_type spectre = mons_species(monster->type);