diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-06-08 19:52:52 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-06-08 19:52:52 +0000 |
commit | e628026533c6037acce8ce945425ce1523285a15 (patch) | |
tree | 65552b246f862612f51ec3fc66888462011bde80 /crawl-ref/source/fight.cc | |
parent | 59b0b82d8f9b8c0be8a1ea405c3b4127233e8e18 (diff) | |
download | crawl-ref-e628026533c6037acce8ce945425ce1523285a15.tar.gz crawl-ref-e628026533c6037acce8ce945425ce1523285a15.zip |
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
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 27 |
1 files changed, 17 insertions, 10 deletions
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; |