From f896e1bdfd9406a21e5b11a9c2858ea7a114ab9b Mon Sep 17 00:00:00 2001 From: "Eevee (Evelyn Woods)" Date: Thu, 11 Apr 2024 01:14:12 -0600 Subject: [PATCH] Fix Lynx's no-backwards-overriding; remove the force-floor-on-arrive flag Not sure the latter one is even correct at all; it completely breaks ICEHOUSE, for one. I guess it made more sense with the previous hacky implementation of force floors applying at the start of the game. --- js/defs.js | 4 ---- js/tiletypes.js | 18 +++--------------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/js/defs.js b/js/defs.js index f8d3f0c..83727af 100644 --- a/js/defs.js +++ b/js/defs.js @@ -199,10 +199,6 @@ export const COMPAT_FLAGS = [ key: 'no_backwards_override', label: "Players can't override backwards on a force floor", rulesets: new Set(['lynx']), -}, { - key: 'force_floors_on_arrive', - label: "Force floors trigger on arrival", - rulesets: new Set(['lynx', 'ms']), }, { key: 'traps_like_lynx', label: "Traps eject faster, and even when already open", diff --git a/js/tiletypes.js b/js/tiletypes.js index 107261a..6d2d899 100644 --- a/js/tiletypes.js +++ b/js/tiletypes.js @@ -57,16 +57,10 @@ function _define_force_floor(direction, opposite_type) { slide_mode: 'force', speed_factor: 2, allow_player_override: true, - on_arrive(me, level, other) { - if (level.compat.force_floors_on_arrive) { - // Lynx: Force floors activate when stepped on, not when stood on - level.schedule_actor_slide(other, direction); - } - }, + // Used by Lynx to prevent backwards overriding + force_floor_direction: direction, on_stand(me, level, other) { - if (! level.compat.force_floors_on_arrive) { - level.schedule_actor_slide(other, direction); - } + level.schedule_actor_slide(other, direction); }, activate(me, level) { level.transmute_tile(me, opposite_type); @@ -983,12 +977,6 @@ const TILE_TYPES = { return (level.compat.rff_blocks_monsters && (other.type.collision_mask & COLLISION.monster_typical)); }, - on_arrive(me, level, other) { - if (level.compat.force_floors_on_arrive) { - // Lynx: Force floors activate when stepped on, not when stood on - level.schedule_actor_slide(other, level.get_force_floor_direction()); - } - }, on_stand(me, level, other) { if (! other.is_pending_slide && ! level.compat.force_floors_on_arrive) { level.schedule_actor_slide(other, level.get_force_floor_direction());