X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_caveengine.c;h=bfb7dfbc004ea74428ac2494752c4beed588a341;hb=4867b899697e0ac1d4b57e98ab3af0edbe27323a;hp=5f97940a9b6af721de585fb51ede95fcdc455d1e;hpb=c94cdac2a1cda58ac0e3640e14d3635b797c597a;p=rocksndiamonds.git diff --git a/src/game_bd/bd_caveengine.c b/src/game_bd/bd_caveengine.c index 5f97940a..bfb7dfbc 100644 --- a/src/game_bd/bd_caveengine.c +++ b/src/game_bd/bd_caveengine.c @@ -1709,8 +1709,11 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, /* try to push element; if successful, break */ push = do_push(cave, x, y, player_move, player_fire); if (push) + { remains = O_SPACE; + } else + { switch (what) { case O_BOMB: @@ -1758,9 +1761,10 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, default: /* get element - process others. if cannot get, player_get_element will return the same */ - remains = player_get_element (cave, what, x, y); + remains = player_get_element(cave, what, x, y); break; } + } if (remains != what || remains == O_SPACE) { @@ -1825,7 +1829,9 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, /* player fire is false... */ if (do_push(cave, x, y, player_move, FALSE)) + { remains = O_SPACE; + } else { switch (what)