diff options
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 7f22a6d48d..1802e37ac2 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -536,9 +536,14 @@ void melee_attack::check_autoberserk() bool melee_attack::check_unrand_effects(bool mondied) { - if (unrand_entry && unrand_entry->melee_effects_func) - { - unrand_entry->melee_effects_func(weapon, attacker, defender, mondied); + // If bashing the defender with a wielded unrandart launcher, don't use + // unrand_entry->fight_func, since that's the function used for + // launched missiles. + if (unrand_entry && unrand_entry->fight_func.melee_effects + && fires_ammo_type(*weapon) == MI_NONE) + { + unrand_entry->fight_func.melee_effects(weapon, attacker, defender, + mondied); return (!defender->alive()); } |