From b7f992319161085f243281cf6f1b2849069dad9f Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Mon, 31 Oct 2016 17:34:29 -0700 Subject: [PATCH] Fix IV ordering for SMTE --- pk3DS/Subforms/SMTE.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pk3DS/Subforms/SMTE.cs b/pk3DS/Subforms/SMTE.cs index 65b4c86..c7ae0a8 100644 --- a/pk3DS/Subforms/SMTE.cs +++ b/pk3DS/Subforms/SMTE.cs @@ -659,18 +659,18 @@ public ushort[] Moves public int EV_HP { get { return Data[0x2]; } set { Data[0x2] = (byte)value; } } public int EV_ATK { get { return Data[0x3]; } set { Data[0x3] = (byte)value; } } public int EV_DEF { get { return Data[0x4]; } set { Data[0x4] = (byte)value; } } - public int EV_SPE { get { return Data[0x7]; } set { Data[0x7] = (byte)value; } } public int EV_SPA { get { return Data[0x5]; } set { Data[0x5] = (byte)value; } } public int EV_SPD { get { return Data[0x6]; } set { Data[0x6] = (byte)value; } } + public int EV_SPE { get { return Data[0x7]; } set { Data[0x7] = (byte)value; } } private uint IV32 { get { return BitConverter.ToUInt32(Data, 0x8); } set { BitConverter.GetBytes(value).CopyTo(Data, 0x8); } } public int IV_HP { get { return (int)(IV32 >> 00) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 00)) | (uint)((value > 31 ? 31 : value) << 00)); } } public int IV_ATK { get { return (int)(IV32 >> 05) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 05)) | (uint)((value > 31 ? 31 : value) << 05)); } } public int IV_DEF { get { return (int)(IV32 >> 10) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 10)) | (uint)((value > 31 ? 31 : value) << 10)); } } - public int IV_SPE { get { return (int)(IV32 >> 15) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 15)) | (uint)((value > 31 ? 31 : value) << 15)); } } - public int IV_SPA { get { return (int)(IV32 >> 20) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 20)) | (uint)((value > 31 ? 31 : value) << 20)); } } - public int IV_SPD { get { return (int)(IV32 >> 25) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 25)) | (uint)((value > 31 ? 31 : value) << 25)); } } + public int IV_SPA { get { return (int)(IV32 >> 15) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 15)) | (uint)((value > 31 ? 31 : value) << 15)); } } + public int IV_SPD { get { return (int)(IV32 >> 20) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 20)) | (uint)((value > 31 ? 31 : value) << 20)); } } + public int IV_SPE { get { return (int)(IV32 >> 25) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 25)) | (uint)((value > 31 ? 31 : value) << 25)); } } public bool Shiny { get { return ((IV32 >> 30) & 1) == 1; } set { IV32 = (uint)((IV32 & ~0x40000000) | (uint)(value ? 0x40000000 : 0)); } } public int[] IVs