namespace PKHeX.Core { /// /// Contains information about the RNG restrictions for the slot, and any mutated RNG values. /// /// /// When encountering a Wild Pokémon with a lead that has an ability of or , /// the game picks encounters from the that match the type. /// The values in this interface change the to allow different values for slot yielding. /// public interface IMagnetStatic { /// if the lead is int StaticIndex { get; } /// if the lead is int MagnetPullIndex { get; } /// Count of slots in the parent area that can be yielded by int StaticCount { get; } /// Count of slots in the parent area that can be yielded by int MagnetPullCount { get; } } public static class MagnetStaticExtensions { public static bool IsMatchStatic(this IMagnetStatic slot, int index, int count) => index == slot.StaticIndex && count == slot.StaticCount; public static bool IsMatchMagnet(this IMagnetStatic slot, int index, int count) => index == slot.MagnetPullIndex && count == slot.MagnetPullCount; } }