@firestone-hs/simulate-bgs-battle 1.1.501 → 1.1.503

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 (324) hide show
  1. package/dist/bgs-player-entity.d.ts +6 -0
  2. package/dist/bgs-player-entity.js.map +1 -1
  3. package/dist/cards/card.interface.d.ts +114 -1
  4. package/dist/cards/card.interface.js +47 -0
  5. package/dist/cards/card.interface.js.map +1 -1
  6. package/dist/cards/cards-data.d.ts +5 -1
  7. package/dist/cards/cards-data.js +39 -6
  8. package/dist/cards/cards-data.js.map +1 -1
  9. package/dist/cards/impl/_card-mappings.d.ts +4 -0
  10. package/dist/cards/impl/_card-mappings.js +154 -0
  11. package/dist/cards/impl/_card-mappings.js.map +1 -0
  12. package/dist/cards/impl/anomaly/blessed-or-blighted.js +3 -2
  13. package/dist/cards/impl/anomaly/blessed-or-blighted.js.map +1 -1
  14. package/dist/cards/impl/bg-spell/boon-of-beetles.js +1 -1
  15. package/dist/cards/impl/bg-spell/boon-of-beetles.js.map +1 -1
  16. package/dist/cards/impl/enchantments/crystal-infuser-enchantment.d.ts +2 -0
  17. package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js +16 -0
  18. package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +1 -0
  19. package/dist/cards/impl/hero-power/reborn-rites.js +2 -1
  20. package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
  21. package/dist/cards/impl/hero-power/swatting-insects.js +5 -3
  22. package/dist/cards/impl/hero-power/swatting-insects.js.map +1 -1
  23. package/dist/cards/impl/hero-power/water-invocation.js +1 -1
  24. package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
  25. package/dist/cards/impl/minion/amber-guardian.js +1 -1
  26. package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
  27. package/dist/cards/impl/minion/arcane-cannoneer.d.ts +2 -0
  28. package/dist/cards/impl/minion/arcane-cannoneer.js +15 -0
  29. package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -0
  30. package/dist/cards/impl/minion/bannerboar.d.ts +2 -0
  31. package/dist/cards/impl/minion/bannerboar.js +16 -0
  32. package/dist/cards/impl/minion/bannerboar.js.map +1 -0
  33. package/dist/cards/impl/minion/beetle.d.ts +2 -0
  34. package/dist/cards/impl/minion/beetle.js +16 -0
  35. package/dist/cards/impl/minion/beetle.js.map +1 -0
  36. package/dist/cards/impl/minion/bird-buddy.d.ts +2 -0
  37. package/dist/cards/impl/minion/bird-buddy.js +14 -0
  38. package/dist/cards/impl/minion/bird-buddy.js.map +1 -0
  39. package/dist/cards/impl/minion/blazing-skyfin.d.ts +2 -0
  40. package/dist/cards/impl/minion/blazing-skyfin.js +12 -0
  41. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -0
  42. package/dist/cards/impl/minion/boar-gamer.d.ts +2 -0
  43. package/dist/cards/impl/minion/boar-gamer.js +12 -0
  44. package/dist/cards/impl/minion/boar-gamer.js.map +1 -0
  45. package/dist/cards/impl/minion/bubble-gunner.d.ts +2 -0
  46. package/dist/cards/impl/minion/bubble-gunner.js +44 -0
  47. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -0
  48. package/dist/cards/impl/minion/buzzing-vermin.d.ts +2 -0
  49. package/dist/cards/impl/minion/buzzing-vermin.js +12 -0
  50. package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -0
  51. package/dist/cards/impl/minion/cadaver-caretaker.d.ts +2 -0
  52. package/dist/cards/impl/minion/cadaver-caretaker.js +12 -0
  53. package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -0
  54. package/dist/cards/impl/minion/clunker-junker.d.ts +2 -0
  55. package/dist/cards/impl/minion/clunker-junker.js +24 -0
  56. package/dist/cards/impl/minion/clunker-junker.js.map +1 -0
  57. package/dist/cards/impl/minion/deathly-striker.d.ts +2 -0
  58. package/dist/cards/impl/minion/deathly-striker.js +32 -0
  59. package/dist/cards/impl/minion/deathly-striker.js.map +1 -0
  60. package/dist/cards/impl/minion/deflecto-bot.d.ts +2 -0
  61. package/dist/cards/impl/minion/deflecto-bot.js +21 -0
  62. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -0
  63. package/dist/cards/impl/minion/efficient-engineer.d.ts +2 -0
  64. package/dist/cards/impl/minion/efficient-engineer.js +24 -0
  65. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -0
  66. package/dist/cards/impl/minion/electric-synthesizer.d.ts +2 -0
  67. package/dist/cards/impl/minion/electric-synthesizer.js +24 -0
  68. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -0
  69. package/dist/cards/impl/minion/fairy-gillmother.d.ts +2 -0
  70. package/dist/cards/impl/minion/fairy-gillmother.js +18 -0
  71. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -0
  72. package/dist/cards/impl/minion/forest-rover.d.ts +2 -0
  73. package/dist/cards/impl/minion/forest-rover.js +23 -0
  74. package/dist/cards/impl/minion/forest-rover.js.map +1 -0
  75. package/dist/cards/impl/minion/fountain-chiller.d.ts +2 -0
  76. package/dist/cards/impl/minion/fountain-chiller.js +27 -0
  77. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -0
  78. package/dist/cards/impl/minion/gem-rat.d.ts +2 -0
  79. package/dist/cards/impl/minion/gem-rat.js +12 -0
  80. package/dist/cards/impl/minion/gem-rat.js.map +1 -0
  81. package/dist/cards/impl/minion/general-drakkisath.d.ts +2 -0
  82. package/dist/cards/impl/minion/general-drakkisath.js +17 -0
  83. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -0
  84. package/dist/cards/impl/minion/gentle-djinni.d.ts +2 -0
  85. package/dist/cards/impl/minion/gentle-djinni.js +25 -0
  86. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -0
  87. package/dist/cards/impl/minion/goldrinn-the-great-wolf.d.ts +2 -0
  88. package/dist/cards/impl/minion/goldrinn-the-great-wolf.js +15 -0
  89. package/dist/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -0
  90. package/dist/cards/impl/minion/grease-bot.d.ts +2 -0
  91. package/dist/cards/impl/minion/grease-bot.js +13 -0
  92. package/dist/cards/impl/minion/grease-bot.js.map +1 -0
  93. package/dist/cards/impl/minion/gritty-headhunter.d.ts +2 -0
  94. package/dist/cards/impl/minion/gritty-headhunter.js +14 -0
  95. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -0
  96. package/dist/cards/impl/minion/hackerfin.d.ts +2 -0
  97. package/dist/cards/impl/minion/hackerfin.js +21 -0
  98. package/dist/cards/impl/minion/hackerfin.js.map +1 -0
  99. package/dist/cards/impl/minion/handless-forsaken.d.ts +2 -0
  100. package/dist/cards/impl/minion/handless-forsaken.js +12 -0
  101. package/dist/cards/impl/minion/handless-forsaken.js.map +1 -0
  102. package/dist/cards/impl/minion/harmless-bonehead.d.ts +2 -0
  103. package/dist/cards/impl/minion/harmless-bonehead.js +12 -0
  104. package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -0
  105. package/dist/cards/impl/minion/holo-rover.d.ts +2 -0
  106. package/dist/cards/impl/minion/holo-rover.js +16 -0
  107. package/dist/cards/impl/minion/holo-rover.js.map +1 -0
  108. package/dist/cards/impl/minion/humming-bird.d.ts +2 -5
  109. package/dist/cards/impl/minion/humming-bird.js +1 -0
  110. package/dist/cards/impl/minion/humming-bird.js.map +1 -1
  111. package/dist/cards/impl/minion/hungry-snapjaw.d.ts +2 -0
  112. package/dist/cards/impl/minion/hungry-snapjaw.js +17 -0
  113. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -0
  114. package/dist/cards/impl/minion/hunter-of-gatherers.d.ts +2 -0
  115. package/dist/cards/impl/minion/hunter-of-gatherers.js +13 -0
  116. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -0
  117. package/dist/cards/impl/minion/implant-subject.d.ts +2 -0
  118. package/dist/cards/impl/minion/implant-subject.js +42 -0
  119. package/dist/cards/impl/minion/implant-subject.js.map +1 -0
  120. package/dist/cards/impl/minion/impulsive-trickster.d.ts +2 -0
  121. package/dist/cards/impl/minion/impulsive-trickster.js +14 -0
  122. package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -0
  123. package/dist/cards/impl/minion/indomitable-mount.d.ts +2 -0
  124. package/dist/cards/impl/minion/indomitable-mount.js +23 -0
  125. package/dist/cards/impl/minion/indomitable-mount.js.map +1 -0
  126. package/dist/cards/impl/minion/interrogator-whitemane.js +5 -4
  127. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  128. package/dist/cards/impl/minion/kalecgos-arcane-aspect.d.ts +2 -0
  129. package/dist/cards/impl/minion/kalecgos-arcane-aspect.js +13 -0
  130. package/dist/cards/impl/minion/kalecgos-arcane-aspect.js.map +1 -0
  131. package/dist/cards/impl/minion/kangors-apprentice.d.ts +2 -0
  132. package/dist/cards/impl/minion/kangors-apprentice.js +21 -0
  133. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -0
  134. package/dist/cards/impl/minion/karmic-chameleon.d.ts +2 -0
  135. package/dist/cards/impl/minion/karmic-chameleon.js +27 -0
  136. package/dist/cards/impl/minion/karmic-chameleon.js.map +1 -0
  137. package/dist/cards/impl/minion/manasaber.d.ts +2 -0
  138. package/dist/cards/impl/minion/manasaber.js +14 -0
  139. package/dist/cards/impl/minion/manasaber.js.map +1 -0
  140. package/dist/cards/impl/minion/mantid-queen.js +6 -3
  141. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  142. package/dist/cards/impl/minion/marquee-ticker.d.ts +2 -0
  143. package/dist/cards/impl/minion/marquee-ticker.js +12 -0
  144. package/dist/cards/impl/minion/marquee-ticker.js.map +1 -0
  145. package/dist/cards/impl/minion/mecha-jaraxxus.d.ts +2 -0
  146. package/dist/cards/impl/minion/mecha-jaraxxus.js +12 -0
  147. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -0
  148. package/dist/cards/impl/minion/mechanized-gift-horse.d.ts +2 -0
  149. package/dist/cards/impl/minion/mechanized-gift-horse.js +13 -0
  150. package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -0
  151. package/dist/cards/impl/minion/mechorse.d.ts +2 -0
  152. package/dist/cards/impl/minion/mechorse.js +16 -0
  153. package/dist/cards/impl/minion/mechorse.js.map +1 -0
  154. package/dist/cards/impl/minion/misfit-dragonling.d.ts +2 -5
  155. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  156. package/dist/cards/impl/minion/moonsteel-juggernaut.d.ts +2 -0
  157. package/dist/cards/impl/minion/moonsteel-juggernaut.js +15 -0
  158. package/dist/cards/impl/minion/moonsteel-juggernaut.js.map +1 -0
  159. package/dist/cards/impl/minion/murky.d.ts +2 -0
  160. package/dist/cards/impl/minion/murky.js +20 -0
  161. package/dist/cards/impl/minion/murky.js.map +1 -0
  162. package/dist/cards/impl/minion/mutated-lasher.d.ts +2 -0
  163. package/dist/cards/impl/minion/mutated-lasher.js +26 -0
  164. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -0
  165. package/dist/cards/impl/minion/neon-agent.d.ts +2 -0
  166. package/dist/cards/impl/minion/neon-agent.js +18 -0
  167. package/dist/cards/impl/minion/neon-agent.js.map +1 -0
  168. package/dist/cards/impl/minion/nest-swarmer.d.ts +2 -0
  169. package/dist/cards/impl/minion/nest-swarmer.js +12 -0
  170. package/dist/cards/impl/minion/nest-swarmer.js.map +1 -0
  171. package/dist/cards/impl/minion/nether-drake.d.ts +2 -0
  172. package/dist/cards/impl/minion/nether-drake.js +15 -0
  173. package/dist/cards/impl/minion/nether-drake.js.map +1 -0
  174. package/dist/cards/impl/minion/niuzao.d.ts +2 -0
  175. package/dist/cards/impl/minion/niuzao.js +21 -0
  176. package/dist/cards/impl/minion/niuzao.js.map +1 -0
  177. package/dist/cards/impl/minion/operatic-belcher.d.ts +2 -0
  178. package/dist/cards/impl/minion/operatic-belcher.js +26 -0
  179. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -0
  180. package/dist/cards/impl/minion/outback-smolderer.d.ts +2 -0
  181. package/dist/cards/impl/minion/outback-smolderer.js +17 -0
  182. package/dist/cards/impl/minion/outback-smolderer.js.map +1 -0
  183. package/dist/cards/impl/minion/parched-wanderer.d.ts +2 -0
  184. package/dist/cards/impl/minion/parched-wanderer.js +20 -0
  185. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -0
  186. package/dist/cards/impl/minion/prized-promo-drake.d.ts +2 -5
  187. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  188. package/dist/cards/impl/minion/razorgore-the-untamed.d.ts +2 -0
  189. package/dist/cards/impl/minion/razorgore-the-untamed.js +20 -0
  190. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -0
  191. package/dist/cards/impl/minion/reckless-cliffdiver.d.ts +2 -0
  192. package/dist/cards/impl/minion/reckless-cliffdiver.js +19 -0
  193. package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -0
  194. package/dist/cards/impl/minion/runed-progenitor.d.ts +2 -0
  195. package/dist/cards/impl/minion/runed-progenitor.js +24 -0
  196. package/dist/cards/impl/minion/runed-progenitor.js.map +1 -0
  197. package/dist/cards/impl/minion/rylak-metalhead.d.ts +2 -0
  198. package/dist/cards/impl/minion/rylak-metalhead.js +22 -0
  199. package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -0
  200. package/dist/cards/impl/minion/salty-hog.d.ts +2 -0
  201. package/dist/cards/impl/minion/salty-hog.js +17 -0
  202. package/dist/cards/impl/minion/salty-hog.js.map +1 -0
  203. package/dist/cards/impl/minion/showy-cyclist.d.ts +2 -0
  204. package/dist/cards/impl/minion/showy-cyclist.js +14 -0
  205. package/dist/cards/impl/minion/showy-cyclist.js.map +1 -0
  206. package/dist/cards/impl/minion/silver-handed-recruit.d.ts +2 -0
  207. package/dist/cards/impl/minion/silver-handed-recruit.js +17 -0
  208. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -0
  209. package/dist/cards/impl/minion/sly-raptor.d.ts +2 -0
  210. package/dist/cards/impl/minion/sly-raptor.js +18 -0
  211. package/dist/cards/impl/minion/sly-raptor.js.map +1 -0
  212. package/dist/cards/impl/minion/smolderwing.d.ts +2 -0
  213. package/dist/cards/impl/minion/smolderwing.js +25 -0
  214. package/dist/cards/impl/minion/smolderwing.js.map +1 -0
  215. package/dist/cards/impl/minion/soulsplitter.js +2 -1
  216. package/dist/cards/impl/minion/soulsplitter.js.map +1 -1
  217. package/dist/cards/impl/minion/spacefarer.d.ts +2 -0
  218. package/dist/cards/impl/minion/spacefarer.js +20 -0
  219. package/dist/cards/impl/minion/spacefarer.js.map +1 -0
  220. package/dist/cards/impl/minion/sun-screener.js +1 -1
  221. package/dist/cards/impl/minion/sun-screener.js.map +1 -1
  222. package/dist/cards/impl/minion/swampstriker.d.ts +2 -0
  223. package/dist/cards/impl/minion/swampstriker.js +21 -0
  224. package/dist/cards/impl/minion/swampstriker.js.map +1 -0
  225. package/dist/cards/impl/minion/thousandth-paper-drake.js +2 -1
  226. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  227. package/dist/cards/impl/minion/turquoise-skitterer.d.ts +2 -0
  228. package/dist/cards/impl/minion/turquoise-skitterer.js +25 -0
  229. package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -0
  230. package/dist/cards/impl/minion/twilight-primordium.d.ts +2 -0
  231. package/dist/cards/impl/minion/twilight-primordium.js +24 -0
  232. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -0
  233. package/dist/cards/impl/minion/ultraviolet-ascendant.d.ts +2 -0
  234. package/dist/cards/impl/minion/ultraviolet-ascendant.js +14 -0
  235. package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -0
  236. package/dist/cards/impl/minion/wandering-wight.d.ts +2 -0
  237. package/dist/cards/impl/minion/wandering-wight.js +12 -0
  238. package/dist/cards/impl/minion/wandering-wight.js.map +1 -0
  239. package/dist/cards/impl/minion/whelp-smuggler.d.ts +2 -0
  240. package/dist/cards/impl/minion/whelp-smuggler.js +17 -0
  241. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -0
  242. package/dist/cards/impl/minion/wisp-in-the-shell.d.ts +2 -0
  243. package/dist/cards/impl/minion/wisp-in-the-shell.js +19 -0
  244. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -0
  245. package/dist/cards/impl/trinket/eternal-portrait.js +4 -2
  246. package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
  247. package/dist/cards/impl/trinket/holly-mallet.js +1 -1
  248. package/dist/cards/impl/trinket/holly-mallet.js.map +1 -1
  249. package/dist/{divine-shield.d.ts → keywords/divine-shield.d.ts} +11 -3
  250. package/dist/{divine-shield.js → keywords/divine-shield.js} +19 -14
  251. package/dist/keywords/divine-shield.js.map +1 -0
  252. package/dist/keywords/reborn.d.ts +10 -0
  253. package/dist/keywords/reborn.js +22 -0
  254. package/dist/keywords/reborn.js.map +1 -0
  255. package/dist/keywords/stealth.d.ts +10 -0
  256. package/dist/keywords/stealth.js +22 -0
  257. package/dist/keywords/stealth.js.map +1 -0
  258. package/dist/keywords/taunt.d.ts +10 -0
  259. package/dist/keywords/taunt.js +22 -0
  260. package/dist/keywords/taunt.js.map +1 -0
  261. package/dist/keywords/venomous.d.ts +10 -0
  262. package/dist/keywords/venomous.js +33 -0
  263. package/dist/keywords/venomous.js.map +1 -0
  264. package/dist/keywords/windfury.d.ts +10 -0
  265. package/dist/keywords/windfury.js +22 -0
  266. package/dist/keywords/windfury.js.map +1 -0
  267. package/dist/simulate-bgs-battle.d.ts +2 -2
  268. package/dist/simulate-bgs-battle.js +20 -5
  269. package/dist/simulate-bgs-battle.js.map +1 -1
  270. package/dist/simulation/add-minion-to-board.d.ts +23 -0
  271. package/dist/simulation/add-minion-to-board.js +50 -33
  272. package/dist/simulation/add-minion-to-board.js.map +1 -1
  273. package/dist/simulation/after-attack.js +2 -1
  274. package/dist/simulation/after-attack.js.map +1 -1
  275. package/dist/simulation/attack.js +7 -24
  276. package/dist/simulation/attack.js.map +1 -1
  277. package/dist/simulation/auras.d.ts +1 -1
  278. package/dist/simulation/auras.js +21 -15
  279. package/dist/simulation/auras.js.map +1 -1
  280. package/dist/simulation/avenge.d.ts +7 -0
  281. package/dist/simulation/avenge.js +223 -229
  282. package/dist/simulation/avenge.js.map +1 -1
  283. package/dist/simulation/battlecries.d.ts +8 -0
  284. package/dist/simulation/battlecries.js +574 -623
  285. package/dist/simulation/battlecries.js.map +1 -1
  286. package/dist/simulation/blood-gems.js +1 -1
  287. package/dist/simulation/blood-gems.js.map +1 -1
  288. package/dist/simulation/cards-in-hand.d.ts +7 -1
  289. package/dist/simulation/cards-in-hand.js +14 -0
  290. package/dist/simulation/cards-in-hand.js.map +1 -1
  291. package/dist/simulation/damage-effects.js +1 -1
  292. package/dist/simulation/damage-effects.js.map +1 -1
  293. package/dist/simulation/deathrattle-effects.d.ts +1 -1
  294. package/dist/simulation/deathrattle-effects.js +468 -517
  295. package/dist/simulation/deathrattle-effects.js.map +1 -1
  296. package/dist/simulation/deathrattle-on-trigger.d.ts +1 -0
  297. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  298. package/dist/simulation/deathrattle-spawns.d.ts +2 -0
  299. package/dist/simulation/deathrattle-spawns.js +308 -384
  300. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  301. package/dist/simulation/deathrattle-utils.js +1 -1
  302. package/dist/simulation/deathrattle-utils.js.map +1 -1
  303. package/dist/simulation/frenzy.js +1 -1
  304. package/dist/simulation/frenzy.js.map +1 -1
  305. package/dist/simulation/magnetize.js.map +1 -1
  306. package/dist/simulation/on-attack.d.ts +13 -1
  307. package/dist/simulation/on-attack.js +21 -1
  308. package/dist/simulation/on-attack.js.map +1 -1
  309. package/dist/simulation/on-being-attacked.js +7 -4
  310. package/dist/simulation/on-being-attacked.js.map +1 -1
  311. package/dist/simulation/simulator.js +1 -1
  312. package/dist/simulation/simulator.js.map +1 -1
  313. package/dist/simulation/start-of-combat/soc-action-processor.js +6 -12
  314. package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  315. package/dist/simulation/stats.d.ts +9 -0
  316. package/dist/simulation/stats.js +23 -14
  317. package/dist/simulation/stats.js.map +1 -1
  318. package/dist/temp-card-ids.d.ts +70 -0
  319. package/dist/temp-card-ids.js.map +1 -1
  320. package/dist/utils.d.ts +0 -1
  321. package/dist/utils.js +30 -36
  322. package/dist/utils.js.map +1 -1
  323. package/package.json +2 -2
  324. package/dist/divine-shield.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest-swarmer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/nest-swarmer.ts"],"names":[],"mappings":";;;AAEA,+EAAiF;AAIpE,QAAA,WAAW,GAAyB;IAChD,OAAO,EAAE,gCAAoD;IAC7D,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,oBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAA,4CAAuB,iBAA0B,cAAc,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const NestSwarmer: DeathrattleSpawnCard = {\r\n\tcardIds: [TempCardIds.NestSwarmer, TempCardIds.NestSwarmer_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === TempCardIds.NestSwarmer_G ? 6 : 3;\r\n\t\treturn simplifiedSpawnEntities(TempCardIds.BeetleToken, numberOfSpawns, input);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { EndOfTurnCard } from '../../card.interface';
2
+ export declare const NetherDrake: EndOfTurnCard;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetherDrake = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../utils");
6
+ exports.NetherDrake = {
7
+ cardIds: ["BG24_003", "BG24_003_G"],
8
+ endOfTurn: (minion, input) => {
9
+ const steps = minion.cardId === "BG24_003_G" ? 2 : 1;
10
+ const buff = minion.scriptDataNum1 || steps;
11
+ (0, utils_1.addStatsToBoard)(minion, input.board, input.hero, buff, 0, input.gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
12
+ minion.scriptDataNum1 = minion.scriptDataNum1 + steps;
13
+ },
14
+ };
15
+ //# sourceMappingURL=nether-drake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nether-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/nether-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QAC5C,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { EndOfTurnCard } from '../../card.interface';\r\n\r\nexport const NetherDrake: EndOfTurnCard = {\r\n\tcardIds: [CardIds.NetherDrake_BG24_003, CardIds.NetherDrake_BG24_003_G],\r\n\tendOfTurn: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst steps = minion.cardId === CardIds.NetherDrake_BG24_003_G ? 2 : 1;\r\n\t\tconst buff = minion.scriptDataNum1 || steps;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, buff, 0, input.gameState, Race[Race.DRAGON]);\r\n\t\tminion.scriptDataNum1 = minion.scriptDataNum1 + steps;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAttackCard } from '../../card.interface';
2
+ export declare const Niuzao: OnAttackCard;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Niuzao = void 0;
4
+ const utils_1 = require("../../../services/utils");
5
+ const attack_1 = require("../../../simulation/attack");
6
+ exports.Niuzao = {
7
+ cardIds: ["BG27_822", "BG27_822_G"],
8
+ onAttack: (minion, input) => {
9
+ const multiplier = minion.cardId === "BG27_822_G" ? 2 : 1;
10
+ let dmgDoneByAttacker = 0;
11
+ for (let i = 0; i < multiplier; i++) {
12
+ const target = (0, utils_1.pickRandom)(input.defendingBoard.filter((e) => e.entityId != input.defendingEntity.entityId));
13
+ if (target) {
14
+ input.gameState.spectator.registerPowerTarget(minion, target, input.defendingBoard, input.attackingHero, input.defendingHero);
15
+ dmgDoneByAttacker += (0, attack_1.dealDamageToMinion)(target, input.defendingBoard, input.defendingHero, minion, minion.attack, input.attackingBoard, input.attackingHero, input.gameState);
16
+ }
17
+ }
18
+ return { dmgDoneByAttacker, dmgDoneByDefender: 0 };
19
+ },
20
+ };
21
+ //# sourceMappingURL=niuzao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"niuzao.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/niuzao.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,GAAiB;IACnC,OAAO,EAAE,0BAAoD;IAC7D,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5G,IAAI,MAAM,EAAE;gBACX,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;gBACF,iBAAiB,IAAI,IAAA,2BAAkB,EACtC,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,MAAM,EACN,MAAM,CAAC,MAAM,EACb,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACpD,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 { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const Niuzao: OnAttackCard = {\r\n\tcardIds: [CardIds.Niuzao_BG27_822, CardIds.Niuzao_BG27_822_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst multiplier = minion.cardId === CardIds.Niuzao_BG27_822_G ? 2 : 1;\r\n\t\tlet dmgDoneByAttacker = 0;\r\n\t\tfor (let i = 0; i < multiplier; i++) {\r\n\t\t\tconst target = pickRandom(input.defendingBoard.filter((e) => e.entityId != input.defendingEntity.entityId));\r\n\t\t\tif (target) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t);\r\n\t\t\t\tdmgDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tminion.attack,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const OperaticBelcher: DeathrattleEffectCard;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperaticBelcher = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const venomous_1 = require("../../../keywords/venomous");
6
+ const utils_1 = require("../../../services/utils");
7
+ const utils_2 = require("../../../utils");
8
+ exports.OperaticBelcher = {
9
+ cardIds: ["BG26_888", "BG26_888_G"],
10
+ deathrattleEffect: (minion, input) => {
11
+ const belcherMultiplier = minion.cardId === "BG26_888_G" ? 2 : 1;
12
+ for (let j = 0; j < belcherMultiplier; j++) {
13
+ const possibleBelcherTargets = input.boardWithDeadEntity
14
+ .filter((entity) => !entity.venomous)
15
+ .filter((entity) => !entity.poisonous)
16
+ .filter((entity) => entity.health > 0 && !entity.definitelyDead)
17
+ .filter((entity) => (0, utils_2.hasCorrectTribe)(entity, input.boardWithDeadEntityHero, reference_data_1.Race.MURLOC, input.gameState.allCards));
18
+ if (possibleBelcherTargets.length > 0) {
19
+ const chosen = (0, utils_1.pickRandom)(possibleBelcherTargets);
20
+ (0, venomous_1.updateVenomous)(chosen, true, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, input.gameState);
21
+ input.gameState.spectator.registerPowerTarget(minion, chosen, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
22
+ }
23
+ }
24
+ },
25
+ };
26
+ //# sourceMappingURL=operatic-belcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operatic-belcher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/operatic-belcher.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,yDAA4D;AAC5D,mDAAqD;AAErD,0CAAiD;AAGpC,QAAA,eAAe,GAA0B;IACrD,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,sBAAsB,GAAG,KAAK,CAAC,mBAAmB;iBACtD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACpC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;iBACrC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;iBAC/D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC7F,CAAC;YACH,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,sBAAsB,CAAC,CAAC;gBAClD,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const OperaticBelcher: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.OperaticBelcher_BG26_888, CardIds.OperaticBelcher_BG26_888_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst belcherMultiplier = minion.cardId === CardIds.OperaticBelcher_BG26_888_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < belcherMultiplier; j++) {\r\n\t\t\tconst possibleBelcherTargets = input.boardWithDeadEntity\r\n\t\t\t\t.filter((entity) => !entity.venomous)\r\n\t\t\t\t.filter((entity) => !entity.poisonous)\r\n\t\t\t\t.filter((entity) => entity.health > 0 && !entity.definitelyDead)\r\n\t\t\t\t.filter((entity) =>\r\n\t\t\t\t\thasCorrectTribe(entity, input.boardWithDeadEntityHero, Race.MURLOC, input.gameState.allCards),\r\n\t\t\t\t);\r\n\t\t\tif (possibleBelcherTargets.length > 0) {\r\n\t\t\t\tconst chosen = pickRandom(possibleBelcherTargets);\r\n\t\t\t\tupdateVenomous(\r\n\t\t\t\t\tchosen,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tchosen,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t);\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 OutbackSmolderer: EndOfTurnCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OutbackSmolderer = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.OutbackSmolderer = {
6
+ cardIds: ["BG28_592", "BG28_592_G"],
7
+ endOfTurn: (minion, input) => {
8
+ const cards = minion.cardId === "BG28_592_G"
9
+ ? [
10
+ "BG25_309t",
11
+ "BG25_309t",
12
+ ]
13
+ : ["BG25_309t"];
14
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
15
+ },
16
+ };
17
+ //# sourceMappingURL=outback-smolderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outback-smolderer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/outback-smolderer.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;;;aAGC;YACH,CAAC,CAAC,aAAsD,CAAC;QAC3D,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 { EndOfTurnCard } from '../../card.interface';\r\n\r\nexport const OutbackSmolderer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.OutbackSmolderer_BG28_592, CardIds.OutbackSmolderer_BG28_592_G],\r\n\tendOfTurn: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards =\r\n\t\t\tminion.cardId === CardIds.OutbackSmolderer_BG28_592_G\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\t\t\t: [CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const ParchedWanderer: BattlecryCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParchedWanderer = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const taunt_1 = require("../../../keywords/taunt");
6
+ const utils_1 = require("../../../services/utils");
7
+ const stats_1 = require("../../../simulation/stats");
8
+ const utils_2 = require("../../../utils");
9
+ exports.ParchedWanderer = {
10
+ cardIds: ["BG30_756", "BG30_756_G"],
11
+ battlecry: (minion, input) => {
12
+ const wandererTarget = (0, utils_1.pickRandom)(input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.allCards)));
13
+ if (!!wandererTarget) {
14
+ const wandererMultiplier = minion.cardId === "BG30_756" ? 1 : 2;
15
+ (0, taunt_1.updateTaunt)(wandererTarget, true, input.board, input.hero, input.otherHero, input.gameState);
16
+ (0, stats_1.modifyStats)(wandererTarget, wandererMultiplier * 3, wandererMultiplier * 3, input.board, input.hero, input.gameState);
17
+ }
18
+ },
19
+ };
20
+ //# sourceMappingURL=parched-wanderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parched-wanderer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/parched-wanderer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,cAAc,GAAG,IAAA,kBAAU,EAChC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAChG,CAAC;QACF,IAAI,CAAC,CAAC,cAAc,EAAE;YACrB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,eAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,IAAA,mBAAW,EAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7F,IAAA,mBAAW,EACV,cAAc,EACd,kBAAkB,GAAG,CAAC,EACtB,kBAAkB,GAAG,CAAC,EACtB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const ParchedWanderer: BattlecryCard = {\r\n\tcardIds: [CardIds.ParchedWanderer_BG30_756, CardIds.ParchedWanderer_BG30_756_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst wandererTarget = pickRandom(\r\n\t\t\tinput.board.filter((e) => hasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.allCards)),\r\n\t\t);\r\n\t\tif (!!wandererTarget) {\r\n\t\t\tconst wandererMultiplier = minion.cardId === CardIds.ParchedWanderer_BG30_756 ? 1 : 2;\r\n\t\t\tupdateTaunt(wandererTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tmodifyStats(\r\n\t\t\t\twandererTarget,\r\n\t\t\t\twandererMultiplier * 3,\r\n\t\t\t\twandererMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1,5 +1,2 @@
1
- import { BoardEntity } from '../../../board-entity';
2
- import { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';
3
- export declare const PrizedPromoDrake: {
4
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
5
- };
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const PrizedPromoDrake: StartOfCombatCard;
@@ -1 +1 @@
1
- {"version":3,"file":"prized-promo-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prized-promo-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,gBAAgB,GAAG;IAC/B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,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;aACF;YACD,OAAO,IAAI,CAAC;SACZ;IACF,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 { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const PrizedPromoDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.PrizedPromoDrake_BG21_014_G ? 6 : 3;\r\n\t\tconst targets = input.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards));\r\n\t\tif (!!targets.length) {\r\n\t\t\tfor (const entity of targets) {\r\n\t\t\t\tmodifyStats(entity, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\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}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"prized-promo-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prized-promo-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,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;aACF;YACD,OAAO,IAAI,CAAC;SACZ;IACF,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 { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const PrizedPromoDrake: StartOfCombatCard = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.PrizedPromoDrake_BG21_014_G ? 6 : 3;\r\n\t\tconst targets = input.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards));\r\n\t\tif (!!targets.length) {\r\n\t\t\tfor (const entity of targets) {\r\n\t\t\t\tmodifyStats(entity, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\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}\r\n\t\t\treturn true;\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 RazorgoreTheUntamed: EndOfTurnCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RazorgoreTheUntamed = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.RazorgoreTheUntamed = {
8
+ cardIds: ["BGS_036", "TB_BaconUps_106"],
9
+ endOfTurn: (minion, input) => {
10
+ const otherDragons = input.board
11
+ .filter((e) => e.entityId !== minion.entityId)
12
+ .filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.allCards));
13
+ const mult = minion.cardId === "TB_BaconUps_106" ? 2 : 1;
14
+ if (otherDragons.length) {
15
+ (0, stats_1.modifyStats)(minion, mult * otherDragons.length, mult * 2 * otherDragons.length, input.board, input.hero, input.gameState);
16
+ input.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, input.otherHero);
17
+ }
18
+ },
19
+ };
20
+ //# sourceMappingURL=razorgore-the-untamed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"razorgore-the-untamed.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/razorgore-the-untamed.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,8BAAkF;IAC3F,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,YAAY,CAAC,MAAM,EAAE;YACxB,IAAA,mBAAW,EACV,MAAM,EACN,IAAI,GAAG,YAAY,CAAC,MAAM,EAC1B,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAC9B,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 { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { EndOfTurnCard } from '../../card.interface';\r\n\r\nexport const RazorgoreTheUntamed: EndOfTurnCard = {\r\n\tcardIds: [CardIds.RazorgoreTheUntamed_BGS_036, CardIds.RazorgoreTheUntamed_TB_BaconUps_106],\r\n\tendOfTurn: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst otherDragons = input.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.allCards));\r\n\t\tconst mult = minion.cardId === CardIds.RazorgoreTheUntamed_TB_BaconUps_106 ? 2 : 1;\r\n\t\tif (otherDragons.length) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tmult * otherDragons.length,\r\n\t\t\t\tmult * 2 * otherDragons.length,\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, minion, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnBattlecryTriggeredCard, OnDespawnedCard, OnSpawnedCard } from '../../card.interface';
2
+ export declare const RecklessCliffdiver: OnSpawnedCard & OnDespawnedCard & OnBattlecryTriggeredCard;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecklessCliffdiver = void 0;
4
+ exports.RecklessCliffdiver = {
5
+ cardIds: ["RecklessCliffdiver", "RecklessCliffdiver_G"],
6
+ onBattlecryTriggered: (minion, input) => {
7
+ const mult = minion.cardId === "RecklessCliffdiver_G" ? 2 : 1;
8
+ minion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;
9
+ },
10
+ onSpawned: (minion, input) => {
11
+ const mult = minion.cardId === "RecklessCliffdiver_G" ? 2 : 1;
12
+ minion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;
13
+ },
14
+ onDespawned: (minion, input) => {
15
+ const mult = minion.cardId === "RecklessCliffdiver_G" ? 2 : 1;
16
+ minion.attack = Math.max(0, minion.attack - 2 * mult);
17
+ },
18
+ };
19
+ //# sourceMappingURL=reckless-cliffdiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reckless-cliffdiver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/reckless-cliffdiver.ts"],"names":[],"mappings":";;;AAMa,QAAA,kBAAkB,GAA+D;IAC7F,OAAO,EAAE,8CAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,2BAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { OnBattlecryTriggeredInput } from '../../../simulation/battlecries';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnBattlecryTriggeredCard, OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const RecklessCliffdiver: OnSpawnedCard & OnDespawnedCard & OnBattlecryTriggeredCard = {\r\n\tcardIds: [TempCardIds.RecklessCliffdiver, TempCardIds.RecklessCliffdiver_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: OnBattlecryTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;\r\n\t},\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack += mult * input.hero.globalInfo.BattlecriesTriggeredThisGame;\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RecklessCliffdiver_G ? 2 : 1;\r\n\t\tminion.attack = Math.max(0, minion.attack - 2 * mult);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AvengeCard, DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const RunedProgenitor: DeathrattleSpawnCard & AvengeCard;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunedProgenitor = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ exports.RunedProgenitor = {
7
+ cardIds: ["RunedProgenitor", "RunedProgenitor_G"],
8
+ deathrattleSpawn: (deadEntity, input) => {
9
+ const numberOfSpawns = deadEntity.cardId === "RunedProgenitor_G" ? 2 : 1;
10
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BeetleToken", numberOfSpawns, input);
11
+ },
12
+ baseAvengeValue: (cardId) => 4,
13
+ avenge: (minion, input) => {
14
+ const mult = minion.cardId === "RunedProgenitor_G" ? 2 : 1;
15
+ input.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 2 * mult;
16
+ input.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 2 * mult;
17
+ input.board
18
+ .filter((e) => ["BeetleToken", "BeetleToken_G"].includes(e.cardId))
19
+ .forEach((e) => {
20
+ (0, stats_1.modifyStats)(e, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);
21
+ });
22
+ },
23
+ };
24
+ //# sourceMappingURL=runed-progenitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runed-progenitor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/runed-progenitor.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AACjF,qDAAwD;AAI3C,QAAA,eAAe,GAAsC;IACjE,OAAO,EAAE,wCAA4D;IACrE,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,wBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,IAAA,4CAAuB,iBAA0B,cAAc,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IACD,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,wBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,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,CAAC,gCAAoD,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;aACrG,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 { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { AvengeCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const RunedProgenitor: DeathrattleSpawnCard & AvengeCard = {\r\n\tcardIds: [TempCardIds.RunedProgenitor, TempCardIds.RunedProgenitor_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === TempCardIds.RunedProgenitor_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(TempCardIds.BeetleToken, numberOfSpawns, input);\r\n\t},\r\n\tbaseAvengeValue: (cardId: string) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.RunedProgenitor_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 2 * mult;\r\n\t\tinput.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 2 * mult;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => [TempCardIds.BeetleToken, TempCardIds.BeetleToken_G].includes(e.cardId as TempCardIds))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t});\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const RylakMetalhead: DeathrattleEffectCard;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RylakMetalhead = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const attack_1 = require("../../../simulation/attack");
7
+ const battlecries_1 = require("../../../simulation/battlecries");
8
+ const utils_2 = require("../../../utils");
9
+ exports.RylakMetalhead = {
10
+ cardIds: ["BG26_801", "BG26_801_G"],
11
+ deathrattleEffect: (minion, input) => {
12
+ const allNeighbours = (0, attack_1.getNeighbours)(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight).filter((e) => (0, utils_2.hasMechanic)(input.gameState.allCards.getCard(e.cardId), reference_data_1.GameTag[reference_data_1.GameTag.BATTLECRY]));
13
+ const neighbours = minion.cardId === "BG26_801_G"
14
+ ? allNeighbours
15
+ : [(0, utils_1.pickRandom)(allNeighbours)].filter((e) => !!e);
16
+ for (const neighbour of neighbours) {
17
+ input.gameState.spectator.registerPowerTarget(minion, neighbour, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
18
+ (0, battlecries_1.triggerBattlecry)(input.boardWithDeadEntity, input.boardWithDeadEntityHero, neighbour, input.otherBoard, input.otherBoardHero, input.gameState);
19
+ }
20
+ },
21
+ };
22
+ //# sourceMappingURL=rylak-metalhead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rylak-metalhead.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/rylak-metalhead.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mDAAqD;AACrD,uDAA2D;AAC3D,iEAAmE;AAEnE,0CAA6C;AAGhC,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAC5G,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,wBAAO,CAAC,wBAAO,CAAC,SAAS,CAAC,CAAC,CAC1F,CAAC;QACF,MAAM,UAAU,GACf,MAAM,CAAC,MAAM,iBAAsC;YAClD,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,SAAS,EACT,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;YACF,IAAA,8BAAgB,EACf,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,SAAS,EACT,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { triggerBattlecry } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasMechanic } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const RylakMetalhead: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.RylakMetalhead_BG26_801, CardIds.RylakMetalhead_BG26_801_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst allNeighbours = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight).filter(\r\n\t\t\t(e) => hasMechanic(input.gameState.allCards.getCard(e.cardId), GameTag[GameTag.BATTLECRY]),\r\n\t\t);\r\n\t\tconst neighbours =\r\n\t\t\tminion.cardId === CardIds.RylakMetalhead_BG26_801_G\r\n\t\t\t\t? allNeighbours\r\n\t\t\t\t: [pickRandom(allNeighbours)].filter((e) => !!e);\r\n\t\tfor (const neighbour of neighbours) {\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tneighbour,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t);\r\n\t\t\ttriggerBattlecry(\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tneighbour,\r\n\t\t\t\tinput.otherBoard,\r\n\t\t\t\tinput.otherBoardHero,\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 { DefaultChargesCard, OnCardAddedToHandCard } from '../../card.interface';
2
+ export declare const SaltyHog: OnCardAddedToHandCard & DefaultChargesCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaltyHog = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ exports.SaltyHog = {
6
+ cardIds: ["SaltyHog", "SaltyHog_G"],
7
+ defaultCharges: 3,
8
+ onCardAddedToHand: (entity, input) => {
9
+ entity.abiityChargesLeft = entity.abiityChargesLeft - 1;
10
+ if (entity.abiityChargesLeft <= 0) {
11
+ const mult = entity.cardId === "SaltyHog_G" ? 2 : 1;
12
+ (0, utils_1.addStatsToBoard)(entity, input.board.filter((e) => e.entityId !== entity.entityId), input.hero, 2 * mult, 2 * mult, input.gameState);
13
+ entity.abiityChargesLeft = exports.SaltyHog.defaultCharges;
14
+ }
15
+ },
16
+ };
17
+ //# sourceMappingURL=salty-hog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"salty-hog.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/salty-hog.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,QAAQ,GAA+C;IACnE,OAAO,EAAE,0BAA8C;IACvD,cAAc,EAAE,CAAC;IACjB,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,EACzD,KAAK,CAAC,IAAI,EACV,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;YACF,MAAM,CAAC,iBAAiB,GAAG,gBAAQ,CAAC,cAAc,CAAC;SACnD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DefaultChargesCard, OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const SaltyHog: OnCardAddedToHandCard & DefaultChargesCard = {\r\n\tcardIds: [TempCardIds.SaltyHog, TempCardIds.SaltyHog_G],\r\n\tdefaultCharges: 3,\r\n\tonCardAddedToHand: (entity: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tentity.abiityChargesLeft = entity.abiityChargesLeft - 1;\r\n\t\tif (entity.abiityChargesLeft <= 0) {\r\n\t\t\tconst mult = entity.cardId === TempCardIds.SaltyHog_G ? 2 : 1;\r\n\t\t\taddStatsToBoard(\r\n\t\t\t\tentity,\r\n\t\t\t\tinput.board.filter((e) => e.entityId !== entity.entityId),\r\n\t\t\t\tinput.hero,\r\n\t\t\t\t2 * mult,\r\n\t\t\t\t2 * mult,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tentity.abiityChargesLeft = SaltyHog.defaultCharges;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const ShowyCyclist: DeathrattleEffectCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShowyCyclist = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ exports.ShowyCyclist = {
6
+ cardIds: ["ShowyCyclist", "ShowyCyclist_G"],
7
+ deathrattleEffect: (minion, input) => {
8
+ const baseBuff = minion.scriptDataNum1;
9
+ const mult = minion.cardId === "ShowyCyclist_G" ? 2 : 1;
10
+ const buff = baseBuff * mult;
11
+ (0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, 1 * buff, 1 * buff, input.gameState);
12
+ },
13
+ };
14
+ //# sourceMappingURL=showy-cyclist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showy-cyclist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/showy-cyclist.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,YAAY,GAA0B;IAClD,OAAO,EAAE,kCAAsD;IAC/D,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,qBAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const ShowyCyclist: DeathrattleEffectCard = {\r\n\tcardIds: [TempCardIds.ShowyCyclist, TempCardIds.ShowyCyclist_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst baseBuff = minion.scriptDataNum1;\r\n\t\tconst mult = minion.cardId === TempCardIds.ShowyCyclist_G ? 2 : 1;\r\n\t\tconst buff = baseBuff * mult;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t1 * buff,\r\n\t\t\t1 * buff,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const SilverHandedRecruit: BattlecryCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SilverHandedRecruit = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.SilverHandedRecruit = {
6
+ cardIds: ["SilverHandedRecruit", "SilverHandedRecruit_G"],
7
+ battlecry: (minion, input) => {
8
+ const mult = minion.cardId === "SilverHandedRecruit_G" ? 2 : 1;
9
+ input.board
10
+ .filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 0)
11
+ .forEach((e) => {
12
+ (0, stats_1.modifyStats)(e, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);
13
+ input.gameState.spectator.registerPowerTarget(minion, e, input.board, input.hero, null);
14
+ });
15
+ },
16
+ };
17
+ //# sourceMappingURL=silver-handed-recruit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"silver-handed-recruit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silver-handed-recruit.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAI3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,gDAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,4BAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC3E,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;YAC7E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SilverHandedRecruit: BattlecryCard = {\r\n\tcardIds: [TempCardIds.SilverHandedRecruit, TempCardIds.SilverHandedRecruit_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.SilverHandedRecruit_G ? 2 : 1;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 0)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, e, input.board, input.hero, null);\r\n\t\t\t});\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const SlyRaptor: DeathrattleSpawnCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlyRaptor = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.SlyRaptor = {
6
+ cardIds: ["BG25_806", "BG25_806_G"],
7
+ deathrattleSpawn: (minion, input) => {
8
+ const raptorStat = minion.cardId === "BG25_806_G" ? 14 : 7;
9
+ const beastPool = input.gameState.cardsData.beastSpawns.filter((id) => id !== "BG25_806");
10
+ const beastsFromRaptor = (0, deathrattle_spawns_1.simplifiedSpawnEntities)(beastPool[Math.floor(Math.random() * beastPool.length)], 1, input);
11
+ beastsFromRaptor.forEach((b) => {
12
+ b.attack = raptorStat;
13
+ b.health = raptorStat;
14
+ });
15
+ return beastsFromRaptor;
16
+ },
17
+ };
18
+ //# sourceMappingURL=sly-raptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sly-raptor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sly-raptor.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,SAAS,GAAyB;IAC9C,OAAO,EAAE,0BAA0D;IACnE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAA+B,CAAC,CAAC;QAC1G,MAAM,gBAAgB,GAAG,IAAA,4CAAuB,EAC/C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EACvD,CAAC,EACD,KAAK,CACL,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;YACtB,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SlyRaptor: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SlyRaptor_BG25_806, CardIds.SlyRaptor_BG25_806_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst raptorStat = minion.cardId === CardIds.SlyRaptor_BG25_806_G ? 14 : 7;\r\n\t\tconst beastPool = input.gameState.cardsData.beastSpawns.filter((id) => id !== CardIds.SlyRaptor_BG25_806);\r\n\t\tconst beastsFromRaptor = simplifiedSpawnEntities(\r\n\t\t\tbeastPool[Math.floor(Math.random() * beastPool.length)],\r\n\t\t\t1,\r\n\t\t\tinput,\r\n\t\t);\r\n\t\tbeastsFromRaptor.forEach((b) => {\r\n\t\t\tb.attack = raptorStat;\r\n\t\t\tb.health = raptorStat;\r\n\t\t});\r\n\t\treturn beastsFromRaptor;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const Smolderwing: BattlecryCard;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Smolderwing = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const stats_1 = require("../../../simulation/stats");
7
+ const utils_2 = require("../../../utils");
8
+ exports.Smolderwing = {
9
+ cardIds: [
10
+ "BG25_309t",
11
+ "BG25_309_Gt",
12
+ ],
13
+ battlecry: (minion, input) => {
14
+ const allMinions = [...input.board, ...input.otherBoard];
15
+ const smolderwingTarget = (0, utils_1.pickRandom)(allMinions.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.allCards)));
16
+ if (!!smolderwingTarget) {
17
+ const targetBoard = input.board.includes(smolderwingTarget) ? input.board : input.otherBoard;
18
+ const targetHero = input.board.includes(smolderwingTarget) ? input.hero : input.otherHero;
19
+ const smolderwingMultiplier = minion.cardId === "BG25_309t" ? 1 : 2;
20
+ const smolderwingStats = 5 * smolderwingMultiplier;
21
+ (0, stats_1.modifyStats)(smolderwingTarget, smolderwingStats, 0, targetBoard, targetHero, input.gameState);
22
+ }
23
+ },
24
+ };
25
+ //# sourceMappingURL=smolderwing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smolderwing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/smolderwing.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE;;;KAGR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAA,kBAAU,EACnC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAC/F,CAAC;QACF,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1F,MAAM,qBAAqB,GAC1B,MAAM,CAAC,MAAM,gBAAyD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,gBAAgB,GAAG,CAAC,GAAG,qBAAqB,CAAC;YACnD,IAAA,mBAAW,EAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9F;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\n\r\nexport const Smolderwing: BattlecryCard = {\r\n\tcardIds: [\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309_Gt,\r\n\t],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst smolderwingTarget = pickRandom(\r\n\t\t\tallMinions.filter((e) => hasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.allCards)),\r\n\t\t);\r\n\t\tif (!!smolderwingTarget) {\r\n\t\t\tconst targetBoard = input.board.includes(smolderwingTarget) ? input.board : input.otherBoard;\r\n\t\t\tconst targetHero = input.board.includes(smolderwingTarget) ? input.hero : input.otherHero;\r\n\t\t\tconst smolderwingMultiplier =\r\n\t\t\t\tminion.cardId === CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t ? 1 : 2;\r\n\t\t\tconst smolderwingStats = 5 * smolderwingMultiplier;\r\n\t\t\tmodifyStats(smolderwingTarget, smolderwingStats, 0, targetBoard, targetHero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Soulsplitter = void 0;
4
4
  const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const reborn_1 = require("../../../keywords/reborn");
5
6
  const utils_1 = require("../../../services/utils");
6
7
  const utils_2 = require("../../../utils");
7
8
  exports.Soulsplitter = {
@@ -13,7 +14,7 @@ exports.Soulsplitter = {
13
14
  .filter((e) => !e.reborn);
14
15
  const chosenUndead = (0, utils_1.pickRandom)(undeadsWithoutReborn);
15
16
  if (chosenUndead) {
16
- chosenUndead.reborn = true;
17
+ (0, reborn_1.updateReborn)(chosenUndead, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
17
18
  input.gameState.spectator.registerPowerTarget(minion, chosenUndead, input.playerBoard, input.playerEntity, input.opponentEntity);
18
19
  }
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"soulsplitter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soulsplitter.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,0CAAiD;AAEpC,QAAA,YAAY,GAAG;IAC3B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW;iBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5F,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,YAAY,EAAE;gBACjB,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC3B,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,YAAY,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const Soulsplitter = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst numberOfTargets = minion.cardId === CardIds.Soulsplitter_BG25_023_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfTargets; i++) {\r\n\t\t\tconst undeadsWithoutReborn = input.playerBoard\r\n\t\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.UNDEAD, input.gameState.allCards))\r\n\t\t\t\t.filter((e) => !e.reborn);\r\n\t\t\tconst chosenUndead = pickRandom(undeadsWithoutReborn);\r\n\t\t\tif (chosenUndead) {\r\n\t\t\t\tchosenUndead.reborn = true;\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tchosenUndead,\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}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"soulsplitter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soulsplitter.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,qDAAwD;AACxD,mDAAqD;AAErD,0CAAiD;AAEpC,QAAA,YAAY,GAAG;IAC3B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW;iBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5F,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,YAAY,EAAE;gBACjB,IAAA,qBAAY,EACX,YAAY,EACZ,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,YAAY,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const Soulsplitter = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst numberOfTargets = minion.cardId === CardIds.Soulsplitter_BG25_023_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfTargets; i++) {\r\n\t\t\tconst undeadsWithoutReborn = input.playerBoard\r\n\t\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.UNDEAD, input.gameState.allCards))\r\n\t\t\t\t.filter((e) => !e.reborn);\r\n\t\t\tconst chosenUndead = pickRandom(undeadsWithoutReborn);\r\n\t\t\tif (chosenUndead) {\r\n\t\t\t\tupdateReborn(\r\n\t\t\t\t\tchosenUndead,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tchosenUndead,\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}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnStatsChangedCard } from '../../card.interface';
2
+ export declare const Spacefarer: OnStatsChangedCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Spacefarer = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.Spacefarer = {
8
+ cardIds: ["Spacefarer", "Spacefarer_G"],
9
+ onStatsChanged: (entity, input) => {
10
+ if (input.target === entity) {
11
+ return;
12
+ }
13
+ if (!(0, utils_1.hasCorrectTribe)(input.target, input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards)) {
14
+ return;
15
+ }
16
+ const mult = entity.cardId === "Spacefarer_G" ? 2 : 1;
17
+ (0, stats_1.modifyStats)(entity, 0, 3 * mult, input.board, input.hero, input.gameState);
18
+ },
19
+ };
20
+ //# sourceMappingURL=spacefarer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAA6E;AAE7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,8BAAkD;IAC3D,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtF,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mBAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [TempCardIds.Spacefarer, TempCardIds.Spacefarer_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = entity.cardId === TempCardIds.Spacefarer_G ? 2 : 1;\r\n\t\tmodifyStats(entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SunScreener = void 0;
4
- const divine_shield_1 = require("../../../divine-shield");
4
+ const divine_shield_1 = require("../../../keywords/divine-shield");
5
5
  exports.SunScreener = {
6
6
  startOfCombat: (minion, input) => {
7
7
  if (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"sun-screener.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sun-screener.ts"],"names":[],"mappings":";;;AAEA,0DAA4E;AAG/D,QAAA,WAAW,GAAG;IAC1B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,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 { grantDivineShieldToLeftmostMinions } from '../../../divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const SunScreener = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {\r\n\t\t\tconst quantity = minion.cardId === CardIds.SunScreener_BG30_101 ? 3 : 6;\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.playerEntity,\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"]}
1
+ {"version":3,"file":"sun-screener.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sun-screener.ts"],"names":[],"mappings":";;;AAEA,mEAAqF;AAGxE,QAAA,WAAW,GAAG;IAC1B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,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 { grantDivineShieldToLeftmostMinions } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const SunScreener = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {\r\n\t\t\tconst quantity = minion.cardId === CardIds.SunScreener_BG30_101 ? 3 : 6;\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { AfterOtherSpawnedCard } from '../../card.interface';
2
+ export declare const Swampstriker: AfterOtherSpawnedCard;