@firestone-hs/simulate-bgs-battle 1.1.724 → 1.1.726
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/bgs-player-entity.d.ts +2 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/board-entity.d.ts +1 -0
- package/dist/board-entity.js.map +1 -1
- package/dist/cards/card.interface.d.ts +1 -1
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +114 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/bg-spell/mighty-dragonbreath.d.ts +2 -0
- package/dist/cards/impl/bg-spell/mighty-dragonbreath.js +28 -0
- package/dist/cards/impl/bg-spell/mighty-dragonbreath.js.map +1 -0
- package/dist/cards/impl/bg-spell/misplaced-tea-set.d.ts +2 -0
- package/dist/cards/impl/bg-spell/misplaced-tea-set.js +16 -0
- package/dist/cards/impl/bg-spell/misplaced-tea-set.js.map +1 -0
- package/dist/cards/impl/bg-spell/repair-job.d.ts +2 -0
- package/dist/cards/impl/bg-spell/repair-job.js +19 -0
- package/dist/cards/impl/bg-spell/repair-job.js.map +1 -0
- package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
- package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -1
- package/dist/cards/impl/bg-spell/weapons-forge.d.ts +2 -0
- package/dist/cards/impl/bg-spell/weapons-forge.js +12 -0
- package/dist/cards/impl/bg-spell/weapons-forge.js.map +1 -0
- package/dist/cards/impl/bg-spell/winners-bread.d.ts +2 -0
- package/dist/cards/impl/bg-spell/winners-bread.js +19 -0
- package/dist/cards/impl/bg-spell/winners-bread.js.map +1 -0
- package/dist/cards/impl/enchantments/admiration.d.ts +2 -0
- package/dist/cards/impl/enchantments/admiration.js +17 -0
- package/dist/cards/impl/enchantments/admiration.js.map +1 -0
- package/dist/cards/impl/enchantments/charisma.d.ts +2 -0
- package/dist/cards/impl/enchantments/charisma.js +44 -0
- package/dist/cards/impl/enchantments/charisma.js.map +1 -0
- package/dist/cards/impl/enchantments/consanguinity.d.ts +2 -0
- package/dist/cards/impl/enchantments/consanguinity.js +13 -0
- package/dist/cards/impl/enchantments/consanguinity.js.map +1 -0
- package/dist/cards/impl/enchantments/defensive-sacrifice.d.ts +2 -0
- package/dist/cards/impl/enchantments/defensive-sacrifice.js +17 -0
- package/dist/cards/impl/enchantments/defensive-sacrifice.js.map +1 -0
- package/dist/cards/impl/enchantments/golemancy.d.ts +2 -0
- package/dist/cards/impl/enchantments/golemancy.js +19 -0
- package/dist/cards/impl/enchantments/golemancy.js.map +1 -0
- package/dist/cards/impl/enchantments/hostility.d.ts +2 -0
- package/dist/cards/impl/enchantments/hostility.js +12 -0
- package/dist/cards/impl/enchantments/hostility.js.map +1 -0
- package/dist/cards/impl/enchantments/invulnerability.d.ts +2 -0
- package/dist/cards/impl/enchantments/invulnerability.js +12 -0
- package/dist/cards/impl/enchantments/invulnerability.js.map +1 -0
- package/dist/cards/impl/enchantments/jaws-of-death.d.ts +2 -0
- package/dist/cards/impl/enchantments/jaws-of-death.js +17 -0
- package/dist/cards/impl/enchantments/jaws-of-death.js.map +1 -0
- package/dist/cards/impl/enchantments/mystic-essence.d.ts +2 -0
- package/dist/cards/impl/enchantments/mystic-essence.js +13 -0
- package/dist/cards/impl/enchantments/mystic-essence.js.map +1 -0
- package/dist/cards/impl/enchantments/offensive-sacrifice.d.ts +2 -0
- package/dist/cards/impl/enchantments/offensive-sacrifice.js +18 -0
- package/dist/cards/impl/enchantments/offensive-sacrifice.js.map +1 -0
- package/dist/cards/impl/enchantments/persisting-horror.d.ts +2 -0
- package/dist/cards/impl/enchantments/persisting-horror.js +6 -0
- package/dist/cards/impl/enchantments/persisting-horror.js.map +1 -0
- package/dist/cards/impl/enchantments/resistance.d.ts +2 -0
- package/dist/cards/impl/enchantments/resistance.js +12 -0
- package/dist/cards/impl/enchantments/resistance.js.map +1 -0
- package/dist/cards/impl/enchantments/toreths-blessing.d.ts +2 -0
- package/dist/cards/impl/enchantments/toreths-blessing.js +13 -0
- package/dist/cards/impl/enchantments/toreths-blessing.js.map +1 -0
- package/dist/cards/impl/enchantments/transcendence.d.ts +2 -0
- package/dist/cards/impl/enchantments/transcendence.js +12 -0
- package/dist/cards/impl/enchantments/transcendence.js.map +1 -0
- 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/reborn-rites.js.map +1 -1
- package/dist/cards/impl/hero-power/water-invocation.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/baneling.js.map +1 -1
- package/dist/cards/impl/minion/barrier-banshee.d.ts +2 -0
- package/dist/cards/impl/minion/barrier-banshee.js +15 -0
- package/dist/cards/impl/minion/barrier-banshee.js.map +1 -0
- 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-whelp.js.map +1 -1
- package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
- package/dist/cards/impl/minion/boom-in-a-box.d.ts +2 -0
- package/dist/cards/impl/minion/boom-in-a-box.js +19 -0
- package/dist/cards/impl/minion/boom-in-a-box.js.map +1 -0
- package/dist/cards/impl/minion/bramble-tunneler.d.ts +2 -0
- package/dist/cards/impl/minion/bramble-tunneler.js +14 -0
- package/dist/cards/impl/minion/bramble-tunneler.js.map +1 -0
- 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/bronze-timewalker.d.ts +2 -0
- package/dist/cards/impl/minion/bronze-timewalker.js +22 -0
- package/dist/cards/impl/minion/bronze-timewalker.js.map +1 -0
- 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/cage-gnawer.d.ts +2 -0
- package/dist/cards/impl/minion/cage-gnawer.js +20 -0
- package/dist/cards/impl/minion/cage-gnawer.js.map +1 -0
- 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/coilskar-sapper.js.map +1 -1
- package/dist/cards/impl/minion/coldlight-diver.js.map +1 -1
- package/dist/cards/impl/minion/crimson-vindicator.d.ts +2 -0
- package/dist/cards/impl/minion/crimson-vindicator.js +24 -0
- package/dist/cards/impl/minion/crimson-vindicator.js.map +1 -0
- 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/deathstrider.d.ts +2 -0
- package/dist/cards/impl/minion/deathstrider.js +27 -0
- package/dist/cards/impl/minion/deathstrider.js.map +1 -0
- 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/fishbait.d.ts +2 -0
- package/dist/cards/impl/minion/fishbait.js +21 -0
- package/dist/cards/impl/minion/fishbait.js.map +1 -0
- package/dist/cards/impl/minion/fleeing-fugitive.d.ts +2 -0
- package/dist/cards/impl/minion/fleeing-fugitive.js +15 -0
- package/dist/cards/impl/minion/fleeing-fugitive.js.map +1 -0
- package/dist/cards/impl/minion/flittering-bat.d.ts +2 -0
- package/dist/cards/impl/minion/flittering-bat.js +25 -0
- package/dist/cards/impl/minion/flittering-bat.js.map +1 -0
- 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/gatekeeper-amalgam.d.ts +2 -0
- package/dist/cards/impl/minion/gatekeeper-amalgam.js +22 -0
- package/dist/cards/impl/minion/gatekeeper-amalgam.js.map +1 -0
- 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/glambot.d.ts +2 -0
- package/dist/cards/impl/minion/glambot.js +30 -0
- package/dist/cards/impl/minion/glambot.js.map +1 -0
- 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/headhunter-gryphon.d.ts +2 -0
- package/dist/cards/impl/minion/headhunter-gryphon.js +19 -0
- package/dist/cards/impl/minion/headhunter-gryphon.js.map +1 -0
- package/dist/cards/impl/minion/hoarding-hyena.d.ts +2 -0
- package/dist/cards/impl/minion/hoarding-hyena.js +23 -0
- package/dist/cards/impl/minion/hoarding-hyena.js.map +1 -0
- 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/imp-lusionist.d.ts +2 -0
- package/dist/cards/impl/minion/imp-lusionist.js +14 -0
- package/dist/cards/impl/minion/imp-lusionist.js.map +1 -0
- 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/jailbird-juggernaut.d.ts +2 -0
- package/dist/cards/impl/minion/jailbird-juggernaut.js +52 -0
- package/dist/cards/impl/minion/jailbird-juggernaut.js.map +1 -0
- 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/moat-custodian.d.ts +2 -0
- package/dist/cards/impl/minion/moat-custodian.js +15 -0
- package/dist/cards/impl/minion/moat-custodian.js.map +1 -0
- package/dist/cards/impl/minion/motley-phalanx.d.ts +2 -0
- package/dist/cards/impl/minion/motley-phalanx.js +13 -0
- package/dist/cards/impl/minion/motley-phalanx.js.map +1 -0
- 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/ravaging-scorpid.d.ts +2 -0
- package/dist/cards/impl/minion/ravaging-scorpid.js +26 -0
- package/dist/cards/impl/minion/ravaging-scorpid.js.map +1 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
- package/dist/cards/impl/minion/rescue-bot.d.ts +2 -0
- package/dist/cards/impl/minion/rescue-bot.js +14 -0
- package/dist/cards/impl/minion/rescue-bot.js.map +1 -0
- 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/runic-arcanist.d.ts +2 -0
- package/dist/cards/impl/minion/runic-arcanist.js +24 -0
- package/dist/cards/impl/minion/runic-arcanist.js.map +1 -0
- 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/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/shamanic-tidecaller.d.ts +2 -0
- package/dist/cards/impl/minion/shamanic-tidecaller.js +25 -0
- package/dist/cards/impl/minion/shamanic-tidecaller.js.map +1 -0
- 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/snazzy-phantom.d.ts +2 -0
- package/dist/cards/impl/minion/snazzy-phantom.js +23 -0
- package/dist/cards/impl/minion/snazzy-phantom.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/tasty-lobster.d.ts +2 -0
- package/dist/cards/impl/minion/tasty-lobster.js +21 -0
- package/dist/cards/impl/minion/tasty-lobster.js.map +1 -0
- 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/timewarped-warghoul.js.map +1 -1
- package/dist/cards/impl/minion/torrential-ruiner.d.ts +2 -0
- package/dist/cards/impl/minion/torrential-ruiner.js +20 -0
- package/dist/cards/impl/minion/torrential-ruiner.js.map +1 -0
- 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/twilight-tidehunter.d.ts +2 -0
- package/dist/cards/impl/minion/twilight-tidehunter.js +21 -0
- package/dist/cards/impl/minion/twilight-tidehunter.js.map +1 -0
- 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/vigilant-bristlemane.d.ts +2 -0
- package/dist/cards/impl/minion/vigilant-bristlemane.js +19 -0
- package/dist/cards/impl/minion/vigilant-bristlemane.js.map +1 -0
- 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/wolf-pup.d.ts +2 -0
- package/dist/cards/impl/minion/wolf-pup.js +18 -0
- package/dist/cards/impl/minion/wolf-pup.js.map +1 -0
- 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/spellcraft/floating-candle-set.d.ts +2 -0
- package/dist/cards/impl/spellcraft/floating-candle-set.js +21 -0
- package/dist/cards/impl/spellcraft/floating-candle-set.js.map +1 -0
- package/dist/cards/impl/spellcraft/undersea-mount.js +1 -1
- package/dist/cards/impl/spellcraft/undersea-mount.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/assembler-portrait.d.ts +2 -0
- package/dist/cards/impl/trinket/assembler-portrait.js +17 -0
- package/dist/cards/impl/trinket/assembler-portrait.js.map +1 -0
- 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/bird-feeder.js.map +1 -1
- package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -1
- package/dist/cards/impl/trinket/deathwhisper-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/deathwhisper-sticker.js +12 -0
- package/dist/cards/impl/trinket/deathwhisper-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/dragon-skull.d.ts +2 -0
- package/dist/cards/impl/trinket/dragon-skull.js +15 -0
- package/dist/cards/impl/trinket/dragon-skull.js.map +1 -0
- package/dist/cards/impl/trinket/dragons-eye.d.ts +4 -0
- package/dist/cards/impl/trinket/dragons-eye.js +14 -0
- package/dist/cards/impl/trinket/dragons-eye.js.map +1 -0
- 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 +26 -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/flighty-portrait.d.ts +2 -0
- package/dist/cards/impl/trinket/flighty-portrait.js +21 -0
- package/dist/cards/impl/trinket/flighty-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/funeral-wreath.d.ts +2 -0
- package/dist/cards/impl/trinket/funeral-wreath.js +16 -0
- package/dist/cards/impl/trinket/funeral-wreath.js.map +1 -0
- 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/lightfeather-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/lightfeather-sticker.js +18 -0
- package/dist/cards/impl/trinket/lightfeather-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/lionfish-portrait.d.ts +2 -0
- package/dist/cards/impl/trinket/lionfish-portrait.js +18 -0
- package/dist/cards/impl/trinket/lionfish-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/lovely-locket.d.ts +2 -0
- package/dist/cards/impl/trinket/lovely-locket.js +24 -0
- package/dist/cards/impl/trinket/lovely-locket.js.map +1 -0
- package/dist/cards/impl/trinket/myrmidon-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/myrmidon-sticker.js +21 -0
- package/dist/cards/impl/trinket/myrmidon-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/rivendare-portrait.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/keywords/divine-shield.js +4 -0
- package/dist/keywords/divine-shield.js.map +1 -1
- package/dist/keywords/venomous.js.map +1 -1
- package/dist/services/card-ids.d.ts +694 -27
- package/dist/services/card-ids.js.map +1 -1
- package/dist/simulation/add-minion-to-board.js +11 -5
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/auras.js +48 -46
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/battlecries.d.ts +1 -1
- package/dist/simulation/battlecries.js +18 -3
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +0 -5
- package/dist/simulation/deathrattle-spawns.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 +2 -0
- package/dist/simulation/reborn.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-minion.js +4 -1
- package/dist/simulation/start-of-combat/soc-minion.js.map +1 -1
- package/dist/simulation/utils/golden.js +6 -2
- package/dist/simulation/utils/golden.js.map +1 -1
- package/dist/utils.js +4 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vorkai-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vorkai-guardian.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,uDAA2D;AAI9C,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,0BAAoE;IAC7E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,OAAO,KAAK,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,IAAA,kCAAkB,EACjB,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const VorkaiGuardian: StartOfCombatCard = {\r\n\tcardIds: [CardIds.VorkaiGuardian_BG32_867, CardIds.VorkaiGuardian_BG32_867_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionsWithDivineShield = input.playerBoard.filter((e) => e.divineShield);\r\n\t\tif (minionsWithDivineShield.length > 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst neighbours = getNeighbours(input.playerBoard, minion);\r\n\t\tneighbours.forEach((neighbour) => {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tneighbour,\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\ttrue,\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":"vorkai-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vorkai-guardian.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,uDAA2D;AAI9C,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,0BAAoE;IAC7E,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,OAAO,KAAK,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,IAAA,kCAAkB,EACjB,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const VorkaiGuardian: StartOfCombatCard = {\r\n\tcardIds: [CardIds.VorkaiGuardian_BG32_867, CardIds.VorkaiGuardian_BG32_867_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst minionsWithDivineShield = input.playerBoard.filter((e) => e.divineShield);\r\n\t\tif (minionsWithDivineShield.length > 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst neighbours = getNeighbours(input.playerBoard, minion);\r\n\t\tneighbours.forEach((neighbour) => {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tneighbour,\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\ttrue,\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":"wandering-wight.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wandering-wight.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9G,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const WanderingWight: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.WanderingWight_BG31_126, CardIds.WanderingWight_BG31_126_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.WanderingWight_BG31_126 ? 1 : 2;\r\n\t\tmodifyStats(input.spawned, minion, 0, input.spawned.attack * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"wandering-wight.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wandering-wight.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAA0B;IACpD,OAAO,EAAE,0BAAoE;IAC7E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9G,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const WanderingWight: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.WanderingWight_BG31_126, CardIds.WanderingWight_BG31_126_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.WanderingWight_BG31_126 ? 1 : 2;\r\n\t\tmodifyStats(input.spawned, minion, 0, input.spawned.attack * mult, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whelp-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whelp-smuggler.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGjD,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,aAAa,GAAuB;IAChD,OAAO,EAAE,0BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,cAAc,EAAE,CAAC;QACjB,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB;YACD,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACrF;QACD,cAAc,EAAE,CAAC;IAClB,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\nlet callStackDepth = 0; // Global variable to track call stack depth\r\n\r\nexport const WhelpSmuggler: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WhelpSmuggler_BG21_013, CardIds.WhelpSmuggler_BG21_013_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tcallStackDepth++;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.target,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DRAGON,\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\tinput.attackAmount > 0\r\n\t\t) {\r\n\t\t\tconst buff = minion.cardId === CardIds.WhelpSmuggler_BG21_013_G ? 2 : 1;\r\n\t\t\tmodifyStats(input.target, minion, 0, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\tcallStackDepth--;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"whelp-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whelp-smuggler.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,qDAA6E;AAC7E,0CAAiD;AAGjD,IAAI,cAAc,GAAG,CAAC,CAAC;AAEV,QAAA,aAAa,GAAuB;IAChD,OAAO,EAAE,0BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,cAAc,EAAE,CAAC;QACjB,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB;YACD,KAAK,CAAC,YAAY,GAAG,CAAC,EACrB;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACrF;QACD,cAAc,EAAE,CAAC;IAClB,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\nlet callStackDepth = 0; // Global variable to track call stack depth\r\n\r\nexport const WhelpSmuggler: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.WhelpSmuggler_BG21_013, CardIds.WhelpSmuggler_BG21_013_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tcallStackDepth++;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.target,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DRAGON,\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\tinput.attackAmount > 0\r\n\t\t) {\r\n\t\t\tconst buff = minion.cardId === CardIds.WhelpSmuggler_BG21_013_G ? 2 : 1;\r\n\t\t\tmodifyStats(input.target, minion, 0, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\tcallStackDepth--;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whirring-protector-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whirring-protector-enchantment.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,4BAA4B,GAAc;IACtD,OAAO,EAAE;;;KAGR;IACD,KAAK,EAAE,CAAC,WAAwB,EAAE,KAAoB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,kBAAuE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1G;QACD,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 { modifyStats } from '../../../simulation/stats';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const WhirringProtectorEnchantment: RallyCard = {\r\n\tcardIds: [\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807e,\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge,\r\n\t],\r\n\trally: (enchantment: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = enchantment.cardId === CardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge ? 2 : 1;\r\n\t\tconst targets = input.attackingBoard.filter((e) => e !== input.attacker);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, enchantment, 5 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"whirring-protector-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/whirring-protector-enchantment.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,4BAA4B,GAAc;IACtD,OAAO,EAAE;;;KAGR;IACD,KAAK,EAAE,CAAC,WAAwB,EAAE,KAAoB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,kBAAuE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1G;QACD,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 { modifyStats } from '../../../simulation/stats';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const WhirringProtectorEnchantment: RallyCard = {\r\n\tcardIds: [\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807e,\r\n\t\tCardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge,\r\n\t],\r\n\trally: (enchantment: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = enchantment.cardId === CardIds.WhirringProtector_WhirringProtectorEnchantment_BG33_807_Ge ? 2 : 1;\r\n\t\tconst targets = input.attackingBoard.filter((e) => e !== input.attacker);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, enchantment, 5 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildfire-elemental.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wildfire-elemental.ts"],"names":[],"mappings":";;;AAEA,uDAAqF;AAGxE,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,8BAA8E;IACvF,cAAc,EAAE,CACf,MAAmB,EACnB,KAA0B,EACiC,EAAE;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAChD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,cAAsC,EAAE;gBACxD,MAAM,YAAY,GACjB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvF,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;iBAAM;gBACN,oBAAoB,IAAI,KAAK,CAAC,kBAAkB;qBAC9C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,IAAA,2BAAkB,EACjB,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CACD;qBACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7B;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion, OnMinionKilledInput } from '../../../simulation/attack';\r\nimport { OnMinionKilledCard } from '../../card.interface';\r\n\r\nexport const WildfireElemental: OnMinionKilledCard = {\r\n\tcardIds: [CardIds.WildfireElemental_BGS_126, CardIds.WildfireElemental_TB_BaconUps_166],\r\n\tonMinionKilled: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (input.killer !== minion || !input.killerIsAttacking) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst excessDamage = -input.minionKilled.health;\r\n\t\tlet damageDoneByAttacker = 0;\r\n\t\t// console.log('neighbours', stringifySimple(neighbours, allCards));\r\n\t\tif (input.defenderNeighbours.length > 0) {\r\n\t\t\tif (minion.cardId === CardIds.WildfireElemental_BGS_126) {\r\n\t\t\t\tconst randomTarget =\r\n\t\t\t\t\tinput.defenderNeighbours[Math.floor(Math.random() * input.defenderNeighbours.length)];\r\n\t\t\t\tdamageDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\trandomTarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\texcessDamage,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tdamageDoneByAttacker += input.defenderNeighbours\r\n\t\t\t\t\t.map((neighbour) =>\r\n\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\tneighbour,\r\n\t\t\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\t\t\texcessDamage,\r\n\t\t\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.reduce((a, b) => a + b, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: damageDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"wildfire-elemental.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wildfire-elemental.ts"],"names":[],"mappings":";;;AAEA,uDAAqF;AAGxE,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,8BAA8E;IACvF,cAAc,EAAE,CACf,MAAmB,EACnB,KAA0B,EACiC,EAAE;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAChD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,cAAsC,EAAE;gBACxD,MAAM,YAAY,GACjB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvF,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;iBAAM;gBACN,oBAAoB,IAAI,KAAK,CAAC,kBAAkB;qBAC9C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,IAAA,2BAAkB,EACjB,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CACD;qBACA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7B;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion, OnMinionKilledInput } from '../../../simulation/attack';\r\nimport { OnMinionKilledCard } from '../../card.interface';\r\n\r\nexport const WildfireElemental: OnMinionKilledCard = {\r\n\tcardIds: [CardIds.WildfireElemental_BGS_126, CardIds.WildfireElemental_TB_BaconUps_166],\r\n\tonMinionKilled: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (input.killer !== minion || !input.killerIsAttacking) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst excessDamage = -input.minionKilled.health;\r\n\t\tlet damageDoneByAttacker = 0;\r\n\t\t// console.log('neighbours', stringifySimple(neighbours, allCards));\r\n\t\tif (input.defenderNeighbours.length > 0) {\r\n\t\t\tif (minion.cardId === CardIds.WildfireElemental_BGS_126) {\r\n\t\t\t\tconst randomTarget =\r\n\t\t\t\t\tinput.defenderNeighbours[Math.floor(Math.random() * input.defenderNeighbours.length)];\r\n\t\t\t\tdamageDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\trandomTarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\texcessDamage,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tdamageDoneByAttacker += input.defenderNeighbours\r\n\t\t\t\t\t.map((neighbour) =>\r\n\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\tneighbour,\r\n\t\t\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\t\t\texcessDamage,\r\n\t\t\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.reduce((a, b) => a + b, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: damageDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wisp-in-the-shell.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wisp-in-the-shell.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,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,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,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 WispInTheShell: BattlecryCard = {\r\n\tcardIds: [CardIds.WispInTheShell_BG31_841, CardIds.WispInTheShell_BG31_841_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.WispInTheShell_BG31_841 ? 1 : 2;\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":"wisp-in-the-shell.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wisp-in-the-shell.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,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,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,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 WispInTheShell: BattlecryCard = {\r\n\tcardIds: [CardIds.WispInTheShell_BG31_841, CardIds.WispInTheShell_BG31_841_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.WispInTheShell_BG31_841 ? 1 : 2;\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"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WolfPup = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
const wolfPupAttackBuff = 4;
|
|
6
|
+
const wolfPupHealthBuff = 2;
|
|
7
|
+
exports.WolfPup = {
|
|
8
|
+
cardIds: ["BG36_207", "BG36_207_G"],
|
|
9
|
+
rally: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG36_207_G" ? 2 : 1;
|
|
11
|
+
const targets = input.attackingBoard.filter((e) => e.entityId !== input.attacker.entityId);
|
|
12
|
+
for (const target of targets) {
|
|
13
|
+
(0, stats_1.modifyStats)(target, input.attacker, wolfPupAttackBuff * mult, wolfPupHealthBuff * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
14
|
+
}
|
|
15
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=wolf-pup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wolf-pup.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wolf-pup.ts"],"names":[],"mappings":";;;AASA,qDAAwD;AAIxD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEf,QAAA,OAAO,GAAc;IACjC,OAAO,EAAE,0BAAsD;IAC/D,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EACV,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,IAAI,EACxB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Wolf Pup (Tier 3, 3/5)\r\n * Rally: Give your other minions +4/+2.\r\n *\r\n * Golden Wolf Pup (Tier 3, 6/10)\r\n * Rally: Give your other minions +8/+4.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { RallyCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nconst wolfPupAttackBuff = 4;\r\nconst wolfPupHealthBuff = 2;\r\n\r\nexport const WolfPup: RallyCard = {\r\n\tcardIds: [CardIds.WolfPup_BG36_207, CardIds.WolfPup_BG36_207_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.WolfPup_BG36_207_G ? 2 : 1;\r\n\t\tconst targets = input.attackingBoard.filter((e) => e.entityId !== input.attacker.entityId);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\twolfPupAttackBuff * mult,\r\n\t\t\t\twolfPupHealthBuff * mult,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yorik-smite.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yorik-smite.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,UAAU,GAAkB;IACxC,OAAO,EAAE,0BAA4D;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAChG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const YorikSmite: EndOfTurnCard = {\r\n\tcardIds: [CardIds.YorikSmite_BG33_827, CardIds.YorikSmite_BG33_827_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.YorikSmite_BG33_827_G ? 2 : 1;\r\n\t\tfor (const target of input.board) {\r\n\t\t\tconst buff = isGolden(target.cardId, input.gameState.allCards) ? 6 : 2;\r\n\t\t\tmodifyStats(target, minion, buff * mult, buff * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"yorik-smite.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yorik-smite.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AACxD,0CAA0C;AAG7B,QAAA,UAAU,GAAkB;IACxC,OAAO,EAAE,0BAA4D;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAChG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { isGolden } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const YorikSmite: EndOfTurnCard = {\r\n\tcardIds: [CardIds.YorikSmite_BG33_827, CardIds.YorikSmite_BG33_827_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.YorikSmite_BG33_827_G ? 2 : 1;\r\n\t\tfor (const target of input.board) {\r\n\t\t\tconst buff = isGolden(target.cardId, input.gameState.allCards) ? 6 : 2;\r\n\t\t\tmodifyStats(target, minion, buff * mult, buff * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yrel.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yrel.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,IAAI,GAAc;IAC9B,OAAO,EAAE,0BAAgD;IACzD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAA,qCAA6B,EAC5B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Yrel: RallyCard = {\r\n\tcardIds: [CardIds.Yrel_BG23_350, CardIds.Yrel_BG23_350_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Yrel_BG23_350_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\tinput.attacker,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\t1 * mult,\r\n\t\t\t2 * mult,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"yrel.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yrel.ts"],"names":[],"mappings":";;;AAGA,0CAA+D;AAGlD,QAAA,IAAI,GAAc;IAC9B,OAAO,EAAE,0BAAgD;IACzD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAA,qCAA6B,EAC5B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Yrel: RallyCard = {\r\n\tcardIds: [CardIds.Yrel_BG23_350, CardIds.Yrel_BG23_350_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Yrel_BG23_350_G ? 2 : 1;\r\n\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\tinput.attacker,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\t1 * mult,\r\n\t\t\t2 * mult,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yulon-fortune-granter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yulon-fortune-granter.ts"],"names":[],"mappings":";;;AAEA,mDAAuD;AAEvD,6DAAoE;AACpE,0CAA0C;AAE7B,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5D,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,eAAyC;gBACjD,CAAC,CAAC,MAAM,iBAA2C,CACpD,CAAC;YAEH,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;gBAClD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CACnD,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,yBAAgB,EACf,MAAM,EACN,MAAM,EACN,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 { shuffleArray } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { isGolden } from '../../../utils';\r\n\r\nexport const YulonFortuneGranter = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.YulonFortuneGranter_BG29_811_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst candidateBoard = input.playerBoard\r\n\t\t\t\t.filter((e) => !isGolden(e.cardId, input.gameState.allCards))\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811 &&\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811_G,\r\n\t\t\t\t);\r\n\t\t\t// Because we pick one at random from all the ones that have the lowest tier\r\n\t\t\tconst randomBoard = shuffleArray(candidateBoard);\r\n\t\t\tconst candidates = randomBoard.sort(\r\n\t\t\t\t(a, b) =>\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(a.cardId) -\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(b.cardId),\r\n\t\t\t);\r\n\t\t\tconst target = candidates[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tminion,\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":"yulon-fortune-granter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/yulon-fortune-granter.ts"],"names":[],"mappings":";;;AAEA,mDAAuD;AAEvD,6DAAoE;AACpE,0CAA0C;AAE7B,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5D,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,eAAyC;gBACjD,CAAC,CAAC,MAAM,iBAA2C,CACpD,CAAC;YAEH,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;gBAClD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CACnD,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,yBAAgB,EACf,MAAM,EACN,MAAM,EACN,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 { shuffleArray } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { isGolden } from '../../../utils';\r\n\r\nexport const YulonFortuneGranter = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.YulonFortuneGranter_BG29_811_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst candidateBoard = input.playerBoard\r\n\t\t\t\t.filter((e) => !isGolden(e.cardId, input.gameState.allCards))\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811 &&\r\n\t\t\t\t\t\te.cardId !== CardIds.YulonFortuneGranter_BG29_811_G,\r\n\t\t\t\t);\r\n\t\t\t// Because we pick one at random from all the ones that have the lowest tier\r\n\t\t\tconst randomBoard = shuffleArray(candidateBoard);\r\n\t\t\tconst candidates = randomBoard.sort(\r\n\t\t\t\t(a, b) =>\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(a.cardId) -\r\n\t\t\t\t\tinput.gameState.cardsData.getTavernLevel(b.cardId),\r\n\t\t\t);\r\n\t\t\tconst target = candidates[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tminion,\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":"righteous-charge.js","sourceRoot":"","sources":["../../../../src/cards/impl/quest-reward/righteous-charge.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AAGrE,uDAA4D;AAE/C,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,mBAAyC;IAClD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,OAAO,EACP,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAChC,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC/C,IAAA,uBAAc,EACb,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;gBACzC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;aACjC;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { simulateAttack } from '../../../simulation/attack';\r\n\r\nexport const RighteousCharge: StartOfCombatCard = {\r\n\tcardIds: [CardIds.RighteousCharge_BG33_Reward_003],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst target = input.playerBoard[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\ttrinket,\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\tupdateDivineShield(\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\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\ttarget.attackImmediately = true;\r\n\t\t\t\tconst previousHasAttacked = target.hasAttacked;\r\n\t\t\t\tsimulateAttack(\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\ttarget.hasAttacked = previousHasAttacked;\r\n\t\t\t\ttarget.attackImmediately = false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"righteous-charge.js","sourceRoot":"","sources":["../../../../src/cards/impl/quest-reward/righteous-charge.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AAGrE,uDAA4D;AAE/C,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,mBAAyC;IAClD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,OAAO,EACP,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAChC,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC/C,IAAA,uBAAc,EACb,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;gBACzC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;aACjC;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { simulateAttack } from '../../../simulation/attack';\r\n\r\nexport const RighteousCharge: StartOfCombatCard = {\r\n\tcardIds: [CardIds.RighteousCharge_BG33_Reward_003],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst target = input.playerBoard[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\ttrinket,\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\tupdateDivineShield(\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\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\ttarget.attackImmediately = true;\r\n\t\t\t\tconst previousHasAttacked = target.hasAttacked;\r\n\t\t\t\tsimulateAttack(\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\ttarget.hasAttacked = previousHasAttacked;\r\n\t\t\t\ttarget.attackImmediately = false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FloatingCandleSet = void 0;
|
|
4
|
+
const utils_1 = require("../../../services/utils");
|
|
5
|
+
const deathrattle_orchestration_1 = require("../../../simulation/deathrattle-orchestration");
|
|
6
|
+
const deathrattle_utils_1 = require("../../../simulation/deathrattle-utils");
|
|
7
|
+
exports.FloatingCandleSet = {
|
|
8
|
+
cardIds: ["BG36_MagicItem_208t"],
|
|
9
|
+
castTavernSpell: (_spellCardId, input) => {
|
|
10
|
+
const target = input.target && (0, deathrattle_utils_1.hasValidDeathrattle)(input.target, input.hero, input.gameState)
|
|
11
|
+
? input.target
|
|
12
|
+
: (0, utils_1.pickRandom)((0, deathrattle_utils_1.getValidDeathrattles)(input.board, input.hero, input.gameState));
|
|
13
|
+
if (!target) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
input.gameState.spectator.registerPowerTarget(input.source, target, input.board, input.hero, input.otherHero);
|
|
17
|
+
const indexFromRight = input.board.length - (input.board.indexOf(target) + 1);
|
|
18
|
+
(0, deathrattle_orchestration_1.processDeathrattleForMinion)(target, indexFromRight, [target], target.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent, target.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player, input.gameState, false);
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=floating-candle-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floating-candle-set.js","sourceRoot":"","sources":["../../../../src/cards/impl/spellcraft/floating-candle-set.ts"],"names":[],"mappings":";;;AAQA,mDAAqD;AACrD,6FAA4F;AAC5F,6EAAkG;AAGrF,QAAA,iBAAiB,GAAoB;IACjD,OAAO,EAAE,uBAAsE;IAC/E,eAAe,EAAE,CAAC,YAAoB,EAAE,KAAqB,EAAE,EAAE;QAChE,MAAM,MAAM,GACX,KAAK,CAAC,MAAM,IAAI,IAAA,uCAAmB,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;YAC7E,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAA,wCAAoB,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO;SACP;QAED,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAA,uDAA2B,EAC1B,MAAM,EACN,cAAc,EACd,CAAC,MAAM,CAAC,EACR,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EACvF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EACvF,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Floating Candle Set (Spellcraft token)\r\n * Trigger a friendly minion's Deathrattle.\r\n *\r\n * The trinket itself only generates this token in the tavern; the token can still be cast\r\n * during combat (e.g. Profound Thinker, Lovely Locket, Magicfin Apprentice).\r\n */\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { getValidDeathrattles, hasValidDeathrattle } from '../../../simulation/deathrattle-utils';\r\nimport { CastSpellInput, TavernSpellCard } from '../../card.interface';\r\n\r\nexport const FloatingCandleSet: TavernSpellCard = {\r\n\tcardIds: [CardIds.FloatingCandleSet_FloatingCandleSetToken_BG36_MagicItem_208t],\r\n\tcastTavernSpell: (_spellCardId: string, input: CastSpellInput) => {\r\n\t\tconst target =\r\n\t\t\tinput.target && hasValidDeathrattle(input.target, input.hero, input.gameState)\r\n\t\t\t\t? input.target\r\n\t\t\t\t: pickRandom(getValidDeathrattles(input.board, input.hero, input.gameState));\r\n\t\tif (!target) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tinput.source,\r\n\t\t\ttarget,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.otherHero,\r\n\t\t);\r\n\t\tconst indexFromRight = input.board.length - (input.board.indexOf(target) + 1);\r\n\t\tprocessDeathrattleForMinion(\r\n\t\t\ttarget,\r\n\t\t\tindexFromRight,\r\n\t\t\t[target],\r\n\t\t\ttarget.friendly ? input.gameState.gameState.player : input.gameState.gameState.opponent,\r\n\t\t\ttarget.friendly ? input.gameState.gameState.opponent : input.gameState.gameState.player,\r\n\t\t\tinput.gameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,7 +7,7 @@ const utils_1 = require("../../../services/utils");
|
|
|
7
7
|
const stats_1 = require("../../../simulation/stats");
|
|
8
8
|
const utils_2 = require("../../../utils");
|
|
9
9
|
exports.UnderseaMount = {
|
|
10
|
-
cardIds: ["
|
|
10
|
+
cardIds: ["BG23_007t", "BG23_007_Gt"],
|
|
11
11
|
castTavernSpell: (spellCardId, input) => {
|
|
12
12
|
var _a;
|
|
13
13
|
const mult = spellCardId === "BG23_007_Gt" ? 2 : 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undersea-mount.js","sourceRoot":"","sources":["../../../../src/cards/impl/spellcraft/undersea-mount.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AACpD,yDAA4D;AAE5D,mDAAqD;AACrD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAAoB;IAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"undersea-mount.js","sourceRoot":"","sources":["../../../../src/cards/impl/spellcraft/undersea-mount.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AACpD,yDAA4D;AAE5D,mDAAqD;AACrD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAAoB;IAC7C,OAAO,EAAE,4BAAkG;IAC3G,eAAe,EAAE,CAAC,WAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC/D,MAAM,IAAI,GAAG,WAAW,kBAAqD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAA,kBAAU,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAChG,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACxG,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACxF;YACD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { CastSpellInput, TavernSpellCard } from '../../card.interface';\r\n\r\nexport const UnderseaMount: TavernSpellCard = {\r\n\tcardIds: [CardIds.Waverider_UnderseaMountToken_BG23_007t, CardIds.Waverider_UnderseaMountToken_BG23_007_Gt],\r\n\tcastTavernSpell: (spellCardId: string, input: CastSpellInput) => {\r\n\t\tconst mult = spellCardId === CardIds.Waverider_UnderseaMountToken_BG23_007_Gt ? 2 : 1;\r\n\t\tconst target = input.target ?? pickRandom(input.board);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(target, input.source, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t\tif (hasCorrectTribe(target, input.hero, Race.NAGA, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tupdateWindfury(target, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t}\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tinput.source,\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-purpose-kibble.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/all-purpose-kibble.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAuC;IACnE,OAAO,EAAE,sBAA6C;IACtD,8BAA8B,EAAE,CAAC,OAAqB,EAAE,KAAoB,EAAE,EAAE;QAC/E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QACzC,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1G,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nexport const AllPurposeKibble: OnWheneverAnotherMinionAttacksCard = {\r\n\tcardIds: [CardIds.AllPurposeKibble_BG32_MagicItem_200],\r\n\tonWheneverAnotherMinionAttacks: (trinket: BoardTrinket, input: OnAttackInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\tinput.attackingHero,\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\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = trinket.scriptDataNum1 || 2;\r\n\t\tmodifyStats(input.attacker, trinket, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 2) + 2;\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"all-purpose-kibble.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/all-purpose-kibble.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAuC;IACnE,OAAO,EAAE,sBAA6C;IACtD,8BAA8B,EAAE,CAAC,OAAqB,EAAE,KAAoB,EAAE,EAAE;QAC/E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QACzC,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1G,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nexport const AllPurposeKibble: OnWheneverAnotherMinionAttacksCard = {\r\n\tcardIds: [CardIds.AllPurposeKibble_BG32_MagicItem_200],\r\n\tonWheneverAnotherMinionAttacks: (trinket: BoardTrinket, input: OnAttackInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\tinput.attackingHero,\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\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = trinket.scriptDataNum1 || 2;\r\n\t\tmodifyStats(input.attacker, trinket, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 2) + 2;\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-of-the-empire.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/arm-of-the-empire.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,8BAAwE;IACjF,UAAU,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACjE,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAA,mBAAW,EACV,KAAK,CAAC,eAAe,EACrB,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,EACD,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnMinionAttackedInput } from '../../../simulation/on-being-attacked';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnMinionAttackedCard } from '../../card.interface';\r\n\r\nexport const ArmOfTheEmpire: OnMinionAttackedCard = {\r\n\tcardIds: [CardIds.ArmOfTheEmpire_BGS_110, CardIds.ArmOfTheEmpire_TB_BaconUps_302],\r\n\tonAttacked: (minion: BoardEntity, input: OnMinionAttackedInput) => {\r\n\t\tif (input.defendingEntity.taunt) {\r\n\t\t\tconst mult = minion.cardId === CardIds.ArmOfTheEmpire_TB_BaconUps_302 ? 2 : 1;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tinput.defendingEntity,\r\n\t\t\t\tminion,\r\n\t\t\t\t3 * mult,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.defendingBoard,\r\n\t\t\t\tinput.defendingHero,\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":"arm-of-the-empire.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/arm-of-the-empire.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,8BAAwE;IACjF,UAAU,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACjE,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAA,mBAAW,EACV,KAAK,CAAC,eAAe,EACrB,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,EACD,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnMinionAttackedInput } from '../../../simulation/on-being-attacked';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnMinionAttackedCard } from '../../card.interface';\r\n\r\nexport const ArmOfTheEmpire: OnMinionAttackedCard = {\r\n\tcardIds: [CardIds.ArmOfTheEmpire_BGS_110, CardIds.ArmOfTheEmpire_TB_BaconUps_302],\r\n\tonAttacked: (minion: BoardEntity, input: OnMinionAttackedInput) => {\r\n\t\tif (input.defendingEntity.taunt) {\r\n\t\t\tconst mult = minion.cardId === CardIds.ArmOfTheEmpire_TB_BaconUps_302 ? 2 : 1;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tinput.defendingEntity,\r\n\t\t\t\tminion,\r\n\t\t\t\t3 * mult,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.defendingBoard,\r\n\t\t\t\tinput.defendingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssemblerPortrait = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const magnetize_1 = require("../../../simulation/magnetize");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.AssemblerPortrait = {
|
|
8
|
+
cardIds: ["BG36_MagicItem_841"],
|
|
9
|
+
startOfCombat: (trinket, input) => {
|
|
10
|
+
const targets = input.playerBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.MECH, input.gameState.anomalies, input.gameState.allCards));
|
|
11
|
+
for (const target of targets) {
|
|
12
|
+
(0, magnetize_1.magnetizeToTarget)([target], null, ["BG32_172"], input.playerBoard, input.playerEntity, input.opponentBoard, input.opponentEntity, input.gameState);
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=assembler-portrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assembler-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/assembler-portrait.ts"],"names":[],"mappings":";;;AAIA,iEAAoD;AAGpD,6DAAkE;AAElE,0CAAiD;AAGpC,QAAA,iBAAiB,GAAsB;IACnD,OAAO,EAAE,sBAA8C;IACvD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,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,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACtG,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,6BAAiB,EAChB,CAAC,MAAM,CAAC,EACR,IAAI,EACJ,YAAgC,EAChC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Assembler Portrait (2 gold)\r\n * Start of Combat: Magnetize an Auto Assembler to all your Mechs.\r\n */\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AssemblerPortrait: StartOfCombatCard = {\r\n\tcardIds: [CardIds.AssemblerPortrait_BG36_MagicItem_841],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst targets = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.MECH, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmagnetizeToTarget(\r\n\t\t\t\t[target],\r\n\t\t\t\tnull,\r\n\t\t\t\t[CardIds.AutoAssembler_BG32_172],\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\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":"bassgill-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bassgill-portrait.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,sBAA6C;IACtD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;QACtE,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QACD,IAAA,kCAAkB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const BassgillPortrait: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.BassgillPortrait_BG32_MagicItem_301],\r\n\tafterOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.spawned,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.MURLOC,\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\treturn;\r\n\t\t}\r\n\t\tupdateDivineShield(input.spawned, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"bassgill-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bassgill-portrait.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,sBAA6C;IACtD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;QACtE,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QACD,IAAA,kCAAkB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACpG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const BassgillPortrait: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.BassgillPortrait_BG32_MagicItem_301],\r\n\tafterOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.spawned,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.MURLOC,\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\treturn;\r\n\t\t}\r\n\t\tupdateDivineShield(input.spawned, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"battle-horn.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/battle-horn.ts"],"names":[],"mappings":";;;AACA,iEAAuD;AAEvD,mDAAqD;AAErD,iEAAmE;AACnE,0CAAmD;AAGtC,QAAA,UAAU,GAAe;IACrC,OAAO,EAAE,sBAAuC;IAChD,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,OAAqB,EAAE,KAAkB,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,IAAA,yBAAiB,EAAC,CAAC,EAAE,wBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACjE,CAAC;QACF,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,SAAS,EAAE;YAChB,IAAA,8BAAgB,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { GameTag } from '@firestone-hs/reference-data';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { triggerBattlecry } from '../../../simulation/battlecries';\r\nimport { hasEntityMechanic } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BattleHorn: AvengeCard = {\r\n\tcardIds: [CardIds.BattleHorn_BG32_MagicItem_415],\r\n\tbaseAvengeValue: (cardId: string) => 2,\r\n\tavenge: (trinket: BoardTrinket, input: AvengeInput) => {\r\n\t\tconst battlecries = input.board.filter((e) =>\r\n\t\t\thasEntityMechanic(e, GameTag.BATTLECRY, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst candidate = pickRandom(battlecries);\r\n\t\tif (!!candidate) {\r\n\t\t\ttriggerBattlecry(input.board, input.hero, candidate, input.otherBoard, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(trinket, candidate, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"battle-horn.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/battle-horn.ts"],"names":[],"mappings":";;;AACA,iEAAuD;AAEvD,mDAAqD;AAErD,iEAAmE;AACnE,0CAAmD;AAGtC,QAAA,UAAU,GAAe;IACrC,OAAO,EAAE,sBAAuC;IAChD,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,OAAqB,EAAE,KAAkB,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,IAAA,yBAAiB,EAAC,CAAC,EAAE,wBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACjE,CAAC;QACF,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,SAAS,EAAE;YAChB,IAAA,8BAAgB,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { triggerBattlecry } from '../../../simulation/battlecries';\r\nimport { hasEntityMechanic } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BattleHorn: AvengeCard = {\r\n\tcardIds: [CardIds.BattleHorn_BG32_MagicItem_415],\r\n\tbaseAvengeValue: (cardId: string) => 2,\r\n\tavenge: (trinket: BoardTrinket, input: AvengeInput) => {\r\n\t\tconst battlecries = input.board.filter((e) =>\r\n\t\t\thasEntityMechanic(e, GameTag.BATTLECRY, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst candidate = pickRandom(battlecries);\r\n\t\tif (!!candidate) {\r\n\t\t\ttriggerBattlecry(input.board, input.hero, candidate, input.otherBoard, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(trinket, candidate, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bird-feeder.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bird-feeder.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,UAAU,GAAe;IACrC,OAAO,EAAE,6CAA+F;IACxG,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,uBAAe,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BirdFeeder: AvengeCard = {\r\n\tcardIds: [CardIds.BirdFeeder_BG32_MagicItem_864, CardIds.BirdFeeder_BirdFeederToken_BG32_MagicItem_864t],\r\n\tbaseAvengeValue: (cardId: string) => 2,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BirdFeeder_BG32_MagicItem_864 ? 1 : 4;\r\n\t\taddStatsToBoard(input.hero, input.board, input.hero, buff, buff, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"bird-feeder.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bird-feeder.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,UAAU,GAAe;IACrC,OAAO,EAAE,6CAA+F;IACxG,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,uBAAe,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BirdFeeder: AvengeCard = {\r\n\tcardIds: [CardIds.BirdFeeder_BG32_MagicItem_864, CardIds.BirdFeeder_BirdFeederToken_BG32_MagicItem_864t],\r\n\tbaseAvengeValue: (cardId: string) => 2,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BirdFeeder_BG32_MagicItem_864 ? 1 : 4;\r\n\t\taddStatsToBoard(input.hero, input.board, input.hero, buff, buff, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crocheted-sungill.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/crocheted-sungill.ts"],"names":[],"mappings":";;;AAGA,mDAAqD;AAErD,+EAAuE;AACvE,uDAAiE;AAGpD,QAAA,gBAAgB,GAAgD;IAC5E,OAAO,EAAE,sBAA6C;IACtD,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;;QACjE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAC1D,OAAO;SACP;QACD,MAAM,IAAI,GACT,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,0CACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,EAI1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClC,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;QACrF,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;QACnG,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,CAAA;YAC/C,CAAC,CAAC,IAAA,kBAAU,EAAC,oBAAoB,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;gBACrC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC;QACR,IAAI,CAAC,SAAS,EAAE;YACf,OAAO;SACP;QACD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,IAAA,kCAAa,EAC3B,SAAS,CAAC,MAAM,EAChB,CAAC,EACD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,CAAC,QAAQ,EACnB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,SAAS,EAAiB,CAC/B,CAAC;QACF,IAAA,4BAAmB,EAClB,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,CAAC,EACD,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { OnAfterDeathInput } from '../../../simulation/attack';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { DefaultScriptDataNumCard, OnAfterDeathCard } from '../../card.interface';\r\n\r\nexport const CrochetedSungill: OnAfterDeathCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.CrochetedSungill_BG32_MagicItem_960],\r\n\tdefaultScriptDataNum: (cardId: string) => 1,\r\n\tonAfterDeath: (trinket: BoardTrinket, input: OnAfterDeathInput) => {\r\n\t\tif (input.board.length > 0 || trinket.scriptDataNum1 <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst hand =\r\n\t\t\tinput.hero.hand\r\n\t\t\t\t?.filter((e) => !!e?.cardId)\r\n\t\t\t\t// If Bassgill summons it, it can't be resummoned\r\n\t\t\t\t// https://replays.firestoneapp.com/?reviewId=0422ad36-87f4-44f0-9020-073116b51d2e&turn=13&action=4\r\n\t\t\t\t// and confirmed by the devs\r\n\t\t\t\t.filter((e) => !e.locked) ?? [];\r\n\t\tconst highestHealth = Math.max(...hand.filter((c) => c.health).map((c) => c.health));\r\n\t\tconst highestHealthMinions = highestHealth ? hand.filter((c) => c.health === highestHealth) : null;\r\n\t\tconst candidate = !!highestHealthMinions?.length\r\n\t\t\t? pickRandom(highestHealthMinions)\r\n\t\t\t: hand.filter((c) => c.cardId).length\r\n\t\t\t? pickRandom(hand.filter((c) => c.cardId))\r\n\t\t\t: null;\r\n\t\tif (!candidate) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcandidate.locked = true;\r\n\t\tconst spawns = spawnEntities(\r\n\t\t\tcandidate.cardId,\r\n\t\t\t1,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.otherBoard,\r\n\t\t\tinput.otherHero,\r\n\t\t\tinput.gameState,\r\n\t\t\tinput.hero.friendly,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\ttrue,\r\n\t\t\t{ ...candidate } as BoardEntity,\r\n\t\t);\r\n\t\tperformEntitySpawns(\r\n\t\t\tspawns,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.hero,\r\n\t\t\t0,\r\n\t\t\tinput.otherBoard,\r\n\t\t\tinput.otherHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\ttrinket.scriptDataNum1--;\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"crocheted-sungill.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/crocheted-sungill.ts"],"names":[],"mappings":";;;AAGA,mDAAqD;AAErD,+EAAuE;AACvE,uDAAiE;AAGpD,QAAA,gBAAgB,GAAgD;IAC5E,OAAO,EAAE,sBAA6C;IACtD,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;;QACjE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAC1D,OAAO;SACP;QACD,MAAM,IAAI,GACT,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,0CACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,EAI1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClC,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;QACrF,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;QACnG,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,CAAA;YAC/C,CAAC,CAAC,IAAA,kBAAU,EAAC,oBAAoB,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;gBACrC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC;QACR,IAAI,CAAC,SAAS,EAAE;YACf,OAAO;SACP;QACD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,IAAA,kCAAa,EAC3B,SAAS,CAAC,MAAM,EAChB,CAAC,EACD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,CAAC,QAAQ,EACnB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,SAAS,EAAiB,CAC/B,CAAC;QACF,IAAA,4BAAmB,EAClB,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,CAAC,EACD,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { OnAfterDeathInput } from '../../../simulation/attack';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { DefaultScriptDataNumCard, OnAfterDeathCard } from '../../card.interface';\r\n\r\nexport const CrochetedSungill: OnAfterDeathCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.CrochetedSungill_BG32_MagicItem_960],\r\n\tdefaultScriptDataNum: (cardId: string) => 1,\r\n\tonAfterDeath: (trinket: BoardTrinket, input: OnAfterDeathInput) => {\r\n\t\tif (input.board.length > 0 || trinket.scriptDataNum1 <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst hand =\r\n\t\t\tinput.hero.hand\r\n\t\t\t\t?.filter((e) => !!e?.cardId)\r\n\t\t\t\t// If Bassgill summons it, it can't be resummoned\r\n\t\t\t\t// https://replays.firestoneapp.com/?reviewId=0422ad36-87f4-44f0-9020-073116b51d2e&turn=13&action=4\r\n\t\t\t\t// and confirmed by the devs\r\n\t\t\t\t.filter((e) => !e.locked) ?? [];\r\n\t\tconst highestHealth = Math.max(...hand.filter((c) => c.health).map((c) => c.health));\r\n\t\tconst highestHealthMinions = highestHealth ? hand.filter((c) => c.health === highestHealth) : null;\r\n\t\tconst candidate = !!highestHealthMinions?.length\r\n\t\t\t? pickRandom(highestHealthMinions)\r\n\t\t\t: hand.filter((c) => c.cardId).length\r\n\t\t\t? pickRandom(hand.filter((c) => c.cardId))\r\n\t\t\t: null;\r\n\t\tif (!candidate) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcandidate.locked = true;\r\n\t\tconst spawns = spawnEntities(\r\n\t\t\tcandidate.cardId,\r\n\t\t\t1,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.otherBoard,\r\n\t\t\tinput.otherHero,\r\n\t\t\tinput.gameState,\r\n\t\t\tinput.hero.friendly,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\ttrue,\r\n\t\t\t{ ...candidate } as BoardEntity,\r\n\t\t);\r\n\t\tperformEntitySpawns(\r\n\t\t\tspawns,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.hero,\r\n\t\t\t0,\r\n\t\t\tinput.otherBoard,\r\n\t\t\tinput.otherHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\ttrinket.scriptDataNum1--;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeathwhisperSticker = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
const buff = 2;
|
|
6
|
+
exports.DeathwhisperSticker = {
|
|
7
|
+
cardIds: ["BG36_MagicItem_205"],
|
|
8
|
+
afterReborn: (trinket, input) => {
|
|
9
|
+
(0, utils_1.addStatsToBoard)(input.boardWithKilledMinionHero, input.boardWithKilledMinion, input.boardWithKilledMinionHero, buff, buff, input.gameState);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=deathwhisper-sticker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deathwhisper-sticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/deathwhisper-sticker.ts"],"names":[],"mappings":";;;AAMA,0CAAiD;AAIjD,MAAM,IAAI,GAAG,CAAC,CAAC;AAEF,QAAA,mBAAmB,GAAoB;IACnD,OAAO,EAAE,sBAAgD;IACzD,WAAW,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;QAChE,IAAA,uBAAe,EACd,KAAK,CAAC,yBAAyB,EAC/B,KAAK,CAAC,qBAAqB,EAC3B,KAAK,CAAC,yBAAyB,EAC/B,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Deathwhisper Sticker (2 gold)\r\n * After a friendly minion is Reborn, give your minions +2/+2.\r\n */\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { RebornEffectInput } from '../../../simulation/reborn';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AfterRebornCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nconst buff = 2;\r\n\r\nexport const DeathwhisperSticker: AfterRebornCard = {\r\n\tcardIds: [CardIds.DeathwhisperSticker_BG36_MagicItem_205],\r\n\tafterReborn: (trinket: BoardTrinket, input: RebornEffectInput) => {\r\n\t\taddStatsToBoard(\r\n\t\t\tinput.boardWithKilledMinionHero,\r\n\t\t\tinput.boardWithKilledMinion,\r\n\t\t\tinput.boardWithKilledMinionHero,\r\n\t\t\tbuff,\r\n\t\t\tbuff,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DragonSkull = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
const buff = 3;
|
|
6
|
+
exports.DragonSkull = {
|
|
7
|
+
cardIds: ["BG36_MagicItem_203"],
|
|
8
|
+
onBattlecryTriggered: (trinket, input) => {
|
|
9
|
+
const targets = [input.board[0], input.board[input.board.length - 1]].filter((e) => !!e);
|
|
10
|
+
for (const target of new Set(targets)) {
|
|
11
|
+
(0, stats_1.modifyStats)(target, trinket, buff, buff, input.board, input.hero, input.gameState);
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=dragon-skull.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dragon-skull.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/dragon-skull.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAIxD,MAAM,IAAI,GAAG,CAAC,CAAC;AAEF,QAAA,WAAW,GAA6B;IACpD,OAAO,EAAE,sBAAwC;IACjD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAgC,EAAE,EAAE;QACjF,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,KAAK,MAAM,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE;YACtC,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Dragon Skull (2 gold)\r\n * Whenever you trigger a Battlecry, give your left- and right-most minions +3/+3.\r\n */\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { OnBattlecryTriggeredInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnBattlecryTriggeredCard } from '../../card.interface';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nconst buff = 3;\r\n\r\nexport const DragonSkull: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.DragonSkull_BG36_MagicItem_203],\r\n\tonBattlecryTriggered: (trinket: BoardTrinket, input: OnBattlecryTriggeredInput) => {\r\n\t\tconst targets = [input.board[0], input.board[input.board.length - 1]].filter((e) => !!e);\r\n\t\t// Left- and right-most are the same minion when there is only one on the board\r\n\t\tfor (const target of new Set(targets)) {\r\n\t\t\tmodifyStats(target, trinket, buff, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BgsPlayerEntity } from '../../../bgs-player-entity';
|
|
2
|
+
import { BoardEntity } from '../../../board-entity';
|
|
3
|
+
import { FullGameState } from '../../../simulation/internal-game-state';
|
|
4
|
+
export declare const dragonsEyeExtraBattlecryTriggers: (entity: BoardEntity, hero: BgsPlayerEntity, gameState: FullGameState) => number;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dragonsEyeExtraBattlecryTriggers = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
const dragonsEyeExtraBattlecryTriggers = (entity, hero, gameState) => {
|
|
7
|
+
var _a;
|
|
8
|
+
if (!entity || !(0, utils_1.hasCorrectTribe)(entity, hero, reference_data_1.Race.DRAGON, gameState.anomalies, gameState.allCards)) {
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
return ((_a = hero.trinkets) !== null && _a !== void 0 ? _a : []).filter((t) => t.cardId === "BG36_MagicItem_215").length;
|
|
12
|
+
};
|
|
13
|
+
exports.dragonsEyeExtraBattlecryTriggers = dragonsEyeExtraBattlecryTriggers;
|
|
14
|
+
//# sourceMappingURL=dragons-eye.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dragons-eye.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/dragons-eye.ts"],"names":[],"mappings":";;;AAOA,iEAAoD;AAIpD,0CAAiD;AAG1C,MAAM,gCAAgC,GAAG,CAC/C,MAAmB,EACnB,IAAqB,EACrB,SAAwB,EACf,EAAE;;IACX,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,uBAAe,EAAC,MAAM,EAAE,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QACpG,OAAO,CAAC,CAAC;KACT;IACD,OAAO,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAA0C,CAAC,CAAC,MAAM,CAAC;AACvG,CAAC,CAAC;AATW,QAAA,gCAAgC,oCAS3C","sourcesContent":["/**\r\n * Dragon's Eye (4 gold)\r\n * Your Dragons' Battlecries trigger an extra time.\r\n *\r\n * The battlecry trigger count is computed centrally in `battlecries.ts`, which calls\r\n * `dragonsEyeExtraBattlecryTriggers` to add this trinket's contribution.\r\n */\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { CardIds } from '../../../services/card-ids';\r\n\r\nexport const dragonsEyeExtraBattlecryTriggers = (\r\n\tentity: BoardEntity,\r\n\thero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): number => {\r\n\tif (!entity || !hasCorrectTribe(entity, hero, Race.DRAGON, gameState.anomalies, gameState.allCards)) {\r\n\t\treturn 0;\r\n\t}\r\n\treturn (hero.trinkets ?? []).filter((t) => t.cardId === CardIds.DragonsEye_BG36_MagicItem_215).length;\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eclectic-shrine.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eclectic-shrine.ts"],"names":[],"mappings":";;;AACA,iEAAkE;AAGlE,qDAAwD;AACxD,0CAA6D;AAE7D,2DAA0D;AAE7C,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAA,mCAA2B,EAC5B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC,MAAM,CACT,CAAC;YACF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE;;gBACL,OAAA,CAAC,CAAA,MAAA,IAAA,mCAA2B,EAC3B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA,CAAA;aAAA,CACtB,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,eAAe,EAAE,6BAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/F,MAAM,UAAU,GAAG;gBAClB,GAAG,eAAe;gBAClB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;oBAC/B,OAAA,MAAA,IAAA,mCAA2B,EAC1B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA;iBAAA,CACrB;aACD,CAAC;YACF,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAA,mBAAW,EAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { ALL_BG_RACES, Race } from '@firestone-hs/reference-data';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getEffectiveTribesForEntity } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { selectMinions } from '../hero-power/wax-warband';\r\n\r\nexport const EclecticShrine: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EclecticShrine_BG32_MagicItem_280],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst boardWithTribes = input.playerBoard.filter(\r\n\t\t\t\t(e) =>\r\n\t\t\t\t\t!!getEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t).length,\r\n\t\t\t);\r\n\t\t\tconst boardWithoutAll = boardWithTribes.filter(\r\n\t\t\t\t(e) =>\r\n\t\t\t\t\t!getEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t)?.includes(Race.ALL),\r\n\t\t\t);\r\n\t\t\tconst selectedMinions = selectMinions(boardWithoutAll, ALL_BG_RACES, input.gameState.allCards);\r\n\t\t\tconst allMinions = [\r\n\t\t\t\t...selectedMinions,\r\n\t\t\t\t...boardWithTribes.filter((e) =>\r\n\t\t\t\t\tgetEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t)?.includes(Race.ALL),\r\n\t\t\t\t),\r\n\t\t\t];\r\n\t\t\tconst atk = trinket.scriptDataNum1 ?? 3;\r\n\t\t\tconst health = trinket.scriptDataNum2 ?? 2;\r\n\t\t\tallMinions.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, trinket, atk, health, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t});\r\n\t\t\ttrinket.scriptDataNum1++;\r\n\t\t\ttrinket.scriptDataNum2++;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"eclectic-shrine.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eclectic-shrine.ts"],"names":[],"mappings":";;;AACA,iEAAkE;AAGlE,qDAAwD;AACxD,0CAA6D;AAE7D,2DAA0D;AAE7C,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAA,mCAA2B,EAC5B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC,MAAM,CACT,CAAC;YACF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE;;gBACL,OAAA,CAAC,CAAA,MAAA,IAAA,mCAA2B,EAC3B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA,CAAA;aAAA,CACtB,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,eAAe,EAAE,6BAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/F,MAAM,UAAU,GAAG;gBAClB,GAAG,eAAe;gBAClB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;oBAC/B,OAAA,MAAA,IAAA,mCAA2B,EAC1B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA;iBAAA,CACrB;aACD,CAAC;YACF,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAA,mBAAW,EAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { ALL_BG_RACES, Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getEffectiveTribesForEntity } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { selectMinions } from '../hero-power/wax-warband';\r\n\r\nexport const EclecticShrine: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EclecticShrine_BG32_MagicItem_280],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst boardWithTribes = input.playerBoard.filter(\r\n\t\t\t\t(e) =>\r\n\t\t\t\t\t!!getEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t).length,\r\n\t\t\t);\r\n\t\t\tconst boardWithoutAll = boardWithTribes.filter(\r\n\t\t\t\t(e) =>\r\n\t\t\t\t\t!getEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t)?.includes(Race.ALL),\r\n\t\t\t);\r\n\t\t\tconst selectedMinions = selectMinions(boardWithoutAll, ALL_BG_RACES, input.gameState.allCards);\r\n\t\t\tconst allMinions = [\r\n\t\t\t\t...selectedMinions,\r\n\t\t\t\t...boardWithTribes.filter((e) =>\r\n\t\t\t\t\tgetEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t)?.includes(Race.ALL),\r\n\t\t\t\t),\r\n\t\t\t];\r\n\t\t\tconst atk = trinket.scriptDataNum1 ?? 3;\r\n\t\t\tconst health = trinket.scriptDataNum2 ?? 2;\r\n\t\t\tallMinions.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, trinket, atk, health, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t});\r\n\t\t\ttrinket.scriptDataNum1++;\r\n\t\t\ttrinket.scriptDataNum2++;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { BoardTrinket } from '../../../bgs-player-entity';
|
|
2
2
|
import { CardIds } from '../../../services/card-ids';
|
|
3
3
|
import { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';
|
|
4
|
+
import { OnAfterFriendlyMinionDeathCard } from '../../card.interface';
|
|
4
5
|
export declare const eternalKnightAttack = 4;
|
|
5
6
|
export declare const eternalKnightHealth = 2;
|
|
6
7
|
export declare const eternalKnightCards: CardIds[];
|
|
7
8
|
export declare const EternalPortrait: {
|
|
8
9
|
startOfCombat: (trinket: BoardTrinket, input: SoCInput) => boolean;
|
|
9
10
|
};
|
|
11
|
+
export declare const EternalPortraitBg36: OnAfterFriendlyMinionDeathCard;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EternalPortrait = exports.eternalKnightCards = exports.eternalKnightHealth = exports.eternalKnightAttack = void 0;
|
|
3
|
+
exports.EternalPortraitBg36 = exports.EternalPortrait = exports.eternalKnightCards = exports.eternalKnightHealth = exports.eternalKnightAttack = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
4
5
|
const reborn_1 = require("../../../keywords/reborn");
|
|
5
6
|
const taunt_1 = require("../../../keywords/taunt");
|
|
7
|
+
const stats_1 = require("../../../simulation/stats");
|
|
8
|
+
const utils_1 = require("../../../utils");
|
|
6
9
|
exports.eternalKnightAttack = 4;
|
|
7
10
|
exports.eternalKnightHealth = 2;
|
|
8
11
|
exports.eternalKnightCards = ["BG25_008", "BG25_008_G"];
|
|
@@ -21,4 +24,26 @@ exports.EternalPortrait = {
|
|
|
21
24
|
}
|
|
22
25
|
},
|
|
23
26
|
};
|
|
27
|
+
const portraitAttackBuff = 4;
|
|
28
|
+
const portraitHealthBuff = 2;
|
|
29
|
+
exports.EternalPortraitBg36 = {
|
|
30
|
+
cardIds: ["BG36_MagicItem_216"],
|
|
31
|
+
onAfterFriendlyMinionDeath: (trinket, input) => {
|
|
32
|
+
var _a;
|
|
33
|
+
if (!(0, utils_1.hasCorrectTribe)(input.deadEntity, input.hero, reference_data_1.Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
input.hero.globalInfo.EternalKnightAttackBuff += portraitAttackBuff;
|
|
37
|
+
input.hero.globalInfo.EternalKnightHealthBuff += portraitHealthBuff;
|
|
38
|
+
for (const knight of input.board.filter((e) => exports.eternalKnightCards.includes(e.cardId))) {
|
|
39
|
+
(0, stats_1.modifyStats)(knight, trinket, portraitAttackBuff, portraitHealthBuff, input.board, input.hero, input.gameState);
|
|
40
|
+
}
|
|
41
|
+
for (const knight of ((_a = input.hero.hand) !== null && _a !== void 0 ? _a : []).filter((e) => exports.eternalKnightCards.includes(e.cardId))) {
|
|
42
|
+
knight.attack += portraitAttackBuff;
|
|
43
|
+
knight.maxAttack += portraitAttackBuff;
|
|
44
|
+
knight.health += portraitHealthBuff;
|
|
45
|
+
knight.maxHealth += portraitHealthBuff;
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
};
|
|
24
49
|
//# sourceMappingURL=eternal-portrait.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eternal-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eternal-portrait.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"eternal-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eternal-portrait.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,qDAAwD;AACxD,mDAAsD;AAItD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,kBAAkB,GAAG,0BAAkE,CAAC;AAExF,QAAA,eAAe,GAAG;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,eAAmC,IAAI,CAAC,CAAC,MAAM,iBAAqC,CAAC;aAC3G,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,EAAE;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxG,IAAA,qBAAY,EACX,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,IAAI,EACJ,IAAI,CACJ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC;AASF,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEhB,QAAA,mBAAmB,GAAmC;IAClE,OAAO,EAAE,sBAA4C;IACrD,0BAA0B,EAAE,CAAC,OAAqB,EAAE,KAAsC,EAAE,EAAE;;QAC7F,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,kBAAkB,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,kBAAkB,CAAC;QACpE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,0BAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CAAC,EAAE;YACjG,IAAA,mBAAW,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,0BAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CAAC,EAAE;YAC7G,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC;YACpC,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC;YACvC,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC;YACpC,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC;SACvC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnAfterFriendlyMinionDeathInput } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAfterFriendlyMinionDeathCard } from '../../card.interface';\r\n\r\nexport const eternalKnightAttack = 4;\r\nexport const eternalKnightHealth = 2;\r\nexport const eternalKnightCards = [CardIds.EternalKnight_BG25_008, CardIds.EternalKnight_BG25_008_G];\r\n\r\nexport const EternalPortrait = {\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst candidates = input.playerBoard\r\n\t\t\t.filter((e) => e.cardId === CardIds.EternalKnight_BG25_008 || e.cardId === CardIds.EternalKnight_BG25_008_G)\r\n\t\t\t.filter((e) => !e.taunt || !e.reborn);\r\n\t\tif (candidates?.length) {\r\n\t\t\tcandidates.forEach((knight) => {\r\n\t\t\t\tupdateTaunt(knight, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);\r\n\t\t\t\tupdateReborn(\r\n\t\t\t\t\tknight,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tknight,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n\r\n/**\r\n * Eternal Portrait (BG36, 4 gold)\r\n * Get a Golden Eternal Knight. After a friendly Undead dies, your Eternal Knights have +4/+2 this game.\r\n *\r\n * The buff is flat, so it can't ride on EternalKnightsDeadThisGame, which is doubled for golden knights.\r\n * It gets its own globals instead, which also carry the total over from the previous combats.\r\n */\r\nconst portraitAttackBuff = 4;\r\nconst portraitHealthBuff = 2;\r\n\r\nexport const EternalPortraitBg36: OnAfterFriendlyMinionDeathCard = {\r\n\tcardIds: [CardIds.EternalPortrait_BG36_MagicItem_216],\r\n\tonAfterFriendlyMinionDeath: (trinket: BoardTrinket, input: OnAfterFriendlyMinionDeathInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.deadEntity,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.UNDEAD,\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\treturn;\r\n\t\t}\r\n\r\n\t\tinput.hero.globalInfo.EternalKnightAttackBuff += portraitAttackBuff;\r\n\t\tinput.hero.globalInfo.EternalKnightHealthBuff += portraitHealthBuff;\r\n\t\tfor (const knight of input.board.filter((e) => eternalKnightCards.includes(e.cardId as CardIds))) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tknight,\r\n\t\t\t\ttrinket,\r\n\t\t\t\tportraitAttackBuff,\r\n\t\t\t\tportraitHealthBuff,\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\tfor (const knight of (input.hero.hand ?? []).filter((e) => eternalKnightCards.includes(e.cardId as CardIds))) {\r\n\t\t\tknight.attack += portraitAttackBuff;\r\n\t\t\tknight.maxAttack += portraitAttackBuff;\r\n\t\t\tknight.health += portraitHealthBuff;\r\n\t\t\tknight.maxHealth += portraitHealthBuff;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faerie-dragon-scale.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/faerie-dragon-scale.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,iBAAiB,GAAkE;IAC/F,OAAO,EAAE,sBAA8C;IACvD,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,8BAA8B,EAAE,CAC/B,OAAqB,EACrB,KAAoB,EACuC,EAAE;QAC7D,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE;YAC/B,IACC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY;gBAC5B,IAAA,uBAAe,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;gBACD,IAAA,kCAAkB,EACjB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,CAAC,cAAc,EAAE,CAAC;aACzB;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { Race } from '@firestone-hs/reference-data';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DefaultScriptDataNumCard, OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nexport const FaerieDragonScale: OnWheneverAnotherMinionAttacksCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.FaerieDragonScale_BG32_MagicItem_363],\r\n\tdefaultScriptDataNum: (cardId: string) => 3,\r\n\tonWheneverAnotherMinionAttacks: (\r\n\t\ttrinket: BoardTrinket,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (trinket.scriptDataNum1 > 0) {\r\n\t\t\tif (\r\n\t\t\t\t!input.attacker.divineShield &&\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\ttrinket.scriptDataNum1--;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"faerie-dragon-scale.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/faerie-dragon-scale.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AAEpD,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,iBAAiB,GAAkE;IAC/F,OAAO,EAAE,sBAA8C;IACvD,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,8BAA8B,EAAE,CAC/B,OAAqB,EACrB,KAAoB,EACuC,EAAE;QAC7D,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE;YAC/B,IACC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY;gBAC5B,IAAA,uBAAe,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;gBACD,IAAA,kCAAkB,EACjB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,CAAC,cAAc,EAAE,CAAC;aACzB;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DefaultScriptDataNumCard, OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nexport const FaerieDragonScale: OnWheneverAnotherMinionAttacksCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.FaerieDragonScale_BG32_MagicItem_363],\r\n\tdefaultScriptDataNum: (cardId: string) => 3,\r\n\tonWheneverAnotherMinionAttacks: (\r\n\t\ttrinket: BoardTrinket,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (trinket.scriptDataNum1 > 0) {\r\n\t\t\tif (\r\n\t\t\t\t!input.attacker.divineShield &&\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\ttrinket.scriptDataNum1--;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fishy-sticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/fishy-sticker.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAGpD,QAAA,YAAY,GAAG;IAC3B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,OAAO,GACZ,OAAO,CAAC,MAAM,yBAA4C;gBACzD,CAAC;gBACD,CAAC,kBAAoB,CAAC;YACxB,MAAM,UAAU,GAAG,IAAA,kCAAa,EAC/B,OAAO,EACP,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,CACL,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,4BAAmB,EACjC,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SACpE;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const FishySticker = {\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length < 7) {\r\n\t\t\tconst spawnId =\r\n\t\t\t\ttrinket.cardId === CardIds.FishySticker_BG30_MagicItem_821\r\n\t\t\t\t\t? CardIds.AvatarOfNzoth_FishOfNzothToken\r\n\t\t\t\t\t: CardIds.FishOfNzoth;\r\n\t\t\tconst newMinions = spawnEntities(\r\n\t\t\t\tspawnId,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tinput.playerEntity.friendly,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tconst spawns = performEntitySpawns(\r\n\t\t\t\tnewMinions,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"fishy-sticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/fishy-sticker.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAGpD,QAAA,YAAY,GAAG;IAC3B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,OAAO,GACZ,OAAO,CAAC,MAAM,yBAA4C;gBACzD,CAAC;gBACD,CAAC,kBAAoB,CAAC;YACxB,MAAM,UAAU,GAAG,IAAA,kCAAa,EAC/B,OAAO,EACP,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,CACL,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,4BAAmB,EACjC,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;SACpE;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const FishySticker = {\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length < 7) {\r\n\t\t\tconst spawnId =\r\n\t\t\t\ttrinket.cardId === CardIds.FishySticker_BG30_MagicItem_821\r\n\t\t\t\t\t? CardIds.AvatarOfNzoth_FishOfNzothToken\r\n\t\t\t\t\t: CardIds.FishOfNzoth;\r\n\t\t\tconst newMinions = spawnEntities(\r\n\t\t\t\tspawnId,\r\n\t\t\t\t1,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\tinput.playerEntity.friendly,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tconst spawns = performEntitySpawns(\r\n\t\t\t\tnewMinions,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.opponentBoard,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|