@firestone-hs/reference-data 3.0.170 → 3.0.171

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.
@@ -551,7 +551,7 @@ const getHeroPower = (heroCardId, allCards) => {
551
551
  case public_api_1.CardIds.ForestLordCenarius_BG32_HERO_001:
552
552
  return public_api_1.CardIds.ForestLordCenarius_WisdomOfAncients_BG32_HERO_001p;
553
553
  case public_api_1.CardIds.LohTheLivingLegend_BG33_HERO_001:
554
- return public_api_1.CardIds.LohTheLivingLegend_HeroicInspiration_BG33_HERO_001p;
554
+ return public_api_1.CardIds.HeroicInspiration_BG33_HERO_001p_ALT;
555
555
  case public_api_1.CardIds.MurozondUnbounded_BG34_HERO_000:
556
556
  return public_api_1.CardIds.MurozondUnbounded_AlternateTimeline_BG34_HERO_000p;
557
557
  case public_api_1.CardIds.TimeTwisterChromie_BG34_HERO_001:
@@ -1 +1 @@
1
- {"version":3,"file":"bgs-utils.js","sourceRoot":"","sources":["../../src/services/bgs-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { AllCardsService, CardIds, GameTag, GameType, Race, ReferenceCard } from '../public-api';\r\nimport { getEffectiveTribesEnumBase } from './hs-utils';\r\n\r\nexport const ALL_BG_RACES = [\r\n\tRace.BEAST,\r\n\tRace.DEMON,\r\n\tRace.DRAGON,\r\n\tRace.MECH,\r\n\tRace.MURLOC,\r\n\tRace.PIRATE,\r\n\tRace.ELEMENTAL,\r\n\tRace.QUILBOAR,\r\n\tRace.NAGA,\r\n\tRace.UNDEAD,\r\n];\r\n\r\nexport const TOTAL_RACES_IN_GAME = 5;\r\n\r\nexport const NON_BUYABLE_MINION_IDS = [\r\n\tCardIds.Cuddlgam_TB_BaconShop_HP_033t_SKIN_A,\r\n\tCardIds.Cuddlgam_TB_BaconShop_HP_033t_SKIN_A_G,\r\n\tCardIds.AbominableAmalgam_TB_BaconShop_HP_033t_SKIN_D,\r\n\tCardIds.AbominableAmalgam_TB_BaconShop_HP_033t_SKIN_D_G,\r\n\tCardIds.BookEatingAmalgam_TB_BaconShop_HP_033t_SKIN_B,\r\n\tCardIds.BookEatingAmalgam_TB_BaconShop_HP_033t_SKIN_B_G,\r\n\t// CardIds.ArgentBraggart_BG_SCH_149,\r\n\t// CardIds.ArgentBraggart_TB_BaconUps_308,\r\n\tCardIds.AvatarOfNzoth_FishOfNzothToken,\r\n\tCardIds.FishOfNzoth,\r\n\tCardIds.CattlecarpOfNzoth_TB_BaconShop_HP_105t_SKIN_A,\r\n\tCardIds.CattlecarpOfNzoth_TB_BaconShop_HP_105t_SKIN_A_G,\r\n\tCardIds.SnakeTrap_SnakeLegacyToken,\r\n\tCardIds.SnakeTrap_SnakeVanillaToken,\r\n\tCardIds.ImprovedSnakeTrap_SnakeToken,\r\n\tCardIds.ElementEarth_StoneElementalToken,\r\n\tCardIds.BabyKrush_DevilsaurToken,\r\n\tCardIds.Devilsaur,\r\n\t// To remove once the cards list is properly updated\r\n\tCardIds.FriendOfAFriend_BG22_404,\r\n\tCardIds.FriendOfAFriend_BG22_404_G,\r\n\tCardIds.Onyxia_OnyxianWhelpToken,\r\n\tCardIds.MurlocWarleaderCore,\r\n\tCardIds.MurlocWarleaderVanilla,\r\n\t// 23.4, probably not needed since they are already tokens\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt2,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt3,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt4,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt5,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt6,\r\n\t// 24.0, same\r\n\tCardIds.EmperorCobraLegacy_BG_EX1_170,\r\n\tCardIds.EmperorCobraLegacy_BG_EX1_170_G,\r\n\tCardIds.EmperorCobraLegacy_EX1_170,\r\n\tCardIds.SnakeLegacyToken,\r\n\tCardIds.SnakeLegacy,\r\n\tCardIds.ElementEarth_StoneElementalToken,\r\n\tCardIds.BolvarFireblood_CORE_ICC_858,\r\n\tCardIds.BolvarFireblood_ICC_858,\r\n\t// 25.2\r\n\tCardIds.HandlessForsaken_HelpingHandToken_BG25_010t,\r\n\tCardIds.HandlessForsaken_HelpingHandToken_BG25_010_Gt,\r\n\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309_Gt,\r\n\tCardIds.MechaJaraxxus_RustedReggieToken,\r\n\tCardIds.MechaJaraxxus_MagtheridonPrimeToken,\r\n\tCardIds.MechaJaraxxus_BaltharakToken,\r\n\tCardIds.RustedReggie,\r\n\tCardIds.MagtheridonPrime,\r\n\tCardIds.Baltharak,\r\n\tCardIds.Shudderskull_TB_BaconShop_HP_022t_SKIN_C,\r\n\tCardIds.Shudderskull_TB_BaconShop_HP_022t_SKIN_C_G,\r\n\tCardIds.OzumatsTentacle_BG23_HERO_201pt_SKIN_A,\r\n\tCardIds.OzumatsTentacle_BG23_HERO_201pt_SKIN_A_G,\r\n\t// 26.2\r\n\tCardIds.Manasaber_CublingToken_BG26_800t,\r\n\tCardIds.Manasaber_CublingToken_BG26_800_Gt,\r\n\tCardIds.TentacleOfOctosariToken_BG26_803t,\r\n\tCardIds.TentacleOfOctosariToken_BG26_803_Gt,\r\n\t//27.2\r\n\tCardIds.OozelingGladiator_SlimyShieldToken_BG27_002t,\r\n\t// CardIds.SurfNSurf_CrabMountToken_BG27_004t,\r\n\t// CardIds.SurfNSurf_CrabMountToken_BG27_004_Gt,\r\n\t// CardIds.SurfNSurf_CrabToken_BG27_004t2,\r\n\t// CardIds.SurfNSurf_CrabToken_BG27_004_Gt2,\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008_Gt,\r\n\tCardIds.MechanizedGiftHorse_MechaponyToken_BG27_008t2,\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008_Gt,\r\n\tCardIds.MechanizedGiftHorse_MechaponyToken_BG27_008_Gt2,\r\n\tCardIds.TavernTier2,\r\n\tCardIds.TavernTier3,\r\n\tCardIds.TavernTier4,\r\n\tCardIds.TavernTier5,\r\n\tCardIds.TavernTier6,\r\n\tCardIds.TavernTier7_TB_BaconShopTechUp07_Button,\r\n\tCardIds.TombPillager_WON_340,\r\n\t// 27.2.2\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008t,\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008_Gt,\r\n\t// 28.6\r\n\tCardIds.StableAmalgamation_TotallyNormalHorseToken_BG28_Reward_518t,\r\n\tCardIds.TotallyNormalHorse_BG28_Reward_518t_G,\r\n\tCardIds.BoonOfBeetles_BeetleToken_BG28_603t,\r\n\tCardIds.Beetle_BG28_603t_G,\r\n\tCardIds.ToxicTumbleweed_TumblingAssassinToken_BG28_641t,\r\n\tCardIds.TumblingAssassin_BG28_641t_G,\r\n\t// 29.2\r\n\tCardIds.SilverGoose_SilverFledglingToken_BG29_801t,\r\n\tCardIds.SilverGoose_SilverFledglingToken_BG29_801_Gt,\r\n\tCardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\tCardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875t,\r\n\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875_Gt,\r\n];\r\n\r\nexport const NON_DISCOVERABLE_BUDDIES = [\r\n\tCardIds.SpiritRaptor_BG22_HERO_001_Buddy,\r\n\tCardIds.RagingContender_TB_BaconShop_HERO_67_Buddy,\r\n\tCardIds.CaptainFairmount_BG21_HERO_000_Buddy,\r\n\tCardIds.FlightTrainer_BG20_HERO_283_Buddy,\r\n\tCardIds.JandicesApprentice_TB_BaconShop_HERO_71_Buddy,\r\n\tCardIds.CrimsonHandCenturion_TB_BaconShop_HERO_60_Buddy,\r\n\tCardIds.CrazyMonkey_TB_BaconShop_HERO_38_Buddy,\r\n\tCardIds.ShadowWarden_TB_BaconShop_HERO_62_Buddy,\r\n\tCardIds.NexusLord_TB_BaconShop_HERO_58_Buddy,\r\n\tCardIds.LeiFlamepaw_BG20_HERO_202_Buddy,\r\n\tCardIds.Watfin_BG23_HERO_303_Buddy,\r\n\tCardIds.NightmareEctoplasm_BG20_HERO_301_Buddy,\r\n\tCardIds.ManyWhelps_BG22_HERO_305_Buddy,\r\n\tCardIds.Tamuzo_BG23_HERO_201_Buddy,\r\n\tCardIds.MaxwellMightySteed_TB_BaconShop_HERO_40_Buddy,\r\n\tCardIds.Crabby_BG22_HERO_000_Buddy,\r\n\tCardIds.Mishmash_TB_BaconShop_HERO_33_Buddy,\r\n\tCardIds.PigeonLord_TB_BaconShop_HERO_12_Buddy,\r\n\tCardIds.VardensAquarrior_BG22_HERO_004_Buddy,\r\n\tCardIds.AcolyteOfYoggSaron_TB_BaconShop_HERO_35_Buddy,\r\n\tCardIds.SubmersibleChef_BG22_HERO_201_Buddy,\r\n];\r\n\r\nexport const BUDDIES_TRIBE_REQUIREMENTS = [\r\n\t{\r\n\t\tbuddy: CardIds.Vaelastrasz_TB_BaconShop_HERO_56_Buddy,\r\n\t\ttribe: Race.DRAGON,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.DeathsHeadSage_BG20_HERO_103_Buddy,\r\n\t\ttribe: Race.QUILBOAR,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.SparkfinSoothsayer_TB_BaconShop_HERO_55_Buddy,\r\n\t\ttribe: Race.MURLOC,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.SubScrubber_BG22_HERO_200_Buddy,\r\n\t\ttribe: Race.MECH,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.CoilfangElite_BG23_HERO_304_Buddy,\r\n\t\ttribe: Race.NAGA,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy,\r\n\t\ttribe: Race.DEMON,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy,\r\n\t\ttribe: Race.MECH,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.TuskarrRaider_TB_BaconShop_HERO_18_Buddy,\r\n\t\ttribe: Race.PIRATE,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.Festergut_BG25_HERO_100_Buddy,\r\n\t\ttribe: Race.UNDEAD,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.ImperialDefender_BG22_HERO_007_Buddy,\r\n\t\ttribe: Race.NAGA,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy,\r\n\t\ttribe: Race.DRAGON,\r\n\t},\r\n];\r\n\r\nexport const defaultStartingHp = (\r\n\tgameType: GameType,\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): number => {\r\n\tif (isBattlegrounds(gameType)) {\r\n\t\tconst normalized = normalizeHeroCardId(heroCardId, allCards);\r\n\t\treturn allCards.getCard(normalized).health || 30;\r\n\t}\r\n\treturn 30;\r\n};\r\n\r\nexport const isBattlegrounds = (gameType: GameType): boolean => {\r\n\treturn [\r\n\t\tGameType.GT_BATTLEGROUNDS,\r\n\t\tGameType.GT_BATTLEGROUNDS_FRIENDLY,\r\n\t\tGameType.GT_BATTLEGROUNDS_AI_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_PLAYER_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_FRIENDLY,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_AI_VS_AI,\r\n\t].includes(gameType as GameType);\r\n};\r\n\r\nexport const isBattlegroundsDuo = (gameType: GameType): boolean => {\r\n\treturn [\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_FRIENDLY,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_AI_VS_AI,\r\n\t].includes(gameType as GameType);\r\n};\r\n\r\nexport const normalizeHeroCardId = (\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): string => {\r\n\tif (!heroCardId) {\r\n\t\treturn heroCardId;\r\n\t}\r\n\r\n\tconst normalizedAfterSkin = normalizeHeroCardIdAfterSkin(heroCardId, allCards);\r\n\tswitch (normalizedAfterSkin) {\r\n\t\tcase 'TB_BaconShop_HERO_59t':\r\n\t\t\treturn 'TB_BaconShop_HERO_59';\r\n\t\tcase CardIds.QueenAzshara_NagaQueenAzsharaToken:\r\n\t\t\treturn CardIds.QueenAzshara_BG22_HERO_007;\r\n\t\tdefault:\r\n\t\t\treturn normalizedAfterSkin;\r\n\t}\r\n};\r\n\r\nconst normalizeHeroCardIdAfterSkin = (\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): string => {\r\n\tconst heroCard = allCards.getCard(heroCardId);\r\n\tif (!!heroCard?.battlegroundsHeroParentDbfId) {\r\n\t\tconst parentCard = allCards.getCard(heroCard.battlegroundsHeroParentDbfId);\r\n\t\tif (!!parentCard) {\r\n\t\t\treturn parentCard.id;\r\n\t\t}\r\n\t}\r\n\t// Fallback to regex\r\n\tconst bgHeroSkinMatch = heroCardId.match(/(.*)_SKIN_.*/);\r\n\tif (bgHeroSkinMatch) {\r\n\t\treturn bgHeroSkinMatch[1];\r\n\t}\r\n\treturn heroCardId;\r\n};\r\n\r\n// Used to make the mapping between premium / normal minions\r\nexport const normalizeMinionCardId = (\r\n\tcardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n) => {\r\n\tconst refCard = allCards.getCard(cardId);\r\n\tif (refCard?.battlegroundsNormalDbfId) {\r\n\t\tconst normalCard = allCards.getCard(refCard.battlegroundsNormalDbfId);\r\n\t\treturn normalCard?.id;\r\n\t}\r\n\treturn cardId;\r\n};\r\n\r\nexport const getTribeName = (tribe: Race | GameTag, i18n: { translateString: (input: string) => string }): string => {\r\n\tconst tribeString = Race[tribe] ?? GameTag[tribe];\r\n\treturn i18n.translateString(`app.battlegrounds.tribes.${tribeString?.toLowerCase()}`);\r\n};\r\n\r\nexport const getTribeIcon = (tribe: string | Race | GameTag): string => {\r\n\tconst referenceCardId = getReferenceTribeCardId(tribe);\r\n\treturn `https://static.zerotoheroes.com/hearthstone/cardart/256x/${referenceCardId}.jpg`;\r\n};\r\n\r\nexport const getReferenceTribeCardId = (tribe: string | Race | GameTag): string => {\r\n\tlet referenceCardId: string;\r\n\ttribe = (tribe as string)?.padStart ? (tribe as string).toLowerCase() : tribe;\r\n\tswitch (tribe) {\r\n\t\tcase 'mech':\r\n\t\tcase Race.MECH:\r\n\t\t\treferenceCardId = CardIds.DeflectOBot_BGS_071;\r\n\t\t\tbreak;\r\n\t\tcase 'beast':\r\n\t\tcase Race.BEAST:\r\n\t\t\treferenceCardId = CardIds.GoldrinnTheGreatWolf_BGS_018;\r\n\t\t\tbreak;\r\n\t\tcase 'demon':\r\n\t\tcase Race.DEMON:\r\n\t\t\treferenceCardId = CardIds.ImpulsiveTrickster_BG21_006;\r\n\t\t\tbreak;\r\n\t\tcase 'dragon':\r\n\t\tcase Race.DRAGON:\r\n\t\t\treferenceCardId = CardIds.PersistentPoet_BG29_813;\r\n\t\t\tbreak;\r\n\t\tcase 'murloc':\r\n\t\tcase Race.MURLOC:\r\n\t\t\treferenceCardId = CardIds.PrimalfinLookout_BGS_020;\r\n\t\t\tbreak;\r\n\t\tcase 'pirate':\r\n\t\tcase Race.PIRATE:\r\n\t\t\treferenceCardId = CardIds.SouthseaBusker_BG26_135;\r\n\t\t\tbreak;\r\n\t\tcase 'elemental':\r\n\t\tcase Race.ELEMENTAL:\r\n\t\t\treferenceCardId = CardIds.Sellemental_BGS_115;\r\n\t\t\tbreak;\r\n\t\tcase 'naga':\r\n\t\tcase Race.NAGA:\r\n\t\t\treferenceCardId = CardIds.ShellCollector_BG23_002;\r\n\t\t\tbreak;\r\n\t\tcase 'quilboar':\r\n\t\tcase Race.QUILBOAR:\r\n\t\t\treferenceCardId = CardIds.SunBaconRelaxer_BG20_301;\r\n\t\t\tbreak;\r\n\t\tcase 'undead':\r\n\t\tcase Race.UNDEAD:\r\n\t\t\treferenceCardId = CardIds.RisenRider_BG25_001;\r\n\t\t\tbreak;\r\n\t\tcase 'all':\r\n\t\tcase Race.ALL:\r\n\t\t\treferenceCardId = CardIds.AmalgamOfTheDeep_BG_TSC_069;\r\n\t\t\tbreak;\r\n\t\tcase GameTag.PROTOSS:\r\n\t\t\treferenceCardId = CardIds.WarpGate_MothershipToken_BG31_HERO_802pt7;\r\n\t\t\tbreak;\r\n\t\tcase GameTag.ZERG:\r\n\t\t\treferenceCardId = CardIds.KerriganQueenOfBlades_LarvaToken_BG31_HERO_811t;\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\treferenceCardId = CardIds.PatientScout_BG24_715;\r\n\t\t\tbreak;\r\n\t}\r\n\treturn referenceCardId;\r\n};\r\n\r\nexport const getHeroPower = (\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): string => {\r\n\tconst normalized = normalizeHeroCardId(heroCardId, allCards);\r\n\tswitch (normalized) {\r\n\t\tcase 'TB_BaconShop_HERO_01':\r\n\t\t\treturn 'TB_BaconShop_HP_001';\r\n\t\tcase 'TB_BaconShop_HERO_02':\r\n\t\t\treturn 'TB_BaconShop_HP_011';\r\n\t\tcase 'TB_BaconShop_HERO_08':\r\n\t\t\treturn 'TB_BaconShop_HP_069';\r\n\t\tcase CardIds.RagnarosTheFirelord_TB_BaconShop_HERO_11:\r\n\t\t\treturn CardIds.DieInsects_TB_BaconShop_HP_087;\r\n\t\tcase 'TB_BaconShop_HERO_12':\r\n\t\t\treturn 'TB_BaconShop_HP_041';\r\n\t\tcase CardIds.QueenWagtoggle_TB_BaconShop_HERO_14:\r\n\t\t\treturn CardIds.WaxWarband;\r\n\t\tcase 'TB_BaconShop_HERO_15':\r\n\t\t\treturn 'TB_BaconShop_HP_010';\r\n\t\tcase 'TB_BaconShop_HERO_16':\r\n\t\t\treturn 'TB_BaconShop_HP_044';\r\n\t\tcase 'TB_BaconShop_HERO_17':\r\n\t\t\treturn 'TB_BaconShop_HP_015';\r\n\t\tcase 'TB_BaconShop_HERO_18':\r\n\t\t\treturn 'TB_BaconShop_HP_072';\r\n\t\tcase 'TB_BaconShop_HERO_20':\r\n\t\t\treturn 'TB_BaconShop_HP_018';\r\n\t\tcase 'TB_BaconShop_HERO_21':\r\n\t\t\treturn 'TB_BaconShop_HP_020';\r\n\t\tcase 'TB_BaconShop_HERO_22':\r\n\t\t\treturn 'TB_BaconShop_HP_024';\r\n\t\tcase CardIds.Shudderwock_TB_BaconShop_HERO_23:\r\n\t\t\treturn CardIds.SnickerSnack;\r\n\t\tcase 'TB_BaconShop_HERO_25':\r\n\t\t\treturn 'TB_BaconShop_HP_049';\r\n\t\tcase 'TB_BaconShop_HERO_27':\r\n\t\t\treturn 'TB_BaconShop_HP_014';\r\n\t\tcase 'TB_BaconShop_HERO_28':\r\n\t\t\treturn 'TB_BaconShop_HP_028';\r\n\t\tcase 'TB_BaconShop_HERO_30':\r\n\t\t\treturn 'TB_BaconShop_HP_043';\r\n\t\tcase 'TB_BaconShop_HERO_31':\r\n\t\t\treturn 'TB_BaconShop_HP_009';\r\n\t\tcase 'TB_BaconShop_HERO_33':\r\n\t\t\treturn 'TB_BaconShop_HP_033';\r\n\t\tcase 'TB_BaconShop_HERO_34':\r\n\t\t\treturn 'TB_BaconShop_HP_035';\r\n\t\tcase 'TB_BaconShop_HERO_35':\r\n\t\t\treturn CardIds.PuzzleBox_PuzzleBoxToken_TB_BaconShop_HP_039t;\r\n\t\tcase 'TB_BaconShop_HERO_36':\r\n\t\t\treturn 'TB_BaconShop_HP_042';\r\n\t\tcase 'TB_BaconShop_HERO_37':\r\n\t\t\treturn 'TB_BaconShop_HP_036';\r\n\t\tcase 'TB_BaconShop_HERO_38':\r\n\t\t\treturn 'TB_BaconShop_HP_038';\r\n\t\tcase 'TB_BaconShop_HERO_39':\r\n\t\t\treturn 'TB_BaconShop_HP_040';\r\n\t\tcase 'TB_BaconShop_HERO_40':\r\n\t\t\treturn 'TB_BaconShop_HP_057';\r\n\t\tcase 'TB_BaconShop_HERO_41':\r\n\t\t\treturn 'TB_BaconShop_HP_046';\r\n\t\tcase 'TB_BaconShop_HERO_42':\r\n\t\t\treturn 'TB_BaconShop_HP_047';\r\n\t\tcase 'TB_BaconShop_HERO_43':\r\n\t\t\treturn 'TB_BaconShop_HP_048';\r\n\t\t// case 'TB_BaconShop_HERO_44':\r\n\t\t// \treturn 'TB_BaconShop_HP_050';\r\n\t\tcase 'TB_BaconShop_HERO_45':\r\n\t\t\treturn 'TB_BaconShop_HP_053';\r\n\t\tcase 'TB_BaconShop_HERO_47':\r\n\t\t\treturn 'TB_BaconShop_HP_051';\r\n\t\tcase 'TB_BaconShop_HERO_49':\r\n\t\t\treturn 'TB_BaconShop_HP_054';\r\n\t\tcase 'TB_BaconShop_HERO_50':\r\n\t\t\treturn 'TB_BaconShop_HP_077';\r\n\t\tcase 'TB_BaconShop_HERO_52':\r\n\t\t\treturn 'TB_BaconShop_HP_061';\r\n\t\tcase 'TB_BaconShop_HERO_53':\r\n\t\t\treturn 'TB_BaconShop_HP_062';\r\n\t\tcase 'TB_BaconShop_HERO_55':\r\n\t\t\treturn 'TB_BaconShop_HP_056';\r\n\t\tcase 'TB_BaconShop_HERO_56':\r\n\t\t\treturn 'TB_BaconShop_HP_064';\r\n\t\tcase 'TB_BaconShop_HERO_57':\r\n\t\t\treturn 'TB_BaconShop_HP_063';\r\n\t\tcase 'TB_BaconShop_HERO_58':\r\n\t\t\treturn 'TB_BaconShop_HP_052';\r\n\t\tcase 'TB_BaconShop_HERO_59t':\r\n\t\t\treturn 'TB_BaconShop_HP_065t2';\r\n\t\tcase 'TB_BaconShop_HERO_59':\r\n\t\t\treturn 'TB_BaconShop_HP_065';\r\n\t\tcase 'TB_BaconShop_HERO_60':\r\n\t\t\treturn 'TB_BaconShop_HP_066';\r\n\t\tcase 'TB_BaconShop_HERO_61':\r\n\t\t\treturn 'TB_BaconShop_HP_067';\r\n\t\tcase 'TB_BaconShop_HERO_62':\r\n\t\t\treturn 'TB_BaconShop_HP_068';\r\n\t\tcase 'TB_BaconShop_HERO_64':\r\n\t\t\treturn 'TB_BaconShop_HP_074';\r\n\t\tcase CardIds.CaptainHooktusk_TB_BaconShop_HERO_67:\r\n\t\t\treturn CardIds.TrashForTreasure;\r\n\t\tcase 'TB_BaconShop_HERO_68':\r\n\t\t\treturn 'TB_BaconShop_HP_076';\r\n\t\tcase 'TB_BaconShop_HERO_70':\r\n\t\t\treturn 'TB_BaconShop_HP_080';\r\n\t\tcase 'TB_BaconShop_HERO_71':\r\n\t\t\treturn 'TB_BaconShop_HP_084';\r\n\t\tcase 'TB_BaconShop_HERO_72':\r\n\t\t\treturn 'TB_BaconShop_HP_081';\r\n\t\tcase 'TB_BaconShop_HERO_74':\r\n\t\t\treturn 'TB_BaconShop_HP_082';\r\n\t\tcase CardIds.Chenvaala_TB_BaconShop_HERO_78:\r\n\t\t\treturn CardIds.Avalanche_TB_BaconShop_HP_088;\r\n\t\tcase CardIds.Rakanishu_TB_BaconShop_HERO_75:\r\n\t\t\treturn CardIds.TavernLighting;\r\n\t\tcase CardIds.Alakir:\r\n\t\t\treturn CardIds.SwattingInsects;\r\n\t\tcase CardIds.ZephrysTheGreat_TB_BaconShop_HERO_91:\r\n\t\t\treturn CardIds.ThreeWishes;\r\n\t\tcase CardIds.SilasDarkmoon_TB_BaconShop_HERO_90:\r\n\t\t\treturn CardIds.ComeOneComeAll;\r\n\t\tcase CardIds.Cthun_TB_BaconShop_HERO_29:\r\n\t\t\treturn CardIds.SaturdayCthuns;\r\n\t\tcase CardIds.Nzoth:\r\n\t\t\treturn CardIds.AvatarOfNzoth;\r\n\t\tcase CardIds.Yshaarj:\r\n\t\t\treturn CardIds.EmbraceYourRage;\r\n\t\tcase CardIds.Tickatus_TB_BaconShop_HERO_94:\r\n\t\t\treturn CardIds.PrizeWall;\r\n\t\tcase CardIds.Greybough_TB_BaconShop_HERO_95:\r\n\t\t\treturn CardIds.SproutItOut;\r\n\t\tcase CardIds.OverlordSaurfang_BG20_HERO_102:\r\n\t\t\treturn CardIds.OverlordSaurfang_ForTheHorde;\r\n\t\tcase CardIds.DeathSpeakerBlackthorn_BG20_HERO_103:\r\n\t\t\treturn CardIds.DeathSpeakerBlackthorn_Bloodbound;\r\n\t\tcase CardIds.Voljin_BG20_HERO_201:\r\n\t\t\treturn CardIds.Voljin_SpiritSwap_BG20_HERO_201p;\r\n\t\tcase CardIds.Xyrella_BG20_HERO_101:\r\n\t\t\treturn CardIds.Xyrella_SeeTheLight;\r\n\t\tcase CardIds.MutanusTheDevourer_BG20_HERO_301:\r\n\t\t\treturn CardIds.MutanusTheDevourer_Devour;\r\n\t\tcase CardIds.GuffRunetotem_BG20_HERO_242:\r\n\t\t\treturn CardIds.GuffRunetotem_NaturalBalance;\r\n\t\tcase CardIds.KurtrusAshfallen_BG20_HERO_280:\r\n\t\t\treturn CardIds.KurtrusAshfallen_GlaiveRicochet;\r\n\t\tcase CardIds.Galewing:\r\n\t\t\treturn CardIds.Galewing_DungarsGryphon;\r\n\t\tcase CardIds.TradePrinceGallywix_TB_BaconShop_HERO_10:\r\n\t\t\treturn CardIds.SmartSavings;\r\n\t\tcase CardIds.MasterNguyen:\r\n\t\t\treturn CardIds.MasterNguyen_PowerOfTheStorm;\r\n\t\tcase CardIds.CarielRoame_BG21_HERO_000:\r\n\t\t\treturn CardIds.CarielRoame_Conviction;\r\n\t\tcase CardIds.Sneed_BG21_HERO_030:\r\n\t\t\treturn CardIds.Sneed_SneedsReplicator;\r\n\t\tcase CardIds.CookieTheCook_BG21_HERO_020:\r\n\t\t\treturn CardIds.CookieTheCook_StirThePot;\r\n\t\tcase CardIds.TamsinRoame_BG20_HERO_282:\r\n\t\t\treturn CardIds.TamsinRoame_FragrantPhylactery;\r\n\t\tcase CardIds.ScabbsCutterbutter_BG21_HERO_010:\r\n\t\t\treturn CardIds.ScabbsCutterbutter_ISpy;\r\n\t\tcase CardIds.Brukan_BG22_HERO_001:\r\n\t\t\treturn CardIds.Brukan_EmbraceTheElements;\r\n\t\tcase CardIds.Drekthar_BG22_HERO_002:\r\n\t\t\treturn CardIds.Drekthar_LeadTheFrostwolves;\r\n\t\tcase CardIds.VanndarStormpike_BG22_HERO_003:\r\n\t\t\treturn CardIds.VanndarStormpike_LeadTheStormpikes;\r\n\t\tcase CardIds.TavishStormpike_BG22_HERO_000:\r\n\t\t\treturn CardIds.TavishStormpike_Deadeye;\r\n\t\tcase CardIds.VardenDawngrasp_BG22_HERO_004:\r\n\t\t\treturn CardIds.VardenDawngrasp_TwiceAsNice;\r\n\t\tcase CardIds.Rokara_BG20_HERO_100:\r\n\t\t\treturn CardIds.Rokara_GloryOfCombat;\r\n\t\tcase CardIds.Onyxia_BG22_HERO_305:\r\n\t\t\treturn CardIds.Onyxia_Broodmother;\r\n\t\tcase CardIds.AmbassadorFaelin_BG22_HERO_201:\r\n\t\t\treturn CardIds.AmbassadorFaelin_ExpeditionPlans;\r\n\t\tcase CardIds.IniStormcoil_BG22_HERO_200:\r\n\t\t\treturn CardIds.IniStormcoil_Mechgyver;\r\n\t\tcase CardIds.QueenAzshara_BG22_HERO_007:\r\n\t\t\treturn CardIds.QueenAzshara_AzsharasAmbition;\r\n\t\tcase CardIds.QueenAzshara_NagaQueenAzsharaToken:\r\n\t\t\treturn CardIds.QueenAzshara_NagaConquest;\r\n\t\tcase CardIds.Ozumat_BG23_HERO_201:\r\n\t\t\treturn CardIds.Ozumat_Tentacular;\r\n\t\tcase CardIds.LadyVashj_BG23_HERO_304:\r\n\t\t\treturn CardIds.LadyVashj_RelicsOfTheDeep;\r\n\t\tcase CardIds.HeistbaronTogwaggle_BG23_HERO_305:\r\n\t\t\treturn CardIds.HeistbaronTogwaggle_ThePerfectCrime;\r\n\t\tcase CardIds.MurlocHolmes_BG23_HERO_303:\r\n\t\t\treturn CardIds.MurlocHolmes_DetectiveForHire;\r\n\t\tcase CardIds.SireDenathrius_BG24_HERO_100:\r\n\t\t\treturn CardIds.SireDenathrius_Whodunitquestion;\r\n\t\tcase CardIds.SylvanasWindrunner_BG23_HERO_306:\r\n\t\t\treturn CardIds.SylvanasWindrunner_ReclaimedSouls;\r\n\t\tcase CardIds.TheJailer_TB_BaconShop_HERO_702:\r\n\t\t\treturn CardIds.RunicEmpowerment;\r\n\t\tcase CardIds.EnhanceOMechano_BG24_HERO_204:\r\n\t\t\treturn CardIds.EnhanceOMechano_Enhancification;\r\n\t\tcase CardIds.ProfessorPutricide_BG25_HERO_100:\r\n\t\t\treturn CardIds.ProfessorPutricide_BuildAnUndead;\r\n\t\tcase CardIds.TeronGorefiend_BG25_HERO_103:\r\n\t\t\treturn CardIds.TeronGorefiend_RapidReanimation;\r\n\t\tcase CardIds.ETCBandManager_BG25_HERO_105:\r\n\t\t\treturn CardIds.ETCBandManager_SignANewArtist;\r\n\t\tcase CardIds.RockMasterVoone_BG26_HERO_104:\r\n\t\t\treturn CardIds.RockMasterVoone_UpbeatHarmony;\r\n\t\tcase CardIds.IngeTheIronHymn:\r\n\t\t\treturn CardIds.IngeTheIronHymn_MajorHymn;\r\n\t\tcase CardIds.CapnHoggarr_BG26_HERO_101:\r\n\t\t\treturn CardIds.CapnHoggarr_ImTheCapnNow;\r\n\t\t// case CardIds.Diablo:\r\n\t\t// \treturn CardIds.Diablo_RealmOfTerror;\r\n\t\tcase CardIds.ThorimStormlord_BG27_HERO_801:\r\n\t\t\treturn CardIds.ThorimStormlord_ChooseYourChampion_BG27_HERO_801p2;\r\n\t\tcase CardIds.SnakeEyes_BG28_HERO_400:\r\n\t\t\treturn CardIds.SnakeEyes_LuckyRoll_BG28_HERO_400p;\r\n\t\tcase CardIds.TaethelanBloodwatcher_BG28_HERO_800:\r\n\t\t\treturn CardIds.TaethelanBloodwatcher_ReliquaryResearch_BG28_HERO_800p;\r\n\t\tcase CardIds.DoctorHollidae_BG28_HERO_801:\r\n\t\t\treturn CardIds.DoctorHollidae_BlessingOfTheNineFrogs_BG28_HERO_801p;\r\n\t\tcase CardIds.Cho_BGDUO_HERO_222:\r\n\t\t\treturn CardIds.Cho_DoubleTrouble_BGDUO_HERO_222p;\r\n\t\tcase CardIds.Gall_BGDUO_HERO_223:\r\n\t\t\treturn CardIds.Gall_DoubleTrouble_BGDUO_HERO_223p;\r\n\t\tcase CardIds.TheNamelessOne_BGDUO_HERO_100:\r\n\t\t\treturn CardIds.TheNamelessOne_X_BGDUO_HERO_100p;\r\n\t\tcase CardIds.FlobbidinousFloop_BGDUO_HERO_101:\r\n\t\t\treturn CardIds.FlobbidinousFloop_GloriousGloop_BGDUO_HERO_101p;\r\n\t\tcase CardIds.MadamGoya_BGDUO_HERO_104:\r\n\t\t\treturn CardIds.MadamGoya_EfficientExchange_BGDUO_HERO_104p;\r\n\t\tcase CardIds.MarinTheManager_BG30_HERO_304:\r\n\t\t\treturn CardIds.MarinTheManager_FantasticTreasure_BG30_HERO_304p;\r\n\t\tcase CardIds.FarseerNobundo_BG31_HERO_003:\r\n\t\t\treturn CardIds.FarseerNobundo_TheGalaxysLens_BG31_HERO_003p;\r\n\t\tcase CardIds.ExarchOthaar_BG31_HERO_006:\r\n\t\t\treturn CardIds.ExarchOthaar_ArcaneKnowledge_BG31_HERO_006p;\r\n\t\tcase CardIds.ZerekMasterCloner_BG31_HERO_005:\r\n\t\t\treturn CardIds.ZerekMasterCloner_CloningGallery_BG31_HERO_005p;\r\n\t\tcase CardIds.JimRaynor_BG31_HERO_801:\r\n\t\t\treturn CardIds.JimRaynor_LiftOff_BG31_HERO_801p;\r\n\t\tcase CardIds.Artanis_BG31_HERO_802:\r\n\t\t\treturn CardIds.Artanis_WarpGate_BG31_HERO_802p;\r\n\t\tcase CardIds.KerriganQueenOfBlades_BG31_HERO_811:\r\n\t\t\treturn CardIds.KerriganQueenOfBlades_SpawningPool_BG31_HERO_811p;\r\n\t\tcase CardIds.Buttons_BG32_HERO_002:\r\n\t\t\treturn CardIds.Buttons_GrowingCollection_BG32_HERO_002p;\r\n\t\tcase CardIds.ForestLordCenarius_BG32_HERO_001:\r\n\t\t\treturn CardIds.ForestLordCenarius_WisdomOfAncients_BG32_HERO_001p;\r\n\t\tcase CardIds.LohTheLivingLegend_BG33_HERO_001:\r\n\t\t\treturn CardIds.LohTheLivingLegend_HeroicInspiration_BG33_HERO_001p;\r\n\t\t\tcase CardIds.MurozondUnbounded_BG34_HERO_000:\r\n\t\t\t\treturn CardIds.MurozondUnbounded_AlternateTimeline_BG34_HERO_000p\r\n\t\t\t\tcase CardIds.TimeTwisterChromie_BG34_HERO_001:\r\n\t\t\t\t\treturn CardIds.TimeTwisterChromie_ManaPerMinute_BG34_HERO_001p\r\n\r\n\t\tcase '':\r\n\t\t\treturn null; // new heroes\r\n\t}\r\n};\r\n\r\nexport const getBuddy = (heroCardId: CardIds, allCards: AllCardsService): CardIds | null => {\r\n\tswitch (normalizeHeroCardId(heroCardId, allCards)) {\r\n\t\tcase CardIds.AFKay_TB_BaconShop_HERO_16:\r\n\t\t\treturn CardIds.SnackVendor_TB_BaconShop_HERO_16_Buddy;\r\n\t\tcase CardIds.Alakir:\r\n\t\t\treturn CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy;\r\n\t\tcase CardIds.Alexstrasza_TB_BaconShop_HERO_56:\r\n\t\t\treturn CardIds.Vaelastrasz_TB_BaconShop_HERO_56_Buddy;\r\n\t\tcase CardIds.ArannaStarseeker_ArannaUnleashedToken:\r\n\t\tcase CardIds.ArannaStarseeker_TB_BaconShop_HERO_59:\r\n\t\t\treturn CardIds.SklibbDemonHunter_TB_BaconShop_HERO_59_Buddy;\r\n\t\tcase CardIds.ArchVillainRafaam_TB_BaconShop_HERO_45:\r\n\t\t\treturn CardIds.LoyalHenchman_TB_BaconShop_HERO_45_Buddy;\r\n\t\tcase CardIds.Brukan_BG22_HERO_001:\r\n\t\t\treturn CardIds.SpiritRaptor_BG22_HERO_001_Buddy;\r\n\t\tcase CardIds.CaptainEudora_TB_BaconShop_HERO_64:\r\n\t\t\treturn CardIds.DagwikStickytoe_TB_BaconShop_HERO_64_Buddy;\r\n\t\tcase CardIds.CaptainHooktusk_TB_BaconShop_HERO_67:\r\n\t\t\treturn CardIds.RagingContender_TB_BaconShop_HERO_67_Buddy;\r\n\t\tcase CardIds.CarielRoame_BG21_HERO_000:\r\n\t\t\treturn CardIds.CaptainFairmount_BG21_HERO_000_Buddy;\r\n\t\tcase CardIds.Chenvaala_TB_BaconShop_HERO_78:\r\n\t\t\treturn CardIds.SnowElemental_TB_BaconShop_HERO_78_Buddy;\r\n\t\tcase CardIds.CookieTheCook_BG21_HERO_020:\r\n\t\t\treturn CardIds.SousChef_BG21_HERO_020_Buddy;\r\n\t\tcase CardIds.Cthun_TB_BaconShop_HERO_29:\r\n\t\t\treturn CardIds.TentacleOfCthun_TB_BaconShop_HERO_29_Buddy;\r\n\t\tcase CardIds.DancinDeryl:\r\n\t\t\treturn CardIds.AsherTheHaberdasher_TB_BaconShop_HERO_36_Buddy;\r\n\t\tcase CardIds.DeathSpeakerBlackthorn_BG20_HERO_103:\r\n\t\t\treturn CardIds.DeathsHeadSage_BG20_HERO_103_Buddy;\r\n\t\tcase CardIds.Deathwing_TB_BaconShop_HERO_52:\r\n\t\t\treturn CardIds.LadySinestra_TB_BaconShop_HERO_52_Buddy;\r\n\t\tcase CardIds.DinotamerBrann_TB_BaconShop_HERO_43:\r\n\t\t\treturn CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy;\r\n\t\tcase CardIds.Drekthar_BG22_HERO_002:\r\n\t\t\treturn CardIds.FrostwolfLieutenant_BG22_HERO_002_Buddy;\r\n\t\tcase CardIds.EdwinVancleef_TB_BaconShop_HERO_01:\r\n\t\t\treturn CardIds.Si7Scout_TB_BaconShop_HERO_01_Buddy;\r\n\t\tcase CardIds.EliseStarseeker_TB_BaconShop_HERO_42:\r\n\t\t\treturn CardIds.JrNavigator_TB_BaconShop_HERO_42_Buddy;\r\n\t\tcase CardIds.ForestWardenOmu_TB_BaconShop_HERO_74:\r\n\t\t\treturn CardIds.EvergreenBotani_TB_BaconShop_HERO_74_Buddy;\r\n\t\tcase CardIds.FungalmancerFlurgl:\r\n\t\t\treturn CardIds.SparkfinSoothsayer_TB_BaconShop_HERO_55_Buddy;\r\n\t\tcase CardIds.Galakrond:\r\n\t\t\treturn CardIds.ApostleOfGalakrond_TB_BaconShop_HERO_02_Buddy;\r\n\t\tcase CardIds.Galewing:\r\n\t\t\treturn CardIds.FlightTrainer_BG20_HERO_283_Buddy;\r\n\t\tcase CardIds.GeorgeTheFallen_TB_BaconShop_HERO_15:\r\n\t\t\treturn CardIds.KarlTheLost_TB_BaconShop_HERO_15_Buddy;\r\n\t\tcase CardIds.Greybough_TB_BaconShop_HERO_95:\r\n\t\t\treturn CardIds.WanderingTreant_TB_BaconShop_HERO_95_Buddy;\r\n\t\tcase CardIds.GuffRunetotem_BG20_HERO_242:\r\n\t\t\treturn CardIds.BabyKodo_BG20_HERO_242_Buddy;\r\n\t\tcase CardIds.IllidanStormrage_TB_BaconShop_HERO_08:\r\n\t\t\treturn CardIds.EclipsionIllidari_TB_BaconShop_HERO_08_Buddy;\r\n\t\tcase CardIds.InfiniteToki:\r\n\t\t\treturn CardIds.ClockworkAssistant_TB_BaconShop_HERO_28_Buddy;\r\n\t\tcase CardIds.JandiceBarov_TB_BaconShop_HERO_71:\r\n\t\t\treturn CardIds.JandicesApprentice_TB_BaconShop_HERO_71_Buddy;\r\n\t\tcase CardIds.KaelthasSunstrider_TB_BaconShop_HERO_60:\r\n\t\t\treturn CardIds.CrimsonHandCenturion_TB_BaconShop_HERO_60_Buddy;\r\n\t\tcase CardIds.KingMukla_TB_BaconShop_HERO_38:\r\n\t\t\treturn CardIds.CrazyMonkey_TB_BaconShop_HERO_38_Buddy;\r\n\t\tcase CardIds.KurtrusAshfallen_BG20_HERO_280:\r\n\t\t\treturn CardIds.LivingNightmare_BG20_HERO_280_Buddy;\r\n\t\tcase CardIds.LichBazhial:\r\n\t\t\treturn CardIds.UnearthedUnderling_TB_BaconShop_HERO_25_Buddy;\r\n\t\tcase CardIds.LordBarov_TB_BaconShop_HERO_72:\r\n\t\t\treturn CardIds.BarovsApprentice_TB_BaconShop_HERO_72_Buddy;\r\n\t\tcase CardIds.LordJaraxxus_TB_BaconShop_HERO_37:\r\n\t\t\treturn CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy;\r\n\t\tcase CardIds.MaievShadowsong_TB_BaconShop_HERO_62:\r\n\t\t\treturn CardIds.ShadowWarden_TB_BaconShop_HERO_62_Buddy;\r\n\t\tcase CardIds.Malygos:\r\n\t\t\treturn CardIds.NexusLord_TB_BaconShop_HERO_58_Buddy;\r\n\t\tcase CardIds.MasterNguyen:\r\n\t\t\treturn CardIds.LeiFlamepaw_BG20_HERO_202_Buddy;\r\n\t\tcase CardIds.MillhouseManastorm_TB_BaconShop_HERO_49:\r\n\t\t\treturn CardIds.MagnusManastorm_TB_BaconShop_HERO_49_Buddy;\r\n\t\tcase CardIds.MillificentManastorm:\r\n\t\t\treturn CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy;\r\n\t\tcase CardIds.MrBigglesworth_TB_BaconShop_HERO_70:\r\n\t\t\treturn CardIds.LilKT_TB_BaconShop_HERO_70_Buddy;\r\n\t\tcase CardIds.MutanusTheDevourer_BG20_HERO_301:\r\n\t\t\treturn CardIds.NightmareEctoplasm_BG20_HERO_301_Buddy;\r\n\t\tcase CardIds.Nozdormu_TB_BaconShop_HERO_57:\r\n\t\t\treturn CardIds.Chromie_TB_BaconShop_HERO_57_Buddy;\r\n\t\tcase CardIds.Nzoth:\r\n\t\t\treturn CardIds.BabyNzoth_TB_BaconShop_HERO_93_Buddy;\r\n\t\tcase CardIds.OverlordSaurfang_BG20_HERO_102:\r\n\t\t\treturn CardIds.DranoshSaurfang_BG20_HERO_102_Buddy;\r\n\t\tcase CardIds.PatchesThePirate_TB_BaconShop_HERO_18:\r\n\t\t\treturn CardIds.TuskarrRaider_TB_BaconShop_HERO_18_Buddy;\r\n\t\tcase CardIds.Patchwerk_TB_BaconShop_HERO_34:\r\n\t\t\treturn CardIds.Weebomination_TB_BaconShop_HERO_34_Buddy;\r\n\t\tcase CardIds.Pyramad:\r\n\t\t\treturn CardIds.TitanicGuardian_TB_BaconShop_HERO_39_Buddy;\r\n\t\tcase CardIds.QueenWagtoggle_TB_BaconShop_HERO_14:\r\n\t\t\treturn CardIds.ElderTaggawag_TB_BaconShop_HERO_14_Buddy;\r\n\t\tcase CardIds.RagnarosTheFirelord_TB_BaconShop_HERO_11:\r\n\t\t\treturn CardIds.Lucifron_TB_BaconShop_HERO_11_Buddy;\r\n\t\tcase CardIds.Rakanishu_TB_BaconShop_HERO_75:\r\n\t\t\treturn CardIds.LanternTender_TB_BaconShop_HERO_75_Buddy;\r\n\t\tcase CardIds.RenoJackson_TB_BaconShop_HERO_41:\r\n\t\t\treturn CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy;\r\n\t\tcase CardIds.ScabbsCutterbutter_BG21_HERO_010:\r\n\t\t\treturn CardIds.WardenThelwater_BG21_HERO_010_Buddy;\r\n\t\tcase CardIds.Shudderwock_TB_BaconShop_HERO_23:\r\n\t\t\treturn CardIds.Muckslinger_TB_BaconShop_HERO_23_Buddy;\r\n\t\tcase CardIds.SilasDarkmoon_TB_BaconShop_HERO_90:\r\n\t\t\treturn CardIds.Burth_TB_BaconShop_HERO_90_Buddy;\r\n\t\tcase CardIds.Sindragosa_TB_BaconShop_HERO_27:\r\n\t\t\treturn CardIds.ThawedChampion_TB_BaconShop_HERO_27_Buddy;\r\n\t\tcase CardIds.SirFinleyMrrgglton_TB_BaconShop_HERO_40:\r\n\t\t\treturn CardIds.MaxwellMightySteed_TB_BaconShop_HERO_40_Buddy;\r\n\t\tcase CardIds.SkycapnKragg_TB_BaconShop_HERO_68:\r\n\t\t\treturn CardIds.Sharkbait_TB_BaconShop_HERO_68_Buddy;\r\n\t\tcase CardIds.Sneed_BG21_HERO_030:\r\n\t\t\treturn CardIds.PilotedWhirlOTron_BG21_HERO_030_Buddy;\r\n\t\tcase CardIds.TamsinRoame_BG20_HERO_282:\r\n\t\t\treturn CardIds.Monstrosity_BG20_HERO_282_Buddy;\r\n\t\tcase CardIds.TavishStormpike_BG22_HERO_000:\r\n\t\t\treturn CardIds.Crabby_BG22_HERO_000_Buddy;\r\n\t\tcase CardIds.TessGreymane_TB_BaconShop_HERO_50:\r\n\t\t\treturn CardIds.HunterOfOld_TB_BaconShop_HERO_50_Buddy;\r\n\t\tcase CardIds.TheCurator_TB_BaconShop_HERO_33:\r\n\t\t\treturn CardIds.Mishmash_TB_BaconShop_HERO_33_Buddy;\r\n\t\tcase CardIds.TheGreatAkazamzarak:\r\n\t\t\treturn CardIds.StreetMagician_TB_BaconShop_HERO_21_Buddy;\r\n\t\tcase CardIds.TheLichKing_TB_BaconShop_HERO_22:\r\n\t\t\treturn CardIds.Arfus_TB_BaconShop_HERO_22_Buddy;\r\n\t\tcase CardIds.TheRatKing_TB_BaconShop_HERO_12:\r\n\t\t\treturn CardIds.PigeonLord_TB_BaconShop_HERO_12_Buddy;\r\n\t\tcase CardIds.Tickatus_TB_BaconShop_HERO_94:\r\n\t\t\treturn CardIds.TicketCollector_TB_BaconShop_HERO_94_Buddy;\r\n\t\tcase CardIds.TradePrinceGallywix_TB_BaconShop_HERO_10:\r\n\t\t\treturn CardIds.BilgewaterMogul_TB_BaconShop_HERO_10_Buddy;\r\n\t\tcase CardIds.VanndarStormpike_BG22_HERO_003:\r\n\t\t\treturn CardIds.StormpikeLieutenant_BG22_HERO_003_Buddy;\r\n\t\tcase CardIds.Voljin_BG20_HERO_201:\r\n\t\t\treturn CardIds.MasterGadrin_BG20_HERO_201_Buddy;\r\n\t\tcase CardIds.Xyrella_BG20_HERO_101:\r\n\t\t\treturn CardIds.BabyElekk_BG20_HERO_101_Buddy;\r\n\t\tcase CardIds.YoggSaronHopesEnd_TB_BaconShop_HERO_35:\r\n\t\t\treturn CardIds.AcolyteOfYoggSaron_TB_BaconShop_HERO_35_Buddy;\r\n\t\tcase CardIds.Ysera_TB_BaconShop_HERO_53:\r\n\t\t\treturn CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy;\r\n\t\tcase CardIds.Yshaarj:\r\n\t\t\treturn CardIds.BabyYshaarj_TB_BaconShop_HERO_92_Buddy;\r\n\t\tcase CardIds.ZephrysTheGreat_TB_BaconShop_HERO_91:\r\n\t\t\treturn CardIds.Phyresz_TB_BaconShop_HERO_91_Buddy;\r\n\t\tcase CardIds.VardenDawngrasp_BG22_HERO_004:\r\n\t\t\treturn CardIds.VardensAquarrior_BG22_HERO_004_Buddy;\r\n\t\tcase CardIds.Rokara_BG20_HERO_100:\r\n\t\t\treturn CardIds.IcesnarlTheMighty_BG20_HERO_100_Buddy;\r\n\t\tcase CardIds.Onyxia_BG22_HERO_305:\r\n\t\t\treturn CardIds.ManyWhelps_BG22_HERO_305_Buddy;\r\n\t\tcase CardIds.AmbassadorFaelin_BG22_HERO_201:\r\n\t\t\treturn CardIds.SubmersibleChef_BG22_HERO_201_Buddy;\r\n\t\tcase CardIds.IniStormcoil_BG22_HERO_200:\r\n\t\t\treturn CardIds.SubScrubber_BG22_HERO_200_Buddy;\r\n\t\tcase CardIds.QueenAzshara_BG22_HERO_007:\r\n\t\t\treturn CardIds.ImperialDefender_BG22_HERO_007_Buddy;\r\n\t\tcase CardIds.Ozumat_BG23_HERO_201:\r\n\t\t\treturn CardIds.Tamuzo_BG23_HERO_201_Buddy;\r\n\t\tcase CardIds.LadyVashj_BG23_HERO_304:\r\n\t\t\treturn CardIds.CoilfangElite_BG23_HERO_304_Buddy;\r\n\t\tcase CardIds.HeistbaronTogwaggle_BG23_HERO_305:\r\n\t\t\treturn CardIds.WaxadredTheDrippy_BG23_HERO_305_Buddy;\r\n\t\tcase CardIds.SireDenathrius_BG24_HERO_100:\r\n\t\t\treturn CardIds.ShadyAristocrat_BG24_HERO_100_Buddy;\r\n\t\tcase CardIds.SylvanasWindrunner_BG23_HERO_306:\r\n\t\t\treturn CardIds.NathanosBlightcaller_BG23_HERO_306_Buddy;\r\n\t\tcase CardIds.TheJailer_TB_BaconShop_HERO_702:\r\n\t\t\treturn CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy;\r\n\t\tcase CardIds.EnhanceOMechano_BG24_HERO_204:\r\n\t\t\treturn CardIds.EnhanceOMedico_BG24_HERO_204_Buddy;\r\n\t\tcase CardIds.ProfessorPutricide_BG25_HERO_100:\r\n\t\t\treturn CardIds.Festergut_BG25_HERO_100_Buddy;\r\n\t\tcase CardIds.TeronGorefiend_BG25_HERO_103:\r\n\t\t\treturn CardIds.ShadowyConstruct_BG25_HERO_103_Buddy;\r\n\t\tcase CardIds.MurlocHolmes_BG23_HERO_303:\r\n\t\t\treturn CardIds.Watfin_BG23_HERO_303_Buddy;\r\n\t\tcase CardIds.ETCBandManager_BG25_HERO_105:\r\n\t\t\treturn CardIds.TalentScout_BG25_HERO_105_Buddy;\r\n\t\tcase CardIds.CapnHoggarr_BG26_HERO_101:\r\n\t\t\treturn CardIds.ShiningSailor_BG26_HERO_101_Buddy;\r\n\t\tcase CardIds.IngeTheIronHymn:\r\n\t\t\treturn CardIds.SolemnSerenader_BG26_HERO_102_Buddy;\r\n\t\tcase CardIds.RockMasterVoone_BG26_HERO_104:\r\n\t\t\treturn CardIds.AkaliRockRhino_BG26_HERO_104_Buddy;\r\n\t\tcase CardIds.ThorimStormlord_BG27_HERO_801:\r\n\t\t\treturn CardIds.VeranusStormlordsMount_BG27_HERO_801_Buddy;\r\n\t\tcase CardIds.SnakeEyes_BG28_HERO_400:\r\n\t\t\treturn CardIds.BoxCars_BG28_HERO_400_Buddy;\r\n\t\tcase CardIds.DoctorHollidae_BG28_HERO_801:\r\n\t\t\treturn CardIds.TheNineFrogs_BG28_HERO_801_Buddy;\r\n\t\tcase CardIds.TaethelanBloodwatcher_BG28_HERO_800:\r\n\t\t\treturn CardIds.ReliquaryAttendant_BG28_HERO_800_Buddy;\r\n\t\tcase CardIds.TheNamelessOne_BGDUO_HERO_100:\r\n\t\t\treturn CardIds.FacelessOne_BGDUO_HERO_100_Buddy;\r\n\t\tcase CardIds.Cho_BGDUO_HERO_222:\r\n\t\t\treturn CardIds.HalfusTheMighty_BGDUO_HERO_222_Buddy;\r\n\t\tcase CardIds.Gall_BGDUO_HERO_223:\r\n\t\t\treturn CardIds.HalfusTheWise_BGDUO_HERO_223_Buddy;\r\n\t\tcase CardIds.MadamGoya_BGDUO_HERO_104:\r\n\t\t\treturn CardIds.MisterChu_BGDUO_HERO_104_Buddy;\r\n\t\tcase CardIds.FlobbidinousFloop_BGDUO_HERO_101:\r\n\t\t\treturn CardIds.GloriousGloopling_BGDUO_HERO_101_Buddy;\r\n\t\tcase CardIds.KerriganQueenOfBlades_BG31_HERO_811:\r\n\t\t\treturn CardIds.BrokenHorn_BG31_HERO_811_Buddy;\r\n\t\tcase CardIds.MarinTheManager_BG30_HERO_304:\r\n\t\t\treturn CardIds.FantasticBellhop_BG30_HERO_304_Buddy;\r\n\t\tcase CardIds.ForestLordCenarius_BG32_HERO_001:\r\n\t\t\treturn CardIds.Malorne_BG32_HERO_001_Buddy;\r\n\t\tcase CardIds.ExarchOthaar_BG31_HERO_006:\r\n\t\t\treturn CardIds.TheCelestialArchive_BG31_HERO_006_Buddy;\r\n\t\tcase CardIds.Buttons_BG32_HERO_002:\r\n\t\t\treturn CardIds.Zippers_BG32_HERO_002_Buddy;\r\n\t\tcase CardIds.ZerekMasterCloner_BG31_HERO_005:\r\n\t\t\treturn CardIds.MiniZerek_BG31_HERO_005_Buddy;\r\n\t\tcase CardIds.JimRaynor_BG31_HERO_801:\r\n\t\t\treturn CardIds.TychusFindlay_BG31_HERO_801_Buddy;\r\n\t\tcase CardIds.Artanis_BG31_HERO_802:\r\n\t\t\treturn CardIds.Probius_BG31_HERO_802_Buddy;\r\n\t\tcase CardIds.LohTheLivingLegend_BG33_HERO_001:\r\n\t\t\treturn CardIds.StoneshellGuardian_BG33_HERO_000_Buddy;\r\n\t\tdefault:\r\n\t\t\tif (!!heroCardId) {\r\n\t\t\t\tconsole.debug('missing buddy section for ', heroCardId);\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const isBaconGhost = (cardId: string): boolean => {\r\n\treturn (\r\n\t\tcardId === CardIds.Kelthuzad_TB_BaconShop_HERO_KelThuzad ||\r\n\t\tcardId === CardIds.LadyDeathwhisper_TB_BaconShop_HERO_Deathwhisper\r\n\t);\r\n};\r\n\r\nexport const getEffectiveTribes = (\r\n\tcard: ReferenceCard,\r\n\tgroupMinionsIntoTheirTribeGroup: boolean,\r\n): readonly string[] => {\r\n\tconst tribes: readonly Race[] = groupMinionsIntoTheirTribeGroup\r\n\t\t? getTribesForInclusion(card, true)\r\n\t\t: getEffectiveTribesEnum(card);\r\n\treturn tribes.map((tribe) => Race[tribe]);\r\n};\r\n\r\n// TODO: use the card tags instead\r\nexport const getTribesForInclusion = (card: ReferenceCard, includeOwnTribe: boolean): readonly Race[] => {\r\n\tif (!card) {\r\n\t\treturn [];\r\n\t}\r\n\tconst nativeRaces = card.races?.map((r) => Race[r]) ?? [];\r\n\tconst cardRaces = includeOwnTribe ? nativeRaces : [];\r\n\tswitch (card.id) {\r\n\t\t// Some cases are only included when specific tribes are\r\n\t\tcase CardIds.BirdBuddy_BG21_002:\r\n\t\tcase CardIds.BirdBuddy_BG21_002_G:\r\n\t\tcase CardIds.PackLeader_BGS_017:\r\n\t\tcase CardIds.PackLeader_TB_BaconUps_086:\r\n\t\tcase CardIds.VirmenSensei_CFM_816:\r\n\t\t// case CardIds.VirmenSensei_TB_BaconUps_074:\r\n\t\tcase CardIds.HoundmasterLegacy:\r\n\t\tcase CardIds.HoundmasterVanilla:\r\n\t\tcase CardIds.Houndmaster_TB_BaconUps_068:\r\n\t\tcase CardIds.Houndmaster_BG_DS1_070:\r\n\t\t\treturn [Race.BEAST, ...cardRaces];\r\n\t\tcase CardIds.ImpatientDoomsayer_BG21_007:\r\n\t\tcase CardIds.ImpatientDoomsayer_BG21_007_G:\r\n\t\tcase CardIds.SoulJuggler_BGS_002:\r\n\t\tcase CardIds.SoulJuggler_TB_BaconUps_075:\r\n\t\tcase CardIds.WrathWeaver_BGS_004:\r\n\t\tcase CardIds.WrathWeaver_TB_BaconUps_079:\r\n\t\tcase CardIds.CultistSthara_BG27_081:\r\n\t\tcase CardIds.CultistSthara_BG27_081_G:\r\n\t\t\treturn [Race.DEMON, ...cardRaces];\r\n\t\tcase CardIds.SeafoodSlinger_BG21_011:\r\n\t\tcase CardIds.SeafoodSlinger_BG21_011_G:\r\n\t\t\treturn [Race.MURLOC, ...cardRaces];\r\n\t\tcase CardIds.NadinaTheRed_BGS_040:\r\n\t\tcase CardIds.NadinaTheRed_TB_BaconUps_154:\r\n\t\t// case CardIds.WaxriderTogwaggle_BGS_035:\r\n\t\t// case CardIds.WaxriderTogwaggle_TB_BaconUps_105:\r\n\t\tcase CardIds.WhelpSmuggler_BG21_013:\r\n\t\tcase CardIds.WhelpSmuggler_BG21_013_G:\r\n\t\t\treturn [Race.DRAGON, ...cardRaces];\r\n\t\tcase CardIds.MajordomoExecutus_BGS_105:\r\n\t\tcase CardIds.MajordomoExecutus_TB_BaconUps_207:\r\n\t\tcase CardIds.MasterOfRealities_BG21_036:\r\n\t\tcase CardIds.MasterOfRealities_BG21_036_G:\r\n\t\tcase CardIds.NomiKitchenNightmare_BGS_104:\r\n\t\tcase CardIds.NomiKitchenNightmare_TB_BaconUps_201:\r\n\t\t\treturn [Race.ELEMENTAL, ...cardRaces];\r\n\t\tcase CardIds.KangorsApprentice_BGS_012:\r\n\t\tcase CardIds.KangorsApprentice_TB_BaconUps_087:\r\n\t\t\treturn [Race.MECH, ...cardRaces];\r\n\t\tcase CardIds.DefiantShipwright_BG21_018:\r\n\t\tcase CardIds.DefiantShipwright_BG21_018_G:\r\n\t\t// case CardIds.TheTideRazor_BGS_079:\r\n\t\t// case CardIds.TheTideRazor_TB_BaconUps_137:\r\n\t\tcase CardIds.CoastGuard_BG31_827:\r\n\t\tcase CardIds.CoastGuard_BG31_827_G:\r\n\t\t\treturn [Race.PIRATE, ...cardRaces];\r\n\t\tcase CardIds.AgamagganTheGreatBoar_BG20_205:\r\n\t\tcase CardIds.AgamagganTheGreatBoar_BG20_205_G:\r\n\t\tcase CardIds.ProphetOfTheBoar_BG20_203:\r\n\t\tcase CardIds.ProphetOfTheBoar_BG20_203_G:\r\n\t\t\treturn [Race.QUILBOAR, ...cardRaces];\r\n\t\tcase CardIds.OrgozoaTheTender_BG23_015:\r\n\t\tcase CardIds.OrgozoaTheTender_BG23_015_G:\r\n\t\t\treturn [Race.NAGA, ...cardRaces];\r\n\t\tcase CardIds.DisguisedGraverobber_BG28_303:\r\n\t\tcase CardIds.DisguisedGraverobber_BG28_303_G:\r\n\t\t\treturn [Race.UNDEAD, ...cardRaces];\r\n\t\tdefault:\r\n\t\t\treturn getEffectiveTribesEnum(card);\r\n\t}\r\n};\r\n\r\n// To avoid braking existing imports\r\nexport const getEffectiveTribesEnum = getEffectiveTribesEnumBase;\r\n"]}
1
+ {"version":3,"file":"bgs-utils.js","sourceRoot":"","sources":["../../src/services/bgs-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { AllCardsService, CardIds, GameTag, GameType, Race, ReferenceCard } from '../public-api';\r\nimport { getEffectiveTribesEnumBase } from './hs-utils';\r\n\r\nexport const ALL_BG_RACES = [\r\n\tRace.BEAST,\r\n\tRace.DEMON,\r\n\tRace.DRAGON,\r\n\tRace.MECH,\r\n\tRace.MURLOC,\r\n\tRace.PIRATE,\r\n\tRace.ELEMENTAL,\r\n\tRace.QUILBOAR,\r\n\tRace.NAGA,\r\n\tRace.UNDEAD,\r\n];\r\n\r\nexport const TOTAL_RACES_IN_GAME = 5;\r\n\r\nexport const NON_BUYABLE_MINION_IDS = [\r\n\tCardIds.Cuddlgam_TB_BaconShop_HP_033t_SKIN_A,\r\n\tCardIds.Cuddlgam_TB_BaconShop_HP_033t_SKIN_A_G,\r\n\tCardIds.AbominableAmalgam_TB_BaconShop_HP_033t_SKIN_D,\r\n\tCardIds.AbominableAmalgam_TB_BaconShop_HP_033t_SKIN_D_G,\r\n\tCardIds.BookEatingAmalgam_TB_BaconShop_HP_033t_SKIN_B,\r\n\tCardIds.BookEatingAmalgam_TB_BaconShop_HP_033t_SKIN_B_G,\r\n\t// CardIds.ArgentBraggart_BG_SCH_149,\r\n\t// CardIds.ArgentBraggart_TB_BaconUps_308,\r\n\tCardIds.AvatarOfNzoth_FishOfNzothToken,\r\n\tCardIds.FishOfNzoth,\r\n\tCardIds.CattlecarpOfNzoth_TB_BaconShop_HP_105t_SKIN_A,\r\n\tCardIds.CattlecarpOfNzoth_TB_BaconShop_HP_105t_SKIN_A_G,\r\n\tCardIds.SnakeTrap_SnakeLegacyToken,\r\n\tCardIds.SnakeTrap_SnakeVanillaToken,\r\n\tCardIds.ImprovedSnakeTrap_SnakeToken,\r\n\tCardIds.ElementEarth_StoneElementalToken,\r\n\tCardIds.BabyKrush_DevilsaurToken,\r\n\tCardIds.Devilsaur,\r\n\t// To remove once the cards list is properly updated\r\n\tCardIds.FriendOfAFriend_BG22_404,\r\n\tCardIds.FriendOfAFriend_BG22_404_G,\r\n\tCardIds.Onyxia_OnyxianWhelpToken,\r\n\tCardIds.MurlocWarleaderCore,\r\n\tCardIds.MurlocWarleaderVanilla,\r\n\t// 23.4, probably not needed since they are already tokens\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt2,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt3,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt4,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt5,\r\n\tCardIds.Tentacular_OzumatsTentacleToken_BG23_HERO_201pt6,\r\n\t// 24.0, same\r\n\tCardIds.EmperorCobraLegacy_BG_EX1_170,\r\n\tCardIds.EmperorCobraLegacy_BG_EX1_170_G,\r\n\tCardIds.EmperorCobraLegacy_EX1_170,\r\n\tCardIds.SnakeLegacyToken,\r\n\tCardIds.SnakeLegacy,\r\n\tCardIds.ElementEarth_StoneElementalToken,\r\n\tCardIds.BolvarFireblood_CORE_ICC_858,\r\n\tCardIds.BolvarFireblood_ICC_858,\r\n\t// 25.2\r\n\tCardIds.HandlessForsaken_HelpingHandToken_BG25_010t,\r\n\tCardIds.HandlessForsaken_HelpingHandToken_BG25_010_Gt,\r\n\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309_Gt,\r\n\tCardIds.MechaJaraxxus_RustedReggieToken,\r\n\tCardIds.MechaJaraxxus_MagtheridonPrimeToken,\r\n\tCardIds.MechaJaraxxus_BaltharakToken,\r\n\tCardIds.RustedReggie,\r\n\tCardIds.MagtheridonPrime,\r\n\tCardIds.Baltharak,\r\n\tCardIds.Shudderskull_TB_BaconShop_HP_022t_SKIN_C,\r\n\tCardIds.Shudderskull_TB_BaconShop_HP_022t_SKIN_C_G,\r\n\tCardIds.OzumatsTentacle_BG23_HERO_201pt_SKIN_A,\r\n\tCardIds.OzumatsTentacle_BG23_HERO_201pt_SKIN_A_G,\r\n\t// 26.2\r\n\tCardIds.Manasaber_CublingToken_BG26_800t,\r\n\tCardIds.Manasaber_CublingToken_BG26_800_Gt,\r\n\tCardIds.TentacleOfOctosariToken_BG26_803t,\r\n\tCardIds.TentacleOfOctosariToken_BG26_803_Gt,\r\n\t//27.2\r\n\tCardIds.OozelingGladiator_SlimyShieldToken_BG27_002t,\r\n\t// CardIds.SurfNSurf_CrabMountToken_BG27_004t,\r\n\t// CardIds.SurfNSurf_CrabMountToken_BG27_004_Gt,\r\n\t// CardIds.SurfNSurf_CrabToken_BG27_004t2,\r\n\t// CardIds.SurfNSurf_CrabToken_BG27_004_Gt2,\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008_Gt,\r\n\tCardIds.MechanizedGiftHorse_MechaponyToken_BG27_008t2,\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008_Gt,\r\n\tCardIds.MechanizedGiftHorse_MechaponyToken_BG27_008_Gt2,\r\n\tCardIds.TavernTier2,\r\n\tCardIds.TavernTier3,\r\n\tCardIds.TavernTier4,\r\n\tCardIds.TavernTier5,\r\n\tCardIds.TavernTier6,\r\n\tCardIds.TavernTier7_TB_BaconShopTechUp07_Button,\r\n\tCardIds.TombPillager_WON_340,\r\n\t// 27.2.2\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008t,\r\n\tCardIds.MechanizedGiftHorse_MechorseToken_BG27_008_Gt,\r\n\t// 28.6\r\n\tCardIds.StableAmalgamation_TotallyNormalHorseToken_BG28_Reward_518t,\r\n\tCardIds.TotallyNormalHorse_BG28_Reward_518t_G,\r\n\tCardIds.BoonOfBeetles_BeetleToken_BG28_603t,\r\n\tCardIds.Beetle_BG28_603t_G,\r\n\tCardIds.ToxicTumbleweed_TumblingAssassinToken_BG28_641t,\r\n\tCardIds.TumblingAssassin_BG28_641t_G,\r\n\t// 29.2\r\n\tCardIds.SilverGoose_SilverFledglingToken_BG29_801t,\r\n\tCardIds.SilverGoose_SilverFledglingToken_BG29_801_Gt,\r\n\tCardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\tCardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875t,\r\n\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875_Gt,\r\n];\r\n\r\nexport const NON_DISCOVERABLE_BUDDIES = [\r\n\tCardIds.SpiritRaptor_BG22_HERO_001_Buddy,\r\n\tCardIds.RagingContender_TB_BaconShop_HERO_67_Buddy,\r\n\tCardIds.CaptainFairmount_BG21_HERO_000_Buddy,\r\n\tCardIds.FlightTrainer_BG20_HERO_283_Buddy,\r\n\tCardIds.JandicesApprentice_TB_BaconShop_HERO_71_Buddy,\r\n\tCardIds.CrimsonHandCenturion_TB_BaconShop_HERO_60_Buddy,\r\n\tCardIds.CrazyMonkey_TB_BaconShop_HERO_38_Buddy,\r\n\tCardIds.ShadowWarden_TB_BaconShop_HERO_62_Buddy,\r\n\tCardIds.NexusLord_TB_BaconShop_HERO_58_Buddy,\r\n\tCardIds.LeiFlamepaw_BG20_HERO_202_Buddy,\r\n\tCardIds.Watfin_BG23_HERO_303_Buddy,\r\n\tCardIds.NightmareEctoplasm_BG20_HERO_301_Buddy,\r\n\tCardIds.ManyWhelps_BG22_HERO_305_Buddy,\r\n\tCardIds.Tamuzo_BG23_HERO_201_Buddy,\r\n\tCardIds.MaxwellMightySteed_TB_BaconShop_HERO_40_Buddy,\r\n\tCardIds.Crabby_BG22_HERO_000_Buddy,\r\n\tCardIds.Mishmash_TB_BaconShop_HERO_33_Buddy,\r\n\tCardIds.PigeonLord_TB_BaconShop_HERO_12_Buddy,\r\n\tCardIds.VardensAquarrior_BG22_HERO_004_Buddy,\r\n\tCardIds.AcolyteOfYoggSaron_TB_BaconShop_HERO_35_Buddy,\r\n\tCardIds.SubmersibleChef_BG22_HERO_201_Buddy,\r\n];\r\n\r\nexport const BUDDIES_TRIBE_REQUIREMENTS = [\r\n\t{\r\n\t\tbuddy: CardIds.Vaelastrasz_TB_BaconShop_HERO_56_Buddy,\r\n\t\ttribe: Race.DRAGON,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.DeathsHeadSage_BG20_HERO_103_Buddy,\r\n\t\ttribe: Race.QUILBOAR,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.SparkfinSoothsayer_TB_BaconShop_HERO_55_Buddy,\r\n\t\ttribe: Race.MURLOC,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.SubScrubber_BG22_HERO_200_Buddy,\r\n\t\ttribe: Race.MECH,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.CoilfangElite_BG23_HERO_304_Buddy,\r\n\t\ttribe: Race.NAGA,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy,\r\n\t\ttribe: Race.DEMON,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy,\r\n\t\ttribe: Race.MECH,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.TuskarrRaider_TB_BaconShop_HERO_18_Buddy,\r\n\t\ttribe: Race.PIRATE,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.Festergut_BG25_HERO_100_Buddy,\r\n\t\ttribe: Race.UNDEAD,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.ImperialDefender_BG22_HERO_007_Buddy,\r\n\t\ttribe: Race.NAGA,\r\n\t},\r\n\t{\r\n\t\tbuddy: CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy,\r\n\t\ttribe: Race.DRAGON,\r\n\t},\r\n];\r\n\r\nexport const defaultStartingHp = (\r\n\tgameType: GameType,\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): number => {\r\n\tif (isBattlegrounds(gameType)) {\r\n\t\tconst normalized = normalizeHeroCardId(heroCardId, allCards);\r\n\t\treturn allCards.getCard(normalized).health || 30;\r\n\t}\r\n\treturn 30;\r\n};\r\n\r\nexport const isBattlegrounds = (gameType: GameType): boolean => {\r\n\treturn [\r\n\t\tGameType.GT_BATTLEGROUNDS,\r\n\t\tGameType.GT_BATTLEGROUNDS_FRIENDLY,\r\n\t\tGameType.GT_BATTLEGROUNDS_AI_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_PLAYER_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_FRIENDLY,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_AI_VS_AI,\r\n\t].includes(gameType as GameType);\r\n};\r\n\r\nexport const isBattlegroundsDuo = (gameType: GameType): boolean => {\r\n\treturn [\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_VS_AI,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_FRIENDLY,\r\n\t\tGameType.GT_BATTLEGROUNDS_DUO_AI_VS_AI,\r\n\t].includes(gameType as GameType);\r\n};\r\n\r\nexport const normalizeHeroCardId = (\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): string => {\r\n\tif (!heroCardId) {\r\n\t\treturn heroCardId;\r\n\t}\r\n\r\n\tconst normalizedAfterSkin = normalizeHeroCardIdAfterSkin(heroCardId, allCards);\r\n\tswitch (normalizedAfterSkin) {\r\n\t\tcase 'TB_BaconShop_HERO_59t':\r\n\t\t\treturn 'TB_BaconShop_HERO_59';\r\n\t\tcase CardIds.QueenAzshara_NagaQueenAzsharaToken:\r\n\t\t\treturn CardIds.QueenAzshara_BG22_HERO_007;\r\n\t\tdefault:\r\n\t\t\treturn normalizedAfterSkin;\r\n\t}\r\n};\r\n\r\nconst normalizeHeroCardIdAfterSkin = (\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): string => {\r\n\tconst heroCard = allCards.getCard(heroCardId);\r\n\tif (!!heroCard?.battlegroundsHeroParentDbfId) {\r\n\t\tconst parentCard = allCards.getCard(heroCard.battlegroundsHeroParentDbfId);\r\n\t\tif (!!parentCard) {\r\n\t\t\treturn parentCard.id;\r\n\t\t}\r\n\t}\r\n\t// Fallback to regex\r\n\tconst bgHeroSkinMatch = heroCardId.match(/(.*)_SKIN_.*/);\r\n\tif (bgHeroSkinMatch) {\r\n\t\treturn bgHeroSkinMatch[1];\r\n\t}\r\n\treturn heroCardId;\r\n};\r\n\r\n// Used to make the mapping between premium / normal minions\r\nexport const normalizeMinionCardId = (\r\n\tcardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n) => {\r\n\tconst refCard = allCards.getCard(cardId);\r\n\tif (refCard?.battlegroundsNormalDbfId) {\r\n\t\tconst normalCard = allCards.getCard(refCard.battlegroundsNormalDbfId);\r\n\t\treturn normalCard?.id;\r\n\t}\r\n\treturn cardId;\r\n};\r\n\r\nexport const getTribeName = (tribe: Race | GameTag, i18n: { translateString: (input: string) => string }): string => {\r\n\tconst tribeString = Race[tribe] ?? GameTag[tribe];\r\n\treturn i18n.translateString(`app.battlegrounds.tribes.${tribeString?.toLowerCase()}`);\r\n};\r\n\r\nexport const getTribeIcon = (tribe: string | Race | GameTag): string => {\r\n\tconst referenceCardId = getReferenceTribeCardId(tribe);\r\n\treturn `https://static.zerotoheroes.com/hearthstone/cardart/256x/${referenceCardId}.jpg`;\r\n};\r\n\r\nexport const getReferenceTribeCardId = (tribe: string | Race | GameTag): string => {\r\n\tlet referenceCardId: string;\r\n\ttribe = (tribe as string)?.padStart ? (tribe as string).toLowerCase() : tribe;\r\n\tswitch (tribe) {\r\n\t\tcase 'mech':\r\n\t\tcase Race.MECH:\r\n\t\t\treferenceCardId = CardIds.DeflectOBot_BGS_071;\r\n\t\t\tbreak;\r\n\t\tcase 'beast':\r\n\t\tcase Race.BEAST:\r\n\t\t\treferenceCardId = CardIds.GoldrinnTheGreatWolf_BGS_018;\r\n\t\t\tbreak;\r\n\t\tcase 'demon':\r\n\t\tcase Race.DEMON:\r\n\t\t\treferenceCardId = CardIds.ImpulsiveTrickster_BG21_006;\r\n\t\t\tbreak;\r\n\t\tcase 'dragon':\r\n\t\tcase Race.DRAGON:\r\n\t\t\treferenceCardId = CardIds.PersistentPoet_BG29_813;\r\n\t\t\tbreak;\r\n\t\tcase 'murloc':\r\n\t\tcase Race.MURLOC:\r\n\t\t\treferenceCardId = CardIds.PrimalfinLookout_BGS_020;\r\n\t\t\tbreak;\r\n\t\tcase 'pirate':\r\n\t\tcase Race.PIRATE:\r\n\t\t\treferenceCardId = CardIds.SouthseaBusker_BG26_135;\r\n\t\t\tbreak;\r\n\t\tcase 'elemental':\r\n\t\tcase Race.ELEMENTAL:\r\n\t\t\treferenceCardId = CardIds.Sellemental_BGS_115;\r\n\t\t\tbreak;\r\n\t\tcase 'naga':\r\n\t\tcase Race.NAGA:\r\n\t\t\treferenceCardId = CardIds.ShellCollector_BG23_002;\r\n\t\t\tbreak;\r\n\t\tcase 'quilboar':\r\n\t\tcase Race.QUILBOAR:\r\n\t\t\treferenceCardId = CardIds.SunBaconRelaxer_BG20_301;\r\n\t\t\tbreak;\r\n\t\tcase 'undead':\r\n\t\tcase Race.UNDEAD:\r\n\t\t\treferenceCardId = CardIds.RisenRider_BG25_001;\r\n\t\t\tbreak;\r\n\t\tcase 'all':\r\n\t\tcase Race.ALL:\r\n\t\t\treferenceCardId = CardIds.AmalgamOfTheDeep_BG_TSC_069;\r\n\t\t\tbreak;\r\n\t\tcase GameTag.PROTOSS:\r\n\t\t\treferenceCardId = CardIds.WarpGate_MothershipToken_BG31_HERO_802pt7;\r\n\t\t\tbreak;\r\n\t\tcase GameTag.ZERG:\r\n\t\t\treferenceCardId = CardIds.KerriganQueenOfBlades_LarvaToken_BG31_HERO_811t;\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\treferenceCardId = CardIds.PatientScout_BG24_715;\r\n\t\t\tbreak;\r\n\t}\r\n\treturn referenceCardId;\r\n};\r\n\r\nexport const getHeroPower = (\r\n\theroCardId: string,\r\n\tallCards: { getCard: (cardId: string | number) => ReferenceCard },\r\n): string => {\r\n\tconst normalized = normalizeHeroCardId(heroCardId, allCards);\r\n\tswitch (normalized) {\r\n\t\tcase 'TB_BaconShop_HERO_01':\r\n\t\t\treturn 'TB_BaconShop_HP_001';\r\n\t\tcase 'TB_BaconShop_HERO_02':\r\n\t\t\treturn 'TB_BaconShop_HP_011';\r\n\t\tcase 'TB_BaconShop_HERO_08':\r\n\t\t\treturn 'TB_BaconShop_HP_069';\r\n\t\tcase CardIds.RagnarosTheFirelord_TB_BaconShop_HERO_11:\r\n\t\t\treturn CardIds.DieInsects_TB_BaconShop_HP_087;\r\n\t\tcase 'TB_BaconShop_HERO_12':\r\n\t\t\treturn 'TB_BaconShop_HP_041';\r\n\t\tcase CardIds.QueenWagtoggle_TB_BaconShop_HERO_14:\r\n\t\t\treturn CardIds.WaxWarband;\r\n\t\tcase 'TB_BaconShop_HERO_15':\r\n\t\t\treturn 'TB_BaconShop_HP_010';\r\n\t\tcase 'TB_BaconShop_HERO_16':\r\n\t\t\treturn 'TB_BaconShop_HP_044';\r\n\t\tcase 'TB_BaconShop_HERO_17':\r\n\t\t\treturn 'TB_BaconShop_HP_015';\r\n\t\tcase 'TB_BaconShop_HERO_18':\r\n\t\t\treturn 'TB_BaconShop_HP_072';\r\n\t\tcase 'TB_BaconShop_HERO_20':\r\n\t\t\treturn 'TB_BaconShop_HP_018';\r\n\t\tcase 'TB_BaconShop_HERO_21':\r\n\t\t\treturn 'TB_BaconShop_HP_020';\r\n\t\tcase 'TB_BaconShop_HERO_22':\r\n\t\t\treturn 'TB_BaconShop_HP_024';\r\n\t\tcase CardIds.Shudderwock_TB_BaconShop_HERO_23:\r\n\t\t\treturn CardIds.SnickerSnack;\r\n\t\tcase 'TB_BaconShop_HERO_25':\r\n\t\t\treturn 'TB_BaconShop_HP_049';\r\n\t\tcase 'TB_BaconShop_HERO_27':\r\n\t\t\treturn 'TB_BaconShop_HP_014';\r\n\t\tcase 'TB_BaconShop_HERO_28':\r\n\t\t\treturn 'TB_BaconShop_HP_028';\r\n\t\tcase 'TB_BaconShop_HERO_30':\r\n\t\t\treturn 'TB_BaconShop_HP_043';\r\n\t\tcase 'TB_BaconShop_HERO_31':\r\n\t\t\treturn 'TB_BaconShop_HP_009';\r\n\t\tcase 'TB_BaconShop_HERO_33':\r\n\t\t\treturn 'TB_BaconShop_HP_033';\r\n\t\tcase 'TB_BaconShop_HERO_34':\r\n\t\t\treturn 'TB_BaconShop_HP_035';\r\n\t\tcase 'TB_BaconShop_HERO_35':\r\n\t\t\treturn CardIds.PuzzleBox_PuzzleBoxToken_TB_BaconShop_HP_039t;\r\n\t\tcase 'TB_BaconShop_HERO_36':\r\n\t\t\treturn 'TB_BaconShop_HP_042';\r\n\t\tcase 'TB_BaconShop_HERO_37':\r\n\t\t\treturn 'TB_BaconShop_HP_036';\r\n\t\tcase 'TB_BaconShop_HERO_38':\r\n\t\t\treturn 'TB_BaconShop_HP_038';\r\n\t\tcase 'TB_BaconShop_HERO_39':\r\n\t\t\treturn 'TB_BaconShop_HP_040';\r\n\t\tcase 'TB_BaconShop_HERO_40':\r\n\t\t\treturn 'TB_BaconShop_HP_057';\r\n\t\tcase 'TB_BaconShop_HERO_41':\r\n\t\t\treturn 'TB_BaconShop_HP_046';\r\n\t\tcase 'TB_BaconShop_HERO_42':\r\n\t\t\treturn 'TB_BaconShop_HP_047';\r\n\t\tcase 'TB_BaconShop_HERO_43':\r\n\t\t\treturn 'TB_BaconShop_HP_048';\r\n\t\t// case 'TB_BaconShop_HERO_44':\r\n\t\t// \treturn 'TB_BaconShop_HP_050';\r\n\t\tcase 'TB_BaconShop_HERO_45':\r\n\t\t\treturn 'TB_BaconShop_HP_053';\r\n\t\tcase 'TB_BaconShop_HERO_47':\r\n\t\t\treturn 'TB_BaconShop_HP_051';\r\n\t\tcase 'TB_BaconShop_HERO_49':\r\n\t\t\treturn 'TB_BaconShop_HP_054';\r\n\t\tcase 'TB_BaconShop_HERO_50':\r\n\t\t\treturn 'TB_BaconShop_HP_077';\r\n\t\tcase 'TB_BaconShop_HERO_52':\r\n\t\t\treturn 'TB_BaconShop_HP_061';\r\n\t\tcase 'TB_BaconShop_HERO_53':\r\n\t\t\treturn 'TB_BaconShop_HP_062';\r\n\t\tcase 'TB_BaconShop_HERO_55':\r\n\t\t\treturn 'TB_BaconShop_HP_056';\r\n\t\tcase 'TB_BaconShop_HERO_56':\r\n\t\t\treturn 'TB_BaconShop_HP_064';\r\n\t\tcase 'TB_BaconShop_HERO_57':\r\n\t\t\treturn 'TB_BaconShop_HP_063';\r\n\t\tcase 'TB_BaconShop_HERO_58':\r\n\t\t\treturn 'TB_BaconShop_HP_052';\r\n\t\tcase 'TB_BaconShop_HERO_59t':\r\n\t\t\treturn 'TB_BaconShop_HP_065t2';\r\n\t\tcase 'TB_BaconShop_HERO_59':\r\n\t\t\treturn 'TB_BaconShop_HP_065';\r\n\t\tcase 'TB_BaconShop_HERO_60':\r\n\t\t\treturn 'TB_BaconShop_HP_066';\r\n\t\tcase 'TB_BaconShop_HERO_61':\r\n\t\t\treturn 'TB_BaconShop_HP_067';\r\n\t\tcase 'TB_BaconShop_HERO_62':\r\n\t\t\treturn 'TB_BaconShop_HP_068';\r\n\t\tcase 'TB_BaconShop_HERO_64':\r\n\t\t\treturn 'TB_BaconShop_HP_074';\r\n\t\tcase CardIds.CaptainHooktusk_TB_BaconShop_HERO_67:\r\n\t\t\treturn CardIds.TrashForTreasure;\r\n\t\tcase 'TB_BaconShop_HERO_68':\r\n\t\t\treturn 'TB_BaconShop_HP_076';\r\n\t\tcase 'TB_BaconShop_HERO_70':\r\n\t\t\treturn 'TB_BaconShop_HP_080';\r\n\t\tcase 'TB_BaconShop_HERO_71':\r\n\t\t\treturn 'TB_BaconShop_HP_084';\r\n\t\tcase 'TB_BaconShop_HERO_72':\r\n\t\t\treturn 'TB_BaconShop_HP_081';\r\n\t\tcase 'TB_BaconShop_HERO_74':\r\n\t\t\treturn 'TB_BaconShop_HP_082';\r\n\t\tcase CardIds.Chenvaala_TB_BaconShop_HERO_78:\r\n\t\t\treturn CardIds.Avalanche_TB_BaconShop_HP_088;\r\n\t\tcase CardIds.Rakanishu_TB_BaconShop_HERO_75:\r\n\t\t\treturn CardIds.TavernLighting;\r\n\t\tcase CardIds.Alakir:\r\n\t\t\treturn CardIds.SwattingInsects;\r\n\t\tcase CardIds.ZephrysTheGreat_TB_BaconShop_HERO_91:\r\n\t\t\treturn CardIds.ThreeWishes;\r\n\t\tcase CardIds.SilasDarkmoon_TB_BaconShop_HERO_90:\r\n\t\t\treturn CardIds.ComeOneComeAll;\r\n\t\tcase CardIds.Cthun_TB_BaconShop_HERO_29:\r\n\t\t\treturn CardIds.SaturdayCthuns;\r\n\t\tcase CardIds.Nzoth:\r\n\t\t\treturn CardIds.AvatarOfNzoth;\r\n\t\tcase CardIds.Yshaarj:\r\n\t\t\treturn CardIds.EmbraceYourRage;\r\n\t\tcase CardIds.Tickatus_TB_BaconShop_HERO_94:\r\n\t\t\treturn CardIds.PrizeWall;\r\n\t\tcase CardIds.Greybough_TB_BaconShop_HERO_95:\r\n\t\t\treturn CardIds.SproutItOut;\r\n\t\tcase CardIds.OverlordSaurfang_BG20_HERO_102:\r\n\t\t\treturn CardIds.OverlordSaurfang_ForTheHorde;\r\n\t\tcase CardIds.DeathSpeakerBlackthorn_BG20_HERO_103:\r\n\t\t\treturn CardIds.DeathSpeakerBlackthorn_Bloodbound;\r\n\t\tcase CardIds.Voljin_BG20_HERO_201:\r\n\t\t\treturn CardIds.Voljin_SpiritSwap_BG20_HERO_201p;\r\n\t\tcase CardIds.Xyrella_BG20_HERO_101:\r\n\t\t\treturn CardIds.Xyrella_SeeTheLight;\r\n\t\tcase CardIds.MutanusTheDevourer_BG20_HERO_301:\r\n\t\t\treturn CardIds.MutanusTheDevourer_Devour;\r\n\t\tcase CardIds.GuffRunetotem_BG20_HERO_242:\r\n\t\t\treturn CardIds.GuffRunetotem_NaturalBalance;\r\n\t\tcase CardIds.KurtrusAshfallen_BG20_HERO_280:\r\n\t\t\treturn CardIds.KurtrusAshfallen_GlaiveRicochet;\r\n\t\tcase CardIds.Galewing:\r\n\t\t\treturn CardIds.Galewing_DungarsGryphon;\r\n\t\tcase CardIds.TradePrinceGallywix_TB_BaconShop_HERO_10:\r\n\t\t\treturn CardIds.SmartSavings;\r\n\t\tcase CardIds.MasterNguyen:\r\n\t\t\treturn CardIds.MasterNguyen_PowerOfTheStorm;\r\n\t\tcase CardIds.CarielRoame_BG21_HERO_000:\r\n\t\t\treturn CardIds.CarielRoame_Conviction;\r\n\t\tcase CardIds.Sneed_BG21_HERO_030:\r\n\t\t\treturn CardIds.Sneed_SneedsReplicator;\r\n\t\tcase CardIds.CookieTheCook_BG21_HERO_020:\r\n\t\t\treturn CardIds.CookieTheCook_StirThePot;\r\n\t\tcase CardIds.TamsinRoame_BG20_HERO_282:\r\n\t\t\treturn CardIds.TamsinRoame_FragrantPhylactery;\r\n\t\tcase CardIds.ScabbsCutterbutter_BG21_HERO_010:\r\n\t\t\treturn CardIds.ScabbsCutterbutter_ISpy;\r\n\t\tcase CardIds.Brukan_BG22_HERO_001:\r\n\t\t\treturn CardIds.Brukan_EmbraceTheElements;\r\n\t\tcase CardIds.Drekthar_BG22_HERO_002:\r\n\t\t\treturn CardIds.Drekthar_LeadTheFrostwolves;\r\n\t\tcase CardIds.VanndarStormpike_BG22_HERO_003:\r\n\t\t\treturn CardIds.VanndarStormpike_LeadTheStormpikes;\r\n\t\tcase CardIds.TavishStormpike_BG22_HERO_000:\r\n\t\t\treturn CardIds.TavishStormpike_Deadeye;\r\n\t\tcase CardIds.VardenDawngrasp_BG22_HERO_004:\r\n\t\t\treturn CardIds.VardenDawngrasp_TwiceAsNice;\r\n\t\tcase CardIds.Rokara_BG20_HERO_100:\r\n\t\t\treturn CardIds.Rokara_GloryOfCombat;\r\n\t\tcase CardIds.Onyxia_BG22_HERO_305:\r\n\t\t\treturn CardIds.Onyxia_Broodmother;\r\n\t\tcase CardIds.AmbassadorFaelin_BG22_HERO_201:\r\n\t\t\treturn CardIds.AmbassadorFaelin_ExpeditionPlans;\r\n\t\tcase CardIds.IniStormcoil_BG22_HERO_200:\r\n\t\t\treturn CardIds.IniStormcoil_Mechgyver;\r\n\t\tcase CardIds.QueenAzshara_BG22_HERO_007:\r\n\t\t\treturn CardIds.QueenAzshara_AzsharasAmbition;\r\n\t\tcase CardIds.QueenAzshara_NagaQueenAzsharaToken:\r\n\t\t\treturn CardIds.QueenAzshara_NagaConquest;\r\n\t\tcase CardIds.Ozumat_BG23_HERO_201:\r\n\t\t\treturn CardIds.Ozumat_Tentacular;\r\n\t\tcase CardIds.LadyVashj_BG23_HERO_304:\r\n\t\t\treturn CardIds.LadyVashj_RelicsOfTheDeep;\r\n\t\tcase CardIds.HeistbaronTogwaggle_BG23_HERO_305:\r\n\t\t\treturn CardIds.HeistbaronTogwaggle_ThePerfectCrime;\r\n\t\tcase CardIds.MurlocHolmes_BG23_HERO_303:\r\n\t\t\treturn CardIds.MurlocHolmes_DetectiveForHire;\r\n\t\tcase CardIds.SireDenathrius_BG24_HERO_100:\r\n\t\t\treturn CardIds.SireDenathrius_Whodunitquestion;\r\n\t\tcase CardIds.SylvanasWindrunner_BG23_HERO_306:\r\n\t\t\treturn CardIds.SylvanasWindrunner_ReclaimedSouls;\r\n\t\tcase CardIds.TheJailer_TB_BaconShop_HERO_702:\r\n\t\t\treturn CardIds.RunicEmpowerment;\r\n\t\tcase CardIds.EnhanceOMechano_BG24_HERO_204:\r\n\t\t\treturn CardIds.EnhanceOMechano_Enhancification;\r\n\t\tcase CardIds.ProfessorPutricide_BG25_HERO_100:\r\n\t\t\treturn CardIds.ProfessorPutricide_BuildAnUndead;\r\n\t\tcase CardIds.TeronGorefiend_BG25_HERO_103:\r\n\t\t\treturn CardIds.TeronGorefiend_RapidReanimation;\r\n\t\tcase CardIds.ETCBandManager_BG25_HERO_105:\r\n\t\t\treturn CardIds.ETCBandManager_SignANewArtist;\r\n\t\tcase CardIds.RockMasterVoone_BG26_HERO_104:\r\n\t\t\treturn CardIds.RockMasterVoone_UpbeatHarmony;\r\n\t\tcase CardIds.IngeTheIronHymn:\r\n\t\t\treturn CardIds.IngeTheIronHymn_MajorHymn;\r\n\t\tcase CardIds.CapnHoggarr_BG26_HERO_101:\r\n\t\t\treturn CardIds.CapnHoggarr_ImTheCapnNow;\r\n\t\t// case CardIds.Diablo:\r\n\t\t// \treturn CardIds.Diablo_RealmOfTerror;\r\n\t\tcase CardIds.ThorimStormlord_BG27_HERO_801:\r\n\t\t\treturn CardIds.ThorimStormlord_ChooseYourChampion_BG27_HERO_801p2;\r\n\t\tcase CardIds.SnakeEyes_BG28_HERO_400:\r\n\t\t\treturn CardIds.SnakeEyes_LuckyRoll_BG28_HERO_400p;\r\n\t\tcase CardIds.TaethelanBloodwatcher_BG28_HERO_800:\r\n\t\t\treturn CardIds.TaethelanBloodwatcher_ReliquaryResearch_BG28_HERO_800p;\r\n\t\tcase CardIds.DoctorHollidae_BG28_HERO_801:\r\n\t\t\treturn CardIds.DoctorHollidae_BlessingOfTheNineFrogs_BG28_HERO_801p;\r\n\t\tcase CardIds.Cho_BGDUO_HERO_222:\r\n\t\t\treturn CardIds.Cho_DoubleTrouble_BGDUO_HERO_222p;\r\n\t\tcase CardIds.Gall_BGDUO_HERO_223:\r\n\t\t\treturn CardIds.Gall_DoubleTrouble_BGDUO_HERO_223p;\r\n\t\tcase CardIds.TheNamelessOne_BGDUO_HERO_100:\r\n\t\t\treturn CardIds.TheNamelessOne_X_BGDUO_HERO_100p;\r\n\t\tcase CardIds.FlobbidinousFloop_BGDUO_HERO_101:\r\n\t\t\treturn CardIds.FlobbidinousFloop_GloriousGloop_BGDUO_HERO_101p;\r\n\t\tcase CardIds.MadamGoya_BGDUO_HERO_104:\r\n\t\t\treturn CardIds.MadamGoya_EfficientExchange_BGDUO_HERO_104p;\r\n\t\tcase CardIds.MarinTheManager_BG30_HERO_304:\r\n\t\t\treturn CardIds.MarinTheManager_FantasticTreasure_BG30_HERO_304p;\r\n\t\tcase CardIds.FarseerNobundo_BG31_HERO_003:\r\n\t\t\treturn CardIds.FarseerNobundo_TheGalaxysLens_BG31_HERO_003p;\r\n\t\tcase CardIds.ExarchOthaar_BG31_HERO_006:\r\n\t\t\treturn CardIds.ExarchOthaar_ArcaneKnowledge_BG31_HERO_006p;\r\n\t\tcase CardIds.ZerekMasterCloner_BG31_HERO_005:\r\n\t\t\treturn CardIds.ZerekMasterCloner_CloningGallery_BG31_HERO_005p;\r\n\t\tcase CardIds.JimRaynor_BG31_HERO_801:\r\n\t\t\treturn CardIds.JimRaynor_LiftOff_BG31_HERO_801p;\r\n\t\tcase CardIds.Artanis_BG31_HERO_802:\r\n\t\t\treturn CardIds.Artanis_WarpGate_BG31_HERO_802p;\r\n\t\tcase CardIds.KerriganQueenOfBlades_BG31_HERO_811:\r\n\t\t\treturn CardIds.KerriganQueenOfBlades_SpawningPool_BG31_HERO_811p;\r\n\t\tcase CardIds.Buttons_BG32_HERO_002:\r\n\t\t\treturn CardIds.Buttons_GrowingCollection_BG32_HERO_002p;\r\n\t\tcase CardIds.ForestLordCenarius_BG32_HERO_001:\r\n\t\t\treturn CardIds.ForestLordCenarius_WisdomOfAncients_BG32_HERO_001p;\r\n\t\tcase CardIds.LohTheLivingLegend_BG33_HERO_001:\r\n\t\t\treturn CardIds.HeroicInspiration_BG33_HERO_001p_ALT;\r\n\t\tcase CardIds.MurozondUnbounded_BG34_HERO_000:\r\n\t\t\treturn CardIds.MurozondUnbounded_AlternateTimeline_BG34_HERO_000p;\r\n\t\tcase CardIds.TimeTwisterChromie_BG34_HERO_001:\r\n\t\t\treturn CardIds.TimeTwisterChromie_ManaPerMinute_BG34_HERO_001p;\r\n\r\n\t\tcase '':\r\n\t\t\treturn null; // new heroes\r\n\t}\r\n};\r\n\r\nexport const getBuddy = (heroCardId: CardIds, allCards: AllCardsService): CardIds | null => {\r\n\tswitch (normalizeHeroCardId(heroCardId, allCards)) {\r\n\t\tcase CardIds.AFKay_TB_BaconShop_HERO_16:\r\n\t\t\treturn CardIds.SnackVendor_TB_BaconShop_HERO_16_Buddy;\r\n\t\tcase CardIds.Alakir:\r\n\t\t\treturn CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy;\r\n\t\tcase CardIds.Alexstrasza_TB_BaconShop_HERO_56:\r\n\t\t\treturn CardIds.Vaelastrasz_TB_BaconShop_HERO_56_Buddy;\r\n\t\tcase CardIds.ArannaStarseeker_ArannaUnleashedToken:\r\n\t\tcase CardIds.ArannaStarseeker_TB_BaconShop_HERO_59:\r\n\t\t\treturn CardIds.SklibbDemonHunter_TB_BaconShop_HERO_59_Buddy;\r\n\t\tcase CardIds.ArchVillainRafaam_TB_BaconShop_HERO_45:\r\n\t\t\treturn CardIds.LoyalHenchman_TB_BaconShop_HERO_45_Buddy;\r\n\t\tcase CardIds.Brukan_BG22_HERO_001:\r\n\t\t\treturn CardIds.SpiritRaptor_BG22_HERO_001_Buddy;\r\n\t\tcase CardIds.CaptainEudora_TB_BaconShop_HERO_64:\r\n\t\t\treturn CardIds.DagwikStickytoe_TB_BaconShop_HERO_64_Buddy;\r\n\t\tcase CardIds.CaptainHooktusk_TB_BaconShop_HERO_67:\r\n\t\t\treturn CardIds.RagingContender_TB_BaconShop_HERO_67_Buddy;\r\n\t\tcase CardIds.CarielRoame_BG21_HERO_000:\r\n\t\t\treturn CardIds.CaptainFairmount_BG21_HERO_000_Buddy;\r\n\t\tcase CardIds.Chenvaala_TB_BaconShop_HERO_78:\r\n\t\t\treturn CardIds.SnowElemental_TB_BaconShop_HERO_78_Buddy;\r\n\t\tcase CardIds.CookieTheCook_BG21_HERO_020:\r\n\t\t\treturn CardIds.SousChef_BG21_HERO_020_Buddy;\r\n\t\tcase CardIds.Cthun_TB_BaconShop_HERO_29:\r\n\t\t\treturn CardIds.TentacleOfCthun_TB_BaconShop_HERO_29_Buddy;\r\n\t\tcase CardIds.DancinDeryl:\r\n\t\t\treturn CardIds.AsherTheHaberdasher_TB_BaconShop_HERO_36_Buddy;\r\n\t\tcase CardIds.DeathSpeakerBlackthorn_BG20_HERO_103:\r\n\t\t\treturn CardIds.DeathsHeadSage_BG20_HERO_103_Buddy;\r\n\t\tcase CardIds.Deathwing_TB_BaconShop_HERO_52:\r\n\t\t\treturn CardIds.LadySinestra_TB_BaconShop_HERO_52_Buddy;\r\n\t\tcase CardIds.DinotamerBrann_TB_BaconShop_HERO_43:\r\n\t\t\treturn CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy;\r\n\t\tcase CardIds.Drekthar_BG22_HERO_002:\r\n\t\t\treturn CardIds.FrostwolfLieutenant_BG22_HERO_002_Buddy;\r\n\t\tcase CardIds.EdwinVancleef_TB_BaconShop_HERO_01:\r\n\t\t\treturn CardIds.Si7Scout_TB_BaconShop_HERO_01_Buddy;\r\n\t\tcase CardIds.EliseStarseeker_TB_BaconShop_HERO_42:\r\n\t\t\treturn CardIds.JrNavigator_TB_BaconShop_HERO_42_Buddy;\r\n\t\tcase CardIds.ForestWardenOmu_TB_BaconShop_HERO_74:\r\n\t\t\treturn CardIds.EvergreenBotani_TB_BaconShop_HERO_74_Buddy;\r\n\t\tcase CardIds.FungalmancerFlurgl:\r\n\t\t\treturn CardIds.SparkfinSoothsayer_TB_BaconShop_HERO_55_Buddy;\r\n\t\tcase CardIds.Galakrond:\r\n\t\t\treturn CardIds.ApostleOfGalakrond_TB_BaconShop_HERO_02_Buddy;\r\n\t\tcase CardIds.Galewing:\r\n\t\t\treturn CardIds.FlightTrainer_BG20_HERO_283_Buddy;\r\n\t\tcase CardIds.GeorgeTheFallen_TB_BaconShop_HERO_15:\r\n\t\t\treturn CardIds.KarlTheLost_TB_BaconShop_HERO_15_Buddy;\r\n\t\tcase CardIds.Greybough_TB_BaconShop_HERO_95:\r\n\t\t\treturn CardIds.WanderingTreant_TB_BaconShop_HERO_95_Buddy;\r\n\t\tcase CardIds.GuffRunetotem_BG20_HERO_242:\r\n\t\t\treturn CardIds.BabyKodo_BG20_HERO_242_Buddy;\r\n\t\tcase CardIds.IllidanStormrage_TB_BaconShop_HERO_08:\r\n\t\t\treturn CardIds.EclipsionIllidari_TB_BaconShop_HERO_08_Buddy;\r\n\t\tcase CardIds.InfiniteToki:\r\n\t\t\treturn CardIds.ClockworkAssistant_TB_BaconShop_HERO_28_Buddy;\r\n\t\tcase CardIds.JandiceBarov_TB_BaconShop_HERO_71:\r\n\t\t\treturn CardIds.JandicesApprentice_TB_BaconShop_HERO_71_Buddy;\r\n\t\tcase CardIds.KaelthasSunstrider_TB_BaconShop_HERO_60:\r\n\t\t\treturn CardIds.CrimsonHandCenturion_TB_BaconShop_HERO_60_Buddy;\r\n\t\tcase CardIds.KingMukla_TB_BaconShop_HERO_38:\r\n\t\t\treturn CardIds.CrazyMonkey_TB_BaconShop_HERO_38_Buddy;\r\n\t\tcase CardIds.KurtrusAshfallen_BG20_HERO_280:\r\n\t\t\treturn CardIds.LivingNightmare_BG20_HERO_280_Buddy;\r\n\t\tcase CardIds.LichBazhial:\r\n\t\t\treturn CardIds.UnearthedUnderling_TB_BaconShop_HERO_25_Buddy;\r\n\t\tcase CardIds.LordBarov_TB_BaconShop_HERO_72:\r\n\t\t\treturn CardIds.BarovsApprentice_TB_BaconShop_HERO_72_Buddy;\r\n\t\tcase CardIds.LordJaraxxus_TB_BaconShop_HERO_37:\r\n\t\t\treturn CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy;\r\n\t\tcase CardIds.MaievShadowsong_TB_BaconShop_HERO_62:\r\n\t\t\treturn CardIds.ShadowWarden_TB_BaconShop_HERO_62_Buddy;\r\n\t\tcase CardIds.Malygos:\r\n\t\t\treturn CardIds.NexusLord_TB_BaconShop_HERO_58_Buddy;\r\n\t\tcase CardIds.MasterNguyen:\r\n\t\t\treturn CardIds.LeiFlamepaw_BG20_HERO_202_Buddy;\r\n\t\tcase CardIds.MillhouseManastorm_TB_BaconShop_HERO_49:\r\n\t\t\treturn CardIds.MagnusManastorm_TB_BaconShop_HERO_49_Buddy;\r\n\t\tcase CardIds.MillificentManastorm:\r\n\t\t\treturn CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy;\r\n\t\tcase CardIds.MrBigglesworth_TB_BaconShop_HERO_70:\r\n\t\t\treturn CardIds.LilKT_TB_BaconShop_HERO_70_Buddy;\r\n\t\tcase CardIds.MutanusTheDevourer_BG20_HERO_301:\r\n\t\t\treturn CardIds.NightmareEctoplasm_BG20_HERO_301_Buddy;\r\n\t\tcase CardIds.Nozdormu_TB_BaconShop_HERO_57:\r\n\t\t\treturn CardIds.Chromie_TB_BaconShop_HERO_57_Buddy;\r\n\t\tcase CardIds.Nzoth:\r\n\t\t\treturn CardIds.BabyNzoth_TB_BaconShop_HERO_93_Buddy;\r\n\t\tcase CardIds.OverlordSaurfang_BG20_HERO_102:\r\n\t\t\treturn CardIds.DranoshSaurfang_BG20_HERO_102_Buddy;\r\n\t\tcase CardIds.PatchesThePirate_TB_BaconShop_HERO_18:\r\n\t\t\treturn CardIds.TuskarrRaider_TB_BaconShop_HERO_18_Buddy;\r\n\t\tcase CardIds.Patchwerk_TB_BaconShop_HERO_34:\r\n\t\t\treturn CardIds.Weebomination_TB_BaconShop_HERO_34_Buddy;\r\n\t\tcase CardIds.Pyramad:\r\n\t\t\treturn CardIds.TitanicGuardian_TB_BaconShop_HERO_39_Buddy;\r\n\t\tcase CardIds.QueenWagtoggle_TB_BaconShop_HERO_14:\r\n\t\t\treturn CardIds.ElderTaggawag_TB_BaconShop_HERO_14_Buddy;\r\n\t\tcase CardIds.RagnarosTheFirelord_TB_BaconShop_HERO_11:\r\n\t\t\treturn CardIds.Lucifron_TB_BaconShop_HERO_11_Buddy;\r\n\t\tcase CardIds.Rakanishu_TB_BaconShop_HERO_75:\r\n\t\t\treturn CardIds.LanternTender_TB_BaconShop_HERO_75_Buddy;\r\n\t\tcase CardIds.RenoJackson_TB_BaconShop_HERO_41:\r\n\t\t\treturn CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy;\r\n\t\tcase CardIds.ScabbsCutterbutter_BG21_HERO_010:\r\n\t\t\treturn CardIds.WardenThelwater_BG21_HERO_010_Buddy;\r\n\t\tcase CardIds.Shudderwock_TB_BaconShop_HERO_23:\r\n\t\t\treturn CardIds.Muckslinger_TB_BaconShop_HERO_23_Buddy;\r\n\t\tcase CardIds.SilasDarkmoon_TB_BaconShop_HERO_90:\r\n\t\t\treturn CardIds.Burth_TB_BaconShop_HERO_90_Buddy;\r\n\t\tcase CardIds.Sindragosa_TB_BaconShop_HERO_27:\r\n\t\t\treturn CardIds.ThawedChampion_TB_BaconShop_HERO_27_Buddy;\r\n\t\tcase CardIds.SirFinleyMrrgglton_TB_BaconShop_HERO_40:\r\n\t\t\treturn CardIds.MaxwellMightySteed_TB_BaconShop_HERO_40_Buddy;\r\n\t\tcase CardIds.SkycapnKragg_TB_BaconShop_HERO_68:\r\n\t\t\treturn CardIds.Sharkbait_TB_BaconShop_HERO_68_Buddy;\r\n\t\tcase CardIds.Sneed_BG21_HERO_030:\r\n\t\t\treturn CardIds.PilotedWhirlOTron_BG21_HERO_030_Buddy;\r\n\t\tcase CardIds.TamsinRoame_BG20_HERO_282:\r\n\t\t\treturn CardIds.Monstrosity_BG20_HERO_282_Buddy;\r\n\t\tcase CardIds.TavishStormpike_BG22_HERO_000:\r\n\t\t\treturn CardIds.Crabby_BG22_HERO_000_Buddy;\r\n\t\tcase CardIds.TessGreymane_TB_BaconShop_HERO_50:\r\n\t\t\treturn CardIds.HunterOfOld_TB_BaconShop_HERO_50_Buddy;\r\n\t\tcase CardIds.TheCurator_TB_BaconShop_HERO_33:\r\n\t\t\treturn CardIds.Mishmash_TB_BaconShop_HERO_33_Buddy;\r\n\t\tcase CardIds.TheGreatAkazamzarak:\r\n\t\t\treturn CardIds.StreetMagician_TB_BaconShop_HERO_21_Buddy;\r\n\t\tcase CardIds.TheLichKing_TB_BaconShop_HERO_22:\r\n\t\t\treturn CardIds.Arfus_TB_BaconShop_HERO_22_Buddy;\r\n\t\tcase CardIds.TheRatKing_TB_BaconShop_HERO_12:\r\n\t\t\treturn CardIds.PigeonLord_TB_BaconShop_HERO_12_Buddy;\r\n\t\tcase CardIds.Tickatus_TB_BaconShop_HERO_94:\r\n\t\t\treturn CardIds.TicketCollector_TB_BaconShop_HERO_94_Buddy;\r\n\t\tcase CardIds.TradePrinceGallywix_TB_BaconShop_HERO_10:\r\n\t\t\treturn CardIds.BilgewaterMogul_TB_BaconShop_HERO_10_Buddy;\r\n\t\tcase CardIds.VanndarStormpike_BG22_HERO_003:\r\n\t\t\treturn CardIds.StormpikeLieutenant_BG22_HERO_003_Buddy;\r\n\t\tcase CardIds.Voljin_BG20_HERO_201:\r\n\t\t\treturn CardIds.MasterGadrin_BG20_HERO_201_Buddy;\r\n\t\tcase CardIds.Xyrella_BG20_HERO_101:\r\n\t\t\treturn CardIds.BabyElekk_BG20_HERO_101_Buddy;\r\n\t\tcase CardIds.YoggSaronHopesEnd_TB_BaconShop_HERO_35:\r\n\t\t\treturn CardIds.AcolyteOfYoggSaron_TB_BaconShop_HERO_35_Buddy;\r\n\t\tcase CardIds.Ysera_TB_BaconShop_HERO_53:\r\n\t\t\treturn CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy;\r\n\t\tcase CardIds.Yshaarj:\r\n\t\t\treturn CardIds.BabyYshaarj_TB_BaconShop_HERO_92_Buddy;\r\n\t\tcase CardIds.ZephrysTheGreat_TB_BaconShop_HERO_91:\r\n\t\t\treturn CardIds.Phyresz_TB_BaconShop_HERO_91_Buddy;\r\n\t\tcase CardIds.VardenDawngrasp_BG22_HERO_004:\r\n\t\t\treturn CardIds.VardensAquarrior_BG22_HERO_004_Buddy;\r\n\t\tcase CardIds.Rokara_BG20_HERO_100:\r\n\t\t\treturn CardIds.IcesnarlTheMighty_BG20_HERO_100_Buddy;\r\n\t\tcase CardIds.Onyxia_BG22_HERO_305:\r\n\t\t\treturn CardIds.ManyWhelps_BG22_HERO_305_Buddy;\r\n\t\tcase CardIds.AmbassadorFaelin_BG22_HERO_201:\r\n\t\t\treturn CardIds.SubmersibleChef_BG22_HERO_201_Buddy;\r\n\t\tcase CardIds.IniStormcoil_BG22_HERO_200:\r\n\t\t\treturn CardIds.SubScrubber_BG22_HERO_200_Buddy;\r\n\t\tcase CardIds.QueenAzshara_BG22_HERO_007:\r\n\t\t\treturn CardIds.ImperialDefender_BG22_HERO_007_Buddy;\r\n\t\tcase CardIds.Ozumat_BG23_HERO_201:\r\n\t\t\treturn CardIds.Tamuzo_BG23_HERO_201_Buddy;\r\n\t\tcase CardIds.LadyVashj_BG23_HERO_304:\r\n\t\t\treturn CardIds.CoilfangElite_BG23_HERO_304_Buddy;\r\n\t\tcase CardIds.HeistbaronTogwaggle_BG23_HERO_305:\r\n\t\t\treturn CardIds.WaxadredTheDrippy_BG23_HERO_305_Buddy;\r\n\t\tcase CardIds.SireDenathrius_BG24_HERO_100:\r\n\t\t\treturn CardIds.ShadyAristocrat_BG24_HERO_100_Buddy;\r\n\t\tcase CardIds.SylvanasWindrunner_BG23_HERO_306:\r\n\t\t\treturn CardIds.NathanosBlightcaller_BG23_HERO_306_Buddy;\r\n\t\tcase CardIds.TheJailer_TB_BaconShop_HERO_702:\r\n\t\t\treturn CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy;\r\n\t\tcase CardIds.EnhanceOMechano_BG24_HERO_204:\r\n\t\t\treturn CardIds.EnhanceOMedico_BG24_HERO_204_Buddy;\r\n\t\tcase CardIds.ProfessorPutricide_BG25_HERO_100:\r\n\t\t\treturn CardIds.Festergut_BG25_HERO_100_Buddy;\r\n\t\tcase CardIds.TeronGorefiend_BG25_HERO_103:\r\n\t\t\treturn CardIds.ShadowyConstruct_BG25_HERO_103_Buddy;\r\n\t\tcase CardIds.MurlocHolmes_BG23_HERO_303:\r\n\t\t\treturn CardIds.Watfin_BG23_HERO_303_Buddy;\r\n\t\tcase CardIds.ETCBandManager_BG25_HERO_105:\r\n\t\t\treturn CardIds.TalentScout_BG25_HERO_105_Buddy;\r\n\t\tcase CardIds.CapnHoggarr_BG26_HERO_101:\r\n\t\t\treturn CardIds.ShiningSailor_BG26_HERO_101_Buddy;\r\n\t\tcase CardIds.IngeTheIronHymn:\r\n\t\t\treturn CardIds.SolemnSerenader_BG26_HERO_102_Buddy;\r\n\t\tcase CardIds.RockMasterVoone_BG26_HERO_104:\r\n\t\t\treturn CardIds.AkaliRockRhino_BG26_HERO_104_Buddy;\r\n\t\tcase CardIds.ThorimStormlord_BG27_HERO_801:\r\n\t\t\treturn CardIds.VeranusStormlordsMount_BG27_HERO_801_Buddy;\r\n\t\tcase CardIds.SnakeEyes_BG28_HERO_400:\r\n\t\t\treturn CardIds.BoxCars_BG28_HERO_400_Buddy;\r\n\t\tcase CardIds.DoctorHollidae_BG28_HERO_801:\r\n\t\t\treturn CardIds.TheNineFrogs_BG28_HERO_801_Buddy;\r\n\t\tcase CardIds.TaethelanBloodwatcher_BG28_HERO_800:\r\n\t\t\treturn CardIds.ReliquaryAttendant_BG28_HERO_800_Buddy;\r\n\t\tcase CardIds.TheNamelessOne_BGDUO_HERO_100:\r\n\t\t\treturn CardIds.FacelessOne_BGDUO_HERO_100_Buddy;\r\n\t\tcase CardIds.Cho_BGDUO_HERO_222:\r\n\t\t\treturn CardIds.HalfusTheMighty_BGDUO_HERO_222_Buddy;\r\n\t\tcase CardIds.Gall_BGDUO_HERO_223:\r\n\t\t\treturn CardIds.HalfusTheWise_BGDUO_HERO_223_Buddy;\r\n\t\tcase CardIds.MadamGoya_BGDUO_HERO_104:\r\n\t\t\treturn CardIds.MisterChu_BGDUO_HERO_104_Buddy;\r\n\t\tcase CardIds.FlobbidinousFloop_BGDUO_HERO_101:\r\n\t\t\treturn CardIds.GloriousGloopling_BGDUO_HERO_101_Buddy;\r\n\t\tcase CardIds.KerriganQueenOfBlades_BG31_HERO_811:\r\n\t\t\treturn CardIds.BrokenHorn_BG31_HERO_811_Buddy;\r\n\t\tcase CardIds.MarinTheManager_BG30_HERO_304:\r\n\t\t\treturn CardIds.FantasticBellhop_BG30_HERO_304_Buddy;\r\n\t\tcase CardIds.ForestLordCenarius_BG32_HERO_001:\r\n\t\t\treturn CardIds.Malorne_BG32_HERO_001_Buddy;\r\n\t\tcase CardIds.ExarchOthaar_BG31_HERO_006:\r\n\t\t\treturn CardIds.TheCelestialArchive_BG31_HERO_006_Buddy;\r\n\t\tcase CardIds.Buttons_BG32_HERO_002:\r\n\t\t\treturn CardIds.Zippers_BG32_HERO_002_Buddy;\r\n\t\tcase CardIds.ZerekMasterCloner_BG31_HERO_005:\r\n\t\t\treturn CardIds.MiniZerek_BG31_HERO_005_Buddy;\r\n\t\tcase CardIds.JimRaynor_BG31_HERO_801:\r\n\t\t\treturn CardIds.TychusFindlay_BG31_HERO_801_Buddy;\r\n\t\tcase CardIds.Artanis_BG31_HERO_802:\r\n\t\t\treturn CardIds.Probius_BG31_HERO_802_Buddy;\r\n\t\tcase CardIds.LohTheLivingLegend_BG33_HERO_001:\r\n\t\t\treturn CardIds.StoneshellGuardian_BG33_HERO_000_Buddy;\r\n\t\tdefault:\r\n\t\t\tif (!!heroCardId) {\r\n\t\t\t\tconsole.debug('missing buddy section for ', heroCardId);\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const isBaconGhost = (cardId: string): boolean => {\r\n\treturn (\r\n\t\tcardId === CardIds.Kelthuzad_TB_BaconShop_HERO_KelThuzad ||\r\n\t\tcardId === CardIds.LadyDeathwhisper_TB_BaconShop_HERO_Deathwhisper\r\n\t);\r\n};\r\n\r\nexport const getEffectiveTribes = (\r\n\tcard: ReferenceCard,\r\n\tgroupMinionsIntoTheirTribeGroup: boolean,\r\n): readonly string[] => {\r\n\tconst tribes: readonly Race[] = groupMinionsIntoTheirTribeGroup\r\n\t\t? getTribesForInclusion(card, true)\r\n\t\t: getEffectiveTribesEnum(card);\r\n\treturn tribes.map((tribe) => Race[tribe]);\r\n};\r\n\r\n// TODO: use the card tags instead\r\nexport const getTribesForInclusion = (card: ReferenceCard, includeOwnTribe: boolean): readonly Race[] => {\r\n\tif (!card) {\r\n\t\treturn [];\r\n\t}\r\n\tconst nativeRaces = card.races?.map((r) => Race[r]) ?? [];\r\n\tconst cardRaces = includeOwnTribe ? nativeRaces : [];\r\n\tswitch (card.id) {\r\n\t\t// Some cases are only included when specific tribes are\r\n\t\tcase CardIds.BirdBuddy_BG21_002:\r\n\t\tcase CardIds.BirdBuddy_BG21_002_G:\r\n\t\tcase CardIds.PackLeader_BGS_017:\r\n\t\tcase CardIds.PackLeader_TB_BaconUps_086:\r\n\t\tcase CardIds.VirmenSensei_CFM_816:\r\n\t\t// case CardIds.VirmenSensei_TB_BaconUps_074:\r\n\t\tcase CardIds.HoundmasterLegacy:\r\n\t\tcase CardIds.HoundmasterVanilla:\r\n\t\tcase CardIds.Houndmaster_TB_BaconUps_068:\r\n\t\tcase CardIds.Houndmaster_BG_DS1_070:\r\n\t\t\treturn [Race.BEAST, ...cardRaces];\r\n\t\tcase CardIds.ImpatientDoomsayer_BG21_007:\r\n\t\tcase CardIds.ImpatientDoomsayer_BG21_007_G:\r\n\t\tcase CardIds.SoulJuggler_BGS_002:\r\n\t\tcase CardIds.SoulJuggler_TB_BaconUps_075:\r\n\t\tcase CardIds.WrathWeaver_BGS_004:\r\n\t\tcase CardIds.WrathWeaver_TB_BaconUps_079:\r\n\t\tcase CardIds.CultistSthara_BG27_081:\r\n\t\tcase CardIds.CultistSthara_BG27_081_G:\r\n\t\t\treturn [Race.DEMON, ...cardRaces];\r\n\t\tcase CardIds.SeafoodSlinger_BG21_011:\r\n\t\tcase CardIds.SeafoodSlinger_BG21_011_G:\r\n\t\t\treturn [Race.MURLOC, ...cardRaces];\r\n\t\tcase CardIds.NadinaTheRed_BGS_040:\r\n\t\tcase CardIds.NadinaTheRed_TB_BaconUps_154:\r\n\t\t// case CardIds.WaxriderTogwaggle_BGS_035:\r\n\t\t// case CardIds.WaxriderTogwaggle_TB_BaconUps_105:\r\n\t\tcase CardIds.WhelpSmuggler_BG21_013:\r\n\t\tcase CardIds.WhelpSmuggler_BG21_013_G:\r\n\t\t\treturn [Race.DRAGON, ...cardRaces];\r\n\t\tcase CardIds.MajordomoExecutus_BGS_105:\r\n\t\tcase CardIds.MajordomoExecutus_TB_BaconUps_207:\r\n\t\tcase CardIds.MasterOfRealities_BG21_036:\r\n\t\tcase CardIds.MasterOfRealities_BG21_036_G:\r\n\t\tcase CardIds.NomiKitchenNightmare_BGS_104:\r\n\t\tcase CardIds.NomiKitchenNightmare_TB_BaconUps_201:\r\n\t\t\treturn [Race.ELEMENTAL, ...cardRaces];\r\n\t\tcase CardIds.KangorsApprentice_BGS_012:\r\n\t\tcase CardIds.KangorsApprentice_TB_BaconUps_087:\r\n\t\t\treturn [Race.MECH, ...cardRaces];\r\n\t\tcase CardIds.DefiantShipwright_BG21_018:\r\n\t\tcase CardIds.DefiantShipwright_BG21_018_G:\r\n\t\t// case CardIds.TheTideRazor_BGS_079:\r\n\t\t// case CardIds.TheTideRazor_TB_BaconUps_137:\r\n\t\tcase CardIds.CoastGuard_BG31_827:\r\n\t\tcase CardIds.CoastGuard_BG31_827_G:\r\n\t\t\treturn [Race.PIRATE, ...cardRaces];\r\n\t\tcase CardIds.AgamagganTheGreatBoar_BG20_205:\r\n\t\tcase CardIds.AgamagganTheGreatBoar_BG20_205_G:\r\n\t\tcase CardIds.ProphetOfTheBoar_BG20_203:\r\n\t\tcase CardIds.ProphetOfTheBoar_BG20_203_G:\r\n\t\t\treturn [Race.QUILBOAR, ...cardRaces];\r\n\t\tcase CardIds.OrgozoaTheTender_BG23_015:\r\n\t\tcase CardIds.OrgozoaTheTender_BG23_015_G:\r\n\t\t\treturn [Race.NAGA, ...cardRaces];\r\n\t\tcase CardIds.DisguisedGraverobber_BG28_303:\r\n\t\tcase CardIds.DisguisedGraverobber_BG28_303_G:\r\n\t\t\treturn [Race.UNDEAD, ...cardRaces];\r\n\t\tdefault:\r\n\t\t\treturn getEffectiveTribesEnum(card);\r\n\t}\r\n};\r\n\r\n// To avoid braking existing imports\r\nexport const getEffectiveTribesEnum = getEffectiveTribesEnumBase;\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestone-hs/reference-data",
3
- "version": "3.0.170",
3
+ "version": "3.0.171",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf dist && tsc",