@firestone-hs/reference-data 1.0.60 → 1.0.61
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.
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { GameType, Race } from '../public-api';
|
|
1
|
+
import { AllCardsService, GameType, Race } from '../public-api';
|
|
2
2
|
export declare const ALL_BG_RACES: Race[];
|
|
3
3
|
export declare const defaultStartingHp: (gameType: GameType, heroCardId: string) => number;
|
|
4
4
|
export declare const isBattlegrounds: (gameType: GameType) => boolean;
|
|
5
|
+
export declare const normalizeHeroCardId: (heroCardId: string, allCards: AllCardsService) => string;
|
|
6
|
+
export declare const getHeroPower: (heroCardId: string, allCards: AllCardsService) => string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isBattlegrounds = exports.defaultStartingHp = exports.ALL_BG_RACES = void 0;
|
|
3
|
+
exports.getHeroPower = exports.normalizeHeroCardId = exports.isBattlegrounds = exports.defaultStartingHp = exports.ALL_BG_RACES = void 0;
|
|
4
4
|
const public_api_1 = require("../public-api");
|
|
5
5
|
exports.ALL_BG_RACES = [
|
|
6
6
|
public_api_1.Race.BEAST,
|
|
@@ -35,4 +35,239 @@ const isBattlegrounds = (gameType) => {
|
|
|
35
35
|
].includes(gameType);
|
|
36
36
|
};
|
|
37
37
|
exports.isBattlegrounds = isBattlegrounds;
|
|
38
|
+
const normalizeHeroCardId = (heroCardId, allCards) => {
|
|
39
|
+
if (!heroCardId) {
|
|
40
|
+
return heroCardId;
|
|
41
|
+
}
|
|
42
|
+
const normalizedAfterSkin = normalizeHeroCardIdAfterSkin(heroCardId, allCards);
|
|
43
|
+
switch (normalizedAfterSkin) {
|
|
44
|
+
case 'TB_BaconShop_HERO_59t':
|
|
45
|
+
return 'TB_BaconShop_HERO_59';
|
|
46
|
+
case "BG22_HERO_007t":
|
|
47
|
+
return "BG22_HERO_007";
|
|
48
|
+
default:
|
|
49
|
+
return normalizedAfterSkin;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.normalizeHeroCardId = normalizeHeroCardId;
|
|
53
|
+
const normalizeHeroCardIdAfterSkin = (heroCardId, allCards) => {
|
|
54
|
+
const heroCard = allCards.getCard(heroCardId);
|
|
55
|
+
if (!!(heroCard === null || heroCard === void 0 ? void 0 : heroCard.battlegroundsHeroParentDbfId)) {
|
|
56
|
+
const parentCard = allCards.getCardFromDbfId(heroCard.battlegroundsHeroParentDbfId);
|
|
57
|
+
if (!!parentCard) {
|
|
58
|
+
return parentCard.id;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const bgHeroSkinMatch = heroCardId.match(/(.*)_SKIN_.*/);
|
|
62
|
+
if (bgHeroSkinMatch) {
|
|
63
|
+
return bgHeroSkinMatch[1];
|
|
64
|
+
}
|
|
65
|
+
return heroCardId;
|
|
66
|
+
};
|
|
67
|
+
const getHeroPower = (heroCardId, allCards) => {
|
|
68
|
+
const normalized = exports.normalizeHeroCardId(heroCardId, allCards);
|
|
69
|
+
switch (normalized) {
|
|
70
|
+
case 'TB_BaconShop_HERO_01':
|
|
71
|
+
return 'TB_BaconShop_HP_001';
|
|
72
|
+
case 'TB_BaconShop_HERO_02':
|
|
73
|
+
return 'TB_BaconShop_HP_011';
|
|
74
|
+
case 'TB_BaconShop_HERO_08':
|
|
75
|
+
return 'TB_BaconShop_HP_069';
|
|
76
|
+
case "TB_BaconShop_HERO_11":
|
|
77
|
+
return "TB_BaconShop_HP_087";
|
|
78
|
+
case 'TB_BaconShop_HERO_12':
|
|
79
|
+
return 'TB_BaconShop_HP_041';
|
|
80
|
+
case "TB_BaconShop_HERO_14":
|
|
81
|
+
return "TB_BaconShop_HP_037a";
|
|
82
|
+
case 'TB_BaconShop_HERO_15':
|
|
83
|
+
return 'TB_BaconShop_HP_010';
|
|
84
|
+
case 'TB_BaconShop_HERO_16':
|
|
85
|
+
return 'TB_BaconShop_HP_044';
|
|
86
|
+
case 'TB_BaconShop_HERO_17':
|
|
87
|
+
return 'TB_BaconShop_HP_015';
|
|
88
|
+
case 'TB_BaconShop_HERO_18':
|
|
89
|
+
return 'TB_BaconShop_HP_072';
|
|
90
|
+
case 'TB_BaconShop_HERO_20':
|
|
91
|
+
return 'TB_BaconShop_HP_018';
|
|
92
|
+
case 'TB_BaconShop_HERO_21':
|
|
93
|
+
return 'TB_BaconShop_HP_020';
|
|
94
|
+
case 'TB_BaconShop_HERO_22':
|
|
95
|
+
return 'TB_BaconShop_HP_024';
|
|
96
|
+
case 'TB_BaconShop_HERO_23':
|
|
97
|
+
return 'TB_BaconShop_HP_022';
|
|
98
|
+
case 'TB_BaconShop_HERO_25':
|
|
99
|
+
return 'TB_BaconShop_HP_049';
|
|
100
|
+
case 'TB_BaconShop_HERO_27':
|
|
101
|
+
return 'TB_BaconShop_HP_014';
|
|
102
|
+
case 'TB_BaconShop_HERO_28':
|
|
103
|
+
return 'TB_BaconShop_HP_028';
|
|
104
|
+
case 'TB_BaconShop_HERO_30':
|
|
105
|
+
return 'TB_BaconShop_HP_043';
|
|
106
|
+
case 'TB_BaconShop_HERO_31':
|
|
107
|
+
return 'TB_BaconShop_HP_009';
|
|
108
|
+
case 'TB_BaconShop_HERO_33':
|
|
109
|
+
return 'TB_BaconShop_HP_033';
|
|
110
|
+
case 'TB_BaconShop_HERO_34':
|
|
111
|
+
return 'TB_BaconShop_HP_035';
|
|
112
|
+
case 'TB_BaconShop_HERO_35':
|
|
113
|
+
return 'TB_BaconShop_HP_039';
|
|
114
|
+
case 'TB_BaconShop_HERO_36':
|
|
115
|
+
return 'TB_BaconShop_HP_042';
|
|
116
|
+
case 'TB_BaconShop_HERO_37':
|
|
117
|
+
return 'TB_BaconShop_HP_036';
|
|
118
|
+
case 'TB_BaconShop_HERO_38':
|
|
119
|
+
return 'TB_BaconShop_HP_038';
|
|
120
|
+
case 'TB_BaconShop_HERO_39':
|
|
121
|
+
return 'TB_BaconShop_HP_040';
|
|
122
|
+
case 'TB_BaconShop_HERO_40':
|
|
123
|
+
return 'TB_BaconShop_HP_057';
|
|
124
|
+
case 'TB_BaconShop_HERO_41':
|
|
125
|
+
return 'TB_BaconShop_HP_046';
|
|
126
|
+
case 'TB_BaconShop_HERO_42':
|
|
127
|
+
return 'TB_BaconShop_HP_047';
|
|
128
|
+
case 'TB_BaconShop_HERO_43':
|
|
129
|
+
return 'TB_BaconShop_HP_048';
|
|
130
|
+
case 'TB_BaconShop_HERO_45':
|
|
131
|
+
return 'TB_BaconShop_HP_053';
|
|
132
|
+
case 'TB_BaconShop_HERO_47':
|
|
133
|
+
return 'TB_BaconShop_HP_051';
|
|
134
|
+
case 'TB_BaconShop_HERO_49':
|
|
135
|
+
return 'TB_BaconShop_HP_054';
|
|
136
|
+
case 'TB_BaconShop_HERO_50':
|
|
137
|
+
return 'TB_BaconShop_HP_077';
|
|
138
|
+
case 'TB_BaconShop_HERO_52':
|
|
139
|
+
return 'TB_BaconShop_HP_061';
|
|
140
|
+
case 'TB_BaconShop_HERO_53':
|
|
141
|
+
return 'TB_BaconShop_HP_062';
|
|
142
|
+
case 'TB_BaconShop_HERO_55':
|
|
143
|
+
return 'TB_BaconShop_HP_056';
|
|
144
|
+
case 'TB_BaconShop_HERO_56':
|
|
145
|
+
return 'TB_BaconShop_HP_064';
|
|
146
|
+
case 'TB_BaconShop_HERO_57':
|
|
147
|
+
return 'TB_BaconShop_HP_063';
|
|
148
|
+
case 'TB_BaconShop_HERO_58':
|
|
149
|
+
return 'TB_BaconShop_HP_052';
|
|
150
|
+
case 'TB_BaconShop_HERO_59t':
|
|
151
|
+
return 'TB_BaconShop_HP_065t2';
|
|
152
|
+
case 'TB_BaconShop_HERO_59':
|
|
153
|
+
return 'TB_BaconShop_HP_065';
|
|
154
|
+
case 'TB_BaconShop_HERO_60':
|
|
155
|
+
return 'TB_BaconShop_HP_066';
|
|
156
|
+
case 'TB_BaconShop_HERO_61':
|
|
157
|
+
return 'TB_BaconShop_HP_067';
|
|
158
|
+
case 'TB_BaconShop_HERO_62':
|
|
159
|
+
return 'TB_BaconShop_HP_068';
|
|
160
|
+
case 'TB_BaconShop_HERO_64':
|
|
161
|
+
return 'TB_BaconShop_HP_074';
|
|
162
|
+
case "TB_BaconShop_HERO_67":
|
|
163
|
+
return "TB_BaconShop_HP_075";
|
|
164
|
+
case 'TB_BaconShop_HERO_68':
|
|
165
|
+
return 'TB_BaconShop_HP_076';
|
|
166
|
+
case 'TB_BaconShop_HERO_70':
|
|
167
|
+
return 'TB_BaconShop_HP_080';
|
|
168
|
+
case 'TB_BaconShop_HERO_71':
|
|
169
|
+
return 'TB_BaconShop_HP_084';
|
|
170
|
+
case 'TB_BaconShop_HERO_72':
|
|
171
|
+
return 'TB_BaconShop_HP_081';
|
|
172
|
+
case 'TB_BaconShop_HERO_74':
|
|
173
|
+
return 'TB_BaconShop_HP_082';
|
|
174
|
+
case "TB_BaconShop_HERO_78":
|
|
175
|
+
return "TB_BaconShop_HP_088";
|
|
176
|
+
case "TB_BaconShop_HERO_75":
|
|
177
|
+
return "TB_BaconShop_HP_085";
|
|
178
|
+
case "TB_BaconShop_HERO_76":
|
|
179
|
+
return "TB_BaconShop_HP_086";
|
|
180
|
+
case "TB_BaconShop_HERO_91":
|
|
181
|
+
return "TB_BaconShop_HP_102";
|
|
182
|
+
case "TB_BaconShop_HERO_90":
|
|
183
|
+
return "TB_BaconShop_HP_101";
|
|
184
|
+
case "TB_BaconShop_HERO_29":
|
|
185
|
+
return "TB_BaconShop_HP_104";
|
|
186
|
+
case "TB_BaconShop_HERO_93":
|
|
187
|
+
return "TB_BaconShop_HP_105";
|
|
188
|
+
case "TB_BaconShop_HERO_92":
|
|
189
|
+
return "TB_BaconShop_HP_103";
|
|
190
|
+
case "TB_BaconShop_HERO_94":
|
|
191
|
+
return "TB_BaconShop_HP_106";
|
|
192
|
+
case "TB_BaconShop_HERO_95":
|
|
193
|
+
return "TB_BaconShop_HP_107";
|
|
194
|
+
case "BG20_HERO_102":
|
|
195
|
+
return "BG20_HERO_102p";
|
|
196
|
+
case "BG20_HERO_103":
|
|
197
|
+
return "BG20_HERO_103p";
|
|
198
|
+
case "BG20_HERO_201":
|
|
199
|
+
return "BG20_HERO_201p";
|
|
200
|
+
case "BG20_HERO_101":
|
|
201
|
+
return "BG20_HERO_101p";
|
|
202
|
+
case "BG20_HERO_301":
|
|
203
|
+
return "BG20_HERO_301p";
|
|
204
|
+
case "BG20_HERO_242":
|
|
205
|
+
return "BG20_HERO_242p";
|
|
206
|
+
case "BG20_HERO_280":
|
|
207
|
+
return "BG20_HERO_280p";
|
|
208
|
+
case "BG20_HERO_283":
|
|
209
|
+
return "BG20_HERO_283p";
|
|
210
|
+
case "TB_BaconShop_HERO_10":
|
|
211
|
+
return "TB_BaconShop_HP_008";
|
|
212
|
+
case "BG20_HERO_202":
|
|
213
|
+
return "BG20_HERO_202p";
|
|
214
|
+
case "BG21_HERO_000":
|
|
215
|
+
return "BG21_HERO_000p";
|
|
216
|
+
case "BG20_HERO_666":
|
|
217
|
+
return "BG20_HERO_666p";
|
|
218
|
+
case "BG21_HERO_030":
|
|
219
|
+
return "BG21_HERO_030p";
|
|
220
|
+
case "BG21_HERO_020":
|
|
221
|
+
return "BG21_HERO_020p";
|
|
222
|
+
case "BG20_HERO_282":
|
|
223
|
+
return "BG20_HERO_282p";
|
|
224
|
+
case "BG21_HERO_010":
|
|
225
|
+
return "BG21_HERO_010p";
|
|
226
|
+
case "BG22_HERO_001":
|
|
227
|
+
return "BG22_HERO_001p";
|
|
228
|
+
case "BG22_HERO_002":
|
|
229
|
+
return "BG22_HERO_002p";
|
|
230
|
+
case "BG22_HERO_003":
|
|
231
|
+
return "BG22_HERO_003p";
|
|
232
|
+
case "BG22_HERO_000":
|
|
233
|
+
return "BG22_HERO_000p";
|
|
234
|
+
case "BG22_HERO_004":
|
|
235
|
+
return "BG22_HERO_004p";
|
|
236
|
+
case "BG20_HERO_100":
|
|
237
|
+
return "BG20_HERO_100p";
|
|
238
|
+
case "BG22_HERO_305":
|
|
239
|
+
return "BG22_HERO_305p";
|
|
240
|
+
case "BG22_HERO_201":
|
|
241
|
+
return "BG22_HERO_201p";
|
|
242
|
+
case "BG22_HERO_200":
|
|
243
|
+
return "BG22_HERO_200p";
|
|
244
|
+
case "BG22_HERO_007":
|
|
245
|
+
return "BG22_HERO_007p";
|
|
246
|
+
case "BG22_HERO_007t":
|
|
247
|
+
return "BG22_HERO_007p2";
|
|
248
|
+
case "BG23_HERO_201":
|
|
249
|
+
return "BG23_HERO_201p";
|
|
250
|
+
case "BG23_HERO_304":
|
|
251
|
+
return "BG23_HERO_304p";
|
|
252
|
+
case "BG23_HERO_305":
|
|
253
|
+
return "BG23_HERO_305p";
|
|
254
|
+
case "BG23_HERO_303":
|
|
255
|
+
return "BG23_HERO_303p2";
|
|
256
|
+
case "BG24_HERO_100":
|
|
257
|
+
return "BG24_HERO_100p";
|
|
258
|
+
case "BG23_HERO_306":
|
|
259
|
+
return "BG23_HERO_306p";
|
|
260
|
+
case "TB_BaconShop_HERO_702":
|
|
261
|
+
return "TB_BaconShop_HP_702";
|
|
262
|
+
case "BG24_HERO_204":
|
|
263
|
+
return "BG24_HERO_204p";
|
|
264
|
+
case "BG25_HERO_100":
|
|
265
|
+
return "BG25_HERO_100p";
|
|
266
|
+
case "BG25_HERO_103":
|
|
267
|
+
return "BG25_HERO_103p";
|
|
268
|
+
case '':
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
exports.getHeroPower = getHeroPower;
|
|
38
273
|
//# sourceMappingURL=bgs-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bgs-utils.js","sourceRoot":"","sources":["../../src/services/bgs-utils.ts"],"names":[],"mappings":";;;AAAA,8CAAwD;AAE3C,QAAA,YAAY,GAAG;IAC3B,iBAAI,CAAC,KAAK;IACV,iBAAI,CAAC,KAAK;IACV,iBAAI,CAAC,MAAM;IACX,iBAAI,CAAC,IAAI;IACT,iBAAI,CAAC,MAAM;IACX,iBAAI,CAAC,MAAM;IACX,iBAAI,CAAC,SAAS;IACd,iBAAI,CAAC,QAAQ;IACb,iBAAI,CAAC,IAAI;IACT,iBAAI,CAAC,MAAM;CACX,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAE,UAAkB,EAAU,EAAE;IACnF,IAAI,uBAAe,CAAC,QAAQ,CAAC,EAAE;QAC9B,QAAQ,UAAU,EAAE;YACnB;gBACC,OAAO,EAAE,CAAC;YACX;gBACC,OAAO,EAAE,CAAC;SACX;KACD;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAW,EAAE;IAC9D,OAAO;QACN,qBAAQ,CAAC,gBAAgB;QACzB,qBAAQ,CAAC,yBAAyB;QAClC,qBAAQ,CAAC,yBAAyB;QAClC,qBAAQ,CAAC,6BAA6B;KACtC,CAAC,QAAQ,CAAC,QAAoB,CAAC,CAAC;AAClC,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B","sourcesContent":["import { CardIds, GameType, Race } from '../public-api';\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 defaultStartingHp = (gameType: GameType, heroCardId: string): number => {\r\n\tif (isBattlegrounds(gameType)) {\r\n\t\tswitch (heroCardId) {\r\n\t\t\tcase CardIds.PatchwerkBattlegrounds:\r\n\t\t\t\treturn 60;\r\n\t\t\tdefault:\r\n\t\t\t\treturn 40;\r\n\t\t}\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].includes(gameType as GameType);\r\n};\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, GameType, Race } from '../public-api';\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 defaultStartingHp = (gameType: GameType, heroCardId: string): number => {\r\n\tif (isBattlegrounds(gameType)) {\r\n\t\tswitch (heroCardId) {\r\n\t\t\tcase CardIds.PatchwerkBattlegrounds:\r\n\t\t\t\treturn 60;\r\n\t\t\tdefault:\r\n\t\t\t\treturn 40;\r\n\t\t}\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].includes(gameType as GameType);\r\n};\r\n\r\nexport const normalizeHeroCardId = (heroCardId: string, allCards: AllCardsService): 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 = (heroCardId: string, allCards: AllCardsService): string => {\r\n\tconst heroCard = allCards.getCard(heroCardId);\r\n\tif (!!heroCard?.battlegroundsHeroParentDbfId) {\r\n\t\tconst parentCard = allCards.getCardFromDbfId(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\nexport const getHeroPower = (heroCardId: string, allCards: AllCardsService): 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.RagnarosTheFirelordBattlegrounds:\r\n\t\t\treturn CardIds.DieInsectsBattlegrounds_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.QueenWagtoggleBattlegrounds:\r\n\t\t\treturn CardIds.WaxWarbandBattlegrounds;\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 'TB_BaconShop_HERO_23':\r\n\t\t\treturn 'TB_BaconShop_HP_022';\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 'TB_BaconShop_HP_039';\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.CaptainHooktuskBattlegrounds:\r\n\t\t\treturn CardIds.TrashForTreasureBattlegrounds;\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.ChenvaalaBattlegrounds:\r\n\t\t\treturn CardIds.AvalancheBattlegrounds;\r\n\t\tcase CardIds.RakanishuBattlegrounds:\r\n\t\t\treturn CardIds.TavernLightingBattlegrounds;\r\n\t\tcase CardIds.AlakirBattlegrounds:\r\n\t\t\treturn CardIds.SwattingInsectsBattlegrounds;\r\n\t\tcase CardIds.ZephrysTheGreatBattlegrounds:\r\n\t\t\treturn CardIds.ThreeWishesBattlegrounds;\r\n\t\tcase CardIds.SilasDarkmoonBattlegrounds:\r\n\t\t\treturn CardIds.ComeOneComeAllBattlegrounds;\r\n\t\tcase CardIds.CthunBattlegrounds:\r\n\t\t\treturn CardIds.SaturdayCthunsBattlegrounds;\r\n\t\tcase CardIds.NzothBattlegrounds:\r\n\t\t\treturn CardIds.AvatarOfNzothBattlegrounds;\r\n\t\tcase CardIds.YshaarjBattlegrounds:\r\n\t\t\treturn CardIds.EmbraceYourRageBattlegrounds;\r\n\t\tcase CardIds.TickatusBattlegrounds:\r\n\t\t\treturn CardIds.PrizeWallBattlegrounds;\r\n\t\tcase CardIds.GreyboughBattlegrounds:\r\n\t\t\treturn CardIds.SproutItOutBattlegrounds;\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_FinalShowdown;\r\n\t\tcase CardIds.Galewing:\r\n\t\t\treturn CardIds.Galewing_DungarsGryphon;\r\n\t\tcase CardIds.TradePrinceGallywixBattlegrounds:\r\n\t\t\treturn CardIds.SmartSavingsBattlegrounds;\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_ConvictionRank1;\r\n\t\tcase CardIds.Diablo:\r\n\t\t\treturn CardIds.Diablo_RealmOfTerror;\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.TheJailerBattlegrounds:\r\n\t\t\treturn CardIds.RunicEmpowermentBattlegrounds;\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\r\n\t\tcase '':\r\n\t\t\treturn null; // new heroes\r\n\t}\r\n};\r\n"]}
|