Jump to content

B/W - Level Up Moveset Expansion


Recommended Posts

Okay I'm kind of stuck on this

I already know level up moves are in a/0/1/8 and how to edit them and such, but how would one go about adding a new string to a Pokémon's level up set without breaking the others?

Say for example, the string:

FF FF FF FF A1 01 01 00 8F 01 01 00 5F 00 01 00 FA 01 01 00 D9 01 01 00 FF FF FF FF 2F 00 01 00 6F 00 05 00 ... FF FF FF FF

The four FF are what border each Pokémon's level up set, with the first bit being Ninetales' level up set and the bit after being Jigglypuff. At the moment, both are bordered, and their absolute positions are in place.

Say I wanted this:

FF FF FF FF A1 01 01 00 8F 01 01 00 5F 00 01 00 FA 01 01 00 D9 01 01 00 DA 01 01 00 FF FF FF FF 2F 00 01 00 6F 00 05 00 ... FF FF FF FF

Adding a new move without replacing means everything ahead has now shifted four bytes. However, the absolute positions haven't changed, so it screws up every single level up set after Ninetales. I'm sure there's a simple way to do it, but it's not something I know how to do yet.

---

tl;dr - How do I add NEW level up moves rather than REPLACING level up moves and still have it working?

Edited by Drayano
whoops
Link to comment
Share on other sites

FF FF FF FF A1 01 01 00 8F 01 01 00 5F 00 01 00 FA 01 01 00 D9 01 01 00 DA 01 00 00 FF FF FF FF 2F 00 01 00 6F 00 05 00 ... FF FF FF FF

hm why 00 ? why is not working because you disable it ... 01 --> lv 1 for move, 00 is disable that move......

For example i used bulbasaur:

00000000h: 21 00 01 00 2D 00 03 00 ; !...-...

00000008h: 49 00 07 00 16 00 09 00 ; I.......

00000010h: 4D 00 0D 00 4F 00 0D 00 ; M...O...

00000018h: 24 00 0F 00 4B 00 13 00 ; $...K...

00000020h: E6 00 15 00 4A 00 19 00 ; æ...J...

00000028h: 26 00 1B 00 84 01 1F 00 ; &...„...

00000030h: EB 00 21 00 92 01 25 00 ; ë.!.’.%.

00000038h: FF FF FF FF ; ÿÿÿÿ

Start(1) Tackle

3 Growl

7 Leech Seed

9 Vine Whip

13 PoisonPowder

13 Sleep Powder

15 Take Down

19 Razor Leaf

21 Sweet Scent

25 Growth

27 Double-Edge

31 Worry Seed

33 Synthesis

37 Seed Bomb

For togekiss is :
00000000h: 8F 00 01 00 F5 00 01 00 ; �...õ...

00000008h: 8C 01 01 00 93 01 01 00 ; Œ...“...

00000010h: FF FF FF FF ; ÿÿÿÿ

Start Sky Attack

Start ExtremeSpeed

Start Aura Sphere

Start Air Slash

After i expand and experiment, some move is not working, maybe is have data for learned move pokemon ?
00000000h: 8F 20 01 20 F5 20 01 20 ; � . õ .

00000008h: 8C 01 01 20 93 01 01 20 ; Œ.. “..

00000010h: 8C 01 07 00 35 00 08 00 ; Œ...5...

00000018h: 38 00 09 00 FF FF FF FF ; 8...ÿÿÿÿ

red value is not working because Sky attack was at start level 1, for flamethrower is at TM/HM data , .... so if you entered duplicate move it will ignore.

Is video for that, togekiss will learn hydro pump at lv 9 (38 00 09 00)........... yeah another value was ignore by core, because is duplicate move :(

[video=youtube;q5_rryhkYog]

Anyway maybe is possible added 559 slot........

For editing for that, don't using ROM hex offxet, narc hex offset in HEX editor mode.........

So : EE EE XX UU

EE EE is for move id flipped........

XX is for level learned, 00 is disabled, 01 is for lv 1 .......

UU is i don't know, for togekiss that value is 20, another ..... not 20... for normal move you can used 00.

For TM/HM learned is not at a/0/1/8 ...

for adding new move at level up in pokemon, is possible, and working for me........

for now i can't create tutorial or tell how expanding that, i still have a lot of my final test so i no have time for that. Maybe tommorow i will create it (tutorial) using notepad++ (freeware) , but i always using ultraedit . . . .

Edited by Andibad
Link to comment
Share on other sites

I not sure he done in this week. Moveset learned move level up is can added/expand new slot(for save max 22 slot) so is impossible editing via ROM, but maybe some fuction will can added new byte to ROM and no replacing them. I not sure twistfatal will work for that. . . I was found many data and well but not done to analyze. I no wait and use twistfatal tool, you must know twistfatal work, because sometimes he tools not working, i hope he used vb2010 for new technology :)

Link to comment
Share on other sites

I not sure he done in this week. Moveset learned move level up is can added/expand new slot(for save max 22 slot) so is impossible editing via ROM, but maybe some fuction will can added new byte to ROM and no replacing them. I not sure twistfatal will work for that. . . I was found many data and well but not done to analyze. I no wait and use twistfatal tool, you must know twistfatal work, because sometimes he tools not working, i hope he used vb2010 for new technology :)

Im using vb2008 for the moveset editor

We don't know what order twistedfatal is making the tools either iirc, though I've seen people requesting for other tools before the wilds and such.

Regardless, UltraEdit got the job done. Thanks!

im currently working on my moveset editor. im doing it by gen. currently i have finished gen 1

Edited by twistedfatal
updated post
Link to comment
Share on other sites

So I'm not incorrect in assuming that you can simply insert new values in the rom, in between existing values (and thereby expanding the rom size slightly)? Pretty sure that's how it was done in Gen 4 through PPRE, though of course PPRE was able to compile roms.

Link to comment
Share on other sites

Yeah, expanding seems to work fine. Truth be told I didn't actually test if it worked ingame, but according to crystaltile the absolute offsets had shifted, so I assume it works fine.

There's the factor of knowing exactly how many slots there are, but 22 seems a safe bet.

Link to comment
Share on other sites

  • 1 month later...

Gonna revive this thread; since I stated it worked, something went wrong and it stopped working again shortly after. I have a feeling it was a certain version of UltraEdit or something, but either way I'm clueless about how to expand and still have all the Pokémon working again now.

It isn't just a case of insert the hex values at any rate, since I've tried like four different hex editors with the same failed result.

Help?

Link to comment
Share on other sites

Last gen, if you expanded any of the level-up learnsets, thus changing the size of the narc, you had to make sure none of them were at the max, or Pokemon would learn weird moves at random levels (like trying to learn Dragon Rage 5 times in a row, or Frenzy Plant, etc.). The max is 22 now, but I'm sure a similar rule still applies. This includes Pokemon that normally come maxed out at 22 as well, not just ones you alter - got to downsize all of 'em to 21 or less.

What, specifically, is the problem you've encountered? You say Pokemon "aren't working," what does this mean exactly?

Link to comment
Share on other sites

Well, when you add bytes to any Pokémon (I usually use Ninetales as a test) it shifts every byte after it by four places, but the absolute offset as displayed by CrystalTile doesn't change, so the data is read from the wrong place for everything after what you edit. Admittedly I haven't actually tried it in the game, but something I did where I just copied and pasted some bytes when I was experimenting near the start resulted in the Pokémon (in this case Snivy) learning weird things like Mega Punch at Level 6, then trying to learn "---" in a continuous loop at the same level, making it impossible to progress.

Basically, the offsets don't change so the data is read incorrectly, causing weird things to happen.

Also, about the having to downsize maxed ones already, are you sure that was necessary and wasn't just a problem with PPRE in Gen IV?

Link to comment
Share on other sites

Yeah is my worried is make another pokemon give error... but i not tested it yet :/

yeah i will test in on Hex workshop, Ultra edit.

but since is have a "FF FF FF FF" byte for closing for every pokemon i think is still possible to expand~

if is not working why in every pokemon move set always using that byte (FF FF FF FF)? but i not sure...

Link to comment
Share on other sites

yeah you right is give error, i get error message on snivy, after i editing them D: is on narc header to control these?

another pokemon after snivy will no have move, and snivy is not get a move after i was level up snivy...

also is effect on wild pokemon, all moveset is set to PP = 00 ... so is used strugle for used to attack ...

i get shock after see long narc header maybe is control these data? LOL

HEADER DATA FOR THIS NARC :

4E41 5243 FEFF 0001 38B7 0000 1000 0300 4254 4146 EC14 0000 9C02 0000 0000 0000 0400 0000 0400 
0000 4000 0000 4000 0000 8400 0000 8400 0000 D000 0000 D000 0000 0401 0000 0401 0000 3C01 0000 
3C01 0000 9001 0000 9001 0000 CC01 0000 CC01 0000 1002 0000 1002 0000 5C02 0000 5C02 0000 6C02 
0000 6C02 0000 7802 0000 7802 0000 BC02 0000 BC02 0000 CC02 0000 CC02 0000 D802 0000 D802 0000 
0C03 0000 0C03 0000 4803 0000 4803 0000 8C03 0000 8C03 0000 D403 0000 D403 0000 0C04 0000 0C04 
0000 5404 0000 5404 0000 8404 0000 8404 0000 C404 0000 C404 0000 0805 0000 0805 0000 6405 0000 
6405 0000 A005 0000 A005 0000 B405 0000 B405 0000 EC05 0000 EC05 0000[color=Red] FFFF FFFF [color=Blue]2100 0100 2D00 
0300 4900 0700 1600 0900 4D00 0D00 4F00 0D00 2400 0F00 4B00 1300 E600 1500 4A00 1900 2600 1B00 
8401 1F00 EB00 2100 9201 2500 FFFF FFFF[/color]
[/color]

blue is for bulbasaur moveset, on 001, and red is for 000 (actually for egg (glitch on pokemon BW))

for added byte is failed, but i not test replace data to data, maybe is working (is not copy but added moveset pokemon (have more than 15 slot) into target), but i think is will failed~ since added new byte is not working ...

but i not sure is ? -_- i never can change togekiss moveset~ ....

Link to comment
Share on other sites

Oh boy that is a scary header o_o; I'm praying you don't need to edit that for this.

Yeah, those are all the same effects I had when I tried expansion. I had everything using Struggle on me, same as you.

You can definitely replace the current moves, I've done that loads in my hack, in some cases using duplicates, though I often had to replace moves the Pokémon normally learnt (usually going for the ones useless to it). Of course, that kinda sucks for things like stone evolutions, who are often stuck to 4-5 moves; Togekiss being one example of that.

There's definitely some way to expand but I don't have a clue what it is :/

Link to comment
Share on other sites

in my test on togekiss, i added 2 move, hydro pump on lv 11, togekiss is success to learn that and no with glitch move/unnamed move or wild pokemon is not used strugle but is not normally move. i think all pokemon gen 5 will give error. after there i excract a clean file and i edit snivy move, my test is failed, i don't know why snivy learn unnamed move on lv 8 ( i was set to lv 7 ...), if is OK to learn it will give error message...... :/ really is confused to me........

Link to comment
Share on other sites

Well, it's a little hackish, (but that's okay because we are hackers), but if you use PPRE to get the NARC file, you can then grab the specific file from a narc editor like this one. Then you just need to edit the single file and not worry about offsets. Raw hex is probably the best way to go on this one.

Link to comment
Share on other sites

Bulbasaur's file:

21 00 01 00 | 2D 00 03 00 | 49 00 07 00 | 16 00 09 00 | 4D 00 0D 00 | 4F 00 0D 00 | 24 00 0F 00 | 4B 00 13 00 | E6 00 15 00 | 4A 00 19 00 | 26 00 1B 00 | 84 01 1F 00 | EB 00 21 00 | 92 01 25 00 | FF FF FF FF

http://bulbapedia.bulbagarden.net/wiki/List_of_moves

21 00 -> 00 21 -> 33 = Tackle

01 00 -> 00 01 -> 1 = Level 1

Tackle at level 1.

2D 00 -> 00 2D -> 45 = Growl

03 00 -> 00 03 -> 3 = Level 3

Growl at level 3.

21 00 01 00 | 2D 00 03 00

To add is simply:

Fusion Bolt at level 2

Fusion Bolt is 559 -> 22F -> 022F -> 2F 02

Level 2 is 02 00

Then...21 00 01 00 | 2F 02 02 00 | 2D 00 03 00

He learns Fusion Bolt at level 2!

FF FF FF FF never touch. And the limit is 22 attacks.

Edited by Zark
Link to comment
Share on other sites

Zark, main problem is that every time any of us try to insert new hex in between current moves as you've shown there, it causes problems for every Pokémon after the edited one numerically like Wild Pokémon having no moves whatsoever, your Pokémon learning very strange things etcetera. I just tried it again with Hex Workshop and same result.

Can I ask specifically what hex editor/program you use to edit the a/0/1/8 narc?

EDIT: Okay, turns out editing each BIT of the .narc file and then reinserting it (basically what Kairi suggested) does actually work! It's a little slow, but it's definitely a start. Come to think of it, I guess that's how Kazo's Trainer tool works too; the hex is expanded for the trainer Pokémon as a segment of the big file, then when it's reinserted it's all in the right place. Wish I thought of it before x_x

Well at any rate, there's one solution. Thank you.

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