fix: instantly finish free dojo decos (e.g. obstacle course gates) #1321

Merged
Sainan merged 1 commits from decos-fix into main 2025-03-25 03:26:33 -07:00

View File

@ -24,18 +24,26 @@ export const placeDecoInComponentController: RequestHandler = async (req, res) =
} }
component.Decos ??= []; component.Decos ??= [];
const deco =
component.Decos[
component.Decos.push({ component.Decos.push({
_id: new Types.ObjectId(), _id: new Types.ObjectId(),
Type: request.Type, Type: request.Type,
Pos: request.Pos, Pos: request.Pos,
Rot: request.Rot, Rot: request.Rot,
Name: request.Name Name: request.Name
}); }) - 1
];
const meta = Object.values(ExportDojoRecipes.decos).find(x => x.resultType == request.Type); const meta = Object.values(ExportDojoRecipes.decos).find(x => x.resultType == request.Type);
if (meta && meta.capacityCost) { if (meta) {
if (meta.capacityCost) {
component.DecoCapacity -= meta.capacityCost; component.DecoCapacity -= meta.capacityCost;
} }
if (meta.price == 0 && meta.ingredients.length == 0) {
deco.CompletionTime = new Date();
}
}
await guild.save(); await guild.save();
res.json(await getDojoClient(guild, 0, component._id)); res.json(await getDojoClient(guild, 0, component._id));