Jump to content

Live Battery R/S Abuse


Recommended Posts

We have many comprehensive guides on dry battery RNG’ing in R/S. Since we know that the game defaults to 1/1/2000 when the battery dies, the corresponding initial seed is 5A0 and static at that. However when the battery is live the initial seed becomes dynamic, changing depending on the time the internal battery has recorded. So say on 12/12/2013, at 17:37, the seed is EE5C. At 17:39, the seed becomes EE5B and at 17:41, EE5A. And so on goes this initial seed pattern. For more information on how initial seeds are generated, FractalFusion has figured it out. His post: http://tasvideos.org/forum/viewtopic.php?p=262235#262235

Just like with dry battery R/S, if we know this initial seed value then we can determine the subsequent seeds and PID values for the subsequent frames. Now here come in our tools.

Prerequisite Materials

RNG Reporter 9.96.5 beta

Virtual Boy Advance with lua scripting

Kaphotics's lua script (thank you for making this. Thank you SO MUCH)

Ruby/Sapphire rom (preferably directly ripped from a legit cart, but what you use is your own business)

Notepad and the ability to change .txt file extensions to .lua

A calculator that can convert from hexadecimal to decimal

Preparing the Script

There are a variety of videos showing this process in lua script RNG tutorials. It’s pretty much as simple as copy, paste, and rename to .lua

VBA

https://code.google.com/p/vba-rerecording/downloads/detail?name=VBA22-lua51dll.zip&can=2&q=

detail?name=VBA22-lua51dll.zip&can=2&q=

This version of VBA can run .lua scripts which you can find under the Tools tab. Browse, find your script and run. Then change the speed option to 6%.

1.png

You may now run your game. If you copy/pasted correctly, your script should be running. Now look for the 5th frame. This is your initial seed. Pause your game here. Our initial seed here is EE5C. If you want a shiny, note your date and time so as to be able to come back to your initial seed consistently.

2.png

Paste this into your Initial seed bar on RNG reporter and generate some frames. From this point, you can search for viable frames or reset and generate a new initial seed. Repeat until you have a desired frame.

3.png

As you can see, I am trying a Method 1 pokemon (stationary, gift, starter). However, I would not doubt that this could work with Sweet Scent. This one occurs on 3,139,602. If you like what you have, at this point you can make a save state with the emulator.

Now, all we have to do is hit the frame. It is important to note that .lua script will probably be at least 100 frames off. If your frame is low, then it should be pretty easy to hit. If not, I recommend you use turbo to get where you want. Once you get about 500-1000 frames within your target, make another save state as a “safe reference” so if you shoot too far, you can safely go back to that and try again.

4.png

5.png

At this point, you can start trying to hit your frame. Once you get your pokemon, make a different save state and then use rare candies to check the IV’s. This will allow you to check what frame you hit while still being to go back to right before you used them. For instance, when I thought I was hitting my correct frame by the lua script, was I was actually about 134 frames ahead.

6.png

7.png

This means that I need to hit at about the frame 3,139,477. So, after many, many tries ...

8.png

9.png

10.png

As you can see, the .lua script told us inaccurate information on what “frame” we are on. However, with IV checker we can solve that problem. Give your pokemon rare candies until level 50 so as to get accurate readings.

11.png

Once you have your proof with rare candies, you can go back to your previous save state and enjoy your hard earned RNG.

Shiny Pokemon

If you want a shiny, you will need to take your target frame (say the target is 3,139,602) and hit one frame ahead of your target frame (or hit a frame which will yield the proper SID – in this example, 3,139,603 ). Your TID will correspond to the last 4 hex digits. The target frame’s hex digits will be comprised of your TID and SID in the order of AAAABBBB where A= TID and B=SID.

12.png

13.png

14.png

I hit frame 3,139,675 in attempting to hit 3,139,602. I was 73 frames off, so 602-73=3,139,529.

15.png

On the money. So now we need to reset our computer’s clock to the time at which we got this lovely initial seed.

16.png

Now it’s time to hit our frame of choice.

17.png

Well, In “hitting 3,139,602,” I really hit 3,139,698.So, 698-602=96; 3,139,602-96=3,139,506.

18.png

19.png

And voila!

Edited by Grimgravy
  • Like 1
Link to comment
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
×
×
  • Create New...