aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-12-18 19:10:45 +0100
committerShauren <shauren.trinity@gmail.com>2020-12-18 19:10:45 +0100
commitb100917c6877a4c9a2f20a1a61f111a91e78db01 (patch)
treebc551b461644e9138fd561318007366a88941150 /src
parent6f015cbfd8963e716d2570d084a99fe935c3e3a1 (diff)
Core/Players: Fixed barbershop not changing model when changing gender
Closes #25742
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp8
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);