Yeah, i knew this when you mentioned this earlier, but in the Pancham code the (levelcheckloc: .word 0x08043017) seems to directly jumping to the evolution instead of performing level check then evolving, unfortunately (I can't understand why and how this is happening). I have tried on different pokes using G3HS but the level check is being ignored.
movedata: .word 0x08250C04 @if you have repointed the moves table this needs to be changed as well, for MrDollSteak's rombase set to 0x08900000
levelcheckloc: .word 0x0804310D
noevo: .word 0x08043111
decryptpoke: .word 0x0803FBE9
There's no specific table unlike evolution methods, rather there are just random ability checks throughout the 10000-3E000 region (more or less). Best thing to do is piggy back off of existing code to make your own abilities. It's also a good place to put in some special move codes that do double damage (for AI purposes). Thing I'd recommend to get you started would be searching for ability compares (index 28/29/2A/2B/2C, etc.) for abilities that are 'similar' to new ones, eg. Natural Cure and Regenerator, then opening that up in a debugger and setting breakpoints. Once you've found the right one, just branch to your own custom code at the actual ability check, or as close to, and then just make sure you put a check for the original ability at the end of your custom code, so that if a Pokemon does not have the new ability it'll still check for the old one.
Hope this helps, feel free to shoot me any further questions.
@Reply to first message: Hmm, I also felt this was the case, by seeing all the routines in the main thread. Thanks for clarifying.
I am thinking to have a crack at pancham and sylveon. I think they can be achieved by editing the the "other pokemon in party" and "levelup with move" routines. It can take time to achieve this if I work on them because I'm an ASM noob and learning it.
If I were making a hack, and including Inkay in my game. I would make a custom item called Inverter (which practically does nothing) and set to hold item level up evolution in G3HS. xD
The best alternatives for trade evolution with hold item I feel is hold item level-up evo too, many DS slideshow hacks have done this e.g evolve electabuzz holding electirizer with level up. And for non-item trade use normal level up or create a custom stone like Trade stone.
Mega evo, in my opinion, a totally different thing, it is actually a forme change during battle rather than an evolution. And I think Battle Scripting will be required too for simulating megas.