@firestone-hs/reference-data 3.0.181 → 3.0.182
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.
|
@@ -21,4 +21,4 @@ export declare class AllCardsService {
|
|
|
21
21
|
private loadCards;
|
|
22
22
|
protected getCardsStr(url: string): Promise<string>;
|
|
23
23
|
}
|
|
24
|
-
export declare const getBaseCardId: (cardId: string) => string;
|
|
24
|
+
export declare const getBaseCardId: (cardId: string, allCards: AllCardsService) => string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getBaseCardId = exports.AllCardsService = void 0;
|
|
4
4
|
const card_ids_1 = require("../card-ids");
|
|
5
|
+
const public_api_1 = require("../public-api");
|
|
5
6
|
const cards_for_deckbuilding_service_1 = require("./cards-for-deckbuilding.service");
|
|
6
7
|
const utils_1 = require("./utils");
|
|
7
8
|
const MIRRORS = ['https://static.zerotoheroes.com/data/cards', 'https://static.firestoneapp.com/data/cards'];
|
|
@@ -122,7 +123,7 @@ class AllCardsService {
|
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
exports.AllCardsService = AllCardsService;
|
|
125
|
-
const getBaseCardId = (cardId) => {
|
|
126
|
+
const getBaseCardId = (cardId, allCards) => {
|
|
126
127
|
if (!cardId) {
|
|
127
128
|
return null;
|
|
128
129
|
}
|
|
@@ -455,6 +456,13 @@ const getBaseCardId = (cardId) => {
|
|
|
455
456
|
if (cardId.startsWith(card_ids_1.CardIds.ZilliaxDeluxe3000_TOY_330)) {
|
|
456
457
|
return card_ids_1.CardIds.ZilliaxDeluxe3000_TOY_330;
|
|
457
458
|
}
|
|
459
|
+
const refCard = allCards.getCard(cardId);
|
|
460
|
+
if (public_api_1.hasMechanic(refCard, public_api_1.GameTag.SHATTERED)) {
|
|
461
|
+
const baseCardId = cardId.replace(/t\d*$/, '');
|
|
462
|
+
if (baseCardId !== cardId) {
|
|
463
|
+
return baseCardId;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
458
466
|
return cardId;
|
|
459
467
|
};
|
|
460
468
|
exports.getBaseCardId = getBaseCardId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-cards.service.js","sourceRoot":"","sources":["../../src/services/all-cards.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Sideboard } from '@firestone-hs/deckstrings';\r\nimport { CardIds } from '../card-ids';\r\nimport { ReferenceCard } from '../models/reference-cards/reference-card';\r\nimport { GameFormat } from '../public-api';\r\nimport { CardsForDeckbuildingService } from './cards-for-deckbuilding.service';\r\nimport { httpWithRetries } from './utils';\r\n\r\nconst MIRRORS = ['https://static.zerotoheroes.com/data/cards', 'https://static.firestoneapp.com/data/cards'];\r\n\r\nexport class AllCardsService {\r\n\tprivate cache: { [cardId: string]: ReferenceCard } = {};\r\n\tprivate cacheDbfId: { [cardDbfId: string]: ReferenceCard } = {};\r\n\r\n\tprivate deckbuilding: CardsForDeckbuildingService;\r\n\r\n\tconstructor() {\r\n\t\t// We don't call it in the constructor because we want the app to be in control\r\n\t\t// of how they load the cards, and for it to be aware of when cards have been loaded\r\n\t\t// this.retrieveAllCards();\r\n\t}\r\n\r\n\t// We keep this synchronous because we ensure, in the game init pipeline, that loading cards\r\n\t// is the first thing we do\r\n\tpublic getCard(id: string | number, errorWhenUndefined = true): ReferenceCard {\r\n\t\treturn this.cache[id] ?? this.cacheDbfId[id] ?? ({} as ReferenceCard);\r\n\t}\r\n\r\n\tpublic getMultipleCards(ids: (string | number)[]): ReferenceCard[] {\r\n\t\treturn ids.map((id) => this.getCard(id));\r\n\t}\r\n\r\n\t/** @deprecated use getCard instead */\r\n\tpublic getCardFromDbfId(dbfId: number): ReferenceCard {\r\n\t\treturn this.cacheDbfId[dbfId] ?? ({} as ReferenceCard);\r\n\t}\r\n\r\n\t/** @deprecated use getMultipleCards instead */\r\n\tpublic getCardsFromDbfIds(dbfIds: number[]): ReferenceCard[] {\r\n\t\treturn dbfIds.map((dbfId) => this.getCardFromDbfId(dbfId));\r\n\t}\r\n\r\n\tpublic getCards(): ReferenceCard[] {\r\n\t\treturn Object.values(this.cache);\r\n\t}\r\n\r\n\tpublic initializeCardsDbFromCards(allCards: readonly ReferenceCard[]) {\r\n\t\tthis.cache = {};\r\n\t\tthis.cacheDbfId = {};\r\n\t\tif (!allCards?.length) {\r\n\t\t\tconsole.error('[all-cards] cannot init with empty cards');\r\n\t\t} else {\r\n\t\t\t// console.log('[all-cards] retrieved all cards', allCards?.length);\r\n\t\t\tfor (const card of allCards) {\r\n\t\t\t\tif (card.id) {\r\n\t\t\t\t\tthis.cache[card.id] = card;\r\n\t\t\t\t}\r\n\t\t\t\tif (card.dbfId) {\r\n\t\t\t\t\tthis.cacheDbfId[card.dbfId] = card;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.deckbuilding = new CardsForDeckbuildingService();\r\n\t\tthis.deckbuilding.init(this);\r\n\t}\r\n\r\n\tpublic async initializeCardsDb(version = '', cardsFile = 'cards_enUS.gz.json'): Promise<void> {\r\n\t\tfor (const mirror of MIRRORS) {\r\n\t\t\ttry {\r\n\t\t\t\tconst allCards = await this.loadCards(mirror, cardsFile, version);\r\n\t\t\t\tif (!!allCards?.length) {\r\n\t\t\t\t\tthis.initializeCardsDbFromCards(allCards);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error('[all-cards] could not load cards from mirror', mirror, e.message);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic getRootCardId(cardId: string): string {\r\n\t\tconst card = this.getCard(cardId);\r\n\t\tconst dbfId = card?.counterpartCards?.[0] ?? card?.deckDuplicateDbfId ?? card?.dbfId;\r\n\t\treturn this.getCard(dbfId)?.id;\r\n\t}\r\n\r\n\tpublic normalizeDeckList(decklist: string): string {\r\n\t\treturn this.deckbuilding.normalizeDeckList(decklist, this);\r\n\t}\r\n\r\n\tpublic normalizeSideboard(sideboard: Sideboard, format: GameFormat): Sideboard {\r\n\t\treturn this.deckbuilding.normalizeSideboard(sideboard, format, this);\r\n\t}\r\n\r\n\tpublic getBaseCardDbfIdForDeckbuilding(cardIdOrDbfId: number | string, format: GameFormat): number {\r\n\t\treturn this.deckbuilding.getBaseCardDbfIdForDeckbuilding(cardIdOrDbfId, format, this);\r\n\t}\r\n\r\n\tpublic getBaseCardIdForDeckbuilding(cardIdOrDbfId: number | string, format: GameFormat): string {\r\n\t\treturn this.deckbuilding.getBaseCardIdForDeckbuilding(cardIdOrDbfId, format, this);\r\n\t}\r\n\r\n\tprivate async loadCards(baseUrl: string, cardsFile: string, version: string): Promise<readonly ReferenceCard[]> {\r\n\t\tconst versionString = !!version?.length ? `?v=${version}` : '';\r\n\t\tconst url = `${baseUrl}/${cardsFile}${versionString}`;\r\n\t\tlet cardsStr: string = await this.getCardsStr(url);\r\n\t\tif (!!cardsStr?.length && !cardsStr.startsWith('<')) {\r\n\t\t\treturn JSON.parse(cardsStr) as readonly ReferenceCard[];\r\n\t\t}\r\n\r\n\t\tconsole.warn('[all-cards] could not load cards, defaulting to split');\r\n\t\tconst numberOfSplits = 5;\r\n\t\tconst result: ReferenceCard[] = [];\r\n\t\ttry {\r\n\t\t\tfor (let i = 0; i < numberOfSplits; i++) {\r\n\t\t\t\tconst splitUrl = `${baseUrl}/split/${cardsFile}.${i}${versionString}`;\r\n\t\t\t\tconsole.log('[all-cards] loading split', splitUrl);\r\n\t\t\t\tcardsStr = await httpWithRetries(splitUrl, 1);\r\n\t\t\t\tif (!!cardsStr?.length && !cardsStr.startsWith('<')) {\r\n\t\t\t\t\tconst splitCards: readonly ReferenceCard[] = JSON.parse(cardsStr);\r\n\t\t\t\t\tconsole.log('loaded split cards', splitCards?.length);\r\n\t\t\t\t\tresult.push(...splitCards);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(`Could not load split cards from ${splitUrl}`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!!result?.length) {\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.error('[all-cards] could not load split cards', e.message);\r\n\t\t}\r\n\r\n\t\tconst urlNoAudio = `${baseUrl}/no_audio/${cardsFile}${versionString}`;\r\n\t\tconsole.warn('[all-cards] could not load cards, defaulting to no_audio', urlNoAudio);\r\n\t\tcardsStr = await httpWithRetries(urlNoAudio, 1);\r\n\t\tif (!!cardsStr?.length && !cardsStr.startsWith('<')) {\r\n\t\t\treturn JSON.parse(cardsStr) as readonly ReferenceCard[];\r\n\t\t}\r\n\t\treturn [];\r\n\t}\r\n\r\n\tprotected async getCardsStr(url: string): Promise<string> {\r\n\t\treturn await httpWithRetries(url, 1);\r\n\t}\r\n}\r\n\r\n// The spellstones are present in the AI decklist in their basic version\r\n// However, if the AI plays the spellstone's upgraded version, we need to remove\r\n// the basic one from the decklist\r\nexport const getBaseCardId = (cardId: string): string => {\r\n\tif (!cardId) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tswitch (cardId) {\r\n\t\t// The spellstones\r\n\t\tcase CardIds.LesserSpinelSpellstone_SpinelSpellstoneToken_TOY_825t:\r\n\t\tcase CardIds.LesserSpinelSpellstone_GreaterSpinelSpellstoneToken_TOY_825t2:\r\n\t\t\treturn CardIds.LesserSpinelSpellstone_TOY_825;\r\n\t\tcase CardIds.LesserJasperSpellstone_JasperSpellstoneToken:\r\n\t\tcase CardIds.LesserJasperSpellstone_GreaterJasperSpellstoneToken:\r\n\t\t\treturn CardIds.LesserJasperSpellstone_CORE_LOOT_051;\r\n\t\tcase CardIds.LesserEmeraldSpellstone_EmeraldSpellstoneToken:\r\n\t\tcase CardIds.LesserEmeraldSpellstone_GreaterEmeraldSpellstoneToken:\r\n\t\t\treturn CardIds.LesserEmeraldSpellstone_CORE_FB_Champs_LOOT_080;\r\n\t\tcase CardIds.LesserDiamondSpellstone_DiamondSpellstoneToken:\r\n\t\tcase CardIds.LesserDiamondSpellstone_GreaterDiamondSpellstoneToken:\r\n\t\t\treturn CardIds.LesserDiamondSpellstone_CORE_LOOT_507;\r\n\t\tcase CardIds.LesserAmethystSpellstone_AmethystSpellstoneToken:\r\n\t\tcase CardIds.LesserAmethystSpellstone_GreaterAmethystSpellstoneToken:\r\n\t\t\treturn CardIds.LesserAmethystSpellstone_CORE_LOOT_043;\r\n\t\tcase CardIds.LesserOpalSpellstone_OpalSpellstoneToken_TOY_645t:\r\n\t\tcase CardIds.LesserOpalSpellstone_GreaterOpalSpellstoneToken_TOY_645t1:\r\n\t\t\treturn CardIds.LesserOpalSpellstone_TOY_645;\r\n\t\tcase 'LOOT_103t1':\r\n\t\tcase 'LOOT_103t2':\r\n\t\t\treturn 'LOOT_103';\r\n\t\tcase 'LOOT_043t2':\r\n\t\tcase 'LOOT_043t3':\r\n\t\t\treturn 'LOOT_043';\r\n\t\tcase 'LOOT_051t1':\r\n\t\tcase 'LOOT_051t2':\r\n\t\t\treturn 'LOOT_051';\r\n\t\tcase 'LOOT_064t1':\r\n\t\tcase 'LOOT_064t2':\r\n\t\t\treturn 'LOOT_064';\r\n\t\tcase 'LOOT_080t2':\r\n\t\tcase 'LOOT_080t3':\r\n\t\t\treturn 'LOOT_080';\r\n\t\tcase 'LOOT_091t1':\r\n\t\tcase 'LOOT_091t2':\r\n\t\t\treturn 'LOOT_091';\r\n\t\tcase 'LOOT_203t2':\r\n\t\tcase 'LOOT_203t3':\r\n\t\t\treturn 'LOOT_203';\r\n\t\tcase 'LOOT_503t':\r\n\t\tcase 'LOOT_503t2':\r\n\t\t\treturn 'LOOT_503';\r\n\t\tcase 'LOOT_507t':\r\n\t\tcase 'LOOT_507t2':\r\n\t\t\treturn 'LOOT_507';\r\n\t\tcase 'FB_Champs_LOOT_080t2':\r\n\t\tcase 'FB_Champs_LOOT_080t3':\r\n\t\t\treturn 'FB_Champs_LOOT_080';\r\n\r\n\t\t// The \"unidentified\" spells\r\n\t\tcase 'LOOT_278t1':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_278t2':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_278t3':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_278t4':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_285t':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_285t2':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_285t3':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_285t4':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_286t1':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'LOOT_286t2':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'LOOT_286t3':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'LOOT_286t4':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'DAL_366t1':\r\n\t\t\treturn 'DAL_366';\r\n\t\tcase 'DAL_366t2':\r\n\t\t\treturn 'DAL_366';\r\n\t\tcase 'DAL_366t3':\r\n\t\t\treturn 'DAL_366';\r\n\t\tcase 'DAL_366t4':\r\n\t\t\treturn 'DAL_366';\r\n\t\t// Galakrond\r\n\t\tcase CardIds.GalakrondTheTempest_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheTempest_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheTempest;\r\n\t\tcase CardIds.GalakrondTheWretched_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheWretched_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheWretched;\r\n\t\tcase CardIds.GalakrondTheUnspeakable_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheUnspeakable_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheUnspeakable;\r\n\t\tcase CardIds.GalakrondTheNightmare_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheNightmare_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheNightmare;\r\n\t\tcase CardIds.GalakrondTheUnbreakable_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheUnbreakable_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheUnbreakable;\r\n\t\t// Corrupted\r\n\t\tcase 'DMF_054t':\r\n\t\t\treturn 'DMF_054';\r\n\t\tcase 'DMF_061t':\r\n\t\t\treturn 'DMF_061';\r\n\t\tcase 'DMF_064t':\r\n\t\t\treturn 'DMF_064';\r\n\t\tcase 'DMF_073t':\r\n\t\t\treturn 'DMF_073';\r\n\t\tcase 'DMF_078t':\r\n\t\t\treturn 'DMF_078';\r\n\t\tcase 'DMF_080t':\r\n\t\t\treturn 'DMF_080';\r\n\t\tcase 'DMF_082t':\r\n\t\t\treturn 'DMF_082';\r\n\t\tcase 'DMF_083t':\r\n\t\t\treturn 'DMF_083';\r\n\t\tcase 'DMF_090t':\r\n\t\t\treturn 'DMF_090';\r\n\t\tcase 'DMF_101t':\r\n\t\t\treturn 'DMF_101';\r\n\t\tcase 'DMF_105t':\r\n\t\t\treturn 'DMF_105';\r\n\t\tcase 'DMF_117t':\r\n\t\t\treturn 'DMF_117';\r\n\t\tcase 'DMF_117t2':\r\n\t\t\treturn 'DMF_117';\r\n\t\tcase 'DMF_118t':\r\n\t\t\treturn 'DMF_118';\r\n\t\tcase 'DMF_124t':\r\n\t\t\treturn 'DMF_124';\r\n\t\tcase 'DMF_163t':\r\n\t\t\treturn 'DMF_163';\r\n\t\tcase 'DMF_174t':\r\n\t\t\treturn 'DMF_174';\r\n\t\tcase 'DMF_184t':\r\n\t\t\treturn 'DMF_184';\r\n\t\tcase 'DMF_186a':\r\n\t\t\treturn 'DMF_186';\r\n\t\tcase 'DMF_244t':\r\n\t\t\treturn 'DMF_244';\r\n\t\tcase 'DMF_247t':\r\n\t\t\treturn 'DMF_247';\r\n\t\tcase 'DMF_248t':\r\n\t\t\treturn 'DMF_248';\r\n\t\tcase 'DMF_517a':\r\n\t\t\treturn 'DMF_517';\r\n\t\tcase 'DMF_526a':\r\n\t\t\treturn 'DMF_526';\r\n\t\tcase 'DMF_701t':\r\n\t\t\treturn 'DMF_701';\r\n\t\tcase 'DMF_703t':\r\n\t\t\treturn 'DMF_703';\r\n\t\tcase 'DMF_730t':\r\n\t\t\treturn 'DMF_730';\r\n\t\tcase 'DMF_526a':\r\n\t\t\treturn 'DMF_526';\r\n\t\tcase CardIds.DreamingDrake_DreamingDrakeToken:\r\n\t\t\treturn CardIds.DreamingDrake;\r\n\t\tcase CardIds.LibramOfJudgment_LibramOfJudgmentToken:\r\n\t\t\treturn CardIds.LibramOfJudgment;\r\n\t\tcase CardIds.LuckysoulHoarder_LuckysoulHoarderToken:\r\n\t\t\treturn CardIds.LuckysoulHoarder;\r\n\t\tcase CardIds.NitroboostPoison_NitroboostPoisonToken:\r\n\t\t\treturn CardIds.NitroboostPoison;\r\n\t\t// The \"improve during run\" cards in Duels\r\n\t\t// Upgradable ranked spells\r\n\t\tcase CardIds.TameBeastRank1_TameBeastRank2Token:\r\n\t\tcase CardIds.TameBeastRank1_TameBeastRank3Token:\r\n\t\t\treturn CardIds.TameBeastRank1;\r\n\t\tcase CardIds.ChainLightningRank1_ChainLightningRank2Token:\r\n\t\tcase CardIds.ChainLightningRank1_ChainLightningRank3Token:\r\n\t\t\treturn CardIds.ChainLightningRank1;\r\n\t\tcase CardIds.FlurryRank1_FlurryRank2Token:\r\n\t\tcase CardIds.FlurryRank1_FlurryRank3Token:\r\n\t\t\treturn CardIds.FlurryRank1;\r\n\t\tcase CardIds.CondemnRank1_CondemnRank2Token:\r\n\t\tcase CardIds.CondemnRank1_CondemnRank3Token:\r\n\t\t\treturn CardIds.CondemnRank1;\r\n\t\tcase CardIds.WickedStabRank1_WickedStabRank2Token:\r\n\t\tcase CardIds.WickedStabRank1_WickedStabRank3Token:\r\n\t\t\treturn CardIds.WickedStabRank1;\r\n\t\tcase CardIds.LivingSeedRank1_LivingSeedRank2Token:\r\n\t\tcase CardIds.LivingSeedRank1_LivingSeedRank3Token:\r\n\t\t\treturn CardIds.LivingSeedRank1;\r\n\t\tcase CardIds.ConvictionRank1_ConvictionRank2Token:\r\n\t\tcase CardIds.ConvictionRank1_ConvictionRank3Token:\r\n\t\t\treturn CardIds.ConvictionRank1;\r\n\t\tcase CardIds.ConditioningRank1_ConditioningRank2Token:\r\n\t\tcase CardIds.ConditioningRank1_ConditioningRank3Token:\r\n\t\t\treturn CardIds.ConditioningRank1;\r\n\t\tcase CardIds.FuryRank1_FuryRank2Token:\r\n\t\tcase CardIds.FuryRank1_FuryRank3Token:\r\n\t\t\treturn CardIds.FuryRank1;\r\n\t\tcase CardIds.ImpSwarmRank1_ImpSwarmRank2Token:\r\n\t\tcase CardIds.ImpSwarmRank1_ImpSwarmRank3Token:\r\n\t\t\treturn CardIds.ImpSwarmRank1;\r\n\r\n\t\t// Infused\r\n\t\tcase CardIds.MischievousImp_MischievousImpToken:\r\n\t\t\treturn CardIds.MischievousImp;\r\n\t\tcase CardIds.ImpKingRafaam_ImpKingRafaamToken:\r\n\t\t\treturn CardIds.ImpKingRafaam_REV_789;\r\n\t\tcase CardIds.StonebornAccuser_StonebornAccuserToken:\r\n\t\t\treturn CardIds.StonebornAccuser;\r\n\t\tcase CardIds.Murlocula_MurloculaToken:\r\n\t\t\treturn CardIds.Murlocula;\r\n\t\tcase CardIds.FamishedFool_FamishedFoolToken:\r\n\t\t\treturn CardIds.FamishedFool;\r\n\t\tcase CardIds.SinfueledGolem_SinfueledGolemToken:\r\n\t\t\treturn CardIds.SinfueledGolem;\r\n\t\tcase CardIds.InsatiableDevourer_InsatiableDevourerToken:\r\n\t\t\treturn CardIds.InsatiableDevourer;\r\n\t\tcase CardIds.SireDenathrius_SireDenathriusToken:\r\n\t\t\treturn CardIds.SireDenathrius_REV_906;\r\n\t\tcase CardIds.PriestOfTheDeceased_PriestOfTheDeceasedToken:\r\n\t\t\treturn CardIds.PriestOfTheDeceased;\r\n\t\tcase CardIds.ArtificerXymox_ArtificerXymoxToken:\r\n\t\t\treturn CardIds.ArtificerXymox_REV_937;\r\n\t\tcase CardIds.BuffetBiggun_BuffetBiggunToken:\r\n\t\t\treturn CardIds.BuffetBiggun;\r\n\t\tcase CardIds.ImbuedAxe_ImbuedAxeToken:\r\n\t\t\treturn CardIds.ImbuedAxe;\r\n\t\tcase CardIds.CleanTheScene_CleanTheSceneToken:\r\n\t\t\treturn CardIds.CleanTheScene;\r\n\t\tcase CardIds.ConvincingDisguise_ConvincingDisguiseToken:\r\n\t\t\treturn CardIds.ConvincingDisguise;\r\n\t\tcase CardIds.PlotOfSin_PlotOfSinToken:\r\n\t\t\treturn CardIds.PlotOfSin;\r\n\t\tcase CardIds.AllFelBreaksLoose_AllFelBreaksLooseToken:\r\n\t\t\treturn CardIds.AllFelBreaksLoose;\r\n\t\tcase CardIds.Shadehound_ShadehoundToken:\r\n\t\t\treturn CardIds.Shadehound;\r\n\t\tcase CardIds.TotemicEvidence_TotemicEvidenceToken:\r\n\t\t\treturn CardIds.TotemicEvidence;\r\n\t\tcase CardIds.SylvanasTheAccused_SylvanasTheAccusedToken:\r\n\t\t\treturn CardIds.SylvanasTheAccused;\r\n\r\n\t\t// Remixed\r\n\t\tcase CardIds.RemixedDispenseOBot_ChillingDispenseOBotToken:\r\n\t\tcase CardIds.RemixedDispenseOBot_MerchDispenseOBotToken:\r\n\t\tcase CardIds.RemixedDispenseOBot_MoneyDispenseOBotToken:\r\n\t\tcase CardIds.RemixedDispenseOBot_MysteryDispenseOBotToken:\r\n\t\t\treturn CardIds.RemixedDispenseOBot;\r\n\t\tcase CardIds.RemixedRhapsody_AngstyRhapsodyToken:\r\n\t\tcase CardIds.RemixedRhapsody_ResoundingRhapsodyToken:\r\n\t\tcase CardIds.RemixedRhapsody_EmotionalRhapsodyToken:\r\n\t\tcase CardIds.RemixedRhapsody_WailingRhapsodyToken:\r\n\t\t\treturn CardIds.RemixedRhapsody;\r\n\t\tcase CardIds.RemixedTotemcarver_LoudTotemcarverToken:\r\n\t\tcase CardIds.RemixedTotemcarver_BluesyTotemcarverToken:\r\n\t\tcase CardIds.RemixedTotemcarver_BlazingTotemcarverToken:\r\n\t\tcase CardIds.RemixedTotemcarver_KaraokeTotemcarverToken:\r\n\t\t\treturn CardIds.RemixedTotemcarver;\r\n\t\tcase CardIds.RemixedMusician_CathedralMusicianToken:\r\n\t\tcase CardIds.RemixedMusician_TropicalMusicianToken:\r\n\t\tcase CardIds.RemixedMusician_RomanticMusicianToken:\r\n\t\tcase CardIds.RemixedMusician_NoiseMusicianToken:\r\n\t\t\treturn CardIds.RemixedMusician;\r\n\t\tcase CardIds.RemixedTuningFork_SharpenedTuningForkToken:\r\n\t\tcase CardIds.RemixedTuningFork_ReinforcedTuningForkToken:\r\n\t\tcase CardIds.RemixedTuningFork_CurvedTuningForkToken:\r\n\t\tcase CardIds.RemixedTuningFork_BackupTuningForkToken:\r\n\t\t\treturn CardIds.RemixedTuningFork;\r\n\t\t// Forged\r\n\t\tcase CardIds.BellowingFlames_BellowingFlamesToken:\r\n\t\t\treturn CardIds.BellowingFlames;\r\n\t\tcase CardIds.ChampionOfStorms_StormCycloneToken_TTN_801t2:\r\n\t\t\treturn CardIds.ChampionOfStorms_StormCycloneToken_TTN_801t1;\r\n\t\tcase CardIds.CreationProtocol_CreationProtocolToken:\r\n\t\t\treturn CardIds.CreationProtocol;\r\n\t\tcase CardIds.DiscipleOfSargeras_DiscipleOfSargerasToken:\r\n\t\t\treturn CardIds.DiscipleOfSargeras;\r\n\t\tcase CardIds.EmbraceOfNature_EmbraceOfNatureToken:\r\n\t\t\treturn CardIds.EmbraceOfNature;\r\n\t\tcase CardIds.Eulogizer_EulogizerToken:\r\n\t\t\treturn CardIds.Eulogizer;\r\n\t\tcase CardIds.LabConstructor_LabConstructorToken:\r\n\t\t\treturn CardIds.LabConstructor;\r\n\t\tcase CardIds.MechagnomeGuide_MechagnomeGuideToken:\r\n\t\t\treturn CardIds.MechagnomeGuide;\r\n\t\tcase CardIds.MoltenRune_MoltenRuneToken:\r\n\t\t\treturn CardIds.MoltenRune;\r\n\t\tcase CardIds.StormGiant_StormGiantToken:\r\n\t\t\treturn CardIds.StormGiant;\r\n\t\tcase CardIds.TitanforgedTraps_TitanforgedTrapsToken:\r\n\t\t\treturn CardIds.TitanforgedTraps;\r\n\t\tcase CardIds.TyrsTears_TyrsTearsToken:\r\n\t\t\treturn CardIds.TyrsTears;\r\n\t\tcase CardIds.WatcherOfTheSun_WatcherOfTheSunToken:\r\n\t\t\treturn CardIds.WatcherOfTheSun;\r\n\t\tcase CardIds.WeightOfTheWorld_WeightOfTheWorldToken:\r\n\t\t\treturn CardIds.WeightOfTheWorld;\r\n\t\tcase CardIds.Xb488Disposalbot_Xb488DisposalbotToken:\r\n\t\t\treturn CardIds.Xb488Disposalbot;\r\n\t\tcase CardIds.MuscleOTron_MuscleOTronToken_YOG_525t:\r\n\t\t\treturn CardIds.MuscleOTron_YOG_525;\r\n\t\tcase CardIds.Sanitize_SanitizeToken_YOG_502t:\r\n\t\t\treturn CardIds.Sanitize_YOG_502;\r\n\t\t// Bonus effect\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t1:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t2:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t3:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t4:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t5:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t6:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t7:\r\n\t\t\treturn CardIds.DroneDeconstructor;\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t1:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t2:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t3:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t4:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t5:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t6:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t7:\r\n\t\t\treturn CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t;\r\n\t\t// Transforms in hand\r\n\t\tcase CardIds.ForestSeedlings_ForestBlossomsToken:\r\n\t\t\treturn CardIds.ForestSeedlings;\r\n\t\tcase CardIds.FrostLotusSeedling_FrostLotusBlossomToken:\r\n\t\t\treturn CardIds.FrostLotusSeedling;\r\n\t\tcase CardIds.UngoroBrochure_DalaranBrochureToken_WORK_050t:\r\n\t\t\treturn CardIds.UngoroBrochure_WORK_050;\r\n\t\tcase CardIds.SilvermoonBrochure_GilneasBrochureToken_WORK_017t:\r\n\t\t\treturn CardIds.SilvermoonBrochure_WORK_017;\r\n\t\tcase CardIds.IcecrownBrochure_BlackrockBrochureToken_WORK_030t:\r\n\t\t\treturn CardIds.IcecrownBrochure_WORK_030;\r\n\t\tcase CardIds.SiegeTank_SiegeTankDeployedToken_SC_413t:\r\n\t\t\treturn CardIds.SiegeTank_SC_413;\r\n\t\tcase CardIds.Hellion_HellbatToken_SC_412t:\r\n\t\t\treturn CardIds.Hellion_SC_412;\r\n\t\tcase CardIds.Thor_ThorExplosivePayloadToken_SC_414t:\r\n\t\t\treturn CardIds.Thor_SC_414;\r\n\t\tcase CardIds.WishOfTheNewMoon_WishOfTheFullMoonToken_EDR_460t:\r\n\t\t\treturn CardIds.WishOfTheNewMoon_EDR_460;\r\n\t}\r\n\r\n\t// Transfer Student should be handled on a case by case basis\r\n\tif (cardId.startsWith(CardIds.TransferStudent)) {\r\n\t\treturn CardIds.TransferStudent;\r\n\t}\r\n\tif (cardId.startsWith(CardIds.ZilliaxDeluxe3000_TOY_330)) {\r\n\t\treturn CardIds.ZilliaxDeluxe3000_TOY_330;\r\n\t}\r\n\r\n\treturn cardId;\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"all-cards.service.js","sourceRoot":"","sources":["../../src/services/all-cards.service.ts"],"names":[],"mappings":";;;AACA,0CAAsC;AAEtC,8CAAiE;AACjE,qFAA+E;AAC/E,mCAA0C;AAE1C,MAAM,OAAO,GAAG,CAAC,4CAA4C,EAAE,4CAA4C,CAAC,CAAC;AAE7G,MAAa,eAAe;IAM3B;QALQ,UAAK,GAAwC,EAAE,CAAC;QAChD,eAAU,GAA2C,EAAE,CAAC;IAQhE,CAAC;IAIM,OAAO,CAAC,EAAmB,EAAE,kBAAkB,GAAG,IAAI;;QAC5D,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mCAAK,EAAoB,CAAC;IACvE,CAAC;IAEM,gBAAgB,CAAC,GAAwB;QAC/C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAGM,gBAAgB,CAAC,KAAa;;QACpC,OAAO,MAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mCAAK,EAAoB,CAAC;IACxD,CAAC;IAGM,kBAAkB,CAAC,MAAgB;QACzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,QAAQ;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,0BAA0B,CAAC,QAAkC;QACnE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC1D;aAAM;YAEN,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;gBAC5B,IAAI,IAAI,CAAC,EAAE,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBAC3B;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACnC;aACD;SACD;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,4DAA2B,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,oBAAoB;QAC5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAI;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;oBACvB,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC1C,OAAO;iBACP;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;aACjF;SACD;IACF,CAAC;IAEM,aAAa,CAAC,MAAc;;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,MAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,0CAAG,CAAC,CAAC,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;QACrF,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0CAAE,EAAE,CAAC;IAChC,CAAC;IAEM,iBAAiB,CAAC,QAAgB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,kBAAkB,CAAC,SAAoB,EAAE,MAAkB;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAEM,+BAA+B,CAAC,aAA8B,EAAE,MAAkB;QACxF,OAAO,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IAEM,4BAA4B,CAAC,aAA8B,EAAE,MAAkB;QACrF,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAe;QAC1E,MAAM,aAAa,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;QACtD,IAAI,QAAQ,GAAW,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA6B,CAAC;SACxD;QAED,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,CAAC,CAAC;QACzB,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,IAAI;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,QAAQ,GAAG,GAAG,OAAO,UAAU,SAAS,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;gBACnD,QAAQ,GAAG,MAAM,uBAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACpD,MAAM,UAAU,GAA6B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;iBAC3B;qBAAM;oBACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;iBAC/D;aACD;YACD,IAAI,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;gBACrB,OAAO,MAAM,CAAC;aACd;SACD;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SACnE;QAED,MAAM,UAAU,GAAG,GAAG,OAAO,aAAa,SAAS,GAAG,aAAa,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,UAAU,CAAC,CAAC;QACrF,QAAQ,GAAG,MAAM,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA6B,CAAC;SACxD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,GAAW;QACtC,OAAO,MAAM,uBAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;CACD;AAxID,0CAwIC;AAKM,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,QAAyB,EAAU,EAAE;IAClF,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO,IAAI,CAAC;KACZ;IAED,QAAQ,MAAM,EAAE;QAEf,KAAK,kBAAO,CAAC,qDAAqD,CAAC;QACnE,KAAK,kBAAO,CAAC,6DAA6D;YACzE,OAAO,kBAAO,CAAC,8BAA8B,CAAC;QAC/C,KAAK,kBAAO,CAAC,4CAA4C,CAAC;QAC1D,KAAK,kBAAO,CAAC,mDAAmD;YAC/D,OAAO,kBAAO,CAAC,oCAAoC,CAAC;QACrD,KAAK,kBAAO,CAAC,8CAA8C,CAAC;QAC5D,KAAK,kBAAO,CAAC,qDAAqD;YACjE,OAAO,kBAAO,CAAC,+CAA+C,CAAC;QAChE,KAAK,kBAAO,CAAC,8CAA8C,CAAC;QAC5D,KAAK,kBAAO,CAAC,qDAAqD;YACjE,OAAO,kBAAO,CAAC,qCAAqC,CAAC;QACtD,KAAK,kBAAO,CAAC,gDAAgD,CAAC;QAC9D,KAAK,kBAAO,CAAC,uDAAuD;YACnE,OAAO,kBAAO,CAAC,sCAAsC,CAAC;QACvD,KAAK,kBAAO,CAAC,iDAAiD,CAAC;QAC/D,KAAK,kBAAO,CAAC,yDAAyD;YACrE,OAAO,kBAAO,CAAC,4BAA4B,CAAC;QAC7C,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,sBAAsB;YAC1B,OAAO,oBAAoB,CAAC;QAG7B,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,WAAW;YACf,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,YAAY;YAChB,OAAO,UAAU,CAAC;QACnB,KAAK,WAAW;YACf,OAAO,SAAS,CAAC;QAClB,KAAK,WAAW;YACf,OAAO,SAAS,CAAC;QAClB,KAAK,WAAW;YACf,OAAO,SAAS,CAAC;QAClB,KAAK,WAAW;YACf,OAAO,SAAS,CAAC;QAElB,KAAK,kBAAO,CAAC,+CAA+C,CAAC;QAC7D,KAAK,kBAAO,CAAC,6CAA6C;YACzD,OAAO,kBAAO,CAAC,mBAAmB,CAAC;QACpC,KAAK,kBAAO,CAAC,gDAAgD,CAAC;QAC9D,KAAK,kBAAO,CAAC,8CAA8C;YAC1D,OAAO,kBAAO,CAAC,oBAAoB,CAAC;QACrC,KAAK,kBAAO,CAAC,mDAAmD,CAAC;QACjE,KAAK,kBAAO,CAAC,iDAAiD;YAC7D,OAAO,kBAAO,CAAC,uBAAuB,CAAC;QACxC,KAAK,kBAAO,CAAC,iDAAiD,CAAC;QAC/D,KAAK,kBAAO,CAAC,+CAA+C;YAC3D,OAAO,kBAAO,CAAC,qBAAqB,CAAC;QACtC,KAAK,kBAAO,CAAC,mDAAmD,CAAC;QACjE,KAAK,kBAAO,CAAC,iDAAiD;YAC7D,OAAO,kBAAO,CAAC,uBAAuB,CAAC;QAExC,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,WAAW;YACf,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,kBAAO,CAAC,gCAAgC;YAC5C,OAAO,kBAAO,CAAC,aAAa,CAAC;QAC9B,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QAGjC,KAAK,kBAAO,CAAC,kCAAkC,CAAC;QAChD,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,cAAc,CAAC;QAC/B,KAAK,kBAAO,CAAC,4CAA4C,CAAC;QAC1D,KAAK,kBAAO,CAAC,4CAA4C;YACxD,OAAO,kBAAO,CAAC,mBAAmB,CAAC;QACpC,KAAK,kBAAO,CAAC,4BAA4B,CAAC;QAC1C,KAAK,kBAAO,CAAC,4BAA4B;YACxC,OAAO,kBAAO,CAAC,WAAW,CAAC;QAC5B,KAAK,kBAAO,CAAC,8BAA8B,CAAC;QAC5C,KAAK,kBAAO,CAAC,8BAA8B;YAC1C,OAAO,kBAAO,CAAC,YAAY,CAAC;QAC7B,KAAK,kBAAO,CAAC,oCAAoC,CAAC;QAClD,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,oCAAoC,CAAC;QAClD,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,oCAAoC,CAAC;QAClD,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC;YACpD,OAAO,kBAAO,CAAC,iBAAiB,CAAC;QAClC,KAAK,kBAAO,CAAC,wBAAwB,CAAC;QACtC,KAAK,kBAAO,CAAC,wBAAwB;YACpC,OAAO,kBAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,kBAAO,CAAC,gCAAgC,CAAC;QAC9C,KAAK,kBAAO,CAAC,gCAAgC;YAC5C,OAAO,kBAAO,CAAC,aAAa,CAAC;QAG9B,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,cAAc,CAAC;QAC/B,KAAK,kBAAO,CAAC,gCAAgC;YAC5C,OAAO,kBAAO,CAAC,qBAAqB,CAAC;QACtC,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,wBAAwB;YACpC,OAAO,kBAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,kBAAO,CAAC,8BAA8B;YAC1C,OAAO,kBAAO,CAAC,YAAY,CAAC;QAC7B,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,cAAc,CAAC;QAC/B,KAAK,kBAAO,CAAC,0CAA0C;YACtD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QACnC,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,sBAAsB,CAAC;QACvC,KAAK,kBAAO,CAAC,4CAA4C;YACxD,OAAO,kBAAO,CAAC,mBAAmB,CAAC;QACpC,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,sBAAsB,CAAC;QACvC,KAAK,kBAAO,CAAC,8BAA8B;YAC1C,OAAO,kBAAO,CAAC,YAAY,CAAC;QAC7B,KAAK,kBAAO,CAAC,wBAAwB;YACpC,OAAO,kBAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,kBAAO,CAAC,gCAAgC;YAC5C,OAAO,kBAAO,CAAC,aAAa,CAAC;QAC9B,KAAK,kBAAO,CAAC,0CAA0C;YACtD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QACnC,KAAK,kBAAO,CAAC,wBAAwB;YACpC,OAAO,kBAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,kBAAO,CAAC,wCAAwC;YACpD,OAAO,kBAAO,CAAC,iBAAiB,CAAC;QAClC,KAAK,kBAAO,CAAC,0BAA0B;YACtC,OAAO,kBAAO,CAAC,UAAU,CAAC;QAC3B,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,0CAA0C;YACtD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QAGnC,KAAK,kBAAO,CAAC,6CAA6C,CAAC;QAC3D,KAAK,kBAAO,CAAC,0CAA0C,CAAC;QACxD,KAAK,kBAAO,CAAC,0CAA0C,CAAC;QACxD,KAAK,kBAAO,CAAC,4CAA4C;YACxD,OAAO,kBAAO,CAAC,mBAAmB,CAAC;QACpC,KAAK,kBAAO,CAAC,mCAAmC,CAAC;QACjD,KAAK,kBAAO,CAAC,uCAAuC,CAAC;QACrD,KAAK,kBAAO,CAAC,sCAAsC,CAAC;QACpD,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,uCAAuC,CAAC;QACrD,KAAK,kBAAO,CAAC,yCAAyC,CAAC;QACvD,KAAK,kBAAO,CAAC,0CAA0C,CAAC;QACxD,KAAK,kBAAO,CAAC,0CAA0C;YACtD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QACnC,KAAK,kBAAO,CAAC,sCAAsC,CAAC;QACpD,KAAK,kBAAO,CAAC,qCAAqC,CAAC;QACnD,KAAK,kBAAO,CAAC,qCAAqC,CAAC;QACnD,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,0CAA0C,CAAC;QACxD,KAAK,kBAAO,CAAC,2CAA2C,CAAC;QACzD,KAAK,kBAAO,CAAC,uCAAuC,CAAC;QACrD,KAAK,kBAAO,CAAC,uCAAuC;YACnD,OAAO,kBAAO,CAAC,iBAAiB,CAAC;QAElC,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,4CAA4C;YACxD,OAAO,kBAAO,CAAC,4CAA4C,CAAC;QAC7D,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,0CAA0C;YACtD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QACnC,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,wBAAwB;YACpC,OAAO,kBAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,kBAAO,CAAC,kCAAkC;YAC9C,OAAO,kBAAO,CAAC,cAAc,CAAC;QAC/B,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,0BAA0B;YACtC,OAAO,kBAAO,CAAC,UAAU,CAAC;QAC3B,KAAK,kBAAO,CAAC,0BAA0B;YACtC,OAAO,kBAAO,CAAC,UAAU,CAAC;QAC3B,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,wBAAwB;YACpC,OAAO,kBAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,kBAAO,CAAC,oCAAoC;YAChD,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,qCAAqC;YACjD,OAAO,kBAAO,CAAC,mBAAmB,CAAC;QACpC,KAAK,kBAAO,CAAC,+BAA+B;YAC3C,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QAEjC,KAAK,kBAAO,CAAC,uCAAuC,CAAC;QACrD,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC,CAAC;QACtD,KAAK,kBAAO,CAAC,wCAAwC;YACpD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QACnC,KAAK,kBAAO,CAAC,oDAAoD,CAAC;QAClE,KAAK,kBAAO,CAAC,oDAAoD,CAAC;QAClE,KAAK,kBAAO,CAAC,oDAAoD,CAAC;QAClE,KAAK,kBAAO,CAAC,oDAAoD,CAAC;QAClE,KAAK,kBAAO,CAAC,oDAAoD,CAAC;QAClE,KAAK,kBAAO,CAAC,oDAAoD,CAAC;QAClE,KAAK,kBAAO,CAAC,oDAAoD;YAChE,OAAO,kBAAO,CAAC,mDAAmD,CAAC;QAEpE,KAAK,kBAAO,CAAC,mCAAmC;YAC/C,OAAO,kBAAO,CAAC,eAAe,CAAC;QAChC,KAAK,kBAAO,CAAC,yCAAyC;YACrD,OAAO,kBAAO,CAAC,kBAAkB,CAAC;QACnC,KAAK,kBAAO,CAAC,6CAA6C;YACzD,OAAO,kBAAO,CAAC,uBAAuB,CAAC;QACxC,KAAK,kBAAO,CAAC,iDAAiD;YAC7D,OAAO,kBAAO,CAAC,2BAA2B,CAAC;QAC5C,KAAK,kBAAO,CAAC,iDAAiD;YAC7D,OAAO,kBAAO,CAAC,yBAAyB,CAAC;QAC1C,KAAK,kBAAO,CAAC,wCAAwC;YACpD,OAAO,kBAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,kBAAO,CAAC,4BAA4B;YACxC,OAAO,kBAAO,CAAC,cAAc,CAAC;QAC/B,KAAK,kBAAO,CAAC,sCAAsC;YAClD,OAAO,kBAAO,CAAC,WAAW,CAAC;QAC5B,KAAK,kBAAO,CAAC,gDAAgD;YAC5D,OAAO,kBAAO,CAAC,wBAAwB,CAAC;KACzC;IAGD,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAO,CAAC,eAAe,CAAC,EAAE;QAC/C,OAAO,kBAAO,CAAC,eAAe,CAAC;KAC/B;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAO,CAAC,yBAAyB,CAAC,EAAE;QACzD,OAAO,kBAAO,CAAC,yBAAyB,CAAC;KACzC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,wBAAW,CAAC,OAAO,EAAE,oBAAO,CAAC,SAAS,CAAC,EAAE;QAG5C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,UAAU,KAAK,MAAM,EAAE;YAC1B,OAAO,UAAU,CAAC;SAClB;KACD;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAzWW,QAAA,aAAa,iBAyWxB","sourcesContent":["import { Sideboard } from '@firestone-hs/deckstrings';\r\nimport { CardIds } from '../card-ids';\r\nimport { ReferenceCard } from '../models/reference-cards/reference-card';\r\nimport { GameFormat, GameTag, hasMechanic } from '../public-api';\r\nimport { CardsForDeckbuildingService } from './cards-for-deckbuilding.service';\r\nimport { httpWithRetries } from './utils';\r\n\r\nconst MIRRORS = ['https://static.zerotoheroes.com/data/cards', 'https://static.firestoneapp.com/data/cards'];\r\n\r\nexport class AllCardsService {\r\n\tprivate cache: { [cardId: string]: ReferenceCard } = {};\r\n\tprivate cacheDbfId: { [cardDbfId: string]: ReferenceCard } = {};\r\n\r\n\tprivate deckbuilding: CardsForDeckbuildingService;\r\n\r\n\tconstructor() {\r\n\t\t// We don't call it in the constructor because we want the app to be in control\r\n\t\t// of how they load the cards, and for it to be aware of when cards have been loaded\r\n\t\t// this.retrieveAllCards();\r\n\t}\r\n\r\n\t// We keep this synchronous because we ensure, in the game init pipeline, that loading cards\r\n\t// is the first thing we do\r\n\tpublic getCard(id: string | number, errorWhenUndefined = true): ReferenceCard {\r\n\t\treturn this.cache[id] ?? this.cacheDbfId[id] ?? ({} as ReferenceCard);\r\n\t}\r\n\r\n\tpublic getMultipleCards(ids: (string | number)[]): ReferenceCard[] {\r\n\t\treturn ids.map((id) => this.getCard(id));\r\n\t}\r\n\r\n\t/** @deprecated use getCard instead */\r\n\tpublic getCardFromDbfId(dbfId: number): ReferenceCard {\r\n\t\treturn this.cacheDbfId[dbfId] ?? ({} as ReferenceCard);\r\n\t}\r\n\r\n\t/** @deprecated use getMultipleCards instead */\r\n\tpublic getCardsFromDbfIds(dbfIds: number[]): ReferenceCard[] {\r\n\t\treturn dbfIds.map((dbfId) => this.getCardFromDbfId(dbfId));\r\n\t}\r\n\r\n\tpublic getCards(): ReferenceCard[] {\r\n\t\treturn Object.values(this.cache);\r\n\t}\r\n\r\n\tpublic initializeCardsDbFromCards(allCards: readonly ReferenceCard[]) {\r\n\t\tthis.cache = {};\r\n\t\tthis.cacheDbfId = {};\r\n\t\tif (!allCards?.length) {\r\n\t\t\tconsole.error('[all-cards] cannot init with empty cards');\r\n\t\t} else {\r\n\t\t\t// console.log('[all-cards] retrieved all cards', allCards?.length);\r\n\t\t\tfor (const card of allCards) {\r\n\t\t\t\tif (card.id) {\r\n\t\t\t\t\tthis.cache[card.id] = card;\r\n\t\t\t\t}\r\n\t\t\t\tif (card.dbfId) {\r\n\t\t\t\t\tthis.cacheDbfId[card.dbfId] = card;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.deckbuilding = new CardsForDeckbuildingService();\r\n\t\tthis.deckbuilding.init(this);\r\n\t}\r\n\r\n\tpublic async initializeCardsDb(version = '', cardsFile = 'cards_enUS.gz.json'): Promise<void> {\r\n\t\tfor (const mirror of MIRRORS) {\r\n\t\t\ttry {\r\n\t\t\t\tconst allCards = await this.loadCards(mirror, cardsFile, version);\r\n\t\t\t\tif (!!allCards?.length) {\r\n\t\t\t\t\tthis.initializeCardsDbFromCards(allCards);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error('[all-cards] could not load cards from mirror', mirror, e.message);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic getRootCardId(cardId: string): string {\r\n\t\tconst card = this.getCard(cardId);\r\n\t\tconst dbfId = card?.counterpartCards?.[0] ?? card?.deckDuplicateDbfId ?? card?.dbfId;\r\n\t\treturn this.getCard(dbfId)?.id;\r\n\t}\r\n\r\n\tpublic normalizeDeckList(decklist: string): string {\r\n\t\treturn this.deckbuilding.normalizeDeckList(decklist, this);\r\n\t}\r\n\r\n\tpublic normalizeSideboard(sideboard: Sideboard, format: GameFormat): Sideboard {\r\n\t\treturn this.deckbuilding.normalizeSideboard(sideboard, format, this);\r\n\t}\r\n\r\n\tpublic getBaseCardDbfIdForDeckbuilding(cardIdOrDbfId: number | string, format: GameFormat): number {\r\n\t\treturn this.deckbuilding.getBaseCardDbfIdForDeckbuilding(cardIdOrDbfId, format, this);\r\n\t}\r\n\r\n\tpublic getBaseCardIdForDeckbuilding(cardIdOrDbfId: number | string, format: GameFormat): string {\r\n\t\treturn this.deckbuilding.getBaseCardIdForDeckbuilding(cardIdOrDbfId, format, this);\r\n\t}\r\n\r\n\tprivate async loadCards(baseUrl: string, cardsFile: string, version: string): Promise<readonly ReferenceCard[]> {\r\n\t\tconst versionString = !!version?.length ? `?v=${version}` : '';\r\n\t\tconst url = `${baseUrl}/${cardsFile}${versionString}`;\r\n\t\tlet cardsStr: string = await this.getCardsStr(url);\r\n\t\tif (!!cardsStr?.length && !cardsStr.startsWith('<')) {\r\n\t\t\treturn JSON.parse(cardsStr) as readonly ReferenceCard[];\r\n\t\t}\r\n\r\n\t\tconsole.warn('[all-cards] could not load cards, defaulting to split');\r\n\t\tconst numberOfSplits = 5;\r\n\t\tconst result: ReferenceCard[] = [];\r\n\t\ttry {\r\n\t\t\tfor (let i = 0; i < numberOfSplits; i++) {\r\n\t\t\t\tconst splitUrl = `${baseUrl}/split/${cardsFile}.${i}${versionString}`;\r\n\t\t\t\tconsole.log('[all-cards] loading split', splitUrl);\r\n\t\t\t\tcardsStr = await httpWithRetries(splitUrl, 1);\r\n\t\t\t\tif (!!cardsStr?.length && !cardsStr.startsWith('<')) {\r\n\t\t\t\t\tconst splitCards: readonly ReferenceCard[] = JSON.parse(cardsStr);\r\n\t\t\t\t\tconsole.log('loaded split cards', splitCards?.length);\r\n\t\t\t\t\tresult.push(...splitCards);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(`Could not load split cards from ${splitUrl}`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!!result?.length) {\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.error('[all-cards] could not load split cards', e.message);\r\n\t\t}\r\n\r\n\t\tconst urlNoAudio = `${baseUrl}/no_audio/${cardsFile}${versionString}`;\r\n\t\tconsole.warn('[all-cards] could not load cards, defaulting to no_audio', urlNoAudio);\r\n\t\tcardsStr = await httpWithRetries(urlNoAudio, 1);\r\n\t\tif (!!cardsStr?.length && !cardsStr.startsWith('<')) {\r\n\t\t\treturn JSON.parse(cardsStr) as readonly ReferenceCard[];\r\n\t\t}\r\n\t\treturn [];\r\n\t}\r\n\r\n\tprotected async getCardsStr(url: string): Promise<string> {\r\n\t\treturn await httpWithRetries(url, 1);\r\n\t}\r\n}\r\n\r\n// The spellstones are present in the AI decklist in their basic version\r\n// However, if the AI plays the spellstone's upgraded version, we need to remove\r\n// the basic one from the decklist\r\nexport const getBaseCardId = (cardId: string, allCards: AllCardsService): string => {\r\n\tif (!cardId) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tswitch (cardId) {\r\n\t\t// The spellstones\r\n\t\tcase CardIds.LesserSpinelSpellstone_SpinelSpellstoneToken_TOY_825t:\r\n\t\tcase CardIds.LesserSpinelSpellstone_GreaterSpinelSpellstoneToken_TOY_825t2:\r\n\t\t\treturn CardIds.LesserSpinelSpellstone_TOY_825;\r\n\t\tcase CardIds.LesserJasperSpellstone_JasperSpellstoneToken:\r\n\t\tcase CardIds.LesserJasperSpellstone_GreaterJasperSpellstoneToken:\r\n\t\t\treturn CardIds.LesserJasperSpellstone_CORE_LOOT_051;\r\n\t\tcase CardIds.LesserEmeraldSpellstone_EmeraldSpellstoneToken:\r\n\t\tcase CardIds.LesserEmeraldSpellstone_GreaterEmeraldSpellstoneToken:\r\n\t\t\treturn CardIds.LesserEmeraldSpellstone_CORE_FB_Champs_LOOT_080;\r\n\t\tcase CardIds.LesserDiamondSpellstone_DiamondSpellstoneToken:\r\n\t\tcase CardIds.LesserDiamondSpellstone_GreaterDiamondSpellstoneToken:\r\n\t\t\treturn CardIds.LesserDiamondSpellstone_CORE_LOOT_507;\r\n\t\tcase CardIds.LesserAmethystSpellstone_AmethystSpellstoneToken:\r\n\t\tcase CardIds.LesserAmethystSpellstone_GreaterAmethystSpellstoneToken:\r\n\t\t\treturn CardIds.LesserAmethystSpellstone_CORE_LOOT_043;\r\n\t\tcase CardIds.LesserOpalSpellstone_OpalSpellstoneToken_TOY_645t:\r\n\t\tcase CardIds.LesserOpalSpellstone_GreaterOpalSpellstoneToken_TOY_645t1:\r\n\t\t\treturn CardIds.LesserOpalSpellstone_TOY_645;\r\n\t\tcase 'LOOT_103t1':\r\n\t\tcase 'LOOT_103t2':\r\n\t\t\treturn 'LOOT_103';\r\n\t\tcase 'LOOT_043t2':\r\n\t\tcase 'LOOT_043t3':\r\n\t\t\treturn 'LOOT_043';\r\n\t\tcase 'LOOT_051t1':\r\n\t\tcase 'LOOT_051t2':\r\n\t\t\treturn 'LOOT_051';\r\n\t\tcase 'LOOT_064t1':\r\n\t\tcase 'LOOT_064t2':\r\n\t\t\treturn 'LOOT_064';\r\n\t\tcase 'LOOT_080t2':\r\n\t\tcase 'LOOT_080t3':\r\n\t\t\treturn 'LOOT_080';\r\n\t\tcase 'LOOT_091t1':\r\n\t\tcase 'LOOT_091t2':\r\n\t\t\treturn 'LOOT_091';\r\n\t\tcase 'LOOT_203t2':\r\n\t\tcase 'LOOT_203t3':\r\n\t\t\treturn 'LOOT_203';\r\n\t\tcase 'LOOT_503t':\r\n\t\tcase 'LOOT_503t2':\r\n\t\t\treturn 'LOOT_503';\r\n\t\tcase 'LOOT_507t':\r\n\t\tcase 'LOOT_507t2':\r\n\t\t\treturn 'LOOT_507';\r\n\t\tcase 'FB_Champs_LOOT_080t2':\r\n\t\tcase 'FB_Champs_LOOT_080t3':\r\n\t\t\treturn 'FB_Champs_LOOT_080';\r\n\r\n\t\t// The \"unidentified\" spells\r\n\t\tcase 'LOOT_278t1':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_278t2':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_278t3':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_278t4':\r\n\t\t\treturn 'LOOT_278';\r\n\t\tcase 'LOOT_285t':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_285t2':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_285t3':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_285t4':\r\n\t\t\treturn 'LOOT_285';\r\n\t\tcase 'LOOT_286t1':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'LOOT_286t2':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'LOOT_286t3':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'LOOT_286t4':\r\n\t\t\treturn 'LOOT_286';\r\n\t\tcase 'DAL_366t1':\r\n\t\t\treturn 'DAL_366';\r\n\t\tcase 'DAL_366t2':\r\n\t\t\treturn 'DAL_366';\r\n\t\tcase 'DAL_366t3':\r\n\t\t\treturn 'DAL_366';\r\n\t\tcase 'DAL_366t4':\r\n\t\t\treturn 'DAL_366';\r\n\t\t// Galakrond\r\n\t\tcase CardIds.GalakrondTheTempest_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheTempest_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheTempest;\r\n\t\tcase CardIds.GalakrondTheWretched_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheWretched_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheWretched;\r\n\t\tcase CardIds.GalakrondTheUnspeakable_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheUnspeakable_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheUnspeakable;\r\n\t\tcase CardIds.GalakrondTheNightmare_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheNightmare_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheNightmare;\r\n\t\tcase CardIds.GalakrondTheUnbreakable_GalakrondTheApocalypseToken:\r\n\t\tcase CardIds.GalakrondTheUnbreakable_GalakrondAzerothsEndToken:\r\n\t\t\treturn CardIds.GalakrondTheUnbreakable;\r\n\t\t// Corrupted\r\n\t\tcase 'DMF_054t':\r\n\t\t\treturn 'DMF_054';\r\n\t\tcase 'DMF_061t':\r\n\t\t\treturn 'DMF_061';\r\n\t\tcase 'DMF_064t':\r\n\t\t\treturn 'DMF_064';\r\n\t\tcase 'DMF_073t':\r\n\t\t\treturn 'DMF_073';\r\n\t\tcase 'DMF_078t':\r\n\t\t\treturn 'DMF_078';\r\n\t\tcase 'DMF_080t':\r\n\t\t\treturn 'DMF_080';\r\n\t\tcase 'DMF_082t':\r\n\t\t\treturn 'DMF_082';\r\n\t\tcase 'DMF_083t':\r\n\t\t\treturn 'DMF_083';\r\n\t\tcase 'DMF_090t':\r\n\t\t\treturn 'DMF_090';\r\n\t\tcase 'DMF_101t':\r\n\t\t\treturn 'DMF_101';\r\n\t\tcase 'DMF_105t':\r\n\t\t\treturn 'DMF_105';\r\n\t\tcase 'DMF_117t':\r\n\t\t\treturn 'DMF_117';\r\n\t\tcase 'DMF_117t2':\r\n\t\t\treturn 'DMF_117';\r\n\t\tcase 'DMF_118t':\r\n\t\t\treturn 'DMF_118';\r\n\t\tcase 'DMF_124t':\r\n\t\t\treturn 'DMF_124';\r\n\t\tcase 'DMF_163t':\r\n\t\t\treturn 'DMF_163';\r\n\t\tcase 'DMF_174t':\r\n\t\t\treturn 'DMF_174';\r\n\t\tcase 'DMF_184t':\r\n\t\t\treturn 'DMF_184';\r\n\t\tcase 'DMF_186a':\r\n\t\t\treturn 'DMF_186';\r\n\t\tcase 'DMF_244t':\r\n\t\t\treturn 'DMF_244';\r\n\t\tcase 'DMF_247t':\r\n\t\t\treturn 'DMF_247';\r\n\t\tcase 'DMF_248t':\r\n\t\t\treturn 'DMF_248';\r\n\t\tcase 'DMF_517a':\r\n\t\t\treturn 'DMF_517';\r\n\t\tcase 'DMF_526a':\r\n\t\t\treturn 'DMF_526';\r\n\t\tcase 'DMF_701t':\r\n\t\t\treturn 'DMF_701';\r\n\t\tcase 'DMF_703t':\r\n\t\t\treturn 'DMF_703';\r\n\t\tcase 'DMF_730t':\r\n\t\t\treturn 'DMF_730';\r\n\t\tcase 'DMF_526a':\r\n\t\t\treturn 'DMF_526';\r\n\t\tcase CardIds.DreamingDrake_DreamingDrakeToken:\r\n\t\t\treturn CardIds.DreamingDrake;\r\n\t\tcase CardIds.LibramOfJudgment_LibramOfJudgmentToken:\r\n\t\t\treturn CardIds.LibramOfJudgment;\r\n\t\tcase CardIds.LuckysoulHoarder_LuckysoulHoarderToken:\r\n\t\t\treturn CardIds.LuckysoulHoarder;\r\n\t\tcase CardIds.NitroboostPoison_NitroboostPoisonToken:\r\n\t\t\treturn CardIds.NitroboostPoison;\r\n\t\t// The \"improve during run\" cards in Duels\r\n\t\t// Upgradable ranked spells\r\n\t\tcase CardIds.TameBeastRank1_TameBeastRank2Token:\r\n\t\tcase CardIds.TameBeastRank1_TameBeastRank3Token:\r\n\t\t\treturn CardIds.TameBeastRank1;\r\n\t\tcase CardIds.ChainLightningRank1_ChainLightningRank2Token:\r\n\t\tcase CardIds.ChainLightningRank1_ChainLightningRank3Token:\r\n\t\t\treturn CardIds.ChainLightningRank1;\r\n\t\tcase CardIds.FlurryRank1_FlurryRank2Token:\r\n\t\tcase CardIds.FlurryRank1_FlurryRank3Token:\r\n\t\t\treturn CardIds.FlurryRank1;\r\n\t\tcase CardIds.CondemnRank1_CondemnRank2Token:\r\n\t\tcase CardIds.CondemnRank1_CondemnRank3Token:\r\n\t\t\treturn CardIds.CondemnRank1;\r\n\t\tcase CardIds.WickedStabRank1_WickedStabRank2Token:\r\n\t\tcase CardIds.WickedStabRank1_WickedStabRank3Token:\r\n\t\t\treturn CardIds.WickedStabRank1;\r\n\t\tcase CardIds.LivingSeedRank1_LivingSeedRank2Token:\r\n\t\tcase CardIds.LivingSeedRank1_LivingSeedRank3Token:\r\n\t\t\treturn CardIds.LivingSeedRank1;\r\n\t\tcase CardIds.ConvictionRank1_ConvictionRank2Token:\r\n\t\tcase CardIds.ConvictionRank1_ConvictionRank3Token:\r\n\t\t\treturn CardIds.ConvictionRank1;\r\n\t\tcase CardIds.ConditioningRank1_ConditioningRank2Token:\r\n\t\tcase CardIds.ConditioningRank1_ConditioningRank3Token:\r\n\t\t\treturn CardIds.ConditioningRank1;\r\n\t\tcase CardIds.FuryRank1_FuryRank2Token:\r\n\t\tcase CardIds.FuryRank1_FuryRank3Token:\r\n\t\t\treturn CardIds.FuryRank1;\r\n\t\tcase CardIds.ImpSwarmRank1_ImpSwarmRank2Token:\r\n\t\tcase CardIds.ImpSwarmRank1_ImpSwarmRank3Token:\r\n\t\t\treturn CardIds.ImpSwarmRank1;\r\n\r\n\t\t// Infused\r\n\t\tcase CardIds.MischievousImp_MischievousImpToken:\r\n\t\t\treturn CardIds.MischievousImp;\r\n\t\tcase CardIds.ImpKingRafaam_ImpKingRafaamToken:\r\n\t\t\treturn CardIds.ImpKingRafaam_REV_789;\r\n\t\tcase CardIds.StonebornAccuser_StonebornAccuserToken:\r\n\t\t\treturn CardIds.StonebornAccuser;\r\n\t\tcase CardIds.Murlocula_MurloculaToken:\r\n\t\t\treturn CardIds.Murlocula;\r\n\t\tcase CardIds.FamishedFool_FamishedFoolToken:\r\n\t\t\treturn CardIds.FamishedFool;\r\n\t\tcase CardIds.SinfueledGolem_SinfueledGolemToken:\r\n\t\t\treturn CardIds.SinfueledGolem;\r\n\t\tcase CardIds.InsatiableDevourer_InsatiableDevourerToken:\r\n\t\t\treturn CardIds.InsatiableDevourer;\r\n\t\tcase CardIds.SireDenathrius_SireDenathriusToken:\r\n\t\t\treturn CardIds.SireDenathrius_REV_906;\r\n\t\tcase CardIds.PriestOfTheDeceased_PriestOfTheDeceasedToken:\r\n\t\t\treturn CardIds.PriestOfTheDeceased;\r\n\t\tcase CardIds.ArtificerXymox_ArtificerXymoxToken:\r\n\t\t\treturn CardIds.ArtificerXymox_REV_937;\r\n\t\tcase CardIds.BuffetBiggun_BuffetBiggunToken:\r\n\t\t\treturn CardIds.BuffetBiggun;\r\n\t\tcase CardIds.ImbuedAxe_ImbuedAxeToken:\r\n\t\t\treturn CardIds.ImbuedAxe;\r\n\t\tcase CardIds.CleanTheScene_CleanTheSceneToken:\r\n\t\t\treturn CardIds.CleanTheScene;\r\n\t\tcase CardIds.ConvincingDisguise_ConvincingDisguiseToken:\r\n\t\t\treturn CardIds.ConvincingDisguise;\r\n\t\tcase CardIds.PlotOfSin_PlotOfSinToken:\r\n\t\t\treturn CardIds.PlotOfSin;\r\n\t\tcase CardIds.AllFelBreaksLoose_AllFelBreaksLooseToken:\r\n\t\t\treturn CardIds.AllFelBreaksLoose;\r\n\t\tcase CardIds.Shadehound_ShadehoundToken:\r\n\t\t\treturn CardIds.Shadehound;\r\n\t\tcase CardIds.TotemicEvidence_TotemicEvidenceToken:\r\n\t\t\treturn CardIds.TotemicEvidence;\r\n\t\tcase CardIds.SylvanasTheAccused_SylvanasTheAccusedToken:\r\n\t\t\treturn CardIds.SylvanasTheAccused;\r\n\r\n\t\t// Remixed\r\n\t\tcase CardIds.RemixedDispenseOBot_ChillingDispenseOBotToken:\r\n\t\tcase CardIds.RemixedDispenseOBot_MerchDispenseOBotToken:\r\n\t\tcase CardIds.RemixedDispenseOBot_MoneyDispenseOBotToken:\r\n\t\tcase CardIds.RemixedDispenseOBot_MysteryDispenseOBotToken:\r\n\t\t\treturn CardIds.RemixedDispenseOBot;\r\n\t\tcase CardIds.RemixedRhapsody_AngstyRhapsodyToken:\r\n\t\tcase CardIds.RemixedRhapsody_ResoundingRhapsodyToken:\r\n\t\tcase CardIds.RemixedRhapsody_EmotionalRhapsodyToken:\r\n\t\tcase CardIds.RemixedRhapsody_WailingRhapsodyToken:\r\n\t\t\treturn CardIds.RemixedRhapsody;\r\n\t\tcase CardIds.RemixedTotemcarver_LoudTotemcarverToken:\r\n\t\tcase CardIds.RemixedTotemcarver_BluesyTotemcarverToken:\r\n\t\tcase CardIds.RemixedTotemcarver_BlazingTotemcarverToken:\r\n\t\tcase CardIds.RemixedTotemcarver_KaraokeTotemcarverToken:\r\n\t\t\treturn CardIds.RemixedTotemcarver;\r\n\t\tcase CardIds.RemixedMusician_CathedralMusicianToken:\r\n\t\tcase CardIds.RemixedMusician_TropicalMusicianToken:\r\n\t\tcase CardIds.RemixedMusician_RomanticMusicianToken:\r\n\t\tcase CardIds.RemixedMusician_NoiseMusicianToken:\r\n\t\t\treturn CardIds.RemixedMusician;\r\n\t\tcase CardIds.RemixedTuningFork_SharpenedTuningForkToken:\r\n\t\tcase CardIds.RemixedTuningFork_ReinforcedTuningForkToken:\r\n\t\tcase CardIds.RemixedTuningFork_CurvedTuningForkToken:\r\n\t\tcase CardIds.RemixedTuningFork_BackupTuningForkToken:\r\n\t\t\treturn CardIds.RemixedTuningFork;\r\n\t\t// Forged\r\n\t\tcase CardIds.BellowingFlames_BellowingFlamesToken:\r\n\t\t\treturn CardIds.BellowingFlames;\r\n\t\tcase CardIds.ChampionOfStorms_StormCycloneToken_TTN_801t2:\r\n\t\t\treturn CardIds.ChampionOfStorms_StormCycloneToken_TTN_801t1;\r\n\t\tcase CardIds.CreationProtocol_CreationProtocolToken:\r\n\t\t\treturn CardIds.CreationProtocol;\r\n\t\tcase CardIds.DiscipleOfSargeras_DiscipleOfSargerasToken:\r\n\t\t\treturn CardIds.DiscipleOfSargeras;\r\n\t\tcase CardIds.EmbraceOfNature_EmbraceOfNatureToken:\r\n\t\t\treturn CardIds.EmbraceOfNature;\r\n\t\tcase CardIds.Eulogizer_EulogizerToken:\r\n\t\t\treturn CardIds.Eulogizer;\r\n\t\tcase CardIds.LabConstructor_LabConstructorToken:\r\n\t\t\treturn CardIds.LabConstructor;\r\n\t\tcase CardIds.MechagnomeGuide_MechagnomeGuideToken:\r\n\t\t\treturn CardIds.MechagnomeGuide;\r\n\t\tcase CardIds.MoltenRune_MoltenRuneToken:\r\n\t\t\treturn CardIds.MoltenRune;\r\n\t\tcase CardIds.StormGiant_StormGiantToken:\r\n\t\t\treturn CardIds.StormGiant;\r\n\t\tcase CardIds.TitanforgedTraps_TitanforgedTrapsToken:\r\n\t\t\treturn CardIds.TitanforgedTraps;\r\n\t\tcase CardIds.TyrsTears_TyrsTearsToken:\r\n\t\t\treturn CardIds.TyrsTears;\r\n\t\tcase CardIds.WatcherOfTheSun_WatcherOfTheSunToken:\r\n\t\t\treturn CardIds.WatcherOfTheSun;\r\n\t\tcase CardIds.WeightOfTheWorld_WeightOfTheWorldToken:\r\n\t\t\treturn CardIds.WeightOfTheWorld;\r\n\t\tcase CardIds.Xb488Disposalbot_Xb488DisposalbotToken:\r\n\t\t\treturn CardIds.Xb488Disposalbot;\r\n\t\tcase CardIds.MuscleOTron_MuscleOTronToken_YOG_525t:\r\n\t\t\treturn CardIds.MuscleOTron_YOG_525;\r\n\t\tcase CardIds.Sanitize_SanitizeToken_YOG_502t:\r\n\t\t\treturn CardIds.Sanitize_YOG_502;\r\n\t\t// Bonus effect\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t1:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t2:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t3:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t4:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t5:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t6:\r\n\t\tcase CardIds.FromTheScrapheap_SparkbotToken_TTN_719t7:\r\n\t\t\treturn CardIds.DroneDeconstructor;\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t1:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t2:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t3:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t4:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t5:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t6:\r\n\t\tcase CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t7:\r\n\t\t\treturn CardIds.ElementalInspiration_PrimordialVortexToken_TTN_480t;\r\n\t\t// Transforms in hand\r\n\t\tcase CardIds.ForestSeedlings_ForestBlossomsToken:\r\n\t\t\treturn CardIds.ForestSeedlings;\r\n\t\tcase CardIds.FrostLotusSeedling_FrostLotusBlossomToken:\r\n\t\t\treturn CardIds.FrostLotusSeedling;\r\n\t\tcase CardIds.UngoroBrochure_DalaranBrochureToken_WORK_050t:\r\n\t\t\treturn CardIds.UngoroBrochure_WORK_050;\r\n\t\tcase CardIds.SilvermoonBrochure_GilneasBrochureToken_WORK_017t:\r\n\t\t\treturn CardIds.SilvermoonBrochure_WORK_017;\r\n\t\tcase CardIds.IcecrownBrochure_BlackrockBrochureToken_WORK_030t:\r\n\t\t\treturn CardIds.IcecrownBrochure_WORK_030;\r\n\t\tcase CardIds.SiegeTank_SiegeTankDeployedToken_SC_413t:\r\n\t\t\treturn CardIds.SiegeTank_SC_413;\r\n\t\tcase CardIds.Hellion_HellbatToken_SC_412t:\r\n\t\t\treturn CardIds.Hellion_SC_412;\r\n\t\tcase CardIds.Thor_ThorExplosivePayloadToken_SC_414t:\r\n\t\t\treturn CardIds.Thor_SC_414;\r\n\t\tcase CardIds.WishOfTheNewMoon_WishOfTheFullMoonToken_EDR_460t:\r\n\t\t\treturn CardIds.WishOfTheNewMoon_EDR_460;\r\n\t}\r\n\r\n\t// Transfer Student should be handled on a case by case basis\r\n\tif (cardId.startsWith(CardIds.TransferStudent)) {\r\n\t\treturn CardIds.TransferStudent;\r\n\t}\r\n\tif (cardId.startsWith(CardIds.ZilliaxDeluxe3000_TOY_330)) {\r\n\t\treturn CardIds.ZilliaxDeluxe3000_TOY_330;\r\n\t}\r\n\tconst refCard = allCards.getCard(cardId);\r\n\tif (hasMechanic(refCard, GameTag.SHATTERED)) {\r\n\t\t// Shattered cards have an id like CATA_134t or CATA_134t2, we need to get the base card id,\r\n\t\t// which is CATA_134\r\n\t\tconst baseCardId = cardId.replace(/t\\d*$/, '');\r\n\t\tif (baseCardId !== cardId) {\r\n\t\t\treturn baseCardId;\r\n\t\t}\r\n\t}\r\n\r\n\treturn cardId;\r\n};\r\n"]}
|
|
@@ -96,6 +96,7 @@ const boosterIdToSetId = (boosterId) => {
|
|
|
96
96
|
case public_api_1.BoosterType.GOLDEN_CATACLYSM:
|
|
97
97
|
return 'cataclysm';
|
|
98
98
|
default:
|
|
99
|
+
console.warn('unsupported booster type', boosterId);
|
|
99
100
|
return (_c = (_b = (_a = public_api_1.BoosterType[public_api_1.BoosterType[boosterId]]) === null || _a === void 0 ? void 0 : _a.toLowerCase) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : null;
|
|
100
101
|
}
|
|
101
102
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-utils.js","sourceRoot":"","sources":["../../src/services/collection-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoosterType, SetId } from '../public-api';\r\n\r\nexport const boosterIdToSetId = (boosterId: BoosterType): SetId | string | null => {\r\n\tswitch (boosterId) {\r\n\t\tcase BoosterType.MERCENARIES:\r\n\t\t\treturn 'lettuce';\r\n\t\tcase BoosterType.CLASSIC:\r\n\t\tcase BoosterType.GOLDEN_CLASSIC:\r\n\t\t\treturn 'expert1';\r\n\t\tcase BoosterType.GOBLINS_VS_GNOMES:\r\n\t\t\treturn 'gvg';\r\n\t\tcase BoosterType.THE_GRAND_TOURNAMENT:\r\n\t\t\treturn 'tgt';\r\n\t\tcase BoosterType.OLD_GODS:\r\n\t\tcase BoosterType.WELCOME_BUNDLE:\r\n\t\t\treturn 'og';\r\n\t\tcase BoosterType.MEAN_STREETS:\r\n\t\t\treturn 'gangs';\r\n\t\tcase BoosterType.UNGORO:\r\n\t\t\treturn 'ungoro';\r\n\t\tcase BoosterType.FROZEN_THRONE:\r\n\t\t\treturn 'icecrown';\r\n\t\tcase BoosterType.KOBOLDS_AND_CATACOMBS:\r\n\t\t\treturn 'lootapalooza';\r\n\t\tcase BoosterType.WITCHWOOD:\r\n\t\t\treturn 'gilneas';\r\n\t\tcase BoosterType.THE_BOOMSDAY_PROJECT:\r\n\t\t\treturn 'boomsday';\r\n\t\tcase BoosterType.RASTAKHANS_RUMBLE:\r\n\t\t\treturn 'troll';\r\n\t\tcase BoosterType.DALARAN:\r\n\t\t\treturn 'dalaran';\r\n\t\tcase BoosterType.ULDUM:\r\n\t\t\treturn 'uldum';\r\n\t\tcase BoosterType.DRAGONS:\r\n\t\t\treturn 'dragons';\r\n\t\tcase BoosterType.BLACK_TEMPLE:\r\n\t\t\treturn 'black_temple';\r\n\t\tcase BoosterType.SCHOLOMANCE:\r\n\t\tcase BoosterType.GOLDEN_SCHOLOMANCE:\r\n\t\t\treturn 'scholomance';\r\n\t\tcase BoosterType.DARKMOON_FAIRE:\r\n\t\tcase BoosterType.GOLDEN_DARKMOON_FAIRE:\r\n\t\t\treturn 'darkmoon_faire';\r\n\t\tcase BoosterType.THE_BARRENS:\r\n\t\tcase BoosterType.GOLDEN_THE_BARRENS:\r\n\t\t\treturn 'the_barrens';\r\n\t\tcase BoosterType.STORMWIND:\r\n\t\tcase BoosterType.STORMWIND_GOLDEN:\r\n\t\t\treturn 'stormwind';\r\n\t\tcase BoosterType.ALTERAC_VALLEY:\r\n\t\tcase BoosterType.ALTERAC_VALLEY_GOLDEN:\r\n\t\t\treturn 'alterac_valley';\r\n\t\tcase BoosterType.THE_SUNKEN_CITY:\r\n\t\tcase BoosterType.GOLDEN_THE_SUNKEN_CITY:\r\n\t\t\treturn 'the_sunken_city';\r\n\t\tcase BoosterType.REVENDRETH:\r\n\t\tcase BoosterType.GOLDEN_REVENDRETH:\r\n\t\t\treturn 'revendreth';\r\n\t\tcase BoosterType.RETURN_OF_THE_LICH_KING:\r\n\t\tcase BoosterType.GOLDEN_RETURN_OF_THE_LICH_KING:\r\n\t\t\treturn 'return_of_the_lich_king';\r\n\t\tcase BoosterType.BATTLE_OF_THE_BANDS:\r\n\t\tcase BoosterType.GOLDEN_BATTLE_OF_THE_BANDS:\r\n\t\t\treturn 'battle_of_the_bands';\r\n\t\tcase BoosterType.TITANS:\r\n\t\tcase BoosterType.GOLDEN_TITANS:\r\n\t\t\treturn 'titans';\r\n\t\tcase BoosterType.CAVERNS_OF_TIME:\r\n\t\t\treturn 'caverns_of_time';\r\n\t\tcase BoosterType.WILD_WEST:\r\n\t\t\treturn 'wild_west';\r\n\t\tcase BoosterType.WILD_WEST2:\r\n\t\t\treturn 'wild_west2';\r\n\t\tcase BoosterType.WHIZBANGS_WORKSHOP:\r\n\t\t\treturn 'whizbangs_workshop';\r\n\t\tcase BoosterType.ISLAND_VACATION:\r\n\t\tcase BoosterType.GOLDEN_ISLAND_VACATION:\r\n\t\t\treturn 'perils_in_paradise';\r\n\t\tcase BoosterType.THE_GREAT_DARK_BEYOND:\r\n\t\tcase BoosterType.GOLDEN_THE_GREAT_DARK_BEYOND:\r\n\t\t\treturn 'great_dark_beyond';\r\n\t\tcase BoosterType.INTO_THE_EMERALD_DREAM:\r\n\t\tcase BoosterType.GOLDEN_INTO_THE_EMERALD_DREAM:\r\n\t\t\treturn 'into_the_emerald_dream';\r\n\t\tcase BoosterType.THE_LOST_CITY:\r\n\t\tcase BoosterType.GOLDEN_THE_LOST_CITY:\r\n\t\t\treturn 'lost_city_of_ungoro';\r\n\t\tcase BoosterType.ACROSS_THE_TIMEWAYS:\r\n\t\tcase BoosterType.GOLDEN_ACROSS_THE_TIMEWAYS:\r\n\t\t\treturn 'across_the_timeways';\r\n\t\tcase BoosterType.CATACLYSM:\r\n\t\tcase BoosterType.GOLDEN_CATACLYSM:\r\n\t\t\treturn 'cataclysm';\r\n\t\tdefault:\r\n\t\t\t// console.warn('unsupported booster type', boosterId);\r\n\t\t\treturn BoosterType[BoosterType[boosterId]]?.toLowerCase?.() ?? null;\r\n\t}\r\n};\r\n\r\nexport const getDefaultBoosterIdForSetId = (setId: string): BoosterType => {\r\n\tswitch (setId) {\r\n\t\tcase 'expert1':\r\n\t\t\treturn BoosterType.CLASSIC;\r\n\t\tcase 'gvg':\r\n\t\t\treturn BoosterType.GOBLINS_VS_GNOMES;\r\n\t\tcase 'tgt':\r\n\t\t\treturn BoosterType.THE_GRAND_TOURNAMENT;\r\n\t\tcase 'og':\r\n\t\t\treturn BoosterType.OLD_GODS;\r\n\t\tcase 'gangs':\r\n\t\t\treturn BoosterType.MEAN_STREETS;\r\n\t\tcase 'ungoro':\r\n\t\t\treturn BoosterType.UNGORO;\r\n\t\tcase 'icecrown':\r\n\t\t\treturn BoosterType.FROZEN_THRONE;\r\n\t\tcase 'lootapalooza':\r\n\t\t\treturn BoosterType.KOBOLDS_AND_CATACOMBS;\r\n\t\tcase 'gilneas':\r\n\t\t\treturn BoosterType.WITCHWOOD;\r\n\t\tcase 'boomsday':\r\n\t\t\treturn BoosterType.THE_BOOMSDAY_PROJECT;\r\n\t\tcase 'troll':\r\n\t\tcase 'rumble':\r\n\t\t\treturn BoosterType.RASTAKHANS_RUMBLE;\r\n\t\tcase 'dalaran':\r\n\t\t\treturn BoosterType.DALARAN;\r\n\t\tcase 'uldum':\r\n\t\t\treturn BoosterType.ULDUM;\r\n\t\tcase 'dragons':\r\n\t\t\treturn BoosterType.DRAGONS;\r\n\t\tcase 'black_temple':\r\n\t\t\treturn BoosterType.BLACK_TEMPLE;\r\n\t\tcase 'scholomance':\r\n\t\t\treturn BoosterType.SCHOLOMANCE;\r\n\t\tcase 'darkmoon_faire':\r\n\t\tcase 'darkmoon_races':\r\n\t\t\treturn BoosterType.DARKMOON_FAIRE;\r\n\t\tcase 'the_barrens':\r\n\t\tcase 'wailing_caverns':\r\n\t\t\treturn BoosterType.THE_BARRENS;\r\n\t\tcase 'stormwind':\r\n\t\tcase 'deadmines':\r\n\t\t\treturn BoosterType.STORMWIND;\r\n\t\tcase 'alterac_valley':\r\n\t\tcase 'onyxias_lair':\r\n\t\t\treturn BoosterType.ALTERAC_VALLEY;\r\n\t\tcase 'the_sunken_city':\r\n\t\tcase 'throne_of_tides':\r\n\t\t\treturn BoosterType.THE_SUNKEN_CITY;\r\n\t\tcase 'revendreth':\r\n\t\tcase 'maw_and_disorder':\r\n\t\t\treturn BoosterType.REVENDRETH;\r\n\t\tcase 'return_of_the_lich_king':\r\n\t\tcase 'path_of_arthas':\r\n\t\t\treturn BoosterType.RETURN_OF_THE_LICH_KING;\r\n\t\tcase 'battle_of_the_bands':\r\n\t\t\treturn BoosterType.BATTLE_OF_THE_BANDS;\r\n\t\tcase 'titans':\r\n\t\t\treturn BoosterType.TITANS;\r\n\t\tcase 'caverns_of_time':\r\n\t\t\treturn BoosterType.CAVERNS_OF_TIME;\r\n\t\tcase 'whizbangs_workshop':\r\n\t\t\treturn BoosterType.WHIZBANGS_WORKSHOP;\r\n\t\tcase 'great_dark_beyond':\r\n\t\t\treturn BoosterType.THE_GREAT_DARK_BEYOND;\r\n\t\tcase 'into_the_emerald_dream':\r\n\t\t\treturn BoosterType.INTO_THE_EMERALD_DREAM;\r\n\t\tcase 'lost_city_of_ungoro':\r\n\t\t\treturn BoosterType.THE_LOST_CITY;\r\n\t\tcase 'across_the_timeways':\r\n\t\t\treturn BoosterType.ACROSS_THE_TIMEWAYS;\r\n\t\tcase 'cataclysm':\r\n\t\t\treturn BoosterType.CATACLYSM;\r\n\t\tdefault:\r\n\t\t\tconsole.warn('no default booster type for set id', setId);\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const boosterIdToBoosterName = (\r\n\tboosterId: BoosterType,\r\n\ti18n: { translateString: (input: string) => string },\r\n): string => {\r\n\tlet normalizedBoosterId = boosterId;\r\n\tswitch (boosterId) {\r\n\t\tcase BoosterType.WELCOME_BUNDLE:\r\n\t\t\tnormalizedBoosterId = BoosterType.OLD_GODS;\r\n\t}\r\n\treturn i18n.translateString(`global.pack.${BoosterType[normalizedBoosterId]?.toLowerCase()?.replace(/_/g, '-')}`);\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"collection-utils.js","sourceRoot":"","sources":["../../src/services/collection-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoosterType, SetId } from '../public-api';\r\n\r\nexport const boosterIdToSetId = (boosterId: BoosterType): SetId | string | null => {\r\n\tswitch (boosterId) {\r\n\t\tcase BoosterType.MERCENARIES:\r\n\t\t\treturn 'lettuce';\r\n\t\tcase BoosterType.CLASSIC:\r\n\t\tcase BoosterType.GOLDEN_CLASSIC:\r\n\t\t\treturn 'expert1';\r\n\t\tcase BoosterType.GOBLINS_VS_GNOMES:\r\n\t\t\treturn 'gvg';\r\n\t\tcase BoosterType.THE_GRAND_TOURNAMENT:\r\n\t\t\treturn 'tgt';\r\n\t\tcase BoosterType.OLD_GODS:\r\n\t\tcase BoosterType.WELCOME_BUNDLE:\r\n\t\t\treturn 'og';\r\n\t\tcase BoosterType.MEAN_STREETS:\r\n\t\t\treturn 'gangs';\r\n\t\tcase BoosterType.UNGORO:\r\n\t\t\treturn 'ungoro';\r\n\t\tcase BoosterType.FROZEN_THRONE:\r\n\t\t\treturn 'icecrown';\r\n\t\tcase BoosterType.KOBOLDS_AND_CATACOMBS:\r\n\t\t\treturn 'lootapalooza';\r\n\t\tcase BoosterType.WITCHWOOD:\r\n\t\t\treturn 'gilneas';\r\n\t\tcase BoosterType.THE_BOOMSDAY_PROJECT:\r\n\t\t\treturn 'boomsday';\r\n\t\tcase BoosterType.RASTAKHANS_RUMBLE:\r\n\t\t\treturn 'troll';\r\n\t\tcase BoosterType.DALARAN:\r\n\t\t\treturn 'dalaran';\r\n\t\tcase BoosterType.ULDUM:\r\n\t\t\treturn 'uldum';\r\n\t\tcase BoosterType.DRAGONS:\r\n\t\t\treturn 'dragons';\r\n\t\tcase BoosterType.BLACK_TEMPLE:\r\n\t\t\treturn 'black_temple';\r\n\t\tcase BoosterType.SCHOLOMANCE:\r\n\t\tcase BoosterType.GOLDEN_SCHOLOMANCE:\r\n\t\t\treturn 'scholomance';\r\n\t\tcase BoosterType.DARKMOON_FAIRE:\r\n\t\tcase BoosterType.GOLDEN_DARKMOON_FAIRE:\r\n\t\t\treturn 'darkmoon_faire';\r\n\t\tcase BoosterType.THE_BARRENS:\r\n\t\tcase BoosterType.GOLDEN_THE_BARRENS:\r\n\t\t\treturn 'the_barrens';\r\n\t\tcase BoosterType.STORMWIND:\r\n\t\tcase BoosterType.STORMWIND_GOLDEN:\r\n\t\t\treturn 'stormwind';\r\n\t\tcase BoosterType.ALTERAC_VALLEY:\r\n\t\tcase BoosterType.ALTERAC_VALLEY_GOLDEN:\r\n\t\t\treturn 'alterac_valley';\r\n\t\tcase BoosterType.THE_SUNKEN_CITY:\r\n\t\tcase BoosterType.GOLDEN_THE_SUNKEN_CITY:\r\n\t\t\treturn 'the_sunken_city';\r\n\t\tcase BoosterType.REVENDRETH:\r\n\t\tcase BoosterType.GOLDEN_REVENDRETH:\r\n\t\t\treturn 'revendreth';\r\n\t\tcase BoosterType.RETURN_OF_THE_LICH_KING:\r\n\t\tcase BoosterType.GOLDEN_RETURN_OF_THE_LICH_KING:\r\n\t\t\treturn 'return_of_the_lich_king';\r\n\t\tcase BoosterType.BATTLE_OF_THE_BANDS:\r\n\t\tcase BoosterType.GOLDEN_BATTLE_OF_THE_BANDS:\r\n\t\t\treturn 'battle_of_the_bands';\r\n\t\tcase BoosterType.TITANS:\r\n\t\tcase BoosterType.GOLDEN_TITANS:\r\n\t\t\treturn 'titans';\r\n\t\tcase BoosterType.CAVERNS_OF_TIME:\r\n\t\t\treturn 'caverns_of_time';\r\n\t\tcase BoosterType.WILD_WEST:\r\n\t\t\treturn 'wild_west';\r\n\t\tcase BoosterType.WILD_WEST2:\r\n\t\t\treturn 'wild_west2';\r\n\t\tcase BoosterType.WHIZBANGS_WORKSHOP:\r\n\t\t\treturn 'whizbangs_workshop';\r\n\t\tcase BoosterType.ISLAND_VACATION:\r\n\t\tcase BoosterType.GOLDEN_ISLAND_VACATION:\r\n\t\t\treturn 'perils_in_paradise';\r\n\t\tcase BoosterType.THE_GREAT_DARK_BEYOND:\r\n\t\tcase BoosterType.GOLDEN_THE_GREAT_DARK_BEYOND:\r\n\t\t\treturn 'great_dark_beyond';\r\n\t\tcase BoosterType.INTO_THE_EMERALD_DREAM:\r\n\t\tcase BoosterType.GOLDEN_INTO_THE_EMERALD_DREAM:\r\n\t\t\treturn 'into_the_emerald_dream';\r\n\t\tcase BoosterType.THE_LOST_CITY:\r\n\t\tcase BoosterType.GOLDEN_THE_LOST_CITY:\r\n\t\t\treturn 'lost_city_of_ungoro';\r\n\t\tcase BoosterType.ACROSS_THE_TIMEWAYS:\r\n\t\tcase BoosterType.GOLDEN_ACROSS_THE_TIMEWAYS:\r\n\t\t\treturn 'across_the_timeways';\r\n\t\tcase BoosterType.CATACLYSM:\r\n\t\tcase BoosterType.GOLDEN_CATACLYSM:\r\n\t\t\treturn 'cataclysm';\r\n\t\tdefault:\r\n\t\t\tconsole.warn('unsupported booster type', boosterId);\r\n\t\t\treturn BoosterType[BoosterType[boosterId]]?.toLowerCase?.() ?? null;\r\n\t}\r\n};\r\n\r\nexport const getDefaultBoosterIdForSetId = (setId: string): BoosterType => {\r\n\tswitch (setId) {\r\n\t\tcase 'expert1':\r\n\t\t\treturn BoosterType.CLASSIC;\r\n\t\tcase 'gvg':\r\n\t\t\treturn BoosterType.GOBLINS_VS_GNOMES;\r\n\t\tcase 'tgt':\r\n\t\t\treturn BoosterType.THE_GRAND_TOURNAMENT;\r\n\t\tcase 'og':\r\n\t\t\treturn BoosterType.OLD_GODS;\r\n\t\tcase 'gangs':\r\n\t\t\treturn BoosterType.MEAN_STREETS;\r\n\t\tcase 'ungoro':\r\n\t\t\treturn BoosterType.UNGORO;\r\n\t\tcase 'icecrown':\r\n\t\t\treturn BoosterType.FROZEN_THRONE;\r\n\t\tcase 'lootapalooza':\r\n\t\t\treturn BoosterType.KOBOLDS_AND_CATACOMBS;\r\n\t\tcase 'gilneas':\r\n\t\t\treturn BoosterType.WITCHWOOD;\r\n\t\tcase 'boomsday':\r\n\t\t\treturn BoosterType.THE_BOOMSDAY_PROJECT;\r\n\t\tcase 'troll':\r\n\t\tcase 'rumble':\r\n\t\t\treturn BoosterType.RASTAKHANS_RUMBLE;\r\n\t\tcase 'dalaran':\r\n\t\t\treturn BoosterType.DALARAN;\r\n\t\tcase 'uldum':\r\n\t\t\treturn BoosterType.ULDUM;\r\n\t\tcase 'dragons':\r\n\t\t\treturn BoosterType.DRAGONS;\r\n\t\tcase 'black_temple':\r\n\t\t\treturn BoosterType.BLACK_TEMPLE;\r\n\t\tcase 'scholomance':\r\n\t\t\treturn BoosterType.SCHOLOMANCE;\r\n\t\tcase 'darkmoon_faire':\r\n\t\tcase 'darkmoon_races':\r\n\t\t\treturn BoosterType.DARKMOON_FAIRE;\r\n\t\tcase 'the_barrens':\r\n\t\tcase 'wailing_caverns':\r\n\t\t\treturn BoosterType.THE_BARRENS;\r\n\t\tcase 'stormwind':\r\n\t\tcase 'deadmines':\r\n\t\t\treturn BoosterType.STORMWIND;\r\n\t\tcase 'alterac_valley':\r\n\t\tcase 'onyxias_lair':\r\n\t\t\treturn BoosterType.ALTERAC_VALLEY;\r\n\t\tcase 'the_sunken_city':\r\n\t\tcase 'throne_of_tides':\r\n\t\t\treturn BoosterType.THE_SUNKEN_CITY;\r\n\t\tcase 'revendreth':\r\n\t\tcase 'maw_and_disorder':\r\n\t\t\treturn BoosterType.REVENDRETH;\r\n\t\tcase 'return_of_the_lich_king':\r\n\t\tcase 'path_of_arthas':\r\n\t\t\treturn BoosterType.RETURN_OF_THE_LICH_KING;\r\n\t\tcase 'battle_of_the_bands':\r\n\t\t\treturn BoosterType.BATTLE_OF_THE_BANDS;\r\n\t\tcase 'titans':\r\n\t\t\treturn BoosterType.TITANS;\r\n\t\tcase 'caverns_of_time':\r\n\t\t\treturn BoosterType.CAVERNS_OF_TIME;\r\n\t\tcase 'whizbangs_workshop':\r\n\t\t\treturn BoosterType.WHIZBANGS_WORKSHOP;\r\n\t\tcase 'great_dark_beyond':\r\n\t\t\treturn BoosterType.THE_GREAT_DARK_BEYOND;\r\n\t\tcase 'into_the_emerald_dream':\r\n\t\t\treturn BoosterType.INTO_THE_EMERALD_DREAM;\r\n\t\tcase 'lost_city_of_ungoro':\r\n\t\t\treturn BoosterType.THE_LOST_CITY;\r\n\t\tcase 'across_the_timeways':\r\n\t\t\treturn BoosterType.ACROSS_THE_TIMEWAYS;\r\n\t\tcase 'cataclysm':\r\n\t\t\treturn BoosterType.CATACLYSM;\r\n\t\tdefault:\r\n\t\t\tconsole.warn('no default booster type for set id', setId);\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const boosterIdToBoosterName = (\r\n\tboosterId: BoosterType,\r\n\ti18n: { translateString: (input: string) => string },\r\n): string => {\r\n\tlet normalizedBoosterId = boosterId;\r\n\tswitch (boosterId) {\r\n\t\tcase BoosterType.WELCOME_BUNDLE:\r\n\t\t\tnormalizedBoosterId = BoosterType.OLD_GODS;\r\n\t}\r\n\treturn i18n.translateString(`global.pack.${BoosterType[normalizedBoosterId]?.toLowerCase()?.replace(/_/g, '-')}`);\r\n};\r\n"]}
|