@firestone-hs/simulate-bgs-battle 1.1.696 → 1.1.697

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 (339) hide show
  1. package/dist/src/bgs-player-entity.d.ts +4 -10
  2. package/dist/src/bgs-player-entity.js.map +1 -1
  3. package/dist/src/cards/card.interface.d.ts +21 -6
  4. package/dist/src/cards/card.interface.js +8 -1
  5. package/dist/src/cards/card.interface.js.map +1 -1
  6. package/dist/src/cards/cards-data.js +1 -12
  7. package/dist/src/cards/cards-data.js.map +1 -1
  8. package/dist/src/cards/impl/_card-mappings.js +152 -63
  9. package/dist/src/cards/impl/_card-mappings.js.map +1 -1
  10. package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.d.ts +2 -2
  11. package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.js +1 -8
  12. package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.js.map +1 -1
  13. package/dist/src/cards/impl/bg-spell/back-to-back.d.ts +2 -0
  14. package/dist/src/cards/impl/bg-spell/back-to-back.js +20 -0
  15. package/dist/src/cards/impl/bg-spell/back-to-back.js.map +1 -0
  16. package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-divine-shield.js +2 -3
  17. package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-divine-shield.js.map +1 -1
  18. package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-reborn.js +2 -3
  19. package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-reborn.js.map +1 -1
  20. package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-taunt.js +2 -3
  21. package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-taunt.js.map +1 -1
  22. package/dist/src/cards/impl/bg-spell/butchering.d.ts +2 -0
  23. package/dist/src/cards/impl/bg-spell/butchering.js +23 -0
  24. package/dist/src/cards/impl/bg-spell/butchering.js.map +1 -0
  25. package/dist/src/cards/impl/bg-spell/conflagration-bg352.js +7 -10
  26. package/dist/src/cards/impl/bg-spell/conflagration-bg352.js.map +1 -1
  27. package/dist/src/cards/impl/bg-spell/deepwater-clan.js +13 -9
  28. package/dist/src/cards/impl/bg-spell/deepwater-clan.js.map +1 -1
  29. package/dist/src/cards/impl/bg-spell/friendly-bounty.d.ts +2 -0
  30. package/dist/src/cards/impl/bg-spell/friendly-bounty.js +44 -0
  31. package/dist/src/cards/impl/bg-spell/friendly-bounty.js.map +1 -0
  32. package/dist/src/cards/impl/bg-spell/healthy-bounty.d.ts +2 -0
  33. package/dist/src/cards/impl/bg-spell/healthy-bounty.js +15 -0
  34. package/dist/src/cards/impl/bg-spell/healthy-bounty.js.map +1 -0
  35. package/dist/src/cards/impl/bg-spell/hostile-bounty.d.ts +2 -0
  36. package/dist/src/cards/impl/bg-spell/hostile-bounty.js +15 -0
  37. package/dist/src/cards/impl/bg-spell/hostile-bounty.js.map +1 -0
  38. package/dist/src/cards/impl/bg-spell/jailer-sticker-306.d.ts +2 -0
  39. package/dist/src/cards/impl/bg-spell/jailer-sticker-306.js +27 -0
  40. package/dist/src/cards/impl/bg-spell/jailer-sticker-306.js.map +1 -0
  41. package/dist/src/cards/impl/bg-spell/jailer-sticker-733.d.ts +2 -0
  42. package/dist/src/cards/impl/bg-spell/jailer-sticker-733.js +32 -0
  43. package/dist/src/cards/impl/bg-spell/jailer-sticker-733.js.map +1 -0
  44. package/dist/src/cards/impl/bg-spell/might-of-stormwind.d.ts +2 -0
  45. package/dist/src/cards/impl/bg-spell/might-of-stormwind.js +15 -0
  46. package/dist/src/cards/impl/bg-spell/might-of-stormwind.js.map +1 -0
  47. package/dist/src/cards/impl/bg-spell/natural-blessing.js +10 -0
  48. package/dist/src/cards/impl/bg-spell/natural-blessing.js.map +1 -1
  49. package/dist/src/cards/impl/bg-spell/ophidian-staff.d.ts +2 -0
  50. package/dist/src/cards/impl/bg-spell/ophidian-staff.js +20 -0
  51. package/dist/src/cards/impl/bg-spell/ophidian-staff.js.map +1 -0
  52. package/dist/src/cards/impl/bg-spell/queens-command.js +4 -4
  53. package/dist/src/cards/impl/bg-spell/queens-command.js.map +1 -1
  54. package/dist/src/cards/impl/bg-spell/selfish-bounty.d.ts +2 -0
  55. package/dist/src/cards/impl/bg-spell/selfish-bounty.js +14 -0
  56. package/dist/src/cards/impl/bg-spell/selfish-bounty.js.map +1 -0
  57. package/dist/src/cards/impl/minion/abyssal-bruiser.js +3 -4
  58. package/dist/src/cards/impl/minion/abyssal-bruiser.js.map +1 -1
  59. package/dist/src/cards/impl/minion/alert-alarmist.js +1 -2
  60. package/dist/src/cards/impl/minion/alert-alarmist.js.map +1 -1
  61. package/dist/src/cards/impl/minion/anubarak-nerubian-king.js +2 -4
  62. package/dist/src/cards/impl/minion/anubarak-nerubian-king.js.map +1 -1
  63. package/dist/src/cards/impl/minion/balinda-stonehearth.js +1 -2
  64. package/dist/src/cards/impl/minion/balinda-stonehearth.js.map +1 -1
  65. package/dist/src/cards/impl/minion/bg352-chromadrake-pool.js +5 -6
  66. package/dist/src/cards/impl/minion/bg352-chromadrake-pool.js.map +1 -1
  67. package/dist/src/cards/impl/minion/black-chromadrake.js +2 -3
  68. package/dist/src/cards/impl/minion/black-chromadrake.js.map +1 -1
  69. package/dist/src/cards/impl/minion/blue-chromadrake.js +2 -3
  70. package/dist/src/cards/impl/minion/blue-chromadrake.js.map +1 -1
  71. package/dist/src/cards/impl/minion/brazen-buccaneer.js +2 -3
  72. package/dist/src/cards/impl/minion/brazen-buccaneer.js.map +1 -1
  73. package/dist/src/cards/impl/minion/bristleback-bully.js +5 -6
  74. package/dist/src/cards/impl/minion/bristleback-bully.js.map +1 -1
  75. package/dist/src/cards/impl/minion/bronze-chromadrake.js +2 -3
  76. package/dist/src/cards/impl/minion/bronze-chromadrake.js.map +1 -1
  77. package/dist/src/cards/impl/minion/cataclysmic-harbinger.js +2 -3
  78. package/dist/src/cards/impl/minion/cataclysmic-harbinger.js.map +1 -1
  79. package/dist/src/cards/impl/minion/champion-of-the-primus.js +2 -4
  80. package/dist/src/cards/impl/minion/champion-of-the-primus.js.map +1 -1
  81. package/dist/src/cards/impl/minion/charging-czarina.js +4 -1
  82. package/dist/src/cards/impl/minion/charging-czarina.js.map +1 -1
  83. package/dist/src/cards/impl/minion/consummate-conqueror.js +1 -2
  84. package/dist/src/cards/impl/minion/consummate-conqueror.js.map +1 -1
  85. package/dist/src/cards/impl/minion/cousin-errgl.js +4 -5
  86. package/dist/src/cards/impl/minion/cousin-errgl.js.map +1 -1
  87. package/dist/src/cards/impl/minion/cruise-controller.js +3 -2
  88. package/dist/src/cards/impl/minion/cruise-controller.js.map +1 -1
  89. package/dist/src/cards/impl/minion/deepwater-chieftain.js +9 -10
  90. package/dist/src/cards/impl/minion/deepwater-chieftain.js.map +1 -1
  91. package/dist/src/cards/impl/minion/demon-fodder.js +1 -2
  92. package/dist/src/cards/impl/minion/demon-fodder.js.map +1 -1
  93. package/dist/src/cards/impl/minion/determined-defender.js +2 -3
  94. package/dist/src/cards/impl/minion/determined-defender.js.map +1 -1
  95. package/dist/src/cards/impl/minion/diremuck-forager.d.ts +2 -4
  96. package/dist/src/cards/impl/minion/diremuck-forager.js +3 -3
  97. package/dist/src/cards/impl/minion/diremuck-forager.js.map +1 -1
  98. package/dist/src/cards/impl/minion/draconic-warden.js +3 -4
  99. package/dist/src/cards/impl/minion/draconic-warden.js.map +1 -1
  100. package/dist/src/cards/impl/minion/dustbone-devastator.js +4 -6
  101. package/dist/src/cards/impl/minion/dustbone-devastator.js.map +1 -1
  102. package/dist/src/cards/impl/minion/earthsong-shaman.js +2 -3
  103. package/dist/src/cards/impl/minion/earthsong-shaman.js.map +1 -1
  104. package/dist/src/cards/impl/minion/egg-of-the-endtimes.js +1 -2
  105. package/dist/src/cards/impl/minion/egg-of-the-endtimes.js.map +1 -1
  106. package/dist/src/cards/impl/minion/enchanted-sentinel.js +2 -3
  107. package/dist/src/cards/impl/minion/enchanted-sentinel.js.map +1 -1
  108. package/dist/src/cards/impl/minion/falling-sky-golem.js +3 -4
  109. package/dist/src/cards/impl/minion/falling-sky-golem.js.map +1 -1
  110. package/dist/src/cards/impl/minion/firelands-fugitive.js +5 -6
  111. package/dist/src/cards/impl/minion/firelands-fugitive.js.map +1 -1
  112. package/dist/src/cards/impl/minion/forsaken-weaver.js +2 -1
  113. package/dist/src/cards/impl/minion/forsaken-weaver.js.map +1 -1
  114. package/dist/src/cards/impl/minion/gluttonous-trogg.js +1 -2
  115. package/dist/src/cards/impl/minion/gluttonous-trogg.js.map +1 -1
  116. package/dist/src/cards/impl/minion/goldrinn-the-great-wolf.js +2 -5
  117. package/dist/src/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -1
  118. package/dist/src/cards/impl/minion/green-chromadrake.js +2 -3
  119. package/dist/src/cards/impl/minion/green-chromadrake.js.map +1 -1
  120. package/dist/src/cards/impl/minion/hired-ritualist.js +1 -2
  121. package/dist/src/cards/impl/minion/hired-ritualist.js.map +1 -1
  122. package/dist/src/cards/impl/minion/hog-watcher.js +1 -2
  123. package/dist/src/cards/impl/minion/hog-watcher.js.map +1 -1
  124. package/dist/src/cards/impl/minion/humming-bird.js +2 -4
  125. package/dist/src/cards/impl/minion/humming-bird.js.map +1 -1
  126. package/dist/src/cards/impl/minion/incubation-researcher.js +2 -3
  127. package/dist/src/cards/impl/minion/incubation-researcher.js.map +1 -1
  128. package/dist/src/cards/impl/minion/laboratory-assistant.d.ts +2 -2
  129. package/dist/src/cards/impl/minion/laboratory-assistant.js +1 -5
  130. package/dist/src/cards/impl/minion/laboratory-assistant.js.map +1 -1
  131. package/dist/src/cards/impl/minion/leyline-surfacer.js +9 -10
  132. package/dist/src/cards/impl/minion/leyline-surfacer.js.map +1 -1
  133. package/dist/src/cards/impl/minion/living-azerite.d.ts +2 -2
  134. package/dist/src/cards/impl/minion/living-azerite.js +17 -0
  135. package/dist/src/cards/impl/minion/living-azerite.js.map +1 -1
  136. package/dist/src/cards/impl/minion/lurking-leviathan.js +2 -3
  137. package/dist/src/cards/impl/minion/lurking-leviathan.js.map +1 -1
  138. package/dist/src/cards/impl/minion/maelstrom-emergent.js +1 -2
  139. package/dist/src/cards/impl/minion/maelstrom-emergent.js.map +1 -1
  140. package/dist/src/cards/impl/minion/mama-mrrglton.js +2 -3
  141. package/dist/src/cards/impl/minion/mama-mrrglton.js.map +1 -1
  142. package/dist/src/cards/impl/minion/nalaa-the-redeemer.js +5 -1
  143. package/dist/src/cards/impl/minion/nalaa-the-redeemer.js.map +1 -1
  144. package/dist/src/cards/impl/minion/nerubian-deathswarmer.js +2 -6
  145. package/dist/src/cards/impl/minion/nerubian-deathswarmer.js.map +1 -1
  146. package/dist/src/cards/impl/minion/old-soul.js +1 -2
  147. package/dist/src/cards/impl/minion/old-soul.js.map +1 -1
  148. package/dist/src/cards/impl/minion/oranomonos-the-wilted.js +2 -4
  149. package/dist/src/cards/impl/minion/oranomonos-the-wilted.js.map +1 -1
  150. package/dist/src/cards/impl/minion/papa-mrrglton.js +2 -3
  151. package/dist/src/cards/impl/minion/papa-mrrglton.js.map +1 -1
  152. package/dist/src/cards/impl/minion/plaguerunner.js +4 -6
  153. package/dist/src/cards/impl/minion/plaguerunner.js.map +1 -1
  154. package/dist/src/cards/impl/minion/pufferquil.js +1 -2
  155. package/dist/src/cards/impl/minion/pufferquil.js.map +1 -1
  156. package/dist/src/cards/impl/minion/red-chromadrake.js +2 -3
  157. package/dist/src/cards/impl/minion/red-chromadrake.js.map +1 -1
  158. package/dist/src/cards/impl/minion/redtusk-thornraiser.js +5 -6
  159. package/dist/src/cards/impl/minion/redtusk-thornraiser.js.map +1 -1
  160. package/dist/src/cards/impl/minion/ring-bearer.js +2 -3
  161. package/dist/src/cards/impl/minion/ring-bearer.js.map +1 -1
  162. package/dist/src/cards/impl/minion/roving-sailor.js +2 -3
  163. package/dist/src/cards/impl/minion/roving-sailor.js.map +1 -1
  164. package/dist/src/cards/impl/minion/ruthless-queensguard.js +6 -7
  165. package/dist/src/cards/impl/minion/ruthless-queensguard.js.map +1 -1
  166. package/dist/src/cards/impl/minion/scarlet-survivor.js +1 -2
  167. package/dist/src/cards/impl/minion/scarlet-survivor.js.map +1 -1
  168. package/dist/src/cards/impl/minion/seafloor-recruiter.js +2 -3
  169. package/dist/src/cards/impl/minion/seafloor-recruiter.js.map +1 -1
  170. package/dist/src/cards/impl/minion/sewer-lord.js +2 -3
  171. package/dist/src/cards/impl/minion/sewer-lord.js.map +1 -1
  172. package/dist/src/cards/impl/minion/ship-jumper.js +2 -3
  173. package/dist/src/cards/impl/minion/ship-jumper.js.map +1 -1
  174. package/dist/src/cards/impl/minion/skeletal-strafer.js +3 -4
  175. package/dist/src/cards/impl/minion/skeletal-strafer.js.map +1 -1
  176. package/dist/src/cards/impl/minion/tide-raiser.js +2 -3
  177. package/dist/src/cards/impl/minion/tide-raiser.js.map +1 -1
  178. package/dist/src/cards/impl/minion/timewarped-caretaker.js +2 -4
  179. package/dist/src/cards/impl/minion/timewarped-caretaker.js.map +1 -1
  180. package/dist/src/cards/impl/minion/timewarped-deathswarmer.js +2 -5
  181. package/dist/src/cards/impl/minion/timewarped-deathswarmer.js.map +1 -1
  182. package/dist/src/cards/impl/minion/timewarped-goldrinn.js +3 -7
  183. package/dist/src/cards/impl/minion/timewarped-goldrinn.js.map +1 -1
  184. package/dist/src/cards/impl/minion/twisted-wrathguard.js +1 -2
  185. package/dist/src/cards/impl/minion/twisted-wrathguard.js.map +1 -1
  186. package/dist/src/cards/impl/minion/very-hungry-winterfinner.js +2 -3
  187. package/dist/src/cards/impl/minion/very-hungry-winterfinner.js.map +1 -1
  188. package/dist/src/cards/impl/minion/vinespeaker.js +2 -3
  189. package/dist/src/cards/impl/minion/vinespeaker.js.map +1 -1
  190. package/dist/src/cards/impl/minion/void-pup-trainer.js +1 -2
  191. package/dist/src/cards/impl/minion/void-pup-trainer.js.map +1 -1
  192. package/dist/src/cards/impl/minion/woodland-defiler.js +1 -2
  193. package/dist/src/cards/impl/minion/woodland-defiler.js.map +1 -1
  194. package/dist/src/cards/impl/minion/wyvern-outrider.js +1 -2
  195. package/dist/src/cards/impl/minion/wyvern-outrider.js.map +1 -1
  196. package/dist/src/cards/impl/trinket/archaic-scroll.d.ts +2 -0
  197. package/dist/src/cards/impl/trinket/archaic-scroll.js +21 -0
  198. package/dist/src/cards/impl/trinket/archaic-scroll.js.map +1 -0
  199. package/dist/src/cards/impl/trinket/artisanal-urn.js +2 -1
  200. package/dist/src/cards/impl/trinket/artisanal-urn.js.map +1 -1
  201. package/dist/src/cards/impl/trinket/bewitched-ribbon.d.ts +2 -0
  202. package/dist/src/cards/impl/trinket/bewitched-ribbon.js +15 -0
  203. package/dist/src/cards/impl/trinket/bewitched-ribbon.js.map +1 -0
  204. package/dist/src/cards/impl/trinket/blood-amulet.d.ts +2 -0
  205. package/dist/src/cards/impl/trinket/blood-amulet.js +15 -0
  206. package/dist/src/cards/impl/trinket/blood-amulet.js.map +1 -0
  207. package/dist/src/cards/impl/trinket/bloodbound-earrings.d.ts +2 -0
  208. package/dist/src/cards/impl/trinket/bloodbound-earrings.js +22 -0
  209. package/dist/src/cards/impl/trinket/bloodbound-earrings.js.map +1 -0
  210. package/dist/src/cards/impl/trinket/bluegill-flippers.d.ts +2 -0
  211. package/dist/src/cards/impl/trinket/bluegill-flippers.js +21 -0
  212. package/dist/src/cards/impl/trinket/bluegill-flippers.js.map +1 -0
  213. package/dist/src/cards/impl/trinket/bubble-crown.d.ts +2 -0
  214. package/dist/src/cards/impl/trinket/bubble-crown.js +18 -0
  215. package/dist/src/cards/impl/trinket/bubble-crown.js.map +1 -0
  216. package/dist/src/cards/impl/trinket/cloud-serpent-horn.d.ts +2 -0
  217. package/dist/src/cards/impl/trinket/cloud-serpent-horn.js +26 -0
  218. package/dist/src/cards/impl/trinket/cloud-serpent-horn.js.map +1 -0
  219. package/dist/src/cards/impl/trinket/comfy-coffin.d.ts +2 -0
  220. package/dist/src/cards/impl/trinket/comfy-coffin.js +12 -0
  221. package/dist/src/cards/impl/trinket/comfy-coffin.js.map +1 -0
  222. package/dist/src/cards/impl/trinket/copper-coil.d.ts +2 -0
  223. package/dist/src/cards/impl/trinket/copper-coil.js +15 -0
  224. package/dist/src/cards/impl/trinket/copper-coil.js.map +1 -0
  225. package/dist/src/cards/impl/trinket/coral-spear.d.ts +2 -0
  226. package/dist/src/cards/impl/trinket/coral-spear.js +22 -0
  227. package/dist/src/cards/impl/trinket/coral-spear.js.map +1 -0
  228. package/dist/src/cards/impl/trinket/dramaloc-sticker.d.ts +2 -0
  229. package/dist/src/cards/impl/trinket/dramaloc-sticker.js +36 -0
  230. package/dist/src/cards/impl/trinket/dramaloc-sticker.js.map +1 -0
  231. package/dist/src/cards/impl/trinket/fang-anklet.d.ts +2 -0
  232. package/dist/src/cards/impl/trinket/fang-anklet.js +30 -0
  233. package/dist/src/cards/impl/trinket/fang-anklet.js.map +1 -0
  234. package/dist/src/cards/impl/trinket/felburned-ledger.d.ts +2 -0
  235. package/dist/src/cards/impl/trinket/felburned-ledger.js +12 -0
  236. package/dist/src/cards/impl/trinket/felburned-ledger.js.map +1 -0
  237. package/dist/src/cards/impl/trinket/fridge-magnet.d.ts +2 -0
  238. package/dist/src/cards/impl/trinket/fridge-magnet.js +13 -0
  239. package/dist/src/cards/impl/trinket/fridge-magnet.js.map +1 -0
  240. package/dist/src/cards/impl/trinket/gilnean-thorned-rose.d.ts +2 -0
  241. package/dist/src/cards/impl/trinket/gilnean-thorned-rose.js +19 -0
  242. package/dist/src/cards/impl/trinket/gilnean-thorned-rose.js.map +1 -0
  243. package/dist/src/cards/impl/trinket/glowscale-portrait.d.ts +2 -0
  244. package/dist/src/cards/impl/trinket/glowscale-portrait.js +21 -0
  245. package/dist/src/cards/impl/trinket/glowscale-portrait.js.map +1 -0
  246. package/dist/src/cards/impl/trinket/heart-of-the-forest.d.ts +2 -0
  247. package/dist/src/cards/impl/trinket/heart-of-the-forest.js +17 -0
  248. package/dist/src/cards/impl/trinket/heart-of-the-forest.js.map +1 -0
  249. package/dist/src/cards/impl/trinket/jar-o-gems.d.ts +2 -0
  250. package/dist/src/cards/impl/trinket/jar-o-gems.js +23 -0
  251. package/dist/src/cards/impl/trinket/jar-o-gems.js.map +1 -0
  252. package/dist/src/cards/impl/trinket/lorewalker-scroll.d.ts +2 -0
  253. package/dist/src/cards/impl/trinket/lorewalker-scroll.js +22 -0
  254. package/dist/src/cards/impl/trinket/lorewalker-scroll.js.map +1 -0
  255. package/dist/src/cards/impl/trinket/miniature-ship.d.ts +2 -0
  256. package/dist/src/cards/impl/trinket/miniature-ship.js +19 -0
  257. package/dist/src/cards/impl/trinket/miniature-ship.js.map +1 -0
  258. package/dist/src/cards/impl/trinket/powder-keg-enchantment.d.ts +2 -0
  259. package/dist/src/cards/impl/trinket/powder-keg-enchantment.js +16 -0
  260. package/dist/src/cards/impl/trinket/powder-keg-enchantment.js.map +1 -0
  261. package/dist/src/cards/impl/trinket/powder-keg.d.ts +2 -0
  262. package/dist/src/cards/impl/trinket/powder-keg.js +23 -0
  263. package/dist/src/cards/impl/trinket/powder-keg.js.map +1 -0
  264. package/dist/src/cards/impl/trinket/protective-ring.d.ts +2 -0
  265. package/dist/src/cards/impl/trinket/protective-ring.js +19 -0
  266. package/dist/src/cards/impl/trinket/protective-ring.js.map +1 -0
  267. package/dist/src/cards/impl/trinket/quilligraphy-set.d.ts +3 -0
  268. package/dist/src/cards/impl/trinket/quilligraphy-set.js +19 -0
  269. package/dist/src/cards/impl/trinket/quilligraphy-set.js.map +1 -0
  270. package/dist/src/cards/impl/trinket/reinforced-shield.d.ts +2 -0
  271. package/dist/src/cards/impl/trinket/reinforced-shield.js +15 -0
  272. package/dist/src/cards/impl/trinket/reinforced-shield.js.map +1 -0
  273. package/dist/src/cards/impl/trinket/slamma-sticker.d.ts +2 -0
  274. package/dist/src/cards/impl/trinket/slamma-sticker.js +18 -0
  275. package/dist/src/cards/impl/trinket/slamma-sticker.js.map +1 -0
  276. package/dist/src/cards/impl/trinket/stegodon-portrait.d.ts +2 -0
  277. package/dist/src/cards/impl/trinket/stegodon-portrait.js +19 -0
  278. package/dist/src/cards/impl/trinket/stegodon-portrait.js.map +1 -0
  279. package/dist/src/cards/impl/trinket/tarecgosa-sticker.d.ts +2 -0
  280. package/dist/src/cards/impl/trinket/tarecgosa-sticker.js +7 -0
  281. package/dist/src/cards/impl/trinket/tarecgosa-sticker.js.map +1 -0
  282. package/dist/src/cards/impl/trinket/thornspike-pauldron.d.ts +2 -0
  283. package/dist/src/cards/impl/trinket/thornspike-pauldron.js +11 -0
  284. package/dist/src/cards/impl/trinket/thornspike-pauldron.js.map +1 -0
  285. package/dist/src/cards/impl/trinket/tide-raiser-portrait.d.ts +2 -0
  286. package/dist/src/cards/impl/trinket/tide-raiser-portrait.js +16 -0
  287. package/dist/src/cards/impl/trinket/tide-raiser-portrait.js.map +1 -0
  288. package/dist/src/cards/impl/trinket/tiger-carving-token.d.ts +2 -0
  289. package/dist/src/cards/impl/trinket/tiger-carving-token.js +16 -0
  290. package/dist/src/cards/impl/trinket/tiger-carving-token.js.map +1 -0
  291. package/dist/src/cards/impl/trinket/trusty-crowbar.d.ts +2 -0
  292. package/dist/src/cards/impl/trinket/trusty-crowbar.js +19 -0
  293. package/dist/src/cards/impl/trinket/trusty-crowbar.js.map +1 -0
  294. package/dist/src/cards/impl/trinket/unholy-sanctum.js +1 -1
  295. package/dist/src/cards/impl/trinket/unholy-sanctum.js.map +1 -1
  296. package/dist/src/cards/impl/trinket/wicked-tome.d.ts +2 -0
  297. package/dist/src/cards/impl/trinket/wicked-tome.js +13 -0
  298. package/dist/src/cards/impl/trinket/wicked-tome.js.map +1 -0
  299. package/dist/src/cards/impl/trinket/wildfeather-duster.d.ts +2 -0
  300. package/dist/src/cards/impl/trinket/wildfeather-duster.js +25 -0
  301. package/dist/src/cards/impl/trinket/wildfeather-duster.js.map +1 -0
  302. package/dist/src/mechanics/cast-tavern-spell.js +13 -0
  303. package/dist/src/mechanics/cast-tavern-spell.js.map +1 -1
  304. package/dist/src/mechanics/tavern-spell-repeat.js +4 -5
  305. package/dist/src/mechanics/tavern-spell-repeat.js.map +1 -1
  306. package/dist/src/services/card-ids.d.ts +724 -5
  307. package/dist/src/services/card-ids.js.map +1 -1
  308. package/dist/src/simulation/add-minion-to-board.d.ts +8 -0
  309. package/dist/src/simulation/add-minion-to-board.js +28 -18
  310. package/dist/src/simulation/add-minion-to-board.js.map +1 -1
  311. package/dist/src/simulation/after-attack.js +14 -14
  312. package/dist/src/simulation/after-attack.js.map +1 -1
  313. package/dist/src/simulation/auras.js +6 -1
  314. package/dist/src/simulation/auras.js.map +1 -1
  315. package/dist/src/simulation/avenge.js +0 -18
  316. package/dist/src/simulation/avenge.js.map +1 -1
  317. package/dist/src/simulation/blood-gems.d.ts +1 -0
  318. package/dist/src/simulation/blood-gems.js +11 -1
  319. package/dist/src/simulation/blood-gems.js.map +1 -1
  320. package/dist/src/simulation/cards-in-hand.js +14 -4
  321. package/dist/src/simulation/cards-in-hand.js.map +1 -1
  322. package/dist/src/simulation/damage-effects.d.ts +6 -0
  323. package/dist/src/simulation/damage-effects.js +11 -9
  324. package/dist/src/simulation/damage-effects.js.map +1 -1
  325. package/dist/src/simulation/damage-to-hero.js +12 -0
  326. package/dist/src/simulation/damage-to-hero.js.map +1 -1
  327. package/dist/src/simulation/death-effects.js +25 -2
  328. package/dist/src/simulation/death-effects.js.map +1 -1
  329. package/dist/src/simulation/global-info-helpers.d.ts +7 -0
  330. package/dist/src/simulation/global-info-helpers.js +25 -0
  331. package/dist/src/simulation/global-info-helpers.js.map +1 -0
  332. package/dist/src/simulation/magnetize.js +28 -1
  333. package/dist/src/simulation/magnetize.js.map +1 -1
  334. package/dist/src/simulation/start-of-combat/soc-action-processor.js +0 -4
  335. package/dist/src/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  336. package/dist/src/temp-card-ids.d.ts +1 -118
  337. package/dist/src/temp-card-ids.js +1 -118
  338. package/dist/src/temp-card-ids.js.map +1 -1
  339. package/package.json +1 -1
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.chromadrakeCardIds = void 0;
4
- const temp_card_ids_1 = require("../../../temp-card-ids");
5
4
  exports.chromadrakeCardIds = [
6
- temp_card_ids_1.TempCardIds.BlueChromadrake,
7
- temp_card_ids_1.TempCardIds.BlackChromadrake,
8
- temp_card_ids_1.TempCardIds.GreenChromadrake,
9
- temp_card_ids_1.TempCardIds.BronzeChromadrake,
10
- temp_card_ids_1.TempCardIds.RedChromadrake,
5
+ "BG34_634",
6
+ "BG34_635",
7
+ "BG34_636",
8
+ "BG34_637",
9
+ "BG34_638",
11
10
  ];
12
11
  //# sourceMappingURL=bg352-chromadrake-pool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bg352-chromadrake-pool.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/bg352-chromadrake-pool.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AAGxC,QAAA,kBAAkB,GAAsB;IACpD,2BAAW,CAAC,eAAe;IAC3B,2BAAW,CAAC,gBAAgB;IAC5B,2BAAW,CAAC,gBAAgB;IAC5B,2BAAW,CAAC,iBAAiB;IAC7B,2BAAW,CAAC,cAAc;CAC1B,CAAC","sourcesContent":["import { TempCardIds } from '../../../temp-card-ids';\r\n\r\n/** Random Chromadrake outcomes for Incubation Researcher / Draconic Warden. */\r\nexport const chromadrakeCardIds: readonly string[] = [\r\n\tTempCardIds.BlueChromadrake,\r\n\tTempCardIds.BlackChromadrake,\r\n\tTempCardIds.GreenChromadrake,\r\n\tTempCardIds.BronzeChromadrake,\r\n\tTempCardIds.RedChromadrake,\r\n];\r\n"]}
1
+ {"version":3,"file":"bg352-chromadrake-pool.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/bg352-chromadrake-pool.ts"],"names":[],"mappings":";;;AAGa,QAAA,kBAAkB,GAAsB;;;;;;CAMpD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\n\r\n/** Random Chromadrake outcomes for Incubation Researcher / Draconic Warden. */\r\nexport const chromadrakeCardIds: readonly string[] = [\r\n\tCardIds.BlueChromadrake_BG34_634,\r\n\tCardIds.BlackChromadrake_BG34_635,\r\n\tCardIds.GreenChromadrake_BG34_636,\r\n\tCardIds.BronzeChromadrake_BG34_637,\r\n\tCardIds.RedChromadrake_BG34_638,\r\n];\r\n"]}
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BlackChromadrake = void 0;
4
- const temp_card_ids_1 = require("../../../temp-card-ids");
5
4
  exports.BlackChromadrake = {
6
- cardIds: [temp_card_ids_1.TempCardIds.BlackChromadrake, temp_card_ids_1.TempCardIds.BlackChromadrake_G],
5
+ cardIds: ["BG34_635", "BG34_635_G"],
7
6
  battlecry: (minion, input) => {
8
7
  var _a;
9
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.BlackChromadrake_G ? 2 : 1;
8
+ const mult = minion.cardId === "BG34_635_G" ? 2 : 1;
10
9
  input.hero.globalInfo.TavernSpellHealthBuff = ((_a = input.hero.globalInfo.TavernSpellHealthBuff) !== null && _a !== void 0 ? _a : 0) + 1 * mult;
11
10
  return true;
12
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"black-chromadrake.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/black-chromadrake.ts"],"names":[],"mappings":";;;AAEA,0DAAqD;AAGxC,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,CAAC,2BAAW,CAAC,gBAAgB,EAAE,2BAAW,CAAC,kBAAkB,CAAC;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5G,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const BlackChromadrake: BattlecryCard = {\r\n\tcardIds: [TempCardIds.BlackChromadrake, TempCardIds.BlackChromadrake_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.BlackChromadrake_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff = (input.hero.globalInfo.TavernSpellHealthBuff ?? 0) + 1 * mult;\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"black-chromadrake.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/black-chromadrake.ts"],"names":[],"mappings":";;;AAKa,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5G,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const BlackChromadrake: BattlecryCard = {\r\n\tcardIds: [CardIds.BlackChromadrake_BG34_635, CardIds.BlackChromadrake_BG34_635_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BlackChromadrake_BG34_635_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff = (input.hero.globalInfo.TavernSpellHealthBuff ?? 0) + 1 * mult;\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -3,11 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BlueChromadrake = void 0;
4
4
  const utils_1 = require("../../../services/utils");
5
5
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
6
- const temp_card_ids_1 = require("../../../temp-card-ids");
7
6
  exports.BlueChromadrake = {
8
- cardIds: [temp_card_ids_1.TempCardIds.BlueChromadrake, temp_card_ids_1.TempCardIds.BlueChromadrake_G],
7
+ cardIds: ["BG34_634", "BG34_634_G"],
9
8
  battlecry: (minion, input) => {
10
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.BlueChromadrake_G ? 2 : 1;
9
+ const mult = minion.cardId === "BG34_634_G" ? 2 : 1;
11
10
  const pool = input.gameState.cardsData.getTwoCostBattlegroundsSpellIdsImplemented();
12
11
  for (let i = 0; i < mult; i++) {
13
12
  const id = (0, utils_1.pickRandom)(pool);
@@ -1 +1 @@
1
- {"version":3,"file":"blue-chromadrake.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/blue-chromadrake.ts"],"names":[],"mappings":";;;AACA,mDAAqD;AAErD,qEAAmE;AACnE,0DAAqD;AAGxC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,CAAC,2BAAW,CAAC,eAAe,EAAE,2BAAW,CAAC,iBAAiB,CAAC;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,0CAA0C,EAAE,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,EAAE,EAAE;gBACP,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC/D;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const BlueChromadrake: BattlecryCard = {\r\n\tcardIds: [TempCardIds.BlueChromadrake, TempCardIds.BlueChromadrake_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.BlueChromadrake_G ? 2 : 1;\r\n\t\tconst pool = input.gameState.cardsData.getTwoCostBattlegroundsSpellIdsImplemented();\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst id = pickRandom(pool);\r\n\t\t\tif (id) {\r\n\t\t\t\taddCardsInHand(input.hero, input.board, [id], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"blue-chromadrake.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/blue-chromadrake.ts"],"names":[],"mappings":";;;AACA,mDAAqD;AAErD,qEAAmE;AAItD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,0CAA0C,EAAE,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,EAAE,EAAE;gBACP,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC/D;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const BlueChromadrake: BattlecryCard = {\r\n\tcardIds: [CardIds.BlueChromadrake_BG34_634, CardIds.BlueChromadrake_BG34_634_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BlueChromadrake_BG34_634_G ? 2 : 1;\r\n\t\tconst pool = input.gameState.cardsData.getTwoCostBattlegroundsSpellIdsImplemented();\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst id = pickRandom(pool);\r\n\t\t\tif (id) {\r\n\t\t\t\taddCardsInHand(input.hero, input.board, [id], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -3,13 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BrazenBuccaneer = void 0;
4
4
  const reference_data_1 = require("@firestone-hs/reference-data");
5
5
  const stats_1 = require("../../../simulation/stats");
6
- const temp_card_ids_1 = require("../../../temp-card-ids");
7
6
  const utils_1 = require("../../../utils");
8
7
  exports.BrazenBuccaneer = {
9
- cardIds: [temp_card_ids_1.TempCardIds.BrazenBuccaneer, temp_card_ids_1.TempCardIds.BrazenBuccaneer_G],
8
+ cardIds: ["BG35_701", "BG35_701_G"],
10
9
  endOfTurn: (minion, input) => {
11
10
  var _a;
12
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.BrazenBuccaneer_G ? 2 : 1;
11
+ const mult = minion.cardId === "BG35_701_G" ? 2 : 1;
13
12
  const pirate = input.board.find((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards));
14
13
  if (!pirate) {
15
14
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"brazen-buccaneer.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/brazen-buccaneer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAAwD;AACxD,0DAAqD;AACrD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,CAAC,2BAAW,CAAC,eAAe,EAAE,2BAAW,CAAC,iBAAiB,CAAC;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACF,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,IAAI,CAAC;SACZ;QACD,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,mCAAI,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YACjC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BrazenBuccaneer: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.BrazenBuccaneer, TempCardIds.BrazenBuccaneer_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.BrazenBuccaneer_G ? 2 : 1;\r\n\t\tconst pirate = input.board.find((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tif (!pirate) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconst cardsPlayed = input.hero.globalInfo.CardsPlayedThisTurn ?? 0;\r\n\t\tconst repeats = 1 + cardsPlayed;\r\n\t\tfor (let i = 0; i < repeats; i++) {\r\n\t\t\tmodifyStats(pirate, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"brazen-buccaneer.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/brazen-buccaneer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAAwD;AAExD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACF,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,IAAI,CAAC;SACZ;QACD,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,mCAAI,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YACjC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BrazenBuccaneer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BrazenBuccaneer_BG35_701, CardIds.BrazenBuccaneer_BG35_701_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BrazenBuccaneer_BG35_701_G ? 2 : 1;\r\n\t\tconst pirate = input.board.find((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tif (!pirate) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconst cardsPlayed = input.hero.globalInfo.CardsPlayedThisTurn ?? 0;\r\n\t\tconst repeats = 1 + cardsPlayed;\r\n\t\tfor (let i = 0; i < repeats; i++) {\r\n\t\t\tmodifyStats(pirate, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BristlebackBully = void 0;
4
4
  const taunt_1 = require("../../../keywords/taunt");
5
- const temp_card_ids_1 = require("../../../temp-card-ids");
6
5
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
7
6
  exports.BristlebackBully = {
8
- cardIds: [temp_card_ids_1.TempCardIds.BristlebackBully, temp_card_ids_1.TempCardIds.BristlebackBully_G],
7
+ cardIds: ["BG35_432", "BG35_432_G"],
9
8
  onSpawned: (minion, input) => {
10
9
  if (!minion.taunt) {
11
10
  const otherHero = input.gameState.gameState.player.player === input.hero
@@ -15,10 +14,10 @@ exports.BristlebackBully = {
15
14
  }
16
15
  },
17
16
  deathrattleSpawn: (minion, input) => {
18
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.BristlebackBully_G ? 2 : 1;
19
- const gem = minion.cardId === temp_card_ids_1.TempCardIds.BristlebackBully_G
20
- ? temp_card_ids_1.TempCardIds.BloodGemQuilboarTaunt_G
21
- : temp_card_ids_1.TempCardIds.BloodGemQuilboarTaunt;
17
+ const mult = minion.cardId === "BG35_432_G" ? 2 : 1;
18
+ const gem = minion.cardId === "BG35_432_G"
19
+ ? "BG20_GEM_Taunt_G"
20
+ : "BG20_GEM_Taunt";
22
21
  (0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, Array(mult).fill(gem), input.gameState);
23
22
  return [];
24
23
  },
@@ -1 +1 @@
1
- {"version":3,"file":"bristleback-bully.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/bristleback-bully.ts"],"names":[],"mappings":";;;AACA,mDAAsD;AACtD,0DAAqD;AAErD,qEAAmE;AAItD,QAAA,gBAAgB,GAAyC;IACrE,OAAO,EAAE,CAAC,2BAAW,CAAC,gBAAgB,EAAE,2BAAW,CAAC,kBAAkB,CAAC;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAClB,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;gBACrD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/E;IACF,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,kBAAkB;YAC3D,CAAC,CAAC,2BAAW,CAAC,uBAAuB;YACrC,CAAC,CAAC,2BAAW,CAAC,qBAAqB,CAAC;QACrC,IAAA,8BAAc,EACb,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACrB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const BristlebackBully: DeathrattleSpawnCard & OnSpawnedCard = {\r\n\tcardIds: [TempCardIds.BristlebackBully, TempCardIds.BristlebackBully_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tif (!minion.taunt) {\r\n\t\t\tconst otherHero =\r\n\t\t\t\tinput.gameState.gameState.player.player === input.hero\r\n\t\t\t\t\t? input.gameState.gameState.opponent.player\r\n\t\t\t\t\t: input.gameState.gameState.player.player;\r\n\t\t\tupdateTaunt(minion, true, input.board, input.hero, otherHero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === TempCardIds.BristlebackBully_G ? 2 : 1;\r\n\t\tconst gem = minion.cardId === TempCardIds.BristlebackBully_G\r\n\t\t\t? TempCardIds.BloodGemQuilboarTaunt_G\r\n\t\t\t: TempCardIds.BloodGemQuilboarTaunt;\r\n\t\taddCardsInHand(\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tArray(mult).fill(gem),\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bristleback-bully.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/bristleback-bully.ts"],"names":[],"mappings":";;;AACA,mDAAsD;AAGtD,qEAAmE;AAItD,QAAA,gBAAgB,GAAyC;IACrE,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAClB,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;gBACrD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/E;IACF,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAwC;YAChE,CAAC;YACD,CAAC,iBAAqC,CAAC;QACxC,IAAA,8BAAc,EACb,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACrB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const BristlebackBully: DeathrattleSpawnCard & OnSpawnedCard = {\r\n\tcardIds: [CardIds.BristlebackBully_BG35_432, CardIds.BristlebackBully_BG35_432_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tif (!minion.taunt) {\r\n\t\t\tconst otherHero =\r\n\t\t\t\tinput.gameState.gameState.player.player === input.hero\r\n\t\t\t\t\t? input.gameState.gameState.opponent.player\r\n\t\t\t\t\t: input.gameState.gameState.player.player;\r\n\t\t\tupdateTaunt(minion, true, input.board, input.hero, otherHero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.BristlebackBully_BG35_432_G ? 2 : 1;\r\n\t\tconst gem = minion.cardId === CardIds.BristlebackBully_BG35_432_G\r\n\t\t\t? CardIds.BloodGemToken_BG20_GEM_Taunt_G\r\n\t\t\t: CardIds.BloodGemToken_BG20_GEM_Taunt;\r\n\t\taddCardsInHand(\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tArray(mult).fill(gem),\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -3,12 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BronzeChromadrake = void 0;
4
4
  const reference_data_1 = require("@firestone-hs/reference-data");
5
5
  const stats_1 = require("../../../simulation/stats");
6
- const temp_card_ids_1 = require("../../../temp-card-ids");
7
6
  const utils_1 = require("../../../utils");
8
7
  exports.BronzeChromadrake = {
9
- cardIds: [temp_card_ids_1.TempCardIds.BronzeChromadrake, temp_card_ids_1.TempCardIds.BronzeChromadrake_G],
8
+ cardIds: ["BG34_637", "BG34_637_G"],
10
9
  battlecry: (minion, input) => {
11
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.BronzeChromadrake_G ? 2 : 1;
10
+ const mult = minion.cardId === "BG34_637_G" ? 2 : 1;
12
11
  const stats = 5 * mult;
13
12
  for (const e of input.board) {
14
13
  if (e.entityId === minion.entityId) {
@@ -1 +1 @@
1
- {"version":3,"file":"bronze-chromadrake.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/bronze-chromadrake.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AACxD,0DAAqD;AACrD,0CAAiD;AAGpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,CAAC,2BAAW,CAAC,iBAAiB,EAAE,2BAAW,CAAC,mBAAmB,CAAC;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE;gBACnC,SAAS;aACT;YACD,IAAI,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACrG,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC3E;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const BronzeChromadrake: BattlecryCard = {\r\n\tcardIds: [TempCardIds.BronzeChromadrake, TempCardIds.BronzeChromadrake_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.BronzeChromadrake_G ? 2 : 1;\r\n\t\tconst stats = 5 * mult;\r\n\t\tfor (const e of input.board) {\r\n\t\t\tif (e.entityId === minion.entityId) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (hasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(e, minion, stats, 0, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bronze-chromadrake.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/bronze-chromadrake.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AAExD,0CAAiD;AAGpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE;gBACnC,SAAS;aACT;YACD,IAAI,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACrG,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC3E;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const BronzeChromadrake: BattlecryCard = {\r\n\tcardIds: [CardIds.BronzeChromadrake_BG34_637, CardIds.BronzeChromadrake_BG34_637_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeChromadrake_BG34_637_G ? 2 : 1;\r\n\t\tconst stats = 5 * mult;\r\n\t\tfor (const e of input.board) {\r\n\t\t\tif (e.entityId === minion.entityId) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (hasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(e, minion, stats, 0, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CataclysmicHarbinger = void 0;
4
4
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
- const temp_card_ids_1 = require("../../../temp-card-ids");
6
5
  exports.CataclysmicHarbinger = {
7
- cardIds: [temp_card_ids_1.TempCardIds.CataclysmicHarbinger, temp_card_ids_1.TempCardIds.CataclysmicHarbinger_G],
6
+ cardIds: ["BG35_123", "BG35_123_G"],
8
7
  endOfTurn: (minion, input) => {
9
8
  var _a;
10
9
  const spellId = (_a = input.hero.globalInfo.LastTavernSpellCardId) !== null && _a !== void 0 ? _a : input.gameState.cardsData.getRandomTavernSpell();
11
- const copies = minion.cardId === temp_card_ids_1.TempCardIds.CataclysmicHarbinger_G ? 2 : 1;
10
+ const copies = minion.cardId === "BG35_123_G" ? 2 : 1;
12
11
  (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, Array(copies).fill(spellId), input.gameState);
13
12
  },
14
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cataclysmic-harbinger.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/cataclysmic-harbinger.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AACnE,0DAAqD;AAOxC,QAAA,oBAAoB,GAAkB;IAClD,OAAO,EAAE,CAAC,2BAAW,CAAC,oBAAoB,EAAE,2BAAW,CAAC,sBAAsB,CAAC;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAEzD,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAChH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\n/**\r\n * At end of your turn, add a copy of the last Tavern spell you cast.\r\n * `LastTavernSpellCardId` is set in mechanics/cast-tavern-spell.ts when you cast from hand/hero.\r\n */\r\nexport const CataclysmicHarbinger: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.CataclysmicHarbinger, TempCardIds.CataclysmicHarbinger_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\t// This will be null if the last spell was cast in the shop phase\r\n\t\tconst spellId = input.hero.globalInfo.LastTavernSpellCardId ?? input.gameState.cardsData.getRandomTavernSpell();\r\n\t\tconst copies = minion.cardId === TempCardIds.CataclysmicHarbinger_G ? 2 : 1;\r\n\t\taddCardsInHand(input.hero, input.board, Array(copies).fill(spellId), input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"cataclysmic-harbinger.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/cataclysmic-harbinger.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAQtD,QAAA,oBAAoB,GAAkB;IAClD,OAAO,EAAE,0BAAgF;IACzF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAEzD,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAChH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\n/**\r\n * At end of your turn, add a copy of the last Tavern spell you cast.\r\n * `LastTavernSpellCardId` is set in mechanics/cast-tavern-spell.ts when you cast from hand/hero.\r\n */\r\nexport const CataclysmicHarbinger: EndOfTurnCard = {\r\n\tcardIds: [CardIds.CataclysmicHarbinger_BG35_123, CardIds.CataclysmicHarbinger_BG35_123_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\t// This will be null if the last spell was cast in the shop phase\r\n\t\tconst spellId = input.hero.globalInfo.LastTavernSpellCardId ?? input.gameState.cardsData.getRandomTavernSpell();\r\n\t\tconst copies = minion.cardId === CardIds.CataclysmicHarbinger_BG35_123_G ? 2 : 1;\r\n\t\taddCardsInHand(input.hero, input.board, Array(copies).fill(spellId), input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ChampionOfThePrimus = void 0;
4
- const reference_data_1 = require("@firestone-hs/reference-data");
5
- const utils_1 = require("../../../utils");
4
+ const global_info_helpers_1 = require("../../../simulation/global-info-helpers");
6
5
  exports.ChampionOfThePrimus = {
7
6
  cardIds: ["BG27_029", "BG27_029_G"],
8
7
  baseAvengeValue: (cardId) => 2,
9
8
  avenge: (minion, input) => {
10
9
  const championPrimusStat = minion.cardId === "BG27_029_G" ? 2 : 1;
11
- input.hero.globalInfo.UndeadAttackBonus += championPrimusStat;
12
- (0, utils_1.addStatsToBoard)(minion, input.board, input.hero, championPrimusStat, 0, input.gameState, reference_data_1.Race[reference_data_1.Race.UNDEAD], false);
10
+ (0, global_info_helpers_1.increaseUndeadAttackBonus)(minion, input.board, input.hero, championPrimusStat, input.gameState);
13
11
  },
14
12
  };
15
13
  //# sourceMappingURL=champion-of-the-primus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"champion-of-the-primus.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/champion-of-the-primus.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,0CAAiD;AAGpC,QAAA,mBAAmB,GAAe;IAC9C,OAAO,EAAE,0BAA8E;IACvF,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,kBAAkB,CAAC;QAC9D,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,kBAAkB,EAClB,CAAC,EACD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,EACjB,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const ChampionOfThePrimus: AvengeCard = {\r\n\tcardIds: [CardIds.ChampionOfThePrimus_BG27_029, CardIds.ChampionOfThePrimus_BG27_029_G],\r\n\tbaseAvengeValue: (cardId: string) => 2,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst championPrimusStat = minion.cardId === CardIds.ChampionOfThePrimus_BG27_029_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.UndeadAttackBonus += championPrimusStat;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tchampionPrimusStat,\r\n\t\t\t0,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.UNDEAD],\r\n\t\t\tfalse,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"champion-of-the-primus.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/champion-of-the-primus.ts"],"names":[],"mappings":";;;AAGA,iFAAoF;AAGvE,QAAA,mBAAmB,GAAe;IAC9C,OAAO,EAAE,0BAA8E;IACvF,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAA,+CAAyB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjG,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { increaseUndeadAttackBonus } from '../../../simulation/global-info-helpers';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const ChampionOfThePrimus: AvengeCard = {\r\n\tcardIds: [CardIds.ChampionOfThePrimus_BG27_029, CardIds.ChampionOfThePrimus_BG27_029_G],\r\n\tbaseAvengeValue: (cardId: string) => 2,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst championPrimusStat = minion.cardId === CardIds.ChampionOfThePrimus_BG27_029_G ? 2 : 1;\r\n\t\tincreaseUndeadAttackBonus(minion, input.board, input.hero, championPrimusStat, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -5,10 +5,13 @@ const stats_1 = require("../../../simulation/stats");
5
5
  exports.ChargingCzarina = {
6
6
  cardIds: ["BG28_741", "BG28_741_G"],
7
7
  onTavernSpellCast: (entity, input) => {
8
+ var _a;
8
9
  const mult = entity.cardId === "BG28_741_G" ? 2 : 1;
10
+ const hasPortrait = (_a = input.hero.trinkets) === null || _a === void 0 ? void 0 : _a.some((t) => t.cardId === "BG32_MagicItem_283");
11
+ const healthBuff = hasPortrait ? 3 * mult : 0;
9
12
  const targets = input.board.filter((e) => e.divineShield);
10
13
  for (const target of targets) {
11
- (0, stats_1.modifyStats)(target, entity, 3 * mult, 0, input.board, input.hero, input.gameState);
14
+ (0, stats_1.modifyStats)(target, entity, 3 * mult, healthBuff, input.board, input.hero, input.gameState);
12
15
  }
13
16
  },
14
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"charging-czarina.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/charging-czarina.ts"],"names":[],"mappings":";;;AAUA,qDAAwD;AAG3C,QAAA,eAAe,GAA0B;IACrD,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAkC,EAAE,KAAqB,EAAE,EAAE;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Charging Czarina (Tier 5, 6/2)\r\n * Divine Shield. Whenever you cast a Tavern spell, give your minions with Divine Shield +3 Attack.\r\n *\r\n * Golden Charging Czarina (Tier 5, 12/4)\r\n * Divine Shield. Whenever you cast a Tavern spell, give your minions with Divine Shield +6 Attack.\r\n */\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const ChargingCzarina: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ChargingCzarina_BG28_741, CardIds.ChargingCzarina_BG28_741_G],\r\n\tonTavernSpellCast: (entity: BoardEntity | BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.ChargingCzarina_BG28_741_G ? 2 : 1;\r\n\t\tconst targets = input.board.filter((e) => e.divineShield);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, entity, 3 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"charging-czarina.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/charging-czarina.ts"],"names":[],"mappings":";;;AAUA,qDAAwD;AAG3C,QAAA,eAAe,GAA0B;IACrD,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAkC,EAAE,KAAqB,EAAE,EAAE;;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAA+C,CAC9D,CAAC;QACF,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5F;IACF,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Charging Czarina (Tier 5, 6/2)\r\n * Divine Shield. Whenever you cast a Tavern spell, give your minions with Divine Shield +3 Attack.\r\n *\r\n * Golden Charging Czarina (Tier 5, 12/4)\r\n * Divine Shield. Whenever you cast a Tavern spell, give your minions with Divine Shield +6 Attack.\r\n */\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const ChargingCzarina: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ChargingCzarina_BG28_741, CardIds.ChargingCzarina_BG28_741_G],\r\n\tonTavernSpellCast: (entity: BoardEntity | BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.ChargingCzarina_BG28_741_G ? 2 : 1;\r\n\t\tconst hasPortrait = input.hero.trinkets?.some(\r\n\t\t\t(t) => t.cardId === CardIds.CzarinaPortrait_BG32_MagicItem_283,\r\n\t\t);\r\n\t\tconst healthBuff = hasPortrait ? 3 * mult : 0;\r\n\t\tconst targets = input.board.filter((e) => e.divineShield);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, entity, 3 * mult, healthBuff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConsummateConqueror = void 0;
4
- const temp_card_ids_1 = require("../../../temp-card-ids");
5
4
  exports.ConsummateConqueror = {
6
- cardIds: [temp_card_ids_1.TempCardIds.ConsummateConqueror, temp_card_ids_1.TempCardIds.ConsummateConqueror_G],
5
+ cardIds: ["BG35_153", "BG35_153_G"],
7
6
  endOfTurn: (_minion, input) => {
8
7
  },
9
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"consummate-conqueror.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/consummate-conqueror.ts"],"names":[],"mappings":";;;AACA,0DAAqD;AAQxC,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,CAAC,2BAAW,CAAC,mBAAmB,EAAE,2BAAW,CAAC,qBAAqB,CAAC;IAC7E,SAAS,EAAE,CAAC,OAAoB,EAAE,KAAqB,EAAE,EAAE;IAE3D,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\n/**\r\n * Whenever a minion is consumed, tavern minions get +1/+1 this turn (golden +2/+2).\r\n * Client increments `ConsummateConquerorTavernAttackBuffThisTurn` / `Health` on each consume.\r\n * End of turn clears the per-turn tavern buff counters (turn boundary is recruit; combat may not call EOT).\r\n */\r\nexport const ConsummateConqueror: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.ConsummateConqueror, TempCardIds.ConsummateConqueror_G],\r\n\tendOfTurn: (_minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\t// Do nothing\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"consummate-conqueror.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/consummate-conqueror.ts"],"names":[],"mappings":";;;AAQa,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,OAAoB,EAAE,KAAqB,EAAE,EAAE;IAE3D,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\n/**\r\n * Whenever a minion is consumed, tavern minions get +1/+1 this turn (golden +2/+2).\r\n * End of turn clears the per-turn tavern buff counters (turn boundary is recruit; combat may not call EOT).\r\n */\r\nexport const ConsummateConqueror: EndOfTurnCard = {\r\n\tcardIds: [CardIds.ConsummateConqueror_BG35_153, CardIds.ConsummateConqueror_BG35_153_G],\r\n\tendOfTurn: (_minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\t// Do nothing\r\n\t},\r\n};\r\n"]}
@@ -3,15 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CousinErrgl = void 0;
4
4
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
5
  const utils_1 = require("../../../services/utils");
6
- const temp_card_ids_1 = require("../../../temp-card-ids");
7
6
  exports.CousinErrgl = {
8
- cardIds: [temp_card_ids_1.TempCardIds.CousinErrgl, temp_card_ids_1.TempCardIds.CousinErrgl_G],
7
+ cardIds: ["BG35_142", "BG35_142_G"],
9
8
  endOfTurn: (minion, input) => {
10
- if (minion.cardId === temp_card_ids_1.TempCardIds.CousinErrgl_G) {
11
- (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [temp_card_ids_1.TempCardIds.MamaMrrglton, temp_card_ids_1.TempCardIds.PapaMrrglton], input.gameState);
9
+ if (minion.cardId === "BG35_142_G") {
10
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, ["BG35_140", "BG35_141"], input.gameState);
12
11
  }
13
12
  else {
14
- const id = (0, utils_1.pickRandom)([temp_card_ids_1.TempCardIds.MamaMrrglton, temp_card_ids_1.TempCardIds.PapaMrrglton]);
13
+ const id = (0, utils_1.pickRandom)(["BG35_140", "BG35_141"]);
15
14
  (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [id], input.gameState);
16
15
  }
17
16
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"cousin-errgl.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/cousin-errgl.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AACnE,mDAAqD;AACrD,0DAAqD;AAGxC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,CAAC,2BAAW,CAAC,WAAW,EAAE,2BAAW,CAAC,aAAa,CAAC;IAC7D,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAI,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,aAAa,EAAE;YAChD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,2BAAW,CAAC,YAAY,EAAE,2BAAW,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/G;aAAM;YACN,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,CAAC,2BAAW,CAAC,YAAY,EAAE,2BAAW,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5E,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const CousinErrgl: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.CousinErrgl, TempCardIds.CousinErrgl_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tif (minion.cardId === TempCardIds.CousinErrgl_G) {\r\n\t\t\taddCardsInHand(input.hero, input.board, [TempCardIds.MamaMrrglton, TempCardIds.PapaMrrglton], input.gameState);\r\n\t\t} else {\r\n\t\t\tconst id = pickRandom([TempCardIds.MamaMrrglton, TempCardIds.PapaMrrglton]);\r\n\t\t\taddCardsInHand(input.hero, input.board, [id], input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"cousin-errgl.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/cousin-errgl.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AACnE,mDAAqD;AAIxC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAI,MAAM,CAAC,MAAM,iBAAmC,EAAE;YACrD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,wBAA8D,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACzH;aAAM;YACN,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAA8D,CAAC,CAAC;YACtF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const CousinErrgl: EndOfTurnCard = {\r\n\tcardIds: [CardIds.CousinErrgl_BG35_142, CardIds.CousinErrgl_BG35_142_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tif (minion.cardId === CardIds.CousinErrgl_BG35_142_G) {\r\n\t\t\taddCardsInHand(input.hero, input.board, [CardIds.MamaMrrglton_BG35_140, CardIds.PapaMrrglton_BG35_141], input.gameState);\r\n\t\t} else {\r\n\t\t\tconst id = pickRandom([CardIds.MamaMrrglton_BG35_140, CardIds.PapaMrrglton_BG35_141]);\r\n\t\t\taddCardsInHand(input.hero, input.board, [id], input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CruiseController = void 0;
4
+ const global_info_helpers_1 = require("../../../simulation/global-info-helpers");
4
5
  exports.CruiseController = {
5
6
  cardIds: ["BG31_821", "BG31_821_G"],
6
7
  deathrattleSpawn: (minion, input) => {
7
- input.boardWithDeadEntityHero.globalInfo.PirateAttackBonus +=
8
- minion.cardId === "BG31_821_G" ? 10 : 5;
8
+ const bonus = minion.cardId === "BG31_821_G" ? 10 : 5;
9
+ (0, global_info_helpers_1.increasePirateAttackBonus)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, bonus, input.gameState);
9
10
  return [];
10
11
  },
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cruise-controller.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/cruise-controller.ts"],"names":[],"mappings":";;;AAKa,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,iBAAiB;YACzD,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const CruiseController: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.CruiseController_BG31_821, CardIds.CruiseController_BG31_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.PirateAttackBonus +=\r\n\t\t\tminion.cardId === CardIds.CruiseController_BG31_821_G ? 10 : 5;\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"cruise-controller.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/cruise-controller.ts"],"names":[],"mappings":";;;AAGA,iFAAoF;AAGvE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,+CAAyB,EACxB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,EACL,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { increasePirateAttackBonus } from '../../../simulation/global-info-helpers';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const CruiseController: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.CruiseController_BG31_821, CardIds.CruiseController_BG31_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst bonus = minion.cardId === CardIds.CruiseController_BG31_821_G ? 10 : 5;\r\n\t\tincreasePirateAttackBonus(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tbonus,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1,23 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeepwaterChieftain = void 0;
4
- const temp_card_ids_1 = require("../../../temp-card-ids");
5
4
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
6
5
  exports.DeepwaterChieftain = {
7
- cardIds: [temp_card_ids_1.TempCardIds.DeepwaterChieftain, temp_card_ids_1.TempCardIds.DeepwaterChieftain_G],
6
+ cardIds: ["BG35_143", "BG35_143_G"],
8
7
  battlecry: (minion, input) => {
9
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.DeepwaterChieftain_G ? 2 : 1;
10
- const spell = minion.cardId === temp_card_ids_1.TempCardIds.DeepwaterChieftain_G
11
- ? temp_card_ids_1.TempCardIds.DeepwaterClan_G
12
- : temp_card_ids_1.TempCardIds.DeepwaterClan;
8
+ const mult = minion.cardId === "BG35_143_G" ? 2 : 1;
9
+ const spell = minion.cardId === "BG35_143_G"
10
+ ? "BG35_149_G"
11
+ : "BG35_149";
13
12
  (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, Array(mult).fill(spell), input.gameState);
14
13
  return true;
15
14
  },
16
15
  deathrattleSpawn: (minion, input) => {
17
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.DeepwaterChieftain_G ? 2 : 1;
18
- const spell = minion.cardId === temp_card_ids_1.TempCardIds.DeepwaterChieftain_G
19
- ? temp_card_ids_1.TempCardIds.DeepwaterClan_G
20
- : temp_card_ids_1.TempCardIds.DeepwaterClan;
16
+ const mult = minion.cardId === "BG35_143_G" ? 2 : 1;
17
+ const spell = minion.cardId === "BG35_143_G"
18
+ ? "BG35_149_G"
19
+ : "BG35_149";
21
20
  (0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, Array(mult).fill(spell), input.gameState);
22
21
  return [];
23
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"deepwater-chieftain.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/deepwater-chieftain.ts"],"names":[],"mappings":";;;AACA,0DAAqD;AAErD,qEAAmE;AAItD,QAAA,kBAAkB,GAAyC;IACvE,OAAO,EAAE,CAAC,2BAAW,CAAC,kBAAkB,EAAE,2BAAW,CAAC,oBAAoB,CAAC;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,oBAAoB;YACjD,CAAC,CAAC,2BAAW,CAAC,eAAe;YAC7B,CAAC,CAAC,2BAAW,CAAC,aAAa,CAAC;QAC9B,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,oBAAoB;YACjD,CAAC,CAAC,2BAAW,CAAC,eAAe;YAC7B,CAAC,CAAC,2BAAW,CAAC,aAAa,CAAC;QAC9B,IAAA,8BAAc,EACb,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACvB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const DeepwaterChieftain: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [TempCardIds.DeepwaterChieftain, TempCardIds.DeepwaterChieftain_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === TempCardIds.DeepwaterChieftain_G ? 2 : 1;\r\n\t\tconst spell =\r\n\t\t\tminion.cardId === TempCardIds.DeepwaterChieftain_G\r\n\t\t\t\t? TempCardIds.DeepwaterClan_G\r\n\t\t\t\t: TempCardIds.DeepwaterClan;\r\n\t\taddCardsInHand(input.hero, input.board, Array(mult).fill(spell), input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === TempCardIds.DeepwaterChieftain_G ? 2 : 1;\r\n\t\tconst spell =\r\n\t\t\tminion.cardId === TempCardIds.DeepwaterChieftain_G\r\n\t\t\t\t? TempCardIds.DeepwaterClan_G\r\n\t\t\t\t: TempCardIds.DeepwaterClan;\r\n\t\taddCardsInHand(\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tArray(mult).fill(spell),\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"deepwater-chieftain.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/deepwater-chieftain.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,kBAAkB,GAAyC;IACvE,OAAO,EAAE,0BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAA0C;YACtD,CAAC;YACD,CAAC,WAA+B,CAAC;QACnC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAA0C;YACtD,CAAC;YACD,CAAC,WAA+B,CAAC;QACnC,IAAA,8BAAc,EACb,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACvB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const DeepwaterChieftain: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.DeepwaterChieftain_BG35_143, CardIds.DeepwaterChieftain_BG35_143_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.DeepwaterChieftain_BG35_143_G ? 2 : 1;\r\n\t\tconst spell =\r\n\t\t\tminion.cardId === CardIds.DeepwaterChieftain_BG35_143_G\r\n\t\t\t\t? CardIds.DeepwaterClan_BG35_149_G\r\n\t\t\t\t: CardIds.DeepwaterClan_BG35_149;\r\n\t\taddCardsInHand(input.hero, input.board, Array(mult).fill(spell), input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.DeepwaterChieftain_BG35_143_G ? 2 : 1;\r\n\t\tconst spell =\r\n\t\t\tminion.cardId === CardIds.DeepwaterChieftain_BG35_143_G\r\n\t\t\t\t? CardIds.DeepwaterClan_BG35_149_G\r\n\t\t\t\t: CardIds.DeepwaterClan_BG35_149;\r\n\t\taddCardsInHand(\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tArray(mult).fill(spell),\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DemonFodder = void 0;
4
- const temp_card_ids_1 = require("../../../temp-card-ids");
5
4
  exports.DemonFodder = {
6
- cardIds: [temp_card_ids_1.TempCardIds.DemonFodder, temp_card_ids_1.TempCardIds.DemonFodder_G],
5
+ cardIds: ["BG35_150t", "BG35_150t_G"],
7
6
  };
8
7
  //# sourceMappingURL=demon-fodder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demon-fodder.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/demon-fodder.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AAMxC,QAAA,WAAW,GAAS;IAChC,OAAO,EAAE,CAAC,2BAAW,CAAC,WAAW,EAAE,2BAAW,CAAC,aAAa,CAAC;CAC7D,CAAC","sourcesContent":["import { TempCardIds } from '../../../temp-card-ids';\r\nimport { Card } from '../../card.interface';\r\n\r\n/**\r\n * Do nothing\r\n */\r\nexport const DemonFodder: Card = {\r\n\tcardIds: [TempCardIds.DemonFodder, TempCardIds.DemonFodder_G],\r\n};\r\n"]}
1
+ {"version":3,"file":"demon-fodder.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/demon-fodder.ts"],"names":[],"mappings":";;;AAMa,QAAA,WAAW,GAAS;IAChC,OAAO,EAAE,4BAAyF;CAClG,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Card } from '../../card.interface';\r\n\r\n/**\r\n * Do nothing\r\n */\r\nexport const DemonFodder: Card = {\r\n\tcardIds: [CardIds.LaboratoryAssistant_DemonFodderToken_BG35_150t, CardIds.DemonFodder_BG35_150t_G],\r\n};\r\n"]}
@@ -4,11 +4,10 @@ exports.DeterminedDefender = void 0;
4
4
  const attack_1 = require("../../../simulation/attack");
5
5
  const taunt_1 = require("../../../keywords/taunt");
6
6
  const stats_1 = require("../../../simulation/stats");
7
- const temp_card_ids_1 = require("../../../temp-card-ids");
8
7
  exports.DeterminedDefender = {
9
- cardIds: [temp_card_ids_1.TempCardIds.DeterminedDefender, temp_card_ids_1.TempCardIds.DeterminedDefender_G],
8
+ cardIds: ["BG35_122", "BG35_122_G"],
10
9
  deathrattleSpawn: (minion, input) => {
11
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.DeterminedDefender_G ? 2 : 1;
10
+ const mult = minion.cardId === "BG35_122_G" ? 2 : 1;
12
11
  const neighbours = (0, attack_1.getNeighbours)(input.boardWithDeadEntity, minion);
13
12
  for (const n of neighbours) {
14
13
  (0, stats_1.modifyStats)(n, minion, 5 * mult, 5 * mult, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
@@ -1 +1 @@
1
- {"version":3,"file":"determined-defender.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/determined-defender.ts"],"names":[],"mappings":";;;AAQA,uDAA2D;AAE3D,mDAAsD;AACtD,qDAAwD;AACxD,0DAAqD;AAGxC,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,CAAC,2BAAW,CAAC,kBAAkB,EAAE,2BAAW,CAAC,oBAAoB,CAAC;IAC3E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,2BAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC3B,IAAA,mBAAW,EACV,CAAC,EACD,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,mBAAW,EACV,CAAC,EACD,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAChG;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Determined Defender (Tier 4, 5/5)\r\n * Taunt. Deathrattle: Give adjacent minions +5/+5 and Taunt.\r\n *\r\n * Golden Determined Defender (Tier 4, 10/10)\r\n * Taunt. Deathrattle: Give adjacent minions +10/+10 and Taunt.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const DeterminedDefender: DeathrattleSpawnCard = {\r\n\tcardIds: [TempCardIds.DeterminedDefender, TempCardIds.DeterminedDefender_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === TempCardIds.DeterminedDefender_G ? 2 : 1;\r\n\t\tconst neighbours = getNeighbours(input.boardWithDeadEntity, minion);\r\n\t\tfor (const n of neighbours) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tn,\r\n\t\t\t\tminion,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tupdateTaunt(\r\n\t\t\t\tn,\r\n\t\t\t\ttrue,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, n, input.boardWithDeadEntity, null, null);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"determined-defender.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/determined-defender.ts"],"names":[],"mappings":";;;AAQA,uDAA2D;AAE3D,mDAAsD;AACtD,qDAAwD;AAI3C,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,0BAA4E;IACrF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC3B,IAAA,mBAAW,EACV,CAAC,EACD,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,mBAAW,EACV,CAAC,EACD,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAChG;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Determined Defender (Tier 4, 5/5)\r\n * Taunt. Deathrattle: Give adjacent minions +5/+5 and Taunt.\r\n *\r\n * Golden Determined Defender (Tier 4, 10/10)\r\n * Taunt. Deathrattle: Give adjacent minions +10/+10 and Taunt.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const DeterminedDefender: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.DeterminedDefender_BG35_122, CardIds.DeterminedDefender_BG35_122_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.DeterminedDefender_BG35_122_G ? 2 : 1;\r\n\t\tconst neighbours = getNeighbours(input.boardWithDeadEntity, minion);\r\n\t\tfor (const n of neighbours) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tn,\r\n\t\t\t\tminion,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tupdateTaunt(\r\n\t\t\t\tn,\r\n\t\t\t\ttrue,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, n, input.boardWithDeadEntity, null, null);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1,8 +1,6 @@
1
1
  import { BgsPlayerEntity } from '../../../bgs-player-entity';
2
2
  import { BoardEntity } from '../../../board-entity';
3
3
  import { FullGameState } from '../../../simulation/internal-game-state';
4
- import { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';
4
+ import { StartOfCombatCard } from '../../card.interface';
5
5
  export declare const handleDiremuckPendingSummons: (playerBoard: BoardEntity[], playerEntity: BgsPlayerEntity, opponentBoard: BoardEntity[], opponentEntity: BgsPlayerEntity, gameState: FullGameState) => void;
6
- export declare const DiremuckForager: {
7
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
8
- };
6
+ export declare const DiremuckForager: StartOfCombatCard;
@@ -14,9 +14,7 @@ const summonHandMinionFromDiremuck = (forager, handTarget, playerBoard, playerEn
14
14
  s.onCanceledSummon = () => (handTarget.locked = false);
15
15
  }
16
16
  const spawnSource = forager !== null && forager !== void 0 ? forager : playerEntity;
17
- const indexFromRight = forager != null && playerBoard.includes(forager)
18
- ? playerBoard.length - (playerBoard.indexOf(forager) + 1)
19
- : 0;
17
+ const indexFromRight = forager != null && playerBoard.includes(forager) ? playerBoard.length - (playerBoard.indexOf(forager) + 1) : 0;
20
18
  (0, spawns_1.performEntitySpawns)(newMinions, playerBoard, playerEntity, spawnSource, indexFromRight, opponentBoard, opponentEntity, gameState);
21
19
  };
22
20
  const handleDiremuckPendingSummons = (playerBoard, playerEntity, opponentBoard, opponentEntity, gameState) => {
@@ -48,6 +46,8 @@ const handleDiremuckPendingSummons = (playerBoard, playerEntity, opponentBoard,
48
46
  };
49
47
  exports.handleDiremuckPendingSummons = handleDiremuckPendingSummons;
50
48
  exports.DiremuckForager = {
49
+ cardIds: ["BG27_556", "BG27_556_G"],
50
+ startOfCombatTiming: 'start-of-combat',
51
51
  startOfCombat: (minion, input) => {
52
52
  const allCards = input.gameState.allCards;
53
53
  input.playerEntity.globalInfo.DiremuckPendingSummons = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"diremuck-forager.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/diremuck-forager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Diremuck Forager (Tier 4, 5/6)\r\n * Start of Combat: When you have space, summon the highest-Attack minion from your hand for this combat only.\r\n *\r\n * Golden Diremuck Forager (Tier 4, 10/12)\r\n * Start of Combat: When you have space, summon the two highest-Attack minions from your hand for this combat only.\r\n */\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { getHighestAttackHandMinions, isHandMinionCandidate } from '../../../services/hand-minion-priority';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nconst handMinionPredicate =\r\n\t(allCards: FullGameState['allCards']) => (e: BoardEntity) =>\r\n\t\t!!e.maxHealth && isHandMinionCandidate(e, (id) => allCards.getCard(id).type?.toUpperCase());\r\n\r\n/** If the Forager died after SOC, pass `null` — summons still resolve (spawn source = hero, index from right = 0). */\r\nconst summonHandMinionFromDiremuck = (\r\n\tforager: BoardEntity | null,\r\n\thandTarget: BoardEntity,\r\n\tplayerBoard: BoardEntity[],\r\n\tplayerEntity: BgsPlayerEntity,\r\n\topponentBoard: BoardEntity[],\r\n\topponentEntity: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\thandTarget.locked = true;\r\n\tconst friendly = forager?.friendly ?? playerEntity.friendly;\r\n\tconst newMinions = spawnEntities(\r\n\t\thandTarget.cardId,\r\n\t\t1,\r\n\t\tplayerBoard,\r\n\t\tplayerEntity,\r\n\t\topponentBoard,\r\n\t\topponentEntity,\r\n\t\tgameState,\r\n\t\tfriendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\ttrue,\r\n\t\t{ ...handTarget } as BoardEntity,\r\n\t);\r\n\tfor (const s of newMinions) {\r\n\t\ts.onCanceledSummon = () => (handTarget.locked = false);\r\n\t}\r\n\tconst spawnSource = forager ?? playerEntity;\r\n\tconst indexFromRight =\r\n\t\tforager != null && playerBoard.includes(forager)\r\n\t\t\t? playerBoard.length - (playerBoard.indexOf(forager) + 1)\r\n\t\t\t: 0;\r\n\tperformEntitySpawns(\r\n\t\tnewMinions,\r\n\t\tplayerBoard,\r\n\t\tplayerEntity,\r\n\t\tspawnSource,\r\n\t\tindexFromRight,\r\n\t\topponentBoard,\r\n\t\topponentEntity,\r\n\t\tgameState,\r\n\t);\r\n};\r\n\r\n/** Called from `summon-when-space` when board space opens during start-of-combat. */\r\nexport const handleDiremuckPendingSummons = (\r\n\tplayerBoard: BoardEntity[],\r\n\tplayerEntity: BgsPlayerEntity,\r\n\topponentBoard: BoardEntity[],\r\n\topponentEntity: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tconst raw = playerEntity.globalInfo?.DiremuckPendingSummons;\r\n\tif (!raw?.length) {\r\n\t\treturn;\r\n\t}\r\n\tconst allCards = gameState.allCards;\r\n\tconst predicate = handMinionPredicate(allCards);\r\n\tconst nextQueue: { foragerEntityId: number; remaining: number }[] = [];\r\n\r\n\tfor (const entry of raw) {\r\n\t\tlet remaining = entry.remaining;\r\n\t\tconst forager = playerBoard.find((e) => e.entityId === entry.foragerEntityId) ?? null;\r\n\t\twhile (playerBoard.length < 7 && remaining > 0) {\r\n\t\t\tconst targets = getHighestAttackHandMinions(playerEntity.hand, 1, predicate);\r\n\t\t\tconst handTarget = targets[0];\r\n\t\t\tif (!handTarget?.cardId || handTarget.locked) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tsummonHandMinionFromDiremuck(\r\n\t\t\t\tforager,\r\n\t\t\t\thandTarget,\r\n\t\t\t\tplayerBoard,\r\n\t\t\t\tplayerEntity,\r\n\t\t\t\topponentBoard,\r\n\t\t\t\topponentEntity,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t\tremaining--;\r\n\t\t}\r\n\t\tif (remaining > 0) {\r\n\t\t\tnextQueue.push({ foragerEntityId: entry.foragerEntityId, remaining });\r\n\t\t}\r\n\t}\r\n\tplayerEntity.globalInfo.DiremuckPendingSummons = nextQueue.length ? nextQueue : undefined;\r\n};\r\n\r\nexport const DiremuckForager = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst allCards = input.gameState.allCards;\r\n\t\tinput.playerEntity.globalInfo.DiremuckPendingSummons = undefined;\r\n\r\n\t\tconst totalWanted = minion.cardId === CardIds.DiremuckForager_BG27_556_G ? 2 : 1;\r\n\t\tconst predicate = handMinionPredicate(allCards);\r\n\r\n\t\tlet remaining = totalWanted;\r\n\t\twhile (remaining > 0 && input.playerBoard.length < 7) {\r\n\t\t\tconst targets = getHighestAttackHandMinions(input.playerEntity.hand, 1, predicate);\r\n\t\t\tconst target = targets[0];\r\n\t\t\tif (!target?.cardId || target.locked) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tsummonHandMinionFromDiremuck(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tremaining--;\r\n\t\t}\r\n\r\n\t\tif (remaining > 0) {\r\n\t\t\tinput.playerEntity.globalInfo.DiremuckPendingSummons = [{ foragerEntityId: minion.entityId, remaining }];\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"diremuck-forager.js","sourceRoot":"","sources":["../../../../../src/cards/impl/minion/diremuck-forager.ts"],"names":[],"mappings":";;;AAUA,iFAA4G;AAC5G,+EAAuE;AAEvE,uDAAiE;AAIjE,MAAM,mBAAmB,GAAG,CAAC,QAAmC,EAAE,EAAE,CAAC,CAAC,CAAc,EAAE,EAAE,CACvF,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAA,4CAAqB,EAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,0CAAE,WAAW,EAAE,CAAA,EAAA,CAAC,CAAC;AAG7F,MAAM,4BAA4B,GAAG,CACpC,OAA2B,EAC3B,UAAuB,EACvB,WAA0B,EAC1B,YAA6B,EAC7B,aAA4B,EAC5B,cAA+B,EAC/B,SAAwB,EACjB,EAAE;;IACT,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,YAAY,CAAC,QAAQ,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAA,kCAAa,EAC/B,UAAU,CAAC,MAAM,EACjB,CAAC,EACD,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,UAAU,EAAiB,CAChC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;QAC3B,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;KACvD;IACD,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,YAAY,CAAC;IAC5C,MAAM,cAAc,GACnB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,IAAA,4BAAmB,EAClB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,SAAS,CACT,CAAC;AACH,CAAC,CAAC;AAGK,MAAM,4BAA4B,GAAG,CAC3C,WAA0B,EAC1B,YAA6B,EAC7B,aAA4B,EAC5B,cAA+B,EAC/B,SAAwB,EACjB,EAAE;;IACT,MAAM,GAAG,GAAG,MAAA,YAAY,CAAC,UAAU,0CAAE,sBAAsB,CAAC;IAC5D,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,EAAE;QACjB,OAAO;KACP;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GAAqD,EAAE,CAAC;IAEvE,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE;QACxB,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAChC,MAAM,OAAO,GAAG,MAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,eAAe,CAAC,mCAAI,IAAI,CAAC;QACtF,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE;YAC/C,MAAM,OAAO,GAAG,IAAA,kDAA2B,EAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,IAAI,UAAU,CAAC,MAAM,EAAE;gBAC7C,MAAM;aACN;YACD,4BAA4B,CAC3B,OAAO,EACP,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,CACT,CAAC;YACF,SAAS,EAAE,CAAC;SACZ;QACD,IAAI,SAAS,GAAG,CAAC,EAAE;YAClB,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;SACtE;KACD;IACD,YAAY,CAAC,UAAU,CAAC,sBAAsB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC,CAAC;AAxCW,QAAA,4BAA4B,gCAwCvC;AAEW,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,0BAAsE;IAC/E,mBAAmB,EAAE,iBAAiB;IACtC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAEjE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,SAAS,GAAG,WAAW,CAAC;QAC5B,OAAO,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,MAAM,OAAO,GAAG,IAAA,kDAA2B,EAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,IAAI,MAAM,CAAC,MAAM,EAAE;gBACrC,MAAM;aACN;YACD,4BAA4B,CAC3B,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,SAAS,EAAE,CAAC;SACZ;QAED,IAAI,SAAS,GAAG,CAAC,EAAE;YAClB,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,GAAG,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;SACzG;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Diremuck Forager (Tier 4, 5/6)\r\n * Start of Combat: When you have space, summon the highest-Attack minion from your hand for this combat only.\r\n *\r\n * Golden Diremuck Forager (Tier 4, 10/12)\r\n * Start of Combat: When you have space, summon the two highest-Attack minions from your hand for this combat only.\r\n */\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { getHighestAttackHandMinions, isHandMinionCandidate } from '../../../services/hand-minion-priority';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\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\nconst handMinionPredicate = (allCards: FullGameState['allCards']) => (e: BoardEntity) =>\r\n\t!!e.maxHealth && isHandMinionCandidate(e, (id) => allCards.getCard(id).type?.toUpperCase());\r\n\r\n/** If the Forager died after SOC, pass `null` — summons still resolve (spawn source = hero, index from right = 0). */\r\nconst summonHandMinionFromDiremuck = (\r\n\tforager: BoardEntity | null,\r\n\thandTarget: BoardEntity,\r\n\tplayerBoard: BoardEntity[],\r\n\tplayerEntity: BgsPlayerEntity,\r\n\topponentBoard: BoardEntity[],\r\n\topponentEntity: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\thandTarget.locked = true;\r\n\tconst friendly = forager?.friendly ?? playerEntity.friendly;\r\n\tconst newMinions = spawnEntities(\r\n\t\thandTarget.cardId,\r\n\t\t1,\r\n\t\tplayerBoard,\r\n\t\tplayerEntity,\r\n\t\topponentBoard,\r\n\t\topponentEntity,\r\n\t\tgameState,\r\n\t\tfriendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\ttrue,\r\n\t\t{ ...handTarget } as BoardEntity,\r\n\t);\r\n\tfor (const s of newMinions) {\r\n\t\ts.onCanceledSummon = () => (handTarget.locked = false);\r\n\t}\r\n\tconst spawnSource = forager ?? playerEntity;\r\n\tconst indexFromRight =\r\n\t\tforager != null && playerBoard.includes(forager) ? playerBoard.length - (playerBoard.indexOf(forager) + 1) : 0;\r\n\tperformEntitySpawns(\r\n\t\tnewMinions,\r\n\t\tplayerBoard,\r\n\t\tplayerEntity,\r\n\t\tspawnSource,\r\n\t\tindexFromRight,\r\n\t\topponentBoard,\r\n\t\topponentEntity,\r\n\t\tgameState,\r\n\t);\r\n};\r\n\r\n/** Called from `summon-when-space` when board space opens during start-of-combat. */\r\nexport const handleDiremuckPendingSummons = (\r\n\tplayerBoard: BoardEntity[],\r\n\tplayerEntity: BgsPlayerEntity,\r\n\topponentBoard: BoardEntity[],\r\n\topponentEntity: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tconst raw = playerEntity.globalInfo?.DiremuckPendingSummons;\r\n\tif (!raw?.length) {\r\n\t\treturn;\r\n\t}\r\n\tconst allCards = gameState.allCards;\r\n\tconst predicate = handMinionPredicate(allCards);\r\n\tconst nextQueue: { foragerEntityId: number; remaining: number }[] = [];\r\n\r\n\tfor (const entry of raw) {\r\n\t\tlet remaining = entry.remaining;\r\n\t\tconst forager = playerBoard.find((e) => e.entityId === entry.foragerEntityId) ?? null;\r\n\t\twhile (playerBoard.length < 7 && remaining > 0) {\r\n\t\t\tconst targets = getHighestAttackHandMinions(playerEntity.hand, 1, predicate);\r\n\t\t\tconst handTarget = targets[0];\r\n\t\t\tif (!handTarget?.cardId || handTarget.locked) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tsummonHandMinionFromDiremuck(\r\n\t\t\t\tforager,\r\n\t\t\t\thandTarget,\r\n\t\t\t\tplayerBoard,\r\n\t\t\t\tplayerEntity,\r\n\t\t\t\topponentBoard,\r\n\t\t\t\topponentEntity,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t\tremaining--;\r\n\t\t}\r\n\t\tif (remaining > 0) {\r\n\t\t\tnextQueue.push({ foragerEntityId: entry.foragerEntityId, remaining });\r\n\t\t}\r\n\t}\r\n\tplayerEntity.globalInfo.DiremuckPendingSummons = nextQueue.length ? nextQueue : undefined;\r\n};\r\n\r\nexport const DiremuckForager: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DiremuckForager_BG27_556, CardIds.DiremuckForager_BG27_556_G],\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst allCards = input.gameState.allCards;\r\n\t\tinput.playerEntity.globalInfo.DiremuckPendingSummons = undefined;\r\n\r\n\t\tconst totalWanted = minion.cardId === CardIds.DiremuckForager_BG27_556_G ? 2 : 1;\r\n\t\tconst predicate = handMinionPredicate(allCards);\r\n\r\n\t\tlet remaining = totalWanted;\r\n\t\twhile (remaining > 0 && input.playerBoard.length < 7) {\r\n\t\t\tconst targets = getHighestAttackHandMinions(input.playerEntity.hand, 1, predicate);\r\n\t\t\tconst target = targets[0];\r\n\t\t\tif (!target?.cardId || target.locked) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tsummonHandMinionFromDiremuck(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tremaining--;\r\n\t\t}\r\n\r\n\t\tif (remaining > 0) {\r\n\t\t\tinput.playerEntity.globalInfo.DiremuckPendingSummons = [{ foragerEntityId: minion.entityId, remaining }];\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DraconicWarden = void 0;
4
4
  const utils_1 = require("../../../services/utils");
5
- const temp_card_ids_1 = require("../../../temp-card-ids");
6
5
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
7
6
  const bg352_chromadrake_pool_1 = require("./bg352-chromadrake-pool");
8
7
  const addChromadrakes = (mult, hero, board, gameState) => {
@@ -14,14 +13,14 @@ const addChromadrakes = (mult, hero, board, gameState) => {
14
13
  }
15
14
  };
16
15
  exports.DraconicWarden = {
17
- cardIds: [temp_card_ids_1.TempCardIds.DraconicWarden, temp_card_ids_1.TempCardIds.DraconicWarden_G],
16
+ cardIds: ["BG34_633", "BG34_633_G"],
18
17
  battlecry: (minion, input) => {
19
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.DraconicWarden_G ? 2 : 1;
18
+ const mult = minion.cardId === "BG34_633_G" ? 2 : 1;
20
19
  addChromadrakes(mult, input.hero, input.board, input.gameState);
21
20
  return true;
22
21
  },
23
22
  deathrattleSpawn: (minion, input) => {
24
- const mult = minion.cardId === temp_card_ids_1.TempCardIds.DraconicWarden_G ? 2 : 1;
23
+ const mult = minion.cardId === "BG34_633_G" ? 2 : 1;
25
24
  addChromadrakes(mult, input.boardWithDeadEntityHero, input.boardWithDeadEntity, input.gameState);
26
25
  return [];
27
26
  },