Add a couple CC1 compat flags
This commit is contained in:
parent
43168f75cd
commit
134270e3e3
@ -1266,6 +1266,7 @@ export class Level extends LevelInterface {
|
||||
// At this point, we have exactly 1 or 2 directions, and deciding between them requires
|
||||
// checking which ones are blocked. Note that we do this even if only one direction is
|
||||
// requested, meaning that we get to push blocks before anything else has moved!
|
||||
let push_mode = this.compat.no_early_push ? 'bump' : 'push';
|
||||
let open;
|
||||
if (dir2 === null) {
|
||||
// Only one direction is held, but for consistency, "check" it anyway
|
||||
|
||||
@ -2890,6 +2890,11 @@ const COMPAT_FLAGS = [{
|
||||
label: "Player pulls blocks at decision time",
|
||||
// TODO maybe steam as well?
|
||||
rulesets: new Set(['steam-strict']),
|
||||
}, {
|
||||
key: 'blue_keys_not_edible',
|
||||
label: "Monsters do not eat blue keys",
|
||||
// TODO wonder if this should also remove the special behavior of red keys
|
||||
rulesets: new Set(['ms']),
|
||||
}, {
|
||||
// XXX this is goofy
|
||||
key: 'tiles_react_instantly',
|
||||
@ -2910,6 +2915,10 @@ const COMPAT_FLAGS = [{
|
||||
key: 'use_lynx_loop',
|
||||
label: "Use Lynx-style update loop",
|
||||
rulesets: new Set(['steam', 'steam-strict', 'lynx', 'ms']),
|
||||
}, {
|
||||
key: 'no_early_push',
|
||||
label: "Player doesn't push at decision time",
|
||||
rulesets: new Set(['lynx', 'ms']),
|
||||
}, {
|
||||
key: 'emulate_60fps',
|
||||
label: "Run at 60 FPS",
|
||||
|
||||
@ -2215,7 +2215,7 @@ const TILE_TYPES = {
|
||||
// actors who aren't supposed to have an inventory
|
||||
// TODO make this a... flag? i don't know?
|
||||
// TODO major difference from lynx...
|
||||
if (other.type.name !== 'ice_block' && other.type.name !== 'frame_block') {
|
||||
if (other.type.name !== 'ice_block' && other.type.name !== 'frame_block' && ! level.compat.blue_keys_not_edible) {
|
||||
level.attempt_take(other, me);
|
||||
}
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user