summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
authorMatthew Cline <zelgadis@sourceforge.net>2009-11-12 20:15:52 -0800
committerMatthew Cline <zelgadis@sourceforge.net>2009-11-12 20:16:21 -0800
commitbe0551c2205ac189be5558447625642553c80dd3 (patch)
tree65bb0a2b8e30c9f8bc88a67968f6a91420d28163 /crawl-ref/source/beam.cc
parent81909732f69d66ccd53c0701bbb7c6507ecec5b1 (diff)
downloadcrawl-ref-be0551c2205ac189be5558447625642553c80dd3.tar.gz
crawl-ref-be0551c2205ac189be5558447625642553c80dd3.zip
porkulator: completely restore reverted monsters
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 864d38d439..b5f7e83590 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -5371,13 +5371,20 @@ mon_resist_type bolt::apply_enchantment_to_monster(monsters* mon)
if (mons_is_ghost_demon(mon->type))
return (MON_UNAFFECTED);
- monster_type orig_type = mon->type;
+ monsters orig_mon(*mon);
if (monster_polymorph(mon, (mon->holiness() == MH_DEMONIC ?
MONS_HELL_HOG : MONS_HOG)))
{
obvious_effect = true;
+
+ // Don't restore items to monster if it reverts.
+ orig_mon.inv = mon->inv;
+
+ // For monster reverting to original form.
+ mon->props[ORIG_MONSTER_KEY] = orig_mon;
}
- mon->number = ((int) orig_type + 1);
+
+
return (MON_AFFECTED);
}