From 434f162a01b584b4f91546852a33c4b85f07cd1f Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Wed, 28 May 2025 16:07:38 +0100 Subject: [PATCH] Update unclaimed card filter to fallback to any card if all cards are claimed (#452) #451 Reviewed-on: https://git.vylpes.xyz/External/card-drop/pulls/452 Co-authored-by: Ethan Lane Co-committed-by: Ethan Lane --- src/helpers/DropHelpers/GetUnclaimedCardsHelper.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/helpers/DropHelpers/GetUnclaimedCardsHelper.ts b/src/helpers/DropHelpers/GetUnclaimedCardsHelper.ts index 3264a98..94ce894 100644 --- a/src/helpers/DropHelpers/GetUnclaimedCardsHelper.ts +++ b/src/helpers/DropHelpers/GetUnclaimedCardsHelper.ts @@ -39,12 +39,11 @@ export default class GetUnclaimedCardsHelper { const allCards = CoreClient.Cards .flatMap(x => x.cards) .filter(x => x.type == rarity) - .filter(x => !claimedCards.find(y => y.CardNumber == x.id)); + .filter(x => !claimedCards.find(y => y.CardNumber == x.id && y.Quantity > 0)); - if (!allCards) { - AppLogger.LogError("CardDropHelperMetadata/GetRandomCardByRarityUnclaimed", `No cards found to randomise from, User Id: ${userId}, rarity: ${rarity}`); - - return undefined; + if (!allCards || allCards.length == 0) { + // There is no card left unclaimed, fallback to any card + return GetCardsHelper.GetRandomCardByRarity(rarity); }; const randomCardIndex = Math.floor(Math.random() * allCards.length);