aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-08-14 00:29:37 +0200
committertreeston <treeston.mmoc@gmail.com>2016-08-14 00:29:37 +0200
commitd08efca201888e988f95e5761f31e9a890948091 (patch)
treec71cb08b640a306401319237ab04fe9bc27e0c28
parent829d550c1b84060541b4371b722472ff192fb4c9 (diff)
Entities/Player: Fixed an edge case bug that could cause a character to get stuck in forced recustomization indefinitely if two or more appearance properties were out of bounds.
-rw-r--r--src/server/game/Entities/Player/Player.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index f7644f2703c..b10404f3dab 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -1645,6 +1645,9 @@ bool Player::BuildEnumData(PreparedQueryResult result, WorldPacket* data)
{
TC_LOG_ERROR("entities.player.loading", "Player %u has wrong Appearance values (Hair/Skin/Color), forcing recustomize", guid);
+ // Make sure customization always works properly - send all zeroes instead
+ skin = 0, face = 0, hairStyle = 0, hairColor = 0, facialStyle = 0;
+
if (!(atLoginFlags & AT_LOGIN_CUSTOMIZE))
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);