ex = mis->startx + ((float) (mis->endx - mis->startx)) * (mis->pos + kExpHelp + (1.0 - mis->pos) / kSpeedDiff);
ey = mis->starty + ((float) (mis->endy - mis->starty)) * (mis->pos + kExpHelp + (1.0 - mis->pos) / kSpeedDiff);
m->endx = ex + random() % 16 - 8 + (random() % aim) - aim / 2;
m->endy = ey + random() % 16 - 8 + (random() % aim) - aim / 2;
ex = mis->startx + ((float) (mis->endx - mis->startx)) * (mis->pos + kExpHelp + (1.0 - mis->pos) / kSpeedDiff);
ey = mis->starty + ((float) (mis->endy - mis->starty)) * (mis->pos + kExpHelp + (1.0 - mis->pos) / kSpeedDiff);
m->endx = ex + random() % 16 - 8 + (random() % aim) - aim / 2;
m->endy = ey + random() % 16 - 8 + (random() % aim) - aim / 2;