**Edit:** The fix is live! Thanks @JayKyburz!

The game has a `slideCenterPointInMap`

function that is supposed to move your screen so it’s centered on whatever it’s trying to show you. A lot of the time, it will decide that the best way to do this is to take you around the world in what seems like the wrong direction. There’s a fix you can paste in your javascript console when the game is your active window (Hit f12 or google it for instructions) below.

Here’s a video of before and after (sped up): https://www.youtube.com/watch?v=PHgc7_PRyhc

Here’s the fix:

```
function findWidgetWithProperty(parent, property) {
if (parent && parent.children) {
for (var i = 0, l = parent.children.length; i < l; ++i) {
var child = parent.children[i];
if (Object.prototype.hasOwnProperty.call(child, property)) {
return child;
} else {
return findWidgetWithProperty(child, property);
}
}
}
}
var gameWidget = findWidgetWithProperty(Crux.crux, 'slideCenterPointInMap');
gameWidget.slideCenterPointInMap = function (x, y, duration, doAfter) {
void 0 === duration && (duration = 1e3),
void 0 === doAfter && (doAfter = null),
gameWidget.dustHex({
x: x,
y: y
}, 1e3),
x *= gameWidget.scale,
y *= gameWidget.scale;
var newX = Math.round(-x + gameWidget.viewportWidth / 2),
newY = Math.round(-y + gameWidget.viewportHeight / 2);
///////////////////////////////////////////////////////////////////////////
// See if adding or subtracting the hexMask width and height to our new x/y
// yields a shorter distance from where we're starting and if so, do it.
//
if (Math.abs(newX - gameWidget.sx) > Math.abs(newX + gameWidget.hexMask.w - gameWidget.sx)) {
newX += gameWidget.hexMask.w;
} else if (Math.abs(newX - gameWidget.sx) > Math.abs(newX - gameWidget.hexMask.w - gameWidget.sx)) {
newX -= gameWidget.hexMask.w;
}
if (Math.abs(newY - gameWidget.sy) > Math.abs(newY + gameWidget.hexMask.h - gameWidget.sy)) {
newY += gameWidget.hexMask.h;
} else if (Math.abs(newY - gameWidget.sy) > Math.abs(newY - gameWidget.hexMask.h - gameWidget.sy)) {
newY -= gameWidget.hexMask.h;
}
Crux.createAnim(gameWidget, "sx", gameWidget.sx, newX, duration),
Crux.createAnim(gameWidget, "sy", gameWidget.sy, newY, duration, {onComplete: doAfter})
}
```