@firestone-hs/simulate-bgs-battle 1.1.565 → 1.1.566

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 (456) hide show
  1. package/dist/bgs-player-entity.d.ts +2 -0
  2. package/dist/bgs-player-entity.js.map +1 -1
  3. package/dist/cards/card.interface.d.ts +32 -6
  4. package/dist/cards/card.interface.js +13 -1
  5. package/dist/cards/card.interface.js.map +1 -1
  6. package/dist/cards/cards-data.d.ts +1 -0
  7. package/dist/cards/cards-data.js +8 -0
  8. package/dist/cards/cards-data.js.map +1 -1
  9. package/dist/cards/impl/_card-mappings.js +116 -0
  10. package/dist/cards/impl/_card-mappings.js.map +1 -1
  11. package/dist/cards/impl/bg-spell/sharing-is-caring.js +1 -1
  12. package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
  13. package/dist/cards/impl/hero-power/all-will-burn.js +2 -4
  14. package/dist/cards/impl/hero-power/all-will-burn.js.map +1 -1
  15. package/dist/cards/impl/hero-power/fragrant-phylactery.js +1 -2
  16. package/dist/cards/impl/hero-power/fragrant-phylactery.js.map +1 -1
  17. package/dist/cards/impl/hero-power/wax-warband.d.ts +3 -0
  18. package/dist/cards/impl/hero-power/wax-warband.js +4 -4
  19. package/dist/cards/impl/hero-power/wax-warband.js.map +1 -1
  20. package/dist/cards/impl/minion/admiral-eliza-goreblade.js +1 -2
  21. package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -1
  22. package/dist/cards/impl/minion/alleycat.d.ts +2 -0
  23. package/dist/cards/impl/minion/alleycat.js +24 -0
  24. package/dist/cards/impl/minion/alleycat.js.map +1 -0
  25. package/dist/cards/impl/minion/amber-guardian.js +1 -2
  26. package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
  27. package/dist/cards/impl/minion/apprentice-of-sefin.d.ts +6 -0
  28. package/dist/cards/impl/minion/apprentice-of-sefin.js +78 -0
  29. package/dist/cards/impl/minion/apprentice-of-sefin.js.map +1 -0
  30. package/dist/cards/impl/minion/ashen-corruptor.d.ts +2 -0
  31. package/dist/cards/impl/minion/ashen-corruptor.js +10 -0
  32. package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -0
  33. package/dist/cards/impl/minion/assistant-guard.js +2 -1
  34. package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
  35. package/dist/cards/impl/minion/auto-assembler-enchantment.d.ts +2 -0
  36. package/dist/cards/impl/minion/auto-assembler-enchantment.js +17 -0
  37. package/dist/cards/impl/minion/auto-assembler-enchantment.js.map +1 -0
  38. package/dist/cards/impl/minion/auto-assembler.d.ts +2 -0
  39. package/dist/cards/impl/minion/auto-assembler.js +14 -0
  40. package/dist/cards/impl/minion/auto-assembler.js.map +1 -0
  41. package/dist/cards/impl/minion/battlecruiser.js +2 -3
  42. package/dist/cards/impl/minion/battlecruiser.js.map +1 -1
  43. package/dist/cards/impl/minion/beetle.js +1 -1
  44. package/dist/cards/impl/minion/beetle.js.map +1 -1
  45. package/dist/cards/impl/minion/bellowing-tyrant.js +2 -2
  46. package/dist/cards/impl/minion/bellowing-tyrant.js.map +1 -1
  47. package/dist/cards/impl/minion/blazing-skyfin.js +1 -1
  48. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
  49. package/dist/cards/impl/minion/bonker.d.ts +2 -0
  50. package/dist/cards/impl/minion/bonker.js +18 -0
  51. package/dist/cards/impl/minion/bonker.js.map +1 -0
  52. package/dist/cards/impl/minion/bronze-steward.d.ts +2 -0
  53. package/dist/cards/impl/minion/bronze-steward.js +29 -0
  54. package/dist/cards/impl/minion/bronze-steward.js.map +1 -0
  55. package/dist/cards/impl/minion/bubble-gunner.js +3 -34
  56. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
  57. package/dist/cards/impl/minion/carrier.js +1 -1
  58. package/dist/cards/impl/minion/carrier.js.map +1 -1
  59. package/dist/cards/impl/minion/choral-mrrrglr.js +1 -2
  60. package/dist/cards/impl/minion/choral-mrrrglr.js.map +1 -1
  61. package/dist/cards/impl/minion/clunker-junker.js +2 -1
  62. package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
  63. package/dist/cards/impl/minion/coilskar-sapper.d.ts +2 -0
  64. package/dist/cards/impl/minion/coilskar-sapper.js +13 -0
  65. package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -0
  66. package/dist/cards/impl/minion/corrupted-bristler.d.ts +2 -0
  67. package/dist/cards/impl/minion/corrupted-bristler.js +32 -0
  68. package/dist/cards/impl/minion/corrupted-bristler.js.map +1 -0
  69. package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -2
  70. package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
  71. package/dist/cards/impl/minion/crabby.js +1 -2
  72. package/dist/cards/impl/minion/crabby.js.map +1 -1
  73. package/dist/cards/impl/minion/dastardly-drust.d.ts +2 -0
  74. package/dist/cards/impl/minion/dastardly-drust.js +20 -0
  75. package/dist/cards/impl/minion/dastardly-drust.js.map +1 -0
  76. package/dist/cards/impl/minion/deadstomper.js +1 -2
  77. package/dist/cards/impl/minion/deadstomper.js.map +1 -1
  78. package/dist/cards/impl/minion/deflecto-bot.js +1 -2
  79. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
  80. package/dist/cards/impl/minion/diremuck-forager.js +1 -2
  81. package/dist/cards/impl/minion/diremuck-forager.js.map +1 -1
  82. package/dist/cards/impl/minion/dreaming-thornweaver.d.ts +2 -0
  83. package/dist/cards/impl/minion/dreaming-thornweaver.js +17 -0
  84. package/dist/cards/impl/minion/dreaming-thornweaver.js.map +1 -0
  85. package/dist/cards/impl/minion/drustfallen-butcher.d.ts +2 -0
  86. package/dist/cards/impl/minion/drustfallen-butcher.js +14 -0
  87. package/dist/cards/impl/minion/drustfallen-butcher.js.map +1 -0
  88. package/dist/cards/impl/minion/echoing-roar.js +1 -2
  89. package/dist/cards/impl/minion/echoing-roar.js.map +1 -1
  90. package/dist/cards/impl/minion/efficient-engineer.js +6 -1
  91. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
  92. package/dist/cards/impl/minion/elder-taggawag.js +1 -2
  93. package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
  94. package/dist/cards/impl/minion/electric-synthesizer.js +3 -2
  95. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
  96. package/dist/cards/impl/minion/elite-navigator.d.ts +2 -0
  97. package/dist/cards/impl/minion/elite-navigator.js +24 -0
  98. package/dist/cards/impl/minion/elite-navigator.js.map +1 -0
  99. package/dist/cards/impl/minion/fauna-whisperer.d.ts +2 -0
  100. package/dist/cards/impl/minion/fauna-whisperer.js +29 -0
  101. package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -0
  102. package/dist/cards/impl/minion/fire-forged-evoker.d.ts +2 -0
  103. package/dist/cards/impl/minion/fire-forged-evoker.js +14 -0
  104. package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -0
  105. package/dist/cards/impl/minion/firescale-hoarder.d.ts +2 -0
  106. package/dist/cards/impl/minion/firescale-hoarder.js +19 -0
  107. package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -0
  108. package/dist/cards/impl/minion/flighty-scout.d.ts +2 -0
  109. package/dist/cards/impl/minion/flighty-scout.js +24 -0
  110. package/dist/cards/impl/minion/flighty-scout.js.map +1 -0
  111. package/dist/cards/impl/minion/forest-rover.js +2 -1
  112. package/dist/cards/impl/minion/forest-rover.js.map +1 -1
  113. package/dist/cards/impl/minion/fountain-chiller.js +2 -2
  114. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
  115. package/dist/cards/impl/minion/gem-smuggler.js +1 -0
  116. package/dist/cards/impl/minion/gem-smuggler.js.map +1 -1
  117. package/dist/cards/impl/minion/general-drakkisath.js +1 -0
  118. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
  119. package/dist/cards/impl/minion/gentle-djinni.js +1 -0
  120. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
  121. package/dist/cards/impl/minion/gentle-stag.js +7 -3
  122. package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
  123. package/dist/cards/impl/minion/glowgullet-warlord.d.ts +2 -0
  124. package/dist/cards/impl/minion/glowgullet-warlord.js +15 -0
  125. package/dist/cards/impl/minion/glowgullet-warlord.js.map +1 -0
  126. package/dist/cards/impl/minion/goldgrubber.d.ts +2 -0
  127. package/dist/cards/impl/minion/goldgrubber.js +16 -0
  128. package/dist/cards/impl/minion/goldgrubber.js.map +1 -0
  129. package/dist/cards/impl/minion/gormling-gourmet.d.ts +2 -0
  130. package/dist/cards/impl/minion/gormling-gourmet.js +19 -0
  131. package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -0
  132. package/dist/cards/impl/minion/grease-bot.js +1 -2
  133. package/dist/cards/impl/minion/grease-bot.js.map +1 -1
  134. package/dist/cards/impl/minion/greenskeeper.d.ts +2 -0
  135. package/dist/cards/impl/minion/greenskeeper.js +18 -0
  136. package/dist/cards/impl/minion/greenskeeper.js.map +1 -0
  137. package/dist/cards/impl/minion/grimscale-elegist.d.ts +2 -0
  138. package/dist/cards/impl/minion/grimscale-elegist.js +20 -0
  139. package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -0
  140. package/dist/cards/impl/minion/gritty-headhunter.js +1 -0
  141. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
  142. package/dist/cards/impl/minion/hackerfin.js +3 -2
  143. package/dist/cards/impl/minion/hackerfin.js.map +1 -1
  144. package/dist/cards/impl/minion/hawkstrider-herald.js +1 -1
  145. package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
  146. package/dist/cards/impl/minion/hoarding-hatespawn.js +1 -1
  147. package/dist/cards/impl/minion/hoarding-hatespawn.js.map +1 -1
  148. package/dist/cards/impl/minion/hungry-snapjaw.js +1 -1
  149. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  150. package/dist/cards/impl/minion/hydralisk.js +1 -1
  151. package/dist/cards/impl/minion/hydralisk.js.map +1 -1
  152. package/dist/cards/impl/minion/ignition-specialist.d.ts +2 -0
  153. package/dist/cards/impl/minion/ignition-specialist.js +16 -0
  154. package/dist/cards/impl/minion/ignition-specialist.js.map +1 -0
  155. package/dist/cards/impl/minion/immortal.js +1 -2
  156. package/dist/cards/impl/minion/immortal.js.map +1 -1
  157. package/dist/cards/impl/minion/implant-subject.js +1 -1
  158. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  159. package/dist/cards/impl/minion/imposing-percussionist.js +1 -0
  160. package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
  161. package/dist/cards/impl/minion/impulsive-trickster.js +13 -1
  162. package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -1
  163. package/dist/cards/impl/minion/inspiring-underdog.js +2 -2
  164. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
  165. package/dist/cards/impl/minion/irate-rooster.js +1 -1
  166. package/dist/cards/impl/minion/irate-rooster.js.map +1 -1
  167. package/dist/cards/impl/minion/king-bagurgle.js +4 -3
  168. package/dist/cards/impl/minion/king-bagurgle.js.map +1 -1
  169. package/dist/cards/impl/minion/lightfang-enforcer.js +1 -1
  170. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
  171. package/dist/cards/impl/minion/lokholar-frostforger.d.ts +2 -0
  172. package/dist/cards/impl/minion/lokholar-frostforger.js +17 -0
  173. package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -0
  174. package/dist/cards/impl/minion/lovesick-balladist.js +6 -3
  175. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
  176. package/dist/cards/impl/minion/low-flier.js +1 -1
  177. package/dist/cards/impl/minion/low-flier.js.map +1 -1
  178. package/dist/cards/impl/minion/lurker.js +1 -1
  179. package/dist/cards/impl/minion/lurker.js.map +1 -1
  180. package/dist/cards/impl/minion/mantid-queen.js +1 -1
  181. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  182. package/dist/cards/impl/minion/maw-caster.d.ts +2 -0
  183. package/dist/cards/impl/minion/maw-caster.js +25 -0
  184. package/dist/cards/impl/minion/maw-caster.js.map +1 -0
  185. package/dist/cards/impl/minion/mecha-jaraxxus.js +1 -0
  186. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
  187. package/dist/cards/impl/minion/mechagnome-interpreter.d.ts +2 -0
  188. package/dist/cards/impl/minion/mechagnome-interpreter.js +12 -0
  189. package/dist/cards/impl/minion/mechagnome-interpreter.js.map +1 -0
  190. package/dist/cards/impl/minion/menagerie-jug.js +1 -0
  191. package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
  192. package/dist/cards/impl/minion/metallic-hunter.d.ts +2 -0
  193. package/dist/cards/impl/minion/metallic-hunter.js +13 -0
  194. package/dist/cards/impl/minion/metallic-hunter.js.map +1 -0
  195. package/dist/cards/impl/minion/misfit-dragonling.js +1 -2
  196. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  197. package/dist/cards/impl/minion/monstrous-macaw.d.ts +2 -0
  198. package/dist/cards/impl/minion/monstrous-macaw.js +36 -0
  199. package/dist/cards/impl/minion/monstrous-macaw.js.map +1 -0
  200. package/dist/cards/impl/minion/murkbrine-expeditioner.d.ts +2 -0
  201. package/dist/cards/impl/minion/murkbrine-expeditioner.js +18 -0
  202. package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -0
  203. package/dist/cards/impl/minion/murky.js +3 -2
  204. package/dist/cards/impl/minion/murky.js.map +1 -1
  205. package/dist/cards/impl/minion/mutalisk.js +1 -1
  206. package/dist/cards/impl/minion/mutalisk.js.map +1 -1
  207. package/dist/cards/impl/minion/mutated-lasher.js +1 -2
  208. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  209. package/dist/cards/impl/minion/mythrax.js +1 -2
  210. package/dist/cards/impl/minion/mythrax.js.map +1 -1
  211. package/dist/cards/impl/minion/nerubian-deathswarmer.js +1 -0
  212. package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -1
  213. package/dist/cards/impl/minion/nightmare-par-tea-guest.d.ts +2 -0
  214. package/dist/cards/impl/minion/nightmare-par-tea-guest.js +19 -0
  215. package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -0
  216. package/dist/cards/impl/minion/noisul-of-the-many-faces.d.ts +2 -0
  217. package/dist/cards/impl/minion/noisul-of-the-many-faces.js +22 -0
  218. package/dist/cards/impl/minion/noisul-of-the-many-faces.js.map +1 -0
  219. package/dist/cards/impl/minion/oozeling-gladiator.js +1 -0
  220. package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -1
  221. package/dist/cards/impl/minion/parched-wanderer.js +2 -1
  222. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
  223. package/dist/cards/impl/minion/peggy-sturdybone.js +1 -2
  224. package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -1
  225. package/dist/cards/impl/minion/primalfin-lookout.js +1 -0
  226. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
  227. package/dist/cards/impl/minion/prized-promo-drake.js +1 -2
  228. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  229. package/dist/cards/impl/minion/razorfen-geomancer.js +1 -0
  230. package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -1
  231. package/dist/cards/impl/minion/razorgore-the-untamed.js +1 -2
  232. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
  233. package/dist/cards/impl/minion/rickety-repairbot.d.ts +2 -0
  234. package/dist/cards/impl/minion/rickety-repairbot.js +16 -0
  235. package/dist/cards/impl/minion/rickety-repairbot.js.map +1 -0
  236. package/dist/cards/impl/minion/ripsnarl-captain.js +1 -2
  237. package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -1
  238. package/dist/cards/impl/minion/roach.js +1 -1
  239. package/dist/cards/impl/minion/roach.js.map +1 -1
  240. package/dist/cards/impl/minion/rodeo-performer.js +1 -0
  241. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
  242. package/dist/cards/impl/minion/runed-progenitor.js +1 -1
  243. package/dist/cards/impl/minion/runed-progenitor.js.map +1 -1
  244. package/dist/cards/impl/minion/salty-hog.js +1 -2
  245. package/dist/cards/impl/minion/salty-hog.js.map +1 -1
  246. package/dist/cards/impl/minion/sanctum-rester.js +1 -2
  247. package/dist/cards/impl/minion/sanctum-rester.js.map +1 -1
  248. package/dist/cards/impl/minion/sanlayn-scribe.js +2 -2
  249. package/dist/cards/impl/minion/sanlayn-scribe.js.map +1 -1
  250. package/dist/cards/impl/minion/selfless-hero.d.ts +2 -0
  251. package/dist/cards/impl/minion/selfless-hero.js +25 -0
  252. package/dist/cards/impl/minion/selfless-hero.js.map +1 -0
  253. package/dist/cards/impl/minion/shadowdancer.d.ts +2 -0
  254. package/dist/cards/impl/minion/shadowdancer.js +13 -0
  255. package/dist/cards/impl/minion/shadowdancer.js.map +1 -0
  256. package/dist/cards/impl/minion/shell-collector.js +1 -0
  257. package/dist/cards/impl/minion/shell-collector.js.map +1 -1
  258. package/dist/cards/impl/minion/silithid-burrower.d.ts +2 -0
  259. package/dist/cards/impl/minion/silithid-burrower.js +18 -0
  260. package/dist/cards/impl/minion/silithid-burrower.js.map +1 -0
  261. package/dist/cards/impl/minion/silky-shimmermoth.d.ts +2 -0
  262. package/dist/cards/impl/minion/silky-shimmermoth.js +20 -0
  263. package/dist/cards/impl/minion/silky-shimmermoth.js.map +1 -0
  264. package/dist/cards/impl/minion/silver-handed-recruit.js +2 -1
  265. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
  266. package/dist/cards/impl/minion/skulking-bristlemane.d.ts +2 -0
  267. package/dist/cards/impl/minion/skulking-bristlemane.js +17 -0
  268. package/dist/cards/impl/minion/skulking-bristlemane.js.map +1 -0
  269. package/dist/cards/impl/minion/slumber-sorcerer.d.ts +2 -0
  270. package/dist/cards/impl/minion/slumber-sorcerer.js +13 -0
  271. package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -0
  272. package/dist/cards/impl/minion/smolderwing.js +2 -1
  273. package/dist/cards/impl/minion/smolderwing.js.map +1 -1
  274. package/dist/cards/impl/minion/soul-rewinder.js +5 -1
  275. package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
  276. package/dist/cards/impl/minion/spacefarer.js +1 -1
  277. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  278. package/dist/cards/impl/minion/spirited-whimsydrake.d.ts +2 -0
  279. package/dist/cards/impl/minion/spirited-whimsydrake.js +19 -0
  280. package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -0
  281. package/dist/cards/impl/minion/springy-spriggan.d.ts +2 -0
  282. package/dist/cards/impl/minion/springy-spriggan.js +21 -0
  283. package/dist/cards/impl/minion/springy-spriggan.js.map +1 -0
  284. package/dist/cards/impl/minion/surfing-slyvar.d.ts +2 -0
  285. package/dist/cards/impl/minion/surfing-slyvar.js +18 -0
  286. package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -0
  287. package/dist/cards/impl/minion/swampstriker.js +1 -1
  288. package/dist/cards/impl/minion/swampstriker.js.map +1 -1
  289. package/dist/cards/impl/minion/thorncaller.d.ts +2 -0
  290. package/dist/cards/impl/minion/thorncaller.js +19 -0
  291. package/dist/cards/impl/minion/thorncaller.js.map +1 -0
  292. package/dist/cards/impl/minion/thousandth-paper-drake.js +1 -2
  293. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  294. package/dist/cards/impl/minion/thundering-abomination.js +1 -2
  295. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
  296. package/dist/cards/impl/minion/turquoise-skitterer.js +1 -1
  297. package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -1
  298. package/dist/cards/impl/minion/twilight-primordium.js +2 -2
  299. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
  300. package/dist/cards/impl/minion/ultralisk.js +1 -2
  301. package/dist/cards/impl/minion/ultralisk.js.map +1 -1
  302. package/dist/cards/impl/minion/ultraviolet-ascendant.js +1 -1
  303. package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -1
  304. package/dist/cards/impl/minion/vaelastrasz.js +1 -2
  305. package/dist/cards/impl/minion/vaelastrasz.js.map +1 -1
  306. package/dist/cards/impl/minion/valiant-tiger.d.ts +2 -0
  307. package/dist/cards/impl/minion/valiant-tiger.js +18 -0
  308. package/dist/cards/impl/minion/valiant-tiger.js.map +1 -0
  309. package/dist/cards/impl/minion/void-ray.js +2 -2
  310. package/dist/cards/impl/minion/void-ray.js.map +1 -1
  311. package/dist/cards/impl/minion/vorkai-guardian.d.ts +2 -0
  312. package/dist/cards/impl/minion/vorkai-guardian.js +19 -0
  313. package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -0
  314. package/dist/cards/impl/minion/wandering-wight.js +1 -2
  315. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  316. package/dist/cards/impl/minion/whelp-smuggler.js +1 -2
  317. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  318. package/dist/cards/impl/minion/wisp-in-the-shell.js +2 -1
  319. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
  320. package/dist/cards/impl/quest-reward/staff-of-origination.js +1 -2
  321. package/dist/cards/impl/quest-reward/staff-of-origination.js.map +1 -1
  322. package/dist/cards/impl/trinket/all-purpose-kibble.d.ts +2 -0
  323. package/dist/cards/impl/trinket/all-purpose-kibble.js +14 -0
  324. package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -0
  325. package/dist/cards/impl/trinket/arm-of-the-empire.js +1 -2
  326. package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
  327. package/dist/cards/impl/trinket/baleful-incense.d.ts +2 -0
  328. package/dist/cards/impl/trinket/baleful-incense.js +22 -0
  329. package/dist/cards/impl/trinket/baleful-incense.js.map +1 -0
  330. package/dist/cards/impl/trinket/bassgill-portrait.d.ts +2 -0
  331. package/dist/cards/impl/trinket/bassgill-portrait.js +16 -0
  332. package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -0
  333. package/dist/cards/impl/trinket/battle-horn.d.ts +2 -0
  334. package/dist/cards/impl/trinket/battle-horn.js +20 -0
  335. package/dist/cards/impl/trinket/battle-horn.js.map +1 -0
  336. package/dist/cards/impl/trinket/beetle-band.d.ts +2 -0
  337. package/dist/cards/impl/trinket/beetle-band.js +18 -0
  338. package/dist/cards/impl/trinket/beetle-band.js.map +1 -0
  339. package/dist/cards/impl/trinket/bird-feeder.d.ts +2 -0
  340. package/dist/cards/impl/trinket/bird-feeder.js +13 -0
  341. package/dist/cards/impl/trinket/bird-feeder.js.map +1 -0
  342. package/dist/cards/impl/trinket/bronze-timepiece.js +1 -3
  343. package/dist/cards/impl/trinket/bronze-timepiece.js.map +1 -1
  344. package/dist/cards/impl/trinket/crocheted-sungill.d.ts +2 -0
  345. package/dist/cards/impl/trinket/crocheted-sungill.js +31 -0
  346. package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -0
  347. package/dist/cards/impl/trinket/divine-signet.d.ts +2 -0
  348. package/dist/cards/impl/trinket/divine-signet.js +14 -0
  349. package/dist/cards/impl/trinket/divine-signet.js.map +1 -0
  350. package/dist/cards/impl/trinket/eclectic-shrine.d.ts +2 -0
  351. package/dist/cards/impl/trinket/eclectic-shrine.js +36 -0
  352. package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -0
  353. package/dist/cards/impl/trinket/faerie-dragon-scale.d.ts +2 -0
  354. package/dist/cards/impl/trinket/faerie-dragon-scale.js +20 -0
  355. package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -0
  356. package/dist/cards/impl/trinket/herald-sticker.d.ts +2 -0
  357. package/dist/cards/impl/trinket/herald-sticker.js +21 -0
  358. package/dist/cards/impl/trinket/herald-sticker.js.map +1 -0
  359. package/dist/cards/impl/trinket/hogwash-basin.d.ts +2 -0
  360. package/dist/cards/impl/trinket/hogwash-basin.js +14 -0
  361. package/dist/cards/impl/trinket/hogwash-basin.js.map +1 -0
  362. package/dist/cards/impl/trinket/rivendare-portrait.js +1 -2
  363. package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
  364. package/dist/cards/impl/trinket/sthara-sticker.d.ts +2 -0
  365. package/dist/cards/impl/trinket/sthara-sticker.js +32 -0
  366. package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -0
  367. package/dist/cards/impl/trinket/tinyfin-onesie.js +1 -1
  368. package/dist/cards/impl/trinket/tinyfin-onesie.js.map +1 -1
  369. package/dist/cards/impl/trinket/unholy-sanctum.d.ts +2 -0
  370. package/dist/cards/impl/trinket/unholy-sanctum.js +15 -0
  371. package/dist/cards/impl/trinket/unholy-sanctum.js.map +1 -0
  372. package/dist/cards/impl/trinket/vashjir-anemone.d.ts +2 -0
  373. package/dist/cards/impl/trinket/vashjir-anemone.js +13 -0
  374. package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -0
  375. package/dist/cards/impl/trinket/yulon-sticker.d.ts +2 -0
  376. package/dist/cards/impl/trinket/yulon-sticker.js +20 -0
  377. package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -0
  378. package/dist/keywords/divine-shield.js +19 -6
  379. package/dist/keywords/divine-shield.js.map +1 -1
  380. package/dist/keywords/venomous.js +1 -1
  381. package/dist/keywords/venomous.js.map +1 -1
  382. package/dist/services/utils.d.ts +3 -0
  383. package/dist/services/utils.js.map +1 -1
  384. package/dist/simulate-bgs-battle.js +2 -0
  385. package/dist/simulate-bgs-battle.js.map +1 -1
  386. package/dist/simulation/add-minion-to-board.js +48 -29
  387. package/dist/simulation/add-minion-to-board.js.map +1 -1
  388. package/dist/simulation/after-attack.d.ts +11 -1
  389. package/dist/simulation/after-attack.js +20 -25
  390. package/dist/simulation/after-attack.js.map +1 -1
  391. package/dist/simulation/attack.d.ts +8 -0
  392. package/dist/simulation/attack.js +16 -3
  393. package/dist/simulation/attack.js.map +1 -1
  394. package/dist/simulation/auras.js +14 -12
  395. package/dist/simulation/auras.js.map +1 -1
  396. package/dist/simulation/avenge.js +12 -13
  397. package/dist/simulation/avenge.js.map +1 -1
  398. package/dist/simulation/battlecries.d.ts +1 -0
  399. package/dist/simulation/battlecries.js +28 -36
  400. package/dist/simulation/battlecries.js.map +1 -1
  401. package/dist/simulation/blood-gems.js +8 -3
  402. package/dist/simulation/blood-gems.js.map +1 -1
  403. package/dist/simulation/cards-in-hand.js +1 -2
  404. package/dist/simulation/cards-in-hand.js.map +1 -1
  405. package/dist/simulation/damage-effects.js +4 -8
  406. package/dist/simulation/damage-effects.js.map +1 -1
  407. package/dist/simulation/death-effects.js +1 -2
  408. package/dist/simulation/death-effects.js.map +1 -1
  409. package/dist/simulation/deathrattle-effects.js +25 -55
  410. package/dist/simulation/deathrattle-effects.js.map +1 -1
  411. package/dist/simulation/deathrattle-on-trigger.js +16 -2
  412. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  413. package/dist/simulation/deathrattle-spawns.d.ts +1 -0
  414. package/dist/simulation/deathrattle-spawns.js +7 -1
  415. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  416. package/dist/simulation/deathrattle-utils.d.ts +2 -1
  417. package/dist/simulation/deathrattle-utils.js +7 -3
  418. package/dist/simulation/deathrattle-utils.js.map +1 -1
  419. package/dist/simulation/discover.js +1 -1
  420. package/dist/simulation/discover.js.map +1 -1
  421. package/dist/simulation/magnetize.d.ts +9 -1
  422. package/dist/simulation/magnetize.js +17 -3
  423. package/dist/simulation/magnetize.js.map +1 -1
  424. package/dist/simulation/minion-death.js +1 -2
  425. package/dist/simulation/minion-death.js.map +1 -1
  426. package/dist/simulation/minion-kill.js +3 -3
  427. package/dist/simulation/minion-kill.js.map +1 -1
  428. package/dist/simulation/on-attack.js +24 -9
  429. package/dist/simulation/on-attack.js.map +1 -1
  430. package/dist/simulation/on-being-attacked.js +5 -10
  431. package/dist/simulation/on-being-attacked.js.map +1 -1
  432. package/dist/simulation/reborn.js +2 -4
  433. package/dist/simulation/reborn.js.map +1 -1
  434. package/dist/simulation/spawn-fail.js +1 -1
  435. package/dist/simulation/spawn-fail.js.map +1 -1
  436. package/dist/simulation/start-of-combat/soc-action-processor.js +0 -4
  437. package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  438. package/dist/simulation/start-of-combat/soc-illidan-hero-power.js +2 -4
  439. package/dist/simulation/start-of-combat/soc-illidan-hero-power.js.map +1 -1
  440. package/dist/simulation/start-of-combat/soc-minion.js +10 -2
  441. package/dist/simulation/start-of-combat/soc-minion.js.map +1 -1
  442. package/dist/simulation/start-of-combat/start-of-combat.js +23 -17
  443. package/dist/simulation/start-of-combat/start-of-combat.js.map +1 -1
  444. package/dist/simulation/stats.d.ts +3 -3
  445. package/dist/simulation/stats.js +13 -3
  446. package/dist/simulation/stats.js.map +1 -1
  447. package/dist/simulation/summon-when-space.js +15 -0
  448. package/dist/simulation/summon-when-space.js.map +1 -1
  449. package/dist/simulation/utils/golden.js +1 -1
  450. package/dist/simulation/utils/golden.js.map +1 -1
  451. package/dist/utils.js +11 -16
  452. package/dist/utils.js.map +1 -1
  453. package/package.json +2 -2
  454. package/dist/cards/impl/trinket/artisanal-urn.d.ts +0 -5
  455. package/dist/cards/impl/trinket/artisanal-urn.js +0 -13
  456. package/dist/cards/impl/trinket/artisanal-urn.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;aACpE;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const AmberGuardian = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// First try to get a target without divine shield, and if none is available, pick one with divine shield\r\n\t\tconst otherDragons = input.playerBoard\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId);\r\n\t\tconst loops = minion.cardId === CardIds.AmberGuardian_BG24_500_G ? 2 : 1;\r\n\t\tconst dragonsToConsider = otherDragons;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst otherDragon =\r\n\t\t\t\tpickRandom(dragonsToConsider.filter((e) => !e.divineShield)) ?? pickRandom(dragonsToConsider);\r\n\t\t\tif (otherDragon) {\r\n\t\t\t\tif (!otherDragon.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\totherDragon,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tmodifyStats(otherDragon, 2, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\totherDragon,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t\tdragonsToConsider.splice(dragonsToConsider.indexOf(otherDragon), 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/F,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;aACpE;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const AmberGuardian = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// First try to get a target without divine shield, and if none is available, pick one with divine shield\r\n\t\tconst otherDragons = input.playerBoard\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId);\r\n\t\tconst loops = minion.cardId === CardIds.AmberGuardian_BG24_500_G ? 2 : 1;\r\n\t\tconst dragonsToConsider = otherDragons;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst otherDragon =\r\n\t\t\t\tpickRandom(dragonsToConsider.filter((e) => !e.divineShield)) ?? pickRandom(dragonsToConsider);\r\n\t\t\tif (otherDragon) {\r\n\t\t\t\tif (!otherDragon.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\totherDragon,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tmodifyStats(otherDragon, minion, 2, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tdragonsToConsider.splice(dragonsToConsider.indexOf(otherDragon), 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,6 @@
1
+ import { BgsPlayerEntity } from '../../../bgs-player-entity';
2
+ import { BoardEntity } from '../../../board-entity';
3
+ import { FullGameState } from '../../../simulation/internal-game-state';
4
+ import { BattlecryCard } from '../../card.interface';
5
+ export declare const ApprenticeOfSefin: BattlecryCard;
6
+ export declare const grantRandomBonusKeywords: (target: BoardEntity, mult: number, board: BoardEntity[], hero: BgsPlayerEntity, otherHero: BgsPlayerEntity, gameState: FullGameState) => void;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.grantRandomBonusKeywords = exports.ApprenticeOfSefin = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const divine_shield_1 = require("../../../keywords/divine-shield");
6
+ const reborn_1 = require("../../../keywords/reborn");
7
+ const stealth_1 = require("../../../keywords/stealth");
8
+ const taunt_1 = require("../../../keywords/taunt");
9
+ const venomous_1 = require("../../../keywords/venomous");
10
+ const windfury_1 = require("../../../keywords/windfury");
11
+ const utils_1 = require("../../../services/utils");
12
+ const stats_1 = require("../../../simulation/stats");
13
+ const utils_2 = require("../../../utils");
14
+ const cards_data_1 = require("../../cards-data");
15
+ exports.ApprenticeOfSefin = {
16
+ cardIds: ["BG32_332", "BG32_332_G"],
17
+ battlecry: (minion, input) => {
18
+ const murlocs = input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.anomalies, input.gameState.allCards));
19
+ const target = (0, utils_1.pickRandom)(murlocs);
20
+ if (!target) {
21
+ return true;
22
+ }
23
+ const mult = minion.cardId === "BG32_332_G" ? 2 : 1;
24
+ (0, exports.grantRandomBonusKeywords)(target, mult, input.board, input.hero, input.otherHero, input.gameState);
25
+ (0, stats_1.modifyStats)(target, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);
26
+ return true;
27
+ },
28
+ };
29
+ const grantRandomBonusKeywords = (target, mult, board, hero, otherHero, gameState) => {
30
+ let possibleKeywords = [...cards_data_1.validBonusKeywords];
31
+ for (let i = 0; i < mult; i++) {
32
+ if (target.divineShield) {
33
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.DIVINE_SHIELD);
34
+ }
35
+ if (target.taunt) {
36
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.TAUNT);
37
+ }
38
+ if (target.venomous) {
39
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.VENOMOUS);
40
+ }
41
+ if (target.windfury) {
42
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.WINDFURY);
43
+ }
44
+ if (target.stealth) {
45
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.STEALTH);
46
+ }
47
+ if (target.reborn) {
48
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.REBORN);
49
+ }
50
+ if (possibleKeywords.length === 0) {
51
+ continue;
52
+ }
53
+ const targetKeyword = (0, utils_1.pickRandom)(possibleKeywords);
54
+ possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);
55
+ switch (targetKeyword) {
56
+ case reference_data_1.GameTag.DIVINE_SHIELD:
57
+ (0, divine_shield_1.updateDivineShield)(target, board, hero, otherHero, true, gameState);
58
+ break;
59
+ case reference_data_1.GameTag.TAUNT:
60
+ (0, taunt_1.updateTaunt)(target, true, board, hero, otherHero, gameState);
61
+ break;
62
+ case reference_data_1.GameTag.VENOMOUS:
63
+ (0, venomous_1.updateVenomous)(target, true, board, hero, otherHero, gameState);
64
+ break;
65
+ case reference_data_1.GameTag.WINDFURY:
66
+ (0, windfury_1.updateWindfury)(target, true, board, hero, otherHero, gameState);
67
+ break;
68
+ case reference_data_1.GameTag.STEALTH:
69
+ (0, stealth_1.updateStealth)(target, true, board, hero, otherHero, gameState);
70
+ break;
71
+ case reference_data_1.GameTag.REBORN:
72
+ (0, reborn_1.updateReborn)(target, true, board, hero, otherHero, gameState);
73
+ break;
74
+ }
75
+ }
76
+ };
77
+ exports.grantRandomBonusKeywords = grantRandomBonusKeywords;
78
+ //# sourceMappingURL=apprentice-of-sefin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apprentice-of-sefin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/apprentice-of-sefin.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, GameTag, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateStealth } from '../../../keywords/stealth';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { validBonusKeywords } from '../../cards-data';\r\n\r\nexport const ApprenticeOfSefin: BattlecryCard = {\r\n\tcardIds: [CardIds.ApprenticeOfSefin_BG32_332, CardIds.ApprenticeOfSefin_BG32_332_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst murlocs = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = pickRandom(murlocs);\r\n\t\tif (!target) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.ApprenticeOfSefin_BG32_332_G ? 2 : 1;\r\n\t\tgrantRandomBonusKeywords(target, mult, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\tmodifyStats(target, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n\r\nexport const grantRandomBonusKeywords = (\r\n\ttarget: BoardEntity,\r\n\tmult: number,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tlet possibleKeywords = [...validBonusKeywords];\r\n\tfor (let i = 0; i < mult; i++) {\r\n\t\tif (target.divineShield) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.DIVINE_SHIELD);\r\n\t\t}\r\n\t\tif (target.taunt) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.TAUNT);\r\n\t\t}\r\n\t\tif (target.venomous) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.VENOMOUS);\r\n\t\t}\r\n\t\tif (target.windfury) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.WINDFURY);\r\n\t\t}\r\n\t\tif (target.stealth) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.STEALTH);\r\n\t\t}\r\n\t\tif (target.reborn) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.REBORN);\r\n\t\t}\r\n\t\tif (possibleKeywords.length === 0) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tconst targetKeyword = pickRandom(possibleKeywords);\r\n\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);\r\n\t\tswitch (targetKeyword) {\r\n\t\t\tcase GameTag.DIVINE_SHIELD:\r\n\t\t\t\tupdateDivineShield(target, board, hero, otherHero, true, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.TAUNT:\r\n\t\t\t\tupdateTaunt(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.VENOMOUS:\r\n\t\t\t\tupdateVenomous(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.WINDFURY:\r\n\t\t\t\tupdateWindfury(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.STEALTH:\r\n\t\t\t\tupdateStealth(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.REBORN:\r\n\t\t\t\tupdateReborn(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\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 AshenCorruptor: AfterHeroDamagedCard;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AshenCorruptor = void 0;
4
+ exports.AshenCorruptor = {
5
+ cardIds: ["BG32_873", "BG32_873_G"],
6
+ afterHeroDamaged: (minion, input) => {
7
+ input.hero.hpLeft = input.hero.hpLeft + input.damage;
8
+ },
9
+ };
10
+ //# sourceMappingURL=ashen-corruptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ashen-corruptor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ashen-corruptor.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const AshenCorruptor: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.AshenCorruptor_BG32_873, CardIds.AshenCorruptor_BG32_873_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t},\r\n};\r\n"]}
@@ -15,8 +15,9 @@ exports.AssistantGuard = {
15
15
  input.gameState.spectator.registerPowerTarget(minion, assistantGuardTarget, input.board, input.hero, input.otherHero);
16
16
  }
17
17
  for (const entity of input.board.filter((e) => !!e.taunt)) {
18
- (0, stats_1.modifyStats)(entity, assistantGuardMultiplier * 2, assistantGuardMultiplier * 3, input.board, input.hero, input.gameState);
18
+ (0, stats_1.modifyStats)(entity, minion, assistantGuardMultiplier * 2, assistantGuardMultiplier * 3, input.board, input.hero, input.gameState);
19
19
  }
20
+ return true;
20
21
  },
21
22
  };
22
23
  //# sourceMappingURL=assistant-guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAA,mBAAW,EACV,MAAM,EACN,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const AssistantGuard: BattlecryCard = {\r\n\tcardIds: [CardIds.AssistantGuard_BG29_845, CardIds.AssistantGuard_BG29_845_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst assistantGuardMultiplier = minion.cardId === CardIds.AssistantGuard_BG29_845 ? 1 : 2;\r\n\t\tconst assistantGuardTarget = pickRandom(allMinions);\r\n\t\tif (assistantGuardTarget) {\r\n\t\t\tupdateTaunt(assistantGuardTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardTarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\tfor (const entity of input.board.filter((e) => !!e.taunt)) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tentity,\r\n\t\t\t\tassistantGuardMultiplier * 2,\r\n\t\t\t\tassistantGuardMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const AssistantGuard: BattlecryCard = {\r\n\tcardIds: [CardIds.AssistantGuard_BG29_845, CardIds.AssistantGuard_BG29_845_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst assistantGuardMultiplier = minion.cardId === CardIds.AssistantGuard_BG29_845 ? 1 : 2;\r\n\t\tconst assistantGuardTarget = pickRandom(allMinions);\r\n\t\tif (assistantGuardTarget) {\r\n\t\t\tupdateTaunt(assistantGuardTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardTarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\tfor (const entity of input.board.filter((e) => !!e.taunt)) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tentity,\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardMultiplier * 2,\r\n\t\t\t\tassistantGuardMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const AutoAssemblerEnchantment: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoAssemblerEnchantment = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.AutoAssemblerEnchantment = {
6
+ cardIds: [
7
+ "BG32_172e",
8
+ "BG32_172_Ge",
9
+ ],
10
+ deathrattleSpawnEnchantmentEffect: (minion, input) => {
11
+ const cardIdToSpawn = minion.cardId === "BG32_172_Ge"
12
+ ? "BG_TTN_401_G"
13
+ : "BG_TTN_401";
14
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardIdToSpawn, 1, input);
15
+ },
16
+ };
17
+ //# sourceMappingURL=auto-assembler-enchantment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-assembler-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/auto-assembler-enchantment.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,wBAAwB,GAAoC;IACxE,OAAO,EAAE;;;KAGR;IACD,iCAAiC,EAAE,CAClC,MAAmB,EACnB,KAAgC,EACP,EAAE;QAC3B,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,kBAA+D;YAC3E,CAAC;YACD,CAAC,aAAmC,CAAC;QACvC,OAAO,IAAA,4CAAuB,EAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\n\r\nexport const AutoAssemblerEnchantment: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [\r\n\t\tCardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172e,\r\n\t\tCardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172_Ge,\r\n\t],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): readonly BoardEntity[] => {\r\n\t\tconst cardIdToSpawn =\r\n\t\t\tminion.cardId === CardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172_Ge\r\n\t\t\t\t? CardIds.AstralAutomaton_BG_TTN_401_G\r\n\t\t\t\t: CardIds.AstralAutomaton_BG_TTN_401;\r\n\t\treturn simplifiedSpawnEntities(cardIdToSpawn, 1, input);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const AutoAssembler: DeathrattleSpawnCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoAssembler = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.AutoAssembler = {
6
+ cardIds: ["BG32_172", "BG32_172_G"],
7
+ deathrattleSpawn: (minion, input) => {
8
+ const cardIdToSpawn = minion.cardId === "BG32_172_G"
9
+ ? "BG_TTN_401_G"
10
+ : "BG_TTN_401";
11
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardIdToSpawn, 1, input);
12
+ },
13
+ };
14
+ //# sourceMappingURL=auto-assembler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-assembler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/auto-assembler.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,iBAAqC;YACjD,CAAC;YACD,CAAC,aAAmC,CAAC;QACvC,OAAO,IAAA,4CAAuB,EAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const AutoAssembler: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.AutoAssembler_BG32_172, CardIds.AutoAssembler_BG32_172_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst cardIdToSpawn =\r\n\t\t\tminion.cardId === CardIds.AutoAssembler_BG32_172_G\r\n\t\t\t\t? CardIds.AstralAutomaton_BG_TTN_401_G\r\n\t\t\t\t: CardIds.AstralAutomaton_BG_TTN_401;\r\n\t\treturn simplifiedSpawnEntities(cardIdToSpawn, 1, input);\r\n\t},\r\n};\r\n"]}
@@ -64,7 +64,7 @@ exports.Battlecruiser = {
64
64
  const buff = advancedBallistics.map((e) => { var _a; return (_a = e.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0);
65
65
  const targets = input.attackingBoard.filter((entity) => entity !== minion);
66
66
  for (const target of targets) {
67
- (0, stats_1.modifyStats)(target, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);
67
+ (0, stats_1.modifyStats)(target, minion, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);
68
68
  }
69
69
  return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
70
70
  },
@@ -80,8 +80,7 @@ exports.Battlecruiser = {
80
80
  return;
81
81
  }
82
82
  const buff = caduceusReactors.map((e) => { var _a; return (_a = e.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0);
83
- (0, stats_1.modifyStats)(target, buff, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
84
- input.gameState.spectator.registerPowerTarget(minion, target, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
83
+ (0, stats_1.modifyStats)(target, minion, buff, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
85
84
  },
86
85
  };
87
86
  //# sourceMappingURL=battlecruiser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"battlecruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/battlecruiser.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RebornEffectInput } from '../../../simulation/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getRandomMinionWithHighestHealth } from '../../../utils';\r\nimport { DeathrattleEffectCard, OnAttackCard, RebornSelfEffectCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Battlecruiser: StartOfCombatCard & RebornSelfEffectCard & OnAttackCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.LiftOff_BattlecruiserToken_BG31_HERO_801pt, CardIds.Battlecruiser_BG31_HERO_801pt_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// Enchantments can appear multiple times???\r\n\t\tconst yamatoCannons = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.YamatoCannon_YamatoCannonEnchantment_BG31_HERO_801ptce);\r\n\t\tif (!yamatoCannons?.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Still not sure how these should be processed\r\n\t\t// In some cases, it feels like it takes the sum of the damage, in other cases it runs them one after the other\r\n\t\t// (but maybe that's just the replay aggregating the values)\r\n\t\t// I'm not sure about the BACON_YAMATO_CANNON tag; it seems like it indicates multiple cannons, but I'm not sure\r\n\t\t// Other issues: looks like that if there are multiple cannon enchantments but no divine shield, everything is applied to the same target\r\n\t\t// So it looks as if the target is selected first, then everything targets it\r\n\t\t// https://replays.firestoneapp.com/?reviewId=e8f38ab0-3380-4275-88d8-0715d69d3f08&turn=21&action=1\r\n\t\t// Even more than that: the target is the same between multiple battlecruisers\r\n\t\t// https://replays.firestoneapp.com/?reviewId=cbfd6fe9-1a58-400a-a593-6b8852df5427&turn=9&action=0\r\n\t\t// However I'm pretty sure I've seen another behavior\r\n\t\t// Get the highest health opponent minion at the start of the phase\r\n\t\tconst aliveEntities = input.opponentBoard\r\n\t\t\t.filter((entity) => entity.health > 0 && !entity.definitelyDead)\r\n\t\t\t.map((e) => e.entityId);\r\n\t\tconst targetEntityId = getRandomMinionWithHighestHealth(\r\n\t\t\tinput.opponentBoardBefore.filter((e) => aliveEntities.includes(e.entityId)),\r\n\t\t)?.entityId;\r\n\t\t// const numberOfCannons = yamatoCannons.length;\r\n\t\tconst cannonDamage = Math.max(...yamatoCannons.map((e) => e.tagScriptDataNum1));\r\n\t\tfor (const yamatoCannon of yamatoCannons) {\r\n\t\t\t// const damage = yamatoCannon.tagScriptDataNum1;\r\n\t\t\t// Could this simply be tagScriptDataNum2 on the battlecruiser?\r\n\t\t\t// I don't understand how this relates to the number enchants in the cruiser itself\r\n\t\t\tconst loops = minion.tags?.[GameTag.BACON_YAMATO_CANNON] === 1 ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\t\tlet target = input.opponentBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\t\tif (!target || target.health <= 0 || target.definitelyDead) {\r\n\t\t\t\t\ttarget = getRandomMinionWithHighestHealth(input.opponentBoard);\r\n\t\t\t\t}\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tcannonDamage,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\trebornSelfEffect: (minion: BoardEntity, input: RebornEffectInput) => {\r\n\t\tconst ultraCapacitors = [...(input.rebornEntity.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.UltraCapacitor_UltraCapacitorEnchantment_BG31_HERO_801ptje);\r\n\t\tif (!ultraCapacitors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.enchantments = input.rebornEntity.enchantments;\r\n\t\tminion.attack = input.rebornEntity.maxAttack;\r\n\t\tminion.maxAttack = input.rebornEntity.maxAttack;\r\n\t\tminion.health = input.rebornEntity.maxHealth;\r\n\t\tminion.maxHealth = input.rebornEntity.maxHealth;\r\n\t\tminion.divineShield = input.rebornEntity.hadDivineShield;\r\n\t\tminion.taunt = input.rebornEntity.taunt;\r\n\t\tminion.windfury = input.rebornEntity.windfury;\r\n\t\tminion.poisonous = input.rebornEntity.poisonous;\r\n\t},\r\n\tonAnyMinionAttack: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnAttackInput,\r\n\t): {\r\n\t\tdmgDoneByAttacker: number;\r\n\t\tdmgDoneByDefender: number;\r\n\t} => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst advancedBallistics = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.AdvancedBallistics_AdvancedBallisticsEnchantment_BG31_HERO_801ptde);\r\n\t\tif (!advancedBallistics?.length) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = advancedBallistics.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tconst targets = input.attackingBoard.filter((entity) => entity !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst caduceusReactors = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.CaduceusReactor_CaduceusReactorEnchantment_BG31_HERO_801ptee);\r\n\t\tif (!caduceusReactors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst target = input.boardWithDeadEntity.filter((e) => e.health > 0 && !e.definitelyDead)[0];\r\n\t\tif (!target) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst buff = caduceusReactors.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tmodifyStats(target, buff, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\ttarget,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.otherBoardHero,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"battlecruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/battlecruiser.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RebornEffectInput } from '../../../simulation/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getRandomMinionWithHighestHealth } from '../../../utils';\r\nimport { DeathrattleEffectCard, OnAttackCard, RebornSelfEffectCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Battlecruiser: StartOfCombatCard & RebornSelfEffectCard & OnAttackCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.LiftOff_BattlecruiserToken_BG31_HERO_801pt, CardIds.Battlecruiser_BG31_HERO_801pt_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// Enchantments can appear multiple times???\r\n\t\tconst yamatoCannons = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.YamatoCannon_YamatoCannonEnchantment_BG31_HERO_801ptce);\r\n\t\tif (!yamatoCannons?.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Still not sure how these should be processed\r\n\t\t// In some cases, it feels like it takes the sum of the damage, in other cases it runs them one after the other\r\n\t\t// (but maybe that's just the replay aggregating the values)\r\n\t\t// I'm not sure about the BACON_YAMATO_CANNON tag; it seems like it indicates multiple cannons, but I'm not sure\r\n\t\t// Other issues: looks like that if there are multiple cannon enchantments but no divine shield, everything is applied to the same target\r\n\t\t// So it looks as if the target is selected first, then everything targets it\r\n\t\t// https://replays.firestoneapp.com/?reviewId=e8f38ab0-3380-4275-88d8-0715d69d3f08&turn=21&action=1\r\n\t\t// Even more than that: the target is the same between multiple battlecruisers\r\n\t\t// https://replays.firestoneapp.com/?reviewId=cbfd6fe9-1a58-400a-a593-6b8852df5427&turn=9&action=0\r\n\t\t// However I'm pretty sure I've seen another behavior\r\n\t\t// Get the highest health opponent minion at the start of the phase\r\n\t\tconst aliveEntities = input.opponentBoard\r\n\t\t\t.filter((entity) => entity.health > 0 && !entity.definitelyDead)\r\n\t\t\t.map((e) => e.entityId);\r\n\t\tconst targetEntityId = getRandomMinionWithHighestHealth(\r\n\t\t\tinput.opponentBoardBefore.filter((e) => aliveEntities.includes(e.entityId)),\r\n\t\t)?.entityId;\r\n\t\t// const numberOfCannons = yamatoCannons.length;\r\n\t\tconst cannonDamage = Math.max(...yamatoCannons.map((e) => e.tagScriptDataNum1));\r\n\t\tfor (const yamatoCannon of yamatoCannons) {\r\n\t\t\t// const damage = yamatoCannon.tagScriptDataNum1;\r\n\t\t\t// Could this simply be tagScriptDataNum2 on the battlecruiser?\r\n\t\t\t// I don't understand how this relates to the number enchants in the cruiser itself\r\n\t\t\tconst loops = minion.tags?.[GameTag.BACON_YAMATO_CANNON] === 1 ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\t\tlet target = input.opponentBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\t\tif (!target || target.health <= 0 || target.definitelyDead) {\r\n\t\t\t\t\ttarget = getRandomMinionWithHighestHealth(input.opponentBoard);\r\n\t\t\t\t}\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tcannonDamage,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\trebornSelfEffect: (minion: BoardEntity, input: RebornEffectInput) => {\r\n\t\tconst ultraCapacitors = [...(input.rebornEntity.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.UltraCapacitor_UltraCapacitorEnchantment_BG31_HERO_801ptje);\r\n\t\tif (!ultraCapacitors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.enchantments = input.rebornEntity.enchantments;\r\n\t\tminion.attack = input.rebornEntity.maxAttack;\r\n\t\tminion.maxAttack = input.rebornEntity.maxAttack;\r\n\t\tminion.health = input.rebornEntity.maxHealth;\r\n\t\tminion.maxHealth = input.rebornEntity.maxHealth;\r\n\t\tminion.divineShield = input.rebornEntity.hadDivineShield;\r\n\t\tminion.taunt = input.rebornEntity.taunt;\r\n\t\tminion.windfury = input.rebornEntity.windfury;\r\n\t\tminion.poisonous = input.rebornEntity.poisonous;\r\n\t},\r\n\tonAnyMinionAttack: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnAttackInput,\r\n\t): {\r\n\t\tdmgDoneByAttacker: number;\r\n\t\tdmgDoneByDefender: number;\r\n\t} => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst advancedBallistics = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.AdvancedBallistics_AdvancedBallisticsEnchantment_BG31_HERO_801ptde);\r\n\t\tif (!advancedBallistics?.length) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = advancedBallistics.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tconst targets = input.attackingBoard.filter((entity) => entity !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, minion, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst caduceusReactors = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.CaduceusReactor_CaduceusReactorEnchantment_BG31_HERO_801ptee);\r\n\t\tif (!caduceusReactors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst target = input.boardWithDeadEntity.filter((e) => e.health > 0 && !e.definitelyDead)[0];\r\n\t\tif (!target) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst buff = caduceusReactors.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tmodifyStats(\r\n\t\t\ttarget,\r\n\t\t\tminion,\r\n\t\t\tbuff,\r\n\t\t\tbuff,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -6,7 +6,7 @@ exports.Beetle = {
6
6
  cardIds: ["BG28_603t", "BG28_603t_G"],
7
7
  onSpawned: (minion, input) => {
8
8
  var _a, _b;
9
- (0, stats_1.modifyStats)(minion, 1 * ((_a = input.hero.globalInfo.BeetleAttackBuff) !== null && _a !== void 0 ? _a : 0), 1 * ((_b = input.hero.globalInfo.BeetleHealthBuff) !== null && _b !== void 0 ? _b : 0), input.board, input.hero, input.gameState);
9
+ (0, stats_1.modifyStats)(minion, minion, 1 * ((_a = input.hero.globalInfo.BeetleAttackBuff) !== null && _a !== void 0 ? _a : 0), 1 * ((_b = input.hero.globalInfo.BeetleHealthBuff) !== null && _b !== void 0 ? _b : 0), input.board, input.hero, input.gameState, false);
10
10
  },
11
11
  onDespawned: (minion, input) => {
12
12
  minion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);
@@ -1 +1 @@
1
- {"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,MAAM,GAAoC;IACtD,OAAO,EAAE,4BAAyE;IAClF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const Beetle: OnSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\t1 * (input.hero.globalInfo.BeetleAttackBuff ?? 0),\r\n\t\t\t1 * (input.hero.globalInfo.BeetleHealthBuff ?? 0),\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tminion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);\r\n\t\tminion.health = Math.max(1, minion.health - input.hero.globalInfo.BeetleHealthBuff);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,MAAM,GAAoC;IACtD,OAAO,EAAE,4BAAyE;IAClF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const Beetle: OnSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\t1 * (input.hero.globalInfo.BeetleAttackBuff ?? 0),\r\n\t\t\t1 * (input.hero.globalInfo.BeetleHealthBuff ?? 0),\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tminion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);\r\n\t\tminion.health = Math.max(1, minion.health - input.hero.globalInfo.BeetleHealthBuff);\r\n\t},\r\n};\r\n"]}
@@ -10,7 +10,7 @@ exports.BellowingTyrant = {
10
10
  input.hero.globalInfo.BeastsSummonedThisGame += 1;
11
11
  const mult = minion.cardId === "BG31_361_G" ? 2 : 1;
12
12
  const statsBonus = mult * input.hero.globalInfo.BeastsSummonedThisGame;
13
- (0, stats_1.modifyStats)(minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
13
+ (0, stats_1.modifyStats)(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
14
14
  },
15
15
  onDespawned: (minion, input) => {
16
16
  const mult = minion.cardId === "BG31_361_G" ? 2 : 1;
@@ -24,7 +24,7 @@ exports.BellowingTyrant = {
24
24
  input.hero.globalInfo.BeastsSummonedThisGame += 1;
25
25
  const mult = minion.cardId === "BG31_361_G" ? 2 : 1;
26
26
  const statsBonus = mult * 1;
27
- (0, stats_1.modifyStats)(minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
27
+ (0, stats_1.modifyStats)(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
28
28
  },
29
29
  };
30
30
  //# sourceMappingURL=bellowing-tyrant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bellowing-tyrant.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bellowing-tyrant.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAyD;IACpF,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/F,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACrG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACtG,CAAC;IACD,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,IACC,CAAC,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,EAC3G;YACD,OAAO;SACP;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;QAC5B,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/F,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnDespawnedCard, OnOtherSpawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const BellowingTyrant: OnSpawnedCard & OnOtherSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BellowingTyrant_BG31_361, CardIds.BellowingTyrant_BG31_361_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tinput.hero.globalInfo.BeastsSummonedThisGame += 1;\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tconst statsBonus = mult * input.hero.globalInfo.BeastsSummonedThisGame;\r\n\t\tmodifyStats(minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tminion.attack = Math.max(0, minion.attack - 3 * mult * input.hero.globalInfo.BeastsSummonedThisGame);\r\n\t\tminion.health = Math.max(1, minion.health - 2 * mult * input.hero.globalInfo.BeastsSummonedThisGame);\r\n\t},\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tinput.hero.globalInfo.BeastsSummonedThisGame += 1;\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tconst statsBonus = mult * 1;\r\n\t\tmodifyStats(minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bellowing-tyrant.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bellowing-tyrant.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAyD;IACpF,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACrG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACtG,CAAC;IACD,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,IACC,CAAC,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,EAC3G;YACD,OAAO;SACP;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;QAC5B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnDespawnedCard, OnOtherSpawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const BellowingTyrant: OnSpawnedCard & OnOtherSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BellowingTyrant_BG31_361, CardIds.BellowingTyrant_BG31_361_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tinput.hero.globalInfo.BeastsSummonedThisGame += 1;\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tconst statsBonus = mult * input.hero.globalInfo.BeastsSummonedThisGame;\r\n\t\tmodifyStats(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tminion.attack = Math.max(0, minion.attack - 3 * mult * input.hero.globalInfo.BeastsSummonedThisGame);\r\n\t\tminion.health = Math.max(1, minion.health - 2 * mult * input.hero.globalInfo.BeastsSummonedThisGame);\r\n\t},\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tinput.hero.globalInfo.BeastsSummonedThisGame += 1;\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tconst statsBonus = mult * 1;\r\n\t\tmodifyStats(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -6,7 +6,7 @@ exports.BlazingSkyfin = {
6
6
  cardIds: ["BG25_040", "BG25_040_G"],
7
7
  onBattlecryTriggered: (minion, input) => {
8
8
  const buff = minion.cardId === "BG25_040" ? 1 : 2;
9
- (0, stats_1.modifyStats)(minion, buff, buff, input.board, input.hero, input.gameState);
9
+ (0, stats_1.modifyStats)(minion, minion, buff, buff, input.board, input.hero, input.gameState);
10
10
  },
11
11
  };
12
12
  //# sourceMappingURL=blazing-skyfin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } 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 { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const BlazingSkyfin: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.BlazingSkyfin_BG25_040, CardIds.BlazingSkyfin_BG25_040_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BlazingSkyfin_BG25_040 ? 1 : 2;\r\n\t\tmodifyStats(minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const BlazingSkyfin: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.BlazingSkyfin_BG25_040, CardIds.BlazingSkyfin_BG25_040_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BlazingSkyfin_BG25_040 ? 1 : 2;\r\n\t\tmodifyStats(minion, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAttackCard } from '../../card.interface';
2
+ export declare const Bonker: OnAttackCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Bonker = void 0;
4
+ const blood_gems_1 = require("../../../simulation/blood-gems");
5
+ exports.Bonker = {
6
+ cardIds: ["BG20_104", "BG20_104_G"],
7
+ onAnyMinionAttack: (minion, input) => {
8
+ if (minion !== input.attacker) {
9
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
10
+ }
11
+ const mult = minion.cardId === "BG20_104_G" ? 2 : 1;
12
+ for (const target of input.attackingBoard) {
13
+ (0, blood_gems_1.playBloodGemsOn)(minion, target, 1 * mult, input.attackingBoard, input.attackingHero, input.gameState);
14
+ }
15
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
16
+ },
17
+ };
18
+ //# sourceMappingURL=bonker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bonker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bonker.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAIpD,QAAA,MAAM,GAAiB;IACnC,OAAO,EAAE,0BAAoD;IAC7D,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE;YAC1C,IAAA,4BAAe,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QAED,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const Bonker: OnAttackCard = {\r\n\tcardIds: [CardIds.Bonker_BG20_104, CardIds.Bonker_BG20_104_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.Bonker_BG20_104_G ? 2 : 1;\r\n\t\tfor (const target of input.attackingBoard) {\r\n\t\t\tplayBloodGemsOn(minion, target, 1 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const BronzeSteward: BattlecryCard & DeathrattleEffectCard;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BronzeSteward = 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.BronzeSteward = {
8
+ cardIds: ["BG32_824", "BG32_824_G"],
9
+ battlecry: (minion, input) => {
10
+ const mult = minion.cardId === "BG32_824_G" ? 2 : 1;
11
+ const targets = input.board
12
+ .filter((e) => e.entityId !== minion.entityId)
13
+ .filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
14
+ targets.forEach((target) => {
15
+ (0, stats_1.modifyStats)(target, minion, 7 * mult, 0, input.board, input.hero, input.gameState);
16
+ });
17
+ return true;
18
+ },
19
+ deathrattleEffect: (minion, input) => {
20
+ const mult = minion.cardId === "BG32_824_G" ? 2 : 1;
21
+ const targets = input.boardWithDeadEntity
22
+ .filter((e) => e.entityId !== minion.entityId)
23
+ .filter((e) => (0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
24
+ targets.forEach((target) => {
25
+ (0, stats_1.modifyStats)(target, minion, 7 * mult, 0, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
26
+ });
27
+ },
28
+ };
29
+ //# sourceMappingURL=bronze-steward.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bronze-steward.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bronze-steward.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAI7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0C;IACnE,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const BronzeSteward: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.BronzeSteward_BG32_824, CardIds.BronzeSteward_BG32_824_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(target, minion, 7 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t});\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.boardWithDeadEntity\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t7 * mult,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t});\r\n\t},\r\n};\r\n"]}
@@ -1,44 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BubbleGunner = void 0;
4
- const reference_data_1 = require("@firestone-hs/reference-data");
5
- const divine_shield_1 = require("../../../keywords/divine-shield");
6
- const reborn_1 = require("../../../keywords/reborn");
7
- const stealth_1 = require("../../../keywords/stealth");
8
- const taunt_1 = require("../../../keywords/taunt");
9
- const venomous_1 = require("../../../keywords/venomous");
10
- const windfury_1 = require("../../../keywords/windfury");
11
- const utils_1 = require("../../../services/utils");
12
- const cards_data_1 = require("../../cards-data");
4
+ const apprentice_of_sefin_1 = require("./apprentice-of-sefin");
13
5
  exports.BubbleGunner = {
14
6
  cardIds: ["BG31_149", "BG31_149_G"],
15
7
  battlecry: (minion, input) => {
16
- let possibleKeywords = [...cards_data_1.validBonusKeywords];
17
8
  const iterations = minion.cardId === "BG31_149_G" ? 2 : 1;
18
- for (let i = 0; i < iterations; i++) {
19
- const targetKeyword = (0, utils_1.pickRandom)(possibleKeywords);
20
- possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);
21
- switch (targetKeyword) {
22
- case reference_data_1.GameTag.DIVINE_SHIELD:
23
- (0, divine_shield_1.updateDivineShield)(minion, input.board, input.hero, input.otherHero, true, input.gameState);
24
- break;
25
- case reference_data_1.GameTag.TAUNT:
26
- (0, taunt_1.updateTaunt)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
27
- break;
28
- case reference_data_1.GameTag.VENOMOUS:
29
- (0, venomous_1.updateVenomous)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
30
- break;
31
- case reference_data_1.GameTag.WINDFURY:
32
- (0, windfury_1.updateWindfury)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
33
- break;
34
- case reference_data_1.GameTag.STEALTH:
35
- (0, stealth_1.updateStealth)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
36
- break;
37
- case reference_data_1.GameTag.REBORN:
38
- (0, reborn_1.updateReborn)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
39
- break;
40
- }
41
- }
9
+ (0, apprentice_of_sefin_1.grantRandomBonusKeywords)(minion, iterations, input.board, input.hero, input.otherHero, input.gameState);
10
+ return true;
42
11
  },
43
12
  };
44
13
  //# sourceMappingURL=bubble-gunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mEAAqE;AACrE,qDAAwD;AACxD,uDAA0D;AAC1D,mDAAsD;AACtD,yDAA4D;AAC5D,yDAA4D;AAC5D,mDAAqD;AAGrD,iDAAsD;AAEzC,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAI,gBAAgB,GAAG,CAAC,GAAG,+BAAkB,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;YACnD,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC;YACnG,QAAQ,aAAa,EAAE;gBACtB,KAAK,wBAAO,CAAC,aAAa;oBACzB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC5F,MAAM;gBACP,KAAK,wBAAO,CAAC,KAAK;oBACjB,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACrF,MAAM;gBACP,KAAK,wBAAO,CAAC,QAAQ;oBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACP,KAAK,wBAAO,CAAC,QAAQ;oBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACP,KAAK,wBAAO,CAAC,OAAO;oBACnB,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACvF,MAAM;gBACP,KAAK,wBAAO,CAAC,MAAM;oBAClB,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACtF,MAAM;aACP;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateStealth } from '../../../keywords/stealth';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { validBonusKeywords } from '../../cards-data';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [CardIds.BubbleGunner_BG31_149, CardIds.BubbleGunner_BG31_149_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tlet possibleKeywords = [...validBonusKeywords];\r\n\t\tconst iterations = minion.cardId === CardIds.BubbleGunner_BG31_149_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < iterations; i++) {\r\n\t\t\tconst targetKeyword = pickRandom(possibleKeywords);\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);\r\n\t\t\tswitch (targetKeyword) {\r\n\t\t\t\tcase GameTag.DIVINE_SHIELD:\r\n\t\t\t\t\tupdateDivineShield(minion, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.TAUNT:\r\n\t\t\t\t\tupdateTaunt(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.VENOMOUS:\r\n\t\t\t\t\tupdateVenomous(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.WINDFURY:\r\n\t\t\t\t\tupdateWindfury(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.STEALTH:\r\n\t\t\t\t\tupdateStealth(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.REBORN:\r\n\t\t\t\t\tupdateReborn(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAIA,+DAAiE;AAEpD,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,8CAAwB,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { grantRandomBonusKeywords } from './apprentice-of-sefin';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [CardIds.BubbleGunner_BG31_149, CardIds.BubbleGunner_BG31_149_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst iterations = minion.cardId === CardIds.BubbleGunner_BG31_149_G ? 2 : 1;\r\n\t\tgrantRandomBonusKeywords(minion, iterations, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -23,7 +23,7 @@ exports.Carrier = {
23
23
  : "BG31_HERO_802pt1t";
24
24
  const spawned = (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardId, 1, spawnInput);
25
25
  spawned.forEach((e) => {
26
- (0, stats_1.modifyStats)(e, statBuff, statBuff, input.board, input.hero, input.gameState);
26
+ (0, stats_1.modifyStats)(e, minion, statBuff, statBuff, input.board, input.hero, input.gameState, false);
27
27
  });
28
28
  minion.scriptDataNum1 = statBuff + singleStatBuff;
29
29
  return spawned;
@@ -1 +1 @@
1
- {"version":3,"file":"carrier.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/carrier.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,OAAO,GAAe;IAClC,OAAO,EAAE,0CAAoF;IAC7F,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAA0B,EAAE;;QAC3E,MAAM,UAAU,GAA8B;YAC7C,mBAAmB,EAAE,KAAK,CAAC,KAAK;YAChC,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,yBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,yBAAuC;YACnD,CAAC;YACD,CAAC,oBAAmD,CAAC;QACvD,MAAM,OAAO,GAAG,IAAA,4CAAuB,EAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,IAAA,mBAAW,EAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;QAClD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const Carrier: AvengeCard = {\r\n\tcardIds: [CardIds.WarpGate_CarrierToken_BG31_HERO_802pt1, CardIds.Carrier_BG31_HERO_802pt1_G],\r\n\tbaseAvengeValue: (cardId: string) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput): readonly BoardEntity[] => {\r\n\t\tconst spawnInput: DeathrattleTriggeredInput = {\r\n\t\t\tboardWithDeadEntity: input.board,\r\n\t\t\tboardWithDeadEntityHero: input.hero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\tdeadEntity: minion, // weird\r\n\t\t\totherBoard: input.otherBoard,\r\n\t\t\totherBoardHero: input.otherHero,\r\n\t\t};\r\n\t\tconst singleStatBuff = minion.cardId === CardIds.Carrier_BG31_HERO_802pt1_G ? 6 : 3;\r\n\t\tconst statBuff = minion.scriptDataNum1 ?? 0;\r\n\t\tconst cardId =\r\n\t\t\tminion.cardId === CardIds.Carrier_BG31_HERO_802pt1_G\r\n\t\t\t\t? CardIds.Interceptor_BG31_HERO_802pt1t_G\r\n\t\t\t\t: CardIds.Carrier_InterceptorToken_BG31_HERO_802pt1t;\r\n\t\tconst spawned = simplifiedSpawnEntities(cardId, 1, spawnInput);\r\n\t\tspawned.forEach((e) => {\r\n\t\t\tmodifyStats(e, statBuff, statBuff, input.board, input.hero, input.gameState);\r\n\t\t});\r\n\t\tminion.scriptDataNum1 = statBuff + singleStatBuff;\r\n\t\treturn spawned;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"carrier.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/carrier.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,OAAO,GAAe;IAClC,OAAO,EAAE,0CAAoF;IAC7F,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAA0B,EAAE;;QAC3E,MAAM,UAAU,GAA8B;YAC7C,mBAAmB,EAAE,KAAK,CAAC,KAAK;YAChC,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,yBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,yBAAuC;YACnD,CAAC;YACD,CAAC,oBAAmD,CAAC;QACvD,MAAM,OAAO,GAAG,IAAA,4CAAuB,EAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;QAClD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const Carrier: AvengeCard = {\r\n\tcardIds: [CardIds.WarpGate_CarrierToken_BG31_HERO_802pt1, CardIds.Carrier_BG31_HERO_802pt1_G],\r\n\tbaseAvengeValue: (cardId: string) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput): readonly BoardEntity[] => {\r\n\t\tconst spawnInput: DeathrattleTriggeredInput = {\r\n\t\t\tboardWithDeadEntity: input.board,\r\n\t\t\tboardWithDeadEntityHero: input.hero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\tdeadEntity: minion, // weird\r\n\t\t\totherBoard: input.otherBoard,\r\n\t\t\totherBoardHero: input.otherHero,\r\n\t\t};\r\n\t\tconst singleStatBuff = minion.cardId === CardIds.Carrier_BG31_HERO_802pt1_G ? 6 : 3;\r\n\t\tconst statBuff = minion.scriptDataNum1 ?? 0;\r\n\t\tconst cardId =\r\n\t\t\tminion.cardId === CardIds.Carrier_BG31_HERO_802pt1_G\r\n\t\t\t\t? CardIds.Interceptor_BG31_HERO_802pt1t_G\r\n\t\t\t\t: CardIds.Carrier_InterceptorToken_BG31_HERO_802pt1t;\r\n\t\tconst spawned = simplifiedSpawnEntities(cardId, 1, spawnInput);\r\n\t\tspawned.forEach((e) => {\r\n\t\t\tmodifyStats(e, minion, statBuff, statBuff, input.board, input.hero, input.gameState, false);\r\n\t\t});\r\n\t\tminion.scriptDataNum1 = statBuff + singleStatBuff;\r\n\t\treturn spawned;\r\n\t},\r\n};\r\n"]}
@@ -10,8 +10,7 @@ exports.ChoralMrrrglr = {
10
10
  ((_b = input.playerEntity.hand) === null || _b === void 0 ? void 0 : _b.map((e) => { var _a; return (_a = e.attack) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0)))) !== null && _c !== void 0 ? _c : 0;
11
11
  const healthBuff = (_f = (((_d = input.playerEntity.globalInfo) === null || _d === void 0 ? void 0 : _d.ChoralHealthBuff) ||
12
12
  ((_e = input.playerEntity.hand) === null || _e === void 0 ? void 0 : _e.map((e) => { var _a; return (_a = e.health) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0)))) !== null && _f !== void 0 ? _f : 0;
13
- (0, stats_1.modifyStats)(minion, multiplier * attackBuff, multiplier * healthBuff, input.playerBoard, input.playerEntity, input.gameState);
14
- input.gameState.spectator.registerPowerTarget(minion, minion, input.playerBoard, input.playerEntity, input.opponentEntity);
13
+ (0, stats_1.modifyStats)(minion, minion, multiplier * attackBuff, multiplier * healthBuff, input.playerBoard, input.playerEntity, input.gameState);
15
14
  return true;
16
15
  },
17
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"choral-mrrrglr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/choral-mrrrglr.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAE3C,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,IAAA,mBAAW,EACV,MAAM,EACN,UAAU,GAAG,UAAU,EACvB,UAAU,GAAG,UAAU,EACvB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\n\r\nexport const ChoralMrrrglr = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.ChoralMrrrglr_BG26_354_G ? 2 : 1;\r\n\t\t// When it's summoned by Y'Shaarj hero power, the info isn't set\r\n\t\tconst attackBuff =\r\n\t\t\t(input.playerEntity.globalInfo?.ChoralAttackBuff ||\r\n\t\t\t\tinput.playerEntity.hand?.map((e) => e.attack ?? 0).reduce((a, b) => a + b, 0)) ??\r\n\t\t\t0;\r\n\t\tconst healthBuff =\r\n\t\t\t(input.playerEntity.globalInfo?.ChoralHealthBuff ||\r\n\t\t\t\tinput.playerEntity.hand?.map((e) => e.health ?? 0).reduce((a, b) => a + b, 0)) ??\r\n\t\t\t0;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tmultiplier * attackBuff,\r\n\t\t\tmultiplier * healthBuff,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentEntity,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"choral-mrrrglr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/choral-mrrrglr.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAE3C,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,UAAU,EACvB,UAAU,GAAG,UAAU,EACvB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\n\r\nexport const ChoralMrrrglr = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.ChoralMrrrglr_BG26_354_G ? 2 : 1;\r\n\t\t// When it's summoned by Y'Shaarj hero power, the info isn't set\r\n\t\tconst attackBuff =\r\n\t\t\t(input.playerEntity.globalInfo?.ChoralAttackBuff ||\r\n\t\t\t\tinput.playerEntity.hand?.map((e) => e.attack ?? 0).reduce((a, b) => a + b, 0)) ??\r\n\t\t\t0;\r\n\t\tconst healthBuff =\r\n\t\t\t(input.playerEntity.globalInfo?.ChoralHealthBuff ||\r\n\t\t\t\tinput.playerEntity.hand?.map((e) => e.health ?? 0).reduce((a, b) => a + b, 0)) ??\r\n\t\t\t0;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tmultiplier * attackBuff,\r\n\t\t\tmultiplier * healthBuff,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}