@firestone-hs/simulate-bgs-battle 1.1.502 → 1.1.504

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 (228) hide show
  1. package/dist/cards/card.interface.d.ts +7 -3
  2. package/dist/cards/card.interface.js +3 -1
  3. package/dist/cards/card.interface.js.map +1 -1
  4. package/dist/cards/cards-data.js +0 -2
  5. package/dist/cards/cards-data.js.map +1 -1
  6. package/dist/cards/impl/_card-mappings.js +101 -1
  7. package/dist/cards/impl/_card-mappings.js.map +1 -1
  8. package/dist/cards/impl/minion/admiral-eliza-goreblade.d.ts +2 -0
  9. package/dist/cards/impl/minion/admiral-eliza-goreblade.js +20 -0
  10. package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -0
  11. package/dist/cards/impl/minion/anubarak-nerubian-king.d.ts +2 -0
  12. package/dist/cards/impl/minion/anubarak-nerubian-king.js +15 -0
  13. package/dist/cards/impl/minion/anubarak-nerubian-king.js.map +1 -0
  14. package/dist/cards/impl/minion/arcane-cannoneer.js +3 -0
  15. package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -1
  16. package/dist/cards/impl/minion/arid-atrocity.d.ts +2 -0
  17. package/dist/cards/impl/minion/arid-atrocity.js +22 -0
  18. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -0
  19. package/dist/cards/impl/minion/assistant-guard.d.ts +2 -0
  20. package/dist/cards/impl/minion/assistant-guard.js +20 -0
  21. package/dist/cards/impl/minion/assistant-guard.js.map +1 -0
  22. package/dist/cards/impl/minion/bannerboar.d.ts +1 -1
  23. package/dist/cards/impl/minion/bannerboar.js +4 -4
  24. package/dist/cards/impl/minion/bannerboar.js.map +1 -1
  25. package/dist/cards/impl/minion/beetle.js +3 -3
  26. package/dist/cards/impl/minion/beetle.js.map +1 -1
  27. package/dist/cards/impl/minion/blazing-skyfin.d.ts +2 -0
  28. package/dist/cards/impl/minion/blazing-skyfin.js +12 -0
  29. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -0
  30. package/dist/cards/impl/minion/bongo-bopper.d.ts +2 -0
  31. package/dist/cards/impl/minion/bongo-bopper.js +15 -0
  32. package/dist/cards/impl/minion/bongo-bopper.js.map +1 -0
  33. package/dist/cards/impl/minion/champion-of-the-primus.d.ts +2 -0
  34. package/dist/cards/impl/minion/champion-of-the-primus.js +15 -0
  35. package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -0
  36. package/dist/cards/impl/minion/charlga.d.ts +2 -0
  37. package/dist/cards/impl/minion/charlga.js +15 -0
  38. package/dist/cards/impl/minion/charlga.js.map +1 -0
  39. package/dist/cards/impl/minion/clunker-junker.d.ts +2 -0
  40. package/dist/cards/impl/minion/clunker-junker.js +24 -0
  41. package/dist/cards/impl/minion/clunker-junker.js.map +1 -0
  42. package/dist/cards/impl/minion/corrupted-myrmidon.d.ts +2 -5
  43. package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -0
  44. package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
  45. package/dist/cards/impl/minion/cruise-controller.d.ts +2 -0
  46. package/dist/cards/impl/minion/cruise-controller.js +11 -0
  47. package/dist/cards/impl/minion/cruise-controller.js.map +1 -0
  48. package/dist/cards/impl/minion/defiant-shipwright.d.ts +2 -0
  49. package/dist/cards/impl/minion/defiant-shipwright.js +13 -0
  50. package/dist/cards/impl/minion/defiant-shipwright.js.map +1 -0
  51. package/dist/cards/impl/minion/deflecto-bot.d.ts +2 -0
  52. package/dist/cards/impl/minion/deflecto-bot.js +21 -0
  53. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -0
  54. package/dist/cards/impl/minion/efficient-engineer.js +8 -1
  55. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
  56. package/dist/cards/impl/minion/fairy-gillmother.js +2 -2
  57. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
  58. package/dist/cards/impl/minion/gem-smuggler.d.ts +2 -0
  59. package/dist/cards/impl/minion/gem-smuggler.js +14 -0
  60. package/dist/cards/impl/minion/gem-smuggler.js.map +1 -0
  61. package/dist/cards/impl/minion/general-drakkisath.d.ts +2 -0
  62. package/dist/cards/impl/minion/general-drakkisath.js +17 -0
  63. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -0
  64. package/dist/cards/impl/minion/grease-bot.d.ts +2 -0
  65. package/dist/cards/impl/minion/grease-bot.js +13 -0
  66. package/dist/cards/impl/minion/grease-bot.js.map +1 -0
  67. package/dist/cards/impl/minion/holo-rover.js +3 -0
  68. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  69. package/dist/cards/impl/minion/hungry-snapjaw.js +2 -2
  70. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  71. package/dist/cards/impl/minion/hunter-of-gatherers.d.ts +2 -0
  72. package/dist/cards/impl/minion/hunter-of-gatherers.js +13 -0
  73. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -0
  74. package/dist/cards/impl/minion/implant-subject.js +2 -2
  75. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  76. package/dist/cards/impl/minion/impulsive-trickster.d.ts +2 -0
  77. package/dist/cards/impl/minion/impulsive-trickster.js +14 -0
  78. package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -0
  79. package/dist/cards/impl/minion/inspiring-underdog.d.ts +2 -0
  80. package/dist/cards/impl/minion/inspiring-underdog.js +18 -0
  81. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -0
  82. package/dist/cards/impl/minion/interrogator-whitemane.d.ts +2 -5
  83. package/dist/cards/impl/minion/interrogator-whitemane.js +1 -0
  84. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  85. package/dist/cards/impl/minion/kalecgos-arcane-aspect.d.ts +2 -0
  86. package/dist/cards/impl/minion/kalecgos-arcane-aspect.js +13 -0
  87. package/dist/cards/impl/minion/kalecgos-arcane-aspect.js.map +1 -0
  88. package/dist/cards/impl/minion/kangors-apprentice.d.ts +2 -0
  89. package/dist/cards/impl/minion/kangors-apprentice.js +21 -0
  90. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -0
  91. package/dist/cards/impl/minion/king-bagurgle.d.ts +2 -0
  92. package/dist/cards/impl/minion/king-bagurgle.js +12 -0
  93. package/dist/cards/impl/minion/king-bagurgle.js.map +1 -0
  94. package/dist/cards/impl/minion/leeroy-the-reckless.d.ts +2 -0
  95. package/dist/cards/impl/minion/leeroy-the-reckless.js +12 -0
  96. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -0
  97. package/dist/cards/impl/minion/lightfang-enforcer.d.ts +2 -0
  98. package/dist/cards/impl/minion/lightfang-enforcer.js +13 -0
  99. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -0
  100. package/dist/cards/impl/minion/lovesick-balladist.d.ts +2 -0
  101. package/dist/cards/impl/minion/lovesick-balladist.js +25 -0
  102. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -0
  103. package/dist/cards/impl/minion/mecha-jaraxxus.d.ts +2 -0
  104. package/dist/cards/impl/minion/mecha-jaraxxus.js +12 -0
  105. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -0
  106. package/dist/cards/impl/minion/misfit-dragonling.d.ts +2 -5
  107. package/dist/cards/impl/minion/misfit-dragonling.js +1 -0
  108. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  109. package/dist/cards/impl/minion/mummifier.d.ts +2 -0
  110. package/dist/cards/impl/minion/mummifier.js +25 -0
  111. package/dist/cards/impl/minion/mummifier.js.map +1 -0
  112. package/dist/cards/impl/minion/murky.d.ts +2 -0
  113. package/dist/cards/impl/minion/murky.js +20 -0
  114. package/dist/cards/impl/minion/murky.js.map +1 -0
  115. package/dist/cards/impl/minion/mutated-lasher.d.ts +2 -2
  116. package/dist/cards/impl/minion/mutated-lasher.js +3 -3
  117. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  118. package/dist/cards/impl/minion/neon-agent.js +3 -0
  119. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  120. package/dist/cards/impl/minion/nerubian-deathswarmer.d.ts +2 -0
  121. package/dist/cards/impl/minion/nerubian-deathswarmer.js +16 -0
  122. package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -0
  123. package/dist/cards/impl/minion/niuzao.js +3 -0
  124. package/dist/cards/impl/minion/niuzao.js.map +1 -1
  125. package/dist/cards/impl/minion/oozeling-gladiator.d.ts +2 -0
  126. package/dist/cards/impl/minion/oozeling-gladiator.js +14 -0
  127. package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -0
  128. package/dist/cards/impl/minion/operatic-belcher.d.ts +2 -0
  129. package/dist/cards/impl/minion/operatic-belcher.js +26 -0
  130. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -0
  131. package/dist/cards/impl/minion/parched-wanderer.d.ts +2 -0
  132. package/dist/cards/impl/minion/parched-wanderer.js +20 -0
  133. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -0
  134. package/dist/cards/impl/minion/peggy-sturdybone.d.ts +2 -0
  135. package/dist/cards/impl/minion/peggy-sturdybone.js +17 -0
  136. package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -0
  137. package/dist/cards/impl/minion/primalfin-lookout.d.ts +2 -0
  138. package/dist/cards/impl/minion/primalfin-lookout.js +27 -0
  139. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -0
  140. package/dist/cards/impl/minion/prized-promo-drake.d.ts +2 -5
  141. package/dist/cards/impl/minion/prized-promo-drake.js +1 -0
  142. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  143. package/dist/cards/impl/minion/rapscallion-recruiter.d.ts +2 -0
  144. package/dist/cards/impl/minion/rapscallion-recruiter.js +13 -0
  145. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -0
  146. package/dist/cards/impl/minion/razorfen-geomancer.d.ts +2 -0
  147. package/dist/cards/impl/minion/razorfen-geomancer.js +14 -0
  148. package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -0
  149. package/dist/cards/impl/minion/reckless-cliffdiver.js +1 -1
  150. package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -1
  151. package/dist/cards/impl/minion/ripsnarl-captain.d.ts +2 -0
  152. package/dist/cards/impl/minion/ripsnarl-captain.js +18 -0
  153. package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -0
  154. package/dist/cards/impl/minion/rodeo-performer.d.ts +2 -0
  155. package/dist/cards/impl/minion/rodeo-performer.js +12 -0
  156. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -0
  157. package/dist/cards/impl/minion/scallywag.d.ts +2 -0
  158. package/dist/cards/impl/minion/scallywag.js +13 -0
  159. package/dist/cards/impl/minion/scallywag.js.map +1 -0
  160. package/dist/cards/impl/minion/shell-collector.d.ts +2 -0
  161. package/dist/cards/impl/minion/shell-collector.js +14 -0
  162. package/dist/cards/impl/minion/shell-collector.js.map +1 -0
  163. package/dist/cards/impl/minion/sinodorei-straight-shot.d.ts +2 -0
  164. package/dist/cards/impl/minion/sinodorei-straight-shot.js +14 -0
  165. package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -0
  166. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.d.ts +2 -0
  167. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js +16 -0
  168. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js.map +1 -0
  169. package/dist/cards/impl/minion/sky-pirate-flagbearer.d.ts +2 -5
  170. package/dist/cards/impl/minion/sky-pirate-flagbearer.js +1 -0
  171. package/dist/cards/impl/minion/sky-pirate-flagbearer.js.map +1 -1
  172. package/dist/cards/impl/minion/smolderwing.d.ts +2 -0
  173. package/dist/cards/impl/minion/smolderwing.js +25 -0
  174. package/dist/cards/impl/minion/smolderwing.js.map +1 -0
  175. package/dist/cards/impl/minion/spacefarer.js +4 -2
  176. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  177. package/dist/cards/impl/minion/swampstriker.d.ts +2 -0
  178. package/dist/cards/impl/minion/swampstriker.js +21 -0
  179. package/dist/cards/impl/minion/swampstriker.js.map +1 -0
  180. package/dist/cards/impl/minion/three-lil-quilboar.d.ts +2 -0
  181. package/dist/cards/impl/minion/three-lil-quilboar.js +16 -0
  182. package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -0
  183. package/dist/cards/impl/minion/thundering-abomination.d.ts +2 -0
  184. package/dist/cards/impl/minion/thundering-abomination.js +13 -0
  185. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -0
  186. package/dist/cards/impl/minion/tunnel-blaster.d.ts +2 -0
  187. package/dist/cards/impl/minion/tunnel-blaster.js +20 -0
  188. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -0
  189. package/dist/cards/impl/minion/wandering-wight.js +1 -1
  190. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  191. package/dist/cards/impl/minion/whelp-smuggler.d.ts +2 -0
  192. package/dist/cards/impl/minion/whelp-smuggler.js +18 -0
  193. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -0
  194. package/dist/cards/impl/trinket/automaton-portrait.js +1 -0
  195. package/dist/cards/impl/trinket/automaton-portrait.js.map +1 -1
  196. package/dist/cards/impl/trinket/karazhan-chess-set.js +2 -1
  197. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  198. package/dist/cards/impl/trinket/rusty-trident.js +1 -0
  199. package/dist/cards/impl/trinket/rusty-trident.js.map +1 -1
  200. package/dist/keywords/divine-shield.d.ts +2 -0
  201. package/dist/keywords/divine-shield.js +3 -11
  202. package/dist/keywords/divine-shield.js.map +1 -1
  203. package/dist/simulate-bgs-battle.js +1 -5
  204. package/dist/simulate-bgs-battle.js.map +1 -1
  205. package/dist/simulation/add-minion-to-board.d.ts +13 -6
  206. package/dist/simulation/add-minion-to-board.js +20 -38
  207. package/dist/simulation/add-minion-to-board.js.map +1 -1
  208. package/dist/simulation/avenge.js +0 -6
  209. package/dist/simulation/avenge.js.map +1 -1
  210. package/dist/simulation/battlecries.js +16 -188
  211. package/dist/simulation/battlecries.js.map +1 -1
  212. package/dist/simulation/cards-in-hand.js +0 -9
  213. package/dist/simulation/cards-in-hand.js.map +1 -1
  214. package/dist/simulation/deathrattle-effects.js +0 -103
  215. package/dist/simulation/deathrattle-effects.js.map +1 -1
  216. package/dist/simulation/deathrattle-spawns.js +0 -48
  217. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  218. package/dist/simulation/on-attack.d.ts +1 -0
  219. package/dist/simulation/on-attack.js +16 -42
  220. package/dist/simulation/on-attack.js.map +1 -1
  221. package/dist/simulation/on-being-attacked.js +0 -7
  222. package/dist/simulation/on-being-attacked.js.map +1 -1
  223. package/dist/simulation/start-of-combat/soc-action-processor.js +0 -16
  224. package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  225. package/dist/simulation/stats.d.ts +1 -0
  226. package/dist/simulation/stats.js +5 -18
  227. package/dist/simulation/stats.js.map +1 -1
  228. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"implant-subject.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/implant-subject.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAW3C,QAAA,cAAc,GAKJ;IACtB,OAAO,EAAE,sCAA0D;IACnE,cAAc,EAAE,CACf,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA0B,EACzB,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,qBAAqB,EAAE,CACtB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAAiC,EAChC,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClD,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,eAAe,EAAE,CAChB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC5C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,gBAAgB,EAAE,CACjB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC7C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,IAAqB,EAAE,SAAwB,EAAE,EAAE;IACnH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC","sourcesContent":["import { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { OnRebornUpdatedInput } from '../../../keywords/reborn';\r\nimport { OnTauntUpdatedInput } from '../../../keywords/taunt';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport {\r\n\tOnDivineShieldUpdatedCard,\r\n\tOnRebornUpdatedCard,\r\n\tOnStealthUpdatedCard,\r\n\tOnTauntUpdatedCard,\r\n\tOnVenomousUpdatedCard,\r\n\tOnWindfuryUpdatedCard,\r\n} from '../../card.interface';\r\n\r\nexport const ImplantSubject: OnTauntUpdatedCard &\r\n\tOnDivineShieldUpdatedCard &\r\n\tOnVenomousUpdatedCard &\r\n\tOnWindfuryUpdatedCard &\r\n\tOnStealthUpdatedCard &\r\n\tOnRebornUpdatedCard = {\r\n\tcardIds: [TempCardIds.ImplantSubject, TempCardIds.ImplantSubject_G],\r\n\tonTauntUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnTauntUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.taunt) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonDivineShieldUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnDivineShieldUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.divineShield) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonRebornUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.reborn) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonStealthUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.stealth) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonVenomousUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.venomous) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonWindfuryUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.windfury) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst updateEntity = (entity: BoardEntity, board: BoardEntity[], hero: BgsPlayerEntity, gameState: FullGameState) => {\r\n\tconst mult = entity.cardId === TempCardIds.ImplantSubject_G ? 2 : 1;\r\n\tmodifyStats(entity, mult * 2, mult * 2, board, hero, gameState);\r\n};\r\n"]}
1
+ {"version":3,"file":"implant-subject.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/implant-subject.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAW3C,QAAA,cAAc,GAKJ;IACtB,OAAO,EAAE,sCAA0D;IACnE,cAAc,EAAE,CACf,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA0B,EACzB,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;YACtD,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,eAAe,EAAE,CAChB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC5C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,gBAAgB,EAAE,CACjB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC7C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,IAAqB,EAAE,SAAwB,EAAE,EAAE;IACnH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC","sourcesContent":["import { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { OnRebornUpdatedInput } from '../../../keywords/reborn';\r\nimport { OnTauntUpdatedInput } from '../../../keywords/taunt';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport {\r\n\tOnDivineShieldUpdatedCard,\r\n\tOnRebornUpdatedCard,\r\n\tOnStealthUpdatedCard,\r\n\tOnTauntUpdatedCard,\r\n\tOnVenomousUpdatedCard,\r\n\tOnWindfuryUpdatedCard,\r\n} from '../../card.interface';\r\n\r\nexport const ImplantSubject: OnTauntUpdatedCard &\r\n\tOnDivineShieldUpdatedCard &\r\n\tOnVenomousUpdatedCard &\r\n\tOnWindfuryUpdatedCard &\r\n\tOnStealthUpdatedCard &\r\n\tOnRebornUpdatedCard = {\r\n\tcardIds: [TempCardIds.ImplantSubject, TempCardIds.ImplantSubject_G],\r\n\tonTauntUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnTauntUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.taunt) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonDivineShieldUpdated: (entity: BoardEntity, input: OnDivineShieldUpdatedInput) => {\r\n\t\tif (input.previousValue && !input.target.divineShield) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonRebornUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.reborn) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonStealthUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.stealth) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonVenomousUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.venomous) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonWindfuryUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.windfury) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst updateEntity = (entity: BoardEntity, board: BoardEntity[], hero: BgsPlayerEntity, gameState: FullGameState) => {\r\n\tconst mult = entity.cardId === TempCardIds.ImplantSubject_G ? 2 : 1;\r\n\tmodifyStats(entity, mult * 2, mult * 2, board, hero, gameState);\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const ImpulsiveTrickster: DeathrattleEffectCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImpulsiveTrickster = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ exports.ImpulsiveTrickster = {
6
+ cardIds: ["BG21_006", "BG21_006_G"],
7
+ deathrattleEffect: (minion, input) => {
8
+ const tricksterMultiplier = minion.cardId === "BG21_006_G" ? 2 : 1;
9
+ for (let j = 0; j < tricksterMultiplier; j++) {
10
+ (0, utils_1.grantRandomHealth)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, minion.maxHealth, input.gameState, true);
11
+ }
12
+ },
13
+ };
14
+ //# sourceMappingURL=impulsive-trickster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impulsive-trickster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/impulsive-trickster.ts"],"names":[],"mappings":";;;AAGA,0CAAmD;AAGtC,QAAA,kBAAkB,GAA0B;IACxD,OAAO,EAAE,0BAA4E;IACrF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAA,yBAAiB,EAChB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,MAAM,CAAC,SAAS,EAChB,KAAK,CAAC,SAAS,EACf,IAAI,CACJ,CAAC;SACF;IACF,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 { grantRandomHealth } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const ImpulsiveTrickster: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.ImpulsiveTrickster_BG21_006, CardIds.ImpulsiveTrickster_BG21_006_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst tricksterMultiplier = minion.cardId === CardIds.ImpulsiveTrickster_BG21_006_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < tricksterMultiplier; j++) {\r\n\t\t\tgrantRandomHealth(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tminion.maxHealth,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\ttrue,\r\n\t\t\t);\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 InspiringUnderdog: BattlecryCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspiringUnderdog = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.InspiringUnderdog = {
6
+ cardIds: ["BG30_127", "BG30_127_G"],
7
+ battlecry: (minion, input) => {
8
+ const targets = input.board.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) <= 3);
9
+ if (targets.length > 0) {
10
+ const multiplier = minion.cardId === "BG30_127" ? 1 : 2;
11
+ targets.forEach((target) => {
12
+ (0, stats_1.modifyStats)(target, multiplier * 2, multiplier * 1, input.board, input.hero, input.gameState);
13
+ input.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);
14
+ });
15
+ }
16
+ },
17
+ };
18
+ //# sourceMappingURL=inspiring-underdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspiring-underdog.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/inspiring-underdog.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,eAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAA,mBAAW,EAAC,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9F,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;YACzG,CAAC,CAAC,CAAC;SACH;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\n\r\nexport const InspiringUnderdog: BattlecryCard = {\r\n\tcardIds: [CardIds.InspiringUnderdog_BG30_127, CardIds.InspiringUnderdog_BG30_127_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst targets = input.board.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) <= 3);\r\n\t\tif (targets.length > 0) {\r\n\t\t\tconst multiplier = minion.cardId === CardIds.InspiringUnderdog_BG30_127 ? 1 : 2;\r\n\t\t\ttargets.forEach((target) => {\r\n\t\t\t\tmodifyStats(target, multiplier * 2, multiplier * 1, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);\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 InterrogatorWhitemane: {
4
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
5
- };
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const InterrogatorWhitemane: StartOfCombatCard;
@@ -4,6 +4,7 @@ exports.InterrogatorWhitemane = void 0;
4
4
  const taunt_1 = require("../../../keywords/taunt");
5
5
  const utils_1 = require("../../../services/utils");
6
6
  exports.InterrogatorWhitemane = {
7
+ cardIds: ["BG24_704", "BG24_704_G"],
7
8
  startOfCombat: (minion, input) => {
8
9
  if (input.opponentBoard.length > 0) {
9
10
  const validTargets = input.opponentBoard.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) >= 5);
@@ -1 +1 @@
1
- {"version":3,"file":"interrogator-whitemane.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/interrogator-whitemane.ts"],"names":[],"mappings":";;;AAGA,mDAAsD;AACtD,mDAAqD;AAIxC,QAAA,qBAAqB,GAAG;IACpC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9D,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,MAAM,EAAE;oBACb,UAAU,CACT,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;oBACF,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClF,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACpC;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC;AAEF,MAAM,UAAU,GAAG,CAClB,MAAmB,EACnB,MAAmB,EACnB,KAAoB,EACpB,IAAqB,EACrB,SAA0B,EAC1B,SAAwB,EACvB,EAAE;;IACH,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO;KACP;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,CAAC,gBAAgB,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const InterrogatorWhitemane = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.opponentBoard.length > 0) {\r\n\t\t\tconst validTargets = input.opponentBoard.filter(\r\n\t\t\t\t(e) => input.gameState.cardsData.getTavernLevel(e.cardId) >= 5,\r\n\t\t\t);\r\n\t\t\tconst numberOfPicks = minion.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < numberOfPicks; i++) {\r\n\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tcastImpure(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst targetIndex = validTargets.findIndex((e) => e.entityId === target.entityId);\r\n\t\t\t\t\tvalidTargets.splice(targetIndex, 1);\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\r\nconst castImpure = (\r\n\tentity: BoardEntity,\r\n\tsource: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tif (!entity) {\r\n\t\treturn;\r\n\t}\r\n\tconst multiplier = source.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 3 : 2;\r\n\tupdateTaunt(entity, true, board, hero, otherHero, gameState);\r\n\tentity.damageMultiplier = entity.damageMultiplier ?? 1;\r\n\tentity.damageMultiplier *= multiplier;\r\n\tgameState.spectator.registerPowerTarget(source, entity, board, null, null);\r\n};\r\n"]}
1
+ {"version":3,"file":"interrogator-whitemane.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/interrogator-whitemane.ts"],"names":[],"mappings":";;;AAGA,mDAAsD;AACtD,mDAAqD;AAKxC,QAAA,qBAAqB,GAAsB;IACvD,OAAO,EAAE,0BAAkF;IAC3F,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9D,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,MAAM,EAAE;oBACb,UAAU,CACT,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;oBACF,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClF,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACpC;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC;AAEF,MAAM,UAAU,GAAG,CAClB,MAAmB,EACnB,MAAmB,EACnB,KAAoB,EACpB,IAAqB,EACrB,SAA0B,EAC1B,SAAwB,EACvB,EAAE;;IACH,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO;KACP;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,CAAC,gBAAgB,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const InterrogatorWhitemane: StartOfCombatCard = {\r\n\tcardIds: [CardIds.InterrogatorWhitemane_BG24_704, CardIds.InterrogatorWhitemane_BG24_704_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.opponentBoard.length > 0) {\r\n\t\t\tconst validTargets = input.opponentBoard.filter(\r\n\t\t\t\t(e) => input.gameState.cardsData.getTavernLevel(e.cardId) >= 5,\r\n\t\t\t);\r\n\t\t\tconst numberOfPicks = minion.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < numberOfPicks; i++) {\r\n\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tcastImpure(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst targetIndex = validTargets.findIndex((e) => e.entityId === target.entityId);\r\n\t\t\t\t\tvalidTargets.splice(targetIndex, 1);\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\r\nconst castImpure = (\r\n\tentity: BoardEntity,\r\n\tsource: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tif (!entity) {\r\n\t\treturn;\r\n\t}\r\n\tconst multiplier = source.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 3 : 2;\r\n\tupdateTaunt(entity, true, board, hero, otherHero, gameState);\r\n\tentity.damageMultiplier = entity.damageMultiplier ?? 1;\r\n\tentity.damageMultiplier *= multiplier;\r\n\tgameState.spectator.registerPowerTarget(source, entity, board, null, null);\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnBattlecryTriggeredCard } from '../../card.interface';
2
+ export declare const KalecgosArcaneAspect: OnBattlecryTriggeredCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KalecgosArcaneAspect = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../utils");
6
+ exports.KalecgosArcaneAspect = {
7
+ cardIds: ["BGS_041", "TB_BaconUps_109"],
8
+ onBattlecryTriggered: (minion, input) => {
9
+ const buff = minion.cardId === "BGS_041" ? 1 : 2;
10
+ (0, utils_1.addStatsToBoard)(minion, input.board, input.hero, buff, 2 * buff, input.gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
11
+ },
12
+ };
13
+ //# sourceMappingURL=kalecgos-arcane-aspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kalecgos-arcane-aspect.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/kalecgos-arcane-aspect.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,oBAAoB,GAA6B;IAC7D,OAAO,EAAE,8BAAoF;IAC7F,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,cAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACtG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnBattlecryTriggeredInput } from '../../../simulation/battlecries';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const KalecgosArcaneAspect: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.KalecgosArcaneAspect_BGS_041, CardIds.KalecgosArcaneAspect_TB_BaconUps_109],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: OnBattlecryTriggeredInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.KalecgosArcaneAspect_BGS_041 ? 1 : 2;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, buff, 2 * buff, input.gameState, Race[Race.DRAGON]);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const KangorsApprentice: DeathrattleSpawnCard;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KangorsApprentice = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
6
+ const utils_1 = require("../../../utils");
7
+ exports.KangorsApprentice = {
8
+ cardIds: ["BGS_012", "TB_BaconUps_087"],
9
+ deathrattleSpawn: (minion, input) => {
10
+ const numberToSpawn = minion.cardId === "BGS_012" ? 2 : 4;
11
+ const cardIdsToSpawn = input.gameState.sharedState.deaths
12
+ .filter((entity) => entity.friendly === minion.friendly)
13
+ .filter((entity) => (0, utils_1.hasCorrectTribe)(entity, input.boardWithDeadEntityHero, reference_data_1.Race.MECH, input.gameState.allCards))
14
+ .slice(0, numberToSpawn)
15
+ .map((entity) => entity.cardId);
16
+ const spawnedEntities = [];
17
+ cardIdsToSpawn.forEach((cardId) => spawnedEntities.push(...(0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardId, 1, input)));
18
+ return spawnedEntities;
19
+ },
20
+ };
21
+ //# sourceMappingURL=kangors-apprentice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kangors-apprentice.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/kangors-apprentice.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,+EAAiF;AACjF,0CAAiD;AAGpC,QAAA,iBAAiB,GAAyB;IACtD,OAAO,EAAE,8BAA8E;IACvF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,cAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM;aACvD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aACvD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC3F;aACA,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;aACvB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,eAAe,GAAkB,EAAE,CAAC;QAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAA,4CAAuB,EAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } 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 { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const KangorsApprentice: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.KangorsApprentice_BGS_012, CardIds.KangorsApprentice_TB_BaconUps_087],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberToSpawn = minion.cardId === CardIds.KangorsApprentice_BGS_012 ? 2 : 4;\r\n\t\tconst cardIdsToSpawn = input.gameState.sharedState.deaths\r\n\t\t\t.filter((entity) => entity.friendly === minion.friendly)\r\n\t\t\t.filter((entity) =>\r\n\t\t\t\thasCorrectTribe(entity, input.boardWithDeadEntityHero, Race.MECH, input.gameState.allCards),\r\n\t\t\t)\r\n\t\t\t.slice(0, numberToSpawn)\r\n\t\t\t.map((entity) => entity.cardId);\r\n\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\tcardIdsToSpawn.forEach((cardId) => spawnedEntities.push(...simplifiedSpawnEntities(cardId, 1, input)));\r\n\t\treturn spawnedEntities;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const KingBagurgle: BattlecryCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KingBagurgle = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../utils");
6
+ exports.KingBagurgle = {
7
+ cardIds: ["BGS_030", "TB_BaconUps_100"],
8
+ battlecry: (minion, input) => {
9
+ (0, utils_1.addStatsToBoard)(minion, input.board.filter((e) => e.entityId != minion.entityId), input.hero, minion.cardId === "BGS_030" ? 3 : 6, minion.cardId === "BGS_030" ? 3 : 6, input.gameState, reference_data_1.Race[reference_data_1.Race.MURLOC]);
10
+ },
11
+ };
12
+ //# sourceMappingURL=king-bagurgle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"king-bagurgle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/king-bagurgle.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,8BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EACxD,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,MAAM,cAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,MAAM,CAAC,MAAM,cAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CACjB,CAAC;IACH,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 { BattlecryCard } from '../../card.interface';\r\n\r\nexport const KingBagurgle: BattlecryCard = {\r\n\tcardIds: [CardIds.KingBagurgle_BGS_030, CardIds.KingBagurgle_TB_BaconUps_100],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.board.filter((e) => e.entityId != minion.entityId),\r\n\t\t\tinput.hero,\r\n\t\t\tminion.cardId === CardIds.KingBagurgle_BGS_030 ? 3 : 6,\r\n\t\t\tminion.cardId === CardIds.KingBagurgle_BGS_030 ? 3 : 6,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.MURLOC],\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 LeeroyTheReckless: DeathrattleEffectCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeeroyTheReckless = void 0;
4
+ exports.LeeroyTheReckless = {
5
+ cardIds: ["BG23_318", "BG23_318_G"],
6
+ deathrattleEffect: (minion, input) => {
7
+ if (minion.lastAffectedByEntity) {
8
+ minion.lastAffectedByEntity.definitelyDead = true;
9
+ }
10
+ },
11
+ };
12
+ //# sourceMappingURL=leeroy-the-reckless.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leeroy-the-reckless.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/leeroy-the-reckless.ts"],"names":[],"mappings":";;;AAKa,QAAA,iBAAiB,GAA0B;IACvD,OAAO,EAAE,0BAA0E;IACnF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,IACC,MAAM,CAAC,oBAAoB,EAI1B;YACD,MAAM,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SAClD;IACF,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 LeeroyTheReckless: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.LeeroyTheReckless_BG23_318, CardIds.LeeroyTheReckless_BG23_318_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tif (\r\n\t\t\tminion.lastAffectedByEntity\r\n\t\t\t// http://replays.firestoneapp.com/?reviewId=c6121cdd-5cb6-4321-807e-4ff644568a8c&turn=25&action=7\r\n\t\t\t// Update 02/05/2024: this is a bug, and friendly units should be killed\r\n\t\t\t// deadEntity.friendly !== deadEntity.lastAffectedByEntity.friendly\r\n\t\t) {\r\n\t\t\tminion.lastAffectedByEntity.definitelyDead = 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 LightfangEnforcer: EndOfTurnCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LightfangEnforcer = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ exports.LightfangEnforcer = {
6
+ cardIds: ["BGS_009", "TB_BaconUps_082"],
7
+ endOfTurn: (minion, input) => {
8
+ const mult = minion.cardId === "TB_BaconUps_082" ? 2 : 1;
9
+ const targets = (0, utils_1.getMinionsOfDifferentTypes)(input.board, input.hero, input.gameState);
10
+ (0, utils_1.addStatsToBoard)(minion, targets, input.hero, 4 * mult, 4 * mult, input.gameState);
11
+ },
12
+ };
13
+ //# sourceMappingURL=lightfang-enforcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightfang-enforcer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lightfang-enforcer.ts"],"names":[],"mappings":";;;AAEA,0CAA6E;AAGhE,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,8BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrF,IAAA,uBAAe,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addStatsToBoard, getMinionsOfDifferentTypes } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const LightfangEnforcer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.LightfangEnforcer_BGS_009, CardIds.LightfangEnforcer_TB_BaconUps_082],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.LightfangEnforcer_TB_BaconUps_082 ? 2 : 1;\r\n\t\tconst targets = getMinionsOfDifferentTypes(input.board, input.hero, input.gameState);\r\n\t\taddStatsToBoard(minion, targets, input.hero, 4 * mult, 4 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const LovesickBalladist: BattlecryCard;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LovesickBalladist = 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.LovesickBalladist = {
9
+ cardIds: ["BG26_814", "BG26_814_G"],
10
+ battlecry: (minion, input) => {
11
+ var _a;
12
+ const allMinions = [...input.board, ...input.otherBoard];
13
+ const balladistMultiplier = minion.cardId === "BG26_814" ? 1 : 2;
14
+ const balladistStats = balladistMultiplier * ((_a = minion.scriptDataNum1) !== null && _a !== void 0 ? _a : 0);
15
+ const balladistTargets = allMinions.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards));
16
+ const balladistTarget = (0, utils_1.pickRandom)(balladistTargets);
17
+ if (balladistTarget) {
18
+ const targetBoard = input.board.includes(balladistTarget) ? input.board : input.otherBoard;
19
+ const targetHero = input.board.includes(balladistTarget) ? input.hero : input.otherHero;
20
+ (0, stats_1.modifyStats)(balladistTarget, 0, balladistStats, targetBoard, targetHero, input.gameState);
21
+ input.gameState.spectator.registerPowerTarget(minion, balladistTarget, targetBoard, targetHero, input.otherHero);
22
+ }
23
+ },
24
+ };
25
+ //# sourceMappingURL=lovesick-balladist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lovesick-balladist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lovesick-balladist.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,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,mBAAmB,GAAG,MAAM,CAAC,MAAM,eAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,mBAAmB,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrE,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,eAAe,EAAE;YACpB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YACxF,IAAA,mBAAW,EAAC,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,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 { 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 LovesickBalladist: BattlecryCard = {\r\n\tcardIds: [CardIds.LovesickBalladist_BG26_814, CardIds.LovesickBalladist_BG26_814_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst balladistMultiplier = minion.cardId === CardIds.LovesickBalladist_BG26_814 ? 1 : 2;\r\n\t\tconst balladistStats = balladistMultiplier * (minion.scriptDataNum1 ?? 0);\r\n\t\tconst balladistTargets = allMinions.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.PIRATE, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst balladistTarget = pickRandom(balladistTargets);\r\n\t\tif (balladistTarget) {\r\n\t\t\tconst targetBoard = input.board.includes(balladistTarget) ? input.board : input.otherBoard;\r\n\t\t\tconst targetHero = input.board.includes(balladistTarget) ? input.hero : input.otherHero;\r\n\t\t\tmodifyStats(balladistTarget, 0, balladistStats, targetBoard, targetHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tballadistTarget,\r\n\t\t\t\ttargetBoard,\r\n\t\t\t\ttargetHero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\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 MechaJaraxxus: BattlecryCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MechaJaraxxus = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.MechaJaraxxus = {
6
+ cardIds: ["BG25_807", "BG25_807_G"],
7
+ battlecry: (minion, input) => {
8
+ const mechaJaraxxusCardsToAdd = minion.cardId === "BG25_807" ? [null] : [null, null];
9
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, mechaJaraxxusCardsToAdd, input.gameState);
10
+ },
11
+ };
12
+ //# sourceMappingURL=mecha-jaraxxus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mecha-jaraxxus.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/mecha-jaraxxus.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzG,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const MechaJaraxxus: BattlecryCard = {\r\n\tcardIds: [CardIds.MechaJaraxxus_BG25_807, CardIds.MechaJaraxxus_BG25_807_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mechaJaraxxusCardsToAdd = minion.cardId === CardIds.MechaJaraxxus_BG25_807 ? [null] : [null, null];\r\n\t\taddCardsInHand(input.hero, input.board, mechaJaraxxusCardsToAdd, input.gameState);\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 MisfitDragonling: {
4
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
5
- };
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const MisfitDragonling: StartOfCombatCard;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MisfitDragonling = void 0;
4
4
  const stats_1 = require("../../../simulation/stats");
5
5
  exports.MisfitDragonling = {
6
+ cardIds: ["BG29_814", "BG29_814_G"],
6
7
  startOfCombat: (minion, input) => {
7
8
  const multiplier = minion.cardId === "BG29_814_G" ? 2 : 1;
8
9
  const tier = input.playerEntity.tavernTier;
@@ -1 +1 @@
1
- {"version":3,"file":"misfit-dragonling.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/misfit-dragonling.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAE3C,QAAA,gBAAgB,GAAG;IAC/B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;QAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\n\r\nexport const MisfitDragonling = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.MisfitDragonling_BG29_814_G ? 2 : 1;\r\n\t\tconst tier = input.playerEntity.tavernTier;\r\n\t\tconst stats = multiplier * tier;\r\n\t\tmodifyStats(minion, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentEntity,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"misfit-dragonling.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/misfit-dragonling.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;QAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const MisfitDragonling: StartOfCombatCard = {\r\n\tcardIds: [CardIds.MisfitDragonling_BG29_814, CardIds.MisfitDragonling_BG29_814_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.MisfitDragonling_BG29_814_G ? 2 : 1;\r\n\t\tconst tier = input.playerEntity.tavernTier;\r\n\t\tconst stats = multiplier * tier;\r\n\t\tmodifyStats(minion, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentEntity,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const Mummifier: DeathrattleEffectCard;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Mummifier = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const reborn_1 = require("../../../keywords/reborn");
6
+ const utils_1 = require("../../../services/utils");
7
+ const utils_2 = require("../../../utils");
8
+ exports.Mummifier = {
9
+ cardIds: ["BG28_309", "BG28_309_G"],
10
+ deathrattleEffect: (minion, input) => {
11
+ const mummifierBuff = minion.cardId === "BG28_309_G" ? 2 : 1;
12
+ for (let j = 0; j < mummifierBuff; j++) {
13
+ const targets = input.boardWithDeadEntity
14
+ .filter((e) => e.cardId !== "BG28_309" && e.cardId !== "BG28_309_G")
15
+ .filter((e) => !e.reborn)
16
+ .filter((e) => (0, utils_2.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.UNDEAD, input.gameState.allCards));
17
+ const target = (0, utils_1.pickRandom)(targets);
18
+ if (target) {
19
+ (0, reborn_1.updateReborn)(target, true, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, input.gameState);
20
+ input.gameState.spectator.registerPowerTarget(minion, target, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
21
+ }
22
+ }
23
+ },
24
+ };
25
+ //# sourceMappingURL=mummifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mummifier.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/mummifier.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,qDAAwD;AACxD,mDAAqD;AAErD,0CAAiD;AAGpC,QAAA,SAAS,GAA0B;IAC/C,OAAO,EAAE,0BAA0D;IACnE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB;iBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,eAA+B,IAAI,CAAC,CAAC,MAAM,iBAAiC,CAAC;iBACnG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxF,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE;gBACX,IAAA,qBAAY,EACX,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 { updateReborn } from '../../../keywords/reborn';\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 Mummifier: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.Mummifier_BG28_309, CardIds.Mummifier_BG28_309_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mummifierBuff = minion.cardId === CardIds.Mummifier_BG28_309_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < mummifierBuff; j++) {\r\n\t\t\tconst targets = input.boardWithDeadEntity\r\n\t\t\t\t.filter((e) => e.cardId !== CardIds.Mummifier_BG28_309 && e.cardId !== CardIds.Mummifier_BG28_309_G)\r\n\t\t\t\t.filter((e) => !e.reborn)\r\n\t\t\t\t.filter((e) =>\r\n\t\t\t\t\thasCorrectTribe(e, input.boardWithDeadEntityHero, Race.UNDEAD, input.gameState.allCards),\r\n\t\t\t\t);\r\n\t\t\tconst target = pickRandom(targets);\r\n\t\t\tif (target) {\r\n\t\t\t\tupdateReborn(\r\n\t\t\t\t\ttarget,\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\ttarget,\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 { BattlecryCard } from '../../card.interface';
2
+ export declare const Murky: BattlecryCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Murky = 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.Murky = {
9
+ cardIds: ["BG24_012", "BG24_012_G"],
10
+ battlecry: (minion, input) => {
11
+ const murkyScale = minion.cardId === "BG24_012" ? 1 : 2;
12
+ const murlocsControlled = input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.allCards)).length;
13
+ const murkyStats = murkyScale * 3 * murlocsControlled;
14
+ const murkyTarget = (0, utils_1.pickRandom)(input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.allCards)));
15
+ if (!!murkyTarget) {
16
+ (0, stats_1.modifyStats)(murkyTarget, murkyStats, murkyStats, input.board, input.hero, input.gameState);
17
+ }
18
+ },
19
+ };
20
+ //# sourceMappingURL=murky.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"murky.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/murky.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,KAAK,GAAkB;IACnC,OAAO,EAAE,0BAAkD;IAC3D,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,eAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrE,CAAC,MAAM,CAAC;QACT,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,GAAG,iBAAiB,CAAC;QACtD,MAAM,WAAW,GAAG,IAAA,kBAAU,EAC7B,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,WAAW,EAAE;YAClB,IAAA,mBAAW,EAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;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 Murky: BattlecryCard = {\r\n\tcardIds: [CardIds.Murky_BG24_012, CardIds.Murky_BG24_012_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst murkyScale = minion.cardId === CardIds.Murky_BG24_012 ? 1 : 2;\r\n\t\tconst murlocsControlled = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.allCards),\r\n\t\t).length;\r\n\t\tconst murkyStats = murkyScale * 3 * murlocsControlled;\r\n\t\tconst murkyTarget = 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 (!!murkyTarget) {\r\n\t\t\tmodifyStats(murkyTarget, murkyStats, murkyStats, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -1,2 +1,2 @@
1
- import { DeathrattleEffectCard, OnOtherSpawnedCard } from '../../card.interface';
2
- export declare const MutatedLasher: DeathrattleEffectCard & OnOtherSpawnedCard;
1
+ import { DeathrattleEffectCard, OnOtherSpawnedAuraCard } from '../../card.interface';
2
+ export declare const MutatedLasher: DeathrattleEffectCard & OnOtherSpawnedAuraCard;
@@ -15,11 +15,11 @@ exports.MutatedLasher = {
15
15
  input.gameState.spectator.registerPowerTarget(minion, e, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
16
16
  });
17
17
  },
18
- onOtherSpawned: (minion, input) => {
18
+ onOtherSpawnedAura: (minion, input) => {
19
19
  const mult = minion.cardId === "MutatedLasher_G" ? 2 : 1;
20
20
  if (input.gameState.cardsData.getTavernLevel(input.spawned.cardId) % 2 === 1) {
21
- (0, stats_1.modifyStats)(input.spawned, 2 * mult, 3 * mult, input.playerBoard, input.playerEntity, input.gameState);
22
- input.gameState.spectator.registerPowerTarget(minion, input.spawned, input.playerBoard, input.playerEntity, null);
21
+ (0, stats_1.modifyStats)(input.spawned, 2 * mult, 3 * mult, input.board, input.hero, input.gameState);
22
+ input.gameState.spectator.registerPowerTarget(minion, input.spawned, input.board, input.hero, null);
23
23
  }
24
24
  },
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mutated-lasher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/mutated-lasher.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAI3C,QAAA,aAAa,GAA+C;IACxE,OAAO,EAAE,oCAAwD;IACjE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7E,KAAK,CAAC,mBAAmB;aACvB,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,EACV,CAAC,EACD,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7E,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACvG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,CACJ,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { DeathrattleEffectCard, OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const MutatedLasher: DeathrattleEffectCard & OnOtherSpawnedCard = {\r\n\tcardIds: [TempCardIds.MutatedLasher, TempCardIds.MutatedLasher_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.MutatedLasher_G ? 2 : 1;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.MutatedLasherAttackBuff += 2 * mult;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.MutatedLasherHealthBuff += 3 * mult;\r\n\t\tinput.boardWithDeadEntity\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 1)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\te,\r\n\t\t\t\t\t2 * mult,\r\n\t\t\t\t\t3 * mult,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\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\te,\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},\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.MutatedLasher_G ? 2 : 1;\r\n\t\tif (input.gameState.cardsData.getTavernLevel(input.spawned.cardId) % 2 === 1) {\r\n\t\t\tmodifyStats(input.spawned, 2 * mult, 3 * mult, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.spawned,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tnull,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"mutated-lasher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/mutated-lasher.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAI3C,QAAA,aAAa,GAAmD;IAC5E,OAAO,EAAE,oCAAwD;IACjE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7E,KAAK,CAAC,mBAAmB;aACvB,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,EACV,CAAC,EACD,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kBAAkB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACzE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7E,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACpG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { DeathrattleEffectCard, OnOtherSpawnedAuraCard } from '../../card.interface';\r\n\r\nexport const MutatedLasher: DeathrattleEffectCard & OnOtherSpawnedAuraCard = {\r\n\tcardIds: [TempCardIds.MutatedLasher, TempCardIds.MutatedLasher_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.MutatedLasher_G ? 2 : 1;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.MutatedLasherAttackBuff += 2 * mult;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.MutatedLasherHealthBuff += 3 * mult;\r\n\t\tinput.boardWithDeadEntity\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 1)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\te,\r\n\t\t\t\t\t2 * mult,\r\n\t\t\t\t\t3 * mult,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\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\te,\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},\r\n\tonOtherSpawnedAura: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.MutatedLasher_G ? 2 : 1;\r\n\t\tif (input.gameState.cardsData.getTavernLevel(input.spawned.cardId) % 2 === 1) {\r\n\t\t\tmodifyStats(input.spawned, 2 * mult, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, input.spawned, input.board, input.hero, null);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -6,6 +6,9 @@ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
6
6
  exports.NeonAgent = {
7
7
  cardIds: ["NeonAgent", "NeonAgent_G"],
8
8
  onAttack: (minion, input) => {
9
+ if (minion !== input.attacker) {
10
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
11
+ }
9
12
  const cards = [];
10
13
  const numberOfCards = minion.cardId === "NeonAgent_G" ? 2 : 1;
11
14
  for (let i = 0; i < numberOfCards; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"neon-agent.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/neon-agent.ts"],"names":[],"mappings":";;;AACA,mDAAqD;AACrD,qEAAmE;AAKtD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,4BAAgD;IACzD,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,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,gBAAgB,CAAC,CAAC,CAAC;SACnE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const NeonAgent: OnAttackCard = {\r\n\tcardIds: [TempCardIds.NeonAgent, TempCardIds.NeonAgent_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === TempCardIds.NeonAgent_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.battlecryMinions));\r\n\t\t}\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cards, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"neon-agent.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/neon-agent.ts"],"names":[],"mappings":";;;AACA,mDAAqD;AACrD,qEAAmE;AAKtD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,4BAAgD;IACzD,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QACD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,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,gBAAgB,CAAC,CAAC,CAAC;SACnE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const NeonAgent: OnAttackCard = {\r\n\tcardIds: [TempCardIds.NeonAgent, TempCardIds.NeonAgent_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === TempCardIds.NeonAgent_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.battlecryMinions));\r\n\t\t}\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cards, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const NerubianDeathswarmer: BattlecryCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NerubianDeathswarmer = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../utils");
6
+ exports.NerubianDeathswarmer = {
7
+ cardIds: ["BG25_011", "BG25_011_G"],
8
+ battlecry: (minion, input) => {
9
+ var _a, _b;
10
+ const nerubianDeathswarmerStats = minion.cardId === "BG25_011" ? 1 : 2;
11
+ input.hero.globalInfo.UndeadAttackBonus =
12
+ ((_b = (_a = input.hero.globalInfo) === null || _a === void 0 ? void 0 : _a.UndeadAttackBonus) !== null && _b !== void 0 ? _b : 0) + nerubianDeathswarmerStats;
13
+ (0, utils_1.addStatsToBoard)(minion, input.board, input.hero, nerubianDeathswarmerStats, 0, input.gameState, reference_data_1.Race[reference_data_1.Race.UNDEAD]);
14
+ },
15
+ };
16
+ //# sourceMappingURL=nerubian-deathswarmer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nerubian-deathswarmer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/nerubian-deathswarmer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,oBAAoB,GAAkB;IAClD,OAAO,EAAE,0BAAgF;IACzF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,eAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB;YACtC,CAAC,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,0CAAE,iBAAiB,mCAAI,CAAC,CAAC,GAAG,yBAAyB,CAAC;QAC7E,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,yBAAyB,EACzB,CAAC,EACD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CACjB,CAAC;IACH,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 { BattlecryCard } from '../../card.interface';\r\n\r\nexport const NerubianDeathswarmer: BattlecryCard = {\r\n\tcardIds: [CardIds.NerubianDeathswarmer_BG25_011, CardIds.NerubianDeathswarmer_BG25_011_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst nerubianDeathswarmerStats = minion.cardId === CardIds.NerubianDeathswarmer_BG25_011 ? 1 : 2;\r\n\t\tinput.hero.globalInfo.UndeadAttackBonus =\r\n\t\t\t(input.hero.globalInfo?.UndeadAttackBonus ?? 0) + nerubianDeathswarmerStats;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tnerubianDeathswarmerStats,\r\n\t\t\t0,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.UNDEAD],\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -6,6 +6,9 @@ const attack_1 = require("../../../simulation/attack");
6
6
  exports.Niuzao = {
7
7
  cardIds: ["BG27_822", "BG27_822_G"],
8
8
  onAttack: (minion, input) => {
9
+ if (minion !== input.attacker) {
10
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
11
+ }
9
12
  const multiplier = minion.cardId === "BG27_822_G" ? 2 : 1;
10
13
  let dmgDoneByAttacker = 0;
11
14
  for (let i = 0; i < multiplier; i++) {
@@ -1 +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"]}
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,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QACD,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\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\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 { BattlecryCard } from '../../card.interface';
2
+ export declare const OozelingGladiator: BattlecryCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OozelingGladiator = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.OozelingGladiator = {
6
+ cardIds: ["BG27_002", "BG27_002_G"],
7
+ battlecry: (minion, input) => {
8
+ const oozelingCardsToAdd = minion.cardId === "BG27_002"
9
+ ? ["GAME_005", "GAME_005"]
10
+ : ["GAME_005", "GAME_005", "GAME_005", "GAME_005"];
11
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, oozelingCardsToAdd, input.gameState);
12
+ },
13
+ };
14
+ //# sourceMappingURL=oozeling-gladiator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oozeling-gladiator.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/oozeling-gladiator.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,kBAAkB,GACvB,MAAM,CAAC,MAAM,eAAuC;YACnD,CAAC,CAAC,wBAA0C;YAC5C,CAAC,CAAC,gDAAoF,CAAC;QACzF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9E,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 OozelingGladiator: BattlecryCard = {\r\n\tcardIds: [CardIds.OozelingGladiator_BG27_002, CardIds.OozelingGladiator_BG27_002_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst oozelingCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.OozelingGladiator_BG27_002\r\n\t\t\t\t? [CardIds.TheCoinCore, CardIds.TheCoinCore]\r\n\t\t\t\t: [CardIds.TheCoinCore, CardIds.TheCoinCore, CardIds.TheCoinCore, CardIds.TheCoinCore];\r\n\t\taddCardsInHand(input.hero, input.board, oozelingCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const OperaticBelcher: DeathrattleEffectCard;