fix : actually initialize sub_effects
release-tag / release-image (push) Successful in 10s

This commit is contained in:
2024-08-05 19:12:52 +02:00
parent 5e0e0417f2
commit 377ae9c543
2 changed files with 26 additions and 30 deletions
+25 -29
View File
@@ -53,35 +53,33 @@ function createEffectCondition(json, card) {
return createdCondition;
}
function createEffects(card, cardUUID) {
if (card.effects) {
return card.effects.map((e) => {
const createdEffect = {
card: cardUUID,
effect: e.effect,
amount: e.amount ?? 1,
subEffects: [],
times: e.times ?? 1,
per: e.per,
faction: card.faction,
};
if (e.sub_effects) {
createdEffect.subEffects = createEffects(e.sub_effects, cardUUID);
}
function createEffects(effects, card, cardUUID) {
return effects.map((e) => {
const createdEffect = {
card: cardUUID,
effect: e.effect,
amount: e.amount ?? 1,
subEffects: [],
times: e.times ?? 1,
per: e.per,
faction: card.faction,
};
if (e.sub_effects) {
createdEffect.subEffects = createEffects(e.sub_effects, card, cardUUID);
}
if (e.effect_type) {
createdEffect.condition = createEffectCondition(e.effect_type, card);
}
if (e.effect_type) {
createdEffect.condition = createEffectCondition(e.effect_type, card);
}
if (e.mutex) {
createdEffect.mutex = e.mutex.toString();
}
if (e.mutex) {
createdEffect.mutex = e.mutex.toString();
}
const { insertedId } = db.effects.insertOne(createdEffect);
const { insertedId } = db.effects.insertOne(createdEffect);
return insertedId;
});
}
return insertedId;
});
}
function createCard(json, pack, playerIndex) {
@@ -111,10 +109,8 @@ function createCard(json, pack, playerIndex) {
const { insertedId } = db.cards.insertOne(createdCard);
if (json.effects) {
db.cards.updateOne(
{ _id: insertedId },
{ $set: { effects: createEffects(json, insertedId) } }
);
const effects = createEffects(json.effects, json, insertedId);
db.cards.updateOne({ _id: insertedId }, { $set: { effects } });
}
}