Jump to content


Recommended Posts

This is more like a proof of concept than a ROM hack, the pokemon are added, but are currently not obtainable yet, use enc.lua to force an encounter with them.

ROM base is clean Pokemon: Black Version 2. If you are having patching problems, verify ROM base with DS-Scene Rom Tool.

Battle Animations OFF! Attemping to use a 6th gen move with battle animations on might freeze the game.

6th gen moves that boost stats, inflict a status, or do damage should work, mostly... but moves with specific effects like Sticky Web or Misty Terrain, will just fail.

6th gen Abilities do nothing at all.

This AR code is required to play the hack. It modifies some of the game's code so the game can function properly with these changes.

52020478 000002C5

02020478 0000033A

D2000000 00000000

5201E3A4 0000028B

0201E3A4 000002D3

D2000000 00000000

52033CE0 0000028B

02033CE0 000002D3

D2000000 00000000

52033CDC 00003584

02033CDC 00003890

D2000000 00000000

5201DDF8 80A84308

0201DDF8 46C04308

D2000000 00000000

Things to do

Add Fairy graphic.

Update typing table to include Fairy.

Fix Subsitute bug.

Add proper icons.

Give 6th gen moves a dummy animation.

other stuff I can't remember now.

Sprites for the Kalos Pokemon and Megas are from http://pokemonshowdown.com/



  • Like 1
Link to comment
Share on other sites

  • 1 month later...

evandixon, thank you very much for sharing this!!

I'm going to try this one out very soon.

Also, does this then mean that the Fairy type is actually included as a type, but only just its type graphic and the actual type chart is not programmed yet?

Link to comment
Share on other sites

Yes. the AR codes was a quick fix to edit some of the game's opcodes on the fly. Eventually I will find them in the arm9/overlays and edit those. Fairy type is tecknicly not in the game yet. no graphics, not in the type effectiveness chart... but some moves/pokemon are set to the type ID fairy would be. I haven't touched this project much since I posted this thread, oras came out and been playing that alot.

Scorpio asked me on twitter how I did this so here is a basic break down...

Text a002 added extra text entries for the new pokemon, moves, abilites.

Pokemon Sprite a004 I found on showdown a 2D pixelart sprite for all the 6th gen mons and the mega evolutions. so i took the the sprite file expanded it to fit all the new Pokemon and alt forms and then copied the non animated ? in sprite slot 0 to be in all the new slots. then after formatting the sprites and reducing there colors to 16 i imported them with new version of BWSE which i should probably release soon. what it does is when using the sync pal option, it will match colors in the pal with the colors in the image. but some sprites have a certain color only on front, back, male, and/or female sprites that are not on the others. so this new version will attempt to add new colors to empty pal slots when using sync pal.

Pokemon Icons a007 i just copied the ? placeholder sprite to all the new pokemon and alt form slots.

Pokemon Data a016 file format was pretty much the same. I took the Pokemon Data files from ORAS, removed 4 bytes(i think it was 4) that i couldn't match to 5th gen pokemon data files and replaced the 5th gen files with these.

Level Up Move a018 the file format is exactly the same. i just copy/pasted unaltered files from oras.

Evolution Table a019 file format is the same, but some of the evolution methods are set to different IDs... also some are not even in 5th gen game... i only added the files for 650+ from ORAS but didn't fix anything yet so some of the evolution types might not be correct. but i did test On level up and it worked fine.

Move Data a021 the file format is exactly the same. i just copy/pasted unaltered files from oras, but some move effects are missing from 5th gen game.

FootPrints a165 with out footprint files for 650+ those pokemon crashed the came when captured with the dex registration screen. i took a footless pokemon(no print) and copies its data to the new slots.

then i had to edit alot of opcodes.

i had to edit one to have the game load the region dex file that got pushed to a different slot from all the new pokemon data files. at the end of the last pokemon data file is the file that holds the region dex data. the game would crash when it tried to load the region dex file(now a kalos pokemon data file) when it needed to know information about the regional dex.

like above the game stored some strings after the last pokemon. the Egg and Bad Egg strings. these strings got pushed down to be after volcanion and i had to edit an opcode so the game can retrieve the right string for bad egg. but know that i think about it i think i forgot to do it for egg.

the game was turning pokemon from 651+ into bad eggs in my party and trying to hatch them every step. i editing an opcode so that now it only does it to pokemon over 721.

the game does something funny with the sprites after 652... the sprites for the pokestar studio pokemon starts in slot 650.. but the pokemon data files dont start until slot 652 so when it loads pokemon 652 it loads sprite 650, and pokemon 653 loads sprite 651... so i had to edit an opcode to only do that for slots 722+ so that the game doesn't use chespins sprite for chesnaught, etc.

the game stores the alt form sprites right after the egg sprites. it goes pokemon sprites 0-649(some other number in b2w2 with the pokestar studio stuff) then egg, manaphy egg, then alt form sprites. the way the game handles alt form sprites is also kinda tricky. the pokemon data files will indicate what sprite to use for alternate forms but they dont say use sprite 652 for this form. it will say use sprite 0 meaning the first alt form sprite. so what it basically does is "sprite = formsprite + 652" so i had to edit an opcode so that when it was loading a alt form sprite it used 722 as the first alt form sprite and not 652.

Link to comment
Share on other sites

  • 1 month later...

I dont know if the xdelta is used to patch, all i did was dragged the clean rom to where it said drag your clean rom here and then a black box said for me to wait and then it said sucessfully patched, i applied the AR code but I still dont know how the lua file works to make a 6th gen pokemon appear in the wild.

Link to comment
Share on other sites

  • 5 months later...
  • 1 month later...

I have a question about this one. I opened the moveset file from Project 721 which should correspond with the ORAS level-up movesets. However, when I open up the hex file for the movesets, I notice the following for the level-up movesets of Treecko, Grovyle and Sceptile:

FF FF FF FF 01 00 01 00 2B 00 01 00 47 00 05 00 62 00 09 00 48 00 0D 00 E4 00 11 00 CA 00 15 00 61 00 19 00 15 00 1D 00 C5 00 21 00 9C 01 25 00 F5 01 29 00 1B 01 2D 00 67 00 31 00 FF FF FF FF 5C 01 01 00 4C 01 01 00 15 00 01 00 61 00 01 00 FF FF FF FF 5C 01 01 00 4C 01 01 00 15 00 01 00 61 00 01 00 FF FF FF FF

Blue = Treecko, Red = Grovyle, Green = Sceptile. As you can see, the movesets for Grovyle and Sceptile are all messed up. Most movesets are just fine, though. But what could be causing the above problem?

Link to comment
Share on other sites

Thank you so much for your help! It's much appreciated! Thanks!!

Also, do you perhaps have an answer for my question here: http://projectpokemon.org/forums/showthread.php?43752-Project-721

If not, that's OK, I still appreciate all the help. Lol

Responding in the appropriated thread.

The movesets are alright, KazoWAR simply used the level-up list from the demo version of ORAS, which had limited movesets for some Pokémon to prevent finding the moves by grinding.

You can check the list there: http://pastebin.com/16baa7Yk

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 months later...
  • 3 months later...

To make this project really work, I can add the in-game party icons, Pokémon footprints, Pokédex information and even the animated sprites. However, there is one specific technical difficulty, which is adding the Pokémon cries. Does anybody know a way to do this? Now, all the 6th Generation Pokémon have Bulbasaur's cry.

How do you get the 6th gen Pokémon to show up?

You can hack them in as wild encounters by hex editing the wild Pokémon encounter file, narc a/1/2/7.

Link to comment
Share on other sites

  • 7 years later...

Hi ! 
sorry for posting years after but the idea is amazing :)

Could you tell me how did you increase size of narcs ?

did you use tinke or manually added hex to the end of file ?

will there be problems with checksum or something else ?


when i try to add entries to txt narc a/0/0/2 and 3 using pptxt, I get an error saying the file length is modified and can't save the changes

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...