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; return createdCondition;
} }
function createEffects(card, cardUUID) { function createEffects(effects, card, cardUUID) {
if (card.effects) { return effects.map((e) => {
return card.effects.map((e) => { const createdEffect = {
const createdEffect = { card: cardUUID,
card: cardUUID, effect: e.effect,
effect: e.effect, amount: e.amount ?? 1,
amount: e.amount ?? 1, subEffects: [],
subEffects: [], times: e.times ?? 1,
times: e.times ?? 1, per: e.per,
per: e.per, faction: card.faction,
faction: card.faction, };
}; if (e.sub_effects) {
if (e.sub_effects) { createdEffect.subEffects = createEffects(e.sub_effects, card, cardUUID);
createdEffect.subEffects = createEffects(e.sub_effects, cardUUID); }
}
if (e.effect_type) { if (e.effect_type) {
createdEffect.condition = createEffectCondition(e.effect_type, card); createdEffect.condition = createEffectCondition(e.effect_type, card);
} }
if (e.mutex) { if (e.mutex) {
createdEffect.mutex = e.mutex.toString(); 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) { function createCard(json, pack, playerIndex) {
@@ -111,10 +109,8 @@ function createCard(json, pack, playerIndex) {
const { insertedId } = db.cards.insertOne(createdCard); const { insertedId } = db.cards.insertOne(createdCard);
if (json.effects) { if (json.effects) {
db.cards.updateOne( const effects = createEffects(json.effects, json, insertedId);
{ _id: insertedId }, db.cards.updateOne({ _id: insertedId }, { $set: { effects } });
{ $set: { effects: createEffects(json, insertedId) } }
);
} }
} }