diff options
author | Steve Melenchuk <smelenchuk@gmail.com> | 2014-03-01 22:42:32 -0700 |
---|---|---|
committer | Steve Melenchuk <smelenchuk@gmail.com> | 2014-03-01 22:42:32 -0700 |
commit | efee55e9b585cae7e42c80e5fe54b1bbc4ed9cb4 (patch) | |
tree | 960379d50e4447be0b719704108cb9cc817fd43b /crawl-ref/source/spl-damage.cc | |
parent | 8965cfaeaf5031f6bf24bdef5d686d4090f7f50c (diff) | |
download | crawl-ref-efee55e9b585cae7e42c80e5fe54b1bbc4ed9cb4.tar.gz crawl-ref-efee55e9b585cae7e42c80e5fe54b1bbc4ed9cb4.zip |
Make Glaciate damage fall off linearly, not with square of distance.
With wider playtesting, damage at range has been suggested to be
underwhelming; this should help address that.
Diffstat (limited to 'crawl-ref/source/spl-damage.cc')
-rw-r--r-- | crawl-ref/source/spl-damage.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/crawl-ref/source/spl-damage.cc b/crawl-ref/source/spl-damage.cc index 068c87c398..f572e85bec 100644 --- a/crawl-ref/source/spl-damage.cc +++ b/crawl-ref/source/spl-damage.cc @@ -2959,7 +2959,6 @@ spret_type cast_glaciate(actor *caster, int pow, coord_def aim, bool fail) const int range = spell_range(SPELL_GLACIATE, pow); targetter_cone hitfunc(caster, range); hitfunc.set_aim(aim); - int range2 = 0; if (caster->is_player()) { @@ -3019,10 +3018,11 @@ spret_type cast_glaciate(actor *caster, int pow, coord_def aim, bool fail) if (p->second <= 0) continue; - range2 = max(9, (p->first - caster->pos()).abs()); - // At or within range 3 (range2 9), this is equivalent to the - // old Ice Storm damage. - beam.damage = calc_dice(7, (198 + 9 * pow) / range2); + const int eff_range = max(3, i); + + // At or within range 3, this is equivalent to the old Ice Storm + // damage. + beam.damage = calc_dice(7, (66 + 3 * pow) / eff_range); if (actor_at(p->first)) { @@ -3032,7 +3032,7 @@ spret_type cast_glaciate(actor *caster, int pow, coord_def aim, bool fail) beam.fire(); } place_cloud(CLOUD_COLD, p->first, - (18 + random2avg(45,2)) / range2, caster); + (18 + random2avg(45,2)) / eff_range, caster); } } |