SearchForCheats.de.vu » Tutorials » Fancy Knowledge #1 - How To Create Predefined Pokemon


Fancy Knowledge #1 - How To Create Predefined Pokemon

Some people were wondering if it could be possible to create pokemon with special attributes in the box at runtime. Letīs say someone wanted to make a game with a not obeying Mew, he would have to unset the obedient bit. Unfortunately, that wasnīt practicable until now.

Weīre working with FireRed US V1.0
Ah, and because this is only a small reference, I wonīt spell everything out. ;-)

Okay. Your ASM script is this one:

00B00000h: 00 B5 04 48 00 68 04 49 09 18 04 48 28 22 0B DF ; .ĩ.H.h.I...H(".ß
00B00010h: 01 BC 00 47 10 50 00 03 E4 79 00 00 00 20 B0 08 ; .ž.G.P..äy....°.

The bytes do have some meanings. Iīll explain them one by one.

[00 B5 04 48 00 68 04 49 09 18 04 48]

They remain still the same... the bytes calculate the destination. (DONīT CHANGE IT!!)

[28]

This is the length of the data to be copied (in 16bits).
E.g.: We want to copy 80 bytes, so itīs 80 / 2 = 40 halfwords. #40 = 0x28
(changable, but since pokemondata always has a length of 80 bytes, it doesnīt make any sense to enter other values...)

[22 0B DF 01 BC 00 47]

Remains always the same. copies the data itself and returns. (dont change them!!)

[10 50 00 03]

Reverse it => 0x03005010
Thatīs the location for the dma adresses. (DONīT CHANGE IT!!)

[E4 79 00 00]

Defines the slot in which the pokemon will be deposited.
Itīs 0x4 + (80 bytes * pokecount).

So for example - Box 14 Slot 1:
1 Box contains 30 pokemon
30 * 13 = 390

1 pokemon equals 80 bytes, so itīs
390 * 80 = 31200

31200 + 4 = 31204 = 0x79E4
Thatīs the value.

[00 20 B0 08]

Reverse it => 0x08B02000
That declares the source of the 80 pokebytes. So you would have to enter the 80 bytes @ 0xB020000 - 0xB020050

Okay. Letīs say, your ASM script is located @ 0x00B00000 like mine. Then you would have to call it in a script like this:

23 01 00 B0 08

23 = callasm
01 00 B0 08 = reversed location of the ASM script. IMPORTANT: since I wrote a thumb routine, the location has to end with an odd number. For me itīs 01, for you just (location+1).

"Pokémon" ist ein eingetragenes Warenzeichen der Firma Nintendo
"Action Replay" ist ein eingetragenes Warenzeichen von Datel Interact.
© www.SearchForCheats.de.vu by Mastermind_X
© 2006 - 2008