Core/Auras: Prevent remove of auras interrupted by turning if the turn could be caused by float calculation error (#18595)

This commit is contained in:
xinef1
2017-01-21 14:49:06 +01:00
committed by Shauren
parent ba6281bf42
commit 38f9919a37

View File

@@ -13510,7 +13510,8 @@ bool Unit::UpdatePosition(float x, float y, float z, float orientation, bool tel
return false;
}
bool const turn = (GetOrientation() != orientation);
// Check if angular distance changed
bool const turn = G3D::fuzzyGt(M_PI - fabs(fabs(GetOrientation() - orientation) - M_PI), 0.0f);
// G3D::fuzzyEq won't help here, in some cases magnitudes differ by a little more than G3D::eps, but should be considered equal
bool const relocated = (teleport ||