Allow go shiny xor!0

Thanks @Lusamine for bruteforce testing to confirm
This commit is contained in:
Kurt 2020-11-04 20:55:47 -08:00
parent c5b6c20c7b
commit ae85097c2d
2 changed files with 3 additions and 6 deletions

View file

@ -66,10 +66,6 @@ namespace PKHeX.Core
VerifyG5PID_IDCorrelation(data);
break;
case EncounterSlot7GO _ when pkm.IsShiny && pkm.ShinyXor != 0:
data.AddLine(GetInvalid(LEncStaticPIDShiny, CheckIdentifier.Shiny));
break;
case EncounterSlot5 w:
if (w.Area.Type == SlotType.HiddenGrotto && pkm.IsShiny)
data.AddLine(GetInvalid(LG5PIDShinyGrotto, CheckIdentifier.Shiny));

View file

@ -176,9 +176,10 @@ namespace PKHeX.Core
pk.Nature = (int)criteria.GetNature(Nature.Random);
pk.RefreshAbility(criteria.GetAbilityFromType(av, pi));
if (IsShiny) // Force Square
bool isShiny = pk.IsShiny;
if (IsShiny && !isShiny) // Force Square
pk.PID = (uint)(((sav.TID ^ sav.SID ^ (pk.PID & 0xFFFF) ^ 0) << 16) | (pk.PID & 0xFFFF));
else if (pk.IsShiny)
else if (isShiny)
pk.PID ^= 0x1000_0000;
var moves = MoveLevelUp.GetEncounterMoves(pk, Level, GameVersion.GO);