Fixed Drain Soul and Shadowburn Soul Shard on target death. Closes issue 1058.

--HG--
branch : trunk
This commit is contained in:
Xanadu
2010-03-15 02:59:21 +01:00
parent 1845a9588d
commit 8cc3d2ad7f
2 changed files with 12 additions and 8 deletions

View File

@@ -11976,6 +11976,11 @@ void Unit::SetHover(bool on)
void Unit::setDeathState(DeathState s)
{
// death state needs to be updated before RemoveAllAurasOnDeath() calls HandleChannelDeathItem(..) so that
// it can be used to check creation of death items (such as soul shards).
DeathState oldDeathState = m_deathState;
m_deathState = s;
if (s != ALIVE && s != JUST_ALIVED)
{
CombatStop();
@@ -12012,13 +12017,12 @@ void Unit::setDeathState(DeathState s)
else if (s == JUST_ALIVED)
RemoveFlag (UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); // clear skinnable for creature and player (at battleground)
if (m_deathState != ALIVE && s == ALIVE)
if (oldDeathState != ALIVE && s == ALIVE)
{
//_ApplyAllAuraMods();
// Reset display id on resurection - needed by corpse explosion to cleanup after display change
SetDisplayId(GetNativeDisplayId());
}
m_deathState = s;
}
/*########################################