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
|
// XXX that is jank as hell what are you talking about
|
||||||
tile.type.on_arrive(tile, this, actor);
|
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) {
|
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());
|
level.schedule_actor_slide(other, level.get_force_floor_direction());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user