nmarkro

Strange Journey RNG Manipulation?

Nov 9th, 2016
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. I'm almost certain SJ can be RNG manipulated for a speedrun setting.
  2. My experience with RNG manip is from Mega Man Battle Network which is frame based. Strange Journey is NOT frame based from what I can tell so my findings may be a bit off and I may misunderstand things.
  3.  
  4. It seems like there are 2 2-byte RNG values located in memory at:
  5. 0x0215F008
  6. 0x0215F00C
  7.  
  8. The first value (0x0215F008) seems to determine the stuff you want to manipulate. From what I've tested this includes:
  9. When you get encounters
  10. What encounters you get
  11. Hit/Miss (Probably crit too)
  12. Enemy attack targets
  13. Enemy attacks
  14.  
  15. This value doesn't seem to update in the overworld (dungeon crawling) or in the menus. Instead it updates when you select an action in battle. For example having the MC "Defend" will update the value. You can then cancel this action and select another and it'll update again.
  16.  
  17. The second value... I have no idea what it does lol. I think it controls more visual things like the "random" particle effects. I think this because it updates a ton when animations happen and setting it to a fixed value doesn't change the outcome of any of the things listed above.
  18.  
  19. Both RNG values are set when you hard reset/soft reset depending on the RTC on the console. The cool thing is, it doesn't take into account seconds. So resetting the game at 4:20:01 and 4:20:51 will produce the same result. AFAIK other some other DS games use seconds (could be wrong). Soft resetting gives a different RNG value than hard resetting. It takes the RNG value from hard reset and adds 2. Yeah, idk either...
  20.  
  21. So theoretically if you save and reset, set the console time to a certain value, and do the same actions you will get the same result. Simple right?
  22.  
  23. I'm disassembling the code right now to see how it converts the RTC time to an RNG value to make routing easier. The next step is figuring out how it takes the RNG value and determines the good stuff for battle
  24.  
  25. EDIT: the first value also updates when you fuse, probably for fusion accidents and such
Add Comment
Please, Sign In to add comment