private void VerifyAwakenedValues(LegalityAnalysis data, IAwakened awakened) { var pk = data.Entity; int sum = pk.EVTotal; if (sum != 0) { data.AddLine(GetInvalid(LEffortShouldBeZero)); } if (!awakened.AwakeningAllValid()) { data.AddLine(GetInvalid(LAwakenedCap)); } var enc = data.EncounterMatch; // go park transfers have 2 AVs for all stats. if (enc is EncounterSlot7GO) { Span <byte> avs = stackalloc byte[6]; awakened.GetAVs(avs); foreach (var av in avs) { if (av >= 2) { continue; } data.AddLine(GetInvalid(string.Format(LAwakenedShouldBeValue, 2))); break; } return; } if (awakened.AwakeningSum() == 0 && !enc.IsWithinEncounterRange(pk)) { data.AddLine(Get(LAwakenedEXPIncreased, Severity.Fishy)); } }