暗号化定数
暗号化定数(あんごうかていすう、英:Encryption Constant)は、ポケモンの個体ごとに存在する隠しパラメータの一種の俗称。32ビット(4バイト)の値で、範囲は0から4,294,967,295(16進法で0x00000000~0xFFFFFFFF)。初出は『ポケットモンスター ルビー・サファイア』であるが、第三世代から第五世代では、当パラメータは性格値(せいかくち、英:Personality value、PID)と呼ばれていた。本項目では第三世代から第五世代における性格値も、暗号化定数という用語を使い説明する。
あらかじめ値が指定されている一部の「ふしぎなおくりもの」のような特殊なケースを除けば、暗号化定数はポケモンが出現するとき、ゲーム内イベントで手に入れるときに決まり、基本的に後から変える手段は存在しない。
なお、第六世代以降における性格値は暗号化定数とは別の色違いに関係する独立した隠しパラメータを示す[1]。第五世代から第六世代にポケモンを送る際、暗号化定数から第六世代以降における性格値に同一値がコピーされる。
第六世代以降における性格値を利用した色違いの判定については、色違いを参照。
値の性質
各世代に特有の性質を解説する。
第三世代
イベント入手、野生、固定シンボルの暗号化定数は、連続した疑似乱数2つの上位2バイトから生成される。このような仕様と第三世代の疑似乱数発生器の性質上、4,294,967,296通りすべての値が実現することはない。例えば、0x00000015は実現不可能である。なお、育て屋で貰うタマゴと違い、0x00000000と0xFFFFFFFFは実現しうる。
ルビー・サファイアとファイアレッド・リーフグリーンの育て屋でもらうタマゴの暗号化定数の下位2バイトは、タマゴが発見されたときに決まり、仕様上0x0000と0xFFFFになることはない。上位2バイトは受け取るときに決まる。このような仕様から、0x00000001から0xFFFFFFFEのうち下位2バイトが0x0000か0xFFFFになるパターンを除外した4,294,836,224通りが、実際に実現しうる暗号化定数のパターンとなる。
エメラルドでは、タマゴが発見された時点で暗号化定数全体が確定する[2]。預けたメスのポケモンかメタモンがかわらずのいしを持っていると、50%の確率で石を持っている方の性格が子に遺伝する。かわらずのいしの効果が発揮された場合のみ、暗号化定数の下位2バイトが0x0000および0xFFFFになることもありうる。ただし、石を持った親の性格が「がんばりや」で下位2バイトと同時に上位2バイトも0x0000(つまり暗号化定数が0x00000000)になる場合は、親と同じ性格という条件を満たしているにもかかわらず例外として再計算され、暗号化定数が0x00000000になることはない。
役割
暗号化定数が何に利用されるかは、世代ごとに異なっている。
第三世代 | 第四世代 | 第五世代 | 第六世代以降 | |
---|---|---|---|---|
性格 | ✓ | ✓ | ||
性別 | ✓ | ✓ | ✓ | |
特性 | ✓ | ✓ | ✓ | |
個性 | ✓ | ✓ | ✓ | |
色違いの判定 | ✓ | ✓ | ✓ | |
体のサイズ | ✓ | ✓ | ||
アンノーンの姿 | ✓ | |||
ポケモンの進化先・進化先のフォルム※ | ✓ | ✓ | ✓ | ✓ |
パッチールの模様 | ✓ | ✓ | ✓ | ✓ |
ポケスロンのパフォーマンス限界値補正 | ✓ |
- ※暗号化定数により、(第三世代以降)においてケムッソの進化先が決定される。また、(第九世代以降)においてノコッチ・ワッカネズミの進化先のフォルムが決定される。
- 第六世代以降において、第六世代以降における性格値は色違いの判定に利用される。詳細は色違いを参照。
性格
第三世代および第四世代における性格は、暗号化定数を25で割った余りの数によって決定される。
余り | 性格 |
---|---|
0 | がんばりや |
1 | さみしがり |
2 | ゆうかん |
3 | いじっぱり |
4 | やんちゃ |
5 | ずぶとい |
6 | すなお |
7 | のんき |
8 | わんぱく |
9 | のうてんき |
10 | おくびょう |
11 | せっかち |
12 | まじめ |
13 | ようき |
14 | むじゃき |
15 | ひかえめ |
16 | おっとり |
17 | れいせい |
18 | てれや |
19 | うっかりや |
20 | おだやか |
21 | おとなしい |
22 | なまいき |
23 | しんちょう |
24 | きまぐれ |
性別
第三世代から第五世代までにおける性別は、暗号化定数の下位8ビット(通称:性別値。範囲は0から255、16進法で0x00~0xFF)と、ポケモンの種類ごとに設定されている「性別を決めるための閾値」の2つによって決まる。性別値が閾値より小さければメス、閾値以上であればオスとなる。片方の性別しか存在しない種類、性別不明の種類のポケモンの性別は、この値の影響を受けない。
比率設定 | 閾値 | ♂ | ♀ | 実際の♀率 |
---|---|---|---|---|
♂25% ♀75% | 191 | 191~255 | 0~190 | 191/256 (74.61%) |
♂50% ♀50% | 127 | 127~255 | 0~126 | 127/256 (49.61%) |
♂75% ♀25% | 63 | 63~255 | 0~62 | 63/256 (24.61%) |
♂87.5% ♀12.5% | 31 | 31~255 | 0~30 | 31/256 (12.11%) |
前述のとおり、暗号化定数は不変で性別値は暗号化定数の一部であるため、「性別を決めるための閾値」が進化の前後で異なるルリリ(閾値:191)とマリル(閾値:127)においては、メスのルリリが進化してオスのマリルになるというケースが存在する。
特性
第三世代および第四世代において、特性(とくせい)が2種類存在するポケモンの特性は、暗号化定数の最下位ビット(下記に青色で示している)が0なら特性1、1なら特性2となる。言い換えれば、暗号化定数が偶数であれば特性1、奇数であれば特性2。 第五世代では、bit16(右から17番目のビット、赤色で示している)が0なら特性1、1なら特性2となる。
第三世代/第四世代: 00000000 00000000 00000000 00000000
第五世代 : 00000000 00000000 00000000 00000000
こせい
こせい(個性)は最も高い個体値を示した値。最も高い個体値が複数存在するときの個性の決定に暗号化定数が使われる。詳しくはこせいを参照。
色違い
アンノーンの姿
第三世代におけるアンノーンは、暗号化定数と姿が連動している。
00000000 00000000 00000000 00000000
F = 00000000
暗号化定数を8ビットずつに区切り、それぞれの下位2ビットのみを取り出してを並べる。 この8ビットの値Fを28で割った余りの数に対応した姿になる。
余り | 姿 |
---|---|
0 | A |
1 | B |
2 | C |
3 | D |
4 | E |
5 | F |
6 | G |
7 | H |
8 | I |
9 | J |
10 | K |
11 | L |
12 | M |
13 | N |
14 | O |
15 | P |
16 | Q |
17 | R |
18 | S |
19 | T |
20 | U |
21 | V |
22 | W |
23 | X |
24 | Y |
25 | Z |
26 | ! |
27 | ? |
ポケモンの進化先・進化先のフォルム
暗号化定数により、ケムッソの進化先、ノコッチとワッカネズミの進化先のフォルムが決定される。
ケムッソの進化先
ケムッソの進化先は、暗号化定数の上位16ビットを10で割った余りで決定される。余りが4以下ならカラサリス、5以上ならマユルドに進化する。
ノコッチとワッカネズミの進化先のフォルム
第九世代ではノコッチとワッカネズミの進化先のフォルムが暗号化定数を100で割った余りで決定される。余りが0の場合、ノコッチはノココッチ(みつふしフォルム)に、ワッカネズミはイッカネズミ(3びきかぞく)に進化する。それ以外の場合、ノコッチはノココッチ(ふたふしフォルム)に、ワッカネズミはイッカネズミ(4ひきかぞく)に進化する[3]。
パッチールの模様
パッチールの暗号化定数は、4か所のぶち模様の位置を決めるためにも使われる。模様一か所につき8ビットが割り当てられ、8ビットのうちの下位4ビットがx座標、上位4ビットがy座標を司る。
bit0-7(黄色で強調された部分)が左上の模様、bit8-15(緑で強調された部分)が右上の模様、bit16-23(青で強調された部分が左下の模様、bit24-31(赤で強調された部分)が右下の模様の座標となる。
00000000 00000000 00000000 00000000
表示領域がパッチールの顔部分に重ならない場合や模様が重複する場合もあるため、外見上のパターンは4,294,967,296通りよりも少ない。
ブリリアントダイヤモンド・シャイニングパールのみ暗号化定数がビッグエンディアンで読み込まれているため、bit0-7が右下、bit8-15が左下、bit16-23が右上、bit24-31が左上の模様の座標になっている[4]。
ポケモンのサイズ
- サイズ参照
マボロシじま
- マボロシじま参照
備考
- 第三世代から第五世代における当パラメータを示した用語としての「性格値」は、解析情報サイト「ポケットモンスター情報センター 2号館」で用いられていたものが広まり定着したものと思われる。
- バーチャルコンソール版の初代及び金銀からポケムーバーで転送した場合、経験値を25で割った余りによって性格が決定される。その法則は暗号化定数の場合と同様である。
脚注
- ↑ このように、性格値は世代により示すパラメータの内容が変化した、混乱を招きやすい用語となっている。
- ↑ これを利用したのが、いわゆる爺前固定。
- ↑ Kurt (@Kaphotics) - Twitter、2022年11月27日投稿。
- ↑ Atrius (@Atrius97) - Twitter、2022年3月6日投稿。