From d567a2553ef356214b74eb05bbb3f650ab3374c2 Mon Sep 17 00:00:00 2001 From: "Eevee (Evelyn Woods)" Date: Thu, 24 Dec 2020 06:55:50 -0700 Subject: [PATCH] Disallow pulling unpushable blocks; play a sound on bowling ball collision --- js/game.js | 4 +++- js/tiletypes.js | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) 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);