diff --git a/Source/Core/Gen3/Generators/GameCubeGenerator.cpp b/Source/Core/Gen3/Generators/GameCubeGenerator.cpp index 872c31d3e..c87a3ff38 100644 --- a/Source/Core/Gen3/Generators/GameCubeGenerator.cpp +++ b/Source/Core/Gen3/Generators/GameCubeGenerator.cpp @@ -189,6 +189,8 @@ std::vector GameCubeGenerator::generateColoShadow(u32 seed, cons } } + ability &= info->getAbility(0) != info->getAbility(1); + u32 pid = (high << 16) | low; std::array ivs; ivs[0] = iv1 & 31; @@ -251,16 +253,11 @@ std::vector GameCubeGenerator::generateGalesShadow(u32 seed, con } } - if (shadowTemplate->getType() == ShadowType::SecondShadow || shadowTemplate->getType() == ShadowType::Salamence) + // Check for shiny lock with unset + if ((shadowTemplate->getType() == ShadowType::SecondShadow || shadowTemplate->getType() == ShadowType::Salamence) && unset) { - go.advance(5); // Set and Unset start the same - - // Check for shiny lock with unset - if (unset) + while (isShiny(go.nextUShort(), go.nextUShort(), tsv)) { - while (isShiny(go.nextUShort(), go.nextUShort(), tsv)) - { - } } } diff --git a/Source/Core/Gen3/ShadowLock.cpp b/Source/Core/Gen3/ShadowLock.cpp index 3dfad6ba2..bd8c961af 100644 --- a/Source/Core/Gen3/ShadowLock.cpp +++ b/Source/Core/Gen3/ShadowLock.cpp @@ -46,7 +46,7 @@ static inline u32 getPIDForward(XDRNG &rng) namespace ShadowLock { - bool coloShadow(u32 seed, const ShadowTemplate *shadowTemplate) + bool coloShadow(u32 &seed, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(1); @@ -91,10 +91,16 @@ namespace ShadowLock } // Check if we end on the same PID as first non-shadow going backwards - return pidOriginal == pid; + if (pidOriginal == pid) + { + seed = backward.advance(8); + return true; + } + + return false; } - bool ereader(u32 seed, u32 readerPID, const ShadowTemplate *shadowTemplate) + bool ereader(u32 &seed, u32 readerPID, const ShadowTemplate *shadowTemplate) { // Check if PID is even valid for E-Reader // E-Reader have set nature/gender @@ -136,10 +142,15 @@ namespace ShadowLock } // Checks if PID matches original - return pid == readerPID; + if (pid == readerPID) + { + seed = backward.advance(8); + return true; + } + return false; } - bool firstShadowNormal(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate) + bool firstShadowNormal(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(1); @@ -184,10 +195,16 @@ namespace ShadowLock } // Check if we end on the same PID as first non-shadow going backwards - return pidOriginal == pid; + if (pidOriginal == pid) + { + seed = backward.advance(8); + return true; + } + + return false; } - bool firstShadowSet(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate) + bool firstShadowSet(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(6); @@ -232,10 +249,16 @@ namespace ShadowLock } // Check if we end on the same PID as first non-shadow going backwards - return pidOriginal == pid; + if (pidOriginal == pid) + { + seed = backward.advance(8); + return true; + } + + return false; } - bool firstShadowUnset(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate) + bool firstShadowUnset(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(3); @@ -291,10 +314,16 @@ namespace ShadowLock } // Check if we end on the same PID as first non-shadow going backwards - return pidOriginal == pid; + if (pidOriginal == pid) + { + seed = backward.advance(8); + return true; + } + + return false; } - bool salamenceSet(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate) + bool salamenceSet(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(6); @@ -302,10 +331,17 @@ namespace ShadowLock // Build PID of non-shadow u32 pid = getPIDBackward(backward); - return shadowTemplate->getLock(0).compare(pid) && !isShiny(pid, tsv); + // Backwards nature lock check + if (shadowTemplate->getLock(0).compare(pid) && !isShiny(pid, tsv)) + { + seed = backward.advance(8); + return true; + } + + return false; } - bool salamenceUnset(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate) + bool salamenceUnset(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(3); @@ -325,10 +361,16 @@ namespace ShadowLock u32 pid = getPIDBackward(backward); // Backwards nature lock check - return shadowTemplate->getLock(0).compare(pid) && !isShiny(pid, tsv); + if (shadowTemplate->getLock(0).compare(pid) && !isShiny(pid, tsv)) + { + seed = backward.advance(8); + return true; + } + + return false; } - bool singleNL(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate) + bool singleNL(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate) { XDRNGR backward(seed); backward.advance(1); @@ -337,6 +379,12 @@ namespace ShadowLock u32 pid = getPIDBackward(backward); // Backwards nature lock check - return shadowTemplate->getLock(0).compare(pid) && !isShiny(pid, tsv); + if (shadowTemplate->getLock(0).compare(pid) && !isShiny(pid, tsv)) + { + seed = backward.advance(8); + return true; + } + + return false; } } diff --git a/Source/Core/Gen3/ShadowLock.hpp b/Source/Core/Gen3/ShadowLock.hpp index a1a9d4827..9575d9115 100644 --- a/Source/Core/Gen3/ShadowLock.hpp +++ b/Source/Core/Gen3/ShadowLock.hpp @@ -40,7 +40,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool coloShadow(u32 seed, const ShadowTemplate *shadowTemplate); + bool coloShadow(u32 &seed, const ShadowTemplate *shadowTemplate); /** * @brief Determines whether the \p seed matches the lock criteria for Colosseum E-Reader @@ -54,7 +54,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool ereader(u32 seed, u32 readerPID, const ShadowTemplate *shadowTemplate); + bool ereader(u32 &seed, u32 readerPID, const ShadowTemplate *shadowTemplate); /** * @brief firstShadowNormal @@ -68,7 +68,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool firstShadowNormal(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate); + bool firstShadowNormal(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate); /** * @brief firstShadowSet @@ -80,7 +80,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool firstShadowSet(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate); + bool firstShadowSet(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate); /** * @brief firstShadowUnset @@ -92,7 +92,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool firstShadowUnset(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate); + bool firstShadowUnset(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate); /** * @brief salamenceSet @@ -104,7 +104,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool salamenceSet(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate); + bool salamenceSet(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate); /** * @brief salamenceUnset @@ -116,7 +116,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool salamenceUnset(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate); + bool salamenceUnset(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate); /** * @brief singleNL @@ -128,7 +128,7 @@ namespace ShadowLock * @return true Seed matches the lock criteria * @return false Seed does not match the lock criteria */ - bool singleNL(u32 seed, u16 tsv, const ShadowTemplate *shadowTemplate); + bool singleNL(u32 &seed, u16 tsv, const ShadowTemplate *shadowTemplate); }; #endif // SHADOWLOCK_HPP diff --git a/Source/Test/Gen3/GameCubeSearcherTest.cpp b/Source/Test/Gen3/GameCubeSearcherTest.cpp index 0ce3a9594..96388f05a 100644 --- a/Source/Test/Gen3/GameCubeSearcherTest.cpp +++ b/Source/Test/Gen3/GameCubeSearcherTest.cpp @@ -31,12 +31,23 @@ using IVs = std::array; +template static bool operator==(const SearcherState &left, const GeneratorState &right) { - return left.getPID() == right.getPID() && left.getStats() == right.getStats() && left.getAbilityIndex() == right.getAbilityIndex() - && left.getIVs() == right.getIVs() && left.getAbility() == right.getAbility() && left.getGender() == right.getGender() - && left.getHiddenPower() == right.getHiddenPower() && left.getHiddenPowerStrength() == right.getHiddenPowerStrength() - && left.getLevel() == right.getLevel() && left.getNature() == right.getNature() && left.getShiny() == right.getShiny(); + if constexpr (compareAbility) + { + return left.getPID() == right.getPID() && left.getStats() == right.getStats() && left.getAbilityIndex() == right.getAbilityIndex() + && left.getIVs() == right.getIVs() && left.getAbility() == right.getAbility() && left.getGender() == right.getGender() + && left.getHiddenPower() == right.getHiddenPower() && left.getHiddenPowerStrength() == right.getHiddenPowerStrength() + && left.getLevel() == right.getLevel() && left.getNature() == right.getNature() && left.getShiny() == right.getShiny(); + } + else + { + return left.getPID() == right.getPID() && left.getStats() == right.getStats() && left.getIVs() == right.getIVs() + && left.getGender() == right.getGender() && left.getHiddenPower() == right.getHiddenPower() + && left.getHiddenPowerStrength() == right.getHiddenPowerStrength() && left.getLevel() == right.getLevel() + && left.getNature() == right.getNature() && left.getShiny() == right.getShiny(); + } } static bool operator==(const SearcherState &left, const json &right) @@ -99,13 +110,13 @@ void GameCubeSearcherTest::searchColoShadow_data() QTest::addColumn("min"); QTest::addColumn("max"); QTest::addColumn("pokemon"); - QTest::addColumn("results"); + QTest::addColumn("results"); json data = readData("gamecube", "gamecubesearcher", "searchColoShadow"); for (const auto &d : data) { QTest::newRow(d["name"].get().data()) - << d["min"].get() << d["max"].get() << d["pokemon"].get() << d["results"].get().dump(); + << d["min"].get() << d["max"].get() << d["pokemon"].get() << d["results"].get(); } } @@ -114,9 +125,7 @@ void GameCubeSearcherTest::searchColoShadow() QFETCH(IVs, min); QFETCH(IVs, max); QFETCH(int, pokemon); - QFETCH(std::string, results); - - json j = json::parse(results); + QFETCH(int, results); std::array natures; natures.fill(true); @@ -124,20 +133,34 @@ void GameCubeSearcherTest::searchColoShadow() std::array powers; powers.fill(true); + constexpr std::array zero = { 0, 0, 0, 0, 0, 0 }; + Profile3 profile("-", Game::Colosseum, 12345, 54321, false); const ShadowTemplate *shadowTemplate = Encounters3::getShadowTeam(pokemon); - StateFilter filter(255, 255, 255, false, min, max, natures, powers); + StateFilter filter(255, 255, 255, false, shadowTemplate->getType() == ShadowType::EReader ? zero : min, + shadowTemplate->getType() == ShadowType::EReader ? zero : max, natures, powers); GameCubeSearcher searcher(Method::None, false, profile, filter); searcher.startSearch(min, max, shadowTemplate); auto states = searcher.getResults(); - QCOMPARE(states.size(), j.size()); + QCOMPARE(states.size(), results); - for (int i = 0; i < states.size(); i++) + for (const auto &state : states) { - const auto &state = states[i]; - QVERIFY(state == j[i]); + // Ensure generator agrees + GameCubeGenerator generator(0, 0, 0, Method::None, false, profile, filter); + auto generatorStates = generator.generate(state.getSeed(), shadowTemplate); + + QCOMPARE(generatorStates.size(), 1); + if (shadowTemplate->getType() == ShadowType::EReader) + { + QVERIFY(operator==(state, generatorStates[0])); + } + else + { + QVERIFY(state == generatorStates[0]); + } } } @@ -147,13 +170,13 @@ void GameCubeSearcherTest::searchGalesShadow_data() QTest::addColumn("max"); QTest::addColumn("unset"); QTest::addColumn("pokemon"); - QTest::addColumn("results"); + QTest::addColumn("results"); json data = readData("gamecube", "gamecubesearcher", "searchGalesShadow"); for (const auto &d : data) { - QTest::newRow(d["name"].get().data()) << d["min"].get() << d["max"].get() << d["unset"].get() - << d["pokemon"].get() << d["results"].get().dump(); + QTest::newRow(d["name"].get().data()) + << d["min"].get() << d["max"].get() << d["unset"].get() << d["pokemon"].get() << d["results"].get(); } } @@ -163,9 +186,7 @@ void GameCubeSearcherTest::searchGalesShadow() QFETCH(IVs, max); QFETCH(bool, unset); QFETCH(int, pokemon); - QFETCH(std::string, results); - - json j = json::parse(results); + QFETCH(int, results); std::array natures; natures.fill(true); @@ -181,12 +202,16 @@ void GameCubeSearcherTest::searchGalesShadow() searcher.startSearch(min, max, shadowTemplate); auto states = searcher.getResults(); - QCOMPARE(states.size(), j.size()); + QCOMPARE(states.size(), results); - for (int i = 0; i < states.size(); i++) + for (const auto &state : states) { - const auto &state = states[i]; - QVERIFY(state == j[i]); + // Ensure generator agrees + GameCubeGenerator generator(0, 0, 0, Method::None, unset, profile, filter); + auto generatorStates = generator.generate(state.getSeed(), shadowTemplate); + + QCOMPARE(generatorStates.size(), 1); + QVERIFY(state == generatorStates[0]); } } diff --git a/Source/Test/Gen3/gamecube.json b/Source/Test/Gen3/gamecube.json index 84bc9ce75..506058a54 100644 --- a/Source/Test/Gen3/gamecube.json +++ b/Source/Test/Gen3/gamecube.json @@ -1451,140 +1451,140 @@ "ability": 0, "abilityIndex": 22, "advances": 0, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 28, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 75, - 52, - 33, - 45, - 36, - 38 + 70, + 47, + 38, + 42, + 37, + 45 ] }, { - "ability": 0, - "abilityIndex": 22, + "ability": 1, + "abilityIndex": 18, "advances": 1, - "gender": 0, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "gender": 1, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 28, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 73, - 39, - 31, - 52, - 36, - 41 + 76, + 45, + 30, + 50, + 40, + 46 ] }, { "ability": 0, "abilityIndex": 22, "advances": 2, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 28, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 75, - 52, - 33, - 45, - 36, - 38 + 70, + 47, + 38, + 42, + 37, + 45 ] }, { - "ability": 0, - "abilityIndex": 22, + "ability": 1, + "abilityIndex": 18, "advances": 3, - "gender": 0, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "gender": 1, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 28, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 73, - 39, - 31, - 52, - 36, - 41 + 76, + 45, + 30, + 50, + 40, + 46 ] }, { "ability": 0, "abilityIndex": 22, "advances": 4, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 28, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 75, - 52, - 33, - 45, - 36, - 38 + 70, + 47, + 38, + 42, + 37, + 45 ] }, { @@ -1592,55 +1592,55 @@ "abilityIndex": 22, "advances": 5, "gender": 0, - "hiddenPower": 13, - "hiddenPowerStrength": 64, + "hiddenPower": 1, + "hiddenPowerStrength": 41, "ivs": [ - 18, - 2, - 22, - 19, + 20, 7, - 25 + 5, + 26, + 0, + 8 ], "level": 28, - "nature": 0, - "pid": 4043943050, + "nature": 22, + "pid": 1708122872, "shiny": 0, "stats": [ - 73, - 44, + 74, + 46, + 31, + 51, 36, - 49, - 34, - 45 + 36 ] }, { "ability": 0, "abilityIndex": 22, "advances": 6, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 28, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 75, - 52, - 33, - 45, - 36, - 38 + 70, + 47, + 38, + 42, + 37, + 45 ] }, { @@ -1648,55 +1648,55 @@ "abilityIndex": 22, "advances": 7, "gender": 0, - "hiddenPower": 13, - "hiddenPowerStrength": 64, + "hiddenPower": 1, + "hiddenPowerStrength": 41, "ivs": [ - 18, - 2, - 22, - 19, + 20, 7, - 25 + 5, + 26, + 0, + 8 ], "level": 28, - "nature": 0, - "pid": 4043943050, + "nature": 22, + "pid": 1708122872, "shiny": 0, "stats": [ - 73, - 44, + 74, + 46, + 31, + 51, 36, - 49, - 34, - 45 + 36 ] }, { "ability": 0, "abilityIndex": 22, "advances": 8, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 28, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 75, - 52, - 33, - 45, - 36, - 38 + 70, + 47, + 38, + 42, + 37, + 45 ] }, { @@ -1704,27 +1704,27 @@ "abilityIndex": 22, "advances": 9, "gender": 0, - "hiddenPower": 13, - "hiddenPowerStrength": 64, + "hiddenPower": 1, + "hiddenPowerStrength": 41, "ivs": [ - 18, - 2, - 22, - 19, + 20, 7, - 25 + 5, + 26, + 0, + 8 ], "level": 28, - "nature": 0, - "pid": 4043943050, + "nature": 22, + "pid": 1708122872, "shiny": 0, "stats": [ - 73, - 44, + 74, + 46, + 31, + 51, 36, - 49, - 34, - 45 + 36 ] } ] @@ -1740,55 +1740,55 @@ "abilityIndex": 18, "advances": 0, "gender": 0, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 28, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 72, - 48, + 71, + 40, 35, - 50, + 57, 36, - 46 + 44 ] }, { - "ability": 0, - "abilityIndex": 22, + "ability": 1, + "abilityIndex": 18, "advances": 1, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 28, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 74, - 49, + 76, + 52, 34, - 46, + 49, 37, - 38 + 40 ] }, { @@ -1796,55 +1796,55 @@ "abilityIndex": 18, "advances": 2, "gender": 0, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 28, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 72, - 48, + 71, + 40, 35, - 50, + 57, 36, - 46 + 44 ] }, { - "ability": 0, - "abilityIndex": 22, + "ability": 1, + "abilityIndex": 18, "advances": 3, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 28, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 74, - 49, + 76, + 52, 34, - 46, + 49, 37, - 38 + 40 ] }, { @@ -1852,27 +1852,27 @@ "abilityIndex": 18, "advances": 4, "gender": 0, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 28, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 72, - 48, + 71, + 40, 35, - 50, + 57, 36, - 46 + 44 ] }, { @@ -1880,27 +1880,27 @@ "abilityIndex": 22, "advances": 5, "gender": 0, - "hiddenPower": 5, - "hiddenPowerStrength": 42, + "hiddenPower": 13, + "hiddenPowerStrength": 52, "ivs": [ - 15, - 14, - 25, - 23, + 0, 24, - 24 + 6, + 17, + 15, + 1 ], "level": 28, "nature": 14, - "pid": 2658751314, + "pid": 2202535314, "shiny": 0, "stats": [ - 73, - 48, - 37, + 68, 50, - 35, - 49 + 31, + 48, + 33, + 41 ] }, { @@ -1908,27 +1908,27 @@ "abilityIndex": 18, "advances": 6, "gender": 0, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 28, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 72, - 48, + 71, + 40, 35, - 50, + 57, 36, - 46 + 44 ] }, { @@ -1936,27 +1936,27 @@ "abilityIndex": 22, "advances": 7, "gender": 0, - "hiddenPower": 5, - "hiddenPowerStrength": 42, + "hiddenPower": 13, + "hiddenPowerStrength": 52, "ivs": [ - 15, - 14, - 25, - 23, + 0, 24, - 24 + 6, + 17, + 15, + 1 ], "level": 28, "nature": 14, - "pid": 2658751314, + "pid": 2202535314, "shiny": 0, "stats": [ - 73, - 48, - 37, + 68, 50, - 35, - 49 + 31, + 48, + 33, + 41 ] }, { @@ -1964,27 +1964,27 @@ "abilityIndex": 18, "advances": 8, "gender": 0, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 28, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 72, - 48, + 71, + 40, 35, - 50, + 57, 36, - 46 + 44 ] }, { @@ -1992,27 +1992,27 @@ "abilityIndex": 22, "advances": 9, "gender": 0, - "hiddenPower": 5, - "hiddenPowerStrength": 42, + "hiddenPower": 13, + "hiddenPowerStrength": 52, "ivs": [ - 15, - 14, - 25, - 23, + 0, 24, - 24 + 6, + 17, + 15, + 1 ], "level": 28, "nature": 14, - "pid": 2658751314, + "pid": 2202535314, "shiny": 0, "stats": [ - 73, - 48, - 37, + 68, 50, - 35, - 49 + 31, + 48, + 33, + 41 ] } ] @@ -2028,55 +2028,55 @@ "abilityIndex": 22, "advances": 0, "gender": 1, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 50, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 163, - 126, - 86, + 168, 135, - 90, - 110 + 86, + 126, + 98, + 123 ] }, { "ability": 0, "abilityIndex": 22, "advances": 1, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 50, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 166, - 155, - 90, - 118, - 91, - 105 + 158, + 146, + 100, + 108, + 96, + 118 ] }, { @@ -2084,55 +2084,55 @@ "abilityIndex": 22, "advances": 2, "gender": 1, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 50, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 163, - 126, - 86, + 168, 135, - 90, - 110 + 86, + 126, + 98, + 123 ] }, { "ability": 0, "abilityIndex": 22, "advances": 3, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 50, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 166, - 155, - 90, - 118, - 91, - 105 + 158, + 146, + 100, + 108, + 96, + 118 ] }, { @@ -2140,55 +2140,55 @@ "abilityIndex": 22, "advances": 4, "gender": 1, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 50, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 163, - 126, - 86, + 168, 135, - 90, - 110 + 86, + 126, + 98, + 123 ] }, { "ability": 0, "abilityIndex": 22, "advances": 5, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 50, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 166, - 155, - 90, - 118, - 91, - 105 + 158, + 146, + 100, + 108, + 96, + 118 ] }, { @@ -2196,55 +2196,55 @@ "abilityIndex": 22, "advances": 6, "gender": 1, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 50, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 163, - 126, - 86, + 168, 135, - 90, - 110 + 86, + 126, + 98, + 123 ] }, { "ability": 0, "abilityIndex": 22, "advances": 7, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 50, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 166, - 155, - 90, - 118, - 91, - 105 + 158, + 146, + 100, + 108, + 96, + 118 ] }, { @@ -2252,55 +2252,55 @@ "abilityIndex": 22, "advances": 8, "gender": 1, - "hiddenPower": 14, - "hiddenPowerStrength": 59, + "hiddenPower": 6, + "hiddenPowerStrength": 68, "ivs": [ - 16, + 27, + 21, 2, - 3, - 17, - 11, - 11 + 23, + 26, + 15 ], "level": 50, - "nature": 15, - "pid": 15667290, + "nature": 10, + "pid": 1179959585, "shiny": 0, "stats": [ - 163, - 126, - 86, + 168, 135, - 90, - 110 + 86, + 126, + 98, + 123 ] }, { "ability": 0, "abilityIndex": 22, "advances": 9, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 44, + "gender": 0, + "hiddenPower": 7, + "hiddenPowerStrength": 58, "ivs": [ - 23, - 31, - 11, - 6, - 13, - 1 + 7, + 12, + 30, + 12, + 7, + 26 ], "level": 50, - "nature": 18, - "pid": 763441193, + "nature": 23, + "pid": 500003548, "shiny": 0, "stats": [ - 166, - 155, - 90, - 118, - 91, - 105 + 158, + 146, + 100, + 108, + 96, + 118 ] } ] @@ -2316,55 +2316,55 @@ "abilityIndex": 22, "advances": 0, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 50, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 165, - 149, - 93, - 119, - 93, - 105 + 169, + 154, + 92, + 124, + 92, + 108 ] }, { "ability": 0, "abilityIndex": 22, "advances": 1, - "gender": 1, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "gender": 0, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 50, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 161, - 147, - 96, + 159, 126, - 89, - 119 + 95, + 141, + 90, + 115 ] }, { @@ -2372,55 +2372,55 @@ "abilityIndex": 22, "advances": 2, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 50, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 165, - 149, - 93, - 119, - 93, - 105 - ] - }, + 169, + 154, + 92, + 124, + 92, + 108 + ] + }, { "ability": 0, "abilityIndex": 22, "advances": 3, - "gender": 1, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "gender": 0, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 50, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 161, - 147, - 96, + 159, 126, - 89, - 119 + 95, + 141, + 90, + 115 ] }, { @@ -2428,55 +2428,55 @@ "abilityIndex": 22, "advances": 4, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 50, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 165, - 149, - 93, - 119, - 93, - 105 + 169, + 154, + 92, + 124, + 92, + 108 ] }, { "ability": 0, "abilityIndex": 22, "advances": 5, - "gender": 1, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "gender": 0, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 50, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 161, - 147, - 96, + 159, 126, - 89, - 119 + 95, + 141, + 90, + 115 ] }, { @@ -2484,55 +2484,55 @@ "abilityIndex": 22, "advances": 6, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 50, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 165, - 149, - 93, - 119, - 93, - 105 + 169, + 154, + 92, + 124, + 92, + 108 ] }, { "ability": 0, "abilityIndex": 22, "advances": 7, - "gender": 1, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "gender": 0, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 50, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 161, - 147, - 96, + 159, 126, - 89, - 119 + 95, + 141, + 90, + 115 ] }, { @@ -2540,55 +2540,55 @@ "abilityIndex": 22, "advances": 8, "gender": 0, - "hiddenPower": 6, - "hiddenPowerStrength": 31, + "hiddenPower": 7, + "hiddenPowerStrength": 68, "ivs": [ - 20, + 28, + 28, + 14, 18, - 17, - 9, - 16, - 1 + 15, + 6 ], "level": 50, - "nature": 6, - "pid": 774626256, + "nature": 12, + "pid": 3941593287, "shiny": 0, "stats": [ - 165, - 149, - 93, - 119, - 93, - 105 + 169, + 154, + 92, + 124, + 92, + 108 ] }, { "ability": 0, "abilityIndex": 22, "advances": 9, - "gender": 1, - "hiddenPower": 1, - "hiddenPowerStrength": 43, + "gender": 0, + "hiddenPower": 11, + "hiddenPowerStrength": 51, "ivs": [ - 13, - 14, - 7, - 22, - 28, - 28 + 8, + 3, + 20, + 29, + 11, + 20 ], "level": 50, - "nature": 9, - "pid": 3032604484, + "nature": 15, + "pid": 2644165290, "shiny": 0, "stats": [ - 161, - 147, - 96, + 159, 126, - 89, - 119 + 95, + 141, + 90, + 115 ] } ] @@ -4109,36 +4109,7 @@ 31 ], "pokemon": 0, - "results": [ - { - "ability": 0, - "abilityIndex": 47, - "gender": 0, - "hiddenPower": 11, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 6, - 31, - 31 - ], - "level": 30, - "nature": 5, - "pid": 2059397530, - "seed": 1477479334, - "shiny": 0, - "stats": [ - 92, - 45, - 35, - 18, - 32, - 29 - ] - } - ] + "results": 1 }, { "name": "Togepi (EReader)", @@ -4159,372 +4130,7 @@ 31 ], "pokemon": 5, - "results": [ - { - "ability": 0, - "abilityIndex": 55, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 2020725022, - "seed": 4037083889, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 1388010522, - "seed": 3667408318, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 0, - "abilityIndex": 55, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 2018795547, - "seed": 1462487989, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 0, - "abilityIndex": 55, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 3801007122, - "seed": 261986799, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 3388962322, - "seed": 2848654339, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 2794365447, - "seed": 1602928589, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 0, - "abilityIndex": 55, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 551178772, - "seed": 3413237647, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 2148212247, - "seed": 2560166781, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 790213897, - "seed": 2392883649, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 145990172, - "seed": 1629750445, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 0, - "abilityIndex": 55, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 788284422, - "seed": 4113255045, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 0, - "abilityIndex": 55, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 144060697, - "seed": 3350121841, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - }, - { - "ability": 1, - "abilityIndex": 32, - "gender": 1, - "hiddenPower": 0, - "hiddenPowerStrength": 30, - "ivs": [ - 0, - 0, - 0, - 0, - 0, - 0 - ], - "level": 20, - "nature": 22, - "pid": 3179355147, - "seed": 2776547746, - "shiny": 0, - "stats": [ - 44, - 13, - 31, - 21, - 34, - 11 - ] - } - ] + "results": 13 } ], "searchGalesShadow": [ @@ -4548,64 +4154,7 @@ ], "unset": false, "pokemon": 8, - "results": [ - { - "ability": 0, - "abilityIndex": 68, - "gender": 0, - "hiddenPower": 11, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 6, - 31, - 31 - ], - "level": 10, - "nature": 5, - "pid": 2059397530, - "seed": 1477479334, - "shiny": 0, - "stats": [ - 31, - 10, - 15, - 13, - 24, - 19 - ] - }, - { - "ability": 1, - "abilityIndex": 48, - "gender": 1, - "hiddenPower": 11, - "hiddenPowerStrength": 59, - "ivs": [ - 31, - 31, - 31, - 24, - 31, - 31 - ], - "level": 10, - "nature": 3, - "pid": 2041997653, - "seed": 1610404511, - "shiny": 0, - "stats": [ - 31, - 13, - 14, - 13, - 24, - 19 - ] - } - ] + "results": 2 }, { "name": "Spheal (First Shadow)", @@ -4627,64 +4176,7 @@ ], "unset": false, "pokemon": 10, - "results": [ - { - "ability": 0, - "abilityIndex": 47, - "gender": 0, - "hiddenPower": 11, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 26, - 31, - 31 - ], - "level": 17, - "nature": 12, - "pid": 2990777262, - "seed": 3787339008, - "shiny": 0, - "stats": [ - 56, - 23, - 27, - 28, - 27, - 18 - ] - }, - { - "ability": 0, - "abilityIndex": 47, - "gender": 0, - "hiddenPower": 15, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 31, - 31, - 31 - ], - "level": 17, - "nature": 0, - "pid": 227811725, - "seed": 1829414469, - "shiny": 0, - "stats": [ - 56, - 23, - 27, - 28, - 27, - 18 - ] - } - ] + "results": 2 }, { "name": "Growlithe (First shadow unset)", @@ -4706,64 +4198,7 @@ ], "unset": true, "pokemon": 38, - "results": [ - { - "ability": 1, - "abilityIndex": 18, - "gender": 0, - "hiddenPower": 15, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 19, - 31, - 31 - ], - "level": 28, - "nature": 10, - "pid": 2657512310, - "seed": 1420845402, - "shiny": 0, - "stats": [ - 77, - 46, - 38, - 49, - 41, - 51 - ] - }, - { - "ability": 0, - "abilityIndex": 22, - "gender": 0, - "hiddenPower": 15, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 31, - 31, - 31 - ], - "level": 28, - "nature": 0, - "pid": 227811725, - "seed": 1829414469, - "shiny": 0, - "stats": [ - 77, - 52, - 38, - 52, - 41, - 47 - ] - } - ] + "results": 2 }, { "name": "Growlithe (First shadow set)", @@ -4785,36 +4220,7 @@ ], "unset": false, "pokemon": 38, - "results": [ - { - "ability": 1, - "abilityIndex": 18, - "gender": 1, - "hiddenPower": 15, - "hiddenPowerStrength": 59, - "ivs": [ - 31, - 31, - 31, - 21, - 31, - 31 - ], - "level": 28, - "nature": 23, - "pid": 2360369973, - "seed": 4193640309, - "shiny": 0, - "stats": [ - 77, - 52, - 38, - 45, - 45, - 47 - ] - } - ] + "results": 1 }, { "name": "Salamence (First shadow unset)", @@ -4836,64 +4242,7 @@ ], "unset": true, "pokemon": 73, - "results": [ - { - "ability": 0, - "abilityIndex": 22, - "gender": 1, - "hiddenPower": 15, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 19, - 31, - 31 - ], - "level": 50, - "nature": 10, - "pid": 2657512310, - "seed": 1420845402, - "shiny": 0, - "stats": [ - 170, - 139, - 100, - 124, - 100, - 132 - ] - }, - { - "ability": 0, - "abilityIndex": 22, - "gender": 0, - "hiddenPower": 15, - "hiddenPowerStrength": 70, - "ivs": [ - 31, - 31, - 31, - 31, - 31, - 31 - ], - "level": 50, - "nature": 0, - "pid": 227811725, - "seed": 1829414469, - "shiny": 0, - "stats": [ - 170, - 155, - 100, - 130, - 100, - 120 - ] - } - ] + "results": 2 }, { "name": "Salamence (First shadow set)", @@ -4915,36 +4264,7 @@ ], "unset": false, "pokemon": 73, - "results": [ - { - "ability": 0, - "abilityIndex": 22, - "gender": 1, - "hiddenPower": 15, - "hiddenPowerStrength": 59, - "ivs": [ - 31, - 31, - 31, - 21, - 31, - 31 - ], - "level": 50, - "nature": 23, - "pid": 2360369973, - "seed": 4193640309, - "shiny": 0, - "stats": [ - 170, - 155, - 100, - 112, - 110, - 120 - ] - } - ] + "results": 1 } ], "searchNonLock": [