summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-01 22:23:54 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-01 22:23:54 +0000
commitc95ef49e8b5c1b4acf152843ba1858f681af7d32 (patch)
tree25c9b48556909e7651ea26eb601da54bbb07049d /crawl-ref/source
parent6b86fb90d8b5fd3037dc1d7aca49548e17702ddc (diff)
downloadcrawl-ref-c95ef49e8b5c1b4acf152843ba1858f681af7d32.tar.gz
crawl-ref-c95ef49e8b5c1b4acf152843ba1858f681af7d32.zip
Add miscellaneous minor fixes.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8091 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/delay.cc10
-rw-r--r--crawl-ref/source/misc.cc12
2 files changed, 14 insertions, 8 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index 8e89bfdec3..1cb974fbdb 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -461,6 +461,7 @@ void stop_delay( bool stop_stair_travel )
{
mpr("You stop draining the corpse.");
_xom_check_corpse_waste();
+
item_def &corpse = (delay.parm1 ? you.inv[delay.parm2]
: mitm[delay.parm2]);
@@ -1175,7 +1176,10 @@ static void _finish_delay(const delay_queue_item &delay)
if (delay.type == DELAY_BOTTLE_BLOOD)
{
mpr("You finish bottling this corpse's blood.");
- turn_corpse_into_blood_potions(mitm[delay.parm1]);
+
+ item_def &corpse = mitm[delay.parm1];
+
+ turn_corpse_into_blood_potions(corpse);
}
else
{
@@ -1208,7 +1212,9 @@ static void _finish_delay(const delay_queue_item &delay)
mpr("What a waste.");
}
- turn_corpse_into_chunks(mitm[delay.parm1]);
+ item_def &corpse = mitm[delay.parm1];
+
+ turn_corpse_into_skeleton_and_chunks(corpse);
if (you.duration[DUR_BERSERKER]
&& you.berserk_penalty != NO_BERSERK_PENALTY)
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 8442ad9c2b..9175c51df5 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -159,7 +159,7 @@ void turn_corpse_into_skeleton(item_def &item, int time)
void turn_corpse_into_chunks(item_def &item)
{
- ASSERT(item.base_type == OBJ_CORPSES);
+ ASSERT(item.base_type == OBJ_CORPSES && item.sub_type == CORPSE_BODY);
const int max_chunks = mons_weight(item.plus) / 150;
@@ -931,18 +931,18 @@ int num_blood_potions_from_corpse(int mons_class, int chunk_type)
}
// If autopickup is active, the potions are auto-picked up after creation.
-void turn_corpse_into_blood_potions( item_def &item )
+void turn_corpse_into_blood_potions(item_def &item)
{
- ASSERT( item.base_type == OBJ_CORPSES );
- ASSERT( !food_is_rotten(item) );
+ ASSERT(item.base_type == OBJ_CORPSES);
+ ASSERT(!food_is_rotten(item));
const int mons_class = item.plus;
- ASSERT( can_bottle_blood_from_corpse(mons_class) );
+ ASSERT(can_bottle_blood_from_corpse(mons_class));
item.base_type = OBJ_POTIONS;
item.sub_type = POT_BLOOD;
item_colour(item);
- item.flags &= ~(ISFLAG_THROWN | ISFLAG_DROPPED);
+ item.flags &= ~(ISFLAG_THROWN | ISFLAG_DROPPED);
item.quantity = num_blood_potions_from_corpse(mons_class);