From e922a73fa1e6184ecf2ab10880b198f936e7424e Mon Sep 17 00:00:00 2001 From: Mikayla Dobson Date: Tue, 16 Aug 2022 12:48:05 -0500 Subject: [PATCH] to do: differentiate between gold for purchase vs. held card for purchase --- .../Player/ActionMethods/buyCardActions.ts | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/components/Player/ActionMethods/buyCardActions.ts b/src/components/Player/ActionMethods/buyCardActions.ts index 4eca4d8..2d9dc6c 100644 --- a/src/components/Player/ActionMethods/buyCardActions.ts +++ b/src/components/Player/ActionMethods/buyCardActions.ts @@ -62,28 +62,27 @@ export const buyCard = (state: AppState, setState: setStateType, card: CardData) let cardCostPointer = cardCost[typedKey] || 0; let goldToReturn = 0; - // @ts-ignore - while (cardCostPointer > tempPlayerInventory) { + while (cardCostPointer > tempPlayerInventory && availableGold > 0) { availableGold--; goldToReturn++; tempPlayerInventory++; } - while (cardCostPointer > 0) { - if (tempPlayerInventory === 0) { - availableGold--; - goldToReturn++; - } else { - tempPlayerInventory--; - tempResourcePool++; - } - + while (goldToReturn) { + goldToReturn--; cardCostPointer--; + tempPlayerInventory--; + newResourcePool['gold'] && newResourcePool['gold']++; } - newResourcePool[typedKey] = tempResourcePool - goldToReturn; - newResourcePool['gold'] = (newResourcePool['gold'] || 0) + goldToReturn; - updatedPlayer.inventory[typedKey] = tempPlayerInventory - goldToReturn; + while (cardCostPointer > 0) { + cardCostPointer--; + tempPlayerInventory--; + tempResourcePool++; + } + + newResourcePool[typedKey] = tempResourcePool; + updatedPlayer.inventory[typedKey] = tempPlayerInventory; updatedPlayer.inventory['gold'] = availableGold; } @@ -128,6 +127,8 @@ export const buyCard = (state: AppState, setState: setStateType, card: CardData) } }); + console.log(state.players); + // iterates through gameboard nobles to determine if any can be acquired for (let noble of state.gameboard.nobles) { const previousPlayer = usePreviousPlayer(state);