summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/food.cc39
1 files changed, 21 insertions, 18 deletions
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc
index 26d07231a2..318f59a38a 100644
--- a/crawl-ref/source/food.cc
+++ b/crawl-ref/source/food.cc
@@ -502,23 +502,27 @@ bool prompt_eat_from_inventory(int slot)
return (false);
}
- if (slot == -1 && you.species == SP_VAMPIRE)
+ int which_inventory_slot;
+
+ if (you.species != SP_VAMPIRE)
{
- slot = prompt_invent_item( "Drain what?",
- MT_INVLIST,
- OSEL_VAMP_EAT,
- true, true, true, 0, NULL,
- OPER_EAT );
+ which_inventory_slot = (slot != -1) ? slot :
+ prompt_invent_item( "Eat which item?",
+ MT_INVLIST,
+ OBJ_FOOD,
+ true, true, true, 0, NULL,
+ OPER_EAT );
}
-
- int which_inventory_slot = (slot != -1)? slot:
- prompt_invent_item(
- "Eat which item?",
- MT_INVLIST,
- OBJ_FOOD,
- true, true, true, 0, NULL,
- OPER_EAT );
-
+ else
+ {
+ which_inventory_slot = (slot != -1) ? slot :
+ prompt_invent_item( "Drain what?",
+ MT_INVLIST,
+ OSEL_VAMP_EAT,
+ true, true, true, 0, NULL,
+ OPER_EAT );
+ }
+
if (which_inventory_slot == PROMPT_ABORT)
{
canned_msg( MSG_OK );
@@ -533,15 +537,14 @@ bool prompt_eat_from_inventory(int slot)
mpr("You can't eat that!");
return (false);
}
-
- if (you.species == SP_VAMPIRE &&
+ else if (you.species == SP_VAMPIRE &&
(you.inv[which_inventory_slot].base_type != OBJ_CORPSES
|| you.inv[which_inventory_slot].sub_type != CORPSE_BODY))
{
mpr("You crave blood!");
return (false);
}
-
+
if (!can_ingest( you.inv[which_inventory_slot].base_type,
you.inv[which_inventory_slot].sub_type, false ))
{