ミルクの日記

ポケモンの乱数調整方法を紹介しているサイト

色違いとIDの関連について

色違いに関する用語や参考サイトをまとめたもの

概要・免責

本記事の説明は乱数初心者向けであり、
第3-7世代までの色違いに関する、必要最低限の知識を記載したものです。

乱数調整入門者の『乱数調整で色違いを出したい』という質問に、
自称有識者『裏IDはなに?』と回答すると思いますが、
何故色違いの乱数には裏IDの特定が必要なのかの部分を書いてます。

よって、性格値色違い確率上昇については全容ではない為、
不足している部分は各自参考サイトなどで知識を補完するようにしてください。

目次

ID

http://i.imgur.com/BRHeFkT.png

  • トレーナーとポケモン両方のステータス画面にある識別番号のこと

セーブデータ作成時にI8桁の数字*1が生成されている

生成された数字(乱数)の識別番号がID*2 として使われている

  • ゲーム内で確認できる「表ID」ゲーム内では確認できない「裏ID」はID用に生成された乱数を画像のように分割したものである
  • 6桁の「Gen7のID」は「表ID」と「裏ID」を専用の計算式に代入したもの

正規のプレイの範囲では、セーブデータを削除しない限りIDは変更されることはない

[例]ウルトラサンムーンでポケモンを貰った(or捕獲)した場合

http://i.imgur.com/7x2IWWB.pnghttp://i.imgur.com/nJDvCeN.png
ベベノムを貰った場合、貰ったトレーナーの情報(IDと名前)がベベノムのステータス画面にも反映される
共通している000000の数字の部分が識別番号である

  • 参考サイト

wiki.xn--rckteqa2e.com

トレーナーID

トレーナーカードに表示されている5桁もしくは6桁のID(数字)のこと
7世代以降から6桁になり、トレーナーIDを指す対象が表ID6桁IDに変更された

  • 7世代以降の表IDはトレーナーパスからは見えなくなった

トレーナーIDの桁数と名称

世代 桁数 名称
6世代まで 5桁 表ID
7世代以降 6桁 6桁ID、G7TID*3
  • BWのトレーナーカード、XYのトレーナーカード

http://i.imgur.com/nJR15xZ.pnghttp://i.imgur.com/gqqpTsG.png
6世代以前のソフトではIDの横の5桁の数字が該当する

6桁ID(G7TID)

  • ウルトラサンムーンのトレーナーパス

http://i.imgur.com/4JeOc5E.png
7世代以降ではトレーナーパスに記載されているIDは6桁の数字が該当する
この6桁の数字は、後述の裏ID表IDをもとに算出されている

6桁IDの計算式

6桁ID=(裏ID×216+表ID)mod 1000000
mod 数字*4
表ID:12345 裏ID:54321の場合 6桁IDは『993401』となる
(54321×65536)+12345=3,559,993,401

表ID(TID)

  • 4世代のトレーナーカード(プラチナ)

http://i.imgur.com/SmegmxH.png

6世代以前から採用されているトレーナーID
7世代以降では、ゲーム内には表示されなくなった(かわりに6桁IDが表示されている)

裏ID(隠しID、SID)

http://i.imgur.com/SvgUDtz.pnghttp://i.imgur.com/QjavObi.png

表IDが作成された時に一緒に作成されている隠しIDのこと
内部値の一種の為、ゲーム内には表示されない

後述の色違い判定に使われる値の為、色違いの乱数を行う際は把握していることが必須である

(t)sv 「Shiny Value

日本語訳で「光る値」のこと
「t」がつくとトレーナーID、「p」がつくとポケモンが対象になる

出現したポケモン*5 が色違いになるか目視で確認しやすくする為に、
『表ID』と『裏ID』を計算式に代入して、0-4095*6 の範囲で振り分けしている

  • 6世代以降でTSVを使わない場合

http://i.imgur.com/cHY7uJ8.png
性格値や表と裏IDの情報から色違いになるか判断しにくい

  • 6世代以降でTSVを使った場合

http://i.imgur.com/Q1LAwGk.png
『TSV』と『PSV』の数値が一致していれば色違いになるので、目視でも確認しやすい

名称 対象 計算式
tsv トレーナー (TID)xor(SID)の上位12bit
psv ポケモン (性格値4桁)xor(性格値4桁)の上位12bit
esv (性格値上4桁)xor(性格値下4桁)の上位12bit
TSV/PSVの計算例
表ID 12345 裏ID 54321 性格値 0xD4313039

TSV/PSVどちらも、3648の値が共通しているため、6世代以降では色違いとなる
後述のTRV/PRVについては、一致/不一致に関係なく色違いとなる

  • TSV計算例

http://i.imgur.com/xCSswXj.png

  • PSVの計算例

http://i.imgur.com/C5esjdd.png

(t)rv

「Residual Value」の略で、TSV同様に「t」はトレーナーの略
剣盾の色違いエフェクトに影響し、一致すると菱形、不一致だと星形になる

  • 参考サイト

pokemon-memo.blog.jp


性格値(PID)

人間でいう「マイナンバー」的な番号のこと
ポケモン1体1体がもつ 『8桁の数字』*7であり、ポケモンの姿や性格等の決定に使われている

色違い判定の際にIDと性格値を色違いの計算式に代入して、条件を満たせば色違いとなる

正規のプレイの範囲では性格値を変更する手段は存在しない

色違い

http://i.imgur.com/7fYNgsu.png

色違いの決定タイミング

  • 野生など
    • その個体が出現した時*8に判定
  • タマゴの場合
    • 7世代以前
      • 孵化した時点のトレーナーの情報を参照
        別のソフトに送ると色違いではなくなることがある
    • 8世代以降
    • タマゴを受け取った時点のトレーナーの情報を参照
      色違いが確認できれば、別のソフトにタマゴを送っても色違いになる
  • 色違いの確率

光るお守りや国際孵化(マスダメソッド)で確率が上昇する

  • 各世代の色違い確率
世代 確率
5世代以前 1/8192
6世代以降 1/4096
8世代DA*9 3/1000
  • 色違いエフェクトとSV/RV一致条件
- SV RV
一致 不一致
一致 一致
  • 参考サイト

ひかるおまもり - ポケモンWiki
wiki.xn--rckteqa2e.com
増田部長のめざめるパワー

  • 計算式
    • 5世代以前

(TID)xor(SID)xor(性格値上4桁)xor(性格値下4桁)≦7

    • 6世代以降

(TID)xor(SID)xor(性格値上4桁)xor(性格値下4桁)≦15

☆型

http://i.imgur.com/sVKjR78.png
トレーナーとポケモンで「SV」が一致した場合、剣盾では☆の模様で光る(「RV」は不一致)

◇型

http://i.imgur.com/5CKnj69.png
トレーナーとポケモンで「SV」「RV」がどちらも一致した場合、
剣盾では◇の模様で光る

どの世代も基本確率は1/65536である

  • 計算式

(TID)xor(SID)xor(性格値上4桁)xor(性格値下4桁)≦1


補足

色違い確率の主な例外

  • 配信されたポケモン*10が色違いの場合は◇エフェクト確定
  • 剣盾の野生ポケモン(レイドは除く)は◇の確率の方が高い
  • 剣盾のDAの色違い確率0.3%(光るお守りで1%)

暗号化定数(Encryption Key)

性格・性別・パッチール模様の決定などに使われていた性格値ですが、
6世代以降では暗号化定数を参考するようになった

6世代以降の性格値色違い判定のみに使われている

性格値 暗号化定数
5世代以前 色違い判定
性格
性別
パッチール模様
など多数
-
6世代以降 色違い判定 性格
性別
パッチール模様
など多数

TSVの使われ方

TSVが使われるようになった背景に、XY以降の(孵化)乱数調整事情がある

3DSの乱数調整では(初期)seedの進みが速くなり、XY以降の世代では狙って同一の(初期)seedを出すのが困難である

    • (例)seed:ABCD1234を短時間で複数回出すことは不可能

よって、ゲーム内の観測事象から(初期)seedを特定し、seedを進めた先に出現する個体を狙う方法が一般的である

    • (例)XYではキャラの瞬き時間からseedを観測
    • (例)SMではロード針の位置からseedを観測
XYの色孵化

http://i.imgur.com/fmPqvSB.png
乱数調整の仕様が広まっていない黎明期に、孵化するタマゴの解析*11を行うことで
タマゴのESVを特定し、同一の値のTSVを持つプレイヤーと通信交換し孵化してもらうことで、色違いを入手していた
現在は乱数手法開拓・展開やPCの処理機能高速化により孵化乱数は可能ではある

SMの色孵化乱数

固定乱数とは別に 孵化乱数用のseed*12 が使われている
孵化乱数用のseedは3DS本体の電源を切ってもリセットされず、進みも静的である

  • フィールドの描画・NPCの挙動・起動時間などの干渉は受けない

現在位置の把握が容易であり、XYのようにBV解析に頼らなくても乱数調整で目標のSVのタマゴを入手しやすい

しかし、理想個体(6Vなど)+SVの一致したタマゴを入手するには数百数千個のタマゴを受け取る必要がある
その為、複数のTSVを用意しておく必要があり、複数人の間でTSV共有が行われていた

  • TSV共有事例(2022/4/26現在 閲覧のみ)

docs.google.com

BW以前の色孵化乱数

http://i.imgur.com/ATjlC1g.png
ピンポイントで性格値を狙うことが現実的に可能であるため、他のソフトのIDに頼らなくても色違いを孵化することが可能である

注釈

*1:16進数(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f) で8桁

*2:4バイトデータのうち、表IDは下位2バイト、裏IDは上位2バイト※通常プレイでは確認不可

*3:3DSRNGtoolの表記

*4:数字で割った余りの部分

*5:野生・固定シンボル・孵化したポケモンなど

*6:6世代以降の場合

*7:16進数で8桁なので『00000000』~『FFFFFFFF』の約42億通り

*8:個体生成処理時

*9:ダイマックスアドベンチャー

*10:過去作など世代は問わず

*11:任天堂規約違反。内部値を覗く行為

*12:光るお守りなし・国際孵化ではない場合は固定と同じseed