@firestone-hs/simulate-bgs-battle 1.1.724 → 1.1.726

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 (386) hide show
  1. package/dist/bgs-battle-info.js.map +1 -1
  2. package/dist/bgs-player-entity.d.ts +2 -0
  3. package/dist/bgs-player-entity.js.map +1 -1
  4. package/dist/board-entity.d.ts +1 -0
  5. package/dist/board-entity.js.map +1 -1
  6. package/dist/cards/card.interface.d.ts +1 -1
  7. package/dist/cards/card.interface.js.map +1 -1
  8. package/dist/cards/impl/_card-mappings.js +114 -0
  9. package/dist/cards/impl/_card-mappings.js.map +1 -1
  10. package/dist/cards/impl/bg-spell/mighty-dragonbreath.d.ts +2 -0
  11. package/dist/cards/impl/bg-spell/mighty-dragonbreath.js +28 -0
  12. package/dist/cards/impl/bg-spell/mighty-dragonbreath.js.map +1 -0
  13. package/dist/cards/impl/bg-spell/misplaced-tea-set.d.ts +2 -0
  14. package/dist/cards/impl/bg-spell/misplaced-tea-set.js +16 -0
  15. package/dist/cards/impl/bg-spell/misplaced-tea-set.js.map +1 -0
  16. package/dist/cards/impl/bg-spell/repair-job.d.ts +2 -0
  17. package/dist/cards/impl/bg-spell/repair-job.js +19 -0
  18. package/dist/cards/impl/bg-spell/repair-job.js.map +1 -0
  19. package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
  20. package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -1
  21. package/dist/cards/impl/bg-spell/weapons-forge.d.ts +2 -0
  22. package/dist/cards/impl/bg-spell/weapons-forge.js +12 -0
  23. package/dist/cards/impl/bg-spell/weapons-forge.js.map +1 -0
  24. package/dist/cards/impl/bg-spell/winners-bread.d.ts +2 -0
  25. package/dist/cards/impl/bg-spell/winners-bread.js +19 -0
  26. package/dist/cards/impl/bg-spell/winners-bread.js.map +1 -0
  27. package/dist/cards/impl/enchantments/admiration.d.ts +2 -0
  28. package/dist/cards/impl/enchantments/admiration.js +17 -0
  29. package/dist/cards/impl/enchantments/admiration.js.map +1 -0
  30. package/dist/cards/impl/enchantments/charisma.d.ts +2 -0
  31. package/dist/cards/impl/enchantments/charisma.js +44 -0
  32. package/dist/cards/impl/enchantments/charisma.js.map +1 -0
  33. package/dist/cards/impl/enchantments/consanguinity.d.ts +2 -0
  34. package/dist/cards/impl/enchantments/consanguinity.js +13 -0
  35. package/dist/cards/impl/enchantments/consanguinity.js.map +1 -0
  36. package/dist/cards/impl/enchantments/defensive-sacrifice.d.ts +2 -0
  37. package/dist/cards/impl/enchantments/defensive-sacrifice.js +17 -0
  38. package/dist/cards/impl/enchantments/defensive-sacrifice.js.map +1 -0
  39. package/dist/cards/impl/enchantments/golemancy.d.ts +2 -0
  40. package/dist/cards/impl/enchantments/golemancy.js +19 -0
  41. package/dist/cards/impl/enchantments/golemancy.js.map +1 -0
  42. package/dist/cards/impl/enchantments/hostility.d.ts +2 -0
  43. package/dist/cards/impl/enchantments/hostility.js +12 -0
  44. package/dist/cards/impl/enchantments/hostility.js.map +1 -0
  45. package/dist/cards/impl/enchantments/invulnerability.d.ts +2 -0
  46. package/dist/cards/impl/enchantments/invulnerability.js +12 -0
  47. package/dist/cards/impl/enchantments/invulnerability.js.map +1 -0
  48. package/dist/cards/impl/enchantments/jaws-of-death.d.ts +2 -0
  49. package/dist/cards/impl/enchantments/jaws-of-death.js +17 -0
  50. package/dist/cards/impl/enchantments/jaws-of-death.js.map +1 -0
  51. package/dist/cards/impl/enchantments/mystic-essence.d.ts +2 -0
  52. package/dist/cards/impl/enchantments/mystic-essence.js +13 -0
  53. package/dist/cards/impl/enchantments/mystic-essence.js.map +1 -0
  54. package/dist/cards/impl/enchantments/offensive-sacrifice.d.ts +2 -0
  55. package/dist/cards/impl/enchantments/offensive-sacrifice.js +18 -0
  56. package/dist/cards/impl/enchantments/offensive-sacrifice.js.map +1 -0
  57. package/dist/cards/impl/enchantments/persisting-horror.d.ts +2 -0
  58. package/dist/cards/impl/enchantments/persisting-horror.js +6 -0
  59. package/dist/cards/impl/enchantments/persisting-horror.js.map +1 -0
  60. package/dist/cards/impl/enchantments/resistance.d.ts +2 -0
  61. package/dist/cards/impl/enchantments/resistance.js +12 -0
  62. package/dist/cards/impl/enchantments/resistance.js.map +1 -0
  63. package/dist/cards/impl/enchantments/toreths-blessing.d.ts +2 -0
  64. package/dist/cards/impl/enchantments/toreths-blessing.js +13 -0
  65. package/dist/cards/impl/enchantments/toreths-blessing.js.map +1 -0
  66. package/dist/cards/impl/enchantments/transcendence.d.ts +2 -0
  67. package/dist/cards/impl/enchantments/transcendence.js +12 -0
  68. package/dist/cards/impl/enchantments/transcendence.js.map +1 -0
  69. package/dist/cards/impl/hero-power/aim-high.js.map +1 -1
  70. package/dist/cards/impl/hero-power/aim-left.js.map +1 -1
  71. package/dist/cards/impl/hero-power/aim-low.js.map +1 -1
  72. package/dist/cards/impl/hero-power/aim-right.js.map +1 -1
  73. package/dist/cards/impl/hero-power/earth-invocation.js.map +1 -1
  74. package/dist/cards/impl/hero-power/embrace-your-rage.js.map +1 -1
  75. package/dist/cards/impl/hero-power/fire-invocation.js.map +1 -1
  76. package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
  77. package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
  78. package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -1
  79. package/dist/cards/impl/minion/alleycat.js.map +1 -1
  80. package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
  81. package/dist/cards/impl/minion/archimonde.js.map +1 -1
  82. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -1
  83. package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -1
  84. package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
  85. package/dist/cards/impl/minion/audacious-anchor.js.map +1 -1
  86. package/dist/cards/impl/minion/auto-assembler.js.map +1 -1
  87. package/dist/cards/impl/minion/avalanche-caller.js.map +1 -1
  88. package/dist/cards/impl/minion/baneling.js.map +1 -1
  89. package/dist/cards/impl/minion/barrier-banshee.d.ts +2 -0
  90. package/dist/cards/impl/minion/barrier-banshee.js +15 -0
  91. package/dist/cards/impl/minion/barrier-banshee.js.map +1 -0
  92. package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -1
  93. package/dist/cards/impl/minion/bird-buddy.js.map +1 -1
  94. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
  95. package/dist/cards/impl/minion/blue-whelp.js.map +1 -1
  96. package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
  97. package/dist/cards/impl/minion/boom-in-a-box.d.ts +2 -0
  98. package/dist/cards/impl/minion/boom-in-a-box.js +19 -0
  99. package/dist/cards/impl/minion/boom-in-a-box.js.map +1 -0
  100. package/dist/cards/impl/minion/bramble-tunneler.d.ts +2 -0
  101. package/dist/cards/impl/minion/bramble-tunneler.js +14 -0
  102. package/dist/cards/impl/minion/bramble-tunneler.js.map +1 -0
  103. package/dist/cards/impl/minion/briarback-bookie.js.map +1 -1
  104. package/dist/cards/impl/minion/bronze-steward.js.map +1 -1
  105. package/dist/cards/impl/minion/bronze-timewalker.d.ts +2 -0
  106. package/dist/cards/impl/minion/bronze-timewalker.js +22 -0
  107. package/dist/cards/impl/minion/bronze-timewalker.js.map +1 -0
  108. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
  109. package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -1
  110. package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -1
  111. package/dist/cards/impl/minion/cage-gnawer.d.ts +2 -0
  112. package/dist/cards/impl/minion/cage-gnawer.js +20 -0
  113. package/dist/cards/impl/minion/cage-gnawer.js.map +1 -0
  114. package/dist/cards/impl/minion/captain-bonerender.js.map +1 -1
  115. package/dist/cards/impl/minion/carapace-raiser.js.map +1 -1
  116. package/dist/cards/impl/minion/carbonic-copy.js.map +1 -1
  117. package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -1
  118. package/dist/cards/impl/minion/coldlight-diver.js.map +1 -1
  119. package/dist/cards/impl/minion/crimson-vindicator.d.ts +2 -0
  120. package/dist/cards/impl/minion/crimson-vindicator.js +24 -0
  121. package/dist/cards/impl/minion/crimson-vindicator.js.map +1 -0
  122. package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -1
  123. package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -1
  124. package/dist/cards/impl/minion/deadstomper.js.map +1 -1
  125. package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
  126. package/dist/cards/impl/minion/deathstrider.d.ts +2 -0
  127. package/dist/cards/impl/minion/deathstrider.js +27 -0
  128. package/dist/cards/impl/minion/deathstrider.js.map +1 -0
  129. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
  130. package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
  131. package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -1
  132. package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
  133. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
  134. package/dist/cards/impl/minion/elite-navigator.js.map +1 -1
  135. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
  136. package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -1
  137. package/dist/cards/impl/minion/fireworks-fanatic.js.map +1 -1
  138. package/dist/cards/impl/minion/fishbait.d.ts +2 -0
  139. package/dist/cards/impl/minion/fishbait.js +21 -0
  140. package/dist/cards/impl/minion/fishbait.js.map +1 -0
  141. package/dist/cards/impl/minion/fleeing-fugitive.d.ts +2 -0
  142. package/dist/cards/impl/minion/fleeing-fugitive.js +15 -0
  143. package/dist/cards/impl/minion/fleeing-fugitive.js.map +1 -0
  144. package/dist/cards/impl/minion/flittering-bat.d.ts +2 -0
  145. package/dist/cards/impl/minion/flittering-bat.js +25 -0
  146. package/dist/cards/impl/minion/flittering-bat.js.map +1 -0
  147. package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -1
  148. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
  149. package/dist/cards/impl/minion/friendly-geist.js.map +1 -1
  150. package/dist/cards/impl/minion/gatekeeper-amalgam.d.ts +2 -0
  151. package/dist/cards/impl/minion/gatekeeper-amalgam.js +22 -0
  152. package/dist/cards/impl/minion/gatekeeper-amalgam.js.map +1 -0
  153. package/dist/cards/impl/minion/gem-rat.js.map +1 -1
  154. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
  155. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
  156. package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
  157. package/dist/cards/impl/minion/glambot.d.ts +2 -0
  158. package/dist/cards/impl/minion/glambot.js +30 -0
  159. package/dist/cards/impl/minion/glambot.js.map +1 -0
  160. package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -1
  161. package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -1
  162. package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -1
  163. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
  164. package/dist/cards/impl/minion/hackerfin.js.map +1 -1
  165. package/dist/cards/impl/minion/handless-forsaken.js.map +1 -1
  166. package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -1
  167. package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
  168. package/dist/cards/impl/minion/headhunter-gryphon.d.ts +2 -0
  169. package/dist/cards/impl/minion/headhunter-gryphon.js +19 -0
  170. package/dist/cards/impl/minion/headhunter-gryphon.js.map +1 -0
  171. package/dist/cards/impl/minion/hoarding-hyena.d.ts +2 -0
  172. package/dist/cards/impl/minion/hoarding-hyena.js +23 -0
  173. package/dist/cards/impl/minion/hoarding-hyena.js.map +1 -0
  174. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  175. package/dist/cards/impl/minion/humongozz.js.map +1 -1
  176. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  177. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -1
  178. package/dist/cards/impl/minion/ignition-specialist.js.map +1 -1
  179. package/dist/cards/impl/minion/immortal.js.map +1 -1
  180. package/dist/cards/impl/minion/imp-lusionist.d.ts +2 -0
  181. package/dist/cards/impl/minion/imp-lusionist.js +14 -0
  182. package/dist/cards/impl/minion/imp-lusionist.js.map +1 -0
  183. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  184. package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
  185. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
  186. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  187. package/dist/cards/impl/minion/jailbird-juggernaut.d.ts +2 -0
  188. package/dist/cards/impl/minion/jailbird-juggernaut.js +52 -0
  189. package/dist/cards/impl/minion/jailbird-juggernaut.js.map +1 -0
  190. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -1
  191. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -1
  192. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
  193. package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -1
  194. package/dist/cards/impl/minion/living-azerite.js.map +1 -1
  195. package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -1
  196. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
  197. package/dist/cards/impl/minion/low-flier.js.map +1 -1
  198. package/dist/cards/impl/minion/lurker.js.map +1 -1
  199. package/dist/cards/impl/minion/manasaber.js.map +1 -1
  200. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  201. package/dist/cards/impl/minion/marquee-ticker.js.map +1 -1
  202. package/dist/cards/impl/minion/maw-caster.js.map +1 -1
  203. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
  204. package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -1
  205. package/dist/cards/impl/minion/mechorse.js.map +1 -1
  206. package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
  207. package/dist/cards/impl/minion/metallic-hunter.js.map +1 -1
  208. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  209. package/dist/cards/impl/minion/moat-custodian.d.ts +2 -0
  210. package/dist/cards/impl/minion/moat-custodian.js +15 -0
  211. package/dist/cards/impl/minion/moat-custodian.js.map +1 -0
  212. package/dist/cards/impl/minion/motley-phalanx.d.ts +2 -0
  213. package/dist/cards/impl/minion/motley-phalanx.js +13 -0
  214. package/dist/cards/impl/minion/motley-phalanx.js.map +1 -0
  215. package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -1
  216. package/dist/cards/impl/minion/murky.js.map +1 -1
  217. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  218. package/dist/cards/impl/minion/mythrax.js.map +1 -1
  219. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  220. package/dist/cards/impl/minion/nest-swarmer.js.map +1 -1
  221. package/dist/cards/impl/minion/nether-drake.js.map +1 -1
  222. package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -1
  223. package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -1
  224. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -1
  225. package/dist/cards/impl/minion/outback-smolderer.js.map +1 -1
  226. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
  227. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
  228. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -1
  229. package/dist/cards/impl/minion/ravaging-scorpid.d.ts +2 -0
  230. package/dist/cards/impl/minion/ravaging-scorpid.js +26 -0
  231. package/dist/cards/impl/minion/ravaging-scorpid.js.map +1 -0
  232. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
  233. package/dist/cards/impl/minion/rescue-bot.d.ts +2 -0
  234. package/dist/cards/impl/minion/rescue-bot.js +14 -0
  235. package/dist/cards/impl/minion/rescue-bot.js.map +1 -0
  236. package/dist/cards/impl/minion/roach.js.map +1 -1
  237. package/dist/cards/impl/minion/roadboar.js.map +1 -1
  238. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
  239. package/dist/cards/impl/minion/ruins-renovator.js.map +1 -1
  240. package/dist/cards/impl/minion/runic-arcanist.d.ts +2 -0
  241. package/dist/cards/impl/minion/runic-arcanist.js +24 -0
  242. package/dist/cards/impl/minion/runic-arcanist.js.map +1 -0
  243. package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -1
  244. package/dist/cards/impl/minion/salty-hog.js.map +1 -1
  245. package/dist/cards/impl/minion/sand-swirler.js.map +1 -1
  246. package/dist/cards/impl/minion/sandy.js.map +1 -1
  247. package/dist/cards/impl/minion/scourge-harvester.js.map +1 -1
  248. package/dist/cards/impl/minion/selfless-hero.js.map +1 -1
  249. package/dist/cards/impl/minion/shadowdancer.js.map +1 -1
  250. package/dist/cards/impl/minion/shamanic-tidecaller.d.ts +2 -0
  251. package/dist/cards/impl/minion/shamanic-tidecaller.js +25 -0
  252. package/dist/cards/impl/minion/shamanic-tidecaller.js.map +1 -0
  253. package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -1
  254. package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -1
  255. package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -1
  256. package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -1
  257. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
  258. package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -1
  259. package/dist/cards/impl/minion/smolderwing.js.map +1 -1
  260. package/dist/cards/impl/minion/snazzy-phantom.d.ts +2 -0
  261. package/dist/cards/impl/minion/snazzy-phantom.js +23 -0
  262. package/dist/cards/impl/minion/snazzy-phantom.js.map +1 -0
  263. package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
  264. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  265. package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -1
  266. package/dist/cards/impl/minion/springy-spriggan.js.map +1 -1
  267. package/dist/cards/impl/minion/stitched-salvager.js.map +1 -1
  268. package/dist/cards/impl/minion/stray-satyr.js.map +1 -1
  269. package/dist/cards/impl/minion/sun-screener.js.map +1 -1
  270. package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -1
  271. package/dist/cards/impl/minion/tasty-lobster.d.ts +2 -0
  272. package/dist/cards/impl/minion/tasty-lobster.js +21 -0
  273. package/dist/cards/impl/minion/tasty-lobster.js.map +1 -0
  274. package/dist/cards/impl/minion/thorncaller.js.map +1 -1
  275. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  276. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
  277. package/dist/cards/impl/minion/timewarped-warghoul.js.map +1 -1
  278. package/dist/cards/impl/minion/torrential-ruiner.d.ts +2 -0
  279. package/dist/cards/impl/minion/torrential-ruiner.js +20 -0
  280. package/dist/cards/impl/minion/torrential-ruiner.js.map +1 -0
  281. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -1
  282. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
  283. package/dist/cards/impl/minion/twilight-tidehunter.d.ts +2 -0
  284. package/dist/cards/impl/minion/twilight-tidehunter.js +21 -0
  285. package/dist/cards/impl/minion/twilight-tidehunter.js.map +1 -0
  286. package/dist/cards/impl/minion/ultralisk.js.map +1 -1
  287. package/dist/cards/impl/minion/valiant-tiger.js.map +1 -1
  288. package/dist/cards/impl/minion/vigilant-bristlemane.d.ts +2 -0
  289. package/dist/cards/impl/minion/vigilant-bristlemane.js +19 -0
  290. package/dist/cards/impl/minion/vigilant-bristlemane.js.map +1 -0
  291. package/dist/cards/impl/minion/void-earl.js.map +1 -1
  292. package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -1
  293. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  294. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  295. package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -1
  296. package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -1
  297. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
  298. package/dist/cards/impl/minion/wolf-pup.d.ts +2 -0
  299. package/dist/cards/impl/minion/wolf-pup.js +18 -0
  300. package/dist/cards/impl/minion/wolf-pup.js.map +1 -0
  301. package/dist/cards/impl/minion/yorik-smite.js.map +1 -1
  302. package/dist/cards/impl/minion/yrel.js.map +1 -1
  303. package/dist/cards/impl/minion/yulon-fortune-granter.js.map +1 -1
  304. package/dist/cards/impl/quest-reward/righteous-charge.js.map +1 -1
  305. package/dist/cards/impl/spellcraft/floating-candle-set.d.ts +2 -0
  306. package/dist/cards/impl/spellcraft/floating-candle-set.js +21 -0
  307. package/dist/cards/impl/spellcraft/floating-candle-set.js.map +1 -0
  308. package/dist/cards/impl/spellcraft/undersea-mount.js +1 -1
  309. package/dist/cards/impl/spellcraft/undersea-mount.js.map +1 -1
  310. package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
  311. package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
  312. package/dist/cards/impl/trinket/assembler-portrait.d.ts +2 -0
  313. package/dist/cards/impl/trinket/assembler-portrait.js +17 -0
  314. package/dist/cards/impl/trinket/assembler-portrait.js.map +1 -0
  315. package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -1
  316. package/dist/cards/impl/trinket/battle-horn.js.map +1 -1
  317. package/dist/cards/impl/trinket/bird-feeder.js.map +1 -1
  318. package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -1
  319. package/dist/cards/impl/trinket/deathwhisper-sticker.d.ts +2 -0
  320. package/dist/cards/impl/trinket/deathwhisper-sticker.js +12 -0
  321. package/dist/cards/impl/trinket/deathwhisper-sticker.js.map +1 -0
  322. package/dist/cards/impl/trinket/dragon-skull.d.ts +2 -0
  323. package/dist/cards/impl/trinket/dragon-skull.js +15 -0
  324. package/dist/cards/impl/trinket/dragon-skull.js.map +1 -0
  325. package/dist/cards/impl/trinket/dragons-eye.d.ts +4 -0
  326. package/dist/cards/impl/trinket/dragons-eye.js +14 -0
  327. package/dist/cards/impl/trinket/dragons-eye.js.map +1 -0
  328. package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
  329. package/dist/cards/impl/trinket/eternal-portrait.d.ts +2 -0
  330. package/dist/cards/impl/trinket/eternal-portrait.js +26 -1
  331. package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
  332. package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
  333. package/dist/cards/impl/trinket/fishy-sticker.js.map +1 -1
  334. package/dist/cards/impl/trinket/flighty-portrait.d.ts +2 -0
  335. package/dist/cards/impl/trinket/flighty-portrait.js +21 -0
  336. package/dist/cards/impl/trinket/flighty-portrait.js.map +1 -0
  337. package/dist/cards/impl/trinket/funeral-wreath.d.ts +2 -0
  338. package/dist/cards/impl/trinket/funeral-wreath.js +16 -0
  339. package/dist/cards/impl/trinket/funeral-wreath.js.map +1 -0
  340. package/dist/cards/impl/trinket/herald-sticker.js.map +1 -1
  341. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  342. package/dist/cards/impl/trinket/lightfeather-sticker.d.ts +2 -0
  343. package/dist/cards/impl/trinket/lightfeather-sticker.js +18 -0
  344. package/dist/cards/impl/trinket/lightfeather-sticker.js.map +1 -0
  345. package/dist/cards/impl/trinket/lionfish-portrait.d.ts +2 -0
  346. package/dist/cards/impl/trinket/lionfish-portrait.js +18 -0
  347. package/dist/cards/impl/trinket/lionfish-portrait.js.map +1 -0
  348. package/dist/cards/impl/trinket/lovely-locket.d.ts +2 -0
  349. package/dist/cards/impl/trinket/lovely-locket.js +24 -0
  350. package/dist/cards/impl/trinket/lovely-locket.js.map +1 -0
  351. package/dist/cards/impl/trinket/myrmidon-sticker.d.ts +2 -0
  352. package/dist/cards/impl/trinket/myrmidon-sticker.js +21 -0
  353. package/dist/cards/impl/trinket/myrmidon-sticker.js.map +1 -0
  354. package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
  355. package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -1
  356. package/dist/cards/impl/trinket/valorous-medaillion.js.map +1 -1
  357. package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -1
  358. package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -1
  359. package/dist/debug-state.js.map +1 -1
  360. package/dist/keywords/divine-shield.js +4 -0
  361. package/dist/keywords/divine-shield.js.map +1 -1
  362. package/dist/keywords/venomous.js.map +1 -1
  363. package/dist/services/card-ids.d.ts +694 -27
  364. package/dist/services/card-ids.js.map +1 -1
  365. package/dist/simulation/add-minion-to-board.js +11 -5
  366. package/dist/simulation/add-minion-to-board.js.map +1 -1
  367. package/dist/simulation/auras.js +48 -46
  368. package/dist/simulation/auras.js.map +1 -1
  369. package/dist/simulation/battlecries.d.ts +1 -1
  370. package/dist/simulation/battlecries.js +18 -3
  371. package/dist/simulation/battlecries.js.map +1 -1
  372. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  373. package/dist/simulation/deathrattle-spawns.js +0 -5
  374. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  375. package/dist/simulation/discover.js.map +1 -1
  376. package/dist/simulation/frenzy.js.map +1 -1
  377. package/dist/simulation/quest.js.map +1 -1
  378. package/dist/simulation/reborn.js +2 -0
  379. package/dist/simulation/reborn.js.map +1 -1
  380. package/dist/simulation/start-of-combat/soc-minion.js +4 -1
  381. package/dist/simulation/start-of-combat/soc-minion.js.map +1 -1
  382. package/dist/simulation/utils/golden.js +6 -2
  383. package/dist/simulation/utils/golden.js.map +1 -1
  384. package/dist/utils.js +4 -1
  385. package/dist/utils.js.map +1 -1
  386. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"winners-bread.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/winners-bread.ts"],"names":[],"mappings":";;;AAOA,mDAAqD;AACrD,qDAAwD;AACxD,0CAAyD;AAI5C,QAAA,YAAY,GAAoB;IAC5C,OAAO,EAAE,YAA+B;IACxC,eAAe,EAAE,CAAC,YAAoB,EAAE,KAAqB,EAAE,EAAE;;QAChE,MAAM,MAAM,GACX,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAA,kBAAU,EAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,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;QACF,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;IAC7F,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Winner's Bread (2 gold, Tier 2)\r\n * Give a minion +2/+3. If you win your next combat, give it another +4/+6 at the start of your next turn.\r\n *\r\n * Only the immediate buff is simulated: the second half is granted between combats, so it never\r\n * changes the outcome of the fight it was cast in.\r\n */\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { withTavernSpellStatBuff } from '../../../utils';\r\nimport { CastSpellInput, TavernSpellCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const WinnersBread: TavernSpellCard = {\r\n\tcardIds: [CardIds.WinnersBread_BG36_883],\r\n\tcastTavernSpell: (_spellCardId: string, input: CastSpellInput) => {\r\n\t\tconst target =\r\n\t\t\tinput.target ?? pickRandom(input.board.filter((e) => e.health > 0 && !e.definitelyDead));\r\n\t\tif (!target) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst { attack, health } = withTavernSpellStatBuff(\r\n\t\t\tinput.hero,\r\n\t\t\t2,\r\n\t\t\t3,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t\tinput.spellCardId,\r\n\t\t);\r\n\t\tmodifyStats(target, input.source, attack, health, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const Admiration: StartOfCombatCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Admiration = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.Admiration = {
6
+ cardIds: ["BG36_MidGameEffect_000t9"],
7
+ startOfCombat: (minion, input) => {
8
+ const index = input.playerBoard.indexOf(minion);
9
+ const neighbour = index > 0 ? input.playerBoard[index - 1] : null;
10
+ if (!neighbour) {
11
+ return false;
12
+ }
13
+ (0, stats_1.modifyStats)(minion, neighbour, neighbour.attack, neighbour.health, input.playerBoard, input.playerEntity, input.gameState);
14
+ return true;
15
+ },
16
+ };
17
+ //# sourceMappingURL=admiration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admiration.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/admiration.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAI3C,QAAA,UAAU,GAAsB;IAC5C,OAAO,EAAE,4BAA4D;IACrE,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,CAAC,SAAS,EAAE;YACf,OAAO,KAAK,CAAC;SACb;QAED,IAAA,mBAAW,EACV,MAAM,EACN,SAAS,EACT,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,MAAM,EAChB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Admiration (Dark Gift)\r\n * Start of Combat: Gain the stats of the minion to the left.\r\n */\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\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Admiration: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_AdmirationToken_BG36_MidGameEffect_000t9],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst index = input.playerBoard.indexOf(minion);\r\n\t\tconst neighbour = index > 0 ? input.playerBoard[index - 1] : null;\r\n\t\tif (!neighbour) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tneighbour,\r\n\t\t\tneighbour.attack,\r\n\t\t\tneighbour.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"]}
@@ -0,0 +1,2 @@
1
+ import { RallyCard } from '../../card.interface';
2
+ export declare const Charisma: RallyCard;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Charisma = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
6
+ const utils_1 = require("../../../utils");
7
+ exports.Charisma = {
8
+ cardIds: ["BG36_MidGameEffect_000t3"],
9
+ rally: (_enchantment, input) => {
10
+ var _a, _b, _c;
11
+ const tribeCounts = new Map();
12
+ for (const entity of input.attackingBoard) {
13
+ if (entity.health <= 0 || entity.definitelyDead)
14
+ continue;
15
+ const tribes = (0, utils_1.getEffectiveTribesForEntity)(entity, input.attackingHero, input.gameState.anomalies, input.gameState.allCards);
16
+ for (const tribe of tribes) {
17
+ if (tribe === reference_data_1.Race.ALL) {
18
+ for (const bgRace of reference_data_1.ALL_BG_RACES) {
19
+ tribeCounts.set(bgRace, ((_a = tribeCounts.get(bgRace)) !== null && _a !== void 0 ? _a : 0) + 1);
20
+ }
21
+ }
22
+ else {
23
+ tribeCounts.set(tribe, ((_b = tribeCounts.get(tribe)) !== null && _b !== void 0 ? _b : 0) + 1);
24
+ }
25
+ }
26
+ }
27
+ let mostCommonTribe = null;
28
+ let maxCount = 0;
29
+ for (const [tribe, count] of tribeCounts) {
30
+ if (count > maxCount) {
31
+ maxCount = count;
32
+ mostCommonTribe = tribe;
33
+ }
34
+ }
35
+ if (mostCommonTribe != null) {
36
+ const cardId = input.gameState.cardsData.getRandomMinionForTribe(mostCommonTribe, (_c = input.attackingHero.tavernTier) !== null && _c !== void 0 ? _c : 6);
37
+ if (cardId) {
38
+ (0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, [cardId], input.gameState);
39
+ }
40
+ }
41
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
42
+ },
43
+ };
44
+ //# sourceMappingURL=charisma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charisma.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/charisma.ts"],"names":[],"mappings":";;;AAIA,iEAAkE;AAElE,qEAAmE;AAEnE,0CAA6D;AAIhD,QAAA,QAAQ,GAAc;IAClC,OAAO,EAAE,4BAA0D;IACnE,KAAK,EAAE,CAAC,YAA8B,EAAE,KAAoB,EAAE,EAAE;;QAC/D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgB,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE;YAC1C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,MAAM,MAAM,GAAG,IAAA,mCAA2B,EACzC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC3B,IAAI,KAAK,KAAK,qBAAI,CAAC,GAAG,EAAE;oBACvB,KAAK,MAAM,MAAM,IAAI,6BAAY,EAAE;wBAClC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAA,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC5D;iBACD;qBAAM;oBACN,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC1D;aACD;SACD;QACD,IAAI,eAAe,GAAgB,IAAI,CAAC;QACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE;YACzC,IAAI,KAAK,GAAG,QAAQ,EAAE;gBACrB,QAAQ,GAAG,KAAK,CAAC;gBACjB,eAAe,GAAG,KAAK,CAAC;aACxB;SACD;QACD,IAAI,eAAe,IAAI,IAAI,EAAE;YAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAC/D,eAAe,EACf,MAAA,KAAK,CAAC,aAAa,CAAC,UAAU,mCAAI,CAAC,CACnC,CAAC;YACF,IAAI,MAAM,EAAE;gBACX,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACrF;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Charisma (Dark Gift)\r\n * Rally: Get a random minion of your most common type.\r\n */\r\nimport { ALL_BG_RACES, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEnchantment } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { getEffectiveTribesForEntity } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Charisma: RallyCard = {\r\n\tcardIds: [CardIds.DarkGifts_CharismaToken_BG36_MidGameEffect_000t3],\r\n\trally: (_enchantment: BoardEnchantment, input: OnAttackInput) => {\r\n\t\tconst tribeCounts = new Map<Race, number>();\r\n\t\tfor (const entity of input.attackingBoard) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tconst tribes = getEffectiveTribesForEntity(\r\n\t\t\t\tentity,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t);\r\n\t\t\tfor (const tribe of tribes) {\r\n\t\t\t\tif (tribe === Race.ALL) {\r\n\t\t\t\t\tfor (const bgRace of ALL_BG_RACES) {\r\n\t\t\t\t\t\ttribeCounts.set(bgRace, (tribeCounts.get(bgRace) ?? 0) + 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttribeCounts.set(tribe, (tribeCounts.get(tribe) ?? 0) + 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet mostCommonTribe: Race | null = null;\r\n\t\tlet maxCount = 0;\r\n\t\tfor (const [tribe, count] of tribeCounts) {\r\n\t\t\tif (count > maxCount) {\r\n\t\t\t\tmaxCount = count;\r\n\t\t\t\tmostCommonTribe = tribe;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (mostCommonTribe != null) {\r\n\t\t\tconst cardId = input.gameState.cardsData.getRandomMinionForTribe(\r\n\t\t\t\tmostCommonTribe,\r\n\t\t\t\tinput.attackingHero.tavernTier ?? 6,\r\n\t\t\t);\r\n\t\t\tif (cardId) {\r\n\t\t\t\taddCardsInHand(input.attackingHero, input.attackingBoard, [cardId], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { RallyCard } from '../../card.interface';
2
+ export declare const Consanguinity: RallyCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Consanguinity = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.Consanguinity = {
6
+ cardIds: ["BG36_MidGameEffect_000t80"],
7
+ rally: (_enchantment, input) => {
8
+ const cardsToAdd = Array(2).fill("BG20_GEM");
9
+ (0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);
10
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
11
+ },
12
+ };
13
+ //# sourceMappingURL=consanguinity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consanguinity.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/consanguinity.ts"],"names":[],"mappings":";;;AAKA,qEAAmE;AAKtD,QAAA,aAAa,GAAc;IACvC,OAAO,EAAE,6BAAgE;IACzE,KAAK,EAAE,CAAC,YAA8B,EAAE,KAAoB,EAAE,EAAE;QAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,YAAkB,CAAC;QACnD,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":["/**\r\n * Consanguinity (Dark Gift)\r\n * Rally: Get 2 Blood Gems.\r\n */\r\nimport { BoardEnchantment } 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\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Consanguinity: RallyCard = {\r\n\tcardIds: [CardIds.DarkGifts_ConsanguinityToken_BG36_MidGameEffect_000t80],\r\n\trally: (_enchantment: BoardEnchantment, input: OnAttackInput) => {\r\n\t\tconst cardsToAdd = Array(2).fill(CardIds.BloodGem);\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"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const DefensiveSacrifice: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefensiveSacrifice = void 0;
4
+ const utils_1 = require("../../../services/utils");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ exports.DefensiveSacrifice = {
7
+ cardIds: ["BG36_MidGameEffect_000t2"],
8
+ deathrattleSpawnEnchantmentEffect: (enchantment, minion, input) => {
9
+ const buff = minion.maxHealth;
10
+ const target = buff > 0 ? (0, utils_1.pickRandomAlive)(input.boardWithDeadEntity.filter((e) => e !== minion)) : null;
11
+ if (!!target) {
12
+ (0, stats_1.modifyStats)(target, minion, 0, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
13
+ }
14
+ return [];
15
+ },
16
+ };
17
+ //# sourceMappingURL=defensive-sacrifice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defensive-sacrifice.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/defensive-sacrifice.ts"],"names":[],"mappings":";;;AAKA,mDAA0D;AAE1D,qDAAwD;AAI3C,QAAA,kBAAkB,GAAoC;IAClE,OAAO,EAAE,4BAAoE;IAC7E,iCAAiC,EAAE,CAClC,WAA6B,EAC7B,MAAmB,EACnB,KAAgC,EAC/B,EAAE;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,EACD,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Defensive Sacrifice (Dark Gift)\r\n * Deathrattle: Give this minion's max Health to another friendly minion.\r\n */\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const DefensiveSacrifice: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [CardIds.DarkGifts_DefensiveSacrificeToken_BG36_MidGameEffect_000t2],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tminion: BoardEntity,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t) => {\r\n\t\tconst buff = minion.maxHealth;\r\n\t\tconst target = buff > 0 ? pickRandomAlive(input.boardWithDeadEntity.filter((e) => e !== minion)) : null;\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t0,\r\n\t\t\t\tbuff,\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"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const Golemancy: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Golemancy = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.Golemancy = {
6
+ cardIds: ["BG36_MidGameEffect_000t61"],
7
+ deathrattleSpawnEnchantmentEffect: (enchantment, minion, input) => {
8
+ const spawns = (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG30_MagicItem_442t", 1, input);
9
+ spawns.forEach((spawn) => {
10
+ var _a;
11
+ spawn.attack = (_a = minion.maxAttack) !== null && _a !== void 0 ? _a : minion.attack;
12
+ spawn.maxAttack = spawn.attack;
13
+ spawn.health = minion.maxHealth;
14
+ spawn.maxHealth = spawn.health;
15
+ });
16
+ return spawns;
17
+ },
18
+ };
19
+ //# sourceMappingURL=golemancy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golemancy.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/golemancy.ts"],"names":[],"mappings":";;;AAMA,+EAAiF;AAIpE,QAAA,SAAS,GAAoC;IACzD,OAAO,EAAE,6BAA4D;IACrE,iCAAiC,EAAE,CAClC,WAA6B,EAC7B,MAAmB,EACnB,KAAgC,EAC/B,EAAE;QACH,MAAM,MAAM,GAAG,IAAA,4CAAuB,yBAErC,CAAC,EACD,KAAK,CACL,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;YACxB,KAAK,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,MAAM,CAAC,MAAM,CAAC;YACjD,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;YAChC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Golemancy (Dark Gift)\r\n * Deathrattle: Summon a Golem with this minion's stats.\r\n */\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Golemancy: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [CardIds.DarkGifts_GolemancyToken_BG36_MidGameEffect_000t61],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tminion: BoardEntity,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t) => {\r\n\t\tconst spawns = simplifiedSpawnEntities(\r\n\t\t\tCardIds.BloodGolemSticker_BloodGolemToken_BG30_MagicItem_442t,\r\n\t\t\t1,\r\n\t\t\tinput,\r\n\t\t);\r\n\t\t// The stats are those the minion had before dying, not the base stats of the token\r\n\t\tspawns.forEach((spawn) => {\r\n\t\t\tspawn.attack = minion.maxAttack ?? minion.attack;\r\n\t\t\tspawn.maxAttack = spawn.attack;\r\n\t\t\tspawn.health = minion.maxHealth;\r\n\t\t\tspawn.maxHealth = spawn.health;\r\n\t\t});\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const Hostility: StartOfCombatCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hostility = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.Hostility = {
6
+ cardIds: ["BG36_MidGameEffect_000t71"],
7
+ startOfCombat: (minion, input) => {
8
+ (0, stats_1.modifyStats)(minion, minion, minion.attack, 0, input.playerBoard, input.playerEntity, input.gameState);
9
+ return true;
10
+ },
11
+ };
12
+ //# sourceMappingURL=hostility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostility.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/hostility.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAI3C,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,6BAA4D;IACrE,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Hostility (Dark Gift)\r\n * Start of Combat: Double this minion's Attack.\r\n */\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\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Hostility: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_HostilityToken_BG36_MidGameEffect_000t71],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tmodifyStats(minion, minion, minion.attack, 0, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const Invulnerability: StartOfCombatCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Invulnerability = void 0;
4
+ const UNLIMITED_CHARGES = 99999;
5
+ exports.Invulnerability = {
6
+ cardIds: ["BG36_MidGameEffect_000t60"],
7
+ startOfCombat: (minion, input) => {
8
+ minion.immuneWhenAttackCharges = UNLIMITED_CHARGES;
9
+ return false;
10
+ },
11
+ };
12
+ //# sourceMappingURL=invulnerability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invulnerability.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/invulnerability.ts"],"names":[],"mappings":";;;AAUA,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEnB,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,6BAAkE;IAC3E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,CAAC,uBAAuB,GAAG,iBAAiB,CAAC;QACnD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Invulnerability (Dark Gift)\r\n * Immune while attacking.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\n// Same value as the minions that natively have the keyword: it never runs out\r\nconst UNLIMITED_CHARGES = 99999;\r\n\r\nexport const Invulnerability: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_InvulnerabilityToken_BG36_MidGameEffect_000t60],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tminion.immuneWhenAttackCharges = UNLIMITED_CHARGES;\r\n\t\treturn false;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const JawsOfDeath: StartOfCombatCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JawsOfDeath = void 0;
4
+ const deathrattle_orchestration_1 = require("../../../simulation/deathrattle-orchestration");
5
+ const deathrattle_utils_1 = require("../../../simulation/deathrattle-utils");
6
+ exports.JawsOfDeath = {
7
+ cardIds: ["BG36_MidGameEffect_000t16"],
8
+ startOfCombat: (minion, input) => {
9
+ if (!(0, deathrattle_utils_1.hasValidDeathrattle)(minion, input.playerEntity, input.gameState)) {
10
+ return false;
11
+ }
12
+ const indexFromRight = input.playerBoard.length - (input.playerBoard.indexOf(minion) + 1);
13
+ (0, deathrattle_orchestration_1.processDeathrattleForMinion)(minion, indexFromRight, [minion], minion.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent, minion.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player, input.gameState, false);
14
+ return { hasTriggered: true, shouldRecomputeCurrentAttacker: true };
15
+ },
16
+ };
17
+ //# sourceMappingURL=jaws-of-death.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jaws-of-death.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/jaws-of-death.ts"],"names":[],"mappings":";;;AAKA,6FAA4F;AAC5F,6EAA4E;AAK/D,QAAA,WAAW,GAAsB;IAC7C,OAAO,EAAE,6BAA8D;IACvE,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,CAAC,IAAA,uCAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;YACtE,OAAO,KAAK,CAAC;SACb;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,IAAA,uDAA2B,EAC1B,MAAM,EACN,cAAc,EACd,CAAC,MAAM,CAAC,EACR,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EACvF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EACvF,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Jaws of Death (Dark Gift)\r\n * Start of Combat: Trigger this minion's Deathrattles.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const JawsOfDeath: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_JawsOfDeathToken_BG36_MidGameEffect_000t16],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (!hasValidDeathrattle(minion, input.playerEntity, input.gameState)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst indexFromRight = input.playerBoard.length - (input.playerBoard.indexOf(minion) + 1);\r\n\t\tprocessDeathrattleForMinion(\r\n\t\t\tminion,\r\n\t\t\tindexFromRight,\r\n\t\t\t[minion],\r\n\t\t\tminion.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\r\n\t\t\tminion.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\r\n\t\t\tinput.gameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const MysticEssence: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MysticEssence = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.MysticEssence = {
6
+ cardIds: ["BG36_MidGameEffect_000t5"],
7
+ deathrattleSpawnEnchantmentEffect: (_enchantment, _minion, input) => {
8
+ const spellId = input.gameState.cardsData.getRandomTavernSpell();
9
+ (0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, [spellId], input.gameState);
10
+ return [];
11
+ },
12
+ };
13
+ //# sourceMappingURL=mystic-essence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mystic-essence.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/mystic-essence.ts"],"names":[],"mappings":";;;AAKA,qEAAmE;AAKtD,QAAA,aAAa,GAAoC;IAC7D,OAAO,EAAE,4BAA+D;IACxE,iCAAiC,EAAE,CAClC,YAA8B,EAC9B,OAAoB,EACpB,KAAgC,EAC/B,EAAE;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACjE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Mystic Essence (Dark Gift)\r\n * Deathrattle: Get a random Tavern spell.\r\n */\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const MysticEssence: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [CardIds.DarkGifts_MysticEssenceToken_BG36_MidGameEffect_000t5],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\t_enchantment: BoardEnchantment,\r\n\t\t_minion: BoardEntity,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t) => {\r\n\t\tconst spellId = input.gameState.cardsData.getRandomTavernSpell();\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, [spellId], input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const OffensiveSacrifice: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OffensiveSacrifice = void 0;
4
+ const utils_1 = require("../../../services/utils");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ exports.OffensiveSacrifice = {
7
+ cardIds: ["BG36_MidGameEffect_000t"],
8
+ deathrattleSpawnEnchantmentEffect: (enchantment, minion, input) => {
9
+ var _a;
10
+ const buff = (_a = minion.maxAttack) !== null && _a !== void 0 ? _a : minion.attack;
11
+ const target = buff > 0 ? (0, utils_1.pickRandomAlive)(input.boardWithDeadEntity.filter((e) => e !== minion)) : null;
12
+ if (!!target) {
13
+ (0, stats_1.modifyStats)(target, minion, buff, 0, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
14
+ }
15
+ return [];
16
+ },
17
+ };
18
+ //# sourceMappingURL=offensive-sacrifice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offensive-sacrifice.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/offensive-sacrifice.ts"],"names":[],"mappings":";;;AAKA,mDAA0D;AAE1D,qDAAwD;AAI3C,QAAA,kBAAkB,GAAoC;IAClE,OAAO,EAAE,2BAAmE;IAC5E,iCAAiC,EAAE,CAClC,WAA6B,EAC7B,MAAmB,EACnB,KAAgC,EAC/B,EAAE;;QACH,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,MAAM,CAAC,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,IAAI,EACJ,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Offensive Sacrifice (Dark Gift)\r\n * Deathrattle: Give this minion's Attack to another friendly minion.\r\n */\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const OffensiveSacrifice: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [CardIds.DarkGifts_OffensiveSacrificeToken_BG36_MidGameEffect_000t],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tminion: BoardEntity,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t) => {\r\n\t\tconst buff = minion.maxAttack ?? minion.attack;\r\n\t\tconst target = buff > 0 ? pickRandomAlive(input.boardWithDeadEntity.filter((e) => e !== minion)) : null;\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\tbuff,\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"]}
@@ -0,0 +1,2 @@
1
+ import { BoardEntity } from '../../../board-entity';
2
+ export declare const hasPersistingHorror: (entity: BoardEntity) => boolean;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasPersistingHorror = void 0;
4
+ const hasPersistingHorror = (entity) => { var _a; return !!((_a = entity.enchantments) === null || _a === void 0 ? void 0 : _a.some((e) => e.cardId === "BG36_MidGameEffect_000t12")); };
5
+ exports.hasPersistingHorror = hasPersistingHorror;
6
+ //# sourceMappingURL=persisting-horror.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persisting-horror.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/persisting-horror.ts"],"names":[],"mappings":";;;AASO,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAW,EAAE,WACnE,OAAA,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,gCAAsE,CAAC,CAAA,CAAA,EAAA,CAAC;AADvG,QAAA,mBAAmB,uBACoF","sourcesContent":["/**\r\n * Persisting Horror (Dark Gift)\r\n * Reborn. Is Reborn with full stats and Bonus Keywords.\r\n *\r\n * Same reborn treatment as Sinrunner Blanchy, so `reborn.ts` reuses that builder for it.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const hasPersistingHorror = (entity: BoardEntity): boolean =>\r\n\t!!entity.enchantments?.some((e) => e.cardId === CardIds.DarkGifts_PersistingHorrorToken_BG36_MidGameEffect_000t12);\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const Resistance: StartOfCombatCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Resistance = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.Resistance = {
6
+ cardIds: ["BG36_MidGameEffect_000t7"],
7
+ startOfCombat: (minion, input) => {
8
+ (0, stats_1.modifyStats)(minion, minion, 0, minion.health, input.playerBoard, input.playerEntity, input.gameState);
9
+ return true;
10
+ },
11
+ };
12
+ //# sourceMappingURL=resistance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resistance.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/resistance.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAI3C,QAAA,UAAU,GAAsB;IAC5C,OAAO,EAAE,4BAA4D;IACrE,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Resistance (Dark Gift)\r\n * Start of Combat: Double this minion's Health.\r\n */\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\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Resistance: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_ResistanceToken_BG36_MidGameEffect_000t7],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tmodifyStats(minion, minion, 0, minion.health, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const TorethsBlessing: StartOfCombatCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TorethsBlessing = void 0;
4
+ const extraHits = 2;
5
+ exports.TorethsBlessing = {
6
+ cardIds: ["BG36_MidGameEffect_000t15"],
7
+ startOfCombat: (minion, input) => {
8
+ var _a;
9
+ minion.extraDivineShieldCharges = ((_a = minion.extraDivineShieldCharges) !== null && _a !== void 0 ? _a : 0) + extraHits;
10
+ return false;
11
+ },
12
+ };
13
+ //# sourceMappingURL=toreths-blessing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toreths-blessing.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/toreths-blessing.ts"],"names":[],"mappings":";;;AASA,MAAM,SAAS,GAAG,CAAC,CAAC;AAEP,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,6BAAkE;IAC3E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,CAAC,wBAAwB,GAAG,CAAC,MAAA,MAAM,CAAC,wBAAwB,mCAAI,CAAC,CAAC,GAAG,SAAS,CAAC;QACrF,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Toreth's Blessing (Dark Gift)\r\n * Divine Shield. This minion's Divine Shield takes 2 more hits to break.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nconst extraHits = 2;\r\n\r\nexport const TorethsBlessing: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_TorethsBlessingToken_BG36_MidGameEffect_000t15],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tminion.extraDivineShieldCharges = (minion.extraDivineShieldCharges ?? 0) + extraHits;\r\n\t\treturn false;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const Transcendence: StartOfCombatCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Transcendence = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.Transcendence = {
6
+ cardIds: ["BG36_MidGameEffect_000t81"],
7
+ startOfCombat: (minion, input) => {
8
+ (0, stats_1.modifyStats)(minion, minion, 2 * minion.attack, 2 * minion.health, input.playerBoard, input.playerEntity, input.gameState);
9
+ return true;
10
+ },
11
+ };
12
+ //# sourceMappingURL=transcendence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcendence.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/transcendence.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAI3C,QAAA,aAAa,GAAsB;IAC/C,OAAO,EAAE,6BAAgE;IACzE,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,MAAM,CAAC,MAAM,EACjB,CAAC,GAAG,MAAM,CAAC,MAAM,EACjB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Transcendence (Dark Gift)\r\n * Start of Combat: Triple this minion's stats.\r\n */\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\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const Transcendence: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DarkGifts_TranscendenceToken_BG36_MidGameEffect_000t81],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\t2 * minion.attack,\r\n\t\t\t2 * minion.health,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"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
+ {"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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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 +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';\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';\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"]}