2021-08-21 03:53:23 +00:00
|
|
|
|
namespace PKHeX.Core
|
2021-08-21 02:52:31 +00:00
|
|
|
|
{
|
|
|
|
|
public abstract class Encount5 : SaveBlock
|
|
|
|
|
{
|
|
|
|
|
protected Encount5(SAV5 SAV, int offset) : base(SAV) => Offset = offset;
|
|
|
|
|
|
2021-08-21 03:53:23 +00:00
|
|
|
|
public abstract byte SwarmSeed { get; set; }
|
2021-08-21 02:52:31 +00:00
|
|
|
|
public abstract uint SwarmMaxCountModulo { get; }
|
|
|
|
|
|
|
|
|
|
public uint SwarmIndex
|
|
|
|
|
{
|
|
|
|
|
get => SwarmSeed % SwarmMaxCountModulo;
|
2021-08-21 03:53:23 +00:00
|
|
|
|
set => SwarmSeed = (byte)(value % SwarmMaxCountModulo);
|
2021-08-21 02:52:31 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public sealed class Encount5BW : Encount5
|
|
|
|
|
{
|
|
|
|
|
public Encount5BW(SAV5BW SAV, int offset) : base(SAV, offset) { }
|
|
|
|
|
|
2021-08-21 03:53:23 +00:00
|
|
|
|
public override byte SwarmSeed { get => Data[Offset + 0x30]; set => Data[Offset + 0x30] = value; }
|
2021-08-21 02:52:31 +00:00
|
|
|
|
public override uint SwarmMaxCountModulo => 17;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public sealed class Encount5B2W2 : Encount5
|
|
|
|
|
{
|
|
|
|
|
public Encount5B2W2(SAV5B2W2 SAV, int offset) : base(SAV, offset) { }
|
|
|
|
|
|
2021-08-21 03:53:23 +00:00
|
|
|
|
public override byte SwarmSeed { get => Data[Offset + 0x2C]; set => Data[Offset + 0x2C] = value; }
|
2021-08-21 02:52:31 +00:00
|
|
|
|
public override uint SwarmMaxCountModulo => 19;
|
|
|
|
|
}
|
|
|
|
|
}
|