X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=6162d7a0d16fa9f767d4a2fdd218326ed26a8a9d;hb=d9854779a9f8bfcf09cfab5905c257da10c61e5f;hp=c5cfa1d562c738c32adbd5c5d6ec84cdc8d8c61b;hpb=705e3b6aebabeb67c50be0b57c1d3fd58b67b1a5;p=rocksndiamonds.git diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index c5cfa1d5..6162d7a0 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -3088,29 +3088,25 @@ boolean ClickElement(int x, int y, int button) } else if (IS_MCDUFFIN(element)) { - if (!laser.fuse_off) - { - DrawLaser(0, DL_LASER_DISABLED); + boolean has_laser = (x == laser.start_edge.x && y == laser.start_edge.y); - /* - BackToFront(); - */ - } + if (has_laser && !laser.fuse_off) + DrawLaser(0, DL_LASER_DISABLED); element = get_rotated_element(element, BUTTON_ROTATION(button)); - laser.start_angle = get_element_angle(element); - - InitLaser(); Tile[x][y] = element; DrawField_MM(x, y); - /* - BackToFront(); - */ + if (has_laser) + { + laser.start_angle = get_element_angle(element); - if (!laser.fuse_off) - ScanLaser(); + InitLaser(); + + if (!laser.fuse_off) + ScanLaser(); + } element_clicked = TRUE; }