From 78748bff93f38d06b74caec0d8be5e2479d1d65f 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. (cherry picked from commit d08efca201888e988f95e5761f31e9a890948091) # Conflicts: # src/server/game/Entities/Player/Player.cpp --- src/server/game/Handlers/CharacterHandler.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 6f9b64d6cf5..467424b1d83 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -297,6 +297,9 @@ void WorldSession::HandleCharEnum(PreparedQueryResult result) { TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str()); + // Make sure customization always works properly - send all zeroes instead + charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0; + if (!(charInfo.CustomizationFlag == CHAR_CUSTOMIZE_FLAG_CUSTOMIZE)) { PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG); -- cgit v1.2.3