@firestone-hs/simulate-bgs-battle 1.1.668 → 1.1.670

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 (104) hide show
  1. package/dist/cards/impl/_card-mappings.js +4 -0
  2. package/dist/cards/impl/_card-mappings.js.map +1 -1
  3. package/dist/cards/impl/bg-spell/timewarped-bananas.js +2 -2
  4. package/dist/cards/impl/bg-spell/timewarped-bananas.js.map +1 -1
  5. package/dist/cards/impl/minion/apexis-guardian.js +8 -8
  6. package/dist/cards/impl/minion/apexis-guardian.js.map +1 -1
  7. package/dist/cards/impl/minion/blue-volumizer.js +1 -1
  8. package/dist/cards/impl/minion/blue-volumizer.js.map +1 -1
  9. package/dist/cards/impl/minion/briarback-drummer.js +1 -1
  10. package/dist/cards/impl/minion/briarback-drummer.js.map +1 -1
  11. package/dist/cards/impl/minion/budding-greenthumb.js +1 -1
  12. package/dist/cards/impl/minion/budding-greenthumb.js.map +1 -1
  13. package/dist/cards/impl/minion/campfire-shadow.js +5 -2
  14. package/dist/cards/impl/minion/campfire-shadow.js.map +1 -1
  15. package/dist/cards/impl/minion/champion-of-the-primus.js +1 -1
  16. package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -1
  17. package/dist/cards/impl/minion/charging-czarina.js +1 -1
  18. package/dist/cards/impl/minion/charging-czarina.js.map +1 -1
  19. package/dist/cards/impl/minion/costume-enthusiast.js +1 -1
  20. package/dist/cards/impl/minion/costume-enthusiast.js.map +1 -1
  21. package/dist/cards/impl/minion/dastardly-drust.js +2 -2
  22. package/dist/cards/impl/minion/dastardly-drust.js.map +1 -1
  23. package/dist/cards/impl/minion/dramaloc.js +1 -1
  24. package/dist/cards/impl/minion/dramaloc.js.map +1 -1
  25. package/dist/cards/impl/minion/fauna-whisperer.js +11 -13
  26. package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -1
  27. package/dist/cards/impl/minion/fire-forged-evoker.js +1 -1
  28. package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -1
  29. package/dist/cards/impl/minion/forsaken-weaver.js +1 -1
  30. package/dist/cards/impl/minion/forsaken-weaver.js.map +1 -1
  31. package/dist/cards/impl/minion/ghoul-of-the-feast.js +1 -1
  32. package/dist/cards/impl/minion/ghoul-of-the-feast.js.map +1 -1
  33. package/dist/cards/impl/minion/highkeeper-ra.d.ts +2 -2
  34. package/dist/cards/impl/minion/highkeeper-ra.js +10 -0
  35. package/dist/cards/impl/minion/highkeeper-ra.js.map +1 -1
  36. package/dist/cards/impl/minion/junk-jouster.js +1 -1
  37. package/dist/cards/impl/minion/junk-jouster.js.map +1 -1
  38. package/dist/cards/impl/minion/nalaa-the-redeemer.d.ts +2 -0
  39. package/dist/cards/impl/minion/nalaa-the-redeemer.js +12 -0
  40. package/dist/cards/impl/minion/nalaa-the-redeemer.js.map +1 -0
  41. package/dist/cards/impl/minion/plankwalker.js +1 -1
  42. package/dist/cards/impl/minion/plankwalker.js.map +1 -1
  43. package/dist/cards/impl/minion/red-volumizer.js +1 -1
  44. package/dist/cards/impl/minion/red-volumizer.js.map +1 -1
  45. package/dist/cards/impl/minion/soulsplitter.js +4 -2
  46. package/dist/cards/impl/minion/soulsplitter.js.map +1 -1
  47. package/dist/cards/impl/minion/stalwart-kodo.js +1 -1
  48. package/dist/cards/impl/minion/stalwart-kodo.js.map +1 -1
  49. package/dist/cards/impl/minion/the-last-one-standing.js +1 -1
  50. package/dist/cards/impl/minion/the-last-one-standing.js.map +1 -1
  51. package/dist/cards/impl/minion/timewarped-bassgill.js +1 -1
  52. package/dist/cards/impl/minion/timewarped-bassgill.js.map +1 -1
  53. package/dist/cards/impl/minion/timewarped-caretaker.js +1 -1
  54. package/dist/cards/impl/minion/timewarped-caretaker.js.map +1 -1
  55. package/dist/cards/impl/minion/timewarped-centurion.js +1 -1
  56. package/dist/cards/impl/minion/timewarped-centurion.js.map +1 -1
  57. package/dist/cards/impl/minion/timewarped-duskmaw.js +1 -1
  58. package/dist/cards/impl/minion/timewarped-duskmaw.js.map +1 -1
  59. package/dist/cards/impl/minion/timewarped-electron.js +4 -1
  60. package/dist/cards/impl/minion/timewarped-electron.js.map +1 -1
  61. package/dist/cards/impl/minion/timewarped-geist.js +1 -1
  62. package/dist/cards/impl/minion/timewarped-geist.js.map +1 -1
  63. package/dist/cards/impl/minion/timewarped-goldrinn.js +5 -4
  64. package/dist/cards/impl/minion/timewarped-goldrinn.js.map +1 -1
  65. package/dist/cards/impl/minion/timewarped-grease-bot.js +1 -1
  66. package/dist/cards/impl/minion/timewarped-grease-bot.js.map +1 -1
  67. package/dist/cards/impl/minion/timewarped-hooktail.js +1 -1
  68. package/dist/cards/impl/minion/timewarped-hooktail.js.map +1 -1
  69. package/dist/cards/impl/minion/timewarped-interpreter.js +1 -1
  70. package/dist/cards/impl/minion/timewarped-interpreter.js.map +1 -1
  71. package/dist/cards/impl/minion/timewarped-jungle-king.js +1 -1
  72. package/dist/cards/impl/minion/timewarped-jungle-king.js.map +1 -1
  73. package/dist/cards/impl/minion/timewarped-painter.js +2 -2
  74. package/dist/cards/impl/minion/timewarped-painter.js.map +1 -1
  75. package/dist/cards/impl/minion/timewarped-primscale.js +1 -1
  76. package/dist/cards/impl/minion/timewarped-primscale.js.map +1 -1
  77. package/dist/cards/impl/minion/timewarped-ragnaros.js +2 -2
  78. package/dist/cards/impl/minion/timewarped-ragnaros.js.map +1 -1
  79. package/dist/cards/impl/minion/timewarped-saurolisk.js +1 -1
  80. package/dist/cards/impl/minion/timewarped-saurolisk.js.map +1 -1
  81. package/dist/cards/impl/minion/timewarped-sensei.js +1 -1
  82. package/dist/cards/impl/minion/timewarped-sensei.js.map +1 -1
  83. package/dist/cards/impl/minion/timewarped-steamer.js +8 -2
  84. package/dist/cards/impl/minion/timewarped-steamer.js.map +1 -1
  85. package/dist/cards/impl/minion/timewarped-sylvar.js +1 -1
  86. package/dist/cards/impl/minion/timewarped-sylvar.js.map +1 -1
  87. package/dist/cards/impl/minion/timewarped-tender.js +1 -1
  88. package/dist/cards/impl/minion/timewarped-tender.js.map +1 -1
  89. package/dist/cards/impl/minion/timewarped-tide-razor.js +1 -1
  90. package/dist/cards/impl/minion/timewarped-tide-razor.js.map +1 -1
  91. package/dist/cards/impl/minion/timewarped-twirler.d.ts +2 -2
  92. package/dist/cards/impl/minion/timewarped-twirler.js +1 -24
  93. package/dist/cards/impl/minion/timewarped-twirler.js.map +1 -1
  94. package/dist/cards/impl/minion/utility-drone.d.ts +2 -0
  95. package/dist/cards/impl/minion/utility-drone.js +18 -0
  96. package/dist/cards/impl/minion/utility-drone.js.map +1 -0
  97. package/dist/cards/impl/minion/whirling-lass-o-matic.js +1 -1
  98. package/dist/cards/impl/minion/whirling-lass-o-matic.js.map +1 -1
  99. package/dist/cards/impl/trinket/sepulchral-sergent.js +7 -4
  100. package/dist/cards/impl/trinket/sepulchral-sergent.js.map +1 -1
  101. package/dist/simulation/magnetize.d.ts +1 -0
  102. package/dist/simulation/magnetize.js +5 -1
  103. package/dist/simulation/magnetize.js.map +1 -1
  104. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dastardly-drust.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/dastardly-drust.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAA2D;AAG9C,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBACtD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC1F;qBAAM;oBACN,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC1F;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { 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 { hasCorrectTribe, isGolden } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const DastardlyDrust: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.DastardlyDrust_BG32_234, CardIds.DastardlyDrust_BG32_234_G],\r\n\tonCardAddedToHand: (minion: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.addedCard,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.PIRATE,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tconst mult = minion.cardId === CardIds.DastardlyDrust_BG32_234_G ? 2 : 1;\r\n\t\t\tconst targets = input.board;\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tif (isGolden(target.cardId, input.gameState.allCards)) {\r\n\t\t\t\t\tmodifyStats(target, minion, 2 * mult, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmodifyStats(target, minion, 1 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"dastardly-drust.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/dastardly-drust.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAA2D;AAG9C,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBACtD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC1F;qBAAM;oBACN,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC1F;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe, isGolden } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const DastardlyDrust: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.DastardlyDrust_BG32_234, CardIds.DastardlyDrust_BG32_234_G],\r\n\tonCardAddedToHand: (minion: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.addedCard,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.PIRATE,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tconst mult = minion.cardId === CardIds.DastardlyDrust_BG32_234_G ? 2 : 1;\r\n\t\t\tconst targets = input.board;\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tif (isGolden(target.cardId, input.gameState.allCards)) {\r\n\t\t\t\t\tmodifyStats(target, minion, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmodifyStats(target, minion, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -18,7 +18,7 @@ exports.Dramaloc = {
18
18
  (0, utils_2.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.MURLOC, input.gameState.anomalies, input.gameState.allCards));
19
19
  const targets = (0, utils_1.pickMultipleRandom)(candidates, 2);
20
20
  for (const target of targets) {
21
- (0, stats_1.modifyStats)(target, minion, statsSource.attack, statsSource.health, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
21
+ (0, stats_1.modifyStats)(target, minion, statsSource.attack, 0, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
22
22
  }
23
23
  }
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dramaloc.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/dramaloc.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAA6D;AAE7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,0BAAwD;IACjE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,KAAK,CAAC,uBAAuB,CAAC,IAAI;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,WAAW,EAAE;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,MAAM;oBACZ,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;gBACF,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC7B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,MAAM,EAClB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;aACD;SACD;QAED,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Dramaloc: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Dramaloc_BG34_143, CardIds.Dramaloc_BG34_143_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.Dramaloc_BG34_143_G ? 2 : 1;\r\n\t\tconst statsSource = input.boardWithDeadEntityHero.hand\r\n\t\t\t.filter((e) => e.attack != null && !!e.cardId)\r\n\t\t\t.sort((a, b) => b.attack - a.attack)[0];\r\n\t\tif (!!statsSource) {\r\n\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\tconst candidates = input.boardWithDeadEntity.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\te !== minion &&\r\n\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\tRace.MURLOC,\r\n\t\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t);\r\n\t\t\t\tconst targets = pickMultipleRandom(candidates, 2);\r\n\t\t\t\tfor (const target of targets) {\r\n\t\t\t\t\tmodifyStats(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tstatsSource.attack,\r\n\t\t\t\t\t\tstatsSource.health,\r\n\t\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"dramaloc.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/dramaloc.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAA6D;AAE7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,0BAAwD;IACjE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,KAAK,CAAC,uBAAuB,CAAC,IAAI;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,WAAW,EAAE;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,MAAM;oBACZ,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;gBACF,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC7B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,WAAW,CAAC,MAAM,EAClB,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;aACD;SACD;QAED,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Dramaloc: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Dramaloc_BG34_143, CardIds.Dramaloc_BG34_143_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.Dramaloc_BG34_143_G ? 2 : 1;\r\n\t\tconst statsSource = input.boardWithDeadEntityHero.hand\r\n\t\t\t.filter((e) => e.attack != null && !!e.cardId)\r\n\t\t\t.sort((a, b) => b.attack - a.attack)[0];\r\n\t\tif (!!statsSource) {\r\n\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\tconst candidates = input.boardWithDeadEntity.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\te !== minion &&\r\n\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\tRace.MURLOC,\r\n\t\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t);\r\n\t\t\t\tconst targets = pickMultipleRandom(candidates, 2);\r\n\t\t\t\tfor (const target of targets) {\r\n\t\t\t\t\tmodifyStats(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tstatsSource.attack,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -1,27 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FaunaWhisperer = void 0;
4
- const reference_data_1 = require("@firestone-hs/reference-data");
4
+ const cast_tavern_spell_1 = require("../../../mechanics/cast-tavern-spell");
5
5
  const attack_1 = require("../../../simulation/attack");
6
- const stats_1 = require("../../../simulation/stats");
7
- const wax_warband_1 = require("../hero-power/wax-warband");
8
6
  exports.FaunaWhisperer = {
9
7
  cardIds: ["BG32_837", "BG32_837_G"],
10
8
  endOfTurn: (minion, input) => {
11
- var _a;
12
- const index = input.board.indexOf(minion);
13
- if (index === 0) {
14
- return;
15
- }
16
9
  const targets = (0, attack_1.getNeighbours)(input.board, minion);
17
10
  const mult = minion.cardId === "BG32_837_G" ? 2 : 1;
18
11
  for (let i = 0; i < mult; i++) {
19
12
  for (const target of targets) {
20
- const targetRaces = ((_a = input.gameState.allCards.getCard(target.cardId).races) !== null && _a !== void 0 ? _a : []).map((r) => reference_data_1.Race[r]);
21
- const spellTargets = (0, wax_warband_1.selectMinions)(input.board, targetRaces, input.gameState.allCards);
22
- for (const spellTarget of spellTargets) {
23
- (0, stats_1.modifyStats)(spellTarget, minion, 2, 2, input.board, input.hero, input.gameState);
24
- }
13
+ (0, cast_tavern_spell_1.castTavernSpell)("BG28_845", {
14
+ spellCardId: "BG28_845",
15
+ source: minion,
16
+ target: target,
17
+ board: input.board,
18
+ hero: input.hero,
19
+ otherBoard: input.otherBoard,
20
+ otherHero: input.otherHero,
21
+ gameState: input.gameState,
22
+ });
25
23
  }
26
24
  }
27
25
  },
@@ -1 +1 @@
1
- {"version":3,"file":"fauna-whisperer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fauna-whisperer.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,uDAA2D;AAC3D,qDAAwD;AAExD,2DAA0D;AAE7C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,CAAC,EAAE;YAChB,OAAO;SACP;QAED,MAAM,OAAO,GAA2B,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,MAAM,WAAW,GAAG,CAAC,MAAA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,YAAY,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACvF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACvC,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;iBACjF;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\nimport { selectMinions } from '../hero-power/wax-warband';\r\n\r\nexport const FaunaWhisperer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.FaunaWhisperer_BG32_837, CardIds.FaunaWhisperer_BG32_837_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst index = input.board.indexOf(minion);\r\n\t\tif (index === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst targets: readonly BoardEntity[] = getNeighbours(input.board, minion);\r\n\t\tconst mult = minion.cardId === CardIds.FaunaWhisperer_BG32_837_G ? 2 : 1;\r\n\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tconst targetRaces = (input.gameState.allCards.getCard(target.cardId).races ?? []).map((r) => Race[r]);\r\n\t\t\t\tconst spellTargets = selectMinions(input.board, targetRaces, input.gameState.allCards);\r\n\t\t\t\tfor (const spellTarget of spellTargets) {\r\n\t\t\t\t\tmodifyStats(spellTarget, minion, 2, 2, input.board, input.hero, input.gameState);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"fauna-whisperer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fauna-whisperer.ts"],"names":[],"mappings":";;;AACA,4EAAuE;AAEvE,uDAA2D;AAG9C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,OAAO,GAA2B,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mCAAe,cAAmC;oBACjD,WAAW,YAAkC;oBAC7C,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC1B,CAAC,CAAC;aACH;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { castTavernSpell } from '../../../mechanics/cast-tavern-spell';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const FaunaWhisperer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.FaunaWhisperer_BG32_837, CardIds.FaunaWhisperer_BG32_837_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst targets: readonly BoardEntity[] = getNeighbours(input.board, minion);\r\n\t\tconst mult = minion.cardId === CardIds.FaunaWhisperer_BG32_837_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tcastTavernSpell(CardIds.NaturalBlessing_BG28_845, {\r\n\t\t\t\t\tspellCardId: CardIds.NaturalBlessing_BG28_845,\r\n\t\t\t\t\tsource: minion,\r\n\t\t\t\t\ttarget: target,\r\n\t\t\t\t\tboard: input.board,\r\n\t\t\t\t\thero: input.hero,\r\n\t\t\t\t\totherBoard: input.otherBoard,\r\n\t\t\t\t\totherHero: input.otherHero,\r\n\t\t\t\t\tgameState: input.gameState,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -9,7 +9,7 @@ exports.FireForgedEvoker = {
9
9
  startOfCombat: (minion, input) => {
10
10
  var _a, _b;
11
11
  const mult = minion.cardId === "BG32_822_G" ? 2 : 1;
12
- const atk = (_a = minion.scriptDataNum1) !== null && _a !== void 0 ? _a : 1 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);
12
+ const atk = (_a = minion.scriptDataNum1) !== null && _a !== void 0 ? _a : 2 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);
13
13
  const health = (_b = minion.scriptDataNum2) !== null && _b !== void 0 ? _b : 1 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);
14
14
  const targetBoard = input.playerBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
15
15
  for (const target of targetBoard) {
@@ -1 +1 @@
1
- {"version":3,"file":"fire-forged-evoker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fire-forged-evoker.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC1G,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;YACjC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjG;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { 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 FireForgedEvoker: StartOfCombatCard = {\r\n\tcardIds: [CardIds.FireForgedEvoker_BG32_822, CardIds.FireForgedEvoker_BG32_822_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FireForgedEvoker_BG32_822_G ? 2 : 1;\r\n\t\tconst atk = minion.scriptDataNum1 ?? 1 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);\r\n\t\tconst health = minion.scriptDataNum2 ?? 1 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);\r\n\t\tconst targetBoard = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (const target of targetBoard) {\r\n\t\t\tmodifyStats(target, minion, atk, health, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t}\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"fire-forged-evoker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fire-forged-evoker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC1G,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;YACjC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjG;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\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 FireForgedEvoker: StartOfCombatCard = {\r\n\tcardIds: [CardIds.FireForgedEvoker_BG32_822, CardIds.FireForgedEvoker_BG32_822_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FireForgedEvoker_BG32_822_G ? 2 : 1;\r\n\t\tconst atk = minion.scriptDataNum1 ?? 2 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);\r\n\t\tconst health = minion.scriptDataNum2 ?? 1 * mult * (1 + input.playerEntity.globalInfo.SpellsCastThisGame);\r\n\t\tconst targetBoard = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (const target of targetBoard) {\r\n\t\t\tmodifyStats(target, minion, atk, health, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t}\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
@@ -5,7 +5,7 @@ exports.ForsakenWeaver = {
5
5
  cardIds: ["BG34_692", "BG34_692_G"],
6
6
  afterTavernSpellCast: (entity, input) => {
7
7
  const mult = entity.cardId === "BG34_692_G" ? 2 : 1;
8
- input.hero.globalInfo.UndeadAttackBonus += 1 * mult;
8
+ input.hero.globalInfo.UndeadAttackBonus += 2 * mult;
9
9
  },
10
10
  };
11
11
  //# sourceMappingURL=forsaken-weaver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forsaken-weaver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forsaken-weaver.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAA6B;IACvD,OAAO,EAAE,0BAAoE;IAC7E,oBAAoB,EAAE,CAAC,MAAkC,EAAE,KAAqB,EAAE,EAAE;QACnF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const ForsakenWeaver: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ForsakenWeaver_BG34_692, CardIds.ForsakenWeaver_BG34_692_G],\r\n\tafterTavernSpellCast: (entity: BoardEntity | BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.ForsakenWeaver_BG34_692_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.UndeadAttackBonus += 1 * mult;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"forsaken-weaver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forsaken-weaver.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAA6B;IACvD,OAAO,EAAE,0BAAoE;IAC7E,oBAAoB,EAAE,CAAC,MAAkC,EAAE,KAAqB,EAAE,EAAE;QACnF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const ForsakenWeaver: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ForsakenWeaver_BG34_692, CardIds.ForsakenWeaver_BG34_692_G],\r\n\tafterTavernSpellCast: (entity: BoardEntity | BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.ForsakenWeaver_BG34_692_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.UndeadAttackBonus += 2 * mult;\r\n\t},\r\n};\r\n"]}
@@ -7,7 +7,7 @@ exports.GhoulOfTheFeast = {
7
7
  baseAvengeValue: (cardId) => 1,
8
8
  avenge: (minion, input) => {
9
9
  const mult = minion.cardId === "BG25_002_G" ? 2 : 1;
10
- (0, utils_1.grantStatsToMinionsOfEachType)(minion, input.board, input.hero, 1 * mult, 2 * mult, input.gameState);
10
+ (0, utils_1.grantStatsToMinionsOfEachType)(minion, input.board, input.hero, 2 * mult, 2 * mult, input.gameState);
11
11
  },
12
12
  };
13
13
  //# sourceMappingURL=ghoul-of-the-feast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ghoul-of-the-feast.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ghoul-of-the-feast.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,eAAe,GAAe;IAC1C,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAA,qCAA6B,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACrG,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const GhoulOfTheFeast: AvengeCard = {\r\n\tcardIds: [CardIds.GhoulOfTheFeast_BG25_002, CardIds.GhoulOfTheFeast_BG25_002_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GhoulOfTheFeast_BG25_002_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(minion, input.board, input.hero, 1 * mult, 2 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"ghoul-of-the-feast.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ghoul-of-the-feast.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,eAAe,GAAe;IAC1C,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAA,qCAA6B,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACrG,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const GhoulOfTheFeast: AvengeCard = {\r\n\tcardIds: [CardIds.GhoulOfTheFeast_BG25_002, CardIds.GhoulOfTheFeast_BG25_002_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GhoulOfTheFeast_BG25_002_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(minion, input.board, input.hero, 2 * mult, 2 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -1,2 +1,2 @@
1
- import { DeathrattleSpawnCard, RallyCard } from '../../card.interface';
2
- export declare const HighkeeperRa: RallyCard & DeathrattleSpawnCard;
1
+ import { BattlecryCard, DeathrattleSpawnCard, RallyCard } from '../../card.interface';
2
+ export declare const HighkeeperRa: RallyCard & DeathrattleSpawnCard & BattlecryCard;
@@ -14,6 +14,16 @@ exports.HighkeeperRa = {
14
14
  }
15
15
  return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
16
16
  },
17
+ battlecry: (minion, input) => {
18
+ const mult = minion.cardId === "BG34_319_G" ? 2 : 1;
19
+ for (let i = 0; i < mult; i++) {
20
+ const minion = input.gameState.cardsData.getRandomMinionForTavernTier(6);
21
+ if (!!minion) {
22
+ (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [minion], input.gameState);
23
+ }
24
+ }
25
+ return true;
26
+ },
17
27
  deathrattleSpawn: (minion, input) => {
18
28
  const mult = minion.cardId === "BG34_319_G" ? 2 : 1;
19
29
  for (let i = 0; i < mult; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"highkeeper-ra.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/highkeeper-ra.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAKtD,QAAA,YAAY,GAAqC;IAC7D,OAAO,EAAE,0BAAgE;IACzE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACrF;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACpG;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { DeathrattleSpawnCard, RallyCard } from '../../card.interface';\r\n\r\nexport const HighkeeperRa: RallyCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.HighkeeperRa_BG34_319, CardIds.HighkeeperRa_BG34_319_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HighkeeperRa_BG34_319_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst minion = input.gameState.cardsData.getRandomMinionForTavernTier(6);\r\n\t\t\tif (!!minion) {\r\n\t\t\t\taddCardsInHand(input.attackingHero, input.attackingBoard, [minion], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HighkeeperRa_BG34_319_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst minion = input.gameState.cardsData.getRandomMinionForTavernTier(6);\r\n\t\t\tif (!!minion) {\r\n\t\t\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, [minion], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"highkeeper-ra.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/highkeeper-ra.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAKtD,QAAA,YAAY,GAAqD;IAC7E,OAAO,EAAE,0BAAgE;IACzE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACrF;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACnE;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACpG;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { BattlecryCard, DeathrattleSpawnCard, RallyCard } from '../../card.interface';\r\n\r\nexport const HighkeeperRa: RallyCard & DeathrattleSpawnCard & BattlecryCard = {\r\n\tcardIds: [CardIds.HighkeeperRa_BG34_319, CardIds.HighkeeperRa_BG34_319_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HighkeeperRa_BG34_319_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst minion = input.gameState.cardsData.getRandomMinionForTavernTier(6);\r\n\t\t\tif (!!minion) {\r\n\t\t\t\taddCardsInHand(input.attackingHero, input.attackingBoard, [minion], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HighkeeperRa_BG34_319_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst minion = input.gameState.cardsData.getRandomMinionForTavernTier(6);\r\n\t\t\tif (!!minion) {\r\n\t\t\t\taddCardsInHand(input.hero, input.board, [minion], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HighkeeperRa_BG34_319_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst minion = input.gameState.cardsData.getRandomMinionForTavernTier(6);\r\n\t\t\tif (!!minion) {\r\n\t\t\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, [minion], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -9,7 +9,7 @@ exports.JunkJouster = {
9
9
  return;
10
10
  }
11
11
  const mult = entity.cardId === "BG34_175_G" ? 2 : 1;
12
- (0, utils_1.addStatsToBoard)(entity, input.board, input.hero, 3 * mult, 1 * mult, input.gameState);
12
+ (0, utils_1.addStatsToBoard)(entity, input.board, input.hero, 3 * mult, 2 * mult, input.gameState);
13
13
  },
14
14
  };
15
15
  //# sourceMappingURL=junk-jouster.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"junk-jouster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/junk-jouster.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,WAAW,GAA0B;IACjD,OAAO,EAAE,0BAA8D;IACvE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QAEzE,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE;YACrC,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeInput } from '../../../simulation/magnetize';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { OnBeforeMagnetizeCard } from '../../card.interface';\r\n\r\nexport const JunkJouster: OnBeforeMagnetizeCard = {\r\n\tcardIds: [CardIds.JunkJouster_BG34_175, CardIds.JunkJouster_BG34_175_G],\r\n\tonBeforeMagnetize: (entity: BoardEntity, input: OnBeforeMagnetizeInput) => {\r\n\t\t// Only when magnetized to this\r\n\t\tif (input.magnetizeTarget !== entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = entity.cardId === CardIds.JunkJouster_BG34_175_G ? 2 : 1;\r\n\t\taddStatsToBoard(entity, input.board, input.hero, 3 * mult, 1 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"junk-jouster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/junk-jouster.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,WAAW,GAA0B;IACjD,OAAO,EAAE,0BAA8D;IACvE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QAEzE,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE;YACrC,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeInput } from '../../../simulation/magnetize';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { OnBeforeMagnetizeCard } from '../../card.interface';\r\n\r\nexport const JunkJouster: OnBeforeMagnetizeCard = {\r\n\tcardIds: [CardIds.JunkJouster_BG34_175, CardIds.JunkJouster_BG34_175_G],\r\n\tonBeforeMagnetize: (entity: BoardEntity, input: OnBeforeMagnetizeInput) => {\r\n\t\t// Only when magnetized to this\r\n\t\tif (input.magnetizeTarget !== entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = entity.cardId === CardIds.JunkJouster_BG34_175_G ? 2 : 1;\r\n\t\taddStatsToBoard(entity, input.board, input.hero, 3 * mult, 2 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ import { OnTavernSpellCastCard } from '../../card.interface';
2
+ export declare const NalaaTheRedeemer: OnTavernSpellCastCard;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NalaaTheRedeemer = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ exports.NalaaTheRedeemer = {
6
+ cardIds: ["BG28_551", "BG28_551_G"],
7
+ onTavernSpellCast: (minion, input) => {
8
+ const mult = minion.cardId === "BG28_551_G" ? 2 : 1;
9
+ (0, utils_1.grantStatsToMinionsOfEachType)(minion, input.board, input.hero, 3 * mult, 2 * mult, input.gameState);
10
+ },
11
+ };
12
+ //# sourceMappingURL=nalaa-the-redeemer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nalaa-the-redeemer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/nalaa-the-redeemer.ts"],"names":[],"mappings":";;;AAEA,0CAA+D;AAGlD,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,0BAAwE;IACjF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAA,qCAA6B,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACrG,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const NalaaTheRedeemer: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.NalaaTheRedeemer_BG28_551, CardIds.NalaaTheRedeemer_BG28_551_G],\r\n\tonTavernSpellCast: (minion: BoardEntity, input: CastSpellInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.NalaaTheRedeemer_BG28_551_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(minion, input.board, input.hero, 3 * mult, 2 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -9,7 +9,7 @@ exports.Plankwalker = {
9
9
  const mult = entity.cardId === "BG34_521_G" ? 2 : 1;
10
10
  const targets = (0, utils_1.pickMultipleRandom)(input.board, 3);
11
11
  for (const target of targets) {
12
- (0, stats_1.modifyStats)(target, entity, 2 * mult, 1, input.board, input.hero, input.gameState);
12
+ (0, stats_1.modifyStats)(target, entity, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);
13
13
  }
14
14
  },
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plankwalker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/plankwalker.ts"],"names":[],"mappings":";;;AAGA,mDAA6D;AAC7D,qDAAwD;AAG3C,QAAA,WAAW,GAA0B;IACjD,OAAO,EAAE,0BAA8D;IACvE,iBAAiB,EAAE,CAAC,MAAkC,EAAE,KAAqB,EAAE,EAAE;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandom } from '../../../services/utils';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const Plankwalker: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.Plankwalker_BG34_521, CardIds.Plankwalker_BG34_521_G],\r\n\tonTavernSpellCast: (entity: BoardEntity | BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.Plankwalker_BG34_521_G ? 2 : 1;\r\n\t\tconst targets = pickMultipleRandom(input.board, 3);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, entity, 2 * mult, 1, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"plankwalker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/plankwalker.ts"],"names":[],"mappings":";;;AAGA,mDAA6D;AAC7D,qDAAwD;AAG3C,QAAA,WAAW,GAA0B;IACjD,OAAO,EAAE,0BAA8D;IACvE,iBAAiB,EAAE,CAAC,MAAkC,EAAE,KAAqB,EAAE,EAAE;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandom } from '../../../services/utils';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const Plankwalker: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.Plankwalker_BG34_521, CardIds.Plankwalker_BG34_521_G],\r\n\tonTavernSpellCast: (entity: BoardEntity | BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.Plankwalker_BG34_521_G ? 2 : 1;\r\n\t\tconst targets = pickMultipleRandom(input.board, 3);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, entity, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -7,7 +7,7 @@ exports.RedVolumizer = {
7
7
  cardIds: ["BG34_170t", "BG34_170t_G"],
8
8
  onBeforeMagnetizeSelf: (entity, input) => {
9
9
  const mult = entity.cardId === "BG34_170t_G" ? 2 : 1;
10
- const buff = 3 * mult;
10
+ const buff = 2 * mult;
11
11
  (0, player_global_effects_1.updateVolumizerBuffs)(input.hero, input.board, buff, 0, input.gameState);
12
12
  (0, stats_1.modifyStats)(entity, entity, input.hero.globalInfo.VolumizerAttackBuff, input.hero.globalInfo.VolumizerHealthBuff, input.board, input.hero, input.gameState);
13
13
  },
@@ -1 +1 @@
1
- {"version":3,"file":"red-volumizer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/red-volumizer.ts"],"names":[],"mappings":";;;AACA,oFAAgF;AAGhF,qDAAwD;AAG3C,QAAA,YAAY,GAA8B;IACtD,OAAO,EAAE,4BAAuF;IAChG,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,kBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QACtB,IAAA,4CAAoB,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxE,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,EACzC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,EACzC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateVolumizerBuffs } from '../../../mechanics/player-global-effects';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeSelfInput } from '../../../simulation/magnetize';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnBeforeMagnetizeSelfCard } from '../../card.interface';\r\n\r\nexport const RedVolumizer: OnBeforeMagnetizeSelfCard = {\r\n\tcardIds: [CardIds.AutoAccelerator_RedVolumizerToken_BG34_170t, CardIds.RedVolumizer_BG34_170t_G],\r\n\tonBeforeMagnetizeSelf: (entity: BoardEntity, input: OnBeforeMagnetizeSelfInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.RedVolumizer_BG34_170t_G ? 2 : 1;\r\n\t\tconst buff = 3 * mult;\r\n\t\tupdateVolumizerBuffs(input.hero, input.board, buff, 0, input.gameState);\r\n\t\tmodifyStats(\r\n\t\t\tentity,\r\n\t\t\tentity,\r\n\t\t\tinput.hero.globalInfo.VolumizerAttackBuff,\r\n\t\t\tinput.hero.globalInfo.VolumizerHealthBuff,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"red-volumizer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/red-volumizer.ts"],"names":[],"mappings":";;;AACA,oFAAgF;AAGhF,qDAAwD;AAG3C,QAAA,YAAY,GAA8B;IACtD,OAAO,EAAE,4BAAuF;IAChG,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,kBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QACtB,IAAA,4CAAoB,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxE,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,EACzC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,EACzC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateVolumizerBuffs } from '../../../mechanics/player-global-effects';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeSelfInput } from '../../../simulation/magnetize';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnBeforeMagnetizeSelfCard } from '../../card.interface';\r\n\r\nexport const RedVolumizer: OnBeforeMagnetizeSelfCard = {\r\n\tcardIds: [CardIds.AutoAccelerator_RedVolumizerToken_BG34_170t, CardIds.RedVolumizer_BG34_170t_G],\r\n\tonBeforeMagnetizeSelf: (entity: BoardEntity, input: OnBeforeMagnetizeSelfInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.RedVolumizer_BG34_170t_G ? 2 : 1;\r\n\t\tconst buff = 2 * mult;\r\n\t\tupdateVolumizerBuffs(input.hero, input.board, buff, 0, input.gameState);\r\n\t\tmodifyStats(\r\n\t\t\tentity,\r\n\t\t\tentity,\r\n\t\t\tinput.hero.globalInfo.VolumizerAttackBuff,\r\n\t\t\tinput.hero.globalInfo.VolumizerHealthBuff,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Soulsplitter = void 0;
4
+ const reference_data_1 = require("@firestone-hs/reference-data");
4
5
  const reborn_1 = require("../../../keywords/reborn");
5
6
  const utils_1 = require("../../../services/utils");
6
- const deathrattle_utils_1 = require("../../../simulation/deathrattle-utils");
7
+ const utils_2 = require("../../../utils");
7
8
  exports.Soulsplitter = {
8
9
  cardIds: ["BG25_023", "BG25_023_G"],
9
10
  startOfCombatTiming: 'start-of-combat',
10
11
  startOfCombat: (minion, input) => {
11
12
  const numberOfTargets = minion.cardId === "BG25_023_G" ? 2 : 1;
12
- const candidates = input.playerBoard.filter((e) => (0, deathrattle_utils_1.hasValidDeathrattle)(e, input.playerEntity, input.gameState) && !e.reborn);
13
+ const candidates = input.playerBoard.filter((e) => !e.reborn &&
14
+ (0, utils_2.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards));
13
15
  const targets = (0, utils_1.pickMultipleRandom)(candidates, numberOfTargets);
14
16
  for (const target of targets) {
15
17
  (0, reborn_1.updateReborn)(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
@@ -1 +1 @@
1
- {"version":3,"file":"soulsplitter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soulsplitter.ts"],"names":[],"mappings":";;;AACA,qDAAwD;AAExD,mDAA6D;AAC7D,6EAA4E;AAI/D,QAAA,YAAY,GAAsB;IAC9C,OAAO,EAAE,0BAAgE;IACzE,mBAAmB,EAAE,iBAAiB;IACtC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAC/E,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandom } from '../../../services/utils';\r\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Soulsplitter: StartOfCombatCard = {\r\n\tcardIds: [CardIds.Soulsplitter_BG25_023, CardIds.Soulsplitter_BG25_023_G],\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst numberOfTargets = minion.cardId === CardIds.Soulsplitter_BG25_023_G ? 2 : 1;\r\n\t\tconst candidates = input.playerBoard.filter(\r\n\t\t\t(e) => hasValidDeathrattle(e, input.playerEntity, input.gameState) && !e.reborn,\r\n\t\t);\r\n\t\tconst targets = pickMultipleRandom(candidates, numberOfTargets);\r\n\t\tfor (const target of targets) {\r\n\t\t\tupdateReborn(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"soulsplitter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soulsplitter.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAAwD;AAExD,mDAA6D;AAG7D,0CAAiD;AAGpC,QAAA,YAAY,GAAsB;IAC9C,OAAO,EAAE,0BAAgE;IACzE,mBAAmB,EAAE,iBAAiB;IACtC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC,MAAM;YACT,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandom } from '../../../services/utils';\r\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\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 Soulsplitter: StartOfCombatCard = {\r\n\tcardIds: [CardIds.Soulsplitter_BG25_023, CardIds.Soulsplitter_BG25_023_G],\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst numberOfTargets = minion.cardId === CardIds.Soulsplitter_BG25_023_G ? 2 : 1;\r\n\t\tconst candidates = input.playerBoard.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\t!e.reborn &&\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.UNDEAD,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t);\r\n\t\tconst targets = pickMultipleRandom(candidates, numberOfTargets);\r\n\t\tfor (const target of targets) {\r\n\t\t\tupdateReborn(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -9,7 +9,7 @@ exports.StalwartKodo = {
9
9
  const mult = minion.cardId === "BG34_322_G" ? 2 : 1;
10
10
  if (minion.abiityChargesLeft > 0) {
11
11
  minion.abiityChargesLeft--;
12
- (0, stats_1.modifyStats)(input.spawned, minion, minion.attack * mult, minion.health * mult, input.board, input.hero, input.gameState);
12
+ (0, stats_1.modifyStats)(input.spawned, minion, minion.maxAttack * mult, minion.maxHealth * mult, input.board, input.hero, input.gameState);
13
13
  return;
14
14
  }
15
15
  },
@@ -1 +1 @@
1
- {"version":3,"file":"stalwart-kodo.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stalwart-kodo.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,YAAY,GAA4C;IACpE,OAAO,EAAE,0BAAgE;IACzE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE;YACjC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,MAAM,EACN,MAAM,CAAC,MAAM,GAAG,IAAI,EACpB,MAAM,CAAC,MAAM,GAAG,IAAI,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO;SACP;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DefaultChargesCard, OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const StalwartKodo: OnOtherSpawnedCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.StalwartKodo_BG34_322, CardIds.StalwartKodo_BG34_322_G],\r\n\tdefaultCharges: (entity: BoardEntity) => 3,\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.StalwartKodo_BG34_322_G ? 2 : 1;\r\n\t\tif (minion.abiityChargesLeft > 0) {\r\n\t\t\tminion.abiityChargesLeft--;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tinput.spawned,\r\n\t\t\t\tminion,\r\n\t\t\t\tminion.attack * mult,\r\n\t\t\t\tminion.health * mult,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"stalwart-kodo.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stalwart-kodo.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,YAAY,GAA4C;IACpE,OAAO,EAAE,0BAAgE;IACzE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE;YACjC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,MAAM,EACN,MAAM,CAAC,SAAS,GAAG,IAAI,EACvB,MAAM,CAAC,SAAS,GAAG,IAAI,EACvB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO;SACP;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DefaultChargesCard, OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const StalwartKodo: OnOtherSpawnedCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.StalwartKodo_BG34_322, CardIds.StalwartKodo_BG34_322_G],\r\n\tdefaultCharges: (entity: BoardEntity) => 3,\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.StalwartKodo_BG34_322_G ? 2 : 1;\r\n\t\tif (minion.abiityChargesLeft > 0) {\r\n\t\t\tminion.abiityChargesLeft--;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tinput.spawned,\r\n\t\t\t\tminion,\r\n\t\t\t\tminion.maxAttack * mult,\r\n\t\t\t\tminion.maxHealth * mult,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -6,7 +6,7 @@ exports.TheLastOneStanding = {
6
6
  cardIds: ["BG34_320", "BG34_320_G"],
7
7
  rally: (minion, input) => {
8
8
  const mult = minion.cardId === "BG34_320_G" ? 2 : 1;
9
- (0, utils_1.grantStatsToMinionsOfEachType)(minion, input.attackingBoard, input.attackingHero, 7 * mult, 7 * mult, input.gameState);
9
+ (0, utils_1.grantStatsToMinionsOfEachType)(minion, input.attackingBoard, input.attackingHero, 9 * mult, 9 * mult, input.gameState);
10
10
  return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
11
11
  },
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"the-last-one-standing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/the-last-one-standing.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,kBAAkB,GAAc;IAC5C,OAAO,EAAE,0BAA4E;IACrF,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,qCAA6B,EAC5B,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const TheLastOneStanding: RallyCard = {\r\n\tcardIds: [CardIds.TheLastOneStanding_BG34_320, CardIds.TheLastOneStanding_BG34_320_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TheLastOneStanding_BG34_320_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\tminion,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\t7 * mult,\r\n\t\t\t7 * mult,\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"]}
1
+ {"version":3,"file":"the-last-one-standing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/the-last-one-standing.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,kBAAkB,GAAc;IAC5C,OAAO,EAAE,0BAA4E;IACrF,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,qCAA6B,EAC5B,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const TheLastOneStanding: RallyCard = {\r\n\tcardIds: [CardIds.TheLastOneStanding_BG34_320, CardIds.TheLastOneStanding_BG34_320_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TheLastOneStanding_BG34_320_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\tminion,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\t9 * mult,\r\n\t\t\t9 * mult,\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"]}
@@ -23,7 +23,7 @@ exports.TimewarpedBassgill = {
23
23
  spawn.locked = true;
24
24
  const bassgillSpawns = (0, deathrattle_spawns_1.spawnEntities)(spawn.cardId, 1, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoard, input.otherBoardHero, input.gameState, input.deadEntity.friendly, false, false, true, { ...spawn });
25
25
  for (const s of bassgillSpawns) {
26
- s.onCanceledSummon = () => (s.locked = false);
26
+ s.onCanceledSummon = () => (spawn.locked = false);
27
27
  (0, divine_shield_1.updateDivineShield)(s, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, true, input.gameState);
28
28
  }
29
29
  spawnedEntities.push(...bassgillSpawns);
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-bassgill.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-bassgill.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAErE,mDAAqD;AAErD,+EAAuE;AAG1D,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,sCAAwF;IACjG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,eAAe,GAAkB,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YAC1G,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,CAAA;gBAC3C,CAAC,CAAC,IAAA,kBAAU,EAAC,oBAAoB,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;oBACrC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC1C,CAAC,CAAC,IAAI,CAAC;YACR,IAAI,KAAK,EAAE;gBACV,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBAKpB,MAAM,cAAc,GAAG,IAAA,kCAAa,EACnC,KAAK,CAAC,MAAM,EACZ,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,KAAK,EAAiB,CAC3B,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;oBAC/B,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAC9C,IAAA,kCAAkB,EACjB,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,eAAe,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;aACxC;SACD;QACD,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TimewarpedBassgill: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedBassgill_BG34_Giant_071, CardIds.TimewarpedBassgill_BG34_Giant_071_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedBassgill_BG34_Giant_071_G ? 2 : 1;\r\n\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst hand = input.boardWithDeadEntityHero.hand.filter((e) => !!e?.cardId).filter((e) => !e.locked) ?? [];\r\n\t\t\tconst highestHealth = Math.max(...hand.filter((c) => c.health).map((c) => c.health));\r\n\t\t\tconst highestHealthMinions = highestHealth ? hand.filter((c) => c.health === highestHealth) : null;\r\n\t\t\tconst spawn = !!highestHealthMinions?.length\r\n\t\t\t\t? pickRandom(highestHealthMinions)\r\n\t\t\t\t: hand.filter((c) => c.cardId).length\r\n\t\t\t\t? pickRandom(hand.filter((c) => c.cardId))\r\n\t\t\t\t: null;\r\n\t\t\tif (spawn) {\r\n\t\t\t\tspawn.locked = true;\r\n\t\t\t\t// Technically it should not be removed from hand, but rather flagged\r\n\t\t\t\t// Probably very low impact doing it like this\r\n\t\t\t\t// spawn.locked = true;\r\n\t\t\t\t// removeCardFromHand(boardWithDeadEntityHero, spawn);\r\n\t\t\t\tconst bassgillSpawns = spawnEntities(\r\n\t\t\t\t\tspawn.cardId,\r\n\t\t\t\t\t1,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.otherBoard,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tinput.deadEntity.friendly,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\t{ ...spawn } as BoardEntity,\r\n\t\t\t\t);\r\n\t\t\t\tfor (const s of bassgillSpawns) {\r\n\t\t\t\t\ts.onCanceledSummon = () => (s.locked = false);\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\ts,\r\n\t\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tspawnedEntities.push(...bassgillSpawns);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn spawnedEntities;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-bassgill.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-bassgill.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAErE,mDAAqD;AAErD,+EAAuE;AAG1D,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,sCAAwF;IACjG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,eAAe,GAAkB,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YAC1G,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,CAAA;gBAC3C,CAAC,CAAC,IAAA,kBAAU,EAAC,oBAAoB,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;oBACrC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC1C,CAAC,CAAC,IAAI,CAAC;YACR,IAAI,KAAK,EAAE;gBACV,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBAKpB,MAAM,cAAc,GAAG,IAAA,kCAAa,EACnC,KAAK,CAAC,MAAM,EACZ,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,KAAK,EAAiB,CAC3B,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;oBAC/B,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAClD,IAAA,kCAAkB,EACjB,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,eAAe,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;aACxC;SACD;QACD,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TimewarpedBassgill: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedBassgill_BG34_Giant_071, CardIds.TimewarpedBassgill_BG34_Giant_071_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedBassgill_BG34_Giant_071_G ? 2 : 1;\r\n\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst hand = input.boardWithDeadEntityHero.hand.filter((e) => !!e?.cardId).filter((e) => !e.locked) ?? [];\r\n\t\t\tconst highestHealth = Math.max(...hand.filter((c) => c.health).map((c) => c.health));\r\n\t\t\tconst highestHealthMinions = highestHealth ? hand.filter((c) => c.health === highestHealth) : null;\r\n\t\t\tconst spawn = !!highestHealthMinions?.length\r\n\t\t\t\t? pickRandom(highestHealthMinions)\r\n\t\t\t\t: hand.filter((c) => c.cardId).length\r\n\t\t\t\t? pickRandom(hand.filter((c) => c.cardId))\r\n\t\t\t\t: null;\r\n\t\t\tif (spawn) {\r\n\t\t\t\tspawn.locked = true;\r\n\t\t\t\t// Technically it should not be removed from hand, but rather flagged\r\n\t\t\t\t// Probably very low impact doing it like this\r\n\t\t\t\t// spawn.locked = true;\r\n\t\t\t\t// removeCardFromHand(boardWithDeadEntityHero, spawn);\r\n\t\t\t\tconst bassgillSpawns = spawnEntities(\r\n\t\t\t\t\tspawn.cardId,\r\n\t\t\t\t\t1,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.otherBoard,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tinput.deadEntity.friendly,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\t{ ...spawn } as BoardEntity,\r\n\t\t\t\t);\r\n\t\t\t\tfor (const s of bassgillSpawns) {\r\n\t\t\t\t\ts.onCanceledSummon = () => (spawn.locked = false);\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\ts,\r\n\t\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tspawnedEntities.push(...bassgillSpawns);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn spawnedEntities;\r\n\t},\r\n};\r\n"]}
@@ -8,7 +8,7 @@ exports.TimewarpedCaretaker = {
8
8
  cardIds: ["BG34_Giant_618", "BG34_Giant_618_G"],
9
9
  deathrattleSpawn: (minion, input) => {
10
10
  const mult = minion.cardId === "BG34_Giant_618_G" ? 2 : 1;
11
- const spawns = (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG_ICC_026t", 6 * mult, input);
11
+ const spawns = (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG_ICC_026t", 4 * mult, input);
12
12
  spawns.forEach((e) => {
13
13
  e.onCanceledSummon = () => {
14
14
  input.boardWithDeadEntityHero.globalInfo.UndeadAttackBonus += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-caretaker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,+EAAiF;AACjF,0CAAiD;AAGpC,QAAA,mBAAmB,GAAyB;IACxD,OAAO,EAAE,sCAA0F;IACnG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAiD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAA,4CAAuB,iBAAwB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE;gBACzB,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAChE,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,EACD,CAAC,EACD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,EACjB,KAAK,CACL,CAAC;YACH,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TimewarpedCaretaker: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedCaretaker_BG34_Giant_618, CardIds.TimewarpedCaretaker_BG34_Giant_618_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedCaretaker_BG34_Giant_618_G ? 2 : 1;\r\n\t\tconst spawns = simplifiedSpawnEntities(CardIds.SkeletonToken, 6 * mult, input);\r\n\t\tspawns.forEach((e) => {\r\n\t\t\te.onCanceledSummon = () => {\r\n\t\t\t\tinput.boardWithDeadEntityHero.globalInfo.UndeadAttackBonus += 1;\r\n\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t1,\r\n\t\t\t\t\t0,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tRace[Race.UNDEAD],\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t});\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-caretaker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,+EAAiF;AACjF,0CAAiD;AAGpC,QAAA,mBAAmB,GAAyB;IACxD,OAAO,EAAE,sCAA0F;IACnG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAiD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAA,4CAAuB,iBAAwB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE;gBACzB,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAChE,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,EACD,CAAC,EACD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,EACjB,KAAK,CACL,CAAC;YACH,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TimewarpedCaretaker: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedCaretaker_BG34_Giant_618, CardIds.TimewarpedCaretaker_BG34_Giant_618_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedCaretaker_BG34_Giant_618_G ? 2 : 1;\r\n\t\tconst spawns = simplifiedSpawnEntities(CardIds.SkeletonToken, 4 * mult, input);\r\n\t\tspawns.forEach((e) => {\r\n\t\t\te.onCanceledSummon = () => {\r\n\t\t\t\tinput.boardWithDeadEntityHero.globalInfo.UndeadAttackBonus += 1;\r\n\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t1,\r\n\t\t\t\t\t0,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tRace[Race.UNDEAD],\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t});\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
@@ -4,7 +4,7 @@ exports.TimewarpedCenturion = void 0;
4
4
  const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
5
5
  exports.TimewarpedCenturion = {
6
6
  cardIds: ["BG34_PreMadeChamp_200", "BG34_PreMadeChamp_200_G"],
7
- defaultCharges: (entity) => 2,
7
+ defaultCharges: (entity) => 3,
8
8
  afterTavernSpellCast: (entity, input) => {
9
9
  if (entity.abiityChargesLeft <= 0) {
10
10
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-centurion.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-centurion.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkD;IACjF,OAAO,EAAE,oDAAwG;IACjH,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC;IAC1C,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAClC,OAAO;SACP;QACD,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,8BAAwD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AfterTavernSpellCastCard, CastSpellInput, DefaultChargesCard } from '../../card.interface';\r\n\r\nexport const TimewarpedCenturion: AfterTavernSpellCastCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.TimewarpedCenturion_BG34_PreMadeChamp_200, CardIds.TimewarpedCenturion_BG34_PreMadeChamp_200_G],\r\n\tdefaultCharges: (entity: BoardEntity) => 2,\r\n\tafterTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tif (entity.abiityChargesLeft <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tentity.abiityChargesLeft--;\r\n\t\tconst mult = entity.cardId === CardIds.TimewarpedCenturion_BG34_PreMadeChamp_200_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(input.spellCardId);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-centurion.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-centurion.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkD;IACjF,OAAO,EAAE,oDAAwG;IACjH,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC;IAC1C,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAClC,OAAO;SACP;QACD,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,8BAAwD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AfterTavernSpellCastCard, CastSpellInput, DefaultChargesCard } from '../../card.interface';\r\n\r\nexport const TimewarpedCenturion: AfterTavernSpellCastCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.TimewarpedCenturion_BG34_PreMadeChamp_200, CardIds.TimewarpedCenturion_BG34_PreMadeChamp_200_G],\r\n\tdefaultCharges: (entity: BoardEntity) => 3,\r\n\tafterTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tif (entity.abiityChargesLeft <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tentity.abiityChargesLeft--;\r\n\t\tconst mult = entity.cardId === CardIds.TimewarpedCenturion_BG34_PreMadeChamp_200_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(input.spellCardId);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
@@ -8,7 +8,7 @@ exports.TimewarpedDuskmaw = {
8
8
  baseAvengeValue: (cardId) => 1,
9
9
  avenge: (minion, input) => {
10
10
  const mult = minion.cardId === "BG34_PreMadeChamp_020_G" ? 2 : 1;
11
- (0, utils_1.addStatsToBoard)(minion, input.board, input.hero, 3 * mult, 3 * mult, input.gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
11
+ (0, utils_1.addStatsToBoard)(minion, input.board, input.hero, 4 * mult, 3 * mult, input.gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
12
12
  },
13
13
  };
14
14
  //# sourceMappingURL=timewarped-duskmaw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-duskmaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-duskmaw.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,0CAAiD;AAGpC,QAAA,iBAAiB,GAAe;IAC5C,OAAO,EAAE,oDAAoG;IAC7G,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,8BAAsD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1G,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const TimewarpedDuskmaw: AvengeCard = {\r\n\tcardIds: [CardIds.TimewarpedDuskmaw_BG34_PreMadeChamp_020, CardIds.TimewarpedDuskmaw_BG34_PreMadeChamp_020_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedDuskmaw_BG34_PreMadeChamp_020_G ? 2 : 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 3 * mult, 3 * mult, input.gameState, Race[Race.DRAGON]);\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-duskmaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-duskmaw.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,0CAAiD;AAGpC,QAAA,iBAAiB,GAAe;IAC5C,OAAO,EAAE,oDAAoG;IAC7G,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,8BAAsD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1G,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const TimewarpedDuskmaw: AvengeCard = {\r\n\tcardIds: [CardIds.TimewarpedDuskmaw_BG34_PreMadeChamp_020, CardIds.TimewarpedDuskmaw_BG34_PreMadeChamp_020_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedDuskmaw_BG34_PreMadeChamp_020_G ? 2 : 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 4 * mult, 3 * mult, input.gameState, Race[Race.DRAGON]);\r\n\t},\r\n};\r\n"]}
@@ -9,13 +9,16 @@ exports.TimewarpedElectron = {
9
9
  afterTavernSpellCast: (entity, input) => {
10
10
  var _a;
11
11
  const mult = entity.cardId === "BG34_Giant_610_G" ? 2 : 1;
12
+ const cardIdToMagnetize = entity.cardId === "BG34_Giant_610_G"
13
+ ? "BG31_171t"
14
+ : "BG31_171_Gt";
12
15
  entity.scriptDataNum1 = (_a = entity.scriptDataNum1) !== null && _a !== void 0 ? _a : 0;
13
16
  entity.scriptDataNum1++;
14
17
  if (entity.scriptDataNum1 % 2 === 0) {
15
18
  const targets = input.board.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MECH, input.gameState.anomalies, input.gameState.allCards));
16
19
  for (const target of targets) {
17
20
  for (let i = 0; i < mult; i++) {
18
- (0, magnetize_1.magnetizeToTarget)([target], entity, ["BG31_171t"], input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);
21
+ (0, magnetize_1.magnetizeToTarget)([target], entity, [cardIdToMagnetize], input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);
19
22
  }
20
23
  }
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-electron.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-electron.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,6DAAkE;AAClE,0CAAiD;AAGpC,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE,sCAAwF;IACjG,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,cAAc,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC9F,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC9B,IAAA,6BAAiB,EAChB,CAAC,MAAM,CAAC,EACR,MAAM,EACN,aAA+D,EAC/D,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const TimewarpedElectron: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.TimewarpedElectron_BG34_Giant_610, CardIds.TimewarpedElectron_BG34_Giant_610_G],\r\n\tafterTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.TimewarpedElectron_BG34_Giant_610_G ? 2 : 1;\r\n\t\tentity.scriptDataNum1 = entity.scriptDataNum1 ?? 0;\r\n\t\tentity.scriptDataNum1++;\r\n\t\tif (entity.scriptDataNum1 % 2 === 0) {\r\n\t\t\tconst targets = input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.MECH, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\t\tmagnetizeToTarget(\r\n\t\t\t\t\t\t[target],\r\n\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t[CardIds.MoonsteelJuggernaut_MoonsteelSatelliteToken_BG31_171t],\r\n\t\t\t\t\t\tinput.board,\r\n\t\t\t\t\t\tinput.hero,\r\n\t\t\t\t\t\tinput.otherBoard,\r\n\t\t\t\t\t\tinput.otherHero,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-electron.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-electron.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,6DAAkE;AAClE,0CAAiD;AAGpC,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE,sCAAwF;IACjG,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,iBAAiB,GACtB,MAAM,CAAC,MAAM,uBAAgD;YAC5D,CAAC;YACD,CAAC,cAAgE,CAAC;QACpE,MAAM,CAAC,cAAc,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC9F,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC9B,IAAA,6BAAiB,EAChB,CAAC,MAAM,CAAC,EACR,MAAM,EACN,CAAC,iBAAiB,CAAC,EACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const TimewarpedElectron: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.TimewarpedElectron_BG34_Giant_610, CardIds.TimewarpedElectron_BG34_Giant_610_G],\r\n\tafterTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tconst mult = entity.cardId === CardIds.TimewarpedElectron_BG34_Giant_610_G ? 2 : 1;\r\n\t\tconst cardIdToMagnetize =\r\n\t\t\tentity.cardId === CardIds.TimewarpedElectron_BG34_Giant_610_G\r\n\t\t\t\t? CardIds.MoonsteelJuggernaut_MoonsteelSatelliteToken_BG31_171t\r\n\t\t\t\t: CardIds.MoonsteelJuggernaut_MoonsteelSatelliteToken_BG31_171_Gt;\r\n\t\tentity.scriptDataNum1 = entity.scriptDataNum1 ?? 0;\r\n\t\tentity.scriptDataNum1++;\r\n\t\tif (entity.scriptDataNum1 % 2 === 0) {\r\n\t\t\tconst targets = input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.MECH, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\t\tmagnetizeToTarget(\r\n\t\t\t\t\t\t[target],\r\n\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t[cardIdToMagnetize],\r\n\t\t\t\t\t\tinput.board,\r\n\t\t\t\t\t\tinput.hero,\r\n\t\t\t\t\t\tinput.otherBoard,\r\n\t\t\t\t\t\tinput.otherHero,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -5,7 +5,7 @@ exports.TimewarpedGeist = {
5
5
  cardIds: ["BG34_Giant_034", "BG34_Giant_034_G"],
6
6
  deathrattleSpawn: (minion, input) => {
7
7
  const mult = minion.cardId === "BG34_Giant_034_G" ? 2 : 1;
8
- input.boardWithDeadEntityHero.globalInfo.TavernSpellAttackBuff += 1 * mult;
8
+ input.boardWithDeadEntityHero.globalInfo.TavernSpellAttackBuff += 2 * mult;
9
9
  input.boardWithDeadEntityHero.globalInfo.TavernSpellHealthBuff += 1 * mult;
10
10
  return [];
11
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"timewarped-geist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-geist.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,sCAAkF;IAC3F,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3E,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TimewarpedGeist: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedGeist_BG34_Giant_034, CardIds.TimewarpedGeist_BG34_Giant_034_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedGeist_BG34_Giant_034_G ? 2 : 1;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.TavernSpellAttackBuff += 1 * mult;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.TavernSpellHealthBuff += 1 * mult;\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"timewarped-geist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-geist.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,sCAAkF;IAC3F,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3E,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TimewarpedGeist: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedGeist_BG34_Giant_034, CardIds.TimewarpedGeist_BG34_Giant_034_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.TimewarpedGeist_BG34_Giant_034_G ? 2 : 1;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.TavernSpellAttackBuff += 2 * mult;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.TavernSpellHealthBuff += 1 * mult;\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
@@ -7,10 +7,11 @@ exports.TimewarpedGoldrinn = {
7
7
  cardIds: ["BG34_Giant_362", "BG34_Giant_362_G"],
8
8
  deathrattleSpawn: (minion, input) => {
9
9
  const mult = minion.cardId === "BG34_Giant_362_G" ? 2 : 1;
10
- const goldrinnBuff = 2 * mult;
11
- (0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, goldrinnBuff, goldrinnBuff, input.gameState, reference_data_1.Race[reference_data_1.Race.BEAST]);
12
- input.boardWithDeadEntityHero.globalInfo.GoldrinnBuffAtk += goldrinnBuff;
13
- input.boardWithDeadEntityHero.globalInfo.GoldrinnBuffHealth += goldrinnBuff;
10
+ const goldrinnAttackBuff = 3 * mult;
11
+ const goldrinnHealthBuff = 2 * mult;
12
+ (0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, goldrinnAttackBuff, goldrinnHealthBuff, input.gameState, reference_data_1.Race[reference_data_1.Race.BEAST]);
13
+ input.boardWithDeadEntityHero.globalInfo.GoldrinnBuffAtk += goldrinnAttackBuff;
14
+ input.boardWithDeadEntityHero.globalInfo.GoldrinnBuffHealth += goldrinnHealthBuff;
14
15
  return [];
15
16
  },
16
17
  };