Hi everyone ^^, this is a discovering I made a few days ago, and I'm here to share it with you. This is about how to create Defensive Moves' Effects that raise/lower 2 or more stats.
This is only for Ruby, as the effect's codes are different for other Pokemon editions.
Before starting, if you don't know how to add Moves or Effects, you shoud take a look into those 2 tutorials:
[Tutorial] [Ruby] Adding New Moves by destinedjagold
[Tutorial] Adding New Moves and Creating New Move Effects by itman
Let's see. We want to create a
Work Up effect, a move that raises in 1 the user's Attack and Special Attack stats. There are only 4 moves that raise 2 stats (as far as I know). They're the following ones: Bulk Up (Attack + Defense), Cosmic Power (Defense + Sp. Defense), Calm Mind (Sp. Attack + Sp. Defense) and Dragon Dance (Attack + Speed).
For example, this is the
Bulk Up effect on Ruby:
Code:
00 02 03 20 01 03 01 0C 18 8B 1D 08 20 01 00 02 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 06 00 2E 1E 60 01 02 11 89 41 43 8B 1D 08 29 00 23 4D 02 02 02 43 8B 1D 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 12 89 41 62 8B 1D 08 29 00 23 4D 02 02 02 62 8B 1D 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
I wrote as GG (effects' bytes), XX, YY, ZZ (pointers) and ?? (effects' color byte) the things that need to be changed:
Code:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 ?? 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Anything else that isn't changed is in common with other moves of that kind.
I've done a list about those defensive effects on Ruby (they're on hexadecimal):
The 2 first GG, I don't know why, but they start with 0 and end with the last number of the effect. The first GG is 01 (starts with 0 and ends with 1, that would be the last number of 11, the effect that raises user's Attack), and the second one, 02 (Defense). The third and fourth GG are the effects (11 and 12 respectively). We only need to change those values, being the first GG 01, the second one 04, the third one 11 and the fourth one 14, so it seems more a
Work Up effect. It would look like this:
Code:
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 ?? 00 2E 1E 60 01 02 11 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
The first pointer (XX) leads to the start of the following bytes: 09 0A 2E DC. That means, in the
Bulk Up effect, the pointer 18 8B 1D 08 leads to the Offset 1D8B18, that's where the bytes 09 0A 2E DC start. For example, my XX XX XX have the following pointer: 53 F4 6F 08, and this leads to the bytes 09 0A 2E DC located at the Offset 6FF453. You have to do the same, depending on where you did insert the effect, because the pointers are different for everyone unless you insert them on the same spots I did.
The next pointers (YY) are the same, but they lead to the bytes 2E 1E 60 01 02 14 89. That's the second effect (the one that raises Sp. Attack), not the first one (Attack)! In
Bulk Up the pointer is 43 8B 1D 08, that leads to 1D8B43, that's where the bytes 2E 1E 60 01 02 12 89 are, and that would be the effect that raises Defense! My pointers are 7E F4 6F 08.
Finally, ZZ. Those lead to the bytes 28 62 6F 1D 08, the last 5 bytes of the effect.
Bulk Up has 62 8B 1D 08 as the pointer. In my
Work Up effect, it would be 9D F4 6F 08.
The ?? byte is the one that changes the color's effect. In
Bulk Up that value is 06. It does that when it only raises Attack, it's red, when it only raises Defense, it's green, and when it raises both, it's gray. I don't know what value it should have for a perfect
Work Up effect, but I use 09. That one makes all the colors to be gray, no matter what it raises.
This one is my
Work Up effect:
Code:
00 02 03 20 01 03 01 0C 53 F4 6F 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 11 89 41 7E F4 6F 08 29 00 23 4D 02 02 02 7E F4 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 9D F4 6F 08 29 00 23 4D 02 02 02 9D F4 6F 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
You only have to change the things I mentioned, put that effect to a move with PGE or G3T (I use G3T) and check it in a battle.
And if we want to do an effect that raises more than 2 stats like
Quiver Dance or Coil? That's easy. I'll keep explaining with
Calm Mind's effect, which raises Sp. Attack and Sp. Defense stats, and we'll do a
Quiver Dance effect, which does the same but also raises Speed by 1.
This is
Calm Mind's effect in Ruby:
Code:
00 02 03 20 01 03 04 0C 7C 8B 1D 08 20 01 00 05 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 14 89 41 A7 8B 1D 08 29 00 23 4D 02 02 02 A7 8B 1D 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 C6 8B 1D 08 29 00 23 4D 02 02 02 C6 8B 1D 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
I will mark the pointers again:
Code:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
To add an extra effect, copy this and paste it at the end of the 08 and before the 20: 20 01 03 GG 0C XX XX XX 08. It would look like this:
Code:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
You have to copy this too, and paste it before the second efect starts: 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00. I've changed the YY YY YY to SS SS SS, because the pointers will be different. It will look like this:
Code:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 SS SS SS 08 29 00 23 4D 02 02 02 SS SS SS 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Now the code has 3 effects, we only have to change the values to get the Quiver Dance effect. We change the first 3 GG for 04, 05 y 03, and the last 3 GG for 14, 15 y 13, so it raises Sp. Attack, Sp. Defense and Speed. Then, the pointers. The XX keeps leading to 09 0A 2E DC, but YY now leads to the 2E 1E 60 before the SS, the SS leads to the 2E 1E 60 before the ZZ, and the ZZ keeps leading to 28 62 6F 1D 08.
That's
my Quiver Dance effect:
Code:
00 02 03 20 01 03 04 0C 8F F6 6F 08 20 01 03 05 0C 8F F6 6F 08 20 01 00 03 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 14 89 41 BA F6 6F 08 29 00 23 4D 02 02 02 BA F6 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 D9 F6 6F 08 29 00 23 4D 02 02 02 D9 F6 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 13 89 41 F8 F6 6F 08 29 00 23 4D 02 02 02 F8 F6 6F 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Same as before, you put that effect to a move and check it in battle. Now I'll leave here some moves I've done by myself, you only need to put your pointers in the marks, so you can do your own Defensive moves ^^. Keep in mind that my ?? byte will always be 09, unless I know how to change it.
Below there's a list of effects I've done too, but they don't work completely well. I'll tell the problems they have. I haven't realized how to fix them yet... Stockpile has the same color effect as Cosmic Power (Charge also does, but that one's not correct as it only raises Sp. Defense, not Defense). Shell Smash has 5 effects, so I've put its pointers as XX, YY, SS, MM, LL and ZZ.
That's all, probably you'll have a lot of doubts because I'm not that good explaining things xD. It seems complicated, but it isn't. You can leave here your doubts and I'll try to answer them.