mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-27 13:52:14 -05:00
parent
c07a36c333
commit
84cc366803
|
|
@ -178,7 +178,7 @@ public CK3(byte[] decryptedData = null, string ident = null)
|
|||
public override int AbilityNumber { get => 1 << Data[0xCC]; set => Data[0xCC] = (byte)((value >> 1) & 1); }
|
||||
public override bool Valid { get => Data[0xCD] == 0; set { if (value) Data[0xCD] = 0; } }
|
||||
// 0xCE unknown
|
||||
public override int MarkValue { get => Data[0xCF]; protected set => Data[0xCF] = (byte)value; }
|
||||
public override int MarkValue { get => SwapBits(Data[0xCF], 1, 2); protected set => Data[0xCF] = (byte)SwapBits(value, 1, 2); }
|
||||
public override int PKRS_Days { get => Math.Max((sbyte)Data[0xD0], (sbyte)0); set => Data[0xD0] = (byte)(value == 0 ? 0xFF : value & 0xF); }
|
||||
public int ShadowID { get => BigEndian.ToUInt16(Data, 0xD8); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0xD8); }
|
||||
public int Purification { get => BigEndian.ToInt32(Data, 0xDC); set => BigEndian.GetBytes(value).CopyTo(Data, 0xDC); }
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public PK3(byte[] decryptedData = null, string ident = null)
|
|||
public override string Nickname { get => GetString(0x08, 10); set => SetString(IsEgg ? "タマゴ" : value, 10).CopyTo(Data, 0x08); }
|
||||
public override int Language { get => BitConverter.ToUInt16(Data, 0x12) & 0xFF; set => BitConverter.GetBytes((ushort)(IsEgg ? 0x601 : value | 0x200)).CopyTo(Data, 0x12); }
|
||||
public override string OT_Name { get => GetString(0x14, 7); set => SetString(value, 7).CopyTo(Data, 0x14); }
|
||||
public override int MarkValue { get => Data[0x1B]; protected set => Data[0x1B] = (byte)value; }
|
||||
public override int MarkValue { get => SwapBits(Data[0x1B], 1, 2); protected set => Data[0x1B] = (byte)SwapBits(value, 1, 2); }
|
||||
public override ushort Checksum { get => BitConverter.ToUInt16(Data, 0x1C); set => BitConverter.GetBytes(value).CopyTo(Data, 0x1C); }
|
||||
public override ushort Sanity { get => BitConverter.ToUInt16(Data, 0x1E); set => BitConverter.GetBytes(value).CopyTo(Data, 0x1E); }
|
||||
|
||||
|
|
|
|||
|
|
@ -333,6 +333,14 @@ public int GenNumber
|
|||
public int MarkHeart { get => Markings[3]; set { var marks = Markings; marks[3] = value; Markings = marks; } }
|
||||
public int MarkStar { get => Markings[4]; set { var marks = Markings; marks[4] = value; Markings = marks; } }
|
||||
public int MarkDiamond { get => Markings[5]; set { var marks = Markings; marks[5] = value; Markings = marks; } }
|
||||
protected int SwapBits(int n, int p1, int p2)
|
||||
{
|
||||
int bit1 = (n >> p1) & 1;
|
||||
int bit2 = (n >> p2) & 1;
|
||||
int x = bit1 ^ bit2;
|
||||
x = (x << p1) | (x << p2);
|
||||
return n ^ x;
|
||||
}
|
||||
public string ShowdownText => ShowdownSet.GetShowdownText(this);
|
||||
public string[] QRText => this.GetQRLines();
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public XK3(byte[] decryptedData = null, string ident = null)
|
|||
public override int Stat_Level { get => Data[0x11]; set => Data[0x11] = (byte)value; }
|
||||
public override int CNT_Sheen { get => Data[0x12]; set => Data[0x12] = (byte)value; }
|
||||
public override int PKRS_Strain { get => Data[0x13] & 0xF; set => Data[0x13] = (byte)(value & 0xF); }
|
||||
public override int MarkValue { get => Data[0x14]; protected set => Data[0x14] = (byte)value; }
|
||||
public override int MarkValue { get => SwapBits(Data[0x14], 1, 2); protected set => Data[0x14] = (byte)SwapBits(value, 1, 2); }
|
||||
public override int PKRS_Days { get => Math.Max((sbyte)Data[0x15], (sbyte)0); set => Data[0x15] = (byte)(value == 0 ? 0xFF : value & 0xF); }
|
||||
// 0x16-0x1C Battle Related
|
||||
private int XDPKMFLAGS { get => Data[0x1D]; set => Data[0x1D] = (byte)value; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user