open-optcg 0.1.0 → 0.1.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decks.js +2 -2
- package/dist/types/internal/decks/src/deck-provenance.d.ts +1 -1
- package/dist/types/internal/decks/src/eb05-robin-tcgmm-manifest.d.ts +2 -0
- package/dist/types/internal/decks/src/index.d.ts +2 -2
- package/dist/types/internal/decks/src/op05-luffy-store-battle-2026-manifest.d.ts +2 -0
- package/dist/types/internal/decks/src/op13-sabo-tcgmm-manifest.d.ts +2 -0
- package/dist/types/internal/decks/src/st30-luffy-ace-cdmx-manifest.d.ts +2 -0
- package/package.json +1 -1
- package/dist/types/internal/decks/src/eb05-robin-manifest.d.ts +0 -2
- package/dist/types/internal/decks/src/op05-luffy-tournament-manifest.d.ts +0 -2
- package/dist/types/internal/decks/src/op13-sabo-tournament-manifest.d.ts +0 -2
- package/dist/types/internal/decks/src/op17-luffy-ace-manifest.d.ts +0 -2
package/dist/decks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./chunks/chunk-5QCGQIMI.js";import{cardBlockIcons,cardFormatLegality,cardRegistry,requireKnownCard}from"./chunks/chunk-4I54H2QI.js";var formatDeckManifests=[{id:"(Red) Monkey.D.Luffy - Starter Deck 31",leader:"ST21-001",cards:{"ST31-005":2,"ST31-004":2,"ST31-001":2,"ST31-002":4,"ST31-003":4,"OP01-016":4,"OP11-003":4,"OP11-009":4,"OP11-012":4,"OP14-015":4,"ST23-004":4,"P-101":4,"OP04-016":4,"OP13-021":4}},{id:"(Green) Roronoa Zoro - Starter Deck 32",leader:"OP12-020",cards:{"OP12-028":4,"ST32-001":4,"ST32-002":2,"OP12-023":4,"ST32-003":2,"ST32-004":4,"ST32-005":2,"OP10-036":4,"OP12-026":4,"OP15-036":4,"OP12-031":4,"ST24-005":4,"OP12-027":4,"OP12-039":4}},{id:"(Blue) Kuzan - Starter Deck 33",leader:"OP12-040",cards:{"ST33-001":4,"ST33-002":4,"ST33-003":2,"ST33-004":2,"ST33-005":2,"EB04-026":4,"EB04-028":4,"OP12-043":4,"OP12-045":4,"OP12-047":4,"OP12-050":4,"OP12-052":4,"OP12-046":4,"OP12-057":4}},{id:"(Purple) Charlotte Katakuri - Starter Deck 34",leader:"OP11-062",cards:{"ST34-001":2,"ST34-002":4,"ST34-003":2,"ST34-004":2,"ST34-005":4,"EB03-032":4,"EB03-035":4,"OP11-065":4,"OP11-066":4,"OP11-068":4,"OP11-071":4,"OP11-079":4,"OP11-081":4,"P-090":4}},{id:"(Red/Black) Sabo - Starter Deck 35",leader:"OP13-004",cards:{"ST35-001":4,"ST35-002":2,"ST35-003":4,"ST35-004":2,"ST35-005":2,"OP13-081":4,"OP13-008":4,"OP12-090":4,"OP12-093":4,"OP12-098":4,"OP13-005":4,"P-105":4,"OP13-019":4,"OP13-017":4}},{id:"(Yellow) Eustass Kid - Starter Deck 36",leader:"OP10-099",cards:{"ST36-002":2,"ST36-005":2,"ST36-001":4,"ST36-003":2,"ST36-004":4,"OP13-116":4,"OP10-101":4,"OP10-103":4,"OP10-109":4,"OP10-111":4,"P-088":4,"P-085":4,"OP12-113":4,"OP10-114":4}}];var op16EnelManifest={id:"(Purple) Enel - Official Feature Deck",format:"standard",leader:"OP15-058",cards:{"OP12-071":4,"OP15-061":4,"OP15-066":2,"OP15-067":4,"OP09-072":4,"OP12-063":4,"OP10-067":1,"OP15-118":4,"OP15-074":4,"OP15-075":4,"OP15-076":4,"OP15-077":4,"OP15-078":4,"OP05-077":3}};var op16SengokuManifest={id:"(Purple) Sengoku - Official Feature Deck",featuredOn:{page:105,posted:"2026-06-12"},format:"standard",leader:"OP16-060",cards:{"OP16-064":4,"OP16-067":4,"OP16-070":4,"OP16-062":4,"OP16-066":4,"OP16-075":4,"OP16-063":4,"OP16-065":4,"OP16-073":4,"OP15-078":4,"OP16-076":4,"OP16-077":4,"OP16-078":2}};var op16NamiManifest={id:"(Blue/Yellow) Nami - Official Feature Deck",format:"standard",leader:"OP11-041",cards:{"OP14-102":4,"OP06-106":4,"OP11-106":3,"OP14-110":4,"OP14-111":4,"OP16-056":4,"OP06-104":2,"PRB02-008":1,"OP15-113":1,"EB03-053":4,"EB04-058":4,"OP15-114":1,"EB03-055":4,"OP14-104":4,"OP16-119":2,"OP13-042":3,"OP06-058":1}};var op16TeachManifest={id:"(Black/Yellow) Marshall.D.Teach - Official Feature Deck",format:"standard",leader:"OP16-080",cards:{"OP09-093":4,"OP16-119":4,"OP16-108":4,"OP09-086":4,"OP15-113":1,"OP16-103":1,"OP16-104":4,"OP16-106":1,"OP16-109":4,"OP16-110":4,"EB04-058":4,"OP12-112":4,"OP16-116":2,"EB04-059":2,"OP09-099":4,"OP09-096":3}};var op13SaboTournamentManifest={id:"(Red/Black) Sabo - 1st Place PlayTCG EGB 2026-09-20",format:"standard",leader:"OP13-004",recommended:true,cards:{"EB04-007":2,"OP04-016":2,"OP13-007":2,"OP14-096":2,"OP15-088":4,"OP17-080":4,"OP17-082":4,"OP17-083":2,"OP17-084":3,"OP17-086":2,"OP17-087":3,"OP17-089":4,"OP17-093":3,"OP17-095":4,"OP17-096":2,"OP17-119":4,"ST01-011":3}};var op17ShanksManifest={id:"(Green) Shanks - Official Feature Deck",featuredOn:{page:112,posted:"2026-08-28"},format:"standard",leader:"OP17-020",cards:{"OP17-021":2,"OP17-026":2,"OP17-032":4,"OP17-025":4,"OP17-029":4,"OP17-033":4,"OP17-031":4,"ST32-002":4,"OP17-027":4,"OP17-024":2,"ST16-004":2,"OP17-022":4,"ST24-004":2,"OP17-038":2,"OP17-036":2,"OP17-037":4}};var op17XebecManifest={id:"(Blue) Rocks.D.Xebec - Official Feature Deck",featuredOn:{page:111,posted:"2026-08-28"},format:"standard",leader:"OP17-039",cards:{"OP17-050":2,"OP17-045":2,"OP17-052":2,"OP17-054":4,"OP17-042":4,"OP17-044":4,"OP17-046":4,"OP17-049":4,"OP17-040":4,"OP17-048":4,"OP17-118":4,"OP17-055":4,"OP17-056":4,"OP17-057":4}};var op17KaidoManifest={id:"(Purple) Kaido - Official Feature Deck",featuredOn:{page:110,posted:"2026-08-28"},format:"standard",leader:"OP17-058",cards:{"EB04-032":4,"OP17-075":4,"OP17-068":4,"OP17-073":4,"OP17-074":4,"EB04-031":4,"OP17-060":4,"OP17-061":4,"OP17-065":3,"OP17-069":3,"OP17-062":4,"OP17-063":4,"OP17-076":2,"OP17-078":2}};var op17KaidoFieldManifest={id:"(Purple) Kaido - Open OPTCG",format:"standard",leader:"OP17-058",cards:{"EB04-032":4,"OP17-075":2,"OP17-073":4,"OP17-074":4,"OP08-074":2,"EB04-031":4,"EB04-030":2,"OP17-061":3,"OP17-065":2,"OP17-062":4,"OP17-063":3,"ST34-004":3,"OP07-077":4,"OP07-076":3,"OP15-078":3,"OP08-077":2,"OP17-076":1}};var op17LuffyManifest={id:"(Black) Monkey.D.Luffy - Official Feature Deck",featuredOn:{page:109,posted:"2026-08-28"},format:"standard",leader:"OP17-079",cards:{"OP17-080":4,"OP17-081":4,"OP17-082":2,"OP17-084":2,"OP17-085":4,"OP17-086":4,"OP17-087":4,"OP17-089":4,"OP17-091":2,"OP17-092":4,"OP17-093":4,"OP17-094":2,"OP17-095":4,"OP17-096":2,"OP17-119":4}};var op17LuffyTournamentManifest={id:"(Black) Monkey.D.Luffy - Open OPTCG",format:"standard",leader:"OP17-079",cards:{"OP17-084":2,"OP17-086":4,"OP17-094":4,"OP17-080":4,"OP17-081":4,"OP17-082":4,"OP17-087":4,"OP17-095":4,"OP17-089":4,"OP15-088":4,"OP17-119":4,"OP15-092":1,"OP17-093":3,"OP17-096":1,"ST14-017":3}};var st33KuzanTournamentManifest={id:"(Blue) Kuzan - 1st Place Bandai Hiroshima",format:"standard",leader:"OP12-040",cards:{"OP06-050":4,"ST33-001":4,"ST33-003":4,"OP12-047":4,"OP12-051":3,"OP16-056":4,"EB04-022":4,"OP12-043":2,"ST33-004":4,"ST33-005":4,"OP12-044":3,"OP06-043":1,"OP12-056":2,"OP12-057":3,"EB04-028":3,"OP06-058":1}};var op06ReijuRegionalManifest={id:"(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27",format:"standard",leader:"OP06-042",recommended:true,cards:{"OP06-060":4,"OP06-061":4,"OP06-062":1,"OP06-063":4,"OP06-068":4,"OP06-069":4,"OP06-072":3,"OP06-079":4,"OP07-066":4,"OP07-072":4,"OP08-074":4,"OP10-063":4,"OP11-043":2,"OP11-047":4}};var op11KobyTournamentManifest={id:"(Red/Black) Koby - 2nd Place Indonesia Regional Final",format:"standard",leader:"OP11-001",cards:{"OP11-082":4,"OP11-096":3,"EB04-047":4,"EB03-041":4,"OP11-092":4,"EB04-044":4,"OP11-004":4,"OP11-013":1,"OP13-007":2,"EB03-008":4,"OP11-008":4,"PRB02-001":1,"EB04-003":2,"OP11-097":4,"OP11-099":4,"OP13-020":1}};var op16AceOpenManifest={id:"(Red) Portgas.D.Ace - Open OPTCG",format:"standard",leader:"OP16-001",cards:{"OP13-016":4,"OP10-005":3,"OP17-016":2,"OP16-015":4,"OP16-017":4,"EB01-002":2,"OP16-118":4,"OP16-011":3,"OP16-014":3,"OP16-004":4,"OP17-006":4,"OP16-003":3,"OP17-005":3,"OP17-017":3,"OP16-021":4}};var op17XebecOpenManifest={id:"(Blue) Rocks.D.Xebec - Open OPTCG",format:"standard",leader:"OP17-039",cards:{"OP08-051":3,"OP17-050":4,"OP17-045":4,"OP17-052":3,"OP17-054":4,"OP17-042":2,"OP17-044":2,"OP17-046":4,"OP17-049":4,"OP17-040":4,"OP17-048":4,"OP17-118":4,"OP17-055":4,"OP17-056":4}};var op08PuddingManifest={id:"(Purple/Yellow) Charlotte Pudding - Open OPTCG",format:"standard",leader:"OP08-058",cards:{"ST34-003":1,"OP08-062":4,"OP17-074":3,"ST34-002":3,"OP11-067":2,"OP17-113":4,"OP11-106":4,"OP17-104":3,"OP17-107":3,"OP17-109":4,"OP17-103":4,"OP17-114":4,"OP17-112":4,"OP13-076":1,"OP15-078":4,"OP07-077":2}};var op12ZoroManifest={id:"(Green) Roronoa Zoro - OP17 Post-Ban List",format:"standard",leader:"OP12-020",cards:{"OP12-028":4,"OP12-034":4,"ST32-005":4,"OP06-033":4,"ST12-003":4,"OP13-037":4,"OP15-023":3,"OP12-031":4,"OP12-023":3,"ST32-002":3,"OP13-031":3,"ST32-003":3,"OP13-040":2,"OP12-037":1,"OP12-039":4}};var op16AceManifest={id:"(Red) Portgas.D.Ace - Official Feature Deck",featuredOn:{page:102,posted:"2026-06-12"},leader:"OP16-001",cards:{"OP13-007":4,"OP13-016":4,"OP16-010":4,"OP16-015":4,"OP16-017":4,"OP16-118":4,"OP16-011":4,"OP16-014":4,"OP16-016":2,"OP16-004":4,"OP16-003":4,"OP16-005":4,"OP16-021":4}};var op06YamatoManifest={id:"(Green/Yellow) Yamato - Official Feature Deck",featuredOn:{page:75,posted:"2025-10-03"},format:"standard",leader:"OP06-022",cards:{"ST28-005":4,"PRB02-016":4,"ST28-002":4,"ST28-001":4,"OP06-104":4,"OP06-110":4,"OP10-109":4,"ST28-003":4,"OP06-107":2,"OP06-109":4,"OP08-023":4,"ST28-004":4,"OP06-118":2,"OP06-115":2}};var eb04BonneyManifest={id:"(Red/Yellow) Jewelry Bonney - Official Feature Deck",featuredOn:{page:101,posted:"2026-04-03"},format:"standard",leader:"EB04-001",cards:{"EB04-002":4,"EB04-007":4,"EB04-052":4,"EB04-054":2,"EB04-056":4,"EB04-058":4,"EB04-061":4,"EB03-053":4,"OP07-107":4,"OP07-114":4,"OP12-119":4,"OP13-108":4,"ST29-010":4}};var op09RobinManifest={id:"(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1",format:"standard",leader:"OP09-062",cards:{"OP17-113":3,"OP17-107":4,"OP17-109":4,"OP12-112":3,"OP17-102":4,"EB04-058":2,"OP17-106":4,"OP17-114":4,"OP17-110":2,"OP16-119":4,"OP17-112":4,"ST34-003":4,"OP17-074":4,"OP09-078":4}};var op17NewgateManifest={id:"(Red) Edward.Newgate - Official Feature Deck",featuredOn:{page:113,posted:"2026-08-28"},format:"standard",leader:"OP17-001",cards:{"OP17-004":4,"OP17-016":4,"OP17-002":2,"OP17-003":4,"OP17-009":2,"OP16-118":4,"OP17-015":2,"OP17-008":4,"OP17-013":2,"OP17-006":4,"OP17-007":4,"OP17-005":4,"OP17-017":2,"OP17-019":4,"OP16-021":4}};var op15KriegManifest={id:"(Red/Green) Krieg - Official Feature Deck",featuredOn:{page:95,posted:"2026-04-03"},format:"standard",leader:"OP15-001",cards:{"OP15-009":4,"OP15-015":4,"OP15-026":4,"OP15-028":4,"OP15-011":4,"OP15-023":4,"OP15-003":4,"OP15-017":4,"OP15-007":4,"OP15-025":4,"OP15-008":4,"OP15-037":4,"OP15-038":2}};var op17LinlinManifest={id:"(Yellow) Charlotte Linlin - Official Feature Deck",featuredOn:{page:108,posted:"2026-08-28"},leader:"OP17-099",cards:{"OP17-113":4,"OP17-104":4,"OP17-107":4,"OP17-109":4,"OP17-111":4,"ST20-003":4,"OP17-102":4,"OP17-106":4,"OP17-103":4,"OP17-114":4,"OP17-110":4,"OP17-112":4,"OP17-115":2}};var op15LucyManifest={id:"(Red/Blue) Lucy - Official Feature Deck",featuredOn:{page:96,posted:"2026-04-03"},format:"standard",leader:"OP15-002",cards:{"OP15-040":4,"OP15-052":2,"OP15-053":4,"OP15-006":4,"OP15-014":4,"OP15-048":4,"OP15-046":4,"OP10-059":2,"OP15-019":2,"OP15-055":4,"OP15-021":4,"OP15-054":2,"OP10-060":2,"OP15-020":4,"OP15-057":4}};var op15BrookManifest={id:"(Green/Black) Brook - Official Feature Deck",featuredOn:{page:97,posted:"2026-04-03"},format:"standard",leader:"OP15-022",cards:{"EB02-017":4,"OP15-035":4,"OP15-081":4,"OP15-085":4,"OP15-094":2,"OP15-024":2,"OP15-082":4,"OP15-087":4,"OP15-088":4,"OP15-089":4,"OP15-032":4,"OP15-092":4,"OP15-086":4,"OP15-095":2}};var op15RebeccaManifest={id:"(Blue) Rebecca - Official Feature Deck",featuredOn:{page:98,posted:"2026-04-03"},format:"standard",leader:"OP15-039",cards:{"OP15-040":4,"OP15-052":4,"OP15-053":4,"OP10-054":4,"OP15-041":4,"OP15-042":4,"OP15-047":4,"OP15-051":4,"OP10-045":4,"OP10-046":2,"OP15-046":4,"OP10-059":4,"OP10-060":4}};var op13ImuManifest={id:"(Black) Imu - Official Feature Deck",featuredOn:{page:85,posted:"2025-11-07"},format:"standard",leader:"OP13-079",cards:{"OP13-086":4,"OP13-087":3,"OP13-095":2,"OP13-083":4,"OP13-089":4,"OP13-080":4,"OP13-091":4,"PRB02-014":4,"OP13-084":4,"OP13-082":4,"OP13-096":4,"OP13-097":4,"OP13-098":4,"OP13-099":1}};var op13RogerManifest={id:"(Red/Purple) Gol.D.Roger - Official Feature Deck",featuredOn:{page:83,posted:"2025-11-07"},format:"standard",leader:"OP13-003",cards:{"OP13-065":4,"OP13-060":2,"OP13-072":4,"OP13-061":4,"OP13-068":4,"OP13-071":4,"OP13-062":4,"OP13-063":4,"OP13-067":4,"OP13-066":4,"OP13-064":4,"OP13-076":4,"OP13-075":4}};var op15LuffyManifest={id:"(Yellow) Monkey.D.Luffy - Official Feature Deck",featuredOn:{page:100,posted:"2026-04-03"},format:"standard",leader:"OP15-098",cards:{"OP15-108":4,"OP15-102":4,"OP15-107":4,"OP15-113":4,"ST29-004":4,"ST29-009":4,"EB03-053":4,"OP15-114":4,"OP15-119":4,"EB03-055":4,"OP15-109":4,"OP15-116":4,"ST29-016":2}};var eb03ViviManifest={id:"(Red/Blue) Nefeltari Vivi - Official Feature Deck",featuredOn:{page:94,posted:"2026-02-13"},format:"standard",leader:"EB03-001",cards:{"OP13-007":4,"OP13-012":4,"OP10-011":4,"EB03-006":4,"EB03-024":4,"EB03-025":4,"OP13-011":4,"OP13-054":2,"EB03-026":4,"EB03-027":4,"OP09-009":4,"OP06-007":4,"EB03-011":4}};var op14LawManifest={id:"(Red) Trafalgar Law - Official Feature Deck",featuredOn:{page:87,posted:"2026-01-16"},format:"standard",leader:"OP14-001",cards:{"OP14-003":4,"OP14-005":4,"OP14-010":4,"OP14-013":4,"OP14-004":2,"OP14-011":4,"OP14-002":4,"OP14-014":4,"OP14-016":4,"OP14-007":4,"OP14-015":4,"OP14-009":4,"OP14-018":4}};var op14HancockManifest={id:"(Blue/Yellow) Boa Hancock - Official Feature Deck",featuredOn:{page:90,posted:"2026-01-16"},format:"standard",leader:"OP14-041",cards:{"OP13-113":4,"OP14-113":4,"OP14-114":4,"EB04-027":2,"OP13-052":4,"OP14-115":4,"PRB02-017":4,"OP07-051":4,"OP14-108":4,"OP14-112":4,"OP14-118":4,"OP14-105":4,"OP14-107":4}};var op14HancockTournamentManifest={id:"(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105",format:"standard",leader:"OP14-041",recommended:true,cards:{"OP07-056":2,"OP07-057":2,"OP14-113":4,"OP14-114":4,"ST17-004":4,"OP14-115":4,"OP16-113":4,"EB03-053":2,"EB04-058":4,"OP12-119":2,"OP14-105":4,"OP14-107":4,"OP14-108":2,"OP06-058":2,"OP16-119":2,"OP14-112":4}};var st29LuffyTournamentManifest={id:"(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15",format:"standard",leader:"ST29-001",recommended:true,cards:{"EB03-053":3,"EB03-055":3,"EB04-058":4,"OP06-104":4,"OP07-099":4,"OP13-108":4,"OP15-109":3,"OP15-113":3,"OP15-114":3,"OP15-119":2,"OP16-119":3,"ST29-004":4,"ST29-005":4,"ST29-009":4,"ST29-016":2}};var op11KatakuriTournamentManifest={id:"(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02",format:"standard",leader:"OP11-062",recommended:true,cards:{"EB03-035":2,"OP07-077":4,"OP08-062":3,"OP08-069":1,"OP08-077":2,"OP11-067":4,"OP11-068":2,"OP11-070":4,"OP15-078":4,"PRB02-010":4,"ST34-001":4,"ST34-002":4,"ST34-003":4,"ST34-004":4,"ST34-005":4}};var op05LuffyTournamentManifest={id:"(Purple) Monkey.D.Luffy - 1st Place Store Battle 2025-07-01",format:"standard",leader:"OP05-060",recommended:true,cards:{"EB01-061":4,"OP03-072":1,"OP05-077":1,"OP06-076":4,"OP07-064":4,"OP09-065":4,"OP09-069":4,"OP09-078":4,"OP09-119":3,"OP11-067":4,"ST18-001":4,"ST18-002":2,"ST18-003":3,"ST18-004":4,"ST18-005":3,"ST26-002":1}};var op10KidTournamentManifest={id:"(Yellow) Eustass Kid - ChinoizeCup #104",format:"standard",leader:"OP10-099",recommended:true,cards:{"EB04-058":4,"OP10-112":4,"OP14-102":4,"OP14-110":4,"OP14-111":4,"OP15-119":3,"OP16-119":4,"OP17-109":4,"OP17-114":3,"P-088":4,"ST36-002":4,"ST36-003":4,"ST36-005":4}};var op11ShirahoshiTournamentManifest={id:"(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125",format:"standard",leader:"OP11-022",recommended:true,cards:{"EB03-052":3,"EB04-011":4,"EB04-016":4,"EB04-018":4,"EB05-014":4,"EB05-020":4,"OP08-036":2,"OP11-028":2,"OP11-033":4,"OP11-036":4,"OP11-107":4,"OP11-115":2,"OP12-102":3,"OP17-022":3,"OP17-114":3}};var op12SanjiTournamentManifest={id:"(Blue/Purple) Sanji - ChinoizeCup #116",format:"standard",leader:"OP12-041",recommended:true,cards:{"EB01-039":1,"EB03-031":3,"EB04-029":4,"EB04-041":4,"OP06-058":2,"OP07-064":4,"OP09-078":4,"OP11-061":2,"OP12-059":2,"OP12-060":4,"OP12-070":4,"OP12-079":4,"OP13-043":3,"OP13-076":1,"OP15-078":3,"OP16-056":2,"OP17-049":3}};var op06YamatoTournamentManifest={id:"(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20",format:"standard",leader:"OP06-022",recommended:true,cards:{"EB03-057":4,"EB04-058":4,"OP05-037":2,"OP06-106":4,"OP13-031":2,"OP13-117":2,"OP15-113":4,"OP16-119":3,"OP17-022":4,"OP17-102":2,"OP17-106":2,"OP17-107":4,"OP17-109":4,"OP17-112":3,"OP17-113":3,"OP17-114":3}};var op07VegapunkStoreBattleManifest={id:"(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19",format:"standard",leader:"OP07-097",recommended:true,cards:{"EB03-058":4,"EB04-058":4,"OP07-098":4,"OP07-101":4,"OP07-107":4,"OP07-111":4,"OP07-113":4,"OP07-117":2,"OP08-106":4,"OP09-117":3,"OP13-108":2,"OP13-113":4,"OP15-119":3,"OP16-119":4}};var op09ShanksTournamentManifest={id:"(Red) Shanks - 1st Place Store Battle 2026-06-29",format:"standard",leader:"OP09-001",recommended:true,cards:{"OP06-007":3,"OP09-002":4,"OP09-004":3,"OP09-009":4,"OP09-011":4,"OP09-015":3,"OP09-020":3,"OP12-008":4,"OP13-007":4,"OP16-012":4,"PRB02-001":3,"PRB02-002":3,"PRB02-003":2,"ST23-001":2,"ST23-002":4}};var op13RogerTournamentManifest={id:"(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22",format:"standard",leader:"OP13-003",recommended:true,cards:{"EB04-007":3,"OP09-004":3,"OP09-118":2,"OP13-007":3,"OP13-061":2,"OP13-063":3,"OP13-065":4,"OP13-067":4,"OP13-068":4,"OP13-071":3,"OP13-072":4,"OP13-075":4,"OP13-076":2,"P-107":4,"ST18-001":3,"ST23-001":2}};var eb03ViviTournamentManifest={id:"(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28",format:"standard",leader:"EB03-001",recommended:true,cards:{"EB03-006":3,"EB03-024":4,"EB04-007":2,"EB04-023":3,"EB04-024":4,"OP05-118":1,"OP06-007":3,"OP06-058":1,"OP08-118":3,"OP09-009":4,"OP10-011":4,"OP10-045":4,"OP11-054":4,"OP13-012":4,"OP13-058":2,"ST23-001":4}};var op14DoflamingoTournamentManifest={id:"(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30",format:"standard",leader:"OP14-060",recommended:true,cards:{"EB04-038":2,"OP07-076":4,"OP10-065":4,"OP10-071":4,"OP10-072":3,"OP10-078":2,"OP13-076":4,"OP14-061":4,"OP14-063":4,"OP14-067":4,"OP14-068":4,"OP14-069":3,"OP14-072":2,"OP14-074":4,"OP14-078":2}};var op12KoalaTournamentManifest={id:"(Black/Yellow) Koala - 30th Place ChinoizeCup #113",format:"standard",leader:"OP12-081",recommended:true,cards:{"EB03-042":4,"EB04-058":4,"OP06-115":2,"OP09-108":4,"OP12-086":4,"OP12-087":2,"OP12-089":4,"OP12-093":4,"OP12-094":4,"OP12-098":3,"OP12-112":4,"OP12-119":4,"OP14-108":3,"OP16-119":4}};var op14MoriaTournamentManifest={id:"(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120",format:"standard",leader:"OP14-080",recommended:true,cards:{"OP06-090":1,"OP06-091":4,"OP13-113":2,"OP14-096":2,"OP14-097":2,"OP14-100":4,"OP14-102":4,"OP14-104":4,"OP14-109":1,"OP14-110":4,"OP14-111":4,"OP14-112":4,"OP15-084":4,"OP15-113":2,"OP17-109":4,"PRB02-013":4}};var op17ShanksTournamentManifest={id:"(Green) Shanks - 16th Place Rumble League #9",format:"standard",leader:"OP17-020",recommended:true,cards:{"OP08-036":2,"OP10-030":2,"OP12-034":4,"OP15-035":4,"OP17-021":4,"OP17-022":4,"OP17-027":4,"OP17-029":4,"OP17-031":4,"OP17-032":4,"OP17-033":4,"OP17-036":4,"OP17-038":2,"ST32-002":4}};var op15EnelChinoizeManifest={id:"(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25",format:"standard",leader:"OP15-058",recommended:true,cards:{"OP05-077":3,"OP09-072":2,"OP10-067":2,"OP12-063":3,"OP12-071":4,"OP13-076":1,"OP15-061":4,"OP15-067":4,"OP15-071":4,"OP15-074":3,"OP15-075":4,"OP15-076":4,"OP15-077":4,"OP15-078":4,"OP15-118":4}};var op12RayleighTournamentManifest={id:"(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124",format:"standard",leader:"OP12-001",recommended:true,cards:{"EB05-004":4,"EB05-008":4,"EB05-061":4,"OP03-008":4,"OP10-005":4,"OP10-016":2,"OP12-006":4,"OP12-009":2,"OP12-014":4,"OP12-015":4,"OP12-016":4,"OP12-017":4,"OP12-018":4,"ST21-017":2}};var eb04BonneyTournamentManifest={id:"(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104",format:"standard",leader:"EB04-001",recommended:true,cards:{"EB04-061":1,"OP06-115":2,"OP07-099":4,"OP07-104":4,"OP11-106":2,"OP12-112":4,"OP13-113":4,"OP16-119":4,"OP17-102":4,"OP17-106":3,"OP17-107":3,"OP17-109":4,"OP17-112":4,"OP17-113":3,"OP17-114":4}};var op14JinbeTournamentManifest={id:"(Blue) Jinbe - 11th Place ChinoizeCup #120",format:"standard",leader:"OP14-040",recommended:true,cards:{"OP06-058":2,"OP07-045":4,"OP07-057":2,"OP08-047":4,"OP13-043":3,"OP14-042":4,"OP14-046":4,"OP14-049":4,"OP14-050":4,"OP14-056":4,"OP17-046":2,"OP17-049":3,"OP17-053":2,"ST17-002":4,"ST17-004":4}};var op13AceTournamentManifest={id:"(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01",format:"standard",leader:"OP13-002",recommended:true,cards:{"EB04-007":3,"OP07-051":4,"OP08-047":3,"OP09-118":2,"OP13-016":4,"OP13-042":4,"OP13-043":4,"OP13-054":3,"OP16-003":2,"OP16-004":2,"OP16-017":3,"OP16-021":2,"PRB02-008":4,"ST22-002":4,"ST22-015":4,"ST23-001":2}};var op05EnelTcgmmManifest={id:"(Yellow) Enel - TCG Match Making OP17.5 #3",format:"standard",leader:"OP05-098",recommended:true,cards:{"EB02-052":2,"EB04-058":4,"OP06-115":4,"OP11-106":4,"OP13-113":4,"OP15-103":4,"OP16-119":4,"OP17-102":4,"OP17-107":4,"OP17-109":4,"OP17-112":4,"OP17-113":4,"OP17-114":4}};var eb02LuffyTournamentManifest={id:"(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25",format:"standard",leader:"EB02-010",recommended:true,cards:{"EB02-017":4,"EB02-035":4,"EB02-061":1,"OP07-064":4,"OP08-036":4,"OP09-078":4,"OP12-037":2,"OP13-040":2,"OP13-118":2,"OP14-031":2,"OP15-032":2,"OP15-078":4,"P-111":1,"PRB02-005":2,"PRB02-012":4,"ST18-001":4,"ST18-004":4}};var op11JinbeTournamentManifest={id:"(Green) Jinbe - 1st Place Shop Event 2026-09-16",format:"standard",leader:"OP11-021",recommended:true,cards:{"EB04-015":4,"EB04-018":4,"EB04-020":4,"OP06-025":4,"OP06-033":3,"OP07-026":3,"OP11-030":4,"OP11-031":4,"OP11-035":1,"OP11-039":4,"OP14-031":2,"OP15-023":2,"OP15-032":4,"OP17-022":3,"OP17-029":4}};var op09LuffyTournamentManifest={id:"(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13",format:"standard",leader:"OP09-061",recommended:true,cards:{"EB02-061":2,"OP03-072":1,"OP05-076":4,"OP07-064":4,"OP09-065":3,"OP09-069":4,"OP09-072":4,"OP09-076":4,"OP09-078":4,"OP09-119":2,"OP11-067":3,"ST18-001":4,"ST18-002":3,"ST26-003":4,"ST26-005":4}};var st21LuffyOpenManifest={id:"(Red) Monkey.D.Luffy - Open OPTCG",format:"standard",leader:"ST21-001",recommended:true,cards:{"EB04-002":4,"OP01-016":4,"OP04-016":2,"OP10-005":3,"OP10-011":2,"OP15-012":3,"P-101":2,"ST21-003":4,"ST21-014":4,"ST21-015":4,"ST31-001":4,"ST31-002":4,"ST31-003":2,"ST31-004":4,"ST31-005":4}};var op17LinlinTournamentManifest={id:"(Yellow) Charlotte Linlin - ChinoizeCup #121",format:"standard",leader:"OP17-099",recommended:true,cards:{"EB04-058":3,"OP11-106":4,"OP14-104":4,"OP15-113":4,"OP16-119":4,"OP17-102":3,"OP17-103":4,"OP17-104":2,"OP17-107":4,"OP17-109":4,"OP17-110":2,"OP17-112":4,"OP17-113":4,"OP17-114":4}};var op13LuffyMiracleManifest={id:"(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05",format:"standard",leader:"OP13-001",recommended:true,cards:{"EB01-013":4,"EB05-001":4,"OP01-055":3,"OP06-033":4,"OP07-022":4,"OP08-036":2,"OP12-023":4,"OP13-016":4,"OP13-031":4,"OP14-031":4,"OP17-022":1,"PRB02-003":4,"ST30-004":4,"ST32-002":4}};var op09BuggyTournamentManifest={id:"(Blue) Buggy - 12th Place ChinoizeCup #124",format:"standard",leader:"OP09-042",cards:{"OP09-056":4,"ST25-001":4,"ST25-002":4,"ST25-005":4,"OP16-056":4,"EB03-021":2,"EB05-028":2,"OP09-048":4,"ST33-004":2,"P-084":2,"ST25-003":4,"EB05-021":4,"OP09-051":4,"OP09-057":4,"OP06-058":2}};var op14LawTournamentManifest={id:"(Red) Trafalgar Law - 9th Place ChinoizeCup #125",format:"standard",leader:"OP14-001",cards:{"OP14-010":4,"OP14-013":4,"OP13-007":2,"OP14-004":4,"OP14-011":4,"EB05-006":4,"OP14-006":2,"OP14-002":4,"PRB02-003":4,"OP14-014":2,"EB05-001":4,"OP09-009":2,"OP14-009":3,"OP17-005":3,"OP14-019":4}};var eb05RobinManifest={id:"(Green/Yellow) Nico Robin - EB05 Wisdom List",format:"standard",leader:"EB05-010",cards:{"EB04-018":4,"EB04-058":4,"EB05-016":4,"EB05-050":4,"EB05-052":4,"EB05-055":4,"EB05-056":4,"EB05-057":4,"OP13-031":4,"OP13-113":4,"OP14-108":3,"OP17-022":3,"OP17-109":4}};var op14JinbeManifest={id:"(Blue) Jinbe - Official Feature Deck",featuredOn:{page:89,posted:"2026-01-16"},format:"standard",leader:"OP14-040",cards:{"OP14-042":4,"OP14-050":4,"OP14-051":4,"OP14-046":4,"OP14-045":4,"OP14-056":4,"OP14-043":4,"OP14-047":4,"OP14-055":4,"OP14-054":4,"OP14-049":4,"OP14-057":2,"OP14-058":4}};var op16YamatoManifest={id:"(Black) Yamato - Official Feature Deck",featuredOn:{page:106,posted:"2026-06-12"},format:"standard",leader:"OP16-079",cards:{"OP16-091":4,"OP16-092":4,"OP16-087":4,"OP16-088":2,"OP16-095":4,"OP16-082":4,"OP16-094":4,"OP16-084":4,"OP16-098":4,"OP16-096":4,"OP16-097":4,"OP16-085":4,"OP16-099":4}};var op14CrocodileManifest={id:"(Black) Crocodile - Official Feature Deck",featuredOn:{page:92,posted:"2026-01-16"},format:"standard",leader:"OP14-079",cards:{"OP14-087":4,"OP14-091":4,"OP14-092":4,"OP14-086":2,"OP14-094":4,"OP14-090":4,"OP14-084":4,"OP14-120":4,"OP14-099":4,"OP14-096":4,"OP14-085":4,"OP14-083":4,"OP14-088":4}};var op14MoriaManifest={id:"(Black/Yellow) Gecko Moria - Official Feature Deck",featuredOn:{page:93,posted:"2026-01-16"},format:"standard",leader:"OP14-080",cards:{"OP14-081":4,"OP14-102":4,"OP14-089":2,"OP14-100":4,"OP14-109":4,"OP14-110":4,"OP14-111":4,"OP14-108":2,"PRB02-013":4,"PRB02-014":4,"OP14-104":4,"OP14-112":4,"OP14-097":4,"OP14-117":2}};var op12KoalaManifest={id:"(Black/Yellow) Koala - Official Feature Deck",featuredOn:{page:69,posted:"2025-08-22"},format:"standard",leader:"OP12-081",cards:{"OP12-086":4,"OP12-090":4,"OP12-089":4,"OP12-093":4,"OP12-095":4,"OP12-083":4,"OP12-085":2,"OP12-100":4,"OP12-087":4,"OP12-119":4,"OP12-094":4,"OP12-097":4,"OP12-098":4}};var eb02LuffyManifest={id:"(Green/Purple) Monkey.D.Luffy - Official Feature Deck",featuredOn:{page:62,posted:"2025-05-09"},format:"standard",leader:"EB02-010",cards:{"EB02-017":4,"EB02-037":4,"OP05-061":4,"ST18-001":4,"EB02-019":4,"ST18-004":4,"EB02-035":4,"OP05-070":4,"EB02-061":4,"ST18-005":4,"OP03-072":2,"OP05-076":4,"EB02-041":4}};var op11ShirahoshiManifest={id:"(Green/Yellow) Shirahoshi - Official Feature Deck",featuredOn:{page:65,posted:"2025-06-06"},format:"standard",leader:"OP11-022",cards:{"OP11-030":4,"OP11-100":4,"OP11-106":4,"OP11-112":4,"OP11-028":2,"OP11-036":4,"OP10-030":4,"OP11-103":4,"OP11-107":4,"OP11-108":4,"OP11-026":4,"OP11-031":4,"ST16-004":2,"OP11-115":2}};var op13AceManifest={id:"(Red/Blue) Portgas.D.Ace - Official Feature Deck",featuredOn:{page:82,posted:"2025-11-07"},format:"standard",leader:"OP13-002",cards:{"OP13-007":4,"OP13-014":4,"OP13-016":4,"OP13-043":4,"PRB02-008":4,"OP13-054":4,"OP13-046":4,"OP13-119":4,"PRB02-002":4,"ST15-002":4,"OP13-042":4,"OP04-016":4,"OP13-057":2}};var op12SanjiManifest={id:"(Blue/Purple) Sanji - Official Feature Deck",featuredOn:{page:72,posted:"2025-08-22"},format:"standard",leader:"OP12-041",cards:{"OP12-062":4,"OP12-066":4,"OP12-071":4,"OP12-070":4,"OP12-074":4,"OP12-063":4,"OP12-072":2,"OP12-065":2,"OP09-078":4,"OP12-059":4,"OP12-079":4,"OP09-077":2,"OP12-060":4,"OP12-078":4}};var op10UsoppManifest={id:"(Blue/Black) Usopp - Official Feature Deck",featuredOn:{page:58,posted:"2025-03-21"},format:"standard",leader:"OP10-042",cards:{"OP15-052":2,"OP15-040":4,"OP10-057":4,"OP04-077":4,"OP10-083":2,"OP10-043":2,"OP15-047":4,"OP10-049":2,"OP10-090":3,"OP10-095":4,"OP04-083":4,"OP10-118":3,"OP10-046":4,"OP10-058":4,"OP04-096":4}};var op11JinbeManifest={id:"(Green) Jinbe - Official Feature Deck",featuredOn:{page:66,posted:"2025-06-06"},format:"standard",leader:"OP11-021",cards:{"OP06-025":4,"OP11-030":4,"OP10-032":4,"OP11-029":2,"OP11-024":4,"OP10-030":4,"OP11-032":4,"OP11-031":4,"OP11-033":4,"OP11-035":4,"OP06-035":4,"OP11-038":4,"OP11-039":4}};var op09BuggyManifest={id:"(Blue) Buggy - Official Feature Deck",featuredOn:{page:78,posted:"2025-10-03"},format:"standard",leader:"OP09-042",cards:{"OP09-056":4,"PRB02-009":4,"ST25-001":4,"ST25-002":4,"ST25-004":4,"ST25-005":4,"OP09-045":4,"P-082":2,"OP09-048":4,"OP09-046":4,"ST25-003":4,"OP09-051":4,"OP09-057":4}};var op12RayleighManifest={id:"(Red) Silvers Rayleigh - Official Feature Deck",featuredOn:{page:73,posted:"2025-08-22"},format:"standard",leader:"OP12-001",cards:{"OP12-006":4,"OP12-013":4,"OP12-003":4,"OP12-004":4,"OP12-007":4,"OP12-012":2,"OP12-014":4,"OP12-009":4,"OP12-015":4,"OP12-016":4,"OP12-017":4,"OP12-018":4,"OP12-019":4}};var op14DoflamingoManifest={id:"(Purple) Donquixote Doflamingo - Official Feature Deck",featuredOn:{page:91,posted:"2026-01-16"},format:"standard",leader:"OP14-060",cards:{"OP10-065":4,"OP14-067":4,"OP14-063":4,"OP14-072":4,"OP14-061":4,"OP14-068":4,"OP14-071":4,"OP14-074":4,"OP14-073":4,"OP10-071":4,"OP14-069":4,"OP10-078":4,"OP14-076":2}};var st18LuffyManifest={id:"(Purple) Monkey.D.Luffy - Starter Deck 18",leader:"OP05-060",cards:{"OP05-061":4,"OP05-063":4,"OP05-066":4,"OP05-067":4,"OP05-068":4,"OP05-070":4,"OP05-072":4,"OP05-076":4,"P-041":4,"ST18-001":2,"ST18-002":4,"ST18-003":4,"ST18-004":2,"ST18-005":2}};var st26LuffyManifest={id:"(Purple/Black) Monkey.D.Luffy - Starter Deck 26",leader:"OP09-061",cards:{"OP05-065":4,"OP05-066":4,"OP05-070":4,"OP09-063":4,"OP09-070":4,"OP09-076":4,"OP09-077":4,"OP09-078":2,"ST14-010":4,"ST26-001":4,"ST26-002":4,"ST26-003":2,"ST26-004":4,"ST26-005":2}};var st27TeachManifest={id:"(Black) Marshall.D.Teach - Starter Deck 27",leader:"OP09-081",cards:{"EB01-048":2,"OP09-083":4,"OP09-086":4,"OP09-089":4,"OP09-090":4,"OP09-093":4,"OP09-095":4,"OP09-096":4,"OP09-099":4,"PRB02-014":4,"PRB02-015":4,"ST27-003":4,"ST27-005":4}};var st22AceNewgateManifest={id:"(Blue) Ace & Newgate - Starter Deck 22",leader:"ST22-001",cards:{"ST22-002":2,"ST22-003":2,"ST22-004":4,"ST22-005":2,"ST22-006":4,"ST22-007":4,"ST22-008":4,"ST22-009":2,"ST22-010":4,"ST22-011":4,"ST22-012":4,"ST22-013":4,"ST22-014":4,"ST22-015":2,"ST22-016":2,"ST22-017":2}};var st23ShanksManifest={id:"(Red) Shanks - Starter Deck 23",leader:"OP09-001",cards:{"OP09-006":4,"OP09-010":4,"OP09-011":4,"OP09-012":4,"OP09-013":4,"OP09-014":4,"OP09-015":4,"OP09-016":4,"OP09-020":4,"ST23-001":2,"ST23-002":2,"ST23-003":2,"ST23-004":4,"ST23-005":4}};var st29LuffyManifest={id:"(Yellow) Monkey.D.Luffy - Starter Deck 29",leader:"ST29-001",cards:{"ST29-002":4,"ST29-003":4,"ST29-004":2,"ST29-005":2,"ST29-006":4,"ST29-007":2,"ST29-008":2,"ST29-009":2,"ST29-010":4,"ST29-011":4,"ST29-012":4,"ST29-013":4,"ST29-014":2,"ST29-015":4,"ST29-016":2,"ST29-017":4}};var st30LuffyAceManifest={id:"(Red/Green) Luffy & Ace - Starter Deck 30",leader:"ST30-001",cards:{"ST30-002":2,"ST30-003":4,"ST30-004":2,"ST30-005":4,"ST30-006":4,"ST30-007":2,"ST30-008":4,"ST30-009":4,"ST30-010":4,"ST30-011":2,"ST30-012":2,"ST30-013":4,"ST30-014":2,"ST30-015":4,"ST30-016":2,"ST30-017":4}};var op17LuffyAceManifest={id:"(Red/Green) Luffy & Ace - Open OPTCG",format:"standard",leader:"ST30-001",cards:{"EB04-002":4,"OP01-016":4,"EB02-017":4,"ST31-005":4,"ST21-003":1,"OP12-015":4,"ST30-012":4,"ST21-014":4,"ST31-001":4,"OP04-016":4,"OP14-019":2,"OP17-017":4,"OP06-017":1,"OP12-037":3,"OP13-040":2,"ST21-017":1}};var BANNED_CARDS=new Set(["OP06-047","OP03-040","OP06-086","ST10-001","OP06-116","OP14-020"]);var BANNED_PAIRS=[["OP07-115","EB04-058"],["OP11-040","OP11-067"],["OP11-040","OP08-069"]];var isEventRestricted=card=>card.rules.eventRestricted;function copyLimit(card){return card.rules.copyLimit}function validateDeck(deck){const errors=[];const format=deck.format??"standard";const leader=cardRegistry.get(deck.leader);if(!leader||leader.category!=="leader"){errors.push("Choose one supported Leader card.")}else if(BANNED_CARDS.has(leader.cardNumber)){errors.push(`${leader.cardNumber} is currently banned from official decks. Choose another Leader.`)}else if(isEventRestricted(leader)){errors.push(`${leader.cardNumber} may only be used in designated events, not in constructed decks.`)}else{const leaderLegality=cardFormatLegality(leader.cardNumber,format);if(!leaderLegality.legal){errors.push(`${leader.cardNumber} is not legal in Standard: ${leaderLegality.reason}. Build this deck for Extra Regulation, or choose another Leader.`)}}let cardCount=0;for(const[cardNumber,quantity]of Object.entries(deck.cards)){cardCount+=quantity;if(BANNED_CARDS.has(cardNumber)){errors.push(`${cardNumber} is currently banned from official decks.`)}const card=cardRegistry.get(cardNumber);if(!card||card.category==="leader"){errors.push(`${cardNumber} is not a supported main-deck card.`);continue}const legality=cardFormatLegality(cardNumber,format);if(!legality.legal){errors.push(`${cardNumber} is not legal in Standard: ${legality.reason}. Build this deck for Extra Regulation, or replace it.`)}if(!Number.isInteger(quantity)||quantity<1){errors.push(`${cardNumber} must have a positive whole-number quantity.`)}else if(quantity>copyLimit(card)){errors.push(`${cardNumber} allows at most ${copyLimit(card)} copies.`)}if(leader?.colors?.length&&card.colors?.length&&!card.colors.some(color=>leader.colors.includes(color))){errors.push(`${cardNumber} (${card.colors.join("/")}) does not match the Leader's ${leader.colors.join("/")} colors.`)}const requiredType=leader?.rules.deckTypeRestriction??"";if(requiredType&&!card.types.includes(requiredType)){errors.push(`${cardNumber} is not a {${requiredType}} type card, which ${leader.cardNumber} restricts the deck to.`)}const eventCostLimit=leader?.rules.deckEventCostLimit??null;if(eventCostLimit!==null&&card.category==="event"&&(card.cost??0)>=eventCostLimit){errors.push(`${cardNumber} is an Event with a cost of ${card.cost}, and ${leader.cardNumber} bars Events with a cost of ${eventCostLimit} or more.`)}const costLimit=leader?.rules.deckCostLimit??null;if(costLimit!==null&&(card.cost??0)>=costLimit){errors.push(`${cardNumber} has a cost of ${card.cost}, and ${leader.cardNumber} bars cards with a cost of ${costLimit} or more.`)}}for(const[first,second]of BANNED_PAIRS){if(deck.cards[first]&&deck.cards[second]){errors.push(`${first} and ${second} cannot be included in the same deck.`)}}if(cardCount!==50)errors.unshift(`The deck must contain exactly 50 cards (currently ${cardCount}).`);return{cardCount,format,errors}}function parseDeckList(value){const parsed={leader:"",cards:{},format:"standard"};for(const[index,rawLine]of value.split(/\r?\n/).entries()){const line=rawLine.trim();if(!line||line.startsWith("#")||line.startsWith("//"))continue;const match=line.match(/^(\d+)\s*x?\s+?([A-Z0-9]+-[A-Z0-9]+)(?:\s+.*)?$/i)??line.match(/^(\d+)x([A-Z0-9]+-[A-Z0-9]+)(?:\s+.*)?$/i);if(!match)throw new Error(`Line ${index+1} is not a quantity and card number.`);const quantity=Number(match[1]);const cardNumber=match[2].toUpperCase();const card=cardRegistry.get(cardNumber);if(card?.category==="leader"){if(quantity!==1||parsed.leader)throw new Error("A list must contain exactly one Leader.");parsed.leader=cardNumber}else{parsed.cards[cardNumber]=(parsed.cards[cardNumber]??0)+quantity}}return parsed}function exportDeckList(deck){const lines=[`1x ${deck.leader}`];for(const[cardNumber,quantity]of Object.entries(deck.cards).sort()){lines.push(`${quantity}x ${cardNumber}`)}return`${lines.join("\n")}
|
|
2
|
-
`}var communityDeckManifests={"(Blue/Yellow) Nami - Official Feature Deck":op16NamiManifest,"(Black/Yellow) Marshall.D.Teach - Official Feature Deck":op16TeachManifest,"(Purple) Enel - Official Feature Deck":op16EnelManifest,"(Red/Black) Sabo - 1st Place PlayTCG EGB 2026-09-20":op13SaboTournamentManifest,"(Green) Shanks - Official Feature Deck":op17ShanksManifest,"(Blue) Rocks.D.Xebec - Official Feature Deck":op17XebecManifest,"(Black) Monkey.D.Luffy - Official Feature Deck":op17LuffyManifest,"(Red) Portgas.D.Ace - Official Feature Deck":op16AceManifest,"(Purple) Kaido - Official Feature Deck":op17KaidoManifest,"(Red/Yellow) Jewelry Bonney - Official Feature Deck":eb04BonneyManifest,"(Green/Yellow) Yamato - Official Feature Deck":op06YamatoManifest,"(Red) Edward.Newgate - Official Feature Deck":op17NewgateManifest,"(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1":op09RobinManifest,"(Purple) Sengoku - Official Feature Deck":op16SengokuManifest,"(Red/Green) Krieg - Official Feature Deck":op15KriegManifest,"(Red/Blue) Lucy - Official Feature Deck":op15LucyManifest,"(Blue) Rebecca - Official Feature Deck":op15RebeccaManifest,"(Black) Imu - Official Feature Deck":op13ImuManifest,"(Red/Purple) Gol.D.Roger - Official Feature Deck":op13RogerManifest,"(Green/Black) Brook - Official Feature Deck":op15BrookManifest,"(Yellow) Monkey.D.Luffy - Official Feature Deck":op15LuffyManifest,"(Red/Blue) Nefeltari Vivi - Official Feature Deck":eb03ViviManifest,"(Red) Trafalgar Law - Official Feature Deck":op14LawManifest,"(Blue/Yellow) Boa Hancock - Official Feature Deck":op14HancockManifest,"(Blue) Jinbe - Official Feature Deck":op14JinbeManifest,"(Black) Yamato - Official Feature Deck":op16YamatoManifest,"(Black) Crocodile - Official Feature Deck":op14CrocodileManifest,"(Black/Yellow) Gecko Moria - Official Feature Deck":op14MoriaManifest,"(Black/Yellow) Koala - Official Feature Deck":op12KoalaManifest,"(Green/Purple) Monkey.D.Luffy - Official Feature Deck":eb02LuffyManifest,"(Green/Yellow) Shirahoshi - Official Feature Deck":op11ShirahoshiManifest,"(Red/Blue) Portgas.D.Ace - Official Feature Deck":op13AceManifest,"(Blue/Purple) Sanji - Official Feature Deck":op12SanjiManifest,"(Blue/Black) Usopp - Official Feature Deck":op10UsoppManifest,"(Green) Jinbe - Official Feature Deck":op11JinbeManifest,"(Blue) Buggy - Official Feature Deck":op09BuggyManifest,"(Red) Silvers Rayleigh - Official Feature Deck":op12RayleighManifest,"(Purple) Donquixote Doflamingo - Official Feature Deck":op14DoflamingoManifest,"(Yellow) Charlotte Linlin - Official Feature Deck":op17LinlinManifest,"(Purple) Kaido - Open OPTCG":op17KaidoFieldManifest,"(Red/Green) Luffy & Ace - Open OPTCG":op17LuffyAceManifest,"(Black) Monkey.D.Luffy - Open OPTCG":op17LuffyTournamentManifest,"(Red) Portgas.D.Ace - Open OPTCG":op16AceOpenManifest,"(Blue) Rocks.D.Xebec - Open OPTCG":op17XebecOpenManifest,"(Purple/Yellow) Charlotte Pudding - Open OPTCG":op08PuddingManifest,"(Green) Roronoa Zoro - OP17 Post-Ban List":op12ZoroManifest,"(Blue) Kuzan - 1st Place Bandai Hiroshima":st33KuzanTournamentManifest,"(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27":op06ReijuRegionalManifest,"(Red/Black) Koby - 2nd Place Indonesia Regional Final":op11KobyTournamentManifest,"(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105":op14HancockTournamentManifest,"(Blue) Buggy - 12th Place ChinoizeCup #124":op09BuggyTournamentManifest,"(Red) Trafalgar Law - 9th Place ChinoizeCup #125":op14LawTournamentManifest,"(Green/Yellow) Nico Robin - EB05 Wisdom List":eb05RobinManifest,"(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15":st29LuffyTournamentManifest,"(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02":op11KatakuriTournamentManifest,"(Purple) Monkey.D.Luffy - 1st Place Store Battle 2025-07-01":op05LuffyTournamentManifest,"(Yellow) Eustass Kid - ChinoizeCup #104":op10KidTournamentManifest,"(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125":op11ShirahoshiTournamentManifest,"(Blue/Purple) Sanji - ChinoizeCup #116":op12SanjiTournamentManifest,"(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20":op06YamatoTournamentManifest,"(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19":op07VegapunkStoreBattleManifest,"(Red) Shanks - 1st Place Store Battle 2026-06-29":op09ShanksTournamentManifest,"(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22":op13RogerTournamentManifest,"(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28":eb03ViviTournamentManifest,"(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30":op14DoflamingoTournamentManifest,"(Black/Yellow) Koala - 30th Place ChinoizeCup #113":op12KoalaTournamentManifest,"(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120":op14MoriaTournamentManifest,"(Green) Shanks - 16th Place Rumble League #9":op17ShanksTournamentManifest,"(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25":op15EnelChinoizeManifest,"(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124":op12RayleighTournamentManifest,"(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104":eb04BonneyTournamentManifest,"(Blue) Jinbe - 11th Place ChinoizeCup #120":op14JinbeTournamentManifest,"(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01":op13AceTournamentManifest,"(Yellow) Enel - TCG Match Making OP17.5 #3":op05EnelTcgmmManifest,"(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25":eb02LuffyTournamentManifest,"(Green) Jinbe - 1st Place Shop Event 2026-09-16":op11JinbeTournamentManifest,"(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13":op09LuffyTournamentManifest,"(Red) Monkey.D.Luffy - Open OPTCG":st21LuffyOpenManifest,"(Yellow) Charlotte Linlin - ChinoizeCup #121":op17LinlinTournamentManifest,"(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05":op13LuffyMiracleManifest,"(Purple) Monkey.D.Luffy - Starter Deck 18":st18LuffyManifest,"(Blue) Ace & Newgate - Starter Deck 22":st22AceNewgateManifest,"(Red) Shanks - Starter Deck 23":st23ShanksManifest,"(Purple/Black) Monkey.D.Luffy - Starter Deck 26":st26LuffyManifest,"(Black) Marshall.D.Teach - Starter Deck 27":st27TeachManifest,"(Yellow) Monkey.D.Luffy - Starter Deck 29":st29LuffyManifest,"(Red/Green) Luffy & Ace - Starter Deck 30":st30LuffyAceManifest};var COMMUNITY_DECK_IDS=Object.keys(communityDeckManifests);function rowsFor(deckId,deck){return[[deck.leader,"leader",1],...Object.entries(deck.cards).map(([cardNumber,quantity])=>[cardNumber,"deck-card",quantity])].map(([cardNumber,role,quantity])=>{const card=requireKnownCard(cardNumber);return{deckId,cardNumber,role,quantity,officialTextHash:card.officialTextHash??"",sourceMatch:card.sourceMatch??false,format:deckFormat(deck),blocks:cardBlockIcons(cardNumber)}})}var formatDeckCardRows=formatDeckManifests.flatMap(deck=>rowsFor(deck.id,deck));var communityDeckCardRows=COMMUNITY_DECK_IDS.flatMap(deckId=>rowsFor(deckId,communityDeckManifests[deckId]));var deckCardRows=[...formatDeckCardRows,...communityDeckCardRows];var shippedDecks=new Map([...formatDeckManifests.map(deck=>[deck.id,deck]),...COMMUNITY_DECK_IDS.map(deckId=>[deckId,communityDeckManifests[deckId]])]);var SEALED_EXPANSIONS=[{code:"OP10",productCode:"OP-10",title:"Royal Blood",productPage:"https://en.onepiece-cardgame.com/products/boosters/op10.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op10/img_item01.webp"},{code:"OP11",productCode:"OP-11",title:"A Fist of Divine Speed",productPage:"https://en.onepiece-cardgame.com/products/boosters/op11.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op11/img_item01.webp"},{code:"OP12",productCode:"OP-12",title:"Legacy of the Master",productPage:"https://en.onepiece-cardgame.com/products/boosters/op12.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op12/img_item01.webp"},{code:"OP13",productCode:"OP-13",title:"Carrying On His Will",productPage:"https://en.onepiece-cardgame.com/products/boosters/op13/",packImageUrl:"https://en.onepiece-cardgame.com/products/boosters/op13/images/img_item01.webp"},{code:"OP14",productCode:"OP14-EB04",title:"The Azure Sea's Seven",productPage:"https://en.onepiece-cardgame.com/products/boosters/op14-eb04.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op14/img_item01.webp"},{code:"OP15",productCode:"OP15-EB04",title:"Adventure on Kami's Island",productPage:"https://en.onepiece-cardgame.com/products/boosters/op15-eb04.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op15-eb04/img_item01.webp"},{code:"OP16",productCode:"OP-16",title:"The Time of Battle",productPage:"https://en.onepiece-cardgame.com/products/op16.html",packImageUrl:"https://en.onepiece-cardgame.com/onepiececg/bccard/en/products/2026/03/26/olc1E9Gg9WXeLP6V/img_item01.webp"},{code:"OP17",productCode:"OP-17",title:"The World's Strongest Warriors",productPage:"https://en.onepiece-cardgame.com/products/boosters/op17/",packImageUrl:"https://en.onepiece-cardgame.com/products/boosters/op17/images/others/product_pack.webp"}];var DEFAULT_SEALED_EXPANSION=SEALED_EXPANSIONS.at(-1).code;var FORMAT_DECK_IDS=["(Red) Monkey.D.Luffy - Starter Deck 31","(Green) Roronoa Zoro - Starter Deck 32","(Blue) Kuzan - Starter Deck 33","(Purple) Charlotte Katakuri - Starter Deck 34","(Red/Black) Sabo - Starter Deck 35","(Yellow) Eustass Kid - Starter Deck 36"];var HAND_BUILT_DECK_IDS=["(Green/Blue) Monkey.D.Luffy - Official Feature Deck"];var STARTER_DECK_IDS=["(Purple) Monkey.D.Luffy - Starter Deck 18","(Blue) Ace & Newgate - Starter Deck 22","(Red) Shanks - Starter Deck 23","(Purple/Black) Monkey.D.Luffy - Starter Deck 26","(Black) Marshall.D.Teach - Starter Deck 27","(Yellow) Monkey.D.Luffy - Starter Deck 29","(Red/Green) Luffy & Ace - Starter Deck 30"];var STARTER_DECK_SUFFIX=/ - Starter Deck (\d+)$/;function deckShelf(deckId){if(STARTER_DECK_SUFFIX.test(deckId))return"starter";if(deckId.endsWith(" - Official Feature Deck"))return"official";return"tournament"}var TOURNAMENT_DECK_IDS=["(Blue/Yellow) Nami - Official Feature Deck","(Black/Yellow) Marshall.D.Teach - Official Feature Deck","(Purple) Enel - Official Feature Deck","(Red/Black) Sabo - 1st Place PlayTCG EGB 2026-09-20","(Green) Shanks - Official Feature Deck","(Blue) Rocks.D.Xebec - Official Feature Deck","(Black) Monkey.D.Luffy - Official Feature Deck","(Red) Portgas.D.Ace - Official Feature Deck","(Purple) Kaido - Official Feature Deck","(Green/Yellow) Yamato - Official Feature Deck","(Red/Yellow) Jewelry Bonney - Official Feature Deck","(Red) Edward.Newgate - Official Feature Deck","(Purple) Sengoku - Official Feature Deck","(Red/Green) Krieg - Official Feature Deck","(Red/Blue) Lucy - Official Feature Deck","(Blue) Rebecca - Official Feature Deck","(Black) Imu - Official Feature Deck","(Red/Purple) Gol.D.Roger - Official Feature Deck","(Green/Black) Brook - Official Feature Deck","(Yellow) Monkey.D.Luffy - Official Feature Deck","(Red/Blue) Nefeltari Vivi - Official Feature Deck","(Red) Trafalgar Law - Official Feature Deck","(Blue/Yellow) Boa Hancock - Official Feature Deck","(Blue) Jinbe - Official Feature Deck","(Black) Yamato - Official Feature Deck","(Black) Crocodile - Official Feature Deck","(Black/Yellow) Gecko Moria - Official Feature Deck","(Black/Yellow) Koala - Official Feature Deck","(Green/Purple) Monkey.D.Luffy - Official Feature Deck","(Green/Yellow) Shirahoshi - Official Feature Deck","(Red/Blue) Portgas.D.Ace - Official Feature Deck","(Blue/Purple) Sanji - Official Feature Deck","(Blue/Black) Usopp - Official Feature Deck","(Green) Jinbe - Official Feature Deck","(Blue) Buggy - Official Feature Deck","(Red) Silvers Rayleigh - Official Feature Deck","(Purple) Donquixote Doflamingo - Official Feature Deck","(Yellow) Charlotte Linlin - Official Feature Deck","(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1","(Purple) Kaido - Open OPTCG","(Red/Green) Luffy & Ace - Open OPTCG","(Black) Monkey.D.Luffy - Open OPTCG","(Red) Portgas.D.Ace - Open OPTCG","(Blue) Rocks.D.Xebec - Open OPTCG","(Purple/Yellow) Charlotte Pudding - Open OPTCG","(Green) Roronoa Zoro - OP17 Post-Ban List","(Blue) Kuzan - 1st Place Bandai Hiroshima","(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27","(Red/Black) Koby - 2nd Place Indonesia Regional Final","(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105","(Blue) Buggy - 12th Place ChinoizeCup #124","(Red) Trafalgar Law - 9th Place ChinoizeCup #125","(Green/Yellow) Nico Robin - EB05 Wisdom List","(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15","(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02","(Purple) Monkey.D.Luffy - 1st Place Store Battle 2025-07-01","(Yellow) Eustass Kid - ChinoizeCup #104","(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125","(Blue/Purple) Sanji - ChinoizeCup #116","(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20","(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19","(Red) Shanks - 1st Place Store Battle 2026-06-29","(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22","(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28","(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30","(Black/Yellow) Koala - 30th Place ChinoizeCup #113","(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120","(Green) Shanks - 16th Place Rumble League #9","(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25","(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124","(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104","(Blue) Jinbe - 11th Place ChinoizeCup #120","(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01","(Yellow) Enel - TCG Match Making OP17.5 #3","(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25","(Green) Jinbe - 1st Place Shop Event 2026-09-16","(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13","(Red) Monkey.D.Luffy - Open OPTCG","(Yellow) Charlotte Linlin - ChinoizeCup #121","(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05"];function deckFormat(manifest){return manifest.format??"standard"}var handBuiltDecks={"(Green/Blue) Monkey.D.Luffy - Official Feature Deck":{id:"(Green/Blue) Monkey.D.Luffy - Official Feature Deck",format:"standard",leader:"OP16-022",cards:{"OP16-034":4,"OP16-054":4,"OP16-055":4,"ST30-014":2,"OP16-027":1,"OP16-045":4,"OP16-056":4,"OP16-026":3,"OP16-048":4,"OP16-042":8,"OP15-032":1,"OP16-032":3,"OP12-057":1,"OP16-038":2,"OP12-037":1,"OP13-040":1,"OP11-061":1,"OP06-058":2}}};var tournamentDecks={"(Blue/Yellow) Nami - Official Feature Deck":op16NamiManifest,"(Black/Yellow) Marshall.D.Teach - Official Feature Deck":op16TeachManifest,"(Purple) Enel - Official Feature Deck":op16EnelManifest,"(Red/Black) Sabo - 1st Place PlayTCG EGB 2026-09-20":op13SaboTournamentManifest,"(Green) Shanks - Official Feature Deck":op17ShanksManifest,"(Blue) Rocks.D.Xebec - Official Feature Deck":op17XebecManifest,"(Black) Monkey.D.Luffy - Official Feature Deck":op17LuffyManifest,"(Red) Portgas.D.Ace - Official Feature Deck":op16AceManifest,"(Purple) Kaido - Official Feature Deck":op17KaidoManifest,"(Green/Yellow) Yamato - Official Feature Deck":op06YamatoManifest,"(Red/Yellow) Jewelry Bonney - Official Feature Deck":eb04BonneyManifest,"(Red) Edward.Newgate - Official Feature Deck":op17NewgateManifest,"(Purple) Sengoku - Official Feature Deck":op16SengokuManifest,"(Red/Green) Krieg - Official Feature Deck":op15KriegManifest,"(Red/Blue) Lucy - Official Feature Deck":op15LucyManifest,"(Blue) Rebecca - Official Feature Deck":op15RebeccaManifest,"(Black) Imu - Official Feature Deck":op13ImuManifest,"(Red/Purple) Gol.D.Roger - Official Feature Deck":op13RogerManifest,"(Green/Black) Brook - Official Feature Deck":op15BrookManifest,"(Yellow) Monkey.D.Luffy - Official Feature Deck":op15LuffyManifest,"(Red/Blue) Nefeltari Vivi - Official Feature Deck":eb03ViviManifest,"(Red) Trafalgar Law - Official Feature Deck":op14LawManifest,"(Blue/Yellow) Boa Hancock - Official Feature Deck":op14HancockManifest,"(Blue) Jinbe - Official Feature Deck":op14JinbeManifest,"(Black) Yamato - Official Feature Deck":op16YamatoManifest,"(Black) Crocodile - Official Feature Deck":op14CrocodileManifest,"(Black/Yellow) Gecko Moria - Official Feature Deck":op14MoriaManifest,"(Black/Yellow) Koala - Official Feature Deck":op12KoalaManifest,"(Green/Purple) Monkey.D.Luffy - Official Feature Deck":eb02LuffyManifest,"(Green/Yellow) Shirahoshi - Official Feature Deck":op11ShirahoshiManifest,"(Red/Blue) Portgas.D.Ace - Official Feature Deck":op13AceManifest,"(Blue/Purple) Sanji - Official Feature Deck":op12SanjiManifest,"(Blue/Black) Usopp - Official Feature Deck":op10UsoppManifest,"(Green) Jinbe - Official Feature Deck":op11JinbeManifest,"(Blue) Buggy - Official Feature Deck":op09BuggyManifest,"(Red) Silvers Rayleigh - Official Feature Deck":op12RayleighManifest,"(Purple) Donquixote Doflamingo - Official Feature Deck":op14DoflamingoManifest,"(Yellow) Charlotte Linlin - Official Feature Deck":op17LinlinManifest,"(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1":op09RobinManifest,"(Purple) Kaido - Open OPTCG":op17KaidoFieldManifest,"(Red/Green) Luffy & Ace - Open OPTCG":op17LuffyAceManifest,"(Black) Monkey.D.Luffy - Open OPTCG":op17LuffyTournamentManifest,"(Red) Portgas.D.Ace - Open OPTCG":op16AceOpenManifest,"(Blue) Rocks.D.Xebec - Open OPTCG":op17XebecOpenManifest,"(Purple/Yellow) Charlotte Pudding - Open OPTCG":op08PuddingManifest,"(Green) Roronoa Zoro - OP17 Post-Ban List":op12ZoroManifest,"(Blue) Kuzan - 1st Place Bandai Hiroshima":st33KuzanTournamentManifest,"(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27":op06ReijuRegionalManifest,"(Red/Black) Koby - 2nd Place Indonesia Regional Final":op11KobyTournamentManifest,"(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105":op14HancockTournamentManifest,"(Blue) Buggy - 12th Place ChinoizeCup #124":op09BuggyTournamentManifest,"(Red) Trafalgar Law - 9th Place ChinoizeCup #125":op14LawTournamentManifest,"(Green/Yellow) Nico Robin - EB05 Wisdom List":eb05RobinManifest,"(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15":st29LuffyTournamentManifest,"(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02":op11KatakuriTournamentManifest,"(Purple) Monkey.D.Luffy - 1st Place Store Battle 2025-07-01":op05LuffyTournamentManifest,"(Yellow) Eustass Kid - ChinoizeCup #104":op10KidTournamentManifest,"(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125":op11ShirahoshiTournamentManifest,"(Blue/Purple) Sanji - ChinoizeCup #116":op12SanjiTournamentManifest,"(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20":op06YamatoTournamentManifest,"(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19":op07VegapunkStoreBattleManifest,"(Red) Shanks - 1st Place Store Battle 2026-06-29":op09ShanksTournamentManifest,"(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22":op13RogerTournamentManifest,"(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28":eb03ViviTournamentManifest,"(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30":op14DoflamingoTournamentManifest,"(Black/Yellow) Koala - 30th Place ChinoizeCup #113":op12KoalaTournamentManifest,"(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120":op14MoriaTournamentManifest,"(Green) Shanks - 16th Place Rumble League #9":op17ShanksTournamentManifest,"(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25":op15EnelChinoizeManifest,"(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124":op12RayleighTournamentManifest,"(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104":eb04BonneyTournamentManifest,"(Blue) Jinbe - 11th Place ChinoizeCup #120":op14JinbeTournamentManifest,"(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01":op13AceTournamentManifest,"(Yellow) Enel - TCG Match Making OP17.5 #3":op05EnelTcgmmManifest,"(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25":eb02LuffyTournamentManifest,"(Green) Jinbe - 1st Place Shop Event 2026-09-16":op11JinbeTournamentManifest,"(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13":op09LuffyTournamentManifest,"(Red) Monkey.D.Luffy - Open OPTCG":st21LuffyOpenManifest,"(Yellow) Charlotte Linlin - ChinoizeCup #121":op17LinlinTournamentManifest,"(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05":op13LuffyMiracleManifest};var starterDecks={"(Purple) Monkey.D.Luffy - Starter Deck 18":st18LuffyManifest,"(Blue) Ace & Newgate - Starter Deck 22":st22AceNewgateManifest,"(Red) Shanks - Starter Deck 23":st23ShanksManifest,"(Purple/Black) Monkey.D.Luffy - Starter Deck 26":st26LuffyManifest,"(Black) Marshall.D.Teach - Starter Deck 27":st27TeachManifest,"(Yellow) Monkey.D.Luffy - Starter Deck 29":st29LuffyManifest,"(Red/Green) Luffy & Ace - Starter Deck 30":st30LuffyAceManifest};var fixtureDecks={"FIXTURE-RED":{id:"FIXTURE-RED",leader:"FIX-LEADER-R",cards:{"FIX-001":30,"FIX-002":20}},"FIXTURE-BLUE":{id:"FIXTURE-BLUE",leader:"FIX-LEADER-B",cards:{"FIX-001":20,"FIX-002":30}}};var SELECTABLE_DECK_IDS=[...FORMAT_DECK_IDS,...HAND_BUILT_DECK_IDS,...TOURNAMENT_DECK_IDS,...STARTER_DECK_IDS];var deckManifests=Object.fromEntries([...Object.values(fixtureDecks).map(deck=>[deck.id,deck]),...Object.values(handBuiltDecks).map(deck=>[deck.id,deck]),...Object.values(tournamentDecks).map(deck=>[deck.id,deck]),...Object.values(starterDecks).map(deck=>[deck.id,deck]),...formatDeckManifests.map(deck=>[deck.id,{...deck,cards:{...deck.cards}}])]);function isRecommendedDeck(deckId){return deckManifests[deckId]?.recommended===true}function deckDisplayName(deckId){return displayNames.get(deckId)??deckId}function nameDeckLists(lists){const names=new Map;const seen=new Map;const ordered=[...lists].sort((left,right)=>Number(!!right.recommended)-Number(!!left.recommended));for(const list of ordered){const leader=requireKnownCard(list.leader);const title=`${leader.name} (${leader.colors?.join("/")??"No colour"})`;const key=`${list.shelf}|${title}`;const count=(seen.get(key)??0)+1;seen.set(key,count);names.set(list.id,count===1?title:`${title} (${String(count)})`)}return names}var displayNames=nameDeckLists(SELECTABLE_DECK_IDS.map(id=>({id,leader:deckManifests[id].leader,shelf:deckShelf(id),recommended:isRecommendedDeck(id)})));function requireSupportedDeck(deckId){const manifest=deckManifests[deckId];if(!manifest)throw new Error(`UNSUPPORTED_DECK: ${deckId}`);return manifest}function loadDeckManifest(manifest){const cards=Object.entries(manifest.cards).flatMap(([cardNumber,quantity])=>{requireKnownCard(cardNumber);return Array.from({length:quantity},()=>cardNumber)});const expected=manifest.deckSize??50;if(cards.length!==expected){throw new Error(`INVALID_DECK_SIZE: ${manifest.id} contains ${cards.length} cards, expected ${expected}`)}return cards}function resolveDeck(deckId,customDeck){const manifest=customDeck??requireSupportedDeck(deckId);return{leader:manifest.leader,cards:loadDeckManifest(manifest),seedKey:deckId}}export{STARTER_DECK_IDS,deckDisplayName,deckManifests,exportDeckList,parseDeckList,resolveDeck,validateDeck};
|
|
1
|
+
import"./chunks/chunk-5QCGQIMI.js";import{cardBlockIcons,cardFormatLegality,cardRegistry,requireKnownCard}from"./chunks/chunk-4I54H2QI.js";var formatDeckManifests=[{id:"(Red) Monkey.D.Luffy - Starter Deck 31",leader:"ST21-001",cards:{"ST31-005":2,"ST31-004":2,"ST31-001":2,"ST31-002":4,"ST31-003":4,"OP01-016":4,"OP11-003":4,"OP11-009":4,"OP11-012":4,"OP14-015":4,"ST23-004":4,"P-101":4,"OP04-016":4,"OP13-021":4}},{id:"(Green) Roronoa Zoro - Starter Deck 32",leader:"OP12-020",cards:{"OP12-028":4,"ST32-001":4,"ST32-002":2,"OP12-023":4,"ST32-003":2,"ST32-004":4,"ST32-005":2,"OP10-036":4,"OP12-026":4,"OP15-036":4,"OP12-031":4,"ST24-005":4,"OP12-027":4,"OP12-039":4}},{id:"(Blue) Kuzan - Starter Deck 33",leader:"OP12-040",cards:{"ST33-001":4,"ST33-002":4,"ST33-003":2,"ST33-004":2,"ST33-005":2,"EB04-026":4,"EB04-028":4,"OP12-043":4,"OP12-045":4,"OP12-047":4,"OP12-050":4,"OP12-052":4,"OP12-046":4,"OP12-057":4}},{id:"(Purple) Charlotte Katakuri - Starter Deck 34",leader:"OP11-062",cards:{"ST34-001":2,"ST34-002":4,"ST34-003":2,"ST34-004":2,"ST34-005":4,"EB03-032":4,"EB03-035":4,"OP11-065":4,"OP11-066":4,"OP11-068":4,"OP11-071":4,"OP11-079":4,"OP11-081":4,"P-090":4}},{id:"(Red/Black) Sabo - Starter Deck 35",leader:"OP13-004",cards:{"ST35-001":4,"ST35-002":2,"ST35-003":4,"ST35-004":2,"ST35-005":2,"OP13-081":4,"OP13-008":4,"OP12-090":4,"OP12-093":4,"OP12-098":4,"OP13-005":4,"P-105":4,"OP13-019":4,"OP13-017":4}},{id:"(Yellow) Eustass Kid - Starter Deck 36",leader:"OP10-099",cards:{"ST36-002":2,"ST36-005":2,"ST36-001":4,"ST36-003":2,"ST36-004":4,"OP13-116":4,"OP10-101":4,"OP10-103":4,"OP10-109":4,"OP10-111":4,"P-088":4,"P-085":4,"OP12-113":4,"OP10-114":4}}];var op16EnelManifest={id:"(Purple) Enel - Official Feature Deck",format:"standard",leader:"OP15-058",cards:{"OP12-071":4,"OP15-061":4,"OP15-066":2,"OP15-067":4,"OP09-072":4,"OP12-063":4,"OP10-067":1,"OP15-118":4,"OP15-074":4,"OP15-075":4,"OP15-076":4,"OP15-077":4,"OP15-078":4,"OP05-077":3}};var op16SengokuManifest={id:"(Purple) Sengoku - Official Feature Deck",featuredOn:{page:105,posted:"2026-06-12"},format:"standard",leader:"OP16-060",cards:{"OP16-064":4,"OP16-067":4,"OP16-070":4,"OP16-062":4,"OP16-066":4,"OP16-075":4,"OP16-063":4,"OP16-065":4,"OP16-073":4,"OP15-078":4,"OP16-076":4,"OP16-077":4,"OP16-078":2}};var op16NamiManifest={id:"(Blue/Yellow) Nami - Official Feature Deck",format:"standard",leader:"OP11-041",cards:{"OP14-102":4,"OP06-106":4,"OP11-106":3,"OP14-110":4,"OP14-111":4,"OP16-056":4,"OP06-104":2,"PRB02-008":1,"OP15-113":1,"EB03-053":4,"EB04-058":4,"OP15-114":1,"EB03-055":4,"OP14-104":4,"OP16-119":2,"OP13-042":3,"OP06-058":1}};var op16TeachManifest={id:"(Black/Yellow) Marshall.D.Teach - Official Feature Deck",format:"standard",leader:"OP16-080",cards:{"OP09-093":4,"OP16-119":4,"OP16-108":4,"OP09-086":4,"OP15-113":1,"OP16-103":1,"OP16-104":4,"OP16-106":1,"OP16-109":4,"OP16-110":4,"EB04-058":4,"OP12-112":4,"OP16-116":2,"EB04-059":2,"OP09-099":4,"OP09-096":3}};var op13SaboTcgmmManifest={id:"(Red/Black) Sabo - TCG Match Making EB05 #8",format:"standard",leader:"OP13-004",recommended:true,cards:{"EB05-046":4,"EB05-047":4,"OP04-016":1,"OP15-088":3,"OP17-080":4,"OP17-082":4,"OP17-083":2,"OP17-084":2,"OP17-086":2,"OP17-087":4,"OP17-089":4,"OP17-093":4,"OP17-095":4,"OP17-096":2,"OP17-119":3,"ST01-011":3}};var op17ShanksManifest={id:"(Green) Shanks - Official Feature Deck",featuredOn:{page:112,posted:"2026-08-28"},format:"standard",leader:"OP17-020",cards:{"OP17-021":2,"OP17-026":2,"OP17-032":4,"OP17-025":4,"OP17-029":4,"OP17-033":4,"OP17-031":4,"ST32-002":4,"OP17-027":4,"OP17-024":2,"ST16-004":2,"OP17-022":4,"ST24-004":2,"OP17-038":2,"OP17-036":2,"OP17-037":4}};var op17XebecManifest={id:"(Blue) Rocks.D.Xebec - Official Feature Deck",featuredOn:{page:111,posted:"2026-08-28"},format:"standard",leader:"OP17-039",cards:{"OP17-050":2,"OP17-045":2,"OP17-052":2,"OP17-054":4,"OP17-042":4,"OP17-044":4,"OP17-046":4,"OP17-049":4,"OP17-040":4,"OP17-048":4,"OP17-118":4,"OP17-055":4,"OP17-056":4,"OP17-057":4}};var op17KaidoManifest={id:"(Purple) Kaido - Official Feature Deck",featuredOn:{page:110,posted:"2026-08-28"},format:"standard",leader:"OP17-058",cards:{"EB04-032":4,"OP17-075":4,"OP17-068":4,"OP17-073":4,"OP17-074":4,"EB04-031":4,"OP17-060":4,"OP17-061":4,"OP17-065":3,"OP17-069":3,"OP17-062":4,"OP17-063":4,"OP17-076":2,"OP17-078":2}};var op17KaidoFieldManifest={id:"(Purple) Kaido - Open OPTCG",format:"standard",leader:"OP17-058",cards:{"EB04-032":4,"OP17-075":2,"OP17-073":4,"OP17-074":4,"OP08-074":2,"EB04-031":4,"EB04-030":2,"OP17-061":3,"OP17-065":2,"OP17-062":4,"OP17-063":3,"ST34-004":3,"OP07-077":4,"OP07-076":3,"OP15-078":3,"OP08-077":2,"OP17-076":1}};var op17LuffyManifest={id:"(Black) Monkey.D.Luffy - Official Feature Deck",featuredOn:{page:109,posted:"2026-08-28"},format:"standard",leader:"OP17-079",cards:{"OP17-080":4,"OP17-081":4,"OP17-082":2,"OP17-084":2,"OP17-085":4,"OP17-086":4,"OP17-087":4,"OP17-089":4,"OP17-091":2,"OP17-092":4,"OP17-093":4,"OP17-094":2,"OP17-095":4,"OP17-096":2,"OP17-119":4}};var op17LuffyTournamentManifest={id:"(Black) Monkey.D.Luffy - Open OPTCG",format:"standard",leader:"OP17-079",cards:{"OP17-084":2,"OP17-086":4,"OP17-094":4,"OP17-080":4,"OP17-081":4,"OP17-082":4,"OP17-087":4,"OP17-095":4,"OP17-089":4,"OP15-088":4,"OP17-119":4,"OP15-092":1,"OP17-093":3,"OP17-096":1,"ST14-017":3}};var st33KuzanTournamentManifest={id:"(Blue) Kuzan - 1st Place Bandai Hiroshima",format:"standard",leader:"OP12-040",cards:{"OP06-050":4,"ST33-001":4,"ST33-003":4,"OP12-047":4,"OP12-051":3,"OP16-056":4,"EB04-022":4,"OP12-043":2,"ST33-004":4,"ST33-005":4,"OP12-044":3,"OP06-043":1,"OP12-056":2,"OP12-057":3,"EB04-028":3,"OP06-058":1}};var op06ReijuRegionalManifest={id:"(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27",format:"standard",leader:"OP06-042",recommended:true,cards:{"OP06-060":4,"OP06-061":4,"OP06-062":1,"OP06-063":4,"OP06-068":4,"OP06-069":4,"OP06-072":3,"OP06-079":4,"OP07-066":4,"OP07-072":4,"OP08-074":4,"OP10-063":4,"OP11-043":2,"OP11-047":4}};var op11KobyTournamentManifest={id:"(Red/Black) Koby - 2nd Place Indonesia Regional Final",format:"standard",leader:"OP11-001",cards:{"OP11-082":4,"OP11-096":3,"EB04-047":4,"EB03-041":4,"OP11-092":4,"EB04-044":4,"OP11-004":4,"OP11-013":1,"OP13-007":2,"EB03-008":4,"OP11-008":4,"PRB02-001":1,"EB04-003":2,"OP11-097":4,"OP11-099":4,"OP13-020":1}};var op16AceOpenManifest={id:"(Red) Portgas.D.Ace - Open OPTCG",format:"standard",leader:"OP16-001",cards:{"OP13-016":4,"OP10-005":3,"OP17-016":2,"OP16-015":4,"OP16-017":4,"EB01-002":2,"OP16-118":4,"OP16-011":3,"OP16-014":3,"OP16-004":4,"OP17-006":4,"OP16-003":3,"OP17-005":3,"OP17-017":3,"OP16-021":4}};var op17XebecOpenManifest={id:"(Blue) Rocks.D.Xebec - Open OPTCG",format:"standard",leader:"OP17-039",cards:{"OP08-051":3,"OP17-050":4,"OP17-045":4,"OP17-052":3,"OP17-054":4,"OP17-042":2,"OP17-044":2,"OP17-046":4,"OP17-049":4,"OP17-040":4,"OP17-048":4,"OP17-118":4,"OP17-055":4,"OP17-056":4}};var op08PuddingManifest={id:"(Purple/Yellow) Charlotte Pudding - Open OPTCG",format:"standard",leader:"OP08-058",cards:{"ST34-003":1,"OP08-062":4,"OP17-074":3,"ST34-002":3,"OP11-067":2,"OP17-113":4,"OP11-106":4,"OP17-104":3,"OP17-107":3,"OP17-109":4,"OP17-103":4,"OP17-114":4,"OP17-112":4,"OP13-076":1,"OP15-078":4,"OP07-077":2}};var op12ZoroManifest={id:"(Green) Roronoa Zoro - OP17 Post-Ban List",format:"standard",leader:"OP12-020",cards:{"OP12-028":4,"OP12-034":4,"ST32-005":4,"OP06-033":4,"ST12-003":4,"OP13-037":4,"OP15-023":3,"OP12-031":4,"OP12-023":3,"ST32-002":3,"OP13-031":3,"ST32-003":3,"OP13-040":2,"OP12-037":1,"OP12-039":4}};var op16AceManifest={id:"(Red) Portgas.D.Ace - Official Feature Deck",featuredOn:{page:102,posted:"2026-06-12"},leader:"OP16-001",cards:{"OP13-007":4,"OP13-016":4,"OP16-010":4,"OP16-015":4,"OP16-017":4,"OP16-118":4,"OP16-011":4,"OP16-014":4,"OP16-016":2,"OP16-004":4,"OP16-003":4,"OP16-005":4,"OP16-021":4}};var op06YamatoManifest={id:"(Green/Yellow) Yamato - Official Feature Deck",featuredOn:{page:75,posted:"2025-10-03"},format:"standard",leader:"OP06-022",cards:{"ST28-005":4,"PRB02-016":4,"ST28-002":4,"ST28-001":4,"OP06-104":4,"OP06-110":4,"OP10-109":4,"ST28-003":4,"OP06-107":2,"OP06-109":4,"OP08-023":4,"ST28-004":4,"OP06-118":2,"OP06-115":2}};var eb04BonneyManifest={id:"(Red/Yellow) Jewelry Bonney - Official Feature Deck",featuredOn:{page:101,posted:"2026-04-03"},format:"standard",leader:"EB04-001",cards:{"EB04-002":4,"EB04-007":4,"EB04-052":4,"EB04-054":2,"EB04-056":4,"EB04-058":4,"EB04-061":4,"EB03-053":4,"OP07-107":4,"OP07-114":4,"OP12-119":4,"OP13-108":4,"ST29-010":4}};var op09RobinManifest={id:"(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1",format:"standard",leader:"OP09-062",cards:{"OP17-113":3,"OP17-107":4,"OP17-109":4,"OP12-112":3,"OP17-102":4,"EB04-058":2,"OP17-106":4,"OP17-114":4,"OP17-110":2,"OP16-119":4,"OP17-112":4,"ST34-003":4,"OP17-074":4,"OP09-078":4}};var op17NewgateManifest={id:"(Red) Edward.Newgate - Official Feature Deck",featuredOn:{page:113,posted:"2026-08-28"},format:"standard",leader:"OP17-001",cards:{"OP17-004":4,"OP17-016":4,"OP17-002":2,"OP17-003":4,"OP17-009":2,"OP16-118":4,"OP17-015":2,"OP17-008":4,"OP17-013":2,"OP17-006":4,"OP17-007":4,"OP17-005":4,"OP17-017":2,"OP17-019":4,"OP16-021":4}};var op15KriegManifest={id:"(Red/Green) Krieg - Official Feature Deck",featuredOn:{page:95,posted:"2026-04-03"},format:"standard",leader:"OP15-001",cards:{"OP15-009":4,"OP15-015":4,"OP15-026":4,"OP15-028":4,"OP15-011":4,"OP15-023":4,"OP15-003":4,"OP15-017":4,"OP15-007":4,"OP15-025":4,"OP15-008":4,"OP15-037":4,"OP15-038":2}};var op17LinlinManifest={id:"(Yellow) Charlotte Linlin - Official Feature Deck",featuredOn:{page:108,posted:"2026-08-28"},leader:"OP17-099",cards:{"OP17-113":4,"OP17-104":4,"OP17-107":4,"OP17-109":4,"OP17-111":4,"ST20-003":4,"OP17-102":4,"OP17-106":4,"OP17-103":4,"OP17-114":4,"OP17-110":4,"OP17-112":4,"OP17-115":2}};var op15LucyManifest={id:"(Red/Blue) Lucy - Official Feature Deck",featuredOn:{page:96,posted:"2026-04-03"},format:"standard",leader:"OP15-002",cards:{"OP15-040":4,"OP15-052":2,"OP15-053":4,"OP15-006":4,"OP15-014":4,"OP15-048":4,"OP15-046":4,"OP10-059":2,"OP15-019":2,"OP15-055":4,"OP15-021":4,"OP15-054":2,"OP10-060":2,"OP15-020":4,"OP15-057":4}};var op15BrookManifest={id:"(Green/Black) Brook - Official Feature Deck",featuredOn:{page:97,posted:"2026-04-03"},format:"standard",leader:"OP15-022",cards:{"EB02-017":4,"OP15-035":4,"OP15-081":4,"OP15-085":4,"OP15-094":2,"OP15-024":2,"OP15-082":4,"OP15-087":4,"OP15-088":4,"OP15-089":4,"OP15-032":4,"OP15-092":4,"OP15-086":4,"OP15-095":2}};var op15RebeccaManifest={id:"(Blue) Rebecca - Official Feature Deck",featuredOn:{page:98,posted:"2026-04-03"},format:"standard",leader:"OP15-039",cards:{"OP15-040":4,"OP15-052":4,"OP15-053":4,"OP10-054":4,"OP15-041":4,"OP15-042":4,"OP15-047":4,"OP15-051":4,"OP10-045":4,"OP10-046":2,"OP15-046":4,"OP10-059":4,"OP10-060":4}};var op13ImuManifest={id:"(Black) Imu - Official Feature Deck",featuredOn:{page:85,posted:"2025-11-07"},format:"standard",leader:"OP13-079",cards:{"OP13-086":4,"OP13-087":3,"OP13-095":2,"OP13-083":4,"OP13-089":4,"OP13-080":4,"OP13-091":4,"PRB02-014":4,"OP13-084":4,"OP13-082":4,"OP13-096":4,"OP13-097":4,"OP13-098":4,"OP13-099":1}};var op13RogerManifest={id:"(Red/Purple) Gol.D.Roger - Official Feature Deck",featuredOn:{page:83,posted:"2025-11-07"},format:"standard",leader:"OP13-003",cards:{"OP13-065":4,"OP13-060":2,"OP13-072":4,"OP13-061":4,"OP13-068":4,"OP13-071":4,"OP13-062":4,"OP13-063":4,"OP13-067":4,"OP13-066":4,"OP13-064":4,"OP13-076":4,"OP13-075":4}};var op15LuffyManifest={id:"(Yellow) Monkey.D.Luffy - Official Feature Deck",featuredOn:{page:100,posted:"2026-04-03"},format:"standard",leader:"OP15-098",cards:{"OP15-108":4,"OP15-102":4,"OP15-107":4,"OP15-113":4,"ST29-004":4,"ST29-009":4,"EB03-053":4,"OP15-114":4,"OP15-119":4,"EB03-055":4,"OP15-109":4,"OP15-116":4,"ST29-016":2}};var eb03ViviManifest={id:"(Red/Blue) Nefeltari Vivi - Official Feature Deck",featuredOn:{page:94,posted:"2026-02-13"},format:"standard",leader:"EB03-001",cards:{"OP13-007":4,"OP13-012":4,"OP10-011":4,"EB03-006":4,"EB03-024":4,"EB03-025":4,"OP13-011":4,"OP13-054":2,"EB03-026":4,"EB03-027":4,"OP09-009":4,"OP06-007":4,"EB03-011":4}};var op14LawManifest={id:"(Red) Trafalgar Law - Official Feature Deck",featuredOn:{page:87,posted:"2026-01-16"},format:"standard",leader:"OP14-001",cards:{"OP14-003":4,"OP14-005":4,"OP14-010":4,"OP14-013":4,"OP14-004":2,"OP14-011":4,"OP14-002":4,"OP14-014":4,"OP14-016":4,"OP14-007":4,"OP14-015":4,"OP14-009":4,"OP14-018":4}};var op14HancockManifest={id:"(Blue/Yellow) Boa Hancock - Official Feature Deck",featuredOn:{page:90,posted:"2026-01-16"},format:"standard",leader:"OP14-041",cards:{"OP13-113":4,"OP14-113":4,"OP14-114":4,"EB04-027":2,"OP13-052":4,"OP14-115":4,"PRB02-017":4,"OP07-051":4,"OP14-108":4,"OP14-112":4,"OP14-118":4,"OP14-105":4,"OP14-107":4}};var op14HancockTournamentManifest={id:"(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105",format:"standard",leader:"OP14-041",recommended:true,cards:{"OP07-056":2,"OP07-057":2,"OP14-113":4,"OP14-114":4,"ST17-004":4,"OP14-115":4,"OP16-113":4,"EB03-053":2,"EB04-058":4,"OP12-119":2,"OP14-105":4,"OP14-107":4,"OP14-108":2,"OP06-058":2,"OP16-119":2,"OP14-112":4}};var st29LuffyTournamentManifest={id:"(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15",format:"standard",leader:"ST29-001",recommended:true,cards:{"EB03-053":3,"EB03-055":3,"EB04-058":4,"OP06-104":4,"OP07-099":4,"OP13-108":4,"OP15-109":3,"OP15-113":3,"OP15-114":3,"OP15-119":2,"OP16-119":3,"ST29-004":4,"ST29-005":4,"ST29-009":4,"ST29-016":2}};var op11KatakuriTournamentManifest={id:"(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02",format:"standard",leader:"OP11-062",recommended:true,cards:{"EB03-035":2,"OP07-077":4,"OP08-062":3,"OP08-069":1,"OP08-077":2,"OP11-067":4,"OP11-068":2,"OP11-070":4,"OP15-078":4,"PRB02-010":4,"ST34-001":4,"ST34-002":4,"ST34-003":4,"ST34-004":4,"ST34-005":4}};var op05LuffyStoreBattle2026Manifest={id:"(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10",format:"standard",leader:"OP05-060",recommended:true,cards:{"EB01-061":4,"EB03-035":4,"OP07-076":2,"OP08-069":2,"OP09-078":4,"OP11-067":4,"OP11-068":4,"OP11-070":4,"OP13-076":2,"OP15-078":4,"OP17-062":4,"OP17-074":4,"ST34-003":4,"ST34-004":4}};var op10KidTournamentManifest={id:"(Yellow) Eustass Kid - ChinoizeCup #104",format:"standard",leader:"OP10-099",recommended:true,cards:{"EB04-058":4,"OP10-112":4,"OP14-102":4,"OP14-110":4,"OP14-111":4,"OP15-119":3,"OP16-119":4,"OP17-109":4,"OP17-114":3,"P-088":4,"ST36-002":4,"ST36-003":4,"ST36-005":4}};var op11ShirahoshiTournamentManifest={id:"(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125",format:"standard",leader:"OP11-022",recommended:true,cards:{"EB03-052":3,"EB04-011":4,"EB04-016":4,"EB04-018":4,"EB05-014":4,"EB05-020":4,"OP08-036":2,"OP11-028":2,"OP11-033":4,"OP11-036":4,"OP11-107":4,"OP11-115":2,"OP12-102":3,"OP17-022":3,"OP17-114":3}};var op12SanjiTournamentManifest={id:"(Blue/Purple) Sanji - ChinoizeCup #116",format:"standard",leader:"OP12-041",recommended:true,cards:{"EB01-039":1,"EB03-031":3,"EB04-029":4,"EB04-041":4,"OP06-058":2,"OP07-064":4,"OP09-078":4,"OP11-061":2,"OP12-059":2,"OP12-060":4,"OP12-070":4,"OP12-079":4,"OP13-043":3,"OP13-076":1,"OP15-078":3,"OP16-056":2,"OP17-049":3}};var op06YamatoTournamentManifest={id:"(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20",format:"standard",leader:"OP06-022",recommended:true,cards:{"EB03-057":4,"EB04-058":4,"OP05-037":2,"OP06-106":4,"OP13-031":2,"OP13-117":2,"OP15-113":4,"OP16-119":3,"OP17-022":4,"OP17-102":2,"OP17-106":2,"OP17-107":4,"OP17-109":4,"OP17-112":3,"OP17-113":3,"OP17-114":3}};var op07VegapunkStoreBattleManifest={id:"(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19",format:"standard",leader:"OP07-097",recommended:true,cards:{"EB03-058":4,"EB04-058":4,"OP07-098":4,"OP07-101":4,"OP07-107":4,"OP07-111":4,"OP07-113":4,"OP07-117":2,"OP08-106":4,"OP09-117":3,"OP13-108":2,"OP13-113":4,"OP15-119":3,"OP16-119":4}};var op09ShanksTournamentManifest={id:"(Red) Shanks - 1st Place Store Battle 2026-06-29",format:"standard",leader:"OP09-001",recommended:true,cards:{"OP06-007":3,"OP09-002":4,"OP09-004":3,"OP09-009":4,"OP09-011":4,"OP09-015":3,"OP09-020":3,"OP12-008":4,"OP13-007":4,"OP16-012":4,"PRB02-001":3,"PRB02-002":3,"PRB02-003":2,"ST23-001":2,"ST23-002":4}};var op13RogerTournamentManifest={id:"(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22",format:"standard",leader:"OP13-003",recommended:true,cards:{"EB04-007":3,"OP09-004":3,"OP09-118":2,"OP13-007":3,"OP13-061":2,"OP13-063":3,"OP13-065":4,"OP13-067":4,"OP13-068":4,"OP13-071":3,"OP13-072":4,"OP13-075":4,"OP13-076":2,"P-107":4,"ST18-001":3,"ST23-001":2}};var eb03ViviTournamentManifest={id:"(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28",format:"standard",leader:"EB03-001",recommended:true,cards:{"EB03-006":3,"EB03-024":4,"EB04-007":2,"EB04-023":3,"EB04-024":4,"OP05-118":1,"OP06-007":3,"OP06-058":1,"OP08-118":3,"OP09-009":4,"OP10-011":4,"OP10-045":4,"OP11-054":4,"OP13-012":4,"OP13-058":2,"ST23-001":4}};var op14DoflamingoTournamentManifest={id:"(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30",format:"standard",leader:"OP14-060",recommended:true,cards:{"EB04-038":2,"OP07-076":4,"OP10-065":4,"OP10-071":4,"OP10-072":3,"OP10-078":2,"OP13-076":4,"OP14-061":4,"OP14-063":4,"OP14-067":4,"OP14-068":4,"OP14-069":3,"OP14-072":2,"OP14-074":4,"OP14-078":2}};var op12KoalaTournamentManifest={id:"(Black/Yellow) Koala - 30th Place ChinoizeCup #113",format:"standard",leader:"OP12-081",recommended:true,cards:{"EB03-042":4,"EB04-058":4,"OP06-115":2,"OP09-108":4,"OP12-086":4,"OP12-087":2,"OP12-089":4,"OP12-093":4,"OP12-094":4,"OP12-098":3,"OP12-112":4,"OP12-119":4,"OP14-108":3,"OP16-119":4}};var op14MoriaTournamentManifest={id:"(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120",format:"standard",leader:"OP14-080",recommended:true,cards:{"OP06-090":1,"OP06-091":4,"OP13-113":2,"OP14-096":2,"OP14-097":2,"OP14-100":4,"OP14-102":4,"OP14-104":4,"OP14-109":1,"OP14-110":4,"OP14-111":4,"OP14-112":4,"OP15-084":4,"OP15-113":2,"OP17-109":4,"PRB02-013":4}};var op17ShanksTournamentManifest={id:"(Green) Shanks - 16th Place Rumble League #9",format:"standard",leader:"OP17-020",recommended:true,cards:{"OP08-036":2,"OP10-030":2,"OP12-034":4,"OP15-035":4,"OP17-021":4,"OP17-022":4,"OP17-027":4,"OP17-029":4,"OP17-031":4,"OP17-032":4,"OP17-033":4,"OP17-036":4,"OP17-038":2,"ST32-002":4}};var op15EnelChinoizeManifest={id:"(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25",format:"standard",leader:"OP15-058",recommended:true,cards:{"OP05-077":3,"OP09-072":2,"OP10-067":2,"OP12-063":3,"OP12-071":4,"OP13-076":1,"OP15-061":4,"OP15-067":4,"OP15-071":4,"OP15-074":3,"OP15-075":4,"OP15-076":4,"OP15-077":4,"OP15-078":4,"OP15-118":4}};var op12RayleighTournamentManifest={id:"(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124",format:"standard",leader:"OP12-001",recommended:true,cards:{"EB05-004":4,"EB05-008":4,"EB05-061":4,"OP03-008":4,"OP10-005":4,"OP10-016":2,"OP12-006":4,"OP12-009":2,"OP12-014":4,"OP12-015":4,"OP12-016":4,"OP12-017":4,"OP12-018":4,"ST21-017":2}};var eb04BonneyTournamentManifest={id:"(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104",format:"standard",leader:"EB04-001",recommended:true,cards:{"EB04-061":1,"OP06-115":2,"OP07-099":4,"OP07-104":4,"OP11-106":2,"OP12-112":4,"OP13-113":4,"OP16-119":4,"OP17-102":4,"OP17-106":3,"OP17-107":3,"OP17-109":4,"OP17-112":4,"OP17-113":3,"OP17-114":4}};var op14JinbeTournamentManifest={id:"(Blue) Jinbe - 11th Place ChinoizeCup #120",format:"standard",leader:"OP14-040",recommended:true,cards:{"OP06-058":2,"OP07-045":4,"OP07-057":2,"OP08-047":4,"OP13-043":3,"OP14-042":4,"OP14-046":4,"OP14-049":4,"OP14-050":4,"OP14-056":4,"OP17-046":2,"OP17-049":3,"OP17-053":2,"ST17-002":4,"ST17-004":4}};var op13AceTournamentManifest={id:"(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01",format:"standard",leader:"OP13-002",recommended:true,cards:{"EB04-007":3,"OP07-051":4,"OP08-047":3,"OP09-118":2,"OP13-016":4,"OP13-042":4,"OP13-043":4,"OP13-054":3,"OP16-003":2,"OP16-004":2,"OP16-017":3,"OP16-021":2,"PRB02-008":4,"ST22-002":4,"ST22-015":4,"ST23-001":2}};var op05EnelTcgmmManifest={id:"(Yellow) Enel - TCG Match Making OP17.5 #3",format:"standard",leader:"OP05-098",recommended:true,cards:{"EB02-052":2,"EB04-058":4,"OP06-115":4,"OP11-106":4,"OP13-113":4,"OP15-103":4,"OP16-119":4,"OP17-102":4,"OP17-107":4,"OP17-109":4,"OP17-112":4,"OP17-113":4,"OP17-114":4}};var eb02LuffyTournamentManifest={id:"(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25",format:"standard",leader:"EB02-010",recommended:true,cards:{"EB02-017":4,"EB02-035":4,"EB02-061":1,"OP07-064":4,"OP08-036":4,"OP09-078":4,"OP12-037":2,"OP13-040":2,"OP13-118":2,"OP14-031":2,"OP15-032":2,"OP15-078":4,"P-111":1,"PRB02-005":2,"PRB02-012":4,"ST18-001":4,"ST18-004":4}};var op11JinbeTournamentManifest={id:"(Green) Jinbe - 1st Place Shop Event 2026-09-16",format:"standard",leader:"OP11-021",recommended:true,cards:{"EB04-015":4,"EB04-018":4,"EB04-020":4,"OP06-025":4,"OP06-033":3,"OP07-026":3,"OP11-030":4,"OP11-031":4,"OP11-035":1,"OP11-039":4,"OP14-031":2,"OP15-023":2,"OP15-032":4,"OP17-022":3,"OP17-029":4}};var op09LuffyTournamentManifest={id:"(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13",format:"standard",leader:"OP09-061",recommended:true,cards:{"EB02-061":2,"OP03-072":1,"OP05-076":4,"OP07-064":4,"OP09-065":3,"OP09-069":4,"OP09-072":4,"OP09-076":4,"OP09-078":4,"OP09-119":2,"OP11-067":3,"ST18-001":4,"ST18-002":3,"ST26-003":4,"ST26-005":4}};var st21LuffyOpenManifest={id:"(Red) Monkey.D.Luffy - Open OPTCG",format:"standard",leader:"ST21-001",recommended:true,cards:{"EB04-002":4,"OP01-016":4,"OP04-016":2,"OP10-005":3,"OP10-011":2,"OP15-012":3,"P-101":2,"ST21-003":4,"ST21-014":4,"ST21-015":4,"ST31-001":4,"ST31-002":4,"ST31-003":2,"ST31-004":4,"ST31-005":4}};var op17LinlinTournamentManifest={id:"(Yellow) Charlotte Linlin - ChinoizeCup #121",format:"standard",leader:"OP17-099",recommended:true,cards:{"EB04-058":3,"OP11-106":4,"OP14-104":4,"OP15-113":4,"OP16-119":4,"OP17-102":3,"OP17-103":4,"OP17-104":2,"OP17-107":4,"OP17-109":4,"OP17-110":2,"OP17-112":4,"OP17-113":4,"OP17-114":4}};var op13LuffyMiracleManifest={id:"(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05",format:"standard",leader:"OP13-001",recommended:true,cards:{"EB01-013":4,"EB05-001":4,"OP01-055":3,"OP06-033":4,"OP07-022":4,"OP08-036":2,"OP12-023":4,"OP13-016":4,"OP13-031":4,"OP14-031":4,"OP17-022":1,"PRB02-003":4,"ST30-004":4,"ST32-002":4}};var op09BuggyTournamentManifest={id:"(Blue) Buggy - 12th Place ChinoizeCup #124",format:"standard",leader:"OP09-042",cards:{"OP09-056":4,"ST25-001":4,"ST25-002":4,"ST25-005":4,"OP16-056":4,"EB03-021":2,"EB05-028":2,"OP09-048":4,"ST33-004":2,"P-084":2,"ST25-003":4,"EB05-021":4,"OP09-051":4,"OP09-057":4,"OP06-058":2}};var op14LawTournamentManifest={id:"(Red) Trafalgar Law - 9th Place ChinoizeCup #125",format:"standard",leader:"OP14-001",cards:{"OP14-010":4,"OP14-013":4,"OP13-007":2,"OP14-004":4,"OP14-011":4,"EB05-006":4,"OP14-006":2,"OP14-002":4,"PRB02-003":4,"OP14-014":2,"EB05-001":4,"OP09-009":2,"OP14-009":3,"OP17-005":3,"OP14-019":4}};var eb05RobinTcgmmManifest={id:"(Green/Yellow) Nico Robin - TCG Match Making EB05 #6",format:"standard",leader:"EB05-010",recommended:true,cards:{"EB04-018":4,"EB04-058":2,"EB05-016":4,"EB05-050":4,"EB05-052":4,"EB05-055":4,"OP06-115":2,"OP12-112":4,"OP17-022":2,"OP17-102":4,"OP17-107":4,"OP17-109":4,"OP17-112":4,"OP17-114":4}};var op14JinbeManifest={id:"(Blue) Jinbe - Official Feature Deck",featuredOn:{page:89,posted:"2026-01-16"},format:"standard",leader:"OP14-040",cards:{"OP14-042":4,"OP14-050":4,"OP14-051":4,"OP14-046":4,"OP14-045":4,"OP14-056":4,"OP14-043":4,"OP14-047":4,"OP14-055":4,"OP14-054":4,"OP14-049":4,"OP14-057":2,"OP14-058":4}};var op16YamatoManifest={id:"(Black) Yamato - Official Feature Deck",featuredOn:{page:106,posted:"2026-06-12"},format:"standard",leader:"OP16-079",cards:{"OP16-091":4,"OP16-092":4,"OP16-087":4,"OP16-088":2,"OP16-095":4,"OP16-082":4,"OP16-094":4,"OP16-084":4,"OP16-098":4,"OP16-096":4,"OP16-097":4,"OP16-085":4,"OP16-099":4}};var op14CrocodileManifest={id:"(Black) Crocodile - Official Feature Deck",featuredOn:{page:92,posted:"2026-01-16"},format:"standard",leader:"OP14-079",cards:{"OP14-087":4,"OP14-091":4,"OP14-092":4,"OP14-086":2,"OP14-094":4,"OP14-090":4,"OP14-084":4,"OP14-120":4,"OP14-099":4,"OP14-096":4,"OP14-085":4,"OP14-083":4,"OP14-088":4}};var op14MoriaManifest={id:"(Black/Yellow) Gecko Moria - Official Feature Deck",featuredOn:{page:93,posted:"2026-01-16"},format:"standard",leader:"OP14-080",cards:{"OP14-081":4,"OP14-102":4,"OP14-089":2,"OP14-100":4,"OP14-109":4,"OP14-110":4,"OP14-111":4,"OP14-108":2,"PRB02-013":4,"PRB02-014":4,"OP14-104":4,"OP14-112":4,"OP14-097":4,"OP14-117":2}};var op12KoalaManifest={id:"(Black/Yellow) Koala - Official Feature Deck",featuredOn:{page:69,posted:"2025-08-22"},format:"standard",leader:"OP12-081",cards:{"OP12-086":4,"OP12-090":4,"OP12-089":4,"OP12-093":4,"OP12-095":4,"OP12-083":4,"OP12-085":2,"OP12-100":4,"OP12-087":4,"OP12-119":4,"OP12-094":4,"OP12-097":4,"OP12-098":4}};var eb02LuffyManifest={id:"(Green/Purple) Monkey.D.Luffy - Official Feature Deck",featuredOn:{page:62,posted:"2025-05-09"},format:"standard",leader:"EB02-010",cards:{"EB02-017":4,"EB02-037":4,"OP05-061":4,"ST18-001":4,"EB02-019":4,"ST18-004":4,"EB02-035":4,"OP05-070":4,"EB02-061":4,"ST18-005":4,"OP03-072":2,"OP05-076":4,"EB02-041":4}};var op11ShirahoshiManifest={id:"(Green/Yellow) Shirahoshi - Official Feature Deck",featuredOn:{page:65,posted:"2025-06-06"},format:"standard",leader:"OP11-022",cards:{"OP11-030":4,"OP11-100":4,"OP11-106":4,"OP11-112":4,"OP11-028":2,"OP11-036":4,"OP10-030":4,"OP11-103":4,"OP11-107":4,"OP11-108":4,"OP11-026":4,"OP11-031":4,"ST16-004":2,"OP11-115":2}};var op13AceManifest={id:"(Red/Blue) Portgas.D.Ace - Official Feature Deck",featuredOn:{page:82,posted:"2025-11-07"},format:"standard",leader:"OP13-002",cards:{"OP13-007":4,"OP13-014":4,"OP13-016":4,"OP13-043":4,"PRB02-008":4,"OP13-054":4,"OP13-046":4,"OP13-119":4,"PRB02-002":4,"ST15-002":4,"OP13-042":4,"OP04-016":4,"OP13-057":2}};var op12SanjiManifest={id:"(Blue/Purple) Sanji - Official Feature Deck",featuredOn:{page:72,posted:"2025-08-22"},format:"standard",leader:"OP12-041",cards:{"OP12-062":4,"OP12-066":4,"OP12-071":4,"OP12-070":4,"OP12-074":4,"OP12-063":4,"OP12-072":2,"OP12-065":2,"OP09-078":4,"OP12-059":4,"OP12-079":4,"OP09-077":2,"OP12-060":4,"OP12-078":4}};var op10UsoppManifest={id:"(Blue/Black) Usopp - Official Feature Deck",featuredOn:{page:58,posted:"2025-03-21"},format:"standard",leader:"OP10-042",cards:{"OP15-052":2,"OP15-040":4,"OP10-057":4,"OP04-077":4,"OP10-083":2,"OP10-043":2,"OP15-047":4,"OP10-049":2,"OP10-090":3,"OP10-095":4,"OP04-083":4,"OP10-118":3,"OP10-046":4,"OP10-058":4,"OP04-096":4}};var op11JinbeManifest={id:"(Green) Jinbe - Official Feature Deck",featuredOn:{page:66,posted:"2025-06-06"},format:"standard",leader:"OP11-021",cards:{"OP06-025":4,"OP11-030":4,"OP10-032":4,"OP11-029":2,"OP11-024":4,"OP10-030":4,"OP11-032":4,"OP11-031":4,"OP11-033":4,"OP11-035":4,"OP06-035":4,"OP11-038":4,"OP11-039":4}};var op09BuggyManifest={id:"(Blue) Buggy - Official Feature Deck",featuredOn:{page:78,posted:"2025-10-03"},format:"standard",leader:"OP09-042",cards:{"OP09-056":4,"PRB02-009":4,"ST25-001":4,"ST25-002":4,"ST25-004":4,"ST25-005":4,"OP09-045":4,"P-082":2,"OP09-048":4,"OP09-046":4,"ST25-003":4,"OP09-051":4,"OP09-057":4}};var op12RayleighManifest={id:"(Red) Silvers Rayleigh - Official Feature Deck",featuredOn:{page:73,posted:"2025-08-22"},format:"standard",leader:"OP12-001",cards:{"OP12-006":4,"OP12-013":4,"OP12-003":4,"OP12-004":4,"OP12-007":4,"OP12-012":2,"OP12-014":4,"OP12-009":4,"OP12-015":4,"OP12-016":4,"OP12-017":4,"OP12-018":4,"OP12-019":4}};var op14DoflamingoManifest={id:"(Purple) Donquixote Doflamingo - Official Feature Deck",featuredOn:{page:91,posted:"2026-01-16"},format:"standard",leader:"OP14-060",cards:{"OP10-065":4,"OP14-067":4,"OP14-063":4,"OP14-072":4,"OP14-061":4,"OP14-068":4,"OP14-071":4,"OP14-074":4,"OP14-073":4,"OP10-071":4,"OP14-069":4,"OP10-078":4,"OP14-076":2}};var st18LuffyManifest={id:"(Purple) Monkey.D.Luffy - Starter Deck 18",leader:"OP05-060",cards:{"OP05-061":4,"OP05-063":4,"OP05-066":4,"OP05-067":4,"OP05-068":4,"OP05-070":4,"OP05-072":4,"OP05-076":4,"P-041":4,"ST18-001":2,"ST18-002":4,"ST18-003":4,"ST18-004":2,"ST18-005":2}};var st26LuffyManifest={id:"(Purple/Black) Monkey.D.Luffy - Starter Deck 26",leader:"OP09-061",cards:{"OP05-065":4,"OP05-066":4,"OP05-070":4,"OP09-063":4,"OP09-070":4,"OP09-076":4,"OP09-077":4,"OP09-078":2,"ST14-010":4,"ST26-001":4,"ST26-002":4,"ST26-003":2,"ST26-004":4,"ST26-005":2}};var st27TeachManifest={id:"(Black) Marshall.D.Teach - Starter Deck 27",leader:"OP09-081",cards:{"EB01-048":2,"OP09-083":4,"OP09-086":4,"OP09-089":4,"OP09-090":4,"OP09-093":4,"OP09-095":4,"OP09-096":4,"OP09-099":4,"PRB02-014":4,"PRB02-015":4,"ST27-003":4,"ST27-005":4}};var st22AceNewgateManifest={id:"(Blue) Ace & Newgate - Starter Deck 22",leader:"ST22-001",cards:{"ST22-002":2,"ST22-003":2,"ST22-004":4,"ST22-005":2,"ST22-006":4,"ST22-007":4,"ST22-008":4,"ST22-009":2,"ST22-010":4,"ST22-011":4,"ST22-012":4,"ST22-013":4,"ST22-014":4,"ST22-015":2,"ST22-016":2,"ST22-017":2}};var st23ShanksManifest={id:"(Red) Shanks - Starter Deck 23",leader:"OP09-001",cards:{"OP09-006":4,"OP09-010":4,"OP09-011":4,"OP09-012":4,"OP09-013":4,"OP09-014":4,"OP09-015":4,"OP09-016":4,"OP09-020":4,"ST23-001":2,"ST23-002":2,"ST23-003":2,"ST23-004":4,"ST23-005":4}};var st29LuffyManifest={id:"(Yellow) Monkey.D.Luffy - Starter Deck 29",leader:"ST29-001",cards:{"ST29-002":4,"ST29-003":4,"ST29-004":2,"ST29-005":2,"ST29-006":4,"ST29-007":2,"ST29-008":2,"ST29-009":2,"ST29-010":4,"ST29-011":4,"ST29-012":4,"ST29-013":4,"ST29-014":2,"ST29-015":4,"ST29-016":2,"ST29-017":4}};var st30LuffyAceManifest={id:"(Red/Green) Luffy & Ace - Starter Deck 30",leader:"ST30-001",cards:{"ST30-002":2,"ST30-003":4,"ST30-004":2,"ST30-005":4,"ST30-006":4,"ST30-007":2,"ST30-008":4,"ST30-009":4,"ST30-010":4,"ST30-011":2,"ST30-012":2,"ST30-013":4,"ST30-014":2,"ST30-015":4,"ST30-016":2,"ST30-017":4}};var st30LuffyAceCdmxManifest={id:"(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19",format:"standard",leader:"ST30-001",recommended:true,cards:{"EB02-017":4,"EB04-002":4,"OP01-016":4,"OP04-016":4,"OP06-017":1,"OP12-015":4,"OP12-018":2,"OP12-037":2,"OP13-040":2,"OP14-019":4,"OP17-017":3,"ST21-014":4,"ST30-012":4,"ST31-001":4,"ST31-005":4}};var BANNED_CARDS=new Set(["OP06-047","OP03-040","OP06-086","ST10-001","OP06-116","OP14-020"]);var BANNED_PAIRS=[["OP07-115","EB04-058"],["OP11-040","OP11-067"],["OP11-040","OP08-069"]];var isEventRestricted=card=>card.rules.eventRestricted;function copyLimit(card){return card.rules.copyLimit}function validateDeck(deck){const errors=[];const format=deck.format??"standard";const leader=cardRegistry.get(deck.leader);if(!leader||leader.category!=="leader"){errors.push("Choose one supported Leader card.")}else if(BANNED_CARDS.has(leader.cardNumber)){errors.push(`${leader.cardNumber} is currently banned from official decks. Choose another Leader.`)}else if(isEventRestricted(leader)){errors.push(`${leader.cardNumber} may only be used in designated events, not in constructed decks.`)}else{const leaderLegality=cardFormatLegality(leader.cardNumber,format);if(!leaderLegality.legal){errors.push(`${leader.cardNumber} is not legal in Standard: ${leaderLegality.reason}. Build this deck for Extra Regulation, or choose another Leader.`)}}let cardCount=0;for(const[cardNumber,quantity]of Object.entries(deck.cards)){cardCount+=quantity;if(BANNED_CARDS.has(cardNumber)){errors.push(`${cardNumber} is currently banned from official decks.`)}const card=cardRegistry.get(cardNumber);if(!card||card.category==="leader"){errors.push(`${cardNumber} is not a supported main-deck card.`);continue}const legality=cardFormatLegality(cardNumber,format);if(!legality.legal){errors.push(`${cardNumber} is not legal in Standard: ${legality.reason}. Build this deck for Extra Regulation, or replace it.`)}if(!Number.isInteger(quantity)||quantity<1){errors.push(`${cardNumber} must have a positive whole-number quantity.`)}else if(quantity>copyLimit(card)){errors.push(`${cardNumber} allows at most ${copyLimit(card)} copies.`)}if(leader?.colors?.length&&card.colors?.length&&!card.colors.some(color=>leader.colors.includes(color))){errors.push(`${cardNumber} (${card.colors.join("/")}) does not match the Leader's ${leader.colors.join("/")} colors.`)}const requiredType=leader?.rules.deckTypeRestriction??"";if(requiredType&&!card.types.includes(requiredType)){errors.push(`${cardNumber} is not a {${requiredType}} type card, which ${leader.cardNumber} restricts the deck to.`)}const eventCostLimit=leader?.rules.deckEventCostLimit??null;if(eventCostLimit!==null&&card.category==="event"&&(card.cost??0)>=eventCostLimit){errors.push(`${cardNumber} is an Event with a cost of ${card.cost}, and ${leader.cardNumber} bars Events with a cost of ${eventCostLimit} or more.`)}const costLimit=leader?.rules.deckCostLimit??null;if(costLimit!==null&&(card.cost??0)>=costLimit){errors.push(`${cardNumber} has a cost of ${card.cost}, and ${leader.cardNumber} bars cards with a cost of ${costLimit} or more.`)}}for(const[first,second]of BANNED_PAIRS){if(deck.cards[first]&&deck.cards[second]){errors.push(`${first} and ${second} cannot be included in the same deck.`)}}if(cardCount!==50)errors.unshift(`The deck must contain exactly 50 cards (currently ${cardCount}).`);return{cardCount,format,errors}}function parseDeckList(value){const parsed={leader:"",cards:{},format:"standard"};for(const[index,rawLine]of value.split(/\r?\n/).entries()){const line=rawLine.trim();if(!line||line.startsWith("#")||line.startsWith("//"))continue;const match=line.match(/^(\d+)\s*x?\s+?([A-Z0-9]+-[A-Z0-9]+)(?:\s+.*)?$/i)??line.match(/^(\d+)x([A-Z0-9]+-[A-Z0-9]+)(?:\s+.*)?$/i);if(!match)throw new Error(`Line ${index+1} is not a quantity and card number.`);const quantity=Number(match[1]);const cardNumber=match[2].toUpperCase();const card=cardRegistry.get(cardNumber);if(card?.category==="leader"){if(quantity!==1||parsed.leader)throw new Error("A list must contain exactly one Leader.");parsed.leader=cardNumber}else{parsed.cards[cardNumber]=(parsed.cards[cardNumber]??0)+quantity}}return parsed}function exportDeckList(deck){const lines=[`1x ${deck.leader}`];for(const[cardNumber,quantity]of Object.entries(deck.cards).sort()){lines.push(`${quantity}x ${cardNumber}`)}return`${lines.join("\n")}
|
|
2
|
+
`}var communityDeckManifests={"(Blue/Yellow) Nami - Official Feature Deck":op16NamiManifest,"(Black/Yellow) Marshall.D.Teach - Official Feature Deck":op16TeachManifest,"(Purple) Enel - Official Feature Deck":op16EnelManifest,"(Red/Black) Sabo - TCG Match Making EB05 #8":op13SaboTcgmmManifest,"(Green) Shanks - Official Feature Deck":op17ShanksManifest,"(Blue) Rocks.D.Xebec - Official Feature Deck":op17XebecManifest,"(Black) Monkey.D.Luffy - Official Feature Deck":op17LuffyManifest,"(Red) Portgas.D.Ace - Official Feature Deck":op16AceManifest,"(Purple) Kaido - Official Feature Deck":op17KaidoManifest,"(Red/Yellow) Jewelry Bonney - Official Feature Deck":eb04BonneyManifest,"(Green/Yellow) Yamato - Official Feature Deck":op06YamatoManifest,"(Red) Edward.Newgate - Official Feature Deck":op17NewgateManifest,"(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1":op09RobinManifest,"(Purple) Sengoku - Official Feature Deck":op16SengokuManifest,"(Red/Green) Krieg - Official Feature Deck":op15KriegManifest,"(Red/Blue) Lucy - Official Feature Deck":op15LucyManifest,"(Blue) Rebecca - Official Feature Deck":op15RebeccaManifest,"(Black) Imu - Official Feature Deck":op13ImuManifest,"(Red/Purple) Gol.D.Roger - Official Feature Deck":op13RogerManifest,"(Green/Black) Brook - Official Feature Deck":op15BrookManifest,"(Yellow) Monkey.D.Luffy - Official Feature Deck":op15LuffyManifest,"(Red/Blue) Nefeltari Vivi - Official Feature Deck":eb03ViviManifest,"(Red) Trafalgar Law - Official Feature Deck":op14LawManifest,"(Blue/Yellow) Boa Hancock - Official Feature Deck":op14HancockManifest,"(Blue) Jinbe - Official Feature Deck":op14JinbeManifest,"(Black) Yamato - Official Feature Deck":op16YamatoManifest,"(Black) Crocodile - Official Feature Deck":op14CrocodileManifest,"(Black/Yellow) Gecko Moria - Official Feature Deck":op14MoriaManifest,"(Black/Yellow) Koala - Official Feature Deck":op12KoalaManifest,"(Green/Purple) Monkey.D.Luffy - Official Feature Deck":eb02LuffyManifest,"(Green/Yellow) Shirahoshi - Official Feature Deck":op11ShirahoshiManifest,"(Red/Blue) Portgas.D.Ace - Official Feature Deck":op13AceManifest,"(Blue/Purple) Sanji - Official Feature Deck":op12SanjiManifest,"(Blue/Black) Usopp - Official Feature Deck":op10UsoppManifest,"(Green) Jinbe - Official Feature Deck":op11JinbeManifest,"(Blue) Buggy - Official Feature Deck":op09BuggyManifest,"(Red) Silvers Rayleigh - Official Feature Deck":op12RayleighManifest,"(Purple) Donquixote Doflamingo - Official Feature Deck":op14DoflamingoManifest,"(Yellow) Charlotte Linlin - Official Feature Deck":op17LinlinManifest,"(Purple) Kaido - Open OPTCG":op17KaidoFieldManifest,"(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19":st30LuffyAceCdmxManifest,"(Black) Monkey.D.Luffy - Open OPTCG":op17LuffyTournamentManifest,"(Red) Portgas.D.Ace - Open OPTCG":op16AceOpenManifest,"(Blue) Rocks.D.Xebec - Open OPTCG":op17XebecOpenManifest,"(Purple/Yellow) Charlotte Pudding - Open OPTCG":op08PuddingManifest,"(Green) Roronoa Zoro - OP17 Post-Ban List":op12ZoroManifest,"(Blue) Kuzan - 1st Place Bandai Hiroshima":st33KuzanTournamentManifest,"(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27":op06ReijuRegionalManifest,"(Red/Black) Koby - 2nd Place Indonesia Regional Final":op11KobyTournamentManifest,"(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105":op14HancockTournamentManifest,"(Blue) Buggy - 12th Place ChinoizeCup #124":op09BuggyTournamentManifest,"(Red) Trafalgar Law - 9th Place ChinoizeCup #125":op14LawTournamentManifest,"(Green/Yellow) Nico Robin - TCG Match Making EB05 #6":eb05RobinTcgmmManifest,"(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15":st29LuffyTournamentManifest,"(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02":op11KatakuriTournamentManifest,"(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10":op05LuffyStoreBattle2026Manifest,"(Yellow) Eustass Kid - ChinoizeCup #104":op10KidTournamentManifest,"(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125":op11ShirahoshiTournamentManifest,"(Blue/Purple) Sanji - ChinoizeCup #116":op12SanjiTournamentManifest,"(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20":op06YamatoTournamentManifest,"(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19":op07VegapunkStoreBattleManifest,"(Red) Shanks - 1st Place Store Battle 2026-06-29":op09ShanksTournamentManifest,"(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22":op13RogerTournamentManifest,"(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28":eb03ViviTournamentManifest,"(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30":op14DoflamingoTournamentManifest,"(Black/Yellow) Koala - 30th Place ChinoizeCup #113":op12KoalaTournamentManifest,"(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120":op14MoriaTournamentManifest,"(Green) Shanks - 16th Place Rumble League #9":op17ShanksTournamentManifest,"(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25":op15EnelChinoizeManifest,"(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124":op12RayleighTournamentManifest,"(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104":eb04BonneyTournamentManifest,"(Blue) Jinbe - 11th Place ChinoizeCup #120":op14JinbeTournamentManifest,"(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01":op13AceTournamentManifest,"(Yellow) Enel - TCG Match Making OP17.5 #3":op05EnelTcgmmManifest,"(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25":eb02LuffyTournamentManifest,"(Green) Jinbe - 1st Place Shop Event 2026-09-16":op11JinbeTournamentManifest,"(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13":op09LuffyTournamentManifest,"(Red) Monkey.D.Luffy - Open OPTCG":st21LuffyOpenManifest,"(Yellow) Charlotte Linlin - ChinoizeCup #121":op17LinlinTournamentManifest,"(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05":op13LuffyMiracleManifest,"(Purple) Monkey.D.Luffy - Starter Deck 18":st18LuffyManifest,"(Blue) Ace & Newgate - Starter Deck 22":st22AceNewgateManifest,"(Red) Shanks - Starter Deck 23":st23ShanksManifest,"(Purple/Black) Monkey.D.Luffy - Starter Deck 26":st26LuffyManifest,"(Black) Marshall.D.Teach - Starter Deck 27":st27TeachManifest,"(Yellow) Monkey.D.Luffy - Starter Deck 29":st29LuffyManifest,"(Red/Green) Luffy & Ace - Starter Deck 30":st30LuffyAceManifest};var COMMUNITY_DECK_IDS=Object.keys(communityDeckManifests);function rowsFor(deckId,deck){return[[deck.leader,"leader",1],...Object.entries(deck.cards).map(([cardNumber,quantity])=>[cardNumber,"deck-card",quantity])].map(([cardNumber,role,quantity])=>{const card=requireKnownCard(cardNumber);return{deckId,cardNumber,role,quantity,officialTextHash:card.officialTextHash??"",sourceMatch:card.sourceMatch??false,format:deckFormat(deck),blocks:cardBlockIcons(cardNumber)}})}var formatDeckCardRows=formatDeckManifests.flatMap(deck=>rowsFor(deck.id,deck));var communityDeckCardRows=COMMUNITY_DECK_IDS.flatMap(deckId=>rowsFor(deckId,communityDeckManifests[deckId]));var deckCardRows=[...formatDeckCardRows,...communityDeckCardRows];var shippedDecks=new Map([...formatDeckManifests.map(deck=>[deck.id,deck]),...COMMUNITY_DECK_IDS.map(deckId=>[deckId,communityDeckManifests[deckId]])]);var SEALED_EXPANSIONS=[{code:"OP10",productCode:"OP-10",title:"Royal Blood",productPage:"https://en.onepiece-cardgame.com/products/boosters/op10.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op10/img_item01.webp"},{code:"OP11",productCode:"OP-11",title:"A Fist of Divine Speed",productPage:"https://en.onepiece-cardgame.com/products/boosters/op11.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op11/img_item01.webp"},{code:"OP12",productCode:"OP-12",title:"Legacy of the Master",productPage:"https://en.onepiece-cardgame.com/products/boosters/op12.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op12/img_item01.webp"},{code:"OP13",productCode:"OP-13",title:"Carrying On His Will",productPage:"https://en.onepiece-cardgame.com/products/boosters/op13/",packImageUrl:"https://en.onepiece-cardgame.com/products/boosters/op13/images/img_item01.webp"},{code:"OP14",productCode:"OP14-EB04",title:"The Azure Sea's Seven",productPage:"https://en.onepiece-cardgame.com/products/boosters/op14-eb04.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op14/img_item01.webp"},{code:"OP15",productCode:"OP15-EB04",title:"Adventure on Kami's Island",productPage:"https://en.onepiece-cardgame.com/products/boosters/op15-eb04.php",packImageUrl:"https://en.onepiece-cardgame.com/renewal/images/products/boosters/op15-eb04/img_item01.webp"},{code:"OP16",productCode:"OP-16",title:"The Time of Battle",productPage:"https://en.onepiece-cardgame.com/products/op16.html",packImageUrl:"https://en.onepiece-cardgame.com/onepiececg/bccard/en/products/2026/03/26/olc1E9Gg9WXeLP6V/img_item01.webp"},{code:"OP17",productCode:"OP-17",title:"The World's Strongest Warriors",productPage:"https://en.onepiece-cardgame.com/products/boosters/op17/",packImageUrl:"https://en.onepiece-cardgame.com/products/boosters/op17/images/others/product_pack.webp"}];var DEFAULT_SEALED_EXPANSION=SEALED_EXPANSIONS.at(-1).code;var FORMAT_DECK_IDS=["(Red) Monkey.D.Luffy - Starter Deck 31","(Green) Roronoa Zoro - Starter Deck 32","(Blue) Kuzan - Starter Deck 33","(Purple) Charlotte Katakuri - Starter Deck 34","(Red/Black) Sabo - Starter Deck 35","(Yellow) Eustass Kid - Starter Deck 36"];var HAND_BUILT_DECK_IDS=["(Green/Blue) Monkey.D.Luffy - Official Feature Deck"];var STARTER_DECK_IDS=["(Purple) Monkey.D.Luffy - Starter Deck 18","(Blue) Ace & Newgate - Starter Deck 22","(Red) Shanks - Starter Deck 23","(Purple/Black) Monkey.D.Luffy - Starter Deck 26","(Black) Marshall.D.Teach - Starter Deck 27","(Yellow) Monkey.D.Luffy - Starter Deck 29","(Red/Green) Luffy & Ace - Starter Deck 30"];var STARTER_DECK_SUFFIX=/ - Starter Deck (\d+)$/;function deckShelf(deckId){if(STARTER_DECK_SUFFIX.test(deckId))return"starter";if(deckId.endsWith(" - Official Feature Deck"))return"official";return"tournament"}var TOURNAMENT_DECK_IDS=["(Blue/Yellow) Nami - Official Feature Deck","(Black/Yellow) Marshall.D.Teach - Official Feature Deck","(Purple) Enel - Official Feature Deck","(Red/Black) Sabo - TCG Match Making EB05 #8","(Green) Shanks - Official Feature Deck","(Blue) Rocks.D.Xebec - Official Feature Deck","(Black) Monkey.D.Luffy - Official Feature Deck","(Red) Portgas.D.Ace - Official Feature Deck","(Purple) Kaido - Official Feature Deck","(Green/Yellow) Yamato - Official Feature Deck","(Red/Yellow) Jewelry Bonney - Official Feature Deck","(Red) Edward.Newgate - Official Feature Deck","(Purple) Sengoku - Official Feature Deck","(Red/Green) Krieg - Official Feature Deck","(Red/Blue) Lucy - Official Feature Deck","(Blue) Rebecca - Official Feature Deck","(Black) Imu - Official Feature Deck","(Red/Purple) Gol.D.Roger - Official Feature Deck","(Green/Black) Brook - Official Feature Deck","(Yellow) Monkey.D.Luffy - Official Feature Deck","(Red/Blue) Nefeltari Vivi - Official Feature Deck","(Red) Trafalgar Law - Official Feature Deck","(Blue/Yellow) Boa Hancock - Official Feature Deck","(Blue) Jinbe - Official Feature Deck","(Black) Yamato - Official Feature Deck","(Black) Crocodile - Official Feature Deck","(Black/Yellow) Gecko Moria - Official Feature Deck","(Black/Yellow) Koala - Official Feature Deck","(Green/Purple) Monkey.D.Luffy - Official Feature Deck","(Green/Yellow) Shirahoshi - Official Feature Deck","(Red/Blue) Portgas.D.Ace - Official Feature Deck","(Blue/Purple) Sanji - Official Feature Deck","(Blue/Black) Usopp - Official Feature Deck","(Green) Jinbe - Official Feature Deck","(Blue) Buggy - Official Feature Deck","(Red) Silvers Rayleigh - Official Feature Deck","(Purple) Donquixote Doflamingo - Official Feature Deck","(Yellow) Charlotte Linlin - Official Feature Deck","(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1","(Purple) Kaido - Open OPTCG","(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19","(Black) Monkey.D.Luffy - Open OPTCG","(Red) Portgas.D.Ace - Open OPTCG","(Blue) Rocks.D.Xebec - Open OPTCG","(Purple/Yellow) Charlotte Pudding - Open OPTCG","(Green) Roronoa Zoro - OP17 Post-Ban List","(Blue) Kuzan - 1st Place Bandai Hiroshima","(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27","(Red/Black) Koby - 2nd Place Indonesia Regional Final","(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105","(Blue) Buggy - 12th Place ChinoizeCup #124","(Red) Trafalgar Law - 9th Place ChinoizeCup #125","(Green/Yellow) Nico Robin - TCG Match Making EB05 #6","(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15","(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02","(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10","(Yellow) Eustass Kid - ChinoizeCup #104","(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125","(Blue/Purple) Sanji - ChinoizeCup #116","(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20","(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19","(Red) Shanks - 1st Place Store Battle 2026-06-29","(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22","(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28","(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30","(Black/Yellow) Koala - 30th Place ChinoizeCup #113","(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120","(Green) Shanks - 16th Place Rumble League #9","(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25","(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124","(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104","(Blue) Jinbe - 11th Place ChinoizeCup #120","(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01","(Yellow) Enel - TCG Match Making OP17.5 #3","(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25","(Green) Jinbe - 1st Place Shop Event 2026-09-16","(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13","(Red) Monkey.D.Luffy - Open OPTCG","(Yellow) Charlotte Linlin - ChinoizeCup #121","(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05"];function deckFormat(manifest){return manifest.format??"standard"}var handBuiltDecks={"(Green/Blue) Monkey.D.Luffy - Official Feature Deck":{id:"(Green/Blue) Monkey.D.Luffy - Official Feature Deck",format:"standard",leader:"OP16-022",cards:{"OP16-034":4,"OP16-054":4,"OP16-055":4,"ST30-014":2,"OP16-027":1,"OP16-045":4,"OP16-056":4,"OP16-026":3,"OP16-048":4,"OP16-042":8,"OP15-032":1,"OP16-032":3,"OP12-057":1,"OP16-038":2,"OP12-037":1,"OP13-040":1,"OP11-061":1,"OP06-058":2}}};var tournamentDecks={"(Blue/Yellow) Nami - Official Feature Deck":op16NamiManifest,"(Black/Yellow) Marshall.D.Teach - Official Feature Deck":op16TeachManifest,"(Purple) Enel - Official Feature Deck":op16EnelManifest,"(Red/Black) Sabo - TCG Match Making EB05 #8":op13SaboTcgmmManifest,"(Green) Shanks - Official Feature Deck":op17ShanksManifest,"(Blue) Rocks.D.Xebec - Official Feature Deck":op17XebecManifest,"(Black) Monkey.D.Luffy - Official Feature Deck":op17LuffyManifest,"(Red) Portgas.D.Ace - Official Feature Deck":op16AceManifest,"(Purple) Kaido - Official Feature Deck":op17KaidoManifest,"(Green/Yellow) Yamato - Official Feature Deck":op06YamatoManifest,"(Red/Yellow) Jewelry Bonney - Official Feature Deck":eb04BonneyManifest,"(Red) Edward.Newgate - Official Feature Deck":op17NewgateManifest,"(Purple) Sengoku - Official Feature Deck":op16SengokuManifest,"(Red/Green) Krieg - Official Feature Deck":op15KriegManifest,"(Red/Blue) Lucy - Official Feature Deck":op15LucyManifest,"(Blue) Rebecca - Official Feature Deck":op15RebeccaManifest,"(Black) Imu - Official Feature Deck":op13ImuManifest,"(Red/Purple) Gol.D.Roger - Official Feature Deck":op13RogerManifest,"(Green/Black) Brook - Official Feature Deck":op15BrookManifest,"(Yellow) Monkey.D.Luffy - Official Feature Deck":op15LuffyManifest,"(Red/Blue) Nefeltari Vivi - Official Feature Deck":eb03ViviManifest,"(Red) Trafalgar Law - Official Feature Deck":op14LawManifest,"(Blue/Yellow) Boa Hancock - Official Feature Deck":op14HancockManifest,"(Blue) Jinbe - Official Feature Deck":op14JinbeManifest,"(Black) Yamato - Official Feature Deck":op16YamatoManifest,"(Black) Crocodile - Official Feature Deck":op14CrocodileManifest,"(Black/Yellow) Gecko Moria - Official Feature Deck":op14MoriaManifest,"(Black/Yellow) Koala - Official Feature Deck":op12KoalaManifest,"(Green/Purple) Monkey.D.Luffy - Official Feature Deck":eb02LuffyManifest,"(Green/Yellow) Shirahoshi - Official Feature Deck":op11ShirahoshiManifest,"(Red/Blue) Portgas.D.Ace - Official Feature Deck":op13AceManifest,"(Blue/Purple) Sanji - Official Feature Deck":op12SanjiManifest,"(Blue/Black) Usopp - Official Feature Deck":op10UsoppManifest,"(Green) Jinbe - Official Feature Deck":op11JinbeManifest,"(Blue) Buggy - Official Feature Deck":op09BuggyManifest,"(Red) Silvers Rayleigh - Official Feature Deck":op12RayleighManifest,"(Purple) Donquixote Doflamingo - Official Feature Deck":op14DoflamingoManifest,"(Yellow) Charlotte Linlin - Official Feature Deck":op17LinlinManifest,"(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1":op09RobinManifest,"(Purple) Kaido - Open OPTCG":op17KaidoFieldManifest,"(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19":st30LuffyAceCdmxManifest,"(Black) Monkey.D.Luffy - Open OPTCG":op17LuffyTournamentManifest,"(Red) Portgas.D.Ace - Open OPTCG":op16AceOpenManifest,"(Blue) Rocks.D.Xebec - Open OPTCG":op17XebecOpenManifest,"(Purple/Yellow) Charlotte Pudding - Open OPTCG":op08PuddingManifest,"(Green) Roronoa Zoro - OP17 Post-Ban List":op12ZoroManifest,"(Blue) Kuzan - 1st Place Bandai Hiroshima":st33KuzanTournamentManifest,"(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27":op06ReijuRegionalManifest,"(Red/Black) Koby - 2nd Place Indonesia Regional Final":op11KobyTournamentManifest,"(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105":op14HancockTournamentManifest,"(Blue) Buggy - 12th Place ChinoizeCup #124":op09BuggyTournamentManifest,"(Red) Trafalgar Law - 9th Place ChinoizeCup #125":op14LawTournamentManifest,"(Green/Yellow) Nico Robin - TCG Match Making EB05 #6":eb05RobinTcgmmManifest,"(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15":st29LuffyTournamentManifest,"(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02":op11KatakuriTournamentManifest,"(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10":op05LuffyStoreBattle2026Manifest,"(Yellow) Eustass Kid - ChinoizeCup #104":op10KidTournamentManifest,"(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125":op11ShirahoshiTournamentManifest,"(Blue/Purple) Sanji - ChinoizeCup #116":op12SanjiTournamentManifest,"(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20":op06YamatoTournamentManifest,"(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19":op07VegapunkStoreBattleManifest,"(Red) Shanks - 1st Place Store Battle 2026-06-29":op09ShanksTournamentManifest,"(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22":op13RogerTournamentManifest,"(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28":eb03ViviTournamentManifest,"(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30":op14DoflamingoTournamentManifest,"(Black/Yellow) Koala - 30th Place ChinoizeCup #113":op12KoalaTournamentManifest,"(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120":op14MoriaTournamentManifest,"(Green) Shanks - 16th Place Rumble League #9":op17ShanksTournamentManifest,"(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25":op15EnelChinoizeManifest,"(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124":op12RayleighTournamentManifest,"(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104":eb04BonneyTournamentManifest,"(Blue) Jinbe - 11th Place ChinoizeCup #120":op14JinbeTournamentManifest,"(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01":op13AceTournamentManifest,"(Yellow) Enel - TCG Match Making OP17.5 #3":op05EnelTcgmmManifest,"(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25":eb02LuffyTournamentManifest,"(Green) Jinbe - 1st Place Shop Event 2026-09-16":op11JinbeTournamentManifest,"(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13":op09LuffyTournamentManifest,"(Red) Monkey.D.Luffy - Open OPTCG":st21LuffyOpenManifest,"(Yellow) Charlotte Linlin - ChinoizeCup #121":op17LinlinTournamentManifest,"(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05":op13LuffyMiracleManifest};var starterDecks={"(Purple) Monkey.D.Luffy - Starter Deck 18":st18LuffyManifest,"(Blue) Ace & Newgate - Starter Deck 22":st22AceNewgateManifest,"(Red) Shanks - Starter Deck 23":st23ShanksManifest,"(Purple/Black) Monkey.D.Luffy - Starter Deck 26":st26LuffyManifest,"(Black) Marshall.D.Teach - Starter Deck 27":st27TeachManifest,"(Yellow) Monkey.D.Luffy - Starter Deck 29":st29LuffyManifest,"(Red/Green) Luffy & Ace - Starter Deck 30":st30LuffyAceManifest};var fixtureDecks={"FIXTURE-RED":{id:"FIXTURE-RED",leader:"FIX-LEADER-R",cards:{"FIX-001":30,"FIX-002":20}},"FIXTURE-BLUE":{id:"FIXTURE-BLUE",leader:"FIX-LEADER-B",cards:{"FIX-001":20,"FIX-002":30}}};var SELECTABLE_DECK_IDS=[...FORMAT_DECK_IDS,...HAND_BUILT_DECK_IDS,...TOURNAMENT_DECK_IDS,...STARTER_DECK_IDS];var deckManifests=Object.fromEntries([...Object.values(fixtureDecks).map(deck=>[deck.id,deck]),...Object.values(handBuiltDecks).map(deck=>[deck.id,deck]),...Object.values(tournamentDecks).map(deck=>[deck.id,deck]),...Object.values(starterDecks).map(deck=>[deck.id,deck]),...formatDeckManifests.map(deck=>[deck.id,{...deck,cards:{...deck.cards}}])]);function isRecommendedDeck(deckId){return deckManifests[deckId]?.recommended===true}function deckDisplayName(deckId){return displayNames.get(deckId)??deckId}function nameDeckLists(lists){const names=new Map;const seen=new Map;const ordered=[...lists].sort((left,right)=>Number(!!right.recommended)-Number(!!left.recommended));for(const list of ordered){const leader=requireKnownCard(list.leader);const title=`${leader.name} (${leader.colors?.join("/")??"No colour"})`;const key=`${list.shelf}|${title}`;const count=(seen.get(key)??0)+1;seen.set(key,count);names.set(list.id,count===1?title:`${title} (${String(count)})`)}return names}var displayNames=nameDeckLists(SELECTABLE_DECK_IDS.map(id=>({id,leader:deckManifests[id].leader,shelf:deckShelf(id),recommended:isRecommendedDeck(id)})));function requireSupportedDeck(deckId){const manifest=deckManifests[deckId];if(!manifest)throw new Error(`UNSUPPORTED_DECK: ${deckId}`);return manifest}function loadDeckManifest(manifest){const cards=Object.entries(manifest.cards).flatMap(([cardNumber,quantity])=>{requireKnownCard(cardNumber);return Array.from({length:quantity},()=>cardNumber)});const expected=manifest.deckSize??50;if(cards.length!==expected){throw new Error(`INVALID_DECK_SIZE: ${manifest.id} contains ${cards.length} cards, expected ${expected}`)}return cards}function resolveDeck(deckId,customDeck){const manifest=customDeck??requireSupportedDeck(deckId);return{leader:manifest.leader,cards:loadDeckManifest(manifest),seedKey:deckId}}export{STARTER_DECK_IDS,deckDisplayName,deckManifests,exportDeckList,parseDeckList,resolveDeck,validateDeck};
|
|
@@ -12,7 +12,7 @@ export interface DeckCardRow {
|
|
|
12
12
|
}
|
|
13
13
|
export type FormatDeckRowId = (typeof formatDeckManifests)[number]["id"];
|
|
14
14
|
export declare const SECONDARY_SOURCE_ONLY: readonly string[];
|
|
15
|
-
export type CommunityDeckId = "(Blue/Yellow) Nami - Official Feature Deck" | "(Black/Yellow) Marshall.D.Teach - Official Feature Deck" | "(Purple) Enel - Official Feature Deck" | "(Red/Black) Sabo -
|
|
15
|
+
export type CommunityDeckId = "(Blue/Yellow) Nami - Official Feature Deck" | "(Black/Yellow) Marshall.D.Teach - Official Feature Deck" | "(Purple) Enel - Official Feature Deck" | "(Red/Black) Sabo - TCG Match Making EB05 #8" | "(Green) Shanks - Official Feature Deck" | "(Blue) Rocks.D.Xebec - Official Feature Deck" | "(Black) Monkey.D.Luffy - Official Feature Deck" | "(Red) Portgas.D.Ace - Official Feature Deck" | "(Purple) Kaido - Official Feature Deck" | "(Red/Yellow) Jewelry Bonney - Official Feature Deck" | "(Green/Yellow) Yamato - Official Feature Deck" | "(Red) Edward.Newgate - Official Feature Deck" | "(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1" | "(Purple) Sengoku - Official Feature Deck" | "(Red/Green) Krieg - Official Feature Deck" | "(Red/Blue) Lucy - Official Feature Deck" | "(Blue) Rebecca - Official Feature Deck" | "(Black) Imu - Official Feature Deck" | "(Red/Purple) Gol.D.Roger - Official Feature Deck" | "(Green/Black) Brook - Official Feature Deck" | "(Yellow) Monkey.D.Luffy - Official Feature Deck" | "(Red/Blue) Nefeltari Vivi - Official Feature Deck" | "(Red) Trafalgar Law - Official Feature Deck" | "(Blue/Yellow) Boa Hancock - Official Feature Deck" | "(Blue) Jinbe - Official Feature Deck" | "(Black) Yamato - Official Feature Deck" | "(Black) Crocodile - Official Feature Deck" | "(Black/Yellow) Gecko Moria - Official Feature Deck" | "(Black/Yellow) Koala - Official Feature Deck" | "(Green/Purple) Monkey.D.Luffy - Official Feature Deck" | "(Green/Yellow) Shirahoshi - Official Feature Deck" | "(Red/Blue) Portgas.D.Ace - Official Feature Deck" | "(Blue/Purple) Sanji - Official Feature Deck" | "(Blue/Black) Usopp - Official Feature Deck" | "(Green) Jinbe - Official Feature Deck" | "(Blue) Buggy - Official Feature Deck" | "(Red) Silvers Rayleigh - Official Feature Deck" | "(Purple) Donquixote Doflamingo - Official Feature Deck" | "(Yellow) Charlotte Linlin - Official Feature Deck" | "(Purple) Kaido - Open OPTCG" | "(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19" | "(Black) Monkey.D.Luffy - Open OPTCG" | "(Red) Portgas.D.Ace - Open OPTCG" | "(Blue) Rocks.D.Xebec - Open OPTCG" | "(Purple/Yellow) Charlotte Pudding - Open OPTCG" | "(Green) Roronoa Zoro - OP17 Post-Ban List" | "(Blue) Kuzan - 1st Place Bandai Hiroshima" | "(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27" | "(Red/Black) Koby - 2nd Place Indonesia Regional Final" | "(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105" | "(Blue) Buggy - 12th Place ChinoizeCup #124" | "(Red) Trafalgar Law - 9th Place ChinoizeCup #125" | "(Green/Yellow) Nico Robin - TCG Match Making EB05 #6" | "(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15" | "(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02" | "(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10" | "(Yellow) Eustass Kid - ChinoizeCup #104" | "(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125" | "(Blue/Purple) Sanji - ChinoizeCup #116" | "(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20" | "(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19" | "(Red) Shanks - 1st Place Store Battle 2026-06-29" | "(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22" | "(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28" | "(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30" | "(Black/Yellow) Koala - 30th Place ChinoizeCup #113" | "(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120" | "(Green) Shanks - 16th Place Rumble League #9" | "(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25" | "(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124" | "(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104" | "(Blue) Jinbe - 11th Place ChinoizeCup #120" | "(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01" | "(Yellow) Enel - TCG Match Making OP17.5 #3" | "(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25" | "(Green) Jinbe - 1st Place Shop Event 2026-09-16" | "(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13" | "(Red) Monkey.D.Luffy - Open OPTCG" | "(Yellow) Charlotte Linlin - ChinoizeCup #121" | "(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05" | "(Purple) Monkey.D.Luffy - Starter Deck 18" | "(Blue) Ace & Newgate - Starter Deck 22" | "(Red) Shanks - Starter Deck 23" | "(Purple/Black) Monkey.D.Luffy - Starter Deck 26" | "(Black) Marshall.D.Teach - Starter Deck 27" | "(Yellow) Monkey.D.Luffy - Starter Deck 29" | "(Red/Green) Luffy & Ace - Starter Deck 30";
|
|
16
16
|
export declare const COMMUNITY_DECK_IDS: readonly CommunityDeckId[];
|
|
17
17
|
export declare const formatDeckCardRows: readonly DeckCardRow[];
|
|
18
18
|
export declare const communityDeckCardRows: readonly DeckCardRow[];
|
|
@@ -21,7 +21,7 @@ export interface FeaturePageEntry {
|
|
|
21
21
|
posted: string;
|
|
22
22
|
}
|
|
23
23
|
export declare function compareFeaturePageEntries(left: DeckManifest | undefined, right: DeckManifest | undefined): number;
|
|
24
|
-
export declare const TOURNAMENT_DECK_IDS: readonly ["(Blue/Yellow) Nami - Official Feature Deck", "(Black/Yellow) Marshall.D.Teach - Official Feature Deck", "(Purple) Enel - Official Feature Deck", "(Red/Black) Sabo -
|
|
24
|
+
export declare const TOURNAMENT_DECK_IDS: readonly ["(Blue/Yellow) Nami - Official Feature Deck", "(Black/Yellow) Marshall.D.Teach - Official Feature Deck", "(Purple) Enel - Official Feature Deck", "(Red/Black) Sabo - TCG Match Making EB05 #8", "(Green) Shanks - Official Feature Deck", "(Blue) Rocks.D.Xebec - Official Feature Deck", "(Black) Monkey.D.Luffy - Official Feature Deck", "(Red) Portgas.D.Ace - Official Feature Deck", "(Purple) Kaido - Official Feature Deck", "(Green/Yellow) Yamato - Official Feature Deck", "(Red/Yellow) Jewelry Bonney - Official Feature Deck", "(Red) Edward.Newgate - Official Feature Deck", "(Purple) Sengoku - Official Feature Deck", "(Red/Green) Krieg - Official Feature Deck", "(Red/Blue) Lucy - Official Feature Deck", "(Blue) Rebecca - Official Feature Deck", "(Black) Imu - Official Feature Deck", "(Red/Purple) Gol.D.Roger - Official Feature Deck", "(Green/Black) Brook - Official Feature Deck", "(Yellow) Monkey.D.Luffy - Official Feature Deck", "(Red/Blue) Nefeltari Vivi - Official Feature Deck", "(Red) Trafalgar Law - Official Feature Deck", "(Blue/Yellow) Boa Hancock - Official Feature Deck", "(Blue) Jinbe - Official Feature Deck", "(Black) Yamato - Official Feature Deck", "(Black) Crocodile - Official Feature Deck", "(Black/Yellow) Gecko Moria - Official Feature Deck", "(Black/Yellow) Koala - Official Feature Deck", "(Green/Purple) Monkey.D.Luffy - Official Feature Deck", "(Green/Yellow) Shirahoshi - Official Feature Deck", "(Red/Blue) Portgas.D.Ace - Official Feature Deck", "(Blue/Purple) Sanji - Official Feature Deck", "(Blue/Black) Usopp - Official Feature Deck", "(Green) Jinbe - Official Feature Deck", "(Blue) Buggy - Official Feature Deck", "(Red) Silvers Rayleigh - Official Feature Deck", "(Purple) Donquixote Doflamingo - Official Feature Deck", "(Yellow) Charlotte Linlin - Official Feature Deck", "(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1", "(Purple) Kaido - Open OPTCG", "(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19", "(Black) Monkey.D.Luffy - Open OPTCG", "(Red) Portgas.D.Ace - Open OPTCG", "(Blue) Rocks.D.Xebec - Open OPTCG", "(Purple/Yellow) Charlotte Pudding - Open OPTCG", "(Green) Roronoa Zoro - OP17 Post-Ban List", "(Blue) Kuzan - 1st Place Bandai Hiroshima", "(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27", "(Red/Black) Koby - 2nd Place Indonesia Regional Final", "(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105", "(Blue) Buggy - 12th Place ChinoizeCup #124", "(Red) Trafalgar Law - 9th Place ChinoizeCup #125", "(Green/Yellow) Nico Robin - TCG Match Making EB05 #6", "(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15", "(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02", "(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10", "(Yellow) Eustass Kid - ChinoizeCup #104", "(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125", "(Blue/Purple) Sanji - ChinoizeCup #116", "(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20", "(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19", "(Red) Shanks - 1st Place Store Battle 2026-06-29", "(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22", "(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28", "(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30", "(Black/Yellow) Koala - 30th Place ChinoizeCup #113", "(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120", "(Green) Shanks - 16th Place Rumble League #9", "(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25", "(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124", "(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104", "(Blue) Jinbe - 11th Place ChinoizeCup #120", "(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01", "(Yellow) Enel - TCG Match Making OP17.5 #3", "(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25", "(Green) Jinbe - 1st Place Shop Event 2026-09-16", "(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13", "(Red) Monkey.D.Luffy - Open OPTCG", "(Yellow) Charlotte Linlin - ChinoizeCup #121", "(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05"];
|
|
25
25
|
export type TournamentDeckId = (typeof TOURNAMENT_DECK_IDS)[number];
|
|
26
26
|
export interface DeckManifest {
|
|
27
27
|
id: string;
|
|
@@ -33,7 +33,7 @@ export interface DeckManifest {
|
|
|
33
33
|
recommended?: true;
|
|
34
34
|
}
|
|
35
35
|
export declare function deckFormat(manifest: DeckManifest): DeckFormat;
|
|
36
|
-
export declare const SELECTABLE_DECK_IDS: readonly ["(Red) Monkey.D.Luffy - Starter Deck 31", "(Green) Roronoa Zoro - Starter Deck 32", "(Blue) Kuzan - Starter Deck 33", "(Purple) Charlotte Katakuri - Starter Deck 34", "(Red/Black) Sabo - Starter Deck 35", "(Yellow) Eustass Kid - Starter Deck 36", "(Green/Blue) Monkey.D.Luffy - Official Feature Deck", "(Blue/Yellow) Nami - Official Feature Deck", "(Black/Yellow) Marshall.D.Teach - Official Feature Deck", "(Purple) Enel - Official Feature Deck", "(Red/Black) Sabo -
|
|
36
|
+
export declare const SELECTABLE_DECK_IDS: readonly ["(Red) Monkey.D.Luffy - Starter Deck 31", "(Green) Roronoa Zoro - Starter Deck 32", "(Blue) Kuzan - Starter Deck 33", "(Purple) Charlotte Katakuri - Starter Deck 34", "(Red/Black) Sabo - Starter Deck 35", "(Yellow) Eustass Kid - Starter Deck 36", "(Green/Blue) Monkey.D.Luffy - Official Feature Deck", "(Blue/Yellow) Nami - Official Feature Deck", "(Black/Yellow) Marshall.D.Teach - Official Feature Deck", "(Purple) Enel - Official Feature Deck", "(Red/Black) Sabo - TCG Match Making EB05 #8", "(Green) Shanks - Official Feature Deck", "(Blue) Rocks.D.Xebec - Official Feature Deck", "(Black) Monkey.D.Luffy - Official Feature Deck", "(Red) Portgas.D.Ace - Official Feature Deck", "(Purple) Kaido - Official Feature Deck", "(Green/Yellow) Yamato - Official Feature Deck", "(Red/Yellow) Jewelry Bonney - Official Feature Deck", "(Red) Edward.Newgate - Official Feature Deck", "(Purple) Sengoku - Official Feature Deck", "(Red/Green) Krieg - Official Feature Deck", "(Red/Blue) Lucy - Official Feature Deck", "(Blue) Rebecca - Official Feature Deck", "(Black) Imu - Official Feature Deck", "(Red/Purple) Gol.D.Roger - Official Feature Deck", "(Green/Black) Brook - Official Feature Deck", "(Yellow) Monkey.D.Luffy - Official Feature Deck", "(Red/Blue) Nefeltari Vivi - Official Feature Deck", "(Red) Trafalgar Law - Official Feature Deck", "(Blue/Yellow) Boa Hancock - Official Feature Deck", "(Blue) Jinbe - Official Feature Deck", "(Black) Yamato - Official Feature Deck", "(Black) Crocodile - Official Feature Deck", "(Black/Yellow) Gecko Moria - Official Feature Deck", "(Black/Yellow) Koala - Official Feature Deck", "(Green/Purple) Monkey.D.Luffy - Official Feature Deck", "(Green/Yellow) Shirahoshi - Official Feature Deck", "(Red/Blue) Portgas.D.Ace - Official Feature Deck", "(Blue/Purple) Sanji - Official Feature Deck", "(Blue/Black) Usopp - Official Feature Deck", "(Green) Jinbe - Official Feature Deck", "(Blue) Buggy - Official Feature Deck", "(Red) Silvers Rayleigh - Official Feature Deck", "(Purple) Donquixote Doflamingo - Official Feature Deck", "(Yellow) Charlotte Linlin - Official Feature Deck", "(Purple/Yellow) Nico Robin - 2nd Place EU Championship 26-27 S1", "(Purple) Kaido - Open OPTCG", "(Red/Green) Luffy & Ace - 2nd Place CDMX Regional 2026-09-19", "(Black) Monkey.D.Luffy - Open OPTCG", "(Red) Portgas.D.Ace - Open OPTCG", "(Blue) Rocks.D.Xebec - Open OPTCG", "(Purple/Yellow) Charlotte Pudding - Open OPTCG", "(Green) Roronoa Zoro - OP17 Post-Ban List", "(Blue) Kuzan - 1st Place Bandai Hiroshima", "(Blue/Purple) Vinsmoke Reiju - Top 32 Regional 2025-09-27", "(Red/Black) Koby - 2nd Place Indonesia Regional Final", "(Blue/Yellow) Boa Hancock - 25th Place ChinoizeCup #105", "(Blue) Buggy - 12th Place ChinoizeCup #124", "(Red) Trafalgar Law - 9th Place ChinoizeCup #125", "(Green/Yellow) Nico Robin - TCG Match Making EB05 #6", "(Yellow) Monkey.D.Luffy - 1st Place Store Battle 2026-07-15", "(Purple) Charlotte Katakuri - 1st Place Store Battle 2026-08-02", "(Purple) Monkey.D.Luffy - 1st Place Store Battle 2026-09-10", "(Yellow) Eustass Kid - ChinoizeCup #104", "(Green/Yellow) Shirahoshi - 3rd Place ChinoizeCup #125", "(Blue/Purple) Sanji - ChinoizeCup #116", "(Green/Yellow) Yamato - 1st Place Pirates Party 2026-09-20", "(Yellow) Vegapunk - 1st Place Store Battle 2026-06-19", "(Red) Shanks - 1st Place Store Battle 2026-06-29", "(Red/Purple) Gol.D.Roger - 1st Place OPTCGSim 2026-04-22", "(Red/Blue) Nefeltari Vivi - 1st Place Store Battle 2026-05-28", "(Purple) Donquixote Doflamingo - 1st Place Store Battle 2026-01-30", "(Black/Yellow) Koala - 30th Place ChinoizeCup #113", "(Black/Yellow) Gecko Moria - 5th Place ChinoizeCup #120", "(Green) Shanks - 16th Place Rumble League #9", "(Purple) Enel - 2nd Place ChinoizeCup 2026-08-25", "(Red) Silvers Rayleigh - 4th Place ChinoizeCup #124", "(Red/Yellow) Jewelry Bonney - 13th Place ChinoizeCup #104", "(Blue) Jinbe - 11th Place ChinoizeCup #120", "(Red/Blue) Portgas.D.Ace - 1st Place OPTCGSim 2026-06-01", "(Yellow) Enel - TCG Match Making OP17.5 #3", "(Green/Purple) Monkey.D.Luffy - 1st Place Store Championship 2026-04-25", "(Green) Jinbe - 1st Place Shop Event 2026-09-16", "(Purple/Black) Monkey.D.Luffy - 1st Place 2v2 2025-06-13", "(Red) Monkey.D.Luffy - Open OPTCG", "(Yellow) Charlotte Linlin - ChinoizeCup #121", "(Red/Green) Monkey.D.Luffy - Miracle Luffy EB05", "(Purple) Monkey.D.Luffy - Starter Deck 18", "(Blue) Ace & Newgate - Starter Deck 22", "(Red) Shanks - Starter Deck 23", "(Purple/Black) Monkey.D.Luffy - Starter Deck 26", "(Black) Marshall.D.Teach - Starter Deck 27", "(Yellow) Monkey.D.Luffy - Starter Deck 29", "(Red/Green) Luffy & Ace - Starter Deck 30"];
|
|
37
37
|
export type SelectableDeckId = (typeof SELECTABLE_DECK_IDS)[number];
|
|
38
38
|
export declare const DECK_VARIANT_OF: Partial<Record<SelectableDeckId, SelectableDeckId>>;
|
|
39
39
|
export declare function isDeckVariantPair(left: string, right: string): boolean;
|
package/package.json
CHANGED