take a look at motion.cpp
search for
#if defined(SUPPORT_LASER) && SUPPORT_LASER
else if(Printer::mode == PRINTER_MODE_LASER) {
p->secondSpeed = ((p->delta[X_AXIS] != 0 p->delta[Y_AXIS] != 0) && (LaserDriver::laserOn p->delta[E_AXIS] != 0) ? LaserDriver::intensity : 0);
p->delta[E_AXIS] = 0;
}
#endif
as far as i remember this section is there twice.
if you change that sections to
#if defined(SUPPORT_LASER) && SUPPORT_LASER
else if(Printer::mode == PRINTER_MODE_LASER) {
p->secondSpeed = ((p->delta[X_AXIS] != 0 p->delta[Y_AXIS] != 0 p->delta[Z_AXIS] != 0) && (LaserDriver::laserOn || p->delta[E_AXIS] != 0) ? LaserDriver::intensity : 0);
p->delta[E_AXIS] = 0;
}
#endif
the trick with z-move should work. but take care on your eyes ,don´t forget safety googles