mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-09-13 14:55:16 -05:00
Misc ec/pid tweaks
use the encryption constant (pk3-5 return PID on get), fix gen4 using gen5 correlation
This commit is contained in:
@@ -2438,9 +2438,8 @@ private void updateRandomEC(object sender, EventArgs e)
|
||||
uint evoVal;
|
||||
switch (pkm.GenNumber)
|
||||
{
|
||||
case 3: evoVal = pkm.PID & 0xFFFF; break;
|
||||
case 4:
|
||||
case 5: evoVal = pkm.PID >> 16; break;
|
||||
case 3: evoVal = pkm.EncryptionConstant & 0xFFFF; break;
|
||||
default: evoVal = pkm.EncryptionConstant >> 16; break;
|
||||
}
|
||||
evoVal = evoVal%10/5;
|
||||
|
||||
@@ -92,7 +92,7 @@ private void verifyGender()
|
||||
if (!PIDNature)
|
||||
return;
|
||||
|
||||
if (pkm.PID % 25 == pkm.Nature)
|
||||
if (pkm.EncryptionConstant % 25 == pkm.Nature)
|
||||
AddLine(Severity.Valid, V252, CheckIdentifier.Nature);
|
||||
else
|
||||
AddLine(Severity.Invalid, V253, CheckIdentifier.Nature);
|
||||
@@ -152,9 +152,8 @@ private void verifyECPIDWurmple()
|
||||
uint evoVal;
|
||||
switch (pkm.GenNumber)
|
||||
{
|
||||
case 3: evoVal = pkm.PID & 0xFFFF; break;
|
||||
case 4:
|
||||
case 5: evoVal = pkm.PID >> 16; break;
|
||||
case 3: evoVal = pkm.EncryptionConstant & 0xFFFF; break;
|
||||
default: evoVal = pkm.EncryptionConstant >> 16; break;
|
||||
}
|
||||
evoVal = evoVal%10/5;
|
||||
|
||||
@@ -17,9 +17,7 @@ public static PIDIV Analyze(PKM pk)
|
||||
{
|
||||
if (pk.Format < 3)
|
||||
return AnalyzeGB(pk);
|
||||
var pid = pk.Format >= 6 && pk.GenNumber >= 3 && pk.GenNumber < 6
|
||||
? pk.EncryptionConstant // use unmodified PID, quicker than checking if bit was flipped
|
||||
: pk.PID; // use actual PID
|
||||
var pid = pk.EncryptionConstant;
|
||||
|
||||
var top = pid >> 16;
|
||||
var bot = pid & 0xFFFF;
|
||||
|
||||
Reference in New Issue
Block a user