{
int elx, ely;
- elx = getLevelFromLaserX(LX);
- ely = getLevelFromLaserY(LY);
+ elx = getLevelFromLaserX(LX + XS);
+ ely = getLevelFromLaserY(LY + YS);
if (IN_LEV_FIELD(elx, ely))
{
int nr = element - EL_DF_SLOPE_START;
int dx = (nr == 0 ? (XS > 0 ? TILEX - 1 : -1) :
- nr == 1 ? (XS > 0 ? TILEX : 1) :
- nr == 2 ? (XS > 0 ? TILEX : 1) :
+ nr == 1 ? (XS > 0 ? TILEX : 0) :
+ nr == 2 ? (XS > 0 ? TILEX : 0) :
nr == 3 ? (XS > 0 ? TILEX - 1 : -1) : 0);
int dy = (nr == 0 ? (YS > 0 ? TILEY - 1 : -1) :
nr == 1 ? (YS > 0 ? TILEY - 1 : -1) :