This is a Pokémon Battle System. Which changes the combat to a one on one style where you switch out your Pokemon.
How Pokemon Battles work?
From the Wikipedia acticle on the Gameplay of Pokémon
“Battles between Pokémon are the central game mechanic of the Pokémon video game series. They are used to train Pokémon to become stronger, as competition and to reach certain objectives within the game. Battling can also be done between human players via a link cable or wireless technology.
Pokémon uses a turn-based system. When the player challenges a trainer or encounters a wild Pokémon, the screen changes to a battle scene with the opposing Pokémon, their respective HP bars, and an option menu. At any time, the player may carry up to six Pokémon (ordered by the player) in his active party; the top Pokémon in the lineup is automatically sent into battle. At the start of each turn, both sides can choose to attack, use an item, switch the Pokémon for another, or flee from battle (the last not an option in battles against other trainers). If both sides attack, the one who goes first is determined by Speed, although some moves, items, and effects can override this. If either side chooses any other option, that action is performed before the attacks.
Each Pokémon uses moves to reduce the respective opponent’s HP to zero, at which point the Pokémon faints. If the player’s Pokémon wins, it receives experience points; when enough have accumulated, the Pokémon’s level increases. If the player’s Pokémon faints, he/she may use another Pokémon or flee; (the latter being only possible in wild Pokémon battles) if the player has no usable Pokémon left in his or her party (i.e., if they have all fainted), he/she loses the battle, returns to the last Pokémon Center he/she visited, and loses half of his/her money.“
<trainer> Signifies that this is a trainer
<trainer data> Opens up the information for a trainer
[new team] Creates a new team of Pokemon for this trainer
[new pokemon] Creates a new Pokemon in the current team
class: x Sets the Pokemon to class x
level: x Sets the Level to x
ivs: x If you have my Base Stat Formula script it sets all the IVs for the Pokemon
nature: x If you have my Base Stat Formula script it sets the nature to nature x
friendship: x If you have my Friendship script it sets the friendship to x (base = 70)
equip slots: x, y If you have my Enemy Equips script it sets the equip slots to the values
equips: x, y If you have my Enemy Equips script this sets the equipment by the id in the data base
moves: x, y If you have my Move Limit script it sets the usable moves
nickname: string Sets the name of the Pokemon to something other than it’s class
shiny If you have my Class Sprites script it makes the pokemon shiny
shadow Currently this has no effect but eventually will
gender: x If you have Bubs Gender Functions it sets the gender to x
ability: x If you have my Abilities script it sets the ability to x
form: x If you have my Genders and Forms script it sets the form to x
</trainer_data> Closes the information for the trainer
<evs: hp, mp, atk, def, mat, mdf, agi, luk> Sets the EV yeild sub the stat names for the number of EVs that go to that stat
<priority: x> Sets the priority for the skill to x (Higher priority moves go before lower priority)
<pursuit>Makes the skill’s priority change when the target is switching out
<pursuit> Makes the skill’s priority change when the target is switching out
<ev double> Doubles EVs if equiped
<lock switch> If this state is inflicted you can’t switch out
Troop Notetags (place in a comment on an event page)
<troop total: x> Sets the Limit of Pokemon you can send out
<trainer team x: y> Sets the team id for trainer x to y. The x is by the order you added them to the troop. The y is made by the [new team] notetag.
Required: Victor Engine – Basic Module
Required: Crystal Engine – Basic Module
Required: Crystal Engine – Trainers (Make Sure that you version of this script is 1.01 or higher)