summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells1.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-25 17:04:20 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-25 17:04:20 +0000
commitb1c2d6e096eebdbae0c2f5a8dd48a5f67a1eb678 (patch)
tree9d9ef2508041df23a59c5bc447cc4ee8633944c5 /crawl-ref/source/spells1.cc
parent287e5f0820620b81b518ab1f554107afd8a62ebe (diff)
downloadcrawl-ref-b1c2d6e096eebdbae0c2f5a8dd48a5f67a1eb678.tar.gz
crawl-ref-b1c2d6e096eebdbae0c2f5a8dd48a5f67a1eb678.zip
Complete rewrite of the beam code, making it considerably saner.
However, there might be quite a few bugs lurking in this rewrite. Sorry. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7975 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spells1.cc')
-rw-r--r--crawl-ref/source/spells1.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index 7353430c9a..c5a7ca9478 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -268,13 +268,14 @@ void setup_fire_storm(const actor *source, int pow, bolt &beam)
beam.ench_power = pow; // used for radius
beam.hit = 20 + pow / 10;
beam.damage = calc_dice(8, 5 + pow);
+ beam.affects_items = false;
}
void cast_fire_storm(int pow, bolt &beam)
{
setup_fire_storm(&you, pow, beam);
- if (explosion(beam, false, false, true, true, false) > 0)
+ if (beam.explode(false))
mpr("A raging storm of fire appears!");
viewwindow(true, false);
@@ -416,7 +417,7 @@ void cast_chain_lightning(int pow)
if ((beam.damage.size /= 2) < 3)
beam.damage.size = 3;
}
- fire_beam( beam );
+ beam.fire();
}
more();
@@ -585,7 +586,7 @@ bool stinking_cloud( int pow, bolt &beem )
beem.fr_count = 0;
beem.flavour = BEAM_POTION_STINKING_CLOUD;
beem.is_tracer = true;
- fire_beam(beem);
+ beem.fire();
if (beem.beam_cancelled)
{
@@ -598,7 +599,7 @@ bool stinking_cloud( int pow, bolt &beem )
// Really fire.
beem.flavour = BEAM_MMISSILE;
beem.is_tracer = false;
- fire_beam(beem);
+ beem.fire();
return (true);
}