From 31c1fc245f5190431c90fa962565b998527da028 Mon Sep 17 00:00:00 2001 From: Sainan Date: Tue, 25 Mar 2025 03:26:32 -0700 Subject: [PATCH] fix: instantly finish free dojo decos (e.g. obstacle course gates) (#1321) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1321 --- .../api/placeDecoInComponentController.ts | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/controllers/api/placeDecoInComponentController.ts b/src/controllers/api/placeDecoInComponentController.ts index cc96a6b8..08f814da 100644 --- a/src/controllers/api/placeDecoInComponentController.ts +++ b/src/controllers/api/placeDecoInComponentController.ts @@ -24,17 +24,25 @@ export const placeDecoInComponentController: RequestHandler = async (req, res) = } component.Decos ??= []; - component.Decos.push({ - _id: new Types.ObjectId(), - Type: request.Type, - Pos: request.Pos, - Rot: request.Rot, - Name: request.Name - }); + const deco = + component.Decos[ + component.Decos.push({ + _id: new Types.ObjectId(), + Type: request.Type, + Pos: request.Pos, + Rot: request.Rot, + Name: request.Name + }) - 1 + ]; const meta = Object.values(ExportDojoRecipes.decos).find(x => x.resultType == request.Type); - if (meta && meta.capacityCost) { - component.DecoCapacity -= meta.capacityCost; + if (meta) { + if (meta.capacityCost) { + component.DecoCapacity -= meta.capacityCost; + } + if (meta.price == 0 && meta.ingredients.length == 0) { + deco.CompletionTime = new Date(); + } } await guild.save();