Past Gen RNG Research

Assuming this is correct, all the spreads listed in the attached .zip file should be reasonably easy to obtain. All the spreads listed are limited to frames 1-100.
Sorry if this is a stupid question, but how do you find what dates and times are needed for those seeds?
 
RNG Reporter's Seed to Time function ;)

Remember, you need a delay of 0; I'm pretty sure the spreadsheet gives the year required to do this for each spread.
 
Information regarding Irwin:

Apparently the Rocket incident at Goldenrod City changes the responses of Irwin and makes him useless.

I can't tell yet if restoring Goldenrod City will make appear the other messages again.
 

Wild Eep

pet pet pet
is a Forum Moderatoris a Senior Staff Member Alumnusis a Researcher Alumnus
Moderator
Super-advanced Pokewalker tricks:

You folks probably saw my flawless Timid HP Ice Pikachu* in the Discuss My Pokemon thread last night or today. So in this post I will go over the advanced stuff I did to make it possible.

Abstract: You can advance the frame by 2 for each Pokemon sent over to the DS without turning it off (I left mine in sleep mode while catching). The IRNG call used (which indirectly governs the nature) is equal to 192C + P, where C is the number of Pokewalker-to-DS connections are used, and P is the number of Pokemon caught (including the target). This is assuming there are no connection errors, which proceed to render the nature unpredictable.

[5/27 edit]: There is a better way to look at IRNG advancement. Every time you connect successfully, there is an advancement of 192. For each Pokemon sent in a connection, that advances the IRNG by one.


  1. Make sure your stroll is configured to produce the monster you actually want to catch. You can figure this out before starting the RNG process, so doing it now saves you aggravation later!
  2. Find a seed with good IVs. A viable seed has zero delay at some year in legal DS time (you can't be picky about the year because only one year works per seed!). With current knowledge, only odd frames can be achieved, and you can't go higher than 1079 (and you'd need a completely empty PC for that!).
  3. Find a point on the IRNG with an acceptable nature. As things stand now, this is a pain in the neck. Run an IRNG search on your target seed from (192*(1+[P/3])) to some large number, where P is the number of Pokemon you have to catch to reach your frame (P=[(F-1)/2]+1). Export this to CSV and open it in your favorite spreadsheet program. Use a find/replace function to search for spaces and replace them with nothing so that the egg PIDs can be manipulated. Make a new column with a formula to convert the hexadecimal PIDs to decimal, like =HEX2DEC(A1) [or wherever your PID is]. You will also want another column to determine the Pokewalker nature from this. The algorithm is Egg PID mod 24, so a sample formula would be =MOD(B1;24). Match the resultant numbers to this list to determine the nature. Because mod 24 returns a number from 0 to 23, Quirky (24) cannot be selected, which is probably a good thing.
  4. The next challenging part is finding an acceptable IRNG frame to use. An IRNG frame I is acceptable if (I-P)/192 is an integer greater than P/3. The resultant integer is the number of Pokewalker-to-DS connections you have to make in your journey. It has to be at least P/3 because that is the minimum number of connections you have to make to get your target frame!
  5. I would like to take the time to mention that I do not know how the ability is chosen at the moment. All my Pokewalker RNGing has been in the Yellow Forest with single-ability Pikachu.
  6. Make sure you can reach your seed before starting, in other words calibrate or make sure that you have already done so. Set the DS clock to a time near the seed (you have to use a year such that the seed's delay is zero) and attempt to start the game at the correct second. Send a few fodder Pokemon to the DS and compare to the Wondercard IVs list for the target seed and seeds with the same delay (0) but several seconds off in either direction.
  7. Once you can achieve your seed, try to land it and begin your quest. Catch all the Pokemon you need, and send them over (via Receive Gift only) in the requisite number of connections for nature purposes. In between connections, I recommend leaving your DS at the Pokewalker connect menu in sleep mode and plugged in. Also, beware of connection errors! Even one error will cause you to lose control of the nature!
  8. The clock striking midnight appears to have no effect on the RNG's advancement, and neither do items your Pokemon finds on the ground.
I hope that helps all you budding Powewalker enthusiasts out there!

6/1 EDIT: I'll include the DMP post here so I won't have to when DMP mark 9 is deleted.

Stop the presses!

Presenting:

Pikachu (f) Lv. 14
Timid
31/18/30/31/31/31 (that's HP Ice 70 for those watching at home)
Surf/Thunderbolt/Thunder Wave/Quick Attack

Straight from the Pokewalker. The effort required for a spread like this is quite a bit different from the latest Pokewalker RNG research! Turns out each Pokemon transferred to the DS advances the RNG by 2, so by transferring a lot of Pokemon from the Pokewalker without turning off the DS, you can reach high (but only odd) frame numbers.

This one was seed 8D140056, frame 553. Yes, 553. I caught 277 Pikachu to make this happen!

I will discuss the process in depth tomorrow, since everyone on IRC is waiting for this post!

I'm still contemplating a distribution model for this monster, but it sure as hell won't be redistributable!
 

Wild Eep

pet pet pet
is a Forum Moderatoris a Senior Staff Member Alumnusis a Researcher Alumnus
Moderator
Pokewalker PID Calculation:

Adapting Wichu's pseudocode to explain my findings:

Code:
rnd = CallIrng()  
nature = rnd % 24 # There are actually 25 natures, so this prevents the Quirky nature being chosen, for some reason.  
pid = (((trainerId ^ secretId) >> 8) ^ 0xFF) << 24 # the most significant byte of the PID is chosen so the Pokémon can never be shiny.  
nature = nature - (pid % 25) # Adjusts the nature value so that when it is added to the PID, the resulting nature is the same as the original chosen nature. This can underflow to give a negative number.  
pid = pid + nature # Creates the PID with the correct nature. If nature is negative, underflows to give a PID in the form 0xXXFFFFYY; otherwise, the PID is in the for 0xXX0000YY.  
gr = GenderRate(species) # Gets the gender rate of the Pokémon (0-255; 0 is always male, 254 is always female, and 255 is genderless).  
if (gender == male) #the gender forcing only seems to happen when necessary
pid = pid + ((((gr - (pid & 0xFF)) / 25) + 1) * 25) # Ensures gender is set to male without affecting nature.  
if ((rnd & 1)  != (pid & 1)) # If ability does not match the chosen ability
pid = pid + 25 # Switches ability without affecting nature  
end if  
else if (gender == female)  
pid = pid - (((((pid & 0xFF) - gr) / 25) + 1) * 25) # Ensures gender is set to female without affecting nature.  
if ((rnd & 1)  != (pid & 1)) # If ability does not match the chosen ability
pid = pid - 25 # Switches ability without affecting nature  
end if  
end if  
return pid
Key differences between Wichu's original posting and the above code:
Gender forcing algorithms only happen when the initial PID's gender does not match the forced gender. Single-gender and genderless Pokemon do not appear to have their PID adjusted by these steps.
The force female algorithm is pid - (), not pid + ()
The ability swap only happens when the gender is swapped.

Practical applications:
Gender rates:
31: Munchlax, Combee, Eevee, Torchic
63: Magby, Machop, Elekid, Abra
127: Everything with a 50/50 gender split
191: Azurill, Clefairy, Jigglypuff, Corsola, Cleffa, Igglybuff

Whenever the gender is forced, the natures with even numbers will be ability 0, and the natures with odd numbers will be ability 1. The only way to avoid this is to have an ID/SID combination that has the correct nature/ability combo and does not have a gender swap. As far as Munchlax is concerned, this makes Selfdestruct + Sassy + Thick Fat very difficult to get*, and Selfdestruct + Careful + Pickup impossible.

(EDIT: It might be worth noting that Hardy + Ability 1 is similarly unobtainable for Pokemon that are forced to be female.)

*Need [(((trainerId ^ secretId) >> 8) ^ 0xFF) << 24] mod 25 to be 23. Every other number either makes Sassy Munchlax go through the gender correction (and even nature -> Ability 0) or are innately even.
 
I hope this isn't a violation of the rules, as my post has nothing to do with HGSS (but Emerald), but I was wondering if anyone ever looked into this. I know absolutely zero Japanese, so as much as I'd like to help and see if it works, I could only do it once someone else gives me the details of what to do. I could be making a really stupid post and just posting what abusers with emulators already use, but from what Jono posted, it looks like it could work without an emulator so I don't know.
 
I hope this isn't a violation of the rules, as my post has nothing to do with HGSS (but Emerald), but I was wondering if anyone ever looked into this. I know absolutely zero Japanese, so as much as I'd like to help and see if it works, I could only do it once someone else gives me the details of what to do. I could be making a really stupid post and just posting what abusers with emulators already use, but from what Jono posted, it looks like it could work without an emulator so I don't know.
Love to help but the link gives me

"Invalid Social Group Discussion specified. If you followed a valid link, please notify the administrator"
 
Oh, this was posted by Jono:

I was on the emloop site and looking at some of the links and found this site, it seems to be about resetting shiny eggs in emerald and I was wondering if any one would be able to work anything else out about it, I used google translate and it seems as though it has something to do with box operations.

http://d.hatena.ne.jp/metagross-armo...A7%B0%E3%A4%A4

http://d.hatena.ne.jp/metagross-armo...A7%B0%E3%A4%A4

http://d.hatena.ne.jp/ayuzak/searchd...A1%BC%A5%D7%5D

they seem to use spindas to work out pids or something like that
 

Zari

What impossible odds?
is a Contributor Alumnus
The following spreads are stuff I've found for the pokewalker. Note that they aren't flawless like Wild Eep's surfchu, but they are all at or under frame 17, meaning at most you would have to transfer 8 pokemon + the 9th target. There are better spreads out there, but for those who don't want to shoot for high numbered frames, these should be pretty good.

Note: both of these sets are incomplete as I've only gone from years 2000 - 2046 ( there's a trick so you don't have to search every set, but you can still know if the sets you don't look through have good spreads or not)

Physical Spreads:
Code:
[SIZE=1][COLOR=DeepSkyBlue][COLOR=Black][COLOR=Red][COLOR=Black][COLOR=Lime][SIZE=3][SIZE=2][COLOR=Black]
[/COLOR][/SIZE][/SIZE][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/SIZE][SIZE=1][COLOR=DeepSkyBlue][COLOR=Black][COLOR=Red][COLOR=Black][COLOR=Lime][SIZE=3][SIZE=2][COLOR=Black]Seed, frame, HP / ATK / DEF / SPA / SPD / SPE
b0c0014, 3, 31 / 29 / 30 / 15 / 30 / 30
51050019, 9, 31 / 30 / 28 / 20 / 30 / 31
1b060015, 3, 31 / 31 / 23 / 12 / 31 / 31[/COLOR][/SIZE][/SIZE][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/SIZE][SIZE=2][COLOR=DeepSkyBlue][COLOR=Black][COLOR=Red][COLOR=Black][COLOR=Lime][COLOR=Black]
2f080019, 3, 30 / 30 / 31 / 15 / 29 / 1
510c001d, 5, 29 / 30 / 31 / 27 / 30 / 0
6413001b, 17, 31 / 31 / 29 / 27 / 31 / 19[/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR]
7911002e, 9, 31 / 31 / 31 / 18 / 27 / 30
[/SIZE]1b000030, 11, 30 / 30 / 30 / 26 / 31 / 30
Hidden Power Special / Mix Spreads:

Code:
[SIZE=1][COLOR=DeepSkyBlue][COLOR=Black][COLOR=Red][COLOR=Black][COLOR=Lime][SIZE=3][SIZE=2][COLOR=Black]Seed, frame, HP / ATK / DEF / SPA / SPD / SPE, HP Type, HP Power[/COLOR][/SIZE][/SIZE][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/SIZE]
[SIZE=2]18120021, 7, 31 / 31 / 31 / 30 / 30 / 7, Ground, 70
46040005, 5, 28 / 26 / 29 / 31 / 30 / 30, Rock, 66
3b160009, 1, 29 / 16 / 27 / 30 / 30 / 30, Flying, 68
66120013, 15, 29 / 23 / 30 / 30 / 27 / 30, Fire, 69
7c000015, 5, 29 / 19 / 27 / 30 / 23 / 31, Electric, 69
6c110028, 1, 25 / 1 / 30 / 30 / 23 / 31, Grass, 68
03080029, 5, 30 / 31 / 16 / 30 / 30 / 30, Fighting, 67
27080029, 5, 30 / 31 / 21 / 30 / 31 / 30, Water, 67
3410002c, 3, 29 / 26 / 29 / 30 / 31 / 30, Fire, 66[/SIZE]
0b00002f, 5, 30 / 30 / 27 / 26 / 30 / 0, Fighting, 64
I just thought I'd separate this one from the rest:

49150024, 3, 24 / 31 / 30 / 31 / 27 / 31, Ice, 69

The above spread is perfect for Surfchu because, if you catch a surfchu in the second slot in the pokewalker, hit your seed on the DS/DSi, you just need to transfer it over, since frame 194 is a Timid nature (I've checked this, just to make sure!)

I'm going to keep hunting for more of these (through 2099), so I'll edit this post with more as I find them.

Happy Pokewalker Abusing!
 

Zari

What impossible odds?
is a Contributor Alumnus
Hate to double post, but I think what follows deserves to be set apart:

For the past few days I've been sifting through spreads for flawless hidden power ones (obviously, with the amount of effort required to hit higher frames, you shouldn't be attempting for less than flawless), and I've come up with a few spreads, as follows:

Code:
Seed, frame, HP / Atk / Def / SpA / SpD / Spe, Hidden Power, HP power
79140008, 397, 30 / 18 / 31 / 30 / 31 / 30, Fire, 70
7f080014, 403, 31 / 31 / 30 / 30 / 31 / 31, Grass, 70
130e001a, 351, 30 / 19 / 30 / 30 / 30 / 30, Fighting, 70
1514001e, 451, 31 / 23 / 31 / 30 / 31 / 31, Electric, 70
61160024, 449, 30 / 7 / 30 / 30 / 31 / 31, Grass, 70
73000027, 261, 30 / 19 / 31 / 31 / 31 / 31, Dragon, 70 <--30 HP for sub purposes possibly
14020028, 271, 31 / 30 / 31 / 30 / 30 / 30, Flying, 70
19110028, 79, 30 / 26 / 31 / 30 / 31 / 31, Grass, 70
39110028, 215, 30 / 11 / 30 / 30 / 30 / 30, Fighting, 70
6807002a, 383, 30 / 18 / 30 / 30 / 30 / 31, Flying, 70
6605002b, 473, 31 / 31 / 31 / 31 / 31 / 31, Dark, 70
4d0f002d, 333, 31 / 15 / 31 / 31 / 31 / 31, Dark, 70
760a002e, 499, 31 / 31 / 30 / 30 / 30 / 30, Fighting, 70
64090034, 89, 31 / 19 / 30 / 31 / 31 / 31, Dragon, 70
3305004f, 423, 30 / 11 / 30 / 31 / 30 / 30, Rock, 70
3d140052, 57, 31 / 23 / 30 / 30 / 30 / 30, Fighting 70
25050053, 369, 30 / 14 / 31 / 31 / 30 / 30, Rock, 70
61010059, 23, 31 / 10 / 31 / 30 / 30 / 30, Flying, 70
Physical flawless spreads:
Code:
Seed, frame, HP / Atk / Def / SpA / SpD / Spe
330e000e, 479, 31 / 31 / 31 / 25 / 31 / 31
6605002b, 473, 31 / 31 / 31 / 31 / 31 / 31 (from above)
4909002c, 441, 30 / 31 / 31 / 19 / 31 / 31 <--30 HP for possible sub purposes
140f0025, 83, 31 / 31 / 31 / 1 / 31 / 31
Physical (near) Flawless TR spreads:
Code:
Seed, frame, HP / Atk / Def / SpA / SpD / Spe
190a0056, 13, 31 / 30 / 30 / 5 / 31 / 0
63170050, 39, 31 / 31 / 31 / 17 / 31 / 1
3316005a, 67, 31 / 30 / 31 / 4 / 31 / 0
1b10005f, 7, 31 / 30 / 31 / 2 / 30 / 1
Currently working on TR special / Hidden Power spreads

Happy Pokewalker Abusing!
 
Hello All

I have been doing some research on the Variety Channel on the radio to see if it can be used for verification/tracking as well as frame advancement. The advantage of this is that the radio works in the champion's room, whereas the phone inexplicably doesn't, so anyone trying to RNG Raikou/Entei/Latias/Latios has to use the roamer method to verify (which can't tell you if you hit the right second) and count one-by-one frame advancements on the radio, which is tedious (and frustrating if you miscount) if you are going for a frame in the thousands. Another advantage is that locating your seed/frame is faster since the radio outputs are chosen from a much larger pool than the Elm responses (a unique sequence from a pool of 22 can be much shorter than a unique sequence from a pool of 3).

I present my results here (hidden so no-one has to scroll past a wall of text).

Since the radio outputs are each generated from just one RNG call, there must be a fairly simple relationship between the generated value and what appears on the screen. It turns out (I can post the full results if anyone is interested) that the basic chosen output index is simply:

<RNG value> MOD <Number of possible outputs>

with one caveat...

----------------------------------------

The number of possible outputs depends on the programme currently playing. Serial Radio Drama (01:00, 04:00, 07:00, 10:00, 13:00, 16:00, 19:00 and 22:00 for one hour) has 22 outputs indexed as follows:

Code:
0:  "The Young Pokéathlete Maximo - Episode 1: "Angry Maximo""
1:  "The Young Pokéathlete Maximo - Episode 2: "The Screaming Old Man""
2:  "The Young Pokéathlete Maximo - Episode 3: "Unforgettable Emotions""
3:  "The Young Pokéathlete Maximo - Episode 4: "Hot Blooded""
4:  "The Young Pokéathlete Maximo - Episode 5: "True Friends""
5:  "The Young Pokéathlete Maximo - Episode 6: "The Old Man's True Face""
6:  "The Young Pokéathlete Maximo - Episode 7: "The Real Me""
7:  "The Young Pokéathlete Maximo - Final Episode: "The Real Maximo""
8:  "Johto Case Notes: File Number One"
9:  "Johto Case Notes: File Number Two"
10: "Johto Case Notes: File Number Three"
11: "Johto Case Notes: File Number Four"
12: "Johto Case Notes: File Number Five"
13: "East: Why... Why did I meet you just now?"
14: "East: West, this is such a quiet place."
15: "East: ...Huh? West, it's started to rain!"
16: "East: You know, West, there's a very nice path in Ecruteak City"
17: "West: Eek! East! H-Help!"
18: "Pario: I rebel against society and ride a Bicycle"
19: "Pario: I left my hometown and came to the Johto region"
20: "Pario: What do you think? There isn't a guy around who could beat me!"
21: "Pario: You're the leader of Kanto? Let's battle!"

Pokémon Search Party (00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00 and 21:00 for one hour) is a little trickier. According to Bulbapedia, more outputs are unlocked as the game progresses. I don't know what exactly triggers the unlocks and I also don't know if I have them all. At the moment I know of 13, but there may be some I have yet to see. I have tested that all 13 of the ones I have seen correspond to the indices 0 to 12 though, so either I have seen them all or the number of indices in the table changes dynamically. Here are the ones I have seen:

Code:
0:  "At the end of the day, our search party's efforts were in vain. They eventually had to leave the..."
1:  "At the end of the day, our search party's efforts were in vain. We weren't able to find any UNOWN..."
2:  "The search-party leader looked up at the Johto sky and shouted a promise."
3:  "The forest was dark and gloomy. We could hear the crunching of fallen leaves under our feet."
4:  "The leader of the search party looked out at the Lake of Rage"
5:  "The inside of the cave was covered in a thick ice, just like a freezer."
6:  "The voyaging search party tried to think of a solution to the puzzle"
7:  "The forest was brighter than they thought it would be."
8:  "We heard that there were Pokémon here, but we haven't seen any yet."
9:  "The members of the Pokémon search party are riding their Bicycles"
10: "The search party has become lost!"
11: "The search party has gone on a long expedition out to the Sinnoh region."
12: "The search party had just about reached the limits of its physical strength"

Since Buena's Password (all other times) does not advance the RNG, it cannot be used for this.

----------------------------------------

That caveat I mentioned? the Variety Channel will not repeat an output. If the RNG calls for an output of the same type as the previous one, the no-repeat rule is invoked and the output index is incremented by one (wrapping round to 0 if the last output is to be repeated).

The no-repeat rule has a couple of other characteristics:

- The output that actually appeared is used to determine if the next one should be shifted. For example, a sequence [4, 4, 4] becomes [4, 5, 4] because the third frame sees the second one as 5, not 4. This also means that [3, 3, 4] becomes [3, 4, 5] for the same reason.

- On opening the radio, the "previous" value is initialised to 0. If the first frame is also 0, it will see this as a repeat and shift it to 1. This value is reinitialised whenever you close the PokéGear or select a tab other than the radio. This can interfere with predicted no-repeat shifts, as entering a, for example [4, 4, 4] sequence at the second frame will show [4, 5] since the second frame did not see the first one and so did not shift to 5.



I have also created a simple seed verifier/frame tracker program called RadioSeed to put this research to use.

Here are the instructions (also hidden so no-one has to scroll past a wall of text)

NOTE To anyone using Pokémon Search Party: RadioSeed assumes that the list of episodes you can get is exactly the same as the one in the research section above. Pokémon Search Party episodes are unlocked as you do certain things in the game and I'm not sure if I have seen them all. If you are not getting sane results with this method, verify that you can see all the episodes listed. If you see one that is not on the list, please PM me so I can add it. Any information on what you have to do to unlock all the episodes would also be helpful.

----------------------------------------

1. Download the program. Here is a link. It works on Windows only and you will need the .NET framework (Microsoft provides this as a free download).

----------------------------------------

2. Assuming you got it started up OK, you will need to enter the date, time and delay of the seed you are trying to hit. Also enter the second and delay ranges within which you wish to search when verifying your seed. If you only want frame tracking, select that mode and enter a max frame to track up to. It doesn't matter whether you have roamers released for the purposes of seed verification as the program can search the first 30 frames of each seed.

----------------------------------------

3. Select your chosen output source:
Pokémon search party plays for one hour from 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00 and 21:00.
Serial Radio Drama plays for one hour from 01:00, 04:00, 07:00, 10:00, 13:00, 16:00, 19:00 and 22:00.
If your time is outside this, you will get Buena's Password, which cannot be used as it does not affect the RNG. If you still want to use RadioSeed for frame tracking (for example if you are in the champion's room and have used roamers to verify your seed), you can close the lid of your DS (putting it in sleep mode does not affect the RNG) and wait for the hour to change. Professor Elm-based tracking is also available for convenience.

----------------------------------------

4. Click "Generate". The grid will fill with seeds or frames (depending on your choice of mode) and the corresponding outputs. A key will also appear for your chosen output source as, in verify seed mode, the outputs have to be written shorthand to fit in the grid.

----------------------------------------

5. If in verify seed mode, you will be presented with the first ten outputs for each seed in your specified range. Attempt to hit your seed (see the general RNG help for details on that). If you can't see immediately what seed you hit, click the "Search" button.

If in track frame mode, you should be able to follow the outputs through the frames. If your frame is far away, you can advance rapidly to somewhere in the vicinity of the target, then use the "Search" button.

----------------------------------------

6. Repeatedly click the bottom-right button on the radio and drag the pointer back to the centre of the grid (so that no station shows) (or call Professor Elm if using that method). In the search window, for each output that appears, select the corresponding text from the drop-down and click "Add". It will appear in the search sequence and the number of matches will be updated. Continue to do this until the box shows "1 match found".

----------------------------------------

7. If 0 matches are found, then either this seed/frame is outside the generated range or the sequence may have been entered incorrectly (this can happen if you brush against another radio station while dragging the pointer). You can "Remove" the current entries from the search list and start a new search if you wish. When exactly 1 match is found, click "OK". If in verify seed mode, the seed you hit will now be highlighted in the main window. If in track frame mode, the NEXT frame (i.e. the one you would hit if you encountered your Pokémon now) will be highlighted.

----------------------------------------

8. That's it! If tracking frame, you can continue to do coarse/fine advancement until you reach your target. If you missed your seed, try again from step 5. If you hit your seed, you can put the program in track frame mode, enter a max frame if you didn't already and go back to step 4 to begin advancement to your target.

----------------------------------------

NOTE: the frames displayed may not be exactly what you see in the game. You may see outputs one above or one below the ones displayed (in the output key, one above the top is the bottom and one below the bottom is the top). This is due to the no-repeat rule (see the research for details) and may occur if your entry point (the frame you were on when you opened the radio or after selecting a channel other than the bottom-right) is something other than frame 1. The search function is designed to deal with this and will always produce accurate results, but there is no way to account for every possible entry point into the sequence in the main window. This is quite a rare occurrence anyway and the frames should align again after a few more advancements.


Good luck with your RNG projects.
 
I havent really seen articles about rnging wondercard pkmn on HGSS yet but I just RNG a electvire from Pokemon Battle Revolution on my Soul Silver.
If anyone want to know, its the same

WC pokemon is frame 1, wondercard method

but here is a twist

in Dppt if the NPC move, you had to seen it moved in order to determine how much you should advance by


Seed: 250b0fb3
Delay: 4009
Frame: 147

IV: 31/31/31/23/31/31

During the time I was trying to RNG my electrive, I didn't notice the npc moved and my elm response should have been K,P,P,K,K,E,P,K,P,P but I got K,K,E,P,K,P,P,P,E

when I look up my Electvire IV, it IV match up 3 frames above my target frame, meaning my frame advance 3 time, which lead me to believe that as long you don't take to long to call elm, if an npc moved, and elm responses matches up with your target frame, then you will be able to tell how much the frame had advance.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Useful PokeWalker information
Useful chart about what frame a pokemon will appear on and how many connect it will take

frame of pkmn | # of connection needed
_______________________________________________________________________________________
1-3-5 ............. | 1
7-9-11............ | 2
13-15-17........ | 3
19-21-23........ | 4
25-27-29........ | 5
31-33-35........ | 6
37-39-41........ | 7
43-45-47........ | 8
49-51-53........ | 9
55-57-59........ | 10
61-63-65........ | 11
67-69-71........ | 12
73-75-77........ | 13
79-81-83........ | 14
85-87-89........ | 15
91-93-95........ | 16
97-99-101.......| 17
103-105-107.. | 18
109-111-113.. | 19
115-117-119.. | 20
121-123-125.. | 21
127-129-131.. | 22
133-135-137.. | 23
139-141-143.. | 24
145-147-149.. | 25
151-153-155.. | 26
157-159-161.. | 27
163-165-167.. | 28
169-171-173.. | 29
175-177-179.. | 30
181-183-185.. | 31
187-189-191.. | 32
193-195-197.. | 33
199-201-203.. | 34
205-207-209.. | 35
211-213-215.. | 36
217-219-221.. | 37
223-225-227.. | 38
229-231-233.. | 39
235-237-239.. | 40
241-243-245.. | 41
247-249-251.. | 42
253-255-257.. | 43
259-261-263.. | 44
265-267-269.. | 45
271-273-275.. | 46
277-279-281.. | 47
283-285-287.. | 48
289-291-293.. | 49
295-297-299.. | 50
---------------------------------------------------------
After 299, the pattern restarts
Just something useful for those who are trying to walkerrng
Again, Thanks Wild Eep!
 
Not sure if these two bit of info are known:

  1. When using a CycloDS, delays are no longer forced to be just odd or just even. That is, without a Slot-2 cart, I'm just as likely to hit a delay of 599 as I am to hit 600 (this, of course, makes hitting your desired delay TWICE as hard).
  2. When RNG breeding, the lowest possible frame you can hit is deterministic, based on the seed. That is, for a given seed, your lowest frame will ALWAYS be a given number, which might be different for different seeds. This is quite obnoxious, as it makes certain seed/frame combos impossible to hit for the purposes of RNG breeding.
 
Weather Effects on IRNG

Hey guys I'm a lurker to this site and don't post that often. I have been doing some research on the weather effects on the IRNG and Battle effects.

So far, I have found the following out about the weather:
The Weather that is shown on the route screen (Sandstorm, Rain, Sun, Ash (Stark mountain effect)) consist of two parts. One is a set pattern which has no effect what so ever on the RNG and is made up of smaller particles which move about 10 pixels over as the fall every so often (~2 seconds on stark mountain. Time is not random). These particles are controlled in a similar way as the effects of water are. The second part to the weather effect is the larger particles which seem to come from the top of the screen for ash and the right side for sand. These are generated at random and fall at a random pattern probably controlled by the IRNG. I am going to do more research based on time spent in the weather effects and number of frames I am off by when hatching eggs.

Also, I have been experimenting with the effects of battles on the normal RNG to get more predictable results. I have been keeping track of the amount steps I take, turns and back turns made, etc. Also thinking of fishing in order to eliminate more variables later.

Hope this helps the research along.

EDIT: I did a bit more research on the Sandstorm effect. It works a bit differently than the Ash effect where I did most of my research. The first part comes down at a 30 degree angle from the top right (210 degrees technically). It moves much faster but is still on a set motion and works just like the animations of the water tiles.
Oh right, all my research is being conducted in Platinum version.
 
Awhile back, someone mentioned something about the Japanese having found a way to manipulate breeding shiny Pokémon in Emerald by catching a Spinda and looking up its PID. Does anyone have any further information about this? I'm very curious.
 

ΩDonut

don't glaze me bro
is a Programmer Alumnusis a Forum Moderator Alumnusis a Top Researcher Alumnusis a Top Contributor Alumnus
Awhile back, someone mentioned something about the Japanese having found a way to manipulate breeding shiny Pokémon in Emerald by catching a Spinda and looking up its PID. Does anyone have any further information about this? I'm very curious.
The coordinates of Spinda's spots are dependent on the PID, so you can directly determine the PID of any Spinda - there's a calculator somewhere.

But if we were to conduct any more egg PID research on Emerald, I'd rather use mingot's RSEdecode program with an emulator, it's much faster and reads the PID\IVs directly.
 
I did a bit more on the wild single battle research the RNG advances by 4 frames when you throw a pokeball and by 1 frame when a move with accuracy is used (IE: zap cannon, shadow ball (Despite 100% accuracy), dark void). Although this is probably already known, the AI will on average make one RNG call per move choice, but the total number of RNG calls made for one move can go to an unknown number. This number depends on the situation really.

On a side note, the PID and IV's of Dialga and Palkia are generated as soon as you talk to the crystals/rifts in Platinum. This means that if you decline to fight them, the RNG will have advanced four frames if you talk to it immidiately afterward (IE: You talk to the rift, realize that you have the wrong pokemon in front, want to switch, decline, switch and then battle, the RNG will have advanced four frames.)

EDIT: I recently did some research on the effects of the ash weather effect on IRNG which I was talking about earlier. So far I have figured out that the IRNG advances at a rate of about 50 times per second. It starts advancing as soon as the map comes up, not while you are going from the mountain of Stark to the outside, etc. By the way, if anyone is question how the heck this info is useful, 50x per second is a pretty fast IRNG advancement, beating double taps.
On a side note, I do admit that due to all this being done with human error and everything, the number of advancements per second is possibly up to 60x per second (Because that was 3rd gen frame advancement rate for emerald.)

Okay, I am done making a total idiot out of myself now.
 
The coordinates of Spinda's spots are dependent on the PID, so you can directly determine the PID of any Spinda - there's a calculator somewhere.

But if we were to conduct any more egg PID research on Emerald, I'd rather use mingot's RSEdecode program with an emulator, it's much faster and reads the PID\IVs directly.
Yeah, I had heard that the coordinates of Spinda's spots were dependent upon its PID, but am pretty stumped as to how that has any relation to breeding a totally different Pokémon. Hopefully we'll find out more about this.
 
I did in depth research on catching Pokemon while catching a shiny Heatran.

Here is what I came up with for the data:

Start (For Battle): Frame 12
Seed: f50902c0
Dusk ball thrown on frame 12
Heatran used metal sound
Forgot to write down a few lines
Dusk ball (2 rolls) (Frame 22)
Metal Sound
Dusk Ball (1 Roll) (Frame 24)
Metal Sound
Dusk Ball (1 Roll) (Frame 26)
Scary Face
Dusk Ball(2 rolls) (Frame 29)
Crunch
Dusk Ball (0 rolls) (Frame --)
Scary Face
Dusk Ball (0 Rolls) (Frame --)
Mean look (1 Roll)

Goes on like this


Basically what I came to notice is that unlike my previous research (More of assumptions) is that there is a set pattern. The move choice of the opponent is in fact not random. If it is, it is using a separate RNG. Well, in battle the ball caused it to advance by 2 frames accuracy of the oppenent's moves did not cause any frame advancement despite the fact that there is some randomness involved. However, when an attacking move such as Crunch was used, the RNG went up by 3 instead of 2.

I know what a bunch of you must be thinking right now. "Well what if the ball only advanced one frame and the move choice used one." One reason. According to my research, throwing a ball generates four random numbers between 0 and 65535, namely two numbers per frame.

Okay, this means that stuff like hax are controlled by the RNG (As crunch activated the RNG but not metal sound and etc.). I hope you guys understand what I am saying because I am not very clear when it comes to communication.
 

Wild Eep

pet pet pet
is a Forum Moderatoris a Senior Staff Member Alumnusis a Researcher Alumnus
Moderator
I did in depth research on catching Pokemon while catching a shiny Heatran.

Here is what I came up with for the data:

Start (For Battle): Frame 12
Seed: f50902c0
Dusk ball thrown on frame 12
Heatran used metal sound
Forgot to write down a few lines
Dusk ball (2 rolls) (Frame 22)
Metal Sound
Dusk Ball (1 Roll) (Frame 24)
Metal Sound
Dusk Ball (1 Roll) (Frame 26)
Scary Face
Dusk Ball(2 rolls) (Frame 29)
Crunch
Dusk Ball (0 rolls) (Frame --)
Scary Face
Dusk Ball (0 Rolls) (Frame --)
Mean look (1 Roll)

Goes on like this


Basically what I came to notice is that unlike my previous research (More of assumptions) is that there is a set pattern. The move choice of the opponent is in fact not random. If it is, it is using a separate RNG. Well, in battle the ball caused it to advance by 2 frames accuracy of the oppenent's moves did not cause any frame advancement despite the fact that there is some randomness involved. However, when an attacking move such as Crunch was used, the RNG went up by 3 instead of 2.

I know what a bunch of you must be thinking right now. "Well what if the ball only advanced one frame and the move choice used one." One reason. According to my research, throwing a ball generates four random numbers between 0 and 65535, namely two numbers per frame.

Okay, this means that stuff like hax are controlled by the RNG (As crunch activated the RNG but not metal sound and etc.). I hope you guys understand what I am saying because I am not very clear when it comes to communication.
To my knowledge, the DPPt in-battle RNG runs at 60 calls per second and then is rewound back to its original state after the battle. I have managed to get different battle scenarios out of the same seed and frame when my Regice was being excessively uncooperative and Struggled to death a few times.

This Stark thread from April has more details of what we know so far (and this post has the specifics I have drawn upon). I think this may be opening up a can of worms we don't want to touch.
 
@Wild Eep

I am not talking about trainer battles (Which tend to make tons of RNG calls) I am talking about wild battles which use different AI, therefore the ability to accurately catch a pokemon. I only did this so that I could catch Heatran (He had struggled 4 some times before this.)
Although I understand the reasons why we should not go THAT far, I am saying that it would be useful to know if you could catch the Pokemon before it struggles to death w/o freeze or sleep. Just would help with catching that Arceus in the premier ball or the Mewtwo in the _______ball. That is all I am saying. Dang the moral lines of RNG abuse are getting blurred...
So basically, my intention was something different than the result of the community.
Also, Mingot's battle thing shows that the calls unwind like you say, but my research shows that wild battles do NOT unwind the calls. (This research is not on Smogon)

PS: Should I continue finding the exact frames per second advancement for IRNG in weather and compare the rates of different weather, or has someone already done this?
 
Information
*Each spaced between paragraphs are new statements

About Elm messages

To verify your seed, you must have go to kanto by following the story (collecting badges, beating the e4, getting on the S.S Aqua, and finding the girl). Even If you use the walkthough wall code and go on the ship to kanto or just go to kanto, the elm method will not start to work.

About the pokerus, I transfer a pokemon with uncured pokerus and I receive the message from Elm.

About Irwin method
If you use the walkthough wall code and beat Irwin, you will still be able to check your seed and advance it, like elm

And after you defeat Team Rocket in Goldenrod City, you will be able to verify your seed by Irwin again.

If you alternate between elm and Irwin, your frame will advance normally as if you were just verify your seed using one of them.


Date Rollover
When I decided to RNG Ho-oh, I like the date roll over. My frame had advance by 2. I don't know if it the advancement will be consistent or not.


Disclaimer: Using walkthough code & No trainer battle to get quicker access to pokemon, get to Irwin, and rng legits jirachis before 7/16/2010
 
After intensive debugging it turned out Pokemon Platinum uses standard PRNG to decode/encode whole section containing achievements like: trainer card score, number of link battles, number of trades, number of wins in link battles, number of loses in link battles, etc.

Section responsible for holding these data can be located in save game at offsets 0x61B4 - 0x6364 (or 0x461B4 - 0x46364 depending which save is newer). Futhermore PRNG Seed required to decode this section is found at the end of it, that is at 0x6368 (or 0x46368). Decoding/Encoding algorithm uses seed as initialisation for PRNG and then XORs words (16bit) with next values of PRNG. For instance 2byte number in 0x61b4-b5 is xored with PRNG[1], 0x61b6-b7 with PRNG[2] where PRNG is i-th frame of PRNG with seed taken from 0x6368.

PS> I hope COM will eventually add this to Pokesav for everyone to enjoy.

61B4-6367 - Section range
6368-636B - Section PRNG seed (sum+? make encryption seed)
6368-6369 - Section 16bit sum
636A-636B - ?

Address - Meaning
61B4-61B7 - Score (32bit)
61B8-61CB - ?
61CC-61CF - Number of Wild Pokemon Battled (assume 32bit)
61D0-61D3 - Number of Trainer Battles (assume 32bit)
61D4-61D7 - Number of Pokemons Caught (assume 32bit)
61D8-61DB - Number of Pokemons Met at Fishing (assume 32bit)
61DC-61DF - Number of Eggs Hatched (assume 32bit)
61E0-61E3 - Number of Pokemons Evolded (assume 32bit)
61E4-61FB - ?
61FC-61FF - Number of Link Trades (assume 32bit)
6200-6203 - (assumed Number of Link Battles Played) (assume 32bit)
6204-6207 - Number of Link Battles Won (assume 32bit)
6208-620B - Number of Link Battles Lost (assume 32bit)
620C-624F - ?
6250-6253 - Number of Pokemons Put to Daycare Center (assume 32bit)
6254-6257 - Number of Pokemons Defeated (assume 32bit)
6258-628B - ?
628C-628F - Number of Trainers Beaten (assume 32bit)
6290-62F1 - ?
62F2-62F3 - Number of Contests Played (assume 16bit)
62F4-62F5 - ?
62F6-62F7 - Number of Contests Won (assume 16bit)
62F8-62F9 - ?
62FA-62FB - Number of Contests Ribbon Received (assume 16bit)
62FC-62FD - Number of Times Player's Skill Didn't Affect Enemy Pokemon (assume 16bit)
62FE-62FF - Number of Player's Pokemon Fainted (assume 16bit)
6300-6367 - ?

? - currently unknown
assume - not verified.
 
Has anyone done any further research on the ARNG (the RNG used to determine the PID of WonderCard Pokémon)? As I'm sure you all know, RNGing for a WonderCard Pokémon with a specific nature (assuming the nature is not set, of course), is a very time-consuming and aggravating process. It took me WEEKS to get my 3 Arceus, and now I'm going after Jirachi.

All I have are the cartridges, so I doubt there's any way I could help with research on this, but if there's any way I can, I'd be more than happy to.

We know that the same seed can yield different natures each time, and I've heard that the ARNG advances rapidly with time like the Emerald RNG does; perhaps someone could hit a certain seed, create a save state, and see if they can get the same PID a few different times by button mashing, see if "lingering" before collecting the Pokémon does in fact affect the PID, etc. (preferably in the Cerulean Mart where there are no NPCs).

Anyone?

EDIT: Some potentially useful information I found from a Google search that led me to this website:
0x201BA10 -- Another RNG.
0x2068AAC -- Shiny Check for mystery gift pokemon
The seed for this RNG at 0x201BA10 is obtained from the half-words at 0x4000100 and 0x21D37B4.
Those two values are not related at all to the value of the seed for usual PRNG.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 3)

Top