Fix [2484631]: Move all monster-based experience-draining effects other

than the setting of special_damage from mons_apply_attack_flavour() to mons_perform_attack_rounds(), after the check for chaos effects' banishing the defender.

Without this, the latter check, which only determines if a monster is alive, can succeed on mortally draining a monster as well as banishing it, and the drained monster's death event will never be triggered.
Among other things, the check is based on the assumption that all attack flavors only set special_damage instead of directly damaging and possibly killing the monster. With this, the assumption is now true.

The change in r8336 to allow cleanup of the dead in monsters::hurt() even for already dead monsters is necessary for this, as well, since draining can still kill the monster via monsters::hurt() before special_damage does.

git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8338 c06c8d41-db1a-0410-9941-cceddc491573

Created by  dolorous  on January 8, 2009
UJXSA7XD3VRGAUKFZ2BJAISAXOXTU6HNBEWT4FGBVQLQD5R2QB4QC
Change contents