diff options
author | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-12 20:15:52 -0800 |
---|---|---|
committer | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-12 20:16:21 -0800 |
commit | be0551c2205ac189be5558447625642553c80dd3 (patch) | |
tree | 65bb0a2b8e30c9f8bc88a67968f6a91420d28163 /crawl-ref/source/beam.cc | |
parent | 81909732f69d66ccd53c0701bbb7c6507ecec5b1 (diff) | |
download | crawl-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.cc | 11 |
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); } |