From 3859a2fb71a8e1d01ae5ffacd97c1caf12da931e Mon Sep 17 00:00:00 2001 From: kvacquier Date: Sat, 24 May 2025 15:31:22 +0200 Subject: [PATCH] Fix : Basic Energies and standard legal + repair special energies status from SV Block (#710) Co-authored-by: Kevin Vacquier --- data/Scarlet & Violet/Journey Together/159.ts | 2 +- data/Scarlet & Violet/Journey Together/190.ts | 2 +- data/Scarlet & Violet/Paldea Evolved/190.ts | 2 +- data/Scarlet & Violet/Paldea Evolved/191.ts | 2 +- data/Scarlet & Violet/Paldea Evolved/192.ts | 2 +- data/Scarlet & Violet/Paldea Evolved/193.ts | 2 +- data/Scarlet & Violet/Paradox Rift/182.ts | 2 +- data/Scarlet & Violet/Surging Sparks/191.ts | 2 +- data/Scarlet & Violet/Surging Sparks/252.ts | 2 +- data/Scarlet & Violet/Temporal Forces/161.ts | 2 +- data/Scarlet & Violet/Temporal Forces/162.ts | 2 +- data/Scarlet & Violet/Twilight Masquerade/166.ts | 2 +- data/Scarlet & Violet/Twilight Masquerade/167.ts | 2 +- data/Scarlet & Violet/Twilight Masquerade/226.ts | 2 +- server/compiler/utils/util.ts | 5 ++++- 15 files changed, 18 insertions(+), 15 deletions(-) diff --git a/data/Scarlet & Violet/Journey Together/159.ts b/data/Scarlet & Violet/Journey Together/159.ts index 889f2338d..1949addef 100644 --- a/data/Scarlet & Violet/Journey Together/159.ts +++ b/data/Scarlet & Violet/Journey Together/159.ts @@ -27,7 +27,7 @@ const card: Card = { 'es-mx': "Mientras esta carta esté unida a un Pokémon, proporciona Energía Colorless.\n\nSi el Pokémon al que está unida esta carta está en el Puesto Activo y recibe daño de un ataque de los Pokémon de tu rival (incluso si este Pokémon queda Fuera de Combate), pon 2 contadores de daño en el Pokémon Atacante." }, - energyType: "Normal", + energyType: "Special", regulationMark: "I" } diff --git a/data/Scarlet & Violet/Journey Together/190.ts b/data/Scarlet & Violet/Journey Together/190.ts index 83ec13e0e..2bfa88b56 100644 --- a/data/Scarlet & Violet/Journey Together/190.ts +++ b/data/Scarlet & Violet/Journey Together/190.ts @@ -27,7 +27,7 @@ const card: Card = { 'es-mx': "Mientras esta carta esté unida a un Pokémon, proporciona Energía Colorless.\n\nSi el Pokémon al que está unida esta carta está en el Puesto Activo y recibe daño de un ataque de los Pokémon de tu rival (incluso si este Pokémon queda Fuera de Combate), pon 2 contadores de daño en el Pokémon Atacante." }, - energyType: "Normal", + energyType: "Special", regulationMark: "I" } diff --git a/data/Scarlet & Violet/Paldea Evolved/190.ts b/data/Scarlet & Violet/Paldea Evolved/190.ts index 6f52d1301..05c244f2f 100644 --- a/data/Scarlet & Violet/Paldea Evolved/190.ts +++ b/data/Scarlet & Violet/Paldea Evolved/190.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\nWenn du diese Karte aus deiner Hand an 1 Pokémon auf deiner Bank anlegst, tausche jenes Pokémon gegen dein Aktives Pokémon aus." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/data/Scarlet & Violet/Paldea Evolved/191.ts b/data/Scarlet & Violet/Paldea Evolved/191.ts index aed5d197d..fdd50bd33 100644 --- a/data/Scarlet & Violet/Paldea Evolved/191.ts +++ b/data/Scarlet & Violet/Paldea Evolved/191.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie jeden Energietyp, aber immer nur 1 Energie.\nWenn an das Pokémon, an das diese Karte angelegt ist, mindestens 1 andere Spezial-Energie angelegt ist, liefert diese Karte stattdessen Colorless-Energie." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/data/Scarlet & Violet/Paldea Evolved/192.ts b/data/Scarlet & Violet/Paldea Evolved/192.ts index 5b7e0792a..71cc30a52 100644 --- a/data/Scarlet & Violet/Paldea Evolved/192.ts +++ b/data/Scarlet & Violet/Paldea Evolved/192.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\n\nWenn du mehr verbleibende Preiskarten hast als dein Gegner und diese Karte an ein Entwicklungs-Pokémon angelegt ist, das kein Regelfeld hat\n\n(Pokémon-ex, Pokémon-V usw. haben Regelfelder), liefert diese Karte jeden Energietyp, aber immer nur 3 Energien." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/data/Scarlet & Violet/Paldea Evolved/193.ts b/data/Scarlet & Violet/Paldea Evolved/193.ts index f1f23bec2..7d8a84309 100644 --- a/data/Scarlet & Violet/Paldea Evolved/193.ts +++ b/data/Scarlet & Violet/Paldea Evolved/193.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\nDas Pokémon, an das diese Karte angelegt ist, erholt sich von Schlaf, Verwirrung oder Paralyse und kann nicht von jenen Speziellen Zuständen betroffen werden." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/data/Scarlet & Violet/Paradox Rift/182.ts b/data/Scarlet & Violet/Paradox Rift/182.ts index e2544b9c8..263605a31 100644 --- a/data/Scarlet & Violet/Paradox Rift/182.ts +++ b/data/Scarlet & Violet/Paradox Rift/182.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\nWenn du diese Karte aus deiner Hand an 1 deiner Pokémon anlegst, heile 30 Schadenspunkte bei jenem Pokémon." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/data/Scarlet & Violet/Surging Sparks/191.ts b/data/Scarlet & Violet/Surging Sparks/191.ts index 4be74ce91..8578cca17 100644 --- a/data/Scarlet & Violet/Surging Sparks/191.ts +++ b/data/Scarlet & Violet/Surging Sparks/191.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\n\nWenn du diese Karte aus deiner Hand an ein Pokémon anlegst, ziehe 4 Karten." }, - energyType: "Normal", + energyType: "Special", regulationMark: "H", variants: { diff --git a/data/Scarlet & Violet/Surging Sparks/252.ts b/data/Scarlet & Violet/Surging Sparks/252.ts index 2c257c0e9..3d36722b8 100644 --- a/data/Scarlet & Violet/Surging Sparks/252.ts +++ b/data/Scarlet & Violet/Surging Sparks/252.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\n\nWenn du diese Karte aus deiner Hand an 1 Pokémon auf deiner Bank anlegst, tausche jenes Pokémon gegen dein Aktives Pokémon aus." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/data/Scarlet & Violet/Temporal Forces/161.ts b/data/Scarlet & Violet/Temporal Forces/161.ts index c131adcca..17159408a 100644 --- a/data/Scarlet & Violet/Temporal Forces/161.ts +++ b/data/Scarlet & Violet/Temporal Forces/161.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\nVerhindere alle Effekte der von den Pokémon deines Gegners eingesetzten Attacken, die dem Pokémon zugefügt werden, an das diese Karte angelegt ist.\n(Bestehende Effekte werden nicht entfernt. Schaden ist kein Effekt.)" }, - energyType: "Normal", + energyType: "Special", regulationMark: "H", variants: { diff --git a/data/Scarlet & Violet/Temporal Forces/162.ts b/data/Scarlet & Violet/Temporal Forces/162.ts index b891c9187..2ce7b48ef 100644 --- a/data/Scarlet & Violet/Temporal Forces/162.ts +++ b/data/Scarlet & Violet/Temporal Forces/162.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\nWenn diese Karte an ein Phase-2-Pokémon angelegt ist, liefert diese Karte jeden Energietyp, aber immer nur 2 Energien." }, - energyType: "Normal", + energyType: "Special", regulationMark: "H", variants: { diff --git a/data/Scarlet & Violet/Twilight Masquerade/166.ts b/data/Scarlet & Violet/Twilight Masquerade/166.ts index 7650ab8a9..d40066f81 100644 --- a/data/Scarlet & Violet/Twilight Masquerade/166.ts +++ b/data/Scarlet & Violet/Twilight Masquerade/166.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie Colorless-Energie.\nWenn diese Karte durch einen Effekt einer von dem Pokémon, an das diese Karte angelegt ist, eingesetzten Attacke auf deinen Ablagestapel gelegt wird, lege diese Karte aus deinem Ablagestapel an jenes Pokémon an, nachdem du angegriffen hast." }, - energyType: "Normal", + energyType: "Special", regulationMark: "H", variants: { diff --git a/data/Scarlet & Violet/Twilight Masquerade/167.ts b/data/Scarlet & Violet/Twilight Masquerade/167.ts index 96814d9f5..dc04d2933 100644 --- a/data/Scarlet & Violet/Twilight Masquerade/167.ts +++ b/data/Scarlet & Violet/Twilight Masquerade/167.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie jeden Energietyp, aber immer nur 1 Energie.\nWenn das Pokémon, an das diese Karte angelegt ist, durch Schaden einer Attacke von Pokémon deines Gegners kampfunfähig wird, nimmt jener Spieler 1 Preiskarte weniger. Dieser Effekt deiner Vermächtnis-Energie kann nur einmal pro Spiel angewandt werden." }, - energyType: "Normal", + energyType: "Special", regulationMark: "H", variants: { diff --git a/data/Scarlet & Violet/Twilight Masquerade/226.ts b/data/Scarlet & Violet/Twilight Masquerade/226.ts index 6d7c40f2d..fb25423a5 100644 --- a/data/Scarlet & Violet/Twilight Masquerade/226.ts +++ b/data/Scarlet & Violet/Twilight Masquerade/226.ts @@ -25,7 +25,7 @@ const card: Card = { de: "Solange diese Karte an ein Pokémon angelegt ist, liefert sie jeden Energietyp, aber immer nur 1 Energie.\nWenn an das Pokémon, an das diese Karte angelegt ist, mindestens 1 andere Spezial-Energie angelegt ist, liefert diese Karte stattdessen Colorless-Energie." }, - energyType: "Normal", + energyType: "Special", regulationMark: "G", variants: { diff --git a/server/compiler/utils/util.ts b/server/compiler/utils/util.ts index 99ea5eec5..242f5e3ae 100644 --- a/server/compiler/utils/util.ts +++ b/server/compiler/utils/util.ts @@ -57,14 +57,17 @@ export function cardIsLegal(type: 'standard' | 'expanded', card: Card, localId: if ( legal.includes.series.includes(card.set.serie.id) || legal.includes.sets.includes(card.set.id) || + card.energyType === "Normal" || card.regulationMark && legal.includes.regulationMark.includes(card.regulationMark) ) { return !( legal.excludes.sets.includes(card.set.id) || + (type === 'standard' && card.types?.includes("Fairy")) || legal.excludes.cards.includes(`${card.set.id}-${localId}`) ) } - return false + + return false; } /**