summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 8a8283f64d..6e3bc12d80 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -4741,7 +4741,8 @@ bool monsters::eat_corpse(item_def &item, int near)
// Assume that eating a corpse requires butchering it.
//
- // Use logic from misc.cc:turn_corpse_into_chunks().
+ // Use logic from misc.cc:turn_corpse_into_chunks() and
+ // the butchery-related delays in delay.cc:stop_delay().
const int max_chunks = mons_weight(item.plus) / 150;
@@ -4749,7 +4750,10 @@ bool monsters::eat_corpse(item_def &item, int near)
if (!food_is_rotten(item))
bleed_onto_floor(pos(), item.plus, max_chunks, true);
- destroy_item(item.index());
+ if (mons_skeleton(item.plus) && one_chance_in(4))
+ turn_corpse_into_skeleton(item);
+ else
+ destroy_item(item.index());
return (true);
}