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.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 831fbddc15..2529eca193 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -957,6 +957,12 @@ static bool _spore_goes_pop(monsters *monster, killer_type killer,
// its own explosion. (GDL)
mgrd(monster->pos()) = NON_MONSTER;
+ // The explosion might cause a monster to be placed where the spore
+ // used to be, so make sure that mgrd() doesn't get cleared a second
+ // time (causing the new monster to become floating) when
+ // monster->reset() is called.
+ monster->pos().reset();
+
// Exploding kills the monster a bit earlier than normal.
monster->hit_points = -16;
if (saw)