mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Fixed Drain Soul and Shadowburn Soul Shard on target death. Closes issue 1058.
--HG-- branch : trunk
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/*########################################
|
||||
|
||||
Reference in New Issue
Block a user