summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemname.cc
diff options
context:
space:
mode:
authorChris Campbell <chriscampbell89@gmail.com>2014-05-21 18:19:01 +0100
committerChris Campbell <chriscampbell89@gmail.com>2014-05-21 23:28:19 +0100
commite6cc52ce78a6bd57ad6659bf073e19e20d2bf90f (patch)
treef73950a8f484fc8e654fc6995f27a00af4c02475 /crawl-ref/source/itemname.cc
parent5724c68feccaa13f1328e78a0024b86e5e9de34c (diff)
downloadcrawl-ref-e6cc52ce78a6bd57ad6659bf073e19e20d2bf90f.tar.gz
crawl-ref-e6cc52ce78a6bd57ad6659bf073e19e20d2bf90f.zip
Allow Vampires to mutate normally at all thirst levels
They're already distinct from other undead in that they can mutate sometimes, and thematically they're all about changing state and form. They could already mutate while starving via benefical mutation, even.
Diffstat (limited to 'crawl-ref/source/itemname.cc')
-rw-r--r--crawl-ref/source/itemname.cc17
1 files changed, 5 insertions, 12 deletions
diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc
index 0b9033bb57..eeee364d57 100644
--- a/crawl-ref/source/itemname.cc
+++ b/crawl-ref/source/itemname.cc
@@ -3074,11 +3074,6 @@ bool is_bad_item(const item_def &item, bool temp)
// Poison is not that bad if you're poison resistant.
return player_res_poison(false) <= 0
|| !temp && you.species == SP_VAMPIRE;
- case POT_MUTATION:
- // Not bad_item, just useless, for mummies, ghouls, and liches,
- // as they can't even drink known mutation potions.
- return temp && you.species == SP_VAMPIRE
- && you.hunger_state < HS_SATIATED;
default:
return false;
}
@@ -3147,8 +3142,11 @@ bool is_dangerous_item(const item_def &item, bool temp)
switch (item.sub_type)
{
case POT_MUTATION:
+ // Non-vampire undead can't be mutated.
+ return !you.is_undead
+ || you.is_undead == US_SEMI_UNDEAD;
case POT_LIGNIFY:
- // Only living characters can mutate or change form
+ // Only living characters can change form.
return !you.is_undead
|| temp && you.species == SP_VAMPIRE
&& you.hunger_state >= HS_SATIATED;
@@ -3353,14 +3351,9 @@ bool is_useless_item(const item_def &item, bool temp)
case POT_GAIN_INTELLIGENCE:
case POT_GAIN_DEXTERITY:
#endif
- if (you.species == SP_VAMPIRE)
- {
- return temp && you.hunger_state < HS_SATIATED
- && item.sub_type != POT_BENEFICIAL_MUTATION;
- }
if (you.form == TRAN_LICH)
return temp;
- return you.is_undead;
+ return you.is_undead && you.is_undead != US_SEMI_UNDEAD;
case POT_LIGNIFY:
return you.is_undead