diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-01 23:20:18 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-01 23:20:18 +0000 |
commit | 151e03aa3be3015e394dba00cc16e8024031c87f (patch) | |
tree | 4e3febf2b67c54ef87b348cbb0ba17e0be1db079 /crawl-ref/source/delay.cc | |
parent | 9bd7a3af19172474a95751224c4bb2f5e7e31ac3 (diff) | |
download | crawl-ref-151e03aa3be3015e394dba00cc16e8024031c87f.tar.gz crawl-ref-151e03aa3be3015e394dba00cc16e8024031c87f.zip |
Add various long-standing skeleton changes, to compensate for their
stairs-related weakness:
* For consistency, skeletons created by vampire draining now have the
normal duration of 200, instead of 90. To compensate for this, they are
left 25% of the time imstead of 75%.
* Skeletons can now be left after butchering corpses, with the same
chance of 25%, so that vampires don't have an exclusive advantage.
* Monsters that eat corpses (and effectively butcher them) can leave
skeletons from doing so, with the same chance of 25%.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8095 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/delay.cc')
-rw-r--r-- | crawl-ref/source/delay.cc | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc index aa0cd0bc30..e3fef159d0 100644 --- a/crawl-ref/source/delay.cc +++ b/crawl-ref/source/delay.cc @@ -465,12 +465,11 @@ void stop_delay( bool stop_stair_travel ) item_def &corpse = (delay.parm1 ? you.inv[delay.parm2] : mitm[delay.parm2]); - if (mons_skeleton(corpse.plus)) - { - mpr("All blood oozes out of the corpse!"); - bleed_onto_floor(you.pos(), corpse.plus, delay.duration, false); - turn_corpse_into_skeleton(corpse, 90); - } + mpr("All blood oozes out of the corpse!"); + bleed_onto_floor(you.pos(), corpse.plus, delay.duration, false); + + if (mons_skeleton(corpse.plus) && one_chance_in(4)) + turn_corpse_into_skeleton(corpse); else { if (delay.parm1) @@ -1093,7 +1092,7 @@ static void _finish_delay(const delay_queue_item &delay) vampire_nutrition_per_turn(corpse, 1); if (mons_skeleton(corpse.plus) && !one_chance_in(4)) - turn_corpse_into_skeleton(corpse, 90); + turn_corpse_into_skeleton(corpse); else { if (delay.parm1) @@ -1214,7 +1213,10 @@ static void _finish_delay(const delay_queue_item &delay) item_def &corpse = mitm[delay.parm1]; - turn_corpse_into_chunks(corpse); + if (mons_skeleton(corpse.plus) && one_chance_in(4)) + turn_corpse_into_skeleton_and_chunks(corpse); + else + turn_corpse_into_chunks(corpse); if (you.duration[DUR_BERSERKER] && you.berserk_penalty != NO_BERSERK_PENALTY) |