darkfalco Posted July 23, 2014 Posted July 23, 2014 Well, basically I know there's people who already got the code, perhaps they can assist us giving that part of code or helping with some suggestions based on it. I would like you guys to help me in the making of the equation of the Shiny breeding value to know a little bit more on how each person can get a shiny without having to breed thousands for the shiny they want. I will post the things I remember are determined to get a shiny, please help me spreading this equation to it's very most atomic values: Shiny Charm + Masuda Method = 1/500 (At this point we will assume it's a 500 chance from the shiny charm research done by smogon Shiny Charm Research ) That formula obviously it's not correct, I need help to get it clearer, so if you can help me giving your idea or your own equation, we can get something better. Thanks for your collaboration.
Kaphotics Posted July 23, 2014 Posted July 23, 2014 (TID ^ SID) >> 4 = TSV ((PID >> 16) ^ (PID & 0x10)) >> 4 = ESV if TSV == ESV, it's shiny. People find their egg's ESV and find a trainer with the same TSV to hatch it shiny. As for getting the actual rate (amount of re-rolls done to the PID), it is not known at this time. There won't be ways to RNG in X/Y so the only sure way to get shinies is to abuse ESVs.
darkfalco Posted July 23, 2014 Author Posted July 23, 2014 Well, @Kaphotics, thank you very much for your cooperation. I understand the trainer shiny value must match per ESV, but I'm trying to get a usable equation to know the possibilities for a pokémon to be shiny. Seems a little hard, but if we gather all information, or get the function code we might be a step ahead on shininess... Thanks again, and hope we're able to see part of the code soon.
ShinySheimi Posted August 3, 2014 Posted August 3, 2014 The equation he gave you is the correct equation to make the calculation on whether or not a Pokémon is shiny; the reason we can't know for sure the exact formula to calculate the chances of getting a shiny is that we don't yet have all the information we need to know exactly how the PID is generated. We need this information before we can work out the chances of a shiny. I don't have the knowledge or the skill to find this out from the code, and from what I can tell very few people do. The code for X/Y is, as far as I've seen from the forums, incredibly elusive. There are still an awful lot of things we don't know. I'm sure there are people working on exactly what you're asking about, but I think there's probably far more people working on other things, such as editing in-game data. (We know it's possible, because Datel does it, and that makes it all the more tantalising!)
darkfalco Posted August 4, 2014 Author Posted August 4, 2014 I'm srry, I'm new to that language, it's C#, true? I don't know exactly waht does "^" (I think XOR) and ">>" means... (TID ^ SID) >> 4 = TSV ((PID >> 16) ^ (PID & 0x10)) >> 4 = ESV If I transcribe that as I undestand: Trainer Id "plus" Secret Id gives you a number of 4 digits length... e.g. 0730 and this is the Trainer Shiny Value (Is there any range?) Pokemon Id gives you a 16 digits number, somehow this number "plus" 0x10 that I don't know what this is... (random number perhaps?) gives another 4 digit number that is the Egg Shiny Value... Now, if TSV = ESV at hatch time, the result will be shiny... Can someone clarify a little bit this ? Thanks!
Kraust Posted August 5, 2014 Posted August 5, 2014 >> is a bitwise right shift ^ is XOR (Yes I created an account to answer this)
KazoWAR Posted August 5, 2014 Posted August 5, 2014 iirc if TID ^ SID ^ PIDh ^ PIDl is less than 16 the pokenon is shiny. PIDl is the first 16 bits of the PID, and PIDh are the last 16 bits. When an egg is collected its PID is set. The TID and SID are not set untill hatched. Since the equation is less than 16, we can just ignore the first 4 bits of both TID ^ SID and PIDh ^ PIDl so that is what the >> 4 does. Drops the first 4 bits and slides the remaining ones down the line so now bit 0 was bit 4, bit 1 was 5, etc. So now we have a 12 bit number for TSV and ESV. The range 0 - 4096
darkfalco Posted August 5, 2014 Author Posted August 5, 2014 Okkk so: (TID[0-65,536] ^ SID[0-65,536]) >> 4 = TSV [0-4095] PID[0-4,294,967,295] = PID in Hexadecimal (L) 0xFFFF|F0FF (H) = ( PID(l) 0xFFFF ^ PID(h) 0xF0FF ) >> 4 = ESV[0-4095] If ESV is equal to TSV is shiny... If not, depends on Masuda and Shiny Charm to calculate "x" number of re-rolls that I supposed is "8" (using both) to match the 1/512 ratio... Unknown re-rolls for Masuda only or Shiny Charm only.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now