# XDSeedSorter ロード後に不定消費があり、個体生成に展開がある場合の目標seedの選定について
## 解説
```
ガーディ(固定あり) 31-31-28-28-31-31
強制消費 316780
```
生成開始seedは`0x0F3579B7`

ちょっと多めに巻き戻して展開を全て見ます。
```powershell
[PokemonPRNG.LCG32.GCLCG.GCLCGExtension]::PrevSeed(0x0F3579B7U, 320000) | %{[System.Convert]::ToString($_, 16)}
# f7172fb7
```

それなら、3019進めて先頭に合わせます。
```powershell
[PokemonPRNG.LCG32.GCLCG.GCLCGExtension]::Advance([ref]0xf7172fb7U, 3019) | %{[System.Convert]::ToString($_, 16)}
# 521f4c90
```


つまり見込み通り強制消費数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のバージョンが違うので、若干計算が異なっているかも?たぶん大丈夫です。