Jump to content
Sign in to follow this  
Gridelin

How to change the seed for WISHMKR Jirachi

Recommended Posts

This method while it will produce a "legitimate" WISHMKR Jirachi is in-and-of itself not a legitimate method. The save file you will be creating with this method is not a legitimately obtainable save file through regular gameplay. A backup of your original save should always be stored when doing this method in-case you alter some important values outside of the relevant checksum section! For more information on how to produce a legitimate save file that will still produce your intended WISHMKR Jirachi you can read the 4th and 5th comment on this thread!

I know this is not anything new, considering the first time I did it over a year ago there was already some advice as how to do it online. I've been killing time lately and decided I would write up a guide on how I personally have changed the seed for WISHMKR Jirachi in the past.

For this process you are going to need:

The first thing you are going to do is make a backup of your current R/S save, and store it somewhere safe. After this has been done, you want to receive a WISHMKR Jirachi from the Colosseum Bonus Disc, and then cross reference the PID of the Jirachi you received with the seed that it came from.

jirachi1.PNG.a8ec4d8971718b4f090c3670c9309b38.PNG

As you can see, the seed for the Jirachi I received is 8CD0. Now I am going to open up my backed up save in a Hex editor and search for D0 8C.

jirachiseed.PNG.5d96d9eaef3b8b440f968237e373e11d.PNG

The location of my seed is at 00006FF0; unfortunately we cannot just edit the seed right here, we need to edit the checksum that verifies if the seed is legitimate. Since my seed is located at 6FF0, my checksum will be located at 5FF0 - > 60A0; your seed may be located at a different value, but it will always end in 'XFF0' and the checksum will always be the '(X-1)FF0'.  

jirachichksm2.PNG.b5642c9360ba8865a05e3958e7e2c2ce.PNG

The first thing I generally do is to start changing lots of values to 00 or 01 to see how it affects the seed value. To check how we are affecting the seed, we are going to use a very old-yet-handy tool PSavFix. The readme for the tool is pretty self explanatory, but we are going to use the tool to recalculate our seed for the adjustments we made to checksum. It is good to just mess around with values and see how it effects the outputted seed, sometimes just mindlessly changing values in this section will bring you close to your intended seed, but if not there is a general strategy. Most of the values in the checksum if increased by 1, will increase your seed by one. A couple of the values if increased by 1 will increase the first/second digit of your seed by 1; I cannot give you specific instructions for which locations do which, as in my experience the locations change save to save.jirachihex.thumb.PNG.af1b3003707c4e2a1a0979c74ca167e6.PNG

After running PSavfix.exe -fix -RS savefile.sav after some of the edits I made to the checksum, I realized that the '30' value I had would increase the second digit of my seed by 1.

jirachihex2.thumb.PNG.f438371403f94fcfaf127279b77d881b.PNG

As you can see increasing my '30' to a '32' changed my seed from CD1A to CF1A. My intended seed is CF37, so I subtract CD1A from CF37 to realize I need to increase a value in my checksum by 1D.

 jirachihex3.thumb.PNG.2a6d398a37498cff68e619eb6ba1c852.PNG

I added the 1D to the 02 value and now I have reached my intended seed! You can now retrieve your intended WISHMKR Jirachi! Again I know this is not anything new, but I hope it is able to help someone if they go googling on how to do this!

jirachidesired.PNG.374e205b2044fd3e6677a55ef38633ce.PNG

  • Like 1

Share this post


Link to post
Share on other sites

Nice guide :). By the way, the checksum used is in different places because their routine is broken. If I remember correctly, they loop through each section until they find section 0xD and use the one right before it.

What they meant to do, was to loop through all 13 sections and xor the checksums. IIRC, they also screwed up the xor by not assigning the result back to the running value.

How do we know they screwed up? Because it was fixed in a later distribution.

  • Like 1
  • V-Wheeeeeel!!! 1

Share this post


Link to post
Share on other sites
11 hours ago, Sabresite said:

Nice guide :). By the way, the checksum used is in different places because their routine is broken. If I remember correctly, they loop through each section until they find section 0xD and use the one right before it.

What they meant to do, was to loop through all 13 sections and xor the checksums. IIRC, they also screwed up the xor by not assigning the result back to the running value.

How do we know they screwed up? Because it was fixed in a later distribution.

That's actually hysterical, does this create any problems? Like could the checksum potentially overwrite important data?

Share this post


Link to post
Share on other sites

First of all and no offense, I said this in another thread before as someone was doing exactly the same thing a while ago with Wishmkr. It might be the easiest way but it's also a poor way of hacking. :( 

It's ok when you do it and feel it's fine for you, but don't advice other people to do it like this, without talking about the risks... It should be clear to everyone here that changing some random zeros somewhere is never a good thing. Not only this but also it fakes the checksum by feeding it with data that would never be there during normal play. Even the result might be ok, the way the seed came together is illegal (the whole save file is at this point) and this is by definition a hack.

If someone disagrees, please think about this... also in regards to the philosophy of PPorg...
We at PPorg don't condone cheating and it's our responsibility to define what is meant with cheating, for example...
We consider changing a Pokemon manually as a bad thing, that's why we have legality checks to ensure that they remain a rare case, aren't traded or spread and that Pokemon are generated in the "hopefully" most legitimate way as possible, if possible by the game itself alone. We also consider things like changing PRNG states manually as a bad way of hacking, that's why people RNG and RNG'd Pokemon are seen equal to legit because they were generated by the game properly, I think most people agree with this. This would also mean that changing random save data offsets for getting a desired seeds for generated Event Pokemon is bad, if we say it's not then this is a clear double standard. Just to underscore why I do have my opinion...

That's why I think our goal should be always to offer the best way possible, something that is achievable through normal play and there are different and more professional ways to do it in this case. You can just for example change the Play Time. It's not even much of a difference performing this and you can easily change it back afterwards when you write notes about what the time was before, the good thing about it is that you end up with a save file that is still save to be used... while otherwise you unnecessarily produce a throwaway save file and break things if you don't pay attention... Just saying this as a tip if you want to improve your guide, maybe there are other ways I haven't even thought about yet.


Now to answer your question... nothing happens.
Messing however with unknown Offsets in your save file sections is risky, so it's kinda funny that you ask about this. ;)
With broken seed we actually mean that all the checksums were supposed to be XORed together and then used as seed. 

The different location is just because of the order how the sections are shuffled. So far for me the Seed Section was ALWAYS section 0 though...
Ironically I'm doing research on this at the moment, because I noticed that Ahiru's Wonderland has many ANA and Yokohama Pikachu clones.
The broken seed could be the cause for this, because if you download more than 1 Pokemon in a row without playing and saving between, there's a chance that you end up with clones. The reason for this is that barely anything changes in Section 0. It contains mainly Trainer Info... and that means the checksum stays the same. Nothing is confirmed about the Pikachu Events so far, it's just an assemption... the clones could as well be just copied Pikachus.
The total numbers of Pikachus are suspiciously even in case you guys noticed it...

Edited by ajxpk
  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, ajxpk said:

It's ok when you do it and feel it's fine for you, but don't advice other people to do it like this, without talking about the risks... It should be clear to everyone here that changing some random zeros somewhere is never a good thing. Not only this but also it fakes the checksum by feeding it with data that would never be there during normal play. Even the result might be ok, the way the seed came together is illegal (the whole save file is at this point) and this is by definition a hack.

If someone disagrees, please think about this... also in regards to the philosophy of PPorg...
We at PPorg don't condone cheating and it's our responsibility to define what is meant with cheating, for example...
We consider changing a Pokemon manually as a bad thing, that's why we have legality checks to ensure that they remain a rare case, aren't traded or spread and that Pokemon are generated in the "hopefully" most legitimate way as possible, if possible by the game itself alone. We also consider things like changing PRNG states manually as a bad way of hacking, that's why people RNG and RNG'd Pokemon are seen equal to legit because they were generated by the game properly, I think most people agree with this. This would also mean that changing random save data offsets for getting a desired seeds for generated Event Pokemon is bad, if we say it's not then this is a clear double standard. Just to underscore why I do have my opinion...

That's why I think our goal should be always to offer the best way possible, something that is achievable through normal play and there are different and more professional ways to do it in this case. You can just for example change the Play Time. It's not even much of a difference performing this and you can easily change it back afterwards when you write notes about what the time was before, the good thing about it is that you end up with a save file that is still save to be used... while otherwise you unnecessarily produce a throwaway save file and break things if you don't pay attention... Just saying this as a tip if you want to improve your guide, maybe there are other ways I haven't even thought about yet.

I completely understand with what you're saying and agree with all of it, but let me hopefully explain my reasoning behind posting this as it is. For one, and I may have been just doing something wrong, but I do not believe that changing things like the in game time will always change the seed; I know for a fact that in the past I did change the seed this way, but I also know that sometimes I would try and change the OT/TID/Time to change the seed, and the seed would not change. I very well may have been doing something wrong, or not looking at the correct one of my many save files, but this was just my experience (even the other day while writing this guide I ran into the problem on one of my save files).

Now to another point, yes this method may be "poor hacking" and not "legitimate" but as you said "RNG'd Pokemon are seen equal to legit," I don't want to be responsible for making a guide that makes it nearly impossible to distinguish between a save file that someone spent hours RNGing and a briefly PKHeX'd/hex edited file. Most of the time when we do research into properly generating these old events and finding out how to make them as legit as possible there are no drawbacks to any actually retrieved legitimate versions of those events, as the events happened literally over a decade ago, and many hardcore pokemon traders require some sort of proof with any events they trade. With something like Wishmkr Jirachi thats not the case, these are still perceived as a "legit" on going event; and I don't want to be responsible for writing a guide that makes a legitimate RNG'd savefile indistinguishable from a barely hex edited file.

Finally, I personally believe that the method I laid out in the first post is easier and quicker than messing with OT/TID/Time, but I will be honest and say that I have not delved too deep into the pattern the seed changes based on making changes to those values. I'm by no means saying go into your save file and change random values to 00's and hope you get the Jirachi you want, I'm saying to keep a backup of your save and try changing the values in this specific area of the checksum and see what happens to the seed, the rest of the save file remains unscathed. You are right that I should talk more about the risks of this, and that is this not legitimate, and I will edit the first post accordingly.

I just know personally in the past there has been a very specific nature/IV Wishmkr Jirachi that I wanted, and instead of RNGing or making a poorly built .pk3 file in PKHeX I was able to do this method in under a couple of minutes to receive the resulting Jirachi that I wanted, and then was able to save the .pk3 file to my desired main save.

I know exactly where you are coming from, and as I said originally I agree with all of it! I just hope you understand my reasoning and point of view behind where I am coming from as well :).

Also please keep us updated on the Yokohama Pikachus!

  • Like 1

Share this post


Link to post
Share on other sites

Yeah, I understand you as well. :) It could be as @Sabresite already mentioned that it's not always section 0.
Like he says, the routine is programmed so that it always checks for section D and then it uses the checksum of the section above it for the Seed.
No idea what we could do in this case to improve the guide... the only thing that could be done is saving the game until the target section is above D, I think...For me the section 0 was always there, but I also must say that the save files I used were pretty fresh save files most of the times...
So I might be alone with this experience. 

Btw. also want to make clear that I'm not saying your guide is bad, it's actually a cool guide. I just thinking about how it could be improved...
Because the way it is I would not recommend to still use the save file for something else... so the way it is I would recommend to grab the Jirachi from it and delete the save file. Or you remove the added bytes from the section afterwards to get things back to the previous state.

I will! Already stated this in another thread... today I analyzed the GW Pikachus and the seeds look incremented which speaks for an RTC used for the seed.
It's not clear in the case of Yokohama Pikachu were we do have clones but the seeds looking more random. It could be RTC or broken seed. 
At least ANA Pikachu definitely used the broken seed.

Edited by ajxpk
  • Like 1

Share this post


Link to post
Share on other sites

If people are looking for fully legit 'RNG'd Jirachi's then they can't use this guide.  If people want to hack theirs, then use RNGReporter to get the PID/IVs using Reverse Method 1 and use PKHex to modify an existing one.

Share this post


Link to post
Share on other sites
Posted (edited)

I would like to try this but the link for PSaveFixV2 is broken. 

Can someone link me to another PSaveFix? 

Edited by Mudkip97

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...