Fix trap timing on Lynx

CC2's goofy `on_stand` on arrival behavior made them extra extra fast,
which is too fast.
This commit is contained in:
Eevee (Evelyn Woods) 2024-04-11 02:16:41 -06:00
parent 9bf418258f
commit ebe848ec99
2 changed files with 4 additions and 3 deletions

View File

@ -2030,8 +2030,9 @@ export class Level extends LevelInterface {
// XXX this does seem to be correct by CC2 rules, but it's very weird -- this will
// usually happen anyway during the actor's idle phase. it also requires random force
// floors to have a clumsy check that you aren't already about to slide
// TODO maybe don't do this for lynx? i don't really grok the implications
if (tile.type.on_stand && !actor.slide_ignores(tile.type.name)) {
tile.type.on_stand(tile, this, actor);
tile.type.on_stand(tile, this, actor, true);
}
}
}

View File

@ -1541,9 +1541,9 @@ const TILE_TYPES = {
level._set_tile_prop(me, 'presses', 0);
}
},
on_stand(me, level, other) {
on_stand(me, level, other, just_arrived) {
// Lynx: open traps eject their contents at the end of each tic
if (level.compat.traps_like_lynx) {
if (level.compat.traps_like_lynx && ! just_arrived) {
level.attempt_out_of_turn_step(other, other.direction);
}
},