Jump to content

MewTracker

Member
  • Posts

    91
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by MewTracker

  1. RaidCalc v2.0.0 has been released :) There are some UI improvements and bugfixes since pre-release version, so please make sure to update.

    Download: https://github.com/MewTracker/sv-research/releases

    Quote

    Changes:

    • Reworked seed finder engine + tested for correctness against RaidCrawler
    • 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
    • Added raid boost selection
    • Added settings dialog
    • Added about dialog

    @Rainbowdutches04 Threads:

    Quote

    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.

    Story progress (options renamed in 2.0.0): https://game8.co/games/Pokemon-Scarlet-Violet/archives/398238#hl_1

    Raid boost: https://game8.co/games/Pokemon-Scarlet-Violet/archives/398132

  2. That surely won't hurt ;) Raid hosting has been done by various communities and generally I don't think it's going anywhere. Especially considering the fact that hosts can reset their game and host same raid over and over. That's already a massive "exploit", so if game devs decide that they don't like it, that's what is going to be changed in the first place rather than niche stuff such as seed injection.

  3. I think this post sums it up pretty well:

    All seeds are possible, so it's pretty safe. From server's perspective there is nothing fishy about these raids. Of course theoretically they can add some anti-injection measures in the future for client-side (imo unlikely) but that would obviously require a game patch, so there's nothing to worry about right now.

    • Thanks 1
  4. 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.

    • Like 2
  5. 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
  6. @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
  7. 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
  8. @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).

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

     

    • Like 1
    • Thanks 1
  10. 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
  11. 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
  12. 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.7.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

    • Like 4
    • V-Wheeeeeel!!! 1
  13. Some weeks ago I started a little fun project and today I finally took time to clean it up, write some documentation and share it with the community. The idea was to explore RNG in BDSP for fun and profit. My goal was to create shiny Pokémon with 6 perfect IVs that are "totally legit", fully generated by the game itself. That means there are some rules:

    •     no save editing
    •     no game logic alterations

    This made things a bit more interesting as it left me with RNG research and optimization problem of finding good seeds in a somewhat reasonable time. I think BDSP are really great games as they are made with Unity making reversing and modding so much easier and approachable for wider audience. That's why I decided to share my research for learning purposes and to demonstrate that it's easier than it might look. I hope that community around these games stays alive as those games are probably as moddable as they can get, opening doors to some great, creative projects.

    Here's a link to full write up & tools: https://github.com/MewTracker/bdsp-research. I hope you will find this information useful. In the future (if time allows) I plan to post some more write ups about different aspects of the game based on whatever I find interesting. Feedback and suggestions for future research are welcome. Happy shiny hunting ;)

    • Like 1
  14. On 1/1/2022 at 5:38 AM, paf said:

    So how Could I change a daily swarm in BD,SP save?

    You can edit that constant using "Research" tab in Event Flag Editor.

    EDIT: My PR got merged, so if you build PKHeX from source you can edit named work value (SWARM_SEED) as well. That change is not included in 22.01.01 release.

    • Like 2
  15. I documented it here: https://github.com/kwsch/PKHeX/issues/3357

    Quote

    Constant 436 is a SWARM_SEED, 32-bit value generated once per day that decides swarm spawns. Formula is simple: SWARM_SEED % 28 = lookup_table_index

    lookup_table_index ("+" means I tested this value manually, I didn't test every single one because they are clearly sorted based on location):
    0+: Doduo (Route 201)
    1+: Zigzagoon (Route 202)
    2+: Cubone (Route 203)
    3+: Nosepass (Route 206)
    4: Phanpy (Route 207)
    5: Dunsparce (Route 208)
    6: Snubbull (Route 209)
    7: Absol (Route 213)
    8+: Spoink (Route 214)
    9: Drowzee (Route 215)
    10: Delibird (Route 216)
    11: Swinub (Route 217)
    12: Voltorb (Route 218)
    13: Farfetch'd (Route 221)
    14: Skitty (Route 222)
    15: Natu (Route 224)
    16+: Makuhita (Route 225)
    17: Krabby (Route 226)
    18+: Spinda (Route 227)
    19: Beldum (Route 228)
    20+: Pidgey (Route 229)
    21: Corsola (Route 230)
    22+: Surskit (Lake Verity)
    23+: Lickitung (Lake Valor)
    24+: Smoochum (Lake Acuity)
    25+: Electrike (Valley Windworks)
    26+: Slakoth (Eterna Forest)
    27+: Magnemite (Fuego Ironworks)

     

    • Like 1
    • Thanks 1
×
×
  • Create New...