PokeDo battles are asynchronous and turn-based. You and your opponent each submit your action independently — the server holds both actions and resolves the turn once both sides have responded. This means you don’t need to be online at the same time. All outcomes (damage, status effects, critical hits, faints) are calculated server-side by theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tldrwtf/pokedo/llms.txt
Use this file to discover all available pages before exploring further.
BattleEngine, so neither player can influence the result.
Full battle flow
Send a challenge
Challenge another registered trainer. The command returns a battle ID — share it with your opponent so they can accept.The default format is
singles_3v3. Use --format to change it:Accept the challenge (as the opponent)
The challenged player accepts using the battle ID.After accepting, the battle moves to the team selection phase.
Submit your team
Both players submit their current active team. The server snapshots each Pokemon’s stats, moves, and nature at this moment — local roster changes after this point have no effect on the battle.The battle becomes active once both teams are submitted.
Attack with a move
Submit an attack using a move index (0–3, corresponding to your active Pokemon’s move slots).The server holds your action until your opponent also submits. When both actions are in, the turn resolves and events are returned (damage, effectiveness, crits, status changes, faints).
Switch your active Pokemon
Switch to a different Pokemon using its team slot index (0-indexed).Switches are processed before attacks. You cannot switch to a fainted Pokemon.
Check battle status
View the current state of any active or completed battle. Shows your team’s full HP and moves, your opponent’s active Pokemon, and the last turn’s events.Your opponent’s bench Pokemon have their HP hidden — only the active Pokemon’s HP is visible.
Battle formats
| Format | Team size | Description |
|---|---|---|
singles_1v1 | 1 | Single Pokemon duel — first to faint loses |
singles_3v3 | 3 | Three Pokemon; one is active at a time |
singles_6v6 | 6 | Full team; one is active at a time |
singles_3v3 and singles_6v6, when your active Pokemon faints, the server automatically switches to the next non-fainted Pokemon in your roster. You can also manually switch on your turn.
Snapshot teams
When you submit your team withpokedo battle team, each Pokemon is snapshotted with its current stats (including IVs, EVs, nature, and level), its moves, and its current HP. Changes to your local roster — adding Pokemon, evolving them, changing the active team — do not affect any battle already in progress. This ensures both players compete on a fixed footing from team submission onward.
Damage formula
PokeDo uses the Generation V+ damage formula:- STAB: 1.5× if the move’s type matches the user’s type
- Type effectiveness: 0×, 0.25×, 0.5×, 1×, 2×, 4× — dual types multiply (e.g., a Fire move against Grass/Steel hits for 4×)
- Critical hit: 1.5× damage; base chance 6.25%
- Burn: halves physical attack damage for the burned Pokemon
Status effects
| Status | Effect |
|---|---|
| Burn | Deals 1/16 max HP at end of each turn; halves physical attack |
| Poison | Deals 1/8 max HP at end of each turn |
| Badly poisoned | Escalating damage: 1/16 max HP × turns poisoned, per turn |
| Paralysis | 25% chance of being unable to act; halves Speed |
| Sleep | Pokemon cannot act; wakes up after 1–3 turns |
| Freeze | Pokemon cannot act; 20% chance to thaw each turn |
Move mechanics
- Priority moves: Resolved before normal-priority moves regardless of Speed (e.g., Quick Attack at priority +1)
- Speed ties: Broken randomly when priority and Speed are equal
- PP: Each move has limited PP; when PP runs out, the Pokemon uses Struggle (50 power, 25% recoil, typeless)
- Drain moves: A portion of damage dealt is restored to the attacker’s HP
- Recoil moves: The attacker takes a fraction of the damage dealt as recoil damage
- Protect: Blocks all incoming damage for the turn it is used
- Secondary effects: Some damaging moves have a percentage chance to inflict a status condition