Revert the blue wall compat fix and replace them with popwalls instead (fixes #5)
This commit is contained in:
parent
4f5d169d06
commit
4cd0585d0b
@ -256,7 +256,7 @@ class Player extends PrimaryView {
|
|||||||
this.compat = {
|
this.compat = {
|
||||||
popwalls_react_on_arrive: false,
|
popwalls_react_on_arrive: false,
|
||||||
auto_convert_ccl_popwalls: true,
|
auto_convert_ccl_popwalls: true,
|
||||||
blue_walls_walkable: true,
|
auto_convert_ccl_blue_walls: true,
|
||||||
sliding_tanks_ignore_button: true,
|
sliding_tanks_ignore_button: true,
|
||||||
tiles_react_instantly: false,
|
tiles_react_instantly: false,
|
||||||
allow_flick: false,
|
allow_flick: false,
|
||||||
@ -1405,10 +1405,10 @@ const COMPAT_OPTIONS = [{
|
|||||||
impls: ['lynx', 'ms'],
|
impls: ['lynx', 'ms'],
|
||||||
note: "This is a more conservative solution to the problem with recessed walls. It replaces recessed walls with a new tile, \"doubly recessed walls\", only if they begin the level with something on top of them. This should resolve compatibility issues without changing the behavior of recessed walls.",
|
note: "This is a more conservative solution to the problem with recessed walls. It replaces recessed walls with a new tile, \"doubly recessed walls\", only if they begin the level with something on top of them. This should resolve compatibility issues without changing the behavior of recessed walls.",
|
||||||
}, {
|
}, {
|
||||||
key: 'blue_walls_walkable',
|
key: 'auto_convert_ccl_blue_walls',
|
||||||
label: "Blocks can be pushed off of blue walls",
|
label: "Fix loaded blue walls",
|
||||||
impls: ['lynx'],
|
impls: ['lynx'],
|
||||||
note: "Generally, you can only push a block if it's in a space you could otherwise move into, but Tile World Lynx allows pushing blocks off of blue walls. (Unclear whether this is a Tile World bug, or a Lynx bug that Tile World is replicating.) The same effect can be achieved in Steam by using a recessed wall instead, assuming you're using the Steam recessed wall behavior.",
|
note: "Generally, you can only push a block if it's in a space you could otherwise move into, but Tile World Lynx allows pushing blocks off of blue walls. (Unclear whether this is a Tile World bug, or a Lynx bug that Tile World is replicating.) The same effect can be achieved in Steam by using a recessed wall instead, so this replaces such walls with recessed walls. Note that this fix may have unintended side effects in conjunction with the recessed wall compat option.",
|
||||||
}, {
|
}, {
|
||||||
key: 'sliding_tanks_ignore_button',
|
key: 'sliding_tanks_ignore_button',
|
||||||
label: "Blue tanks ignore blue buttons while sliding",
|
label: "Blue tanks ignore blue buttons while sliding",
|
||||||
|
|||||||
@ -153,14 +153,14 @@ const TILE_TYPES = {
|
|||||||
},
|
},
|
||||||
fake_wall: {
|
fake_wall: {
|
||||||
draw_layer: LAYER_TERRAIN,
|
draw_layer: LAYER_TERRAIN,
|
||||||
blocks_monsters: true,
|
blocks_all: true,
|
||||||
blocks_blocks: true,
|
on_ready(me, level) {
|
||||||
blocks(me, level, other) {
|
if (level.compat.auto_convert_ccl_blue_walls &&
|
||||||
if (other.type.is_player && level.compat.blue_walls_walkable) {
|
me.cell.some(tile => tile.type.is_actor))
|
||||||
return false;
|
{
|
||||||
}
|
// Blocks can be pushed off of blue walls in TW Lynx, which only works due to a tiny
|
||||||
else {
|
// quirk of the engine that I don't want to replicate, so replace them with popwalls
|
||||||
return true;
|
me.type = TILE_TYPES['popwall'];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
on_bump(me, level, other) {
|
on_bump(me, level, other) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user