@firestone-hs/simulate-bgs-battle 1.1.502 → 1.1.504

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.
Files changed (228) hide show
  1. package/dist/cards/card.interface.d.ts +7 -3
  2. package/dist/cards/card.interface.js +3 -1
  3. package/dist/cards/card.interface.js.map +1 -1
  4. package/dist/cards/cards-data.js +0 -2
  5. package/dist/cards/cards-data.js.map +1 -1
  6. package/dist/cards/impl/_card-mappings.js +101 -1
  7. package/dist/cards/impl/_card-mappings.js.map +1 -1
  8. package/dist/cards/impl/minion/admiral-eliza-goreblade.d.ts +2 -0
  9. package/dist/cards/impl/minion/admiral-eliza-goreblade.js +20 -0
  10. package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -0
  11. package/dist/cards/impl/minion/anubarak-nerubian-king.d.ts +2 -0
  12. package/dist/cards/impl/minion/anubarak-nerubian-king.js +15 -0
  13. package/dist/cards/impl/minion/anubarak-nerubian-king.js.map +1 -0
  14. package/dist/cards/impl/minion/arcane-cannoneer.js +3 -0
  15. package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -1
  16. package/dist/cards/impl/minion/arid-atrocity.d.ts +2 -0
  17. package/dist/cards/impl/minion/arid-atrocity.js +22 -0
  18. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -0
  19. package/dist/cards/impl/minion/assistant-guard.d.ts +2 -0
  20. package/dist/cards/impl/minion/assistant-guard.js +20 -0
  21. package/dist/cards/impl/minion/assistant-guard.js.map +1 -0
  22. package/dist/cards/impl/minion/bannerboar.d.ts +1 -1
  23. package/dist/cards/impl/minion/bannerboar.js +4 -4
  24. package/dist/cards/impl/minion/bannerboar.js.map +1 -1
  25. package/dist/cards/impl/minion/beetle.js +3 -3
  26. package/dist/cards/impl/minion/beetle.js.map +1 -1
  27. package/dist/cards/impl/minion/blazing-skyfin.d.ts +2 -0
  28. package/dist/cards/impl/minion/blazing-skyfin.js +12 -0
  29. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -0
  30. package/dist/cards/impl/minion/bongo-bopper.d.ts +2 -0
  31. package/dist/cards/impl/minion/bongo-bopper.js +15 -0
  32. package/dist/cards/impl/minion/bongo-bopper.js.map +1 -0
  33. package/dist/cards/impl/minion/champion-of-the-primus.d.ts +2 -0
  34. package/dist/cards/impl/minion/champion-of-the-primus.js +15 -0
  35. package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -0
  36. package/dist/cards/impl/minion/charlga.d.ts +2 -0
  37. package/dist/cards/impl/minion/charlga.js +15 -0
  38. package/dist/cards/impl/minion/charlga.js.map +1 -0
  39. package/dist/cards/impl/minion/clunker-junker.d.ts +2 -0
  40. package/dist/cards/impl/minion/clunker-junker.js +24 -0
  41. package/dist/cards/impl/minion/clunker-junker.js.map +1 -0
  42. package/dist/cards/impl/minion/corrupted-myrmidon.d.ts +2 -5
  43. package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -0
  44. package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
  45. package/dist/cards/impl/minion/cruise-controller.d.ts +2 -0
  46. package/dist/cards/impl/minion/cruise-controller.js +11 -0
  47. package/dist/cards/impl/minion/cruise-controller.js.map +1 -0
  48. package/dist/cards/impl/minion/defiant-shipwright.d.ts +2 -0
  49. package/dist/cards/impl/minion/defiant-shipwright.js +13 -0
  50. package/dist/cards/impl/minion/defiant-shipwright.js.map +1 -0
  51. package/dist/cards/impl/minion/deflecto-bot.d.ts +2 -0
  52. package/dist/cards/impl/minion/deflecto-bot.js +21 -0
  53. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -0
  54. package/dist/cards/impl/minion/efficient-engineer.js +8 -1
  55. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
  56. package/dist/cards/impl/minion/fairy-gillmother.js +2 -2
  57. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
  58. package/dist/cards/impl/minion/gem-smuggler.d.ts +2 -0
  59. package/dist/cards/impl/minion/gem-smuggler.js +14 -0
  60. package/dist/cards/impl/minion/gem-smuggler.js.map +1 -0
  61. package/dist/cards/impl/minion/general-drakkisath.d.ts +2 -0
  62. package/dist/cards/impl/minion/general-drakkisath.js +17 -0
  63. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -0
  64. package/dist/cards/impl/minion/grease-bot.d.ts +2 -0
  65. package/dist/cards/impl/minion/grease-bot.js +13 -0
  66. package/dist/cards/impl/minion/grease-bot.js.map +1 -0
  67. package/dist/cards/impl/minion/holo-rover.js +3 -0
  68. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  69. package/dist/cards/impl/minion/hungry-snapjaw.js +2 -2
  70. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  71. package/dist/cards/impl/minion/hunter-of-gatherers.d.ts +2 -0
  72. package/dist/cards/impl/minion/hunter-of-gatherers.js +13 -0
  73. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -0
  74. package/dist/cards/impl/minion/implant-subject.js +2 -2
  75. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  76. package/dist/cards/impl/minion/impulsive-trickster.d.ts +2 -0
  77. package/dist/cards/impl/minion/impulsive-trickster.js +14 -0
  78. package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -0
  79. package/dist/cards/impl/minion/inspiring-underdog.d.ts +2 -0
  80. package/dist/cards/impl/minion/inspiring-underdog.js +18 -0
  81. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -0
  82. package/dist/cards/impl/minion/interrogator-whitemane.d.ts +2 -5
  83. package/dist/cards/impl/minion/interrogator-whitemane.js +1 -0
  84. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  85. package/dist/cards/impl/minion/kalecgos-arcane-aspect.d.ts +2 -0
  86. package/dist/cards/impl/minion/kalecgos-arcane-aspect.js +13 -0
  87. package/dist/cards/impl/minion/kalecgos-arcane-aspect.js.map +1 -0
  88. package/dist/cards/impl/minion/kangors-apprentice.d.ts +2 -0
  89. package/dist/cards/impl/minion/kangors-apprentice.js +21 -0
  90. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -0
  91. package/dist/cards/impl/minion/king-bagurgle.d.ts +2 -0
  92. package/dist/cards/impl/minion/king-bagurgle.js +12 -0
  93. package/dist/cards/impl/minion/king-bagurgle.js.map +1 -0
  94. package/dist/cards/impl/minion/leeroy-the-reckless.d.ts +2 -0
  95. package/dist/cards/impl/minion/leeroy-the-reckless.js +12 -0
  96. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -0
  97. package/dist/cards/impl/minion/lightfang-enforcer.d.ts +2 -0
  98. package/dist/cards/impl/minion/lightfang-enforcer.js +13 -0
  99. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -0
  100. package/dist/cards/impl/minion/lovesick-balladist.d.ts +2 -0
  101. package/dist/cards/impl/minion/lovesick-balladist.js +25 -0
  102. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -0
  103. package/dist/cards/impl/minion/mecha-jaraxxus.d.ts +2 -0
  104. package/dist/cards/impl/minion/mecha-jaraxxus.js +12 -0
  105. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -0
  106. package/dist/cards/impl/minion/misfit-dragonling.d.ts +2 -5
  107. package/dist/cards/impl/minion/misfit-dragonling.js +1 -0
  108. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  109. package/dist/cards/impl/minion/mummifier.d.ts +2 -0
  110. package/dist/cards/impl/minion/mummifier.js +25 -0
  111. package/dist/cards/impl/minion/mummifier.js.map +1 -0
  112. package/dist/cards/impl/minion/murky.d.ts +2 -0
  113. package/dist/cards/impl/minion/murky.js +20 -0
  114. package/dist/cards/impl/minion/murky.js.map +1 -0
  115. package/dist/cards/impl/minion/mutated-lasher.d.ts +2 -2
  116. package/dist/cards/impl/minion/mutated-lasher.js +3 -3
  117. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  118. package/dist/cards/impl/minion/neon-agent.js +3 -0
  119. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  120. package/dist/cards/impl/minion/nerubian-deathswarmer.d.ts +2 -0
  121. package/dist/cards/impl/minion/nerubian-deathswarmer.js +16 -0
  122. package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -0
  123. package/dist/cards/impl/minion/niuzao.js +3 -0
  124. package/dist/cards/impl/minion/niuzao.js.map +1 -1
  125. package/dist/cards/impl/minion/oozeling-gladiator.d.ts +2 -0
  126. package/dist/cards/impl/minion/oozeling-gladiator.js +14 -0
  127. package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -0
  128. package/dist/cards/impl/minion/operatic-belcher.d.ts +2 -0
  129. package/dist/cards/impl/minion/operatic-belcher.js +26 -0
  130. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -0
  131. package/dist/cards/impl/minion/parched-wanderer.d.ts +2 -0
  132. package/dist/cards/impl/minion/parched-wanderer.js +20 -0
  133. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -0
  134. package/dist/cards/impl/minion/peggy-sturdybone.d.ts +2 -0
  135. package/dist/cards/impl/minion/peggy-sturdybone.js +17 -0
  136. package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -0
  137. package/dist/cards/impl/minion/primalfin-lookout.d.ts +2 -0
  138. package/dist/cards/impl/minion/primalfin-lookout.js +27 -0
  139. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -0
  140. package/dist/cards/impl/minion/prized-promo-drake.d.ts +2 -5
  141. package/dist/cards/impl/minion/prized-promo-drake.js +1 -0
  142. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  143. package/dist/cards/impl/minion/rapscallion-recruiter.d.ts +2 -0
  144. package/dist/cards/impl/minion/rapscallion-recruiter.js +13 -0
  145. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -0
  146. package/dist/cards/impl/minion/razorfen-geomancer.d.ts +2 -0
  147. package/dist/cards/impl/minion/razorfen-geomancer.js +14 -0
  148. package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -0
  149. package/dist/cards/impl/minion/reckless-cliffdiver.js +1 -1
  150. package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -1
  151. package/dist/cards/impl/minion/ripsnarl-captain.d.ts +2 -0
  152. package/dist/cards/impl/minion/ripsnarl-captain.js +18 -0
  153. package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -0
  154. package/dist/cards/impl/minion/rodeo-performer.d.ts +2 -0
  155. package/dist/cards/impl/minion/rodeo-performer.js +12 -0
  156. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -0
  157. package/dist/cards/impl/minion/scallywag.d.ts +2 -0
  158. package/dist/cards/impl/minion/scallywag.js +13 -0
  159. package/dist/cards/impl/minion/scallywag.js.map +1 -0
  160. package/dist/cards/impl/minion/shell-collector.d.ts +2 -0
  161. package/dist/cards/impl/minion/shell-collector.js +14 -0
  162. package/dist/cards/impl/minion/shell-collector.js.map +1 -0
  163. package/dist/cards/impl/minion/sinodorei-straight-shot.d.ts +2 -0
  164. package/dist/cards/impl/minion/sinodorei-straight-shot.js +14 -0
  165. package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -0
  166. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.d.ts +2 -0
  167. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js +16 -0
  168. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js.map +1 -0
  169. package/dist/cards/impl/minion/sky-pirate-flagbearer.d.ts +2 -5
  170. package/dist/cards/impl/minion/sky-pirate-flagbearer.js +1 -0
  171. package/dist/cards/impl/minion/sky-pirate-flagbearer.js.map +1 -1
  172. package/dist/cards/impl/minion/smolderwing.d.ts +2 -0
  173. package/dist/cards/impl/minion/smolderwing.js +25 -0
  174. package/dist/cards/impl/minion/smolderwing.js.map +1 -0
  175. package/dist/cards/impl/minion/spacefarer.js +4 -2
  176. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  177. package/dist/cards/impl/minion/swampstriker.d.ts +2 -0
  178. package/dist/cards/impl/minion/swampstriker.js +21 -0
  179. package/dist/cards/impl/minion/swampstriker.js.map +1 -0
  180. package/dist/cards/impl/minion/three-lil-quilboar.d.ts +2 -0
  181. package/dist/cards/impl/minion/three-lil-quilboar.js +16 -0
  182. package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -0
  183. package/dist/cards/impl/minion/thundering-abomination.d.ts +2 -0
  184. package/dist/cards/impl/minion/thundering-abomination.js +13 -0
  185. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -0
  186. package/dist/cards/impl/minion/tunnel-blaster.d.ts +2 -0
  187. package/dist/cards/impl/minion/tunnel-blaster.js +20 -0
  188. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -0
  189. package/dist/cards/impl/minion/wandering-wight.js +1 -1
  190. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  191. package/dist/cards/impl/minion/whelp-smuggler.d.ts +2 -0
  192. package/dist/cards/impl/minion/whelp-smuggler.js +18 -0
  193. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -0
  194. package/dist/cards/impl/trinket/automaton-portrait.js +1 -0
  195. package/dist/cards/impl/trinket/automaton-portrait.js.map +1 -1
  196. package/dist/cards/impl/trinket/karazhan-chess-set.js +2 -1
  197. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  198. package/dist/cards/impl/trinket/rusty-trident.js +1 -0
  199. package/dist/cards/impl/trinket/rusty-trident.js.map +1 -1
  200. package/dist/keywords/divine-shield.d.ts +2 -0
  201. package/dist/keywords/divine-shield.js +3 -11
  202. package/dist/keywords/divine-shield.js.map +1 -1
  203. package/dist/simulate-bgs-battle.js +1 -5
  204. package/dist/simulate-bgs-battle.js.map +1 -1
  205. package/dist/simulation/add-minion-to-board.d.ts +13 -6
  206. package/dist/simulation/add-minion-to-board.js +20 -38
  207. package/dist/simulation/add-minion-to-board.js.map +1 -1
  208. package/dist/simulation/avenge.js +0 -6
  209. package/dist/simulation/avenge.js.map +1 -1
  210. package/dist/simulation/battlecries.js +16 -188
  211. package/dist/simulation/battlecries.js.map +1 -1
  212. package/dist/simulation/cards-in-hand.js +0 -9
  213. package/dist/simulation/cards-in-hand.js.map +1 -1
  214. package/dist/simulation/deathrattle-effects.js +0 -103
  215. package/dist/simulation/deathrattle-effects.js.map +1 -1
  216. package/dist/simulation/deathrattle-spawns.js +0 -48
  217. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  218. package/dist/simulation/on-attack.d.ts +1 -0
  219. package/dist/simulation/on-attack.js +16 -42
  220. package/dist/simulation/on-attack.js.map +1 -1
  221. package/dist/simulation/on-being-attacked.js +0 -7
  222. package/dist/simulation/on-being-attacked.js.map +1 -1
  223. package/dist/simulation/start-of-combat/soc-action-processor.js +0 -16
  224. package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  225. package/dist/simulation/stats.d.ts +1 -0
  226. package/dist/simulation/stats.js +5 -18
  227. package/dist/simulation/stats.js.map +1 -1
  228. package/package.json +1 -1
@@ -14,8 +14,6 @@ const blood_gems_1 = require("./blood-gems");
14
14
  const cards_in_hand_1 = require("./cards-in-hand");
15
15
  const damage_to_hero_1 = require("./damage-to-hero");
16
16
  const deathrattle_spawns_1 = require("./deathrattle-spawns");
17
- const discover_1 = require("./discover");
18
- const magnetize_1 = require("./magnetize");
19
17
  const spawns_1 = require("./spawns");
20
18
  const stats_1 = require("./stats");
21
19
  const golden_1 = require("./utils/golden");
@@ -35,7 +33,7 @@ const computeBattlecryMultiplier = (board, boardHero, sharedState) => {
35
33
  };
36
34
  exports.computeBattlecryMultiplier = computeBattlecryMultiplier;
37
35
  const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState) => {
38
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
36
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
39
37
  const allMinions = [...board, ...otherBoard];
40
38
  const totalTriggers = (0, exports.computeBattlecryMultiplier)(board, hero, gameState.sharedState);
41
39
  for (let z = 0; z < totalTriggers; z++) {
@@ -52,13 +50,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
52
50
  }
53
51
  else {
54
52
  switch (entity.cardId) {
55
- case "BG20_100":
56
- case "BG20_100_G":
57
- const razorFenCardsToAdd = entity.cardId === "BG20_100"
58
- ? ["BG20_GEM"]
59
- : ["BG20_GEM", "BG20_GEM"];
60
- (0, cards_in_hand_1.addCardsInHand)(hero, board, razorFenCardsToAdd, gameState);
61
- break;
62
53
  case "BG_UNG_073":
63
54
  case "TB_BaconUps_061":
64
55
  const rockPoolTarget = (0, utils_2.getRandomAliveMinion)(board, hero, reference_data_1.Race.MURLOC, gameState.allCards);
@@ -68,13 +59,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
68
59
  gameState.spectator.registerPowerTarget(entity, rockPoolTarget, board, hero, otherHero);
69
60
  }
70
61
  break;
71
- case "BG23_002":
72
- case "BG23_002_G":
73
- const shellCollectorCardsToAdd = entity.cardId === "BG23_002"
74
- ? ["GAME_005"]
75
- : ["GAME_005", "GAME_005"];
76
- (0, cards_in_hand_1.addCardsInHand)(hero, board, shellCollectorCardsToAdd, gameState);
77
- break;
78
62
  case "BGS_082":
79
63
  case "TB_BaconUps_144":
80
64
  const menagerieMugStats = entity.cardId === "BGS_082" ? 1 : 2;
@@ -85,13 +69,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
85
69
  const menagerieJugStats = entity.cardId === "BGS_083" ? 2 : 4;
86
70
  (0, utils_2.grantStatsToMinionsOfEachType)(entity, board, hero, menagerieJugStats, menagerieJugStats, gameState, 3);
87
71
  break;
88
- case "BG25_011":
89
- case "BG25_011_G":
90
- const nerubianDeathswarmerStats = entity.cardId === "BG25_011" ? 1 : 2;
91
- hero.globalInfo.UndeadAttackBonus =
92
- ((_b = (_a = hero.globalInfo) === null || _a === void 0 ? void 0 : _a.UndeadAttackBonus) !== null && _b !== void 0 ? _b : 0) + nerubianDeathswarmerStats;
93
- (0, utils_2.addStatsToBoard)(entity, board, hero, nerubianDeathswarmerStats, 0, gameState, reference_data_1.Race[reference_data_1.Race.UNDEAD]);
94
- break;
95
72
  case "BG_AT_069":
96
73
  case "BG_AT_069_G":
97
74
  const sparringPartnersTargets = allMinions.filter((e) => !e.taunt);
@@ -137,14 +114,14 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
137
114
  case "BG26_159_G":
138
115
  const moonBaconJazzerStats = entity.cardId === "BG26_159" ? 1 : 2;
139
116
  hero.globalInfo.BloodGemHealthBonus =
140
- ((_d = (_c = hero.globalInfo) === null || _c === void 0 ? void 0 : _c.BloodGemHealthBonus) !== null && _d !== void 0 ? _d : 0) + moonBaconJazzerStats;
117
+ ((_b = (_a = hero.globalInfo) === null || _a === void 0 ? void 0 : _a.BloodGemHealthBonus) !== null && _b !== void 0 ? _b : 0) + moonBaconJazzerStats;
141
118
  break;
142
119
  case "BG21_021":
143
120
  case "BG21_021_G":
144
121
  const smoggerLoops = entity.cardId === "BG21_021" ? 1 : 2;
145
122
  for (let i = 0; i < smoggerLoops; i++) {
146
123
  const smoggerTarget = (0, utils_2.getRandomAliveMinion)(board, hero, reference_data_1.Race.ELEMENTAL, gameState.allCards);
147
- const smoggerStats = (_e = hero.tavernTier) !== null && _e !== void 0 ? _e : 3;
124
+ const smoggerStats = (_c = hero.tavernTier) !== null && _c !== void 0 ? _c : 3;
148
125
  (0, stats_1.modifyStats)(smoggerTarget, smoggerStats, smoggerStats, board, hero, gameState);
149
126
  gameState.spectator.registerPowerTarget(entity, smoggerTarget, board, hero, otherHero);
150
127
  }
@@ -165,10 +142,10 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
165
142
  gameState.spectator.registerPowerTarget(entity, necrolyteTarget, board, hero, otherHero);
166
143
  const necrolyteTargetNeighbours = (0, attack_1.getNeighbours)(board, necrolyteTarget);
167
144
  for (const neighbour of necrolyteTargetNeighbours) {
168
- const bloodGemStatsEnchantment = (_f = neighbour.enchantments) === null || _f === void 0 ? void 0 : _f.find((e) => e.cardId === "BG20_GEMe2");
145
+ const bloodGemStatsEnchantment = (_d = neighbour.enchantments) === null || _d === void 0 ? void 0 : _d.find((e) => e.cardId === "BG20_GEMe2");
169
146
  if (bloodGemStatsEnchantment) {
170
- const atk = (_g = bloodGemStatsEnchantment.tagScriptDataNum1) !== null && _g !== void 0 ? _g : 0;
171
- const heath = (_h = bloodGemStatsEnchantment.tagScriptDataNum2) !== null && _h !== void 0 ? _h : 0;
147
+ const atk = (_e = bloodGemStatsEnchantment.tagScriptDataNum1) !== null && _e !== void 0 ? _e : 0;
148
+ const heath = (_f = bloodGemStatsEnchantment.tagScriptDataNum2) !== null && _f !== void 0 ? _f : 0;
172
149
  neighbour.attack = Math.max(0, neighbour.attack - atk);
173
150
  neighbour.health = Math.max(1, neighbour.health - heath);
174
151
  neighbour.maxHealth = Math.max(1, neighbour.maxHealth - heath);
@@ -179,23 +156,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
179
156
  }
180
157
  }
181
158
  break;
182
- case "BGS_020":
183
- case "TB_BaconUps_089":
184
- const primalfinLoops = entity.cardId === "BGS_020" ? 1 : 2;
185
- for (let i = 0; i < primalfinLoops; i++) {
186
- const discoverOptions = [
187
- gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_j = hero.tavernTier) !== null && _j !== void 0 ? _j : 1),
188
- gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_k = hero.tavernTier) !== null && _k !== void 0 ? _k : 1),
189
- gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_l = hero.tavernTier) !== null && _l !== void 0 ? _l : 1),
190
- ];
191
- const picked = (0, utils_1.pickRandom)(discoverOptions);
192
- const others = discoverOptions.filter((e) => e !== picked);
193
- (0, cards_in_hand_1.addCardsInHand)(hero, board, [picked], gameState);
194
- (0, discover_1.afterDiscover)(hero, board, picked, others, gameState);
195
- gameState.spectator.registerPowerTarget(entity, hero, board, hero, otherHero);
196
- break;
197
- }
198
- break;
199
159
  case "BG_ICC_807":
200
160
  case "TB_BaconUps_072":
201
161
  const strongshellScavengerStats = entity.cardId === "BG_ICC_807" ? 2 : 4;
@@ -223,20 +183,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
223
183
  (0, stats_1.modifyStats)(bonemareTarget, bonemareStats, bonemareStats, board, hero, gameState);
224
184
  gameState.spectator.registerPowerTarget(entity, bonemareTarget, board, hero, otherHero);
225
185
  break;
226
- case "BG25_309":
227
- case "BG25_309_G":
228
- const generalDrakkisathCardsToAdd = entity.cardId === "BG25_309"
229
- ? ["BG25_309t"]
230
- : [
231
- "BG25_309t",
232
- "BG25_309t",
233
- ];
234
- (0, cards_in_hand_1.addCardsInHand)(hero, board, generalDrakkisathCardsToAdd, gameState);
235
- break;
236
- case "BGS_030":
237
- case "TB_BaconUps_100":
238
- (0, utils_2.addStatsToBoard)(entity, board.filter((e) => e.entityId != entity.entityId), hero, entity.cardId === "BGS_030" ? 3 : 6, entity.cardId === "BGS_030" ? 3 : 6, gameState, reference_data_1.Race[reference_data_1.Race.MURLOC]);
239
- break;
240
186
  case "BGS_043":
241
187
  case "TB_BaconUps_110":
242
188
  const murozondCardsToAdd = entity.cardId === "BGS_043"
@@ -251,20 +197,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
251
197
  : ["GAME_005", "GAME_005"];
252
198
  (0, cards_in_hand_1.addCardsInHand)(hero, board, tavernTempestCardsToAdd, gameState);
253
199
  break;
254
- case "BG25_807":
255
- case "BG25_807_G":
256
- const mechaJaraxxusCardsToAdd = entity.cardId === "BG25_807"
257
- ? ["GAME_005"]
258
- : ["GAME_005", "GAME_005"];
259
- (0, cards_in_hand_1.addCardsInHand)(hero, board, mechaJaraxxusCardsToAdd, gameState);
260
- break;
261
- case "BG27_002":
262
- case "BG27_002_G":
263
- const oozelingCardsToAdd = entity.cardId === "BG27_002"
264
- ? ["GAME_005", "GAME_005"]
265
- : ["GAME_005", "GAME_005", "GAME_005", "GAME_005"];
266
- (0, cards_in_hand_1.addCardsInHand)(hero, board, oozelingCardsToAdd, gameState);
267
- break;
268
200
  case "BG23_190":
269
201
  case "BG23_190_G":
270
202
  const utherTarget = (0, utils_1.pickRandom)(allMinions);
@@ -304,22 +236,11 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
304
236
  const targetBoard = board.includes(emergentFlameTarget) ? board : otherBoard;
305
237
  const targetHero = board.includes(emergentFlameTarget) ? hero : otherHero;
306
238
  const emergentFlameMultiplier = entity.cardId === "BG27_018" ? 1 : 2;
307
- const emergentFlameStats = ((_m = entity.scriptDataNum1) !== null && _m !== void 0 ? _m : 1) * emergentFlameMultiplier;
239
+ const emergentFlameStats = ((_g = entity.scriptDataNum1) !== null && _g !== void 0 ? _g : 1) * emergentFlameMultiplier;
308
240
  (0, stats_1.modifyStats)(emergentFlameTarget, emergentFlameStats, emergentFlameStats, targetBoard, targetHero, gameState);
309
241
  gameState.spectator.registerPowerTarget(entity, emergentFlameTarget, targetBoard, hero, otherHero);
310
242
  }
311
243
  break;
312
- case "BG25_309t":
313
- case "BG25_309_Gt":
314
- const smolderwingTarget = (0, utils_1.pickRandom)(allMinions.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.DRAGON, gameState.allCards)));
315
- if (!!smolderwingTarget) {
316
- const targetBoard = board.includes(smolderwingTarget) ? board : otherBoard;
317
- const targetHero = board.includes(smolderwingTarget) ? hero : otherHero;
318
- const smolderwingMultiplier = entity.cardId === "BG25_309t" ? 1 : 2;
319
- const smolderwingStats = 5 * smolderwingMultiplier;
320
- (0, stats_1.modifyStats)(smolderwingTarget, smolderwingStats, 0, targetBoard, targetHero, gameState);
321
- }
322
- break;
323
244
  case "BG_SCH_149":
324
245
  case "TB_BaconUps_308":
325
246
  const highestAttack = Math.max(...allMinions.map((minion) => minion.attack));
@@ -341,29 +262,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
341
262
  hero.globalInfo.BloodGemAttackBonus += sanguineChampionStats;
342
263
  hero.globalInfo.BloodGemHealthBonus += sanguineChampionStats;
343
264
  break;
344
- case "BG24_012":
345
- case "BG24_012_G":
346
- const murkyScale = entity.cardId === "BG24_012" ? 1 : 2;
347
- const murlocsControlled = board.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.MURLOC, gameState.allCards)).length;
348
- const murkyStats = murkyScale * 3 * murlocsControlled;
349
- const murkyTarget = (0, utils_1.pickRandom)(board.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.MURLOC, gameState.allCards)));
350
- if (!!murkyTarget) {
351
- (0, stats_1.modifyStats)(murkyTarget, murkyStats, murkyStats, board, hero, gameState);
352
- }
353
- break;
354
- case "BG26_814":
355
- case "BG26_814_G":
356
- const balladistMultiplier = entity.cardId === "BG26_814" ? 1 : 2;
357
- const balladistStats = balladistMultiplier * ((_o = entity.scriptDataNum1) !== null && _o !== void 0 ? _o : 0);
358
- const balladistTargets = allMinions.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.PIRATE, gameState.allCards));
359
- const balladistTarget = (0, utils_1.pickRandom)(balladistTargets);
360
- if (balladistTarget) {
361
- const targetBoard = board.includes(balladistTarget) ? board : otherBoard;
362
- const targetHero = board.includes(balladistTarget) ? hero : otherHero;
363
- (0, stats_1.modifyStats)(balladistTarget, 0, balladistStats, targetBoard, targetHero, gameState);
364
- gameState.spectator.registerPowerTarget(entity, balladistTarget, targetBoard, targetHero, otherHero);
365
- }
366
- break;
367
265
  case "BG24_719":
368
266
  case "BG24_719_G":
369
267
  const target = (0, utils_1.pickRandom)(allMinions.filter((e) => !e.definitelyDead && e.health > 0));
@@ -371,7 +269,7 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
371
269
  gameState.spectator.registerPowerTarget(entity, target, board, hero, otherHero);
372
270
  const minionTier = gameState.cardsData.getTavernLevel(target.cardId);
373
271
  const targetTier = entity.cardId === "BG24_719" ? minionTier + 1 : minionTier + 2;
374
- const maxTier = !!((_p = gameState.anomalies) === null || _p === void 0 ? void 0 : _p.includes("BG27_Anomaly_504"))
272
+ const maxTier = !!((_h = gameState.anomalies) === null || _h === void 0 ? void 0 : _h.includes("BG27_Anomaly_504"))
375
273
  ? 7
376
274
  : 6;
377
275
  const newMinionId = gameState.cardsData.getRandomMinionForTavernTier(Math.min(maxTier, targetTier));
@@ -413,7 +311,7 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
413
311
  (0, stats_1.modifyStats)(entity, 3, 0, board, hero, gameState);
414
312
  break;
415
313
  case "UNG_999t2":
416
- entity.enchantments = (_q = entity.enchantments) !== null && _q !== void 0 ? _q : [];
314
+ entity.enchantments = (_j = entity.enchantments) !== null && _j !== void 0 ? _j : [];
417
315
  entity.enchantments.push({
418
316
  cardId: "UNG_999t2e",
419
317
  timing: 0,
@@ -440,11 +338,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
440
338
  }
441
339
  }
442
340
  break;
443
- case "BG28_550":
444
- case "BG28_550_G":
445
- const rodeoPerformerCardsToAdd = entity.cardId === "BG28_550_G" ? [null] : [null, null];
446
- (0, cards_in_hand_1.addCardsInHand)(hero, board, rodeoPerformerCardsToAdd, gameState);
447
- break;
448
341
  case "BG28_630":
449
342
  case "BG28_630_G":
450
343
  const eagillMultiplier = entity.cardId === "BG28_630" ? 1 : 2;
@@ -464,23 +357,13 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
464
357
  const weebominationMultiplier = entity.cardId === "TB_BaconShop_HERO_34_Buddy" ? 1 : 2;
465
358
  const weebominationTarget = (0, utils_1.pickRandom)(allMinions);
466
359
  if (weebominationTarget) {
467
- const heroMaxHealth = (_s = (_r = gameState.allCards.getCard(hero.cardId)) === null || _r === void 0 ? void 0 : _r.health) !== null && _s !== void 0 ? _s : 40;
360
+ const heroMaxHealth = (_l = (_k = gameState.allCards.getCard(hero.cardId)) === null || _k === void 0 ? void 0 : _k.health) !== null && _l !== void 0 ? _l : 40;
468
361
  const heroMissingHealth = heroMaxHealth - hero.hpLeft;
469
362
  const weebominationBuff = weebominationMultiplier * heroMissingHealth;
470
363
  (0, stats_1.modifyStats)(weebominationTarget, 0, weebominationBuff, board, hero, gameState);
471
364
  gameState.spectator.registerPowerTarget(entity, weebominationTarget, board, hero, otherHero);
472
365
  }
473
366
  break;
474
- case "BG29_845":
475
- case "BG29_845_G":
476
- const assistantGuardMultiplier = entity.cardId === "BG29_845" ? 1 : 2;
477
- const assistantGuardTarget = (0, utils_1.pickRandom)(allMinions);
478
- if (assistantGuardTarget) {
479
- (0, taunt_1.updateTaunt)(assistantGuardTarget, true, board, hero, otherHero, gameState);
480
- gameState.spectator.registerPowerTarget(entity, assistantGuardTarget, board, hero, otherHero);
481
- }
482
- (0, utils_2.addStatsToBoard)(entity, board.filter((e) => !!e.taunt), hero, assistantGuardMultiplier * 2, assistantGuardMultiplier * 3, gameState);
483
- break;
484
367
  case "BG29_803":
485
368
  case "BG29_803_G":
486
369
  const goldshellMultiplier = entity.cardId === "BG29_803_G" ? 2 : 1;
@@ -491,13 +374,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
491
374
  const shellWhistlerCardsToAdd = entity.cardId === "BG26_045_G" ? [null] : [null, null];
492
375
  (0, cards_in_hand_1.addCardsInHand)(hero, board, shellWhistlerCardsToAdd, gameState);
493
376
  break;
494
- case "BG25_155":
495
- case "BG25_155_G":
496
- const gemSmugglerBloodGems = entity.cardId === "BG25_155" ? 1 : 2;
497
- board
498
- .filter((e) => e.entityId !== entity.entityId)
499
- .forEach((e) => (0, blood_gems_1.playBloodGemsOn)(entity, e, gemSmugglerBloodGems, board, hero, gameState));
500
- break;
501
377
  case "BG28_303":
502
378
  case "BG28_303_G":
503
379
  const disguisedGraverobberTarget = (0, utils_1.pickRandomAlive)(board.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.UNDEAD, gameState.allCards)));
@@ -535,8 +411,8 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
535
411
  const targetBoard = board.includes(conductorTarget) ? board : otherBoard;
536
412
  const targetHero = board.includes(conductorTarget) ? hero : otherHero;
537
413
  const multiplier = entity.cardId === "BGDUO_119" ? 1 : 2;
538
- const attackStats = 2 * ((_t = entity.scriptDataNum1) !== null && _t !== void 0 ? _t : 1) * multiplier;
539
- const healthStats = 2 * ((_u = entity.scriptDataNum1) !== null && _u !== void 0 ? _u : 1) * multiplier;
414
+ const attackStats = 2 * ((_m = entity.scriptDataNum1) !== null && _m !== void 0 ? _m : 1) * multiplier;
415
+ const healthStats = 2 * ((_o = entity.scriptDataNum1) !== null && _o !== void 0 ? _o : 1) * multiplier;
540
416
  (0, stats_1.modifyStats)(conductorTarget, attackStats, healthStats, targetBoard, targetHero, gameState);
541
417
  gameState.spectator.registerPowerTarget(entity, conductorTarget, targetBoard, hero, otherHero);
542
418
  }
@@ -580,19 +456,6 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
580
456
  (0, stats_1.modifyStats)(e, vaelastraszBonus, vaelastraszBonus, board, hero, gameState);
581
457
  });
582
458
  break;
583
- case "BG29_503":
584
- case "BG29_503_G":
585
- const boardWithMechs = board.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.MECH, gameState.allCards));
586
- const junkerTarget = (0, utils_1.pickRandom)(boardWithMechs);
587
- if (junkerTarget) {
588
- const numberOfMagnetizes = entity.cardId === "BG29_503" ? 1 : 2;
589
- for (let i = 0; i < numberOfMagnetizes; i++) {
590
- const minionToMagnetize = gameState.cardsData.getRandomMechToMagnetize((_v = hero.tavernTier) !== null && _v !== void 0 ? _v : 1);
591
- gameState.spectator.registerPowerTarget(entity, junkerTarget, board, null, null);
592
- (0, magnetize_1.magnetizeToTarget)(junkerTarget, minionToMagnetize, board, hero, gameState);
593
- }
594
- }
595
- break;
596
459
  case "BG23_HERO_306_Buddy":
597
460
  case "BG23_HERO_306_Buddy_G":
598
461
  const nathanosTarget = (0, utils_1.pickRandom)(board);
@@ -615,24 +478,11 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
615
478
  if (tuskarrTarget) {
616
479
  gameState.spectator.registerPowerTarget(entity, tuskarrTarget, board, null, null);
617
480
  const buffMultiplier = entity.cardId === "TB_BaconShop_HERO_18_Buddy" ? 1 : 2;
618
- const attackBuff = ((_w = hero.globalInfo.PiratesPlayedThisGame) !== null && _w !== void 0 ? _w : 0) * buffMultiplier;
619
- const healthBuff = ((_x = hero.globalInfo.PiratesPlayedThisGame) !== null && _x !== void 0 ? _x : 0) * buffMultiplier;
481
+ const attackBuff = ((_p = hero.globalInfo.PiratesPlayedThisGame) !== null && _p !== void 0 ? _p : 0) * buffMultiplier;
482
+ const healthBuff = ((_q = hero.globalInfo.PiratesPlayedThisGame) !== null && _q !== void 0 ? _q : 0) * buffMultiplier;
620
483
  (0, stats_1.modifyStats)(tuskarrTarget, attackBuff, healthBuff, board, hero, gameState);
621
484
  }
622
485
  break;
623
- case "BG30_127":
624
- case "BG30_127_G":
625
- if (board.length > 0) {
626
- const targets = board.filter((e) => gameState.cardsData.getTavernLevel(e.cardId) <= 3);
627
- if (targets.length > 0) {
628
- const multiplier = entity.cardId === "BG30_127" ? 1 : 2;
629
- targets.forEach((target) => {
630
- (0, stats_1.modifyStats)(target, multiplier * 2, multiplier * 1, board, hero, gameState);
631
- gameState.spectator.registerPowerTarget(entity, target, board, hero, otherHero);
632
- });
633
- }
634
- }
635
- break;
636
486
  case "BG30_104":
637
487
  case "BG30_104_G":
638
488
  if (board.length > 0) {
@@ -654,18 +504,9 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
654
504
  const indexFromRight = board.length - board.findIndex((e) => e.entityId === entity.entityId) - 1;
655
505
  const spawns = (0, spawns_1.performEntitySpawns)(newMinions, board, hero, entity, indexFromRight, otherBoard, otherHero, gameState);
656
506
  break;
657
- case "BG30_756":
658
- case "BG30_756_G":
659
- const wandererTarget = (0, utils_1.pickRandom)(board.filter((e) => (0, utils_2.hasCorrectTribe)(e, hero, reference_data_1.Race.MURLOC, gameState.allCards)));
660
- if (!!wandererTarget) {
661
- const wandererMultiplier = entity.cardId === "BG30_756" ? 1 : 2;
662
- (0, taunt_1.updateTaunt)(wandererTarget, true, board, hero, otherHero, gameState);
663
- (0, stats_1.modifyStats)(wandererTarget, wandererMultiplier * 3, wandererMultiplier * 3, board, hero, gameState);
664
- }
665
- break;
666
507
  default:
667
- const hasBattlecry = (_z = (_y = gameState.allCards
668
- .getCard(entity.cardId)) === null || _y === void 0 ? void 0 : _y.mechanics) === null || _z === void 0 ? void 0 : _z.includes(reference_data_1.GameTag[reference_data_1.GameTag.BATTLECRY]);
508
+ const hasBattlecry = (_s = (_r = gameState.allCards
509
+ .getCard(entity.cardId)) === null || _r === void 0 ? void 0 : _r.mechanics) === null || _s === void 0 ? void 0 : _s.includes(reference_data_1.GameTag[reference_data_1.GameTag.BATTLECRY]);
669
510
  hasTriggered = hasBattlecry;
670
511
  break;
671
512
  }
@@ -689,19 +530,6 @@ const afterBattlecryTriggered = (entity, board, hero, otherBoard, otherHero, gam
689
530
  });
690
531
  }
691
532
  }
692
- board
693
- .filter((e) => e.cardId === "BGS_041" ||
694
- e.cardId === "TB_BaconUps_109")
695
- .forEach((e) => {
696
- const buff = entity.cardId === "BGS_041" ? 1 : 2;
697
- (0, utils_2.addStatsToBoard)(e, board, hero, buff, 2 * buff, gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
698
- });
699
- board
700
- .filter((e) => e.cardId === "BG25_040" || e.cardId === "BG25_040_G")
701
- .forEach((e) => {
702
- const buff = e.cardId === "BG25_040" ? 1 : 2;
703
- (0, stats_1.modifyStats)(e, buff, buff, board, hero, gameState);
704
- });
705
533
  };
706
534
  const extractUniqueTribes = (board, allCards) => {
707
535
  const boardReferenceCards = board.map((m) => allCards.getCard(m.cardId));