int DigField(struct PlayerInfo *player,
int x, int y, int real_dx, int real_dy, int mode)
{
int DigField(struct PlayerInfo *player,
int x, int y, int real_dx, int real_dy, int mode)
{
int jx = player->jx, jy = player->jy;
int dx = x - jx, dy = y - jy;
int move_direction = (dx == -1 ? MV_LEFT :
int jx = player->jx, jy = player->jy;
int dx = x - jx, dy = y - jy;
int move_direction = (dx == -1 ? MV_LEFT :
if (!player->Pushing &&
game.engine_version >= RELEASE_IDENT(2,2,0,7))
player->push_delay_value = GET_NEW_PUSH_DELAY(element);
if (!player->Pushing &&
game.engine_version >= RELEASE_IDENT(2,2,0,7))
player->push_delay_value = GET_NEW_PUSH_DELAY(element);
PlaySoundLevelElementAction(x, y, element, ACTION_PUSHING);
CheckTriggeredElementChange(element, CE_OTHER_PUSHING);
PlaySoundLevelElementAction(x, y, element, ACTION_PUSHING);
CheckTriggeredElementChange(element, CE_OTHER_PUSHING);
CheckPlayerElementChange(x + dx, y + dy, element, CE_PUSHED_BY_PLAYER);
CheckPlayerElementChange(x + dx, y + dy, element, CE_PUSHED_BY_PLAYER);