Seen June 11th, 2019
Posted September 9th, 2018
55 posts
3.5 Years
If you'd like to add on, certainly. I will include it in the resources section as a link to your post. I wanted to provide the bare necessities required to make a basic Pokémon game, anything else would be great!

Also, I assume you are the BynineB, in that sprite pack are a lot of your old sprites that are no longer available online (dead links, etc.) there are a couple I had to restore via google images, so maybe have yourself a nostalgia trip, if you'd like :)
oh man, weird to see those, it's been probably 5-6 years since i made them! i should probably touch them up at some point...

anyway, yeah, i'd be happy to help. let's start off with a pretty simple one: changing trainer rosters.

Changing Trainer Rosters

Locate the "trainers.asm" file in pokecrystal/trainers and open it up in the text editing program of your choice. Helpfully, the top part provides a brief blurb about the formatting of each trainer. They're set up thusly:

db "NAME" (The trainer's name.)
db # (This number determines what values you set for each of that trainer's Pokemon. 0 is just their level and species, using their level up moves as their moveset. 1 lets you define their moveset, too. 2 lets you define their held item, but not their moveset. And 3 lets you define their moveset and their held item.)
Then, below that is the contents of their party. Let's take Falkner, at the very top, as an example. First, we can see that his name is defined as FALKNER and his number is 1, meaning his party has custom moves but no custom items. Second, we can see he has a PIDGEY and a PIDGEOTTO. They're formatted like so:

db #, SPECIES (This is the Pokemon's level and species, respectively.)
db MOVE or 0, repeated 4 times (If a move is listed in one of these four slots, the Pokemon has that move. If a 0 is listed, there will be no move there. Make sure to set all 4 slots, even if it only has one move!)
Editing this is straightforward. If you wanted to change the PIDGEY to a SPEAROW, you'd just write SPEAROW where PIDGEY is. (Caution: Since Falkner has custom movepools, if you don't change that SPEAROW's moves, it'll have the same moves the PIDGEY had! This isn't a problem if custom movepools aren't defined.) If you want to give the PIDGEY GUST instead of TACKLE, you would would replace TACKLE with GUST. If you wanted the Pidgey to have TACKLE, MUD_SLAP, and GUST, you simply have to replace one of the 0s with GUST. And if you wanted to give him a new Pokemon, say PIDGEOT, you would just copy paste PIDGEOTTO or PIDGEY's entry at the bottom above the "db $ff" , replacing their name with PIDGEOT, and changing its level and moves as you see fit. Simple!

Now CTRL-F "BETH". You should arrive at COOLTRAINERF BETH - you'll notice she has db 3, meaning her moves and items are defined! Defining items is also very simple - you'll see in front of RAPIDASH is a comma followed by FOCUS_BAND. If you want to give a roster custom items, make sure the trainer is db 2 or 3, then add a comma in front of their Pokemon's name, followed by the item's name! (If you want one of their Pokemon to have no item, just write NO_ITEM instead.)

Hope this helps!