diff options
author | Ed Gonzalez <ed.gonzalez3@gmail.com> | 2013-06-29 02:04:05 -0700 |
---|---|---|
committer | Pete Hurst <pete@streamuniverse.tv> | 2013-06-29 13:06:28 +0100 |
commit | f7d185e99151e10ac3ea320fc396b01b697d134b (patch) | |
tree | 2ee30ef18fe3803f3471f9a7535b34befcf9dd6b /crawl-ref/source/ouch.h | |
parent | 3bbf07e665f48e08fc08194f26968ea76554b315 (diff) | |
download | crawl-ref-f7d185e99151e10ac3ea320fc396b01b697d134b.tar.gz crawl-ref-f7d185e99151e10ac3ea320fc396b01b697d134b.zip |
Fixed some effects being applied twice to damage.
When a deferred_damage_fineff is used, ::hurt is called twice. Once for
the original target, and a second time for the shared target. Both
calls would apply effects such as weakening from wretched and QUAD
DAMAGE. While SIXTEEN TIMES damage is funny, the attacker's effects
should only be applied once.
Now ouch/hurt functions and the deferred_damage_fineff have an
'attacker_effects' parameter, which defaults to true. If false, then
damage effects from the attacker are assumed to have already been
applied. All existing uses of deferred_damage_fineff have been
appropriately updated. Also applied to spectral weapon damage sharing.
Diffstat (limited to 'crawl-ref/source/ouch.h')
-rw-r--r-- | crawl-ref/source/ouch.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crawl-ref/source/ouch.h b/crawl-ref/source/ouch.h index 0ee3fb3ff8..3c5b21af11 100644 --- a/crawl-ref/source/ouch.h +++ b/crawl-ref/source/ouch.h @@ -74,7 +74,7 @@ string morgue_name(string char_name, time_t when_crawl_got_even); void reset_damage_counters(); void ouch(int dam, int death_source, kill_method_type death_type, const char *aux = NULL, bool see_source = true, - const char *death_source_name = NULL); + const char *death_source_name = NULL, bool attacker_effects = true); void lose_level(int death_source, const char* aux); bool drain_exp(bool announce_full = true, int death_source = NON_MONSTER, |