From a8d67581791419036593e56cd2e078d858196a5c Mon Sep 17 00:00:00 2001 From: dolorous Date: Mon, 24 Aug 2009 15:03:16 +0000 Subject: Attempt to fix [2842867] by holding off one more death event properly in case a monster avoided death. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10599 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/fight.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 887eb6c650..a037b25dec 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -1224,8 +1224,8 @@ bool melee_attack::player_aux_unarmed() } // unified to-hit calculation - to_hit = random2( calc_your_to_hit_unarmed(uattack, - damage_brand == SPWPN_VAMPIRICISM) ); + to_hit = random2(calc_your_to_hit_unarmed(uattack, + damage_brand == SPWPN_VAMPIRICISM)); make_hungry(2, true); @@ -1963,9 +1963,16 @@ bool melee_attack::player_monattk_hit_effects(bool mondied) special_damage); #endif - special_damage = defender->hurt(&you, special_damage); + special_damage = defender->hurt(&you, special_damage, BEAM_MISSILE, false); - return (!defender->alive()); + if (!defender->alive()) + { + _monster_die(defender_as_monster(), KILL_YOU, NON_MONSTER); + + return (true); + } + + return (false); } void melee_attack::_monster_die(monsters* monster, killer_type killer, -- cgit v1.2.3-54-g00ecf