summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-17 19:17:35 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-17 19:17:35 +0000
commit2c1bfabda012c1e117f69dde57bb4faf2290d03c (patch)
tree68a061a0cdbd6a6e39c95c9214625167652279ea /crawl-ref/source/fight.cc
parent799fc2a7363c133c9d509306f67e26312ba66cb7 (diff)
downloadcrawl-ref-2c1bfabda012c1e117f69dde57bb4faf2290d03c.tar.gz
crawl-ref-2c1bfabda012c1e117f69dde57bb4faf2290d03c.zip
Temporarily revert previosu crash fix, as there has to be a better way
to deal with it. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5106 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc45
1 files changed, 21 insertions, 24 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 843cc577e8..9e01ab78f3 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -763,35 +763,32 @@ bool melee_attack::player_attack()
hit_woke_orc = true;
}
- if (def->alive())
- {
- // always upset monster regardless of damage
- behaviour_event(def, ME_WHACK, MHITYOU);
+ // always upset monster regardless of damage
+ behaviour_event(def, ME_WHACK, MHITYOU);
- if (damage_done > 0)
- {
- int blood =
- _modify_blood_amount(damage_done, attacker->damage_type());
- if (blood > defender->stat_hp())
- blood = defender->stat_hp();
+ if (damage_done > 0)
+ {
+ int blood =
+ _modify_blood_amount(damage_done, attacker->damage_type());
+ if (blood > defender->stat_hp())
+ blood = defender->stat_hp();
- bleed_onto_floor(where.x, where.y, defender->id(), blood, true);
- }
+ bleed_onto_floor(where.x, where.y, defender->id(), blood, true);
+ }
- if (damage_done > 0 || !defender_visible)
- player_announce_hit();
- else if (!shield_blocked && damage_done <= 0)
- {
- no_damage_message =
- make_stringf("You %s %s.", attack_verb.c_str(),
- defender->name(DESC_NOCAP_THE).c_str());
- }
+ if (damage_done > 0 || !defender_visible)
+ player_announce_hit();
+ else if (!shield_blocked && damage_done <= 0)
+ {
+ no_damage_message =
+ make_stringf("You %s %s.", attack_verb.c_str(),
+ defender->name(DESC_NOCAP_THE).c_str());
+ }
- player_hurt_monster();
+ player_hurt_monster();
- if (damage_done)
- player_exercise_combat_skills();
- }
+ if (damage_done)
+ player_exercise_combat_skills();
if (player_check_monster_died())
return (true);