SheerSt/pokewilds

[Feature Request]: In-depth guide for modding specific species

Closed this issue · 1 comments

What would you like to request?

This isn't a request for a feature to be added into the launched game. This is a request for a thorough guide on how to write the .asm files in the mods > pokemon > (species of your choice), when creating new base_stats.asm and evos_attacks.asm files.

Here's an example of what I'm asking for. I'm trying to create a modded-in moveset for the shinx evolutionary line.

First, I presume I have to make a folder for shinx, luxio, and luxray as separate folders: mods>pokemon>shinx, mods>pokemon>luxio, mods>pokemon>luxray.

Second, each of these three folders needs one evos_attacks.asm and one base_stats.asm files.

Third, starting with evos_attacks.asm. I'm looking at the evos_attacks.asm for pikachu which is already in the mods>pokemon folder. The first line for that file is:
(tab to start)db EVOLVE_ITEM, THUNDERSTONE, RAICHU
How do I format this line for other evolution methods, when writing the evos_attacks.asm for species that are not the final stage evolution?
The lines after this one seem easy. Start each line with a tab and not hitting space several times, followed with:
db (level #) ; (NAME OF THE MOVE IN ALL CAPS AND FORMATTED WITH SPACING OR UNDERSCORE BASED ON HOW IT'S SUPPOSED TO BE FORMATTED)
Then there's the last line at the bottom, which goes:
db 0 ; no more level-up moves

Fourth, getting into base_stats.asm:
db (SPECIES NAME IN ALL CAPS) ; (dex# based on what dex?)
(empty line)
The next line, after the (tab)db, the separate items have two spaces instead of just one or using tab to space out the text, with commas after each value. There's double spacing for both the numbers and the line under it which categorizes what each value is supposed to correlate to (hp, atk, etc.). The second of these two lines starts with a colon instead of db, and has three spaces instead of two spaces.

After that is another empty line followed by more details:
db (TYPE1 IN ALL CAPS), (TYPE2 IN ALL CAPS) ; type
Pikachu's base_stats.asm is written as ELECTRIC, ELECTRIC so I assume there will always be need for the type2 to have something written there. If I want to change luxray's typing from being only electric to electric & dark, I think what I'm supposed to do is replace the second ELECTRIC with DARK, which would look like this:
db ELECTRIC, DARK ; type

The next two lines for catch rate and base exp, I refer to pokemondb.net and copy over those numbers.

The next line for item. I don't think there are hold items in this game, so I think I should copy what pikachu has:
db NO_ITEM, BERRY ; items

The next line for gender ratio, using pikachu as reference again has:
db GENDER_F50 ; gender ratio
I think the part that matters is the 50, which represents the chance of being female, with the remainder assumed to being male. Luxray is also 50/50 so I can just copy this as is. Something like miltank which is 100% female, I think would have GENDER_F100. What happens with something like beldum, which is sexless?

The next line, I don't know what it represents:
db 100 ; unknown 1
For now I'll copy this as is to the shinx family.

The next line is step cycles to hatch. I'll use pokemondb.net and copy the number over again.

The next three lines, I also don't know what they represent:
db 5 ; unknown 2
INCBIN "gfx/pokemon/pikachu/front.dimensions"
db 0, 0, 0, 0 ; padding
I copy this over again.

The next two lines for growth rate and egg groups are simple enough to apply the correct tags.

At the bottom there's tm and hm compatibility:
; tm/hm learnset
tmhm DYNAMICPUNCH, HEADBUTT, CURSE, ROLLOUT, TOXIC, ZAP_CANNON, HIDDEN_POWER, SNORE, PROTECT, RAIN_DANCE, ENDURE, FRUSTRATION, IRON_TAIL, THUNDER, RETURN, MUD_SLAP, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DEFENSE_CURL, THUNDERPUNCH, DETECT, REST, ATTRACT, STRENGTH, FLASH, THUNDERBOLT
Since neither tm or hm items are in the game yet, I don't know if I should have this line at all in my shinx family base_stats.asm files.

At the end there's the
; end
which I copy over.

I've put a little effort into searching for what I'm asking for but haven't found anything yet as of typing this. I'd appreciate if there are any available guides or info on what I'm asking about that someone could link me to.

Quick follow-up for this whole request: I've realized a lot of what I'm looking for, I can find in the code part, by navigating pokewilds>pokemon>evos_attacks.asm for the full list of that text file for all species, or by going to pokewilds>pokemon>pokemon>(species) and opening the individual base_stats.asm and evos_attacks.asm files for each species. I'll use that as reference for the info I asked for.