Permit alolan champ ribbon from mystery gift

silly world pikachu gift
This commit is contained in:
Kurt 2022-08-11 21:03:08 -07:00
parent 7ad70a04c7
commit b900361ad3

View file

@ -167,9 +167,18 @@ public sealed class RibbonVerifier : Verifier
if (pk is IRibbonSetCommon7 s7)
{
bool inhabited7 = gen <= 7 && !pk.GG;
var iterate = inhabited7 ? GetInvalidRibbons7Any(pk, s7) : GetInvalidRibbonsNone(s7.RibbonBits(), s7.RibbonNames());
foreach (var z in iterate)
yield return z;
if (!inhabited7 && enc is not IRibbonSetCommon7 { RibbonChampionAlola: true })
yield return new RibbonResult(nameof(s7.RibbonChampionAlola));
if (!inhabited7 || !IsAllowedBattleFrontier(pk.Species))
{
if (s7.RibbonBattleRoyale)
yield return new RibbonResult(nameof(s7.RibbonBattleRoyale));
if (s7.RibbonBattleTreeGreat && !pk.USUM && pk.IsUntraded)
yield return new RibbonResult(nameof(s7.RibbonBattleTreeGreat));
if (s7.RibbonBattleTreeMaster)
yield return new RibbonResult(nameof(s7.RibbonBattleTreeMaster));
}
}
if (pk is IRibbonSetCommon3 s3)
{
@ -414,19 +423,6 @@ public sealed class RibbonVerifier : Verifier
yield return result;
}
private static IEnumerable<RibbonResult> GetInvalidRibbons7Any(PKM pk, IRibbonSetCommon7 s7)
{
if (!IsAllowedBattleFrontier(pk.Species))
{
if (s7.RibbonBattleRoyale)
yield return new RibbonResult(nameof(s7.RibbonBattleRoyale));
if (s7.RibbonBattleTreeGreat && !pk.USUM && pk.IsUntraded)
yield return new RibbonResult(nameof(s7.RibbonBattleTreeGreat));
if (s7.RibbonBattleTreeMaster)
yield return new RibbonResult(nameof(s7.RibbonBattleTreeMaster));
}
}
private static IEnumerable<RibbonResult> GetInvalidRibbons8Any(PKM pk, IRibbonSetCommon8 s8, IEncounterTemplate enc, EvolutionHistory evos)
{
if (!CanObtainTowerMaster(evos) && s8.RibbonTowerMaster)