Jump to content

[SV] RaidCalc: Seed generator for injection, drop farming and shinies


MewTracker

Recommended Posts

I've made a simple tool to quickly check all 2^32 raid seeds in order to maximize drops. Currently I focused on Herba Mystica as it seems to be the most valuable drop. Turns out you can get as much as 10 herbs from a single raid! I found idea of raid seed injection interesting because it allows a single person with CFW to inject a seed (via PKHeX or cheats) and host that raid over and over for other people. You can e.g. help your friends to farm herbs quickly and make their shiny hunts much easier.

Currently I generated seeds just for Herba Mystica but if anyone is interested in different drops and/or shiny Pokémon just let me know here or open an issue in my GitHub repository (https://github.com/MewTracker/sv-research).

Credits:

RaidCalc

Current RaidCalc version: 6.5.0 (download link)

Easy to use seed finder:

  • blazing fast performance - much faster than any PKHeX-based utility
  • filtering by Pokémon parameters (species, shininess, IV ranges, tera type, ability, nature, gender)
  • filtering by raid reward count (you can filter for specific rewards)
  • filtering by raid difficulty
  • configurable game version, story progression and raid boost
  • seed viewer

EDIT: Added seeds for Ability Patches

EDIT2: Added 6IV shinies

EDIT3: Added RaidCalc release info

Edited by MewTracker
  • Like 4
  • V-Wheeeeeel!!! 1
Link to comment
Share on other sites

  • MewTracker changed the title to [SV] Raid seeds for injection, drop farming and shinies

Hi thanks for you job. I think that for using seeds you need to have an specific day seed (larger for example mine is 2B928D50C0D284EB), also an spcific date on your switch, I´ve been trying to get  herba mistica rewards with your seeds but got nothing.

Edited by tiosilver23
Link to comment
Share on other sites

10 hours ago, tiosilver23 said:

Hi thanks for you job. I think that for using seeds you need to have an specific day seed (larger for example mine is 2B928D50C0D284EB), also an spcific date on your switch, I´ve been trying to get  herba mistica rewards with your seeds but got nothing.

You'll have to edit Raid-specific seeds, not day seeds

Spoiler

image.png

 

Link to comment
Share on other sites

This is amazing, but I'm interested in finding shiny pokemon with 0 spatk ivs or 0 spd ivs in tera raids. Is it possible to caculate that on my own? If so, how do I do so?
Also are there any tools that I can see what seed has what pokemon? Just like the one for raids in sword and shield.

Edited by Grapey
Link to comment
Share on other sites

12 hours ago, tiosilver23 said:

Hi thanks for you job. I think that for using seeds you need to have an specific day seed (larger for example mine is 2B928D50C0D284EB), also an spcific date on your switch, I´ve been trying to get  herba mistica rewards with your seeds but got nothing.

Just like @SkyLink98 has mentioned, you don't need to change 64-bit daily seed. This seed is used only once to generate all raids for the day but once those raids are generated and saved to your savefile you can edit 32-bit Xoroshiro seeds safely and host the spoofed raid. The raids will not be regenerated if you restart the game as long as you are on the same day, so pay attention to your clock.

To be honest I don't really understand why the game even saves that 64-bit daily seed in the savefile, it seems unnecessary. If anyone knows please let me know.

Quote

This is amazing, but I'm interested in finding shiny pokemon with 0 spatk ivs or 0 spd ivs in tera raids. Is it possible to caculate that on my own? If so, how do I do so?
Also are there any tools that I can see what seed has what pokemon? Just like the one for raids in sword and shield.

Whole tool is proof of concept quality right now, everything is either hardcoded or controlled by compile-time switches, so without messing with the code you get 0 flexibility. I will try to make things more flexible and user-friendly if I can find some extra free time. At the moment I have following filtering options in mind:

  • Species
  • IVs
  • Ability
  • Nature
  • Any specific drop or multiple drops

Also at the moment I focused exclusively on 6-star raids but 5-stars can be interesting as well, so it will be good to add that. Any other suggestions are welcome.

  • Like 2
Link to comment
Share on other sites

For those interested thre's also my tool with a GUI filter, doesn't still have support for items but i'm slowly working on it :)

https://github.com/Manu098vm/Tera-Finder

 

2 hours ago, MewTracker said:

To be honest I don't really understand why the game even saves that 64-bit daily seed in the savefile, it seems unnecessary.

At best of my knowledge, those are the main seeds from where every raid seed is derived from. Each raid seed should be a result of the xoroshiroed daily seed.

I'm not certain of that, but from what I can tell the daily seed is given by Crypto RNG.

  • Like 1
Link to comment
Share on other sites

17 minutes ago, SkyLink98 said:

At best of my knowledge, those are the main seeds from where every raid seed is derived from. Each raid seed should be a result of the xoroshiroed daily seed.

I'm not certain of that, but from what I can tell the daily seed is given by Crypto RNG.

Yeah, that's true but this whole process is a one-time per day operation. Why save that daily seed if game never uses it again? It could be simply discarded. If you just reload the game on the same day, raids WILL NOT be regenerated from that seed because they are all generated and saved already inside raid block. That's why PKHeX injection works (you can also inject seed directly into memory while on title screen, that works as well).

Nice tool! Ideally I wanted something like that but so far had no time to work on GUI stuff. Perhaps I will make a native library to consume from C# or just go Qt for GUI. I want to keep stuff in native code for performance reasons, especially for items. Exhaustive search for items is much more expensive than Pokemon search (around 3.5min vs 5s on 4 threads). Precomputing stuff into lookup tables helped a lot but I still have some space for optimization left. It's not a highest priority though as current speeds are acceptable. Original logic from RaidCrawler was way too slow for this kind of search because it was never designed for it.

  • Thanks 1
Link to comment
Share on other sites

  • MewTracker changed the title to [SV] RaidCalc: Seed generator for injection, drop farming and shinies

RaidCalc v1.0.0 has been released! Now it's a real tool that everybody can just download and use via Qt-powered GUI. It sticks to core principles of the original, it's still a fast, multi-threaded seed finder implemented in native code to maximize performance.

You can filter for basic Pokémon parameters, drops or both. I will continue to work on adding more filters but probably not before x-mas. As always all suggestions and feedback are welcome.

Release link: https://github.com/MewTracker/sv-research/releases/tag/v1.0.0 (OBSOLETE! See first post for new link)

 

Edited by MewTracker
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

@AlejaKaiser Nice catch, thanks for reporting this. Originally tool was designed for 6 stars raids only and those don't need to roll for raid difficulty. This of course breaks with other raids. I fixed that, you can download new version here: (obsolete link removed). It also features some other improvements made recently. I don't want to release it as 1.1.0 yet as I have a few other todos on my list.

Quote

I try with the github's txt for violet seeds and didn't work either.

Those are for 6 star raids and should be fine. I injected some of them and they worked in game (violet 1.1.0). If you are injecting via PKHeX remember to flip flag that controls raid type (6 star raids have a special status).

Edited by MewTracker
Link to comment
Share on other sites

I managed to finish v1.1.0, probably last release for a while. All known issues are resolved, all planned optimizations implemented :) Pokémon filtering takes just a few seconds and optimal rewards can be found in under a minute. That's for all possible 2^32 seeds! Future release will be probably v2 and will bring some new features.

Release download link: https://github.com/MewTracker/sv-research/releases/tag/v1.1.0

  • Thanks 1
Link to comment
Share on other sites

@El Basura I added seed viewer in the newest preview build:

seed_viewer.png.d889045e39051fb7acba0ddf934b7d6b.png

You can find preview builds here: https://github.com/MewTracker/sv-research/actions (pick first one on the list and download RaidCalc artifact, unfortunately you must be logged into GitHub to access this)

This version also includes a fix for critical bug for 1-5 star raids. Filtering was messed up and could result in wrong encounters being shown in the result table.

@Mal3fiko Seed search can be parallelized to make it faster. Each thread can run on a different CPU core for better resource utilization. By default program will select maximum number of cores your CPU has minus one. This of course doesn't affect results.

Tera type, nature, gender and ability filters are not available yet but they will be added soon. Seed viewer is already implemented and it can obtain all these information. Currently I'm working on integrating those filters into seed search engine without impacting performance too much.

  • Like 2
Link to comment
Share on other sites

I've made another release: https://github.com/MewTracker/sv-research/releases/tag/v2.0.0-prerelease

I still want to add some minor quality of life improvements (mostly UI), so this one is currently marked as "pre-release". I hope you will enjoy new features :)

Quote

Changes:

  • Added seed viewer - you can open it from tool menu or double click any seed in result table to view its details
  • Added tera type filtering
  • Added ability filtering
  • Added nature filtering
  • Added gender filtering
  • Added story progression selection (please don't select impossible combinations like 6 star raids and story progression < 4, program doesn't check for this yet)
  • Added raid boost selection
  • Reworked seed finder engine + tested for correctness against RaidCrawler

@CodysOutCruisin Do you have any specific questions? You basically set all the criteria and program will find seeds for you. You can take any seed you want and inject it into any den via PKHeX's Raid Editor (check this post for a screenshot). You need to modify seed and "Content" (this one controls 1-5 vs 6 star raids) fields only.

  • Like 1
Link to comment
Share on other sites

Hello @MewTracker! Just wanted to say this is awesome and I am also fascinated with raid seed injection (i played around with it in sw/sh before it was patched over) I had a few nub questions since I am relearning it with sv. Is there a way to view your seed text files and see what pokemon each seed id is without having to view it individually in the viewer? I am interested in hosting the herba mystica seeds on my cfw scarlet copy for my non-cfw violet on my other switch (they all just seem to be Amoonguss, Cetitan, Vaporeon, Farigiraf, or Dondozo)? I am hoping for maybe a Ditto or something else or can you point me in the direction to read up on how to manipulate the drops on my own on other seeds. I cannot find any tutorials of anything on how to do this stuff. for pkhex though from your previous post I saw some screenies on how to inject the seeds to the raid tables... I took a single seed and put them in all of the 6star raids and got all black5 nods with Amoonguss dropping 10 herbas, lol... Thank you for your hard work!

Edited by Elexander
Link to comment
Share on other sites

On 12/24/2022 at 8:58 AM, Bakkyunkyun said:

I obtained a shiny Pokemon from a friend who caught it from a cave. Since the shininess of a Pokemon is related to the trainers’ SID and TID, is there a way to change the OT (SID and TID) without making the Pokemon illegal.

Yes, you can use pkhex for that...

Backup your game using checkpoint/jksv and put your sdcard into your pc. Run pkhex and open your save backup. Navigate to the box where that pokemon is and right click on it and select view. Once it is showing (you will see the sprite for it in the upper center area, select OT/Misc tab (fifth one) and change the OT, SID, and TID there. After you enter your information, right click over the pokemon and select set. Export the game save to the sdcard install the card into your switch, boot into cfw, restore the save with checkpoint/jksv, start up pokemon sv, and done...

 

 

  • Like 1
Link to comment
Share on other sites

6 hours ago, Elexander said:

Yes, you can use pkhex for that...

Backup your game using checkpoint/jksv and put your sdcard into your pc. Run pkhex and open your save backup. Navigate to the box where that pokemon is and right click on it and select view. Once it is showing (you will see the sprite for it in the upper center area, select OT/Misc tab (fifth one) and change the OT, SID, and TID there. After you enter your information, right click over the pokemon and select set. Export the game save to the sdcard install the card into your switch, boot into cfw, restore the save with checkpoint/jksv, start up pokemon sv, and done...

 

 

It’s from a raid, not the usual one, I knew how to edit the usual one but not the raids one, changing anything with it(even OT)will render it illegal

Link to comment
Share on other sites

On 12/24/2022 at 3:58 PM, Bakkyunkyun said:

I obtained a shiny Pokemon from a friend who caught it from a cave. Since the shininess of a Pokemon is related to the trainers’ SID and TID, is there a way to change the OT (SID and TID) without making the Pokemon illegal.

@Bakkyunkyun Yes, this is possible. You have to edit SID/TID and perform a careful adjustment to Pokémon's PID value. Let's say my shiny 6IV Ditto has a PID value of 0xF213B956 and was caught by a trainer with SID=1234 and TID=567890. I changed SID to 1111 and TID to 222222. To make my Ditto legal:

1. Remember "Xor" value, PKHeX shows it when you hover over PID edit box (text will be "PSV: <number> | Xor = <number>"). For our example Ditto it's 1.

2. Compute packed TID/SID value: 1111222222 (decimal) = 0x423BE7CE (hex). Let's call high part TH=0x423B and low part TL=0xE7CE.

3. Compute 16 upper bits of Ditto's new PID value. The formula looks like this: TH ^ TL ^ Xor ^ PIDL (PIDL is low 16 bits of old PID). So we get 0x423B ^ 0xE7CE ^ 1 ^ 0xB956 = 0x1CA2 ( ^ denotes exclusive or)

4. Replace old high bits of PID with new ones so 0xF213B956 becomes 0x1CA2B956. Pokémon is now legal :)

@Elexander I won't update seed files anymore because the program allows you to generate same information in few seconds. Result table will contain all basic Pokémon information, so it's easier for bulk viewing. Yes, all high-herba raids have a small subset of Pokémon in them. For 6 star raids they are listed here.

Edited by MewTracker
  • Like 2
Link to comment
Share on other sites

8 hours ago, MewTracker said:

@Elexander I won't update seed files anymore because the program allows you to generate same information in few seconds. Result table will contain all basic Pokémon information, so it's easier for bulk viewing. Yes, all high-herba raids have a small subset of Pokémon in them. For 6 star raids they are listed here.

Thank you for your response, I really appreciate that! I will try and message you separately with more questions... Thank you!

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...