diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index ca4768c7999..510d609da5d 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1686,7 +1686,13 @@ void WorldSession::HandleAlterAppearance(WorldPackets::Character::AlterApperance _player->ModifyMoney(-cost); // it isn't free _player->UpdateCriteria(CRITERIA_TYPE_GOLD_SPENT_AT_BARBER, cost); - _player->SetNativeSex(packet.NewSex); + if (_player->GetNativeSex() != packet.NewSex) + { + _player->SetNativeSex(packet.NewSex); + _player->InitDisplayIds(); + _player->RestoreDisplayId(false); + } + _player->SetCustomizations(Trinity::Containers::MakeIteratorPair(packet.Customizations.begin(), packet.Customizations.end())); _player->UpdateCriteria(CRITERIA_TYPE_VISIT_BARBER_SHOP, 1); |