fix found
took a while but found a solution
new code:
local turretOrigin = chassis.Turret.GunRotateBase
local x = math.abs(mouse.Hit.Position.X - turretOrigin.Position.X)
local y = math.abs(mouse.Hit.Position.Y - turretOrigin.Position.Y)
local angle = math.atan2(y, x)
if mouse.Hit.Position.Y < turretOrigin.Position.Y then
angle = -angle
end
turret.TargetAngle = math.deg(angle)