• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: YAPE (Yet Another Pokemon Editor)

Gamer2020

Accept no Imitations!
1,062
Posts
15
Years
Does it not bother people that the guy hasnt loged in for almost a year.
I doubt there will ever be an update...
Its still a grand tool though.
 

darkmewham2

Cold's catch rate- 100%. D:
129
Posts
15
Years
Amazing tool. I renamed it RAPE (Really, another Pokemon editor) for laughs, but noticed something... It's not rape if I like it!

Great program. I use this all the way over Amp. I only use Amp anymore because it won't let me put pointers (really bad for those 25 empty Pokemon spots...). I hope there will be an edit to this soon!! :)
 
2
Posts
15
Years
  • Seen Feb 8, 2009
Aww man it didn't worked!!

----------
Instead of pokepic, use unlzgba and similars.
And for the ?? pokemon attacks, each attack list is a pointer to the data. YAPE would use some repointing for this.
----------
Just in case silver wants to do the egg thing, I have some info on that:

Egg Moves
These moves are learned through breeding. They are listed as follows:
[Pokémon][Attack][Attack]...[Pokémon][Attack]...
All of this in 16-bit values. The Pokémon index is increased by 4E20 (20.00010) to distinguish them from attack indices. For example, Pikachu's index is 19. That plus 4E20 equals 4E39, so Pikachu's egg move data would start with that.

Example: Geodude
This is the data for an R/S Geodude, found at offset 209366 in Ruby and 25F096 in Fire Red:
[4E6A][0005][009D][014F]
4E6A – 4E20 = 4A, which is Geodude's index. 0005 is "Mega Punch", 009D is "Rock Slide" and 014F16 is "Block". Feel free to check this with strawhat's FR/LG Pokédex on GameFaqs.
- - - - - - - - - - Source: Kawa's collected pokemon documents


And, checking myself at 25F096, I see that lists end with next pokemon's list (values > 4E20). And that only base pokemon have egg moves (next to geodude's egg moves are... next to golem is tentacool right?), so a function to repoint the whole list (each list is not pointed, the whole list is loaded each time), would be useful because the amount of evolution chains may differ.

I hope this helps (I suppose so) and encourages silver to add this feature.


Hey, I have problem with this YAPE thing! When I open it, it says, "The application failed to initialize properly (0x0000135). Click on OK to terminate the application" and that's how the problem is...so i know you can help me right? So reply me A.S.A.P!
 

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
Hey, I have problem with this YAPE thing! When I open it, it says, "The application failed to initialize properly (0x0000135). Click on OK to terminate the application" and that's how the problem is...so i know you can help me right? So reply me A.S.A.P!

please read through the few pages of posts, the answer to this has already been told,
You need to download the .NET framework.
 
4
Posts
15
Years
  • Seen May 22, 2010
Wow, I downloaded this and I have to say it's really awesome. I don't see anything bad about it. Great job!! : )
 

poddish

Spirit Of Radio
233
Posts
15
Years
well actually there are quite a few pokemon that, when bred, don't always come up with their lowest evo. form, the most well-known ones are the incense ones, but the nidorans can have EITHER gender as the baby pokemon, and I heard that also happens with volbeat and illuminous, and plusle and minun, but I amn't sure about those though...
 

Musician of Literature

La musica es la fuerza...
390
Posts
15
Years
Hello, everyone. I'm announcing the release of YAPE (Yet Another Pokemon Editor) version 0.9. This is, essentially, a pre-release of the coming version 1.0 (due out when it's out). I figured the community could use the new tool, and since all of the main features are complete and at least lightly tested, I'm releasing 0.9 now.

Main Features
YAPE works on the 3rd generation games (R/S/FR/LG/E) and edits the following:

  • All of the base stats, EVs, etc. This includes a few I have not seen editable in any other editors (such as the level-up rate).
  • Evolutions
  • Usable TMs/HMs
  • Learned attacks. (it even handles updating all the pointers automatically; adding/removing these for a pokemon is now extremely easy.)
  • Pokedex entries (including the height, weight, size, and text)
Some possibly less-obvious features:

  • Everything in the "Pokémon Selection" group can be used to select the active Pokémon. That means you can click on an entry in the evolution tree, enter one of the dex numbers, or select by name, etc.
  • You CAN change the number of learned attacks for a Pokémon. YAPE keeps all learned attacks for all Pokémon in the same space and only places a restriciton on the total across all Pokémon (to avoid overwriting important data by accident.) If you wish to add more learned attacks to say, bulbasaur, you would need to remove one from another Pokémon. You can add more moves to the "?" Pokémon this way. In future versions I plan to have the ability to specify a custom pointer for these for more advanced users, but beware that there will be no checking/automatic pointer updating on any such custom pointer values.
  • The text for the Pokédex entries is like the learned attacks. YAPE only tracks the total space for all text. If you want to make one entry longer, you would need to shorten another one.
  • It is possible to change what a Pokémon breeds to, but this must be done by editing evolutions. The game just backtracks through the evolution tree to determine what the result of breeding is. (There are a few special cases where it will stop before the beginning, such as breeding wobuffet without having it hold a lax insence, but everything else uses the beginning of the tree.) See the help file for more detailed info on how to do some more advanced things with this.
FAQ

  • Is it possible to add/edit dex entries for the "?" Pokémon (the ones between Celebi and Treecko)?
    • No. At least not in any useful manner. There is a limit of 386 dex entries. Technically, you could have an entry for them by changing the national dex numbers of these Pokémon to something between 1 and 386. However, this provides no real benefit over simply editing the stats/graphics of another existing Pokémon that already has a national dex number in the required range. See post #33 of this thread for all the gory details. If you want to make a hack with more than 386 Pokémon, it is strongly suggested that you wait for D/P tools and use those games as a base instead.
  • I opened a ROM in YAPE, just changed one thing (or nothing at all), hit save, and lots of bytes changed in the ROM. What gives?
    • The additional change you are seeing is probably normal. YAPE doesn't specifically track what was edited, it just saves all data every time you do a save. The things that are likely to change are:
      • the pokedex text/pointers (mainly in leaf green, as YAPE compacts all the entries and lg has some empty space in its dex text area)
      • The order of evolution data. For example, Eevee has 5 evolutions. It is possible that YAPE may change the order that these 5 evolutions appear in. (Evolution data is compacted/sorted internally in YAPE. When it writes the data back, it puts it in the sorted order rather than original order.)


Feature Requests
I'm listing the feature requests that I'm considering here. I have no current timelines for any of these features, so please do not ask when any of them will be done. In fact, I make no guarantees that any of these will be finished at all. They will only be added if I have the time and can do so in a sane, stable, and user-friendly fashion.

Considered for v 2.0 or sooner. I have at least a general idea of how to handle all of these, but in many cases the implementation is non-trivial:


  • Egg move editing. (Thanks to Teh Baro for info on this)
  • Pokédex order editing.
  • Simple method for expanding the space available for dex text and learned attacks. This will allow the addition of many more learned attacks and larger text entries without losing the safety and convenience of YAPE's automatic pointer updates.
  • Various other polish and niceties in the UI.
  • Importing/Exporting data as text.
Considered for post-v2 (Probably a long way off, if I ever get to it.):


  • Graphics editing for Pokémon (sprite, pallete, position on battlefield, presence of shadow, etc.). General graphics editing should be done with a tile editor or unlz etc.
Considered for separate companion tools to YAPE:

  • Type strength/weakness editor.
  • Attack editor (i.e. something that edits attack name, power, accuracy, etc.)
  • Item editor

If you would like to see a feature that's NOT listed above, feel free to let me know. Be aware, though, that I've got a pretty large list already, so the odds of any new requests (aside from very minor ones) being added in the near future is small.


If you're having issues with YAPE:

  • If the program will not start due to some error, you probably have one of the following issues:
    • You do not have the .Net framework 2.0 or higher installed. You can get this through windows update or from microsoft.com. It is free.
    • You're missing some of the dlls required by YAPE. These are included in the distribution; make sure you keep them in the same folder as the main program.
  • If anything in the UI is confusing, check the help files first. They contain much more detailed descriptions about what some of the options and stats mean.
  • Currently this only edits the English versions of the games. If someone can track down the necessary offsets for other versions, I will add support for those as well.
  • If you have a problem not covered above, either PM me or post in this thread and I will do my best to help you.
Translators Wanted
I would love to be able to release 1.0 in a few more languages. If anyone is interested in translating it, let me know. I'm using ini files for all of the program's text, so you would not need to do any actual programming. Take a look in data\en-us\*.ini for an idea of what would be involved in the translation. (Translating the help file would be nice as well, but I realize that is more work...)

Translation Update:

  • See post #38 for some more detailed instructions on making a translation.

Constructive feedback is, of course, welcome.

Enjoy!
--Silver314

I would like to see this program make you able to change a pokemon's type. Like say you're editing a bulbasaur, and you want to replace it with a dark/fighting type. I would like your program to do that.
 

FinalZero

...
115
Posts
15
Years
  • Age 35
  • Seen Jan 13, 2016
I would like to see this program make you able to change a pokemon's type. Like say you're editing a bulbasaur, and you want to replace it with a dark/fighting type. I would like your program to do that.
Did you even open the program? It already can do that.

Just out of curiosity, as this might be an error, can anybody get the egg hatch speed and base happiness to actually change when they try to? I change it and save, but when I click back it still shows what it was before.
 
Last edited:

Banjora Marxvile

hOI!!!!!! i'm tEMMIE!!
3,496
Posts
15
Years
  • Age 30
  • Seen Mar 27, 2024
Did you even open the program? It already can do that.

Just out of curiosity, as this might be an error, can anybody get the egg hatch speed and base happiness to actually change when they try to? I change it and save, but when I click back it still shows what it was before.

You need to edit the Custom number, not the standard. After editing that, it should work.
 

FinalZero

...
115
Posts
15
Years
  • Age 35
  • Seen Jan 13, 2016
You need to edit the Custom number, not the standard. After editing that, it should work.
Ah, I see how it works now. But, it is a rather unintuitive way of doing it. I wonder if he really intended to make it that way...
 

Sophidius

Need a storyline? PM me!
153
Posts
15
Years
It doesn't work! It can't read my Firered ROM and in my my Ruby ROM it displays everything in Spanish?

Never mind it works now:P Turns out I had a EU version for Fire Red and a Spanish version of Ruby
 
Last edited:
1
Posts
15
Years
  • Seen Mar 14, 2009
This is annoying. I can't even download it because the attachment code is ****ed up

It DOWNLOADS THE PHP FILE. I did save target as and there is no direct link

UPLOAD IT SOMEWHERE ELSE
 
46
Posts
15
Years
  • Seen Jun 6, 2014
*yawn*
most useful and useless tool I have found..
No compatibility with platinum? or even d/p?
every other game, this is a necessity..
 
Back
Top