@firestone-hs/simulate-bgs-battle 1.1.717 → 1.1.718
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.
- package/dist/bgs-battle-info.js.map +1 -1
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/cards-data.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +4 -2
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
- package/dist/cards/impl/bg-spell/shifting-tide.js.map +1 -1
- package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -1
- package/dist/cards/impl/hero-power/aim-high.js.map +1 -1
- package/dist/cards/impl/hero-power/aim-left.js.map +1 -1
- package/dist/cards/impl/hero-power/aim-low.js.map +1 -1
- package/dist/cards/impl/hero-power/aim-right.js.map +1 -1
- package/dist/cards/impl/hero-power/earth-invocation.js.map +1 -1
- package/dist/cards/impl/hero-power/embrace-your-rage.js.map +1 -1
- package/dist/cards/impl/hero-power/fire-invocation.js.map +1 -1
- package/dist/cards/impl/hero-power/lightning-invocation.js.map +1 -1
- package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
- package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
- package/dist/cards/impl/minion/abyssal-bruiser.js +4 -2
- package/dist/cards/impl/minion/abyssal-bruiser.js.map +1 -1
- package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -1
- package/dist/cards/impl/minion/alleycat.js.map +1 -1
- package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
- package/dist/cards/impl/minion/archimonde.js.map +1 -1
- package/dist/cards/impl/minion/arid-atrocity.js.map +1 -1
- package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -1
- package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
- package/dist/cards/impl/minion/audacious-anchor.js.map +1 -1
- package/dist/cards/impl/minion/auto-assembler.js.map +1 -1
- package/dist/cards/impl/minion/avalanche-caller.js.map +1 -1
- package/dist/cards/impl/minion/baby-nzoth.d.ts +2 -0
- package/dist/cards/impl/minion/baby-nzoth.js +25 -0
- package/dist/cards/impl/minion/baby-nzoth.js.map +1 -0
- package/dist/cards/impl/minion/baneling.js.map +1 -1
- package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -1
- package/dist/cards/impl/minion/bird-buddy.js.map +1 -1
- package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
- package/dist/cards/impl/minion/blue-chromadrake.js +1 -1
- package/dist/cards/impl/minion/blue-chromadrake.js.map +1 -1
- package/dist/cards/impl/minion/blue-whelp.js.map +1 -1
- package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
- package/dist/cards/impl/minion/briarback-bookie.js.map +1 -1
- package/dist/cards/impl/minion/bronze-steward.js.map +1 -1
- package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
- package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -1
- package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -1
- package/dist/cards/impl/minion/captain-bonerender.js.map +1 -1
- package/dist/cards/impl/minion/carapace-raiser.js.map +1 -1
- package/dist/cards/impl/minion/carbonic-copy.js.map +1 -1
- package/dist/cards/impl/minion/clunker-junker.js +2 -4
- package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
- package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -1
- package/dist/cards/impl/minion/coldlight-diver.js.map +1 -1
- package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -1
- package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -1
- package/dist/cards/impl/minion/deadstomper.js.map +1 -1
- package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
- package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
- package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
- package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -1
- package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
- package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
- package/dist/cards/impl/minion/elite-navigator.js.map +1 -1
- package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
- package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -1
- package/dist/cards/impl/minion/fireworks-fanatic.js.map +1 -1
- package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -1
- package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
- package/dist/cards/impl/minion/friendly-geist.js.map +1 -1
- package/dist/cards/impl/minion/gem-rat.js.map +1 -1
- package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
- package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
- package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
- package/dist/cards/impl/minion/glowing-cinder.js.map +1 -1
- package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -1
- package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -1
- package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -1
- package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
- package/dist/cards/impl/minion/hackerfin.js.map +1 -1
- package/dist/cards/impl/minion/handless-forsaken.js.map +1 -1
- package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -1
- package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
- package/dist/cards/impl/minion/holo-rover.js.map +1 -1
- package/dist/cards/impl/minion/humongozz.js.map +1 -1
- package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
- package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -1
- package/dist/cards/impl/minion/ignition-specialist.js.map +1 -1
- package/dist/cards/impl/minion/immortal.js.map +1 -1
- package/dist/cards/impl/minion/implant-subject.js.map +1 -1
- package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
- package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
- package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
- package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -1
- package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -1
- package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
- package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -1
- package/dist/cards/impl/minion/living-azerite.js.map +1 -1
- package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -1
- package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
- package/dist/cards/impl/minion/low-flier.js.map +1 -1
- package/dist/cards/impl/minion/lurker.js.map +1 -1
- package/dist/cards/impl/minion/manasaber.js.map +1 -1
- package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
- package/dist/cards/impl/minion/marquee-ticker.js.map +1 -1
- package/dist/cards/impl/minion/maw-caster.js.map +1 -1
- package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
- package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -1
- package/dist/cards/impl/minion/mechorse.js.map +1 -1
- package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
- package/dist/cards/impl/minion/metallic-hunter.js.map +1 -1
- package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
- package/dist/cards/impl/minion/mummifier.js +1 -1
- package/dist/cards/impl/minion/mummifier.js.map +1 -1
- package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -1
- package/dist/cards/impl/minion/murky.js.map +1 -1
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
- package/dist/cards/impl/minion/mythrax.js.map +1 -1
- package/dist/cards/impl/minion/neon-agent.js.map +1 -1
- package/dist/cards/impl/minion/nest-swarmer.js.map +1 -1
- package/dist/cards/impl/minion/nether-drake.js.map +1 -1
- package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -1
- package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -1
- package/dist/cards/impl/minion/operatic-belcher.js.map +1 -1
- package/dist/cards/impl/minion/outback-smolderer.js.map +1 -1
- package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
- package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
- package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -1
- package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
- package/dist/cards/impl/minion/red-chromadrake.js +1 -1
- package/dist/cards/impl/minion/red-chromadrake.js.map +1 -1
- package/dist/cards/impl/minion/roach.js.map +1 -1
- package/dist/cards/impl/minion/roadboar.js.map +1 -1
- package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
- package/dist/cards/impl/minion/ruins-renovator.js.map +1 -1
- package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -1
- package/dist/cards/impl/minion/salty-hog.js.map +1 -1
- package/dist/cards/impl/minion/sand-swirler.js.map +1 -1
- package/dist/cards/impl/minion/sandy.js.map +1 -1
- package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -1
- package/dist/cards/impl/minion/scourge-harvester.js.map +1 -1
- package/dist/cards/impl/minion/selfless-hero.js.map +1 -1
- package/dist/cards/impl/minion/shadowdancer.js.map +1 -1
- package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -1
- package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -1
- package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -1
- package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -1
- package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
- package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -1
- package/dist/cards/impl/minion/smolderwing.js.map +1 -1
- package/dist/cards/impl/minion/sneeds-new-shredder.d.ts +2 -0
- package/dist/cards/impl/minion/{pilot-the-shredder.js → sneeds-new-shredder.js} +7 -4
- package/dist/cards/impl/minion/sneeds-new-shredder.js.map +1 -0
- package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
- package/dist/cards/impl/minion/spacefarer.js.map +1 -1
- package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -1
- package/dist/cards/impl/minion/springy-spriggan.js.map +1 -1
- package/dist/cards/impl/minion/stitched-salvager.js.map +1 -1
- package/dist/cards/impl/minion/stray-satyr.js.map +1 -1
- package/dist/cards/impl/minion/sun-screener.js.map +1 -1
- package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -1
- package/dist/cards/impl/minion/thorncaller.js.map +1 -1
- package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
- package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
- package/dist/cards/impl/minion/tide-raiser.js +1 -1
- package/dist/cards/impl/minion/tide-raiser.js.map +1 -1
- package/dist/cards/impl/minion/timewarped-embalmer.js +1 -1
- package/dist/cards/impl/minion/timewarped-embalmer.js.map +1 -1
- package/dist/cards/impl/minion/timewarped-warghoul.js.map +1 -1
- package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -1
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
- package/dist/cards/impl/minion/ultralisk.js.map +1 -1
- package/dist/cards/impl/minion/valiant-tiger.js.map +1 -1
- package/dist/cards/impl/minion/void-earl.js.map +1 -1
- package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -1
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
- package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
- package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -1
- package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -1
- package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
- package/dist/cards/impl/minion/wrathscale-rogue.js.map +1 -1
- package/dist/cards/impl/minion/yorik-smite.js.map +1 -1
- package/dist/cards/impl/minion/yrel.js.map +1 -1
- package/dist/cards/impl/minion/yulon-fortune-granter.js.map +1 -1
- package/dist/cards/impl/quest-reward/righteous-charge.js.map +1 -1
- package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
- package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
- package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/battle-horn.js.map +1 -1
- package/dist/cards/impl/trinket/beetle-band.js.map +1 -1
- package/dist/cards/impl/trinket/bird-feeder.js.map +1 -1
- package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -1
- package/dist/cards/impl/trinket/deathtouch-apple.js +1 -1
- package/dist/cards/impl/trinket/deathtouch-apple.js.map +1 -1
- package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
- package/dist/cards/impl/trinket/eternal-portrait.d.ts +2 -0
- package/dist/cards/impl/trinket/eternal-portrait.js +2 -1
- package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
- package/dist/cards/impl/trinket/fishy-sticker.js.map +1 -1
- package/dist/cards/impl/trinket/herald-sticker.js.map +1 -1
- package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
- package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/soul-fermenter.js +1 -5
- package/dist/cards/impl/trinket/soul-fermenter.js.map +1 -1
- package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -1
- package/dist/cards/impl/trinket/valorous-medaillion.js.map +1 -1
- package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -1
- package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -1
- package/dist/debug-state.js.map +1 -1
- package/dist/input-clone.js +1 -1
- package/dist/input-clone.js.map +1 -1
- package/dist/input-sanitation.js +7 -6
- package/dist/input-sanitation.js.map +1 -1
- package/dist/keywords/venomous.js.map +1 -1
- package/dist/simulate-bgs-battle.js +4 -4
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.js +4 -4
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/auras.js +2 -4
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/avenge.js +0 -4
- package/dist/simulation/avenge.js.map +1 -1
- package/dist/simulation/deathrattle-effects.js +10 -2
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
- package/dist/simulation/discover.js.map +1 -1
- package/dist/simulation/frenzy.js.map +1 -1
- package/dist/simulation/quest.js.map +1 -1
- package/dist/simulation/reborn.js.map +1 -1
- package/dist/simulation/spectator/game-action.js +18 -17
- package/dist/simulation/spectator/game-action.js.map +1 -1
- package/dist/simulation/spectator/resolve-trinket-hero-power.d.ts +2 -0
- package/dist/simulation/spectator/resolve-trinket-hero-power.js +27 -0
- package/dist/simulation/spectator/resolve-trinket-hero-power.js.map +1 -0
- package/dist/simulation/spectator/spectator.js +1 -0
- package/dist/simulation/spectator/spectator.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-trinket.js +1 -1
- package/dist/simulation/start-of-combat/soc-trinket.js.map +1 -1
- package/package.json +51 -51
- package/dist/cards/impl/minion/pilot-the-shredder.d.ts +0 -2
- package/dist/cards/impl/minion/pilot-the-shredder.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salty-hog.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/salty-hog.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,QAAQ,GAA+C;IACnE,OAAO,EAAE,0BAAwD;IACjE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC;IACnE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,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;aAC1F;YACD,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;SAC7B;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DefaultChargesCard, OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const SaltyHog: OnCardAddedToHandCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.SaltyHog_BG31_332, CardIds.SaltyHog_BG31_332_G],\r\n\tdefaultCharges: (entity: BoardEntity) => entity.scriptDataNum1 || 3,\r\n\tonCardAddedToHand: (entity: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tentity.abiityChargesLeft = entity.abiityChargesLeft - 1;\r\n\t\tif (entity.abiityChargesLeft <= 0) {\r\n\t\t\tconst mult = entity.cardId === CardIds.SaltyHog_BG31_332_G ? 2 : 1;\r\n\t\t\tconst targets = input.board.filter((e) => e.entityId !== entity.entityId);\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tmodifyStats(target, entity, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t\tentity.abiityChargesLeft = 3;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"salty-hog.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/salty-hog.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,QAAQ,GAA+C;IACnE,OAAO,EAAE,0BAAwD;IACjE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC;IACnE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,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;aAC1F;YACD,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;SAC7B;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DefaultChargesCard, OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const SaltyHog: OnCardAddedToHandCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.SaltyHog_BG31_332, CardIds.SaltyHog_BG31_332_G],\r\n\tdefaultCharges: (entity: BoardEntity) => entity.scriptDataNum1 || 3,\r\n\tonCardAddedToHand: (entity: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tentity.abiityChargesLeft = entity.abiityChargesLeft - 1;\r\n\t\tif (entity.abiityChargesLeft <= 0) {\r\n\t\t\tconst mult = entity.cardId === CardIds.SaltyHog_BG31_332_G ? 2 : 1;\r\n\t\t\tconst targets = input.board.filter((e) => e.entityId !== entity.entityId);\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tmodifyStats(target, entity, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t\tentity.abiityChargesLeft = 3;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sand-swirler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sand-swirler.ts"],"names":[],"mappings":";;;AAKa,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QACtD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SandSwirler: BattlecryCard = {\r\n\tcardIds: [CardIds.SandSwirler_BG32_841, CardIds.SandSwirler_BG32_841_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.GlowingCinder_BG32_842_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.ElementalHealthBuff += 1 * mult;\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"sand-swirler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sand-swirler.ts"],"names":[],"mappings":";;;AAKa,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QACtD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SandSwirler: BattlecryCard = {\r\n\tcardIds: [CardIds.SandSwirler_BG32_841, CardIds.SandSwirler_BG32_841_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.GlowingCinder_BG32_842_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.ElementalHealthBuff += 1 * mult;\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandy.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sandy.ts"],"names":[],"mappings":";;;AAGA,6DAAoE;AACpE,0CAA2F;AAE9E,QAAA,KAAK,GAAG;IACpB,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,aAAa,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7F,IAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAE,MAAM,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,kBAA8B,CAAC;YAC7D,MAAM,YAAY,GAAG,IAAA,wCAAgC,EAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAgB,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5F,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAExD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE;gBACb,IAAA,yBAAgB,EACf,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { getRandomMinionWithHighestHealth, getTeammateInitialState } from '../../../utils';\r\n\r\nexport const Sandy = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst teammateState = getTeammateInitialState(input.gameState.gameState, input.playerEntity);\r\n\t\tif (teammateState?.board?.length) {\r\n\t\t\tconst isGolden = minion.cardId === CardIds.Sandy_BGDUO_125_G;\r\n\t\t\tconst minionToCopy = getRandomMinionWithHighestHealth(teammateState.board);\r\n\t\t\tconst copy: BoardEntity = { ...minionToCopy, enchantments: [...minionToCopy.enchantments] };\r\n\t\t\tconst attackerIndex = input.playerBoard.indexOf(minion);\r\n\t\t\t// Insert the copy in its place\r\n\t\t\tinput.playerBoard.splice(attackerIndex, 1, copy);\r\n\t\t\tif (isGolden) {\r\n\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\tcopy,\r\n\t\t\t\t\tcopy,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"sandy.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sandy.ts"],"names":[],"mappings":";;;AAGA,6DAAoE;AACpE,0CAA2F;AAE9E,QAAA,KAAK,GAAG;IACpB,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,aAAa,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7F,IAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,0CAAE,MAAM,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,kBAA8B,CAAC;YAC7D,MAAM,YAAY,GAAG,IAAA,wCAAgC,EAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAgB,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5F,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAExD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE;gBACb,IAAA,yBAAgB,EACf,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { getRandomMinionWithHighestHealth, getTeammateInitialState } from '../../../utils';\r\n\r\nexport const Sandy = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst teammateState = getTeammateInitialState(input.gameState.gameState, input.playerEntity);\r\n\t\tif (teammateState?.board?.length) {\r\n\t\t\tconst isGolden = minion.cardId === CardIds.Sandy_BGDUO_125_G;\r\n\t\t\tconst minionToCopy = getRandomMinionWithHighestHealth(teammateState.board);\r\n\t\t\tconst copy: BoardEntity = { ...minionToCopy, enchantments: [...minionToCopy.enchantments] };\r\n\t\t\tconst attackerIndex = input.playerBoard.indexOf(minion);\r\n\t\t\t// Insert the copy in its place\r\n\t\t\tinput.playerBoard.splice(attackerIndex, 1, copy);\r\n\t\t\tif (isGolden) {\r\n\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\tcopy,\r\n\t\t\t\t\tcopy,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanguine-refiner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sanguine-refiner.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAc;IACzC,OAAO,EAAE,0BAAsE;IAC/E,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/D,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/D,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const SanguineRefiner: RallyCard = {\r\n\tcardIds: [CardIds.SanguineRefiner_BG33_885, CardIds.SanguineRefiner_BG33_885_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SanguineRefiner_BG33_885_G ? 2 : 1;\r\n\t\tinput.attackingHero.globalInfo.BloodGemAttackBonus += 1 * mult;\r\n\t\tinput.attackingHero.globalInfo.BloodGemHealthBonus += 1 * mult;\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"sanguine-refiner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sanguine-refiner.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAc;IACzC,OAAO,EAAE,0BAAsE;IAC/E,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/D,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/D,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const SanguineRefiner: RallyCard = {\r\n\tcardIds: [CardIds.SanguineRefiner_BG33_885, CardIds.SanguineRefiner_BG33_885_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SanguineRefiner_BG33_885_G ? 2 : 1;\r\n\t\tinput.attackingHero.globalInfo.BloodGemAttackBonus += 1 * mult;\r\n\t\tinput.attackingHero.globalInfo.BloodGemHealthBonus += 1 * mult;\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scourge-harvester.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/scourge-harvester.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAuB;IACnD,OAAO,EAAE,0BAAwE;IAGjF,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAQ,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ScourgeHarvester: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ScourgeHarvester_BG33_114, CardIds.ScourgeHarvester_BG33_114_G],\r\n\t// 2025-08-20:This is bugged today, as it should be able to get revived by the spawns\r\n\t// https://replays.firestoneapp.com/?reviewId=dc1a69b7-d93d-4f3a-9878-ddf0bddb3784&turn=19&action=8\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput): void => {\r\n\t\tconst mult = minion.cardId === CardIds.ScourgeHarvester_BG33_114_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.spawned.attack * mult,\r\n\t\t\t\tinput.spawned.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}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"scourge-harvester.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/scourge-harvester.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAuB;IACnD,OAAO,EAAE,0BAAwE;IAGjF,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAQ,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;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 { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ScourgeHarvester: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ScourgeHarvester_BG33_114, CardIds.ScourgeHarvester_BG33_114_G],\r\n\t// 2025-08-20:This is bugged today, as it should be able to get revived by the spawns\r\n\t// https://replays.firestoneapp.com/?reviewId=dc1a69b7-d93d-4f3a-9878-ddf0bddb3784&turn=19&action=8\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput): void => {\r\n\t\tconst mult = minion.cardId === CardIds.ScourgeHarvester_BG33_114_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.spawned.attack * mult,\r\n\t\t\t\tinput.spawned.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}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfless-hero.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/selfless-hero.ts"],"names":[],"mappings":";;;AAEA,mEAA0E;AAK7D,QAAA,YAAY,GAAyC;IACjE,OAAO,EAAE,gCAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,CAAA,EAAE;YAChG,OAAO,KAAK,CAAC;SACb;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,uCAAuB,EACtB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantRandomDivineShield } from '../../../keywords/divine-shield';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SelflessHero: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SelflessHero_BG_OG_221, CardIds.SelflessHero_TB_BaconUps_014],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tif (!input.hero.trinkets?.some((t) => t.cardId === CardIds.SelflessPortrait_BG32_MagicItem_804)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst mult = minion.cardId === CardIds.SelflessHero_TB_BaconUps_014 ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tgrantRandomDivineShield(minion, input.board, input.hero, input.otherHero, input.gameState);\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.SelflessHero_TB_BaconUps_014 ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tgrantRandomDivineShield(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\tinput.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":"selfless-hero.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/selfless-hero.ts"],"names":[],"mappings":";;;AAEA,mEAA0E;AAK7D,QAAA,YAAY,GAAyC;IACjE,OAAO,EAAE,gCAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,CAAA,EAAE;YAChG,OAAO,KAAK,CAAC;SACb;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,uCAAuB,EACtB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantRandomDivineShield } from '../../../keywords/divine-shield';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SelflessHero: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SelflessHero_BG_OG_221, CardIds.SelflessHero_TB_BaconUps_014],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tif (!input.hero.trinkets?.some((t) => t.cardId === CardIds.SelflessPortrait_BG32_MagicItem_804)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst mult = minion.cardId === CardIds.SelflessHero_TB_BaconUps_014 ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tgrantRandomDivineShield(minion, input.board, input.hero, input.otherHero, input.gameState);\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.SelflessHero_TB_BaconUps_014 ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tgrantRandomDivineShield(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowdancer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shadowdancer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,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,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAoC,CAAC;QACxE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Shadowdancer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Shadowdancer_BG32_891, CardIds.Shadowdancer_BG32_891_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Shadowdancer_BG32_891_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.StaffOfEnrichment_BG28_886);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"shadowdancer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shadowdancer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,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,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAoC,CAAC;QACxE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Shadowdancer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Shadowdancer_BG32_891, CardIds.Shadowdancer_BG32_891_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Shadowdancer_BG32_891_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.StaffOfEnrichment_BG28_886);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp-eyed-sabretooth.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharp-eyed-sabretooth.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,mCAAI,CAAC,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SharpEyedSabretooth: BattlecryCard = {\r\n\tcardIds: [CardIds.SharpEyedSabretooth_BG33_846, CardIds.SharpEyedSabretooth_BG33_846_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst target = pickRandomAlive(input.board);\r\n\t\tif (!!target) {\r\n\t\t\tconst mult = minion.cardId === CardIds.SharpEyedSabretooth_BG33_846_G ? 2 : 1;\r\n\t\t\tconst baseValue = 1 + (input.hero.globalInfo.FriendlyMinionsDeadLastCombat ?? 0);\r\n\t\t\tconst buff = 2 * mult * baseValue;\r\n\t\t\tmodifyStats(target, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"sharp-eyed-sabretooth.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharp-eyed-sabretooth.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,mCAAI,CAAC,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SharpEyedSabretooth: BattlecryCard = {\r\n\tcardIds: [CardIds.SharpEyedSabretooth_BG33_846, CardIds.SharpEyedSabretooth_BG33_846_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst target = pickRandomAlive(input.board);\r\n\t\tif (!!target) {\r\n\t\t\tconst mult = minion.cardId === CardIds.SharpEyedSabretooth_BG33_846_G ? 2 : 1;\r\n\t\t\tconst baseValue = 1 + (input.hero.globalInfo.FriendlyMinionsDeadLastCombat ?? 0);\r\n\t\t\tconst buff = 2 * mult * baseValue;\r\n\t\t\tmodifyStats(target, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharptooth-snapper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharptooth-snapper.ts"],"names":[],"mappings":";;;AAGA,6EAAyF;AAG5E,QAAA,iBAAiB,GAA2C;IACxE,OAAO,EAAE,0BAA0E;IACnF,mBAAmB,EAAE,iBAAiB;IAGtC,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE;QACvC,OAAO,CAAC,CAAC;IACV,CAAC;IACD,aAAa,EAAE,CACd,MAAmB,EACnB,KAAe,EACsD,EAAE;QACvE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAA,oDAAgC,EAC/B,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { handleSharptoothSnapperForPlayer } from '../../../simulation/summon-when-space';\r\nimport { DefaultChargesCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const SharptoothSnapper: StartOfCombatCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.SharptoothSnapper_BG32_201, CardIds.SharptoothSnapper_BG32_201_G],\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\t// Use this instead of DefaultScriptDataNumCard so that it doesn't trigger before the Start of Combat minions phase\r\n\t// In fact this doesn't work, as it would allow it to trigger before some start of combat hero powers like Tentacular\r\n\tdefaultCharges: (minion: BoardEntity) => {\r\n\t\treturn 0;\r\n\t},\r\n\tstartOfCombat: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: SoCInput,\r\n\t): { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean } => {\r\n\t\tminion.abiityChargesLeft = minion.cardId === CardIds.SharptoothSnapper_BG32_201_G ? 2 : 1;\r\n\t\thandleSharptoothSnapperForPlayer(\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"sharptooth-snapper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharptooth-snapper.ts"],"names":[],"mappings":";;;AAGA,6EAAyF;AAG5E,QAAA,iBAAiB,GAA2C;IACxE,OAAO,EAAE,0BAA0E;IACnF,mBAAmB,EAAE,iBAAiB;IAGtC,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE;QACvC,OAAO,CAAC,CAAC;IACV,CAAC;IACD,aAAa,EAAE,CACd,MAAmB,EACnB,KAAe,EACsD,EAAE;QACvE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAA,oDAAgC,EAC/B,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { handleSharptoothSnapperForPlayer } from '../../../simulation/summon-when-space';\r\nimport { DefaultChargesCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const SharptoothSnapper: StartOfCombatCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.SharptoothSnapper_BG32_201, CardIds.SharptoothSnapper_BG32_201_G],\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\t// Use this instead of DefaultScriptDataNumCard so that it doesn't trigger before the Start of Combat minions phase\r\n\t// In fact this doesn't work, as it would allow it to trigger before some start of combat hero powers like Tentacular\r\n\tdefaultCharges: (minion: BoardEntity) => {\r\n\t\treturn 0;\r\n\t},\r\n\tstartOfCombat: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: SoCInput,\r\n\t): { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean } => {\r\n\t\tminion.abiityChargesLeft = minion.cardId === CardIds.SharptoothSnapper_BG32_201_G ? 2 : 1;\r\n\t\thandleSharptoothSnapperForPlayer(\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship-master-eudora.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ship-master-eudora.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipMasterEudora: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipMasterEudora_BG33_828, CardIds.ShipMasterEudora_BG33_828_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipMasterEudora_BG33_828_G ? 2 : 1;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t8 * mult,\r\n\t\t\t8 * mult,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"ship-master-eudora.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ship-master-eudora.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipMasterEudora: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipMasterEudora_BG33_828, CardIds.ShipMasterEudora_BG33_828_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipMasterEudora_BG33_828_G ? 2 : 1;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t8 * mult,\r\n\t\t\t8 * mult,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shipwrecked-rascal.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shipwrecked-rascal.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,iBAAiB,GAAyC;IACtE,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipwreckedRascal: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipwreckedRascal_BG33_821, CardIds.ShipwreckedRascal_BG33_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"shipwrecked-rascal.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shipwrecked-rascal.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,iBAAiB,GAAyC;IACtE,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipwreckedRascal: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipwreckedRascal_BG33_821, CardIds.ShipwreckedRascal_BG33_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"silver-handed-recruit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silver-handed-recruit.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC3E,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SilverHandedRecruit: BattlecryCard = {\r\n\tcardIds: [CardIds.SilverHandedRecruit_BG31_853, CardIds.SilverHandedRecruit_BG31_853_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SilverHandedRecruit_BG31_853_G ? 2 : 1;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 0)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, e, input.board, input.hero, null);\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"silver-handed-recruit.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silver-handed-recruit.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC3E,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACrF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SilverHandedRecruit: BattlecryCard = {\r\n\tcardIds: [CardIds.SilverHandedRecruit_BG31_853, CardIds.SilverHandedRecruit_BG31_853_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SilverHandedRecruit_BG31_853_G ? 2 : 1;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) % 2 === 0)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, e, input.board, input.hero, null);\r\n\t\t\t});\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slumber-sorcerer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/slumber-sorcerer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,0BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA+B,CAAC;QACnE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SlumberSorcerer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SlumberSorcerer_BG32_833, CardIds.SlumberSorcerer_BG32_833_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SlumberSorcerer_BG32_833_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShiftingTide_BG32_815);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"slumber-sorcerer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/slumber-sorcerer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,0BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA+B,CAAC;QACnE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SlumberSorcerer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SlumberSorcerer_BG32_833, CardIds.SlumberSorcerer_BG32_833_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SlumberSorcerer_BG32_833_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShiftingTide_BG32_815);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smolderwing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/smolderwing.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE;;;KAGR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAA,kBAAU,EACnC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CACD,CAAC;QACF,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1F,MAAM,qBAAqB,GAC1B,MAAM,CAAC,MAAM,gBAAyD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,gBAAgB,GAAG,CAAC,GAAG,qBAAqB,CAAC;YACnD,IAAA,mBAAW,EAAC,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const Smolderwing: BattlecryCard = {\r\n\tcardIds: [\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309_Gt,\r\n\t],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst smolderwingTarget = pickRandom(\r\n\t\t\tallMinions.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t);\r\n\t\tif (!!smolderwingTarget) {\r\n\t\t\tconst targetBoard = input.board.includes(smolderwingTarget) ? input.board : input.otherBoard;\r\n\t\t\tconst targetHero = input.board.includes(smolderwingTarget) ? input.hero : input.otherHero;\r\n\t\t\tconst smolderwingMultiplier =\r\n\t\t\t\tminion.cardId === CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t ? 1 : 2;\r\n\t\t\tconst smolderwingStats = 5 * smolderwingMultiplier;\r\n\t\t\tmodifyStats(smolderwingTarget, minion, smolderwingStats, 0, targetBoard, targetHero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"smolderwing.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/smolderwing.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE;;;KAGR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAA,kBAAU,EACnC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CACD,CAAC;QACF,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1F,MAAM,qBAAqB,GAC1B,MAAM,CAAC,MAAM,gBAAyD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,gBAAgB,GAAG,CAAC,GAAG,qBAAqB,CAAC;YACnD,IAAA,mBAAW,EAAC,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QACD,OAAO,IAAI,CAAC;IACb,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 { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const Smolderwing: BattlecryCard = {\r\n\tcardIds: [\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309_Gt,\r\n\t],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst smolderwingTarget = pickRandom(\r\n\t\t\tallMinions.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t);\r\n\t\tif (!!smolderwingTarget) {\r\n\t\t\tconst targetBoard = input.board.includes(smolderwingTarget) ? input.board : input.otherBoard;\r\n\t\t\tconst targetHero = input.board.includes(smolderwingTarget) ? input.hero : input.otherHero;\r\n\t\t\tconst smolderwingMultiplier =\r\n\t\t\t\tminion.cardId === CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t ? 1 : 2;\r\n\t\t\tconst smolderwingStats = 5 * smolderwingMultiplier;\r\n\t\t\tmodifyStats(smolderwingTarget, minion, smolderwingStats, 0, targetBoard, targetHero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SneedsNewShredder = void 0;
|
|
4
4
|
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
5
5
|
const utils_1 = require("../../../services/utils");
|
|
6
|
+
const add_minion_to_board_1 = require("../../../simulation/add-minion-to-board");
|
|
6
7
|
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
7
|
-
exports.
|
|
8
|
+
exports.SneedsNewShredder = {
|
|
8
9
|
cardIds: ["BG21_HERO_030t", "BG21_HERO_030t_G"],
|
|
9
10
|
deathrattleSpawn: (minion, input) => {
|
|
10
11
|
var _a;
|
|
@@ -23,7 +24,9 @@ exports.PilotTheShredder = {
|
|
|
23
24
|
: null;
|
|
24
25
|
if (spawn) {
|
|
25
26
|
spawn.locked = true;
|
|
26
|
-
const
|
|
27
|
+
const copy = { ...spawn };
|
|
28
|
+
(0, add_minion_to_board_1.removeAurasFromSelf)(copy, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
29
|
+
const spawns = (0, deathrattle_spawns_1.spawnEntities)(spawn.cardId, 1, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoard, input.otherBoardHero, input.gameState, minion.friendly, false, false, true, copy);
|
|
27
30
|
for (const s of spawns) {
|
|
28
31
|
(0, divine_shield_1.updateDivineShield)(s, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, true, input.gameState);
|
|
29
32
|
s.onCanceledSummon = () => (spawn.locked = false);
|
|
@@ -34,4 +37,4 @@ exports.PilotTheShredder = {
|
|
|
34
37
|
return allSpawns;
|
|
35
38
|
},
|
|
36
39
|
};
|
|
37
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=sneeds-new-shredder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sneeds-new-shredder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sneeds-new-shredder.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAErE,mDAAqD;AACrD,iFAA8E;AAE9E,+EAAuE;AAG1D,QAAA,iBAAiB,GAAyB;IACtD,OAAO,EAAE,sCAAiG;IAC1G,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAA+C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,IAAI,GACT,MAAA,KAAK,CAAC,uBAAuB,CAAC,IAAI;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,CAAC;iBAG1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YAClC,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;gBAEV,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAiB,CAAC;gBACzC,IAAA,yCAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrG,MAAM,MAAM,GAAG,IAAA,kCAAa,EAC3B,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,MAAM,CAAC,QAAQ,EACf,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,CACJ,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;oBACvB,IAAA,kCAAkB,EACjB,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;oBACF,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;iBAElD;gBACD,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;aAC1B;SACD;QACD,OAAO,SAAS,CAAC;IAClB,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 { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\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 SneedsNewShredder: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Sneed_SneedsNewShredderToken_BG21_HERO_030t, CardIds.SneedsNewShredder_BG21_HERO_030t_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SneedsNewShredder_BG21_HERO_030t_G ? 2 : 1;\r\n\t\tconst allSpawns = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst hand =\r\n\t\t\t\tinput.boardWithDeadEntityHero.hand\r\n\t\t\t\t\t.filter((e) => !!e?.cardId)\r\n\t\t\t\t\t// 2025-12-04: it can summon a minion that is locked by another way, like Flighty scout\r\n\t\t\t\t\t// BUT: if it was summoned by Bassgill, then it won't work\r\n\t\t\t\t\t.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\t// 2025-12-04: actually doesn't look like it gets locked\r\n\t\t\t\tspawn.locked = true;\r\n\t\t\t\tconst copy = { ...spawn } as BoardEntity;\r\n\t\t\t\tremoveAurasFromSelf(copy, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);\r\n\t\t\t\tconst spawns = 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\tminion.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\tcopy,\r\n\t\t\t\t);\r\n\t\t\t\tfor (const s of spawns) {\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\ts.onCanceledSummon = () => (spawn.locked = false);\r\n\t\t\t\t\t// s.backRef = spawn;\r\n\t\t\t\t}\r\n\t\t\t\tallSpawns.push(...spawns);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn allSpawns;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"soul-rewinder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soul-rewinder.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,EAAE;YAC/F,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 { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const SoulRewinder: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.SoulRewinder_BG26_174, CardIds.SoulRewinder_BG26_174_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t\tconst mult = minion.cardId === CardIds.SoulRewinder_BG26_174_G ? 2 : 1;\r\n\t\tmodifyStats(minion, minion, 0, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\tif (input.hero.trinkets?.some((t) => t.cardId === CardIds.RewinderPortrait_BG30_MagicItem_868)) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"soul-rewinder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/soul-rewinder.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,EAAE;YAC/F,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 { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const SoulRewinder: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.SoulRewinder_BG26_174, CardIds.SoulRewinder_BG26_174_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t\tconst mult = minion.cardId === CardIds.SoulRewinder_BG26_174_G ? 2 : 1;\r\n\t\tmodifyStats(minion, minion, 0, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\tif (input.hero.trinkets?.some((t) => t.cardId === CardIds.RewinderPortrait_BG30_MagicItem_868)) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,0BAA4D;IACrE,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IACC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,OAAO;SACP;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.Spacefarer_BG31_820, CardIds.Spacefarer_BG31_820_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.attackAmount > 0) {\r\n\t\t\tconst mult = entity.cardId === CardIds.Spacefarer_BG31_820_G ? 2 : 1;\r\n\t\t\tmodifyStats(entity, entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"spacefarer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spacefarer.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGpC,QAAA,UAAU,GAAuB;IAC7C,OAAO,EAAE,0BAA4D;IACrE,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACP;QACD,IACC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,OAAO;SACP;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;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 { modifyStats, OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const Spacefarer: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.Spacefarer_BG31_820, CardIds.Spacefarer_BG31_820_G],\r\n\tonStatsChanged: (entity: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.target === entity) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(input.target, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.attackAmount > 0) {\r\n\t\t\tconst mult = entity.cardId === CardIds.Spacefarer_BG31_820_G ? 2 : 1;\r\n\t\t\tmodifyStats(entity, entity, 0, 3 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spirited-whimsydrake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spirited-whimsydrake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC,CAAC;SAC5G;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SpiritedWhimsydrake: BattlecryCard = {\r\n\tcardIds: [CardIds.SpiritedWhimsydrake_BG32_823, CardIds.SpiritedWhimsydrake_BG32_823_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SpiritedWhimsydrake_BG32_823_G ? 2 : 1;\r\n\t\tconst cardsToAdd = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tcardsToAdd.push(input.gameState.cardsData.getRandomMinionForTribe(Race.DRAGON, input.hero.tavernTier ?? 1));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"spirited-whimsydrake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/spirited-whimsydrake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC,CAAC;SAC5G;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,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 { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SpiritedWhimsydrake: BattlecryCard = {\r\n\tcardIds: [CardIds.SpiritedWhimsydrake_BG32_823, CardIds.SpiritedWhimsydrake_BG32_823_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SpiritedWhimsydrake_BG32_823_G ? 2 : 1;\r\n\t\tconst cardsToAdd = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tcardsToAdd.push(input.gameState.cardsData.getRandomMinionForTribe(Race.DRAGON, input.hero.tavernTier ?? 1));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"springy-spriggan.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/springy-spriggan.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE;;;;;KAKR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GACT,MAAM,CAAC,MAAM,iBAAuC;YACpD,MAAM,CAAC,MAAM,mBAAoE;YAChF,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SpringySpriggan: EndOfTurnCard = {\r\n\tcardIds: [\r\n\t\tCardIds.SpringySpriggan_BG32_171,\r\n\t\tCardIds.SpringySpriggan_BG32_171_G,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171e2,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2,\r\n\t],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult =\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_BG32_171_G ||\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2\r\n\t\t\t\t? 2\r\n\t\t\t\t: 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 0, input.gameState, Race[Race.MECH]);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"springy-spriggan.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/springy-spriggan.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,0CAAiD;AAGpC,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE;;;;;KAKR;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GACT,MAAM,CAAC,MAAM,iBAAuC;YACpD,MAAM,CAAC,MAAM,mBAAoE;YAChF,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,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 { addStatsToBoard } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SpringySpriggan: EndOfTurnCard = {\r\n\tcardIds: [\r\n\t\tCardIds.SpringySpriggan_BG32_171,\r\n\t\tCardIds.SpringySpriggan_BG32_171_G,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171e2,\r\n\t\tCardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2,\r\n\t],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult =\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_BG32_171_G ||\r\n\t\t\tminion.cardId === CardIds.SpringySpriggan_SpringySprigganEnchantment_BG32_171_Ge2\r\n\t\t\t\t? 2\r\n\t\t\t\t: 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 0, input.gameState, Race[Race.MECH]);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stitched-salvager.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stitched-salvager.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAG9E,0CAA4C;AAG/B,QAAA,gBAAgB,GAA6C;IACzE,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,MAAM,CAAC,MAAM,iBAAwC,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACzG,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACpB,OAAO;SACP;QAED,MAAM,CAAC,MAAM,GAAG,OAAO;aACrB,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACnG;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC;YAC3B,IAAA,yCAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACb,CAAC,CAA2B,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,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;QAGD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;;QACnG,MAAM,MAAM,GAAkB,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7D,OAAO,IAAA,kBAAU,EAAC;gBACjB,GAAG,CAAC;gBACJ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACvD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { DeathrattleSpawnCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const StitchedSalvager: StartOfCombatCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.StitchedSalvager_BG31_999, CardIds.StitchedSalvager_BG31_999_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionIndex = input.playerBoard.indexOf(minion);\r\n\t\tlet targets = [];\r\n\t\tif (minionIndex > 0) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex - 1]);\r\n\t\t}\r\n\t\tif (minion.cardId === CardIds.StitchedSalvager_BG31_999_G && minionIndex < input.playerBoard.length - 1) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex + 1]);\r\n\t\t}\r\n\r\n\t\ttargets = targets.filter(\r\n\t\t\t(t) => t.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t);\r\n\t\tif (!targets.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.memory = targets\r\n\t\t\t.filter(\r\n\t\t\t\t(t) =>\r\n\t\t\t\t\tt.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t\t)\r\n\t\t\t.map((t) => {\r\n\t\t\t\tconst copy = copyEntity(t);\r\n\t\t\t\tremoveAurasFromSelf(copy, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\treturn copy;\r\n\t\t\t}) as readonly BoardEntity[];\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.definitelyDead = true;\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\t// https://replays.firestoneapp.com/?reviewId=fb20ead1-624f-4fcb-84e2-8b8c1f4d6b73&turn=21&action=2\r\n\t\t// The side with the Stitched Salvager still attacks first, even with a board reduced to 6 minions\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst spawns: BoardEntity[] = (minion.memory ?? []).map((e) => {\r\n\t\t\treturn copyEntity({\r\n\t\t\t\t...e,\r\n\t\t\t\tentityId: input.gameState.sharedState.currentEntityId++,\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":"stitched-salvager.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stitched-salvager.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAG9E,0CAA4C;AAG/B,QAAA,gBAAgB,GAA6C;IACzE,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,MAAM,CAAC,MAAM,iBAAwC,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACzG,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACpB,OAAO;SACP;QAED,MAAM,CAAC,MAAM,GAAG,OAAO;aACrB,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,iBAAwC,IAAI,CAAC,CAAC,MAAM,eAAsC,CACnG;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC;YAC3B,IAAA,yCAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACb,CAAC,CAA2B,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,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;QAGD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;;QACnG,MAAM,MAAM,GAAkB,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7D,OAAO,IAAA,kBAAU,EAAC;gBACjB,GAAG,CAAC;gBACJ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACvD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { DeathrattleSpawnCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const StitchedSalvager: StartOfCombatCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.StitchedSalvager_BG31_999, CardIds.StitchedSalvager_BG31_999_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionIndex = input.playerBoard.indexOf(minion);\r\n\t\tlet targets = [];\r\n\t\tif (minionIndex > 0) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex - 1]);\r\n\t\t}\r\n\t\tif (minion.cardId === CardIds.StitchedSalvager_BG31_999_G && minionIndex < input.playerBoard.length - 1) {\r\n\t\t\ttargets.push(input.playerBoard[minionIndex + 1]);\r\n\t\t}\r\n\r\n\t\ttargets = targets.filter(\r\n\t\t\t(t) => t.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t);\r\n\t\tif (!targets.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.memory = targets\r\n\t\t\t.filter(\r\n\t\t\t\t(t) =>\r\n\t\t\t\t\tt.cardId !== CardIds.StitchedSalvager_BG31_999_G && t.cardId !== CardIds.StitchedSalvager_BG31_999,\r\n\t\t\t)\r\n\t\t\t.map((t) => {\r\n\t\t\t\tconst copy = copyEntity(t);\r\n\t\t\t\tremoveAurasFromSelf(copy, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\treturn copy;\r\n\t\t\t}) as readonly BoardEntity[];\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.definitelyDead = true;\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\t// https://replays.firestoneapp.com/?reviewId=fb20ead1-624f-4fcb-84e2-8b8c1f4d6b73&turn=21&action=2\r\n\t\t// The side with the Stitched Salvager still attacks first, even with a board reduced to 6 minions\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst spawns: BoardEntity[] = (minion.memory ?? []).map((e) => {\r\n\t\t\treturn copyEntity({\r\n\t\t\t\t...e,\r\n\t\t\t\tentityId: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stray-satyr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stray-satyr.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAAwB;IAC9C,OAAO,EAAE,0BAA4D;IACrE,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QAErE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpD,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IACC,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,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;YACnF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const StraySatyr: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.StraySatyr_BG33_151, CardIds.StraySatyr_BG33_151_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\t// Only friendly minions trigger this\r\n\t\tif (minion.friendly !== input.damageDealer.friendly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.StraySatyr_BG33_151_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\t'attack' in input.damageDealer &&\r\n\t\t\t'health' in input.damageDealer &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\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\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, null);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"stray-satyr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stray-satyr.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAAwB;IAC9C,OAAO,EAAE,0BAA4D;IACrE,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QAErE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpD,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IACC,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,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;YACnF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const StraySatyr: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.StraySatyr_BG33_151, CardIds.StraySatyr_BG33_151_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\t// Only friendly minions trigger this\r\n\t\tif (minion.friendly !== input.damageDealer.friendly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.StraySatyr_BG33_151_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\t'attack' in input.damageDealer &&\r\n\t\t\t'health' in input.damageDealer &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\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\tmodifyStats(minion, minion, 1 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, null);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sun-screener.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sun-screener.ts"],"names":[],"mappings":";;;AAEA,mEAAqF;AAGxE,QAAA,WAAW,GAAG;IAC1B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantDivineShieldToLeftmostMinions } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const SunScreener = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {\r\n\t\t\tconst quantity = minion.cardId === CardIds.SunScreener_BG30_101 ? 3 : 6;\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"sun-screener.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sun-screener.ts"],"names":[],"mappings":";;;AAEA,mEAAqF;AAGxE,QAAA,WAAW,GAAG;IAC1B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,QAAQ,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,IAAA,kDAAkC,EACjC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,QAAQ,EACR,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantDivineShieldToLeftmostMinions } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const SunScreener = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0 || input.opponentBoard.length > 0) {\r\n\t\t\tconst quantity = minion.cardId === CardIds.SunScreener_BG30_101 ? 3 : 6;\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tgrantDivineShieldToLeftmostMinions(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tquantity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfing-slyvar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/surfing-slyvar.ts"],"names":[],"mappings":";;;AAEA,uDAA2D;AAC3D,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACrG,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7B,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,CAClF,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SurfingSylvar: EndOfTurnCard = {\r\n\tcardIds: [CardIds.SurfingSylvar_BG32_235, CardIds.SurfingSylvar_BG32_235_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SurfingSylvar_BG32_235_G ? 2 : 1;\r\n\t\tconst goldenMinions = input.board.filter((e) => isGolden(e.cardId, input.gameState.allCards)).length;\r\n\t\tconst neighbours = getNeighbours(input.board, minion);\r\n\t\tfor (let i = 0; i < goldenMinions + 1; i++) {\r\n\t\t\tneighbours.forEach((target) =>\r\n\t\t\t\tmodifyStats(target, minion, 1 * mult, 0, input.board, input.hero, input.gameState),\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"surfing-slyvar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/surfing-slyvar.ts"],"names":[],"mappings":";;;AAEA,uDAA2D;AAC3D,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACrG,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7B,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,CAClF,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SurfingSylvar: EndOfTurnCard = {\r\n\tcardIds: [CardIds.SurfingSylvar_BG32_235, CardIds.SurfingSylvar_BG32_235_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SurfingSylvar_BG32_235_G ? 2 : 1;\r\n\t\tconst goldenMinions = input.board.filter((e) => isGolden(e.cardId, input.gameState.allCards)).length;\r\n\t\tconst neighbours = getNeighbours(input.board, minion);\r\n\t\tfor (let i = 0; i < goldenMinions + 1; i++) {\r\n\t\t\tneighbours.forEach((target) =>\r\n\t\t\t\tmodifyStats(target, minion, 1 * mult, 0, input.board, input.hero, input.gameState),\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thorncaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thorncaller.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Thorncaller: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Thorncaller_BG20_105, CardIds.Thorncaller_BG20_105_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"thorncaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thorncaller.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Thorncaller: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Thorncaller_BG20_105, CardIds.Thorncaller_BG20_105_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thousandth-paper-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thousandth-paper-drake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,yDAA4D;AAE5D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,oBAAoB,GAAG;IACnC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,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,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const ThousandthPaperDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ThousandthPaperDrake_BG29_810_G ? 2 : 1;\r\n\t\tconst pickedTargets = [];\r\n\t\tconst dragons = 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 (let i = 0; i < loops; i++) {\r\n\t\t\tconst target = dragons.filter((e) => !pickedTargets.includes(e))[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmodifyStats(target, minion, 1, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tpickedTargets.push(target);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"thousandth-paper-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thousandth-paper-drake.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,yDAA4D;AAE5D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,oBAAoB,GAAG;IACnC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,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,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,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 { updateWindfury } from '../../../keywords/windfury';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const ThousandthPaperDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ThousandthPaperDrake_BG29_810_G ? 2 : 1;\r\n\t\tconst pickedTargets = [];\r\n\t\tconst dragons = 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 (let i = 0; i < loops; i++) {\r\n\t\t\tconst target = dragons.filter((e) => !pickedTargets.includes(e))[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmodifyStats(target, minion, 1, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tpickedTargets.push(target);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thundering-abomination.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thundering-abomination.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,qBAAqB,GAAuB;IACxD,OAAO,EAAE,0BAAkF;IAC3F,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,MAAM,EACN,mBAAmB,GAAG,CAAC,EACvB,mBAAmB,GAAG,CAAC,EACvB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ThunderingAbomination: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ThunderingAbomination_BG30_124, CardIds.ThunderingAbomination_BG30_124_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst abomStatsMultiplier = minion.cardId === CardIds.ThunderingAbomination_BG30_124_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\tminion,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"thundering-abomination.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thundering-abomination.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,qBAAqB,GAAuB;IACxD,OAAO,EAAE,0BAAkF;IAC3F,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAA,mBAAW,EACV,KAAK,CAAC,OAAO,EACb,MAAM,EACN,mBAAmB,GAAG,CAAC,EACvB,mBAAmB,GAAG,CAAC,EACvB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const ThunderingAbomination: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ThunderingAbomination_BG30_124, CardIds.ThunderingAbomination_BG30_124_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst abomStatsMultiplier = minion.cardId === CardIds.ThunderingAbomination_BG30_124_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\tminion,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tabomStatsMultiplier * 3,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
@@ -11,7 +11,7 @@ exports.TideRaiser = {
|
|
|
11
11
|
const raw = (0, attack_1.getNeighbours)(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight)
|
|
12
12
|
.filter((e) => !!e)
|
|
13
13
|
.filter((e) => e.health > 0 && !e.definitelyDead);
|
|
14
|
-
const targets = golden ? raw : raw.length ? [(0, utils_1.pickRandom)(raw
|
|
14
|
+
const targets = golden ? raw : raw.length ? [(0, utils_1.pickRandom)(raw)] : [];
|
|
15
15
|
for (const t of targets) {
|
|
16
16
|
(0, cast_tavern_spell_1.castTavernSpell)("BG32_815", {
|
|
17
17
|
spellCardId: "BG32_815",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tide-raiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tide-raiser.ts"],"names":[],"mappings":";;;AACA,4EAAuE;AAEvE,mDAAqD;AACrD,uDAA2D;AAI9C,QAAA,UAAU,GAAyB;IAC/C,OAAO,EAAE,0BAA4D;IACrE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC;aAC1F,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"tide-raiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tide-raiser.ts"],"names":[],"mappings":";;;AACA,4EAAuE;AAEvE,mDAAqD;AACrD,uDAA2D;AAI9C,QAAA,UAAU,GAAyB;IAC/C,OAAO,EAAE,0BAA4D;IACrE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC;aAC1F,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACxB,IAAA,mCAAe,cAAgC;gBAC9C,WAAW,YAA+B;gBAC1C,MAAM,EAAE,KAAK,CAAC,uBAAuB;gBACrC,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,KAAK,CAAC,mBAAmB;gBAChC,IAAI,EAAE,KAAK,CAAC,uBAAuB;gBACnC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,cAAc;gBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC1B,CAAC,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACX,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 { pickRandom } from '../../../services/utils';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TideRaiser: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TideRaiser_BG34_920, CardIds.TideRaiser_BG34_920_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst golden = minion.cardId === CardIds.TideRaiser_BG34_920_G;\r\n\t\tconst raw = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight)\r\n\t\t\t.filter((e): e is BoardEntity => !!e)\r\n\t\t\t.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\t\tconst targets = golden ? raw : raw.length ? [pickRandom(raw)] : [];\r\n\t\tfor (const t of targets) {\r\n\t\t\tcastTavernSpell(CardIds.ShiftingTide_BG32_815, {\r\n\t\t\t\tspellCardId: CardIds.ShiftingTide_BG32_815,\r\n\t\t\t\tsource: input.boardWithDeadEntityHero,\r\n\t\t\t\ttarget: t,\r\n\t\t\t\tboard: input.boardWithDeadEntity,\r\n\t\t\t\thero: input.boardWithDeadEntityHero,\r\n\t\t\t\totherBoard: input.otherBoard,\r\n\t\t\t\totherHero: input.otherBoardHero,\r\n\t\t\t\tgameState: input.gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,7 +4,7 @@ exports.TimewarpedEmbalmer = void 0;
|
|
|
4
4
|
const reborn_1 = require("../../../keywords/reborn");
|
|
5
5
|
exports.TimewarpedEmbalmer = {
|
|
6
6
|
cardIds: ["BG34_Giant_332", "BG34_Giant_332_G"],
|
|
7
|
-
defaultCharges: (entity) => entity.scriptDataNum1
|
|
7
|
+
defaultCharges: (entity) => entity.scriptDataNum1,
|
|
8
8
|
onOtherSpawned: (minion, input) => {
|
|
9
9
|
if (minion.abiityChargesLeft > 0) {
|
|
10
10
|
minion.abiityChargesLeft--;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timewarped-embalmer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-embalmer.ts"],"names":[],"mappings":";;;AACA,qDAAwD;AAK3C,QAAA,kBAAkB,GAA4C;IAC1E,OAAO,EAAE,sCAAwF;
|
|
1
|
+
{"version":3,"file":"timewarped-embalmer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-embalmer.ts"],"names":[],"mappings":";;;AACA,qDAAwD;AAK3C,QAAA,kBAAkB,GAA4C;IAC1E,OAAO,EAAE,sCAAwF;IAEjG,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc;IAC9D,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE;YACjC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { DefaultChargesCard, OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const TimewarpedEmbalmer: OnOtherSpawnedCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.TimewarpedEmbalmer_BG34_Giant_332, CardIds.TimewarpedEmbalmer_BG34_Giant_332_G],\r\n\t// It only resets at the start of the shop phase, so we need to rely on the value from the board state\r\n\tdefaultCharges: (entity: BoardEntity) => entity.scriptDataNum1,\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tif (minion.abiityChargesLeft > 0) {\r\n\t\t\tminion.abiityChargesLeft--;\r\n\t\t\tconst target = input.spawned;\r\n\t\t\tupdateReborn(target, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timewarped-warghoul.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-warghoul.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAA2D;AAE3D,6FAA4F;AAC5F,6EAA4E;AAG5E,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,sCAAwF;IACjG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,cAAc,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAC5G,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC;YACH,IAAA,uCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC;YACtE,CAAC,0BAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAI9C,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAG/B,CAAC;QACF,IAAI,UAAyB,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,uBAAgD,EAAE;YAClE,UAAU,GAAG,aAAa,CAAC;SAC3B;aAAM;YAEN,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjD,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,cAAc,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;SACzE;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,SAAS,EACT,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;YACF,MAAM,cAAc,GACnB,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,IAAA,uDAA2B,EAC1B,SAAS,EACT,cAAc,EACd,CAAC,SAAS,CAAC,EACX,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAC1F,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAC1F,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;SACF;QACD,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\nimport { CardIds } from '../../../services/card-ids';\nimport { pickRandom } from '../../../services/utils';\nimport { getNeighbours } from '../../../simulation/attack';\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\nimport { DeathrattleSpawnCard } from '../../card.interface';\n\nlet callStackDepth = 0; // Global variable to track call stack depth\n\nexport const TimewarpedWarghoul: DeathrattleSpawnCard = {\n\tcardIds: [CardIds.TimewarpedWarghoul_BG34_Giant_331, CardIds.TimewarpedWarghoul_BG34_Giant_331_G],\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\n\t\tcallStackDepth++;\n\t\tconst allNeighbours = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight).filter(\n\t\t\t(e) =>\n\t\t\t\t!!e &&\n\t\t\t\thasValidDeathrattle(e, input.boardWithDeadEntityHero, input.gameState) &&\n\t\t\t\t!TimewarpedWarghoul.cardIds.includes(e.cardId) &&\n\t\t\t\t// The Warghoul will proc all the Whirl-O-Trons deathrattles but the copied deathrattle\n\t\t\t\t// cannot re-proc on the Warghoul itself. (If you manage to get a set up with 2 Whirl-O-Trons,\n\t\t\t\t// Macaw and Warghoul then congrats! Things may start to loop)\n\t\t\t\te.entityId !== minion.entityId,\n\t\t\t// !e.enchantments?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)) &&\n\t\t\t// !e.rememberedDeathrattles?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)),\n\t\t);\n\t\tlet neighbours: BoardEntity[];\n\t\tif (minion.cardId === CardIds.TimewarpedWarghoul_BG34_Giant_331_G) {\n\t\t\tneighbours = allNeighbours;\n\t\t} else {\n\t\t\t// Non-golden: pick one random neighbour\n\t\t\tconst chosen = pickRandom(allNeighbours, minion);\n\t\t\tneighbours = chosen ? [chosen] : [];\n\t\t}\n\t\tif (neighbours.length === 0) {\n\t\t\tcallStackDepth--;\n\t\t\treturn [];\n\t\t}\n\t\tif (callStackDepth > 10) {\n\t\t\tconsole.log('warning: timewarped warghoul call stack depth is too deep');\n\t\t}\n\t\tfor (const neighbour of neighbours) {\n\t\t\tinput.gameState.spectator.registerPowerTarget(\n\t\t\t\tminion,\n\t\t\t\tneighbour,\n\t\t\t\tinput.boardWithDeadEntity,\n\t\t\t\tinput.boardWithDeadEntityHero,\n\t\t\t\tinput.otherBoardHero,\n\t\t\t);\n\t\t\tconst indexFromRight =\n\t\t\t\tinput.boardWithDeadEntity.length - (input.boardWithDeadEntity.indexOf(neighbour) + 1);\n\t\t\tprocessDeathrattleForMinion(\n\t\t\t\tneighbour,\n\t\t\t\tindexFromRight,\n\t\t\t\t[neighbour],\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\n\t\t\t\tinput.gameState,\n\t\t\t\tfalse,\n\t\t\t);\n\t\t}\n\t\tcallStackDepth--;\n\t\treturn [];\n\t},\n};\n"]}
|
|
1
|
+
{"version":3,"file":"timewarped-warghoul.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-warghoul.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAA2D;AAE3D,6FAA4F;AAC5F,6EAA4E;AAG5E,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,kBAAkB,GAAyB;IACvD,OAAO,EAAE,sCAAwF;IACjG,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,cAAc,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAC5G,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,CAAC;YACH,IAAA,uCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAC;YACtE,CAAC,0BAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAI9C,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAG/B,CAAC;QACF,IAAI,UAAyB,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,uBAAgD,EAAE;YAClE,UAAU,GAAG,aAAa,CAAC;SAC3B;aAAM;YAEN,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjD,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;SACV;QACD,IAAI,cAAc,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;SACzE;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,SAAS,EACT,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;YACF,MAAM,cAAc,GACnB,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,IAAA,uDAA2B,EAC1B,SAAS,EACT,cAAc,EACd,CAAC,SAAS,CAAC,EACX,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAC1F,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAC1F,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;SACF;QACD,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nlet callStackDepth = 0; // Global variable to track call stack depth\r\n\r\nexport const TimewarpedWarghoul: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TimewarpedWarghoul_BG34_Giant_331, CardIds.TimewarpedWarghoul_BG34_Giant_331_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tcallStackDepth++;\r\n\t\tconst allNeighbours = getNeighbours(input.boardWithDeadEntity, minion, input.deadEntityIndexFromRight).filter(\r\n\t\t\t(e) =>\r\n\t\t\t\t!!e &&\r\n\t\t\t\thasValidDeathrattle(e, input.boardWithDeadEntityHero, input.gameState) &&\r\n\t\t\t\t!TimewarpedWarghoul.cardIds.includes(e.cardId) &&\r\n\t\t\t\t// The Warghoul will proc all the Whirl-O-Trons deathrattles but the copied deathrattle\r\n\t\t\t\t// cannot re-proc on the Warghoul itself. (If you manage to get a set up with 2 Whirl-O-Trons,\r\n\t\t\t\t// Macaw and Warghoul then congrats! Things may start to loop)\r\n\t\t\t\te.entityId !== minion.entityId,\r\n\t\t\t// !e.enchantments?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)) &&\r\n\t\t\t// !e.rememberedDeathrattles?.some((e) => TimewarpedWarghoul.cardIds.includes(e.cardId)),\r\n\t\t);\r\n\t\tlet neighbours: BoardEntity[];\r\n\t\tif (minion.cardId === CardIds.TimewarpedWarghoul_BG34_Giant_331_G) {\r\n\t\t\tneighbours = allNeighbours;\r\n\t\t} else {\r\n\t\t\t// Non-golden: pick one random neighbour\r\n\t\t\tconst chosen = pickRandom(allNeighbours, minion);\r\n\t\t\tneighbours = chosen ? [chosen] : [];\r\n\t\t}\r\n\t\tif (neighbours.length === 0) {\r\n\t\t\tcallStackDepth--;\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\tif (callStackDepth > 10) {\r\n\t\t\tconsole.log('warning: timewarped warghoul call stack depth is too deep');\r\n\t\t}\r\n\t\tfor (const neighbour of neighbours) {\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tneighbour,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t);\r\n\t\t\tconst indexFromRight =\r\n\t\t\t\tinput.boardWithDeadEntity.length - (input.boardWithDeadEntity.indexOf(neighbour) + 1);\r\n\t\t\tprocessDeathrattleForMinion(\r\n\t\t\t\tneighbour,\r\n\t\t\t\tindexFromRight,\r\n\t\t\t\t[neighbour],\r\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\r\n\t\t\t\tneighbour.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t}\r\n\t\tcallStackDepth--;\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,8BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,mBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC/E,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EACzD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,EACjE,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TunnelBlaster: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TunnelBlaster_BG_DAL_775, CardIds.TunnelBlaster_BG_DAL_775_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.TunnelBlaster_BG_DAL_775_G ? 2 : 1;\r\n\t\t// In case there are spawns, don't target them\r\n\t\tconst minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];\r\n\t\tfor (let j = 0; j < loops; j++) {\r\n\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\tconst isSameSide = target.friendly === minion.friendly;\r\n\t\t\t\tconst board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;\r\n\t\t\t\tconst hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t3,\r\n\t\t\t\t\tisSameSide ? input.otherBoard : input.boardWithDeadEntity,\r\n\t\t\t\t\tisSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,8BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,mBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC/E,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EACzD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,EACjE,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TunnelBlaster: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TunnelBlaster_BG_DAL_775, CardIds.TunnelBlaster_BG_DAL_775_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.TunnelBlaster_BG_DAL_775_G ? 2 : 1;\r\n\t\t// In case there are spawns, don't target them\r\n\t\tconst minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];\r\n\t\tfor (let j = 0; j < loops; j++) {\r\n\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\tconst isSameSide = target.friendly === minion.friendly;\r\n\t\t\t\tconst board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;\r\n\t\t\t\tconst hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t3,\r\n\t\t\t\t\tisSameSide ? input.otherBoard : input.boardWithDeadEntity,\r\n\t\t\t\t\tisSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twilight-primordium.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-primordium.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,kBAAkB,GAAkB;IAChD,OAAO,EAAE,0BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG;YAClB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;SACD,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const TwilightPrimordium: BattlecryCard = {\r\n\tcardIds: [CardIds.TwilightPrimordium_BG31_813, CardIds.TwilightPrimordium_BG31_813_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst currentBuffValue = minion.scriptDataNum1 ?? 1;\r\n\t\tconst mult = minion.cardId === CardIds.TwilightPrimordium_BG31_813_G ? 2 : 1;\r\n\t\tconst candidates = [\r\n\t\t\t...input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t\t...input.otherBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t];\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"twilight-primordium.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-primordium.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,kBAAkB,GAAkB;IAChD,OAAO,EAAE,0BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,gBAAgB,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG;YAClB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;SACD,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const TwilightPrimordium: BattlecryCard = {\r\n\tcardIds: [CardIds.TwilightPrimordium_BG31_813, CardIds.TwilightPrimordium_BG31_813_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst currentBuffValue = minion.scriptDataNum1 ?? 1;\r\n\t\tconst mult = minion.cardId === CardIds.TwilightPrimordium_BG31_813_G ? 2 : 1;\r\n\t\tconst candidates = [\r\n\t\t\t...input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t\t...input.otherBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t];\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ultralisk.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ultralisk.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,0CAAqG;IAC9G,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAW,EAAE;QAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,yBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Ultralisk: StartOfCombatCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_UltraliskToken_BG31_HERO_811t10, CardIds.Ultralisk_BG31_HERO_811t10_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput): boolean => {\r\n\t\t// We add the stats, so mults are -1\r\n\t\tconst multiplier = minion.cardId === CardIds.Ultralisk_BG31_HERO_811t10_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tmultiplier * minion.attack,\r\n\t\t\tmultiplier * minion.health,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"ultralisk.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ultralisk.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,0CAAqG;IAC9G,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAW,EAAE;QAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,yBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Ultralisk: StartOfCombatCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_UltraliskToken_BG31_HERO_811t10, CardIds.Ultralisk_BG31_HERO_811t10_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput): boolean => {\r\n\t\t// We add the stats, so mults are -1\r\n\t\tconst multiplier = minion.cardId === CardIds.Ultralisk_BG31_HERO_811t10_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tmultiplier * minion.attack,\r\n\t\t\tmultiplier * minion.health,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valiant-tiger.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/valiant-tiger.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardEntity } from '../../../board-entity';\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 ValiantTiger: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ValiantTiger_BG32_202, CardIds.ValiantTiger_BG32_202_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ValiantTiger_BG32_202 ? 1 : 2;\r\n\t\tconst beasts = input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\te,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tRace.BEAST,\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\tconst target = beasts[beasts.length - 1];\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"valiant-tiger.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/valiant-tiger.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,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 { 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 ValiantTiger: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ValiantTiger_BG32_202, CardIds.ValiantTiger_BG32_202_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ValiantTiger_BG32_202 ? 1 : 2;\r\n\t\tconst beasts = input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\te,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tRace.BEAST,\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\tconst target = beasts[beasts.length - 1];\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\t5 * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"void-earl.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/void-earl.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,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,OAAO,IAAA,4CAAuB,gBAAsC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const VoidEarl: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.VoidEarl_BG33_157, CardIds.VoidEarl_BG33_157_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.VoidEarl_BG33_157_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.VoidwalkerLegacy_BG_CS2_065, 2 * mult, input);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"void-earl.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/void-earl.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,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,OAAO,IAAA,4CAAuB,gBAAsC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const VoidEarl: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.VoidEarl_BG33_157, CardIds.VoidEarl_BG33_157_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.VoidEarl_BG33_157_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.VoidwalkerLegacy_BG_CS2_065, 2 * mult, input);\r\n\t},\r\n};\r\n"]}
|