@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
@@ -0,0 +1,2 @@
1
+ import { AvengeCard } from '../../card.interface';
2
+ export declare const CloudSerpentHorn: AvengeCard;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloudSerpentHorn = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const stats_1 = require("../../../simulation/stats");
7
+ const utils_2 = require("../../../utils");
8
+ exports.CloudSerpentHorn = {
9
+ cardIds: ["BG35_MagicItem_849"],
10
+ baseAvengeValue: () => 3,
11
+ avenge: (_minion, input) => {
12
+ const rightMost = input.board[input.board.length - 1];
13
+ if (!rightMost)
14
+ return;
15
+ const attackToGive = rightMost.attack;
16
+ const dragons = input.board.filter((e) => e !== rightMost &&
17
+ e.health > 0 &&
18
+ !e.definitelyDead &&
19
+ (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
20
+ const target = (0, utils_1.pickRandom)(dragons);
21
+ if (target) {
22
+ (0, stats_1.modifyStats)(target, rightMost, attackToGive, 0, input.board, input.hero, input.gameState);
23
+ }
24
+ },
25
+ };
26
+ //# sourceMappingURL=cloud-serpent-horn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-serpent-horn.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/cloud-serpent-horn.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAe;IAC3C,OAAO,EAAE,sBAA6C;IACtD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAoB,EAAE,KAAkB,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,SAAS;YACf,CAAC,CAAC,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC,cAAc;YACjB,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,CACjG,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const CloudSerpentHorn: AvengeCard = {\r\n\tcardIds: [CardIds.CloudSerpentHorn_BG35_MagicItem_849],\r\n\tbaseAvengeValue: () => 3,\r\n\tavenge: (_minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst rightMost = input.board[input.board.length - 1];\r\n\t\tif (!rightMost) return;\r\n\t\tconst attackToGive = rightMost.attack;\r\n\t\tconst dragons = input.board.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te !== rightMost &&\r\n\t\t\t\te.health > 0 &&\r\n\t\t\t\t!e.definitelyDead &&\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = pickRandom(dragons);\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(target, rightMost, attackToGive, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterTavernSpellCastCard } from '../../card.interface';
2
+ export declare const ComfyCoffin: AfterTavernSpellCastCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComfyCoffin = void 0;
4
+ const global_info_helpers_1 = require("../../../simulation/global-info-helpers");
5
+ exports.ComfyCoffin = {
6
+ cardIds: ["BG30_MagicItem_547", "BG30_MagicItem_547t"],
7
+ afterTavernSpellCast: (trinket, input) => {
8
+ const buff = trinket.cardId === "BG30_MagicItem_547t" ? 2 : 1;
9
+ (0, global_info_helpers_1.increaseUndeadAttackBonus)(input.hero, input.board, input.hero, buff, input.gameState);
10
+ },
11
+ };
12
+ //# sourceMappingURL=comfy-coffin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfy-coffin.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/comfy-coffin.ts"],"names":[],"mappings":";;;AAEA,iFAAoF;AAGvE,QAAA,WAAW,GAA6B;IACpD,OAAO,EAAE,6CAAkG;IAC3G,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,0BAA6D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,IAAA,+CAAyB,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { increaseUndeadAttackBonus } from '../../../simulation/global-info-helpers';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const ComfyCoffin: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ComfyCoffin_BG30_MagicItem_547, CardIds.ComfyCoffin_ComfyCoffinToken_BG30_MagicItem_547t],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst buff = trinket.cardId === CardIds.ComfyCoffin_ComfyCoffinToken_BG30_MagicItem_547t ? 2 : 1;\r\n\t\tincreaseUndeadAttackBonus(input.hero, input.board, input.hero, buff, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnBeforeMagnetizeCard } from '../../card.interface';
2
+ export declare const CopperCoil: OnBeforeMagnetizeCard;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CopperCoil = void 0;
4
+ exports.CopperCoil = {
5
+ cardIds: ["BG35_MagicItem_300", "BG35_MagicItem_300t"],
6
+ onBeforeMagnetize: (trinket, input) => {
7
+ var _a, _b;
8
+ const additionalBuff = trinket.cardId === "BG35_MagicItem_300" ? 1 : 2;
9
+ const currentBuff = (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : additionalBuff;
10
+ input.magnetizedCard.attack += currentBuff;
11
+ input.magnetizedCard.health += currentBuff;
12
+ trinket.scriptDataNum1 = ((_b = trinket.scriptDataNum1) !== null && _b !== void 0 ? _b : 0) + additionalBuff;
13
+ },
14
+ };
15
+ //# sourceMappingURL=copper-coil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copper-coil.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/copper-coil.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAA0B;IAChD,OAAO,EAAE,6CAA+F;IACxG,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;;QAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,cAAc,CAAC;QAC7D,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC;QAC3C,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC;QAC3C,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,cAAc,CAAC;IACzE,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeInput } from '../../../simulation/magnetize';\r\nimport { OnBeforeMagnetizeCard } from '../../card.interface';\r\n\r\nexport const CopperCoil: OnBeforeMagnetizeCard = {\r\n\tcardIds: [CardIds.CopperCoil_BG35_MagicItem_300, CardIds.CopperCoil_CopperCoilToken_BG35_MagicItem_300t],\r\n\tonBeforeMagnetize: (trinket: BoardTrinket, input: OnBeforeMagnetizeInput) => {\r\n\t\tconst additionalBuff = trinket.cardId === CardIds.CopperCoil_BG35_MagicItem_300 ? 1 : 2;\r\n\t\tconst currentBuff = trinket.scriptDataNum1 ?? additionalBuff;\r\n\t\tinput.magnetizedCard.attack += currentBuff;\r\n\t\tinput.magnetizedCard.health += currentBuff;\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? 0) + additionalBuff;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnTavernSpellCastCard } from '../../card.interface';
2
+ export declare const CoralSpear: OnTavernSpellCastCard;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoralSpear = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const cast_tavern_spell_1 = require("../../../mechanics/cast-tavern-spell");
6
+ exports.CoralSpear = {
7
+ cardIds: ["BG35_MagicItem_925"],
8
+ onTavernSpellCast: (trinket, input) => {
9
+ if (input.source !== input.hero) {
10
+ return;
11
+ }
12
+ const spellCard = input.gameState.allCards.getCard(input.spellCardId);
13
+ if ((spellCard === null || spellCard === void 0 ? void 0 : spellCard.spellSchool) !== reference_data_1.SpellSchool[reference_data_1.SpellSchool.SPELLCRAFT])
14
+ return;
15
+ (0, cast_tavern_spell_1.castTavernSpell)("BG35_951", {
16
+ ...input,
17
+ spellCardId: "BG35_951",
18
+ source: input.hero,
19
+ });
20
+ },
21
+ };
22
+ //# sourceMappingURL=coral-spear.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coral-spear.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/coral-spear.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAE3D,4EAAuE;AAI1D,QAAA,UAAU,GAA0B;IAChD,OAAO,EAAE,sBAAuC;IAChD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,4BAAW,CAAC,4BAAW,CAAC,UAAU,CAAC;YAAE,OAAO;QAE3E,IAAA,mCAAe,cAAoC;YAClD,GAAG,KAAK;YACR,WAAW,YAAmC;YAC9C,MAAM,EAAE,KAAK,CAAC,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { SpellSchool } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { castTavernSpell } from '../../../mechanics/cast-tavern-spell';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const CoralSpear: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.CoralSpear_BG35_MagicItem_925],\r\n\tonTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst spellCard = input.gameState.allCards.getCard(input.spellCardId);\r\n\t\tif (spellCard?.spellSchool !== SpellSchool[SpellSchool.SPELLCRAFT]) return;\r\n\r\n\t\tcastTavernSpell(CardIds.MightOfStormwind_BG35_951, {\r\n\t\t\t...input,\r\n\t\t\tspellCardId: CardIds.MightOfStormwind_BG35_951,\r\n\t\t\tsource: input.hero,\r\n\t\t});\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const DramalocSticker: StartOfCombatCard;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DramalocSticker = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.DramalocSticker = {
8
+ cardIds: ["BG35_MagicItem_754"],
9
+ startOfCombat: (trinket, input) => {
10
+ var _a, _b;
11
+ const hand = (_a = input.playerEntity.hand) !== null && _a !== void 0 ? _a : [];
12
+ if (hand.length === 0) {
13
+ return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
14
+ }
15
+ let highestAttack = 0;
16
+ for (const card of hand) {
17
+ const refCard = input.gameState.allCards.getCard(card.cardId);
18
+ const attack = (_b = refCard === null || refCard === void 0 ? void 0 : refCard.attack) !== null && _b !== void 0 ? _b : 0;
19
+ if (attack > highestAttack) {
20
+ highestAttack = attack;
21
+ }
22
+ }
23
+ if (highestAttack === 0) {
24
+ return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
25
+ }
26
+ let triggered = false;
27
+ for (const entity of input.playerBoard) {
28
+ if ((0, utils_1.hasCorrectTribe)(entity, input.playerEntity, reference_data_1.Race.MURLOC, input.gameState.anomalies, input.gameState.allCards)) {
29
+ (0, stats_1.modifyStats)(entity, trinket, highestAttack, 0, input.playerBoard, input.playerEntity, input.gameState);
30
+ triggered = true;
31
+ }
32
+ }
33
+ return { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };
34
+ },
35
+ };
36
+ //# sourceMappingURL=dramaloc-sticker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dramaloc-sticker.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/dramaloc-sticker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AAExD,0CAAiD;AAGpC,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,sBAA4C;IACrD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;SACtE;QACD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,CAAC,CAAC;YACpC,IAAI,MAAM,GAAG,aAAa,EAAE;gBAC3B,aAAa,GAAG,MAAM,CAAC;aACvB;SACD;QACD,IAAI,aAAa,KAAK,CAAC,EAAE;YACxB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;SACtE;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;YACvC,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAClH,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvG,SAAS,GAAG,IAAI,CAAC;aACjB;SACD;QACD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const DramalocSticker: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DramalocSticker_BG35_MagicItem_754],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst hand = input.playerEntity.hand ?? [];\r\n\t\tif (hand.length === 0) {\r\n\t\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t\t}\r\n\t\tlet highestAttack = 0;\r\n\t\tfor (const card of hand) {\r\n\t\t\tconst refCard = input.gameState.allCards.getCard(card.cardId);\r\n\t\t\tconst attack = refCard?.attack ?? 0;\r\n\t\t\tif (attack > highestAttack) {\r\n\t\t\t\thighestAttack = attack;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (highestAttack === 0) {\r\n\t\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t\t}\r\n\t\tlet triggered = false;\r\n\t\tfor (const entity of input.playerBoard) {\r\n\t\t\tif (hasCorrectTribe(entity, input.playerEntity, Race.MURLOC, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(entity, trinket, highestAttack, 0, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\ttriggered = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterOtherSpawnedCard, StartOfCombatCard } from '../../card.interface';
2
+ export declare const FangAnklet: StartOfCombatCard & AfterOtherSpawnedCard;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FangAnklet = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const global_info_helpers_1 = require("../../../simulation/global-info-helpers");
6
+ const stats_1 = require("../../../simulation/stats");
7
+ const utils_1 = require("../../../utils");
8
+ exports.FangAnklet = {
9
+ cardIds: ["BG35_MagicItem_701"],
10
+ startOfCombat: (trinket, input) => {
11
+ const buff = trinket.scriptDataNum1 || 1;
12
+ let triggered = false;
13
+ for (const entity of input.playerBoard) {
14
+ if ((0, utils_1.hasCorrectTribe)(entity, input.playerEntity, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
15
+ (0, stats_1.modifyStats)(entity, trinket, buff, buff, input.playerBoard, input.playerEntity, input.gameState);
16
+ triggered = true;
17
+ }
18
+ }
19
+ input.playerEntity.globalInfo.GoldrinnBuffAtk += buff;
20
+ input.playerEntity.globalInfo.GoldrinnBuffHealth += buff;
21
+ return { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };
22
+ },
23
+ afterOtherSpawned: (trinket, input) => {
24
+ if ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
25
+ (0, global_info_helpers_1.increaseGoldrinnBuff)(trinket, input.board, input.hero, 1, 1, input.gameState);
26
+ trinket.scriptDataNum1 = (trinket.scriptDataNum1 || 1) + 1;
27
+ }
28
+ },
29
+ };
30
+ //# sourceMappingURL=fang-anklet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fang-anklet.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/fang-anklet.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,iFAA+E;AAE/E,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAA8C;IACpE,OAAO,EAAE,sBAAuC;IAChD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QAEzD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;YACvC,IACC,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;gBACD,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjG,SAAS,GAAG,IAAI,CAAC;aACjB;SACD;QACD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,IAAI,IAAI,CAAC;QACtD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,IAAI,IAAI,CAAC;QACzD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;IACD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;QACtE,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC1G;YACD,IAAA,0CAAoB,EAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAE9E,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3D;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { increaseGoldrinnBuff } from '../../../simulation/global-info-helpers';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const FangAnklet: StartOfCombatCard & AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.FangAnklet_BG35_MagicItem_701],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\t// Can be permanently buffed in previous combats\r\n\t\tconst buff = trinket.scriptDataNum1 || 1;\r\n\t\tlet triggered = false;\r\n\t\tfor (const entity of input.playerBoard) {\r\n\t\t\tif (\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.BEAST,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tmodifyStats(entity, trinket, buff, buff, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\ttriggered = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tinput.playerEntity.globalInfo.GoldrinnBuffAtk += buff;\r\n\t\tinput.playerEntity.globalInfo.GoldrinnBuffHealth += buff;\r\n\t\treturn { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n\tafterOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\tincreaseGoldrinnBuff(trinket, input.board, input.hero, 1, 1, input.gameState);\r\n\t\t\t// Not used in the simulation, but can be useful for debugging\r\n\t\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 1) + 1;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterHeroDamagedCard } from '../../card.interface';
2
+ export declare const FelburnedLedger: AfterHeroDamagedCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FelburnedLedger = void 0;
4
+ exports.FelburnedLedger = {
5
+ cardIds: ["BG35_MagicItem_155"],
6
+ afterHeroDamaged: (trinket, input) => {
7
+ var _a, _b;
8
+ input.hero.globalInfo.TavernSpellAttackBuff = ((_a = input.hero.globalInfo.TavernSpellAttackBuff) !== null && _a !== void 0 ? _a : 0) + 1;
9
+ input.hero.globalInfo.TavernSpellHealthBuff = ((_b = input.hero.globalInfo.TavernSpellHealthBuff) !== null && _b !== void 0 ? _b : 0) + 1;
10
+ },
11
+ };
12
+ //# sourceMappingURL=felburned-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"felburned-ledger.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/felburned-ledger.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,sBAA4C;IACrD,gBAAgB,EAAE,CAAC,OAAqB,EAAE,KAA4B,EAAE,EAAE;;QACzE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const FelburnedLedger: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.FelburnedLedger_BG35_MagicItem_155],\r\n\tafterHeroDamaged: (trinket: BoardTrinket, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.globalInfo.TavernSpellAttackBuff = (input.hero.globalInfo.TavernSpellAttackBuff ?? 0) + 1;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff = (input.hero.globalInfo.TavernSpellHealthBuff ?? 0) + 1;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AvengeCard } from '../../card.interface';
2
+ export declare const FridgeMagnet: AvengeCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FridgeMagnet = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.FridgeMagnet = {
6
+ cardIds: ["BG30_MagicItem_545"],
7
+ baseAvengeValue: () => 3,
8
+ avenge: (_entity, input) => {
9
+ const randomMagnetic = input.gameState.cardsData.getRandomMechToMagnetize(input.hero.tavernTier);
10
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [randomMagnetic], input.gameState);
11
+ },
12
+ };
13
+ //# sourceMappingURL=fridge-magnet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fridge-magnet.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/fridge-magnet.ts"],"names":[],"mappings":";;;AAIA,qEAAmE;AAGtD,QAAA,YAAY,GAAe;IACvC,OAAO,EAAE,sBAAyC;IAClD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAmC,EAAE,KAAkB,EAAE,EAAE;QACnE,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjG,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const FridgeMagnet: AvengeCard = {\r\n\tcardIds: [CardIds.FridgeMagnet_BG30_MagicItem_545],\r\n\tbaseAvengeValue: () => 3,\r\n\tavenge: (_entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tconst randomMagnetic = input.gameState.cardsData.getRandomMechToMagnetize(input.hero.tavernTier);\r\n\t\taddCardsInHand(input.hero, input.board, [randomMagnetic], input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AvengeCard } from '../../card.interface';
2
+ export declare const GilneanThornedRose: AvengeCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GilneanThornedRose = void 0;
4
+ const attack_1 = require("../../../simulation/attack");
5
+ const utils_1 = require("../../../utils");
6
+ exports.GilneanThornedRose = {
7
+ cardIds: ["BG30_MagicItem_864"],
8
+ baseAvengeValue: () => 3,
9
+ avenge: (entity, input) => {
10
+ const source = entity;
11
+ const { board, hero, otherBoard, otherHero, gameState } = input;
12
+ (0, utils_1.addStatsToBoard)(source, board, hero, 3, 3, gameState);
13
+ for (const minion of board) {
14
+ (0, attack_1.dealDamageToMinion)(minion, board, hero, source, 1, otherBoard, otherHero, gameState);
15
+ gameState.spectator.registerPowerTarget(source, minion, board, hero, otherHero);
16
+ }
17
+ },
18
+ };
19
+ //# sourceMappingURL=gilnean-thorned-rose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gilnean-thorned-rose.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/gilnean-thorned-rose.ts"],"names":[],"mappings":";;;AAGA,uDAAgE;AAEhE,0CAAiD;AAGpC,QAAA,kBAAkB,GAAe;IAC7C,OAAO,EAAE,sBAA+C;IACxD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,MAAkC,EAAE,KAAkB,EAAE,EAAE;QAClE,MAAM,MAAM,GAAG,MAAqB,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAChE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YAC3B,IAAA,2BAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACrF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SAChF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const GilneanThornedRose: AvengeCard = {\r\n\tcardIds: [CardIds.GilneanThornedRose_BG30_MagicItem_864],\r\n\tbaseAvengeValue: () => 3,\r\n\tavenge: (entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tconst source = entity as BoardEntity;\r\n\t\tconst { board, hero, otherBoard, otherHero, gameState } = input;\r\n\t\taddStatsToBoard(source, board, hero, 3, 3, gameState);\r\n\t\tfor (const minion of board) {\r\n\t\t\tdealDamageToMinion(minion, board, hero, source, 1, otherBoard, otherHero, gameState);\r\n\t\t\tgameState.spectator.registerPowerTarget(source, minion, board, hero, otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterTavernSpellCastCard } from '../../card.interface';
2
+ export declare const GlowscalePortrait: AfterTavernSpellCastCard;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlowscalePortrait = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ exports.GlowscalePortrait = {
7
+ cardIds: ["BG30_MagicItem_548"],
8
+ afterTavernSpellCast: (trinket, input) => {
9
+ const spellCard = input.gameState.allCards.getCard(input.spellCardId);
10
+ if ((spellCard === null || spellCard === void 0 ? void 0 : spellCard.spellSchool) !== reference_data_1.SpellSchool[reference_data_1.SpellSchool.SPELLCRAFT])
11
+ return;
12
+ for (const entity of input.board) {
13
+ if (entity.health <= 0 || entity.definitelyDead)
14
+ continue;
15
+ if (entity.divineShield) {
16
+ (0, stats_1.modifyStats)(entity, trinket, 3, 3, input.board, input.hero, input.gameState);
17
+ }
18
+ }
19
+ },
20
+ };
21
+ //# sourceMappingURL=glowscale-portrait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glowscale-portrait.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/glowscale-portrait.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAG3D,qDAAwD;AAG3C,QAAA,iBAAiB,GAA6B;IAC1D,OAAO,EAAE,sBAA8C;IACvD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,4BAAW,CAAC,4BAAW,CAAC,UAAU,CAAC;YAAE,OAAO;QAC3E,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,IAAI,MAAM,CAAC,YAAY,EAAE;gBACxB,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { SpellSchool } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const GlowscalePortrait: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.GlowscalePortrait_BG30_MagicItem_548],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst spellCard = input.gameState.allCards.getCard(input.spellCardId);\r\n\t\tif (spellCard?.spellSchool !== SpellSchool[SpellSchool.SPELLCRAFT]) return;\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tif (entity.divineShield) {\r\n\t\t\t\tmodifyStats(entity, trinket, 3, 3, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterTavernSpellCastCard } from '../../card.interface';
2
+ export declare const HeartOfTheForest: AfterTavernSpellCastCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeartOfTheForest = void 0;
4
+ exports.HeartOfTheForest = {
5
+ cardIds: ["BG32_MagicItem_801t"],
6
+ afterTavernSpellCast: (trinket, input) => {
7
+ var _a, _b, _c, _d, _e;
8
+ input.hero.globalInfo.TavernSpellAttackBuff = ((_a = input.hero.globalInfo.TavernSpellAttackBuff) !== null && _a !== void 0 ? _a : 0) + 1;
9
+ input.hero.globalInfo.TavernSpellHealthBuff = ((_b = input.hero.globalInfo.TavernSpellHealthBuff) !== null && _b !== void 0 ? _b : 0) + ((_c = trinket.scriptDataNum2) !== null && _c !== void 0 ? _c : 1);
10
+ trinket.scriptDataNum1 = ((_d = trinket.scriptDataNum1) !== null && _d !== void 0 ? _d : 5) - 1;
11
+ if (trinket.scriptDataNum1 <= 0) {
12
+ trinket.scriptDataNum1 = 5;
13
+ trinket.scriptDataNum2 = ((_e = trinket.scriptDataNum2) !== null && _e !== void 0 ? _e : 1) + 1;
14
+ }
15
+ },
16
+ };
17
+ //# sourceMappingURL=heart-of-the-forest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heart-of-the-forest.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/heart-of-the-forest.ts"],"names":[],"mappings":";;;AAIa,QAAA,gBAAgB,GAA6B;IACzD,OAAO,EAAE,uBAAoE;IAC7E,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;;QACtE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC;QAEjI,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YAC3B,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3D;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const HeartOfTheForest: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.HeartOfTheForest_HeartOfTheForestToken_BG32_MagicItem_801t],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tinput.hero.globalInfo.TavernSpellAttackBuff = (input.hero.globalInfo.TavernSpellAttackBuff ?? 0) + 1;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff = (input.hero.globalInfo.TavernSpellHealthBuff ?? 0) + (trinket.scriptDataNum2 ?? 1);\r\n\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? 5) - 1;\r\n\t\tif (trinket.scriptDataNum1 <= 0) {\r\n\t\t\ttrinket.scriptDataNum1 = 5;\r\n\t\t\ttrinket.scriptDataNum2 = (trinket.scriptDataNum2 ?? 1) + 1;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterAnotherMinionAttacksCard, DefaultScriptDataNumCard } from '../../card.interface';
2
+ export declare const JarOGems: AfterAnotherMinionAttacksCard & DefaultScriptDataNumCard;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JarOGems = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const blood_gems_1 = require("../../../simulation/blood-gems");
6
+ const utils_1 = require("../../../utils");
7
+ exports.JarOGems = {
8
+ cardIds: ["BG30_MagicItem_546"],
9
+ defaultScriptDataNum: (cardId) => 2,
10
+ afterAnotherMinionAttacks: (trinket, input) => {
11
+ const t = trinket;
12
+ t.scriptDataNum1--;
13
+ if (t.scriptDataNum1 <= 0) {
14
+ for (const entity of input.attackingBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.attackingHero, reference_data_1.Race.QUILBOAR, input.gameState.anomalies, input.gameState.allCards))) {
15
+ (0, blood_gems_1.playBloodGemsOn)(t, entity, 1, input.attackingBoard, input.attackingHero, input.defendingBoard, input.defendingHero, input.gameState);
16
+ input.gameState.spectator.registerPowerTarget(t, entity, input.attackingBoard, input.attackingHero, input.attackingHero);
17
+ }
18
+ t.scriptDataNum1 = input.gameState.cardsData.defaultScriptDataNum(t.cardId);
19
+ }
20
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
21
+ },
22
+ };
23
+ //# sourceMappingURL=jar-o-gems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jar-o-gems.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/jar-o-gems.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,+DAAiE;AAEjE,0CAAiD;AAGpC,QAAA,QAAQ,GAA6D;IACjF,OAAO,EAAE,sBAAqC;IAC9C,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,yBAAyB,EAAE,CAAC,OAAsD,EAAE,KAAoB,EAAE,EAAE;QAC3G,MAAM,CAAC,GAAG,OAAuB,CAAC;QAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,EAAE;YAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,QAAQ,EACb,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,EAAE;gBACF,IAAA,4BAAe,EACd,CAAC,EACD,MAAM,EACN,CAAC,EACD,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,CAAC,EACD,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;aACF;YACD,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC5E;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterAnotherMinionAttacksCard, DefaultScriptDataNumCard } from '../../card.interface';\r\n\r\nexport const JarOGems: AfterAnotherMinionAttacksCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.JarOGems_BG30_MagicItem_546],\r\n\tdefaultScriptDataNum: (cardId: string) => 2,\r\n\tafterAnotherMinionAttacks: (trinket: BoardEntity | BoardTrinket | BoardEnchantment, input: OnAttackInput) => {\r\n\t\tconst t = trinket as BoardTrinket;\r\n\t\tt.scriptDataNum1--;\r\n\t\tif (t.scriptDataNum1 <= 0) {\r\n\t\t\tfor (const entity of input.attackingBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tRace.QUILBOAR,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t)) {\r\n\t\t\t\tplayBloodGemsOn(\r\n\t\t\t\t\tt,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\t1,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tt,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tt.scriptDataNum1 = input.gameState.cardsData.defaultScriptDataNum(t.cardId);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnTavernSpellCastCard } from '../../card.interface';
2
+ export declare const LorewalkerScroll: OnTavernSpellCastCard;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LorewalkerScroll = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.LorewalkerScroll = {
6
+ cardIds: [
7
+ "BG30_MagicItem_422",
8
+ "BG30_MagicItem_422t",
9
+ ],
10
+ onTavernSpellCast: (trinket, input) => {
11
+ if (input.source !== input.hero) {
12
+ return;
13
+ }
14
+ if (!input.target || input.target.health <= 0 || input.target.definitelyDead)
15
+ return;
16
+ const isUpgraded = trinket.cardId === "BG30_MagicItem_422t";
17
+ const attack = isUpgraded ? 7 : 2;
18
+ const health = isUpgraded ? 7 : 1;
19
+ (0, stats_1.modifyStats)(input.target, trinket, attack, health, input.board, input.hero, input.gameState);
20
+ },
21
+ };
22
+ //# sourceMappingURL=lorewalker-scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lorewalker-scroll.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/lorewalker-scroll.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAG3C,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE;;;KAGR;IACD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO;QACrF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,0BAAuE,CAAC;QACzG,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9F,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-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 LorewalkerScroll: OnTavernSpellCastCard = {\r\n\tcardIds: [\r\n\t\tCardIds.LorewalkerScroll_BG30_MagicItem_422,\r\n\t\tCardIds.LorewalkerScroll_LorewalkerScrollToken_BG30_MagicItem_422t,\r\n\t],\r\n\tonTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!input.target || input.target.health <= 0 || input.target.definitelyDead) return;\r\n\t\tconst isUpgraded = trinket.cardId === CardIds.LorewalkerScroll_LorewalkerScrollToken_BG30_MagicItem_422t;\r\n\t\tconst attack = isUpgraded ? 7 : 2;\r\n\t\tconst health = isUpgraded ? 7 : 1;\r\n\t\tmodifyStats(input.target, trinket, attack, health, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterTavernSpellCastCard } from '../../card.interface';
2
+ export declare const MiniatureShip: AfterTavernSpellCastCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiniatureShip = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.MiniatureShip = {
8
+ cardIds: ["BG35_MagicItem_710"],
9
+ afterTavernSpellCast: (trinket, input) => {
10
+ for (const entity of input.board) {
11
+ if (entity.health <= 0 || entity.definitelyDead)
12
+ continue;
13
+ if ((0, utils_1.hasCorrectTribe)(entity, input.hero, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {
14
+ (0, stats_1.modifyStats)(entity, trinket, 2, 3, input.board, input.hero, input.gameState);
15
+ }
16
+ }
17
+ },
18
+ };
19
+ //# sourceMappingURL=miniature-ship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miniature-ship.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/miniature-ship.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,sBAA0C;IACnD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1G,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const MiniatureShip: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.MiniatureShip_BG35_MagicItem_710],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tif (hasCorrectTribe(entity, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(entity, trinket, 2, 3, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const PowderKegEnchantment: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PowderKegEnchantment = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.PowderKegEnchantment = {
6
+ cardIds: ["BG35_MagicItem_714"],
7
+ deathrattleSpawnEnchantmentEffect: (enchantment, minion, input) => {
8
+ const spawns = (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BGS_061t", 1, input);
9
+ if (spawns.length > 0 && minion) {
10
+ spawns[0].attack = minion.attack;
11
+ spawns[0].attackImmediately = true;
12
+ }
13
+ return spawns;
14
+ },
15
+ };
16
+ //# sourceMappingURL=powder-keg-enchantment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powder-keg-enchantment.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/powder-keg-enchantment.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,oBAAoB,GAAoC;IACpE,OAAO,EAAE,sBAAsC;IAC/C,iCAAiC,EAAE,CAClC,WAA+B,EAC/B,MAAsC,EACtC,KAAgC,EAC/B,EAAE;QACH,MAAM,MAAM,GAAG,IAAA,4CAAuB,cAA4C,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;YAChC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IACf,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 { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\n\r\nexport const PowderKegEnchantment: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [CardIds.PowderKeg_BG35_MagicItem_714],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tenchantment: { cardId: string },\r\n\t\tminion: BoardEntity | null | undefined,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t) => {\r\n\t\tconst spawns = simplifiedSpawnEntities(CardIds.Scallywag_SkyPirateToken_BGS_061t, 1, input);\r\n\t\tif (spawns.length > 0 && minion) {\r\n\t\t\tspawns[0].attack = minion.attack;\r\n\t\t\tspawns[0].attackImmediately = true;\r\n\t\t}\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const PowderKeg: StartOfCombatCard;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PowderKeg = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const utils_2 = require("../../../utils");
7
+ exports.PowderKeg = {
8
+ cardIds: ["BG35_MagicItem_714"],
9
+ startOfCombat: (trinket, input) => {
10
+ const pirates = input.playerBoard.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards));
11
+ const targets = (0, utils_1.pickMultipleRandomAlive)(pirates, 2);
12
+ for (const target of targets) {
13
+ target.enchantments.push({
14
+ cardId: "BG35_700",
15
+ originEntityId: trinket.entityId,
16
+ repeats: 1,
17
+ timing: input.gameState.sharedState.currentEntityId++,
18
+ });
19
+ }
20
+ return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
21
+ },
22
+ };
23
+ //# sourceMappingURL=powder-keg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powder-keg.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/powder-keg.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAAkE;AAElE,0CAAiD;AAGpC,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,sBAAsC;IAC/C,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;gBAExB,MAAM,YAA6B;gBACnC,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;SACH;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandomAlive } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const PowderKeg: StartOfCombatCard = {\r\n\tcardIds: [CardIds.PowderKeg_BG35_MagicItem_714],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst pirates = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst targets = pickMultipleRandomAlive(pirates, 2);\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.enchantments.push({\r\n\t\t\t\t// TODO: probably not correct, needs testing\r\n\t\t\t\tcardId: CardIds.ShipJumper_BG35_700,\r\n\t\t\t\toriginEntityId: trinket.entityId,\r\n\t\t\t\trepeats: 1,\r\n\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const ProtectiveRing: StartOfCombatCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtectiveRing = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const divine_shield_1 = require("../../../keywords/divine-shield");
6
+ const utils_1 = require("../../../services/utils");
7
+ const utils_2 = require("../../../utils");
8
+ exports.ProtectiveRing = {
9
+ cardIds: ["BG35_MagicItem_711"],
10
+ startOfCombat: (trinket, input) => {
11
+ const pirates = input.playerBoard.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards));
12
+ const targets = (0, utils_1.pickMultipleRandomAlive)(pirates, 3);
13
+ for (const target of targets) {
14
+ (0, divine_shield_1.updateDivineShield)(target, input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);
15
+ }
16
+ return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
17
+ },
18
+ };
19
+ //# sourceMappingURL=protective-ring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protective-ring.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/protective-ring.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,mEAAqE;AAErE,mDAAkE;AAElE,0CAAiD;AAGpC,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandomAlive } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const ProtectiveRing: StartOfCombatCard = {\r\n\tcardIds: [CardIds.ProtectiveRing_BG35_MagicItem_711],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst pirates = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst targets = pickMultipleRandomAlive(pirates, 3);\r\n\t\tfor (const target of targets) {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\ttrue,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,3 @@
1
+ import { AvengeCard } from '../../card.interface';
2
+ export declare const QuilligraphySet: AvengeCard;
3
+ export declare const QuilligraphySetToken: AvengeCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuilligraphySetToken = exports.QuilligraphySet = void 0;
4
+ exports.QuilligraphySet = {
5
+ cardIds: ["BG30_MagicItem_410"],
6
+ baseAvengeValue: () => 4,
7
+ avenge: (_entity, input) => {
8
+ input.hero.globalInfo.BloodGemHealthBonus += 1;
9
+ },
10
+ };
11
+ exports.QuilligraphySetToken = {
12
+ cardIds: ["BG30_MagicItem_410t2"],
13
+ baseAvengeValue: () => 4,
14
+ avenge: (_entity, input) => {
15
+ input.hero.globalInfo.BloodGemAttackBonus += 1;
16
+ input.hero.globalInfo.BloodGemHealthBonus += 1;
17
+ },
18
+ };
19
+ //# sourceMappingURL=quilligraphy-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quilligraphy-set.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/quilligraphy-set.ts"],"names":[],"mappings":";;;AAMa,QAAA,eAAe,GAAe;IAC1C,OAAO,EAAE,sBAA4C;IACrD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAmC,EAAE,KAAkB,EAAE,EAAE;QACnE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;IAChD,CAAC;CACD,CAAC;AAEW,QAAA,oBAAoB,GAAe;IAC/C,OAAO,EAAE,wBAAmE;IAC5E,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAmC,EAAE,KAAkB,EAAE,EAAE;QACnE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;IAChD,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const QuilligraphySet: AvengeCard = {\r\n\tcardIds: [CardIds.QuilligraphySet_BG30_MagicItem_410],\r\n\tbaseAvengeValue: () => 4,\r\n\tavenge: (_entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tinput.hero.globalInfo.BloodGemHealthBonus += 1;\r\n\t},\r\n};\r\n\r\nexport const QuilligraphySetToken: AvengeCard = {\r\n\tcardIds: [CardIds.QuilligraphySet_QuilligraphySetToken_BG30_MagicItem_410t2],\r\n\tbaseAvengeValue: () => 4,\r\n\tavenge: (_entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tinput.hero.globalInfo.BloodGemAttackBonus += 1;\r\n\t\tinput.hero.globalInfo.BloodGemHealthBonus += 1;\r\n\t},\r\n};\r\n"]}