diff options
Diffstat (limited to 'crawl-ref/source/mgrow.cc')
-rw-r--r-- | crawl-ref/source/mgrow.cc | 11 |
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() |