using System; namespace PKHeX.Core { public sealed class BattleSubway5 : SaveBlock { public BattleSubway5(SAV5BW sav, int offset) : base(sav) => Offset = offset; public BattleSubway5(SAV5B2W2 sav, int offset) : base(sav) => Offset = offset; public int BP { get => BitConverter.ToUInt16(Data, Offset); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset); } // Normal public int SinglePast { get => BitConverter.ToUInt16(Data, Offset + 0x08); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x08); } public int SingleRecord { get => BitConverter.ToUInt16(Data, Offset + 0x1A); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x1A); } public int DoublePast { get => BitConverter.ToUInt16(Data, Offset + 0x0A); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x0A); } public int DoubleRecord { get => BitConverter.ToUInt16(Data, Offset + 0x1C); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x1C); } public int MultiNPCPast { get => BitConverter.ToUInt16(Data, Offset + 0x0C); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x0C); } public int MultiNPCRecord { get => BitConverter.ToUInt16(Data, Offset + 0x1E); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x1E); } public int MultiFriendsPast { get => BitConverter.ToUInt16(Data, Offset + 0x0E); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x0E); } public int MultiFriendsRecord { get => BitConverter.ToUInt16(Data, Offset + 0x20); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x20); } // Super Check public int SuperCheck { get => Data[Offset + 0x04]; set => Data[Offset + 0x04] = (byte)value; } // Super public int SuperSinglePast { get => BitConverter.ToUInt16(Data, Offset + 0x12); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x12); } public int SuperSingleRecord { get => BitConverter.ToUInt16(Data, Offset + 0x24); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x24); } public int SuperDoublePast { get => BitConverter.ToUInt16(Data, Offset + 0x14); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x14); } public int SuperDoubleRecord { get => BitConverter.ToUInt16(Data, Offset + 0x26); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x26); } public int SuperMultiNPCPast { get => BitConverter.ToUInt16(Data, Offset + 0x16); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x16); } public int SuperMultiNPCRecord { get => BitConverter.ToUInt16(Data, Offset + 0x28); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x28); } public int SuperMultiFriendsPast { get => BitConverter.ToUInt16(Data, Offset + 0x18); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x18); } public int SuperMultiFriendsRecord { get => BitConverter.ToUInt16(Data, Offset + 0x2A); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Offset + 0x2A); } // TODO: Wifi?? } }