handle dojo deco being moved

This commit is contained in:
Sainan 2025-04-03 18:42:33 +02:00
parent 9b8c4beb8f
commit 5e6d958358

View File

@ -24,26 +24,31 @@ export const placeDecoInComponentController: RequestHandler = async (req, res) =
} }
component.Decos ??= []; component.Decos ??= [];
const deco = if (request.MoveId) {
component.Decos[ const deco = component.Decos.find(x => x._id.equals(request.MoveId))!;
component.Decos.push({ deco.Pos = request.Pos;
_id: new Types.ObjectId(), deco.Rot = request.Rot;
Type: request.Type, } else {
Pos: request.Pos, const deco =
Rot: request.Rot, component.Decos[
Name: request.Name, component.Decos.push({
Sockets: request.Sockets _id: new Types.ObjectId(),
}) - 1 Type: request.Type,
]; Pos: request.Pos,
Rot: request.Rot,
const meta = Object.values(ExportDojoRecipes.decos).find(x => x.resultType == request.Type); Name: request.Name,
if (meta) { Sockets: request.Sockets
if (meta.capacityCost) { }) - 1
component.DecoCapacity -= meta.capacityCost; ];
const meta = Object.values(ExportDojoRecipes.decos).find(x => x.resultType == request.Type);
if (meta) {
if (meta.capacityCost) {
component.DecoCapacity -= meta.capacityCost;
}
}
if (!meta || (meta.price == 0 && meta.ingredients.length == 0)) {
deco.CompletionTime = new Date();
} }
}
if (!meta || (meta.price == 0 && meta.ingredients.length == 0)) {
deco.CompletionTime = new Date();
} }
await guild.save(); await guild.save();
@ -58,4 +63,6 @@ interface IPlaceDecoInComponentRequest {
Rot: number[]; Rot: number[];
Name?: string; Name?: string;
Sockets?: number; Sockets?: number;
Scale?: number; // only provided alongside MoveId and seems to always be 1
MoveId?: string;
} }