summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/effects.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-01-09 14:15:43 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-01-09 14:15:43 +0000
commit447bc8ac9d8557be01da02c40349e4301f42c089 (patch)
tree70d8049ee1391103b657e1473bda0aa15c3bc491 /crawl-ref/source/effects.cc
parent88f39cd2d9a9c0c337988e24deca86267da5bb30 (diff)
downloadcrawl-ref-447bc8ac9d8557be01da02c40349e4301f42c089.tar.gz
crawl-ref-447bc8ac9d8557be01da02c40349e4301f42c089.zip
Add gore and splatter to Crawl - in the form of Jarmo's
(strongly modified, I admit) blood patch. Whenever the player or a monster capable of bleeding suffers damage (currently only in melee) or when you dissect a corpse there's a chance (depending on damage/corpse weight) that the square will turn bloody and be coloured red, with a much lower chance of additionally spattering some of the surrounding squares. These chances are probably still a bit too high for later values of possible damage dealt. Also, ranged and some of the magic attacks (earth-based, mostly) should also be able to send blood flying. :p For now, this is flavour only, but it shouldn't be too difficult to introduce relations to Necromancy or evil gods. Also consider dragons to be warm-blooded, like dinosaurs. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3230 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/effects.cc')
-rw-r--r--crawl-ref/source/effects.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index fba2ff8e6f..4658ddb393 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -2681,6 +2681,20 @@ void update_corpses(double elapsedTime)
grd[cx][cy] =
static_cast<dungeon_feature_type>(
grd[cx][cy] - 1);
+
+ // clean bloody floor
+ if (is_bloodcovered(cx,cy))
+ env.map[cx][cy].property = FPROP_NONE;
+ // chance of cleaning adjacent squares
+ for (int k=-1; k<=1; k++)
+ {
+ for (int l=-1; l<=1; l++)
+ if (is_bloodcovered(cx+k,cy+l)
+ && one_chance_in(5))
+ {
+ env.map[cx+k][cy+l].property = FPROP_NONE;
+ }
+ }
}
}
}