GADGET_ID_BD_BITER_EATS_ELEMENT,
GADGET_ID_BD_BLADDER_CONVERTS_BY_ELEMENT,
GADGET_ID_BD_NUT_CONTENT,
+ GADGET_ID_BD_EXPANDING_WALL_LOOKS_LIKE,
GADGET_ID_START_ELEMENT,
GADGET_ID_ARTWORK_ELEMENT,
GADGET_ID_EXPLOSION_ELEMENT,
ED_DRAWING_ID_BD_BITER_EATS_ELEMENT,
ED_DRAWING_ID_BD_BLADDER_CONVERTS_BY_ELEMENT,
ED_DRAWING_ID_BD_NUT_CONTENT,
+ ED_DRAWING_ID_BD_EXPANDING_WALL_LOOKS_LIKE,
ED_DRAWING_ID_START_ELEMENT,
ED_DRAWING_ID_ARTWORK_ELEMENT,
ED_DRAWING_ID_EXPLOSION_ELEMENT,
&level.bd_nut_content, 1, 1,
"When breaking, changes to:", NULL, NULL, NULL, "Element created when breaking nut"
},
+ {
+ ED_DRAWING_ID_BD_EXPANDING_WALL_LOOKS_LIKE,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(1),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_EXPANDING_WALL_LOOKS_LIKE, GADGET_ID_NONE,
+ &level.bd_expanding_wall_looks_like, 1, 1,
+ "Use graphic of element:", NULL, NULL, NULL, "Expanding wall looks like this element"
+ },
// ---------- level start element -------------------------------------------
IS_PLAYER_ELEMENT(element) ||
IS_BD_PLAYER_ELEMENT(element) ||
IS_BD_EXPANDABLE_WALL(properties_element) ||
+ IS_BD_EXPANDABLE_STEELWALL(properties_element) ||
IS_BD_CONVEYOR_BELT(properties_element) ||
IS_BD_CONVEYOR_BELT_SWITCH(properties_element) ||
IS_SOKOBAN_OBJECT_OR_FIELD(element) ||
MapDrawingArea(ED_DRAWING_ID_BD_SLIME_CONVERTS_TO_ELEMENT_3);
}
- if (IS_BD_EXPANDABLE_WALL(properties_element))
+ if (IS_BD_EXPANDABLE_WALL(properties_element) ||
+ IS_BD_EXPANDABLE_STEELWALL(properties_element))
{
MapCheckbuttonGadget(ED_CHECKBUTTON_ID_BD_CHANGE_EXPANDING_WALL);
+
+ if (IS_BD_EXPANDABLE_WALL(properties_element))
+ MapDrawingArea(ED_DRAWING_ID_BD_EXPANDING_WALL_LOOKS_LIKE);
}
if (properties_element == EL_BD_REPLICATOR)
TYPE_BOOLEAN, CONF_VALUE_8_BIT(1),
&li.bd_change_expanding_wall, FALSE
},
+ {
+ EL_BD_EXPANDABLE_WALL_ANY, -1,
+ TYPE_ELEMENT, CONF_VALUE_16_BIT(1),
+ &li.bd_expanding_wall_looks_like, EL_BD_WALL
+ },
{
EL_BD_REPLICATOR, -1,
cave->skeletons_needed_for_pot = level->bd_num_skeletons_needed_for_pot;
cave->skeletons_worth_diamonds = level->bd_skeleton_worth_num_diamonds;
+ cave->expanding_wall_looks_like = map_element_RND_to_BD_cave(level->bd_expanding_wall_looks_like);
+
// level name
strncpy(cave->name, level->name, sizeof(GdString));
cave->name[sizeof(GdString) - 1] = '\0';
level->bd_num_skeletons_needed_for_pot= cave->skeletons_needed_for_pot;
level->bd_skeleton_worth_num_diamonds = cave->skeletons_worth_diamonds;
+ level->bd_expanding_wall_looks_like = map_element_BD_to_RND_cave(cave->expanding_wall_looks_like);
+
// level name
char *cave_name = getStringPrint("%s / %d", cave->name, bd_level_nr + 1);
#define IS_BD_EXPANDABLE_WALL(e) ((e) == EL_BD_EXPANDABLE_WALL_HORIZONTAL || \
(e) == EL_BD_EXPANDABLE_WALL_VERTICAL || \
- (e) == EL_BD_EXPANDABLE_WALL_ANY || \
- (e) == EL_BD_EXPANDABLE_STEELWALL_HORIZONTAL ||\
+ (e) == EL_BD_EXPANDABLE_WALL_ANY)
+
+#define IS_BD_EXPANDABLE_STEELWALL(e) ((e) == EL_BD_EXPANDABLE_STEELWALL_HORIZONTAL ||\
(e) == EL_BD_EXPANDABLE_STEELWALL_VERTICAL || \
(e) == EL_BD_EXPANDABLE_STEELWALL_ANY)
int bd_hammer_walls_reappear_delay; // BD hammer time for reappearing walls (in BD frames)
int bd_num_skeletons_needed_for_pot; // BD skeletons amount must be collected to use a pot
int bd_skeleton_worth_num_diamonds; // BD skeleton collected is worth this number of diamonds
+ int bd_expanding_wall_looks_like; // BD expanding wall looks like this other game element
boolean em_slippery_gems; // EM style "gems slip from wall" behaviour
boolean em_explodes_by_fire; // EM style chain explosion behaviour