diff --git a/js/game.js b/js/game.js index 6f6e1f5..09f7498 100644 --- a/js/game.js +++ b/js/game.js @@ -446,7 +446,6 @@ export class Level extends LevelInterface { this.player2_move = null; // Connect buttons and teleporters - let num_cells = this.width * this.height; for (let connectable of connectables) { this.connect_button(connectable); } @@ -856,6 +855,8 @@ export class Level extends LevelInterface { _do_init_phase() { // At the beginning of the very first tic, some tiles want to do initialization that's not // appropriate to do before the game begins + // FIXME this was originally added for bomb, which no longer uses it, so, god i would like + // to get rid of this if (! this.done_on_begin) { // Run backwards, to match actor order for (let i = this.linear_cells.length - 1; i >= 0; i--) { diff --git a/js/tiletypes.js b/js/tiletypes.js index 54368e6..89e02a1 100644 --- a/js/tiletypes.js +++ b/js/tiletypes.js @@ -1025,9 +1025,9 @@ const TILE_TYPES = { }, hole: { layer: LAYERS.terrain, - on_begin(me, level) { - var one_north = level.cell(me.cell.x, me.cell.y - 1); - if (one_north === null || one_north.get_terrain().type.name != 'hole') { + on_ready(me, level) { + let one_north = level.cell(me.cell.x, me.cell.y - 1); + if (one_north === null || one_north.get_terrain().type.name !== 'hole') { level._set_tile_prop(me, 'visual_state', 'north'); } else { @@ -1051,10 +1051,10 @@ const TILE_TYPES = { level.transmute_tile(me, 'hole'); // Update hole visual state (note that me.type is hole now) - me.type.on_begin(me, level); - var one_south = level.cell(me.cell.x, me.cell.y + 1); + me.type.on_ready(me, level); + let one_south = level.cell(me.cell.x, me.cell.y + 1); if (one_south && one_south.get_terrain().type.name === 'hole') { - me.type.on_begin(one_south.get_terrain(), level); + me.type.on_ready(one_south.get_terrain(), level); } }, }, @@ -1535,7 +1535,8 @@ const TILE_TYPES = { }, trap: { layer: LAYERS.terrain, - on_begin(me, level) { + on_ready(me, level) { + // This may run before or after any pressed buttons, but, that's fine if (me.presses === undefined) { level._set_tile_prop(me, 'presses', 0); }