You could probably make this a lot easier by storing the movement values and applying them over a range of frames instead of calling mover manually on every single frame.
One option would be to use a counter with getlocalvar and setlocalvar, tracking how many frames have passed since the...