X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=d6ba5374db4d5e50448ab0e7ead370bda84bb6c8;hb=869bcbe4049f6135c202740019f6c2f60bde0425;hp=267f4c5e106dc3b96ef89e4cedf1a0768910fc3a;hpb=a1658d14b0ff3ddb46cc075aba1dddf7d01c6442;p=rocksndiamonds.git diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index 267f4c5e..d6ba5374 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -2668,15 +2668,14 @@ static void Explode_MM(int x, int y, int phase, int mode) Tile[x][y] = center_element; } - if (center_element == EL_BOMB_ACTIVE || IS_MCDUFFIN(center_element)) - Store[x][y] = center_element; - else - Store[x][y] = EL_EMPTY; - + Store[x][y] = center_element; Store2[x][y] = mode; Tile[x][y] = EL_EXPLODING_OPAQUE; - GfxElement[x][y] = center_element; + + GfxElement[x][y] = (center_element == EL_BOMB_ACTIVE ? EL_BOMB : + IS_MCDUFFIN(center_element) ? EL_MCDUFFIN : + center_element); MovDir[x][y] = MovPos[x][y] = MovDelay[x][y] = 0; @@ -2706,7 +2705,6 @@ static void Explode_MM(int x, int y, int phase, int mode) InitLaser(); Bang_MM(laser.start_edge.x, laser.start_edge.y); - Store[x][y] = EL_EMPTY; GameOver_MM(GAME_OVER_DELAYED); @@ -2714,12 +2712,11 @@ static void Explode_MM(int x, int y, int phase, int mode) } else if (IS_MCDUFFIN(Store[x][y])) { - Store[x][y] = EL_EMPTY; - GameOver_MM(GAME_OVER_BOMB); } - Tile[x][y] = Store[x][y]; + Tile[x][y] = EL_EMPTY; + Store[x][y] = Store2[x][y] = 0; MovDir[x][y] = MovPos[x][y] = MovDelay[x][y] = 0;