diff options
-rw-r--r-- | crawl-ref/source/beam.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/fight.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/spells1.cc | 2 |
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) |