private void method98(Mobile mobile) {
        if (mobile.anInt1548 == Client.loopCycle || mobile.animationId == -1 || mobile.animationDelay != 0 || mobile.anInt1528 + 1 > Sequence.sequenceCache[mobile.animationId].getFrameLength(mobile.anInt1527)) {
            int i = mobile.anInt1548 - mobile.anInt1547;
            int j = Client.loopCycle - mobile.anInt1547;
            int k = mobile.anInt1543 * 128 + mobile.anInt1540 * 64;
            int l = mobile.anInt1545 * 128 + mobile.anInt1540 * 64;
            int i1 = mobile.anInt1544 * 128 + mobile.anInt1540 * 64;
            int j1 = mobile.anInt1546 * 128 + mobile.anInt1540 * 64;
            mobile.x = (k * (i - j) + i1 * j) / i;
            mobile.y = (l * (i - j) + j1 * j) / i;
        }
        mobile.anInt1503 = 0;
        if (mobile.anInt1549 == 0) {
            mobile.turnDirection = 1024;
        }
        if (mobile.anInt1549 == 1) {
            mobile.turnDirection = 1536;
        }
        if (mobile.anInt1549 == 2) {
            mobile.turnDirection = 0;
        }
        if (mobile.anInt1549 == 3) {
            mobile.turnDirection = 512;
        }
        mobile.anInt1552 = mobile.turnDirection;
    }