Past Gen RNG Research

Bro Bro! I've seen just from looking at like 4 random seeds like more than one place that had perfect IV spreads at some point far down the list!!! just 4 random seeds! This is major man!

So to be clear.

Walking 128 steps shifts the 6 frames you get down by 1* mons in your party?
Withdrawing 1 poke alone from your pc into your party, then backing out shifts the 6 frames you get down by 7?

Are those two statements correct? Do they need clarification, or are there any exceptions/details? It's a bit late tonight, but tomorrow I'm going to abuse the CRAP out of this!
 
Just dragging it into your party into an open slot increases it by 7. Moving it back into the box does nothing.

So yes, it looks like you got it. There's the frame check code on the previous page so you can track your progress if you want.

Lucky you getting a flawless spread, I checked like 4 of mine for 10000 frames and I still haven't found anything better than the Landros spread I am doing.

Good news, syncs don't do nothing.
 
Just dragging it into your party into an open slot increases it by 7. Moving it back into the box does nothing.

So yes, it looks like you got it. There's the frame check code on the previous page so you can track your progress if you want.

Lucky you getting a flawless spread, I checked like 4 of mine for 10000 frames and I still haven't found anything better than the Landros spread I am doing.

Be careful about using a synchronizer. I'm not sure if it works (I don't think anyone's confirmed using a sync keeps the predicted IVs)
Oh, it wasn't hex flawless, but it had like 4 or 5 and good other IVs. But for just looking down the list for like 4 seeds I saw a lot of usable stuff (it was when I was looking for egg IVs, but I was checking the code AFTER receiving the egg so I looked and looked down the list for like 4 seeds).

[ edit: yeah like this random seed I just looked at; c62a78bb (446-451): 29 / 3 / 14 / 28 / 27 / 31
or this one: a95174aa (350-355): 18 / 26 / 31 / 30 / 29 / 0

neither are flawless, but they're both waaaaay better than a Random Reset, and it took like 5 mins of looking, and I remember seeing even better ones and just wishing I could advance down to them.]


Oh, and can you drag it into your party, let it set, then drag it out and back in to make it advance however many times you want?

I'll check the syncher thing tomorrow morning. Anything else you think needs to be checked?
 
You can do it over and over for however many times you want.

Was doing testing to see if the IVs were different for Syncs. They weren't at least for the one I tested.
 
I looked at Reshiram early this morning. (I had actually captured him last night, and just not saved yet, but when I saw your earlier post I shut off my game to RNG him!)

I did one reset on my seed (c62a78bb) and just encountered reshiram with no advancements to verify his IV frames. They're the same as all other capture and fossil mons (1-6). I then reset again and "tried" to use both the box and walking to advance his frame to the target, but missed by a bit. Still haven't had the chance to determine if I just counted the number of times I put a mon in my party wrong, or if the walking didn't advance the frame.

I'll look at that after Lunch. Now it's KFC and C.O.P.S. time!

[edit]

Everything you said before was right bro. Got that Reshiram with those IVs and the nature I wanted (syncher). Great job Kaphotics! You broke the non-CGear Capture RNG. It's soooOOOO friggin easy!!!
 
Researching CGear influenced seeds.

Doh, forgot that the CGear doesn't predict it, but we never knew about the frame counter. Did some tests on how the frame counter operates and the range of IVs the MTRNG position predicts.

==

Nope, can't predict the CGear IVs even for multiple transformations (went over 1000 IV frames after turning the CGear on and off. Aren't predictable, at least with the same calculation for over 1000 frames, or the same calculation from the initial MTRNG vale for 20000 frames. So it's definitely something different. It's not calculated from any other of researcher's methods >>27 (just checking lol).

I'm sure we'll be fine with seed tables, I'll try seeing if I can change how High Link IVs come out much later.
So for when you turn on the CGear, the MTRNG effectively reseeds to a new value. What I believe happens is that it is changed to another value, with a counter of 0270 like other initial seeds. It is then advanced to 000X. Since it is going from (624->00X), it is transformed again.

When you regularly hit seeds without the CGear, you enter on the 0270 with the MTRNG value. Once you advance it past 270, the MTRNG position is transformed. The initial MTRNG predicts the IVs for frames 0001-0270 of the new MTRNG value.

So, this MTRNG position upon transforming is the IV table for the IVs after the first 624. For CGear reseeding, you can't predict the first 624 IVs because you don't know the 270 value upon reseeding.

I'm testing this theory. If/when the reverse IV MTRNG is figured out, you'll be able to get the first 624 IVs (Not sure if the CGear seed is the 000X MTRNG, or the unshown unadvanced 0270 MTRNG (which shows the first 624 IVs).

Pretty complicated to put my thoughts into text, oh well.
 
So, this MTRNG position upon transforming is the IV table for the IVs after the first 624. For CGear reseeding, you can't predict the first 624 IVs because you don't know the 270 value upon reseeding.

I'm testing this theory. If/when the reverse IV MTRNG is figured out, you'll be able to get the first 624 IVs (Not sure if the CGear seed is the 0002 MTRNG, or the unshown unadvanced 0270 MTRNG (which shows the first 624 IVs).

Eh?

No, we can already predict the IVs of all C-Gear seeds, including the first 624 values. Turns out we could all along, actually.

What happened was that with normal seeds, the 624 values that are stored in memory are unmodified values. You can plug the value at 022151D4 into RNG Reporter and get the right results (assuming the table contains the first 624 values). But when the C-Gear seed is created, each entry in the table contains the modified results, modified as per this Perl code:

Code:
for ($i = 0; $i <= 623; $i++)
{
	$y = ($MTarray[$i] & 0x80000000) | ($MTarray[($i+1) % 624] & 0x7FFFFFFF);
	$MTarray[$i] = $MTarray[($i + 397) % 624] ^ ($y >> 1);
	if ($y % 2 == 1)
	{
		$MTarray[$i] = $MTarray[$i] ^ 0x9908b0df;
	}
}
Sorry if you don't speak Perl.

So when you enter the value at 022151D4 into RNG Reporter, you get garbage, because it's not the initial seed at all. But, if you calculate a seed for a certain date\time\MAC address, and start the C-Gear at that time, the IVs of the Pokemon you obtain will match the list.

I wonder under what conditions the game decides whether to apply the modifications to the values in the table, or use them in their current state. Like, perhaps it only doesn't apply the modifications to the table values again if the C-Gear is on, so you'll get completely different values if you switch the C-Gear back off.
 
IV frame manipulation, not really RNG manipulation related but relevant to RNG Mechanics.
When I was figuring out how to manipulate the IV frames for regular seeds, I was able to go into negative frames.

The MTRNG 0270 (0000) predicts IV frames 1 onwards. Once it is advanced in any way it gets transformed into the new value, and plugging that in will predict frame 625 onwards.

Changing the initial MTRNG 0270 to anything (say 000X) I'd get IVs for frames -(624-X) (what else would they be if it wasn't?)

Since the CGear seeds after you turn it on go from the initial unaltered seed to another value (not 0270 but to 2), the value of the MTRNG would be predicting IV frames 624 onwards.

From what you said, checking the MTRNG value after CGear reseeding would just give you a trash value.
Piecing this together, it looks like turning on the CGear lets you hit the seeds you want. The frame is then advanced from 0270 to 0002. Since it is advanced it is transformed, albeit differently, into the trash value.
 
Since the CGear seeds after you turn it on go from the initial unaltered seed to another value (not 0270 but to 2), the value of the MTRNG would be predicting IV frames 624 onwards.

Except that's not what's happening.

If you were right, then I could plug my C-Gear seed into RNG Reporter and the correct IV values would start at frame 626. But instead, a Pokemon I caught had the correct IVs start at frame 2 3.

EDIT: Forgot that the game's frame 0 = RNG Reporter's frame 1.
 
Hit the seed -> use the MTRNG seed check code, they will be different and not the same right?
I kind of write down all of whats in my head/observations as they come out and forget to reread them... I'm not sure it's true because I wasn't able to predict any IVs with the memory value. The reason I typed that is because if you advance past 270, it goes back down to 0001+, and transforms.

So if they are different...
CGear Seed IV frame advanced from 0270 twice => 0002, thus transformed into a garbage value.

==

Are you sure immediately encountering a pokemon started at IV frame 2? For everything I've seen so far it advances once and grabs that result for the IV (x6).
So the value will say 0002 before encountering (on Kyruem), the IVs will be frame 3-8. Ending value will be 0008.
 
CGear Seed IV frame advanced from 0270 twice => 0002, thus transformed into a garbage value.

I don't think this is an advancement at all. I think the game just sets the value to 2, without triggering the advancement process.

Let's say you manage to hit seed CB000135 normally, without using the C-Gear. That would store a table of 624 values in memory. Then you hit seed CB000135 using the C-Gear. That would store a table of 624 completely different values in memory, but the results would be exactly the same (not counting the +2 advance).

That's what's so weird about the C-Gear. When you don't use the C-Gear, it stores the raw values in memory, and modifies them later on. When you do use the C-Gear, it stores the modified values in memory, then doesn't do any additional modification. (Which is why the RNG check code won't work for C-Gear seeds - you need the raw, unmodified seed to plug into RNG Reporter.)

Anyway, here's a little something I've been working on:

rngreporterpreview.png


I'll probably make a beta release to a few people once I implement a search function, and a list of spreads found in adjacent seeds. I wish we had a way to verify seeds like the coin flips\Elm calls, though.
 
the CGear is indeed weird :)

<3 nice!

There should be more ways to advance the MTRNG than the step and withdrawing. Nothing else in the PC advances the MTRNG or the RNG. For seed confirming anything PC related won't work (no advancement outside of withdrawing)

Entering a battle advances the frame counter fast like how fast delay advances, so that way might be a way to hit frames in the multiple thousands.
 
Entering a battle advances the frame counter fast like how fast delay advances, so that way might be a way to hit frames in the multiple thousands.

Oh yeah, forgot to mention this as a possibility.

mattj, we need to pin down the approximate frames\second the MTRNG advances during battles on a real cart, since emulators have all sorts of timing issues. Can you use a countdown timer to

a) Sweet Scent when the timer starts
b) run when the timer ends
c) figure out how many frames you advanced based on the IVs
d) repeat a, b, and c for several time periods of varying lengths?
 
When you flee from a battle, the frame position changes +2 +4. (+6total). Same for capturing, sending to box. For getting placed in the party, I'm not sure. Probably +2+7+4 (+13total)

You'd have to encounter one, flee, and encounter another to see how much you advanced.

The MTRNG should start advancing right after the flashing battle screen stops and the wild pokemon appears.
 
Oh, I just realized something. How should I determine how far the frames have advanced? I understand where they start (1-6), but should I just catch a mon after running to see where they're at after the battle? Would that be accurate?
 
Oh, I just realized something. How should I determine how far the frames have advanced? I understand where they start (1-6), but should I just catch a mon after running to see where they're at after the battle? Would that be accurate?

Enter (knowing seed), scent, run, scent, catch + check.

It starts when the fade from white Pokemon appears.
It stops advancing once you dismiss the "Got away safetly" message, when the screen fades back to the overworld.


Sending out your pokemon is a little over 624 advancements. It's around 800 I'd say until I'm able to press run. You should probably look for the IVs starting at frame 900. The advancement between encountering and running +6 should be the difference in IVs.

An easy way to find the IV spread without 8.4b is to export to CSV, right below custom 2 paste =SUM(E2:E8). Copy that cell and paste that in the rest of the column [it's just a sum of the IVs]. Sum up the IVs of the poke you caught, highlight the entire custom 2 column and ctrl-F the IV sum. It'll speed up the searching process. You can do filters on the HP IV to speed up searching for those super high frames.
 
I'll probably make a beta release to a few people once I implement a search function, and a list of spreads found in adjacent seeds. I wish we had a way to verify seeds like the coin flips\Elm calls, though.


For this beta program...how will you decide who gets to beta test it? People who already know how to RNG, people who volunteer, just some close buddies?
 
I'm a bit bored, so I'm playing with the frame advancement through wild battles:

Code:
After 1 battle, button mash to flee during battle:

1)Frame of HP IV: 1037

2)Frame of HP IV:  985

3)Frame of HP IV: 1013
I'll try using a timer set to 5 seconds next.

EDIT: 5-10 seconds's too short a period to use... Going with 20 seconds for the next few tests.

EDIT2: A couple of results for 20 seconds:


Code:
After 1 battle, timer set to 20 seconds.
(start timer when selecting Sweet Scent, Select Run when timer hits Zero):

1)Frame of HP IV: 1242

2)Frame of HP IV: 1252

3)Frame of HP IV: 1289
I'm moving on to 30 seconds.

EDIT3: A couple of results for 30 seconds:

Code:
After 1 battle, timer set to 30 seconds.
(start timer when selecting Sweet Scent, Select Run when timer hits Zero):

1)Frame of HP IV: 2473

2)Frame of HP IV: 2465

3)Frame of HP IV: 2494
EDIT4: A couple of results for 40 seconds:

Code:
After 1 battle, timer set to 40 seconds.
(start timer when selecting Sweet Scent, Select Run when timer hits Zero):

1)Frame of HP IV: 3657

2)Frame of HP IV: 3693
It looks like there's roughly an increase of 1200 frames for every 10 seconds you spend waiting to run from the battle.

If someone wants me do to more tests on this, feel free to ask.
 
From my previous post back on Page 16 when I first was looking at the MTRNG advancement, I noted that it was advancing at approximately once every (311/60, Even Intervals excluding 0000) 5.18 seconds.

It was changing at the same rate of the Delay locations, but with a 2x interval instead of delay's 1x. MTRNG advancement in battle on emu
= 120adv/s

So with your results, 1200adv/10s
= 120adv/s

Same as tested on the emulator! Good to know that you can use this to hit obscenely high IV frames. Looks like skillz from gen 3 will give you an advantage this generation!

For the future, when trying to hit IV frames we will still have to compensate for the counter change of +6 when fleeing a battle. The fastest you can possibly run is around 900 advancements. This should probably be a calibrated data set like Calibrated Delay/Seconds for each RNGer.
 
Made an Excel spread searcher/filter like Reporter would do for now until Reporter beta comes.

IV SpreadFinder Lite (1.2MB) - 10,000 Frames

Export your results from Researcher to CSV, open that CSV and paste the IV column (custom1) into the spreadsheet IV column.

Spreads:
IVs can be filtered. Click on the column title drop down button and just do a Number Filter with the specified range.

Tools:
Clicking the column title drop down button will allow you to see the range of the spread's IV sums, and you can see what frames a given tri/hex/pent flawless spread will occur on. Hope you are lucky!

To do it for more than 10,000 frames, copy and paste the entire row (frame is a formula that will update) for how many frame rows you want. Then re-paste the IVs from the Researcher output.

Mainly just made this to help me find a pentaflawless spread (maybe hex?) for now and it's something to kill time until Reporter 8.4b.

Screenshot of Lite Version
Lite%20IV%20Searcher.png
 
Documented some good C-Gear seeds while hunting for a 31/31/31/31/31/31.

Low delay with a MAC address last half of 123456.

Code:
Seed		Frame	Physical Spreads
52133ace	[B] 22317[/B]	31/31/31/00/31/31	Just so happens to be 0 SpA
		Lowest Frame Physical Penta Flawless

			Special Spreads
d21338b0 	 68958 	31/05/31/30/31/31 	Electric 68
d21338db 	502769 	31/19/31/30/31/31 	Electric 70
52133892	409679	31/27/31/30/31/31	Electric 70
d21338f5 	 54447 	31/30/31/26/31/31 	Grass 70
521339d4	750551	31/02/31/30/31/31	Grass 70
52133ad2	757783	31/30/31/30/31/31	Grass 70
52133884	 60883	31/26/31/30/31/31	Grass 70
52133aaa	139708	31/27/31/31/31/31	Dark 70
5213396A	619160	31/03/31/31/31/31	Dark 70
5213394f	286300	31/22/31/31/31/31	Dragon 70
52133ab5	310782	31/10/31/31/31/31	Dragon 70
52133a49	303592	31/30/31/31/31/31	Dragon 70
52133b49	142862	31/04/31/31/31/31	Dragon 68
5213397F	[B] 61445[/B]	31/28/31/31/31/31	Dragon 68
		Lowest frame Special Penta Flawless

Searched: 1183 seeds
 
I found a good seed using a home made program I wrote while bored yesterday:

Seed: 46C7026F
FRAME to hit before battle: 9264
IV's: 30 6 30 31 31 31

I have to SR at:

11/25/10

16:44:30

So this isn't for C-gear seed hitting.

Now to try and use this on Victini...
 
I found a good seed using a home made program I wrote while bored yesterday:

Seed: 46C7026F
FRAME to hit before battle: 9264
IV's: 30 6 30 31 31 31

I have to SR at:

11/25/10

16:44:30

So this isn't for C-gear seed hitting.

Now to try and use this on Victini...

Oh my goodness! I forgot about my waiting Victini!

Anyways, Omega, I am kind of wondering if the breeding side of things is just out for now because when I enter my seeds into the seed to time finder I get "this seed doesn't work" message even though I quintuple check my numbers/letters for the seed and MAC address.
 
Back
Top