From 1fc6f18024ea035eb316011eb10ceaeffec7d26c Mon Sep 17 00:00:00 2001 From: treeston Date: Sun, 14 Aug 2016 00:29:37 +0200 Subject: [PATCH] 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. --- src/server/game/Entities/Player/Player.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b829a78e87..7f9dc3a1dc 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1639,6 +1639,9 @@ bool Player::BuildEnumData(PreparedQueryResult result, ByteBuffer* dataBuffer, B { TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", guid.ToString().c_str()); + // 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);