/// <summary> /// Checks if the <see cref="MysteryGift"/> data is compatible with the <see cref="SaveFile"/>. Sets appropriate data to the save file in order to receive the gift. /// </summary> /// <param name="g">Gift data to potentially insert to the save file.</param> /// <param name="sav">Save file receiving the gift data.</param> /// <param name="message">Error message if incompatible.</param> /// <returns>True if compatible, false if incompatible.</returns> public static bool IsCardCompatible(this MysteryGift g, SaveFile sav, out string message) { if (g.Generation != sav.Generation) { message = MsgMysteryGiftSlotSpecialReject; return(false); } if (!sav.CanReceiveGift(g)) { message = MsgMysteryGiftTypeDetails; return(false); } if (g is WC6 && g.CardID == 2048 && g.ItemID == 726) // Eon Ticket (OR/AS) { if (sav is not SAV6AO) { message = MsgMysteryGiftSlotSpecialReject; return(false); } } message = string.Empty; return(true); }