Core/Misc: Fix change faction on dead Night Elves keeping the speed buff

Fix change faction on dead Night Elves causing the new player keeping the 175% wisp speed buff.
Players will be resurrected automatically on change faction.
Closes #255
This commit is contained in:
jackpoz committed 2014-04-20 15:02:19 +02:00
1 parent fc538c5088
commit e830225b21
2 files changed
+6 -2

No files matched your search

+3 -2
View File
@@ -5149,8 +5149,9 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
// remove death flag + set aura
SetByteValue(UNIT_FIELD_BYTES_1, 3, 0x00);
if (getRace() == RACE_NIGHTELF)
RemoveAurasDueToSpell(20584); // speed bonuses
// This must be called always even on Players with race != RACE_NIGHTELF in case of faction change
RemoveAurasDueToSpell(20584); // RACE_NIGHTELF speed bonuses
RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST
if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0))
@@ -1768,6 +1768,9 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
}
}
// resurrect the character in case he's dead
sObjectAccessor->ConvertCorpseForPlayer(guid);
CharacterDatabase.EscapeString(newname);
Player::Customize(guid, gender, skin, face, hairStyle, hairColor, facialHair);
SQLTransaction trans = CharacterDatabase.BeginTransaction();