From 397ab12c5ba31825ad7639e5e197b719f61d08ab Mon Sep 17 00:00:00 2001 From: Stefan O'Rear Date: Sat, 7 Nov 2009 14:49:09 -0800 Subject: Vampiricism tweaks per FR#2892713 --- crawl-ref/source/it_use2.cc | 10 ++++++++-- crawl-ref/source/item_use.cc | 25 +++++++++++++++++++++---- crawl-ref/source/makeitem.cc | 9 --------- 3 files changed, 29 insertions(+), 15 deletions(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/it_use2.cc b/crawl-ref/source/it_use2.cc index ce7d4292ea..4e03196a09 100644 --- a/crawl-ref/source/it_use2.cc +++ b/crawl-ref/source/it_use2.cc @@ -536,8 +536,14 @@ bool unwield_item(bool showMsgs) break; case SPWPN_VAMPIRICISM: - if (showMsgs) - mpr("You feel the strange hunger wane."); + if (showMsgs){ + + if(you.species == SP_VAMPIRE){ + mpr("You feel your glee subside."); + } else { + mpr("You feel the dreadful sensation subside."); + } + } break; case SPWPN_DISTORTION: diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 7868fc939f..8b612f89b6 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -167,6 +167,13 @@ bool can_wield(item_def *weapon, bool say_reason, return (false); } + if(you.hunger_state < HS_FULL && + SPWPN_VAMPIRICISM == get_weapon_brand(*weapon) && + you.species != SP_VAMPIRE){ + SAY(mpr("You're too hungry to wield that.")); + return(false); + } + if (!ignore_temporary_disability && is_shield_incompatible(*weapon)) { SAY(mpr("You can't wield that with a shield.")); @@ -604,10 +611,20 @@ void wield_effects(int item_wield_2, bool showMsgs) break; case SPWPN_VAMPIRICISM: - if (you.is_undead != US_UNDEAD) - mpr("You feel a strange hunger."); - else - mpr("You feel strangely empty."); + + + if(you.species == SP_VAMPIRE){ + mpr("You feel a bloodthirsty glee!"); + break; + } + + if (you.is_undead != US_UNDEAD) { + mpr("You feel a dreadful hunger."); + } else { + mpr("You feel an empty sense of dread."); + } + + make_hungry(4500, false, false); break; case SPWPN_RETURNING: diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc index 3fabf1e128..3567d9a90c 100644 --- a/crawl-ref/source/makeitem.cc +++ b/crawl-ref/source/makeitem.cc @@ -1203,9 +1203,6 @@ static brand_type _determine_weapon_brand(const item_def& item, int item_level) if (one_chance_in(4)) rc = coinflip() ? SPWPN_FLAMING : SPWPN_FREEZING; - - if (one_chance_in(20)) - rc = SPWPN_VAMPIRICISM; // **** intentional fall through here **** case WPN_MACE: case WPN_GREAT_MACE: @@ -1394,9 +1391,6 @@ static brand_type _determine_weapon_brand(const item_def& item, int item_level) if (one_chance_in(25)) rc = SPWPN_PAIN; - if (one_chance_in(10)) - rc = SPWPN_VAMPIRICISM; - if (item.sub_type == WPN_SPEAR && one_chance_in(6)) rc = SPWPN_RETURNING; @@ -1505,9 +1499,6 @@ static brand_type _determine_weapon_brand(const item_def& item, int item_level) if (one_chance_in(5)) rc = SPWPN_ELECTROCUTION; - if (one_chance_in(5)) - rc = SPWPN_VAMPIRICISM; - if (one_chance_in(5)) rc = SPWPN_VENOM; break; -- cgit v1.2.3-54-g00ecf