Personality Value
Der Personality Value (dt. Persönlichkeitswert), auch PID (Pokémon ID) genannt, ist ein Wert, der viele Einzelheiten eines Pokémon von Grund auf bestimmt. Er wird in dem Moment festgelegt, in dem das Pokémon dem Originaltrainer zuerst begegnet. Es ist hierbei egal, ob das Pokémon beispielsweise während eines Kampfs im hohen Gras gefangen wurde oder der Spieler es als Ei erhält (beispielsweise durch die Pension). Der Wert wurde mit der 3. Generation eingeführt und ist auch in Generation 6 präsent. Zur Vereinfachung wird die PID in nachfolgenden Rechnungen mit p beschrieben.
Funktionsweise
Die PID wird in einem 32-bit-Integer abgespeichert und kann daher einen Wert zwischen 0 und 232-1=4.294.967.295 haben. Dies wird in einem Binärcode, also ein Code mit Einsen und Nullen, dargestellt. Die einzelnen Bits des Integers werden dann bei der Begegnung zufällig generiert.
Einfluss auf das Spiel
Geschlecht (ab Generation III)
00000000 00000000 00000000 00000000
Das Geschlecht eines Pokémon wird durch die letzten acht Ziffern (oben in rot) der PID bestimmt. Es gilt:
pGeschlecht = p mod
(mod, Modulo: der Rest, der entsteht, wenn man p durch 256 teilt; z. B.3 mod 2=1)
Also kann der Wert zwischen 00000000 (0) und 11111111 (255) liegen. Bei Pokémon von unbekanntem Geschlecht wie Magnetilo ist die Stelle als 11111111 (255) definiert. Bei Pokémon, die in jedem Fall weiblich sind, wie z. B. Nidoran♀, ist er 11111110 und bei rein männlichen, wie Nidoran♂, 00000000. Alle anderen Möglichkeiten sind für Pokémon bestimmt, die beide Geschlechter annehmen können. Wenn der Betrag pGeschlecht gleich oder größer dem Basiswert ist, ist das Pokémon männlich, sonst weiblich.
Basiswert | Wahrscheinlichkeit | ||
---|---|---|---|
binär | dezimal | männlich | weiblich |
11111111 |
255 | unbekanntes Geschlecht | |
11111110 |
254 | 0% | 100% |
11011111 |
223 | 12.5% | 87.5% |
10111111 |
191 | 25% | 75% |
01111111 |
127 | 50% | 50% |
00111111 |
63 | 75% | 25% |
00011111 |
31 | 87.5% | 12.5% |
00000000 |
0 | 100% | 0% |
In der 2. Generation wurde das Geschlecht durch die Determinant Values bestimmt.
Fähigkeiten
Generation III und IV: 00000000 00000000 00000000 00000000
Generation V: 00000000 00000000 00000000 00000000
Jedes Pokémon kann bis zu zwei verschiedene Fähigkeiten haben. Wenn in der dritten und vierten Generation p gerade ist, bekommt das Pokémon die erste, wenn p ungerade ist, die zweite Fähigkeit. Wenn ein Pokémon nur eine einzige mögliche Fähigkeit bekommen kann, die Zahl aber ungerade ist, bekommt es die erste Fähigkeit.
In der fünften Generation wird der Wert abweichend durch das niedrigste Bit der oberen Hälfte bestimmt. Mathematisch lässt sich dieser Wert durch (p / 65536) mod 2 (mit Abrunden) ausdrücken. Auch hier gilt: Wenn der Wert des Bits 0 ist, bekommt das Pokémon die erste Fähigkeit, ansonsten die zweite.
Wenn ein Pokémon einer älteren Generation in eine neuere getauscht wurde, behält es die alte Fähigkeit bei, obwohl dem Pokémon in der neuen Generation eigentlich eine andere zugeschrieben ist. Entwickelt es sich jedoch, bekommt es mit der Entwicklung die neue Fähigkeit. Zum Beispiel kann so ein Porygon2 die Fähigkeit Download erlangen, obwohl das Porygon vorher Fährte hatte.
Die Versteckte Fähigkeit ist in diesen Prozess nicht involviert und wird unabhängig durch ein zusätzliches Bit in der Pokémon-Datei festgelegt. In diesem Fall ist der Wert allerdings immer gerade. Dies könnte daran liegen, dass man vielleicht eine zweite Versteckte Fähigkeit einführen will.
Wesen (nur in Generation III und IV)
In der dritten und vierten Generation wird das Wesen eines Pokémon mit p mod 25 errechnet. Ab der fünften Generation wird das Wesen durch ein eigenes Byte ausgedrückt, das von p unabhängig ist.
p mod 25 | Wesen | p mod 25 | Wesen |
---|---|---|---|
0 | Robust | 13 | Froh |
1 | Solo | 14 | Naiv |
2 | Mutig | 15 | Mäßig |
3 | Hart | 16 | Mild |
4 | Frech | 17 | Ruhig |
5 | Kühn | 18 | Zaghaft |
6 | Sanft | 19 | Hitzig |
7 | Locker | 20 | Still |
8 | Pfiffig | 21 | Zart |
9 | Lasch | 22 | Forsch |
10 | Scheu | 23 | Sacht |
11 | Hastig | 24 | Kauzig |
12 | Ernst |
Shinystatus
00000000 00000000 00000000 00000000
Pokémon können eine besondere Färbung erlangen, diese werden dann als Schillernde Pokémon bezeichnet, welche nur in 1 zu 4096 Fällen auftreten. Dieser spezielle Fall wird abgesehen von p auch von der Trainer ID-Nummer und der Secret ID-Nummer bestimmt. Dafür werden die einzelnen Bits der linken (rot, p1) und der rechten (blau, p2) Hälfte, danach die beiden IDs und danach die Ergebnisse mit der xor-Funktion (Wenn entweder a oder b wahr ist, dann ist c wahr) verglichen.
[math]\mathbf{E} = \text{IDTrainer xor IDSecret} \\ \mathbf{F} = p_{1} \text{xor} p_{2} [/math]
Wenn E xor F (dezimal) kleiner ist als 8 (in Generation III - V) oder 16 (in Generation VI), ist das Pokémon ein Schillerndes.
Beispielhaft nehmen wir einen Spieler, dessen Trainer ID 24294 (binär: 0101111011100110) und Secret ID 38834 (1001011110110010) beträgt. Somit ist E:
[math]\begin{align}\begin{matrix} & 0101111011100110 \\ \text{xor} & 1001011110110010 \\ \hline E= & 1100100101010100 \end{matrix} \end{align}[/math]
Wenn er nun ein Pokémon mit einem PV von 2814471828 (1010011111000001 0110111010010100) fängt, ist F:
[math]\begin{align}\begin{matrix} & 1010011111000001 \\ \text{xor} & 0110111010010100 \\ \hline F= & 1100100101010101 \end{matrix} \end{align}[/math]
Insgesamt erhält man:
[math]\begin{align}\begin{matrix} & 1100100101010100 \\ \text{xor} & 1100100101010101 \\ \hline \text{1 =} & 0000000000000001 \end{matrix} \end{align}[/math]
Der entstandene Wert ist somit kleiner als 16 und damit ist das Beispielpokémon für diesen Trainer ein Schillerndes Pokémon.
Persönlichkeit
Ab der Vierten Spielgeneration haben Pokémon eine Persönlichkeit, die den höchsten DV-Wert anzeigt. Falls mehrere Werte gleich hoch sind, entscheidet die Persönlichkeit, welcher Wert angezeigt wird. Zuerst wird der Wert p mod 6 berechnet. Wenn der erhaltene Wert nicht einer der höchsten ist, wird der Index solange um 1 erhöht, bis dies der Fall ist.
Für weiterführende Informationen siehe DVs.
Index | Statuswert |
---|---|
0 | KP |
1 | Angriff |
2 | Verteidigung |
3 | Initiative |
4 | Spezial-Angriff |
5 | Spezial-Verteidigung |
Pandirs Flecken
00000000 00000000 00000000 00000000
Das Pokémon Pandir trägt vier Flecken auf seinem Fell: Zwei an seinem Gesicht und einen an jedem Ohr. Jedes Byte (8 Bit) von p bestimmt die Position eines Fleckens. Die ersten vier Ziffern jedes Bytes legen (in dezimaler Notation) die x-Koordinate der linken oberen Kante eines Fleckens fest, die letzten dagegen die y-Koordinate. Da es genauso viele Varianten gibt wie die Größe des Integers p, gibt es 4.294.967.296 Variationen.
Icognitos Buchstabe
- dieser Wert gilt nur in der 3. Generation.
00000000 00000000 00000000 00000000
pBuchstabe = 00000000
Die Buchstabenform des Pokémon Icognito wird durch die Kombination der letzten zwei Bits jedes Bytes errechnet:
up = pBuchstabe mod 28
Somit ergeben sich 28 verschiedene Möglichkeiten, bei denen der Wert 0 das A, 1-25 alle anderen Buchstaben, 26 das ? und 27 das ! repräsentieren.
Waumpels Entwicklung
00000000 00000000 00000000 00000000
Die Entwicklung von Waumpel hängt auch von dem PV ab. Dazu werden zuerst die letzten beiden Bytes, also p mod 65536, als pw definiert. Bei der Entwicklung wird dann pw mod 10 bestimmt. Wenn dieser Wert kleiner als 5 ist, wird Waumpel ein Schaloko, wenn er größer oder gleich ist, ein Panekon.
Größe
00000000 00000000 00000000 00000000
In den Generationen III und IV gibt es Charaktere, die besonders große Pokémon sehen wollen. Die Rechnung zur Bestimmung der Größe basiert auf p und den DV-Werten. Wie auch bei der Berechnung des Shinystatus wird hier das Exlusive Oder (xor) benutzt.
Nur die beiden niedrigsten Bytes von p werden verwendet: p1 (oben blau markiert) ist mathematisch ausgedrückt p mod 256, p2 (oben rot markiert) ist (p / 256) mod 256. Auch die DV-Werte werden nicht vollständig genutzt, man verwendet nur die ersten vier Bits: <Statuswert>' = IV<Statuswert> / 16.
Der erste Schritt ist folgender:
[math] \mathbf{s} = \left( \left( \left( \text{Angriff' xor Verteidigung'} \right) \cdot \text{KP'} \right) \text{xor} p_1 \right) \cdot 256 + \left( \left( \left( \text{SpAngriff' xor SpVerteidigung'} \right) \cdot \text{Initiative'} \right) \text{xor} p_2 \right) \cdot 256 [/math]
Nun werden nach folgender Tabelle die Variablen x, y und z bestimmt:
s | 0-9 | -109 | -309 | -709 | -2709 | -7709 | -17709 | -32709 | -47709 | -57709 | -62709 | -64709 | -65209 | -65409 | -65535 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x | 290 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | 1100 | 1200 | 1300 | 1400 | 1500 | 1700 |
y | 1 | 1 | 2 | 4 | 20 | 50 | 100 | 150 | 150 | 100 | 50 | 20 | 5 | 2 | 1 |
z | 0 | 10 | 110 | 310 | 710 | 2710 | 7710 | 17710 | 32710 | 47710 | 57710 | 62710 | 64710 | 65210 | 65510 |
Mit dem letzten Schritt wird jetzt die Höhe in Millimetern bestimmt:
[math]\mathbf{Größe} = \left( \frac{s - z}{y} + x \right) \cdot \frac{h}{10} [/math]
wobei h die Pokédexgröße des Pokémon in Dezimetern ist.
Die Charaktere, die nach großen Pokémon suchen, befinden sich bei