From 2e6d4070c0713ebb84526f2d1f05d0b11d62faca Mon Sep 17 00:00:00 2001 From: dshaligram Date: Fri, 22 Aug 2008 11:07:48 +0000 Subject: [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 --- crawl-ref/source/beam.cc | 9 +++++---- crawl-ref/source/fight.cc | 7 +++++-- crawl-ref/source/spells1.cc | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) (limited to 'crawl-ref') 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) -- cgit v1.2.3-54-g00ecf