From e628026533c6037acce8ce945425ce1523285a15 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 8 Jun 2008 19:52:52 +0000 Subject: Lower chance of vampiric bite during bat form, and if it happens, halve healing and nutrition gain. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5606 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/fight.cc | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'crawl-ref/source/fight.cc') diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index e460f85141..d420986590 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -719,8 +719,15 @@ static bool _player_vampire_draws_blood(const int mons, const int damage, if (chunk_type == CE_CLEAN) heal += 1 + random2(damage); - inc_hp(heal, false); - mprf("You feel %sbetter.", (you.hp == you.hp_max) ? "much " : ""); + // Decrease healing when done in bat form. + if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + heal /= 2; + + if (heal > 0) + { + inc_hp(heal, false); + mprf("You feel %sbetter.", (you.hp == you.hp_max) ? "much " : ""); + } } // Gain nutrition. @@ -735,9 +742,9 @@ static bool _player_vampire_draws_blood(const int mons, const int damage, food_value = 15 + random2avg(29, 2); } - // Bats get a little less nutrition out of it + // Bats get a rather less nutrition out of it. if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) - food_value -= 5 + random2(16); + food_value /= 2; lessen_hunger(food_value, false); } @@ -819,7 +826,7 @@ bool melee_attack::player_attack() player_sustain_passive_damage(); - // thirsty stabbing vampires get to draw blood + // Thirsty stabbing vampires get to draw blood. if (you.species == SP_VAMPIRE && you.hunger_state < HS_SATIATED && stab_attempt && stab_bonus > 0) { @@ -832,8 +839,8 @@ bool melee_attack::player_attack() if (hit_woke_orc) { - // call function of orcs first noticing you but with - // beaten-up conversion messages (if applicable) + // Call function of orcs first noticing you, but with + // beaten-up conversion messages (if applicable). beogh_follower_convert(def, true); } } @@ -1194,7 +1201,7 @@ bool melee_attack::player_apply_aux_unarmed() if (damage_brand == SPWPN_VENOM && coinflip()) poison_monster( def, KC_YOU ); - // normal vampiric biting attack, not if already got stabbing special + // Normal vampiric biting attack, not if already got stabbing special. if (damage_brand == SPWPN_VAMPIRICISM && you.species == SP_VAMPIRE && (!stab_attempt || stab_bonus <= 0)) { @@ -1788,7 +1795,7 @@ bool melee_attack::player_monattk_hit_effects(bool mondied) { mpr("You feel better."); - // more than if not killed + // More than if not killed. const int heal = 1 + random2(damage_done); #ifdef DEBUG_DIAGNOSTICS @@ -3022,7 +3029,7 @@ int melee_attack::player_calc_base_unarmed_damage() damage = 5; break; case TRAN_BAT: - damage = (you.species == SP_VAMPIRE ? 2 : 1); + damage = (you.species == SP_VAMPIRE ? 1 : coinflip()); break; case TRAN_ICE_BEAST: damage = 12; -- cgit v1.2.3-54-g00ecf