From 0ee4e39dafef899a70bb27ad6604cc3e642f3753 Mon Sep 17 00:00:00 2001 From: dolorous Date: Mon, 19 May 2008 18:28:10 +0000 Subject: Add more consistency fixes: the conduct for melee attacks on holy beings now uses their hit dice, as beams do, and conducts for stabbing and unchivalrous attacks give 4 points instead of 5 again, for consistency with e.g. necromancy and unholy attacks. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5135 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/beam.cc | 4 ++-- crawl-ref/source/fight.cc | 13 +++++-------- crawl-ref/source/spells2.cc | 2 +- crawl-ref/source/spells3.cc | 2 +- 4 files changed, 9 insertions(+), 12 deletions(-) (limited to 'crawl-ref/source') diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index 9044391b84..d6fe38358a 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -3775,7 +3775,7 @@ static int _affect_monster(bolt &beam, monsters *mon, item_def *item) conduct.set(DID_ATTACK_NEUTRAL, 5, true, mon); if (is_unchivalric_attack(&you, mon, mon)) - conduct.set(DID_UNCHIVALRIC_ATTACK, 5, true, mon); + conduct.set(DID_UNCHIVALRIC_ATTACK, 4, true, mon); } if (mons_is_holy(mon)) @@ -3954,7 +3954,7 @@ static int _affect_monster(bolt &beam, monsters *mon, item_def *item) conduct.set(DID_ATTACK_NEUTRAL, 5, !okay, mon); if (is_unchivalric_attack(&you, mon, mon)) - conduct.set(DID_UNCHIVALRIC_ATTACK, 5, !okay, mon); + conduct.set(DID_UNCHIVALRIC_ATTACK, 4, !okay, mon); if (mons_is_holy(mon)) conduct.set(DID_ATTACK_HOLY, mon->hit_dice, !okay, mon); diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 4d7b766c58..0f820c4f93 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -611,6 +611,9 @@ bool melee_attack::attack() conduct.set(DID_ATTACK_FRIEND, 5, true, def); else if (mons_neutral(def)) conduct.set(DID_ATTACK_NEUTRAL, 5, true, def); + + if (mons_is_holy(def)) + did_god_conduct(DID_ATTACK_HOLY, def->hit_dice, true, def); } // Trying to stay general beyond this point is a recipe for insanity. @@ -1184,9 +1187,6 @@ bool melee_attack::player_apply_aux_unarmed() if (damage_brand == SPWPN_VENOM && coinflip()) poison_monster( def, KC_YOU ); - if (mons_holiness(def) == MH_HOLY) - did_god_conduct(DID_ATTACK_HOLY, 1, true, def); - // normal vampiric biting attack, not if already got stabbing special if (damage_brand == SPWPN_VAMPIRICISM && you.species == SP_VAMPIRE && (!stab_attempt || stab_bonus <= 0)) @@ -1485,7 +1485,7 @@ int melee_attack::player_stab(int damage) exercise(SK_STABBING, 1 + random2avg(5, 4)); - did_god_conduct(DID_STABBING, 5); + did_god_conduct(DID_STABBING, 4); } else { @@ -1761,9 +1761,6 @@ void melee_attack::player_check_weapon_effects() // Returns true if the combat round should end here. bool melee_attack::player_monattk_hit_effects(bool mondied) { - if (!mondied && mons_holiness(def) == MH_HOLY) - did_god_conduct(DID_ATTACK_HOLY, 1, true, def); - player_check_weapon_effects(); // thirsty vampires will try to use a stabbing situation to draw blood @@ -2897,7 +2894,7 @@ void melee_attack::player_stab_check() } } - did_god_conduct(DID_UNCHIVALRIC_ATTACK, 5, true, def); + did_god_conduct(DID_UNCHIVALRIC_ATTACK, 4, true, def); } } diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc index a86da4b960..c5e3cb5232 100644 --- a/crawl-ref/source/spells2.cc +++ b/crawl-ref/source/spells2.cc @@ -1218,7 +1218,7 @@ char burn_freeze(int pow, beam_type flavour) conduct.set(DID_ATTACK_NEUTRAL, 5, true, monster); if (is_unchivalric_attack(&you, monster, monster)) - conduct.set(DID_UNCHIVALRIC_ATTACK, 5, true, monster); + conduct.set(DID_UNCHIVALRIC_ATTACK, 4, true, monster); if (mons_is_holy(monster)) conduct.set(DID_ATTACK_HOLY, monster->hit_dice); diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc index f7095ac5c7..0d5f064560 100644 --- a/crawl-ref/source/spells3.cc +++ b/crawl-ref/source/spells3.cc @@ -220,7 +220,7 @@ int cast_smiting(int power, dist &beam) conduct.set(DID_ATTACK_NEUTRAL, 5, true, monster); if (is_unchivalric_attack(&you, monster, monster)) - conduct.set(DID_UNCHIVALRIC_ATTACK, 5, true, monster); + conduct.set(DID_UNCHIVALRIC_ATTACK, 4, true, monster); if (mons_is_holy(monster)) conduct.set(DID_ATTACK_HOLY, monster->hit_dice, true, monster); -- cgit v1.2.3-54-g00ecf