diff --git a/src/calculateTreeQuantity.ts b/src/calculateTreeQuantity.ts index 1eb07c0..3efe2b3 100755 --- a/src/calculateTreeQuantity.ts +++ b/src/calculateTreeQuantity.ts @@ -33,11 +33,8 @@ function calculateTreeQuantityInner( const output = tree.output || 1 // Calculate the total quantity needed - let treeQuantity = amount * tree.quantity - - // Round amount to nearest multiple of the tree output - treeQuantity = Math.ceil(treeQuantity / output) * output - const totalQuantity = Math.round(treeQuantity) + const treeQuantity = amount * tree.quantity + const totalQuantity = treeQuantity // If the item is available and the higher tree is not // bought or already available get as many items of it as possible @@ -55,7 +52,7 @@ function calculateTreeQuantityInner( // Get the amount of components that need to be crafted // e.g. a recipe outputs 10 and we need 20 -> 2x components - const componentAmount = Math.ceil(usedQuantity / output) + const componentAmount = usedQuantity / output // Ignore available items in components if the tree // doesn't get crafted or is completely available anyway diff --git a/tests/__snapshots__/calculateTreeQuantity.spec.ts.snap b/tests/__snapshots__/calculateTreeQuantity.spec.ts.snap index 0205be5..cfd1794 100644 --- a/tests/__snapshots__/calculateTreeQuantity.spec.ts.snap +++ b/tests/__snapshots__/calculateTreeQuantity.spec.ts.snap @@ -165,9 +165,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 1, - "totalQuantity": 1, + "totalQuantity": 0.2, "type": "Item", - "usedQuantity": 1, + "usedQuantity": 0.2, "weekly_purchase_cap": 0, }, Object { @@ -180,9 +180,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 5, - "totalQuantity": 5, + "totalQuantity": 1, "type": "Item", - "usedQuantity": 5, + "usedQuantity": 1, "weekly_purchase_cap": 0, }, ], @@ -201,9 +201,9 @@ Object { }, ], "quantity": 1, - "totalQuantity": 5, + "totalQuantity": 1, "type": "Recipe", - "usedQuantity": 5, + "usedQuantity": 1, "weekly_purchase_cap": 0, } `; @@ -221,9 +221,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 1, - "totalQuantity": 1, + "totalQuantity": 0.8, "type": "Item", - "usedQuantity": 1, + "usedQuantity": 0.8, "weekly_purchase_cap": 0, }, Object { @@ -236,9 +236,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 5, - "totalQuantity": 5, + "totalQuantity": 4, "type": "Item", - "usedQuantity": 5, + "usedQuantity": 4, "weekly_purchase_cap": 0, }, ], @@ -257,9 +257,9 @@ Object { }, ], "quantity": 1, - "totalQuantity": 5, + "totalQuantity": 4, "type": "Recipe", - "usedQuantity": 5, + "usedQuantity": 4, "weekly_purchase_cap": 0, } `; @@ -333,9 +333,9 @@ Object { "output": 10, "prerequisites": Array [], "quantity": 1, - "totalQuantity": 10, + "totalQuantity": 0.5, "type": "Item", - "usedQuantity": 10, + "usedQuantity": 0.5, "weekly_purchase_cap": 0, }, Object { @@ -348,9 +348,9 @@ Object { "output": 5, "prerequisites": Array [], "quantity": 7, - "totalQuantity": 10, + "totalQuantity": 3.5, "type": "Item", - "usedQuantity": 10, + "usedQuantity": 3.5, "weekly_purchase_cap": 0, }, ], @@ -369,9 +369,9 @@ Object { }, ], "quantity": 1, - "totalQuantity": 2, + "totalQuantity": 1, "type": "Recipe", - "usedQuantity": 2, + "usedQuantity": 1, "weekly_purchase_cap": 0, } `; @@ -389,9 +389,9 @@ Object { "output": 10, "prerequisites": Array [], "quantity": 1, - "totalQuantity": 10, + "totalQuantity": 1.5, "type": "Item", - "usedQuantity": 10, + "usedQuantity": 1.5, "weekly_purchase_cap": 0, }, Object { @@ -404,9 +404,9 @@ Object { "output": 5, "prerequisites": Array [], "quantity": 7, - "totalQuantity": 15, + "totalQuantity": 10.5, "type": "Item", - "usedQuantity": 15, + "usedQuantity": 10.5, "weekly_purchase_cap": 0, }, ], @@ -425,9 +425,9 @@ Object { }, ], "quantity": 1, - "totalQuantity": 4, + "totalQuantity": 3, "type": "Recipe", - "usedQuantity": 4, + "usedQuantity": 3, "weekly_purchase_cap": 0, } `; @@ -760,9 +760,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 25, - "totalQuantity": 50, + "totalQuantity": 35, "type": "Item", - "usedQuantity": 50, + "usedQuantity": 35, "weekly_purchase_cap": 0, }, Object { @@ -777,9 +777,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 3, - "totalQuantity": 60, + "totalQuantity": 42, "type": "Item", - "usedQuantity": 60, + "usedQuantity": 42, "weekly_purchase_cap": 0, }, ], @@ -798,9 +798,9 @@ Object { }, ], "quantity": 10, - "totalQuantity": 20, + "totalQuantity": 14, "type": "Recipe", - "usedQuantity": 20, + "usedQuantity": 14, "weekly_purchase_cap": 0, }, Object { @@ -815,9 +815,9 @@ Object { "output": 1, "prerequisites": Array [], "quantity": 2, - "totalQuantity": 16, + "totalQuantity": 11.2, "type": "Item", - "usedQuantity": 16, + "usedQuantity": 11.2, "weekly_purchase_cap": 0, }, ], @@ -836,9 +836,9 @@ Object { }, ], "quantity": 4, - "totalQuantity": 8, + "totalQuantity": 5.6, "type": "Recipe", - "usedQuantity": 8, + "usedQuantity": 5.6, "weekly_purchase_cap": 0, }, ], @@ -857,9 +857,9 @@ Object { }, ], "quantity": 1, - "totalQuantity": 10, + "totalQuantity": 7, "type": "Recipe", - "usedQuantity": 10, + "usedQuantity": 7, "weekly_purchase_cap": 0, } `;