diff --git a/apps/api/src/routes/craft.ts b/apps/api/src/routes/craft.ts index 62b8491..88f44ae 100644 --- a/apps/api/src/routes/craft.ts +++ b/apps/api/src/routes/craft.ts @@ -148,11 +148,22 @@ craftRouter.post("/", async(context) => { const bonusType = recipe.bonus.type; const bonusValue = recipe.bonus.value; + const { materials } = state.exploration; + const { + craftedGoldMultiplier, + craftedEssenceMultiplier, + craftedClickMultiplier, + craftedCombatMultiplier, + } = updatedMultipliers; const response: CraftRecipeResponse = { bonusType, bonusValue, + craftedClickMultiplier, + craftedCombatMultiplier, + craftedEssenceMultiplier, + craftedGoldMultiplier, + materials, recipeId, - ...updatedMultipliers, }; return context.json(response); } catch (error) { diff --git a/apps/web/src/context/gameContext.tsx b/apps/web/src/context/gameContext.tsx index 5887e28..786bf69 100644 --- a/apps/web/src/context/gameContext.tsx +++ b/apps/web/src/context/gameContext.tsx @@ -1864,14 +1864,6 @@ export const GameProvider = ({ if (previous?.exploration === undefined) { return previous; } - let materials = [ ...previous.exploration.materials ]; - for (const request of recipe.requiredMaterials) { - materials = materials.map((mat) => { - return mat.materialId === request.materialId - ? { ...mat, quantity: mat.quantity - request.quantity } - : mat; - }); - } return { ...previous, exploration: { @@ -1884,7 +1876,7 @@ export const GameProvider = ({ ...previous.exploration.craftedRecipeIds, recipeId, ], - materials: materials, + materials: result.materials, }, }; }); diff --git a/packages/types/src/interfaces/api.ts b/packages/types/src/interfaces/api.ts index ffd2125..c099839 100644 --- a/packages/types/src/interfaces/api.ts +++ b/packages/types/src/interfaces/api.ts @@ -400,6 +400,7 @@ interface CraftRecipeResponse { craftedEssenceMultiplier: number; craftedClickMultiplier: number; craftedCombatMultiplier: number; + materials: Array<{ materialId: string; quantity: number }>; } interface ForceUnlocksResponse {