Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.

3DS RNG Tool: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
Line 19: Line 19:
|image_alt=3DS RNG Tool
|image_alt=3DS RNG Tool
}}
}}
The 3DS RNG Tool is designed specifically for the primary 3DS Pokemon games and can be used in conjunction with [[PokeCalcNTR For Gen 6 3DS‎‎|PokeCalcNTR]] when utilizing NTR-CFW. It has been completely redeveloped from the SMEncounterRNGTool, resulting in significant performance enhancements and the addition of the following features:
The 3DS RNG Tool is a randomization tool made for main 3DS Pokemon games. Some parts should work with [[PokeCalcNTR For Gen 6 3DS‎‎|PokeCalcNTR]] using [[BootNTR_Selector_3DS|NTR-CFW]].  


This tool is a complete rewrite based off SMEncounterRNGTool with largely improved performance and the following features:
* Gen6 RNG, including stationary Pokemon, Mystery Gift Pokemon, wild Pokemon (75%), Eggs, and ID.
* Gen6 RNG, including stationary Pokemon, Mystery Gift Pokemon, wild Pokemon (75%), Eggs, and ID.
* Transporter RNG for transferred Virtual Console Pokemon.
* Transporter RNG for transferred Virtual Console Pokemon.
Line 26: Line 27:
* Gen7 egg RNG and ID RNG based on Quandra's PokemonSunMoonRNGTool.
* Gen7 egg RNG and ID RNG based on Quandra's PokemonSunMoonRNGTool.
* Several Gen7 egg RNG modifications that are more practical.
* Several Gen7 egg RNG modifications that are more practical.
== Final Screen ==
Usually it's the last screen before the battle starts, or the special dialogue box.
=== Generation 7 ===
* '''In-game gifts/Fossils/Cosmog/Mystery Gift''': ''You received xxx!''
* '''Tapus''': ''Tapu ko-ko-ko-kooo!!! / Ta-pu-leeeh! / Ta-pu-loooo! / Ta-pu-fiiieee!''
* '''Solgaleo/Lunala''': No dialogue.
* '''Wild UBs, Island Scan &amp; wild Pokemon''': Hover over <code>Bag</code> button and press A to enter. The tool will take into account the honey delay for you.
* '''Main RNG egg''': ''But you want the Egg your Pokemon was holding. right?''
* '''Poke Pelago''': Hover over <code>Poke Pelago</code> button and press A to enter. Be sure that new Pokemon will be generated when you enter the Poke Pelago.
* '''Assembled Zygarde''': ''Zygarde has gone into a Poke Ball!''
* '''Crabrawler''': ''There was a Pokemon feeding on the Berries and it leaped out at you!''
* '''Fishing''':
** Timer user:
**# <code>Overview</code> checked: Press A when <code>A</code> pops up (<code>Frame1</code>), then pull the fishing rod off water '''once''' you hear the sound. You have ~0.5 seconds tolerance to do so.
**# <code>Overview</code> unchecked: Press A when the exclamation mark pops up (<code>Frame2</code>). Suction cups required.
** PCalc user: Press 1st A when <code>A</code> pops up (<code>Frame1</code>), press 2nd A when the exclamation mark pops up (<code>Frame2</code>).
* '''Rustling spots''': No dialogue. Save as close as possible, make a step to trigger the battle.
=== Sun and Moon ===
* '''Pikipek''': No dialogue. Before the fourth step in grass.
* '''Exeggutor''': ''Ahhh! What is that, xxx?!''
* '''Starters''': ''Having accepted on another, you'll surely be friends for life.''
=== Ultra Sun and Ultra Moon ===
* '''Ultra Wormholes Past-gen Legends/Non-legends''': No dialogue. Save as close as possible, make a step to trigger the battle.
* '''Ultra Wormholes UBs''': No dialogue. Press A to trigger the battle.
* '''Necrozma''' : ''Linooo!''
* '''Zygarde at Resolution Cave''': ''Zeeehhhd!''
* '''Starters''': ''You chose xxx!''
* '''Grubbin''': No dialogue. Before the fourth step in grass.
* '''Totem Pokemon''': ''You received xxx!''
* '''Gastly''': ''The cold thing suddenly attacked you!''
* '''Drifloon''': ''Flooo!''
* '''Hypno''': ''The Hypno are upset about being accused!''
* '''Bewear''': ''Weeeaaarrrr!''
* '''Ditto Five''': ''Dittoooo!'' / ''Di...Ditto-o-o-o-o?!'' / ''Dittottotto'' / ''Didi!'' / ''Ditto!''
* '''Sandygast''': ''Gaaaaaaaaassstt!!!''
* '''Frillish''': ''Friiiiilll...''
* '''Pinsir''': ''Thwak!'' / ''Gruh!'' / ''Hyah!''
* '''Electrode''': No dialogue. Unsable.
=== Transporter (Virtual Console) ====
* Hover over <code>Use this game</code> button. Calibrate the delay beforehand.
=== Generation 6 ===
* '''Mystery Gift''': ''xxx received xxx!''
* '''Pokemon Link''': ''Would you like to retrieve data using Pokemon Link? Yes/No''
* '''Fossils''': ''This is xxx! Please take good care of it.''
* '''Kalos/Hoenn Starters''': ''Choose this Pokemon? Yes/No''
* '''Horde''': Honey Selected. USE/GIVE/DISCARD
* '''Rock Smash''': ''Would you like to use Rock Smash? Yes/No''
* '''Fishing''': Register at least two key items to Y menu. Wait at Y shortcut menu. Press arrow key to use the fish rod. TTT calibration required.
* '''Eggs''' from Day Care:
** Accepting =&gt; 1st Yes/No Screen: ''You do want it. don't you? / You'll be wanting it won't you? / You've gotta want it, right?''
** Rejecting =&gt; the Screen ''AFTER'' the 2nd Yes/No Screen: ''Well then, I'll hang on to it. Thank you!/ Well then, I'll be having this one! Thanks!/ Really really? Well... I'll keep it, then! Thanks!''
* '''ID''' : ''xxx... Tres bien! What a fantastic name! / So you're xxx? Yes/No''
=== XY ===
* '''Mewtwo''': ''Mew!''
* '''Xerneas/Yveltal''': No dialogue.* Defeat it and rebattle to avoid long delay.
* '''Zygarde''': ''Zzzz-dddd-aaaaaa!''
* '''Kanto Legendary Birds''': No dialogue.* Press the arrow key to trigger the battle.
* '''Pidgey''': No dialogue.* Wait at the first line of the grass. The encounter will happen at the 2nd row of grass. Press the arrow key to trigger the battle.
* '''Kanto Starters''': ''You picked xxx. then! I see. That's simply wonderful!''
* '''Snorlax''': ''Snorlax opened its eyes wide!''
* '''Lucario''': ''Lucario is staring intently at xxx. Will you take Lucario with you? Yes/No''
* '''Lapras''': ''Would you mind taking Lapras with you on your journey? Sure!/I coundn't''
* '''Berry Tree''': ''A Pokemon appeared!''
* '''Shaking Trash Can''': No dialogue.*
* '''Cave Drop/Cave Shadow/Dust Clouds/Rustling Bush''': No dialogue.* Press the arrow key to trigger the battle.
=== Omega Ruby and Alpha Sapphire ===
* '''Portal(Hoopa Ring)''': ''Would you like to put your hand deep in the hole? / Would you like to examine it? Yes/No''
* '''Soaring Legends''': ''Despite that, do you want to fly into the clouds? / Do you want to fly into the gap? Yes/No''
* '''Storyline Latios/Latias''': ''xxx joined your team!''
* '''Eon Ticket Latios/Latias''': ''Hyahhn!''
* '''Primal Kyogre/Groudon''': No dialogue.* (The delay varies from console and save, and should be an odd number)
* '''Rayquaza''': ''Kiiiryarrrarrrarrrraaaashiiiii!!!'' (Tip: Wait until it finishes its movement)
* '''Deoxys''': ''The stone tablet before you--!!!''
* '''Regirock, Regice and Registeel''': No dialogue.*
* '''Regigigas''': ''Zut zutt!''
* '''Starters(Gen 2/4/5)''': ''Yes, that one from the xxx region.''
* '''Wurmple''': No dialogue.* Wait after the second step in grass. The encounter will happen at the 3rd steps in grass. Press the arrow key to trigger the battle.
* '''DexNav Poochyena''': ''xxx! Over here!''
* '''Cosplay Pikachu''': ''You'll really, really, really stand out if you two go on stage with matching costumes!''
* '''Castform/Sharpedo/Camerupt/Gift eggs(Wynaut/Togepi)''': ''xxx recieved xxx.''
* '''Beldum''': ''xxx obtained a Beldum''
* '''Spiritomb''': ''Shahhh!''
* '''Kecleon''': ''The startled Pokemon attacked!''
* '''Voltorb, Electrode''': No dialogue.*
=== Tip ===
* For consistent delay, use D-pad (arrow keys) to move along grid.


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/3dsrngtool-01.png
https://dlhb.gamebrew.org/3dshomebrews/3dsrngtool-01.png
https://dlhb.gamebrew.org/3dshomebrews/3dsrngtool-02.png
https://dlhb.gamebrew.org/3dshomebrews/3dsrngtool-02.png
== User Guide and Useful References ==
* [[#final-screen|Final Screen]] you should wait at and make the final key pressing.
* [https://github.com/wwwwwwzx/3DSRNGTool/wiki/TinyMT-Timeline-Spec-Sheet TinyMT Timeline Setting]
* [https://github.com/wwwwwwzx/3DSRNGTool/wiki/Gen7-Timeline-Calibration-(PokeCalcNTR-Only) Gen7 Timeline Guide]
* [https://www.reddit.com/r/pokemonrng/comments/6fhnb8/gen_6_rng_megathread/ Reddit Gen 6 RNG Megathread]
* [https://github.com/projectpokemon/EventsGallery ProjectPokemon Events Gallery]
* [https://github.com/wwwwwwzx/3DSRNGTool/wiki/NTR-Helper-Usage NTR Helper and ID Bot Usage]
* [https://www.smogon.com/ingame/rng/sm_egg_rng_part2 Egg RNG in Generation 7: Guide (Windows users)]


==Changelog==
==Changelog==
'''v1.0.6'''
'''v1.0.6'''
*Many enhancements and bug fixes (merged from [https://github.com/wwwwwwzx/3DSRNGTool/pull/94 #94])
*Many enhancements and bug fixes (merged from [https://github.com/wwwwwwzx/3DSRNGTool/pull/94 #94]).
'''v1.0.5'''
'''v1.0.5'''
*Fixes freezing in 1.0.4
*Fixes freezing in 1.0.4.
'''v1.0.4'''
'''v1.0.4'''
* Initial support for RNGing square shiny in Gen 8
* Initial support for RNGing square shiny in Gen 8.
* A Pokemon is square shiny if TSV = PSV (shiny) and TRV = PRV
* A Pokemon is square shiny if TSV = PSV (shiny) and TRV = PRV.
* Definition of TRV (Trainer Residual Value, or you can call it TSSV: Trainer square shiny value)
* Definition of TRV (Trainer Residual Value, or you can call it TSSV: Trainer square shiny value).
** TRV is the last 4 bits of TID xor SID, a value between 0 and 15 and it can be presented in a one-digit hex number
** TRV is the last 4 bits of TID xor SID, a value between 0 and 15 and it can be presented in a one-digit hex number.
** TRV = (TID ^ SID) & 0xF
** TRV = (TID ^ SID) & 0xF.
** TID ^ SID = (TSV << 4) | TRV. TRV is independant of TSV
** TID ^ SID = (TSV << 4) | TRV. TRV is independant of TSV.
* How to get your TRV
* How to get your TRV.
** Check your TID and SID again. Run script [http://jdoodle.com/a/1U1n here]
** Check your TID and SID again. Run script [http://jdoodle.com/a/1U1n here].
** In Gen 7, find your in-game 6 digits ID and TSV. Run script [http://jdoodle.com/a/1U1o here]. You may get at most two possible results.
** In Gen 7, find your in-game 6 digits ID and TSV. Run script [http://jdoodle.com/a/1U1o here]. You may get at most two possible results.
** Use updated Battle Video tool (KeyBV) to dump the trainer info
** Use updated Battle Video tool (KeyBV) to dump the trainer info.
** As always, NTR Helper will update the TRV for you
** As always, NTR Helper will update the TRV for you.
'''v1.0.3'''
'''v1.0.3'''
* Improved Tiny Timeline Tool
* Improved Tiny Timeline Tool.
** Added Pokeradar patches RNG
** Added Pokeradar patches RNG.
** Added Auto-Calibration for soaring advance type
** Added Auto-Calibration for soaring advance type.
** Added XY ID RNG timeline method
** Added XY ID RNG timeline method.
** Added ORAS Kyogre/Groudon timeline method for Sync
** Added ORAS Kyogre/Groudon timeline method for Sync.
** Allowed custom encounter rate of FS
** Allowed custom encounter rate of FS.
** Fixed crash of TTT context menu
** Fixed crash of TTT context menu.
* Allowed "odd" delay method for wormhole Zapdos
* Allowed "odd" delay method for wormhole Zapdos.
* Added Unown (ORAS), Minior (Gen7) form RNG
* Added Unown (ORAS), Minior (Gen7) form RNG.
* Renamed profile file
* Renamed profile file.
* Fixed Crabrawler gender generation
* Fixed Crabrawler gender generation.
* Fixed slow gen6 stationary timeline generation in mainform
* Fixed slow gen6 stationary timeline generation in mainform.
* Reduced reseeding lag of OneClick function
* Reduced reseeding lag of OneClick function.
* Misc cleanup
* Misc cleanup.
'''v1.0.2'''
'''v1.0.2'''
* Updated Gen7 initial seed APIs
* Updated Gen7 initial seed APIs.
* Added TID/SID combo search for Mystery Gifts renaming
* Added TID/SID combo search for Mystery Gifts renaming.
* Reworked Gen6 TinyMT timeline stuffs
* Reworked Gen6 TinyMT timeline stuffs.
** Improved TinyMT timeline calculation performance
** Improved TinyMT timeline calculation performance.
** Fixed Gen6 Synchronize results
** Fixed Gen6 Synchronize results.
** Fixed Rock Smash method
** Fixed Rock Smash method.
** Added normal wild template
** Added normal wild template.
** Added White/Black Flute effect in ORAS
** Added White/Black Flute effect in ORAS.
** More features are working in progress
** More features are working in progress.
* Improved translation method
* Improved translation method.
'''v1.0.1'''
'''v1.0.1'''
* Added Gen7 ambush encounters RNG  
* Added Gen7 ambush encounters RNG .
* Added timeline leap calculator for stationary and event (PCalc only)
* Added timeline leap calculator for stationary and event (PCalc only).
** Efficiency was improved from 30 spreads per second to 630+ possible spreads per second!
** Efficiency was improved from 30 spreads per second to 630+ possible spreads per second.
** Including menu method, especially for Xurkitree and Nihilego.
** Including menu method, especially for Xurkitree and Nihilego.
** Added Gen6 frame advance column for odd/even
** Added Gen6 frame advance column for odd/even.
* Added SOS RNG UI tweaks
* Added SOS RNG UI tweaks.
* Fixed WonderCards reading
* Fixed WonderCards reading.
'''v1.0.0'''
'''v1.0.0'''
* Added SOS RNG
* Added SOS RNG.
* Unlocked partner cap Pikachu shininess
* Unlocked partner cap Pikachu shininess.
* Updated USUM 1.2 wifi patch
* Updated USUM 1.2 wifi patch.
* Added [https://github.com/wwwwwwzx/3DSRNGTool/blob/master/Data/FishingItemSlots.md fishing item slots info]
* Added [https://github.com/wwwwwwzx/3DSRNGTool/blob/master/Data/FishingItemSlots.md fishing item slots info].
* Allow customized clock image (Format: \Clock_XX.jpg)
* Allow customized clock image (Format: \Clock_XX.jpg).
* Added [https://github.com/wwwwwwzx/3DSRNGTool/blob/master/Data/BerryTrees.md random berry table from berry piles]
* Added [https://github.com/wwwwwwzx/3DSRNGTool/blob/master/Data/BerryTrees.md random berry table from berry piles].
* Fixed several wormhole delay calculation
* Fixed several wormhole delay calculation.
* Simplified Gen6 synchro check (maximum memory intensity required)
* Simplified Gen6 synchro check (maximum memory intensity required).


==Credit ==
==Credit ==
* Zaksabeast, Zep715, Real96, Admiral Fish and Shiny_Sylveon for great teamworks on gen6 development
* Zaksabeast, Zep715, Real96, Admiral Fish and Shiny_Sylveon for great teamworks on gen6 development.
** Zaksabeast and Admiral Fish for building up the plugin
** Zaksabeast and Admiral Fish for building up the plugin.
** Real96 for testing and lots of good advice
** Real96 for testing and lots of good advice.
** Zep715 for figuring out tons of infomation from the assembly
** Zep715 for figuring out tons of infomation from the assembly.
** Shiny_Sylveon for contributions to Gen6 Egg RNG
** Shiny_Sylveon for contributions to Gen6 Egg RNG.
* odanado for making Gen7 RNG API, which make us find initial seed mush faster.
* odanado for making Gen7 RNG API, which make us find initial seed mush faster.
* Kaphotics for PkHeX, KeyBV and Pk3DS. I borrowed some code from the PKHeX Core Library and extracted ROM info using Pk3DS.
* Kaphotics for PkHeX, KeyBV and Pk3DS. I borrowed some code from the PKHeX Core Library and extracted ROM info using Pk3DS.
Line 207: Line 104:


== External links ==
== External links ==
* Github - https://github.com/wwwwwwzx/3DSRNGTool
* GitHub - https://github.com/wwwwwwzx/3DSRNGTool

Latest revision as of 08:23, 14 April 2024

3DS RNG Tool
General
Authorwwwwwwzx
TypeHack Utilities
Version1.0.6
LicenseMIT License
Last Updated2024/04/08
Links
Download
Website
Source

The 3DS RNG Tool is a randomization tool made for main 3DS Pokemon games. Some parts should work with PokeCalcNTR using NTR-CFW.

This tool is a complete rewrite based off SMEncounterRNGTool with largely improved performance and the following features:

  • Gen6 RNG, including stationary Pokemon, Mystery Gift Pokemon, wild Pokemon (75%), Eggs, and ID.
  • Transporter RNG for transferred Virtual Console Pokemon.
  • Gen7 stationary, Mystery Gift, and wild Pokemon RNG from the SMEncounterRNGTool.
  • Gen7 egg RNG and ID RNG based on Quandra's PokemonSunMoonRNGTool.
  • Several Gen7 egg RNG modifications that are more practical.

Screenshots

3dsrngtool-01.png 3dsrngtool-02.png

Changelog

v1.0.6

  • Many enhancements and bug fixes (merged from #94).

v1.0.5

  • Fixes freezing in 1.0.4.

v1.0.4

  • Initial support for RNGing square shiny in Gen 8.
  • A Pokemon is square shiny if TSV = PSV (shiny) and TRV = PRV.
  • Definition of TRV (Trainer Residual Value, or you can call it TSSV: Trainer square shiny value).
    • TRV is the last 4 bits of TID xor SID, a value between 0 and 15 and it can be presented in a one-digit hex number.
    • TRV = (TID ^ SID) & 0xF.
    • TID ^ SID = (TSV << 4) | TRV. TRV is independant of TSV.
  • How to get your TRV.
    • Check your TID and SID again. Run script here.
    • In Gen 7, find your in-game 6 digits ID and TSV. Run script here. You may get at most two possible results.
    • Use updated Battle Video tool (KeyBV) to dump the trainer info.
    • As always, NTR Helper will update the TRV for you.

v1.0.3

  • Improved Tiny Timeline Tool.
    • Added Pokeradar patches RNG.
    • Added Auto-Calibration for soaring advance type.
    • Added XY ID RNG timeline method.
    • Added ORAS Kyogre/Groudon timeline method for Sync.
    • Allowed custom encounter rate of FS.
    • Fixed crash of TTT context menu.
  • Allowed "odd" delay method for wormhole Zapdos.
  • Added Unown (ORAS), Minior (Gen7) form RNG.
  • Renamed profile file.
  • Fixed Crabrawler gender generation.
  • Fixed slow gen6 stationary timeline generation in mainform.
  • Reduced reseeding lag of OneClick function.
  • Misc cleanup.

v1.0.2

  • Updated Gen7 initial seed APIs.
  • Added TID/SID combo search for Mystery Gifts renaming.
  • Reworked Gen6 TinyMT timeline stuffs.
    • Improved TinyMT timeline calculation performance.
    • Fixed Gen6 Synchronize results.
    • Fixed Rock Smash method.
    • Added normal wild template.
    • Added White/Black Flute effect in ORAS.
    • More features are working in progress.
  • Improved translation method.

v1.0.1

  • Added Gen7 ambush encounters RNG .
  • Added timeline leap calculator for stationary and event (PCalc only).
    • Efficiency was improved from 30 spreads per second to 630+ possible spreads per second.
    • Including menu method, especially for Xurkitree and Nihilego.
    • Added Gen6 frame advance column for odd/even.
  • Added SOS RNG UI tweaks.
  • Fixed WonderCards reading.

v1.0.0

  • Added SOS RNG.
  • Unlocked partner cap Pikachu shininess.
  • Updated USUM 1.2 wifi patch.
  • Added fishing item slots info.
  • Allow customized clock image (Format: \Clock_XX.jpg).
  • Added random berry table from berry piles.
  • Fixed several wormhole delay calculation.
  • Simplified Gen6 synchro check (maximum memory intensity required).

Credit

  • Zaksabeast, Zep715, Real96, Admiral Fish and Shiny_Sylveon for great teamworks on gen6 development.
    • Zaksabeast and Admiral Fish for building up the plugin.
    • Real96 for testing and lots of good advice.
    • Zep715 for figuring out tons of infomation from the assembly.
    • Shiny_Sylveon for contributions to Gen6 Egg RNG.
  • odanado for making Gen7 RNG API, which make us find initial seed mush faster.
  • Kaphotics for PkHeX, KeyBV and Pk3DS. I borrowed some code from the PKHeX Core Library and extracted ROM info using Pk3DS.
  • 44670 for NTRClient.

External links

Advertising: