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

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 (468) 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 +124 -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/amplifying-lightspawn.d.ts +2 -0
  28. package/dist/cards/impl/minion/amplifying-lightspawn.js +13 -0
  29. package/dist/cards/impl/minion/amplifying-lightspawn.js.map +1 -0
  30. package/dist/cards/impl/minion/apprentice-of-sefin.d.ts +6 -0
  31. package/dist/cards/impl/minion/apprentice-of-sefin.js +78 -0
  32. package/dist/cards/impl/minion/apprentice-of-sefin.js.map +1 -0
  33. package/dist/cards/impl/minion/ashen-corruptor.d.ts +2 -0
  34. package/dist/cards/impl/minion/ashen-corruptor.js +10 -0
  35. package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -0
  36. package/dist/cards/impl/minion/assistant-guard.js +2 -1
  37. package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
  38. package/dist/cards/impl/minion/auto-assembler-enchantment.d.ts +2 -0
  39. package/dist/cards/impl/minion/auto-assembler-enchantment.js +17 -0
  40. package/dist/cards/impl/minion/auto-assembler-enchantment.js.map +1 -0
  41. package/dist/cards/impl/minion/auto-assembler.d.ts +2 -0
  42. package/dist/cards/impl/minion/auto-assembler.js +14 -0
  43. package/dist/cards/impl/minion/auto-assembler.js.map +1 -0
  44. package/dist/cards/impl/minion/battlecruiser.js +2 -3
  45. package/dist/cards/impl/minion/battlecruiser.js.map +1 -1
  46. package/dist/cards/impl/minion/beetle.js +1 -1
  47. package/dist/cards/impl/minion/beetle.js.map +1 -1
  48. package/dist/cards/impl/minion/bellowing-tyrant.js +2 -2
  49. package/dist/cards/impl/minion/bellowing-tyrant.js.map +1 -1
  50. package/dist/cards/impl/minion/blazing-skyfin.js +1 -1
  51. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
  52. package/dist/cards/impl/minion/bonker.d.ts +2 -0
  53. package/dist/cards/impl/minion/bonker.js +18 -0
  54. package/dist/cards/impl/minion/bonker.js.map +1 -0
  55. package/dist/cards/impl/minion/bronze-steward.d.ts +2 -0
  56. package/dist/cards/impl/minion/bronze-steward.js +29 -0
  57. package/dist/cards/impl/minion/bronze-steward.js.map +1 -0
  58. package/dist/cards/impl/minion/bubble-gunner.js +3 -34
  59. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
  60. package/dist/cards/impl/minion/carrier.js +1 -1
  61. package/dist/cards/impl/minion/carrier.js.map +1 -1
  62. package/dist/cards/impl/minion/choral-mrrrglr.js +1 -2
  63. package/dist/cards/impl/minion/choral-mrrrglr.js.map +1 -1
  64. package/dist/cards/impl/minion/clunker-junker.js +2 -1
  65. package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
  66. package/dist/cards/impl/minion/coilskar-sapper.d.ts +2 -0
  67. package/dist/cards/impl/minion/coilskar-sapper.js +13 -0
  68. package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -0
  69. package/dist/cards/impl/minion/corrupted-bristler.d.ts +2 -0
  70. package/dist/cards/impl/minion/corrupted-bristler.js +32 -0
  71. package/dist/cards/impl/minion/corrupted-bristler.js.map +1 -0
  72. package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -2
  73. package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
  74. package/dist/cards/impl/minion/crabby.js +1 -2
  75. package/dist/cards/impl/minion/crabby.js.map +1 -1
  76. package/dist/cards/impl/minion/dastardly-drust.d.ts +2 -0
  77. package/dist/cards/impl/minion/dastardly-drust.js +20 -0
  78. package/dist/cards/impl/minion/dastardly-drust.js.map +1 -0
  79. package/dist/cards/impl/minion/deadstomper.js +1 -2
  80. package/dist/cards/impl/minion/deadstomper.js.map +1 -1
  81. package/dist/cards/impl/minion/deflecto-bot.js +1 -2
  82. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
  83. package/dist/cards/impl/minion/diremuck-forager.js +1 -2
  84. package/dist/cards/impl/minion/diremuck-forager.js.map +1 -1
  85. package/dist/cards/impl/minion/dreaming-thornweaver.d.ts +2 -0
  86. package/dist/cards/impl/minion/dreaming-thornweaver.js +17 -0
  87. package/dist/cards/impl/minion/dreaming-thornweaver.js.map +1 -0
  88. package/dist/cards/impl/minion/drustfallen-butcher.d.ts +2 -0
  89. package/dist/cards/impl/minion/drustfallen-butcher.js +14 -0
  90. package/dist/cards/impl/minion/drustfallen-butcher.js.map +1 -0
  91. package/dist/cards/impl/minion/echoing-roar.js +1 -2
  92. package/dist/cards/impl/minion/echoing-roar.js.map +1 -1
  93. package/dist/cards/impl/minion/efficient-engineer.js +6 -1
  94. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
  95. package/dist/cards/impl/minion/elder-taggawag.js +1 -2
  96. package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
  97. package/dist/cards/impl/minion/electric-synthesizer.js +3 -2
  98. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
  99. package/dist/cards/impl/minion/elite-navigator.d.ts +2 -0
  100. package/dist/cards/impl/minion/elite-navigator.js +24 -0
  101. package/dist/cards/impl/minion/elite-navigator.js.map +1 -0
  102. package/dist/cards/impl/minion/fauna-whisperer.d.ts +2 -0
  103. package/dist/cards/impl/minion/fauna-whisperer.js +29 -0
  104. package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -0
  105. package/dist/cards/impl/minion/fire-forged-evoker.d.ts +2 -0
  106. package/dist/cards/impl/minion/fire-forged-evoker.js +14 -0
  107. package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -0
  108. package/dist/cards/impl/minion/firescale-hoarder.d.ts +2 -0
  109. package/dist/cards/impl/minion/firescale-hoarder.js +19 -0
  110. package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -0
  111. package/dist/cards/impl/minion/flighty-scout.d.ts +2 -0
  112. package/dist/cards/impl/minion/flighty-scout.js +24 -0
  113. package/dist/cards/impl/minion/flighty-scout.js.map +1 -0
  114. package/dist/cards/impl/minion/forest-rover.js +2 -1
  115. package/dist/cards/impl/minion/forest-rover.js.map +1 -1
  116. package/dist/cards/impl/minion/fountain-chiller.js +2 -2
  117. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
  118. package/dist/cards/impl/minion/gem-smuggler.js +1 -0
  119. package/dist/cards/impl/minion/gem-smuggler.js.map +1 -1
  120. package/dist/cards/impl/minion/general-drakkisath.js +1 -0
  121. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
  122. package/dist/cards/impl/minion/gentle-djinni.js +1 -0
  123. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
  124. package/dist/cards/impl/minion/gentle-stag.js +7 -3
  125. package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
  126. package/dist/cards/impl/minion/glowgullet-warlord.d.ts +2 -0
  127. package/dist/cards/impl/minion/glowgullet-warlord.js +15 -0
  128. package/dist/cards/impl/minion/glowgullet-warlord.js.map +1 -0
  129. package/dist/cards/impl/minion/glowing-cinder.d.ts +2 -0
  130. package/dist/cards/impl/minion/glowing-cinder.js +11 -0
  131. package/dist/cards/impl/minion/glowing-cinder.js.map +1 -0
  132. package/dist/cards/impl/minion/goldgrubber.d.ts +2 -0
  133. package/dist/cards/impl/minion/goldgrubber.js +16 -0
  134. package/dist/cards/impl/minion/goldgrubber.js.map +1 -0
  135. package/dist/cards/impl/minion/gormling-gourmet.d.ts +2 -0
  136. package/dist/cards/impl/minion/gormling-gourmet.js +19 -0
  137. package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -0
  138. package/dist/cards/impl/minion/grease-bot.js +1 -2
  139. package/dist/cards/impl/minion/grease-bot.js.map +1 -1
  140. package/dist/cards/impl/minion/greenskeeper.d.ts +2 -0
  141. package/dist/cards/impl/minion/greenskeeper.js +18 -0
  142. package/dist/cards/impl/minion/greenskeeper.js.map +1 -0
  143. package/dist/cards/impl/minion/grimscale-elegist.d.ts +2 -0
  144. package/dist/cards/impl/minion/grimscale-elegist.js +20 -0
  145. package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -0
  146. package/dist/cards/impl/minion/gritty-headhunter.js +1 -0
  147. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
  148. package/dist/cards/impl/minion/hackerfin.js +3 -2
  149. package/dist/cards/impl/minion/hackerfin.js.map +1 -1
  150. package/dist/cards/impl/minion/hawkstrider-herald.js +1 -1
  151. package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
  152. package/dist/cards/impl/minion/hoarding-hatespawn.js +1 -1
  153. package/dist/cards/impl/minion/hoarding-hatespawn.js.map +1 -1
  154. package/dist/cards/impl/minion/hungry-snapjaw.js +1 -1
  155. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  156. package/dist/cards/impl/minion/hydralisk.js +1 -1
  157. package/dist/cards/impl/minion/hydralisk.js.map +1 -1
  158. package/dist/cards/impl/minion/ignition-specialist.d.ts +2 -0
  159. package/dist/cards/impl/minion/ignition-specialist.js +16 -0
  160. package/dist/cards/impl/minion/ignition-specialist.js.map +1 -0
  161. package/dist/cards/impl/minion/immortal.js +1 -2
  162. package/dist/cards/impl/minion/immortal.js.map +1 -1
  163. package/dist/cards/impl/minion/implant-subject.js +1 -1
  164. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  165. package/dist/cards/impl/minion/imposing-percussionist.js +1 -0
  166. package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
  167. package/dist/cards/impl/minion/impulsive-trickster.js +13 -1
  168. package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -1
  169. package/dist/cards/impl/minion/inspiring-underdog.js +2 -2
  170. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
  171. package/dist/cards/impl/minion/irate-rooster.js +1 -1
  172. package/dist/cards/impl/minion/irate-rooster.js.map +1 -1
  173. package/dist/cards/impl/minion/king-bagurgle.js +4 -3
  174. package/dist/cards/impl/minion/king-bagurgle.js.map +1 -1
  175. package/dist/cards/impl/minion/lightfang-enforcer.js +1 -1
  176. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
  177. package/dist/cards/impl/minion/lokholar-frostforger.d.ts +2 -0
  178. package/dist/cards/impl/minion/lokholar-frostforger.js +17 -0
  179. package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -0
  180. package/dist/cards/impl/minion/lovesick-balladist.js +6 -3
  181. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
  182. package/dist/cards/impl/minion/low-flier.js +1 -1
  183. package/dist/cards/impl/minion/low-flier.js.map +1 -1
  184. package/dist/cards/impl/minion/lurker.js +1 -1
  185. package/dist/cards/impl/minion/lurker.js.map +1 -1
  186. package/dist/cards/impl/minion/mantid-queen.js +1 -1
  187. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  188. package/dist/cards/impl/minion/maw-caster.d.ts +2 -0
  189. package/dist/cards/impl/minion/maw-caster.js +25 -0
  190. package/dist/cards/impl/minion/maw-caster.js.map +1 -0
  191. package/dist/cards/impl/minion/mecha-jaraxxus.js +1 -0
  192. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
  193. package/dist/cards/impl/minion/mechagnome-interpreter.d.ts +2 -0
  194. package/dist/cards/impl/minion/mechagnome-interpreter.js +12 -0
  195. package/dist/cards/impl/minion/mechagnome-interpreter.js.map +1 -0
  196. package/dist/cards/impl/minion/menagerie-jug.js +1 -0
  197. package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
  198. package/dist/cards/impl/minion/metallic-hunter.d.ts +2 -0
  199. package/dist/cards/impl/minion/metallic-hunter.js +13 -0
  200. package/dist/cards/impl/minion/metallic-hunter.js.map +1 -0
  201. package/dist/cards/impl/minion/misfit-dragonling.js +1 -2
  202. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  203. package/dist/cards/impl/minion/monstrous-macaw.d.ts +2 -0
  204. package/dist/cards/impl/minion/monstrous-macaw.js +36 -0
  205. package/dist/cards/impl/minion/monstrous-macaw.js.map +1 -0
  206. package/dist/cards/impl/minion/murkbrine-expeditioner.d.ts +2 -0
  207. package/dist/cards/impl/minion/murkbrine-expeditioner.js +18 -0
  208. package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -0
  209. package/dist/cards/impl/minion/murky.js +3 -2
  210. package/dist/cards/impl/minion/murky.js.map +1 -1
  211. package/dist/cards/impl/minion/mutalisk.js +1 -1
  212. package/dist/cards/impl/minion/mutalisk.js.map +1 -1
  213. package/dist/cards/impl/minion/mutated-lasher.js +1 -2
  214. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  215. package/dist/cards/impl/minion/mythrax.js +1 -2
  216. package/dist/cards/impl/minion/mythrax.js.map +1 -1
  217. package/dist/cards/impl/minion/nerubian-deathswarmer.js +1 -0
  218. package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -1
  219. package/dist/cards/impl/minion/nightmare-par-tea-guest.d.ts +2 -0
  220. package/dist/cards/impl/minion/nightmare-par-tea-guest.js +19 -0
  221. package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -0
  222. package/dist/cards/impl/minion/noisul-of-the-many-faces.d.ts +2 -0
  223. package/dist/cards/impl/minion/noisul-of-the-many-faces.js +22 -0
  224. package/dist/cards/impl/minion/noisul-of-the-many-faces.js.map +1 -0
  225. package/dist/cards/impl/minion/oozeling-gladiator.js +1 -0
  226. package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -1
  227. package/dist/cards/impl/minion/parched-wanderer.js +2 -1
  228. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
  229. package/dist/cards/impl/minion/peggy-sturdybone.js +1 -2
  230. package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -1
  231. package/dist/cards/impl/minion/primalfin-lookout.js +1 -0
  232. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
  233. package/dist/cards/impl/minion/prized-promo-drake.js +1 -2
  234. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  235. package/dist/cards/impl/minion/razorfen-geomancer.js +1 -0
  236. package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -1
  237. package/dist/cards/impl/minion/razorgore-the-untamed.js +1 -2
  238. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
  239. package/dist/cards/impl/minion/rickety-repairbot.d.ts +2 -0
  240. package/dist/cards/impl/minion/rickety-repairbot.js +16 -0
  241. package/dist/cards/impl/minion/rickety-repairbot.js.map +1 -0
  242. package/dist/cards/impl/minion/ripsnarl-captain.js +1 -2
  243. package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -1
  244. package/dist/cards/impl/minion/roach.js +1 -1
  245. package/dist/cards/impl/minion/roach.js.map +1 -1
  246. package/dist/cards/impl/minion/rodeo-performer.js +1 -0
  247. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
  248. package/dist/cards/impl/minion/runed-progenitor.js +1 -1
  249. package/dist/cards/impl/minion/runed-progenitor.js.map +1 -1
  250. package/dist/cards/impl/minion/salty-hog.js +1 -2
  251. package/dist/cards/impl/minion/salty-hog.js.map +1 -1
  252. package/dist/cards/impl/minion/sanctum-rester.js +1 -2
  253. package/dist/cards/impl/minion/sanctum-rester.js.map +1 -1
  254. package/dist/cards/impl/minion/sand-swirler.d.ts +2 -0
  255. package/dist/cards/impl/minion/sand-swirler.js +12 -0
  256. package/dist/cards/impl/minion/sand-swirler.js.map +1 -0
  257. package/dist/cards/impl/minion/sanlayn-scribe.js +2 -2
  258. package/dist/cards/impl/minion/sanlayn-scribe.js.map +1 -1
  259. package/dist/cards/impl/minion/selfless-hero.d.ts +2 -0
  260. package/dist/cards/impl/minion/selfless-hero.js +25 -0
  261. package/dist/cards/impl/minion/selfless-hero.js.map +1 -0
  262. package/dist/cards/impl/minion/shadowdancer.d.ts +2 -0
  263. package/dist/cards/impl/minion/shadowdancer.js +13 -0
  264. package/dist/cards/impl/minion/shadowdancer.js.map +1 -0
  265. package/dist/cards/impl/minion/sharptooth-snapper.d.ts +2 -0
  266. package/dist/cards/impl/minion/sharptooth-snapper.js +8 -0
  267. package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -0
  268. package/dist/cards/impl/minion/shell-collector.js +1 -0
  269. package/dist/cards/impl/minion/shell-collector.js.map +1 -1
  270. package/dist/cards/impl/minion/silithid-burrower.d.ts +2 -0
  271. package/dist/cards/impl/minion/silithid-burrower.js +18 -0
  272. package/dist/cards/impl/minion/silithid-burrower.js.map +1 -0
  273. package/dist/cards/impl/minion/silky-shimmermoth.d.ts +2 -0
  274. package/dist/cards/impl/minion/silky-shimmermoth.js +20 -0
  275. package/dist/cards/impl/minion/silky-shimmermoth.js.map +1 -0
  276. package/dist/cards/impl/minion/silver-handed-recruit.js +2 -1
  277. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
  278. package/dist/cards/impl/minion/skulking-bristlemane.d.ts +2 -0
  279. package/dist/cards/impl/minion/skulking-bristlemane.js +17 -0
  280. package/dist/cards/impl/minion/skulking-bristlemane.js.map +1 -0
  281. package/dist/cards/impl/minion/slumber-sorcerer.d.ts +2 -0
  282. package/dist/cards/impl/minion/slumber-sorcerer.js +13 -0
  283. package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -0
  284. package/dist/cards/impl/minion/smolderwing.js +2 -1
  285. package/dist/cards/impl/minion/smolderwing.js.map +1 -1
  286. package/dist/cards/impl/minion/soul-rewinder.js +5 -1
  287. package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
  288. package/dist/cards/impl/minion/spacefarer.js +1 -1
  289. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  290. package/dist/cards/impl/minion/spirited-whimsydrake.d.ts +2 -0
  291. package/dist/cards/impl/minion/spirited-whimsydrake.js +19 -0
  292. package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -0
  293. package/dist/cards/impl/minion/springy-spriggan.d.ts +2 -0
  294. package/dist/cards/impl/minion/springy-spriggan.js +21 -0
  295. package/dist/cards/impl/minion/springy-spriggan.js.map +1 -0
  296. package/dist/cards/impl/minion/surfing-slyvar.d.ts +2 -0
  297. package/dist/cards/impl/minion/surfing-slyvar.js +18 -0
  298. package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -0
  299. package/dist/cards/impl/minion/swampstriker.js +1 -1
  300. package/dist/cards/impl/minion/swampstriker.js.map +1 -1
  301. package/dist/cards/impl/minion/thorncaller.d.ts +2 -0
  302. package/dist/cards/impl/minion/thorncaller.js +19 -0
  303. package/dist/cards/impl/minion/thorncaller.js.map +1 -0
  304. package/dist/cards/impl/minion/thousandth-paper-drake.js +1 -2
  305. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  306. package/dist/cards/impl/minion/thundering-abomination.js +1 -2
  307. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
  308. package/dist/cards/impl/minion/turquoise-skitterer.js +1 -1
  309. package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -1
  310. package/dist/cards/impl/minion/twilight-primordium.js +2 -2
  311. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
  312. package/dist/cards/impl/minion/ultralisk.js +1 -2
  313. package/dist/cards/impl/minion/ultralisk.js.map +1 -1
  314. package/dist/cards/impl/minion/ultraviolet-ascendant.js +1 -1
  315. package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -1
  316. package/dist/cards/impl/minion/vaelastrasz.js +1 -2
  317. package/dist/cards/impl/minion/vaelastrasz.js.map +1 -1
  318. package/dist/cards/impl/minion/valiant-tiger.d.ts +2 -0
  319. package/dist/cards/impl/minion/valiant-tiger.js +18 -0
  320. package/dist/cards/impl/minion/valiant-tiger.js.map +1 -0
  321. package/dist/cards/impl/minion/void-ray.js +2 -2
  322. package/dist/cards/impl/minion/void-ray.js.map +1 -1
  323. package/dist/cards/impl/minion/vorkai-guardian.d.ts +2 -0
  324. package/dist/cards/impl/minion/vorkai-guardian.js +19 -0
  325. package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -0
  326. package/dist/cards/impl/minion/wandering-wight.js +1 -2
  327. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  328. package/dist/cards/impl/minion/whelp-smuggler.js +1 -2
  329. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  330. package/dist/cards/impl/minion/wisp-in-the-shell.js +2 -1
  331. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
  332. package/dist/cards/impl/quest-reward/staff-of-origination.js +1 -2
  333. package/dist/cards/impl/quest-reward/staff-of-origination.js.map +1 -1
  334. package/dist/cards/impl/trinket/all-purpose-kibble.d.ts +2 -0
  335. package/dist/cards/impl/trinket/all-purpose-kibble.js +14 -0
  336. package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -0
  337. package/dist/cards/impl/trinket/arm-of-the-empire.js +1 -2
  338. package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
  339. package/dist/cards/impl/trinket/baleful-incense.d.ts +2 -0
  340. package/dist/cards/impl/trinket/baleful-incense.js +22 -0
  341. package/dist/cards/impl/trinket/baleful-incense.js.map +1 -0
  342. package/dist/cards/impl/trinket/bassgill-portrait.d.ts +2 -0
  343. package/dist/cards/impl/trinket/bassgill-portrait.js +16 -0
  344. package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -0
  345. package/dist/cards/impl/trinket/battle-horn.d.ts +2 -0
  346. package/dist/cards/impl/trinket/battle-horn.js +20 -0
  347. package/dist/cards/impl/trinket/battle-horn.js.map +1 -0
  348. package/dist/cards/impl/trinket/beetle-band.d.ts +2 -0
  349. package/dist/cards/impl/trinket/beetle-band.js +18 -0
  350. package/dist/cards/impl/trinket/beetle-band.js.map +1 -0
  351. package/dist/cards/impl/trinket/bird-feeder.d.ts +2 -0
  352. package/dist/cards/impl/trinket/bird-feeder.js +13 -0
  353. package/dist/cards/impl/trinket/bird-feeder.js.map +1 -0
  354. package/dist/cards/impl/trinket/bronze-timepiece.js +1 -3
  355. package/dist/cards/impl/trinket/bronze-timepiece.js.map +1 -1
  356. package/dist/cards/impl/trinket/crocheted-sungill.d.ts +2 -0
  357. package/dist/cards/impl/trinket/crocheted-sungill.js +31 -0
  358. package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -0
  359. package/dist/cards/impl/trinket/divine-signet.d.ts +2 -0
  360. package/dist/cards/impl/trinket/divine-signet.js +14 -0
  361. package/dist/cards/impl/trinket/divine-signet.js.map +1 -0
  362. package/dist/cards/impl/trinket/eclectic-shrine.d.ts +2 -0
  363. package/dist/cards/impl/trinket/eclectic-shrine.js +36 -0
  364. package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -0
  365. package/dist/cards/impl/trinket/faerie-dragon-scale.d.ts +2 -0
  366. package/dist/cards/impl/trinket/faerie-dragon-scale.js +20 -0
  367. package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -0
  368. package/dist/cards/impl/trinket/herald-sticker.d.ts +2 -0
  369. package/dist/cards/impl/trinket/herald-sticker.js +21 -0
  370. package/dist/cards/impl/trinket/herald-sticker.js.map +1 -0
  371. package/dist/cards/impl/trinket/hogwash-basin.d.ts +2 -0
  372. package/dist/cards/impl/trinket/hogwash-basin.js +14 -0
  373. package/dist/cards/impl/trinket/hogwash-basin.js.map +1 -0
  374. package/dist/cards/impl/trinket/rivendare-portrait.js +1 -2
  375. package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
  376. package/dist/cards/impl/trinket/sthara-sticker.d.ts +2 -0
  377. package/dist/cards/impl/trinket/sthara-sticker.js +32 -0
  378. package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -0
  379. package/dist/cards/impl/trinket/tinyfin-onesie.js +1 -1
  380. package/dist/cards/impl/trinket/tinyfin-onesie.js.map +1 -1
  381. package/dist/cards/impl/trinket/unholy-sanctum.d.ts +2 -0
  382. package/dist/cards/impl/trinket/unholy-sanctum.js +15 -0
  383. package/dist/cards/impl/trinket/unholy-sanctum.js.map +1 -0
  384. package/dist/cards/impl/trinket/vashjir-anemone.d.ts +2 -0
  385. package/dist/cards/impl/trinket/vashjir-anemone.js +13 -0
  386. package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -0
  387. package/dist/cards/impl/trinket/yulon-sticker.d.ts +2 -0
  388. package/dist/cards/impl/trinket/yulon-sticker.js +20 -0
  389. package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -0
  390. package/dist/keywords/divine-shield.js +19 -6
  391. package/dist/keywords/divine-shield.js.map +1 -1
  392. package/dist/keywords/venomous.js +1 -1
  393. package/dist/keywords/venomous.js.map +1 -1
  394. package/dist/services/utils.d.ts +3 -0
  395. package/dist/services/utils.js.map +1 -1
  396. package/dist/simulate-bgs-battle.js +2 -0
  397. package/dist/simulate-bgs-battle.js.map +1 -1
  398. package/dist/simulation/add-minion-to-board.js +48 -29
  399. package/dist/simulation/add-minion-to-board.js.map +1 -1
  400. package/dist/simulation/after-attack.d.ts +11 -1
  401. package/dist/simulation/after-attack.js +20 -25
  402. package/dist/simulation/after-attack.js.map +1 -1
  403. package/dist/simulation/attack.d.ts +8 -0
  404. package/dist/simulation/attack.js +16 -3
  405. package/dist/simulation/attack.js.map +1 -1
  406. package/dist/simulation/auras.js +14 -12
  407. package/dist/simulation/auras.js.map +1 -1
  408. package/dist/simulation/avenge.js +12 -13
  409. package/dist/simulation/avenge.js.map +1 -1
  410. package/dist/simulation/battlecries.d.ts +1 -0
  411. package/dist/simulation/battlecries.js +28 -36
  412. package/dist/simulation/battlecries.js.map +1 -1
  413. package/dist/simulation/blood-gems.js +8 -3
  414. package/dist/simulation/blood-gems.js.map +1 -1
  415. package/dist/simulation/cards-in-hand.js +1 -2
  416. package/dist/simulation/cards-in-hand.js.map +1 -1
  417. package/dist/simulation/damage-effects.js +4 -8
  418. package/dist/simulation/damage-effects.js.map +1 -1
  419. package/dist/simulation/death-effects.js +1 -2
  420. package/dist/simulation/death-effects.js.map +1 -1
  421. package/dist/simulation/deathrattle-effects.js +25 -55
  422. package/dist/simulation/deathrattle-effects.js.map +1 -1
  423. package/dist/simulation/deathrattle-on-trigger.js +16 -2
  424. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  425. package/dist/simulation/deathrattle-spawns.d.ts +1 -0
  426. package/dist/simulation/deathrattle-spawns.js +7 -1
  427. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  428. package/dist/simulation/deathrattle-utils.d.ts +2 -1
  429. package/dist/simulation/deathrattle-utils.js +7 -3
  430. package/dist/simulation/deathrattle-utils.js.map +1 -1
  431. package/dist/simulation/discover.js +1 -1
  432. package/dist/simulation/discover.js.map +1 -1
  433. package/dist/simulation/magnetize.d.ts +9 -1
  434. package/dist/simulation/magnetize.js +17 -3
  435. package/dist/simulation/magnetize.js.map +1 -1
  436. package/dist/simulation/minion-death.js +1 -2
  437. package/dist/simulation/minion-death.js.map +1 -1
  438. package/dist/simulation/minion-kill.js +3 -3
  439. package/dist/simulation/minion-kill.js.map +1 -1
  440. package/dist/simulation/on-attack.js +24 -9
  441. package/dist/simulation/on-attack.js.map +1 -1
  442. package/dist/simulation/on-being-attacked.js +5 -10
  443. package/dist/simulation/on-being-attacked.js.map +1 -1
  444. package/dist/simulation/reborn.js +2 -4
  445. package/dist/simulation/reborn.js.map +1 -1
  446. package/dist/simulation/spawn-fail.js +1 -1
  447. package/dist/simulation/spawn-fail.js.map +1 -1
  448. package/dist/simulation/start-of-combat/soc-action-processor.js +0 -4
  449. package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  450. package/dist/simulation/start-of-combat/soc-illidan-hero-power.js +2 -4
  451. package/dist/simulation/start-of-combat/soc-illidan-hero-power.js.map +1 -1
  452. package/dist/simulation/start-of-combat/soc-minion.js +10 -2
  453. package/dist/simulation/start-of-combat/soc-minion.js.map +1 -1
  454. package/dist/simulation/start-of-combat/start-of-combat.js +23 -17
  455. package/dist/simulation/start-of-combat/start-of-combat.js.map +1 -1
  456. package/dist/simulation/stats.d.ts +3 -3
  457. package/dist/simulation/stats.js +13 -3
  458. package/dist/simulation/stats.js.map +1 -1
  459. package/dist/simulation/summon-when-space.js +13 -0
  460. package/dist/simulation/summon-when-space.js.map +1 -1
  461. package/dist/simulation/utils/golden.js +1 -1
  462. package/dist/simulation/utils/golden.js.map +1 -1
  463. package/dist/utils.js +11 -16
  464. package/dist/utils.js.map +1 -1
  465. package/package.json +2 -2
  466. package/dist/cards/impl/trinket/artisanal-urn.d.ts +0 -5
  467. package/dist/cards/impl/trinket/artisanal-urn.js +0 -13
  468. package/dist/cards/impl/trinket/artisanal-urn.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const FireForgedEvoker: StartOfCombatCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FireForgedEvoker = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../utils");
6
+ exports.FireForgedEvoker = {
7
+ cardIds: ["BG32_822", "BG32_822_G"],
8
+ startOfCombat: (minion, input) => {
9
+ const buff = minion.scriptDataNum1;
10
+ (0, utils_1.addStatsToBoard)(minion, input.playerBoard, input.playerEntity, buff, buff, input.gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
11
+ return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
12
+ },
13
+ };
14
+ //# sourceMappingURL=fire-forged-evoker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fire-forged-evoker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fire-forged-evoker.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;QACnC,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/G,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } 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 { addStatsToBoard } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const FireForgedEvoker: StartOfCombatCard = {\r\n\tcardIds: [CardIds.FireForgedEvoker_BG32_822, CardIds.FireForgedEvoker_BG32_822_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst buff = minion.scriptDataNum1;\r\n\t\taddStatsToBoard(minion, input.playerBoard, input.playerEntity, buff, buff, input.gameState, Race[Race.DRAGON]);\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const FirescaleHoarder: BattlecryCard & DeathrattleEffectCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirescaleHoarder = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.FirescaleHoarder = {
6
+ cardIds: ["BG32_820", "BG32_820_G"],
7
+ battlecry: (minion, input) => {
8
+ const mult = minion.cardId === "BG32_820_G" ? 2 : 1;
9
+ const cardsToAdd = Array(mult).fill("BG28_168");
10
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cardsToAdd, input.gameState);
11
+ return true;
12
+ },
13
+ deathrattleEffect: (minion, input) => {
14
+ const mult = minion.cardId === "BG32_820_G" ? 2 : 1;
15
+ const cardsToAdd = Array(mult).fill("BG28_168");
16
+ (0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);
17
+ },
18
+ };
19
+ //# sourceMappingURL=firescale-hoarder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firescale-hoarder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/firescale-hoarder.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,gBAAgB,GAA0C;IACtE,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA4B,CAAC;QAChE,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA4B,CAAC;QAChE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvG,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const FirescaleHoarder: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.FirescaleHoarder_BG32_820, CardIds.FirescaleHoarder_BG32_820_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FirescaleHoarder_BG32_820_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShinyRing_BG28_168);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FirescaleHoarder_BG32_820_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShinyRing_BG28_168);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { StartOfCombatFromHandCard } from '../../card.interface';
2
+ export declare const FlightyScout: StartOfCombatFromHandCard;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlightyScout = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ const spawns_1 = require("../../../simulation/spawns");
6
+ const utils_1 = require("../../../utils");
7
+ exports.FlightyScout = {
8
+ cardIds: ["BG32_330", "BG32_330_G"],
9
+ startOfCombatFromHand: true,
10
+ startOfCombat: (minion, input) => {
11
+ if (!input.playerEntity.hand.includes(minion)) {
12
+ return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
13
+ }
14
+ const copy = (0, utils_1.copyEntity)(minion);
15
+ if (minion.cardId === "BG32_330_G") {
16
+ copy.attack = 2 * copy.attack;
17
+ copy.health = 2 * copy.health;
18
+ }
19
+ const newMinions = (0, deathrattle_spawns_1.spawnEntities)(copy.cardId, 1, input.playerBoard, input.playerEntity, input.opponentBoard, input.opponentEntity, input.gameState, input.playerEntity.friendly, false, false, false, copy);
20
+ const spawns = (0, spawns_1.performEntitySpawns)(newMinions, input.playerBoard, input.playerEntity, minion, 0, input.opponentBoard, input.opponentEntity, input.gameState);
21
+ return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
22
+ },
23
+ };
24
+ //# sourceMappingURL=flighty-scout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flighty-scout.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/flighty-scout.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAEjE,0CAA4C;AAG/B,QAAA,YAAY,GAA8B;IACtD,OAAO,EAAE,0BAAgE;IACzE,qBAAqB,EAAE,IAAI;IAC3B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC9C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;SACtE;QAED,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,iBAAoC,EAAE;YACtD,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9B;QAED,MAAM,UAAU,GAAG,IAAA,kCAAa,EAC/B,IAAI,CAAC,MAAM,EACX,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,4BAAmB,EACjC,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { StartOfCombatFromHandCard } from '../../card.interface';\r\n\r\nexport const FlightyScout: StartOfCombatFromHandCard = {\r\n\tcardIds: [CardIds.FlightyScout_BG32_330, CardIds.FlightyScout_BG32_330_G],\r\n\tstartOfCombatFromHand: true,\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (!input.playerEntity.hand.includes(minion)) {\r\n\t\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t\t}\r\n\r\n\t\tconst copy = copyEntity(minion);\r\n\t\tif (minion.cardId === CardIds.FlightyScout_BG32_330_G) {\r\n\t\t\tcopy.attack = 2 * copy.attack;\r\n\t\t\tcopy.health = 2 * copy.health;\r\n\t\t}\r\n\r\n\t\tconst newMinions = spawnEntities(\r\n\t\t\tcopy.cardId,\r\n\t\t\t1,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t\tinput.playerEntity.friendly,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\tcopy,\r\n\t\t);\r\n\t\tconst spawns = performEntitySpawns(\r\n\t\t\tnewMinions,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tminion,\r\n\t\t\t0,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
@@ -16,8 +16,9 @@ exports.ForestRover = {
16
16
  input.board
17
17
  .filter((e) => ["BG28_603t", "BG28_603t_G"].includes(e.cardId))
18
18
  .forEach((e) => {
19
- (0, stats_1.modifyStats)(e, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);
19
+ (0, stats_1.modifyStats)(e, minion, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);
20
20
  });
21
+ return true;
21
22
  },
22
23
  };
23
24
  //# sourceMappingURL=forest-rover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forest-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forest-rover.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,IAAA,4CAAuB,eAA8C,cAAc,EAAE,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,4BAAyE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CACvG;aACA,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ForestRover: DeathrattleSpawnCard & BattlecryCard = {\r\n\tcardIds: [CardIds.ForestRover_BG31_801, CardIds.ForestRover_BG31_801_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === CardIds.ForestRover_BG31_801_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, numberOfSpawns, input);\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ForestRover_BG31_801_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 1 * mult;\r\n\t\tinput.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 1 * mult;\r\n\t\tinput.board\r\n\t\t\t.filter((e) =>\r\n\t\t\t\t[CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G].includes(e.cardId as CardIds),\r\n\t\t\t)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t});\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"forest-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forest-rover.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,IAAA,4CAAuB,eAA8C,cAAc,EAAE,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,4BAAyE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CACvG;aACA,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QACJ,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ForestRover: DeathrattleSpawnCard & BattlecryCard = {\r\n\tcardIds: [CardIds.ForestRover_BG31_801, CardIds.ForestRover_BG31_801_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === CardIds.ForestRover_BG31_801_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, numberOfSpawns, input);\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ForestRover_BG31_801_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 1 * mult;\r\n\t\tinput.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 1 * mult;\r\n\t\tinput.board\r\n\t\t\t.filter((e) =>\r\n\t\t\t\t[CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G].includes(e.cardId as CardIds),\r\n\t\t\t)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, minion, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -19,9 +19,9 @@ exports.FountainChiller = {
19
19
  const candidates = input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.anomalies, input.gameState.allCards));
20
20
  const target = (0, utils_1.pickRandom)(candidates);
21
21
  if (!!target) {
22
- (0, stats_1.modifyStats)(target, 2 * totalKeywords * mult, totalKeywords * mult, input.board, input.hero, input.gameState);
23
- input.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);
22
+ (0, stats_1.modifyStats)(target, minion, 2 * totalKeywords * mult, totalKeywords * mult, input.board, input.hero, input.gameState);
24
23
  }
24
+ return true;
25
25
  },
26
26
  };
27
27
  //# sourceMappingURL=fountain-chiller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fountain-chiller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fountain-chiller.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEjD,iDAAkE;AAErD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;YAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE;gBACzD,aAAa,EAAE,CAAC;aAChB;SACD;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,CAAC,GAAG,aAAa,GAAG,IAAI,EACxB,aAAa,GAAG,IAAI,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACxG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nexport const FountainChiller: BattlecryCard = {\r\n\tcardIds: [CardIds.FountainChiller_BG31_145, CardIds.FountainChiller_BG31_145_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FountainChiller_BG31_145_G ? 2 : 1;\r\n\t\tlet totalKeywords = 1; // Base is 1, even without other keywords\r\n\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\tif (input.board.some((e) => hasKeyword(e, bonusKeyword))) {\r\n\t\t\t\ttotalKeywords++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst candidates = 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(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\t2 * totalKeywords * mult,\r\n\t\t\t\ttotalKeywords * mult,\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\tinput.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"fountain-chiller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fountain-chiller.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEjD,iDAAkE;AAErD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;YAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE;gBACzD,aAAa,EAAE,CAAC;aAChB;SACD;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,aAAa,GAAG,IAAI,EACxB,aAAa,GAAG,IAAI,EACpB,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, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nexport const FountainChiller: BattlecryCard = {\r\n\tcardIds: [CardIds.FountainChiller_BG31_145, CardIds.FountainChiller_BG31_145_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FountainChiller_BG31_145_G ? 2 : 1;\r\n\t\tlet totalKeywords = 1; // Base is 1, even without other keywords\r\n\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\tif (input.board.some((e) => hasKeyword(e, bonusKeyword))) {\r\n\t\t\t\ttotalKeywords++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst candidates = 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(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t2 * totalKeywords * mult,\r\n\t\t\t\ttotalKeywords * mult,\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"]}
@@ -9,6 +9,7 @@ exports.GemSmuggler = {
9
9
  input.board
10
10
  .filter((e) => e.entityId !== minion.entityId)
11
11
  .forEach((e) => (0, blood_gems_1.playBloodGemsOn)(minion, e, gemSmugglerBloodGems, input.board, input.hero, input.gameState));
12
+ return true;
12
13
  },
13
14
  };
14
15
  //# sourceMappingURL=gem-smuggler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gem-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gem-smuggler.ts"],"names":[],"mappings":";;;AAGA,+DAAiE;AAGpD,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAe,EAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9G,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 { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GemSmuggler: BattlecryCard = {\r\n\tcardIds: [CardIds.GemSmuggler_BG25_155, CardIds.GemSmuggler_BG25_155_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst gemSmugglerBloodGems = minion.cardId === CardIds.GemSmuggler_BG25_155 ? 1 : 2;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.forEach((e) => playBloodGemsOn(minion, e, gemSmugglerBloodGems, input.board, input.hero, input.gameState));\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"gem-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gem-smuggler.ts"],"names":[],"mappings":";;;AAGA,+DAAiE;AAGpD,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAe,EAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7G,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 { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GemSmuggler: BattlecryCard = {\r\n\tcardIds: [CardIds.GemSmuggler_BG25_155, CardIds.GemSmuggler_BG25_155_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst gemSmugglerBloodGems = minion.cardId === CardIds.GemSmuggler_BG25_155 ? 1 : 2;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.forEach((e) => playBloodGemsOn(minion, e, gemSmugglerBloodGems, input.board, input.hero, input.gameState));\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -12,6 +12,7 @@ exports.GeneralDrakkisath = {
12
12
  "BG25_309t",
13
13
  ];
14
14
  (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, generalDrakkisathCardsToAdd, input.gameState);
15
+ return true;
15
16
  },
16
17
  };
17
18
  //# sourceMappingURL=general-drakkisath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-drakkisath.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/general-drakkisath.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,2BAA2B,GAChC,MAAM,CAAC,MAAM,eAAuC;YACnD,CAAC,CAAC,aAAsD;YACxD,CAAC,CAAC;;;aAGC,CAAC;QACN,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GeneralDrakkisath: BattlecryCard = {\r\n\tcardIds: [CardIds.GeneralDrakkisath_BG25_309, CardIds.GeneralDrakkisath_BG25_309_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst generalDrakkisathCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.GeneralDrakkisath_BG25_309\r\n\t\t\t\t? [CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t]\r\n\t\t\t\t: [\r\n\t\t\t\t\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\t\t\t\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\t\t\t ];\r\n\t\taddCardsInHand(input.hero, input.board, generalDrakkisathCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"general-drakkisath.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/general-drakkisath.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,2BAA2B,GAChC,MAAM,CAAC,MAAM,eAAuC;YACnD,CAAC,CAAC,aAAsD;YACxD,CAAC,CAAC;;;aAGC,CAAC;QACN,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtF,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GeneralDrakkisath: BattlecryCard = {\r\n\tcardIds: [CardIds.GeneralDrakkisath_BG25_309, CardIds.GeneralDrakkisath_BG25_309_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst generalDrakkisathCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.GeneralDrakkisath_BG25_309\r\n\t\t\t\t? [CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t]\r\n\t\t\t\t: [\r\n\t\t\t\t\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\t\t\t\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\t\t\t ];\r\n\t\taddCardsInHand(input.hero, input.board, generalDrakkisathCardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -12,6 +12,7 @@ exports.GentleDjinni = {
12
12
  cards.push((0, utils_1.pickRandom)(input.gameState.cardsData.gentleDjinniSpawns));
13
13
  }
14
14
  (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
15
+ return true;
15
16
  },
16
17
  deathrattleEffect: (minion, input) => {
17
18
  const cards = [];
@@ -1 +1 @@
1
- {"version":3,"file":"gentle-djinni.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gentle-djinni.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AAErD,qEAAmE;AAItD,QAAA,YAAY,GAA0C;IAClE,OAAO,EAAE,8BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;SACrE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;SACrE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const GentleDjinni: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.GentleDjinni_BGS_121, CardIds.GentleDjinni_TB_BaconUps_165],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.GentleDjinni_TB_BaconUps_165 ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.gentleDjinniSpawns));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.GentleDjinni_TB_BaconUps_165 ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.gentleDjinniSpawns));\r\n\t\t}\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"gentle-djinni.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gentle-djinni.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AAErD,qEAAmE;AAItD,QAAA,YAAY,GAA0C;IAClE,OAAO,EAAE,8BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;SACrE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;SACrE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const GentleDjinni: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.GentleDjinni_BGS_121, CardIds.GentleDjinni_TB_BaconUps_165],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.GentleDjinni_TB_BaconUps_165 ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.gentleDjinniSpawns));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.GentleDjinni_TB_BaconUps_165 ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.gentleDjinniSpawns));\r\n\t\t}\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GentleStag = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
4
5
  const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
5
7
  exports.GentleStag = {
6
8
  cardIds: ["BG31_369", "BG31_369_G"],
7
9
  onOtherSpawned: (minion, input) => {
8
10
  const mult = minion.cardId === "BG31_369_G" ? 2 : 1;
9
- const target = input.board[input.board.length - 1];
10
- (0, stats_1.modifyStats)(target, mult * 1, mult * 1, input.board, input.hero, input.gameState);
11
- input.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);
11
+ const beasts = input.board.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards));
12
+ const target = beasts[beasts.length - 1];
13
+ if (target) {
14
+ (0, stats_1.modifyStats)(target, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);
15
+ }
12
16
  },
13
17
  };
14
18
  //# sourceMappingURL=gentle-stag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gentle-stag.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gentle-stag.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,0BAA4D;IACrE,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const GentleStag: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.GentleStag_BG31_369, CardIds.GentleStag_BG31_369_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GentleStag_BG31_369_G ? 2 : 1;\r\n\t\tconst target = input.board[input.board.length - 1];\r\n\t\tmodifyStats(target, mult * 1, mult * 1, input.board, input.hero, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"gentle-stag.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gentle-stag.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,0BAA4D;IACrE,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC/F,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const GentleStag: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.GentleStag_BG31_369, CardIds.GentleStag_BG31_369_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GentleStag_BG31_369_G ? 2 : 1;\r\n\t\tconst beasts = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = beasts[beasts.length - 1];\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(target, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const GlowgulletWarlord: DeathrattleSpawnCard;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlowgulletWarlord = void 0;
4
+ const blood_gems_1 = require("../../../simulation/blood-gems");
5
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
6
+ exports.GlowgulletWarlord = {
7
+ cardIds: ["BG32_430", "BG32_430_G"],
8
+ deathrattleSpawn: (minion, input) => {
9
+ const mult = minion.cardId === "BG32_430_G" ? 2 : 1;
10
+ const spawns = (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG32_430t", 2, input);
11
+ spawns.forEach((spawn) => (0, blood_gems_1.playBloodGemsOn)(minion, spawn, 1 * mult, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState));
12
+ return spawns;
13
+ },
14
+ };
15
+ //# sourceMappingURL=glowgullet-warlord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glowgullet-warlord.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/glowgullet-warlord.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAEjE,+EAAiF;AAGpE,QAAA,iBAAiB,GAAyB;IACtD,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAA,4CAAuB,eAA6D,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7G,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,IAAA,4BAAe,EACd,MAAM,EACN,KAAK,EACL,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CACD,CAAC;QACF,OAAO,MAAM,CAAC;IACf,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const GlowgulletWarlord: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.GlowgulletWarlord_BG32_430, CardIds.GlowgulletWarlord_BG32_430_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.GlowgulletWarlord_BG32_430_G ? 2 : 1;\r\n\t\tconst spawns = simplifiedSpawnEntities(CardIds.GlowgulletWarlord_GlowgulletSoldierToken_BG32_430t, 2, input);\r\n\t\tspawns.forEach((spawn) =>\r\n\t\t\tplayBloodGemsOn(\r\n\t\t\t\tminion,\r\n\t\t\t\tspawn,\r\n\t\t\t\t1 * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t),\r\n\t\t);\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const GlowingCinder: DeathrattleEffectCard;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlowingCinder = void 0;
4
+ exports.GlowingCinder = {
5
+ cardIds: ["BG32_842", "BG32_842_G"],
6
+ deathrattleEffect: (minion, input) => {
7
+ const mult = minion.cardId === "BG32_842_G" ? 2 : 1;
8
+ input.boardWithDeadEntityHero.globalInfo.ElementalAttackBuff += 1 * mult;
9
+ },
10
+ };
11
+ //# sourceMappingURL=glowing-cinder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glowing-cinder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/glowing-cinder.ts"],"names":[],"mappings":";;;AAKa,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,0BAAkE;IAC3E,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,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,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 { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const GlowingCinder: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.GlowingCinder_BG32_842, CardIds.GlowingCinder_BG32_842_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GlowingCinder_BG32_842_G ? 2 : 1;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.ElementalAttackBuff += 1 * mult;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { EndOfTurnCard } from '../../card.interface';
2
+ export declare const GoldGrubber: EndOfTurnCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoldGrubber = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ const utils_1 = require("../../../utils");
6
+ exports.GoldGrubber = {
7
+ cardIds: ["BGS_066", "TB_BaconUps_130"],
8
+ endOfTurn: (minion, input) => {
9
+ const mult = minion.cardId === "TB_BaconUps_130" ? 2 : 1;
10
+ const goldenMinions = input.board.filter((e) => (0, utils_1.isGolden)(e.cardId, input.gameState.allCards)).length;
11
+ for (let i = 0; i < goldenMinions; i++) {
12
+ (0, stats_1.modifyStats)(minion, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);
13
+ }
14
+ },
15
+ };
16
+ //# sourceMappingURL=goldgrubber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goldgrubber.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/goldgrubber.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,8BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACrG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const GoldGrubber: EndOfTurnCard = {\r\n\tcardIds: [CardIds.Goldgrubber_BGS_066, CardIds.Goldgrubber_TB_BaconUps_130],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Goldgrubber_TB_BaconUps_130 ? 2 : 1;\r\n\t\tconst goldenMinions = input.board.filter((e) => isGolden(e.cardId, input.gameState.allCards)).length;\r\n\t\tfor (let i = 0; i < goldenMinions; i++) {\r\n\t\t\tmodifyStats(minion, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const GormlingGourmet: BattlecryCard & DeathrattleEffectCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GormlingGourmet = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.GormlingGourmet = {
6
+ cardIds: ["BG32_336", "BG32_336_G"],
7
+ battlecry: (minion, input) => {
8
+ const mult = minion.cardId === "BG32_336" ? 1 : 2;
9
+ const cardsToAdd = Array(mult).fill("BG32_337");
10
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cardsToAdd, input.gameState);
11
+ return true;
12
+ },
13
+ deathrattleEffect: (minion, input) => {
14
+ const mult = minion.cardId === "BG32_336" ? 1 : 2;
15
+ const cardsToAdd = Array(mult).fill("BG32_337");
16
+ (0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);
17
+ },
18
+ };
19
+ //# sourceMappingURL=gormling-gourmet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gormling-gourmet.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gormling-gourmet.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,eAAe,GAA0C;IACrE,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA8B,CAAC;QAClE,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA8B,CAAC;QAClE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvG,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const GormlingGourmet: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.GormlingGourmet_BG32_336, CardIds.GormlingGourmet_BG32_336_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GormlingGourmet_BG32_336 ? 1 : 2;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.SeafoodStew_BG32_337);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GormlingGourmet_BG32_336 ? 1 : 2;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.SeafoodStew_BG32_337);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -6,8 +6,7 @@ exports.GreaseBot = {
6
6
  cardIds: ["BG21_024", "BG21_024_G"],
7
7
  onDivineShieldUpdated: (minion, input) => {
8
8
  const mult = minion.cardId === "BG21_024" ? 1 : 2;
9
- (0, stats_1.modifyStats)(input.target, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);
10
- input.gameState.spectator.registerPowerTarget(minion, input.target, input.board, input.hero, input.otherHero);
9
+ (0, stats_1.modifyStats)(input.target, minion, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);
11
10
  },
12
11
  };
13
12
  //# sourceMappingURL=grease-bot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grease-bot.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/grease-bot.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAA8B;IACnD,OAAO,EAAE,0BAA0D;IACnE,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/G,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDivineShieldUpdatedCard } from '../../card.interface';\r\n\r\nexport const GreaseBot: OnDivineShieldUpdatedCard = {\r\n\tcardIds: [CardIds.GreaseBot_BG21_024, CardIds.GreaseBot_BG21_024_G],\r\n\tonDivineShieldUpdated: (minion: BoardEntity, input: OnDivineShieldUpdatedInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GreaseBot_BG21_024 ? 1 : 2;\r\n\t\tmodifyStats(input.target, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(minion, input.target, input.board, input.hero, input.otherHero);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"grease-bot.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/grease-bot.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAA8B;IACnD,OAAO,EAAE,0BAA0D;IACnE,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDivineShieldUpdatedCard } from '../../card.interface';\r\n\r\nexport const GreaseBot: OnDivineShieldUpdatedCard = {\r\n\tcardIds: [CardIds.GreaseBot_BG21_024, CardIds.GreaseBot_BG21_024_G],\r\n\tonDivineShieldUpdated: (minion: BoardEntity, input: OnDivineShieldUpdatedInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GreaseBot_BG21_024 ? 1 : 2;\r\n\t\tmodifyStats(input.target, minion, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAfterAttackCard } from '../../card.interface';
2
+ export declare const Greenskeeper: OnAfterAttackCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Greenskeeper = void 0;
4
+ const battlecries_1 = require("../../../simulation/battlecries");
5
+ exports.Greenskeeper = {
6
+ cardIds: ["BG30_008", "BG30_008_G"],
7
+ onAnyMinionAfterAttack: (minion, input) => {
8
+ if (minion !== input.attacker) {
9
+ return;
10
+ }
11
+ const battlecries = input.attackingBoard.filter((e) => (0, battlecries_1.hasMinionBattlecry)(e, input.gameState));
12
+ const candidate = battlecries[battlecries.length - 1];
13
+ if (!!candidate) {
14
+ (0, battlecries_1.triggerBattlecry)(input.attackingBoard, input.attackingHero, candidate, input.defendingBoard, input.defendingHero, input.gameState);
15
+ }
16
+ },
17
+ };
18
+ //# sourceMappingURL=greenskeeper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greenskeeper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/greenskeeper.ts"],"names":[],"mappings":";;;AAGA,iEAAuF;AAG1E,QAAA,YAAY,GAAsB;IAC9C,OAAO,EAAE,0BAAgE;IACzE,sBAAsB,EAAE,CAAC,MAAmB,EAAE,KAAyB,EAAE,EAAE;QAC1E,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO;SACP;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAkB,EAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,SAAS,EAAE;YAChB,IAAA,8BAAgB,EACf,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,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 { OnAfterAttackInput } from '../../../simulation/after-attack';\r\nimport { hasMinionBattlecry, triggerBattlecry } from '../../../simulation/battlecries';\r\nimport { OnAfterAttackCard } from '../../card.interface';\r\n\r\nexport const Greenskeeper: OnAfterAttackCard = {\r\n\tcardIds: [CardIds.Greenskeeper_BG30_008, CardIds.Greenskeeper_BG30_008_G],\r\n\tonAnyMinionAfterAttack: (minion: BoardEntity, input: OnAfterAttackInput) => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst battlecries = input.attackingBoard.filter((e) => hasMinionBattlecry(e, input.gameState));\r\n\t\tconst candidate = battlecries[battlecries.length - 1];\r\n\t\tif (!!candidate) {\r\n\t\t\ttriggerBattlecry(\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tcandidate,\r\n\t\t\t\tinput.defendingBoard,\r\n\t\t\t\tinput.defendingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { EndOfTurnCard } from '../../card.interface';
2
+ export declare const GrimscaleElegist: EndOfTurnCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrimscaleElegist = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const stats_1 = require("../../../simulation/stats");
7
+ exports.GrimscaleElegist = {
8
+ cardIds: ["BG32_331", "BG32_331_G"],
9
+ endOfTurn: (minion, input) => {
10
+ const mult = minion.cardId === "BG32_331" ? 1 : 2;
11
+ const boardTarget = (0, utils_1.pickRandom)(input.board);
12
+ (0, stats_1.modifyStats)(boardTarget, minion, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);
13
+ const handTarget = (0, utils_1.pickRandom)(input.hero.hand.filter((c) => { var _a; return ((_a = input.gameState.allCards.getCard(c.cardId).type) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === reference_data_1.CardType[reference_data_1.CardType.MINION]; }));
14
+ if (handTarget) {
15
+ handTarget.attack += 1 * mult;
16
+ handTarget.health += 1 * mult;
17
+ }
18
+ },
19
+ };
20
+ //# sourceMappingURL=grimscale-elegist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grimscale-elegist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/grimscale-elegist.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AAEjE,mDAAqD;AACrD,qDAAwD;AAG3C,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAE/F,MAAM,UAAU,GAAG,IAAA,kBAAU,EAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,0CAAE,WAAW,EAAE,MAAK,yBAAQ,CAAC,yBAAQ,CAAC,MAAM,CAAC,CAAA,EAAA,CACnG,CACD,CAAC;QACF,IAAI,UAAU,EAAE;YACf,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;YAC9B,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;SAC9B;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, CardType } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const GrimscaleElegist: EndOfTurnCard = {\r\n\tcardIds: [CardIds.GrimscaleElegist_BG32_331, CardIds.GrimscaleElegist_BG32_331_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GrimscaleElegist_BG32_331 ? 1 : 2;\r\n\r\n\t\tconst boardTarget = pickRandom(input.board);\r\n\t\tmodifyStats(boardTarget, minion, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\r\n\t\tconst handTarget = pickRandom(\r\n\t\t\tinput.hero.hand.filter(\r\n\t\t\t\t(c) => input.gameState.allCards.getCard(c.cardId).type?.toUpperCase() === CardType[CardType.MINION],\r\n\t\t\t),\r\n\t\t);\r\n\t\tif (handTarget) {\r\n\t\t\thandTarget.attack += 1 * mult;\r\n\t\t\thandTarget.health += 1 * mult;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -9,6 +9,7 @@ exports.GrittyHeadhunter = {
9
9
  ? ["BG31_891", "BG31_891"]
10
10
  : ["BG31_891"];
11
11
  (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
12
+ return true;
12
13
  },
13
14
  };
14
15
  //# sourceMappingURL=gritty-headhunter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gritty-headhunter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gritty-headhunter.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAAwC;YACpD,CAAC,CAAC,wBAAwE;YAC1E,CAAC,CAAC,YAAoC,CAAC;QACzC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GrittyHeadhunter: BattlecryCard = {\r\n\tcardIds: [CardIds.GrittyHeadhunter_BG31_822, CardIds.GrittyHeadhunter_BG31_822_G],\r\n\tbattlecry: (entity: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards =\r\n\t\t\tentity.cardId === CardIds.GrittyHeadhunter_BG31_822_G\r\n\t\t\t\t? [CardIds.MaraudersContract_BG31_891, CardIds.MaraudersContract_BG31_891]\r\n\t\t\t\t: [CardIds.MaraudersContract_BG31_891];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"gritty-headhunter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gritty-headhunter.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAAwC;YACpD,CAAC,CAAC,wBAAwE;YAC1E,CAAC,CAAC,YAAoC,CAAC;QACzC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAChE,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GrittyHeadhunter: BattlecryCard = {\r\n\tcardIds: [CardIds.GrittyHeadhunter_BG31_822, CardIds.GrittyHeadhunter_BG31_822_G],\r\n\tbattlecry: (entity: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards =\r\n\t\t\tentity.cardId === CardIds.GrittyHeadhunter_BG31_822_G\r\n\t\t\t\t? [CardIds.MaraudersContract_BG31_891, CardIds.MaraudersContract_BG31_891]\r\n\t\t\t\t: [CardIds.MaraudersContract_BG31_891];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -4,7 +4,7 @@ exports.Hackerfin = void 0;
4
4
  const stats_1 = require("../../../simulation/stats");
5
5
  const cards_data_1 = require("../../cards-data");
6
6
  const baseAttackBuff = 3;
7
- const baseHealthBuff = 2;
7
+ const baseHealthBuff = 3;
8
8
  exports.Hackerfin = {
9
9
  cardIds: ["BG31_148", "BG31_148_G"],
10
10
  battlecry: (minion, input) => {
@@ -16,8 +16,9 @@ exports.Hackerfin = {
16
16
  totalKeywords++;
17
17
  }
18
18
  }
19
- (0, stats_1.modifyStats)(minion, totalKeywords * mult * baseAttackBuff, totalKeywords * mult * baseHealthBuff, input.board, input.hero, input.gameState);
19
+ (0, stats_1.modifyStats)(minion, minion, totalKeywords * mult * baseAttackBuff, totalKeywords * mult * baseHealthBuff, input.board, input.hero, input.gameState);
20
20
  }
21
+ return true;
21
22
  },
22
23
  };
23
24
  //# sourceMappingURL=hackerfin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hackerfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hackerfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAExD,iDAAkE;AAElE,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,cAAc,GAAG,CAAC,CAAC;AAEZ,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;gBAC9C,IAAI,IAAA,uBAAU,EAAC,MAAM,EAAE,YAAY,CAAC,EAAE;oBACrC,aAAa,EAAE,CAAC;iBAChB;aACD;YACD,IAAA,mBAAW,EACV,MAAM,EACN,aAAa,GAAG,IAAI,GAAG,cAAc,EACrC,aAAa,GAAG,IAAI,GAAG,cAAc,EACrC,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 { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nconst baseAttackBuff = 3;\r\nconst baseHealthBuff = 2;\r\n\r\nexport const Hackerfin: BattlecryCard = {\r\n\tcardIds: [CardIds.Hackerfin_BG31_148, CardIds.Hackerfin_BG31_148_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tconst mult = minion.cardId === CardIds.Hackerfin_BG31_148_G ? 2 : 1;\r\n\t\t\tlet totalKeywords = 0;\r\n\t\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\t\tif (hasKeyword(entity, bonusKeyword)) {\r\n\t\t\t\t\ttotalKeywords++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\ttotalKeywords * mult * baseAttackBuff,\r\n\t\t\t\ttotalKeywords * mult * baseHealthBuff,\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":"hackerfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hackerfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAExD,iDAAkE;AAElE,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,cAAc,GAAG,CAAC,CAAC;AAEZ,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;gBAC9C,IAAI,IAAA,uBAAU,EAAC,MAAM,EAAE,YAAY,CAAC,EAAE;oBACrC,aAAa,EAAE,CAAC;iBAChB;aACD;YACD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,aAAa,GAAG,IAAI,GAAG,cAAc,EACrC,aAAa,GAAG,IAAI,GAAG,cAAc,EACrC,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 { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nconst baseAttackBuff = 3;\r\nconst baseHealthBuff = 3;\r\n\r\nexport const Hackerfin: BattlecryCard = {\r\n\tcardIds: [CardIds.Hackerfin_BG31_148, CardIds.Hackerfin_BG31_148_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tconst mult = minion.cardId === CardIds.Hackerfin_BG31_148_G ? 2 : 1;\r\n\t\t\tlet totalKeywords = 0;\r\n\t\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\t\tif (hasKeyword(entity, bonusKeyword)) {\r\n\t\t\t\t\ttotalKeywords++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\ttotalKeywords * mult * baseAttackBuff,\r\n\t\t\t\ttotalKeywords * mult * baseHealthBuff,\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"]}
@@ -6,7 +6,7 @@ const deathrattle_utils_1 = require("../../../simulation/deathrattle-utils");
6
6
  exports.HawkstriderHerald = {
7
7
  startOfCombat: (minion, input) => {
8
8
  const multiplier = minion.cardId === "BG27_079_G" ? 2 : 1;
9
- const candidates = (0, deathrattle_utils_1.getValidDeathrattles)(input.playerBoard, input.gameState).slice(0, 2);
9
+ const candidates = (0, deathrattle_utils_1.getValidDeathrattles)(input.playerBoard, input.playerEntity, input.gameState).slice(0, 2);
10
10
  for (const entity of candidates) {
11
11
  for (let i = 0; i < multiplier; i++) {
12
12
  input.gameState.spectator.registerPowerTarget(minion, entity, input.playerBoard, input.playerEntity, input.opponentEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"hawkstrider-herald.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hawkstrider-herald.ts"],"names":[],"mappings":";;;AAEA,6FAA4F;AAC5F,6EAA6E;AAGhE,QAAA,iBAAiB,GAAG;IAChC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,IAAA,wCAAoB,EAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACpC,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;gBACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ;oBAC5B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;oBACxC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,IAAA,uDAA2B,EAC1B,MAAM,EACN,cAAc,EACd,CAAC,MAAM,CAAC,EACR,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EACvF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EACvF,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { getValidDeathrattles } from '../../../simulation/deathrattle-utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const HawkstriderHerald = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.HawkstriderHerald_BG27_079_G ? 2 : 1;\r\n\t\tconst candidates = getValidDeathrattles(input.playerBoard, input.gameState).slice(0, 2);\r\n\t\tfor (const entity of candidates) {\r\n\t\t\tfor (let i = 0; i < multiplier; i++) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tentity,\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\tconst board = entity.friendly\r\n\t\t\t\t\t? input.gameState.gameState.player.board\r\n\t\t\t\t\t: input.gameState.gameState.opponent.board;\r\n\t\t\t\tconst indexFromRight = board.length - (board.indexOf(entity) + 1);\r\n\t\t\t\tprocessDeathrattleForMinion(\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tindexFromRight,\r\n\t\t\t\t\t[entity],\r\n\t\t\t\t\tentity.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\r\n\t\t\t\t\tentity.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"hawkstrider-herald.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hawkstrider-herald.ts"],"names":[],"mappings":";;;AAEA,6FAA4F;AAC5F,6EAA6E;AAGhE,QAAA,iBAAiB,GAAG;IAChC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,IAAA,wCAAoB,EAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACpC,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;gBACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ;oBAC5B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;oBACxC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,IAAA,uDAA2B,EAC1B,MAAM,EACN,cAAc,EACd,CAAC,MAAM,CAAC,EACR,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EACvF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EACvF,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { getValidDeathrattles } from '../../../simulation/deathrattle-utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const HawkstriderHerald = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.HawkstriderHerald_BG27_079_G ? 2 : 1;\r\n\t\tconst candidates = getValidDeathrattles(input.playerBoard, input.playerEntity, input.gameState).slice(0, 2);\r\n\t\tfor (const entity of candidates) {\r\n\t\t\tfor (let i = 0; i < multiplier; i++) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tentity,\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\tconst board = entity.friendly\r\n\t\t\t\t\t? input.gameState.gameState.player.board\r\n\t\t\t\t\t: input.gameState.gameState.opponent.board;\r\n\t\t\t\tconst indexFromRight = board.length - (board.indexOf(entity) + 1);\r\n\t\t\t\tprocessDeathrattleForMinion(\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tindexFromRight,\r\n\t\t\t\t\t[entity],\r\n\t\t\t\t\tentity.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\r\n\t\t\t\t\tentity.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -13,7 +13,7 @@ exports.HoardingHatespawn = {
13
13
  target.attack = Math.max(0, target.attack - stats);
14
14
  target.health = Math.max(0, target.health - stats);
15
15
  target.maxHealth = Math.max(0, target.maxHealth - stats);
16
- (0, stats_1.modifyStats)(minion, previousAttack - target.attack, previousHealth - target.health, input.playerBoard, input.playerEntity, input.gameState);
16
+ (0, stats_1.modifyStats)(minion, minion, previousAttack - target.attack, previousHealth - target.health, input.playerBoard, input.playerEntity, input.gameState, false);
17
17
  input.gameState.spectator.registerPowerTarget(minion, target, input.playerBoard, input.playerEntity, input.opponentEntity);
18
18
  }
19
19
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"hoarding-hatespawn.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hoarding-hatespawn.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AACxD,0CAAkE;AAErD,QAAA,iBAAiB,GAAG;IAChC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAA,wCAAgC,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;YACzD,IAAA,mBAAW,EACV,MAAM,EACN,cAAc,GAAG,MAAM,CAAC,MAAM,EAC9B,cAAc,GAAG,MAAM,CAAC,MAAM,EAC9B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@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\nimport { getRandomMinionWithHighestHealth } from '../../../utils';\r\n\r\nexport const HoardingHatespawn = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.HoardingHatespawn_BG29_872_G ? 20 : 10;\r\n\t\tconst target = getRandomMinionWithHighestHealth(input.opponentBoard);\r\n\t\tif (!!target) {\r\n\t\t\tconst previousAttack = target.attack;\r\n\t\t\tconst previousHealth = target.health;\r\n\t\t\ttarget.attack = Math.max(0, target.attack - stats);\r\n\t\t\ttarget.health = Math.max(0, target.health - stats);\r\n\t\t\ttarget.maxHealth = Math.max(0, target.maxHealth - stats);\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tpreviousAttack - target.attack,\r\n\t\t\t\tpreviousHealth - target.health,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"hoarding-hatespawn.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hoarding-hatespawn.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AACxD,0CAAkE;AAErD,QAAA,iBAAiB,GAAG;IAChC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAA,wCAAgC,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;YACrC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;YACzD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,cAAc,GAAG,MAAM,CAAC,MAAM,EAC9B,cAAc,GAAG,MAAM,CAAC,MAAM,EAC9B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@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\nimport { getRandomMinionWithHighestHealth } from '../../../utils';\r\n\r\nexport const HoardingHatespawn = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.HoardingHatespawn_BG29_872_G ? 20 : 10;\r\n\t\tconst target = getRandomMinionWithHighestHealth(input.opponentBoard);\r\n\t\tif (!!target) {\r\n\t\t\tconst previousAttack = target.attack;\r\n\t\t\tconst previousHealth = target.health;\r\n\t\t\ttarget.attack = Math.max(0, target.attack - stats);\r\n\t\t\ttarget.health = Math.max(0, target.health - stats);\r\n\t\t\ttarget.maxHealth = Math.max(0, target.maxHealth - stats);\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\tpreviousAttack - target.attack,\r\n\t\t\t\tpreviousHealth - target.health,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -10,7 +10,7 @@ exports.HungrySnapjaw = {
10
10
  const mult = minion.cardId === "BG26_370_G" ? 2 : 1;
11
11
  if ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards) &&
12
12
  minion.entityId !== input.spawned.entityId) {
13
- (0, stats_1.modifyStats)(minion, 0, 1 * mult, input.board, input.hero, input.gameState);
13
+ (0, stats_1.modifyStats)(minion, minion, 0, 1 * mult, input.board, input.hero, input.gameState);
14
14
  }
15
15
  },
16
16
  };