if (dy)
break;
+ if (game_em.use_push_delay && RANDOM(32) < 16)
+ goto stone_push_anim;
+
switch (cave[x+dx][y])
{
case Xblank:
break;
}
+ stone_push_anim:
+
ply->anim = PLY_push_n + anim;
break;
if (dy)
break;
+ if (game_em.use_push_delay && RANDOM(32) < 22)
+ goto bomb_push_anim;
+
switch (cave[x+dx][y])
{
case Xblank:
break;
}
+ bomb_push_anim:
+
ply->anim = PLY_push_n + anim;
break;
if (dy)
break;
+ if (game_em.use_push_delay && RANDOM(32) < 19)
+ goto nut_push_anim;
+
switch (cave[x+dx][y])
{
case Xblank:
break;
}
+ nut_push_anim:
+
ply->anim = PLY_push_n + anim;
break;
ply->dynamite_cnt = 0; /* reset dynamite timer if we move */
+ seed = game_em.random;
+
if (!ply->joy_snap) /* player wants to move */
{
boolean moved = FALSE;
{
game_em.any_player_snapping = player_digfield(ply, dx, dy);
}
+
+ game_em.random = seed;
}
static void set_nearest_player_xy(int x, int y, int *dx, int *dy)