Description
Several bots in the project operate as a sequence of navigation and action steps. When the entire team wipes, the game resurrects the party at a shrine, effectively resetting the team's physical position to an earlier point in the route.
Some bots already handle this scenario correctly by structuring their logic into discrete route segments. Each segment is implemented as a loop that starts at a shrine and progresses until the next checkpoint or shrine. See SoO, Froggy, Tunnels, and Voltaic bots for examples.
When a team wipe occurs:
- the current segment is aborted.
- execution returns to the start of the segment loop.
- the bot waits until the entire team has been resurrected.
- the segment is replayed from the shrine.
This guarantees that the bot's internal state remains consistent with the team's actual position in the world.
Problem
Many older bots are implemented as a single linear for loop over a list of steps.
When a team wipe occurs, the game resets the party to a shrine, but the bot continues executing from the current loop index.
As a result, the bot assumes it is still at step N even though the party has been moved back to a much earlier location.
This causes various issues, including:
- Attempting to path to unreachable locations.
- Walking into walls or obstacles.
- Skipping required setup actions.
- Desynchronization between bot state and game state.
- Route failures that require manual intervention.
Fix
Implement SoO/Froggy/Tunnels/Voltaic behaviour to all bots that can support it.
The exact segmentation should follow the natural shrine-to-shrine (or checkpoint-to-checkpoint) boundaries of each bot.
Bots to fix:
Description
Several bots in the project operate as a sequence of navigation and action steps. When the entire team wipes, the game resurrects the party at a shrine, effectively resetting the team's physical position to an earlier point in the route.
Some bots already handle this scenario correctly by structuring their logic into discrete route segments. Each segment is implemented as a loop that starts at a shrine and progresses until the next checkpoint or shrine. See SoO, Froggy, Tunnels, and Voltaic bots for examples.
When a team wipe occurs:
This guarantees that the bot's internal state remains consistent with the team's actual position in the world.
Problem
Many older bots are implemented as a single linear for loop over a list of steps.
When a team wipe occurs, the game resets the party to a shrine, but the bot continues executing from the current loop index.
As a result, the bot assumes it is still at step N even though the party has been moved back to a much earlier location.
This causes various issues, including:
Fix
Implement SoO/Froggy/Tunnels/Voltaic behaviour to all bots that can support it.
The exact segmentation should follow the natural shrine-to-shrine (or checkpoint-to-checkpoint) boundaries of each bot.
Bots to fix: