summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.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/beam.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/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index a09fdbb141..15d3f68a85 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2669,6 +2669,10 @@ static int affect_wall(bolt &beam, int x, int y)
if (grd[x][y] == DNGN_ROCK_WALL || grd[x][y] == DNGN_CLEAR_ROCK_WALL)
{
grd[x][y] = DNGN_FLOOR;
+
+ // blood does not transfer onto floor
+ if (is_bloodcovered(x,y))
+ env.map[x][y].property = FPROP_NONE;
if (!beam.msg_generated)
{
@@ -2742,6 +2746,10 @@ static int affect_wall(bolt &beam, int x, int y)
{
grd[x][y] = DNGN_FLOOR;
+ // blood does not transfer onto floor
+ if (is_bloodcovered(x,y))
+ env.map[x][y].property = FPROP_NONE;
+
if (!silenced(you.x_pos, you.y_pos))
{
if (!see_grid( x, y ))