Team Preview
Team preview is the phase between matchmaking and battle where both players see each other’s teams, pick their leads, and optionally select a subset of Pokemon to bring. Think of it as the strategic planning step before the fight.
When It Triggers
Section titled “When It Triggers”Team preview runs whenever a format has teamPreview = true (the default). After matchmaking finds a pair and an arena is allocated, both players open the preview GUI simultaneously.
If a format sets teamPreview = false, the battle starts immediately with the player’s party order as-is.
Timer-Based Selection
Section titled “Timer-Based Selection”Each preview phase has a countdown set by teamPreviewSeconds (default 30). Players must confirm their selections before time runs out.
If the timer expires without confirmation, the player’s team is submitted in its current order — first Pokemon = lead, the rest follow in party order.
Pick Count (Bring N, Pick M)
Section titled “Pick Count (Bring N, Pick M)”Some formats require selecting a subset of your team. VGC is the classic example: bring 6, pick 4.
Set pickCount in the format config:
formats { vgc { displayName = "VGC" teamPreview = true pickCount = 4 targetLevel = 50 clauses = ["species_clause", "sleep_clause", "evasion_clause", "ohko_clause"] }}When pickCount is set, the preview GUI shows a “Pick {count}” indicator. Players click Pokemon in the order they want to use them — first pick becomes the lead. Only the selected Pokemon enter battle; the rest sit out.
If pickCount is null (the default), all team members are brought and the player just chooses lead order.
Pokemon Info Shown
Section titled “Pokemon Info Shown”The preview displays detailed info for your own team and limited info for the opponent’s team.
Your Team
Section titled “Your Team”For each of your Pokemon, you see:
- Name, level, gender, shiny status
- Types
- Ability
- Nature
- Moves (all four)
- IVs (individual totals and per-stat breakdown)
- EVs (totals and per-stat breakdown)
Opponent’s Team
Section titled “Opponent’s Team”By default, the opponent’s Pokemon show:
- Name and level
- Types
- Ability
The rest is hidden. This is configurable per format via previewSettings:
formats { full_info { displayName = "Full Info" teamPreview = true previewSettings { hideOpponentTeam = false randomLeadSelection = false } }}| Field | Type | Default | Description |
|---|---|---|---|
hideOpponentTeam | Boolean | false | Hide the opponent’s team entirely. Players go in blind. |
randomLeadSelection | Boolean | false | Leads are chosen randomly instead of by the player. |
Confirm and Forfeit
Section titled “Confirm and Forfeit”Two buttons sit at the bottom of the preview GUI:
- Ready — Confirms your team selection and locks it in. Once both players confirm (or the timer expires), the battle starts.
- Forfeit — Backs out of the match entirely. This counts as a loss and affects your rating.
GUI Layout
Section titled “GUI Layout”The team preview GUI is a 6-row chest interface:
| Row | Content |
|---|---|
| Row 0 | Header bar — “Your Team” label (center), level cap info (left, if applicable), pick count info (right, if applicable). |
| Row 1 | Your team — up to 7 Pokemon slots. Click to select lead order. |
| Row 2 | Divider — gray glass pane separator. |
| Row 3 | ”Opponent’s Team” label. |
| Row 4 | Opponent’s team — up to 7 Pokemon slots. View only. |
| Row 5 | Action bar — Ready button (left-center), Forfeit button (right-center). |
The GUI is fully configured in config/frontier/guis/team_preview.conf using Frontier’s GUI framework. You can customize item appearances, lore text, and slot positions.
Level Cap Indicator
Section titled “Level Cap Indicator”When a format has targetLevel set, a level cap indicator appears in the header showing the enforced level. All Pokemon are treated as this level during battle regardless of their actual level.
Pick Count Indicator
Section titled “Pick Count Indicator”When a format has pickCount set, a pick count indicator appears in the header reminding players how many Pokemon they need to select.