From 90fb0add72b02d3aef8196df26680fd411bb7f01 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 19 Nov 2016 10:21:33 -0800 Subject: [PATCH] Fix EV set --- pk3DS/Structures/PersonalInfo/PersonalInfoXY.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pk3DS/Structures/PersonalInfo/PersonalInfoXY.cs b/pk3DS/Structures/PersonalInfo/PersonalInfoXY.cs index 0fdbcaf..e119207 100644 --- a/pk3DS/Structures/PersonalInfo/PersonalInfoXY.cs +++ b/pk3DS/Structures/PersonalInfo/PersonalInfoXY.cs @@ -44,12 +44,12 @@ public override int[] Types public override int CatchRate { get { return Data[0x08]; } set { Data[0x08] = (byte)value; } } public override int EvoStage { get { return Data[0x09]; } set { Data[0x09] = (byte)value; } } private int EVYield { get { return BitConverter.ToUInt16(Data, 0x0A); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x0A); } } - public override int EV_HP { get { return EVYield >> 0 & 0x3; } set { EVYield = (EVYield & (0x3 << 0)) | (value & 0x3); } } - public override int EV_ATK { get { return EVYield >> 2 & 0x3; } set { EVYield = (EVYield & (0x3 << 2)) | (value & 0x3); } } - public override int EV_DEF { get { return EVYield >> 4 & 0x3; } set { EVYield = (EVYield & (0x3 << 4)) | (value & 0x3); } } - public override int EV_SPE { get { return EVYield >> 6 & 0x3; } set { EVYield = (EVYield & (0x3 << 6)) | (value & 0x3); } } - public override int EV_SPA { get { return EVYield >> 8 & 0x3; } set { EVYield = (EVYield & (0x3 << 8)) | (value & 0x3); } } - public override int EV_SPD { get { return EVYield >> 10 & 0x3; } set { EVYield = (EVYield & (0x3 << 10)) | (value & 0x3); } } + public override int EV_HP { get { return EVYield >> 0 & 0x3; } set { EVYield = (EVYield & ~(0x3 << 0)) | (value & 0x3) << 0; } } + public override int EV_ATK { get { return EVYield >> 2 & 0x3; } set { EVYield = (EVYield & ~(0x3 << 2)) | (value & 0x3) << 2; } } + public override int EV_DEF { get { return EVYield >> 4 & 0x3; } set { EVYield = (EVYield & ~(0x3 << 4)) | (value & 0x3) << 4; } } + public override int EV_SPE { get { return EVYield >> 6 & 0x3; } set { EVYield = (EVYield & ~(0x3 << 6)) | (value & 0x3) << 6; } } + public override int EV_SPA { get { return EVYield >> 8 & 0x3; } set { EVYield = (EVYield & ~(0x3 << 8)) | (value & 0x3) << 8; } } + public override int EV_SPD { get { return EVYield >> 10 & 0x3; } set { EVYield = (EVYield & ~(0x3 << 10)) | (value & 0x3) << 10; } } public override int[] Items { get { return new int[] { BitConverter.ToInt16(Data, 0xC), BitConverter.ToInt16(Data, 0xE), BitConverter.ToInt16(Data, 0x10) }; }