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:
parent
9bf418258f
commit
ebe848ec99
@ -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
|
// 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
|
// 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
|
// 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)) {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1541,9 +1541,9 @@ const TILE_TYPES = {
|
|||||||
level._set_tile_prop(me, 'presses', 0);
|
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
|
// 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);
|
level.attempt_out_of_turn_step(other, other.direction);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user