From c95ef49e8b5c1b4acf152843ba1858f681af7d32 Mon Sep 17 00:00:00 2001 From: dolorous Date: Thu, 1 Jan 2009 22:23:54 +0000 Subject: Add miscellaneous minor fixes. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8091 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/delay.cc | 10 ++++++++-- crawl-ref/source/misc.cc | 12 ++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'crawl-ref/source') 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); -- cgit v1.2.3-54-g00ecf