X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=f0e568b826623e36dd6b933a77a068142344d1db;hb=37b49c4250f7db1000f65efe06ab5969f86a7b84;hp=0077517dc4f10e01beaa9114fe298556cba1e65f;hpb=40acf0838d9d6994378d727d3ce66f84b82eb417;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 0077517d..f0e568b8 100644 --- a/src/game.c +++ b/src/game.c @@ -3503,9 +3503,15 @@ void DynaExplode(int ex, int ey) Explode(x, y, EX_PHASE_START, EX_TYPE_BORDER); #if 1 +#if 1 + if (element != EL_EMPTY && element != EL_EXPLOSION && + !IS_DIGGABLE(element) && !dynabomb_xl) + break; +#else if (element != EL_EMPTY && element != EL_EXPLOSION && !CAN_GROW_INTO(element) && !dynabomb_xl) break; +#endif #else /* !!! extend EL_SAND to anything diggable (but maybe not SP_BASE) !!! */ if (element != EL_EMPTY && element != EL_EXPLOSION && @@ -7554,7 +7560,7 @@ static boolean ChangeElementNow(int x, int y, int element, int page) } #if 1 - /* !!! indirect change before direct change !!! */ + /* this uses direct change before indirect change */ CheckTriggeredElementChangeByPage(x,y,old_element,CE_OTHER_IS_CHANGING,page); #endif @@ -9009,7 +9015,7 @@ static boolean canMoveToValidFieldWithGravity(int x, int y, int move_dir) #if 1 return (IN_LEV_FIELD(newx, newy) && !IS_FREE_OR_PLAYER(newx, newy) && - (IS_DIGGABLE(Feld[newx][newy]) || + (IS_DIGGABLE_WITH_GRAVITY(Feld[newx][newy]) || IS_WALKABLE_FROM(Feld[newx][newy], opposite_dir) || canPassField(newx, newy, move_dir))); #else