summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc45
1 files changed, 24 insertions, 21 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 42c67aa419..e9397e4982 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -1201,27 +1201,7 @@ void monster_die(monsters *monster, killer_type killer, int i, bool silent)
break;
}
- if (monster->type == MONS_MUMMY)
- {
- if (YOU_KILL(killer) && killer != KILL_YOU_CONF)
- curse_an_item(true);
- }
- else if (monster->type == MONS_GUARDIAN_MUMMY
- || monster->type == MONS_GREATER_MUMMY
- || monster->type == MONS_MUMMY_PRIEST)
- {
- if (YOU_KILL(killer) && killer != KILL_YOU_CONF)
- {
- mpr("You feel extremely nervous for a moment...",
- MSGCH_MONSTER_SPELL);
-
- miscast_effect( SPTYP_NECROMANCY,
- 3 + (monster->type == MONS_GREATER_MUMMY) * 8
- + (monster->type == MONS_MUMMY_PRIEST) * 5,
- random2avg(88, 3), 100, "a mummy death curse" );
- }
- }
- else if (monster->type == MONS_BORIS && !in_transit)
+ if (monster->type == MONS_BORIS && !in_transit)
{
// XXX: Actual blood curse effect for Boris? -- bwr
@@ -1237,6 +1217,29 @@ void monster_die(monsters *monster, killer_type killer, int i, bool silent)
// creation again. -- bwr
you.unique_creatures[ monster->type ] = false;
}
+ else if (!mons_is_summoned(monster))
+ {
+ if (monster->type == MONS_MUMMY)
+ {
+ if (YOU_KILL(killer) && killer != KILL_YOU_CONF)
+ curse_an_item(true);
+ }
+ else if (monster->type == MONS_GUARDIAN_MUMMY
+ || monster->type == MONS_GREATER_MUMMY
+ || monster->type == MONS_MUMMY_PRIEST)
+ {
+ if (YOU_KILL(killer) && killer != KILL_YOU_CONF)
+ {
+ mpr("You feel extremely nervous for a moment...",
+ MSGCH_MONSTER_SPELL);
+
+ miscast_effect( SPTYP_NECROMANCY,
+ 3 + (monster->type == MONS_GREATER_MUMMY) * 8
+ + (monster->type == MONS_MUMMY_PRIEST) * 5,
+ random2avg(88, 3), 100, "a mummy death curse" );
+ }
+ }
+ }
if (killer != KILL_RESET && killer != KILL_DISMISSED)
{