@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
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperaticBelcher = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const venomous_1 = require("../../../keywords/venomous");
6
+ const utils_1 = require("../../../services/utils");
7
+ const utils_2 = require("../../../utils");
8
+ exports.OperaticBelcher = {
9
+ cardIds: ["BG26_888", "BG26_888_G"],
10
+ deathrattleEffect: (minion, input) => {
11
+ const belcherMultiplier = minion.cardId === "BG26_888_G" ? 2 : 1;
12
+ for (let j = 0; j < belcherMultiplier; j++) {
13
+ const possibleBelcherTargets = input.boardWithDeadEntity
14
+ .filter((entity) => !entity.venomous)
15
+ .filter((entity) => !entity.poisonous)
16
+ .filter((entity) => entity.health > 0 && !entity.definitelyDead)
17
+ .filter((entity) => (0, utils_2.hasCorrectTribe)(entity, input.boardWithDeadEntityHero, reference_data_1.Race.MURLOC, input.gameState.allCards));
18
+ if (possibleBelcherTargets.length > 0) {
19
+ const chosen = (0, utils_1.pickRandom)(possibleBelcherTargets);
20
+ (0, venomous_1.updateVenomous)(chosen, true, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, input.gameState);
21
+ input.gameState.spectator.registerPowerTarget(minion, chosen, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
22
+ }
23
+ }
24
+ },
25
+ };
26
+ //# sourceMappingURL=operatic-belcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operatic-belcher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/operatic-belcher.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,yDAA4D;AAC5D,mDAAqD;AAErD,0CAAiD;AAGpC,QAAA,eAAe,GAA0B;IACrD,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,sBAAsB,GAAG,KAAK,CAAC,mBAAmB;iBACtD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACpC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;iBACrC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;iBAC/D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC7F,CAAC;YACH,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,sBAAsB,CAAC,CAAC;gBAClD,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const OperaticBelcher: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.OperaticBelcher_BG26_888, CardIds.OperaticBelcher_BG26_888_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst belcherMultiplier = minion.cardId === CardIds.OperaticBelcher_BG26_888_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < belcherMultiplier; j++) {\r\n\t\t\tconst possibleBelcherTargets = input.boardWithDeadEntity\r\n\t\t\t\t.filter((entity) => !entity.venomous)\r\n\t\t\t\t.filter((entity) => !entity.poisonous)\r\n\t\t\t\t.filter((entity) => entity.health > 0 && !entity.definitelyDead)\r\n\t\t\t\t.filter((entity) =>\r\n\t\t\t\t\thasCorrectTribe(entity, input.boardWithDeadEntityHero, Race.MURLOC, input.gameState.allCards),\r\n\t\t\t\t);\r\n\t\t\tif (possibleBelcherTargets.length > 0) {\r\n\t\t\t\tconst chosen = pickRandom(possibleBelcherTargets);\r\n\t\t\t\tupdateVenomous(\r\n\t\t\t\t\tchosen,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tchosen,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const ParchedWanderer: BattlecryCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParchedWanderer = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const taunt_1 = require("../../../keywords/taunt");
6
+ const utils_1 = require("../../../services/utils");
7
+ const stats_1 = require("../../../simulation/stats");
8
+ const utils_2 = require("../../../utils");
9
+ exports.ParchedWanderer = {
10
+ cardIds: ["BG30_756", "BG30_756_G"],
11
+ battlecry: (minion, input) => {
12
+ const wandererTarget = (0, utils_1.pickRandom)(input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.allCards)));
13
+ if (!!wandererTarget) {
14
+ const wandererMultiplier = minion.cardId === "BG30_756" ? 1 : 2;
15
+ (0, taunt_1.updateTaunt)(wandererTarget, true, input.board, input.hero, input.otherHero, input.gameState);
16
+ (0, stats_1.modifyStats)(wandererTarget, wandererMultiplier * 3, wandererMultiplier * 3, input.board, input.hero, input.gameState);
17
+ }
18
+ },
19
+ };
20
+ //# sourceMappingURL=parched-wanderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parched-wanderer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/parched-wanderer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,cAAc,GAAG,IAAA,kBAAU,EAChC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAChG,CAAC;QACF,IAAI,CAAC,CAAC,cAAc,EAAE;YACrB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,eAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,IAAA,mBAAW,EAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7F,IAAA,mBAAW,EACV,cAAc,EACd,kBAAkB,GAAG,CAAC,EACtB,kBAAkB,GAAG,CAAC,EACtB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const ParchedWanderer: BattlecryCard = {\r\n\tcardIds: [CardIds.ParchedWanderer_BG30_756, CardIds.ParchedWanderer_BG30_756_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst wandererTarget = pickRandom(\r\n\t\t\tinput.board.filter((e) => hasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.allCards)),\r\n\t\t);\r\n\t\tif (!!wandererTarget) {\r\n\t\t\tconst wandererMultiplier = minion.cardId === CardIds.ParchedWanderer_BG30_756 ? 1 : 2;\r\n\t\t\tupdateTaunt(wandererTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tmodifyStats(\r\n\t\t\t\twandererTarget,\r\n\t\t\t\twandererMultiplier * 3,\r\n\t\t\t\twandererMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnCardAddedToHandCard } from '../../card.interface';
2
+ export declare const PeggySturdybone: OnCardAddedToHandCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PeggySturdybone = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.PeggySturdybone = {
8
+ cardIds: ["BG25_032", "BG25_032_G"],
9
+ onCardAddedToHand: (minion, input) => {
10
+ const pirate = (0, utils_1.getRandomAliveMinion)(input.board.filter((e) => e.entityId !== minion.entityId), input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards);
11
+ if (pirate) {
12
+ (0, stats_1.modifyStats)(pirate, minion.cardId === "BG25_032_G" ? 2 : 1, minion.cardId === "BG25_032_G" ? 2 : 1, input.board, input.hero, input.gameState);
13
+ input.gameState.spectator.registerPowerTarget(minion, pirate, input.board, input.hero, null);
14
+ }
15
+ },
16
+ };
17
+ //# sourceMappingURL=peggy-sturdybone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peggy-sturdybone.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/peggy-sturdybone.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAsD;AAGzC,QAAA,eAAe,GAA0B;IACrD,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,MAAM,MAAM,GAAG,IAAA,4BAAoB,EAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,EACzD,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getRandomAliveMinion } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const PeggySturdybone: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.PeggySturdybone_BG25_032, CardIds.PeggySturdybone_BG25_032_G],\r\n\tonCardAddedToHand: (minion: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tconst pirate = getRandomAliveMinion(\r\n\t\t\tinput.board.filter((e) => e.entityId !== minion.entityId),\r\n\t\t\tinput.hero,\r\n\t\t\tRace.PIRATE,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t);\r\n\t\tif (pirate) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tpirate,\r\n\t\t\t\tminion.cardId === CardIds.PeggySturdybone_BG25_032_G ? 2 : 1,\r\n\t\t\t\tminion.cardId === CardIds.PeggySturdybone_BG25_032_G ? 2 : 1,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, pirate, input.board, input.hero, null);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const PrimalfinLookout: BattlecryCard;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrimalfinLookout = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
7
+ const discover_1 = require("../../../simulation/discover");
8
+ exports.PrimalfinLookout = {
9
+ cardIds: ["BGS_020", "TB_BaconUps_089"],
10
+ battlecry: (minion, input) => {
11
+ var _a, _b, _c;
12
+ const primalfinLoops = minion.cardId === "BGS_020" ? 1 : 2;
13
+ for (let i = 0; i < primalfinLoops; i++) {
14
+ const discoverOptions = [
15
+ input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_a = input.hero.tavernTier) !== null && _a !== void 0 ? _a : 1),
16
+ input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_b = input.hero.tavernTier) !== null && _b !== void 0 ? _b : 1),
17
+ input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_c = input.hero.tavernTier) !== null && _c !== void 0 ? _c : 1),
18
+ ];
19
+ const picked = (0, utils_1.pickRandom)(discoverOptions);
20
+ const others = discoverOptions.filter((e) => e !== picked);
21
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [picked], input.gameState);
22
+ (0, discover_1.afterDiscover)(input.hero, input.board, picked, others, input.gameState);
23
+ input.gameState.spectator.registerPowerTarget(minion, input.hero, input.board, input.hero, input.otherHero);
24
+ }
25
+ },
26
+ };
27
+ //# sourceMappingURL=primalfin-lookout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primalfin-lookout.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/primalfin-lookout.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qEAAmE;AACnE,2DAA6D;AAGhD,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,8BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,cAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,eAAe,GAAG;gBACvB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;aAC1F,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnE,IAAA,wBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACxE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { afterDiscover } from '../../../simulation/discover';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const PrimalfinLookout: BattlecryCard = {\r\n\tcardIds: [CardIds.PrimalfinLookout_BGS_020, CardIds.PrimalfinLookout_TB_BaconUps_089],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst primalfinLoops = minion.cardId === CardIds.PrimalfinLookout_BGS_020 ? 1 : 2;\r\n\t\tfor (let i = 0; i < primalfinLoops; i++) {\r\n\t\t\tconst discoverOptions = [\r\n\t\t\t\tinput.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier ?? 1),\r\n\t\t\t\tinput.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier ?? 1),\r\n\t\t\t\tinput.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier ?? 1),\r\n\t\t\t];\r\n\t\t\tconst picked = pickRandom(discoverOptions);\r\n\t\t\tconst others = discoverOptions.filter((e) => e !== picked);\r\n\t\t\taddCardsInHand(input.hero, input.board, [picked], input.gameState);\r\n\t\t\tafterDiscover(input.hero, input.board, picked, others, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, input.hero, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1,5 +1,2 @@
1
- import { BoardEntity } from '../../../board-entity';
2
- import { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';
3
- export declare const PrizedPromoDrake: {
4
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
5
- };
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const PrizedPromoDrake: StartOfCombatCard;
@@ -5,6 +5,7 @@ const reference_data_1 = require("@firestone-hs/reference-data");
5
5
  const stats_1 = require("../../../simulation/stats");
6
6
  const utils_1 = require("../../../utils");
7
7
  exports.PrizedPromoDrake = {
8
+ cardIds: ["BG21_014", "BG21_014_G"],
8
9
  startOfCombat: (minion, input) => {
9
10
  const stats = minion.cardId === "BG21_014_G" ? 6 : 3;
10
11
  const targets = input.playerBoard
@@ -1 +1 @@
1
- {"version":3,"file":"prized-promo-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prized-promo-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,gBAAgB,GAAG;IAC/B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const PrizedPromoDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.PrizedPromoDrake_BG21_014_G ? 6 : 3;\r\n\t\tconst targets = input.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards));\r\n\t\tif (!!targets.length) {\r\n\t\t\tfor (const entity of targets) {\r\n\t\t\t\tmodifyStats(entity, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"prized-promo-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prized-promo-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const PrizedPromoDrake: StartOfCombatCard = {\r\n\tcardIds: [CardIds.PrizedPromoDrake_BG21_014, CardIds.PrizedPromoDrake_BG21_014_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.PrizedPromoDrake_BG21_014_G ? 6 : 3;\r\n\t\tconst targets = input.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards));\r\n\t\tif (!!targets.length) {\r\n\t\t\tfor (const entity of targets) {\r\n\t\t\t\tmodifyStats(entity, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const RapscallionRecruiter: DeathrattleSpawnCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RapscallionRecruiter = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.RapscallionRecruiter = {
6
+ cardIds: ["BG26_018", "BG26_018_G"],
7
+ deathrattleSpawn: (minion, input) => {
8
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(minion.cardId === "BG26_018_G"
9
+ ? "TB_BaconUps_141"
10
+ : "BGS_061", 3, input);
11
+ },
12
+ };
13
+ //# sourceMappingURL=rapscallion-recruiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapscallion-recruiter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/rapscallion-recruiter.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,oBAAoB,GAAyB;IACzD,OAAO,EAAE,0BAAgF;IACzF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,OAAO,IAAA,4CAAuB,EAC7B,MAAM,CAAC,MAAM,iBAA4C;YACxD,CAAC;YACD,CAAC,UAA0B,EAC5B,CAAC,EACD,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const RapscallionRecruiter: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.RapscallionRecruiter_BG26_018, CardIds.RapscallionRecruiter_BG26_018_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tminion.cardId === CardIds.RapscallionRecruiter_BG26_018_G\r\n\t\t\t\t? CardIds.Scallywag_TB_BaconUps_141\r\n\t\t\t\t: CardIds.Scallywag_BGS_061,\r\n\t\t\t3,\r\n\t\t\tinput,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const RazorfenGeomancer: BattlecryCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RazorfenGeomancer = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.RazorfenGeomancer = {
6
+ cardIds: ["BG20_100", "BG20_100_G"],
7
+ battlecry: (minion, input) => {
8
+ const razorFenCardsToAdd = minion.cardId === "BG20_100"
9
+ ? ["BG20_GEM"]
10
+ : ["BG20_GEM", "BG20_GEM"];
11
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, razorFenCardsToAdd, input.gameState);
12
+ },
13
+ };
14
+ //# sourceMappingURL=razorfen-geomancer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"razorfen-geomancer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/razorfen-geomancer.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,kBAAkB,GACvB,MAAM,CAAC,MAAM,eAAuC;YACnD,CAAC,CAAC,YAAkB;YACpB,CAAC,CAAC,wBAAoC,CAAC;QACzC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const RazorfenGeomancer: BattlecryCard = {\r\n\tcardIds: [CardIds.RazorfenGeomancer_BG20_100, CardIds.RazorfenGeomancer_BG20_100_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst razorFenCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.RazorfenGeomancer_BG20_100\r\n\t\t\t\t? [CardIds.BloodGem]\r\n\t\t\t\t: [CardIds.BloodGem, CardIds.BloodGem];\r\n\t\taddCardsInHand(input.hero, input.board, razorFenCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -9,7 +9,7 @@ exports.RecklessCliffdiver = {
9
9
  },
10
10
  onSpawned: (minion, input) => {
11
11
  const mult = minion.cardId === "RecklessCliffdiver_G" ? 2 : 1;
12
- minion.attack += mult * input.playerEntity.globalInfo.BattlecriesTriggeredThisGame;
12
+ minion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;
13
13
  },
14
14
  onDespawned: (minion, input) => {
15
15
  const mult = minion.cardId === "RecklessCliffdiver_G" ? 2 : 1;
@@ -1 +1 @@
1
- {"version":3,"file":"reckless-cliffdiver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/reckless-cliffdiver.ts"],"names":[],"mappings":";;;AAMa,QAAA,kBAAkB,GAA+D;IAC7F,OAAO,EAAE,8CAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,CAAC;IACpF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { OnBattlecryTriggeredInput } from '../../../simulation/battlecries';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnBattlecryTriggeredCard, OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const RecklessCliffdiver: OnSpawnedCard & OnDespawnedCard & OnBattlecryTriggeredCard = {\r\n\tcardIds: [TempCardIds.RecklessCliffdiver, TempCardIds.RecklessCliffdiver_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: OnBattlecryTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;\r\n\t},\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack += mult * input.playerEntity.globalInfo.BattlecriesTriggeredThisGame;\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack = Math.max(0, minion.attack - 2 * mult);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"reckless-cliffdiver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/reckless-cliffdiver.ts"],"names":[],"mappings":";;;AAMa,QAAA,kBAAkB,GAA+D;IAC7F,OAAO,EAAE,8CAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { OnBattlecryTriggeredInput } from '../../../simulation/battlecries';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnBattlecryTriggeredCard, OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const RecklessCliffdiver: OnSpawnedCard & OnDespawnedCard & OnBattlecryTriggeredCard = {\r\n\tcardIds: [TempCardIds.RecklessCliffdiver, TempCardIds.RecklessCliffdiver_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: OnBattlecryTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;\r\n\t},\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack = Math.max(0, minion.attack - 2 * mult);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAttackCard } from '../../card.interface';
2
+ export declare const RipsnarlCaptain: OnAttackCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RipsnarlCaptain = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.RipsnarlCaptain = {
8
+ cardIds: ["BGS_056", "TB_BaconUps_139"],
9
+ onAttack: (minion, input) => {
10
+ if ((0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.PIRATE, input.gameState.allCards)) {
11
+ const mult = minion.cardId === "TB_BaconUps_139" ? 2 : 1;
12
+ (0, stats_1.modifyStats)(input.attacker, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);
13
+ input.gameState.spectator.registerPowerTarget(minion, input.attacker, input.attackingBoard, input.attackingHero, input.defendingHero);
14
+ }
15
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
16
+ },
17
+ };
18
+ //# sourceMappingURL=ripsnarl-captain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripsnarl-captain.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ripsnarl-captain.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,8BAA0E;IACnF,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACvD,IAAI,IAAA,uBAAe,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAChG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;SACF;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const RipsnarlCaptain: OnAttackCard = {\r\n\tcardIds: [CardIds.RipsnarlCaptain_BGS_056, CardIds.RipsnarlCaptain_TB_BaconUps_139],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (hasCorrectTribe(input.attacker, input.attackingHero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\tconst mult = minion.cardId === CardIds.RipsnarlCaptain_TB_BaconUps_139 ? 2 : 1;\r\n\t\t\tmodifyStats(input.attacker, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.defendingHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const RodeoPerformer: BattlecryCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RodeoPerformer = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.RodeoPerformer = {
6
+ cardIds: ["BG28_550", "BG28_550_G"],
7
+ battlecry: (minion, input) => {
8
+ const rodeoPerformerCardsToAdd = minion.cardId === "BG28_550_G" ? [null] : [null, null];
9
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, rodeoPerformerCardsToAdd, input.gameState);
10
+ },
11
+ };
12
+ //# sourceMappingURL=rodeo-performer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rodeo-performer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/rodeo-performer.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7G,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const RodeoPerformer: BattlecryCard = {\r\n\tcardIds: [CardIds.RodeoPerformer_BG28_550, CardIds.RodeoPerformer_BG28_550_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst rodeoPerformerCardsToAdd = minion.cardId === CardIds.RodeoPerformer_BG28_550_G ? [null] : [null, null];\r\n\t\taddCardsInHand(input.hero, input.board, rodeoPerformerCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const Scallywag: DeathrattleSpawnCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Scallywag = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.Scallywag = {
6
+ cardIds: ["BGS_061", "TB_BaconUps_141"],
7
+ deathrattleSpawn: (minion, input) => {
8
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(minion.cardId === "TB_BaconUps_141"
9
+ ? "TB_BaconUps_141t"
10
+ : "BGS_061t", 1, input);
11
+ },
12
+ };
13
+ //# sourceMappingURL=scallywag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scallywag.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/scallywag.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,SAAS,GAAyB;IAC9C,OAAO,EAAE,8BAA8D;IACvE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,OAAO,IAAA,4CAAuB,EAC7B,MAAM,CAAC,MAAM,sBAAsC;YAClD,CAAC;YACD,CAAC,WAA0C,EAC5C,CAAC,EACD,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Scallywag: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Scallywag_BGS_061, CardIds.Scallywag_TB_BaconUps_141],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tminion.cardId === CardIds.Scallywag_TB_BaconUps_141\r\n\t\t\t\t? CardIds.Scallywag_SkyPirateToken_TB_BaconUps_141t\r\n\t\t\t\t: CardIds.Scallywag_SkyPirateToken_BGS_061t,\r\n\t\t\t1,\r\n\t\t\tinput,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const ShellCollector: BattlecryCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShellCollector = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.ShellCollector = {
6
+ cardIds: ["BG23_002", "BG23_002_G"],
7
+ battlecry: (minion, input) => {
8
+ const shellCollectorCardsToAdd = minion.cardId === "BG23_002"
9
+ ? ["GAME_005"]
10
+ : ["GAME_005", "GAME_005"];
11
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, shellCollectorCardsToAdd, input.gameState);
12
+ },
13
+ };
14
+ //# sourceMappingURL=shell-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-collector.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shell-collector.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,wBAAwB,GAC7B,MAAM,CAAC,MAAM,eAAoC;YAChD,CAAC,CAAC,YAAqB;YACvB,CAAC,CAAC,wBAA0C,CAAC;QAC/C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const ShellCollector: BattlecryCard = {\r\n\tcardIds: [CardIds.ShellCollector_BG23_002, CardIds.ShellCollector_BG23_002_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst shellCollectorCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.ShellCollector_BG23_002\r\n\t\t\t\t? [CardIds.TheCoinCore]\r\n\t\t\t\t: [CardIds.TheCoinCore, CardIds.TheCoinCore];\r\n\t\taddCardsInHand(input.hero, input.board, shellCollectorCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAttackCard } from '../../card.interface';
2
+ export declare const SindoreiStraightShot: OnAttackCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SindoreiStraightShot = void 0;
4
+ const reborn_1 = require("../../../keywords/reborn");
5
+ const taunt_1 = require("../../../keywords/taunt");
6
+ exports.SindoreiStraightShot = {
7
+ cardIds: ["BG25_016", "BG25_016_G"],
8
+ onAttack: (minion, input) => {
9
+ (0, taunt_1.updateTaunt)(input.defendingEntity, false, input.defendingBoard, input.defendingHero, input.attackingHero, input.gameState);
10
+ (0, reborn_1.updateReborn)(input.defendingEntity, false, input.defendingBoard, input.defendingHero, input.attackingHero, input.gameState);
11
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
12
+ },
13
+ };
14
+ //# sourceMappingURL=sinodorei-straight-shot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sinodorei-straight-shot.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sinodorei-straight-shot.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,mDAAsD;AAIzC,QAAA,oBAAoB,GAAiB;IACjD,OAAO,EAAE,0BAAgF;IACzF,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,IAAA,mBAAW,EACV,KAAK,CAAC,eAAe,EACrB,KAAK,EACL,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,IAAA,qBAAY,EACX,KAAK,CAAC,eAAe,EACrB,KAAK,EACL,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const SindoreiStraightShot: OnAttackCard = {\r\n\tcardIds: [CardIds.SindoreiStraightShot_BG25_016, CardIds.SindoreiStraightShot_BG25_016_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tupdateTaunt(\r\n\t\t\tinput.defendingEntity,\r\n\t\t\tfalse,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\tupdateReborn(\r\n\t\t\tinput.defendingEntity,\r\n\t\t\tfalse,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEnchantmentEffectCard } from '../../card.interface';
2
+ export declare const SkyPirateFlagbearerEnchantment: DeathrattleEnchantmentEffectCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkyPirateFlagbearerEnchantment = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.SkyPirateFlagbearerEnchantment = {
6
+ cardIds: [
7
+ "BG30_119_Ge",
8
+ "BG30_119_Ge",
9
+ ],
10
+ deathrattleEnchantmentEffect: (enchantment, input) => {
11
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(enchantment.cardId === "BG30_119e"
12
+ ? "BGS_061t"
13
+ : "TB_BaconUps_141t", 1, input);
14
+ },
15
+ };
16
+ //# sourceMappingURL=sky-pirate-flagbearer-enchantment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-pirate-flagbearer-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sky-pirate-flagbearer-enchantment.ts"],"names":[],"mappings":";;;AAEA,+EAAiF;AAGpE,QAAA,8BAA8B,GAAqC;IAC/E,OAAO,EAAE;;;KAGR;IACD,4BAA4B,EAAE,CAAC,WAA+B,EAAE,KAAgC,EAAE,EAAE;QACnG,OAAO,IAAA,4CAAuB,EAC7B,WAAW,CAAC,MAAM,gBAAiE;YAClF,CAAC;YACD,CAAC,mBAAkD,EACpD,CAAC,EACD,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleEnchantmentEffectCard } from '../../card.interface';\r\n\r\nexport const SkyPirateFlagbearerEnchantment: DeathrattleEnchantmentEffectCard = {\r\n\tcardIds: [\r\n\t\tCardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge,\r\n\t\tCardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge,\r\n\t],\r\n\tdeathrattleEnchantmentEffect: (enchantment: { cardId: string }, input: DeathrattleTriggeredInput) => {\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tenchantment.cardId === CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e\r\n\t\t\t\t? CardIds.Scallywag_SkyPirateToken_BGS_061t\r\n\t\t\t\t: CardIds.Scallywag_SkyPirateToken_TB_BaconUps_141t,\r\n\t\t\t1,\r\n\t\t\tinput,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -1,5 +1,2 @@
1
- import { BoardEntity } from '../../../board-entity';
2
- import { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';
3
- export declare const SkyPirateFlagbearer: {
4
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
5
- };
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const SkyPirateFlagbearer: StartOfCombatCard;
@@ -4,6 +4,7 @@ exports.SkyPirateFlagbearer = void 0;
4
4
  const reference_data_1 = require("@firestone-hs/reference-data");
5
5
  const utils_1 = require("../../../utils");
6
6
  exports.SkyPirateFlagbearer = {
7
+ cardIds: ["BG30_119", "BG30_119_G"],
7
8
  startOfCombat: (minion, input) => {
8
9
  input.playerBoard
9
10
  .filter((e) => e.entityId !== minion.entityId)
@@ -1 +1 @@
1
- {"version":3,"file":"sky-pirate-flagbearer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sky-pirate-flagbearer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAEpC,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,KAAK,CAAC,WAAW;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC5F,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnB,MAAM,EACL,MAAM,CAAC,MAAM,iBAA2C;oBACvD,CAAC;oBACD,CAAC,YAA6D;gBAChE,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const SkyPirateFlagbearer = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tinput.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.allCards))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\te.enchantments = e.enchantments || [];\r\n\t\t\t\te.enchantments.push({\r\n\t\t\t\t\tcardId:\r\n\t\t\t\t\t\tminion.cardId === CardIds.SkyPirateFlagbearer_BG30_119_G\r\n\t\t\t\t\t\t\t? CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge\r\n\t\t\t\t\t\t\t: CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e,\r\n\t\t\t\t\toriginEntityId: minion.entityId,\r\n\t\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"sky-pirate-flagbearer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sky-pirate-flagbearer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,mBAAmB,GAAsB;IACrD,OAAO,EAAE,0BAA8E;IACvF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,KAAK,CAAC,WAAW;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC5F,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnB,MAAM,EACL,MAAM,CAAC,MAAM,iBAA2C;oBACvD,CAAC;oBACD,CAAC,YAA6D;gBAChE,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const SkyPirateFlagbearer: StartOfCombatCard = {\r\n\tcardIds: [CardIds.SkyPirateFlagbearer_BG30_119, CardIds.SkyPirateFlagbearer_BG30_119_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tinput.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.allCards))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\te.enchantments = e.enchantments || [];\r\n\t\t\t\te.enchantments.push({\r\n\t\t\t\t\tcardId:\r\n\t\t\t\t\t\tminion.cardId === CardIds.SkyPirateFlagbearer_BG30_119_G\r\n\t\t\t\t\t\t\t? CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge\r\n\t\t\t\t\t\t\t: CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e,\r\n\t\t\t\t\toriginEntityId: minion.entityId,\r\n\t\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const Smolderwing: BattlecryCard;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Smolderwing = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const stats_1 = require("../../../simulation/stats");
7
+ const utils_2 = require("../../../utils");
8
+ exports.Smolderwing = {
9
+ cardIds: [
10
+ "BG25_309t",
11
+ "BG25_309_Gt",
12
+ ],
13
+ battlecry: (minion, input) => {
14
+ const allMinions = [...input.board, ...input.otherBoard];
15
+ const smolderwingTarget = (0, utils_1.pickRandom)(allMinions.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.allCards)));
16
+ if (!!smolderwingTarget) {
17
+ const targetBoard = input.board.includes(smolderwingTarget) ? input.board : input.otherBoard;
18
+ const targetHero = input.board.includes(smolderwingTarget) ? input.hero : input.otherHero;
19
+ const smolderwingMultiplier = minion.cardId === "BG25_309t" ? 1 : 2;
20
+ const smolderwingStats = 5 * smolderwingMultiplier;
21
+ (0, stats_1.modifyStats)(smolderwingTarget, smolderwingStats, 0, targetBoard, targetHero, input.gameState);
22
+ }
23
+ },
24
+ };
25
+ //# sourceMappingURL=smolderwing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smolderwing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/smolderwing.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE;;;KAGR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAA,kBAAU,EACnC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAC/F,CAAC;QACF,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1F,MAAM,qBAAqB,GAC1B,MAAM,CAAC,MAAM,gBAAyD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,gBAAgB,GAAG,CAAC,GAAG,qBAAqB,CAAC;YACnD,IAAA,mBAAW,EAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const Smolderwing: BattlecryCard = {\r\n\tcardIds: [\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309_Gt,\r\n\t],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst smolderwingTarget = pickRandom(\r\n\t\t\tallMinions.filter((e) => hasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.allCards)),\r\n\t\t);\r\n\t\tif (!!smolderwingTarget) {\r\n\t\t\tconst targetBoard = input.board.includes(smolderwingTarget) ? input.board : input.otherBoard;\r\n\t\t\tconst targetHero = input.board.includes(smolderwingTarget) ? input.hero : input.otherHero;\r\n\t\t\tconst smolderwingMultiplier =\r\n\t\t\t\tminion.cardId === CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t ? 1 : 2;\r\n\t\t\tconst smolderwingStats = 5 * smolderwingMultiplier;\r\n\t\t\tmodifyStats(smolderwingTarget, smolderwingStats, 0, targetBoard, targetHero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -13,8 +13,10 @@ exports.Spacefarer = {
13
13
  if (!(0, utils_1.hasCorrectTribe)(input.target, input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards)) {
14
14
  return;
15
15
  }
16
- const mult = entity.cardId === "Spacefarer_G" ? 2 : 1;
17
- (0, stats_1.modifyStats)(entity, 0, 3 * mult, input.board, input.hero, input.gameState);
16
+ if (input.attackAmount > 0) {
17
+ const mult = entity.cardId === "Spacefarer_G" ? 2 : 1;
18
+ (0, stats_1.modifyStats)(entity, 0, 3 * mult, input.board, input.hero, input.gameState);
19
+ }
18
20
  },
19
21
  };
20
22
  //# sourceMappingURL=spacefarer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAA6E;AAE7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,8BAAkD;IAC3D,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtF,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mBAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [TempCardIds.Spacefarer, TempCardIds.Spacefarer_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = entity.cardId === TempCardIds.Spacefarer_G ? 2 : 1;\r\n\t\tmodifyStats(entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAA6E;AAE7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,8BAAkD;IAC3D,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtF,OAAO;SACP;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mBAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3E;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [TempCardIds.Spacefarer, TempCardIds.Spacefarer_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.attackAmount > 0) {\r\n\t\t\tconst mult = entity.cardId === TempCardIds.Spacefarer_G ? 2 : 1;\r\n\t\t\tmodifyStats(entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterOtherSpawnedCard } from '../../card.interface';
2
+ export declare const Swampstriker: AfterOtherSpawnedCard;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Swampstriker = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.Swampstriker = {
8
+ cardIds: ["BG22_401", "BG22_401_G"],
9
+ afterOtherSpawned: (minion, input) => {
10
+ if (minion.entityId !== input.spawned.entityId) {
11
+ const multiplier2 = minion.cardId === "BG22_401_G" ? 2 : 1;
12
+ const buffAmount2 = multiplier2 *
13
+ ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.MURLOC, input.gameState.allCards) ? 1 : 0);
14
+ if (buffAmount2 > 0) {
15
+ (0, stats_1.modifyStats)(minion, buffAmount2, 0, input.board, input.hero, input.gameState);
16
+ input.gameState.spectator.registerPowerTarget(minion, minion, input.board, null, null);
17
+ }
18
+ }
19
+ },
20
+ };
21
+ //# sourceMappingURL=swampstriker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swampstriker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/swampstriker.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,GAA0B;IAClD,OAAO,EAAE,0BAAgE;IACzE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACxE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,WAAW,GAChB,WAAW;gBACX,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,WAAW,GAAG,CAAC,EAAE;gBACpB,IAAA,mBAAW,EAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACvF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const Swampstriker: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.Swampstriker_BG22_401, CardIds.Swampstriker_BG22_401_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tif (minion.entityId !== input.spawned.entityId) {\r\n\t\t\tconst multiplier2 = minion.cardId === CardIds.Swampstriker_BG22_401_G ? 2 : 1;\r\n\t\t\tconst buffAmount2 =\r\n\t\t\t\tmultiplier2 *\r\n\t\t\t\t(hasCorrectTribe(input.spawned, input.hero, Race.MURLOC, input.gameState.allCards) ? 1 : 0);\r\n\t\t\tif (buffAmount2 > 0) {\r\n\t\t\t\tmodifyStats(minion, buffAmount2, 0, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, minion, input.board, null, null);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const ThreeLilQuilboar: DeathrattleEffectCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThreeLilQuilboar = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const blood_gems_1 = require("../../../simulation/blood-gems");
6
+ const utils_1 = require("../../../utils");
7
+ exports.ThreeLilQuilboar = {
8
+ cardIds: ["BG26_867", "BG26_867_G"],
9
+ deathrattleEffect: (minion, input) => {
10
+ const numberOfBloodGems = minion.cardId === "BG26_867_G" ? 6 : 3;
11
+ for (const entity of input.boardWithDeadEntity.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.QUILBOAR, input.gameState.allCards))) {
12
+ (0, blood_gems_1.playBloodGemsOn)(minion, entity, numberOfBloodGems, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
13
+ }
14
+ },
15
+ };
16
+ //# sourceMappingURL=three-lil-quilboar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"three-lil-quilboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/three-lil-quilboar.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,+DAAiE;AAEjE,0CAAiD;AAGpC,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,0BAAwE;IACjF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC1F,EAAE;YACF,IAAA,4BAAe,EACd,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const ThreeLilQuilboar: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.ThreeLilQuilboar_BG26_867, CardIds.ThreeLilQuilboar_BG26_867_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst numberOfBloodGems = minion.cardId === CardIds.ThreeLilQuilboar_BG26_867_G ? 6 : 3;\r\n\t\tfor (const entity of input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.boardWithDeadEntityHero, Race.QUILBOAR, input.gameState.allCards),\r\n\t\t)) {\r\n\t\t\tplayBloodGemsOn(\r\n\t\t\t\tminion,\r\n\t\t\t\tentity,\r\n\t\t\t\tnumberOfBloodGems,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnOtherSpawnedCard } from '../../card.interface';
2
+ export declare const ThunderingAbomination: OnOtherSpawnedCard;