# XDSeedSorter ロード後に不定消費があり、個体生成に展開がある場合の目標seedの選定について ## 解説 ``` ガーディ(固定あり) 31-31-28-28-31-31 強制消費 316780 ``` 生成開始seedは`0x0F3579B7` ![](https://i.imgur.com/s2NwblZ.png) ちょっと多めに巻き戻して展開を全て見ます。 ```powershell [PokemonPRNG.LCG32.GCLCG.GCLCGExtension]::PrevSeed(0x0F3579B7U, 320000) | %{[System.Convert]::ToString($_, 16)} # f7172fb7 ``` ![](https://i.imgur.com/izyysGK.png) それなら、3019進めて先頭に合わせます。 ```powershell [PokemonPRNG.LCG32.GCLCG.GCLCGExtension]::Advance([ref]0xf7172fb7U, 3019) | %{[System.Convert]::ToString($_, 16)} # 521f4c90 ``` ![](https://i.imgur.com/acNg9lo.png) ![](https://i.imgur.com/WtM3RsY.png) つまり見込み通り強制消費数1=316780を引けた場合、`0x521f4c90`、`0x521f4c90`から1進めたseed、2、...172進めたseedで、目標個体が出現します。 ## 即席ぷよぐらみんぐ 十分遠い`currentSeed`から、いますぐバトルと設定の変更だけで上記の`targetSeed`まで消費方法を考えます。 ```ps1 $pivotSeed = 0x521f4c90U $currentSeed = [PokemonPRNG.LCG32.GCLCG.GCLCGExtension]::PrevSeed($pivotSeed, 100000) @(0, 1, 2, 6, 7, 8, 11, 15, 16, 17, 18, 19, 20, 22, 23, 25, 26, 29, 30, 31, 32, 33, 34, 36, 43, 44, 46, 47, 48, 50, 52, 54, 55, 58, 59, 60, 62, 64, 72, 73, 74, 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 95, 98, 101, 102, 103, 108, 109, 114, 117, 118, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 132, 133, 134, 136, 138, 139, 140, 144, 145, 146, 147, 148, 151, 158, 159, 160, 164, 168, 171, 172) | %{ $targetSeed = $pivotSeed [PokemonPRNG.LCG32.GCLCG.GCLCGExtension]::Advance([ref]$targetSeed, $_) *>$null $json = (.\XDConsumptionNavigator.exe --current-seed $currentSeed --target-seed $targetSeed --preload) Write-Host "$([System.Convert]::ToString($targetSeed, 16)) : $json" } # 521f4c90 : {"generateParties":110,"changeSetting":399,"writeReport":0,"openBag":0,"watchSteps":0} # 3fcef913 : {"generateParties":55,"changeSetting":1525,"writeReport":0,"openBag":0,"watchSteps":0} # 261bbf8a : {"generateParties":68,"changeSetting":1229,"writeReport":0,"openBag":0,"watchSteps":0} # b09ddb6e : {"generateParties":128,"changeSetting":93,"writeReport":0,"openBag":0,"watchSteps":0} # 6ee04479 : {"generateParties":75,"changeSetting":1074,"writeReport":0,"openBag":0,"watchSteps":0} # 1320f558 : {"generateParties":66,"changeSetting":1266,"writeReport":0,"openBag":0,"watchSteps":0} # ... ``` この中からchangeSettingが少ないものを選びます。こんなとこでしょうか、このうちのどれかを使えばいいと思います。 ```ps1 # 401209aa : {"generateParties":132,"changeSetting":36,"writeReport":0,"openBag":0,"watchSteps":0} # 1b823ad2 : {"generateParties":132,"changeSetting":37,"writeReport":0,"openBag":0,"watchSteps":0} # 3bf9d0fa : {"generateParties":132,"changeSetting":38,"writeReport":0,"openBag":0,"watchSteps":0} ``` XDSeedSorterとは参照しているXDDatabaseのバージョンが違うので、若干計算が異なっているかも?たぶん大丈夫です。