From cd7eef7945fc2fa64ca543d23809cc7c166f125a Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Thu, 20 Oct 2022 19:44:18 +0200 Subject: [PATCH] Core/GameObjects: validate gameobject rotation on startup --- src/server/game/Globals/ObjectMgr.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 0d7c37dacc..09dbde3cf8 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2536,6 +2536,12 @@ void ObjectMgr::LoadGameObjects() continue; } + if (!data.rotation.isUnit()) + { + TC_LOG_ERROR("sql.sql", "Table `gameobject` has gameobject (GUID: %u Entry: %u) with invalid rotation quaternion (non-unit), defaulting to orientation on Z axis only", guid, data.id); + data.rotation = QuaternionData::fromEulerAnglesZYX(data.spawnPoint.GetOrientation(), 0.0f, 0.0f); + } + if (sWorld->getBoolConfig(CONFIG_CALCULATE_GAMEOBJECT_ZONE_AREA_DATA)) { uint32 zoneId = 0;