Max Battles
Max Battles
How Max Battles work
What our counters are built on
Everything on this page is what our simulator actually implements, with the source of each number kept next to it in the project notes.
A Max Battle alternates between a real-time attack phase, which plays exactly like a raid, and a Max Phase. Every attack that lands on the boss charges the team's shared Max Meter. The meter holds 100 points and each hit adds an amount proportional to the damage dealt divided by the boss's total HP, with a minimum of one point per hit. Swiping into one of the energy orbs that spawn during the fight adds 10 points.
That one rule shapes every counter list on this site. Against a 100,000 HP Gigantamax boss a fast move is worth the same single point whatever it hits for, so the fastest fast move charges Dynamax quickest and short fast moves such as Dragon Breath take over the top of the list. Against a 13,000 HP Tier 5 boss the proportional part is large enough that hard-hitting charged moves pay for their wind-up. Running no charged move at all is treated as a real option and every counter is simulated both ways.
When the meter fills there is a three second countdown, then the team Dynamaxes for 3 turns. Each turn every active Pokemon picks one Max Move. When the phase ends the meter resets to zero and the cycle repeats until the boss faints or every trainer is out of Pokemon.
Every Dynamax capable Pokemon starts with Max Attack; Max Guard and Max Spirit must be unlocked with Max Particles and Candy. Max Attack takes the type of the Pokemon's current fast move - except for a Gigantamax Pokemon, which always fires its own fixed G-Max Move (Gigantamax Charizard always uses the Fire type G-Max Wildfire, however you TM it), and except for Crowned Sword Zacian and Crowned Shield Zamazenta, whose Max Attack is the Steel type Behemoth Blade or Behemoth Bash whatever fast move they carry. Niantic: they "will be able to level up Behemoth Blade and Behemoth Bash to do more damage in Max Battles - just like other Max Attacks." Those two are also the forms' ordinary Charged Attacks, so the ranked lists equip them outside the Max Phase as well. Eternatus joins a Max Battle without changing size too, but its Dynamax Cannon is an Adventure Effect that raises every Max Move by a level, not a Max Attack of its own, so Eternatus follows the ordinary fast move rule.
Level 4 exists only while the Dynamax Cannon Adventure Effect is running. Max Guard stacks up to 3 uses on one Pokemon; Crowned Shield Zamazenta is the sole exception, stacking four and starting the battle with one shield already applied. Max Spirit heals the user and every ally that is actively battling.
The boss draws two Charged Attacks from its move pool for the fight and, in the model our lists use (Pokebattler's, read off its own simulator's battle logs in wave 9), throws no Fast Attacks at all. One of the two is the spread attack: it hits every trainer in the battle. The other targets a single trainer. It throws one every ~10.5 s (~7 s on the Gigantamax tier), and each is multiplied: the spread attack by 1x and the targeted one by 2x on Tiers 1-4 and 6, 2x and 3x on Legendary Tier 5 - Duraludon's Dragon Claw lands for 57 on a Blissey, twice the 28 a raid boss would deal. While the lobby is Dynamaxed the boss waits.
The targeted attack goes to the Pokemon holding the most active Max Guard shields. That is the whole reason a shielder works: shielding pulls the boss's aim off your attackers and onto someone who can absorb it. After about 30 attacks that took HP off someone (~310 s; 33 and ~230 s on Tier 6) the boss enrages and hits 9x as hard (3x on Tier 6). A hit Max Guard swallows whole does not count, so a well-shielded lobby holds the enrage off. The Lobby tab's dodge setting cuts a dodged targeted attack to a quarter; Pokebattler's lists never dodge, and neither do ours.
You bring up to 3 Pokemon, at least one of which must be Dynamax capable. Switching has no cooldown. A trainer whose whole party has fainted can still Cheer, which trickles into the team's Max Meter. Tiers 1 to 5 hold four trainers; the Gigantamax tier splits a much larger lobby into teams of four, each with its own meter.
Niantic publishes the Max Phase length, the 100-point meter, the Max Attack / Guard / Spirit power tables and every boss stat. It publishes nothing about how often a boss spends its energy, how much meter one hit is worth, how many Max Guards stack, or who the boss aims at. Those are the numbers a counter list is actually built on, and ours are calibrated guesses, each marked UNVERIFIED in the engine.
Wave 9 replaced the biggest of those guesses with readings. Pokebattler's Lobby simulator asks its server for single battles with the whole combat log, and its counter lists come with every column it computes, so its boss (no Fast Attacks; a Charged Attack every ~10.5 s; spread and targeted multipliers), its meter (one point per Fast Attack, ten per energy orb, an orb per trainer every ~15 s), its lobby helpers, its enrage, its Estimator and its Heal Rating can now be read rather than fitted. Still guesses: the random helper (one generic Pokemon here, a random team there), the Attack and Defender Rating formulas (fits to its columns), and why its Crowned Zacian and Zamazenta Shielders rows run ~360-400 s where every other Shielder on that boss ends near 150 s.
So we measure them instead of arguing about them. npx tsx gauntlet/validate-max.ts --calibrate re-ranks 8 bosses' attacker lists and 2 tank lists against Pokebattler's own published top 10s, once per candidate setting, changing one mechanic at a time and leaving every other one alone. The spread inside a row is exactly "how much would getting this one mechanic right move our agreement with the reference site".
| Mechanic | What we assume | Sensitivity | Headroom |
|---|---|---|---|
| Max meter fill rate | 1 point per hit minimum, 12 more per 1% of the boss's HP dealtbest tried: 1 point per hit minimum, 6 more per 1% of the boss's HP dealt | 12.7 pts | 0.2 ptsnoise |
| Max Guard stacking | 3 shields stack on one Pokemonalso the best setting tried | 1.4 pts | 0.0 ptsnoise |
| Boss targeting | aims at whoever holds the most Max Guard shieldsbest tried: aims at a uniformly random trainer | 0.1 pts | 0.1 ptsnoise |
| Large-attack timing | spends its energy half the time it has any; half of those are the large attackalso the best setting tried | 3.2 pts | 0.0 ptsnoise |
| Max Phase turn length | 2.5 seconds per Max Move turnalso the best setting tried | 0.6 pts | 0.0 ptsnoise |
| Boss moveset sampling | walks the boss's Charged Attack pairs in Game Master orderalso the best setting tried | 1.3 pts | 0.0 ptsnoise |
| Fast-moves-only builds | offered, because no Charged Attack is a real Max Battle strategyalso the best setting tried | 0.6 pts | 0.0 ptsnoise |
| Ranking metric | orders the list on party members the boss eats, ignoring how long it takesbest tried: party members eaten x (solo time to win / 100) ^ 0.2 | 3.6 pts | 0.3 ptsnoise |
| Tank Rating bulk term | shield uptime x (damage soaked per Pokemon lost) ^ 0.25best tried: shield uptime x (damage soaked per Pokemon lost) ^ 0.5 | 4.2 pts | 0.1 ptsnoise |
Sensitivity is how far apart the best and worst settings of that one mechanic land, in points of top-10 agreement with Pokebattler, with every other mechanic held at the value we ship. A big sensitivity means the mechanic matters a lot and getting it wrong would be expensive. Headroom is how much better than our own setting the best one did — that is the number that says whether changing it would help. Noise floor: 3.7 points (9 seeds). Anything smaller is a coin flip, and we do not ship it as an improvement.
The result, plainly: no mechanic in the sweep beats the value we already ship by more than Monte Carlo noise, so the four the question names are not where our remaining disagreement with Pokebattler lives. The one the list is most sensitive to by a wide margin is the Max Meter fill rate - 12.7 points between its best and worst settings, against 0.1 to 3.2 for the other three - and almost all of that spread comes from the one-point-per-hit floor rather than the damage-proportional term: remove the floor and agreement collapses from 44% to 37%.
Two things are worth saying out loud about that. The first is that a mechanic with a large spread and no headroom is not unimportant - it is the one we would most regret getting wrong, and the reason the Max Meter's one-point-per-hit floor is the single most consequential line in the engine. The second is that the remaining disagreement with Pokebattler is therefore not hiding in these knobs, so the next place to look is the reference data itself: the two sites do not agree on attacker level defaults, on which Pokemon are even eligible, or in one case on the boss's own HP.
Pokémon artwork comes from the PokeMiners asset dump (the game's own 256x256 icons), with Pokémon HOME renders from PokeAPI for the handful of species PokeMiners has no GO icon for. Pokémon and Pokémon GO are trademarks of Nintendo / Creatures Inc. / GAME FREAK inc. and Niantic; this is an unofficial fan tool.
Back to the Max Battle boss list