summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-08-22 11:07:48 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-08-22 11:07:48 +0000
commit2e6d4070c0713ebb84526f2d1f05d0b11d62faca (patch)
treeb9c003783181c64d8870f777c080fdffb7762be8 /crawl-ref/source
parent8d09beacc34ee4639c32adeb9eb3c0848aa70fd1 (diff)
downloadcrawl-ref-2e6d4070c0713ebb84526f2d1f05d0b11d62faca.tar.gz
crawl-ref-2e6d4070c0713ebb84526f2d1f05d0b11d62faca.zip
[2058822] Fix ice storm damage, make both storms and bolts of ice and magma less resistible (ice being less resistible than magma), give ice storm more damage than fire storm, make fire storm vortices aligned with the caster, but temporary.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6845 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/beam.cc9
-rw-r--r--crawl-ref/source/fight.cc7
-rw-r--r--crawl-ref/source/spells1.cc2
3 files changed, 11 insertions, 7 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index e5de18a439..f64a782711 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -1389,8 +1389,7 @@ static void _zappy( zap_type z_type, int power, bolt &pbolt )
pbolt.name = "great blast of cold";
pbolt.colour = BLUE;
pbolt.range = 9 + random2(5);
- pbolt.damage = calc_dice( 10, 18 + power );
- pbolt.damage.num = 0; // only does explosion damage
+ pbolt.damage = calc_dice( 7, 22 + power );
pbolt.hit = 20 + power / 10; // 50: 25 100: 30
pbolt.ench_power = power; // used for radius
pbolt.type = dchar_glyph(DCHAR_FIRED_ZAP);
@@ -3534,8 +3533,11 @@ static void _affect_place_explosion_clouds(bolt &beam, const coord_def& p)
(crawl_state.is_god_acting()) ? crawl_state.which_god_acting()
: GOD_NO_GOD;
+ const beh_type att =
+ _whose_kill(beam) == KC_OTHER? BEH_HOSTILE : BEH_FRIENDLY;
mons_place(
- mgen_data::hostile_at(MONS_FIRE_VORTEX, p, 0, 0, false, god));
+ mgen_data(MONS_FIRE_VORTEX, att, 2, p,
+ MHITNOT, 0, god) );
}
}
}
@@ -5259,7 +5261,6 @@ static void _explosion1(bolt &pbolt)
hearMsg = "You hear a raging storm!";
pbolt.name = "ice storm";
- pbolt.damage.num = 6;
pbolt.type = dchar_glyph(DCHAR_FIRED_ZAP);
pbolt.colour = WHITE;
ex_size = 2 + (random2( pbolt.ench_power ) > 75);
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 1b1017f371..14ff401e29 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -1897,9 +1897,12 @@ static inline int get_resistible_fraction(beam_type flavour)
{
switch (flavour)
{
- case BEAM_LAVA:
+ // Assume ice storm and ice bolt are mostly solid.
case BEAM_ICE:
- return (50);
+ return (15);
+
+ case BEAM_LAVA:
+ return (30);
case BEAM_POISON_ARROW:
return (40);
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index f045fd14ee..003b25fa9a 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -260,7 +260,7 @@ void setup_fire_storm(const actor *source, int pow, bolt &beam)
beam.is_explosion = true;
beam.ench_power = pow; // used for radius
beam.hit = 20 + pow / 10;
- beam.damage = calc_dice(9, 20 + pow);
+ beam.damage = calc_dice(8, 5 + pow);
}
void cast_fire_storm(int pow, bolt &beam)