From 037d9d86fbd85cafe6d6f1dc050b2e14f35593bc Mon Sep 17 00:00:00 2001 From: "Eevee (Evelyn Woods)" Date: Thu, 25 Apr 2024 05:24:34 -0600 Subject: [PATCH] Fix a couple missed spots with actors_move_instantly --- js/game.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/js/game.js b/js/game.js index acb9e5b..4555a90 100644 --- a/js/game.js +++ b/js/game.js @@ -575,7 +575,7 @@ export class Level extends LevelInterface { // At last, a wired cell edge we have not yet handled. Floodfill from here let circuit = algorithms.trace_floor_circuit( - this, this.compat.tiles_react_instantly ? 'always' : 'still', + this, this.compat.actors_move_instantly ? 'always' : 'still', terrain.cell, direction, ); this.circuits.push(circuit); @@ -2259,9 +2259,6 @@ export class Level extends LevelInterface { } if (tile.cell) { this.add_actor(tile); - if (this.compat.actors_move_instantly) { - tile.moves_instantly = true; - } } this.add_tile(dropping_actor, cell); } @@ -2735,9 +2732,13 @@ export class Level extends LevelInterface { } add_actor(actor) { + if (this.compat.actors_move_instantly) { + actor.moves_instantly = true; + } + if (this.compat.reuse_actor_slots && actor.type.layer !== LAYERS.vfx) { - // Place the new actor in the first slot taken up by a nonexistent one, but not VFX - // which aren't supposed to impact gameplay + // Lynx: New actors go in the first available "dead" slot. VFX are exempt, since those + // are LL additions and shouldn't affect gameplay for (let i = 0, l = this.actors.length; i < l; i++) { let old_actor = this.actors[i]; if (old_actor !== this.player && ! old_actor.cell) {