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
|
// 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
|
// 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!
|
// 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;
|
let open;
|
||||||
if (dir2 === null) {
|
if (dir2 === null) {
|
||||||
// Only one direction is held, but for consistency, "check" it anyway
|
// 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",
|
label: "Player pulls blocks at decision time",
|
||||||
// TODO maybe steam as well?
|
// TODO maybe steam as well?
|
||||||
rulesets: new Set(['steam-strict']),
|
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
|
// XXX this is goofy
|
||||||
key: 'tiles_react_instantly',
|
key: 'tiles_react_instantly',
|
||||||
@ -2910,6 +2915,10 @@ const COMPAT_FLAGS = [{
|
|||||||
key: 'use_lynx_loop',
|
key: 'use_lynx_loop',
|
||||||
label: "Use Lynx-style update loop",
|
label: "Use Lynx-style update loop",
|
||||||
rulesets: new Set(['steam', 'steam-strict', 'lynx', 'ms']),
|
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',
|
key: 'emulate_60fps',
|
||||||
label: "Run at 60 FPS",
|
label: "Run at 60 FPS",
|
||||||
|
|||||||
@ -2215,7 +2215,7 @@ const TILE_TYPES = {
|
|||||||
// actors who aren't supposed to have an inventory
|
// actors who aren't supposed to have an inventory
|
||||||
// TODO make this a... flag? i don't know?
|
// TODO make this a... flag? i don't know?
|
||||||
// TODO major difference from lynx...
|
// 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);
|
level.attempt_take(other, me);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user