@firestone-hs/simulate-bgs-battle 1.1.718 → 1.1.720

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 (240) hide show
  1. package/dist/bgs-battle-info.js.map +1 -1
  2. package/dist/cards/cards-data.js +1 -1
  3. package/dist/cards/cards-data.js.map +1 -1
  4. package/dist/cards/impl/bg-spell/butchering.js +1 -1
  5. package/dist/cards/impl/bg-spell/butchering.js.map +1 -1
  6. package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
  7. package/dist/cards/impl/bg-spell/shifting-tide.js.map +1 -1
  8. package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -1
  9. package/dist/cards/impl/hero-power/aim-high.js.map +1 -1
  10. package/dist/cards/impl/hero-power/aim-left.js.map +1 -1
  11. package/dist/cards/impl/hero-power/aim-low.js.map +1 -1
  12. package/dist/cards/impl/hero-power/aim-right.js.map +1 -1
  13. package/dist/cards/impl/hero-power/earth-invocation.js.map +1 -1
  14. package/dist/cards/impl/hero-power/embrace-your-rage.js.map +1 -1
  15. package/dist/cards/impl/hero-power/fire-invocation.js.map +1 -1
  16. package/dist/cards/impl/hero-power/lightning-invocation.js.map +1 -1
  17. package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
  18. package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
  19. package/dist/cards/impl/minion/abyssal-bruiser.js +2 -4
  20. package/dist/cards/impl/minion/abyssal-bruiser.js.map +1 -1
  21. package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -1
  22. package/dist/cards/impl/minion/alleycat.js.map +1 -1
  23. package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
  24. package/dist/cards/impl/minion/archimonde.js.map +1 -1
  25. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -1
  26. package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -1
  27. package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
  28. package/dist/cards/impl/minion/audacious-anchor.js.map +1 -1
  29. package/dist/cards/impl/minion/auto-assembler.js.map +1 -1
  30. package/dist/cards/impl/minion/avalanche-caller.js.map +1 -1
  31. package/dist/cards/impl/minion/baneling.js.map +1 -1
  32. package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -1
  33. package/dist/cards/impl/minion/bird-buddy.js.map +1 -1
  34. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
  35. package/dist/cards/impl/minion/blue-whelp.js.map +1 -1
  36. package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
  37. package/dist/cards/impl/minion/brazen-buccaneer.js +1 -1
  38. package/dist/cards/impl/minion/brazen-buccaneer.js.map +1 -1
  39. package/dist/cards/impl/minion/briarback-bookie.js.map +1 -1
  40. package/dist/cards/impl/minion/bronze-chromadrake.js +1 -1
  41. package/dist/cards/impl/minion/bronze-chromadrake.js.map +1 -1
  42. package/dist/cards/impl/minion/bronze-steward.js.map +1 -1
  43. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
  44. package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -1
  45. package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -1
  46. package/dist/cards/impl/minion/captain-bonerender.js.map +1 -1
  47. package/dist/cards/impl/minion/carapace-raiser.js.map +1 -1
  48. package/dist/cards/impl/minion/carbonic-copy.js.map +1 -1
  49. package/dist/cards/impl/minion/clunker-junker.js +4 -2
  50. package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
  51. package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -1
  52. package/dist/cards/impl/minion/coldlight-diver.js.map +1 -1
  53. package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -1
  54. package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -1
  55. package/dist/cards/impl/minion/dead-sea-ravager.js +1 -1
  56. package/dist/cards/impl/minion/dead-sea-ravager.js.map +1 -1
  57. package/dist/cards/impl/minion/deadstomper.js.map +1 -1
  58. package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
  59. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
  60. package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
  61. package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -1
  62. package/dist/cards/impl/minion/dustbone-devastator.js +1 -1
  63. package/dist/cards/impl/minion/dustbone-devastator.js.map +1 -1
  64. package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
  65. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
  66. package/dist/cards/impl/minion/elite-navigator.js.map +1 -1
  67. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
  68. package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -1
  69. package/dist/cards/impl/minion/fireworks-fanatic.js.map +1 -1
  70. package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -1
  71. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
  72. package/dist/cards/impl/minion/friendly-geist.js.map +1 -1
  73. package/dist/cards/impl/minion/gem-rat.js.map +1 -1
  74. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
  75. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
  76. package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
  77. package/dist/cards/impl/minion/glowing-cinder.js.map +1 -1
  78. package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -1
  79. package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -1
  80. package/dist/cards/impl/minion/green-chromadrake.js +1 -1
  81. package/dist/cards/impl/minion/green-chromadrake.js.map +1 -1
  82. package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -1
  83. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
  84. package/dist/cards/impl/minion/hackerfin.js.map +1 -1
  85. package/dist/cards/impl/minion/handless-forsaken.js.map +1 -1
  86. package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -1
  87. package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
  88. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  89. package/dist/cards/impl/minion/humongozz.js.map +1 -1
  90. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  91. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -1
  92. package/dist/cards/impl/minion/ignition-specialist.js.map +1 -1
  93. package/dist/cards/impl/minion/immortal.js.map +1 -1
  94. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  95. package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
  96. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
  97. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  98. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -1
  99. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -1
  100. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
  101. package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -1
  102. package/dist/cards/impl/minion/living-azerite.js.map +1 -1
  103. package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -1
  104. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
  105. package/dist/cards/impl/minion/low-flier.js.map +1 -1
  106. package/dist/cards/impl/minion/lurker.js.map +1 -1
  107. package/dist/cards/impl/minion/manasaber.js.map +1 -1
  108. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  109. package/dist/cards/impl/minion/marquee-ticker.js.map +1 -1
  110. package/dist/cards/impl/minion/maw-caster.js.map +1 -1
  111. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
  112. package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -1
  113. package/dist/cards/impl/minion/mechorse.js.map +1 -1
  114. package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
  115. package/dist/cards/impl/minion/metallic-hunter.js.map +1 -1
  116. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  117. package/dist/cards/impl/minion/mummifier.js +1 -1
  118. package/dist/cards/impl/minion/mummifier.js.map +1 -1
  119. package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -1
  120. package/dist/cards/impl/minion/murky.js.map +1 -1
  121. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  122. package/dist/cards/impl/minion/mythrax.js.map +1 -1
  123. package/dist/cards/impl/minion/nalaa-the-redeemer.js +2 -2
  124. package/dist/cards/impl/minion/nalaa-the-redeemer.js.map +1 -1
  125. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  126. package/dist/cards/impl/minion/nest-swarmer.js.map +1 -1
  127. package/dist/cards/impl/minion/nether-drake.js.map +1 -1
  128. package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -1
  129. package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -1
  130. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -1
  131. package/dist/cards/impl/minion/outback-smolderer.js.map +1 -1
  132. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
  133. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
  134. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -1
  135. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
  136. package/dist/cards/impl/minion/roach.js.map +1 -1
  137. package/dist/cards/impl/minion/roadboar.js.map +1 -1
  138. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
  139. package/dist/cards/impl/minion/ruins-renovator.js.map +1 -1
  140. package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -1
  141. package/dist/cards/impl/minion/salty-hog.js.map +1 -1
  142. package/dist/cards/impl/minion/sand-swirler.js.map +1 -1
  143. package/dist/cards/impl/minion/sandy.js.map +1 -1
  144. package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -1
  145. package/dist/cards/impl/minion/scourge-harvester.js.map +1 -1
  146. package/dist/cards/impl/minion/selfless-hero.js.map +1 -1
  147. package/dist/cards/impl/minion/shadowdancer.js.map +1 -1
  148. package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -1
  149. package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -1
  150. package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -1
  151. package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -1
  152. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
  153. package/dist/cards/impl/minion/skeletal-strafer.js +1 -1
  154. package/dist/cards/impl/minion/skeletal-strafer.js.map +1 -1
  155. package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -1
  156. package/dist/cards/impl/minion/smolderwing.js.map +1 -1
  157. package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
  158. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  159. package/dist/cards/impl/minion/spirit-of-air.js +1 -1
  160. package/dist/cards/impl/minion/spirit-of-air.js.map +1 -1
  161. package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -1
  162. package/dist/cards/impl/minion/springy-spriggan.js.map +1 -1
  163. package/dist/cards/impl/minion/stitched-salvager.js.map +1 -1
  164. package/dist/cards/impl/minion/stray-satyr.js.map +1 -1
  165. package/dist/cards/impl/minion/sun-screener.js.map +1 -1
  166. package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -1
  167. package/dist/cards/impl/minion/thorncaller.js.map +1 -1
  168. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  169. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
  170. package/dist/cards/impl/minion/tide-raiser.js +1 -1
  171. package/dist/cards/impl/minion/tide-raiser.js.map +1 -1
  172. package/dist/cards/impl/minion/timewarped-warghoul.js.map +1 -1
  173. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -1
  174. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
  175. package/dist/cards/impl/minion/ultralisk.js.map +1 -1
  176. package/dist/cards/impl/minion/valiant-tiger.js.map +1 -1
  177. package/dist/cards/impl/minion/void-earl.js.map +1 -1
  178. package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -1
  179. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  180. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  181. package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -1
  182. package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -1
  183. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
  184. package/dist/cards/impl/minion/wrathscale-rogue.js.map +1 -1
  185. package/dist/cards/impl/minion/yorik-smite.js.map +1 -1
  186. package/dist/cards/impl/minion/yrel.js.map +1 -1
  187. package/dist/cards/impl/minion/yulon-fortune-granter.js.map +1 -1
  188. package/dist/cards/impl/quest-reward/righteous-charge.js.map +1 -1
  189. package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
  190. package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
  191. package/dist/cards/impl/trinket/artisanal-urn.js +1 -1
  192. package/dist/cards/impl/trinket/artisanal-urn.js.map +1 -1
  193. package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -1
  194. package/dist/cards/impl/trinket/battle-horn.js.map +1 -1
  195. package/dist/cards/impl/trinket/beetle-band.js.map +1 -1
  196. package/dist/cards/impl/trinket/bewitched-ribbon.js +1 -1
  197. package/dist/cards/impl/trinket/bewitched-ribbon.js.map +1 -1
  198. package/dist/cards/impl/trinket/bird-feeder.js.map +1 -1
  199. package/dist/cards/impl/trinket/copper-coil.js +2 -2
  200. package/dist/cards/impl/trinket/copper-coil.js.map +1 -1
  201. package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -1
  202. package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
  203. package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
  204. package/dist/cards/impl/trinket/fishy-sticker.js.map +1 -1
  205. package/dist/cards/impl/trinket/gilnean-thorned-rose.js +1 -1
  206. package/dist/cards/impl/trinket/gilnean-thorned-rose.js.map +1 -1
  207. package/dist/cards/impl/trinket/herald-sticker.js.map +1 -1
  208. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  209. package/dist/cards/impl/trinket/mama-bear-sticker.js +1 -1
  210. package/dist/cards/impl/trinket/mama-bear-sticker.js.map +1 -1
  211. package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
  212. package/dist/cards/impl/trinket/sky-golem-portrait-enchantment.js +1 -1
  213. package/dist/cards/impl/trinket/sky-golem-portrait-enchantment.js.map +1 -1
  214. package/dist/cards/impl/trinket/soul-fermenter.js +5 -1
  215. package/dist/cards/impl/trinket/soul-fermenter.js.map +1 -1
  216. package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -1
  217. package/dist/cards/impl/trinket/stormcoil-sticker.js +1 -1
  218. package/dist/cards/impl/trinket/stormcoil-sticker.js.map +1 -1
  219. package/dist/cards/impl/trinket/tiger-carving.js +4 -3
  220. package/dist/cards/impl/trinket/tiger-carving.js.map +1 -1
  221. package/dist/cards/impl/trinket/valorous-medaillion.js.map +1 -1
  222. package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -1
  223. package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -1
  224. package/dist/debug-state.js.map +1 -1
  225. package/dist/input-clone.js +1 -1
  226. package/dist/input-clone.js.map +1 -1
  227. package/dist/keywords/venomous.js.map +1 -1
  228. package/dist/simulate-bgs-battle.js +4 -4
  229. package/dist/simulate-bgs-battle.js.map +1 -1
  230. package/dist/simulation/auras.js +4 -2
  231. package/dist/simulation/auras.js.map +1 -1
  232. package/dist/simulation/avenge.js +4 -0
  233. package/dist/simulation/avenge.js.map +1 -1
  234. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  235. package/dist/simulation/discover.js.map +1 -1
  236. package/dist/simulation/frenzy.js.map +1 -1
  237. package/dist/simulation/quest.js.map +1 -1
  238. package/dist/simulation/start-of-combat/soc-trinket.js +1 -1
  239. package/dist/simulation/start-of-combat/soc-trinket.js.map +1 -1
  240. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"shipwrecked-rascal.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shipwrecked-rascal.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,iBAAiB,GAAyC;IACtE,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipwreckedRascal: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipwreckedRascal_BG33_821, CardIds.ShipwreckedRascal_BG33_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"shipwrecked-rascal.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shipwrecked-rascal.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,iBAAiB,GAAyC;IACtE,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipwreckedRascal: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipwreckedRascal_BG33_821, CardIds.ShipwreckedRascal_BG33_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"silver-handed-recruit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silver-handed-recruit.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC3E,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SilverHandedRecruit: BattlecryCard = {\r\n\tcardIds: [CardIds.SilverHandedRecruit_BG31_853, CardIds.SilverHandedRecruit_BG31_853_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SilverHandedRecruit_BG31_853_G ? 2 : 1;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 0)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, e, input.board, input.hero, null);\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"silver-handed-recruit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silver-handed-recruit.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC3E,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SilverHandedRecruit: BattlecryCard = {\r\n\tcardIds: [CardIds.SilverHandedRecruit_BG31_853, CardIds.SilverHandedRecruit_BG31_853_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SilverHandedRecruit_BG31_853_G ? 2 : 1;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 0)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, e, input.board, input.hero, null);\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -4,7 +4,7 @@ exports.SkeletalStrafer = void 0;
4
4
  const stats_1 = require("../../../simulation/stats");
5
5
  exports.SkeletalStrafer = {
6
6
  cardIds: ["BG35_334", "BG35_334_G"],
7
- baseAvengeValue: () => 2,
7
+ baseAvengeValue: () => 1,
8
8
  avenge: (minion, _input) => {
9
9
  var _a, _b;
10
10
  const isG = minion.cardId === "BG35_334_G";
@@ -1 +1 @@
1
- {"version":3,"file":"skeletal-strafer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/skeletal-strafer.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAI3C,QAAA,eAAe,GAA+B;IAC1D,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,MAAmB,EAAE,MAAmB,EAAE,EAAE;;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,OAAO,CAAC,GAAG,IAAI,CAAC;QAClE,MAAM,CAAC,cAAc,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,MAAM,CAAC,GAAG,GAAG,CAAC;IACjE,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC;QACjE,MAAM,GAAG,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeCard, EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SkeletalStrafer: AvengeCard & EndOfTurnCard = {\r\n\tcardIds: [CardIds.SkeletalStrafer_BG35_334, CardIds.SkeletalStrafer_BG35_334_G],\r\n\tbaseAvengeValue: () => 2,\r\n\tavenge: (minion: BoardEntity, _input: AvengeInput) => {\r\n\t\tconst isG = minion.cardId === CardIds.SkeletalStrafer_BG35_334_G;\r\n\t\tconst dAtk = isG ? 2 : 1;\r\n\t\tconst dHp = isG ? 2 : 1;\r\n\t\tconst baseAtk = isG ? 2 : 1;\r\n\t\tconst baseHp = isG ? 2 : 1;\r\n\t\tminion.scriptDataNum1 = (minion.scriptDataNum1 ?? baseAtk) + dAtk;\r\n\t\tminion.scriptDataNum2 = (minion.scriptDataNum2 ?? baseHp) + dHp;\r\n\t},\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst isG = minion.cardId === CardIds.SkeletalStrafer_BG35_334_G;\r\n\t\tconst atk = minion.scriptDataNum1 ?? (isG ? 2 : 1);\r\n\t\tconst hp = minion.scriptDataNum2 ?? (isG ? 2 : 1);\r\n\t\tfor (const e of input.board) {\r\n\t\t\tmodifyStats(e, minion, atk, hp, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"skeletal-strafer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/skeletal-strafer.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,eAAe,GAA+B;IAC1D,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,MAAmB,EAAE,MAAmB,EAAE,EAAE;;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,OAAO,CAAC,GAAG,IAAI,CAAC;QAClE,MAAM,CAAC,cAAc,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,MAAM,CAAC,GAAG,GAAG,CAAC;IACjE,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC;QACjE,MAAM,GAAG,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AvengeCard, EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SkeletalStrafer: AvengeCard & EndOfTurnCard = {\r\n\tcardIds: [CardIds.SkeletalStrafer_BG35_334, CardIds.SkeletalStrafer_BG35_334_G],\r\n\tbaseAvengeValue: () => 1,\r\n\tavenge: (minion: BoardEntity, _input: AvengeInput) => {\r\n\t\tconst isG = minion.cardId === CardIds.SkeletalStrafer_BG35_334_G;\r\n\t\tconst dAtk = isG ? 2 : 1;\r\n\t\tconst dHp = isG ? 2 : 1;\r\n\t\tconst baseAtk = isG ? 2 : 1;\r\n\t\tconst baseHp = isG ? 2 : 1;\r\n\t\tminion.scriptDataNum1 = (minion.scriptDataNum1 ?? baseAtk) + dAtk;\r\n\t\tminion.scriptDataNum2 = (minion.scriptDataNum2 ?? baseHp) + dHp;\r\n\t},\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst isG = minion.cardId === CardIds.SkeletalStrafer_BG35_334_G;\r\n\t\tconst atk = minion.scriptDataNum1 ?? (isG ? 2 : 1);\r\n\t\tconst hp = minion.scriptDataNum2 ?? (isG ? 2 : 1);\r\n\t\tfor (const e of input.board) {\r\n\t\t\tmodifyStats(e, minion, atk, hp, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"slumber-sorcerer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/slumber-sorcerer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,0BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA+B,CAAC;QACnE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SlumberSorcerer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SlumberSorcerer_BG32_833, CardIds.SlumberSorcerer_BG32_833_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SlumberSorcerer_BG32_833_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShiftingTide_BG32_815);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"slumber-sorcerer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/slumber-sorcerer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,0BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA+B,CAAC;QACnE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SlumberSorcerer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SlumberSorcerer_BG32_833, CardIds.SlumberSorcerer_BG32_833_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SlumberSorcerer_BG32_833_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShiftingTide_BG32_815);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"smolderwing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/smolderwing.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,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,CACvB,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CACD,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,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { 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) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\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, minion, smolderwingStats, 0, targetBoard, targetHero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"smolderwing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/smolderwing.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,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,CACvB,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CACD,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,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\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) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\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, minion, smolderwingStats, 0, targetBoard, targetHero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"soul-rewinder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soul-rewinder.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,EAAE;YAC/F,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const SoulRewinder: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.SoulRewinder_BG26_174, CardIds.SoulRewinder_BG26_174_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t\tconst mult = minion.cardId === CardIds.SoulRewinder_BG26_174_G ? 2 : 1;\r\n\t\tmodifyStats(minion, minion, 0, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\tif (input.hero.trinkets?.some((t) => t.cardId === CardIds.RewinderPortrait_BG30_MagicItem_868)) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"soul-rewinder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soul-rewinder.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,EAAE;YAC/F,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const SoulRewinder: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.SoulRewinder_BG26_174, CardIds.SoulRewinder_BG26_174_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t\tconst mult = minion.cardId === CardIds.SoulRewinder_BG26_174_G ? 2 : 1;\r\n\t\tmodifyStats(minion, minion, 0, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\tif (input.hero.trinkets?.some((t) => t.cardId === CardIds.RewinderPortrait_BG30_MagicItem_868)) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,0BAA4D;IACrE,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IACC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,OAAO;SACP;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.Spacefarer_BG31_820, CardIds.Spacefarer_BG31_820_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 (\r\n\t\t\t!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.attackAmount > 0) {\r\n\t\t\tconst mult = entity.cardId === CardIds.Spacefarer_BG31_820_G ? 2 : 1;\r\n\t\t\tmodifyStats(entity, entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,0BAA4D;IACrE,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IACC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,OAAO;SACP;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.Spacefarer_BG31_820, CardIds.Spacefarer_BG31_820_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 (\r\n\t\t\t!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.attackAmount > 0) {\r\n\t\t\tconst mult = entity.cardId === CardIds.Spacefarer_BG31_820_G ? 2 : 1;\r\n\t\t\tmodifyStats(entity, entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -17,7 +17,7 @@ exports.SpiritOfAir = {
17
17
  validTargets = input.boardWithDeadEntity.filter((entity) => !entity.windfury);
18
18
  }
19
19
  }
20
- const target = (0, utils_1.pickRandom)(validTargets);
20
+ const target = (0, utils_1.pickRandom)(validTargets, minion);
21
21
  if (target) {
22
22
  if (!target.divineShield) {
23
23
  (0, divine_shield_1.updateDivineShield)(target, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, true, input.gameState);
@@ -1 +1 @@
1
- {"version":3,"file":"spirit-of-air.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spirit-of-air.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AACrE,mDAAsD;AACtD,yDAA4D;AAE5D,mDAAqD;AAIxC,QAAA,WAAW,GAAyB;IAChD,OAAO,EAAE,8DAAkG;IAC3G,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mCAAqD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;gBAC1B,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;oBAC1B,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC9E;aACD;YACD,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;oBACzB,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EACV,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,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;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SpiritOfAir: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy, CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < mult; j++) {\r\n\t\t\tlet validTargets = input.boardWithDeadEntity.filter((entity) => !entity.divineShield);\r\n\t\t\tif (!validTargets?.length) {\r\n\t\t\t\tvalidTargets = input.boardWithDeadEntity.filter((entity) => !entity.taunt);\r\n\t\t\t\tif (!validTargets?.length) {\r\n\t\t\t\t\tvalidTargets = input.boardWithDeadEntity.filter((entity) => !entity.windfury);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\tif (target) {\r\n\t\t\t\tif (!target.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tupdateTaunt(\r\n\t\t\t\t\ttarget,\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\tupdateWindfury(\r\n\t\t\t\t\ttarget,\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\ttarget,\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\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"spirit-of-air.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spirit-of-air.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AACrE,mDAAsD;AACtD,yDAA4D;AAE5D,mDAAqD;AAIxC,QAAA,WAAW,GAAyB;IAChD,OAAO,EAAE,8DAAkG;IAC3G,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mCAAqD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;gBAC1B,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;oBAC1B,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC9E;aACD;YACD,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;oBACzB,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EACV,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,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;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SpiritOfAir: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy, CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < mult; j++) {\r\n\t\t\tlet validTargets = input.boardWithDeadEntity.filter((entity) => !entity.divineShield);\r\n\t\t\tif (!validTargets?.length) {\r\n\t\t\t\tvalidTargets = input.boardWithDeadEntity.filter((entity) => !entity.taunt);\r\n\t\t\t\tif (!validTargets?.length) {\r\n\t\t\t\t\tvalidTargets = input.boardWithDeadEntity.filter((entity) => !entity.windfury);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst target = pickRandom(validTargets, minion);\r\n\t\t\tif (target) {\r\n\t\t\t\tif (!target.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tupdateTaunt(\r\n\t\t\t\t\ttarget,\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\tupdateWindfury(\r\n\t\t\t\t\ttarget,\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\ttarget,\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\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"spirited-whimsydrake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spirited-whimsydrake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC,CAAC;SAC5G;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } 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 SpiritedWhimsydrake: BattlecryCard = {\r\n\tcardIds: [CardIds.SpiritedWhimsydrake_BG32_823, CardIds.SpiritedWhimsydrake_BG32_823_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SpiritedWhimsydrake_BG32_823_G ? 2 : 1;\r\n\t\tconst cardsToAdd = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tcardsToAdd.push(input.gameState.cardsData.getRandomMinionForTribe(Race.DRAGON, input.hero.tavernTier ?? 1));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"spirited-whimsydrake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spirited-whimsydrake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC,CAAC;SAC5G;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\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 SpiritedWhimsydrake: BattlecryCard = {\r\n\tcardIds: [CardIds.SpiritedWhimsydrake_BG32_823, CardIds.SpiritedWhimsydrake_BG32_823_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SpiritedWhimsydrake_BG32_823_G ? 2 : 1;\r\n\t\tconst cardsToAdd = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tcardsToAdd.push(input.gameState.cardsData.getRandomMinionForTribe(Race.DRAGON, input.hero.tavernTier ?? 1));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"springy-spriggan.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/springy-spriggan.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE;;;;;KAKR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GACT,MAAM,CAAC,MAAM,iBAAuC;YACpD,MAAM,CAAC,MAAM,mBAAoE;YAChF,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SpringySpriggan: EndOfTurnCard = {\r\n\tcardIds: [\r\n\t\tCardIds.SpringySpriggan_BG32_171,\r\n\t\tCardIds.SpringySpriggan_BG32_171_G,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171e2,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2,\r\n\t],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult =\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_BG32_171_G ||\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2\r\n\t\t\t\t? 2\r\n\t\t\t\t: 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 0, input.gameState, Race[Race.MECH]);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"springy-spriggan.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/springy-spriggan.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE;;;;;KAKR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GACT,MAAM,CAAC,MAAM,iBAAuC;YACpD,MAAM,CAAC,MAAM,mBAAoE;YAChF,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SpringySpriggan: EndOfTurnCard = {\r\n\tcardIds: [\r\n\t\tCardIds.SpringySpriggan_BG32_171,\r\n\t\tCardIds.SpringySpriggan_BG32_171_G,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171e2,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2,\r\n\t],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult =\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_BG32_171_G ||\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2\r\n\t\t\t\t? 2\r\n\t\t\t\t: 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 0, input.gameState, Race[Race.MECH]);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stitched-salvager.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stitched-salvager.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAG9E,0CAA4C;AAG/B,QAAA,gBAAgB,GAA6C;IACzE,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,MAAM,CAAC,MAAM,iBAAwC,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACzG,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACpB,OAAO;SACP;QAED,MAAM,CAAC,MAAM,GAAG,OAAO;aACrB,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACnG;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC;YAC3B,IAAA,yCAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACb,CAAC,CAA2B,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,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;SACF;QAGD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;;QACnG,MAAM,MAAM,GAAkB,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7D,OAAO,IAAA,kBAAU,EAAC;gBACjB,GAAG,CAAC;gBACJ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACvD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { DeathrattleSpawnCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const StitchedSalvager: StartOfCombatCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.StitchedSalvager_BG31_999, CardIds.StitchedSalvager_BG31_999_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionIndex = input.playerBoard.indexOf(minion);\r\n\t\tlet targets = [];\r\n\t\tif (minionIndex > 0) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex - 1]);\r\n\t\t}\r\n\t\tif (minion.cardId === CardIds.StitchedSalvager_BG31_999_G && minionIndex < input.playerBoard.length - 1) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex + 1]);\r\n\t\t}\r\n\r\n\t\ttargets = targets.filter(\r\n\t\t\t(t) => t.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t);\r\n\t\tif (!targets.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.memory = targets\r\n\t\t\t.filter(\r\n\t\t\t\t(t) =>\r\n\t\t\t\t\tt.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t\t)\r\n\t\t\t.map((t) => {\r\n\t\t\t\tconst copy = copyEntity(t);\r\n\t\t\t\tremoveAurasFromSelf(copy, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\treturn copy;\r\n\t\t\t}) as readonly BoardEntity[];\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.definitelyDead = true;\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t);\r\n\t\t}\r\n\t\t// https://replays.firestoneapp.com/?reviewId=fb20ead1-624f-4fcb-84e2-8b8c1f4d6b73&turn=21&action=2\r\n\t\t// The side with the Stitched Salvager still attacks first, even with a board reduced to 6 minions\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst spawns: BoardEntity[] = (minion.memory ?? []).map((e) => {\r\n\t\t\treturn copyEntity({\r\n\t\t\t\t...e,\r\n\t\t\t\tentityId: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"stitched-salvager.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stitched-salvager.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAG9E,0CAA4C;AAG/B,QAAA,gBAAgB,GAA6C;IACzE,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,MAAM,CAAC,MAAM,iBAAwC,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACzG,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACpB,OAAO;SACP;QAED,MAAM,CAAC,MAAM,GAAG,OAAO;aACrB,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACnG;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC;YAC3B,IAAA,yCAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACb,CAAC,CAA2B,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,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;SACF;QAGD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;;QACnG,MAAM,MAAM,GAAkB,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7D,OAAO,IAAA,kBAAU,EAAC;gBACjB,GAAG,CAAC;gBACJ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACvD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { DeathrattleSpawnCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const StitchedSalvager: StartOfCombatCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.StitchedSalvager_BG31_999, CardIds.StitchedSalvager_BG31_999_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionIndex = input.playerBoard.indexOf(minion);\r\n\t\tlet targets = [];\r\n\t\tif (minionIndex > 0) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex - 1]);\r\n\t\t}\r\n\t\tif (minion.cardId === CardIds.StitchedSalvager_BG31_999_G && minionIndex < input.playerBoard.length - 1) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex + 1]);\r\n\t\t}\r\n\r\n\t\ttargets = targets.filter(\r\n\t\t\t(t) => t.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t);\r\n\t\tif (!targets.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.memory = targets\r\n\t\t\t.filter(\r\n\t\t\t\t(t) =>\r\n\t\t\t\t\tt.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t\t)\r\n\t\t\t.map((t) => {\r\n\t\t\t\tconst copy = copyEntity(t);\r\n\t\t\t\tremoveAurasFromSelf(copy, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\treturn copy;\r\n\t\t\t}) as readonly BoardEntity[];\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.definitelyDead = true;\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t);\r\n\t\t}\r\n\t\t// https://replays.firestoneapp.com/?reviewId=fb20ead1-624f-4fcb-84e2-8b8c1f4d6b73&turn=21&action=2\r\n\t\t// The side with the Stitched Salvager still attacks first, even with a board reduced to 6 minions\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst spawns: BoardEntity[] = (minion.memory ?? []).map((e) => {\r\n\t\t\treturn copyEntity({\r\n\t\t\t\t...e,\r\n\t\t\t\tentityId: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stray-satyr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stray-satyr.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAAwB;IAC9C,OAAO,EAAE,0BAA4D;IACrE,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QAErE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpD,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IACC,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnF,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 } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const StraySatyr: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.StraySatyr_BG33_151, CardIds.StraySatyr_BG33_151_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\t// Only friendly minions trigger this\r\n\t\tif (minion.friendly !== input.damageDealer.friendly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.StraySatyr_BG33_151_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\t'attack' in input.damageDealer &&\r\n\t\t\t'health' in input.damageDealer &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, null);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"stray-satyr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stray-satyr.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAAwB;IAC9C,OAAO,EAAE,0BAA4D;IACrE,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QAErE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpD,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IACC,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnF,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 } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const StraySatyr: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.StraySatyr_BG33_151, CardIds.StraySatyr_BG33_151_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\t// Only friendly minions trigger this\r\n\t\tif (minion.friendly !== input.damageDealer.friendly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.StraySatyr_BG33_151_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\t'attack' in input.damageDealer &&\r\n\t\t\t'health' in input.damageDealer &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, null);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sun-screener.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sun-screener.ts"],"names":[],"mappings":";;;AAEA,mEAAqF;AAGxE,QAAA,WAAW,GAAG;IAC1B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantDivineShieldToLeftmostMinions } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const SunScreener = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {\r\n\t\t\tconst quantity = minion.cardId === CardIds.SunScreener_BG30_101 ? 3 : 6;\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"sun-screener.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sun-screener.ts"],"names":[],"mappings":";;;AAEA,mEAAqF;AAGxE,QAAA,WAAW,GAAG;IAC1B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantDivineShieldToLeftmostMinions } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const SunScreener = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {\r\n\t\t\tconst quantity = minion.cardId === CardIds.SunScreener_BG30_101 ? 3 : 6;\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"surfing-slyvar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/surfing-slyvar.ts"],"names":[],"mappings":";;;AAEA,uDAA2D;AAC3D,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACrG,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAClF,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SurfingSylvar: EndOfTurnCard = {\r\n\tcardIds: [CardIds.SurfingSylvar_BG32_235, CardIds.SurfingSylvar_BG32_235_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SurfingSylvar_BG32_235_G ? 2 : 1;\r\n\t\tconst goldenMinions = input.board.filter((e) => isGolden(e.cardId, input.gameState.allCards)).length;\r\n\t\tconst neighbours = getNeighbours(input.board, minion);\r\n\t\tfor (let i = 0; i < goldenMinions + 1; i++) {\r\n\t\t\tneighbours.forEach((target) =>\r\n\t\t\t\tmodifyStats(target, minion, 1 * mult, 0, input.board, input.hero, input.gameState),\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"surfing-slyvar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/surfing-slyvar.ts"],"names":[],"mappings":";;;AAEA,uDAA2D;AAC3D,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACrG,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAClF,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SurfingSylvar: EndOfTurnCard = {\r\n\tcardIds: [CardIds.SurfingSylvar_BG32_235, CardIds.SurfingSylvar_BG32_235_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SurfingSylvar_BG32_235_G ? 2 : 1;\r\n\t\tconst goldenMinions = input.board.filter((e) => isGolden(e.cardId, input.gameState.allCards)).length;\r\n\t\tconst neighbours = getNeighbours(input.board, minion);\r\n\t\tfor (let i = 0; i < goldenMinions + 1; i++) {\r\n\t\t\tneighbours.forEach((target) =>\r\n\t\t\t\tmodifyStats(target, minion, 1 * mult, 0, input.board, input.hero, input.gameState),\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"thorncaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thorncaller.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Thorncaller: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Thorncaller_BG20_105, CardIds.Thorncaller_BG20_105_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"thorncaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thorncaller.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Thorncaller: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Thorncaller_BG20_105, CardIds.Thorncaller_BG20_105_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"thousandth-paper-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thousandth-paper-drake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,yDAA4D;AAE5D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,oBAAoB,GAAG;IACnC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,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;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateWindfury } from '../../../keywords/windfury';\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 ThousandthPaperDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ThousandthPaperDrake_BG29_810_G ? 2 : 1;\r\n\t\tconst pickedTargets = [];\r\n\t\tconst dragons = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst target = dragons.filter((e) => !pickedTargets.includes(e))[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmodifyStats(target, minion, 1, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\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\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tpickedTargets.push(target);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\ttarget,\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}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"thousandth-paper-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thousandth-paper-drake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,yDAA4D;AAE5D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,oBAAoB,GAAG;IACnC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,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;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateWindfury } from '../../../keywords/windfury';\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 ThousandthPaperDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ThousandthPaperDrake_BG29_810_G ? 2 : 1;\r\n\t\tconst pickedTargets = [];\r\n\t\tconst dragons = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst target = dragons.filter((e) => !pickedTargets.includes(e))[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmodifyStats(target, minion, 1, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\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\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tpickedTargets.push(target);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\ttarget,\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}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"thundering-abomination.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thundering-abomination.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,qBAAqB,GAAuB;IACxD,OAAO,EAAE,0BAAkF;IAC3F,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,MAAM,EACN,mBAAmB,GAAG,CAAC,EACvB,mBAAmB,GAAG,CAAC,EACvB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ThunderingAbomination: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ThunderingAbomination_BG30_124, CardIds.ThunderingAbomination_BG30_124_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst abomStatsMultiplier = minion.cardId === CardIds.ThunderingAbomination_BG30_124_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\tminion,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"thundering-abomination.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thundering-abomination.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,qBAAqB,GAAuB;IACxD,OAAO,EAAE,0BAAkF;IAC3F,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,MAAM,EACN,mBAAmB,GAAG,CAAC,EACvB,mBAAmB,GAAG,CAAC,EACvB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ThunderingAbomination: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ThunderingAbomination_BG30_124, CardIds.ThunderingAbomination_BG30_124_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst abomStatsMultiplier = minion.cardId === CardIds.ThunderingAbomination_BG30_124_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\tminion,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -11,7 +11,7 @@ exports.TideRaiser = {
11
11
  const raw = (0, attack_1.getNeighbours)(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight)
12
12
  .filter((e) => !!e)
13
13
  .filter((e) => e.health > 0 && !e.definitelyDead);
14
- const targets = golden ? raw : raw.length ? [(0, utils_1.pickRandom)(raw)] : [];
14
+ const targets = golden ? raw : raw.length ? [(0, utils_1.pickRandom)(raw, minion)] : [];
15
15
  for (const t of targets) {
16
16
  (0, cast_tavern_spell_1.castTavernSpell)("BG32_815", {
17
17
  spellCardId: "BG32_815",
@@ -1 +1 @@
1
- {"version":3,"file":"tide-raiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tide-raiser.ts"],"names":[],"mappings":";;;AACA,4EAAuE;AAEvE,mDAAqD;AACrD,uDAA2D;AAI9C,QAAA,UAAU,GAAyB;IAC/C,OAAO,EAAE,0BAA4D;IACrE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC;aAC1F,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACxB,IAAA,mCAAe,cAAgC;gBAC9C,WAAW,YAA+B;gBAC1C,MAAM,EAAE,KAAK,CAAC,uBAAuB;gBACrC,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,KAAK,CAAC,mBAAmB;gBAChC,IAAI,EAAE,KAAK,CAAC,uBAAuB;gBACnC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,cAAc;gBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC1B,CAAC,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { castTavernSpell } from '../../../mechanics/cast-tavern-spell';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TideRaiser: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TideRaiser_BG34_920, CardIds.TideRaiser_BG34_920_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst golden = minion.cardId === CardIds.TideRaiser_BG34_920_G;\r\n\t\tconst raw = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight)\r\n\t\t\t.filter((e): e is BoardEntity => !!e)\r\n\t\t\t.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\t\tconst targets = golden ? raw : raw.length ? [pickRandom(raw)] : [];\r\n\t\tfor (const t of targets) {\r\n\t\t\tcastTavernSpell(CardIds.ShiftingTide_BG32_815, {\r\n\t\t\t\tspellCardId: CardIds.ShiftingTide_BG32_815,\r\n\t\t\t\tsource: input.boardWithDeadEntityHero,\r\n\t\t\t\ttarget: t,\r\n\t\t\t\tboard: input.boardWithDeadEntity,\r\n\t\t\t\thero: input.boardWithDeadEntityHero,\r\n\t\t\t\totherBoard: input.otherBoard,\r\n\t\t\t\totherHero: input.otherBoardHero,\r\n\t\t\t\tgameState: input.gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"tide-raiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tide-raiser.ts"],"names":[],"mappings":";;;AACA,4EAAuE;AAEvE,mDAAqD;AACrD,uDAA2D;AAI9C,QAAA,UAAU,GAAyB;IAC/C,OAAO,EAAE,0BAA4D;IACrE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC;aAC1F,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACxB,IAAA,mCAAe,cAAgC;gBAC9C,WAAW,YAA+B;gBAC1C,MAAM,EAAE,KAAK,CAAC,uBAAuB;gBACrC,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,KAAK,CAAC,mBAAmB;gBAChC,IAAI,EAAE,KAAK,CAAC,uBAAuB;gBACnC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,cAAc;gBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC1B,CAAC,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { castTavernSpell } from '../../../mechanics/cast-tavern-spell';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TideRaiser: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TideRaiser_BG34_920, CardIds.TideRaiser_BG34_920_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst golden = minion.cardId === CardIds.TideRaiser_BG34_920_G;\r\n\t\tconst raw = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight)\r\n\t\t\t.filter((e): e is BoardEntity => !!e)\r\n\t\t\t.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\t\tconst targets = golden ? raw : raw.length ? [pickRandom(raw, minion)] : [];\r\n\t\tfor (const t of targets) {\r\n\t\t\tcastTavernSpell(CardIds.ShiftingTide_BG32_815, {\r\n\t\t\t\tspellCardId: CardIds.ShiftingTide_BG32_815,\r\n\t\t\t\tsource: input.boardWithDeadEntityHero,\r\n\t\t\t\ttarget: t,\r\n\t\t\t\tboard: input.boardWithDeadEntity,\r\n\t\t\t\thero: input.boardWithDeadEntityHero,\r\n\t\t\t\totherBoard: input.otherBoard,\r\n\t\t\t\totherHero: input.otherBoardHero,\r\n\t\t\t\tgameState: input.gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-warghoul.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-warghoul.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAA2D;AAE3D,6FAA4F;AAC5F,6EAA4E;AAG5E,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,sCAAwF;IACjG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,cAAc,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAC5G,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC;YACH,IAAA,uCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC;YACtE,CAAC,0BAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAI9C,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAG/B,CAAC;QACF,IAAI,UAAyB,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,uBAAgD,EAAE;YAClE,UAAU,GAAG,aAAa,CAAC;SAC3B;aAAM;YAEN,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjD,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,cAAc,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;SACzE;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,SAAS,EACT,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;YACF,MAAM,cAAc,GACnB,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,IAAA,uDAA2B,EAC1B,SAAS,EACT,cAAc,EACd,CAAC,SAAS,CAAC,EACX,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAC1F,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAC1F,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;SACF;QACD,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nlet callStackDepth = 0; // Global variable to track call stack depth\r\n\r\nexport const TimewarpedWarghoul: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedWarghoul_BG34_Giant_331, CardIds.TimewarpedWarghoul_BG34_Giant_331_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tcallStackDepth++;\r\n\t\tconst allNeighbours = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight).filter(\r\n\t\t\t(e) =>\r\n\t\t\t\t!!e &&\r\n\t\t\t\thasValidDeathrattle(e, input.boardWithDeadEntityHero, input.gameState) &&\r\n\t\t\t\t!TimewarpedWarghoul.cardIds.includes(e.cardId) &&\r\n\t\t\t\t// The Warghoul will proc all the Whirl-O-Trons deathrattles but the copied deathrattle\r\n\t\t\t\t// cannot re-proc on the Warghoul itself. (If you manage to get a set up with 2 Whirl-O-Trons,\r\n\t\t\t\t// Macaw and Warghoul then congrats! Things may start to loop)\r\n\t\t\t\te.entityId !== minion.entityId,\r\n\t\t\t// !e.enchantments?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)) &&\r\n\t\t\t// !e.rememberedDeathrattles?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)),\r\n\t\t);\r\n\t\tlet neighbours: BoardEntity[];\r\n\t\tif (minion.cardId === CardIds.TimewarpedWarghoul_BG34_Giant_331_G) {\r\n\t\t\tneighbours = allNeighbours;\r\n\t\t} else {\r\n\t\t\t// Non-golden: pick one random neighbour\r\n\t\t\tconst chosen = pickRandom(allNeighbours, minion);\r\n\t\t\tneighbours = chosen ? [chosen] : [];\r\n\t\t}\r\n\t\tif (neighbours.length === 0) {\r\n\t\t\tcallStackDepth--;\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\tif (callStackDepth > 10) {\r\n\t\t\tconsole.log('warning: timewarped warghoul call stack depth is too deep');\r\n\t\t}\r\n\t\tfor (const neighbour of neighbours) {\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tneighbour,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t);\r\n\t\t\tconst indexFromRight =\r\n\t\t\t\tinput.boardWithDeadEntity.length - (input.boardWithDeadEntity.indexOf(neighbour) + 1);\r\n\t\t\tprocessDeathrattleForMinion(\r\n\t\t\t\tneighbour,\r\n\t\t\t\tindexFromRight,\r\n\t\t\t\t[neighbour],\r\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\r\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t}\r\n\t\tcallStackDepth--;\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-warghoul.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-warghoul.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAA2D;AAE3D,6FAA4F;AAC5F,6EAA4E;AAG5E,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,sCAAwF;IACjG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,cAAc,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAC5G,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC;YACH,IAAA,uCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC;YACtE,CAAC,0BAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAI9C,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAG/B,CAAC;QACF,IAAI,UAAyB,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,uBAAgD,EAAE;YAClE,UAAU,GAAG,aAAa,CAAC;SAC3B;aAAM;YAEN,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjD,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,cAAc,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;SACzE;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,SAAS,EACT,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;YACF,MAAM,cAAc,GACnB,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,IAAA,uDAA2B,EAC1B,SAAS,EACT,cAAc,EACd,CAAC,SAAS,CAAC,EACX,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAC1F,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAC1F,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;SACF;QACD,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\nimport { CardIds } from '../../../services/card-ids';\nimport { pickRandom } from '../../../services/utils';\nimport { getNeighbours } from '../../../simulation/attack';\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\nimport { DeathrattleSpawnCard } from '../../card.interface';\n\nlet callStackDepth = 0; // Global variable to track call stack depth\n\nexport const TimewarpedWarghoul: DeathrattleSpawnCard = {\n\tcardIds: [CardIds.TimewarpedWarghoul_BG34_Giant_331, CardIds.TimewarpedWarghoul_BG34_Giant_331_G],\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\n\t\tcallStackDepth++;\n\t\tconst allNeighbours = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight).filter(\n\t\t\t(e) =>\n\t\t\t\t!!e &&\n\t\t\t\thasValidDeathrattle(e, input.boardWithDeadEntityHero, input.gameState) &&\n\t\t\t\t!TimewarpedWarghoul.cardIds.includes(e.cardId) &&\n\t\t\t\t// The Warghoul will proc all the Whirl-O-Trons deathrattles but the copied deathrattle\n\t\t\t\t// cannot re-proc on the Warghoul itself. (If you manage to get a set up with 2 Whirl-O-Trons,\n\t\t\t\t// Macaw and Warghoul then congrats! Things may start to loop)\n\t\t\t\te.entityId !== minion.entityId,\n\t\t\t// !e.enchantments?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)) &&\n\t\t\t// !e.rememberedDeathrattles?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)),\n\t\t);\n\t\tlet neighbours: BoardEntity[];\n\t\tif (minion.cardId === CardIds.TimewarpedWarghoul_BG34_Giant_331_G) {\n\t\t\tneighbours = allNeighbours;\n\t\t} else {\n\t\t\t// Non-golden: pick one random neighbour\n\t\t\tconst chosen = pickRandom(allNeighbours, minion);\n\t\t\tneighbours = chosen ? [chosen] : [];\n\t\t}\n\t\tif (neighbours.length === 0) {\n\t\t\tcallStackDepth--;\n\t\t\treturn [];\n\t\t}\n\t\tif (callStackDepth > 10) {\n\t\t\tconsole.log('warning: timewarped warghoul call stack depth is too deep');\n\t\t}\n\t\tfor (const neighbour of neighbours) {\n\t\t\tinput.gameState.spectator.registerPowerTarget(\n\t\t\t\tminion,\n\t\t\t\tneighbour,\n\t\t\t\tinput.boardWithDeadEntity,\n\t\t\t\tinput.boardWithDeadEntityHero,\n\t\t\t\tinput.otherBoardHero,\n\t\t\t);\n\t\t\tconst indexFromRight =\n\t\t\t\tinput.boardWithDeadEntity.length - (input.boardWithDeadEntity.indexOf(neighbour) + 1);\n\t\t\tprocessDeathrattleForMinion(\n\t\t\t\tneighbour,\n\t\t\t\tindexFromRight,\n\t\t\t\t[neighbour],\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\n\t\t\t\tinput.gameState,\n\t\t\t\tfalse,\n\t\t\t);\n\t\t}\n\t\tcallStackDepth--;\n\t\treturn [];\n\t},\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,8BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,mBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC/E,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EACzD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,EACjE,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TunnelBlaster: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TunnelBlaster_BG_DAL_775, CardIds.TunnelBlaster_BG_DAL_775_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.TunnelBlaster_BG_DAL_775_G ? 2 : 1;\r\n\t\t// In case there are spawns, don't target them\r\n\t\tconst minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];\r\n\t\tfor (let j = 0; j < loops; j++) {\r\n\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\tconst isSameSide = target.friendly === minion.friendly;\r\n\t\t\t\tconst board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;\r\n\t\t\t\tconst hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t3,\r\n\t\t\t\t\tisSameSide ? input.otherBoard : input.boardWithDeadEntity,\r\n\t\t\t\t\tisSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,8BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,mBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC/E,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EACzD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,EACjE,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TunnelBlaster: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TunnelBlaster_BG_DAL_775, CardIds.TunnelBlaster_BG_DAL_775_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.TunnelBlaster_BG_DAL_775_G ? 2 : 1;\r\n\t\t// In case there are spawns, don't target them\r\n\t\tconst minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];\r\n\t\tfor (let j = 0; j < loops; j++) {\r\n\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\tconst isSameSide = target.friendly === minion.friendly;\r\n\t\t\t\tconst board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;\r\n\t\t\t\tconst hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t3,\r\n\t\t\t\t\tisSameSide ? input.otherBoard : input.boardWithDeadEntity,\r\n\t\t\t\t\tisSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"twilight-primordium.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-primordium.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,kBAAkB,GAAkB;IAChD,OAAO,EAAE,0BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG;YAClB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;SACD,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { 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 TwilightPrimordium: BattlecryCard = {\r\n\tcardIds: [CardIds.TwilightPrimordium_BG31_813, CardIds.TwilightPrimordium_BG31_813_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst currentBuffValue = minion.scriptDataNum1 ?? 1;\r\n\t\tconst mult = minion.cardId === CardIds.TwilightPrimordium_BG31_813_G ? 2 : 1;\r\n\t\tconst candidates = [\r\n\t\t\t...input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t\t...input.otherBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t];\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\t2 * mult * currentBuffValue,\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\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"twilight-primordium.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-primordium.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,kBAAkB,GAAkB;IAChD,OAAO,EAAE,0BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG;YAClB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;SACD,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\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 TwilightPrimordium: BattlecryCard = {\r\n\tcardIds: [CardIds.TwilightPrimordium_BG31_813, CardIds.TwilightPrimordium_BG31_813_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst currentBuffValue = minion.scriptDataNum1 ?? 1;\r\n\t\tconst mult = minion.cardId === CardIds.TwilightPrimordium_BG31_813_G ? 2 : 1;\r\n\t\tconst candidates = [\r\n\t\t\t...input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t\t...input.otherBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t];\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\t2 * mult * currentBuffValue,\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\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ultralisk.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ultralisk.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,0CAAqG;IAC9G,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAW,EAAE;QAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,yBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\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 { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Ultralisk: StartOfCombatCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_UltraliskToken_BG31_HERO_811t10, CardIds.Ultralisk_BG31_HERO_811t10_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput): boolean => {\r\n\t\t// We add the stats, so mults are -1\r\n\t\tconst multiplier = minion.cardId === CardIds.Ultralisk_BG31_HERO_811t10_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tmultiplier * minion.attack,\r\n\t\t\tmultiplier * minion.health,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"ultralisk.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ultralisk.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,0CAAqG;IAC9G,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAW,EAAE;QAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,yBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\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 { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Ultralisk: StartOfCombatCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_UltraliskToken_BG31_HERO_811t10, CardIds.Ultralisk_BG31_HERO_811t10_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput): boolean => {\r\n\t\t// We add the stats, so mults are -1\r\n\t\tconst multiplier = minion.cardId === CardIds.Ultralisk_BG31_HERO_811t10_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tmultiplier * minion.attack,\r\n\t\t\tmultiplier * minion.health,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"valiant-tiger.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/valiant-tiger.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ValiantTiger: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ValiantTiger_BG32_202, CardIds.ValiantTiger_BG32_202_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ValiantTiger_BG32_202 ? 1 : 2;\r\n\t\tconst beasts = input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\te,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tRace.BEAST,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t),\r\n\t\t);\r\n\t\tconst target = beasts[beasts.length - 1];\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\t5 * mult,\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\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"valiant-tiger.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/valiant-tiger.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ValiantTiger: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ValiantTiger_BG32_202, CardIds.ValiantTiger_BG32_202_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ValiantTiger_BG32_202 ? 1 : 2;\r\n\t\tconst beasts = input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\te,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tRace.BEAST,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t),\r\n\t\t);\r\n\t\tconst target = beasts[beasts.length - 1];\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\t5 * mult,\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\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"void-earl.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/void-earl.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,0BAAwD;IACjE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,IAAA,4CAAuB,gBAAsC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\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 VoidEarl: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.VoidEarl_BG33_157, CardIds.VoidEarl_BG33_157_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.VoidEarl_BG33_157_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.VoidwalkerLegacy_BG_CS2_065, 2 * mult, input);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"void-earl.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/void-earl.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,0BAAwD;IACjE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,IAAA,4CAAuB,gBAAsC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\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 VoidEarl: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.VoidEarl_BG33_157, CardIds.VoidEarl_BG33_157_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.VoidEarl_BG33_157_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.VoidwalkerLegacy_BG_CS2_065, 2 * mult, input);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vorkai-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vorkai-guardian.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,uDAA2D;AAI9C,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,0BAAoE;IAC7E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,OAAO,KAAK,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,IAAA,kCAAkB,EACjB,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const VorkaiGuardian: StartOfCombatCard = {\r\n\tcardIds: [CardIds.VorkaiGuardian_BG32_867, CardIds.VorkaiGuardian_BG32_867_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionsWithDivineShield = input.playerBoard.filter((e) => e.divineShield);\r\n\t\tif (minionsWithDivineShield.length > 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst neighbours = getNeighbours(input.playerBoard, minion);\r\n\t\tneighbours.forEach((neighbour) => {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tneighbour,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\ttrue,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t});\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"vorkai-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vorkai-guardian.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,uDAA2D;AAI9C,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,0BAAoE;IAC7E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,OAAO,KAAK,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,IAAA,kCAAkB,EACjB,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const VorkaiGuardian: StartOfCombatCard = {\r\n\tcardIds: [CardIds.VorkaiGuardian_BG32_867, CardIds.VorkaiGuardian_BG32_867_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionsWithDivineShield = input.playerBoard.filter((e) => e.divineShield);\r\n\t\tif (minionsWithDivineShield.length > 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst neighbours = getNeighbours(input.playerBoard, minion);\r\n\t\tneighbours.forEach((neighbour) => {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tneighbour,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\ttrue,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t});\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wandering-wight.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wandering-wight.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9G,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const WanderingWight: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.WanderingWight_BG31_126, CardIds.WanderingWight_BG31_126_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.WanderingWight_BG31_126 ? 1 : 2;\r\n\t\tmodifyStats(input.spawned, minion, 0, input.spawned.attack * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"wandering-wight.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wandering-wight.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9G,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const WanderingWight: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.WanderingWight_BG31_126, CardIds.WanderingWight_BG31_126_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.WanderingWight_BG31_126 ? 1 : 2;\r\n\t\tmodifyStats(input.spawned, minion, 0, input.spawned.attack * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"whelp-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whelp-smuggler.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGjD,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,aAAa,GAAuB;IAChD,OAAO,EAAE,0BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,cAAc,EAAE,CAAC;QACjB,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB;YACD,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACrF;QACD,cAAc,EAAE,CAAC;IAClB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nlet callStackDepth = 0; // Global variable to track call stack depth\r\n\r\nexport const WhelpSmuggler: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WhelpSmuggler_BG21_013, CardIds.WhelpSmuggler_BG21_013_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tcallStackDepth++;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.target,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DRAGON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t) &&\r\n\t\t\tinput.attackAmount > 0\r\n\t\t) {\r\n\t\t\tconst buff = minion.cardId === CardIds.WhelpSmuggler_BG21_013_G ? 2 : 1;\r\n\t\t\tmodifyStats(input.target, minion, 0, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\tcallStackDepth--;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"whelp-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whelp-smuggler.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGjD,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,aAAa,GAAuB;IAChD,OAAO,EAAE,0BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,cAAc,EAAE,CAAC;QACjB,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB;YACD,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACrF;QACD,cAAc,EAAE,CAAC;IAClB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nlet callStackDepth = 0; // Global variable to track call stack depth\r\n\r\nexport const WhelpSmuggler: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WhelpSmuggler_BG21_013, CardIds.WhelpSmuggler_BG21_013_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tcallStackDepth++;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.target,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DRAGON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t) &&\r\n\t\t\tinput.attackAmount > 0\r\n\t\t) {\r\n\t\t\tconst buff = minion.cardId === CardIds.WhelpSmuggler_BG21_013_G ? 2 : 1;\r\n\t\t\tmodifyStats(input.target, minion, 0, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\tcallStackDepth--;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"whirring-protector-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whirring-protector-enchantment.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,4BAA4B,GAAc;IACtD,OAAO,EAAE;;;KAGR;IACD,KAAK,EAAE,CAAC,WAAwB,EAAE,KAAoB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,kBAAuE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1G;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const WhirringProtectorEnchantment: RallyCard = {\r\n\tcardIds: [\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807e,\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge,\r\n\t],\r\n\trally: (enchantment: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = enchantment.cardId === CardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge ? 2 : 1;\r\n\t\tconst targets = input.attackingBoard.filter((e) => e !== input.attacker);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, enchantment, 5 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"whirring-protector-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whirring-protector-enchantment.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,4BAA4B,GAAc;IACtD,OAAO,EAAE;;;KAGR;IACD,KAAK,EAAE,CAAC,WAAwB,EAAE,KAAoB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,kBAAuE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1G;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const WhirringProtectorEnchantment: RallyCard = {\r\n\tcardIds: [\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807e,\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge,\r\n\t],\r\n\trally: (enchantment: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = enchantment.cardId === CardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge ? 2 : 1;\r\n\t\tconst targets = input.attackingBoard.filter((e) => e !== input.attacker);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, enchantment, 5 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wildfire-elemental.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wildfire-elemental.ts"],"names":[],"mappings":";;;AAEA,uDAAqF;AAGxE,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,8BAA8E;IACvF,cAAc,EAAE,CACf,MAAmB,EACnB,KAA0B,EACiC,EAAE;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAChD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,cAAsC,EAAE;gBACxD,MAAM,YAAY,GACjB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvF,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;iBAAM;gBACN,oBAAoB,IAAI,KAAK,CAAC,kBAAkB;qBAC9C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,IAAA,2BAAkB,EACjB,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CACD;qBACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7B;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion, OnMinionKilledInput } from '../../../simulation/attack';\r\nimport { OnMinionKilledCard } from '../../card.interface';\r\n\r\nexport const WildfireElemental: OnMinionKilledCard = {\r\n\tcardIds: [CardIds.WildfireElemental_BGS_126, CardIds.WildfireElemental_TB_BaconUps_166],\r\n\tonMinionKilled: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (input.killer !== minion || !input.killerIsAttacking) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst excessDamage = -input.minionKilled.health;\r\n\t\tlet damageDoneByAttacker = 0;\r\n\t\t// console.log('neighbours', stringifySimple(neighbours, allCards));\r\n\t\tif (input.defenderNeighbours.length > 0) {\r\n\t\t\tif (minion.cardId === CardIds.WildfireElemental_BGS_126) {\r\n\t\t\t\tconst randomTarget =\r\n\t\t\t\t\tinput.defenderNeighbours[Math.floor(Math.random() * input.defenderNeighbours.length)];\r\n\t\t\t\tdamageDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\trandomTarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\texcessDamage,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tdamageDoneByAttacker += input.defenderNeighbours\r\n\t\t\t\t\t.map((neighbour) =>\r\n\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\tneighbour,\r\n\t\t\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\t\t\texcessDamage,\r\n\t\t\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.reduce((a, b) => a + b, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: damageDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"wildfire-elemental.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wildfire-elemental.ts"],"names":[],"mappings":";;;AAEA,uDAAqF;AAGxE,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,8BAA8E;IACvF,cAAc,EAAE,CACf,MAAmB,EACnB,KAA0B,EACiC,EAAE;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAChD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,cAAsC,EAAE;gBACxD,MAAM,YAAY,GACjB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvF,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;iBAAM;gBACN,oBAAoB,IAAI,KAAK,CAAC,kBAAkB;qBAC9C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,IAAA,2BAAkB,EACjB,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CACD;qBACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7B;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion, OnMinionKilledInput } from '../../../simulation/attack';\r\nimport { OnMinionKilledCard } from '../../card.interface';\r\n\r\nexport const WildfireElemental: OnMinionKilledCard = {\r\n\tcardIds: [CardIds.WildfireElemental_BGS_126, CardIds.WildfireElemental_TB_BaconUps_166],\r\n\tonMinionKilled: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (input.killer !== minion || !input.killerIsAttacking) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst excessDamage = -input.minionKilled.health;\r\n\t\tlet damageDoneByAttacker = 0;\r\n\t\t// console.log('neighbours', stringifySimple(neighbours, allCards));\r\n\t\tif (input.defenderNeighbours.length > 0) {\r\n\t\t\tif (minion.cardId === CardIds.WildfireElemental_BGS_126) {\r\n\t\t\t\tconst randomTarget =\r\n\t\t\t\t\tinput.defenderNeighbours[Math.floor(Math.random() * input.defenderNeighbours.length)];\r\n\t\t\t\tdamageDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\trandomTarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\texcessDamage,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tdamageDoneByAttacker += input.defenderNeighbours\r\n\t\t\t\t\t.map((neighbour) =>\r\n\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\tneighbour,\r\n\t\t\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\t\t\texcessDamage,\r\n\t\t\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.reduce((a, b) => a + b, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: damageDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wisp-in-the-shell.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wisp-in-the-shell.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,mCAAI,CAAC,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const WispInTheShell: BattlecryCard = {\r\n\tcardIds: [CardIds.WispInTheShell_BG31_841, CardIds.WispInTheShell_BG31_841_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst target = pickRandomAlive(input.board);\r\n\t\tif (!!target) {\r\n\t\t\tconst mult = minion.cardId === CardIds.WispInTheShell_BG31_841 ? 1 : 2;\r\n\t\t\tconst baseValue = 1 + (input.hero.globalInfo.FriendlyMinionsDeadLastCombat ?? 0);\r\n\t\t\tconst buff = 2 * mult * baseValue;\r\n\t\t\tmodifyStats(target, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"wisp-in-the-shell.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wisp-in-the-shell.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,mCAAI,CAAC,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const WispInTheShell: BattlecryCard = {\r\n\tcardIds: [CardIds.WispInTheShell_BG31_841, CardIds.WispInTheShell_BG31_841_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst target = pickRandomAlive(input.board);\r\n\t\tif (!!target) {\r\n\t\t\tconst mult = minion.cardId === CardIds.WispInTheShell_BG31_841 ? 1 : 2;\r\n\t\t\tconst baseValue = 1 + (input.hero.globalInfo.FriendlyMinionsDeadLastCombat ?? 0);\r\n\t\t\tconst buff = 2 * mult * baseValue;\r\n\t\t\tmodifyStats(target, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wrathscale-rogue.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wrathscale-rogue.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,eAAe,GAAuB;IAClD,OAAO,EAAE,0BAAsE;IAC/E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IACC,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzG,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAG9B,IAAA,mBAAW,EACV,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,KAAK,CAAC,YAAY,EAClB,CAAC,EACD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,EACL,IAAI,EACJ,KAAK,CACL,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const WrathscaleRogue: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WrathscaleRogue_BG33_920, CardIds.WrathscaleRogue_BG33_920_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (\r\n\t\t\tinput.target !== minion &&\r\n\t\t\thasCorrectTribe(input.target, input.hero, Race.NAGA, input.gameState.anomalies, input.gameState.allCards) &&\r\n\t\t\tinput.healthAmount > 0\r\n\t\t) {\r\n\t\t\tconst mult = minion.cardId === CardIds.WrathscaleRogue_BG33_920_G ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\t// Patch 33.6.2 made it so Wrathscale Rogue does not trigger Sinestra / Whelp Smuggler / Titanic Guardian\r\n\t\t\t\t// For now we simply mark is as not triggering stat gain effects, and will refine this later\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\tinput.target,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tinput.healthAmount,\r\n\t\t\t\t\t0,\r\n\t\t\t\t\tinput.board,\r\n\t\t\t\t\tinput.hero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"wrathscale-rogue.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wrathscale-rogue.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,eAAe,GAAuB;IAClD,OAAO,EAAE,0BAAsE;IAI/E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IACC,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzG,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAG9B,IAAA,mBAAW,EACV,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,KAAK,CAAC,YAAY,EAClB,CAAC,EACD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,EACL,IAAI,EACJ,KAAK,CACL,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const WrathscaleRogue: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WrathscaleRogue_BG33_920, CardIds.WrathscaleRogue_BG33_920_G],\r\n\t// This should be \"after stats update\", which should, I think, proc after the attack has resolved\r\n\t// I don't have the infrastructure for this yet, so we'll use onStatsChanged for now\r\n\t// But maybe use a deferred trigger for this?\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (\r\n\t\t\tinput.target !== minion &&\r\n\t\t\thasCorrectTribe(input.target, input.hero, Race.NAGA, input.gameState.anomalies, input.gameState.allCards) &&\r\n\t\t\tinput.healthAmount > 0\r\n\t\t) {\r\n\t\t\tconst mult = minion.cardId === CardIds.WrathscaleRogue_BG33_920_G ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\t// Patch 33.6.2 made it so Wrathscale Rogue does not trigger Sinestra / Whelp Smuggler / Titanic Guardian\r\n\t\t\t\t// For now we simply mark is as not triggering stat gain effects, and will refine this later\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\tinput.target,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tinput.healthAmount,\r\n\t\t\t\t\t0,\r\n\t\t\t\t\tinput.board,\r\n\t\t\t\t\tinput.hero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"yorik-smite.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yorik-smite.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,UAAU,GAAkB;IACxC,OAAO,EAAE,0BAA4D;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAChG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const YorikSmite: EndOfTurnCard = {\r\n\tcardIds: [CardIds.YorikSmite_BG33_827, CardIds.YorikSmite_BG33_827_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.YorikSmite_BG33_827_G ? 2 : 1;\r\n\t\tfor (const target of input.board) {\r\n\t\t\tconst buff = isGolden(target.cardId, input.gameState.allCards) ? 6 : 2;\r\n\t\t\tmodifyStats(target, minion, buff * mult, buff * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"yorik-smite.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yorik-smite.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,UAAU,GAAkB;IACxC,OAAO,EAAE,0BAA4D;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAChG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const YorikSmite: EndOfTurnCard = {\r\n\tcardIds: [CardIds.YorikSmite_BG33_827, CardIds.YorikSmite_BG33_827_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.YorikSmite_BG33_827_G ? 2 : 1;\r\n\t\tfor (const target of input.board) {\r\n\t\t\tconst buff = isGolden(target.cardId, input.gameState.allCards) ? 6 : 2;\r\n\t\t\tmodifyStats(target, minion, buff * mult, buff * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"yrel.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yrel.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,IAAI,GAAc;IAC9B,OAAO,EAAE,0BAAgD;IACzD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAA,qCAA6B,EAC5B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,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 '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Yrel: RallyCard = {\r\n\tcardIds: [CardIds.Yrel_BG23_350, CardIds.Yrel_BG23_350_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Yrel_BG23_350_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\tinput.attacker,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\t1 * mult,\r\n\t\t\t2 * mult,\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"]}
1
+ {"version":3,"file":"yrel.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yrel.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,IAAI,GAAc;IAC9B,OAAO,EAAE,0BAAgD;IACzD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAA,qCAA6B,EAC5B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,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 '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Yrel: RallyCard = {\r\n\tcardIds: [CardIds.Yrel_BG23_350, CardIds.Yrel_BG23_350_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Yrel_BG23_350_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\tinput.attacker,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\t1 * mult,\r\n\t\t\t2 * mult,\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"yulon-fortune-granter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yulon-fortune-granter.ts"],"names":[],"mappings":";;;AAEA,mDAAuD;AAEvD,6DAAoE;AACpE,0CAA0C;AAE7B,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5D,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,eAAyC;gBACjD,CAAC,CAAC,MAAM,iBAA2C,CACpD,CAAC;YAEH,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;gBAClD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CACnD,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,yBAAgB,EACf,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { shuffleArray } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { isGolden } from '../../../utils';\r\n\r\nexport const YulonFortuneGranter = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.YulonFortuneGranter_BG29_811_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst candidateBoard = input.playerBoard\r\n\t\t\t\t.filter((e) => !isGolden(e.cardId, input.gameState.allCards))\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811 &&\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811_G,\r\n\t\t\t\t);\r\n\t\t\t// Because we pick one at random from all the ones that have the lowest tier\r\n\t\t\tconst randomBoard = shuffleArray(candidateBoard);\r\n\t\t\tconst candidates = randomBoard.sort(\r\n\t\t\t\t(a, b) =>\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(a.cardId) -\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(b.cardId),\r\n\t\t\t);\r\n\t\t\tconst target = candidates[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"yulon-fortune-granter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yulon-fortune-granter.ts"],"names":[],"mappings":";;;AAEA,mDAAuD;AAEvD,6DAAoE;AACpE,0CAA0C;AAE7B,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5D,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,eAAyC;gBACjD,CAAC,CAAC,MAAM,iBAA2C,CACpD,CAAC;YAEH,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;gBAClD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CACnD,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,yBAAgB,EACf,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { shuffleArray } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { isGolden } from '../../../utils';\r\n\r\nexport const YulonFortuneGranter = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.YulonFortuneGranter_BG29_811_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst candidateBoard = input.playerBoard\r\n\t\t\t\t.filter((e) => !isGolden(e.cardId, input.gameState.allCards))\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811 &&\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811_G,\r\n\t\t\t\t);\r\n\t\t\t// Because we pick one at random from all the ones that have the lowest tier\r\n\t\t\tconst randomBoard = shuffleArray(candidateBoard);\r\n\t\t\tconst candidates = randomBoard.sort(\r\n\t\t\t\t(a, b) =>\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(a.cardId) -\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(b.cardId),\r\n\t\t\t);\r\n\t\t\tconst target = candidates[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}