summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mgrow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mgrow.cc')
-rw-r--r--crawl-ref/source/mgrow.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/crawl-ref/source/mgrow.cc b/crawl-ref/source/mgrow.cc
index a1bd83cc4d..490c1ec308 100644
--- a/crawl-ref/source/mgrow.cc
+++ b/crawl-ref/source/mgrow.cc
@@ -10,6 +10,7 @@
REVISION("$Rev$");
#include "enum.h"
+#include "ghost.h"
#include "mgrow.h"
#include "mon-util.h"
#include "monstuff.h"
@@ -138,6 +139,16 @@ void monsters::upgrade_type(monster_type after, bool adjust_hd,
hit_points = std::min(hit_points, max_hit_points);
}
}
+
+ // An ugly thing is the only ghost demon monster that can level up.
+ // If one has leveled up to a very ugly thing, upgrade it properly.
+ //
+ // XXX: There should be a better way to do this!
+ if (type == MONS_VERY_UGLY_THING)
+ {
+ ghost->ugly_thing_to_very_ugly_thing();
+ uglything_init();
+ }
}
bool monsters::level_up_change()