From 8806614c0bc24e6d64539c66592d006a8a65b5c8 Mon Sep 17 00:00:00 2001 From: Manu <52102823+Manu098vm@users.noreply.github.com> Date: Thu, 10 Aug 2023 23:00:23 +0200 Subject: [PATCH] fix wcid editing for entities with null ftid --- SwitchGiftDataManager.Core/Classes/WCManager/WC9.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/SwitchGiftDataManager.Core/Classes/WCManager/WC9.cs b/SwitchGiftDataManager.Core/Classes/WCManager/WC9.cs index 4e5f43b..a4ce776 100644 --- a/SwitchGiftDataManager.Core/Classes/WCManager/WC9.cs +++ b/SwitchGiftDataManager.Core/Classes/WCManager/WC9.cs @@ -130,12 +130,15 @@ public class WC9 : Wondercard if (Type is GiftType9 t9 && t9 is GiftType9.Pokemon) { //Old FullTID - var ftid = BinaryPrimitives.ReadUInt32LittleEndian(Data.AsSpan(TIDOffset)) - (1000000u * (uint)WCID); + var ftid = BinaryPrimitives.ReadUInt32LittleEndian(Data.AsSpan(TIDOffset)); - //Recalculate the TID and SID (FullTID) to account for the new Wondercard ID - BinaryPrimitives.WriteUInt32LittleEndian(Data.AsSpan(TIDOffset), ftid + (1000000u * (uint)wcid)); - - pkEdited = true; + if (ftid != 0) + { + //Recalculate the TID and SID (FullTID) to account for the new Wondercard ID + ftid -= (1000000u * (uint)WCID); + BinaryPrimitives.WriteUInt32LittleEndian(Data.AsSpan(TIDOffset), ftid + (1000000u * (uint)wcid)); + pkEdited = true; + } } //Write the new Wondercard ID