diff options
author | elliptic <hyperelliptical@gmail.com> | 2012-09-19 04:26:33 -0400 |
---|---|---|
committer | elliptic <hyperelliptical@gmail.com> | 2012-09-19 04:38:36 -0400 |
commit | 27b31c86dba631a28ef0b8a8ec82fd153dd2104c (patch) | |
tree | c8ca347d8711d73d6ea5e47393264a3347a40a0f /crawl-ref/source/melee_attack.h | |
parent | ff58cbac08ca7cd706d54963eac4f75adcf10914 (diff) | |
download | crawl-ref-27b31c86dba631a28ef0b8a8ec82fd153dd2104c.tar.gz crawl-ref-27b31c86dba631a28ef0b8a8ec82fd153dd2104c.zip |
Move some multipliers later in the melee damage calculation.
Previously both the 1.5x statue form multiplier and the 0.75x cleave
multiplier were applied in (slightly different) intermediate stages in the
melee damage calculation. This primarily had the effect that they did not
apply to bonuses from weapon enchantment and slaying (and cleave did not
apply to might/berserk). This certainly can be justified, but it made the
effects (and code) significantly more difficult to understand and a casual
poll of players indicated that they didn't expect it.
I've moved these two multipliers near the end of the calculation, right before
stabbing and AC are handled. (This is the same place where the 0.9x multiplier
for speed weapons happens.) The balance effects of this are:
* Statue form is a bit better if you have weapon enchantment and/or slaying.
* Cleave is worse if you have weapon enchantment and/or slaying and/or
might/berserk.
Statue form seems like it can take a slight buff without being too crazy (and
it isn't used with a weapon often), and the initial feedback on cleave has been
that it needs a nerf anyway.
Diffstat (limited to 'crawl-ref/source/melee_attack.h')
-rw-r--r-- | crawl-ref/source/melee_attack.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crawl-ref/source/melee_attack.h b/crawl-ref/source/melee_attack.h index 5cec871908..c63c090036 100644 --- a/crawl-ref/source/melee_attack.h +++ b/crawl-ref/source/melee_attack.h @@ -165,6 +165,7 @@ private: int player_apply_fighting_skill(int damage, bool aux); int player_apply_misc_modifiers(int damage); int player_apply_slaying_bonuses(int damage, bool aux); + int player_apply_final_multipliers(int damage); int player_stab_weapon_bonus(int damage); int player_stab(int damage); |