summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-10 10:28:04 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-10 10:31:10 +0100
commit4bd335dab6488ac58d412f8b640801350207c398 (patch)
tree187a5b3252c69e55c5ad39b7045fb7c05b9f16a0 /crawl-ref/source/monstuff.cc
parentaa69f6aa4526b7d8ed161de9324a5df76faec366 (diff)
downloadcrawl-ref-4bd335dab6488ac58d412f8b640801350207c398.tar.gz
crawl-ref-4bd335dab6488ac58d412f8b640801350207c398.zip
Make disintegration splatter not end up behind actors.
Also not at actors' feet. Might be even nicer to have them thrown as missiles: You are hit by a piece of orc flesh. The giant bat is hit by a chunk of yak flesh. The giant bat dies.
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index bd3e6d08a5..4aa5ecfa4c 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -344,7 +344,8 @@ monster_type fill_out_corpse(const monsters* monster, item_def& corpse,
bool explode_corpse(item_def& corpse, const coord_def& where)
{
- los_def ld(where, opc_solid);
+ // Don't want chunks to show up behind the player.
+ los_def ld(where, opc_no_actor);
if (monster_descriptor(corpse.plus, MDSC_LEAVES_HIDE)
&& mons_genus(corpse.plus) == MONS_DRAGON)
@@ -396,7 +397,7 @@ bool explode_corpse(item_def& corpse, const coord_def& where)
mprf(MSGCH_DIAGNOSTICS, "Cell is visible...");
#endif
- if (feat_is_solid(grd(cp)))
+ if (feat_is_solid(grd(cp)) || actor_at(cp))
continue;
--nchunks;