Author trainer rosters — the pets an NPC fields when a player challenges it — with difficulty, dialogue, first-clear rewards and rematches.
Battle Teams (Trainer NPCs)
A battle team is a trainer's roster: the pets an NPC sends out when a player challenges it to a pet battle, plus the rules of the fight — format, how clever the trainer plays, what it says, and what beating it pays. One team can be shared by several NPCs (a "Gym Guard" team on every guard), and editing it changes all of them.
Where to author it
| What | Where |
|---|---|
| The team, its roster, dialogue and rewards | Database → Pets & Mounts → Pets → Battle Teams |
| Which NPC fields it | Database → NPCs → the NPC → Behavior → Pets card → Pet Battle Team |
| How battles are presented (real-time or turn based) | Database → Combat → Pet Battle → Default Battle Mode |
Set up a trainer#
- Make sure the pets exist: every species you want on the roster needs a row under
Pets & Mounts → Pets → Species (and a sprite on its Visuals tab, or it battles invisibly).
- Open Database → Pets & Mounts → Pets → Battle Teams and press + New Battle Team.
- On Team, give it an ID and a Name, and pick the Format, Roster size
and Difficulty.
- On Roster, press + Add pet for each pet. Pick its Species and Level;
optionally give it a Nickname, an Element, and up to four Abilities. Use the arrows to put the lead pet first.
- On Dialogue, write what the trainer says when challenged, and the lines shown
when the player wins or loses.
- On Rewards & Rematch, set the first-clear reward and decide whether the trainer
can be fought again.
- Press Create Team.
- Open Database → NPCs, pick the NPC, and on Behavior → Pets set **Pet Battle
Team to your new team. Save. (The link under the dropdown, Edit battle teams →**, brings you back here.)
- On a hosted game, Publish so the managed server receives the team.
Players now see a Battle option when they target that NPC.
Team fields#
| Field | What it does |
|---|---|
| ID | Permanent identifier (lower-case letters, numbers, - and _). Fixed once created. |
| Name | What you call the team in the editor, and the trainer's name in battle if the NPC has none. |
| Description | An editor-only note. |
| Format | How many pets each side has on the field at once: 1v1, 2v2 or 3v3. A roster smaller than the format shrinks the fight to fit. |
| Roster size | How many pets each side may bring, bench included: Three (the classic trio) or Party (up to the six-pet party). Pets beyond it are left out — on both sides. |
| Difficulty | How the trainer picks moves. Random uses any usable move, Basic the strongest one, Smart also switches out a pet that is losing its matchup. |
| Battle scene | The stage the battle is drawn on — see Battle Scenes. Auto picks the highest-priority scene whose maps or biomes match where the battle starts, or the built-in stage when none match. |
| Heal the challenger's pets | Tops the player's pets up to full health before the fight, so a trainer tests the team rather than how worn down it is. |
| Allow bag items | Whether the player may use items from their bag as a turn during this battle. Off makes it a pure pet-versus-pet test. |
Roster fields#
| Field | What it does |
|---|---|
| Species | The pet. Its base stats, element and move list come from the species. |
| Level | 1–100. Sets the pet's stats with the same formula player pets use. |
| Nickname | Shown in battle instead of the species name. |
| Element | Overrides the species' element for type matchups. Species default keeps it. |
| Abilities | Up to four pet abilities, used in the order listed. Leave them empty and the pet uses its species' own moves for that level. |
| Order (↑ / ↓) | The first pet leads; pets past the format size wait on the bench and come in as others faint. |
Dialogue fields#
| Field | What it does |
|---|---|
| Challenge greeting | Said in chat, as the trainer, the moment the battle starts. |
| Win line | Shown on the result card when the player wins. |
| Lose line | Shown on the result card when the player loses. |
Rewards & rematch fields#
| Field | What it does |
|---|---|
| Gold / Taming XP / Pet XP (first clear) | Paid the first time each character beats this trainer. Pet XP goes to every pet the player brought. |
| Reward items | Up to ten items (with quantities) added to the player's bag on the first clear. |
| Can be fought again | Off: once beaten, the trainer refuses further challenges from that character. |
| Cooldown (hours) | Real hours after the last battle before a beaten trainer accepts a rematch. 0 = straight away. |
| Rematch gold / taming XP / pet XP | The smaller, repeatable reward for each rematch win. |
Losing a battle pays nothing and never locks you out — you can always try again until you win.
Gotchas#
- A team with no pets refuses every challenge. The editor won't save an empty
roster; if a species on it is later deleted, that pet is dropped from the fight.
- The Battle option only appears on NPCs with a team attached. If it is missing,
check the NPC's Pet Battle Team field.
- The player needs at least one pet of their own, or the challenge is refused.
- Progress is per character. A first clear is paid once per character, not per
account. The cooldown runs from the character's last battle with that team, win or lose.
- Saving checks every reference: an unknown species, ability, item or scene is refused
with the field highlighted.
- Deleting a team clears it from every NPC that fielded it — they simply stop battling.
The delete prompt lists them.
- Hosted games: saves reach a running server within a few seconds; a managed
server with its own database gets teams on your next Publish.
- Needs the Pet Battles feature flag (and Pets) switched on in **World Config →
Features**.
- History: open a team and use the History tab to see earlier versions of its
settings and restore one. History covers the team's settings (format, rules, dialogue, rewards, scene) — the roster is not versioned, so a restore keeps the current pets. A deleted team cannot be restored from Recently deleted, because its roster went with it; recreate it (or undo the Copilot run that deleted it).
- AI / automation: the Copilot can build trainers with the
pet-battle-team-create / pet-battle-team-update tools (plans preview through the same checks before anything is written, and a Copilot run can be undone — roster included). Scripts can use
/api/ai/pet-battle-teams(list / create) and/api/ai/pet-battle-teams/<id>(read / update / delete). Every write acceptsdryRun: true, runs the same checks, and is recorded in the audit log. The Copilot's general content tools also know battle teams and battle scenes: ask it to list, count or delete a battle team or battle scene and it uses the same delete as the editor — you approve the delete first, and undo restores a team together with its roster.