Name pending, but basically you should be able to do:
Alakazam, Magic Guard, Focus Sash, Psychic, Grass Knot, Focus Blast, Shadow Ball
Arcanine, Intimidate, Life Orb, Flare Blitz, Extreme Speed, Wild Charge, Close Combat
...
And then this command will, if a trainer has the Pokémon, give the Pokémon that item + ability + moves. Details:
- If the trainer has a Pokémon that is not in the list nothing will happen to that party member
- Only valid abilities for that Pokémon can be specified. It is not possible to have a trainer have a Pokémon with an ability it does not have.
- Any moves and items are allowed, as that is possible in the games.
- If multiple sets exists for the same mon, then they are added to a circular buffer. For each trainer mon, we pick the first in the buffer and then shift to the next item in the buffer for the next trainer to pick.
- Don't exit the program if any error is in the format. Just print to stderr and try the next line. Some games might not have the moves we request, but the list should still work for those games, just missing some entries.
Other features that might make sense, but make this more complicated to implement:
- Add a level range for the Pokémon
1-30, Alakazam, Magic Guard, None, Confusion, Grass Knot, Shock Wave, Toxic
31-, Alakazam, Magic Guard, Focus Sash, Psychic, Grass Knot, Focus Blast, Shadow Ball
- Would allow one to make a more even difficulty curve of the trainers. Lower level trainers have worse sets.
Name pending, but basically you should be able to do:
And then this command will, if a trainer has the Pokémon, give the Pokémon that item + ability + moves. Details:
Other features that might make sense, but make this more complicated to implement: