summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/misc.cc6
-rw-r--r--crawl-ref/source/monplace.cc20
2 files changed, 20 insertions, 6 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 2bd6b519e4..9ac9cdf9d3 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -150,6 +150,12 @@ void turn_corpse_into_skeleton(item_def &corpse, int time)
{
corpse.plus = MONS_DRACONIAN;
}
+ // The same goes for rat corpses.
+ else if (mons_genus(corpse.plus) == MONS_RAT
+ && corpse.plus != MONS_RAT)
+ {
+ corpse.plus = MONS_RAT;
+ }
corpse.sub_type = CORPSE_SKELETON;
corpse.special = time;
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc
index 63b9a6f0be..0c1f05d43b 100644
--- a/crawl-ref/source/monplace.cc
+++ b/crawl-ref/source/monplace.cc
@@ -1080,13 +1080,21 @@ static void _define_zombie( int mid, monster_type ztype,
if (zombie_size != -1 && mons_zombie_size(cls) != zombie_size)
continue;
- // Skeletal or icy draconians shouldn't be coloured.
- // How could you tell?
- if ((cs == MONS_SKELETON_SMALL || cs == MONS_SIMULACRUM_SMALL)
- && mons_genus(cls) == MONS_DRACONIAN
- && cls != MONS_DRACONIAN)
+ if (cs == MONS_SKELETON_SMALL || cs == MONS_SIMULACRUM_SMALL)
{
- cls = MONS_DRACONIAN;
+ // Skeletal or icy draconians shouldn't be coloured.
+ // How could you tell?
+ if (mons_genus(cls) == MONS_DRACONIAN
+ && cls != MONS_DRACONIAN)
+ {
+ cls = MONS_DRACONIAN;
+ }
+ // The same goes for rats.
+ else if (mons_genus(cls) == MONS_RAT
+ && cls != MONS_RAT)
+ {
+ cls = MONS_RAT;
+ }
}
// Hack -- non-dungeon zombies are always made out of nastier