Jump to content

Pokemon Rom Changer Move Edits


Recommended Posts

If rom changer's effect code does not work (I guess that's the reason you are asking here)

then you have to modify overlay.

Take a look at this.

(In addition to that, I have confirmed in White 2 Japanese version the code IS in overlay0167, but instead of pointing to XX XX 1E 02, the move effects are pointing to XX XX 1D 02 addresses)

To ignore a effect, search for the move code to find the place and change the move code to something like FF FF (or just delete the entry which should work but I have never tested)

To add a effect, if the move you are trying to change already has an entry, change the pointer to the effect you want, otherwise insert an entry.

Link to comment
Share on other sites

Well, I wasn't sure about the effect code as I want to apply one of those effects to Explosion/Self Destruct. Self destruct has effect code 7 which I assume makes the Pokemon faint when using. I want it to do at least one of those 3 effects while still making the pokemon faint.

Link to comment
Share on other sites

Here's how move effects work:

1. The game performs a move.

2. The game checks if the move has a special handled effect.

3. If true, the game apply the special-handled effect, and try to apply the normal effect as well if possible. The normal effect will be ignored when it conflicts with the special effect.

4. If false, the game apply the normal effect.

Normal effects: stored in the a/0/2/1 narc, usually being a general effect and uses some other parameters also in the narc file. ROM CHANGER only edits these effects.

Special effects: The POINTER TABLE is stored in overlay093 for BW, overlay167 for BW2. Have specific code for each effect and not every move has one. The pointer table is stored in format CC CC 00 00 AA AA AA AA where C is the move code, A is the address.

I haven't digged into the actual code yet as I am currently working on something else. The address seems to be somewhere in RAM (based on information bond097 posted) but I believe it's definitely possible to associate the overlay address with the RAM address somehow.

If what you want to do is to make a sef-destruct effect COMBINED WITH another special-effect, you are basically making a new effect, you cannot just change the pointer table, you need to create new effect or modify the self-destruct "actual effect code" so that it does the new effect (possibly by copying the acutal effect code of the other effect at the end or make a jump to the other effect's address at the end)

Actually, the easiest alternative, if you don't want to get into these massive code in overlay(as it requires at least basic programming knowledge), is to make the move power to 500 instead of 250.(EDIT:Probably the max is 255 though...then you don't have this choice then. I am not in a rom-editing environment now so I can't confirm if it's only 4 byte) However I understand the feeling of trying to make things look "perfect". You need to spend a lot of time and learn a lot of things in order to achieve that "seemingly perfectness" for even a slight change sometime.

Link to comment
Share on other sites

Well, it's mostly for personal use so it's ok if it looks a bit ghetto :P. I tried the power thing and max is 255. I can try playing with the crit stage stuff or maybe make it a multi hit attack and play with the power some. Multi hit sounds fun to test. It'll probably just die and not hit twice ^^. Maybe try playing with effects such as making it flinch.

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...