Jump to content

B/W Trainer Editor


Recommended Posts

I'll mention that CPU trainers NEVER have EVs on their Pokémon - Battle Subway aside - so I doubt there's any function to control it.

Leaving the unknown as 0 also does seem to make it a random ability, although as far as I can tell it sets the ability based on a combination of the trainer themselves and the species of Pokémon, since I've had both ability one and two of the same Pokémon with a 0 unknown on different trainers. 16/32 always set it to Ability 1/2 though, I'm positive of that now.

This is interesting though!

Link to comment
Share on other sites

More likely than not there is no way to set a shiny, for regular trainer Pokes at least.

I don't know how the PID would be generated for the trainer's pokemon, but if the game generates it there's always the 1/8192 chance that it would appear shiny with the IDs it has (it'd have to have IDs to begin with).

Catching another shiny Pokemon from a trainer would mean that you'd have to keep its IDs (nope, it'd revert to unshiny), or it'd be using your IDs all along.

tl;dr, no shiny trainer pokes with these bitflags.

Link to comment
Share on other sites

After some poking around in RAM I found the party data for AI trainers, it seems the game is generating entire 220 byte pkm files, they have entire PIDs as well. not sure how it is acutely generating them.

Here is an unmodified Shauntal's Jellicent ripped form a RAM dump, so Difficulty/IVs is 250, and Unknown/PID is 34.

Jellicent.pkm

Jellicent.pkm

Link to comment
Share on other sites

After some poking around in RAM I found the party data for AI trainers, it seems the game is generating entire 220 byte pkm files, they have entire PIDs as well. not sure how it is acutely generating them.

Here is an unmodified Shauntal's Jellicent ripped form a RAM dump, so Difficulty/IVs is 250, and Unknown/PID is 34.

PID: 00FADF7D

TID: 57216 which is DF80. Has to be a mishmash of a bunch of values.

SID: 250 (Difficulty Value) = 00FA

Trainer # Is 563.

SID_TID = 00FADF80.

00FADF80-00FADF7D = is 3. Huh? Is Jellicent the 3rd Pokemon for that trainer? 3 is 34*25>>8 lol.

Nature is 0x17 (23 Careful), huh. That nature calc I posted can't be right then!

Experience is the lowest it can be for that level.

Happiness is max.

Met locations are unset.

No OT, no Nickname flag. Straight up Jellicent.

==

From what that looks like, if someone made Jellicent's Difficulty 0-7, it'd be shiny O.o

That is unless the TID changes lololol

Edited by Kaphotics
Link to comment
Share on other sites

I've noticed that if you try to make a lone NPC fight a double battle against you, they'll lose all of their dialogue and/or simply not fight you - could this be related to the trainer's "Unknown" value?

Not completely true; I'm working on a hack and I've been documenting all the changes and discoveries I'm making. What you described only happens when a trainer class is not compatable with a battle type, e.g. Lass with Double Battle. Some trainers work completely fine with Double Battles. The 1st gym leader (trio), for instance, can work properly with Double Battles.

Link to comment
Share on other sites

  • 2 weeks later...

I had a slight problem with BWTE v1.1a, I was using the US version of White(I had no problems using the Japanese version) and for some odd reason after editing Cilan's team, repack the new narc files back into their appropriate spots and after listening to his pre-battle speech, I get an "Error Occured. Please turn off the power". Like I said this never happened to me with the Japanese version.=/

Link to comment
Share on other sites

In order to change the forms, wouldn't you have the specific pokemon form's hex number into the code?

For instance, if you wanted to put Rotom's form into the team, can't you pinpoint the part of the code in rom where you can change the pokemon freely? In this case, Rotom's Fire/Electric form hex number would 291. Since all regular pokemon are listed first then all the alternate forms are listed next in the games code right after Genesect.

If you can understand how the trainer information is ordered in the rom, can't you just the put pokemon you want in the desired position?

ED:

When I put that code for Rotom's Electric/Fire form in place of Jimmy's bidoof in the first position, the editor doesn't recognize the number 657 (Rotom fire form in hex after Genesect) which I'm going to guess that this tool doesn't have the different forms programmed in? Kazo, can you verify this?

Link to comment
Share on other sites

Kazo, i need you help for tweaking my hack game, is my video :

[video=youtube;-lPx0hXfjHw]

for difficult NPC is was fixed (in video is original and no fixed), but now how to change gender of pokemon, is must used another class EF of trainer? or another value?

Why in my video is NPC is so stupid because i forgot change unknown value for double battle value set xD.

For name Mugshot i know but i lazy to rename all xD

why i used rotom, sorry i just testing for alternate form but is fail....... anyway i will experiment for rotom and deoxies alternate form........

Link to comment
Share on other sites

  • 3 weeks later...
In order to change the forms, wouldn't you have the specific pokemon form's hex number into the code?

For instance, if you wanted to put Rotom's form into the team, can't you pinpoint the part of the code in rom where you can change the pokemon freely? In this case, Rotom's Fire/Electric form hex number would 291. Since all regular pokemon are listed first then all the alternate forms are listed next in the games code right after Genesect.

If you can understand how the trainer information is ordered in the rom, can't you just the put pokemon you want in the desired position?

ED:

When I put that code for Rotom's Electric/Fire form in place of Jimmy's bidoof in the first position, the editor doesn't recognize the number 657 (Rotom fire form in hex after Genesect) which I'm going to guess that this tool doesn't have the different forms programmed in? Kazo, can you verify this?

You wrong for that :P

Yeah is you answer:: is just kazo tools was skipping or missing a some byte because is always 00, but rarely i was found on shikijika (with seasonal on some trainer maybe some byte is controling these form~)

Yeah Kazo! you can added a alternative form!!!!!

pokemonblacku2011121217.pngpokemonblacku2011121432.png

Yeah my experiment is success, kazo you can update you software to support alternative form? xD

I just digging kazo tools is work, so i know kazotools will modified some byte, maybe kazo skipping some byte is very important for alternative form~

i just modified it from HEX editor.. is really fun :DDDDDDDDDDDDDDDD

note :

00 --> is deafult form

01 --> is second form

02 --> is 3rd form if pokemon not have 3rd form it will back to deafult form (>2 =will back on deafult form)

03 --> is 4th form for shikijika, rotom and deoxies.... (>3 =will back on deafult form)

04 --> is 5 th form for shikijika, rotom ... (>4 =will back on deafult form)

05 --> is 6 th form of rotom ...

>06 (6 - 255=deafult form) --> will back to default for all pokemon

is same on wild pokemon

YY (deafult form) +0 (2^2 x0) --> deafult form

YY (deafult form) +8 (2^2 x2) --> form-2

YY (deafult form) +16 (2^2 x 4) --> form-3 (if pokemon no have any form after 2nd form it will become deafult form until >255/FF~)

YY (deafult form)+24 (2^2 x 6) --> form-4 (if pokemon no have any form after 3rd form it will become deafult form until >255/FF~)

YY (deafult form)+32 (2^2 x 8)--> form-5 (if pokemon no have any form after 4th form it will become deafult form until >255/FF~)

YY (deafult form)+40 (2^2 x 10)--> form-6 (if pokemon no have any form after 5th form it will become deafult form until >255/FF~)

YY (deafult form)+48 (2^2 x 12)--> form-7 (if pokemon no have any form after 6th form it will become deafult form until >255/FF~) ...

before Pokemon bytes is a level? i not understand for this o.oa

okay i will explain :

(pokemon trainer data)

0x00 --> Ability, Gender ...

0x01 --> IV/EV/Nature ...

0x02 --> Lv value

0x03 --> Happines (?) (if i change it, lv will become lv 100)

0x04 --> pokemon ID value

0x06 --> alternative form value

0x07 --> ???

0x08 --> item value

0x0A --> move 1

0x0C --> move 2

0x0E --> move 3

0x10 --> move 4

0x12 --> move 5

0x14 --> move 6

will repeat until have 6 slot pokemon ...

Well is data from kaphotics, maybe i will used it, yeah great method to identified byte per byte :)

Looking at these unknowns, it screams bit flags. How so?

5th and 6th bits - Ability
16 - Ability 1 -- 010000
32 - Ability 2 -- 100000
48 - Ability 3 -- 110000  (Dream World)

Both being 0 would result in an unset (random???) ability. Untested!

1st and 2nd bits - Gender
1 -   Male - 01
2 - Female - 10

Both being 0/1 would result in an unset (random???) gender. 

87 (11) is female. Is 00 male?

Combining these...

34 - 100010 -- Ability 2 and Female
Cursed body female Jellicent as reported by Abacus

87 - 1010111 -- Ability 1, Female. It has a 7th bit, no clue what that does!

1,2,5,6 bits explained. I haven't fiddled with this thing at all (just observing from afar) -- So I ask you all this:

Would IVs and EVs be set by these different bits? Max or Zero, or Max, 20, 0 or random??

;)

151's implication contradicts 250's result.

250 would then yield the same as 255, so it's a wee bit more complex than I initially thought :)

255 = 31/31/31/31/31/31 -- [u]11111[/u]111 or 1[u]11111[/u]11
250 = 30/30/30/30/30/30 -- 1[u]11110[/u]10
151 = 18/18/18/18/18/18 -- [u]10010[/u]111
 0 =  0/ 0/ 0/ 0/ 0/ 0 -- 0[u]00000[/u]00 -- Assuming this is the case.

5 bits for IVs
31 -- 11111
30 -- 11110
18 -- 10010
0 -- 00000

The first bit could be a pad? If 0 use 76543, if 1 use 87654. Idk lol it's the only explanation I currently have.

==

So bits 3 and 4 help define nature... but there's only 4 possible combos with just them! Must be more to it, gonna try to make this work... 7 and 8 probably help as well.

0 = Hardy

1 = Lonely

2 = Brave

3 = Adamant

4 = Naughty

5 = Bold

6 = Docile -- 00110

7 = Relaxed

8 = Impish

9 = Lax

10 = Timid -- 01010

11 = Hasty

12 = Serious

13 = Jolly

14 = Naive

15 = Modest

16 = Mild

17 = Quiet

18 = Bashful

19 = Rash

20 = Calm

21 = Gentle

22 = Sassy

23 = Careful

24 = Quirky

What I'm thinking:

62*25 = 1550 = [0011000001110]

0011000001110 >> (8 bits) = 00110 = 6 (Docile).

This is a calc used in this gen's RNG for a wild Pokemon's nature. It returns a 0-24 value (nature!)

Might be the calc?

Alter the Bits

8 7 x x 4 3 x x

The x's determine something else, so you can't really tamper with them. The way the calc works is that the values are somewhat linearly scaling.

 0-10 -- 0
11-20 -- 1
21-30 -- 2
31-40 -- 3
41-51 -- 4
52-61 -- 5
62-71 -- 6
72-81 -- 7
82-92 -- 8
93-102 -- 9
103-112 -- 10
113-122 -- 11
123-133 -- 12
134-143 -- 13
144-153 -- 14
154-163 -- 15
164-174 -- 16
175-184 -- 17
185-194 -- 18
195-204 -- 19
205-214 -- 20
216-225 -- 21
226-235 -- 22
236-245 -- 23
246-255 -- 24

2^4 is 16, but you also have the doublet (11) female (and male 00?) gender, so there should be enough variance to get every combo possible for each nature.

Kazowar BWTE on pokemon data is will edit :

snag0011o.jpg

you can see blue background with red text (1 byte)? is alternative form byte, alternative form is not continued from pokemon ID byte!, or not + 8 on pokemon trainer data.... all question it will answered it because on pokemon trainer data is have own byte for that ...

video :) yeah xD i was improve a lot byte ...

[video=youtube;SMNefC9UoFQ]

Edited by Andibad
Link to comment
Share on other sites

  • 2 weeks later...

I want to use the application BWME only that there is a problem! When I open the application NitroExplorer2 and extract the narc (a/1/8/0), it works. But when I open the application editor.exe and open the narc who ask, does not work! How do I do ???!!! If anyone has a video to explain, show me!

When i open .narc that says: "Could not open file... Unsupported file format."

semttuloesp.png

What's wrong?

Link to comment
Share on other sites

I want to use the application BWME only that there is a problem! When I open the application NitroExplorer2 and extract the narc (a/1/8/0), it works. But when I open the application editor.exe and open the narc who ask, does not work! How do I do ???!!! If anyone has a video to explain, show me!

When i open .narc that says: "Could not open file... Unsupported file format."

semttuloesp.png

What's wrong?

you do realise that trdata and trpoke are for editing trainers pokemon only you cant use them to edit mugshots anyway what you need to do is

1. Extract the the narc using nitroexplorer.exe (a/1/8/0) or editor

2. open editor.exe and load the 0.narc then select all and extract

3. open editor again if closed and click on tools then lz batch decompress

4.then open bwme and select the folder where the compressed files went

that should be all. but i keep getting index was outside the bounds of the array :S

Link to comment
Share on other sites

kiwi.ds / editor.exe is just for compressed 0x10 only, for mugshot is using 0x10, for another sprite like trainer is used 0x11.

Yeah if you get error after editing trainer with BWTE, this error not from BWTE, because some trainer is was controlled with a script on a/0/5/7 if you change deafult trainer data to you own, it will error, glitch, not battle, dialog not show up and event will stop to null (is mean freeze), because script read trainer data and not found deafult value, so simply it will give error, freeze or anything. so if you want editing these trainer you must change that script for pass you editing so is will working fine~

Link to comment
Share on other sites

yeah i happy if you was can change these sprite, and in you video you change class trainer too? :D you can change on PPTXT for class trainer name... :D but i wondering to found narc is controlled class trainer if is possible :/ :v yeah for backsprite, you using brendan, i know is possible to replace but i no really interesting create new sprite or remake sprite. I just experiment with another backsprite like black backsprite with shooter, yeah, i was know script work, but i not can change it easy :(

Link to comment
Share on other sites

yeah i happy if you was can change these sprite, and in you video you change class trainer too? :D you can change on PPTXT for class trainer name... :D but i wondering to found narc is controlled class trainer if is possible :/ :v yeah for backsprite, you using brendan, i know is possible to replace but i no really interesting create new sprite or remake sprite. I just experiment with another backsprite like black backsprite with shooter, yeah, i was know script work, but i not can change it easy :(

I believe the narc to change the trainer class is in a/0/0/2 in the 191th file 0:

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