From d08efca201888e988f95e5761f31e9a890948091 Mon Sep 17 00:00:00 2001 From: treeston Date: Sun, 14 Aug 2016 00:29:37 +0200 Subject: 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(+) (limited to 'src') 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); -- cgit v1.2.3