diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-01-09 14:15:43 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-01-09 14:15:43 +0000 |
commit | 447bc8ac9d8557be01da02c40349e4301f42c089 (patch) | |
tree | 70d8049ee1391103b657e1473bda0aa15c3bc491 /crawl-ref/source/effects.cc | |
parent | 88f39cd2d9a9c0c337988e24deca86267da5bb30 (diff) | |
download | crawl-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.cc | 14 |
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; + } + } } } } |