summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/stuff.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-06 23:57:13 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-06 23:57:13 +0000
commit1579f75e63ce647953008d70029a5493ca8f26c8 (patch)
treeddd89e0cccbbdbe6bb90ef8009fe9349b412ad93 /crawl-ref/source/stuff.cc
parentdbeaea2cefc46c4f325e5b82f982bdce567a96bd (diff)
downloadcrawl-ref-1579f75e63ce647953008d70029a5493ca8f26c8.tar.gz
crawl-ref-1579f75e63ce647953008d70029a5493ca8f26c8.zip
Fix bug #2489023: dismiss new-game LOS monster with MF_HARD_RESET to prevent
them from dropping items rather than making them summoned, so as to avoid any "disappears in a puff of smoke" message. And to avoid anything similar in the future make the monster_die() call a silent, wizard-mode one. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8287 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/stuff.cc')
-rw-r--r--crawl-ref/source/stuff.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/crawl-ref/source/stuff.cc b/crawl-ref/source/stuff.cc
index a096bc6a3d..9e92b6f155 100644
--- a/crawl-ref/source/stuff.cc
+++ b/crawl-ref/source/stuff.cc
@@ -1650,9 +1650,11 @@ void zap_los_monsters()
mprf(MSGCH_DIAGNOSTICS, "Dismissing %s",
mon->name(DESC_PLAIN, true).c_str() );
#endif
- // Mark as summoned so its items will also be discarded.
- mon->mark_summoned(1, true);
- monster_die(mon, KILL_DISMISSED, NON_MONSTER);
+ // Do a hard reset so the monster's items will be discarded.
+ mon->flags |= MF_HARD_RESET;
+ // Do a silent, wizard-mode monster_die() just to be extra sure the
+ // player sees nothings.
+ monster_die(mon, KILL_DISMISSED, NON_MONSTER, true, true);
}
}