wwwwwwzx / gsclua

Lua scripts for GSC games
MIT License
34 stars 22 forks source link

gsc_egg.lua gives erroneous values for some species #28

Open CoolManBob opened 1 year ago

CoolManBob commented 1 year ago

After running the gsc_egg.lua script rather successfully for various pokemon, I ran into a rather odd issue. Some species of pokemon, namely Drowzee, Hypno, and Skarmory amongst a few others more than likely but these are the three I ran into. These pokemon when using the script, it returns back the same DV values regardless, though the specific DV values differ between the bad species. I did check the pokemon, and they do have proper DV values, but the script never reported them. Due to this, it can never properly find a shiny egg for these bad species. Any help would be appreciated, thank you!

SunlitMiracle commented 5 months ago

I'm years late to this so I don't know if you can check or remember your Drowzee/Hypno/Skarmory, but I suspect there are two possible reasons that happened:

  1. The "parents" couldn't actually breed with each other. I was trying to breed my shiny Typhlosion/Quilava/Cyndaquil with a shiny Ditto and had the same issue where the DVs never changed... but I completely forgot about Gen 2's anti-inbreeding check and how it affects shinies (or even just two random Pokemon that coincidentally have similar DVs). So I genned up a non-shiny Typhlosion for testing, and I had slightly more success.

  2. Typhlosion's cry is so long that it takes up the entire time between savestate loads, and I think this might also prevent a proper check since the Drowzee line also has long cries. I tried loading the script partway through the cry, which kind of works and gets a brief period where the DVs change, but the script gradually desyncs and eventually saves and loads after the daycare worker's dialogue is finished. I devolved the test mon into Quilava and Cyndaquil and the script worked perfectly, though. I was also able to get Typhlosion to work by putting it in first and Ditto second - and just to be thorough I tested it again with the shiny Typhlosion and once again the DVs wouldn't change on the script, even if Ditto was second.

Full disclosure: At no point did I save with whatever eggs I got from the seemingly-frozen DVs to verify if they were different from what the script was reporting. Perhaps the ones that were just a result of long cries would have changed had they not messed with the timing.

To summarize my findings, in order of first + second = script results Typhlosion + Shiny Ditto = Changing DVs Shiny Ditto + Typhlosion = Frozen DVs (with imperfect workaround) Shiny Ditto + Quilava/Cyndaquil = Changing DVs Shiny Typhlosion + Shiny Ditto = Frozen DVs

If anyone else is having the same issue, try switching the order in which the parents are deposited, or go talk to them in the yard to see if they're incompatible ("no interest" or "brimming with energy").