Стабилизировать ботов при медленном рендеринге

This commit is contained in:
2026-08-18 17:20:04 +03:00
parent 88a1ba9b34
commit 650bfb3533
3 changed files with 138 additions and 11 deletions
@@ -45,7 +45,9 @@ public final class EarlyLevelScenarios {
EarlyLevelScenarios::respawnedAtStart)
.step("Approach the completed bridge", 3_000L, LevelPlaytestBot.Input.right(),
snapshot -> snapshot.playerX() >= 470f)
.step("Cross the corpse bridge", 3_000L, LevelPlaytestBot.Input.rightJump(),
.step("Land on the far bridge body", 3_000L, LevelPlaytestBot.Input.rightJump(),
snapshot -> snapshot.playerOnGround() && snapshot.playerX() >= 800f)
.step("Jump from the bridge to safe floor", 3_000L, LevelPlaytestBot.Input.rightJump(),
snapshot -> snapshot.playerX() >= 900f)
.step("Release jump before the final ledge", 2_000L, LevelPlaytestBot.Input.right(),
snapshot -> snapshot.playerX() >= 1_030f)
@@ -65,7 +67,7 @@ public final class EarlyLevelScenarios {
.step("Wait for the next volunteer", 2_000L, LevelPlaytestBot.Input.none(),
EarlyLevelScenarios::respawnedAtStart)
.step("Approach the saw", 3_000L, LevelPlaytestBot.Input.right(),
snapshot -> snapshot.playerX() >= 390f)
snapshot -> snapshot.playerX() >= 300f)
.step("Jump over the saw and plate body", 3_000L, LevelPlaytestBot.Input.rightJump(),
snapshot -> snapshot.playerX() >= 700f)
.step("Reach the relic through the open door", 5_000L, LevelPlaytestBot.Input.right(),
@@ -76,7 +78,10 @@ public final class EarlyLevelScenarios {
public static LevelPlaytestBot.Scenario levelFour() {
return LevelPlaytestBot.Scenario.builder(4, "Level 4: toggle lift to gallery")
.step("Cross the toggle once and activate the lift", 3_000L, LevelPlaytestBot.Input.right(),
snapshot -> snapshot.playerX() >= 800f)
GameView.AutomationSnapshot::firstMovingPlatformPowered)
.step("Approach the powered moving lift", 3_000L, LevelPlaytestBot.Input.right(),
snapshot -> snapshot.firstMovingPlatformPowered()
&& snapshot.playerX() >= 800f)
.step("Jump onto the moving lift", 3_000L, LevelPlaytestBot.Input.rightJump(),
snapshot -> snapshot.playerX() >= 1_050f && snapshot.playerY() < 690f)
.step("Ride the lift to its upper phase", 7_000L, LevelPlaytestBot.Input.none(),