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.
This commit is contained in:
parent
80edfa1ae9
commit
f896e1bdfd
@ -199,10 +199,6 @@ export const COMPAT_FLAGS = [
|
|||||||
key: 'no_backwards_override',
|
key: 'no_backwards_override',
|
||||||
label: "Players can't override backwards on a force floor",
|
label: "Players can't override backwards on a force floor",
|
||||||
rulesets: new Set(['lynx']),
|
rulesets: new Set(['lynx']),
|
||||||
}, {
|
|
||||||
key: 'force_floors_on_arrive',
|
|
||||||
label: "Force floors trigger on arrival",
|
|
||||||
rulesets: new Set(['lynx', 'ms']),
|
|
||||||
}, {
|
}, {
|
||||||
key: 'traps_like_lynx',
|
key: 'traps_like_lynx',
|
||||||
label: "Traps eject faster, and even when already open",
|
label: "Traps eject faster, and even when already open",
|
||||||
|
|||||||
@ -57,16 +57,10 @@ function _define_force_floor(direction, opposite_type) {
|
|||||||
slide_mode: 'force',
|
slide_mode: 'force',
|
||||||
speed_factor: 2,
|
speed_factor: 2,
|
||||||
allow_player_override: true,
|
allow_player_override: true,
|
||||||
on_arrive(me, level, other) {
|
// Used by Lynx to prevent backwards overriding
|
||||||
if (level.compat.force_floors_on_arrive) {
|
force_floor_direction: direction,
|
||||||
// Lynx: Force floors activate when stepped on, not when stood on
|
|
||||||
level.schedule_actor_slide(other, direction);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
on_stand(me, level, other) {
|
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) {
|
activate(me, level) {
|
||||||
level.transmute_tile(me, opposite_type);
|
level.transmute_tile(me, opposite_type);
|
||||||
@ -983,12 +977,6 @@ const TILE_TYPES = {
|
|||||||
return (level.compat.rff_blocks_monsters &&
|
return (level.compat.rff_blocks_monsters &&
|
||||||
(other.type.collision_mask & COLLISION.monster_typical));
|
(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) {
|
on_stand(me, level, other) {
|
||||||
if (! other.is_pending_slide && ! level.compat.force_floors_on_arrive) {
|
if (! other.is_pending_slide && ! level.compat.force_floors_on_arrive) {
|
||||||
level.schedule_actor_slide(other, level.get_force_floor_direction());
|
level.schedule_actor_slide(other, level.get_force_floor_direction());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user