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

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 (162) hide show
  1. package/dist/cards/card.interface.d.ts +10 -1
  2. package/dist/cards/card.interface.js +4 -2
  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 +68 -2
  7. package/dist/cards/impl/_card-mappings.js.map +1 -1
  8. package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js +1 -1
  9. package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +1 -1
  10. package/dist/cards/impl/minion/admiral-eliza-goreblade.d.ts +2 -0
  11. package/dist/cards/impl/minion/admiral-eliza-goreblade.js +20 -0
  12. package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -0
  13. package/dist/cards/impl/minion/anubarak-nerubian-king.d.ts +2 -0
  14. package/dist/cards/impl/minion/anubarak-nerubian-king.js +15 -0
  15. package/dist/cards/impl/minion/anubarak-nerubian-king.js.map +1 -0
  16. package/dist/cards/impl/minion/arcane-cannoneer.js +3 -0
  17. package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -1
  18. package/dist/cards/impl/minion/arid-atrocity.d.ts +2 -0
  19. package/dist/cards/impl/minion/arid-atrocity.js +22 -0
  20. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -0
  21. package/dist/cards/impl/minion/assistant-guard.d.ts +2 -0
  22. package/dist/cards/impl/minion/assistant-guard.js +20 -0
  23. package/dist/cards/impl/minion/assistant-guard.js.map +1 -0
  24. package/dist/cards/impl/minion/bannerboar.d.ts +1 -1
  25. package/dist/cards/impl/minion/bannerboar.js +4 -4
  26. package/dist/cards/impl/minion/bannerboar.js.map +1 -1
  27. package/dist/cards/impl/minion/bongo-bopper.d.ts +2 -0
  28. package/dist/cards/impl/minion/bongo-bopper.js +15 -0
  29. package/dist/cards/impl/minion/bongo-bopper.js.map +1 -0
  30. package/dist/cards/impl/minion/champion-of-the-primus.d.ts +2 -0
  31. package/dist/cards/impl/minion/champion-of-the-primus.js +15 -0
  32. package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -0
  33. package/dist/cards/impl/minion/charlga.d.ts +2 -0
  34. package/dist/cards/impl/minion/charlga.js +15 -0
  35. package/dist/cards/impl/minion/charlga.js.map +1 -0
  36. package/dist/cards/impl/minion/corrupted-myrmidon.d.ts +2 -5
  37. package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -0
  38. package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
  39. package/dist/cards/impl/minion/cruise-controller.d.ts +2 -0
  40. package/dist/cards/impl/minion/cruise-controller.js +11 -0
  41. package/dist/cards/impl/minion/cruise-controller.js.map +1 -0
  42. package/dist/cards/impl/minion/defiant-shipwright.d.ts +2 -0
  43. package/dist/cards/impl/minion/defiant-shipwright.js +13 -0
  44. package/dist/cards/impl/minion/defiant-shipwright.js.map +1 -0
  45. package/dist/cards/impl/minion/efficient-engineer.js +8 -1
  46. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
  47. package/dist/cards/impl/minion/gem-smuggler.d.ts +2 -0
  48. package/dist/cards/impl/minion/gem-smuggler.js +14 -0
  49. package/dist/cards/impl/minion/gem-smuggler.js.map +1 -0
  50. package/dist/cards/impl/minion/holo-rover.js +3 -0
  51. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  52. package/dist/cards/impl/minion/inspiring-underdog.d.ts +2 -0
  53. package/dist/cards/impl/minion/inspiring-underdog.js +18 -0
  54. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -0
  55. package/dist/cards/impl/minion/interrogator-whitemane.d.ts +2 -5
  56. package/dist/cards/impl/minion/interrogator-whitemane.js +1 -0
  57. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  58. package/dist/cards/impl/minion/king-bagurgle.d.ts +2 -0
  59. package/dist/cards/impl/minion/king-bagurgle.js +12 -0
  60. package/dist/cards/impl/minion/king-bagurgle.js.map +1 -0
  61. package/dist/cards/impl/minion/leeroy-the-reckless.d.ts +2 -0
  62. package/dist/cards/impl/minion/leeroy-the-reckless.js +12 -0
  63. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -0
  64. package/dist/cards/impl/minion/lightfang-enforcer.d.ts +2 -0
  65. package/dist/cards/impl/minion/lightfang-enforcer.js +13 -0
  66. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -0
  67. package/dist/cards/impl/minion/lovesick-balladist.d.ts +2 -0
  68. package/dist/cards/impl/minion/lovesick-balladist.js +25 -0
  69. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -0
  70. package/dist/cards/impl/minion/misfit-dragonling.js +1 -0
  71. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  72. package/dist/cards/impl/minion/mummifier.d.ts +2 -0
  73. package/dist/cards/impl/minion/mummifier.js +25 -0
  74. package/dist/cards/impl/minion/mummifier.js.map +1 -0
  75. package/dist/cards/impl/minion/neon-agent.js +3 -0
  76. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  77. package/dist/cards/impl/minion/nerubian-deathswarmer.d.ts +2 -0
  78. package/dist/cards/impl/minion/nerubian-deathswarmer.js +16 -0
  79. package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -0
  80. package/dist/cards/impl/minion/niuzao.js +3 -0
  81. package/dist/cards/impl/minion/niuzao.js.map +1 -1
  82. package/dist/cards/impl/minion/oozeling-gladiator.d.ts +2 -0
  83. package/dist/cards/impl/minion/oozeling-gladiator.js +14 -0
  84. package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -0
  85. package/dist/cards/impl/minion/peggy-sturdybone.d.ts +2 -0
  86. package/dist/cards/impl/minion/peggy-sturdybone.js +17 -0
  87. package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -0
  88. package/dist/cards/impl/minion/primalfin-lookout.d.ts +2 -0
  89. package/dist/cards/impl/minion/primalfin-lookout.js +27 -0
  90. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -0
  91. package/dist/cards/impl/minion/prized-promo-drake.js +1 -0
  92. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  93. package/dist/cards/impl/minion/rapscallion-recruiter.d.ts +2 -0
  94. package/dist/cards/impl/minion/rapscallion-recruiter.js +13 -0
  95. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -0
  96. package/dist/cards/impl/minion/razorfen-geomancer.d.ts +2 -0
  97. package/dist/cards/impl/minion/razorfen-geomancer.js +14 -0
  98. package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -0
  99. package/dist/cards/impl/minion/ripsnarl-captain.d.ts +2 -0
  100. package/dist/cards/impl/minion/ripsnarl-captain.js +18 -0
  101. package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -0
  102. package/dist/cards/impl/minion/rodeo-performer.d.ts +2 -0
  103. package/dist/cards/impl/minion/rodeo-performer.js +12 -0
  104. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -0
  105. package/dist/cards/impl/minion/scallywag.d.ts +2 -0
  106. package/dist/cards/impl/minion/scallywag.js +13 -0
  107. package/dist/cards/impl/minion/scallywag.js.map +1 -0
  108. package/dist/cards/impl/minion/shell-collector.d.ts +2 -0
  109. package/dist/cards/impl/minion/shell-collector.js +14 -0
  110. package/dist/cards/impl/minion/shell-collector.js.map +1 -0
  111. package/dist/cards/impl/minion/sinodorei-straight-shot.d.ts +2 -0
  112. package/dist/cards/impl/minion/sinodorei-straight-shot.js +14 -0
  113. package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -0
  114. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.d.ts +2 -0
  115. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js +16 -0
  116. package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js.map +1 -0
  117. package/dist/cards/impl/minion/sky-pirate-flagbearer.d.ts +2 -5
  118. package/dist/cards/impl/minion/sky-pirate-flagbearer.js +1 -0
  119. package/dist/cards/impl/minion/sky-pirate-flagbearer.js.map +1 -1
  120. package/dist/cards/impl/minion/spacefarer.js +4 -2
  121. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  122. package/dist/cards/impl/minion/three-lil-quilboar.d.ts +2 -0
  123. package/dist/cards/impl/minion/three-lil-quilboar.js +16 -0
  124. package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -0
  125. package/dist/cards/impl/minion/thundering-abomination.d.ts +2 -0
  126. package/dist/cards/impl/minion/thundering-abomination.js +13 -0
  127. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -0
  128. package/dist/cards/impl/minion/tunnel-blaster.d.ts +2 -0
  129. package/dist/cards/impl/minion/tunnel-blaster.js +20 -0
  130. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -0
  131. package/dist/cards/impl/minion/whelp-smuggler.js +2 -1
  132. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  133. package/dist/cards/impl/trinket/automaton-portrait.js +1 -0
  134. package/dist/cards/impl/trinket/automaton-portrait.js.map +1 -1
  135. package/dist/cards/impl/trinket/karazhan-chess-set.js +2 -1
  136. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  137. package/dist/cards/impl/trinket/rusty-trident.js +1 -0
  138. package/dist/cards/impl/trinket/rusty-trident.js.map +1 -1
  139. package/dist/simulate-bgs-battle.js +0 -2
  140. package/dist/simulate-bgs-battle.js.map +1 -1
  141. package/dist/simulation/add-minion-to-board.js +0 -6
  142. package/dist/simulation/add-minion-to-board.js.map +1 -1
  143. package/dist/simulation/avenge.js +0 -6
  144. package/dist/simulation/avenge.js.map +1 -1
  145. package/dist/simulation/battlecries.js +16 -114
  146. package/dist/simulation/battlecries.js.map +1 -1
  147. package/dist/simulation/cards-in-hand.js +0 -9
  148. package/dist/simulation/cards-in-hand.js.map +1 -1
  149. package/dist/simulation/deathrattle-effects.js +1 -73
  150. package/dist/simulation/deathrattle-effects.js.map +1 -1
  151. package/dist/simulation/deathrattle-spawns.js +18 -32
  152. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  153. package/dist/simulation/on-attack.d.ts +1 -0
  154. package/dist/simulation/on-attack.js +16 -42
  155. package/dist/simulation/on-attack.js.map +1 -1
  156. package/dist/simulation/on-being-attacked.js +0 -7
  157. package/dist/simulation/on-being-attacked.js.map +1 -1
  158. package/dist/simulation/start-of-combat/soc-action-processor.js +0 -8
  159. package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
  160. package/dist/simulation/stats.js +0 -5
  161. package/dist/simulation/stats.js.map +1 -1
  162. package/package.json +1 -1
@@ -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 { OnCardAddedToHandCard } from '../../card.interface';
2
+ export declare const PeggySturdybone: OnCardAddedToHandCard;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PeggySturdybone = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.PeggySturdybone = {
8
+ cardIds: ["BG25_032", "BG25_032_G"],
9
+ onCardAddedToHand: (minion, input) => {
10
+ const pirate = (0, utils_1.getRandomAliveMinion)(input.board.filter((e) => e.entityId !== minion.entityId), input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards);
11
+ if (pirate) {
12
+ (0, stats_1.modifyStats)(pirate, minion.cardId === "BG25_032_G" ? 2 : 1, minion.cardId === "BG25_032_G" ? 2 : 1, input.board, input.hero, input.gameState);
13
+ input.gameState.spectator.registerPowerTarget(minion, pirate, input.board, input.hero, null);
14
+ }
15
+ },
16
+ };
17
+ //# sourceMappingURL=peggy-sturdybone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peggy-sturdybone.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/peggy-sturdybone.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAsD;AAGzC,QAAA,eAAe,GAA0B;IACrD,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,MAAM,MAAM,GAAG,IAAA,4BAAoB,EAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,EACzD,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getRandomAliveMinion } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const PeggySturdybone: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.PeggySturdybone_BG25_032, CardIds.PeggySturdybone_BG25_032_G],\r\n\tonCardAddedToHand: (minion: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tconst pirate = getRandomAliveMinion(\r\n\t\t\tinput.board.filter((e) => e.entityId !== minion.entityId),\r\n\t\t\tinput.hero,\r\n\t\t\tRace.PIRATE,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t);\r\n\t\tif (pirate) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tpirate,\r\n\t\t\t\tminion.cardId === CardIds.PeggySturdybone_BG25_032_G ? 2 : 1,\r\n\t\t\t\tminion.cardId === CardIds.PeggySturdybone_BG25_032_G ? 2 : 1,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, pirate, input.board, input.hero, null);\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 PrimalfinLookout: BattlecryCard;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrimalfinLookout = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const utils_1 = require("../../../services/utils");
6
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
7
+ const discover_1 = require("../../../simulation/discover");
8
+ exports.PrimalfinLookout = {
9
+ cardIds: ["BGS_020", "TB_BaconUps_089"],
10
+ battlecry: (minion, input) => {
11
+ var _a, _b, _c;
12
+ const primalfinLoops = minion.cardId === "BGS_020" ? 1 : 2;
13
+ for (let i = 0; i < primalfinLoops; i++) {
14
+ const discoverOptions = [
15
+ input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_a = input.hero.tavernTier) !== null && _a !== void 0 ? _a : 1),
16
+ input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_b = input.hero.tavernTier) !== null && _b !== void 0 ? _b : 1),
17
+ input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, (_c = input.hero.tavernTier) !== null && _c !== void 0 ? _c : 1),
18
+ ];
19
+ const picked = (0, utils_1.pickRandom)(discoverOptions);
20
+ const others = discoverOptions.filter((e) => e !== picked);
21
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [picked], input.gameState);
22
+ (0, discover_1.afterDiscover)(input.hero, input.board, picked, others, input.gameState);
23
+ input.gameState.spectator.registerPowerTarget(minion, input.hero, input.board, input.hero, input.otherHero);
24
+ }
25
+ },
26
+ };
27
+ //# sourceMappingURL=primalfin-lookout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primalfin-lookout.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/primalfin-lookout.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qEAAmE;AACnE,2DAA6D;AAGhD,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,8BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,cAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,eAAe,GAAG;gBACvB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;aAC1F,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnE,IAAA,wBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACxE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { afterDiscover } from '../../../simulation/discover';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const PrimalfinLookout: BattlecryCard = {\r\n\tcardIds: [CardIds.PrimalfinLookout_BGS_020, CardIds.PrimalfinLookout_TB_BaconUps_089],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst primalfinLoops = minion.cardId === CardIds.PrimalfinLookout_BGS_020 ? 1 : 2;\r\n\t\tfor (let i = 0; i < primalfinLoops; i++) {\r\n\t\t\tconst discoverOptions = [\r\n\t\t\t\tinput.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier ?? 1),\r\n\t\t\t\tinput.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier ?? 1),\r\n\t\t\t\tinput.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier ?? 1),\r\n\t\t\t];\r\n\t\t\tconst picked = pickRandom(discoverOptions);\r\n\t\t\tconst others = discoverOptions.filter((e) => e !== picked);\r\n\t\t\taddCardsInHand(input.hero, input.board, [picked], input.gameState);\r\n\t\t\tafterDiscover(input.hero, input.board, picked, others, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, input.hero, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -5,6 +5,7 @@ const reference_data_1 = require("@firestone-hs/reference-data");
5
5
  const stats_1 = require("../../../simulation/stats");
6
6
  const utils_1 = require("../../../utils");
7
7
  exports.PrizedPromoDrake = {
8
+ cardIds: ["BG21_014", "BG21_014_G"],
8
9
  startOfCombat: (minion, input) => {
9
10
  const stats = minion.cardId === "BG21_014_G" ? 6 : 3;
10
11
  const targets = input.playerBoard
@@ -1 +1 @@
1
- {"version":3,"file":"prized-promo-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prized-promo-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const PrizedPromoDrake: StartOfCombatCard = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.PrizedPromoDrake_BG21_014_G ? 6 : 3;\r\n\t\tconst targets = input.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards));\r\n\t\tif (!!targets.length) {\r\n\t\t\tfor (const entity of targets) {\r\n\t\t\t\tmodifyStats(entity, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"prized-promo-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prized-promo-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;YACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const PrizedPromoDrake: StartOfCombatCard = {\r\n\tcardIds: [CardIds.PrizedPromoDrake_BG21_014, CardIds.PrizedPromoDrake_BG21_014_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst stats = minion.cardId === CardIds.PrizedPromoDrake_BG21_014_G ? 6 : 3;\r\n\t\tconst targets = input.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards));\r\n\t\tif (!!targets.length) {\r\n\t\t\tfor (const entity of targets) {\r\n\t\t\t\tmodifyStats(entity, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const RapscallionRecruiter: DeathrattleSpawnCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RapscallionRecruiter = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.RapscallionRecruiter = {
6
+ cardIds: ["BG26_018", "BG26_018_G"],
7
+ deathrattleSpawn: (minion, input) => {
8
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(minion.cardId === "BG26_018_G"
9
+ ? "TB_BaconUps_141"
10
+ : "BGS_061", 3, input);
11
+ },
12
+ };
13
+ //# sourceMappingURL=rapscallion-recruiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapscallion-recruiter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/rapscallion-recruiter.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,oBAAoB,GAAyB;IACzD,OAAO,EAAE,0BAAgF;IACzF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,OAAO,IAAA,4CAAuB,EAC7B,MAAM,CAAC,MAAM,iBAA4C;YACxD,CAAC;YACD,CAAC,UAA0B,EAC5B,CAAC,EACD,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const RapscallionRecruiter: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.RapscallionRecruiter_BG26_018, CardIds.RapscallionRecruiter_BG26_018_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tminion.cardId === CardIds.RapscallionRecruiter_BG26_018_G\r\n\t\t\t\t? CardIds.Scallywag_TB_BaconUps_141\r\n\t\t\t\t: CardIds.Scallywag_BGS_061,\r\n\t\t\t3,\r\n\t\t\tinput,\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 RazorfenGeomancer: BattlecryCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RazorfenGeomancer = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.RazorfenGeomancer = {
6
+ cardIds: ["BG20_100", "BG20_100_G"],
7
+ battlecry: (minion, input) => {
8
+ const razorFenCardsToAdd = minion.cardId === "BG20_100"
9
+ ? ["BG20_GEM"]
10
+ : ["BG20_GEM", "BG20_GEM"];
11
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, razorFenCardsToAdd, input.gameState);
12
+ },
13
+ };
14
+ //# sourceMappingURL=razorfen-geomancer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"razorfen-geomancer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/razorfen-geomancer.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,YAAkB;YACpB,CAAC,CAAC,wBAAoC,CAAC;QACzC,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 RazorfenGeomancer: BattlecryCard = {\r\n\tcardIds: [CardIds.RazorfenGeomancer_BG20_100, CardIds.RazorfenGeomancer_BG20_100_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst razorFenCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.RazorfenGeomancer_BG20_100\r\n\t\t\t\t? [CardIds.BloodGem]\r\n\t\t\t\t: [CardIds.BloodGem, CardIds.BloodGem];\r\n\t\taddCardsInHand(input.hero, input.board, razorFenCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAttackCard } from '../../card.interface';
2
+ export declare const RipsnarlCaptain: OnAttackCard;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RipsnarlCaptain = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const stats_1 = require("../../../simulation/stats");
6
+ const utils_1 = require("../../../utils");
7
+ exports.RipsnarlCaptain = {
8
+ cardIds: ["BGS_056", "TB_BaconUps_139"],
9
+ onAttack: (minion, input) => {
10
+ if ((0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.PIRATE, input.gameState.allCards)) {
11
+ const mult = minion.cardId === "TB_BaconUps_139" ? 2 : 1;
12
+ (0, stats_1.modifyStats)(input.attacker, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);
13
+ input.gameState.spectator.registerPowerTarget(minion, input.attacker, input.attackingBoard, input.attackingHero, input.defendingHero);
14
+ }
15
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
16
+ },
17
+ };
18
+ //# sourceMappingURL=ripsnarl-captain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripsnarl-captain.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ripsnarl-captain.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,8BAA0E;IACnF,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACvD,IAAI,IAAA,uBAAe,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAChG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;SACF;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const RipsnarlCaptain: OnAttackCard = {\r\n\tcardIds: [CardIds.RipsnarlCaptain_BGS_056, CardIds.RipsnarlCaptain_TB_BaconUps_139],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (hasCorrectTribe(input.attacker, input.attackingHero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\tconst mult = minion.cardId === CardIds.RipsnarlCaptain_TB_BaconUps_139 ? 2 : 1;\r\n\t\t\tmodifyStats(input.attacker, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.defendingHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { BattlecryCard } from '../../card.interface';
2
+ export declare const RodeoPerformer: BattlecryCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RodeoPerformer = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.RodeoPerformer = {
6
+ cardIds: ["BG28_550", "BG28_550_G"],
7
+ battlecry: (minion, input) => {
8
+ const rodeoPerformerCardsToAdd = minion.cardId === "BG28_550_G" ? [null] : [null, null];
9
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, rodeoPerformerCardsToAdd, input.gameState);
10
+ },
11
+ };
12
+ //# sourceMappingURL=rodeo-performer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rodeo-performer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/rodeo-performer.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7G,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpF,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 RodeoPerformer: BattlecryCard = {\r\n\tcardIds: [CardIds.RodeoPerformer_BG28_550, CardIds.RodeoPerformer_BG28_550_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst rodeoPerformerCardsToAdd = minion.cardId === CardIds.RodeoPerformer_BG28_550_G ? [null] : [null, null];\r\n\t\taddCardsInHand(input.hero, input.board, rodeoPerformerCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnCard } from '../../card.interface';
2
+ export declare const Scallywag: DeathrattleSpawnCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Scallywag = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.Scallywag = {
6
+ cardIds: ["BGS_061", "TB_BaconUps_141"],
7
+ deathrattleSpawn: (minion, input) => {
8
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(minion.cardId === "TB_BaconUps_141"
9
+ ? "TB_BaconUps_141t"
10
+ : "BGS_061t", 1, input);
11
+ },
12
+ };
13
+ //# sourceMappingURL=scallywag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scallywag.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/scallywag.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,SAAS,GAAyB;IAC9C,OAAO,EAAE,8BAA8D;IACvE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,OAAO,IAAA,4CAAuB,EAC7B,MAAM,CAAC,MAAM,sBAAsC;YAClD,CAAC;YACD,CAAC,WAA0C,EAC5C,CAAC,EACD,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Scallywag: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Scallywag_BGS_061, CardIds.Scallywag_TB_BaconUps_141],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tminion.cardId === CardIds.Scallywag_TB_BaconUps_141\r\n\t\t\t\t? CardIds.Scallywag_SkyPirateToken_TB_BaconUps_141t\r\n\t\t\t\t: CardIds.Scallywag_SkyPirateToken_BGS_061t,\r\n\t\t\t1,\r\n\t\t\tinput,\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 ShellCollector: BattlecryCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShellCollector = void 0;
4
+ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
+ exports.ShellCollector = {
6
+ cardIds: ["BG23_002", "BG23_002_G"],
7
+ battlecry: (minion, input) => {
8
+ const shellCollectorCardsToAdd = minion.cardId === "BG23_002"
9
+ ? ["GAME_005"]
10
+ : ["GAME_005", "GAME_005"];
11
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, shellCollectorCardsToAdd, input.gameState);
12
+ },
13
+ };
14
+ //# sourceMappingURL=shell-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-collector.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shell-collector.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,wBAAwB,GAC7B,MAAM,CAAC,MAAM,eAAoC;YAChD,CAAC,CAAC,YAAqB;YACvB,CAAC,CAAC,wBAA0C,CAAC;QAC/C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpF,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 ShellCollector: BattlecryCard = {\r\n\tcardIds: [CardIds.ShellCollector_BG23_002, CardIds.ShellCollector_BG23_002_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst shellCollectorCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.ShellCollector_BG23_002\r\n\t\t\t\t? [CardIds.TheCoinCore]\r\n\t\t\t\t: [CardIds.TheCoinCore, CardIds.TheCoinCore];\r\n\t\taddCardsInHand(input.hero, input.board, shellCollectorCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnAttackCard } from '../../card.interface';
2
+ export declare const SindoreiStraightShot: OnAttackCard;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SindoreiStraightShot = void 0;
4
+ const reborn_1 = require("../../../keywords/reborn");
5
+ const taunt_1 = require("../../../keywords/taunt");
6
+ exports.SindoreiStraightShot = {
7
+ cardIds: ["BG25_016", "BG25_016_G"],
8
+ onAttack: (minion, input) => {
9
+ (0, taunt_1.updateTaunt)(input.defendingEntity, false, input.defendingBoard, input.defendingHero, input.attackingHero, input.gameState);
10
+ (0, reborn_1.updateReborn)(input.defendingEntity, false, input.defendingBoard, input.defendingHero, input.attackingHero, input.gameState);
11
+ return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
12
+ },
13
+ };
14
+ //# sourceMappingURL=sinodorei-straight-shot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sinodorei-straight-shot.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sinodorei-straight-shot.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,mDAAsD;AAIzC,QAAA,oBAAoB,GAAiB;IACjD,OAAO,EAAE,0BAAgF;IACzF,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,IAAA,mBAAW,EACV,KAAK,CAAC,eAAe,EACrB,KAAK,EACL,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,IAAA,qBAAY,EACX,KAAK,CAAC,eAAe,EACrB,KAAK,EACL,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const SindoreiStraightShot: OnAttackCard = {\r\n\tcardIds: [CardIds.SindoreiStraightShot_BG25_016, CardIds.SindoreiStraightShot_BG25_016_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tupdateTaunt(\r\n\t\t\tinput.defendingEntity,\r\n\t\t\tfalse,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\tupdateReborn(\r\n\t\t\tinput.defendingEntity,\r\n\t\t\tfalse,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleSpawnEnchantmentCard } from '../../card.interface';
2
+ export declare const SkyPirateFlagbearerEnchantment: DeathrattleSpawnEnchantmentCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SkyPirateFlagbearerEnchantment = void 0;
4
+ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
+ exports.SkyPirateFlagbearerEnchantment = {
6
+ cardIds: [
7
+ "BG30_119e",
8
+ "BG30_119_Ge",
9
+ ],
10
+ deathrattleSpawnEnchantmentEffect: (enchantment, input) => {
11
+ return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(enchantment.cardId === "BG30_119e"
12
+ ? "BGS_061t"
13
+ : "TB_BaconUps_141t", 1, input);
14
+ },
15
+ };
16
+ //# sourceMappingURL=sky-pirate-flagbearer-enchantment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-pirate-flagbearer-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sky-pirate-flagbearer-enchantment.ts"],"names":[],"mappings":";;;AAEA,+EAAiF;AAGpE,QAAA,8BAA8B,GAAoC;IAC9E,OAAO,EAAE;;;KAGR;IACD,iCAAiC,EAAE,CAAC,WAA+B,EAAE,KAAgC,EAAE,EAAE;QACxG,OAAO,IAAA,4CAAuB,EAC7B,WAAW,CAAC,MAAM,gBAAiE;YAClF,CAAC;YACD,CAAC,mBAAkD,EACpD,CAAC,EACD,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\n\r\nexport const SkyPirateFlagbearerEnchantment: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [\r\n\t\tCardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e,\r\n\t\tCardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge,\r\n\t],\r\n\tdeathrattleSpawnEnchantmentEffect: (enchantment: { cardId: string }, input: DeathrattleTriggeredInput) => {\r\n\t\treturn simplifiedSpawnEntities(\r\n\t\t\tenchantment.cardId === CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e\r\n\t\t\t\t? CardIds.Scallywag_SkyPirateToken_BGS_061t\r\n\t\t\t\t: CardIds.Scallywag_SkyPirateToken_TB_BaconUps_141t,\r\n\t\t\t1,\r\n\t\t\tinput,\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 SkyPirateFlagbearer: {
4
- startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
5
- };
1
+ import { StartOfCombatCard } from '../../card.interface';
2
+ export declare const SkyPirateFlagbearer: StartOfCombatCard;
@@ -4,6 +4,7 @@ exports.SkyPirateFlagbearer = void 0;
4
4
  const reference_data_1 = require("@firestone-hs/reference-data");
5
5
  const utils_1 = require("../../../utils");
6
6
  exports.SkyPirateFlagbearer = {
7
+ cardIds: ["BG30_119", "BG30_119_G"],
7
8
  startOfCombat: (minion, input) => {
8
9
  input.playerBoard
9
10
  .filter((e) => e.entityId !== minion.entityId)
@@ -1 +1 @@
1
- {"version":3,"file":"sky-pirate-flagbearer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sky-pirate-flagbearer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAEpC,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,KAAK,CAAC,WAAW;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC5F,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnB,MAAM,EACL,MAAM,CAAC,MAAM,iBAA2C;oBACvD,CAAC;oBACD,CAAC,YAA6D;gBAChE,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const SkyPirateFlagbearer = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tinput.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.allCards))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\te.enchantments = e.enchantments || [];\r\n\t\t\t\te.enchantments.push({\r\n\t\t\t\t\tcardId:\r\n\t\t\t\t\t\tminion.cardId === CardIds.SkyPirateFlagbearer_BG30_119_G\r\n\t\t\t\t\t\t\t? CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge\r\n\t\t\t\t\t\t\t: CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e,\r\n\t\t\t\t\toriginEntityId: minion.entityId,\r\n\t\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"sky-pirate-flagbearer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sky-pirate-flagbearer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,mBAAmB,GAAsB;IACrD,OAAO,EAAE,0BAA8E;IACvF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,KAAK,CAAC,WAAW;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC5F,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnB,MAAM,EACL,MAAM,CAAC,MAAM,iBAA2C;oBACvD,CAAC;oBACD,CAAC,YAA6D;gBAChE,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const SkyPirateFlagbearer: StartOfCombatCard = {\r\n\tcardIds: [CardIds.SkyPirateFlagbearer_BG30_119, CardIds.SkyPirateFlagbearer_BG30_119_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tinput.playerBoard\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.allCards))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\te.enchantments = e.enchantments || [];\r\n\t\t\t\te.enchantments.push({\r\n\t\t\t\t\tcardId:\r\n\t\t\t\t\t\tminion.cardId === CardIds.SkyPirateFlagbearer_BG30_119_G\r\n\t\t\t\t\t\t\t? CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119_Ge\r\n\t\t\t\t\t\t\t: CardIds.SkyPirateFlagbearer_FlagbearingEnchantment_BG30_119e,\r\n\t\t\t\t\toriginEntityId: minion.entityId,\r\n\t\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -13,8 +13,10 @@ exports.Spacefarer = {
13
13
  if (!(0, utils_1.hasCorrectTribe)(input.target, input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards)) {
14
14
  return;
15
15
  }
16
- const mult = entity.cardId === "Spacefarer_G" ? 2 : 1;
17
- (0, stats_1.modifyStats)(entity, 0, 3 * mult, input.board, input.hero, input.gameState);
16
+ if (input.attackAmount > 0) {
17
+ const mult = entity.cardId === "Spacefarer_G" ? 2 : 1;
18
+ (0, stats_1.modifyStats)(entity, 0, 3 * mult, input.board, input.hero, input.gameState);
19
+ }
18
20
  },
19
21
  };
20
22
  //# sourceMappingURL=spacefarer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAA6E;AAE7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,8BAAkD;IAC3D,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtF,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mBAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [TempCardIds.Spacefarer, TempCardIds.Spacefarer_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = entity.cardId === TempCardIds.Spacefarer_G ? 2 : 1;\r\n\t\tmodifyStats(entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAA6E;AAE7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,8BAAkD;IAC3D,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtF,OAAO;SACP;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mBAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3E;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [TempCardIds.Spacefarer, TempCardIds.Spacefarer_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.attackAmount > 0) {\r\n\t\t\tconst mult = entity.cardId === TempCardIds.Spacefarer_G ? 2 : 1;\r\n\t\t\tmodifyStats(entity, 0, 3 * mult, input.board, input.hero, input.gameState);\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 ThreeLilQuilboar: DeathrattleEffectCard;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThreeLilQuilboar = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
5
+ const blood_gems_1 = require("../../../simulation/blood-gems");
6
+ const utils_1 = require("../../../utils");
7
+ exports.ThreeLilQuilboar = {
8
+ cardIds: ["BG26_867", "BG26_867_G"],
9
+ deathrattleEffect: (minion, input) => {
10
+ const numberOfBloodGems = minion.cardId === "BG26_867_G" ? 6 : 3;
11
+ for (const entity of input.boardWithDeadEntity.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.QUILBOAR, input.gameState.allCards))) {
12
+ (0, blood_gems_1.playBloodGemsOn)(minion, entity, numberOfBloodGems, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
13
+ }
14
+ },
15
+ };
16
+ //# sourceMappingURL=three-lil-quilboar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"three-lil-quilboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/three-lil-quilboar.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,+DAAiE;AAEjE,0CAAiD;AAGpC,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,0BAAwE;IACjF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC1F,EAAE;YACF,IAAA,4BAAe,EACd,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,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 { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const ThreeLilQuilboar: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.ThreeLilQuilboar_BG26_867, CardIds.ThreeLilQuilboar_BG26_867_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst numberOfBloodGems = minion.cardId === CardIds.ThreeLilQuilboar_BG26_867_G ? 6 : 3;\r\n\t\tfor (const entity of input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.boardWithDeadEntityHero, Race.QUILBOAR, input.gameState.allCards),\r\n\t\t)) {\r\n\t\t\tplayBloodGemsOn(\r\n\t\t\t\tminion,\r\n\t\t\t\tentity,\r\n\t\t\t\tnumberOfBloodGems,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnOtherSpawnedCard } from '../../card.interface';
2
+ export declare const ThunderingAbomination: OnOtherSpawnedCard;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThunderingAbomination = void 0;
4
+ const stats_1 = require("../../../simulation/stats");
5
+ exports.ThunderingAbomination = {
6
+ cardIds: ["BG30_124", "BG30_124_G"],
7
+ onOtherSpawned: (minion, input) => {
8
+ const abomStatsMultiplier = minion.cardId === "BG30_124_G" ? 2 : 1;
9
+ (0, stats_1.modifyStats)(input.spawned, abomStatsMultiplier * 3, abomStatsMultiplier * 3, input.board, input.hero, input.gameState);
10
+ input.gameState.spectator.registerPowerTarget(minion, input.spawned, input.board, input.hero, input.otherHero);
11
+ },
12
+ };
13
+ //# sourceMappingURL=thundering-abomination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thundering-abomination.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thundering-abomination.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,qBAAqB,GAAuB;IACxD,OAAO,EAAE,0BAAkF;IAC3F,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,mBAAmB,GAAG,CAAC,EACvB,mBAAmB,GAAG,CAAC,EACvB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ThunderingAbomination: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ThunderingAbomination_BG30_124, CardIds.ThunderingAbomination_BG30_124_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst abomStatsMultiplier = minion.cardId === CardIds.ThunderingAbomination_BG30_124_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\tinput.gameState.spectator.registerPowerTarget(minion, input.spawned, input.board, input.hero, input.otherHero);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { DeathrattleEffectCard } from '../../card.interface';
2
+ export declare const TunnelBlaster: DeathrattleEffectCard;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TunnelBlaster = void 0;
4
+ const attack_1 = require("../../../simulation/attack");
5
+ exports.TunnelBlaster = {
6
+ cardIds: ["BG_DAL_775", "BG_DAL_775_G"],
7
+ deathrattleEffect: (minion, input) => {
8
+ const loops = minion.cardId === "BG_DAL_775_G" ? 2 : 1;
9
+ const minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];
10
+ for (let j = 0; j < loops; j++) {
11
+ for (const target of minionsToDamage) {
12
+ const isSameSide = target.friendly === minion.friendly;
13
+ const board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;
14
+ const hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;
15
+ (0, attack_1.dealDamageToMinion)(target, board, hero, minion, 3, isSameSide ? input.otherBoard : input.boardWithDeadEntity, isSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero, input.gameState);
16
+ }
17
+ }
18
+ },
19
+ };
20
+ //# sourceMappingURL=tunnel-blaster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,8BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,mBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC/E,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EACzD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,EACjE,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const TunnelBlaster: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.TunnelBlaster_BG_DAL_775, CardIds.TunnelBlaster_BG_DAL_775_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.TunnelBlaster_BG_DAL_775_G ? 2 : 1;\r\n\t\t// In case there are spawns, don't target them\r\n\t\tconst minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];\r\n\t\tfor (let j = 0; j < loops; j++) {\r\n\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\tconst isSameSide = target.friendly === minion.friendly;\r\n\t\t\t\tconst board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;\r\n\t\t\t\tconst hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t3,\r\n\t\t\t\t\tisSameSide ? input.otherBoard : input.boardWithDeadEntity,\r\n\t\t\t\t\tisSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero,\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},\r\n};\r\n"]}
@@ -7,7 +7,8 @@ const utils_1 = require("../../../utils");
7
7
  exports.WhelpSmuggler = {
8
8
  cardIds: ["BG21_013", "BG21_013_G"],
9
9
  onStatsChanged: (minion, input) => {
10
- if ((0, utils_1.hasCorrectTribe)(input.target, input.hero, reference_data_1.Race.DRAGON, input.gameState.allCards)) {
10
+ if ((0, utils_1.hasCorrectTribe)(input.target, input.hero, reference_data_1.Race.DRAGON, input.gameState.allCards) &&
11
+ input.attackAmount > 0) {
11
12
  const buff = minion.cardId === "BG21_013_G" ? 2 : 1;
12
13
  (0, stats_1.modifyStats)(input.target, 0, buff, input.board, input.hero, input.gameState);
13
14
  input.gameState.spectator.registerPowerTarget(minion, input.target, input.board, input.hero, input.otherHero);
@@ -1 +1 @@
1
- {"version":3,"file":"whelp-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whelp-smuggler.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,aAAa,GAAuB;IAChD,OAAO,EAAE,0BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const WhelpSmuggler: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WhelpSmuggler_BG21_013, CardIds.WhelpSmuggler_BG21_013_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (hasCorrectTribe(input.target, input.hero, Race.DRAGON, input.gameState.allCards)) {\r\n\t\t\tconst buff = minion.cardId === CardIds.WhelpSmuggler_BG21_013_G ? 2 : 1;\r\n\t\t\tmodifyStats(input.target, 0, buff, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.target,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"whelp-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whelp-smuggler.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,aAAa,GAAuB;IAChD,OAAO,EAAE,0BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YAChF,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const WhelpSmuggler: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WhelpSmuggler_BG21_013, CardIds.WhelpSmuggler_BG21_013_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.target, input.hero, Race.DRAGON, input.gameState.allCards) &&\r\n\t\t\tinput.attackAmount > 0\r\n\t\t) {\r\n\t\t\tconst buff = minion.cardId === CardIds.WhelpSmuggler_BG21_013_G ? 2 : 1;\r\n\t\t\tmodifyStats(input.target, 0, buff, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.target,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -4,6 +4,7 @@ exports.AutomatonPortrait = void 0;
4
4
  const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
5
5
  const spawns_1 = require("../../../simulation/spawns");
6
6
  exports.AutomatonPortrait = {
7
+ cardIds: ["BG30_MagicItem_303"],
7
8
  startOfCombat: (trinket, input) => {
8
9
  if (input.playerBoard.length < 7) {
9
10
  const newMinions = (0, deathrattle_spawns_1.spawnEntities)("BG_TTN_401", 1, input.playerBoard, input.playerEntity, input.opponentBoard, input.opponentEntity, input.gameState.allCards, input.gameState.cardsData, input.gameState.sharedState, input.gameState.spectator, input.playerEntity.friendly, false);
@@ -1 +1 @@
1
- {"version":3,"file":"automaton-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/automaton-portrait.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAIpD,QAAA,iBAAiB,GAAsB;IACnD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,IAAA,kCAAa,gBAE/B,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CAAC,QAAQ,EACxB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAC3B,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,CACL,CAAC;YACF,IAAA,4BAAmB,EAClB,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SACpE;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AutomatonPortrait: StartOfCombatCard = {\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length < 7) {\r\n\t\t\tconst newMinions = spawnEntities(\r\n\t\t\t\tCardIds.AstralAutomaton_BG_TTN_401,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\tinput.gameState.cardsData,\r\n\t\t\t\tinput.gameState.sharedState,\r\n\t\t\t\tinput.gameState.spectator,\r\n\t\t\t\tinput.playerEntity.friendly,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tperformEntitySpawns(\r\n\t\t\t\tnewMinions,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"automaton-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/automaton-portrait.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAIpD,QAAA,iBAAiB,GAAsB;IACnD,OAAO,EAAE,sBAA8C;IACvD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,IAAA,kCAAa,gBAE/B,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CAAC,QAAQ,EACxB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAC3B,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,CACL,CAAC;YACF,IAAA,4BAAmB,EAClB,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SACpE;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AutomatonPortrait: StartOfCombatCard = {\r\n\tcardIds: [CardIds.AutomatonPortrait_BG30_MagicItem_303],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length < 7) {\r\n\t\t\tconst newMinions = spawnEntities(\r\n\t\t\t\tCardIds.AstralAutomaton_BG_TTN_401,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\tinput.gameState.cardsData,\r\n\t\t\t\tinput.gameState.sharedState,\r\n\t\t\t\tinput.gameState.spectator,\r\n\t\t\t\tinput.playerEntity.friendly,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tperformEntitySpawns(\r\n\t\t\t\tnewMinions,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -6,13 +6,14 @@ const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
6
6
  const spawns_1 = require("../../../simulation/spawns");
7
7
  const utils_1 = require("../../../utils");
8
8
  exports.KarazhanChessSet = {
9
+ cardIds: ["BG30_MagicItem_972"],
9
10
  startOfCombat: (trinket, input) => {
10
11
  let hasTriggered = false;
11
12
  if (input.playerBoard.length > 0) {
12
13
  let minionsToCopy = 1;
13
14
  for (let i = 0; i < Math.min(input.playerBoard.length, 7); i++) {
14
15
  if (minionsToCopy <= 0) {
15
- break;
16
+ return;
16
17
  }
17
18
  const entityToCoy = input.playerBoard[i];
18
19
  const copy = (0, utils_1.copyEntity)(entityToCoy);