性格値・性別値とID

1.性格値

性格値とは各ポケモンごとに存在する4バイトの数で、これによって性格が決まります。 性格値がとる値は00000000〜FFFFFFFFまで値での下位2バイトがFFFFでない値で4294967296通りになり、この性格値を25で割ったあまりが性格になります。
性格値の由来はこのデータ4バイトすべてを使って判定している一番メジャーなものからですが、個体値・固有値のほうが本質をついてはいます。

あまりと性格の対応表
せいかく せいかく せいかく せいかく せいかく
0 がんばりや 5 ずぶとい 10 おくびょう 15 ひかえめ 20 おだやか
1 さみしがり 6 すなお 11 せっかち 16 おっとり 21 おとなしい
2 ゆうかん 7 のんき 12 まじめ 17 れいせい 22 なまいき
3 いじっぱり 8 わんぱく 13 ようき 18 てれや 23 しんちょう
4 やんちゃ 9 のうてんき 14 むじゃき 19 うっかりや 24 きまぐれ
2.性別値

性別値とは、ポケモンの性別をきめるための1バイト(0〜255)のデータで、性格値の最下位1バイトがこの性別値になります。 前作では性別を攻撃の個体値で判定していましたが今回は違います。
性別を判定するにはポケモンごとにきめられた♂:♀のデータがあり、そのデータの数と比較して小さければ♀、大きければ♂になります(あまり気にしなくて良いです)。

ちなみに、性別不明のポケモンでも性格値があるため必然的に性別値も存在します。
3.ID

IDとは、そのポケモンのトレーナーを識別するために使います。前作までは解説の必要がなかったのですが今作では多少の解説が必要になります。
前作まではIDは0〜65535までの2バイトの値を持つものでしたが、今作では0〜4294967295の4バイトの値を持つようになりました。 しかし、表示されるのは下位2バイト分の0〜65535の65536通りのみで、上位2バイト分はいわゆる隠しIDです。

なぜIDが増えたのかと言うことに関しては推論でしかありませんがIDが65536通りだと少し人を探せば同じIDの人が見つかってしまいその人と交換すれば交換したポケモンも自分のものとして扱ってしまいます。 しかし、約42億通りにも及ぶ数になると全世界のポケモン人口よりも確実に多くなるので同じIDの人を見つけるのはほぼ不可能になるので交換したポケモンをきちんと交換したものとして扱うことができます。
4.その他

性格値・性別値・IDに関して解説してきましたがこれの用途はまだありますので今の時点でわかっているものだけ公開します

☆ とくせいの判定
とくせいが2種類あるポケモンの場合、性格値の下位1bitが0(つまり偶数)なら1つ目、1(奇数)なら2つ目のとくせいになります。
たとえば、ハスボーの場合、性格値が偶数なら「すいすい」、奇数なら「あめうけざら」になります。

☆ ケムッソの進化先判定
ケムッソはカラサリスとマユルドの2種類に進化します。 この2種類のどちらに進化するかと言う判定がこの性格値によって判定されていました。

性格値%10>=5のとき、ケムッソ→カラサリス→アゲハントとなり、
性格値%10<5のとき、ケムッソ→マユルド→ドクケイルとなります。
注:性格値%10とは性格値を10で割ったあまりです。

☆ 色違いの判定
前作までは個体値を使って判定していましたが、今作からは性格値とIDで判定しています。
判定式:
( ( ( (ID上位)xor(ID下位) )xor(性格値上位) )xor(性格値下位) )
が7以下なら色違いになります。
解説するとID上位2バイトとID下位2バイトをxorし、それと性格値上位2バイトをxorし、さらにそれと性格値下位2バイトをxorしたものが7以下なら色違いです。
xorとは排他的論理和のことでビットごとに比較して片方のみが1(もう一方は0)のときのみに1になります。(Windowsの電卓を関数電卓にすればxor演算ができます)

具体例その1:(性格値:DF6503E8  ID:98AE562Fのとき)
ID上位:98AE  ID下位:562F  性格値上位:DF65  性格値下位:03E8となります。
この数を上の式に当てはめると
( ( ( 98AE xor 562F ) xor DF65 ) xor 03E8 ) = 120C > 7
なので色違いではありません。
詳しくは
16進数:( 98AE xor 562F ) = CE81
2進数:( 1001100010101110 xor 0101011000101111 ) = 1100111010000001

16進数:( CE81 xor DF65 ) = 11E4
2進数:( 1100111010000001 xor 1101111101100101 ) = 0001000111100100

16進数:( 11E4 xor 03E8 ) = 120C
2進数:( 0001000111100100 xor 0000001111101000 ) = 0001001000001100

具体例その2:(性格値:AB41  ID:210A8473のとき)
ID上位:210A  ID下位:8473  性格値上位:AB41  性格値下位:0E3Dとなります。
この数を上の式に当てはめると
( ( ( 210A xor 8473 ) xor AB41 ) xor 0E3D ) = 0005 <= 7
なので色違いになります。
詳しくは
16進数:( 210A xor 8473 ) = A579
2進数:( 0010000100001010 xor 1000010001110011 ) = 1010010101111001

16進数:( A579 xor AB41 ) = 0E38
2進数:( 1010010101111001xor 1010101101000001 ) = 0000111000111000

16進数:( 0E38 xor 0E3D ) = 0005
2進数:( 0000111000111000 xor 0000111000111101 ) = 0000000000000101

☆ マボロシじま出現判定
詳しくは小ネタ集を見てね。





2号館トップ     資料集