diff --git a/src/controllers/api/placeDecoInComponentController.ts b/src/controllers/api/placeDecoInComponentController.ts index a70b07a1..d8464b94 100644 --- a/src/controllers/api/placeDecoInComponentController.ts +++ b/src/controllers/api/placeDecoInComponentController.ts @@ -63,41 +63,38 @@ export const placeDecoInComponentController: RequestHandler = async (req, res) = guild.VaultShipDecorations!.find(x => x.ItemType == itemType)!.ItemCount -= 1; } } - if (!meta || (meta.price == 0 && meta.ingredients.length == 0) || config.noDecoBuildStage) { - deco.CompletionTime = new Date(); - } else if ( - guild.AutoContributeFromVault && - guild.VaultRegularCredits && - guild.VaultMiscItems && - deco.Type != "/Lotus/Objects/Tenno/Props/TnoPaintBotDojoDeco" - ) { - if (guild.VaultRegularCredits >= scaleRequiredCount(guild.Tier, meta.price)) { - let enoughMiscItems = true; - for (const ingredient of meta.ingredients) { - if ( - getVaultMiscItemCount(guild, ingredient.ItemType) < - scaleRequiredCount(guild.Tier, ingredient.ItemCount) - ) { - enoughMiscItems = false; - break; - } - } - if (enoughMiscItems) { - guild.VaultRegularCredits -= scaleRequiredCount(guild.Tier, meta.price); - deco.RegularCredits = scaleRequiredCount(guild.Tier, meta.price); - - deco.MiscItems = []; + if (deco.Type != "/Lotus/Objects/Tenno/Props/TnoPaintBotDojoDeco") { + if (!meta || (meta.price == 0 && meta.ingredients.length == 0) || config.noDecoBuildStage) { + deco.CompletionTime = new Date(); + } else if (guild.AutoContributeFromVault && guild.VaultRegularCredits && guild.VaultMiscItems) { + if (guild.VaultRegularCredits >= scaleRequiredCount(guild.Tier, meta.price)) { + let enoughMiscItems = true; for (const ingredient of meta.ingredients) { - guild.VaultMiscItems.find(x => x.ItemType == ingredient.ItemType)!.ItemCount -= - scaleRequiredCount(guild.Tier, ingredient.ItemCount); - deco.MiscItems.push({ - ItemType: ingredient.ItemType, - ItemCount: scaleRequiredCount(guild.Tier, ingredient.ItemCount) - }); + if ( + getVaultMiscItemCount(guild, ingredient.ItemType) < + scaleRequiredCount(guild.Tier, ingredient.ItemCount) + ) { + enoughMiscItems = false; + break; + } } + if (enoughMiscItems) { + guild.VaultRegularCredits -= scaleRequiredCount(guild.Tier, meta.price); + deco.RegularCredits = scaleRequiredCount(guild.Tier, meta.price); - deco.CompletionTime = new Date(Date.now() + meta.time * 1000); - processDojoBuildMaterialsGathered(guild, meta); + deco.MiscItems = []; + for (const ingredient of meta.ingredients) { + guild.VaultMiscItems.find(x => x.ItemType == ingredient.ItemType)!.ItemCount -= + scaleRequiredCount(guild.Tier, ingredient.ItemCount); + deco.MiscItems.push({ + ItemType: ingredient.ItemType, + ItemCount: scaleRequiredCount(guild.Tier, ingredient.ItemCount) + }); + } + + deco.CompletionTime = new Date(Date.now() + meta.time * 1000); + processDojoBuildMaterialsGathered(guild, meta); + } } } }