Restore standing on arrival
A few CC2LP1 replays desynced, so, I guess this is right actually.
This commit is contained in:
parent
2ee86b50d2
commit
64ca8f008c
@ -2016,6 +2016,13 @@ export class Level extends LevelInterface {
|
||||
// XXX that is jank as hell what are you talking about
|
||||
tile.type.on_arrive(tile, this, actor);
|
||||
}
|
||||
|
||||
// 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
|
||||
if (tile.type.on_stand && !actor.slide_ignores(tile.type.name)) {
|
||||
tile.type.on_stand(tile, this, actor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -990,7 +990,7 @@ const TILE_TYPES = {
|
||||
}
|
||||
},
|
||||
on_stand(me, level, other) {
|
||||
if (! level.compat.force_floors_on_arrive) {
|
||||
if (! other.is_pending_slide && ! level.compat.force_floors_on_arrive) {
|
||||
level.schedule_actor_slide(other, level.get_force_floor_direction());
|
||||
}
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user