// active or non-active or anything, element falling in will always disappear
store(cave, x, y, O_SPACE);
+ if (cave->magic_wall_breakscan && cave->amoeba_state == GD_AM_AWAKE)
+ cave->convert_amoeba_this_frame = TRUE;
+
return TRUE;
}
else
// score collected this frame
cave->score = 0;
+ // to implement buggy bd1 amoeba+magic wall behaviour
+ cave->convert_amoeba_this_frame = FALSE;
+
// suicide only kills the active player
// player_x, player_y was set by the previous iterate routine, or the cave setup.
// we must check if there is a player or not - he may have exploded or something like that
// ============================================================================
case O_AMOEBA:
+ // emulating BD1 amoeba+magic wall bug
+ if (cave->convert_amoeba_this_frame && amoeba_found_enclosed)
+ {
+ store(cave, x, y, cave->amoeba_enclosed_effect);
+ break;
+ }
+
amoeba_count++;
switch (cave->amoeba_state)
{