package com.projectsacrifice.game; /** Production-input route for the first three-goal challenge level. */ final class ChallengeScenarios { private ChallengeScenarios() {} static LevelPlaytestBot.Scenario levelEighteen() { return LevelPlaytestBot.Scenario.builder(18, "Level 18 - threefold proof") .step("Approach the optional cache", 3_000L, LevelPlaytestBot.Input.right(), LevelPlaytestBot.whileDeathsAtMost(0, LevelPlaytestBot.groundedAliveAtOrBeyond(650f))) .step("Jump through the optional cache", 2_000L, LevelPlaytestBot.Input.rightJump(), LevelPlaytestBot.whileDeathsAtMost(0, snapshot -> snapshot.playerAlive() && snapshot.collectibleFound())) .step("Land beyond the cache", 2_500L, LevelPlaytestBot.Input.right(), LevelPlaytestBot.whileDeathsAtMost(0, LevelPlaytestBot.groundedAliveAtOrBeyond(1_050f))) .step("Reach the relic within both efficiency targets", 5_000L, LevelPlaytestBot.Input.right(), LevelPlaytestBot.whileDeathsAtMost(0, GameView.AutomationSnapshot::completed)) .build(); } }