@firestone-hs/reference-data 3.0.159 → 3.0.161
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.
|
@@ -314,6 +314,7 @@ const standardBaseSets = [
|
|
|
314
314
|
'great_dark_beyond',
|
|
315
315
|
'into_the_emerald_dream',
|
|
316
316
|
'lost_city_of_ungoro',
|
|
317
|
+
'across_the_timeways',
|
|
317
318
|
];
|
|
318
319
|
exports.standardSets = standardBaseSets
|
|
319
320
|
.flatMap((setId) => { var _a; return [setId, (_a = exports.sets.find((s) => s.miniSetFor === setId)) === null || _a === void 0 ? void 0 : _a.id]; })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-sets.js","sourceRoot":"","sources":["../../../src/models/reference-cards/reference-sets.ts"],"names":[],"mappings":"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","sourcesContent":["import { GameFormat, GameType } from '../../public-api';\r\n\r\nexport type SetId =\r\n\t| 'across_the_timeways'\r\n\t| 'day_of_rebirth'\r\n\t| 'lost_city_of_ungoro'\r\n\t| 'embers_of_the_world_tree'\r\n\t| 'into_the_emerald_dream'\r\n\t| 'gift'\r\n\t| 'heroes_of_starcraft'\r\n\t| 'great_dark_beyond'\r\n\t| 'traveling_travel_agency'\r\n\t| 'perils_in_paradise'\r\n\t| 'boom_inventions'\r\n\t| 'whizbangs_workshop'\r\n\t| 'deepholm'\r\n\t| 'wild_west'\r\n\t| 'ulduar'\r\n\t| 'caverns_of_time'\r\n\t| 'titans'\r\n\t| 'audiopocalypse'\r\n\t| 'battle_of_the_bands'\r\n\t| 'return_to_naxxramas'\r\n\t| 'path_of_arthas'\r\n\t| 'return_of_the_lich_king'\r\n\t| 'maw_and_disorder'\r\n\t| 'revendreth'\r\n\t| 'throne_of_tides'\r\n\t| 'the_sunken_city'\r\n\t| 'onyxias_lair'\r\n\t| 'alterac_valley'\r\n\t| 'deadmines'\r\n\t| 'stormwind'\r\n\t| 'wailing_caverns'\r\n\t| 'the_barrens'\r\n\t| 'darkmoon_races'\r\n\t| 'darkmoon_faire'\r\n\t| 'scholomance'\r\n\t| 'black_temple'\r\n\t| 'demon_hunter_initiate'\r\n\t| 'yod'\r\n\t| 'dragons'\r\n\t| 'uldum'\r\n\t| 'dalaran'\r\n\t| 'troll'\r\n\t| 'boomsday'\r\n\t| 'gilneas'\r\n\t| 'lootapalooza'\r\n\t| 'icecrown'\r\n\t| 'ungoro'\r\n\t| 'gangs'\r\n\t| 'kara'\r\n\t| 'og'\r\n\t| 'loe'\r\n\t| 'tgt'\r\n\t| 'brm'\r\n\t| 'gvg'\r\n\t| 'naxx'\r\n\t| 'core'\r\n\t| 'legacy'\r\n\t| 'vanilla';\r\n\r\nexport interface ReferenceSet {\r\n\treadonly id: SetId;\r\n\treadonly name: string;\r\n\treadonly launchDate: Date;\r\n\treadonly techSet?: boolean;\r\n\treadonly miniSetFor?: SetId;\r\n}\r\n\r\nexport const sets: readonly ReferenceSet[] = [\r\n\t{\r\n\t\tid: 'across_the_timeways',\r\n\t\tname: `Across the Timeways`,\r\n\t\tlaunchDate: new Date('2025-09-29'),\r\n\t},\r\n\t{\r\n\t\tid: 'day_of_rebirth',\r\n\t\tname: `Day of Rebirth`,\r\n\t\tlaunchDate: new Date('2025-09-02'),\r\n\t\tminiSetFor: 'lost_city_of_ungoro',\r\n\t},\r\n\t{\r\n\t\tid: 'lost_city_of_ungoro',\r\n\t\tname: `The Lost City of Un'Goro`,\r\n\t\tlaunchDate: new Date('2025-07-08'),\r\n\t},\r\n\t{\r\n\t\tid: 'embers_of_the_world_tree',\r\n\t\tname: `Embers of the World Tree`,\r\n\t\tlaunchDate: new Date('2025-05-13'),\r\n\t\tminiSetFor: 'into_the_emerald_dream',\r\n\t},\r\n\t{\r\n\t\tid: 'into_the_emerald_dream',\r\n\t\tname: `Into the Emerald Dream`,\r\n\t\tlaunchDate: new Date('2025-03-18'),\r\n\t},\r\n\t{\r\n\t\tid: 'gift',\r\n\t\tname: `Gifts`,\r\n\t\tlaunchDate: new Date('2025-03-17'),\r\n\t\ttechSet: true,\r\n\t},\r\n\t{\r\n\t\tid: 'heroes_of_starcraft',\r\n\t\tname: `Heroes of Starcraft`,\r\n\t\tlaunchDate: new Date('2025-01-21'),\r\n\t\tminiSetFor: 'great_dark_beyond',\r\n\t},\r\n\t{\r\n\t\tid: 'great_dark_beyond',\r\n\t\tname: `The Great Dark Beyond`,\r\n\t\tlaunchDate: new Date('2024-11-05'),\r\n\t},\r\n\t{\r\n\t\tid: 'traveling_travel_agency',\r\n\t\tname: `The Traveling Travel Agency`,\r\n\t\tlaunchDate: new Date('2024-09-10'),\r\n\t\tminiSetFor: 'perils_in_paradise',\r\n\t},\r\n\t{\r\n\t\tid: 'perils_in_paradise',\r\n\t\tname: `Perils in Paradise`,\r\n\t\tlaunchDate: new Date('2024-06-17'),\r\n\t},\r\n\t{\r\n\t\tid: 'boom_inventions',\r\n\t\tname: `Dr. Boom’s Incredible Inventions`,\r\n\t\tlaunchDate: new Date('2024-05-14'),\r\n\t\tminiSetFor: 'whizbangs_workshop',\r\n\t},\r\n\t{\r\n\t\tid: 'whizbangs_workshop',\r\n\t\tname: `Whizbang's Workshop`,\r\n\t\tlaunchDate: new Date('2024-02-13'),\r\n\t},\r\n\t{\r\n\t\tid: 'deepholm',\r\n\t\tname: `Delve into Deepholm`,\r\n\t\tlaunchDate: new Date('2024-01-18'),\r\n\t\tminiSetFor: 'wild_west',\r\n\t},\r\n\t{\r\n\t\tid: 'wild_west',\r\n\t\tname: `Showdown in the Badlands`,\r\n\t\tlaunchDate: new Date('2023-11-14'),\r\n\t},\r\n\t{\r\n\t\tid: 'ulduar',\r\n\t\tname: `Fall of Ulduar`,\r\n\t\tlaunchDate: new Date('2023-09-19'),\r\n\t\tminiSetFor: 'titans',\r\n\t},\r\n\t{\r\n\t\tid: 'caverns_of_time',\r\n\t\tname: `Caverns of Time`,\r\n\t\tlaunchDate: new Date('2023-08-31'),\r\n\t},\r\n\t{\r\n\t\tid: 'titans',\r\n\t\tname: `TITANS`,\r\n\t\tlaunchDate: new Date('2023-06-27'),\r\n\t},\r\n\t{\r\n\t\tid: 'audiopocalypse',\r\n\t\tname: `Audiopocalypse`,\r\n\t\tlaunchDate: new Date('2023-05-31'),\r\n\t\tminiSetFor: 'battle_of_the_bands',\r\n\t},\r\n\t{\r\n\t\tid: 'battle_of_the_bands',\r\n\t\tname: `Battle of the Bands`,\r\n\t\tlaunchDate: new Date('2023-03-15'),\r\n\t},\r\n\t{\r\n\t\tid: 'return_to_naxxramas',\r\n\t\tname: `Return to Naxxramas`,\r\n\t\tlaunchDate: new Date('2023-02-14'),\r\n\t\tminiSetFor: 'return_of_the_lich_king',\r\n\t},\r\n\t{\r\n\t\tid: 'path_of_arthas',\r\n\t\tname: `Path of Arthas`,\r\n\t\tlaunchDate: new Date('2022-11-01'),\r\n\t},\r\n\t{\r\n\t\tid: 'return_of_the_lich_king',\r\n\t\tname: `March of the Lich King`,\r\n\t\tlaunchDate: new Date('2022-11-01'),\r\n\t},\r\n\t{\r\n\t\tid: 'maw_and_disorder',\r\n\t\tname: `Maw and Disorder`,\r\n\t\tlaunchDate: new Date('2022-09-27'),\r\n\t\tminiSetFor: 'revendreth',\r\n\t},\r\n\t{\r\n\t\tid: 'revendreth',\r\n\t\tname: `Murder at Castle Nathria`,\r\n\t\tlaunchDate: new Date('2022-08-02'),\r\n\t},\r\n\t{\r\n\t\tid: 'throne_of_tides',\r\n\t\tname: `Throne of the Tides`,\r\n\t\tlaunchDate: new Date('2022-06-01'),\r\n\t\tminiSetFor: 'the_sunken_city',\r\n\t},\r\n\t{\r\n\t\tid: 'the_sunken_city',\r\n\t\tname: `The Sunken City`,\r\n\t\tlaunchDate: new Date('2022-03-17'),\r\n\t},\r\n\t{\r\n\t\tid: 'onyxias_lair',\r\n\t\tname: `Onyxia's Lair`,\r\n\t\tlaunchDate: new Date('2022-02-15'),\r\n\t\tminiSetFor: 'alterac_valley',\r\n\t},\r\n\t{\r\n\t\tid: 'alterac_valley',\r\n\t\tname: 'Fractured in Alterac Valley',\r\n\t\tlaunchDate: new Date('2021-12-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'deadmines',\r\n\t\tname: 'Deadmines',\r\n\t\tlaunchDate: new Date('2021-11-02'),\r\n\t\tminiSetFor: 'stormwind',\r\n\t},\r\n\t{\r\n\t\tid: 'stormwind',\r\n\t\tname: 'United in Stormwind',\r\n\t\tlaunchDate: new Date('2021-07-01'),\r\n\t},\r\n\t{\r\n\t\tid: 'wailing_caverns',\r\n\t\tname: 'Wailing Caverns',\r\n\t\tlaunchDate: new Date('2021-06-03'),\r\n\t\tminiSetFor: 'the_barrens',\r\n\t},\r\n\t{\r\n\t\tid: 'the_barrens',\r\n\t\tname: 'Forged in the Barrens',\r\n\t\tlaunchDate: new Date('2021-03-15'),\r\n\t},\r\n\t{\r\n\t\tid: 'darkmoon_races',\r\n\t\tname: 'Darkmoon Races',\r\n\t\tlaunchDate: new Date('2021-01-21'),\r\n\t\tminiSetFor: 'darkmoon_faire',\r\n\t},\r\n\t{\r\n\t\tid: 'darkmoon_faire',\r\n\t\tname: 'Darkmoon Faire',\r\n\t\tlaunchDate: new Date('2020-11-17'),\r\n\t},\r\n\t{\r\n\t\tid: 'scholomance',\r\n\t\tname: 'Scholomance Academy',\r\n\t\tlaunchDate: new Date('2020-08-06'),\r\n\t},\r\n\t{\r\n\t\tid: 'black_temple',\r\n\t\tname: 'Ashes of Outland',\r\n\t\tlaunchDate: new Date('2020-04-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'demon_hunter_initiate',\r\n\t\tname: 'Demon Hunter Initiate',\r\n\t\tlaunchDate: new Date('2020-04-02'),\r\n\t},\r\n\t{\r\n\t\tid: 'yod',\r\n\t\tname: \"Galakrond's Awakening\",\r\n\t\tlaunchDate: new Date('2020-01-21'),\r\n\t},\r\n\t{\r\n\t\tid: 'dragons',\r\n\t\tname: 'Descent of Dragons',\r\n\t\tlaunchDate: new Date('2019-12-10'),\r\n\t},\r\n\t{\r\n\t\tid: 'uldum',\r\n\t\tname: 'Saviors of Uldum',\r\n\t\tlaunchDate: new Date('2019-08-06'),\r\n\t},\r\n\t{\r\n\t\tid: 'dalaran',\r\n\t\tname: 'Rise of Shadows',\r\n\t\tlaunchDate: new Date('2019-04-09'),\r\n\t},\r\n\t{\r\n\t\tid: 'troll',\r\n\t\tname: \"Rastakhan's Rumble\",\r\n\t\tlaunchDate: new Date('2018-12-04'),\r\n\t},\r\n\t{\r\n\t\tid: 'boomsday',\r\n\t\tname: 'The Boomsday Project',\r\n\t\tlaunchDate: new Date('2018-08-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'gilneas',\r\n\t\tname: 'The Witchwood',\r\n\t\tlaunchDate: new Date('2018-04-12'),\r\n\t},\r\n\t{\r\n\t\tid: 'lootapalooza',\r\n\t\tname: 'Kobolds and Catacombs',\r\n\t\tlaunchDate: new Date('2017-12-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'icecrown',\r\n\t\tname: 'Knights of the Frozen Throne',\r\n\t\tlaunchDate: new Date('2017-08-10'),\r\n\t},\r\n\t{\r\n\t\tid: 'ungoro',\r\n\t\tname: \"Journey to Un'Goro\",\r\n\t\tlaunchDate: new Date('2017-04-06'),\r\n\t},\r\n\t// {\r\n\t// \tid: 'hof',\r\n\t// \tname: 'Hall of Fame',\r\n\t// \tlaunchDate: new Date('2017-04-04'),\r\n\t// },\r\n\t{\r\n\t\tid: 'gangs',\r\n\t\tname: 'Mean Streets of Gadgetzan',\r\n\t\tlaunchDate: new Date('2016-12-1'),\r\n\t},\r\n\t{\r\n\t\tid: 'kara',\r\n\t\tname: 'One Night in Karazhan',\r\n\t\tlaunchDate: new Date('2016-08-11'),\r\n\t},\r\n\t{\r\n\t\tid: 'og',\r\n\t\tname: 'Whispers of the Old Gods',\r\n\t\tlaunchDate: new Date('2016-04-26'),\r\n\t},\r\n\t{\r\n\t\tid: 'loe',\r\n\t\tname: 'League of Explorers',\r\n\t\tlaunchDate: new Date('2015-11-12'),\r\n\t},\r\n\t{\r\n\t\tid: 'tgt',\r\n\t\tname: 'The Grand Tournament',\r\n\t\tlaunchDate: new Date('2015-08-24'),\r\n\t},\r\n\t{\r\n\t\tid: 'brm',\r\n\t\tname: 'Blackrock Mountain',\r\n\t\tlaunchDate: new Date('2015-04-02'),\r\n\t},\r\n\t{\r\n\t\tid: 'gvg',\r\n\t\tname: 'Goblins vs Gnomes',\r\n\t\tlaunchDate: new Date('2014-12-08'),\r\n\t},\r\n\t{\r\n\t\tid: 'naxx',\r\n\t\tname: 'Naxxramas',\r\n\t\tlaunchDate: new Date('2014-07-22'),\r\n\t},\r\n\t{\r\n\t\tid: 'core',\r\n\t\tname: 'Core',\r\n\t\tlaunchDate: new Date('2021-03-25'),\r\n\t},\r\n\t// {\r\n\t// \tid: 'expert1',\r\n\t// \tname: 'Expert',\r\n\t// \tlaunchDate: new Date('2014-03-11'),\r\n\t// },\r\n\t// {\r\n\t// \tid: 'basic',\r\n\t// \tname: 'Basic',\r\n\t// \tlaunchDate: new Date('2014-03-11'),\r\n\t// },\r\n\t{\r\n\t\tid: 'legacy',\r\n\t\tname: 'Legacy',\r\n\t\tlaunchDate: new Date('2021-03-30'),\r\n\t},\r\n] as const;\r\n\r\nexport const wildSets: readonly SetId[] = sets.map((s) => s.id);\r\nconst standardBaseSets: readonly SetId[] = [\r\n\t'core',\r\n\t'gift',\r\n\t'whizbangs_workshop',\r\n\t'perils_in_paradise',\r\n\t'great_dark_beyond',\r\n\t'into_the_emerald_dream',\r\n\t'lost_city_of_ungoro',\r\n];\r\nexport const standardSets: readonly SetId[] = standardBaseSets\r\n\t.flatMap((setId) => [setId, sets.find((s) => s.miniSetFor === setId)?.id])\r\n\t.filter((setId) => setId)\r\n\t.map((setId) => setId as SetId);\r\nconst twistBaseSets: readonly SetId[] = [\r\n\t'legacy',\r\n\t'return_to_naxxramas',\r\n\t'gvg',\r\n\t'brm',\r\n\t'tgt',\r\n\t'loe',\r\n\t'og',\r\n\t'kara',\r\n\t'gangs',\r\n\t'ungoro',\r\n\t'caverns_of_time',\r\n];\r\nexport const twistSets: readonly SetId[] = twistBaseSets\r\n\t.flatMap((setId) => [setId, sets.find((s) => s.miniSetFor === setId)?.id])\r\n\t.filter((setId) => setId)\r\n\t.map((setId) => setId as SetId);\r\n// https://hearthstone.fandom.com/wiki/Arena#Arena_Rotation\r\nconst arenaBaseSets: readonly SetId[] = [\r\n\t'across_the_timeways',\r\n\t'lost_city_of_ungoro',\r\n\t'into_the_emerald_dream',\r\n\t'great_dark_beyond',\r\n\t'perils_in_paradise',\r\n\t'whizbangs_workshop',\r\n];\r\nexport const arenaSets: readonly SetId[] = arenaBaseSets\r\n\t.flatMap((setId) => [setId, sets.find((s) => s.miniSetFor === setId)?.id])\r\n\t.filter((setId) => setId);\r\n\r\nexport const duelsSets: readonly SetId[] = [];\r\nexport const vanillaSets: readonly SetId[] = ['vanilla'];\r\nexport const brawlSets: { [scenarioId: number]: readonly SetId[] } = {\r\n\t5465: ['across_the_timeways', 'lost_city_of_ungoro', 'day_of_rebirth', 'core'],\r\n};\r\n\r\nexport const isValidSet = (set: SetId, format: GameFormat, gameType: GameType): boolean => {\r\n\tswitch (gameType) {\r\n\t\tcase GameType.GT_ARENA:\r\n\t\tcase GameType.GT_UNDERGROUND_ARENA:\r\n\t\t\treturn arenaSets.includes(set);\r\n\t}\r\n\tswitch (format) {\r\n\t\tcase GameFormat.FT_STANDARD:\r\n\t\t\treturn standardSets.includes(set);\r\n\t\tcase GameFormat.FT_TWIST:\r\n\t\t\treturn twistSets.includes(set);\r\n\t\tcase GameFormat.FT_WILD:\r\n\t\tdefault:\r\n\t\t\treturn wildSets.includes(set);\r\n\t}\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"reference-sets.js","sourceRoot":"","sources":["../../../src/models/reference-cards/reference-sets.ts"],"names":[],"mappings":"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","sourcesContent":["import { GameFormat, GameType } from '../../public-api';\r\n\r\nexport type SetId =\r\n\t| 'across_the_timeways'\r\n\t| 'day_of_rebirth'\r\n\t| 'lost_city_of_ungoro'\r\n\t| 'embers_of_the_world_tree'\r\n\t| 'into_the_emerald_dream'\r\n\t| 'gift'\r\n\t| 'heroes_of_starcraft'\r\n\t| 'great_dark_beyond'\r\n\t| 'traveling_travel_agency'\r\n\t| 'perils_in_paradise'\r\n\t| 'boom_inventions'\r\n\t| 'whizbangs_workshop'\r\n\t| 'deepholm'\r\n\t| 'wild_west'\r\n\t| 'ulduar'\r\n\t| 'caverns_of_time'\r\n\t| 'titans'\r\n\t| 'audiopocalypse'\r\n\t| 'battle_of_the_bands'\r\n\t| 'return_to_naxxramas'\r\n\t| 'path_of_arthas'\r\n\t| 'return_of_the_lich_king'\r\n\t| 'maw_and_disorder'\r\n\t| 'revendreth'\r\n\t| 'throne_of_tides'\r\n\t| 'the_sunken_city'\r\n\t| 'onyxias_lair'\r\n\t| 'alterac_valley'\r\n\t| 'deadmines'\r\n\t| 'stormwind'\r\n\t| 'wailing_caverns'\r\n\t| 'the_barrens'\r\n\t| 'darkmoon_races'\r\n\t| 'darkmoon_faire'\r\n\t| 'scholomance'\r\n\t| 'black_temple'\r\n\t| 'demon_hunter_initiate'\r\n\t| 'yod'\r\n\t| 'dragons'\r\n\t| 'uldum'\r\n\t| 'dalaran'\r\n\t| 'troll'\r\n\t| 'boomsday'\r\n\t| 'gilneas'\r\n\t| 'lootapalooza'\r\n\t| 'icecrown'\r\n\t| 'ungoro'\r\n\t| 'gangs'\r\n\t| 'kara'\r\n\t| 'og'\r\n\t| 'loe'\r\n\t| 'tgt'\r\n\t| 'brm'\r\n\t| 'gvg'\r\n\t| 'naxx'\r\n\t| 'core'\r\n\t| 'legacy'\r\n\t| 'vanilla';\r\n\r\nexport interface ReferenceSet {\r\n\treadonly id: SetId;\r\n\treadonly name: string;\r\n\treadonly launchDate: Date;\r\n\treadonly techSet?: boolean;\r\n\treadonly miniSetFor?: SetId;\r\n}\r\n\r\nexport const sets: readonly ReferenceSet[] = [\r\n\t{\r\n\t\tid: 'across_the_timeways',\r\n\t\tname: `Across the Timeways`,\r\n\t\tlaunchDate: new Date('2025-09-29'),\r\n\t},\r\n\t{\r\n\t\tid: 'day_of_rebirth',\r\n\t\tname: `Day of Rebirth`,\r\n\t\tlaunchDate: new Date('2025-09-02'),\r\n\t\tminiSetFor: 'lost_city_of_ungoro',\r\n\t},\r\n\t{\r\n\t\tid: 'lost_city_of_ungoro',\r\n\t\tname: `The Lost City of Un'Goro`,\r\n\t\tlaunchDate: new Date('2025-07-08'),\r\n\t},\r\n\t{\r\n\t\tid: 'embers_of_the_world_tree',\r\n\t\tname: `Embers of the World Tree`,\r\n\t\tlaunchDate: new Date('2025-05-13'),\r\n\t\tminiSetFor: 'into_the_emerald_dream',\r\n\t},\r\n\t{\r\n\t\tid: 'into_the_emerald_dream',\r\n\t\tname: `Into the Emerald Dream`,\r\n\t\tlaunchDate: new Date('2025-03-18'),\r\n\t},\r\n\t{\r\n\t\tid: 'gift',\r\n\t\tname: `Gifts`,\r\n\t\tlaunchDate: new Date('2025-03-17'),\r\n\t\ttechSet: true,\r\n\t},\r\n\t{\r\n\t\tid: 'heroes_of_starcraft',\r\n\t\tname: `Heroes of Starcraft`,\r\n\t\tlaunchDate: new Date('2025-01-21'),\r\n\t\tminiSetFor: 'great_dark_beyond',\r\n\t},\r\n\t{\r\n\t\tid: 'great_dark_beyond',\r\n\t\tname: `The Great Dark Beyond`,\r\n\t\tlaunchDate: new Date('2024-11-05'),\r\n\t},\r\n\t{\r\n\t\tid: 'traveling_travel_agency',\r\n\t\tname: `The Traveling Travel Agency`,\r\n\t\tlaunchDate: new Date('2024-09-10'),\r\n\t\tminiSetFor: 'perils_in_paradise',\r\n\t},\r\n\t{\r\n\t\tid: 'perils_in_paradise',\r\n\t\tname: `Perils in Paradise`,\r\n\t\tlaunchDate: new Date('2024-06-17'),\r\n\t},\r\n\t{\r\n\t\tid: 'boom_inventions',\r\n\t\tname: `Dr. Boom’s Incredible Inventions`,\r\n\t\tlaunchDate: new Date('2024-05-14'),\r\n\t\tminiSetFor: 'whizbangs_workshop',\r\n\t},\r\n\t{\r\n\t\tid: 'whizbangs_workshop',\r\n\t\tname: `Whizbang's Workshop`,\r\n\t\tlaunchDate: new Date('2024-02-13'),\r\n\t},\r\n\t{\r\n\t\tid: 'deepholm',\r\n\t\tname: `Delve into Deepholm`,\r\n\t\tlaunchDate: new Date('2024-01-18'),\r\n\t\tminiSetFor: 'wild_west',\r\n\t},\r\n\t{\r\n\t\tid: 'wild_west',\r\n\t\tname: `Showdown in the Badlands`,\r\n\t\tlaunchDate: new Date('2023-11-14'),\r\n\t},\r\n\t{\r\n\t\tid: 'ulduar',\r\n\t\tname: `Fall of Ulduar`,\r\n\t\tlaunchDate: new Date('2023-09-19'),\r\n\t\tminiSetFor: 'titans',\r\n\t},\r\n\t{\r\n\t\tid: 'caverns_of_time',\r\n\t\tname: `Caverns of Time`,\r\n\t\tlaunchDate: new Date('2023-08-31'),\r\n\t},\r\n\t{\r\n\t\tid: 'titans',\r\n\t\tname: `TITANS`,\r\n\t\tlaunchDate: new Date('2023-06-27'),\r\n\t},\r\n\t{\r\n\t\tid: 'audiopocalypse',\r\n\t\tname: `Audiopocalypse`,\r\n\t\tlaunchDate: new Date('2023-05-31'),\r\n\t\tminiSetFor: 'battle_of_the_bands',\r\n\t},\r\n\t{\r\n\t\tid: 'battle_of_the_bands',\r\n\t\tname: `Battle of the Bands`,\r\n\t\tlaunchDate: new Date('2023-03-15'),\r\n\t},\r\n\t{\r\n\t\tid: 'return_to_naxxramas',\r\n\t\tname: `Return to Naxxramas`,\r\n\t\tlaunchDate: new Date('2023-02-14'),\r\n\t\tminiSetFor: 'return_of_the_lich_king',\r\n\t},\r\n\t{\r\n\t\tid: 'path_of_arthas',\r\n\t\tname: `Path of Arthas`,\r\n\t\tlaunchDate: new Date('2022-11-01'),\r\n\t},\r\n\t{\r\n\t\tid: 'return_of_the_lich_king',\r\n\t\tname: `March of the Lich King`,\r\n\t\tlaunchDate: new Date('2022-11-01'),\r\n\t},\r\n\t{\r\n\t\tid: 'maw_and_disorder',\r\n\t\tname: `Maw and Disorder`,\r\n\t\tlaunchDate: new Date('2022-09-27'),\r\n\t\tminiSetFor: 'revendreth',\r\n\t},\r\n\t{\r\n\t\tid: 'revendreth',\r\n\t\tname: `Murder at Castle Nathria`,\r\n\t\tlaunchDate: new Date('2022-08-02'),\r\n\t},\r\n\t{\r\n\t\tid: 'throne_of_tides',\r\n\t\tname: `Throne of the Tides`,\r\n\t\tlaunchDate: new Date('2022-06-01'),\r\n\t\tminiSetFor: 'the_sunken_city',\r\n\t},\r\n\t{\r\n\t\tid: 'the_sunken_city',\r\n\t\tname: `The Sunken City`,\r\n\t\tlaunchDate: new Date('2022-03-17'),\r\n\t},\r\n\t{\r\n\t\tid: 'onyxias_lair',\r\n\t\tname: `Onyxia's Lair`,\r\n\t\tlaunchDate: new Date('2022-02-15'),\r\n\t\tminiSetFor: 'alterac_valley',\r\n\t},\r\n\t{\r\n\t\tid: 'alterac_valley',\r\n\t\tname: 'Fractured in Alterac Valley',\r\n\t\tlaunchDate: new Date('2021-12-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'deadmines',\r\n\t\tname: 'Deadmines',\r\n\t\tlaunchDate: new Date('2021-11-02'),\r\n\t\tminiSetFor: 'stormwind',\r\n\t},\r\n\t{\r\n\t\tid: 'stormwind',\r\n\t\tname: 'United in Stormwind',\r\n\t\tlaunchDate: new Date('2021-07-01'),\r\n\t},\r\n\t{\r\n\t\tid: 'wailing_caverns',\r\n\t\tname: 'Wailing Caverns',\r\n\t\tlaunchDate: new Date('2021-06-03'),\r\n\t\tminiSetFor: 'the_barrens',\r\n\t},\r\n\t{\r\n\t\tid: 'the_barrens',\r\n\t\tname: 'Forged in the Barrens',\r\n\t\tlaunchDate: new Date('2021-03-15'),\r\n\t},\r\n\t{\r\n\t\tid: 'darkmoon_races',\r\n\t\tname: 'Darkmoon Races',\r\n\t\tlaunchDate: new Date('2021-01-21'),\r\n\t\tminiSetFor: 'darkmoon_faire',\r\n\t},\r\n\t{\r\n\t\tid: 'darkmoon_faire',\r\n\t\tname: 'Darkmoon Faire',\r\n\t\tlaunchDate: new Date('2020-11-17'),\r\n\t},\r\n\t{\r\n\t\tid: 'scholomance',\r\n\t\tname: 'Scholomance Academy',\r\n\t\tlaunchDate: new Date('2020-08-06'),\r\n\t},\r\n\t{\r\n\t\tid: 'black_temple',\r\n\t\tname: 'Ashes of Outland',\r\n\t\tlaunchDate: new Date('2020-04-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'demon_hunter_initiate',\r\n\t\tname: 'Demon Hunter Initiate',\r\n\t\tlaunchDate: new Date('2020-04-02'),\r\n\t},\r\n\t{\r\n\t\tid: 'yod',\r\n\t\tname: \"Galakrond's Awakening\",\r\n\t\tlaunchDate: new Date('2020-01-21'),\r\n\t},\r\n\t{\r\n\t\tid: 'dragons',\r\n\t\tname: 'Descent of Dragons',\r\n\t\tlaunchDate: new Date('2019-12-10'),\r\n\t},\r\n\t{\r\n\t\tid: 'uldum',\r\n\t\tname: 'Saviors of Uldum',\r\n\t\tlaunchDate: new Date('2019-08-06'),\r\n\t},\r\n\t{\r\n\t\tid: 'dalaran',\r\n\t\tname: 'Rise of Shadows',\r\n\t\tlaunchDate: new Date('2019-04-09'),\r\n\t},\r\n\t{\r\n\t\tid: 'troll',\r\n\t\tname: \"Rastakhan's Rumble\",\r\n\t\tlaunchDate: new Date('2018-12-04'),\r\n\t},\r\n\t{\r\n\t\tid: 'boomsday',\r\n\t\tname: 'The Boomsday Project',\r\n\t\tlaunchDate: new Date('2018-08-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'gilneas',\r\n\t\tname: 'The Witchwood',\r\n\t\tlaunchDate: new Date('2018-04-12'),\r\n\t},\r\n\t{\r\n\t\tid: 'lootapalooza',\r\n\t\tname: 'Kobolds and Catacombs',\r\n\t\tlaunchDate: new Date('2017-12-07'),\r\n\t},\r\n\t{\r\n\t\tid: 'icecrown',\r\n\t\tname: 'Knights of the Frozen Throne',\r\n\t\tlaunchDate: new Date('2017-08-10'),\r\n\t},\r\n\t{\r\n\t\tid: 'ungoro',\r\n\t\tname: \"Journey to Un'Goro\",\r\n\t\tlaunchDate: new Date('2017-04-06'),\r\n\t},\r\n\t// {\r\n\t// \tid: 'hof',\r\n\t// \tname: 'Hall of Fame',\r\n\t// \tlaunchDate: new Date('2017-04-04'),\r\n\t// },\r\n\t{\r\n\t\tid: 'gangs',\r\n\t\tname: 'Mean Streets of Gadgetzan',\r\n\t\tlaunchDate: new Date('2016-12-1'),\r\n\t},\r\n\t{\r\n\t\tid: 'kara',\r\n\t\tname: 'One Night in Karazhan',\r\n\t\tlaunchDate: new Date('2016-08-11'),\r\n\t},\r\n\t{\r\n\t\tid: 'og',\r\n\t\tname: 'Whispers of the Old Gods',\r\n\t\tlaunchDate: new Date('2016-04-26'),\r\n\t},\r\n\t{\r\n\t\tid: 'loe',\r\n\t\tname: 'League of Explorers',\r\n\t\tlaunchDate: new Date('2015-11-12'),\r\n\t},\r\n\t{\r\n\t\tid: 'tgt',\r\n\t\tname: 'The Grand Tournament',\r\n\t\tlaunchDate: new Date('2015-08-24'),\r\n\t},\r\n\t{\r\n\t\tid: 'brm',\r\n\t\tname: 'Blackrock Mountain',\r\n\t\tlaunchDate: new Date('2015-04-02'),\r\n\t},\r\n\t{\r\n\t\tid: 'gvg',\r\n\t\tname: 'Goblins vs Gnomes',\r\n\t\tlaunchDate: new Date('2014-12-08'),\r\n\t},\r\n\t{\r\n\t\tid: 'naxx',\r\n\t\tname: 'Naxxramas',\r\n\t\tlaunchDate: new Date('2014-07-22'),\r\n\t},\r\n\t{\r\n\t\tid: 'core',\r\n\t\tname: 'Core',\r\n\t\tlaunchDate: new Date('2021-03-25'),\r\n\t},\r\n\t// {\r\n\t// \tid: 'expert1',\r\n\t// \tname: 'Expert',\r\n\t// \tlaunchDate: new Date('2014-03-11'),\r\n\t// },\r\n\t// {\r\n\t// \tid: 'basic',\r\n\t// \tname: 'Basic',\r\n\t// \tlaunchDate: new Date('2014-03-11'),\r\n\t// },\r\n\t{\r\n\t\tid: 'legacy',\r\n\t\tname: 'Legacy',\r\n\t\tlaunchDate: new Date('2021-03-30'),\r\n\t},\r\n] as const;\r\n\r\nexport const wildSets: readonly SetId[] = sets.map((s) => s.id);\r\nconst standardBaseSets: readonly SetId[] = [\r\n\t'core',\r\n\t'gift',\r\n\t'whizbangs_workshop',\r\n\t'perils_in_paradise',\r\n\t'great_dark_beyond',\r\n\t'into_the_emerald_dream',\r\n\t'lost_city_of_ungoro',\r\n\t'across_the_timeways',\r\n];\r\nexport const standardSets: readonly SetId[] = standardBaseSets\r\n\t.flatMap((setId) => [setId, sets.find((s) => s.miniSetFor === setId)?.id])\r\n\t.filter((setId) => setId)\r\n\t.map((setId) => setId as SetId);\r\nconst twistBaseSets: readonly SetId[] = [\r\n\t'legacy',\r\n\t'return_to_naxxramas',\r\n\t'gvg',\r\n\t'brm',\r\n\t'tgt',\r\n\t'loe',\r\n\t'og',\r\n\t'kara',\r\n\t'gangs',\r\n\t'ungoro',\r\n\t'caverns_of_time',\r\n];\r\nexport const twistSets: readonly SetId[] = twistBaseSets\r\n\t.flatMap((setId) => [setId, sets.find((s) => s.miniSetFor === setId)?.id])\r\n\t.filter((setId) => setId)\r\n\t.map((setId) => setId as SetId);\r\n// https://hearthstone.fandom.com/wiki/Arena#Arena_Rotation\r\nconst arenaBaseSets: readonly SetId[] = [\r\n\t'across_the_timeways',\r\n\t'lost_city_of_ungoro',\r\n\t'into_the_emerald_dream',\r\n\t'great_dark_beyond',\r\n\t'perils_in_paradise',\r\n\t'whizbangs_workshop',\r\n];\r\nexport const arenaSets: readonly SetId[] = arenaBaseSets\r\n\t.flatMap((setId) => [setId, sets.find((s) => s.miniSetFor === setId)?.id])\r\n\t.filter((setId) => setId);\r\n\r\nexport const duelsSets: readonly SetId[] = [];\r\nexport const vanillaSets: readonly SetId[] = ['vanilla'];\r\nexport const brawlSets: { [scenarioId: number]: readonly SetId[] } = {\r\n\t5465: ['across_the_timeways', 'lost_city_of_ungoro', 'day_of_rebirth', 'core'],\r\n};\r\n\r\nexport const isValidSet = (set: SetId, format: GameFormat, gameType: GameType): boolean => {\r\n\tswitch (gameType) {\r\n\t\tcase GameType.GT_ARENA:\r\n\t\tcase GameType.GT_UNDERGROUND_ARENA:\r\n\t\t\treturn arenaSets.includes(set);\r\n\t}\r\n\tswitch (format) {\r\n\t\tcase GameFormat.FT_STANDARD:\r\n\t\t\treturn standardSets.includes(set);\r\n\t\tcase GameFormat.FT_TWIST:\r\n\t\t\treturn twistSets.includes(set);\r\n\t\tcase GameFormat.FT_WILD:\r\n\t\tdefault:\r\n\t\t\treturn wildSets.includes(set);\r\n\t}\r\n};\r\n"]}
|
|
@@ -274,7 +274,9 @@ const getEffectiveTechLevel = (card, allCards) => {
|
|
|
274
274
|
exports.getEffectiveTechLevel = getEffectiveTechLevel;
|
|
275
275
|
const hasCorrectTribe = (card, targetTribe) => {
|
|
276
276
|
const cardTribes = exports.getEffectiveTribesEnumBase(card);
|
|
277
|
-
return cardTribes.includes(targetTribe) ||
|
|
277
|
+
return (cardTribes.includes(targetTribe) ||
|
|
278
|
+
cardTribes.includes(public_api_1.Race.ALL) ||
|
|
279
|
+
(targetTribe === public_api_1.Race.ALL && cardTribes.length > 0));
|
|
278
280
|
};
|
|
279
281
|
exports.hasCorrectTribe = hasCorrectTribe;
|
|
280
282
|
const hasMechanic = (card, mechanic) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hs-utils.js","sourceRoot":"","sources":["../../src/services/hs-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { GameFormatString } from '../enums/game-format';\r\nimport { ReferenceCard } from '../models/reference-cards/reference-card';\r\nimport {\r\n\tCardClass,\r\n\tCardIds,\r\n\tGameFormat,\r\n\tGameTag,\r\n\tGameType,\r\n\tRace,\r\n\tSpellSchool,\r\n\tallDuelsHeroesExtended,\r\n} from '../public-api';\r\nimport { AllCardsService } from './all-cards.service';\r\n\r\nexport const ALL_CLASSES = [\r\n\t'deathknight',\r\n\t'demonhunter',\r\n\t'druid',\r\n\t'hunter',\r\n\t'mage',\r\n\t'paladin',\r\n\t'priest',\r\n\t'rogue',\r\n\t'shaman',\r\n\t'warlock',\r\n\t'warrior',\r\n];\r\n\r\nexport const formatFormat = (format: GameFormat): GameFormatString => {\r\n\tswitch (format) {\r\n\t\tcase GameFormat.FT_STANDARD:\r\n\t\t\treturn 'standard';\r\n\t\tcase GameFormat.FT_CLASSIC:\r\n\t\t\treturn 'classic';\r\n\t\tcase GameFormat.FT_TWIST:\r\n\t\t\treturn 'twist';\r\n\t\tcase GameFormat.FT_WILD:\r\n\t\tdefault:\r\n\t\t\treturn 'wild';\r\n\t}\r\n};\r\nexport const formatFormatReverse = (format: GameFormatString): GameFormat => {\r\n\tswitch (format) {\r\n\t\tcase 'standard':\r\n\t\t\treturn GameFormat.FT_STANDARD;\r\n\t\tcase 'classic':\r\n\t\t\treturn GameFormat.FT_CLASSIC;\r\n\t\tcase 'twist':\r\n\t\t\treturn GameFormat.FT_TWIST;\r\n\t\tcase 'wild':\r\n\t\tdefault:\r\n\t\t\treturn GameFormat.FT_WILD;\r\n\t}\r\n};\r\n\r\nexport const formatGameType = (gameType: GameType): string => {\r\n\tswitch (gameType) {\r\n\t\tcase GameType.GT_UNKNOWN:\r\n\t\t\treturn 'unknown';\r\n\t\tcase GameType.GT_VS_AI:\r\n\t\t\treturn 'practice';\r\n\t\tcase GameType.GT_VS_FRIEND:\r\n\t\t\treturn 'friendly';\r\n\t\tcase GameType.GT_TUTORIAL:\r\n\t\t\treturn 'tutorial';\r\n\t\tcase GameType.GT_ARENA:\r\n\t\t\treturn 'arena';\r\n\t\tcase GameType.GT_UNDERGROUND_ARENA:\r\n\t\t\treturn 'arena-underground';\r\n\t\tcase GameType.GT_RANKED:\r\n\t\t\treturn 'ranked';\r\n\t\tcase GameType.GT_CASUAL:\r\n\t\t\treturn 'casual';\r\n\t\tcase GameType.GT_TAVERNBRAWL:\r\n\t\tcase GameType.GT_TB_1P_VS_AI:\r\n\t\tcase GameType.GT_TB_2P_COOP:\r\n\t\tcase GameType.GT_FSG_BRAWL_VS_FRIEND:\r\n\t\tcase GameType.GT_FSG_BRAWL:\r\n\t\tcase GameType.GT_FSG_BRAWL_1P_VS_AI:\r\n\t\tcase GameType.GT_FSG_BRAWL_2P_COOP:\r\n\t\t\treturn 'tavern-brawl';\r\n\t\tcase GameType.GT_BATTLEGROUNDS:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_FRIENDLY:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_AI_VS_AI:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_PLAYER_VS_AI:\r\n\t\t\treturn 'battlegrounds';\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO_VS_AI:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO_FRIENDLY:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO_AI_VS_AI:\r\n\t\t\treturn 'battlegrounds-duo';\r\n\t\tcase GameType.GT_MERCENARIES_AI_VS_AI:\r\n\t\t\treturn 'mercenaries-ai-vs-ai';\r\n\t\tcase GameType.GT_MERCENARIES_FRIENDLY:\r\n\t\t\treturn 'mercenaries-friendly';\r\n\t\tcase GameType.GT_MERCENARIES_PVE:\r\n\t\t\treturn 'mercenaries-pve';\r\n\t\tcase GameType.GT_MERCENARIES_PVP:\r\n\t\t\treturn 'mercenaries-pvp';\r\n\t\tcase GameType.GT_MERCENARIES_PVE_COOP:\r\n\t\t\treturn 'mercenaries-pve-coop';\r\n\t\tcase GameType.GT_PVPDR:\r\n\t\t\treturn 'duels';\r\n\t\tcase GameType.GT_PVPDR_PAID:\r\n\t\t\treturn 'paid-duels';\r\n\t\tdefault:\r\n\t\t\tconsole.warn('unsupported game type', gameType);\r\n\t\t\treturn 'unknown';\r\n\t}\r\n};\r\n\r\nexport const formatGameTypeReverse = (gameType: string): GameType => {\r\n\tswitch (gameType) {\r\n\t\tcase 'unknown':\r\n\t\t\treturn GameType.GT_UNKNOWN;\r\n\t\tcase 'practice':\r\n\t\t\treturn GameType.GT_VS_AI;\r\n\t\tcase 'friendly':\r\n\t\t\treturn GameType.GT_VS_FRIEND;\r\n\t\tcase 'tutorial':\r\n\t\t\treturn GameType.GT_TUTORIAL;\r\n\t\tcase 'arena':\r\n\t\t\treturn GameType.GT_ARENA;\r\n\t\tcase 'arena-underground':\r\n\t\t\treturn GameType.GT_UNDERGROUND_ARENA;\r\n\t\tcase 'ranked':\r\n\t\t\treturn GameType.GT_RANKED;\r\n\t\tcase 'casual':\r\n\t\t\treturn GameType.GT_CASUAL;\r\n\t\tcase 'tavern-brawl':\r\n\t\t\treturn GameType.GT_TAVERNBRAWL;\r\n\t\tcase 'battlegrounds':\r\n\t\t\treturn GameType.GT_BATTLEGROUNDS;\r\n\t\tcase 'battlegrounds-duo':\r\n\t\t\treturn GameType.GT_BATTLEGROUNDS_DUO;\r\n\t\tcase 'mercenaries-ai-vs-ai':\r\n\t\t\treturn GameType.GT_MERCENARIES_AI_VS_AI;\r\n\t\tcase 'mercenaries-friendly':\r\n\t\t\treturn GameType.GT_MERCENARIES_FRIENDLY;\r\n\t\tcase 'mercenaries-pve':\r\n\t\t\treturn GameType.GT_MERCENARIES_PVE;\r\n\t\tcase 'mercenaries-pvp':\r\n\t\t\treturn GameType.GT_MERCENARIES_PVP;\r\n\t\tcase 'mercenaries-pve-coop':\r\n\t\t\treturn GameType.GT_MERCENARIES_PVE_COOP;\r\n\t\tcase 'duels':\r\n\t\t\treturn GameType.GT_PVPDR;\r\n\t\tcase 'paid-duels':\r\n\t\t\treturn GameType.GT_PVPDR_PAID;\r\n\t\tdefault:\r\n\t\t\tconsole.warn('unsupported game type', gameType);\r\n\t\t\treturn GameType.GT_UNKNOWN;\r\n\t}\r\n};\r\n\r\nexport const getDefaultHeroDbfIdForClass = (playerClass: string): number => {\r\n\tswitch (playerClass?.toLowerCase()) {\r\n\t\tcase 'deathknight':\r\n\t\t\treturn 78065;\r\n\t\tcase 'demonhunter':\r\n\t\t\treturn 56550;\r\n\t\tcase 'druid':\r\n\t\t\treturn 274;\r\n\t\tcase 'hunter':\r\n\t\t\treturn 31;\r\n\t\tcase 'mage':\r\n\t\t\treturn 637;\r\n\t\tcase 'paladin':\r\n\t\t\treturn 671;\r\n\t\tcase 'priest':\r\n\t\t\treturn 813;\r\n\t\tcase 'rogue':\r\n\t\t\treturn 930;\r\n\t\tcase 'shaman':\r\n\t\t\treturn 1066;\r\n\t\tcase 'warlock':\r\n\t\t\treturn 893;\r\n\t\tcase 'warrior':\r\n\t\t\treturn 7;\r\n\t\tdefault:\r\n\t\t\tconsole.warn('Could not normalize hero card id', playerClass);\r\n\t\t\treturn 7;\r\n\t}\r\n};\r\n\r\nexport const isArena = (gameType: GameType | string): boolean => {\r\n\treturn (\r\n\t\t[GameType.GT_ARENA, GameType.GT_UNDERGROUND_ARENA].includes(gameType as GameType) ||\r\n\t\tgameType === 'arena' ||\r\n\t\tgameType === 'arena-underground'\r\n\t);\r\n};\r\n\r\nexport const normalizeDeckHeroDbfId = (\r\n\theroDbfId: number,\r\n\tcards: AllCardsService,\r\n\tduelsClass?: CardClass,\r\n\t// Should probably not be needed, but it's a safeguard in case we can't figure out the class from the Duels sign treasure\r\n\tdeckClass?: CardClass,\r\n): number => {\r\n\tconst cardFromHeroDbfId = cards.getCardFromDbfId(heroDbfId);\r\n\t// Don't normalize the dual-class heroes\r\n\tswitch (cardFromHeroDbfId.id) {\r\n\t\t// Sometimes a neutral hero is provided even though the deck has class cards\r\n\t\tcase CardIds.VanndarStormpikeTavernBrawl:\r\n\t\t\tswitch (duelsClass ?? deckClass) {\r\n\t\t\t\tcase CardClass.DEMONHUNTER:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv1)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.HUNTER:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv2)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.PALADIN:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv3)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.PRIEST:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv4)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.ROGUE:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv5)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase CardIds.DrektharTavernBrawl:\r\n\t\t\tswitch (duelsClass ?? deckClass) {\r\n\t\t\t\tcase CardClass.DRUID:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv1).dbfId;\r\n\t\t\t\tcase CardClass.MAGE:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv2).dbfId;\r\n\t\t\t\tcase CardClass.SHAMAN:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv3).dbfId;\r\n\t\t\t\tcase CardClass.WARLOCK:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv4).dbfId;\r\n\t\t\t\tcase CardClass.WARRIOR:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv5).dbfId;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\t// No need for further normalization, all heroes are supported in Duels\r\n\tif (duelsClass || allDuelsHeroesExtended.includes(cardFromHeroDbfId.id as CardIds)) {\r\n\t\treturn heroDbfId;\r\n\t}\r\n\r\n\tconst playerClass: CardClass = CardClass[cards.getCard(heroDbfId)?.playerClass?.toUpperCase()];\r\n\t// Not sure this should happen anymore now that all Duels heroes are supported\r\n\tif (!playerClass) {\r\n\t\treturn heroDbfId;\r\n\t}\r\n\r\n\t// Used for all the skins\r\n\tswitch (playerClass) {\r\n\t\tcase CardClass.DEATHKNIGHT:\r\n\t\t\treturn 78065;\r\n\t\tcase CardClass.DEMONHUNTER:\r\n\t\t\treturn 56550;\r\n\t\tcase CardClass.DRUID:\r\n\t\t\treturn 274;\r\n\t\tcase CardClass.HUNTER:\r\n\t\t\treturn 31;\r\n\t\tcase CardClass.MAGE:\r\n\t\t\treturn 637;\r\n\t\tcase CardClass.PALADIN:\r\n\t\t\treturn 671;\r\n\t\tcase CardClass.PRIEST:\r\n\t\t\treturn 813;\r\n\t\tcase CardClass.ROGUE:\r\n\t\t\treturn 930;\r\n\t\tcase CardClass.SHAMAN:\r\n\t\t\treturn 1066;\r\n\t\tcase CardClass.WARLOCK:\r\n\t\t\treturn 893;\r\n\t\tcase CardClass.WARRIOR:\r\n\t\t\treturn 7;\r\n\t\tdefault:\r\n\t\t\t// Keep the neutral heroes\r\n\t\t\treturn heroDbfId;\r\n\t}\r\n};\r\n\r\nexport const isBattlegroundsCard = (card: ReferenceCard): boolean => {\r\n\treturn !!card.techLevel || !!card.battlegroundsNormalDbfId || !!card.battlegroundsPremiumDbfId;\r\n};\r\n\r\nexport const getEffectiveTechLevel = (card: ReferenceCard, allCards: AllCardsService): number => {\r\n\tif (card.techLevel) {\r\n\t\treturn card.techLevel;\r\n\t}\r\n\r\n\tif (card.battlegroundsNormalDbfId) {\r\n\t\tconst normalCard = allCards.getCardFromDbfId(card.battlegroundsNormalDbfId);\r\n\t\treturn normalCard.techLevel ?? 1;\r\n\t}\r\n\r\n\tif (card.battlegroundsPremiumDbfId) {\r\n\t\tconst premiumCard = allCards.getCardFromDbfId(card.battlegroundsPremiumDbfId);\r\n\t\treturn premiumCard.techLevel ?? 1;\r\n\t}\r\n\r\n\treturn 1;\r\n};\r\n\r\nexport const hasCorrectTribe = (card: ReferenceCard, targetTribe: Race): boolean => {\r\n\tconst cardTribes = getEffectiveTribesEnumBase(card);\r\n\treturn cardTribes.includes(targetTribe) || cardTribes.includes(Race.ALL);\r\n};\r\nexport const hasMechanic = (card: ReferenceCard, mechanic: GameTag): boolean => {\r\n\treturn card.mechanics?.includes(GameTag[mechanic]);\r\n};\r\nexport const hasSpellSchool = (card: ReferenceCard, spellSchool: SpellSchool): boolean => {\r\n\treturn card.spellSchool?.toUpperCase() === SpellSchool[spellSchool];\r\n};\r\n\r\nexport const getEffectiveTribesEnumBase = (card: ReferenceCard): readonly Race[] => {\r\n\treturn !!card.races?.length ? card.races.map((r) => Race[r]) : [Race.BLANK];\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"hs-utils.js","sourceRoot":"","sources":["../../src/services/hs-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { GameFormatString } from '../enums/game-format';\r\nimport { ReferenceCard } from '../models/reference-cards/reference-card';\r\nimport {\r\n\tCardClass,\r\n\tCardIds,\r\n\tGameFormat,\r\n\tGameTag,\r\n\tGameType,\r\n\tRace,\r\n\tSpellSchool,\r\n\tallDuelsHeroesExtended,\r\n} from '../public-api';\r\nimport { AllCardsService } from './all-cards.service';\r\n\r\nexport const ALL_CLASSES = [\r\n\t'deathknight',\r\n\t'demonhunter',\r\n\t'druid',\r\n\t'hunter',\r\n\t'mage',\r\n\t'paladin',\r\n\t'priest',\r\n\t'rogue',\r\n\t'shaman',\r\n\t'warlock',\r\n\t'warrior',\r\n];\r\n\r\nexport const formatFormat = (format: GameFormat): GameFormatString => {\r\n\tswitch (format) {\r\n\t\tcase GameFormat.FT_STANDARD:\r\n\t\t\treturn 'standard';\r\n\t\tcase GameFormat.FT_CLASSIC:\r\n\t\t\treturn 'classic';\r\n\t\tcase GameFormat.FT_TWIST:\r\n\t\t\treturn 'twist';\r\n\t\tcase GameFormat.FT_WILD:\r\n\t\tdefault:\r\n\t\t\treturn 'wild';\r\n\t}\r\n};\r\nexport const formatFormatReverse = (format: GameFormatString): GameFormat => {\r\n\tswitch (format) {\r\n\t\tcase 'standard':\r\n\t\t\treturn GameFormat.FT_STANDARD;\r\n\t\tcase 'classic':\r\n\t\t\treturn GameFormat.FT_CLASSIC;\r\n\t\tcase 'twist':\r\n\t\t\treturn GameFormat.FT_TWIST;\r\n\t\tcase 'wild':\r\n\t\tdefault:\r\n\t\t\treturn GameFormat.FT_WILD;\r\n\t}\r\n};\r\n\r\nexport const formatGameType = (gameType: GameType): string => {\r\n\tswitch (gameType) {\r\n\t\tcase GameType.GT_UNKNOWN:\r\n\t\t\treturn 'unknown';\r\n\t\tcase GameType.GT_VS_AI:\r\n\t\t\treturn 'practice';\r\n\t\tcase GameType.GT_VS_FRIEND:\r\n\t\t\treturn 'friendly';\r\n\t\tcase GameType.GT_TUTORIAL:\r\n\t\t\treturn 'tutorial';\r\n\t\tcase GameType.GT_ARENA:\r\n\t\t\treturn 'arena';\r\n\t\tcase GameType.GT_UNDERGROUND_ARENA:\r\n\t\t\treturn 'arena-underground';\r\n\t\tcase GameType.GT_RANKED:\r\n\t\t\treturn 'ranked';\r\n\t\tcase GameType.GT_CASUAL:\r\n\t\t\treturn 'casual';\r\n\t\tcase GameType.GT_TAVERNBRAWL:\r\n\t\tcase GameType.GT_TB_1P_VS_AI:\r\n\t\tcase GameType.GT_TB_2P_COOP:\r\n\t\tcase GameType.GT_FSG_BRAWL_VS_FRIEND:\r\n\t\tcase GameType.GT_FSG_BRAWL:\r\n\t\tcase GameType.GT_FSG_BRAWL_1P_VS_AI:\r\n\t\tcase GameType.GT_FSG_BRAWL_2P_COOP:\r\n\t\t\treturn 'tavern-brawl';\r\n\t\tcase GameType.GT_BATTLEGROUNDS:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_FRIENDLY:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_AI_VS_AI:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_PLAYER_VS_AI:\r\n\t\t\treturn 'battlegrounds';\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO_VS_AI:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO_FRIENDLY:\r\n\t\tcase GameType.GT_BATTLEGROUNDS_DUO_AI_VS_AI:\r\n\t\t\treturn 'battlegrounds-duo';\r\n\t\tcase GameType.GT_MERCENARIES_AI_VS_AI:\r\n\t\t\treturn 'mercenaries-ai-vs-ai';\r\n\t\tcase GameType.GT_MERCENARIES_FRIENDLY:\r\n\t\t\treturn 'mercenaries-friendly';\r\n\t\tcase GameType.GT_MERCENARIES_PVE:\r\n\t\t\treturn 'mercenaries-pve';\r\n\t\tcase GameType.GT_MERCENARIES_PVP:\r\n\t\t\treturn 'mercenaries-pvp';\r\n\t\tcase GameType.GT_MERCENARIES_PVE_COOP:\r\n\t\t\treturn 'mercenaries-pve-coop';\r\n\t\tcase GameType.GT_PVPDR:\r\n\t\t\treturn 'duels';\r\n\t\tcase GameType.GT_PVPDR_PAID:\r\n\t\t\treturn 'paid-duels';\r\n\t\tdefault:\r\n\t\t\tconsole.warn('unsupported game type', gameType);\r\n\t\t\treturn 'unknown';\r\n\t}\r\n};\r\n\r\nexport const formatGameTypeReverse = (gameType: string): GameType => {\r\n\tswitch (gameType) {\r\n\t\tcase 'unknown':\r\n\t\t\treturn GameType.GT_UNKNOWN;\r\n\t\tcase 'practice':\r\n\t\t\treturn GameType.GT_VS_AI;\r\n\t\tcase 'friendly':\r\n\t\t\treturn GameType.GT_VS_FRIEND;\r\n\t\tcase 'tutorial':\r\n\t\t\treturn GameType.GT_TUTORIAL;\r\n\t\tcase 'arena':\r\n\t\t\treturn GameType.GT_ARENA;\r\n\t\tcase 'arena-underground':\r\n\t\t\treturn GameType.GT_UNDERGROUND_ARENA;\r\n\t\tcase 'ranked':\r\n\t\t\treturn GameType.GT_RANKED;\r\n\t\tcase 'casual':\r\n\t\t\treturn GameType.GT_CASUAL;\r\n\t\tcase 'tavern-brawl':\r\n\t\t\treturn GameType.GT_TAVERNBRAWL;\r\n\t\tcase 'battlegrounds':\r\n\t\t\treturn GameType.GT_BATTLEGROUNDS;\r\n\t\tcase 'battlegrounds-duo':\r\n\t\t\treturn GameType.GT_BATTLEGROUNDS_DUO;\r\n\t\tcase 'mercenaries-ai-vs-ai':\r\n\t\t\treturn GameType.GT_MERCENARIES_AI_VS_AI;\r\n\t\tcase 'mercenaries-friendly':\r\n\t\t\treturn GameType.GT_MERCENARIES_FRIENDLY;\r\n\t\tcase 'mercenaries-pve':\r\n\t\t\treturn GameType.GT_MERCENARIES_PVE;\r\n\t\tcase 'mercenaries-pvp':\r\n\t\t\treturn GameType.GT_MERCENARIES_PVP;\r\n\t\tcase 'mercenaries-pve-coop':\r\n\t\t\treturn GameType.GT_MERCENARIES_PVE_COOP;\r\n\t\tcase 'duels':\r\n\t\t\treturn GameType.GT_PVPDR;\r\n\t\tcase 'paid-duels':\r\n\t\t\treturn GameType.GT_PVPDR_PAID;\r\n\t\tdefault:\r\n\t\t\tconsole.warn('unsupported game type', gameType);\r\n\t\t\treturn GameType.GT_UNKNOWN;\r\n\t}\r\n};\r\n\r\nexport const getDefaultHeroDbfIdForClass = (playerClass: string): number => {\r\n\tswitch (playerClass?.toLowerCase()) {\r\n\t\tcase 'deathknight':\r\n\t\t\treturn 78065;\r\n\t\tcase 'demonhunter':\r\n\t\t\treturn 56550;\r\n\t\tcase 'druid':\r\n\t\t\treturn 274;\r\n\t\tcase 'hunter':\r\n\t\t\treturn 31;\r\n\t\tcase 'mage':\r\n\t\t\treturn 637;\r\n\t\tcase 'paladin':\r\n\t\t\treturn 671;\r\n\t\tcase 'priest':\r\n\t\t\treturn 813;\r\n\t\tcase 'rogue':\r\n\t\t\treturn 930;\r\n\t\tcase 'shaman':\r\n\t\t\treturn 1066;\r\n\t\tcase 'warlock':\r\n\t\t\treturn 893;\r\n\t\tcase 'warrior':\r\n\t\t\treturn 7;\r\n\t\tdefault:\r\n\t\t\tconsole.warn('Could not normalize hero card id', playerClass);\r\n\t\t\treturn 7;\r\n\t}\r\n};\r\n\r\nexport const isArena = (gameType: GameType | string): boolean => {\r\n\treturn (\r\n\t\t[GameType.GT_ARENA, GameType.GT_UNDERGROUND_ARENA].includes(gameType as GameType) ||\r\n\t\tgameType === 'arena' ||\r\n\t\tgameType === 'arena-underground'\r\n\t);\r\n};\r\n\r\nexport const normalizeDeckHeroDbfId = (\r\n\theroDbfId: number,\r\n\tcards: AllCardsService,\r\n\tduelsClass?: CardClass,\r\n\t// Should probably not be needed, but it's a safeguard in case we can't figure out the class from the Duels sign treasure\r\n\tdeckClass?: CardClass,\r\n): number => {\r\n\tconst cardFromHeroDbfId = cards.getCardFromDbfId(heroDbfId);\r\n\t// Don't normalize the dual-class heroes\r\n\tswitch (cardFromHeroDbfId.id) {\r\n\t\t// Sometimes a neutral hero is provided even though the deck has class cards\r\n\t\tcase CardIds.VanndarStormpikeTavernBrawl:\r\n\t\t\tswitch (duelsClass ?? deckClass) {\r\n\t\t\t\tcase CardClass.DEMONHUNTER:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv1)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.HUNTER:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv2)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.PALADIN:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv3)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.PRIEST:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv4)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t\tcase CardClass.ROGUE:\r\n\t\t\t\t\treturn cards.getCard(CardIds.VanndarStormpike_VanndarStormpikeTavernBrawl_PVPDR_Hero_Vanndarv5)\r\n\t\t\t\t\t\t.dbfId;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase CardIds.DrektharTavernBrawl:\r\n\t\t\tswitch (duelsClass ?? deckClass) {\r\n\t\t\t\tcase CardClass.DRUID:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv1).dbfId;\r\n\t\t\t\tcase CardClass.MAGE:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv2).dbfId;\r\n\t\t\t\tcase CardClass.SHAMAN:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv3).dbfId;\r\n\t\t\t\tcase CardClass.WARLOCK:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv4).dbfId;\r\n\t\t\t\tcase CardClass.WARRIOR:\r\n\t\t\t\t\treturn cards.getCard(CardIds.Drekthar_DrektharTavernBrawl_PVPDR_Hero_DrekTharv5).dbfId;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\t// No need for further normalization, all heroes are supported in Duels\r\n\tif (duelsClass || allDuelsHeroesExtended.includes(cardFromHeroDbfId.id as CardIds)) {\r\n\t\treturn heroDbfId;\r\n\t}\r\n\r\n\tconst playerClass: CardClass = CardClass[cards.getCard(heroDbfId)?.playerClass?.toUpperCase()];\r\n\t// Not sure this should happen anymore now that all Duels heroes are supported\r\n\tif (!playerClass) {\r\n\t\treturn heroDbfId;\r\n\t}\r\n\r\n\t// Used for all the skins\r\n\tswitch (playerClass) {\r\n\t\tcase CardClass.DEATHKNIGHT:\r\n\t\t\treturn 78065;\r\n\t\tcase CardClass.DEMONHUNTER:\r\n\t\t\treturn 56550;\r\n\t\tcase CardClass.DRUID:\r\n\t\t\treturn 274;\r\n\t\tcase CardClass.HUNTER:\r\n\t\t\treturn 31;\r\n\t\tcase CardClass.MAGE:\r\n\t\t\treturn 637;\r\n\t\tcase CardClass.PALADIN:\r\n\t\t\treturn 671;\r\n\t\tcase CardClass.PRIEST:\r\n\t\t\treturn 813;\r\n\t\tcase CardClass.ROGUE:\r\n\t\t\treturn 930;\r\n\t\tcase CardClass.SHAMAN:\r\n\t\t\treturn 1066;\r\n\t\tcase CardClass.WARLOCK:\r\n\t\t\treturn 893;\r\n\t\tcase CardClass.WARRIOR:\r\n\t\t\treturn 7;\r\n\t\tdefault:\r\n\t\t\t// Keep the neutral heroes\r\n\t\t\treturn heroDbfId;\r\n\t}\r\n};\r\n\r\nexport const isBattlegroundsCard = (card: ReferenceCard): boolean => {\r\n\treturn !!card.techLevel || !!card.battlegroundsNormalDbfId || !!card.battlegroundsPremiumDbfId;\r\n};\r\n\r\nexport const getEffectiveTechLevel = (card: ReferenceCard, allCards: AllCardsService): number => {\r\n\tif (card.techLevel) {\r\n\t\treturn card.techLevel;\r\n\t}\r\n\r\n\tif (card.battlegroundsNormalDbfId) {\r\n\t\tconst normalCard = allCards.getCardFromDbfId(card.battlegroundsNormalDbfId);\r\n\t\treturn normalCard.techLevel ?? 1;\r\n\t}\r\n\r\n\tif (card.battlegroundsPremiumDbfId) {\r\n\t\tconst premiumCard = allCards.getCardFromDbfId(card.battlegroundsPremiumDbfId);\r\n\t\treturn premiumCard.techLevel ?? 1;\r\n\t}\r\n\r\n\treturn 1;\r\n};\r\n\r\nexport const hasCorrectTribe = (card: ReferenceCard, targetTribe: Race): boolean => {\r\n\tconst cardTribes = getEffectiveTribesEnumBase(card);\r\n\treturn (\r\n\t\tcardTribes.includes(targetTribe) ||\r\n\t\tcardTribes.includes(Race.ALL) ||\r\n\t\t(targetTribe === Race.ALL && cardTribes.length > 0)\r\n\t);\r\n};\r\nexport const hasMechanic = (card: ReferenceCard, mechanic: GameTag): boolean => {\r\n\treturn card.mechanics?.includes(GameTag[mechanic]);\r\n};\r\nexport const hasSpellSchool = (card: ReferenceCard, spellSchool: SpellSchool): boolean => {\r\n\treturn card.spellSchool?.toUpperCase() === SpellSchool[spellSchool];\r\n};\r\n\r\nexport const getEffectiveTribesEnumBase = (card: ReferenceCard): readonly Race[] => {\r\n\treturn !!card.races?.length ? card.races.map((r) => Race[r]) : [Race.BLANK];\r\n};\r\n"]}
|