summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells4.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-07 15:06:00 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-07 15:06:00 +0000
commit8e904ab0620577064f4a818272b152d1f5d2d3db (patch)
treedd9d9542db26e0bb398235e49ffa3c7f2ceeac0b /crawl-ref/source/spells4.cc
parent1a6365fbd24ab134842816757600de0264f39362 (diff)
downloadcrawl-ref-8e904ab0620577064f4a818272b152d1f5d2d3db.tar.gz
crawl-ref-8e904ab0620577064f4a818272b152d1f5d2d3db.zip
Turfed out obsolete orange crystal statue and silver statue features.
Moved MINMOVE and MINSEE brain damage into the dungeon_feature_type enumeration where it is clearer what they represent. Fixed ice statues not being appropriately affected by Shatter and Lee's. Moved 'v' examine hint information and feature notability into feature_def flags. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2061 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spells4.cc')
-rw-r--r--crawl-ref/source/spells4.cc37
1 files changed, 10 insertions, 27 deletions
diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc
index d4b4656cc8..4ad98dcf7e 100644
--- a/crawl-ref/source/spells4.cc
+++ b/crawl-ref/source/spells4.cc
@@ -348,7 +348,6 @@ static int shatter_walls(int x, int y, int pow, int garbage)
break;
case DNGN_METAL_WALL:
- case DNGN_SILVER_STATUE:
stuff = DEBRIS_METAL;
chance = pow / 10;
break;
@@ -369,11 +368,6 @@ static int shatter_walls(int x, int y, int pow, int garbage)
stuff = DEBRIS_ROCK;
break;
- case DNGN_ORANGE_CRYSTAL_STATUE:
- chance = pow / 6;
- stuff = DEBRIS_CRYSTAL;
- break;
-
case DNGN_GREEN_CRYSTAL_WALL:
chance = 50;
stuff = DEBRIS_CRYSTAL;
@@ -2389,6 +2383,7 @@ void cast_fragmentation(int pow) // jmf: ripped idea from airstrike
switch (menv[mon].type)
{
+ case MONS_ICE_STATUE:
case MONS_ICE_BEAST: // blast of ice fragments
case MONS_SIMULACRUM_SMALL:
case MONS_SIMULACRUM_LARGE:
@@ -2477,8 +2472,14 @@ void cast_fragmentation(int pow) // jmf: ripped idea from airstrike
blast.damage.num = 6;
}
- if (player_hurt_monster(mon, roll_dice( blast.damage )))
- blast.damage.num += 2;
+ {
+ int statue_damage = roll_dice(blast.damage) * 2;
+ if (pow >= 50 && one_chance_in(10))
+ statue_damage = menv[mon].hit_points;
+
+ if (player_hurt_monster(mon, statue_damage))
+ blast.damage.num += 2;
+ }
break;
case MONS_CRYSTAL_GOLEM:
@@ -2558,14 +2559,6 @@ void cast_fragmentation(int pow) // jmf: ripped idea from airstrike
case DNGN_METAL_WALL:
what = "metal wall";
blast.colour = CYAN;
- // fallthru
- case DNGN_SILVER_STATUE:
- if (what == NULL)
- {
- what = "silver statue";
- blast.colour = WHITE;
- }
-
explode = true;
blast.name = "blast of metal fragments";
blast.damage.num = 4;
@@ -2585,23 +2578,13 @@ void cast_fragmentation(int pow) // jmf: ripped idea from airstrike
case DNGN_GREEN_CRYSTAL_WALL: // crystal -- large & nasty explosion
what = "crystal wall";
blast.colour = GREEN;
- // fallthru
- case DNGN_ORANGE_CRYSTAL_STATUE:
- if (what == NULL)
- {
- what = "crystal statue";
- blast.colour = LIGHTRED; //jmf: == orange, right?
- }
-
explode = true;
blast.ex_size = 2;
blast.name = "blast of crystal shards";
blast.damage.num = 5;
if (okay_to_dest
- && ((grid == DNGN_GREEN_CRYSTAL_WALL && coinflip())
- || (grid == DNGN_ORANGE_CRYSTAL_STATUE
- && pow >= 50 && one_chance_in(10))))
+ && grid == DNGN_GREEN_CRYSTAL_WALL && coinflip())
{
blast.ex_size = coinflip() ? 3 : 2;
grd[beam.tx][beam.ty] = DNGN_FLOOR;