PKHeX/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot4.cs
Kurt 4e01e78734 Make Species/Form/Min/Max readonly, not init
Pass them to the abstract class's constructor
2021-01-01 10:53:05 -08:00

32 lines
1.1 KiB
C#

namespace PKHeX.Core
{
/// <summary>
/// Encounter Slot found in <see cref="GameVersion.Gen4"/>.
/// </summary>
/// <inheritdoc cref="EncounterSlot"/>
public sealed record EncounterSlot4 : EncounterSlot, IMagnetStatic, INumberedSlot, IEncounterTypeTile
{
public override int Generation => 4;
public EncounterType TypeEncounter => ((EncounterArea4)Area).TypeEncounter;
public int StaticIndex { get; }
public int MagnetPullIndex { get; }
public int StaticCount { get; }
public int MagnetPullCount { get; }
public int SlotNumber { get; }
public EncounterSlot4(EncounterArea4 area, int species, int form, int min, int max, int slot, int mpi, int mpc, int sti, int stc) : base(area, species, form, min, max)
{
SlotNumber = slot;
MagnetPullIndex = mpi;
MagnetPullCount = mpc;
StaticIndex = sti;
StaticCount = stc;
}
protected override void SetFormatSpecificData(PKM pk) => ((PK4)pk).EncounterType = TypeEncounter.GetIndex();
}
}