summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/item_use.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-05 08:39:20 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-05 08:39:20 +0000
commit3423bbab5a0f024eeafffe6b8260c8c088647db1 (patch)
tree7ac6d73449b874aba363c80d57a097833bcf7613 /crawl-ref/source/item_use.cc
parent166e51b5cc6e35ec1bea7dd24e9e6ae549ac3dde (diff)
downloadcrawl-ref-3423bbab5a0f024eeafffe6b8260c8c088647db1.tar.gz
crawl-ref-3423bbab5a0f024eeafffe6b8260c8c088647db1.zip
First attempt at making vampire feeding interruptible. It doesn't work
yet (I had "You stop feeding" followed by "You continue feeding" including full effects), but it's probably better to commit now anyway. Known potions of blood or porridge cannot be quaffed when engorged (alive). Also clean up blood potions check. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4871 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r--crawl-ref/source/item_use.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index 2bb7f66607..a6c10853d4 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -3505,11 +3505,19 @@ void drink( int slot )
const bool alreadyknown = item_type_known(you.inv[item_slot]);
+ if (you.hunger_state == HS_ENGORGED && alreadyknown
+ && (is_blood_potion(you.inv[item_slot])
+ || you.inv[item_slot].sub_type == POT_PORRIDGE))
+ {
+ mpr("You are much too full right now.");
+ return;
+ }
+
// The "> 1" part is to reduce the amount of times that Xom is
// stimulated when you are a low-level 1 trying your first unknown
// potions on monsters.
const bool dangerous =
- player_in_a_dangerous_place() && (you.experience_level > 1);
+ (player_in_a_dangerous_place() && you.experience_level > 1);
if (potion_effect(static_cast<potion_type>(you.inv[item_slot].sub_type),
40, alreadyknown))
@@ -3531,8 +3539,7 @@ void drink( int slot )
xom_is_stimulated(255);
}
- if (you.inv[item_slot].sub_type == POT_BLOOD
- || you.inv[item_slot].sub_type == POT_BLOOD_COAGULATED)
+ if (is_blood_potion(you.inv[item_slot]))
{
// always drink oldest potion
remove_oldest_blood_potion(you.inv[item_slot]);