player->is_moving = FALSE;
player->is_waiting = FALSE;
+ player->is_digging = FALSE;
+ player->is_collecting = FALSE;
player->move_delay = game.initial_move_delay;
player->move_delay_value = game.initial_move_delay_value;
int element;
if (player->MovPos == 0)
+ {
player->is_digging = FALSE;
+ player->is_collecting = FALSE;
+ }
if (player->MovPos == 0)
player->Pushing = FALSE;
player->push_delay = 0;
- if (Feld[x][y] != element) /* really digged something */
- player->is_digging = TRUE;
+ if (Feld[x][y] != element) /* really digged/collected something */
+ {
+ if (GfxElement[x][y] == EL_SAND)
+ player->is_digging = TRUE;
+ else
+ player->is_collecting = TRUE;
+ }
return MF_MOVING;
}
player->snapped = FALSE;
if (player->MovPos == 0)
+ {
player->is_digging = FALSE;
+ player->is_collecting = FALSE;
+ }
return FALSE;
}
player->snapped = TRUE;
player->is_digging = FALSE;
+ player->is_collecting = FALSE;
+
DrawLevelField(x, y);
BackToFront();