From 240d2022a003e137a8f32e7dd8985e8cb2871f8b Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Tue, 3 Jun 2008 10:33:31 +0000 Subject: Fix summoned monsters spattering blood. Fix menu colouring giving away unknown evil items. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5456 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/fight.cc | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'crawl-ref/source/fight.cc') diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 21fdbe32e9..07d7087389 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -782,10 +782,11 @@ bool melee_attack::player_attack() hit_woke_orc = true; } - // always upset monster regardless of damage + // Always upset monster regardless of damage. behaviour_event(def, ME_WHACK, MHITYOU); - if (damage_done > 0) + if (damage_done > 0 && !mons_is_summoned(def) + && !mons_is_submerged(def)) { int blood = _modify_blood_amount(damage_done, attacker->damage_type()); @@ -2385,8 +2386,11 @@ bool melee_attack::chop_hydra_head( int dam, def->number--; coord_def pos = defender->pos(); - bleed_onto_floor(pos.x, pos.y, defender->id(), - def->hit_points, true); + if (!mons_is_summoned(def)) + { + bleed_onto_floor(pos.x, pos.y, defender->id(), + def->hit_points, true); + } defender->hurt(attacker, def->hit_points); } @@ -3842,13 +3846,16 @@ void melee_attack::mons_perform_attack_rounds() if (defender->atype() == ACT_MONSTER) type = defender->id(); - int blood = _modify_blood_amount(damage_done, - attacker->damage_type()); - if (blood > defender->stat_hp()) - blood = defender->stat_hp(); + if (type == -1 || !mons_is_summoned(def) && !mons_is_submerged(def)) + { + int blood = _modify_blood_amount(damage_done, + attacker->damage_type()); - bleed_onto_floor(pos.x, pos.y, type, blood, true); + if (blood > defender->stat_hp()) + blood = defender->stat_hp(); + bleed_onto_floor(pos.x, pos.y, type, blood, true); + } if (decapitate_hydra(damage_done, attacker->damage_type(attack_number))) { -- cgit v1.2.3-54-g00ecf