@firestone-hs/simulate-bgs-battle 1.1.719 → 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 (207) hide show
  1. package/dist/bgs-battle-info.js.map +1 -1
  2. package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
  3. package/dist/cards/impl/bg-spell/shifting-tide.js.map +1 -1
  4. package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -1
  5. package/dist/cards/impl/hero-power/aim-high.js.map +1 -1
  6. package/dist/cards/impl/hero-power/aim-left.js.map +1 -1
  7. package/dist/cards/impl/hero-power/aim-low.js.map +1 -1
  8. package/dist/cards/impl/hero-power/aim-right.js.map +1 -1
  9. package/dist/cards/impl/hero-power/earth-invocation.js.map +1 -1
  10. package/dist/cards/impl/hero-power/embrace-your-rage.js.map +1 -1
  11. package/dist/cards/impl/hero-power/fire-invocation.js.map +1 -1
  12. package/dist/cards/impl/hero-power/lightning-invocation.js.map +1 -1
  13. package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
  14. package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
  15. package/dist/cards/impl/minion/abyssal-bruiser.js +2 -4
  16. package/dist/cards/impl/minion/abyssal-bruiser.js.map +1 -1
  17. package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -1
  18. package/dist/cards/impl/minion/alleycat.js.map +1 -1
  19. package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
  20. package/dist/cards/impl/minion/archimonde.js.map +1 -1
  21. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -1
  22. package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -1
  23. package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
  24. package/dist/cards/impl/minion/audacious-anchor.js.map +1 -1
  25. package/dist/cards/impl/minion/auto-assembler.js.map +1 -1
  26. package/dist/cards/impl/minion/avalanche-caller.js.map +1 -1
  27. package/dist/cards/impl/minion/baneling.js.map +1 -1
  28. package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -1
  29. package/dist/cards/impl/minion/bird-buddy.js.map +1 -1
  30. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
  31. package/dist/cards/impl/minion/blue-whelp.js.map +1 -1
  32. package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
  33. package/dist/cards/impl/minion/briarback-bookie.js.map +1 -1
  34. package/dist/cards/impl/minion/bronze-steward.js.map +1 -1
  35. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
  36. package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -1
  37. package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -1
  38. package/dist/cards/impl/minion/captain-bonerender.js.map +1 -1
  39. package/dist/cards/impl/minion/carapace-raiser.js.map +1 -1
  40. package/dist/cards/impl/minion/carbonic-copy.js.map +1 -1
  41. package/dist/cards/impl/minion/clunker-junker.js +4 -2
  42. package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
  43. package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -1
  44. package/dist/cards/impl/minion/coldlight-diver.js.map +1 -1
  45. package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -1
  46. package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -1
  47. package/dist/cards/impl/minion/deadstomper.js.map +1 -1
  48. package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
  49. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
  50. package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
  51. package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -1
  52. package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
  53. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
  54. package/dist/cards/impl/minion/elite-navigator.js.map +1 -1
  55. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
  56. package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -1
  57. package/dist/cards/impl/minion/fireworks-fanatic.js.map +1 -1
  58. package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -1
  59. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
  60. package/dist/cards/impl/minion/friendly-geist.js.map +1 -1
  61. package/dist/cards/impl/minion/gem-rat.js.map +1 -1
  62. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
  63. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
  64. package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
  65. package/dist/cards/impl/minion/glowing-cinder.js.map +1 -1
  66. package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -1
  67. package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -1
  68. package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -1
  69. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
  70. package/dist/cards/impl/minion/hackerfin.js.map +1 -1
  71. package/dist/cards/impl/minion/handless-forsaken.js.map +1 -1
  72. package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -1
  73. package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
  74. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  75. package/dist/cards/impl/minion/humongozz.js.map +1 -1
  76. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  77. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -1
  78. package/dist/cards/impl/minion/ignition-specialist.js.map +1 -1
  79. package/dist/cards/impl/minion/immortal.js.map +1 -1
  80. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  81. package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
  82. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
  83. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  84. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -1
  85. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -1
  86. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
  87. package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -1
  88. package/dist/cards/impl/minion/living-azerite.js.map +1 -1
  89. package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -1
  90. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
  91. package/dist/cards/impl/minion/low-flier.js.map +1 -1
  92. package/dist/cards/impl/minion/lurker.js.map +1 -1
  93. package/dist/cards/impl/minion/manasaber.js.map +1 -1
  94. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  95. package/dist/cards/impl/minion/marquee-ticker.js.map +1 -1
  96. package/dist/cards/impl/minion/maw-caster.js.map +1 -1
  97. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
  98. package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -1
  99. package/dist/cards/impl/minion/mechorse.js.map +1 -1
  100. package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
  101. package/dist/cards/impl/minion/metallic-hunter.js.map +1 -1
  102. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  103. package/dist/cards/impl/minion/mummifier.js +1 -1
  104. package/dist/cards/impl/minion/mummifier.js.map +1 -1
  105. package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -1
  106. package/dist/cards/impl/minion/murky.js.map +1 -1
  107. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  108. package/dist/cards/impl/minion/mythrax.js.map +1 -1
  109. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  110. package/dist/cards/impl/minion/nest-swarmer.js.map +1 -1
  111. package/dist/cards/impl/minion/nether-drake.js.map +1 -1
  112. package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -1
  113. package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -1
  114. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -1
  115. package/dist/cards/impl/minion/outback-smolderer.js.map +1 -1
  116. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
  117. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
  118. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -1
  119. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
  120. package/dist/cards/impl/minion/roach.js.map +1 -1
  121. package/dist/cards/impl/minion/roadboar.js.map +1 -1
  122. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
  123. package/dist/cards/impl/minion/ruins-renovator.js.map +1 -1
  124. package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -1
  125. package/dist/cards/impl/minion/salty-hog.js.map +1 -1
  126. package/dist/cards/impl/minion/sand-swirler.js.map +1 -1
  127. package/dist/cards/impl/minion/sandy.js.map +1 -1
  128. package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -1
  129. package/dist/cards/impl/minion/scourge-harvester.js.map +1 -1
  130. package/dist/cards/impl/minion/selfless-hero.js.map +1 -1
  131. package/dist/cards/impl/minion/shadowdancer.js.map +1 -1
  132. package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -1
  133. package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -1
  134. package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -1
  135. package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -1
  136. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
  137. package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -1
  138. package/dist/cards/impl/minion/smolderwing.js.map +1 -1
  139. package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
  140. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  141. package/dist/cards/impl/minion/spirit-of-air.js +1 -1
  142. package/dist/cards/impl/minion/spirit-of-air.js.map +1 -1
  143. package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -1
  144. package/dist/cards/impl/minion/springy-spriggan.js.map +1 -1
  145. package/dist/cards/impl/minion/stitched-salvager.js.map +1 -1
  146. package/dist/cards/impl/minion/stray-satyr.js.map +1 -1
  147. package/dist/cards/impl/minion/sun-screener.js.map +1 -1
  148. package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -1
  149. package/dist/cards/impl/minion/thorncaller.js.map +1 -1
  150. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  151. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
  152. package/dist/cards/impl/minion/tide-raiser.js +1 -1
  153. package/dist/cards/impl/minion/tide-raiser.js.map +1 -1
  154. package/dist/cards/impl/minion/timewarped-warghoul.js.map +1 -1
  155. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -1
  156. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
  157. package/dist/cards/impl/minion/ultralisk.js.map +1 -1
  158. package/dist/cards/impl/minion/valiant-tiger.js.map +1 -1
  159. package/dist/cards/impl/minion/void-earl.js.map +1 -1
  160. package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -1
  161. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  162. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  163. package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -1
  164. package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -1
  165. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
  166. package/dist/cards/impl/minion/wrathscale-rogue.js.map +1 -1
  167. package/dist/cards/impl/minion/yorik-smite.js.map +1 -1
  168. package/dist/cards/impl/minion/yrel.js.map +1 -1
  169. package/dist/cards/impl/minion/yulon-fortune-granter.js.map +1 -1
  170. package/dist/cards/impl/quest-reward/righteous-charge.js.map +1 -1
  171. package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
  172. package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
  173. package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -1
  174. package/dist/cards/impl/trinket/battle-horn.js.map +1 -1
  175. package/dist/cards/impl/trinket/beetle-band.js.map +1 -1
  176. package/dist/cards/impl/trinket/bird-feeder.js.map +1 -1
  177. package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -1
  178. package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
  179. package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
  180. package/dist/cards/impl/trinket/fishy-sticker.js.map +1 -1
  181. package/dist/cards/impl/trinket/herald-sticker.js.map +1 -1
  182. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  183. package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
  184. package/dist/cards/impl/trinket/soul-fermenter.js +5 -1
  185. package/dist/cards/impl/trinket/soul-fermenter.js.map +1 -1
  186. package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -1
  187. package/dist/cards/impl/trinket/tiger-carving.js.map +1 -1
  188. package/dist/cards/impl/trinket/valorous-medaillion.js.map +1 -1
  189. package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -1
  190. package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -1
  191. package/dist/debug-state.js.map +1 -1
  192. package/dist/input-clone.js +1 -1
  193. package/dist/input-clone.js.map +1 -1
  194. package/dist/keywords/venomous.js.map +1 -1
  195. package/dist/simulate-bgs-battle.js +4 -4
  196. package/dist/simulate-bgs-battle.js.map +1 -1
  197. package/dist/simulation/auras.js +4 -2
  198. package/dist/simulation/auras.js.map +1 -1
  199. package/dist/simulation/avenge.js +4 -0
  200. package/dist/simulation/avenge.js.map +1 -1
  201. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  202. package/dist/simulation/discover.js.map +1 -1
  203. package/dist/simulation/frenzy.js.map +1 -1
  204. package/dist/simulation/quest.js.map +1 -1
  205. package/dist/simulation/start-of-combat/soc-trinket.js +1 -1
  206. package/dist/simulation/start-of-combat/soc-trinket.js.map +1 -1
  207. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bgs-battle-info.js","sourceRoot":"","sources":["../src/bgs-battle-info.ts"],"names":[],"mappings":"","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BgsBattleOptions } from './bgs-battle-options';\r\nimport { BgsBoardInfo } from './bgs-board-info';\r\n\r\n/** Entity reference for debug state (entityId, or cardId+attack+health for spawned minions). */\r\nexport interface BgsDebugStateEntity {\r\n\treadonly entityId?: number;\r\n\treadonly cardId?: string;\r\n\treadonly attack?: number;\r\n\treadonly health?: number;\r\n}\r\n\r\n/** Debug state for bug reproduction: forces attack order and random effects from the real game. */\r\nexport interface BgsDebugState {\r\n\treadonly forcedCurrentAttacker: number;\r\n\treadonly forcedFaceOffBase: Array<{\r\n\t\treadonly attacker: BgsDebugStateEntity;\r\n\t\treadonly defender: BgsDebugStateEntity;\r\n\t}>;\r\n\t/** Forced random picks keyed by source entity (e.g. Warghoul) -> target (e.g. neighbour). Optional chosenCardId for card-pool picks (e.g. Apexis Guardian Volumizer). */\r\n\treadonly forcedRandomPicks?: readonly {\r\n\t\tsource: BgsDebugStateEntity;\r\n\t\ttarget: BgsDebugStateEntity;\r\n\t\tchosenCardId?: string;\r\n\t}[];\r\n}\r\n\r\nexport interface BgsBattleInfo {\r\n\treadonly playerBoard: BgsBoardInfo;\r\n\treadonly playerTeammateBoard?: BgsBoardInfo;\r\n\treadonly opponentBoard: BgsBoardInfo;\r\n\treadonly opponentTeammateBoard?: BgsBoardInfo;\r\n\treadonly options: BgsBattleOptions;\r\n\treadonly gameState: BgsGameState;\r\n\treadonly heroHasDied?: boolean;\r\n\t/** When present, simulator uses this to force attack sequence (e.g. from bug report). */\r\n\treadonly debugState?: BgsDebugState;\r\n}\r\n\r\nexport interface BgsGameState {\r\n\treadonly currentTurn: number;\r\n\treadonly validTribes?: readonly Race[];\r\n\treadonly anomalies?: readonly string[];\r\n}\r\n"]}
1
+ {"version":3,"file":"bgs-battle-info.js","sourceRoot":"","sources":["../src/bgs-battle-info.ts"],"names":[],"mappings":"","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\nimport { BgsBattleOptions } from './bgs-battle-options';\nimport { BgsBoardInfo } from './bgs-board-info';\n\n/** Entity reference for debug state (entityId, or cardId+attack+health for spawned minions). */\nexport interface BgsDebugStateEntity {\n\treadonly entityId?: number;\n\treadonly cardId?: string;\n\treadonly attack?: number;\n\treadonly health?: number;\n}\n\n/** Debug state for bug reproduction: forces attack order and random effects from the real game. */\nexport interface BgsDebugState {\n\treadonly forcedCurrentAttacker: number;\n\treadonly forcedFaceOffBase: Array<{\n\t\treadonly attacker: BgsDebugStateEntity;\n\t\treadonly defender: BgsDebugStateEntity;\n\t}>;\n\t/** Forced random picks keyed by source entity (e.g. Warghoul) -> target (e.g. neighbour). Optional chosenCardId for card-pool picks (e.g. Apexis Guardian Volumizer). */\n\treadonly forcedRandomPicks?: readonly {\n\t\tsource: BgsDebugStateEntity;\n\t\ttarget: BgsDebugStateEntity;\n\t\tchosenCardId?: string;\n\t}[];\n}\n\nexport interface BgsBattleInfo {\n\treadonly playerBoard: BgsBoardInfo;\n\treadonly playerTeammateBoard?: BgsBoardInfo;\n\treadonly opponentBoard: BgsBoardInfo;\n\treadonly opponentTeammateBoard?: BgsBoardInfo;\n\treadonly options: BgsBattleOptions;\n\treadonly gameState: BgsGameState;\n\treadonly heroHasDied?: boolean;\n\t/** When present, simulator uses this to force attack sequence (e.g. from bug report). */\n\treadonly debugState?: BgsDebugState;\n}\n\nexport interface BgsGameState {\n\treadonly currentTurn: number;\n\treadonly validTribes?: readonly Race[];\n\treadonly anomalies?: readonly string[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sharing-is-caring.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/sharing-is-caring.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAEhE,qDAAwD;AAG3C,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,YAAkC;IAC3C,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QAED,MAAM,OAAO,GAAG,IAAA,2BAAkB,EACjC,KAAK,CAAC,WAAW,EACjB,cAAc,EACd,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EACxE,KAAK,CAAC,aAAa,EACnB,CAAC,EACD,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;QAED,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAA,mBAAW,EACV,cAAc,EACd,MAAM,EACN,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,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 { BoardSecret } from '../../../board-secret';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { findNearestEnemies } from '../../../simulation/attack';\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 SharingIsCaring: StartOfCombatCard = {\r\n\tcardIds: [CardIds.SharingIsCaring_BG31_889],\r\n\tstartOfCombat: (secret: BoardSecret, input: SoCInput) => {\r\n\t\tconst friendlyMinion = input.playerBoard[0];\r\n\t\tif (!friendlyMinion) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst targets = findNearestEnemies(\r\n\t\t\tinput.playerBoard,\r\n\t\t\tfriendlyMinion,\r\n\t\t\tinput.playerBoard.length - 1 - input.playerBoard.indexOf(friendlyMinion),\r\n\t\t\tinput.opponentBoard,\r\n\t\t\t1,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t);\r\n\t\tif (!targets.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (targets.length > 2) {\r\n\t\t\tconsole.error('Invalid number of targets', targets.length);\r\n\t\t}\r\n\r\n\t\tconst target = pickRandom(targets);\r\n\t\tmodifyStats(\r\n\t\t\tfriendlyMinion,\r\n\t\t\tsecret,\r\n\t\t\ttarget.attack,\r\n\t\t\ttarget.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":"sharing-is-caring.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/sharing-is-caring.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAEhE,qDAAwD;AAG3C,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,YAAkC;IAC3C,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QAED,MAAM,OAAO,GAAG,IAAA,2BAAkB,EACjC,KAAK,CAAC,WAAW,EACjB,cAAc,EACd,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EACxE,KAAK,CAAC,aAAa,EACnB,CAAC,EACD,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;QAED,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAA,mBAAW,EACV,cAAc,EACd,MAAM,EACN,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,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 { BoardSecret } from '../../../board-secret';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { findNearestEnemies } from '../../../simulation/attack';\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 SharingIsCaring: StartOfCombatCard = {\r\n\tcardIds: [CardIds.SharingIsCaring_BG31_889],\r\n\tstartOfCombat: (secret: BoardSecret, input: SoCInput) => {\r\n\t\tconst friendlyMinion = input.playerBoard[0];\r\n\t\tif (!friendlyMinion) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst targets = findNearestEnemies(\r\n\t\t\tinput.playerBoard,\r\n\t\t\tfriendlyMinion,\r\n\t\t\tinput.playerBoard.length - 1 - input.playerBoard.indexOf(friendlyMinion),\r\n\t\t\tinput.opponentBoard,\r\n\t\t\t1,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t);\r\n\t\tif (!targets.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (targets.length > 2) {\r\n\t\t\tconsole.error('Invalid number of targets', targets.length);\r\n\t\t}\r\n\r\n\t\tconst target = pickRandom(targets);\r\n\t\tmodifyStats(\r\n\t\t\tfriendlyMinion,\r\n\t\t\tsecret,\r\n\t\t\ttarget.attack,\r\n\t\t\ttarget.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":"shifting-tide.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/shifting-tide.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAAwD;AACxD,0CAA0E;AAI1E,MAAM,yBAAyB,GAAG,CAAC,MAA6C,EAAE,KAAqB,EAAQ,EAAE;IAChH,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAuB,EACjD,KAAK,CAAC,IAAI,EACV,CAAC,EACD,CAAC,EACD,KAAK,CAAC,SAAS,CAAC,QAAQ,EACxB,KAAK,CAAC,WAAW,CACjB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;KAC5F;AACF,CAAC,CAAC;AAEW,QAAA,YAAY,GAAoB;IAC5C,OAAO,EAAE,YAA+B;IACxC,eAAe,EAAE,CAAC,YAAoB,EAAE,KAAqB,EAAE,EAAE;;QAChE,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1F,IAAI,MAAM,EAAE;YACX,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACzC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe, withTavernSpellStatBuff } from '../../../utils';\r\nimport { CastSpellInput, TavernSpellCard } from '../../card.interface';\r\n\r\n/** Give a minion +2/+2 twice. If it's a Naga, repeat this (two more +2/+2 applications). */\r\nconst applyShiftingTideToTarget = (target: NonNullable<CastSpellInput['target']>, input: CastSpellInput): void => {\r\n\tconst isNaga = hasCorrectTribe(target, input.hero, Race.NAGA, input.gameState.anomalies, input.gameState.allCards);\r\n\tconst rounds = isNaga ? 2 : 1;\r\n\tconst { attack, health } = withTavernSpellStatBuff(\r\n\t\tinput.hero,\r\n\t\t1,\r\n\t\t1,\r\n\t\tinput.gameState.allCards,\r\n\t\tinput.spellCardId,\r\n\t);\r\n\tfor (let r = 0; r < rounds; r++) {\r\n\t\tmodifyStats(target, input.source, attack, health, input.board, input.hero, input.gameState);\r\n\t\tmodifyStats(target, input.source, attack, health, input.board, input.hero, input.gameState);\r\n\t}\r\n};\r\n\r\nexport const ShiftingTide: TavernSpellCard = {\r\n\tcardIds: [CardIds.ShiftingTide_BG32_815],\r\n\tcastTavernSpell: (_spellCardId: string, input: CastSpellInput) => {\r\n\t\tconst target = input.target ?? input.board.find((e) => e.health > 0 && !e.definitelyDead);\r\n\t\tif (target) {\r\n\t\t\tapplyShiftingTideToTarget(target, input);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"shifting-tide.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/shifting-tide.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAAwD;AACxD,0CAA0E;AAI1E,MAAM,yBAAyB,GAAG,CAAC,MAA6C,EAAE,KAAqB,EAAQ,EAAE;IAChH,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAClH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;KAC5F;AACF,CAAC,CAAC;AAEW,QAAA,YAAY,GAAoB;IAC5C,OAAO,EAAE,YAA+B;IACxC,eAAe,EAAE,CAAC,YAAoB,EAAE,KAAqB,EAAE,EAAE;;QAChE,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1F,IAAI,MAAM,EAAE;YACX,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACzC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe, withTavernSpellStatBuff } from '../../../utils';\r\nimport { CastSpellInput, TavernSpellCard } from '../../card.interface';\r\n\r\n/** Give a minion +2/+2 twice. If it's a Naga, repeat this (two more +2/+2 applications). */\r\nconst applyShiftingTideToTarget = (target: NonNullable<CastSpellInput['target']>, input: CastSpellInput): void => {\r\n\tconst isNaga = hasCorrectTribe(target, input.hero, Race.NAGA, input.gameState.anomalies, input.gameState.allCards);\r\n\tconst rounds = isNaga ? 2 : 1;\r\n\tconst { attack, health } = withTavernSpellStatBuff(input.hero, 1, 1, input.gameState.allCards, input.spellCardId);\r\n\tfor (let r = 0; r < rounds; r++) {\r\n\t\tmodifyStats(target, input.source, attack, health, input.board, input.hero, input.gameState);\r\n\t\tmodifyStats(target, input.source, attack, health, input.board, input.hero, input.gameState);\r\n\t}\r\n};\r\n\r\nexport const ShiftingTide: TavernSpellCard = {\r\n\tcardIds: [CardIds.ShiftingTide_BG32_815],\r\n\tcastTavernSpell: (_spellCardId: string, input: CastSpellInput) => {\r\n\t\tconst target = input.target ?? input.board.find((e) => e.health > 0 && !e.definitelyDead);\r\n\t\tif (target) {\r\n\t\t\tapplyShiftingTideToTarget(target, input);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toxic-tumbleweed.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/toxic-tumbleweed.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAGpD,QAAA,eAAe,GAAG;IAC9B,aAAa,EAAE,CAAC,OAAoB,EAAE,KAAe,EAAE,EAAE;QACxD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,IAAA,kCAAa,eAE/B,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,IAAI,EACJ,KAAK,EACL,KAAK,CACL,CAAC;YACF,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACvC,IAAA,4BAAmB,EAClB,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SACpE;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardSecret } from '../../../board-secret';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const ToxicTumbleweed = {\r\n\tstartOfCombat: (trinket: BoardSecret, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length < 7) {\r\n\t\t\tconst newMinions = spawnEntities(\r\n\t\t\t\tCardIds.ToxicTumbleweed_TumblingAssassinToken_BG28_641t,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tinput.playerEntity.friendly,\r\n\t\t\t\ttrue,\r\n\t\t\t\tfalse,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tnewMinions[0].attackImmediately = true;\r\n\t\t\tperformEntitySpawns(\r\n\t\t\t\tnewMinions,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tnull,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"toxic-tumbleweed.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/toxic-tumbleweed.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAGpD,QAAA,eAAe,GAAG;IAC9B,aAAa,EAAE,CAAC,OAAoB,EAAE,KAAe,EAAE,EAAE;QACxD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,IAAA,kCAAa,eAE/B,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,IAAI,EACJ,KAAK,EACL,KAAK,CACL,CAAC;YACF,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACvC,IAAA,4BAAmB,EAClB,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SACpE;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardSecret } from '../../../board-secret';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const ToxicTumbleweed = {\r\n\tstartOfCombat: (trinket: BoardSecret, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length < 7) {\r\n\t\t\tconst newMinions = spawnEntities(\r\n\t\t\t\tCardIds.ToxicTumbleweed_TumblingAssassinToken_BG28_641t,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tinput.playerEntity.friendly,\r\n\t\t\t\ttrue,\r\n\t\t\t\tfalse,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tnewMinions[0].attackImmediately = true;\r\n\t\t\tperformEntitySpawns(\r\n\t\t\t\tnewMinions,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tnull,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"aim-high.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-high.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } 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 AimHigh: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimHighToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimHigh.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst highestHealthMinion = [...input.opponentBoard].sort((a, b) => b.health - a.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === highestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-high.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-high.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } 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 AimHigh: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimHighToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimHigh.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst highestHealthMinion = [...input.opponentBoard].sort((a, b) => b.health - a.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === highestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"aim-left.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-left.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } 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 AimLeft: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLeftToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLeft.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[0];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-left.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-left.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } 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 AimLeft: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLeftToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLeft.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[0];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"aim-low.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-low.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,GAAsB;IACxC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAqB;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,cAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAChE,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } 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 AimLow: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLowToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLow.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst smallestHealthMinion = [...input.opponentBoard].sort((a, b) => a.health - b.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === smallestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-low.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-low.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,GAAsB;IACxC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAqB;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,cAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAChE,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } 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 AimLow: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLowToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLow.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst smallestHealthMinion = [...input.opponentBoard].sort((a, b) => a.health - b.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === smallestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"aim-right.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-right.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,QAAQ,GAAsB;IAC1C,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAuB;IAChC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } 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 AimRight: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimRightToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimRight.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[input.opponentBoard.length - 1];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-right.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-right.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,QAAQ,GAAsB;IAC1C,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAuB;IAChC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } 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 AimRight: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimRightToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimRight.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[input.opponentBoard.length - 1];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"earth-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/earth-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA0F;AAI7E,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,4CAAuD;IAChE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,uBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzE,IAAA,qDAA+B,EAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyEarthInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const EarthInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EarthInvocationToken, CardIds.EarthInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (EarthInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyEarthInvocationEnchantment(input.playerBoard, null, input.playerEntity, input.gameState);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"earth-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/earth-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA0F;AAI7E,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,4CAAuD;IAChE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,uBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzE,IAAA,qDAA+B,EAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyEarthInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const EarthInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EarthInvocationToken, CardIds.EarthInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (EarthInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyEarthInvocationEnchantment(input.playerBoard, null, input.playerEntity, input.gameState);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"embrace-your-rage.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/embrace-your-rage.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AACnE,+EAAuE;AACvE,uDAAiE;AAIpD,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,uBAAyB;IAClC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,uBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzE,MAAM,aAAa,GAAG,SAAS,CAAC,IAAc,CAAC;gBAC/C,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,EAAE;oBAC3B,OAAO,KAAK,CAAC;iBACb;gBAED,MAAM,MAAM,GAAG,IAAA,kCAAa,EAC3B,aAAa,EACb,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,CACL,CAAC;gBACF,MAAM,cAAc,GAAG,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAClC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,cAAc,EACd,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;oBACpB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;oBACF,IAAA,8BAAc,EAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC/E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;oBACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;iBACpE;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const EmbraceYourRage: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EmbraceYourRage],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (EmbraceYourRage.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst createdCardId = heroPower.info as string;\r\n\t\t\t\tif (!createdCardId?.length) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst spawns = spawnEntities(\r\n\t\t\t\t\tcreatedCardId,\r\n\t\t\t\t\t1,\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\tinput.playerEntity.friendly,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t\tconst indexFromRight = 0;\r\n\t\t\t\tconst spawned = performEntitySpawns(\r\n\t\t\t\t\tspawns,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tindexFromRight,\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\tif (spawned?.length) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tspawns[0],\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\taddCardsInHand(input.playerEntity, input.playerBoard, spawns, input.gameState);\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tspawns[0],\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\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":"embrace-your-rage.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/embrace-your-rage.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AACnE,+EAAuE;AACvE,uDAAiE;AAIpD,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,uBAAyB;IAClC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,uBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzE,MAAM,aAAa,GAAG,SAAS,CAAC,IAAc,CAAC;gBAC/C,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,EAAE;oBAC3B,OAAO,KAAK,CAAC;iBACb;gBAED,MAAM,MAAM,GAAG,IAAA,kCAAa,EAC3B,aAAa,EACb,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,CACL,CAAC;gBACF,MAAM,cAAc,GAAG,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAClC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,cAAc,EACd,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;oBACpB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;oBACF,IAAA,8BAAc,EAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC/E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;oBACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;iBACpE;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const EmbraceYourRage: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EmbraceYourRage],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (EmbraceYourRage.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst createdCardId = heroPower.info as string;\r\n\t\t\t\tif (!createdCardId?.length) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst spawns = spawnEntities(\r\n\t\t\t\t\tcreatedCardId,\r\n\t\t\t\t\t1,\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\tinput.playerEntity.friendly,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t\tconst indexFromRight = 0;\r\n\t\t\t\tconst spawned = performEntitySpawns(\r\n\t\t\t\t\tspawns,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tindexFromRight,\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\tif (spawned?.length) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tspawns[0],\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\taddCardsInHand(input.playerEntity, input.playerBoard, spawns, input.gameState);\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tspawns[0],\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\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":"fire-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/fire-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAAyF;AAI5E,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,4CAAqD;IAC9D,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,sBAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACxE,IAAA,oDAA8B,EAC7B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyFireInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const FireInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.FireInvocationToken, CardIds.FireInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (FireInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyFireInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"fire-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/fire-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAAyF;AAI5E,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,4CAAqD;IAC9D,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,sBAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACxE,IAAA,oDAA8B,EAC7B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyFireInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const FireInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.FireInvocationToken, CardIds.FireInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (FireInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyFireInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"lightning-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/lightning-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA8F;AAIjF,QAAA,mBAAmB,GAAsB;IACrD,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,4CAA+D;IACxE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,2BAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC7E,IAAA,yDAAmC,EAClC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyLightningInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const LightningInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.LightningInvocationToken, CardIds.LightningInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (LightningInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyLightningInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\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\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"lightning-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/lightning-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA8F;AAIjF,QAAA,mBAAmB,GAAsB;IACrD,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,4CAA+D;IACxE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,2BAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC7E,IAAA,yDAAmC,EAClC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyLightningInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const LightningInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.LightningInvocationToken, CardIds.LightningInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (LightningInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyLightningInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\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\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reborn-rites.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/reborn-rites.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAI3C,QAAA,WAAW,GAAsB;IAE7C,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,uBAAqB;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,mBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACrE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAc,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;gBACtF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;oBAC7B,OAAO,KAAK,CAAC;iBACb;gBAED,IAAA,qBAAY,EACX,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const RebornRites: StartOfCombatCard = {\r\n\t// Confirmed to be pre-combat on 2024-03-06\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.RebornRites],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (RebornRites.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst targetEntityId = heroPower.info as number;\r\n\t\t\t\tconst target = input.playerBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\t\tif (!target || target.reborn) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tupdateReborn(\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\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tinput.playerEntity,\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\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"reborn-rites.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/reborn-rites.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAI3C,QAAA,WAAW,GAAsB;IAE7C,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,uBAAqB;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,mBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACrE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAc,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;gBACtF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;oBAC7B,OAAO,KAAK,CAAC;iBACb;gBAED,IAAA,qBAAY,EACX,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const RebornRites: StartOfCombatCard = {\r\n\t// Confirmed to be pre-combat on 2024-03-06\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.RebornRites],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (RebornRites.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst targetEntityId = heroPower.info as number;\r\n\t\t\t\tconst target = input.playerBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\t\tif (!target || target.reborn) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tupdateReborn(\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\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tinput.playerEntity,\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\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"water-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/water-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA0F;AAI7E,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,4CAAuD;IAChE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,uBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzE,IAAA,qDAA+B,EAC9B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyWaterInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const WaterInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.WaterInvocationToken, CardIds.WaterInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (WaterInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyWaterInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"water-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/water-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA0F;AAI7E,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,4CAAuD;IAChE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,uBAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzE,IAAA,qDAA+B,EAC9B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyWaterInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const WaterInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.WaterInvocationToken, CardIds.WaterInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (WaterInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyWaterInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbyssalBruiser = void 0;
4
4
  const divine_shield_1 = require("../../../keywords/divine-shield");
5
+ const stats_1 = require("../../../simulation/stats");
5
6
  exports.AbyssalBruiser = {
6
7
  cardIds: ["BG35_921", "BG35_921_G"],
7
8
  onSpawned: (minion, input) => {
@@ -39,10 +40,7 @@ exports.AbyssalBruiser = {
39
40
  return;
40
41
  }
41
42
  const mult = entity.cardId === "BG35_921_G" ? 2 : 1;
42
- entity.attack += mult;
43
- entity.attack = Math.max(entity.attack, entity.maxAttack);
44
- entity.health += mult;
45
- entity.maxHealth = Math.max(entity.maxHealth, entity.health);
43
+ (0, stats_1.modifyStats)(entity, entity, mult, mult, input.board, input.hero, input.gameState);
46
44
  },
47
45
  };
48
46
  //# sourceMappingURL=abyssal-bruiser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abyssal-bruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/abyssal-bruiser.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAKxD,QAAA,cAAc,GAA4D;IACtF,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;YACrD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;YAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;IACF,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACjE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;QACtB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { CastSpellInput, OnDespawnedCard, OnSpawnedCard, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const AbyssalBruiser: OnDespawnedCard & OnSpawnedCard & OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.AbyssalBruiser_BG35_921, CardIds.AbyssalBruiser_BG35_921_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack += n * mult;\r\n\t\t\tminion.maxAttack = minion.attack;\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health += n * mult;\r\n\t\t\tminion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t\tconst otherHero =\r\n\t\t\tinput.gameState.gameState.player.player === input.hero\r\n\t\t\t\t? input.gameState.gameState.opponent.player\r\n\t\t\t\t: input.gameState.gameState.player.player;\r\n\t\tupdateDivineShield(minion, input.board, input.hero, otherHero, true, input.gameState);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack = Math.max(0, minion.attack - n * mult);\r\n\t\t\tminion.maxAttack = Math.max(minion.maxAttack, minion.attack);\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health = Math.max(1, minion.health - n * mult);\r\n\t\t\tminion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t},\r\n\tonTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = entity.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tentity.attack += mult;\r\n\t\tentity.attack = Math.max(entity.attack, entity.maxAttack);\r\n\t\tentity.health += mult;\r\n\t\tentity.maxHealth = Math.max(entity.maxHealth, entity.health);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"abyssal-bruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/abyssal-bruiser.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAGrE,qDAAwD;AAG3C,QAAA,cAAc,GAA4D;IACtF,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;YACrD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;YAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;IACF,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACjE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnDespawnedCard, OnSpawnedCard, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const AbyssalBruiser: OnDespawnedCard & OnSpawnedCard & OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.AbyssalBruiser_BG35_921, CardIds.AbyssalBruiser_BG35_921_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack += n * mult;\r\n\t\t\tminion.maxAttack = minion.attack;\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health += n * mult;\r\n\t\t\tminion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t\tconst otherHero =\r\n\t\t\tinput.gameState.gameState.player.player === input.hero\r\n\t\t\t\t? input.gameState.gameState.opponent.player\r\n\t\t\t\t: input.gameState.gameState.player.player;\r\n\t\tupdateDivineShield(minion, input.board, input.hero, otherHero, true, input.gameState);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack = Math.max(0, minion.attack - n * mult);\r\n\t\t\tminion.maxAttack = Math.max(minion.maxAttack, minion.attack);\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health = Math.max(1, minion.health - n * mult);\r\n\t\t\tminion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t},\r\n\tonTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = entity.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tmodifyStats(entity, entity, mult, mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"all-seeing-elder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/all-seeing-elder.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,0BAAoE;IAC7E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,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;QACD,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 AllSeeingElder: StartOfCombatCard = {\r\n\tcardIds: [CardIds.AllSeeingElder_BG33_300, CardIds.AllSeeingElder_BG33_300_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.AllSeeingElder_BG33_300_G ? 2 : 1;\r\n\t\tconst attackToGain = input.playerBoard[0].attack;\r\n\t\tconst healthToGain = input.playerBoard[input.playerBoard.length - 1].health;\r\n\t\tfor (let i = 0; i < multiplier; i++) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\tattackToGain,\r\n\t\t\t\thealthToGain,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\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\tinput.opponentEntity,\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":"all-seeing-elder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/all-seeing-elder.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,0BAAoE;IAC7E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,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;QACD,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 AllSeeingElder: StartOfCombatCard = {\r\n\tcardIds: [CardIds.AllSeeingElder_BG33_300, CardIds.AllSeeingElder_BG33_300_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.AllSeeingElder_BG33_300_G ? 2 : 1;\r\n\t\tconst attackToGain = input.playerBoard[0].attack;\r\n\t\tconst healthToGain = input.playerBoard[input.playerBoard.length - 1].health;\r\n\t\tfor (let i = 0; i < multiplier; i++) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\tattackToGain,\r\n\t\t\t\thealthToGain,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\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\tinput.opponentEntity,\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":"alleycat.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/alleycat.ts"],"names":[],"mappings":";;;AAIA,+EAA+F;AAGlF,QAAA,QAAQ,GAAkB;IACtC,OAAO,EAAE,iCAA+D;IACxE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAA8B;YAC7C,mBAAmB,EAAE,KAAK,CAAC,KAAK;YAChC,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;QACF,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,iBAAgC;YAC5C,CAAC;YACD,CAAC,mBAAgD,CAAC;QACpD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAA,0DAAqC,EAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACrF,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntitiesWithAddToBoard } from '../../../simulation/deathrattle-spawns';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const Alleycat: BattlecryCard = {\r\n\tcardIds: [CardIds.Alleycat_BG_CFM_315, CardIds.Alleycat_TB_BaconUps_093],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst spawnInput: DeathrattleTriggeredInput = {\r\n\t\t\tboardWithDeadEntity: input.board,\r\n\t\t\tboardWithDeadEntityHero: input.hero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\tdeadEntity: minion, // weird\r\n\t\t\totherBoard: input.otherBoard,\r\n\t\t\totherBoardHero: input.otherHero,\r\n\t\t};\r\n\t\tconst cardId =\r\n\t\t\tminion.cardId === CardIds.Alleycat_BG_CFM_315\r\n\t\t\t\t? CardIds.Alleycat_TabbycatToken_BG_CFM_315t\r\n\t\t\t\t: CardIds.Alleycat_TabbycatToken_TB_BaconUps_093t;\r\n\t\tconst indexFromRight = input.board.length - input.board.indexOf(minion) - 1;\r\n\t\tsimplifiedSpawnEntitiesWithAddToBoard(cardId, 1, spawnInput, minion, indexFromRight);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"alleycat.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/alleycat.ts"],"names":[],"mappings":";;;AAIA,+EAA+F;AAGlF,QAAA,QAAQ,GAAkB;IACtC,OAAO,EAAE,iCAA+D;IACxE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAA8B;YAC7C,mBAAmB,EAAE,KAAK,CAAC,KAAK;YAChC,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;QACF,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,iBAAgC;YAC5C,CAAC;YACD,CAAC,mBAAgD,CAAC;QACpD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAA,0DAAqC,EAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACrF,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntitiesWithAddToBoard } from '../../../simulation/deathrattle-spawns';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const Alleycat: BattlecryCard = {\r\n\tcardIds: [CardIds.Alleycat_BG_CFM_315, CardIds.Alleycat_TB_BaconUps_093],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst spawnInput: DeathrattleTriggeredInput = {\r\n\t\t\tboardWithDeadEntity: input.board,\r\n\t\t\tboardWithDeadEntityHero: input.hero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\tdeadEntity: minion, // weird\r\n\t\t\totherBoard: input.otherBoard,\r\n\t\t\totherBoardHero: input.otherHero,\r\n\t\t};\r\n\t\tconst cardId =\r\n\t\t\tminion.cardId === CardIds.Alleycat_BG_CFM_315\r\n\t\t\t\t? CardIds.Alleycat_TabbycatToken_BG_CFM_315t\r\n\t\t\t\t: CardIds.Alleycat_TabbycatToken_TB_BaconUps_093t;\r\n\t\tconst indexFromRight = input.board.length - input.board.indexOf(minion) - 1;\r\n\t\tsimplifiedSpawnEntitiesWithAddToBoard(cardId, 1, spawnInput, minion, indexFromRight);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;aACpE;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 { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\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 AmberGuardian = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// First try to get a target without divine shield, and if none is available, pick one with divine shield\r\n\t\tconst otherDragons = input.playerBoard\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId);\r\n\t\tconst loops = minion.cardId === CardIds.AmberGuardian_BG24_500_G ? 2 : 1;\r\n\t\tconst dragonsToConsider = otherDragons;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst otherDragon =\r\n\t\t\t\tpickRandom(dragonsToConsider.filter((e) => !e.divineShield)) ?? pickRandom(dragonsToConsider);\r\n\t\t\tif (otherDragon) {\r\n\t\t\t\tif (!otherDragon.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\totherDragon,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\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\tmodifyStats(otherDragon, minion, 2, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\totherDragon,\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\tdragonsToConsider.splice(dragonsToConsider.indexOf(otherDragon), 1);\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":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;aACpE;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 { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\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 AmberGuardian = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// First try to get a target without divine shield, and if none is available, pick one with divine shield\r\n\t\tconst otherDragons = input.playerBoard\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId);\r\n\t\tconst loops = minion.cardId === CardIds.AmberGuardian_BG24_500_G ? 2 : 1;\r\n\t\tconst dragonsToConsider = otherDragons;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst otherDragon =\r\n\t\t\t\tpickRandom(dragonsToConsider.filter((e) => !e.divineShield)) ?? pickRandom(dragonsToConsider);\r\n\t\t\tif (otherDragon) {\r\n\t\t\t\tif (!otherDragon.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\totherDragon,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\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\tmodifyStats(otherDragon, minion, 2, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\totherDragon,\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\tdragonsToConsider.splice(dragonsToConsider.indexOf(otherDragon), 1);\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":"archimonde.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/archimonde.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAAyB;IAC/C,OAAO,EAAE,0BAA4D;IACrE,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;IACtD,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 { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const Archimonde: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.Archimonde_BG31_873, CardIds.Archimonde_BG31_873_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"archimonde.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/archimonde.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAAyB;IAC/C,OAAO,EAAE,0BAA4D;IACrE,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;IACtD,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 { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const Archimonde: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.Archimonde_BG31_873, CardIds.Archimonde_BG31_873_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"arid-atrocity.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/arid-atrocity.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AACjF,0CAA4D;AAG/C,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,IAAA,kCAA0B,EAAC,oBAAoB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/G,MAAM,sBAAsB,GAAG,2BAA2B,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9E,OAAO,IAAA,4CAAuB,EAC7B,MAAM,CAAC,MAAM,iBAAoC;YAChD,CAAC;YACD,CAAC,YAAkD,EACpD,CAAC,EACD,KAAK,CACL,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACb,GAAG,CAAC;YACJ,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,sBAAsB;YACzC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,sBAAsB;SACzC,CAAC,CAAC,CAAC;IACL,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 { getMinionsOfDifferentTypes } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const AridAtrocity: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.AridAtrocity_BG29_864, CardIds.AridAtrocity_BG29_864_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst aridAtrocityStatsMultiplier = minion.cardId === CardIds.AridAtrocity_BG29_864_G ? 2 : 1;\r\n\t\tconst friendlyDeadEntities = input.gameState.sharedState.deaths.filter((e) => e.friendly === minion.friendly);\r\n\t\tconst types = getMinionsOfDifferentTypes(friendlyDeadEntities, input.boardWithDeadEntityHero, input.gameState);\r\n\t\tconst constaridAtrocityStats = aridAtrocityStatsMultiplier * 6 * types.length;\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tminion.cardId === CardIds.AridAtrocity_BG29_864_G\r\n\t\t\t\t? CardIds.AridAtrocity_DesertedGolemToken_BG29_864_Gt\r\n\t\t\t\t: CardIds.AridAtrocity_DesertedGolemToken_BG29_864t,\r\n\t\t\t1,\r\n\t\t\tinput,\r\n\t\t).map((e) => ({\r\n\t\t\t...e,\r\n\t\t\tattack: e.attack + constaridAtrocityStats,\r\n\t\t\thealth: e.health + constaridAtrocityStats,\r\n\t\t}));\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"arid-atrocity.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/arid-atrocity.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AACjF,0CAA4D;AAG/C,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,IAAA,kCAA0B,EAAC,oBAAoB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/G,MAAM,sBAAsB,GAAG,2BAA2B,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9E,OAAO,IAAA,4CAAuB,EAC7B,MAAM,CAAC,MAAM,iBAAoC;YAChD,CAAC;YACD,CAAC,YAAkD,EACpD,CAAC,EACD,KAAK,CACL,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACb,GAAG,CAAC;YACJ,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,sBAAsB;YACzC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,sBAAsB;SACzC,CAAC,CAAC,CAAC;IACL,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 { getMinionsOfDifferentTypes } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const AridAtrocity: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.AridAtrocity_BG29_864, CardIds.AridAtrocity_BG29_864_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst aridAtrocityStatsMultiplier = minion.cardId === CardIds.AridAtrocity_BG29_864_G ? 2 : 1;\r\n\t\tconst friendlyDeadEntities = input.gameState.sharedState.deaths.filter((e) => e.friendly === minion.friendly);\r\n\t\tconst types = getMinionsOfDifferentTypes(friendlyDeadEntities, input.boardWithDeadEntityHero, input.gameState);\r\n\t\tconst constaridAtrocityStats = aridAtrocityStatsMultiplier * 6 * types.length;\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tminion.cardId === CardIds.AridAtrocity_BG29_864_G\r\n\t\t\t\t? CardIds.AridAtrocity_DesertedGolemToken_BG29_864_Gt\r\n\t\t\t\t: CardIds.AridAtrocity_DesertedGolemToken_BG29_864t,\r\n\t\t\t1,\r\n\t\t\tinput,\r\n\t\t).map((e) => ({\r\n\t\t\t...e,\r\n\t\t\tattack: e.attack + constaridAtrocityStats,\r\n\t\t\thealth: e.health + constaridAtrocityStats,\r\n\t\t}));\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ashen-corruptor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ashen-corruptor.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,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;IACtD,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 { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const AshenCorruptor: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.AshenCorruptor_BG32_873, CardIds.AshenCorruptor_BG32_873_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"ashen-corruptor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ashen-corruptor.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,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;IACtD,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 { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const AshenCorruptor: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.AshenCorruptor_BG32_873, CardIds.AshenCorruptor_BG32_873_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,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,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,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 { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const AssistantGuard: BattlecryCard = {\r\n\tcardIds: [CardIds.AssistantGuard_BG29_845, CardIds.AssistantGuard_BG29_845_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst assistantGuardMultiplier = minion.cardId === CardIds.AssistantGuard_BG29_845 ? 1 : 2;\r\n\t\tconst assistantGuardTarget = pickRandom(allMinions);\r\n\t\tif (assistantGuardTarget) {\r\n\t\t\tupdateTaunt(assistantGuardTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardTarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\tfor (const entity of input.board.filter((e) => !!e.taunt)) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tentity,\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardMultiplier * 2,\r\n\t\t\t\tassistantGuardMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,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,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,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 { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const AssistantGuard: BattlecryCard = {\r\n\tcardIds: [CardIds.AssistantGuard_BG29_845, CardIds.AssistantGuard_BG29_845_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst assistantGuardMultiplier = minion.cardId === CardIds.AssistantGuard_BG29_845 ? 1 : 2;\r\n\t\tconst assistantGuardTarget = pickRandom(allMinions);\r\n\t\tif (assistantGuardTarget) {\r\n\t\t\tupdateTaunt(assistantGuardTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardTarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\tfor (const entity of input.board.filter((e) => !!e.taunt)) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tentity,\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardMultiplier * 2,\r\n\t\t\t\tassistantGuardMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"audacious-anchor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/audacious-anchor.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAA8E;AAGjE,QAAA,eAAe,GAAG;IAC9B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAA,2BAAkB,EACjC,KAAK,CAAC,WAAW,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAChE,KAAK,CAAC,aAAa,EACnB,CAAC,EACD,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACpB,MAAM;aACN;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;aAC3D;YAED,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBAGlG,IAAA,qBAAY,EACX,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,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 { pickRandom } from '../../../services/utils';\r\nimport { doFullAttack, findNearestEnemies } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const AudaciousAnchor = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst iterations = minion.cardId === CardIds.AudaciousAnchor_BG28_904_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < iterations; i++) {\r\n\t\t\tconst targets = findNearestEnemies(\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard.length - 1 - input.playerBoard.indexOf(minion),\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t);\r\n\t\t\tif (!targets.length) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif (targets.length > 2) {\r\n\t\t\t\tconsole.error('Invalid number of targets', targets.length);\r\n\t\t\t}\r\n\r\n\t\t\tconst target = pickRandom(targets);\r\n\t\t\twhile (minion.health > 0 && target.health > 0 && !minion.definitelyDead && !target.definitelyDead) {\r\n\t\t\t\t// Attackers don't alternate\r\n\t\t\t\t// See http://replays.firestoneapp.com/?reviewId=f9f6bf62-db73-49ad-8187-d2f8848b7f36&turn=17&action=0\r\n\t\t\t\tdoFullAttack(\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\ttarget,\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":"audacious-anchor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/audacious-anchor.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAA8E;AAGjE,QAAA,eAAe,GAAG;IAC9B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAA,2BAAkB,EACjC,KAAK,CAAC,WAAW,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAChE,KAAK,CAAC,aAAa,EACnB,CAAC,EACD,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACpB,MAAM;aACN;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;aAC3D;YAED,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBAGlG,IAAA,qBAAY,EACX,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,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 { pickRandom } from '../../../services/utils';\r\nimport { doFullAttack, findNearestEnemies } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const AudaciousAnchor = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst iterations = minion.cardId === CardIds.AudaciousAnchor_BG28_904_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < iterations; i++) {\r\n\t\t\tconst targets = findNearestEnemies(\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard.length - 1 - input.playerBoard.indexOf(minion),\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t);\r\n\t\t\tif (!targets.length) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif (targets.length > 2) {\r\n\t\t\t\tconsole.error('Invalid number of targets', targets.length);\r\n\t\t\t}\r\n\r\n\t\t\tconst target = pickRandom(targets);\r\n\t\t\twhile (minion.health > 0 && target.health > 0 && !minion.definitelyDead && !target.definitelyDead) {\r\n\t\t\t\t// Attackers don't alternate\r\n\t\t\t\t// See http://replays.firestoneapp.com/?reviewId=f9f6bf62-db73-49ad-8187-d2f8848b7f36&turn=17&action=0\r\n\t\t\t\tdoFullAttack(\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\ttarget,\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 +1 @@
1
- {"version":3,"file":"auto-assembler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/auto-assembler.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,iBAAqC;YACjD,CAAC;YACD,CAAC,aAAmC,CAAC;QACvC,OAAO,IAAA,4CAAuB,EAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,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 AutoAssembler: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.AutoAssembler_BG32_172, CardIds.AutoAssembler_BG32_172_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst cardIdToSpawn =\r\n\t\t\tminion.cardId === CardIds.AutoAssembler_BG32_172_G\r\n\t\t\t\t? CardIds.AstralAutomaton_BG_TTN_401_G\r\n\t\t\t\t: CardIds.AstralAutomaton_BG_TTN_401;\r\n\t\treturn simplifiedSpawnEntities(cardIdToSpawn, 1, input);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"auto-assembler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/auto-assembler.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,iBAAqC;YACjD,CAAC;YACD,CAAC,aAAmC,CAAC;QACvC,OAAO,IAAA,4CAAuB,EAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,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 AutoAssembler: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.AutoAssembler_BG32_172, CardIds.AutoAssembler_BG32_172_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst cardIdToSpawn =\r\n\t\t\tminion.cardId === CardIds.AutoAssembler_BG32_172_G\r\n\t\t\t\t? CardIds.AstralAutomaton_BG_TTN_401_G\r\n\t\t\t\t: CardIds.AstralAutomaton_BG_TTN_401;\r\n\t\treturn simplifiedSpawnEntities(cardIdToSpawn, 1, input);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"avalanche-caller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/avalanche-caller.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,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,YAAoC,CAAC;QACxE,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const AvalancheCaller: EndOfTurnCard = {\r\n\tcardIds: [CardIds.AvalancheCaller_BG33_337, CardIds.AvalancheCaller_BG33_337_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.AvalancheCaller_BG33_337_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.MountingAvalanche_BG33_899);\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":"avalanche-caller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/avalanche-caller.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,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,YAAoC,CAAC;QACxE,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const AvalancheCaller: EndOfTurnCard = {\r\n\tcardIds: [CardIds.AvalancheCaller_BG33_337, CardIds.AvalancheCaller_BG33_337_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.AvalancheCaller_BG33_337_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.MountingAvalanche_BG33_899);\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":"baneling.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/baneling.ts"],"names":[],"mappings":";;;AAEA,uDAAqE;AAIxD,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,wCAAiG;IAC1G,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,wBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAA,gCAAuB,EACtB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,uBAAuB,EAC7B,MAAM,EACN,MAAM,EACN,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 { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToRandomEnemy } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Baneling: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_BanelingToken_BG31_HERO_811t5, CardIds.Baneling_BG31_HERO_811t5_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.Baneling_BG31_HERO_811t5_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst damage = minion.attack;\r\n\t\t\tdealDamageToRandomEnemy(\r\n\t\t\t\tinput.otherBoard,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tminion,\r\n\t\t\t\tdamage,\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":"baneling.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/baneling.ts"],"names":[],"mappings":";;;AAEA,uDAAqE;AAIxD,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,wCAAiG;IAC1G,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,wBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAA,gCAAuB,EACtB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,uBAAuB,EAC7B,MAAM,EACN,MAAM,EACN,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 { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToRandomEnemy } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Baneling: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_BanelingToken_BG31_HERO_811t5, CardIds.Baneling_BG31_HERO_811t5_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.Baneling_BG31_HERO_811t5_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst damage = minion.attack;\r\n\t\t\tdealDamageToRandomEnemy(\r\n\t\t\t\tinput.otherBoard,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tminion,\r\n\t\t\t\tdamage,\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":"bigwig-bandit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bigwig-bandit.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,YAAY,GAAc;IACtC,OAAO,EAAE,0BAAgE;IACzE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvF,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const BigwigBandit: RallyCard = {\r\n\tcardIds: [CardIds.BigwigBandit_BG33_822, CardIds.BigwigBandit_BG33_822_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BigwigBandit_BG33_822_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bigwig-bandit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bigwig-bandit.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,YAAY,GAAc;IACtC,OAAO,EAAE,0BAAgE;IACzE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvF,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const BigwigBandit: RallyCard = {\r\n\tcardIds: [CardIds.BigwigBandit_BG33_822, CardIds.BigwigBandit_BG33_822_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BigwigBandit_BG33_822_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bird-buddy.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bird-buddy.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,0CAAiD;AAGpC,QAAA,SAAS,GAAe;IACpC,OAAO,EAAE,0BAA0D;IACnE,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzG,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 { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BirdBuddy: AvengeCard = {\r\n\tcardIds: [CardIds.BirdBuddy_BG21_002, CardIds.BirdBuddy_BG21_002_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BirdBuddy_BG21_002_G ? 2 : 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 1 * mult, input.gameState, Race[Race.BEAST]);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bird-buddy.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bird-buddy.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,0CAAiD;AAGpC,QAAA,SAAS,GAAe;IACpC,OAAO,EAAE,0BAA0D;IACnE,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BirdBuddy: AvengeCard = {\r\n\tcardIds: [CardIds.BirdBuddy_BG21_002, CardIds.BirdBuddy_BG21_002_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BirdBuddy_BG21_002_G ? 2 : 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 1 * mult, input.gameState, Race[Race.BEAST]);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,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 { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const BlazingSkyfin: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.BlazingSkyfin_BG25_040, CardIds.BlazingSkyfin_BG25_040_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BlazingSkyfin_BG25_040 ? 1 : 2;\r\n\t\tmodifyStats(minion, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,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 { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const BlazingSkyfin: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.BlazingSkyfin_BG25_040, CardIds.BlazingSkyfin_BG25_040_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BlazingSkyfin_BG25_040 ? 1 : 2;\r\n\t\tmodifyStats(minion, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"blue-whelp.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blue-whelp.ts"],"names":[],"mappings":";;;AAKa,QAAA,SAAS,GAAc;IACnC,OAAO,EAAE,0BAA0D;IACnE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QACjE,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 { RallyCard } from '../../card.interface';\r\n\r\nexport const BlueWhelp: RallyCard = {\r\n\tcardIds: [CardIds.BlueWhelp_BG33_924, CardIds.BlueWhelp_BG33_924_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BlueWhelp_BG33_924_G ? 2 : 1;\r\n\t\tinput.attackingHero.globalInfo.TavernSpellHealthBuff += 1 * mult;\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"blue-whelp.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blue-whelp.ts"],"names":[],"mappings":";;;AAKa,QAAA,SAAS,GAAc;IACnC,OAAO,EAAE,0BAA0D;IACnE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QACjE,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 { RallyCard } from '../../card.interface';\r\n\r\nexport const BlueWhelp: RallyCard = {\r\n\tcardIds: [CardIds.BlueWhelp_BG33_924, CardIds.BlueWhelp_BG33_924_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BlueWhelp_BG33_924_G ? 2 : 1;\r\n\t\tinput.attackingHero.globalInfo.TavernSpellHealthBuff += 1 * mult;\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"boar-gamer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/boar-gamer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BoarGamer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BoarGamer_BG31_329, CardIds.BoarGamer_BG31_329_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards = minion.cardId === CardIds.BoarGamer_BG31_329_G ? [null, null] : [null];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"boar-gamer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/boar-gamer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BoarGamer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BoarGamer_BG31_329, CardIds.BoarGamer_BG31_329_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards = minion.cardId === CardIds.BoarGamer_BG31_329_G ? [null, null] : [null];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"briarback-bookie.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/briarback-bookie.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACrD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BriarbackBookie: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BriarbackBookie_BG27_028, CardIds.BriarbackBookie_BG27_028_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BriarbackBookie_BG27_028 ? 1 : 2;\r\n\t\tconst cards = Array(1 * mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"briarback-bookie.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/briarback-bookie.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACrD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BriarbackBookie: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BriarbackBookie_BG27_028, CardIds.BriarbackBookie_BG27_028_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BriarbackBookie_BG27_028 ? 1 : 2;\r\n\t\tconst cards = Array(1 * mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bronze-steward.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bronze-steward.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAAyC;IAClE,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,OAAO,GAAG,KAAK,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,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,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,EAAE,GAAG,IAAI,EACT,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,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 { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const BronzeSteward: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.BronzeSteward_BG32_824, CardIds.BronzeSteward_BG32_824_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.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\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(target, minion, 10 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t});\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.boardWithDeadEntity\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t10 * mult,\r\n\t\t\t\t0,\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":"bronze-steward.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bronze-steward.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAAyC;IAClE,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,OAAO,GAAG,KAAK,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,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,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,EAAE,GAAG,IAAI,EACT,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;QACH,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 { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const BronzeSteward: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.BronzeSteward_BG32_824, CardIds.BronzeSteward_BG32_824_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.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\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(target, minion, 10 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t});\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.boardWithDeadEntity\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t10 * mult,\r\n\t\t\t\t0,\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":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAIA,+DAAiE;AAEpD,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,8CAAwB,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxG,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 { BattlecryCard } from '../../card.interface';\r\nimport { grantRandomBonusKeywords } from './apprentice-of-sefin';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [CardIds.BubbleGunner_BG31_149, CardIds.BubbleGunner_BG31_149_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst iterations = minion.cardId === CardIds.BubbleGunner_BG31_149_G ? 2 : 1;\r\n\t\tgrantRandomBonusKeywords(minion, iterations, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAIA,+DAAiE;AAEpD,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,8CAAwB,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxG,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 { BattlecryCard } from '../../card.interface';\r\nimport { grantRandomBonusKeywords } from './apprentice-of-sefin';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [CardIds.BubbleGunner_BG31_149, CardIds.BubbleGunner_BG31_149_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst iterations = minion.cardId === CardIds.BubbleGunner_BG31_149_G ? 2 : 1;\r\n\t\tgrantRandomBonusKeywords(minion, iterations, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"buzzing-vermin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/buzzing-vermin.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,IAAA,4CAAuB,eAA8C,cAAc,EAAE,KAAK,CAAC,CAAC;IACpG,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 BuzzingVermin: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.BuzzingVermin_BG31_803, CardIds.BuzzingVermin_BG31_803_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === CardIds.BuzzingVermin_BG31_803_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, numberOfSpawns, input);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"buzzing-vermin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/buzzing-vermin.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,IAAA,4CAAuB,eAA8C,cAAc,EAAE,KAAK,CAAC,CAAC;IACpG,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 BuzzingVermin: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.BuzzingVermin_BG31_803, CardIds.BuzzingVermin_BG31_803_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === CardIds.BuzzingVermin_BG31_803_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, numberOfSpawns, input);\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cadaver-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/cadaver-caretaker.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAA,4CAAuB,iBAAwB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,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 CadaverCaretaker: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.CadaverCaretaker_BG30_125, CardIds.CadaverCaretaker_BG30_125_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.CadaverCaretaker_BG30_125_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.SkeletonToken, 3 * mult, input);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"cadaver-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/cadaver-caretaker.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAA,4CAAuB,iBAAwB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,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 CadaverCaretaker: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.CadaverCaretaker_BG30_125, CardIds.CadaverCaretaker_BG30_125_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.CadaverCaretaker_BG30_125_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.SkeletonToken, 3 * mult, input);\r\n\t},\r\n};\r\n"]}