The Battle Lab is a theorycraft sandbox: build any matchup from the full plant catalog, tune every stat, and run the real battle engine to see exactly what happens โ no plants of your own required.
Opening the Lab
The Lab lives in the main app at supplant.app/lab, with a shortcut from the Arena lobby ("๐งช Battle Lab"). It runs entirely in your browser over the plant catalog, so it needs no account and no connection. Because it drives the very same engine your real battles use, every result is exact and fully repeatable: the engine rolls no live dice. Chance-based effects โ like the 60% chance that a sustain heal (Succulence, Photosynthesis, Mycorrhiza), Carnivory lifesteal, or a Resprout actually lands โ are decided by a fixed seed tied to the matchup, so the same setup always plays out the same way, down to which effects fire. Change a plant, a level, the order, the arena, or the weather and that seed shifts, so the outcome can change.
Three ways to test
- โ Battle โ pick any catalog plant as the opponent, build an ordered team of up to eight, and run the fight. You get the outcome, the round count, coins earned, and per-plant XP, damage dealt, and HP left, plus the full battle log. Your team enters in the order you set: the first plant leads and the rest wait on the bench.
- ๐ Counters โ pick a target and the Lab simulates every catalog plant against it one-on-one, then ranks them best-first. Each row shows the type matchup, whether that plant is native or invasive in your chosen arena, and the result โ how quickly it wins, or how much of the target it wore down before losing. It answers "what should I bring?" by simulation instead of a guess.
- ๐ Teams โ pit two full teams against each other in the arena (PvP) match engine, both sides played automatically. The result names the winner and lists each side's survivors, knockouts, and per-plant damage.
Any setup can be captured as a share link โ one button copies a URL that reopens the Lab with the whole matchup already dialled in.
What you can tune
For every plant you place, dropdowns let you set:
| Control | What it changes |
|---|
| Species | Any plant in the catalog |
| Level | 1โ100 |
| Genetics (IVs / EVs) | A bounded nudge to each stat's magnitude โ see Progression |
| Field gear | Mulch, moss pole, and soil amendments โ see Field Gear |
Two settings cover the whole battle:
- Arena โ the region sets each plant's nativity. The same plant is native in one part of the world and invasive in another, and an invasive attacker hits harder โ its ATK ceiling carries an introduced-breadth aggression term that widens as it matures. Change the arena and a matchup can flip.
- Weather โ sun, cloud, or rain; it gates weather-dependent effects such as Photosynthesis healing.
As you change any of these, the plant's derived stat line โ HP, ATK, INI, SPD, DEF โ along with its category, moves, and type matchup, all update live. The card you see is the card you fight with.
Watching the stats move
The Lab is the fastest way to see how a plant's combat stats come together (the Stats page has the full detail):
- HP comes from longevity and ATK from a plant's geographic range; both climb with level.
- DEF is diminishing armor set by a plant's battle category, its height, and (for trees) its wood density. It climbs in a straight line from a soft category floor at level 1 to its cap at level 100: weeds and herbs stay low, shrubs sit mid, and trees are the hardest (a tree's cap โ 100 ร its wood density). It scales your hit by ATK รท (ATK + DEF) rather than subtracting flat, every hit still lands at least 1, and poison ignores it entirely.
- INI and SPD are two separate tempos, and both are inverted โ highest when the plant is young, easing as it levels. INI (seedling vigor) decides who strikes first; SPD (growth rate) orders every turn after in a โ Battle, and in ๐ Teams it breaks an INI tie for the opening and then leads every round after it. The Lab shows both, so you can tell which one actually decided an opening.
To see the armor climb for yourself, set a tree such as an oak to level 20, then 60, then 100 and watch its DEF rise from a soft floor toward its density-set cap โ while a soft herb firms up only slightly.
For the tempo split, run a โ Battle with a white oak (a quick starter, slow cruiser) against a bermuda grass (the mirror โ slow to open, relentless after): the oak takes the opening exchange and the grass leads every turn from there. Reading the log against the two stat tiles is the clearest way to see turn order change hands.
See also
Stats ยท Combat Overview ยท Weaknesses & Resistances ยท Nativity ยท Progression