【剣盾乱数調整】過去作の菱形色違い判定について(おまけ:TRVの求め方)

先日PokémonHOMEもリリースされ過去作からもポケモンを連れてこられるようになりましたね。それに伴い過去作ポケモンの菱形判定が気になっている人も多いと思います。 3DSRNGToolも菱形判定を追加してくれましたしちょうどいいので簡単にそれについてお話ししようと思います。

おさらい

色違いの判定式

色違いかどうかは以下の式から判定されます。TSVやPSVもこの式を元に求められます。
(TID)xor(SID)xor(PID上4桁)xor(PID下4桁)≦15(5世代以前は7)

TSV・PSVとは

TSV・PSVとは、ポケモンの色違いの判定をするにあたって便宜上付けられた名前です。値が一致していれば色違いになると言われれば誰にでも理解しやすいですよね。 TSV・PSVは色違いになるかどうかの判定しかしないので元の値から不要な部分を省いてしまっています。
以下の記事で詳しく説明されています。

8世代での星形・菱形判定

8世代での星形・菱形判定はソード/シールド発売直後に海外勢によって解析されてましたね。色違いの判定式の結果が0になった場合のみ菱形、それ以外の場合の色違いは星形になります。例外として、正月の色違い確定のコイキングレイドのように『色違い確定』要素がある場合は菱形になります。
☆星形:1≦(TID)xor(SID)xor(PID上4桁)xor(PID下4桁)≦15
◇菱形:(TID)xor(SID)xor(PID上4桁)xor(PID下4桁)=0

  • レイド
    ☆星形…15/65536
    ◇菱形…1/65536
  • 孵化
    ☆星形…15/65536
    ◇菱形…1/65536

野生だけは少し話が変わります。連鎖や倒した数などで色違いになる確率が上がりますが、その確率アップによって出た色違いは全て菱形になるようにPID(性格値)が生成されるようです。確率アップがなくても色違いだった場合のみ星形になるようになっています。(星形真作ヤバチャとか現実的な確率じゃないです……。)

  • 野生
    ☆星形…15/65536
    ◇菱形…1/65536
    ◇菱形…65520/65536(確率アップで色違いになった場合)

【追記】冠の雪原での追加要素

  • 固定シンボル
    同じポケモンを500匹倒したときに3%の確率で色違いの確率が上がるボーナスが発生するのは野生のポケモンのみで、固定シンボルでは起こらないようです。

  • ダイマックスアドベンチャー
    ダイマックスアドベンチャーで出現するポケモンには色違いになるように補正がかかります。
    確率はひかるおまもり無しで1/300、ひかるおまもり有りで1/100です。
    菱形になるように補正がかかる野生に対して、こちらは以下の式を満たすPIDになるように補正がかかるので、補正がかかった場合は必ず星型色違いになります。しかし、補正なしで菱形色違いが出る可能性ももちろんあります。(一応)
    (TID)xor(SID)xor(PID上4桁)xor(PID下4桁)=1

☆星形…約1/100 (ひかるおまもり有り)
☆星形…約1/300 (ひかるおまもり無し)
◇菱形…1/65536

過去作ではどうなのか

さて、では過去作ではどうなのでしょうか。菱形になりそうな場合を箇条書きで書き出してみます。

ほぼ確実といえるもの

  • ◇菱形:(TID)xor(SID)xor(PID上4桁)xor(PID下4桁)=0を満たす色違い
  • VC産の色違い
  • ポケモンGO産の色違い
  • 配信ポケモンの色違い(運命的な出会いフラグのある色違い)

このように、基本的な判定式は剣盾と変わりません。色違いのふしぎなおくりものに関しては、運命的な出会いフラグによって菱形になるのではなく、確定色違いの場合は菱形の判定式を満たすようなPID(性格値)になるように生成されるので菱形になると思われます。そのため、5世代の九州配信や、6世代のひろしまコイキング、7世代のイースターエッグなどの色違いブロックルーチンがかかっていない配信ポケモンを色違いにした場合は菱形確定ではなく、星型の可能性もあると思われます。
検証により、運命的な出会いフラグによって菱形の色違いになることがわかりました。デオキシス、ミュウ、ダークライシェイミなどのチケット系のポケモンや、タマゴ状態で配布されたポケモン、5世代九州配信のようなブロックルーチンがかかっていない配信ポケモンも確定で菱形になると思われます。個々の検証は行っていないので星型で光った報告があれば教えてください。
なお、ルビー/サファイアで配信されたポケモンには運命的な出会いフラグを持たないポケモンがいます。WISHMKRジラーチやCHANNELジラーチ、ルビー/サファイアで出会った孤島ラティなどは通常の色違いと同じく15/16が星型になると思われます。

間違いや他に確定で菱形になると検証済みのものがあれば教えてください。

3DSRNGTool v1.0.4以降について

2020/03/03にサイレントアップデートで菱形検索機能を実装してくれました。 新たにTRVというものが定義されましたが、これはTSVを求める際に省いてしまった不要部分です。簡単にイメージすると、TSVは色違いかどうかを判定するためだけの値で、TRVは色違いになる場合に菱形になるかどうかを判定するための値になります。(そもそもTSVがなければTIDとSIDだけでよかったんだけどね…)
3DSRNGTool v1.0.4の説明ではTRVは以下のように定義されています。

  • Definition of TRV (Trainer Residual Value)
    TRV is the last 4 digits of TID xor SID, a value between 0 and 15. Can be presented in a one-digit hex number
    TRV = (TID ^ SID) & 0xF
    TRV = (TID ^ SID) - (TSV << 4) is independant of TSV

3DSRNGTool上での菱形色違い

TSVとPSVが一致すると色違いに、さらにTRVとPRVも一致すると菱形になります。ツール上ではTRVが一致している場合は濃い水色で表示されます。

TID xor SIDの下4桁、0〜15の値(=16進数なら0〜Fの1桁で表せる)ということですね。
(ちなみにTSVは逆にTID xor SIDの下4桁を省いた上12桁です。)

TRVの求め方

プログラマー電卓を使う方法

使い方がわからない人もいると思ったので簡単に説明しておきます。TRVは以下の手順で求められます。今回はWindowsに標準搭載されているプログラマー電卓を使いました。7世代の通常プレイで表示されているG7TID(6桁)とは別にTIDとSIDが必要なのでID調整がほぼ必須と言えるでしょう。自分は数年前にID調整した情報がたまたまスクショで残っていたのでそれを使いました。

TSV Finder

【追記】現在はbotの稼働を停止しているため使えません。TSVを求めてもらった後、3DSRNGToolにseedを入れて確認する方法で求めてください。

ポケモン乱数調整Discord上で、ぼんじりさんがTSV Finderというbotを動かしてくれています。このbotを使ってTSVを検索すればTRVも一緒に教えてくれます。
Discordへのリンクはこの記事の最後に貼ってあります。botの使い方は#gen7チャンネルのピン留めを確認してください。 f:id:larvesta10:20200719161406j:plain

過去にTSVSearchを使ってTSVを求めた人

3DSRNGToolのv1.0.4以降では、ID調整タブにもTRVが実装されています。過去にTSVSearchを使ってTSVを求めた人は、その際にTSVと一緒に出力されたseedをメモしていれば、3DSRNGToolにそのseedを入力することでTRVを求めることができます。

ゲームのバージョン、seedを正しく入力した上で検索を押すと、結果の1番上がTRVを求めたいデータのIDであるはずです。(無印サンムーンなら1012消費、ウルトラサンムーンなら1132消費にあります。) f:id:larvesta10:20200719162236j:plain

TID・SIDがどうしてもわからないとき

3DSRNGTool v1.0.4ではリストを表示するとPRVも表示してくれるようになっています。TRVおよびPRVは0〜Fまでの16通りしかないので、PRV=0〜Fの16通りを1匹ずつ乱数調整して菱形エフェクトが出るまで8世代に送ればTRVを特定することができます。
例えば、PRV=Fのポケモンを乱数調整して8世代に送り、菱形になればそのデータのTRVはFになります。必ず8世代に送れるポケモンを乱数調整するように気をつけてください。

適当に書いたのでよくわからないところがあったら聞いてください。