diff --git a/js/game.js b/js/game.js index 09c928a..e1c3675 100644 --- a/js/game.js +++ b/js/game.js @@ -1262,7 +1262,9 @@ export class Level extends LevelInterface { if (behind_cell) { let behind_actor = behind_cell.get_actor(); // FIXME something else happens during cooldown i think - if (behind_actor && ! behind_actor.movement_cooldown) { + if (behind_actor && ! behind_actor.movement_cooldown && + actor.can_push(behind_actor, direction)) + { this._set_tile_prop(behind_actor, 'is_pulled', true); this.attempt_out_of_turn_step(behind_actor, direction); } diff --git a/js/tiletypes.js b/js/tiletypes.js index 4194b9e..7203ac5 100644 --- a/js/tiletypes.js +++ b/js/tiletypes.js @@ -2258,6 +2258,7 @@ const TILE_TYPES = { else { level.transmute_tile(other, 'explosion'); } + level.sfx.play_once('bomb', me.cell); level.transmute_tile(me, 'explosion'); }, on_blocked(me, level, direction) { @@ -2279,6 +2280,7 @@ const TILE_TYPES = { // Sliding bowling balls don't blow up if they hit a regular wall return; } + level.sfx.play_once('bomb', me.cell); level.transmute_tile(me, 'explosion'); // Remove our slide mode so we don't attempt to bounce if on ice level.make_slide(me, null);