@firestone-hs/simulate-bgs-battle 1.1.697 → 1.1.699
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 -0
- package/dist/bgs-battle-options.js.map +1 -0
- package/dist/bgs-board-info.js.map +1 -0
- package/dist/bgs-player-entity.js.map +1 -0
- package/dist/board-entity.js.map +1 -0
- package/dist/board-secret.js.map +1 -0
- package/dist/cards/card.interface.d.ts +282 -0
- package/dist/cards/card.interface.js.map +1 -0
- package/dist/cards/cards-data.js +307 -0
- package/dist/cards/cards-data.js.map +1 -0
- package/dist/cards/impl/_card-mappings.js +1257 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -0
- package/dist/cards/impl/anomaly/anomalous-twin.js.map +1 -0
- package/dist/cards/impl/anomaly/blessed-or-blighted.js.map +1 -0
- package/dist/cards/impl/bg-spell/azerite-empowerment.js.map +1 -0
- package/dist/cards/impl/bg-spell/back-to-back.js.map +1 -0
- package/dist/cards/impl/bg-spell/blood-gem-barrage.js.map +1 -0
- package/dist/cards/impl/bg-spell/blood-gem-quilboar-divine-shield.js.map +1 -0
- package/dist/cards/impl/bg-spell/blood-gem-quilboar-reborn.js.map +1 -0
- package/dist/cards/impl/bg-spell/blood-gem-quilboar-taunt.js.map +1 -0
- package/dist/cards/impl/bg-spell/boon-of-beetles.js.map +1 -0
- package/dist/cards/impl/bg-spell/brood-of-nozdormu.js.map +1 -0
- package/dist/cards/impl/bg-spell/butchering.js.map +1 -0
- package/dist/cards/impl/bg-spell/chefs-choice.js.map +1 -0
- package/dist/cards/impl/bg-spell/conflagration.d.ts +2 -0
- package/dist/cards/impl/bg-spell/conflagration.js +20 -0
- package/dist/cards/impl/bg-spell/conflagration.js.map +1 -0
- package/dist/cards/impl/bg-spell/deepwater-clan.js.map +1 -0
- package/dist/cards/impl/bg-spell/eyes-of-the-earth-mother.js.map +1 -0
- package/dist/cards/impl/bg-spell/friendly-bounty.js.map +1 -0
- package/dist/cards/impl/bg-spell/hand-of-deios.js.map +1 -0
- package/dist/cards/impl/bg-spell/healthy-bounty.js.map +1 -0
- package/dist/cards/impl/bg-spell/hostile-bounty.js.map +1 -0
- package/dist/cards/impl/bg-spell/jailer-sticker-306.js.map +1 -0
- package/dist/cards/impl/bg-spell/jailer-sticker-733.js.map +1 -0
- package/dist/cards/impl/bg-spell/menagerie-tableware.js.map +1 -0
- package/dist/cards/impl/bg-spell/might-of-stormwind.js.map +1 -0
- package/dist/cards/impl/bg-spell/murkys-fish.js.map +1 -0
- package/dist/cards/impl/bg-spell/natural-blessing.js.map +1 -0
- package/dist/cards/impl/bg-spell/ophidian-staff.js.map +1 -0
- package/dist/cards/impl/bg-spell/queens-command.js.map +1 -0
- package/dist/cards/impl/bg-spell/selfish-bounty.js.map +1 -0
- package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -0
- package/dist/cards/impl/bg-spell/shifting-tide.js.map +1 -0
- package/dist/cards/impl/bg-spell/shiny-ring.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-bananas.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-chefs-choice.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-cloning-device.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-conch.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-corpse.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-evolution.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-goldenizer.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-master-thief.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-on-the-house.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-rat-in-the-cage.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-ritual.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-special.js.map +1 -0
- package/dist/cards/impl/bg-spell/timewarped-thief.js.map +1 -0
- package/dist/cards/impl/bg-spell/tomb-turning.js.map +1 -0
- package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -0
- package/dist/cards/impl/bg-spell/upper-hand.js.map +1 -0
- package/dist/cards/impl/bg-spell/wave-of-gold.js.map +1 -0
- package/dist/cards/impl/hero-power/aim-high.js.map +1 -0
- package/dist/cards/impl/hero-power/aim-left.js.map +1 -0
- package/dist/cards/impl/hero-power/aim-low.js.map +1 -0
- package/dist/cards/impl/hero-power/aim-right.js.map +1 -0
- package/dist/cards/impl/hero-power/all-will-burn.js.map +1 -0
- package/dist/cards/impl/hero-power/earth-invocation.js.map +1 -0
- package/dist/cards/impl/hero-power/embrace-your-rage.js.map +1 -0
- package/dist/cards/impl/hero-power/fire-invocation.js.map +1 -0
- package/dist/cards/impl/hero-power/fragrant-phylactery-enchantment.js.map +1 -0
- package/dist/cards/impl/hero-power/fragrant-phylactery.js.map +1 -0
- package/dist/cards/impl/hero-power/frostwolf-fervor.js.map +1 -0
- package/dist/cards/impl/hero-power/glorious-gloop.js.map +1 -0
- package/dist/cards/impl/hero-power/lightning-invocation.js.map +1 -0
- package/dist/cards/impl/hero-power/lock-and-load.js.map +1 -0
- package/dist/cards/impl/hero-power/rapid-reanimation.js.map +1 -0
- package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -0
- package/dist/cards/impl/hero-power/stormpike.js.map +1 -0
- package/dist/cards/impl/hero-power/swatting-insects.js.map +1 -0
- package/dist/cards/impl/hero-power/tentacular.js.map +1 -0
- package/dist/cards/impl/hero-power/water-invocation.js.map +1 -0
- package/dist/cards/impl/hero-power/wax-warband.js.map +1 -0
- package/dist/cards/impl/minion/abyssal-bruiser.js.map +1 -0
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -0
- package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -0
- package/dist/cards/impl/minion/alleycat.js.map +1 -0
- package/dist/cards/impl/minion/amber-guardian.js.map +1 -0
- package/dist/cards/impl/minion/amplifying-lightspawn.js.map +1 -0
- package/dist/cards/impl/minion/anubarak-nerubian-king.js.map +1 -0
- package/dist/cards/impl/minion/apexis-guardian.js.map +1 -0
- package/dist/cards/impl/minion/apprentice-of-sefin.js.map +1 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -0
- package/dist/cards/impl/minion/archaedas.js.map +1 -0
- package/dist/cards/impl/minion/archimonde.js.map +1 -0
- package/dist/cards/impl/minion/arid-atrocity.js.map +1 -0
- package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -0
- package/dist/cards/impl/minion/assistant-guard.js.map +1 -0
- package/dist/cards/impl/minion/audacious-anchor.js.map +1 -0
- package/dist/cards/impl/minion/auto-accelerator.js.map +1 -0
- package/dist/cards/impl/minion/auto-assembler-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/auto-assembler.js.map +1 -0
- package/dist/cards/impl/minion/avalanche-caller.js.map +1 -0
- package/dist/cards/impl/minion/azsharan-cutlassier.js.map +1 -0
- package/dist/cards/impl/minion/baby-yshaarj.js.map +1 -0
- package/dist/cards/impl/minion/banana-slamma.js.map +1 -0
- package/dist/cards/impl/minion/baneling.js.map +1 -0
- package/dist/cards/impl/minion/bannerboar.js.map +1 -0
- package/dist/cards/impl/minion/bassgill.js.map +1 -0
- package/dist/cards/impl/minion/battlecruiser.js.map +1 -0
- package/dist/cards/impl/minion/beetle.js.map +1 -0
- package/dist/cards/impl/minion/bellowing-tyrant.js.map +1 -0
- package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -0
- package/dist/cards/impl/minion/bile-spitter.js.map +1 -0
- package/dist/cards/impl/minion/bird-buddy.js.map +1 -0
- package/dist/cards/impl/minion/black-chromadrake.js.map +1 -0
- package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -0
- package/dist/cards/impl/minion/bloodsnout-warlord.js.map +1 -0
- package/dist/cards/impl/minion/blue-chromadrake.js.map +1 -0
- package/dist/cards/impl/minion/blue-volumizer.js.map +1 -0
- package/dist/cards/impl/minion/blue-whelp.js.map +1 -0
- package/dist/cards/impl/minion/bluesy-siren.js.map +1 -0
- package/dist/cards/impl/minion/boar-gamer.js.map +1 -0
- package/dist/cards/impl/minion/bongo-bopper.js.map +1 -0
- package/dist/cards/impl/minion/bonker.js.map +1 -0
- package/dist/cards/impl/minion/brazen-buccaneer.js.map +1 -0
- package/dist/cards/impl/minion/briarback-bookie.js.map +1 -0
- package/dist/cards/impl/minion/briarback-drummer.js.map +1 -0
- package/dist/cards/impl/minion/briny-bootlegger.js.map +1 -0
- package/dist/cards/impl/minion/bristlebach.js.map +1 -0
- package/dist/cards/impl/minion/bristleback-bully.js.map +1 -0
- package/dist/cards/impl/minion/bristlemane-scrapsmith.js +18 -0
- package/dist/cards/impl/minion/bristlemane-scrapsmith.js.map +1 -0
- package/dist/cards/impl/minion/bronze-chromadrake.js.map +1 -0
- package/dist/cards/impl/minion/bronze-steward.js.map +1 -0
- package/dist/cards/impl/minion/bubble-gunner.js.map +1 -0
- package/dist/cards/impl/minion/budding-greenthumb.js.map +1 -0
- package/dist/cards/impl/minion/burgeoning-whelp.js +20 -0
- package/dist/cards/impl/minion/burgeoning-whelp.js.map +1 -0
- package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -0
- package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -0
- package/dist/cards/impl/minion/campfire-shadow.js.map +1 -0
- package/dist/cards/impl/minion/canopy-swinger.js.map +1 -0
- package/dist/cards/impl/minion/captain-bonerender.js.map +1 -0
- package/dist/cards/impl/minion/carapace-raiser.js.map +1 -0
- package/dist/cards/impl/minion/carbonic-copy.js.map +1 -0
- package/dist/cards/impl/minion/carrier.js.map +1 -0
- package/dist/cards/impl/minion/cataclysmic-harbinger.js.map +1 -0
- package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -0
- package/dist/cards/impl/minion/charging-czarina.js.map +1 -0
- package/dist/cards/impl/minion/charlga.js.map +1 -0
- package/dist/cards/impl/minion/charmwing.js.map +1 -0
- package/dist/cards/impl/minion/choral-mrrrglr.js.map +1 -0
- package/dist/cards/impl/minion/chromadrake-pool.js +11 -0
- package/dist/cards/impl/minion/chromadrake-pool.js.map +1 -0
- package/dist/cards/impl/minion/clunker-junker.js.map +1 -0
- package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -0
- package/dist/cards/impl/minion/coldlight-diver.js.map +1 -0
- package/dist/cards/impl/minion/colossus.js.map +1 -0
- package/dist/cards/impl/minion/consummate-conqueror.js.map +1 -0
- package/dist/cards/impl/minion/conveyor-construct.js.map +1 -0
- package/dist/cards/impl/minion/corrupted-bristler.js.map +1 -0
- package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -0
- package/dist/cards/impl/minion/costume-enthusiast.js.map +1 -0
- package/dist/cards/impl/minion/cousin-errgl.js.map +1 -0
- package/dist/cards/impl/minion/cruise-controller.js.map +1 -0
- package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -0
- package/dist/cards/impl/minion/dastardly-drust.js.map +1 -0
- package/dist/cards/impl/minion/deadstomper.js.map +1 -0
- package/dist/cards/impl/minion/deathly-striker.js.map +1 -0
- package/dist/cards/impl/minion/deepwater-chieftain.js.map +1 -0
- package/dist/cards/impl/minion/defiant-shipwright.js.map +1 -0
- package/dist/cards/impl/minion/deflecto-bot.js.map +1 -0
- package/dist/cards/impl/minion/determined-defender.js.map +1 -0
- package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -0
- package/dist/cards/impl/minion/diremuck-forager.js.map +1 -0
- package/dist/cards/impl/minion/disguised-graverobber.js.map +1 -0
- package/dist/cards/impl/minion/divine-sparkbot.js.map +1 -0
- package/dist/cards/impl/minion/draconic-warden.js +28 -0
- package/dist/cards/impl/minion/draconic-warden.js.map +1 -0
- package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -0
- package/dist/cards/impl/minion/dramaloc.js.map +1 -0
- package/dist/cards/impl/minion/dreaming-thornweaver.js.map +1 -0
- package/dist/cards/impl/minion/drustfallen-butcher.js.map +1 -0
- package/dist/cards/impl/minion/dustbone-devastator.js.map +1 -0
- package/dist/cards/impl/minion/earthsong-shaman.js.map +1 -0
- package/dist/cards/impl/minion/echoing-roar.js.map +1 -0
- package/dist/cards/impl/minion/efficient-engineer.js.map +1 -0
- package/dist/cards/impl/minion/elder-taggawag.js.map +1 -0
- package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -0
- package/dist/cards/impl/minion/elite-navigator.js.map +1 -0
- package/dist/cards/impl/minion/enchanted-sentinel.js.map +1 -0
- package/dist/cards/impl/minion/eternal-tycoon.js.map +1 -0
- package/dist/cards/impl/minion/exceptionnal-caretaker.js.map +1 -0
- package/dist/cards/impl/minion/expert-aviator.js.map +1 -0
- package/dist/cards/impl/minion/expert-technician.js.map +1 -0
- package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -0
- package/dist/cards/impl/minion/falling-sky-golem.js.map +1 -0
- package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -0
- package/dist/cards/impl/minion/felfire-conjurer.js.map +1 -0
- package/dist/cards/impl/minion/felhorn.js.map +1 -0
- package/dist/cards/impl/minion/festergut.js.map +1 -0
- package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -0
- package/dist/cards/impl/minion/firelands-fugitive.js.map +1 -0
- package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -0
- package/dist/cards/impl/minion/fireworks-fanatic.js.map +1 -0
- package/dist/cards/impl/minion/flighty-scout.js.map +1 -0
- package/dist/cards/impl/minion/floating-watcher.js.map +1 -0
- package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -0
- package/dist/cards/impl/minion/forest-rover.js.map +1 -0
- package/dist/cards/impl/minion/forsaken-weaver.js.map +1 -0
- package/dist/cards/impl/minion/fountain-chiller.js.map +1 -0
- package/dist/cards/impl/minion/friendly-bouncer.js.map +1 -0
- package/dist/cards/impl/minion/friendly-geist.js.map +1 -0
- package/dist/cards/impl/minion/frostwolf-lieutenant.js.map +1 -0
- package/dist/cards/impl/minion/futurefin.js.map +1 -0
- package/dist/cards/impl/minion/geared-guard.js.map +1 -0
- package/dist/cards/impl/minion/gem-rat.js.map +1 -0
- package/dist/cards/impl/minion/gem-smuggler.js.map +1 -0
- package/dist/cards/impl/minion/gemsplitter.js.map +1 -0
- package/dist/cards/impl/minion/general-drakkisath.js.map +1 -0
- package/dist/cards/impl/minion/gentle-djinni.js.map +1 -0
- package/dist/cards/impl/minion/gentle-stag.js.map +1 -0
- package/dist/cards/impl/minion/ghoul-of-the-feast.js.map +1 -0
- package/dist/cards/impl/minion/gilded-gargoyle.js.map +1 -0
- package/dist/cards/impl/minion/gleaming-trader.js.map +1 -0
- package/dist/cards/impl/minion/glowgullet-warlord.js.map +1 -0
- package/dist/cards/impl/minion/glowing-cinder.js.map +1 -0
- package/dist/cards/impl/minion/goldgrubber.js.map +1 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -0
- package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -0
- package/dist/cards/impl/minion/grease-bot.js.map +1 -0
- package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -0
- package/dist/cards/impl/minion/green-chromadrake.js.map +1 -0
- package/dist/cards/impl/minion/green-volumizer.js.map +1 -0
- package/dist/cards/impl/minion/greenskeeper.js.map +1 -0
- package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -0
- package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -0
- package/dist/cards/impl/minion/hackerfin.js.map +1 -0
- package/dist/cards/impl/minion/handless-forsaken.js.map +1 -0
- package/dist/cards/impl/minion/hardy-orca.js.map +1 -0
- package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -0
- package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -0
- package/dist/cards/impl/minion/heroic-underdog.js.map +1 -0
- package/dist/cards/impl/minion/highkeeper-ra.js.map +1 -0
- package/dist/cards/impl/minion/hoarding-hatespawn.js.map +1 -0
- package/dist/cards/impl/minion/hog-watcher.js.map +1 -0
- package/dist/cards/impl/minion/holo-rover.js.map +1 -0
- package/dist/cards/impl/minion/hot-springer.js.map +1 -0
- package/dist/cards/impl/minion/humming-bird.js.map +1 -0
- package/dist/cards/impl/minion/humongozz.js.map +1 -0
- package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -0
- package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -0
- package/dist/cards/impl/minion/hunting-tiger-shark.js.map +1 -0
- package/dist/cards/impl/minion/hydralisk.js.map +1 -0
- package/dist/cards/impl/minion/icesnarl-the-mighty.js.map +1 -0
- package/dist/cards/impl/minion/ignition-specialist.js.map +1 -0
- package/dist/cards/impl/minion/immortal.js.map +1 -0
- package/dist/cards/impl/minion/implant-subject.js.map +1 -0
- package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -0
- package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -0
- package/dist/cards/impl/minion/incubation-researcher.js +20 -0
- package/dist/cards/impl/minion/incubation-researcher.js.map +1 -0
- package/dist/cards/impl/minion/indomitable-mount.js.map +1 -0
- package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -0
- package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -0
- package/dist/cards/impl/minion/irate-rooster.js.map +1 -0
- package/dist/cards/impl/minion/jelly-belly.js.map +1 -0
- package/dist/cards/impl/minion/junk-jouster.js.map +1 -0
- package/dist/cards/impl/minion/kalecgos-arcane-aspect.js.map +1 -0
- package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -0
- package/dist/cards/impl/minion/karmic-chameleon.js.map +1 -0
- package/dist/cards/impl/minion/king-bagurgle.js.map +1 -0
- package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -0
- package/dist/cards/impl/minion/leyline-surfacer.js.map +1 -0
- package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -0
- package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -0
- package/dist/cards/impl/minion/living-azerite.js.map +1 -0
- package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -0
- package/dist/cards/impl/minion/lord-of-the-ruins.js.map +1 -0
- package/dist/cards/impl/minion/lost-city-looter.js.map +1 -0
- package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -0
- package/dist/cards/impl/minion/low-flier.js.map +1 -0
- package/dist/cards/impl/minion/lurker.js.map +1 -0
- package/dist/cards/impl/minion/lurking-leviathan.js.map +1 -0
- package/dist/cards/impl/minion/magicfin-apprentice.js.map +1 -0
- package/dist/cards/impl/minion/malorne.js.map +1 -0
- package/dist/cards/impl/minion/mama-mrrglton.js.map +1 -0
- package/dist/cards/impl/minion/manasaber.js.map +1 -0
- package/dist/cards/impl/minion/mantid-queen.js.map +1 -0
- package/dist/cards/impl/minion/marquee-ticker.js.map +1 -0
- package/dist/cards/impl/minion/master-gadrin.js.map +1 -0
- package/dist/cards/impl/minion/maw-caster.js.map +1 -0
- package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -0
- package/dist/cards/impl/minion/mechagnome-interpreter.js.map +1 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -0
- package/dist/cards/impl/minion/mechorse.js.map +1 -0
- package/dist/cards/impl/minion/menagerie-jug.js.map +1 -0
- package/dist/cards/impl/minion/metal-dispenser.js.map +1 -0
- package/dist/cards/impl/minion/metallic-hunter.js.map +1 -0
- package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -0
- package/dist/cards/impl/minion/monstrosity.js.map +1 -0
- package/dist/cards/impl/minion/monstrous-macaw.js.map +1 -0
- package/dist/cards/impl/minion/moon-bacon-jazzer.js.map +1 -0
- package/dist/cards/impl/minion/moonsteel-juggernaut.js.map +1 -0
- package/dist/cards/impl/minion/mothership.js.map +1 -0
- package/dist/cards/impl/minion/mummifier.js.map +1 -0
- package/dist/cards/impl/minion/murcules.js.map +1 -0
- package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -0
- package/dist/cards/impl/minion/murky-spash-fisher.js.map +1 -0
- package/dist/cards/impl/minion/murky.js.map +1 -0
- package/dist/cards/impl/minion/mutalisk.js.map +1 -0
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -0
- package/dist/cards/impl/minion/mythrax.js.map +1 -0
- package/dist/cards/impl/minion/nalaa-the-redeemer.js.map +1 -0
- package/dist/cards/impl/minion/neon-agent.js.map +1 -0
- package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -0
- package/dist/cards/impl/minion/nest-swarmer.js.map +1 -0
- package/dist/cards/impl/minion/nether-drake.js.map +1 -0
- package/dist/cards/impl/minion/nightbane-ignited.js.map +1 -0
- package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -0
- package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -0
- package/dist/cards/impl/minion/niuzao.js.map +1 -0
- package/dist/cards/impl/minion/noisul-of-the-many-faces.js.map +1 -0
- package/dist/cards/impl/minion/obisidian-ravager.js.map +1 -0
- package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -0
- package/dist/cards/impl/minion/operatic-belcher.js.map +1 -0
- package/dist/cards/impl/minion/oranomonos-the-wilted.js.map +1 -0
- package/dist/cards/impl/minion/outback-smolderer.js.map +1 -0
- package/dist/cards/impl/minion/paint-smudger.js.map +1 -0
- package/dist/cards/impl/minion/papa-mrrglton.js.map +1 -0
- package/dist/cards/impl/minion/parched-wanderer.js.map +1 -0
- package/dist/cards/impl/minion/pashmar-the-vengeful.js.map +1 -0
- package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -0
- package/dist/cards/impl/minion/photobomber.js.map +1 -0
- package/dist/cards/impl/minion/pilot-the-shredder.js.map +1 -0
- package/dist/cards/impl/minion/piloted-whirl-o-tron.js.map +1 -0
- package/dist/cards/impl/minion/plaguerunner.js.map +1 -0
- package/dist/cards/impl/minion/plankwalker.js.map +1 -0
- package/dist/cards/impl/minion/polarizing-beatboxer.js.map +1 -0
- package/dist/cards/impl/minion/poultron.js.map +1 -0
- package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -0
- package/dist/cards/impl/minion/primeval-monstrosity.js.map +1 -0
- package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -0
- package/dist/cards/impl/minion/prodigious-tusker.js.map +1 -0
- package/dist/cards/impl/minion/profound-thinker.js.map +1 -0
- package/dist/cards/impl/minion/psychus.js.map +1 -0
- package/dist/cards/impl/minion/pufferquil.js.map +1 -0
- package/dist/cards/impl/minion/radio-star.js.map +1 -0
- package/dist/cards/impl/minion/rampager.js.map +1 -0
- package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -0
- package/dist/cards/impl/minion/raptor-elder.js.map +1 -0
- package/dist/cards/impl/minion/razorfen-flapper.js.map +1 -0
- package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -0
- package/dist/cards/impl/minion/razorfen-vineweaver.js.map +1 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -0
- package/dist/cards/impl/minion/red-chromadrake.js.map +1 -0
- package/dist/cards/impl/minion/red-volumizer.js.map +1 -0
- package/dist/cards/impl/minion/red-whelp.js.map +1 -0
- package/dist/cards/impl/minion/redtusk-thornraiser.js.map +1 -0
- package/dist/cards/impl/minion/relentless-deflector.js.map +1 -0
- package/dist/cards/impl/minion/rickety-repairbot.js.map +1 -0
- package/dist/cards/impl/minion/ride-or-die.js.map +1 -0
- package/dist/cards/impl/minion/ring-bearer.js.map +1 -0
- package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -0
- package/dist/cards/impl/minion/roach.js.map +1 -0
- package/dist/cards/impl/minion/roadboar.js.map +1 -0
- package/dist/cards/impl/minion/roaring-rallier.js.map +1 -0
- package/dist/cards/impl/minion/rodeo-performer.js.map +1 -0
- package/dist/cards/impl/minion/roving-sailor.js.map +1 -0
- package/dist/cards/impl/minion/ruins-renovator.js.map +1 -0
- package/dist/cards/impl/minion/runed-progenitor.js.map +1 -0
- package/dist/cards/impl/minion/ruthless-queensguard.js.map +1 -0
- package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -0
- package/dist/cards/impl/minion/salty-hog.js.map +1 -0
- package/dist/cards/impl/minion/sanctum-rester.js.map +1 -0
- package/dist/cards/impl/minion/sand-swirler.js.map +1 -0
- package/dist/cards/impl/minion/sandy.js.map +1 -0
- package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -0
- package/dist/cards/impl/minion/sanlayn-scribe.js.map +1 -0
- package/dist/cards/impl/minion/scallywag.js.map +1 -0
- package/dist/cards/impl/minion/scarlet-skull.js.map +1 -0
- package/dist/cards/impl/minion/scarlet-survivor.js.map +1 -0
- package/dist/cards/impl/minion/scourfin.js.map +1 -0
- package/dist/cards/impl/minion/scourge-harvester.js.map +1 -0
- package/dist/cards/impl/minion/scrap-scraper.js.map +1 -0
- package/dist/cards/impl/minion/seafloor-recruiter.js.map +1 -0
- package/dist/cards/impl/minion/selfless-hero.js.map +1 -0
- package/dist/cards/impl/minion/sewer-lord.js.map +1 -0
- package/dist/cards/impl/minion/sewer-rat.js.map +1 -0
- package/dist/cards/impl/minion/shadowdancer.js.map +1 -0
- package/dist/cards/impl/minion/shadowy-construct.js.map +1 -0
- package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -0
- package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -0
- package/dist/cards/impl/minion/shell-collector.js.map +1 -0
- package/dist/cards/impl/minion/ship-jumper.js.map +1 -0
- package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -0
- package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -0
- package/dist/cards/impl/minion/shore-marauder.js.map +1 -0
- package/dist/cards/impl/minion/showy-cyclist.js.map +1 -0
- package/dist/cards/impl/minion/silent-enforcer.js +24 -0
- package/dist/cards/impl/minion/silent-enforcer.js.map +1 -0
- package/dist/cards/impl/minion/silithid-burrower.js.map +1 -0
- package/dist/cards/impl/minion/silky-shimmermoth.js.map +1 -0
- package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -0
- package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -0
- package/dist/cards/impl/minion/sinrunner-blanchy.d.ts +3 -0
- package/dist/cards/impl/minion/sinrunner-blanchy.js +14 -0
- package/dist/cards/impl/minion/sinrunner-blanchy.js.map +1 -0
- package/dist/cards/impl/minion/skeletal-strafer.js.map +1 -0
- package/dist/cards/impl/minion/skulking-bristlemane.js.map +1 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer.js.map +1 -0
- package/dist/cards/impl/minion/sleepy-supporter.js.map +1 -0
- package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -0
- package/dist/cards/impl/minion/sly-raptor.js.map +1 -0
- package/dist/cards/impl/minion/smolderwing.js.map +1 -0
- package/dist/cards/impl/minion/snack-vendor.js.map +1 -0
- package/dist/cards/impl/minion/soul-rewinder.js.map +1 -0
- package/dist/cards/impl/minion/soulsplitter.js.map +1 -0
- package/dist/cards/impl/minion/spacefarer.js.map +1 -0
- package/dist/cards/impl/minion/spellbound-soul.js.map +1 -0
- package/dist/cards/impl/minion/spirit-drake.js.map +1 -0
- package/dist/cards/impl/minion/spirit-of-air.js.map +1 -0
- package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -0
- package/dist/cards/impl/minion/springy-spriggan.js.map +1 -0
- package/dist/cards/impl/minion/stalwart-kodo.js.map +1 -0
- package/dist/cards/impl/minion/stellar-freebooter.js +22 -0
- package/dist/cards/impl/minion/stellar-freebooter.js.map +1 -0
- package/dist/cards/impl/minion/stitched-salvager.js.map +1 -0
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/stomping-stegodon.js.map +1 -0
- package/dist/cards/impl/minion/stoneshell-guardian.js.map +1 -0
- package/dist/cards/impl/minion/stormpike-lieutenant.js.map +1 -0
- package/dist/cards/impl/minion/stray-satyr.js.map +1 -0
- package/dist/cards/impl/minion/stuntdrake.js +24 -0
- package/dist/cards/impl/minion/stuntdrake.js.map +1 -0
- package/dist/cards/impl/minion/sun-screener.js.map +1 -0
- package/dist/cards/impl/minion/sundered-matriarch.js.map +1 -0
- package/dist/cards/impl/minion/sunken-advocate.js.map +1 -0
- package/dist/cards/impl/minion/super-constructor.js.map +1 -0
- package/dist/cards/impl/minion/surf-n-surf-crab-riding.js.map +1 -0
- package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -0
- package/dist/cards/impl/minion/swampstriker.js.map +1 -0
- package/dist/cards/impl/minion/tamuzo.js.map +1 -0
- package/dist/cards/impl/minion/the-glad-iator.js.map +1 -0
- package/dist/cards/impl/minion/the-last-one-standing.js.map +1 -0
- package/dist/cards/impl/minion/the-uninvited-guest.js.map +1 -0
- package/dist/cards/impl/minion/thorncaller.js.map +1 -0
- package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -0
- package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -0
- package/dist/cards/impl/minion/thundering-abomination.js.map +1 -0
- package/dist/cards/impl/minion/tichondrius.js.map +1 -0
- package/dist/cards/impl/minion/tide-raiser.js.map +1 -0
- package/dist/cards/impl/minion/tidemistress-athissa.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-alleycat.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-archimonde.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-arm.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-bassgill.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-bloodbinder.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-bonker.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-botani.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-bristler.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-calligrapher.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-caretaker.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-centurion.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-chameleon.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-chimera.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-clefthoof.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-collector.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-copter.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-deadstomper.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-deathswarmer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-dragonling.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-duskmaw.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-electron.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-elegist.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-embalmer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-expeditioner.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-festergut.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-geist.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-gemsplitter.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-geomancer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-ghoul-acabra.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-goldrinn.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-grease-bot.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-greenskeeper.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-guard.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-hag.d.ts +2 -0
- package/dist/cards/impl/minion/timewarped-hag.js +32 -0
- package/dist/cards/impl/minion/timewarped-hag.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-hawkstrider.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-hooktail.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-hunter.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-hyena.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-icky-imp.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-immortal.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-interpreter.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-jazzer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-jelly-belly.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-jungle-king.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-karathress.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-kilrek.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-lab-rat.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-lil-quilboar.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-low-flier.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-magnanimoose.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-mothership.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-mrrrglr.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-murcules.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-murk-eye.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-murky.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-mythraw.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-nalaa.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-nellies-ship.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-nest-swarmer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-painter.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-paleofin.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-pashmar.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-peggy.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-pillager.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-piper.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-primscale.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-probius.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-promo-drake.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-radio-star.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-ragnaros.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-recycler.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-red-whelp.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-rewinder.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-riplash.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-sapper.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-saurolisk.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-scourfin.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-sea-glass.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-sellemental.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-sensei.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-shadowdancer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-spirit-of-air.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-sporebat.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-steamer.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-stone-drake.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-stoneshell.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-stormcloud.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-substrate.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-swirler.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-sylvar.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-tamuzo.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-tender.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-thorncaller.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-tide-razor.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-tony.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-traveler.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-trickster.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-twirler.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-ultralisk.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-vaelastrasz.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-wargear.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-warghoul.js.map +1 -0
- package/dist/cards/impl/minion/timewarped-whelp-smuggler.js.map +1 -0
- package/dist/cards/impl/minion/tomb-pillager.js.map +1 -0
- package/dist/cards/impl/minion/transmuted-bramblewitch.js.map +1 -0
- package/dist/cards/impl/minion/trench-fighter.js.map +1 -0
- package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -0
- package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -0
- package/dist/cards/impl/minion/tusked-camper.js.map +1 -0
- package/dist/cards/impl/minion/twilight-broodmother.js.map +1 -0
- package/dist/cards/impl/minion/twilight-hatchling.js.map +1 -0
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -0
- package/dist/cards/impl/minion/twilight-watcher.js.map +1 -0
- package/dist/cards/impl/minion/ultralisk.js.map +1 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -0
- package/dist/cards/impl/minion/unforgiving-treant.js.map +1 -0
- package/dist/cards/impl/minion/utility-drone.js.map +1 -0
- package/dist/cards/impl/minion/vaelastrasz.js.map +1 -0
- package/dist/cards/impl/minion/valiant-tiger.js.map +1 -0
- package/dist/cards/impl/minion/vengeful-protector.js.map +1 -0
- package/dist/cards/impl/minion/very-hungry-winterfinner.js.map +1 -0
- package/dist/cards/impl/minion/vinespeaker.js.map +1 -0
- package/dist/cards/impl/minion/void-earl.js.map +1 -0
- package/dist/cards/impl/minion/void-pup-trainer.js.map +1 -0
- package/dist/cards/impl/minion/void-ray.js.map +1 -0
- package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -0
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -0
- package/dist/cards/impl/minion/weebomination.js.map +1 -0
- package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -0
- package/dist/cards/impl/minion/whelp-watcher.js.map +1 -0
- package/dist/cards/impl/minion/whirling-lass-o-matic.js.map +1 -0
- package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/whirring-protector.js.map +1 -0
- package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -0
- package/dist/cards/impl/minion/witchwing-nestmatron.js.map +1 -0
- package/dist/cards/impl/minion/woodland-defiler.js.map +1 -0
- package/dist/cards/impl/minion/wrathscale-rogue.js.map +1 -0
- package/dist/cards/impl/minion/wyvern-outrider.js.map +1 -0
- package/dist/cards/impl/minion/yorik-smite.js.map +1 -0
- package/dist/cards/impl/minion/young-murk-eye.js.map +1 -0
- package/dist/cards/impl/minion/yrel.js.map +1 -0
- package/dist/cards/impl/minion/yulon-fortune-granter.js.map +1 -0
- package/dist/cards/impl/minion/zergling.js.map +1 -0
- package/dist/cards/impl/minion/zippers.js.map +1 -0
- package/dist/cards/impl/quest-reward/evil-twin.js.map +1 -0
- package/dist/cards/impl/quest-reward/righteous-charge.js.map +1 -0
- package/dist/cards/impl/quest-reward/staff-of-origination.js.map +1 -0
- package/dist/cards/impl/quest-reward/stolen-gold.js.map +1 -0
- package/dist/cards/impl/spell/fleeting-vigor.js.map +1 -0
- package/dist/cards/impl/spellcraft/anglers-lure.js.map +1 -0
- package/dist/cards/impl/spellcraft/azsharas-hatchery.js.map +1 -0
- package/dist/cards/impl/spellcraft/crab-mount.js.map +1 -0
- package/dist/cards/impl/spellcraft/deep-blues.js.map +1 -0
- package/dist/cards/impl/spellcraft/escape-eruption.js.map +1 -0
- package/dist/cards/impl/spellcraft/evolving-strategy.js.map +1 -0
- package/dist/cards/impl/spellcraft/glowing-crown.js.map +1 -0
- package/dist/cards/impl/spellcraft/gold-gun.js.map +1 -0
- package/dist/cards/impl/spellcraft/harvested-pearl.js.map +1 -0
- package/dist/cards/impl/spellcraft/just-keep-swimming.js.map +1 -0
- package/dist/cards/impl/spellcraft/meditation.js.map +1 -0
- package/dist/cards/impl/spellcraft/mini-trident.js.map +1 -0
- package/dist/cards/impl/spellcraft/reinvigoration.js.map +1 -0
- package/dist/cards/impl/spellcraft/rime-or-reason.js.map +1 -0
- package/dist/cards/impl/spellcraft/rushing-winds.js.map +1 -0
- package/dist/cards/impl/spellcraft/sick-riffs.js.map +1 -0
- package/dist/cards/impl/spellcraft/sunken-spells.js.map +1 -0
- package/dist/cards/impl/spellcraft/surging-scales.js.map +1 -0
- package/dist/cards/impl/spellcraft/thaumaturgy.js.map +1 -0
- package/dist/cards/impl/spellcraft/the-golden-hammer.js.map +1 -0
- package/dist/cards/impl/spellcraft/timewarped-crown.js.map +1 -0
- package/dist/cards/impl/spellcraft/timewarped-eelectrify.js.map +1 -0
- package/dist/cards/impl/spellcraft/timewarped-shoal.js.map +1 -0
- package/dist/cards/impl/spellcraft/undersea-mount.js.map +1 -0
- package/dist/cards/impl/spellcraft/veterans-tactics.js.map +1 -0
- package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -0
- package/dist/cards/impl/trinket/archaic-scroll.js.map +1 -0
- package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -0
- package/dist/cards/impl/trinket/artisanal-urn.js.map +1 -0
- package/dist/cards/impl/trinket/automaton-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/baleful-incense.js.map +1 -0
- package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/battle-horn.js.map +1 -0
- package/dist/cards/impl/trinket/beetle-band.js.map +1 -0
- package/dist/cards/impl/trinket/bewitched-ribbon.js.map +1 -0
- package/dist/cards/impl/trinket/bird-feeder.js.map +1 -0
- package/dist/cards/impl/trinket/blood-amulet.js.map +1 -0
- package/dist/cards/impl/trinket/bloodbound-earrings.js +27 -0
- package/dist/cards/impl/trinket/bloodbound-earrings.js.map +1 -0
- package/dist/cards/impl/trinket/bluegill-flippers.js +23 -0
- package/dist/cards/impl/trinket/bluegill-flippers.js.map +1 -0
- package/dist/cards/impl/trinket/bronze-timepiece.js.map +1 -0
- package/dist/cards/impl/trinket/bubble-crown.js.map +1 -0
- package/dist/cards/impl/trinket/cloud-serpent-horn.js.map +1 -0
- package/dist/cards/impl/trinket/comfy-coffin.js.map +1 -0
- package/dist/cards/impl/trinket/copper-coil.js.map +1 -0
- package/dist/cards/impl/trinket/coral-spear.js.map +1 -0
- package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -0
- package/dist/cards/impl/trinket/daggerspine-thrasher.js.map +1 -0
- package/dist/cards/impl/trinket/divine-signet.js.map +1 -0
- package/dist/cards/impl/trinket/dramaloc-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -0
- package/dist/cards/impl/trinket/emerald-dreamcatcher.js.map +1 -0
- package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -0
- package/dist/cards/impl/trinket/fang-anklet.js.map +1 -0
- package/dist/cards/impl/trinket/felburned-ledger.js.map +1 -0
- package/dist/cards/impl/trinket/fishy-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/fridge-magnet.js.map +1 -0
- package/dist/cards/impl/trinket/ghostly-ymirjar.js.map +1 -0
- package/dist/cards/impl/trinket/gilnean-thorned-rose.js.map +1 -0
- package/dist/cards/impl/trinket/glowscale-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/heart-of-the-forest.js +9 -0
- package/dist/cards/impl/trinket/heart-of-the-forest.js.map +1 -0
- package/dist/cards/impl/trinket/herald-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/hoggy-bank.js.map +1 -0
- package/dist/cards/impl/trinket/hogwash-basin.js.map +1 -0
- package/dist/cards/impl/trinket/holly-mallet.js.map +1 -0
- package/dist/cards/impl/trinket/ironforge-anvil.js.map +1 -0
- package/dist/cards/impl/trinket/jar-o-gems.js.map +1 -0
- package/dist/cards/impl/trinket/jarred-frostling.js.map +1 -0
- package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -0
- package/dist/cards/impl/trinket/lorewalker-scroll.js.map +1 -0
- package/dist/cards/impl/trinket/lucky-tabby.d.ts +2 -0
- package/dist/cards/impl/trinket/lucky-tabby.js +20 -0
- package/dist/cards/impl/trinket/lucky-tabby.js.map +1 -0
- package/dist/cards/impl/trinket/miniature-ship.js.map +1 -0
- package/dist/cards/impl/trinket/powder-keg-enchantment.js.map +1 -0
- package/dist/cards/impl/trinket/powder-keg.js.map +1 -0
- package/dist/cards/impl/trinket/protective-ring.js.map +1 -0
- package/dist/cards/impl/trinket/quilligraphy-set.js.map +1 -0
- package/dist/cards/impl/trinket/reinforced-shield.js.map +1 -0
- package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/rusty-trident.js.map +1 -0
- package/dist/cards/impl/trinket/saltscale-honcho.js.map +1 -0
- package/dist/cards/impl/trinket/scrapsmith-portrait.d.ts +2 -0
- package/dist/cards/impl/trinket/scrapsmith-portrait.js +21 -0
- package/dist/cards/impl/trinket/scrapsmith-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/sepulchral-sergent.js.map +1 -0
- package/dist/cards/impl/trinket/ship-in-a-bottle.js.map +1 -0
- package/dist/cards/impl/trinket/slamma-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/stegodon-portrait.js +20 -0
- package/dist/cards/impl/trinket/stegodon-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/stormcoil-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/stormcoil-sticker.js +21 -0
- package/dist/cards/impl/trinket/stormcoil-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/summoning-sphere.js.map +1 -0
- package/dist/cards/impl/trinket/thornspike-pauldron.js.map +1 -0
- package/dist/cards/impl/trinket/tide-raiser-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/tiger-carving-token.js.map +1 -0
- package/dist/cards/impl/trinket/tinyfin-onesie.js.map +1 -0
- package/dist/cards/impl/trinket/training-certificate.js.map +1 -0
- package/dist/cards/impl/trinket/trusty-crowbar.js.map +1 -0
- package/dist/cards/impl/trinket/unholy-sanctum.js +14 -0
- package/dist/cards/impl/trinket/unholy-sanctum.js.map +1 -0
- package/dist/cards/impl/trinket/valorous-medaillion.js.map +1 -0
- package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -0
- package/dist/cards/impl/trinket/wicked-tome.js.map +1 -0
- package/dist/cards/impl/trinket/wildfeather-duster.js.map +1 -0
- package/dist/cards/impl/trinket/wintergrasp-ghoul.js.map +1 -0
- package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -0
- package/dist/debug-state.js.map +1 -0
- package/dist/input-clone.js.map +1 -0
- package/dist/input-sanitation.js.map +1 -0
- package/dist/keywords/divine-shield.js.map +1 -0
- package/dist/keywords/reborn.js.map +1 -0
- package/dist/keywords/stealth.js.map +1 -0
- package/dist/keywords/taunt.js.map +1 -0
- package/dist/keywords/venomous.js.map +1 -0
- package/dist/keywords/windfury.js.map +1 -0
- package/dist/mechanics/cast-tavern-spell.js.map +1 -0
- package/dist/mechanics/player-global-effects.js.map +1 -0
- package/dist/mechanics/rally.js.map +1 -0
- package/dist/mechanics/tavern-spell-repeat.js.map +1 -0
- package/dist/services/card-ids.js.map +1 -0
- package/dist/services/hand-minion-priority.js.map +1 -0
- package/dist/services/utils.js.map +1 -0
- package/dist/simulate-bgs-battle.js.map +1 -0
- package/dist/simulation/add-minion-to-board.js.map +1 -0
- package/dist/simulation/after-attack.js.map +1 -0
- package/dist/simulation/attack.d.ts +53 -0
- package/dist/simulation/attack.js.map +1 -0
- package/dist/simulation/auras.js.map +1 -0
- package/dist/simulation/avenge.js.map +1 -0
- package/dist/simulation/battlecries.js.map +1 -0
- package/dist/simulation/blood-gems.js.map +1 -0
- package/dist/simulation/cards-in-hand.js.map +1 -0
- package/dist/simulation/damage-effects.js.map +1 -0
- package/dist/simulation/damage-to-hero.js.map +1 -0
- package/dist/simulation/death-effects.js +91 -0
- package/dist/simulation/death-effects.js.map +1 -0
- package/dist/simulation/deathrattle-effects.js +328 -0
- package/dist/simulation/deathrattle-effects.js.map +1 -0
- package/dist/simulation/deathrattle-on-trigger.js.map +1 -0
- package/dist/simulation/deathrattle-orchestration.js.map +1 -0
- package/dist/simulation/deathrattle-spawns.js.map +1 -0
- package/dist/simulation/deathrattle-utils.js.map +1 -0
- package/dist/simulation/discover.js.map +1 -0
- package/dist/simulation/enchantments.js.map +1 -0
- package/dist/simulation/frenzy.js.map +1 -0
- package/dist/simulation/global-info-helpers.d.ts +8 -0
- package/dist/simulation/global-info-helpers.js +37 -0
- package/dist/simulation/global-info-helpers.js.map +1 -0
- package/dist/simulation/internal-game-state.js.map +1 -0
- package/dist/simulation/magnetize.js.map +1 -0
- package/dist/simulation/minion-death.js.map +1 -0
- package/dist/simulation/minion-kill.js.map +1 -0
- package/dist/simulation/on-attack.js.map +1 -0
- package/dist/simulation/on-being-attacked.js.map +1 -0
- package/dist/simulation/quest.js.map +1 -0
- package/dist/simulation/reborn.js.map +1 -0
- package/dist/simulation/remembered-deathrattle.js.map +1 -0
- package/dist/simulation/remove-minion-from-board.js.map +1 -0
- package/dist/simulation/secrets.js.map +1 -0
- package/dist/simulation/shared-state.js.map +1 -0
- package/dist/simulation/simulator.js.map +1 -0
- package/dist/simulation/spawn-fail.js.map +1 -0
- package/dist/simulation/spawns.js.map +1 -0
- package/dist/simulation/spectator/game-action.js.map +1 -0
- package/dist/simulation/spectator/game-sample.js.map +1 -0
- package/dist/simulation/spectator/spectator.js.map +1 -0
- package/dist/simulation/start-of-combat/phases.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-action-processor.js +251 -0
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-anomalies.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-hero-power.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-illidan-hero-power.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-minion.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-pre-combat-hero-power.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-quest-reward.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-secret.js.map +1 -0
- package/dist/simulation/start-of-combat/soc-trinket.js.map +1 -0
- package/dist/simulation/start-of-combat/start-of-combat-input.js.map +1 -0
- package/dist/simulation/start-of-combat/start-of-combat.js.map +1 -0
- package/dist/simulation/stats.js +198 -0
- package/dist/simulation/stats.js.map +1 -0
- package/dist/simulation/summon-when-space.js.map +1 -0
- package/dist/simulation/utils/entity-utils.js.map +1 -0
- package/dist/simulation/utils/golden.js.map +1 -0
- package/dist/simulation-result.js.map +1 -0
- package/dist/single-simulation-result.js.map +1 -0
- package/dist/temp-card-ids.js.map +1 -0
- package/dist/utils.js.map +1 -0
- package/package.json +2 -2
- package/dist/src/bgs-battle-info.js.map +0 -1
- package/dist/src/bgs-battle-options.js.map +0 -1
- package/dist/src/bgs-board-info.js.map +0 -1
- package/dist/src/bgs-player-entity.js.map +0 -1
- package/dist/src/board-entity.js.map +0 -1
- package/dist/src/board-secret.js.map +0 -1
- package/dist/src/cards/card.interface.d.ts +0 -282
- package/dist/src/cards/card.interface.js.map +0 -1
- package/dist/src/cards/cards-data.js +0 -306
- package/dist/src/cards/cards-data.js.map +0 -1
- package/dist/src/cards/impl/_card-mappings.js +0 -1281
- package/dist/src/cards/impl/_card-mappings.js.map +0 -1
- package/dist/src/cards/impl/anomaly/anomalous-twin.js.map +0 -1
- package/dist/src/cards/impl/anomaly/blessed-or-blighted.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.d.ts +0 -2
- package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.js +0 -7
- package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/azerite-empowerment.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/back-to-back.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/blood-gem-barrage.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-divine-shield.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-reborn.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-taunt.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/boon-of-beetles.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/brood-of-nozdormu.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/butchering.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/chefs-choice.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/conflagration-bg352.d.ts +0 -2
- package/dist/src/cards/impl/bg-spell/conflagration-bg352.js +0 -20
- package/dist/src/cards/impl/bg-spell/conflagration-bg352.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/deepwater-clan.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/eyes-of-the-earth-mother.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/friendly-bounty.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/hand-of-deios.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/healthy-bounty.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/hostile-bounty.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/jailer-sticker-306.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/jailer-sticker-733.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/menagerie-tableware.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/might-of-stormwind.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/murkys-fish.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/natural-blessing.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/ophidian-staff.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/queens-command.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/selfish-bounty.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/sharing-is-caring.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/shifting-tide.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/shiny-ring.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-bananas.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-chefs-choice.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-cloning-device.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-conch.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-corpse.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-evolution.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-goldenizer.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-master-thief.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-on-the-house.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-rat-in-the-cage.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-ritual.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-special.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/timewarped-thief.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/tomb-turning.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/toxic-tumbleweed.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/upper-hand.js.map +0 -1
- package/dist/src/cards/impl/bg-spell/wave-of-gold.js.map +0 -1
- package/dist/src/cards/impl/hero-power/aim-high.js.map +0 -1
- package/dist/src/cards/impl/hero-power/aim-left.js.map +0 -1
- package/dist/src/cards/impl/hero-power/aim-low.js.map +0 -1
- package/dist/src/cards/impl/hero-power/aim-right.js.map +0 -1
- package/dist/src/cards/impl/hero-power/all-will-burn.js.map +0 -1
- package/dist/src/cards/impl/hero-power/earth-invocation.js.map +0 -1
- package/dist/src/cards/impl/hero-power/embrace-your-rage.js.map +0 -1
- package/dist/src/cards/impl/hero-power/fire-invocation.js.map +0 -1
- package/dist/src/cards/impl/hero-power/fragrant-phylactery-enchantment.js.map +0 -1
- package/dist/src/cards/impl/hero-power/fragrant-phylactery.js.map +0 -1
- package/dist/src/cards/impl/hero-power/frostwolf-fervor.js.map +0 -1
- package/dist/src/cards/impl/hero-power/glorious-gloop.js.map +0 -1
- package/dist/src/cards/impl/hero-power/lightning-invocation.js.map +0 -1
- package/dist/src/cards/impl/hero-power/lock-and-load.js.map +0 -1
- package/dist/src/cards/impl/hero-power/rapid-reanimation.js.map +0 -1
- package/dist/src/cards/impl/hero-power/reborn-rites.js.map +0 -1
- package/dist/src/cards/impl/hero-power/stormpike.js.map +0 -1
- package/dist/src/cards/impl/hero-power/swatting-insects.js.map +0 -1
- package/dist/src/cards/impl/hero-power/tentacular.js.map +0 -1
- package/dist/src/cards/impl/hero-power/water-invocation.js.map +0 -1
- package/dist/src/cards/impl/hero-power/wax-warband.js.map +0 -1
- package/dist/src/cards/impl/minion/abyssal-bruiser.js.map +0 -1
- package/dist/src/cards/impl/minion/admiral-eliza-goreblade.js.map +0 -1
- package/dist/src/cards/impl/minion/alert-alarmist.d.ts +0 -2
- package/dist/src/cards/impl/minion/alert-alarmist.js +0 -7
- package/dist/src/cards/impl/minion/alert-alarmist.js.map +0 -1
- package/dist/src/cards/impl/minion/all-seeing-elder.js.map +0 -1
- package/dist/src/cards/impl/minion/alleycat.js.map +0 -1
- package/dist/src/cards/impl/minion/amber-guardian.js.map +0 -1
- package/dist/src/cards/impl/minion/amplifying-lightspawn.js.map +0 -1
- package/dist/src/cards/impl/minion/ancestral-automaton.d.ts +0 -2
- package/dist/src/cards/impl/minion/ancestral-automaton.js +0 -7
- package/dist/src/cards/impl/minion/ancestral-automaton.js.map +0 -1
- package/dist/src/cards/impl/minion/anubarak-nerubian-king.js.map +0 -1
- package/dist/src/cards/impl/minion/apexis-guardian.js.map +0 -1
- package/dist/src/cards/impl/minion/apprentice-of-sefin.js.map +0 -1
- package/dist/src/cards/impl/minion/arcane-cannoneer.js.map +0 -1
- package/dist/src/cards/impl/minion/archaedas.js.map +0 -1
- package/dist/src/cards/impl/minion/archimonde.js.map +0 -1
- package/dist/src/cards/impl/minion/arid-atrocity.js.map +0 -1
- package/dist/src/cards/impl/minion/ashen-corruptor.js.map +0 -1
- package/dist/src/cards/impl/minion/assistant-guard.js.map +0 -1
- package/dist/src/cards/impl/minion/audacious-anchor.js.map +0 -1
- package/dist/src/cards/impl/minion/auto-accelerator.js.map +0 -1
- package/dist/src/cards/impl/minion/auto-assembler-enchantment.js.map +0 -1
- package/dist/src/cards/impl/minion/auto-assembler.js.map +0 -1
- package/dist/src/cards/impl/minion/avalanche-caller.js.map +0 -1
- package/dist/src/cards/impl/minion/azsharan-cutlassier.js.map +0 -1
- package/dist/src/cards/impl/minion/baby-yshaarj.js.map +0 -1
- package/dist/src/cards/impl/minion/balinda-stonehearth.d.ts +0 -2
- package/dist/src/cards/impl/minion/balinda-stonehearth.js +0 -7
- package/dist/src/cards/impl/minion/balinda-stonehearth.js.map +0 -1
- package/dist/src/cards/impl/minion/banana-slamma.js.map +0 -1
- package/dist/src/cards/impl/minion/baneling.js.map +0 -1
- package/dist/src/cards/impl/minion/bannerboar.js.map +0 -1
- package/dist/src/cards/impl/minion/bassgill.js.map +0 -1
- package/dist/src/cards/impl/minion/battlecruiser.js.map +0 -1
- package/dist/src/cards/impl/minion/beetle.js.map +0 -1
- package/dist/src/cards/impl/minion/bellowing-tyrant.js.map +0 -1
- package/dist/src/cards/impl/minion/bg352-chromadrake-pool.js +0 -11
- package/dist/src/cards/impl/minion/bg352-chromadrake-pool.js.map +0 -1
- package/dist/src/cards/impl/minion/bigwig-bandit.js.map +0 -1
- package/dist/src/cards/impl/minion/bile-spitter.js.map +0 -1
- package/dist/src/cards/impl/minion/bird-buddy.js.map +0 -1
- package/dist/src/cards/impl/minion/black-chromadrake.js.map +0 -1
- package/dist/src/cards/impl/minion/blazing-skyfin.js.map +0 -1
- package/dist/src/cards/impl/minion/bloodsnout-warlord.js.map +0 -1
- package/dist/src/cards/impl/minion/blue-chromadrake.js.map +0 -1
- package/dist/src/cards/impl/minion/blue-volumizer.js.map +0 -1
- package/dist/src/cards/impl/minion/blue-whelp.js.map +0 -1
- package/dist/src/cards/impl/minion/bluesy-siren.js.map +0 -1
- package/dist/src/cards/impl/minion/boar-gamer.js.map +0 -1
- package/dist/src/cards/impl/minion/bongo-bopper.js.map +0 -1
- package/dist/src/cards/impl/minion/bonker.js.map +0 -1
- package/dist/src/cards/impl/minion/brazen-buccaneer.js.map +0 -1
- package/dist/src/cards/impl/minion/briarback-bookie.js.map +0 -1
- package/dist/src/cards/impl/minion/briarback-drummer.js.map +0 -1
- package/dist/src/cards/impl/minion/briny-bootlegger.js.map +0 -1
- package/dist/src/cards/impl/minion/bristlebach.js.map +0 -1
- package/dist/src/cards/impl/minion/bristleback-bully.js.map +0 -1
- package/dist/src/cards/impl/minion/bristlemane-scrapsmith.js +0 -17
- package/dist/src/cards/impl/minion/bristlemane-scrapsmith.js.map +0 -1
- package/dist/src/cards/impl/minion/bronze-chromadrake.js.map +0 -1
- package/dist/src/cards/impl/minion/bronze-steward.js.map +0 -1
- package/dist/src/cards/impl/minion/bubble-gunner.js.map +0 -1
- package/dist/src/cards/impl/minion/budding-greenthumb.js.map +0 -1
- package/dist/src/cards/impl/minion/burgeoning-whelp.js +0 -29
- package/dist/src/cards/impl/minion/burgeoning-whelp.js.map +0 -1
- package/dist/src/cards/impl/minion/buzzing-vermin.js.map +0 -1
- package/dist/src/cards/impl/minion/cadaver-caretaker.js.map +0 -1
- package/dist/src/cards/impl/minion/campfire-shadow.js.map +0 -1
- package/dist/src/cards/impl/minion/canopy-swinger.js.map +0 -1
- package/dist/src/cards/impl/minion/captain-bonerender.js.map +0 -1
- package/dist/src/cards/impl/minion/carapace-raiser.js.map +0 -1
- package/dist/src/cards/impl/minion/carbonic-copy.js.map +0 -1
- package/dist/src/cards/impl/minion/carrier.js.map +0 -1
- package/dist/src/cards/impl/minion/cataclysmic-harbinger.js.map +0 -1
- package/dist/src/cards/impl/minion/champion-of-the-primus.js.map +0 -1
- package/dist/src/cards/impl/minion/charging-czarina.js.map +0 -1
- package/dist/src/cards/impl/minion/charlga.js.map +0 -1
- package/dist/src/cards/impl/minion/charmwing.js.map +0 -1
- package/dist/src/cards/impl/minion/choral-mrrrglr.js.map +0 -1
- package/dist/src/cards/impl/minion/clunker-junker.js.map +0 -1
- package/dist/src/cards/impl/minion/coilskar-sapper.js.map +0 -1
- package/dist/src/cards/impl/minion/coldlight-diver.js.map +0 -1
- package/dist/src/cards/impl/minion/colossus.js.map +0 -1
- package/dist/src/cards/impl/minion/consummate-conqueror.js.map +0 -1
- package/dist/src/cards/impl/minion/conveyor-construct.js.map +0 -1
- package/dist/src/cards/impl/minion/corrupted-bristler.js.map +0 -1
- package/dist/src/cards/impl/minion/corrupted-myrmidon.js.map +0 -1
- package/dist/src/cards/impl/minion/costume-enthusiast.js.map +0 -1
- package/dist/src/cards/impl/minion/cousin-errgl.js.map +0 -1
- package/dist/src/cards/impl/minion/cruise-controller.js.map +0 -1
- package/dist/src/cards/impl/minion/crystal-infuser-enchantment.js.map +0 -1
- package/dist/src/cards/impl/minion/cupcake-peddler.js.map +0 -1
- package/dist/src/cards/impl/minion/dastardly-drust.js.map +0 -1
- package/dist/src/cards/impl/minion/deadstomper.js.map +0 -1
- package/dist/src/cards/impl/minion/deathly-striker.js.map +0 -1
- package/dist/src/cards/impl/minion/deepwater-chieftain.js.map +0 -1
- package/dist/src/cards/impl/minion/defiant-shipwright.js.map +0 -1
- package/dist/src/cards/impl/minion/deflecto-bot.js.map +0 -1
- package/dist/src/cards/impl/minion/demon-fodder.d.ts +0 -2
- package/dist/src/cards/impl/minion/demon-fodder.js +0 -7
- package/dist/src/cards/impl/minion/demon-fodder.js.map +0 -1
- package/dist/src/cards/impl/minion/determined-defender.js.map +0 -1
- package/dist/src/cards/impl/minion/devout-hellcaller.js.map +0 -1
- package/dist/src/cards/impl/minion/diremuck-forager.js.map +0 -1
- package/dist/src/cards/impl/minion/disguised-graverobber.js.map +0 -1
- package/dist/src/cards/impl/minion/divine-sparkbot.js.map +0 -1
- package/dist/src/cards/impl/minion/draconic-warden.js +0 -28
- package/dist/src/cards/impl/minion/draconic-warden.js.map +0 -1
- package/dist/src/cards/impl/minion/drakkari-embalmer.js.map +0 -1
- package/dist/src/cards/impl/minion/dramaloc.js.map +0 -1
- package/dist/src/cards/impl/minion/dreaming-thornweaver.js.map +0 -1
- package/dist/src/cards/impl/minion/drustfallen-butcher.js.map +0 -1
- package/dist/src/cards/impl/minion/dustbone-devastator.js.map +0 -1
- package/dist/src/cards/impl/minion/earthsong-shaman.js.map +0 -1
- package/dist/src/cards/impl/minion/echoing-roar.js.map +0 -1
- package/dist/src/cards/impl/minion/efficient-engineer.js.map +0 -1
- package/dist/src/cards/impl/minion/egg-of-the-endtimes.d.ts +0 -2
- package/dist/src/cards/impl/minion/egg-of-the-endtimes.js +0 -7
- package/dist/src/cards/impl/minion/egg-of-the-endtimes.js.map +0 -1
- package/dist/src/cards/impl/minion/elder-taggawag.js.map +0 -1
- package/dist/src/cards/impl/minion/electric-synthesizer.js.map +0 -1
- package/dist/src/cards/impl/minion/elite-navigator.js.map +0 -1
- package/dist/src/cards/impl/minion/enchanted-sentinel.js.map +0 -1
- package/dist/src/cards/impl/minion/eternal-tycoon.js.map +0 -1
- package/dist/src/cards/impl/minion/exceptionnal-caretaker.js.map +0 -1
- package/dist/src/cards/impl/minion/expert-aviator.js.map +0 -1
- package/dist/src/cards/impl/minion/expert-technician.js.map +0 -1
- package/dist/src/cards/impl/minion/fairy-gillmother.js.map +0 -1
- package/dist/src/cards/impl/minion/falling-sky-golem.js.map +0 -1
- package/dist/src/cards/impl/minion/fauna-whisperer.js.map +0 -1
- package/dist/src/cards/impl/minion/felfire-conjurer.js.map +0 -1
- package/dist/src/cards/impl/minion/felhorn.js.map +0 -1
- package/dist/src/cards/impl/minion/festergut.js.map +0 -1
- package/dist/src/cards/impl/minion/fire-forged-evoker.js.map +0 -1
- package/dist/src/cards/impl/minion/firelands-fugitive.js.map +0 -1
- package/dist/src/cards/impl/minion/firescale-hoarder.js.map +0 -1
- package/dist/src/cards/impl/minion/fireworks-fanatic.js.map +0 -1
- package/dist/src/cards/impl/minion/flighty-scout.js.map +0 -1
- package/dist/src/cards/impl/minion/floating-watcher.js.map +0 -1
- package/dist/src/cards/impl/minion/flotsam-flinger.js.map +0 -1
- package/dist/src/cards/impl/minion/forest-rover.js.map +0 -1
- package/dist/src/cards/impl/minion/forsaken-weaver.js.map +0 -1
- package/dist/src/cards/impl/minion/fountain-chiller.js.map +0 -1
- package/dist/src/cards/impl/minion/friendly-bouncer.js.map +0 -1
- package/dist/src/cards/impl/minion/friendly-geist.js.map +0 -1
- package/dist/src/cards/impl/minion/frostwolf-lieutenant.js.map +0 -1
- package/dist/src/cards/impl/minion/futurefin.js.map +0 -1
- package/dist/src/cards/impl/minion/geared-guard.js.map +0 -1
- package/dist/src/cards/impl/minion/gem-rat.js.map +0 -1
- package/dist/src/cards/impl/minion/gem-smuggler.js.map +0 -1
- package/dist/src/cards/impl/minion/gemsplitter.js.map +0 -1
- package/dist/src/cards/impl/minion/general-drakkisath.js.map +0 -1
- package/dist/src/cards/impl/minion/gentle-djinni.js.map +0 -1
- package/dist/src/cards/impl/minion/gentle-stag.js.map +0 -1
- package/dist/src/cards/impl/minion/ghoul-of-the-feast.js.map +0 -1
- package/dist/src/cards/impl/minion/gilded-gargoyle.js.map +0 -1
- package/dist/src/cards/impl/minion/gleaming-trader.js.map +0 -1
- package/dist/src/cards/impl/minion/glowgullet-warlord.js.map +0 -1
- package/dist/src/cards/impl/minion/glowing-cinder.js.map +0 -1
- package/dist/src/cards/impl/minion/gluttonous-trogg.d.ts +0 -2
- package/dist/src/cards/impl/minion/gluttonous-trogg.js +0 -7
- package/dist/src/cards/impl/minion/gluttonous-trogg.js.map +0 -1
- package/dist/src/cards/impl/minion/goldgrubber.js.map +0 -1
- package/dist/src/cards/impl/minion/goldrinn-the-great-wolf.js.map +0 -1
- package/dist/src/cards/impl/minion/gormling-gourmet.js.map +0 -1
- package/dist/src/cards/impl/minion/grease-bot.js.map +0 -1
- package/dist/src/cards/impl/minion/greedy-snaketongue.js.map +0 -1
- package/dist/src/cards/impl/minion/green-chromadrake.js.map +0 -1
- package/dist/src/cards/impl/minion/green-volumizer.js.map +0 -1
- package/dist/src/cards/impl/minion/greenskeeper.js.map +0 -1
- package/dist/src/cards/impl/minion/grimscale-elegist.js.map +0 -1
- package/dist/src/cards/impl/minion/gritty-headhunter.js.map +0 -1
- package/dist/src/cards/impl/minion/hackerfin.js.map +0 -1
- package/dist/src/cards/impl/minion/handless-forsaken.js.map +0 -1
- package/dist/src/cards/impl/minion/hardy-orca.js.map +0 -1
- package/dist/src/cards/impl/minion/harmless-bonehead.js.map +0 -1
- package/dist/src/cards/impl/minion/hawkstrider-herald.js.map +0 -1
- package/dist/src/cards/impl/minion/heroic-underdog.js.map +0 -1
- package/dist/src/cards/impl/minion/highkeeper-ra.js.map +0 -1
- package/dist/src/cards/impl/minion/hired-ritualist.d.ts +0 -2
- package/dist/src/cards/impl/minion/hired-ritualist.js +0 -7
- package/dist/src/cards/impl/minion/hired-ritualist.js.map +0 -1
- package/dist/src/cards/impl/minion/hoarding-hatespawn.js.map +0 -1
- package/dist/src/cards/impl/minion/hog-watcher.js.map +0 -1
- package/dist/src/cards/impl/minion/holo-rover.js.map +0 -1
- package/dist/src/cards/impl/minion/hot-springer.js.map +0 -1
- package/dist/src/cards/impl/minion/humming-bird.js.map +0 -1
- package/dist/src/cards/impl/minion/humongozz.js.map +0 -1
- package/dist/src/cards/impl/minion/hungry-snapjaw.js.map +0 -1
- package/dist/src/cards/impl/minion/hunter-of-gatherers.js.map +0 -1
- package/dist/src/cards/impl/minion/hunting-tiger-shark.js.map +0 -1
- package/dist/src/cards/impl/minion/hydralisk.js.map +0 -1
- package/dist/src/cards/impl/minion/icesnarl-the-mighty.js.map +0 -1
- package/dist/src/cards/impl/minion/ignition-specialist.js.map +0 -1
- package/dist/src/cards/impl/minion/immortal.js.map +0 -1
- package/dist/src/cards/impl/minion/implant-subject.js.map +0 -1
- package/dist/src/cards/impl/minion/imposing-percussionist.js.map +0 -1
- package/dist/src/cards/impl/minion/impulsive-trickster.js.map +0 -1
- package/dist/src/cards/impl/minion/incubation-researcher.js +0 -20
- package/dist/src/cards/impl/minion/incubation-researcher.js.map +0 -1
- package/dist/src/cards/impl/minion/indomitable-mount.js.map +0 -1
- package/dist/src/cards/impl/minion/inspiring-underdog.js.map +0 -1
- package/dist/src/cards/impl/minion/interrogator-whitemane.js.map +0 -1
- package/dist/src/cards/impl/minion/irate-rooster.js.map +0 -1
- package/dist/src/cards/impl/minion/jelly-belly.js.map +0 -1
- package/dist/src/cards/impl/minion/junk-jouster.js.map +0 -1
- package/dist/src/cards/impl/minion/kalecgos-arcane-aspect.js.map +0 -1
- package/dist/src/cards/impl/minion/kangors-apprentice.js.map +0 -1
- package/dist/src/cards/impl/minion/karmic-chameleon.js.map +0 -1
- package/dist/src/cards/impl/minion/king-bagurgle.js.map +0 -1
- package/dist/src/cards/impl/minion/laboratory-assistant.d.ts +0 -2
- package/dist/src/cards/impl/minion/laboratory-assistant.js +0 -7
- package/dist/src/cards/impl/minion/laboratory-assistant.js.map +0 -1
- package/dist/src/cards/impl/minion/leeroy-the-reckless.js.map +0 -1
- package/dist/src/cards/impl/minion/leyline-surfacer.js.map +0 -1
- package/dist/src/cards/impl/minion/lightfang-enforcer.js.map +0 -1
- package/dist/src/cards/impl/minion/lightfeather-screecher.js.map +0 -1
- package/dist/src/cards/impl/minion/living-azerite.js.map +0 -1
- package/dist/src/cards/impl/minion/lokholar-frostforger.js.map +0 -1
- package/dist/src/cards/impl/minion/lord-of-the-ruins.js.map +0 -1
- package/dist/src/cards/impl/minion/lost-city-looter.js.map +0 -1
- package/dist/src/cards/impl/minion/lovesick-balladist.js.map +0 -1
- package/dist/src/cards/impl/minion/low-flier.js.map +0 -1
- package/dist/src/cards/impl/minion/lurker.js.map +0 -1
- package/dist/src/cards/impl/minion/lurking-leviathan.js.map +0 -1
- package/dist/src/cards/impl/minion/maelstrom-emergent.d.ts +0 -2
- package/dist/src/cards/impl/minion/maelstrom-emergent.js +0 -7
- package/dist/src/cards/impl/minion/maelstrom-emergent.js.map +0 -1
- package/dist/src/cards/impl/minion/magicfin-apprentice.js.map +0 -1
- package/dist/src/cards/impl/minion/malorne.js.map +0 -1
- package/dist/src/cards/impl/minion/mama-mrrglton.js.map +0 -1
- package/dist/src/cards/impl/minion/manasaber.js.map +0 -1
- package/dist/src/cards/impl/minion/mantid-queen.js.map +0 -1
- package/dist/src/cards/impl/minion/marquee-ticker.js.map +0 -1
- package/dist/src/cards/impl/minion/master-gadrin.js.map +0 -1
- package/dist/src/cards/impl/minion/maw-caster.js.map +0 -1
- package/dist/src/cards/impl/minion/mecha-jaraxxus.js.map +0 -1
- package/dist/src/cards/impl/minion/mechagnome-interpreter.js.map +0 -1
- package/dist/src/cards/impl/minion/mechanized-gift-horse.js.map +0 -1
- package/dist/src/cards/impl/minion/mechorse.js.map +0 -1
- package/dist/src/cards/impl/minion/menagerie-jug.js.map +0 -1
- package/dist/src/cards/impl/minion/metal-dispenser.js.map +0 -1
- package/dist/src/cards/impl/minion/metallic-hunter.js.map +0 -1
- package/dist/src/cards/impl/minion/misfit-dragonling.js.map +0 -1
- package/dist/src/cards/impl/minion/monstrosity.js.map +0 -1
- package/dist/src/cards/impl/minion/monstrous-macaw.js.map +0 -1
- package/dist/src/cards/impl/minion/moon-bacon-jazzer.js.map +0 -1
- package/dist/src/cards/impl/minion/moonsteel-juggernaut.js.map +0 -1
- package/dist/src/cards/impl/minion/mothership.js.map +0 -1
- package/dist/src/cards/impl/minion/mummifier.js.map +0 -1
- package/dist/src/cards/impl/minion/murcules.js.map +0 -1
- package/dist/src/cards/impl/minion/murkbrine-expeditioner.js.map +0 -1
- package/dist/src/cards/impl/minion/murky-spash-fisher.js.map +0 -1
- package/dist/src/cards/impl/minion/murky.js.map +0 -1
- package/dist/src/cards/impl/minion/mutalisk.js.map +0 -1
- package/dist/src/cards/impl/minion/mutated-lasher.js.map +0 -1
- package/dist/src/cards/impl/minion/mythrax.js.map +0 -1
- package/dist/src/cards/impl/minion/nalaa-the-redeemer.js.map +0 -1
- package/dist/src/cards/impl/minion/neon-agent.js.map +0 -1
- package/dist/src/cards/impl/minion/nerubian-deathswarmer.js.map +0 -1
- package/dist/src/cards/impl/minion/nest-swarmer.js.map +0 -1
- package/dist/src/cards/impl/minion/nether-drake.js.map +0 -1
- package/dist/src/cards/impl/minion/nightbane-ignited.js.map +0 -1
- package/dist/src/cards/impl/minion/nightmare-par-tea-guest.js.map +0 -1
- package/dist/src/cards/impl/minion/nimble-hatchling.js.map +0 -1
- package/dist/src/cards/impl/minion/niuzao.js.map +0 -1
- package/dist/src/cards/impl/minion/noisul-of-the-many-faces.js.map +0 -1
- package/dist/src/cards/impl/minion/obisidian-ravager.js.map +0 -1
- package/dist/src/cards/impl/minion/old-soul.d.ts +0 -2
- package/dist/src/cards/impl/minion/old-soul.js +0 -7
- package/dist/src/cards/impl/minion/old-soul.js.map +0 -1
- package/dist/src/cards/impl/minion/oozeling-gladiator.js.map +0 -1
- package/dist/src/cards/impl/minion/operatic-belcher.js.map +0 -1
- package/dist/src/cards/impl/minion/oranomonos-the-wilted.js.map +0 -1
- package/dist/src/cards/impl/minion/outback-smolderer.js.map +0 -1
- package/dist/src/cards/impl/minion/paint-smudger.js.map +0 -1
- package/dist/src/cards/impl/minion/papa-mrrglton.js.map +0 -1
- package/dist/src/cards/impl/minion/parched-wanderer.js.map +0 -1
- package/dist/src/cards/impl/minion/pashmar-the-vengeful.js.map +0 -1
- package/dist/src/cards/impl/minion/peggy-sturdybone.js.map +0 -1
- package/dist/src/cards/impl/minion/photobomber.js.map +0 -1
- package/dist/src/cards/impl/minion/pilot-the-shredder.js.map +0 -1
- package/dist/src/cards/impl/minion/piloted-whirl-o-tron.js.map +0 -1
- package/dist/src/cards/impl/minion/plaguerunner.js.map +0 -1
- package/dist/src/cards/impl/minion/plankwalker.js.map +0 -1
- package/dist/src/cards/impl/minion/polarizing-beatboxer.js.map +0 -1
- package/dist/src/cards/impl/minion/poultron.js.map +0 -1
- package/dist/src/cards/impl/minion/primalfin-lookout.js.map +0 -1
- package/dist/src/cards/impl/minion/primeval-monstrosity.js.map +0 -1
- package/dist/src/cards/impl/minion/prized-promo-drake.js.map +0 -1
- package/dist/src/cards/impl/minion/prodigious-tusker.js.map +0 -1
- package/dist/src/cards/impl/minion/profound-thinker.js.map +0 -1
- package/dist/src/cards/impl/minion/proud-privateer.d.ts +0 -2
- package/dist/src/cards/impl/minion/proud-privateer.js +0 -7
- package/dist/src/cards/impl/minion/proud-privateer.js.map +0 -1
- package/dist/src/cards/impl/minion/psychus.js.map +0 -1
- package/dist/src/cards/impl/minion/pufferquil.js.map +0 -1
- package/dist/src/cards/impl/minion/radio-star.js.map +0 -1
- package/dist/src/cards/impl/minion/rampager.js.map +0 -1
- package/dist/src/cards/impl/minion/rapscallion-recruiter.js.map +0 -1
- package/dist/src/cards/impl/minion/raptor-elder.js.map +0 -1
- package/dist/src/cards/impl/minion/razorfen-flapper.js.map +0 -1
- package/dist/src/cards/impl/minion/razorfen-geomancer.js.map +0 -1
- package/dist/src/cards/impl/minion/razorfen-vineweaver.js.map +0 -1
- package/dist/src/cards/impl/minion/razorgore-the-untamed.js.map +0 -1
- package/dist/src/cards/impl/minion/reckless-cliffdiver.js.map +0 -1
- package/dist/src/cards/impl/minion/red-chromadrake.js.map +0 -1
- package/dist/src/cards/impl/minion/red-volumizer.js.map +0 -1
- package/dist/src/cards/impl/minion/red-whelp.js.map +0 -1
- package/dist/src/cards/impl/minion/redtusk-thornraiser.js.map +0 -1
- package/dist/src/cards/impl/minion/relentless-deflector.js.map +0 -1
- package/dist/src/cards/impl/minion/rickety-repairbot.js.map +0 -1
- package/dist/src/cards/impl/minion/ride-or-die.js.map +0 -1
- package/dist/src/cards/impl/minion/ring-bearer.js.map +0 -1
- package/dist/src/cards/impl/minion/ripsnarl-captain.js.map +0 -1
- package/dist/src/cards/impl/minion/roach.js.map +0 -1
- package/dist/src/cards/impl/minion/roadboar.js.map +0 -1
- package/dist/src/cards/impl/minion/roaring-rallier.js.map +0 -1
- package/dist/src/cards/impl/minion/rodeo-performer.js.map +0 -1
- package/dist/src/cards/impl/minion/roving-sailor.js.map +0 -1
- package/dist/src/cards/impl/minion/ruins-renovator.js.map +0 -1
- package/dist/src/cards/impl/minion/runed-progenitor.js.map +0 -1
- package/dist/src/cards/impl/minion/ruthless-queensguard.js.map +0 -1
- package/dist/src/cards/impl/minion/rylak-metalhead.js.map +0 -1
- package/dist/src/cards/impl/minion/salty-hog.js.map +0 -1
- package/dist/src/cards/impl/minion/sanctum-rester.js.map +0 -1
- package/dist/src/cards/impl/minion/sand-swirler.js.map +0 -1
- package/dist/src/cards/impl/minion/sandy.js.map +0 -1
- package/dist/src/cards/impl/minion/sanguine-refiner.js.map +0 -1
- package/dist/src/cards/impl/minion/sanlayn-scribe.js.map +0 -1
- package/dist/src/cards/impl/minion/scallywag.js.map +0 -1
- package/dist/src/cards/impl/minion/scarlet-skull.js.map +0 -1
- package/dist/src/cards/impl/minion/scarlet-survivor.js.map +0 -1
- package/dist/src/cards/impl/minion/scourfin.js.map +0 -1
- package/dist/src/cards/impl/minion/scourge-harvester.js.map +0 -1
- package/dist/src/cards/impl/minion/scrap-scraper.js.map +0 -1
- package/dist/src/cards/impl/minion/seafloor-recruiter.js.map +0 -1
- package/dist/src/cards/impl/minion/selfless-hero.js.map +0 -1
- package/dist/src/cards/impl/minion/sewer-lord.js.map +0 -1
- package/dist/src/cards/impl/minion/sewer-rat.js.map +0 -1
- package/dist/src/cards/impl/minion/shadowdancer.js.map +0 -1
- package/dist/src/cards/impl/minion/shadowy-construct.js.map +0 -1
- package/dist/src/cards/impl/minion/sharp-eyed-sabretooth.js.map +0 -1
- package/dist/src/cards/impl/minion/sharptooth-snapper.js.map +0 -1
- package/dist/src/cards/impl/minion/shell-collector.js.map +0 -1
- package/dist/src/cards/impl/minion/ship-jumper.js.map +0 -1
- package/dist/src/cards/impl/minion/ship-master-eudora.js.map +0 -1
- package/dist/src/cards/impl/minion/shipwrecked-rascal.js.map +0 -1
- package/dist/src/cards/impl/minion/shore-marauder.js.map +0 -1
- package/dist/src/cards/impl/minion/showy-cyclist.js.map +0 -1
- package/dist/src/cards/impl/minion/silent-enforcer.js +0 -24
- package/dist/src/cards/impl/minion/silent-enforcer.js.map +0 -1
- package/dist/src/cards/impl/minion/silithid-burrower.js.map +0 -1
- package/dist/src/cards/impl/minion/silky-shimmermoth.js.map +0 -1
- package/dist/src/cards/impl/minion/silver-handed-recruit.js.map +0 -1
- package/dist/src/cards/impl/minion/sinodorei-straight-shot.js.map +0 -1
- package/dist/src/cards/impl/minion/sinrunner-blanchy.d.ts +0 -5
- package/dist/src/cards/impl/minion/sinrunner-blanchy.js +0 -17
- package/dist/src/cards/impl/minion/sinrunner-blanchy.js.map +0 -1
- package/dist/src/cards/impl/minion/skeletal-strafer.js.map +0 -1
- package/dist/src/cards/impl/minion/skulking-bristlemane.js.map +0 -1
- package/dist/src/cards/impl/minion/sky-pirate-flagbearer-enchantment.js.map +0 -1
- package/dist/src/cards/impl/minion/sky-pirate-flagbearer.js.map +0 -1
- package/dist/src/cards/impl/minion/sleepy-supporter.js.map +0 -1
- package/dist/src/cards/impl/minion/slumber-sorcerer.js.map +0 -1
- package/dist/src/cards/impl/minion/sly-raptor.js.map +0 -1
- package/dist/src/cards/impl/minion/smolderwing.js.map +0 -1
- package/dist/src/cards/impl/minion/snack-vendor.js.map +0 -1
- package/dist/src/cards/impl/minion/soul-rewinder.js.map +0 -1
- package/dist/src/cards/impl/minion/soulsplitter.js.map +0 -1
- package/dist/src/cards/impl/minion/spacefarer.js.map +0 -1
- package/dist/src/cards/impl/minion/spellbound-soul.js.map +0 -1
- package/dist/src/cards/impl/minion/spirit-drake.js.map +0 -1
- package/dist/src/cards/impl/minion/spirit-of-air.js.map +0 -1
- package/dist/src/cards/impl/minion/spirited-whimsydrake.js.map +0 -1
- package/dist/src/cards/impl/minion/springy-spriggan.js.map +0 -1
- package/dist/src/cards/impl/minion/stalwart-kodo.js.map +0 -1
- package/dist/src/cards/impl/minion/stellar-freebooter.js +0 -19
- package/dist/src/cards/impl/minion/stellar-freebooter.js.map +0 -1
- package/dist/src/cards/impl/minion/stitched-salvager.js.map +0 -1
- package/dist/src/cards/impl/minion/stomping-stegodon-enchantment.js.map +0 -1
- package/dist/src/cards/impl/minion/stomping-stegodon.js.map +0 -1
- package/dist/src/cards/impl/minion/stoneshell-guardian.js.map +0 -1
- package/dist/src/cards/impl/minion/stormpike-lieutenant.js.map +0 -1
- package/dist/src/cards/impl/minion/stray-satyr.js.map +0 -1
- package/dist/src/cards/impl/minion/stuntdrake.js +0 -24
- package/dist/src/cards/impl/minion/stuntdrake.js.map +0 -1
- package/dist/src/cards/impl/minion/sun-screener.js.map +0 -1
- package/dist/src/cards/impl/minion/sundered-matriarch.js.map +0 -1
- package/dist/src/cards/impl/minion/sunken-advocate.js.map +0 -1
- package/dist/src/cards/impl/minion/super-constructor.js.map +0 -1
- package/dist/src/cards/impl/minion/surf-n-surf-crab-riding.js.map +0 -1
- package/dist/src/cards/impl/minion/surfing-slyvar.js.map +0 -1
- package/dist/src/cards/impl/minion/swampstriker.js.map +0 -1
- package/dist/src/cards/impl/minion/tamuzo.js.map +0 -1
- package/dist/src/cards/impl/minion/the-glad-iator.js.map +0 -1
- package/dist/src/cards/impl/minion/the-last-one-standing.js.map +0 -1
- package/dist/src/cards/impl/minion/the-uninvited-guest.js.map +0 -1
- package/dist/src/cards/impl/minion/thorncaller.js.map +0 -1
- package/dist/src/cards/impl/minion/thousandth-paper-drake.js.map +0 -1
- package/dist/src/cards/impl/minion/three-lil-quilboar.js.map +0 -1
- package/dist/src/cards/impl/minion/thundering-abomination.js.map +0 -1
- package/dist/src/cards/impl/minion/tichondrius.js.map +0 -1
- package/dist/src/cards/impl/minion/tide-raiser.js.map +0 -1
- package/dist/src/cards/impl/minion/tidemistress-athissa.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-alleycat.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-archimonde.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-arm.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-bassgill.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-bloodbinder.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-bonker.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-botani.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-bristler.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-calligrapher.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-caretaker.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-centurion.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-chameleon.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-chimera.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-clefthoof.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-collector.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-copter.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-deadstomper.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-deathswarmer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-dragonling.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-duskmaw.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-electron.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-elegist.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-embalmer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-expeditioner.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-festergut.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-geist.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-gemsplitter.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-geomancer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-ghoul-acabra.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-goldrinn.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-grease-bot.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-greenskeeper.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-guard.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-hag.d.ts +0 -2
- package/dist/src/cards/impl/minion/timewarped-hag.js +0 -30
- package/dist/src/cards/impl/minion/timewarped-hag.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-hawkstrider.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-hooktail.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-hunter.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-hyena.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-icky-imp.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-immortal.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-interpreter.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-jazzer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-jelly-belly.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-jungle-king.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-karathress.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-kilrek.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-lab-rat.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-lil-quilboar.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-low-flier.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-magnanimoose.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-mothership.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-mrrrglr.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-murcules.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-murk-eye.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-murky.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-mythraw.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-nalaa.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-nellies-ship.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-nest-swarmer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-painter.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-paleofin.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-pashmar.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-peggy.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-pillager.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-piper.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-primscale.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-probius.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-promo-drake.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-radio-star.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-ragnaros.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-recycler.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-red-whelp.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-rewinder.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-riplash.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-sapper.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-saurolisk.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-scourfin.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-sea-glass.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-sellemental.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-sensei.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-shadowdancer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-spirit-of-air.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-sporebat.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-steamer.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-stone-drake.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-stoneshell.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-stormcloud.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-substrate.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-swirler.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-sylvar.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-tamuzo.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-tender.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-thorncaller.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-tide-razor.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-tony.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-traveler.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-trickster.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-twirler.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-ultralisk.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-vaelastrasz.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-wargear.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-warghoul.js.map +0 -1
- package/dist/src/cards/impl/minion/timewarped-whelp-smuggler.js.map +0 -1
- package/dist/src/cards/impl/minion/tomb-pillager.js.map +0 -1
- package/dist/src/cards/impl/minion/transmuted-bramblewitch.js.map +0 -1
- package/dist/src/cards/impl/minion/trench-fighter.js.map +0 -1
- package/dist/src/cards/impl/minion/tunnel-blaster.js.map +0 -1
- package/dist/src/cards/impl/minion/turquoise-skitterer.js.map +0 -1
- package/dist/src/cards/impl/minion/tusked-camper.js.map +0 -1
- package/dist/src/cards/impl/minion/twilight-broodmother.js.map +0 -1
- package/dist/src/cards/impl/minion/twilight-hatchling.js.map +0 -1
- package/dist/src/cards/impl/minion/twilight-primordium.js.map +0 -1
- package/dist/src/cards/impl/minion/twilight-watcher.js.map +0 -1
- package/dist/src/cards/impl/minion/twisted-wrathguard.d.ts +0 -2
- package/dist/src/cards/impl/minion/twisted-wrathguard.js +0 -7
- package/dist/src/cards/impl/minion/twisted-wrathguard.js.map +0 -1
- package/dist/src/cards/impl/minion/ultralisk.js.map +0 -1
- package/dist/src/cards/impl/minion/ultraviolet-ascendant.js.map +0 -1
- package/dist/src/cards/impl/minion/unforgiving-treant.js.map +0 -1
- package/dist/src/cards/impl/minion/utility-drone.js.map +0 -1
- package/dist/src/cards/impl/minion/vaelastrasz.js.map +0 -1
- package/dist/src/cards/impl/minion/valiant-tiger.js.map +0 -1
- package/dist/src/cards/impl/minion/vengeful-protector.js.map +0 -1
- package/dist/src/cards/impl/minion/very-hungry-winterfinner.js.map +0 -1
- package/dist/src/cards/impl/minion/vinespeaker.js.map +0 -1
- package/dist/src/cards/impl/minion/void-earl.js.map +0 -1
- package/dist/src/cards/impl/minion/void-pup-trainer.js.map +0 -1
- package/dist/src/cards/impl/minion/void-ray.js.map +0 -1
- package/dist/src/cards/impl/minion/vorkai-guardian.js.map +0 -1
- package/dist/src/cards/impl/minion/wandering-wight.js.map +0 -1
- package/dist/src/cards/impl/minion/weebomination.js.map +0 -1
- package/dist/src/cards/impl/minion/whelp-smuggler.js.map +0 -1
- package/dist/src/cards/impl/minion/whelp-watcher.js.map +0 -1
- package/dist/src/cards/impl/minion/whirling-lass-o-matic.js.map +0 -1
- package/dist/src/cards/impl/minion/whirring-protector-enchantment.js.map +0 -1
- package/dist/src/cards/impl/minion/whirring-protector.js.map +0 -1
- package/dist/src/cards/impl/minion/wildfire-elemental.js.map +0 -1
- package/dist/src/cards/impl/minion/wisp-in-the-shell.js.map +0 -1
- package/dist/src/cards/impl/minion/witchwing-nestmatron.js.map +0 -1
- package/dist/src/cards/impl/minion/woodland-defiler.js.map +0 -1
- package/dist/src/cards/impl/minion/wrathscale-rogue.js.map +0 -1
- package/dist/src/cards/impl/minion/wyvern-outrider.js.map +0 -1
- package/dist/src/cards/impl/minion/yorik-smite.js.map +0 -1
- package/dist/src/cards/impl/minion/young-murk-eye.js.map +0 -1
- package/dist/src/cards/impl/minion/yrel.js.map +0 -1
- package/dist/src/cards/impl/minion/yulon-fortune-granter.js.map +0 -1
- package/dist/src/cards/impl/minion/zergling.js.map +0 -1
- package/dist/src/cards/impl/minion/zippers.js.map +0 -1
- package/dist/src/cards/impl/quest-reward/evil-twin.js.map +0 -1
- package/dist/src/cards/impl/quest-reward/righteous-charge.js.map +0 -1
- package/dist/src/cards/impl/quest-reward/staff-of-origination.js.map +0 -1
- package/dist/src/cards/impl/quest-reward/stolen-gold.js.map +0 -1
- package/dist/src/cards/impl/spell/fleeting-vigor.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/anglers-lure.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/azsharas-hatchery.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/crab-mount.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/deep-blues.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/escape-eruption.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/evolving-strategy.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/glowing-crown.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/gold-gun.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/harvested-pearl.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/just-keep-swimming.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/meditation.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/mini-trident.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/reinvigoration.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/rime-or-reason.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/rushing-winds.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/sick-riffs.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/sunken-spells.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/surging-scales.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/thaumaturgy.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/the-golden-hammer.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/timewarped-crown.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/timewarped-eelectrify.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/timewarped-shoal.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/undersea-mount.js.map +0 -1
- package/dist/src/cards/impl/spellcraft/veterans-tactics.js.map +0 -1
- package/dist/src/cards/impl/trinket/all-purpose-kibble.js.map +0 -1
- package/dist/src/cards/impl/trinket/archaic-scroll.js.map +0 -1
- package/dist/src/cards/impl/trinket/arm-of-the-empire.js.map +0 -1
- package/dist/src/cards/impl/trinket/artisanal-urn.js.map +0 -1
- package/dist/src/cards/impl/trinket/automaton-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/baleful-incense.js.map +0 -1
- package/dist/src/cards/impl/trinket/bassgill-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/battle-horn.js.map +0 -1
- package/dist/src/cards/impl/trinket/beetle-band.js.map +0 -1
- package/dist/src/cards/impl/trinket/bewitched-ribbon.js.map +0 -1
- package/dist/src/cards/impl/trinket/bird-feeder.js.map +0 -1
- package/dist/src/cards/impl/trinket/blood-amulet.js.map +0 -1
- package/dist/src/cards/impl/trinket/bloodbound-earrings.js +0 -22
- package/dist/src/cards/impl/trinket/bloodbound-earrings.js.map +0 -1
- package/dist/src/cards/impl/trinket/bluegill-flippers.js +0 -21
- package/dist/src/cards/impl/trinket/bluegill-flippers.js.map +0 -1
- package/dist/src/cards/impl/trinket/bronze-timepiece.js.map +0 -1
- package/dist/src/cards/impl/trinket/bubble-crown.js.map +0 -1
- package/dist/src/cards/impl/trinket/cloud-serpent-horn.js.map +0 -1
- package/dist/src/cards/impl/trinket/comfy-coffin.js.map +0 -1
- package/dist/src/cards/impl/trinket/copper-coil.js.map +0 -1
- package/dist/src/cards/impl/trinket/coral-spear.js.map +0 -1
- package/dist/src/cards/impl/trinket/crocheted-sungill.js.map +0 -1
- package/dist/src/cards/impl/trinket/daggerspine-thrasher.js.map +0 -1
- package/dist/src/cards/impl/trinket/divine-signet.js.map +0 -1
- package/dist/src/cards/impl/trinket/dramaloc-sticker.js.map +0 -1
- package/dist/src/cards/impl/trinket/eclectic-shrine.js.map +0 -1
- package/dist/src/cards/impl/trinket/emerald-dreamcatcher.js.map +0 -1
- package/dist/src/cards/impl/trinket/eternal-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/faerie-dragon-scale.js.map +0 -1
- package/dist/src/cards/impl/trinket/fang-anklet.js.map +0 -1
- package/dist/src/cards/impl/trinket/felburned-ledger.js.map +0 -1
- package/dist/src/cards/impl/trinket/fishy-sticker.js.map +0 -1
- package/dist/src/cards/impl/trinket/fridge-magnet.js.map +0 -1
- package/dist/src/cards/impl/trinket/ghostly-ymirjar.js.map +0 -1
- package/dist/src/cards/impl/trinket/gilnean-thorned-rose.js.map +0 -1
- package/dist/src/cards/impl/trinket/glowscale-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/heart-of-the-forest.js +0 -17
- package/dist/src/cards/impl/trinket/heart-of-the-forest.js.map +0 -1
- package/dist/src/cards/impl/trinket/herald-sticker.js.map +0 -1
- package/dist/src/cards/impl/trinket/hoggy-bank.js.map +0 -1
- package/dist/src/cards/impl/trinket/hogwash-basin.js.map +0 -1
- package/dist/src/cards/impl/trinket/holly-mallet.js.map +0 -1
- package/dist/src/cards/impl/trinket/ironforge-anvil.js.map +0 -1
- package/dist/src/cards/impl/trinket/jar-o-gems.js.map +0 -1
- package/dist/src/cards/impl/trinket/jarred-frostling.js.map +0 -1
- package/dist/src/cards/impl/trinket/karazhan-chess-set.js.map +0 -1
- package/dist/src/cards/impl/trinket/lorewalker-scroll.js.map +0 -1
- package/dist/src/cards/impl/trinket/miniature-ship.js.map +0 -1
- package/dist/src/cards/impl/trinket/powder-keg-enchantment.js.map +0 -1
- package/dist/src/cards/impl/trinket/powder-keg.js.map +0 -1
- package/dist/src/cards/impl/trinket/protective-ring.js.map +0 -1
- package/dist/src/cards/impl/trinket/quilligraphy-set.js.map +0 -1
- package/dist/src/cards/impl/trinket/reinforced-shield.js.map +0 -1
- package/dist/src/cards/impl/trinket/rivendare-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/rusty-trident.js.map +0 -1
- package/dist/src/cards/impl/trinket/saltscale-honcho.js.map +0 -1
- package/dist/src/cards/impl/trinket/sepulchral-sergent.js.map +0 -1
- package/dist/src/cards/impl/trinket/ship-in-a-bottle.js.map +0 -1
- package/dist/src/cards/impl/trinket/slamma-sticker.js.map +0 -1
- package/dist/src/cards/impl/trinket/stegodon-portrait.js +0 -19
- package/dist/src/cards/impl/trinket/stegodon-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/sthara-sticker.js.map +0 -1
- package/dist/src/cards/impl/trinket/summoning-sphere.js.map +0 -1
- package/dist/src/cards/impl/trinket/tarecgosa-sticker.d.ts +0 -2
- package/dist/src/cards/impl/trinket/tarecgosa-sticker.js +0 -7
- package/dist/src/cards/impl/trinket/tarecgosa-sticker.js.map +0 -1
- package/dist/src/cards/impl/trinket/thornspike-pauldron.js.map +0 -1
- package/dist/src/cards/impl/trinket/tide-raiser-portrait.js.map +0 -1
- package/dist/src/cards/impl/trinket/tiger-carving-token.js.map +0 -1
- package/dist/src/cards/impl/trinket/tinyfin-onesie.js.map +0 -1
- package/dist/src/cards/impl/trinket/training-certificate.js.map +0 -1
- package/dist/src/cards/impl/trinket/trusty-crowbar.js.map +0 -1
- package/dist/src/cards/impl/trinket/unholy-sanctum.js +0 -17
- package/dist/src/cards/impl/trinket/unholy-sanctum.js.map +0 -1
- package/dist/src/cards/impl/trinket/valorous-medaillion.js.map +0 -1
- package/dist/src/cards/impl/trinket/vashjir-anemone.js.map +0 -1
- package/dist/src/cards/impl/trinket/wicked-tome.js.map +0 -1
- package/dist/src/cards/impl/trinket/wildfeather-duster.js.map +0 -1
- package/dist/src/cards/impl/trinket/wintergrasp-ghoul.js.map +0 -1
- package/dist/src/cards/impl/trinket/yulon-sticker.js.map +0 -1
- package/dist/src/debug-state.js.map +0 -1
- package/dist/src/input-clone.js.map +0 -1
- package/dist/src/input-sanitation.js.map +0 -1
- package/dist/src/keywords/divine-shield.js.map +0 -1
- package/dist/src/keywords/reborn.js.map +0 -1
- package/dist/src/keywords/stealth.js.map +0 -1
- package/dist/src/keywords/taunt.js.map +0 -1
- package/dist/src/keywords/venomous.js.map +0 -1
- package/dist/src/keywords/windfury.js.map +0 -1
- package/dist/src/mechanics/cast-tavern-spell.js.map +0 -1
- package/dist/src/mechanics/player-global-effects.js.map +0 -1
- package/dist/src/mechanics/rally.js.map +0 -1
- package/dist/src/mechanics/tavern-spell-repeat.js.map +0 -1
- package/dist/src/services/card-ids.js.map +0 -1
- package/dist/src/services/hand-minion-priority.js.map +0 -1
- package/dist/src/services/utils.js.map +0 -1
- package/dist/src/simulate-bgs-battle.js.map +0 -1
- package/dist/src/simulation/add-minion-to-board.js.map +0 -1
- package/dist/src/simulation/after-attack.js.map +0 -1
- package/dist/src/simulation/attack.d.ts +0 -51
- package/dist/src/simulation/attack.js.map +0 -1
- package/dist/src/simulation/auras.js.map +0 -1
- package/dist/src/simulation/avenge.js.map +0 -1
- package/dist/src/simulation/battlecries.js.map +0 -1
- package/dist/src/simulation/blood-gems.js.map +0 -1
- package/dist/src/simulation/cards-in-hand.js.map +0 -1
- package/dist/src/simulation/damage-effects.js.map +0 -1
- package/dist/src/simulation/damage-to-hero.js.map +0 -1
- package/dist/src/simulation/death-effects.js +0 -101
- package/dist/src/simulation/death-effects.js.map +0 -1
- package/dist/src/simulation/deathrattle-effects.js +0 -341
- package/dist/src/simulation/deathrattle-effects.js.map +0 -1
- package/dist/src/simulation/deathrattle-on-trigger.js.map +0 -1
- package/dist/src/simulation/deathrattle-orchestration.js.map +0 -1
- package/dist/src/simulation/deathrattle-spawns.js.map +0 -1
- package/dist/src/simulation/deathrattle-utils.js.map +0 -1
- package/dist/src/simulation/discover.js.map +0 -1
- package/dist/src/simulation/enchantments.js.map +0 -1
- package/dist/src/simulation/frenzy.js.map +0 -1
- package/dist/src/simulation/global-info-helpers.d.ts +0 -7
- package/dist/src/simulation/global-info-helpers.js +0 -25
- package/dist/src/simulation/global-info-helpers.js.map +0 -1
- package/dist/src/simulation/internal-game-state.js.map +0 -1
- package/dist/src/simulation/magnetize.js.map +0 -1
- package/dist/src/simulation/minion-death.js.map +0 -1
- package/dist/src/simulation/minion-kill.js.map +0 -1
- package/dist/src/simulation/on-attack.js.map +0 -1
- package/dist/src/simulation/on-being-attacked.js.map +0 -1
- package/dist/src/simulation/quest.js.map +0 -1
- package/dist/src/simulation/reborn.js.map +0 -1
- package/dist/src/simulation/remembered-deathrattle.js.map +0 -1
- package/dist/src/simulation/remove-minion-from-board.js.map +0 -1
- package/dist/src/simulation/secrets.js.map +0 -1
- package/dist/src/simulation/shared-state.js.map +0 -1
- package/dist/src/simulation/simulator.js.map +0 -1
- package/dist/src/simulation/spawn-fail.js.map +0 -1
- package/dist/src/simulation/spawns.js.map +0 -1
- package/dist/src/simulation/spectator/game-action.js.map +0 -1
- package/dist/src/simulation/spectator/game-sample.js.map +0 -1
- package/dist/src/simulation/spectator/spectator.js.map +0 -1
- package/dist/src/simulation/start-of-combat/phases.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-action-processor.js +0 -244
- package/dist/src/simulation/start-of-combat/soc-action-processor.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-anomalies.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-hero-power.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-illidan-hero-power.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-minion.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-pre-combat-hero-power.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-quest-reward.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-secret.js.map +0 -1
- package/dist/src/simulation/start-of-combat/soc-trinket.js.map +0 -1
- package/dist/src/simulation/start-of-combat/start-of-combat-input.js.map +0 -1
- package/dist/src/simulation/start-of-combat/start-of-combat.js.map +0 -1
- package/dist/src/simulation/stats.js +0 -199
- package/dist/src/simulation/stats.js.map +0 -1
- package/dist/src/simulation/summon-when-space.js.map +0 -1
- package/dist/src/simulation/utils/entity-utils.js.map +0 -1
- package/dist/src/simulation/utils/golden.js.map +0 -1
- package/dist/src/simulation-result.js.map +0 -1
- package/dist/src/single-simulation-result.js.map +0 -1
- package/dist/src/temp-card-ids.js.map +0 -1
- package/dist/src/utils.js.map +0 -1
- package/dist/test/unit/hand-minion-priority.test.d.ts +0 -1
- package/dist/test/unit/hand-minion-priority.test.js +0 -33
- package/dist/test/unit/hand-minion-priority.test.js.map +0 -1
- /package/dist/{src/bgs-battle-info.d.ts → bgs-battle-info.d.ts} +0 -0
- /package/dist/{src/bgs-battle-info.js → bgs-battle-info.js} +0 -0
- /package/dist/{src/bgs-battle-options.d.ts → bgs-battle-options.d.ts} +0 -0
- /package/dist/{src/bgs-battle-options.js → bgs-battle-options.js} +0 -0
- /package/dist/{src/bgs-board-info.d.ts → bgs-board-info.d.ts} +0 -0
- /package/dist/{src/bgs-board-info.js → bgs-board-info.js} +0 -0
- /package/dist/{src/bgs-player-entity.d.ts → bgs-player-entity.d.ts} +0 -0
- /package/dist/{src/bgs-player-entity.js → bgs-player-entity.js} +0 -0
- /package/dist/{src/board-entity.d.ts → board-entity.d.ts} +0 -0
- /package/dist/{src/board-entity.js → board-entity.js} +0 -0
- /package/dist/{src/board-secret.d.ts → board-secret.d.ts} +0 -0
- /package/dist/{src/board-secret.js → board-secret.js} +0 -0
- /package/dist/{src/cards → cards}/card.interface.js +0 -0
- /package/dist/{src/cards → cards}/cards-data.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/_card-mappings.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/anomaly/anomalous-twin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/anomaly/anomalous-twin.js +0 -0
- /package/dist/{src/cards → cards}/impl/anomaly/blessed-or-blighted.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/anomaly/blessed-or-blighted.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/azerite-empowerment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/azerite-empowerment.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/back-to-back.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/back-to-back.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-barrage.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-barrage.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-quilboar-divine-shield.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-quilboar-divine-shield.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-quilboar-reborn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-quilboar-reborn.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-quilboar-taunt.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/blood-gem-quilboar-taunt.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/boon-of-beetles.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/boon-of-beetles.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/brood-of-nozdormu.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/brood-of-nozdormu.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/butchering.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/butchering.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/chefs-choice.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/chefs-choice.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/deepwater-clan.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/deepwater-clan.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/eyes-of-the-earth-mother.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/eyes-of-the-earth-mother.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/friendly-bounty.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/friendly-bounty.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/hand-of-deios.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/hand-of-deios.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/healthy-bounty.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/healthy-bounty.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/hostile-bounty.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/hostile-bounty.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/jailer-sticker-306.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/jailer-sticker-306.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/jailer-sticker-733.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/jailer-sticker-733.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/menagerie-tableware.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/menagerie-tableware.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/might-of-stormwind.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/might-of-stormwind.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/murkys-fish.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/murkys-fish.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/natural-blessing.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/natural-blessing.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/ophidian-staff.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/ophidian-staff.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/queens-command.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/queens-command.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/selfish-bounty.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/selfish-bounty.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/sharing-is-caring.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/sharing-is-caring.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/shifting-tide.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/shifting-tide.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/shiny-ring.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/shiny-ring.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-bananas.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-bananas.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-chefs-choice.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-chefs-choice.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-cloning-device.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-cloning-device.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-conch.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-conch.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-corpse.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-corpse.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-evolution.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-evolution.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-goldenizer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-goldenizer.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-master-thief.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-master-thief.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-on-the-house.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-on-the-house.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-rat-in-the-cage.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-rat-in-the-cage.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-ritual.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-ritual.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-special.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-special.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-thief.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/timewarped-thief.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/tomb-turning.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/tomb-turning.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/toxic-tumbleweed.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/toxic-tumbleweed.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/upper-hand.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/upper-hand.js +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/wave-of-gold.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/bg-spell/wave-of-gold.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-high.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-high.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-left.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-left.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-low.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-low.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-right.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/aim-right.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/all-will-burn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/all-will-burn.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/earth-invocation.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/earth-invocation.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/embrace-your-rage.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/embrace-your-rage.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/fire-invocation.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/fire-invocation.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/fragrant-phylactery-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/fragrant-phylactery-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/fragrant-phylactery.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/fragrant-phylactery.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/frostwolf-fervor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/frostwolf-fervor.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/glorious-gloop.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/glorious-gloop.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/lightning-invocation.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/lightning-invocation.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/lock-and-load.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/lock-and-load.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/rapid-reanimation.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/rapid-reanimation.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/reborn-rites.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/reborn-rites.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/stormpike.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/stormpike.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/swatting-insects.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/swatting-insects.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/tentacular.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/tentacular.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/water-invocation.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/water-invocation.js +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/wax-warband.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/hero-power/wax-warband.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/abyssal-bruiser.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/abyssal-bruiser.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/admiral-eliza-goreblade.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/admiral-eliza-goreblade.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/all-seeing-elder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/all-seeing-elder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/alleycat.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/alleycat.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/amber-guardian.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/amber-guardian.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/amplifying-lightspawn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/amplifying-lightspawn.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/anubarak-nerubian-king.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/anubarak-nerubian-king.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/apexis-guardian.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/apexis-guardian.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/apprentice-of-sefin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/apprentice-of-sefin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/arcane-cannoneer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/arcane-cannoneer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/archaedas.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/archaedas.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/archimonde.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/archimonde.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/arid-atrocity.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/arid-atrocity.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ashen-corruptor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ashen-corruptor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/assistant-guard.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/assistant-guard.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/audacious-anchor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/audacious-anchor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/auto-accelerator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/auto-accelerator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/auto-assembler-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/auto-assembler-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/auto-assembler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/auto-assembler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/avalanche-caller.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/avalanche-caller.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/azsharan-cutlassier.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/azsharan-cutlassier.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/baby-yshaarj.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/baby-yshaarj.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/banana-slamma.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/banana-slamma.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/baneling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/baneling.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bannerboar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bannerboar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bassgill.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bassgill.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/battlecruiser.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/battlecruiser.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/beetle.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/beetle.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bellowing-tyrant.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bellowing-tyrant.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bigwig-bandit.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bigwig-bandit.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bile-spitter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bile-spitter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bird-buddy.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bird-buddy.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/black-chromadrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/black-chromadrake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blazing-skyfin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blazing-skyfin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bloodsnout-warlord.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bloodsnout-warlord.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blue-chromadrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blue-chromadrake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blue-volumizer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blue-volumizer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blue-whelp.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/blue-whelp.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bluesy-siren.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bluesy-siren.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/boar-gamer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/boar-gamer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bongo-bopper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bongo-bopper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bonker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bonker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/brazen-buccaneer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/brazen-buccaneer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/briarback-bookie.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/briarback-bookie.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/briarback-drummer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/briarback-drummer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/briny-bootlegger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/briny-bootlegger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bristlebach.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bristlebach.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bristleback-bully.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bristleback-bully.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bristlemane-scrapsmith.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bronze-chromadrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bronze-chromadrake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bronze-steward.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bronze-steward.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bubble-gunner.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/bubble-gunner.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/budding-greenthumb.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/budding-greenthumb.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/burgeoning-whelp.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/buzzing-vermin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/buzzing-vermin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cadaver-caretaker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cadaver-caretaker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/campfire-shadow.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/campfire-shadow.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/canopy-swinger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/canopy-swinger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/captain-bonerender.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/captain-bonerender.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/carapace-raiser.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/carapace-raiser.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/carbonic-copy.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/carbonic-copy.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/carrier.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/carrier.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cataclysmic-harbinger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cataclysmic-harbinger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/champion-of-the-primus.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/champion-of-the-primus.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/charging-czarina.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/charging-czarina.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/charlga.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/charlga.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/charmwing.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/charmwing.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/choral-mrrrglr.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/choral-mrrrglr.js +0 -0
- /package/dist/{src/cards/impl/minion/bg352-chromadrake-pool.d.ts → cards/impl/minion/chromadrake-pool.d.ts} +0 -0
- /package/dist/{src/cards → cards}/impl/minion/clunker-junker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/clunker-junker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/coilskar-sapper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/coilskar-sapper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/coldlight-diver.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/coldlight-diver.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/colossus.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/colossus.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/consummate-conqueror.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/consummate-conqueror.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/conveyor-construct.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/conveyor-construct.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/corrupted-bristler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/corrupted-bristler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/corrupted-myrmidon.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/corrupted-myrmidon.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/costume-enthusiast.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/costume-enthusiast.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cousin-errgl.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cousin-errgl.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cruise-controller.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cruise-controller.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/crystal-infuser-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/crystal-infuser-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cupcake-peddler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/cupcake-peddler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dastardly-drust.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dastardly-drust.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deadstomper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deadstomper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deathly-striker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deathly-striker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deepwater-chieftain.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deepwater-chieftain.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/defiant-shipwright.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/defiant-shipwright.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deflecto-bot.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/deflecto-bot.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/determined-defender.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/determined-defender.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/devout-hellcaller.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/devout-hellcaller.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/diremuck-forager.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/diremuck-forager.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/disguised-graverobber.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/disguised-graverobber.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/divine-sparkbot.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/divine-sparkbot.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/draconic-warden.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/drakkari-embalmer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/drakkari-embalmer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dramaloc.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dramaloc.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dreaming-thornweaver.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dreaming-thornweaver.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/drustfallen-butcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/drustfallen-butcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dustbone-devastator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/dustbone-devastator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/earthsong-shaman.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/earthsong-shaman.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/echoing-roar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/echoing-roar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/efficient-engineer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/efficient-engineer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/elder-taggawag.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/elder-taggawag.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/electric-synthesizer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/electric-synthesizer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/elite-navigator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/elite-navigator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/enchanted-sentinel.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/enchanted-sentinel.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/eternal-tycoon.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/eternal-tycoon.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/exceptionnal-caretaker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/exceptionnal-caretaker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/expert-aviator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/expert-aviator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/expert-technician.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/expert-technician.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fairy-gillmother.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fairy-gillmother.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/falling-sky-golem.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/falling-sky-golem.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fauna-whisperer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fauna-whisperer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/felfire-conjurer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/felfire-conjurer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/felhorn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/felhorn.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/festergut.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/festergut.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fire-forged-evoker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fire-forged-evoker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/firelands-fugitive.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/firelands-fugitive.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/firescale-hoarder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/firescale-hoarder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fireworks-fanatic.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fireworks-fanatic.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/flighty-scout.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/flighty-scout.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/floating-watcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/floating-watcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/flotsam-flinger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/flotsam-flinger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/forest-rover.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/forest-rover.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/forsaken-weaver.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/forsaken-weaver.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fountain-chiller.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/fountain-chiller.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/friendly-bouncer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/friendly-bouncer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/friendly-geist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/friendly-geist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/frostwolf-lieutenant.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/frostwolf-lieutenant.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/futurefin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/futurefin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/geared-guard.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/geared-guard.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gem-rat.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gem-rat.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gem-smuggler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gem-smuggler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gemsplitter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gemsplitter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/general-drakkisath.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/general-drakkisath.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gentle-djinni.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gentle-djinni.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gentle-stag.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gentle-stag.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ghoul-of-the-feast.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ghoul-of-the-feast.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gilded-gargoyle.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gilded-gargoyle.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gleaming-trader.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gleaming-trader.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/glowgullet-warlord.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/glowgullet-warlord.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/glowing-cinder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/glowing-cinder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/goldgrubber.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/goldgrubber.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/goldrinn-the-great-wolf.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/goldrinn-the-great-wolf.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gormling-gourmet.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gormling-gourmet.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/grease-bot.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/grease-bot.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/greedy-snaketongue.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/greedy-snaketongue.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/green-chromadrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/green-chromadrake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/green-volumizer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/green-volumizer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/greenskeeper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/greenskeeper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/grimscale-elegist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/grimscale-elegist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gritty-headhunter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/gritty-headhunter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hackerfin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hackerfin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/handless-forsaken.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/handless-forsaken.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hardy-orca.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hardy-orca.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/harmless-bonehead.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/harmless-bonehead.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hawkstrider-herald.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hawkstrider-herald.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/heroic-underdog.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/heroic-underdog.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/highkeeper-ra.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/highkeeper-ra.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hoarding-hatespawn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hoarding-hatespawn.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hog-watcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hog-watcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/holo-rover.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/holo-rover.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hot-springer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hot-springer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/humming-bird.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/humming-bird.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/humongozz.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/humongozz.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hungry-snapjaw.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hungry-snapjaw.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hunter-of-gatherers.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hunter-of-gatherers.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hunting-tiger-shark.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hunting-tiger-shark.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hydralisk.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/hydralisk.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/icesnarl-the-mighty.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/icesnarl-the-mighty.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ignition-specialist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ignition-specialist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/immortal.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/immortal.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/implant-subject.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/implant-subject.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/imposing-percussionist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/imposing-percussionist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/impulsive-trickster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/impulsive-trickster.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/incubation-researcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/indomitable-mount.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/indomitable-mount.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/inspiring-underdog.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/inspiring-underdog.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/interrogator-whitemane.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/interrogator-whitemane.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/irate-rooster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/irate-rooster.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/jelly-belly.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/jelly-belly.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/junk-jouster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/junk-jouster.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/kalecgos-arcane-aspect.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/kalecgos-arcane-aspect.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/kangors-apprentice.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/kangors-apprentice.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/karmic-chameleon.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/karmic-chameleon.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/king-bagurgle.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/king-bagurgle.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/leeroy-the-reckless.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/leeroy-the-reckless.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/leyline-surfacer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/leyline-surfacer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lightfang-enforcer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lightfang-enforcer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lightfeather-screecher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lightfeather-screecher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/living-azerite.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/living-azerite.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lokholar-frostforger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lokholar-frostforger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lord-of-the-ruins.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lord-of-the-ruins.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lost-city-looter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lost-city-looter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lovesick-balladist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lovesick-balladist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/low-flier.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/low-flier.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lurker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lurker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lurking-leviathan.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/lurking-leviathan.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/magicfin-apprentice.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/magicfin-apprentice.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/malorne.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/malorne.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mama-mrrglton.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mama-mrrglton.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/manasaber.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/manasaber.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mantid-queen.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mantid-queen.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/marquee-ticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/marquee-ticker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/master-gadrin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/master-gadrin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/maw-caster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/maw-caster.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mecha-jaraxxus.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mecha-jaraxxus.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mechagnome-interpreter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mechagnome-interpreter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mechanized-gift-horse.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mechanized-gift-horse.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mechorse.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mechorse.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/menagerie-jug.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/menagerie-jug.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/metal-dispenser.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/metal-dispenser.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/metallic-hunter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/metallic-hunter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/misfit-dragonling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/misfit-dragonling.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/monstrosity.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/monstrosity.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/monstrous-macaw.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/monstrous-macaw.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/moon-bacon-jazzer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/moon-bacon-jazzer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/moonsteel-juggernaut.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/moonsteel-juggernaut.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mothership.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mothership.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mummifier.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mummifier.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murcules.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murcules.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murkbrine-expeditioner.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murkbrine-expeditioner.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murky-spash-fisher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murky-spash-fisher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murky.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/murky.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mutalisk.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mutalisk.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mutated-lasher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mutated-lasher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mythrax.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/mythrax.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nalaa-the-redeemer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nalaa-the-redeemer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/neon-agent.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/neon-agent.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nerubian-deathswarmer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nerubian-deathswarmer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nest-swarmer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nest-swarmer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nether-drake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nether-drake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nightbane-ignited.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nightbane-ignited.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nightmare-par-tea-guest.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nightmare-par-tea-guest.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nimble-hatchling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/nimble-hatchling.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/niuzao.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/niuzao.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/noisul-of-the-many-faces.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/noisul-of-the-many-faces.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/obisidian-ravager.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/obisidian-ravager.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/oozeling-gladiator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/oozeling-gladiator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/operatic-belcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/operatic-belcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/oranomonos-the-wilted.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/oranomonos-the-wilted.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/outback-smolderer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/outback-smolderer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/paint-smudger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/paint-smudger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/papa-mrrglton.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/papa-mrrglton.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/parched-wanderer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/parched-wanderer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/pashmar-the-vengeful.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/pashmar-the-vengeful.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/peggy-sturdybone.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/peggy-sturdybone.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/photobomber.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/photobomber.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/pilot-the-shredder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/pilot-the-shredder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/piloted-whirl-o-tron.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/piloted-whirl-o-tron.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/plaguerunner.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/plaguerunner.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/plankwalker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/plankwalker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/polarizing-beatboxer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/polarizing-beatboxer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/poultron.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/poultron.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/primalfin-lookout.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/primalfin-lookout.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/primeval-monstrosity.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/primeval-monstrosity.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/prized-promo-drake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/prized-promo-drake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/prodigious-tusker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/prodigious-tusker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/profound-thinker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/profound-thinker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/psychus.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/psychus.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/pufferquil.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/pufferquil.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/radio-star.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/radio-star.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rampager.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rampager.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rapscallion-recruiter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rapscallion-recruiter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/raptor-elder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/raptor-elder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorfen-flapper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorfen-flapper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorfen-geomancer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorfen-geomancer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorfen-vineweaver.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorfen-vineweaver.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorgore-the-untamed.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/razorgore-the-untamed.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/reckless-cliffdiver.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/reckless-cliffdiver.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/red-chromadrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/red-chromadrake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/red-volumizer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/red-volumizer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/red-whelp.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/red-whelp.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/redtusk-thornraiser.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/redtusk-thornraiser.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/relentless-deflector.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/relentless-deflector.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rickety-repairbot.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rickety-repairbot.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ride-or-die.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ride-or-die.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ring-bearer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ring-bearer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ripsnarl-captain.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ripsnarl-captain.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roach.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roach.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roadboar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roadboar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roaring-rallier.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roaring-rallier.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rodeo-performer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rodeo-performer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roving-sailor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/roving-sailor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ruins-renovator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ruins-renovator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/runed-progenitor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/runed-progenitor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ruthless-queensguard.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ruthless-queensguard.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rylak-metalhead.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/rylak-metalhead.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/salty-hog.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/salty-hog.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sanctum-rester.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sanctum-rester.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sand-swirler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sand-swirler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sandy.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sandy.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sanguine-refiner.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sanguine-refiner.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sanlayn-scribe.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sanlayn-scribe.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scallywag.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scallywag.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scarlet-skull.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scarlet-skull.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scarlet-survivor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scarlet-survivor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scourfin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scourfin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scourge-harvester.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scourge-harvester.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scrap-scraper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/scrap-scraper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/seafloor-recruiter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/seafloor-recruiter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/selfless-hero.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/selfless-hero.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sewer-lord.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sewer-lord.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sewer-rat.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sewer-rat.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shadowdancer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shadowdancer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shadowy-construct.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shadowy-construct.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sharp-eyed-sabretooth.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sharp-eyed-sabretooth.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sharptooth-snapper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sharptooth-snapper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shell-collector.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shell-collector.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ship-jumper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ship-jumper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ship-master-eudora.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ship-master-eudora.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shipwrecked-rascal.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shipwrecked-rascal.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shore-marauder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/shore-marauder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/showy-cyclist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/showy-cyclist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silent-enforcer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silithid-burrower.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silithid-burrower.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silky-shimmermoth.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silky-shimmermoth.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silver-handed-recruit.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/silver-handed-recruit.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sinodorei-straight-shot.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sinodorei-straight-shot.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/skeletal-strafer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/skeletal-strafer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/skulking-bristlemane.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/skulking-bristlemane.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sky-pirate-flagbearer-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sky-pirate-flagbearer-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sky-pirate-flagbearer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sky-pirate-flagbearer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sleepy-supporter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sleepy-supporter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/slumber-sorcerer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/slumber-sorcerer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sly-raptor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sly-raptor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/smolderwing.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/smolderwing.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/snack-vendor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/snack-vendor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/soul-rewinder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/soul-rewinder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/soulsplitter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/soulsplitter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spacefarer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spacefarer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spellbound-soul.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spellbound-soul.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spirit-drake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spirit-drake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spirit-of-air.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spirit-of-air.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spirited-whimsydrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/spirited-whimsydrake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/springy-spriggan.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/springy-spriggan.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stalwart-kodo.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stalwart-kodo.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stellar-freebooter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stitched-salvager.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stitched-salvager.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stomping-stegodon-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stomping-stegodon-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stomping-stegodon.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stomping-stegodon.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stoneshell-guardian.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stoneshell-guardian.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stormpike-lieutenant.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stormpike-lieutenant.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stray-satyr.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stray-satyr.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/stuntdrake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sun-screener.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sun-screener.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sundered-matriarch.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sundered-matriarch.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sunken-advocate.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/sunken-advocate.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/super-constructor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/super-constructor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/surf-n-surf-crab-riding.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/surf-n-surf-crab-riding.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/surfing-slyvar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/surfing-slyvar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/swampstriker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/swampstriker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tamuzo.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tamuzo.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/the-glad-iator.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/the-glad-iator.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/the-last-one-standing.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/the-last-one-standing.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/the-uninvited-guest.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/the-uninvited-guest.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/thorncaller.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/thorncaller.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/thousandth-paper-drake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/thousandth-paper-drake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/three-lil-quilboar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/three-lil-quilboar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/thundering-abomination.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/thundering-abomination.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tichondrius.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tichondrius.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tide-raiser.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tide-raiser.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tidemistress-athissa.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tidemistress-athissa.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-alleycat.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-alleycat.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-archimonde.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-archimonde.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-arm.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-arm.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bassgill.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bassgill.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bloodbinder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bloodbinder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bonker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bonker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-botani.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-botani.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bristler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-bristler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-calligrapher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-calligrapher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-caretaker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-caretaker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-centurion.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-centurion.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-chameleon.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-chameleon.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-chimera.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-chimera.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-clefthoof.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-clefthoof.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-collector.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-collector.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-copter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-copter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-deadstomper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-deadstomper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-deathswarmer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-deathswarmer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-dragonling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-dragonling.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-duskmaw.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-duskmaw.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-electron.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-electron.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-elegist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-elegist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-embalmer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-embalmer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-expeditioner.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-expeditioner.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-festergut.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-festergut.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-geist.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-geist.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-gemsplitter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-gemsplitter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-geomancer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-geomancer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-ghoul-acabra.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-ghoul-acabra.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-goldrinn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-goldrinn.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-grease-bot.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-grease-bot.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-greenskeeper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-greenskeeper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-guard.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-guard.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hawkstrider.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hawkstrider.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hooktail.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hooktail.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hunter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hunter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hyena.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-hyena.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-icky-imp.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-icky-imp.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-immortal.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-immortal.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-interpreter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-interpreter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-jazzer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-jazzer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-jelly-belly.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-jelly-belly.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-jungle-king.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-jungle-king.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-karathress.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-karathress.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-kilrek.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-kilrek.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-lab-rat.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-lab-rat.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-lil-quilboar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-lil-quilboar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-low-flier.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-low-flier.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-magnanimoose.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-magnanimoose.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-mothership.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-mothership.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-mrrrglr.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-mrrrglr.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-murcules.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-murcules.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-murk-eye.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-murk-eye.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-murky.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-murky.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-mythraw.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-mythraw.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-nalaa.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-nalaa.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-nellies-ship.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-nellies-ship.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-nest-swarmer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-nest-swarmer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-painter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-painter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-paleofin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-paleofin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-pashmar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-pashmar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-peggy.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-peggy.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-pillager.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-pillager.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-piper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-piper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-primscale.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-primscale.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-probius.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-probius.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-promo-drake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-promo-drake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-radio-star.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-radio-star.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-ragnaros.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-ragnaros.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-recycler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-recycler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-red-whelp.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-red-whelp.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-rewinder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-rewinder.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-riplash.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-riplash.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sapper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sapper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-saurolisk.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-saurolisk.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-scourfin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-scourfin.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sea-glass.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sea-glass.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sellemental.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sellemental.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sensei.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sensei.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-shadowdancer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-shadowdancer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-spirit-of-air.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-spirit-of-air.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sporebat.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sporebat.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-steamer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-steamer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-stone-drake.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-stone-drake.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-stoneshell.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-stoneshell.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-stormcloud.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-stormcloud.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-substrate.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-substrate.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-swirler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-swirler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sylvar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-sylvar.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tamuzo.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tamuzo.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tender.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tender.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-thorncaller.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-thorncaller.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tide-razor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tide-razor.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tony.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-tony.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-traveler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-traveler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-trickster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-trickster.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-twirler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-twirler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-ultralisk.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-ultralisk.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-vaelastrasz.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-vaelastrasz.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-wargear.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-wargear.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-warghoul.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-warghoul.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-whelp-smuggler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/timewarped-whelp-smuggler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tomb-pillager.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tomb-pillager.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/transmuted-bramblewitch.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/transmuted-bramblewitch.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/trench-fighter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/trench-fighter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tunnel-blaster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tunnel-blaster.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/turquoise-skitterer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/turquoise-skitterer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tusked-camper.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/tusked-camper.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-broodmother.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-broodmother.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-hatchling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-hatchling.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-primordium.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-primordium.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-watcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/twilight-watcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ultralisk.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ultralisk.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ultraviolet-ascendant.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/ultraviolet-ascendant.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/unforgiving-treant.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/unforgiving-treant.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/utility-drone.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/utility-drone.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vaelastrasz.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vaelastrasz.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/valiant-tiger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/valiant-tiger.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vengeful-protector.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vengeful-protector.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/very-hungry-winterfinner.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/very-hungry-winterfinner.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vinespeaker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vinespeaker.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/void-earl.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/void-earl.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/void-pup-trainer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/void-pup-trainer.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/void-ray.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/void-ray.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vorkai-guardian.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/vorkai-guardian.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wandering-wight.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wandering-wight.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/weebomination.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/weebomination.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whelp-smuggler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whelp-smuggler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whelp-watcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whelp-watcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whirling-lass-o-matic.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whirling-lass-o-matic.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whirring-protector-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whirring-protector-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whirring-protector.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/whirring-protector.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wildfire-elemental.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wildfire-elemental.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wisp-in-the-shell.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wisp-in-the-shell.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/witchwing-nestmatron.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/witchwing-nestmatron.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/woodland-defiler.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/woodland-defiler.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wrathscale-rogue.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wrathscale-rogue.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wyvern-outrider.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/wyvern-outrider.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/yorik-smite.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/yorik-smite.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/young-murk-eye.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/young-murk-eye.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/yrel.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/yrel.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/yulon-fortune-granter.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/yulon-fortune-granter.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/zergling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/zergling.js +0 -0
- /package/dist/{src/cards → cards}/impl/minion/zippers.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/minion/zippers.js +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/evil-twin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/evil-twin.js +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/righteous-charge.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/righteous-charge.js +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/staff-of-origination.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/staff-of-origination.js +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/stolen-gold.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/quest-reward/stolen-gold.js +0 -0
- /package/dist/{src/cards → cards}/impl/spell/fleeting-vigor.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spell/fleeting-vigor.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/anglers-lure.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/anglers-lure.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/azsharas-hatchery.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/azsharas-hatchery.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/crab-mount.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/crab-mount.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/deep-blues.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/deep-blues.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/escape-eruption.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/escape-eruption.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/evolving-strategy.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/evolving-strategy.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/glowing-crown.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/glowing-crown.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/gold-gun.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/gold-gun.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/harvested-pearl.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/harvested-pearl.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/just-keep-swimming.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/just-keep-swimming.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/meditation.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/meditation.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/mini-trident.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/mini-trident.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/reinvigoration.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/reinvigoration.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/rime-or-reason.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/rime-or-reason.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/rushing-winds.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/rushing-winds.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/sick-riffs.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/sick-riffs.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/sunken-spells.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/sunken-spells.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/surging-scales.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/surging-scales.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/thaumaturgy.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/thaumaturgy.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/the-golden-hammer.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/the-golden-hammer.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/timewarped-crown.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/timewarped-crown.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/timewarped-eelectrify.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/timewarped-eelectrify.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/timewarped-shoal.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/timewarped-shoal.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/undersea-mount.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/undersea-mount.js +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/veterans-tactics.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/spellcraft/veterans-tactics.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/all-purpose-kibble.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/all-purpose-kibble.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/archaic-scroll.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/archaic-scroll.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/arm-of-the-empire.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/arm-of-the-empire.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/artisanal-urn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/artisanal-urn.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/automaton-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/automaton-portrait.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/baleful-incense.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/baleful-incense.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bassgill-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bassgill-portrait.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/battle-horn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/battle-horn.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/beetle-band.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/beetle-band.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bewitched-ribbon.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bewitched-ribbon.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bird-feeder.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bird-feeder.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/blood-amulet.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/blood-amulet.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bloodbound-earrings.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bluegill-flippers.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bronze-timepiece.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bronze-timepiece.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bubble-crown.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/bubble-crown.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/cloud-serpent-horn.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/cloud-serpent-horn.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/comfy-coffin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/comfy-coffin.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/copper-coil.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/copper-coil.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/coral-spear.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/coral-spear.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/crocheted-sungill.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/crocheted-sungill.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/daggerspine-thrasher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/daggerspine-thrasher.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/divine-signet.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/divine-signet.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/dramaloc-sticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/dramaloc-sticker.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/eclectic-shrine.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/eclectic-shrine.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/emerald-dreamcatcher.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/emerald-dreamcatcher.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/eternal-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/eternal-portrait.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/faerie-dragon-scale.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/faerie-dragon-scale.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/fang-anklet.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/fang-anklet.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/felburned-ledger.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/felburned-ledger.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/fishy-sticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/fishy-sticker.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/fridge-magnet.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/fridge-magnet.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/ghostly-ymirjar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/ghostly-ymirjar.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/gilnean-thorned-rose.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/gilnean-thorned-rose.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/glowscale-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/glowscale-portrait.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/heart-of-the-forest.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/herald-sticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/herald-sticker.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/hoggy-bank.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/hoggy-bank.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/hogwash-basin.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/hogwash-basin.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/holly-mallet.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/holly-mallet.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/ironforge-anvil.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/ironforge-anvil.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/jar-o-gems.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/jar-o-gems.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/jarred-frostling.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/jarred-frostling.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/karazhan-chess-set.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/karazhan-chess-set.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/lorewalker-scroll.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/lorewalker-scroll.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/miniature-ship.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/miniature-ship.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/powder-keg-enchantment.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/powder-keg-enchantment.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/powder-keg.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/powder-keg.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/protective-ring.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/protective-ring.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/quilligraphy-set.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/quilligraphy-set.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/reinforced-shield.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/reinforced-shield.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/rivendare-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/rivendare-portrait.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/rusty-trident.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/rusty-trident.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/saltscale-honcho.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/saltscale-honcho.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/sepulchral-sergent.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/sepulchral-sergent.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/ship-in-a-bottle.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/ship-in-a-bottle.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/slamma-sticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/slamma-sticker.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/stegodon-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/sthara-sticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/sthara-sticker.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/summoning-sphere.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/summoning-sphere.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/thornspike-pauldron.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/thornspike-pauldron.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/tide-raiser-portrait.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/tide-raiser-portrait.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/tiger-carving-token.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/tiger-carving-token.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/tinyfin-onesie.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/tinyfin-onesie.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/training-certificate.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/training-certificate.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/trusty-crowbar.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/trusty-crowbar.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/unholy-sanctum.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/valorous-medaillion.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/valorous-medaillion.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/vashjir-anemone.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/vashjir-anemone.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/wicked-tome.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/wicked-tome.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/wildfeather-duster.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/wildfeather-duster.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/wintergrasp-ghoul.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/wintergrasp-ghoul.js +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/yulon-sticker.d.ts +0 -0
- /package/dist/{src/cards → cards}/impl/trinket/yulon-sticker.js +0 -0
- /package/dist/{src/debug-state.d.ts → debug-state.d.ts} +0 -0
- /package/dist/{src/debug-state.js → debug-state.js} +0 -0
- /package/dist/{src/input-clone.d.ts → input-clone.d.ts} +0 -0
- /package/dist/{src/input-clone.js → input-clone.js} +0 -0
- /package/dist/{src/input-sanitation.d.ts → input-sanitation.d.ts} +0 -0
- /package/dist/{src/input-sanitation.js → input-sanitation.js} +0 -0
- /package/dist/{src/keywords → keywords}/divine-shield.d.ts +0 -0
- /package/dist/{src/keywords → keywords}/divine-shield.js +0 -0
- /package/dist/{src/keywords → keywords}/reborn.d.ts +0 -0
- /package/dist/{src/keywords → keywords}/reborn.js +0 -0
- /package/dist/{src/keywords → keywords}/stealth.d.ts +0 -0
- /package/dist/{src/keywords → keywords}/stealth.js +0 -0
- /package/dist/{src/keywords → keywords}/taunt.d.ts +0 -0
- /package/dist/{src/keywords → keywords}/taunt.js +0 -0
- /package/dist/{src/keywords → keywords}/venomous.d.ts +0 -0
- /package/dist/{src/keywords → keywords}/venomous.js +0 -0
- /package/dist/{src/keywords → keywords}/windfury.d.ts +0 -0
- /package/dist/{src/keywords → keywords}/windfury.js +0 -0
- /package/dist/{src/mechanics → mechanics}/cast-tavern-spell.d.ts +0 -0
- /package/dist/{src/mechanics → mechanics}/cast-tavern-spell.js +0 -0
- /package/dist/{src/mechanics → mechanics}/player-global-effects.d.ts +0 -0
- /package/dist/{src/mechanics → mechanics}/player-global-effects.js +0 -0
- /package/dist/{src/mechanics → mechanics}/rally.d.ts +0 -0
- /package/dist/{src/mechanics → mechanics}/rally.js +0 -0
- /package/dist/{src/mechanics → mechanics}/tavern-spell-repeat.d.ts +0 -0
- /package/dist/{src/mechanics → mechanics}/tavern-spell-repeat.js +0 -0
- /package/dist/{src/services → services}/card-ids.d.ts +0 -0
- /package/dist/{src/services → services}/card-ids.js +0 -0
- /package/dist/{src/services → services}/hand-minion-priority.d.ts +0 -0
- /package/dist/{src/services → services}/hand-minion-priority.js +0 -0
- /package/dist/{src/services → services}/utils.d.ts +0 -0
- /package/dist/{src/services → services}/utils.js +0 -0
- /package/dist/{src/simulate-bgs-battle.d.ts → simulate-bgs-battle.d.ts} +0 -0
- /package/dist/{src/simulate-bgs-battle.js → simulate-bgs-battle.js} +0 -0
- /package/dist/{src/simulation → simulation}/add-minion-to-board.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/add-minion-to-board.js +0 -0
- /package/dist/{src/simulation → simulation}/after-attack.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/after-attack.js +0 -0
- /package/dist/{src/simulation → simulation}/attack.js +0 -0
- /package/dist/{src/simulation → simulation}/auras.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/auras.js +0 -0
- /package/dist/{src/simulation → simulation}/avenge.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/avenge.js +0 -0
- /package/dist/{src/simulation → simulation}/battlecries.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/battlecries.js +0 -0
- /package/dist/{src/simulation → simulation}/blood-gems.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/blood-gems.js +0 -0
- /package/dist/{src/simulation → simulation}/cards-in-hand.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/cards-in-hand.js +0 -0
- /package/dist/{src/simulation → simulation}/damage-effects.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/damage-effects.js +0 -0
- /package/dist/{src/simulation → simulation}/damage-to-hero.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/damage-to-hero.js +0 -0
- /package/dist/{src/simulation → simulation}/death-effects.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-effects.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-on-trigger.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-on-trigger.js +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-orchestration.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-orchestration.js +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-spawns.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-spawns.js +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-utils.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/deathrattle-utils.js +0 -0
- /package/dist/{src/simulation → simulation}/discover.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/discover.js +0 -0
- /package/dist/{src/simulation → simulation}/enchantments.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/enchantments.js +0 -0
- /package/dist/{src/simulation → simulation}/frenzy.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/frenzy.js +0 -0
- /package/dist/{src/simulation → simulation}/internal-game-state.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/internal-game-state.js +0 -0
- /package/dist/{src/simulation → simulation}/magnetize.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/magnetize.js +0 -0
- /package/dist/{src/simulation → simulation}/minion-death.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/minion-death.js +0 -0
- /package/dist/{src/simulation → simulation}/minion-kill.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/minion-kill.js +0 -0
- /package/dist/{src/simulation → simulation}/on-attack.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/on-attack.js +0 -0
- /package/dist/{src/simulation → simulation}/on-being-attacked.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/on-being-attacked.js +0 -0
- /package/dist/{src/simulation → simulation}/quest.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/quest.js +0 -0
- /package/dist/{src/simulation → simulation}/reborn.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/reborn.js +0 -0
- /package/dist/{src/simulation → simulation}/remembered-deathrattle.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/remembered-deathrattle.js +0 -0
- /package/dist/{src/simulation → simulation}/remove-minion-from-board.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/remove-minion-from-board.js +0 -0
- /package/dist/{src/simulation → simulation}/secrets.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/secrets.js +0 -0
- /package/dist/{src/simulation → simulation}/shared-state.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/shared-state.js +0 -0
- /package/dist/{src/simulation → simulation}/simulator.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/simulator.js +0 -0
- /package/dist/{src/simulation → simulation}/spawn-fail.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/spawn-fail.js +0 -0
- /package/dist/{src/simulation → simulation}/spawns.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/spawns.js +0 -0
- /package/dist/{src/simulation → simulation}/spectator/game-action.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/spectator/game-action.js +0 -0
- /package/dist/{src/simulation → simulation}/spectator/game-sample.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/spectator/game-sample.js +0 -0
- /package/dist/{src/simulation → simulation}/spectator/spectator.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/spectator/spectator.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/phases.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/phases.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-action-processor.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-anomalies.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-anomalies.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-hero-power.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-hero-power.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-illidan-hero-power.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-illidan-hero-power.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-minion.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-minion.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-pre-combat-hero-power.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-pre-combat-hero-power.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-quest-reward.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-quest-reward.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-secret.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-secret.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-trinket.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/soc-trinket.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/start-of-combat-input.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/start-of-combat-input.js +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/start-of-combat.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/start-of-combat/start-of-combat.js +0 -0
- /package/dist/{src/simulation → simulation}/stats.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/summon-when-space.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/summon-when-space.js +0 -0
- /package/dist/{src/simulation → simulation}/utils/entity-utils.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/utils/entity-utils.js +0 -0
- /package/dist/{src/simulation → simulation}/utils/golden.d.ts +0 -0
- /package/dist/{src/simulation → simulation}/utils/golden.js +0 -0
- /package/dist/{src/simulation-result.d.ts → simulation-result.d.ts} +0 -0
- /package/dist/{src/simulation-result.js → simulation-result.js} +0 -0
- /package/dist/{src/single-simulation-result.d.ts → single-simulation-result.d.ts} +0 -0
- /package/dist/{src/single-simulation-result.js → single-simulation-result.js} +0 -0
- /package/dist/{src/temp-card-ids.d.ts → temp-card-ids.d.ts} +0 -0
- /package/dist/{src/temp-card-ids.js → temp-card-ids.js} +0 -0
- /package/dist/{src/utils.d.ts → utils.d.ts} +0 -0
- /package/dist/{src/utils.js → utils.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hand-minion-priority.js","sourceRoot":"","sources":["../../../src/services/hand-minion-priority.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AAOjD,MAAM,2BAA2B,GAAG,CAC1C,IAAwC,EACxC,KAAa,EACb,cAA2C,EAC3B,EAAE;IAClB,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,IAAI,KAAK,IAAI,CAAC,EAAE;QAChC,OAAO,EAAE,CAAC;KACV;IACD,MAAM,MAAM,GAAG,IAAI;SACjB,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QACpB,MAAM,OAAO,GAAG,CAAC,MAAA,CAAC,CAAC,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,KAAK,CAAC,EAAE;YAClB,OAAO,OAAO,CAAC;SACf;QACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAnBW,QAAA,2BAA2B,+BAmBtC;AAEK,MAAM,qBAAqB,GAAG,CACpC,MAAmB,EACnB,aAAiD,EACvC,EAAE;IACZ,OAAO,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,yBAAQ,CAAC,yBAAQ,CAAC,MAAM,CAAC,CAAC;AACzG,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC","sourcesContent":["import { CardType } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../board-entity';\r\n\r\n/**\r\n * Minions in hand with the highest current Attack (ties: earlier in hand wins).\r\n * Used by Expert Aviator, Diremuck Forager, etc.\r\n */\r\nexport const getHighestAttackHandMinions = (\r\n\thand: readonly BoardEntity[] | undefined,\r\n\tcount: number,\r\n\tisMinionInHand: (e: BoardEntity) => boolean,\r\n): BoardEntity[] => {\r\n\tif (!hand?.length || count <= 0) {\r\n\t\treturn [];\r\n\t}\r\n\tconst scored = hand\r\n\t\t.map((entity, index) => ({ entity, index }))\r\n\t\t.filter(({ entity }) => isMinionInHand(entity));\r\n\tscored.sort((a, b) => {\r\n\t\tconst atkDiff = (b.entity.attack ?? 0) - (a.entity.attack ?? 0);\r\n\t\tif (atkDiff !== 0) {\r\n\t\t\treturn atkDiff;\r\n\t\t}\r\n\t\treturn a.index - b.index;\r\n\t});\r\n\treturn scored.slice(0, count).map((s) => s.entity);\r\n};\r\n\r\nexport const isHandMinionCandidate = (\r\n\tentity: BoardEntity,\r\n\tcardTypeUpper: (id: string) => string | undefined,\r\n): boolean => {\r\n\treturn !!entity?.cardId && !entity.locked && cardTypeUpper(entity.cardId) === CardType[CardType.MINION];\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/services/utils.ts"],"names":[],"mappings":";;;AACA,gDAA4C;AAE5C,SAAS,cAAc,CAAI,KAAmB,EAAE,aAAqB;IACpE,MAAM,WAAW,GAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,OAAO,WAAW,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;KAClD;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAkBQ,wCAAc;AAhBvB,KAAK,UAAU,KAAK,CAAC,EAAE;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAcwB,sBAAK;AAZvB,MAAM,eAAe,GAC3B,CAAI,YAAyC,EAAE,EAAE,CACjD,CAAC,KAAmB,EAAmC,EAAE;IACxD,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,GAAG,EAAE,EAAE;;QACtD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,iBAAiB,CAAC,KAAK,CAAC,GAAG,MAAA,iBAAiB,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;QAE1D,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;AACR,CAAC,CAAC;AAVU,QAAA,eAAe,mBAUzB;AAMH,SAAgB,UAAU,CAAI,KAAmB,EAAE,YAA0B;IAC5E,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,EAAE;QACnB,OAAO,IAAI,CAAC;KACZ;IACD,IACC,YAAY;QACZ,wBAAU,CAAC,MAAM;QACjB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC5B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;QAChB,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,EACrB;QACD,MAAM,MAAM,GAAG,wBAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAU,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5G,IAAI,MAAM,EAAE;YACX,MAAM,KAAK,GAAI,KAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAU,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAE5G,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACzB,wBAAU,CAAC,iBAAiB,GAAG,wBAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;aACxF;YACD,IAAI,KAAK,EAAE;gBACV,OAAO,KAAU,CAAC;aAClB;SACD;KACD;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAzBD,gCAyBC;AAEM,MAAM,kBAAkB,GAAG,CAAI,KAAmB,EAAE,QAAgB,EAAO,EAAE;IACnF,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,YAAY,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1B;KACD;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,eAAe,GAAG,CAAC,KAAoB,EAAe,EAAE;IACpE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,uBAAuB,GAAG,CAAC,KAAoB,EAAE,QAAgB,EAAiB,EAAE;IAChG,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9G,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,YAAY,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1B;KACD;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,uBAAuB,2BAUlC;AAEK,MAAM,sBAAsB,GAAG,CAAC,KAAoB,EAAe,EAAE;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AANW,QAAA,sBAAsB,0BAMjC;AAEK,MAAM,sBAAsB,GAAG,CAAC,KAAoB,EAAe,EAAE;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AANW,QAAA,sBAAsB,0BAMjC;AAEK,MAAM,uBAAuB,GAAG,CAAC,KAAoB,EAAe,EAAE;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,MAAM,yBAAyB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEK,MAAM,uBAAuB,GAAG,CAAC,KAAoB,EAAe,EAAE;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,MAAM,yBAAyB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEK,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;IAE/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB;AAEK,MAAM,MAAM,GAAG,CAAC,MAAc,EAAU,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAJW,QAAA,MAAM,UAIjB;AAEK,MAAM,2BAA2B,GAAG,CAAI,IAAS,EAAE,CAAS,EAAO,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC;AAHW,QAAA,2BAA2B,+BAGtC;AAGK,MAAM,YAAY,GAAG,CAAI,KAAU,EAAO,EAAE;IAClD,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,IAAI,WAAW,GAAG,CAAC,CAAC;IAGpB,OAAO,YAAY,IAAI,CAAC,EAAE;QAEzB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC;QACvD,YAAY,EAAE,CAAC;QAGf,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;KACtF;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB;AAEK,MAAM,QAAQ,GAAG,CACvB,KAAmB,EACnB,SAAkE,EAC9D,EAAE;IACN,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;QACrB,OAAO,IAAI,CAAC;KACZ;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB","sourcesContent":["import { BoardEntity } from '../board-entity';\r\nimport { debugState } from '../debug-state';\r\n\r\nfunction partitionArray<T>(array: readonly T[], partitionSize: number): readonly T[][] {\r\n\tconst workingCopy: T[] = [...array];\r\n\tconst result: T[][] = [];\r\n\twhile (workingCopy.length) {\r\n\t\tresult.push(workingCopy.splice(0, partitionSize));\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nasync function sleep(ms) {\r\n\treturn new Promise((resolve) => setTimeout(resolve, ms));\r\n}\r\n\r\nexport const groupByFunction =\r\n\t<T>(keyExtractor: (obj: T) => string | number) =>\r\n\t(array: readonly T[]): { [key: string]: readonly T[] } => {\r\n\t\treturn (array ?? []).reduce((objectsByKeyValue, obj) => {\r\n\t\t\tconst value = keyExtractor(obj);\r\n\t\t\tobjectsByKeyValue[value] = objectsByKeyValue[value] ?? [];\r\n\t\t\t// Using push instead of concat is thousands of times faster on big arrays\r\n\t\t\tobjectsByKeyValue[value].push(obj);\r\n\t\t\treturn objectsByKeyValue;\r\n\t\t}, {});\r\n\t};\r\n\r\nexport { partitionArray, sleep };\r\n\r\nexport function pickRandom<T>(array: readonly T[]): T;\r\nexport function pickRandom<T extends BoardEntity>(array: readonly T[], sourceEntity: BoardEntity): T;\r\nexport function pickRandom<T>(array: readonly T[], sourceEntity?: BoardEntity): T {\r\n\tif (!array?.length) {\r\n\t\treturn null;\r\n\t}\r\n\tif (\r\n\t\tsourceEntity &&\r\n\t\tdebugState.active &&\r\n\t\tarray.length > 0 &&\r\n\t\ttypeof array[0] === 'object' &&\r\n\t\tarray[0] != null &&\r\n\t\t'entityId' in array[0]\r\n\t) {\r\n\t\tconst forced = debugState.forcedRandomPicks.find((p) => debugState.isCorrectEntity(p.source, sourceEntity));\r\n\t\tif (forced) {\r\n\t\t\tconst match = (array as unknown as BoardEntity[]).find((c) => debugState.isCorrectEntity(forced.target, c));\r\n\t\t\t// Defer consumption when pick has chosenCardId - getRandomMagneticVolumizer will consume (e.g. Apexis Guardian)\r\n\t\t\tif (!forced.chosenCardId) {\r\n\t\t\t\tdebugState.forcedRandomPicks = debugState.forcedRandomPicks.filter((p) => p !== forced);\r\n\t\t\t}\r\n\t\t\tif (match) {\r\n\t\t\t\treturn match as T;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn array[Math.floor(Math.random() * array.length)];\r\n}\r\n\r\nexport const pickMultipleRandom = <T>(array: readonly T[], quantity: number): T[] => {\r\n\tconst picked: T[] = [];\r\n\tfor (let i = 0; i < quantity; i++) {\r\n\t\tconst target = array.filter((e) => !picked.includes(e));\r\n\t\tconst chosenEntity = pickRandom(target);\r\n\t\tif (!!chosenEntity) {\r\n\t\t\tpicked.push(chosenEntity);\r\n\t\t}\r\n\t}\r\n\treturn picked;\r\n};\r\n\r\nexport const pickRandomAlive = (board: BoardEntity[]): BoardEntity => {\r\n\tconst targetBoard = board.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\tconst chosenEntity = pickRandom(targetBoard);\r\n\treturn chosenEntity;\r\n};\r\n\r\nexport const pickMultipleRandomAlive = (board: BoardEntity[], quantity: number): BoardEntity[] => {\r\n\tconst picked: BoardEntity[] = [];\r\n\tfor (let i = 0; i < quantity; i++) {\r\n\t\tconst targetBoard = board.filter((e) => e.health > 0 && !e.definitelyDead).filter((e) => !picked.includes(e));\r\n\t\tconst chosenEntity = pickRandom(targetBoard);\r\n\t\tif (!!chosenEntity) {\r\n\t\t\tpicked.push(chosenEntity);\r\n\t\t}\r\n\t}\r\n\treturn picked;\r\n};\r\n\r\nexport const pickRandomLowestHealth = (board: BoardEntity[]): BoardEntity => {\r\n\tconst targetBoard = board.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\tconst lowestHealth = Math.min(...targetBoard.map((e) => e.health));\r\n\tconst entitiesWithLowestHealth = targetBoard.filter((e) => e.health === lowestHealth);\r\n\tconst chosenEntity = pickRandom(entitiesWithLowestHealth);\r\n\treturn chosenEntity;\r\n};\r\n\r\nexport const pickRandomLowestAttack = (board: BoardEntity[]): BoardEntity => {\r\n\tconst targetBoard = board.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\tconst lowestAttack = Math.min(...targetBoard.map((e) => e.attack));\r\n\tconst entitiesWithLowestAttack = targetBoard.filter((e) => e.attack === lowestAttack);\r\n\tconst chosenEntity = pickRandom(entitiesWithLowestAttack);\r\n\treturn chosenEntity;\r\n};\r\n\r\nexport const pickRandomHighestAttack = (board: BoardEntity[]): BoardEntity => {\r\n\tconst targetBoard = board.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\tconst highestAttack = Math.max(...targetBoard.map((e) => e.attack));\r\n\tconst entitiesWithHighestAttack = targetBoard.filter((e) => e.attack === highestAttack);\r\n\tconst chosenEntity = pickRandom(entitiesWithHighestAttack);\r\n\treturn chosenEntity;\r\n};\r\n\r\nexport const pickRandomHighestHealth = (board: BoardEntity[]): BoardEntity => {\r\n\tconst targetBoard = board.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\tconst highestHealth = Math.max(...targetBoard.map((e) => e.health));\r\n\tconst entitiesWithHighestHealth = targetBoard.filter((e) => e.health === highestHealth);\r\n\tconst chosenEntity = pickRandom(entitiesWithHighestHealth);\r\n\treturn chosenEntity;\r\n};\r\n\r\nexport const encode = (input: string): string => {\r\n\t// return compressToEncodedURIComponent(input);\r\n\tconst buff = Buffer.from(input, 'utf-8');\r\n\tconst base64 = buff.toString('base64');\r\n\treturn base64;\r\n};\r\n\r\nexport const decode = (base64: string): string => {\r\n\tconst buff = Buffer.from(base64, 'base64');\r\n\tconst str = buff.toString('utf-8');\r\n\treturn str;\r\n};\r\n\r\nexport const pickMultipleRandomDifferent = <T>(list: T[], n: number): T[] => {\r\n\tconst shuffled = shuffleArray([...list]);\r\n\treturn shuffled.slice(0, n);\r\n};\r\n\r\n// https://stackoverflow.com/a/2450976/548701\r\nexport const shuffleArray = <T>(array: T[]): T[] => {\r\n\tlet currentIndex = array.length;\r\n\tlet randomIndex = 0;\r\n\r\n\t// While there remain elements to shuffle...\r\n\twhile (currentIndex != 0) {\r\n\t\t// Pick a remaining element...\r\n\t\trandomIndex = Math.floor(Math.random() * currentIndex);\r\n\t\tcurrentIndex--;\r\n\r\n\t\t// And swap it with the current element.\r\n\t\t[array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];\r\n\t}\r\n\r\n\treturn array;\r\n};\r\n\r\nexport const findLast = <T>(\r\n\tarray: readonly T[],\r\n\tpredicate: (value: T, index: number, obj: readonly T[]) => unknown,\r\n): T => {\r\n\tconst filtred = array.filter(predicate);\r\n\tif (!filtred?.length) {\r\n\t\treturn null;\r\n\t}\r\n\tconst last = filtred[filtred.length - 1];\r\n\treturn last;\r\n};\r\n\r\nexport type Mutable<T> = {\r\n\t-readonly [P in keyof T]: T[P];\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simulate-bgs-battle.js","sourceRoot":"","sources":["../../src/simulate-bgs-battle.ts"],"names":[],"mappings":";;;AACA,iEAA+D;AAE/D,2DAAwE;AACxE,mDAA+C;AAC/C,gEAA2D;AAC3D,+CAA2C;AAC3C,+CAA4C;AAC5C,yDAAqD;AAIrD,4DAAwD;AACxD,sDAAmD;AACnD,gEAA6D;AAE7D,IAAI,WAAW,GAAG,IAAI,gCAAe,EAAE,CAAC;AAEjC,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAE,EAAE;IACrD,WAAW,GAAG,KAAK,CAAC;AACrB,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAKF,kBAAe,KAAK,EAAE,KAAK,EAAgB,EAAE;;IAC5C,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,CAAA,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO;KACP;IAED,MAAM,WAAW,GAAkB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,SAAS,CAAC,YAAY,CACrB,MAAA,MAAA,WAAW,CAAC,SAAS,0CAAE,WAAW,mCAAI,MAAA,WAAW,CAAC,OAAO,0CAAE,WAAW,EACtE,MAAA,MAAA,WAAW,CAAC,SAAS,0CAAE,SAAS,mCAAI,EAAE,CACtC,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAGrE,IAAI,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;KAC/B;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;IAGtC,MAAM,QAAQ,GAAG;QAChB,UAAU,EAAE,GAAG;QACf,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;KACtC,CAAC;IACF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,QAAQ,CAAC,EACtC,WAA0B,EAC1B,KAAsB,EACtB,SAAoB;;IAEpB,IAAI,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,0CAAE,MAAM,CAAA,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,yEAAyE,EAAE,KAAK,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,qBAAqB,GAAG,CAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,qBAAqB,KAAI,IAAI,CAAC;IACjF,MAAM,gCAAgC,GAAG,MAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,gCAAgC,mCAAI,KAAK,CAAC;IACxG,MAAM,mBAAmB,GAAG,CAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,mBAAmB,KAAI,IAAI,CAAC;IAC7E,MAAM,iBAAiB,GAAG,MAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,mBAAmB,mCAAI,GAAG,CAAC;IAC1E,MAAM,gBAAgB,GAAG,MAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,gBAAgB,mCAAI,GAAG,CAAC;IACtE,MAAM,qBAAqB,GAAG,MAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,qBAAqB,mCAAI,IAAI,CAAC;IACjF,MAAM,gBAAgB,GAAqB;QAC1C,SAAS,EAAE,CAAC;QACZ,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,SAAS;QAC3B,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;QACtB,iBAAiB,EAAE,SAAS;QAC5B,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,SAAS;KAC5B,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,qBAAqB,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAGlE,IAAI,WAAW,CAAC,UAAU,EAAE;QAC3B,wBAAU,CAAC,MAAM,GAAG,IAAI,CAAC;QACzB,wBAAU,CAAC,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAChF,wBAAU,CAAC,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;YAC3B,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;SAC3B,CAAC,CAAC,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAA,WAAW,CAAC,UAAU,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QAChE,wBAAU,CAAC,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;YACvB,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;YACvB,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;SACvD,CAAC,CAAC,CAAC;KACJ;IAED,IAAI;QACH,CAAC,CAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,YAAY,CAAA,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAkB,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC;YACrD,MAAM,UAAU,GAAkB,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAkB;gBAChC,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,IAAI,0BAAW,EAAE;gBAC9B,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;gBACxC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;gBACxC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS;gBACpC,SAAS,EAAE;oBACV,MAAM,EAAE;wBACP,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;wBAChC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK;wBAC9B,QAAQ,EAAE,KAAK,CAAC,mBAAmB;qBACnC;oBACD,QAAQ,EAAE;wBACT,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM;wBAClC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;wBAChC,QAAQ,EAAE,KAAK,CAAC,qBAAqB;qBACrC;oBACD,aAAa,EAAE;wBACd,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM;wBACrC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK;wBACnC,QAAQ,EAAE,UAAU,CAAC,mBAAmB;qBACxC;oBACD,eAAe,EAAE;wBAChB,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM;wBACvC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK;wBACrC,QAAQ,EAAE,UAAU,CAAC,qBAAqB;qBAC1C;iBACD;aACD,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,oBAAoB,CAClD,SAAS,CAAC,SAAS,CAAC,MAAM,EAC1B,SAAS,CAAC,SAAS,CAAC,QAAQ,CAC5B,CAAC;YACF,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,qBAAqB,IAAI,CAAC,gCAAgC,EAAE;gBAEpF,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1F,MAAM;aACN;YACD,IAAI,CAAC,YAAY,EAAE;gBAClB,SAAS;aACT;YACD,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,EAAE;gBAClC,gBAAgB,CAAC,GAAG,EAAE,CAAC;gBACvB,gBAAgB,CAAC,SAAS,IAAI,YAAY,CAAC,WAAW,CAAC;gBACvD,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC3D,IAAI,YAAY,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxE,gBAAgB,CAAC,SAAS,EAAE,CAAC;iBAC7B;aACD;iBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC1C,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACxB,gBAAgB,CAAC,UAAU,IAAI,YAAY,CAAC,WAAW,CAAC;gBACxD,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC5D,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,MAAA,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnF,IACC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM;oBACrC,YAAY,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAChE;oBACD,gBAAgB,CAAC,UAAU,EAAE,CAAC;iBAC9B;aACD;iBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC1C,gBAAgB,CAAC,IAAI,EAAE,CAAC;aACxB;YACD,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAGlD,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,iBAAiB,KAAK,CAAC,EAAE;gBAChE,sBAAsB,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBACvE,MAAM,gBAAgB,CAAC;aACvB;SACD;QACD,sBAAsB,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC,CAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,YAAY,CAAA,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpE,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,gBAAgB,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAGvF,gBAAgB,CAAC,UAAU,GAAG,EAAE,CAAC;QACjC,gBAAgB,CAAC,WAAW,GAAG,EAAE,CAAC;QAElC,OAAO,gBAAgB,CAAC;KACxB;YAAS;QACT,IAAI,WAAW,CAAC,UAAU,EAAE;YAC3B,wBAAU,CAAC,MAAM,GAAG,KAAK,CAAC;SAC1B;KACD;AACF,CAAC,CAAC;AAvJW,QAAA,cAAc,kBAuJzB;AAEF,MAAM,sBAAsB,GAAG,CAAC,gBAAkC,EAAE,KAAoB,EAAE,gBAAwB,EAAE,EAAE;IACrH,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;IAC1F,gBAAgB,CAAC,UAAU,GAAG,aAAa,CAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,EACnE,gBAAgB,CAAC,GAAG,EACpB,YAAY,CACZ,CAAC;IACF,gBAAgB,CAAC,gBAAgB,GAAG,aAAa,CAChD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,EACzE,gBAAgB,CAAC,SAAS,EAC1B,YAAY,CACZ,CAAC;IACF,gBAAgB,CAAC,WAAW,GAAG,aAAa,CAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,EACpE,gBAAgB,CAAC,IAAI,EACrB,YAAY,CACZ,CAAC;IACF,gBAAgB,CAAC,iBAAiB,GAAG,aAAa,CACjD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,EAC1E,gBAAgB,CAAC,UAAU,EAC3B,YAAY,CACZ,CAAC;IACF,gBAAgB,CAAC,WAAW,GAAG,aAAa,CAC3C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAC7E,gBAAgB,CAAC,IAAI,EACrB,YAAY,CACZ,CAAC;IAIF,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC7F,gBAAgB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,gBAAgB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,gBAAgB,CAAC,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,IACC,gBAAgB,CAAC,gBAAgB,GAAG,CAAC;QACrC,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EACtE;QACD,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;KACzC;IACD,IACC,gBAAgB,CAAC,iBAAiB,GAAG,CAAC;QACtC,gBAAgB,CAAC,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EACzE;QACD,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;KAC1C;AACF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,WAAqB,EAAE,gBAAwB,EAAgC,EAAE;IAC9G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;KAC1B;IAGD,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAG5D,MAAM,UAAU,GAAG,CAAC,GAAa,EAAE,CAAS,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAE7D,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAE,YAAoB,EAAE,UAAkB,EAAU,EAAE;IAChG,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;QAC7C,OAAO,IAAI,CAAC;KACZ;IACD,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,UAAU,EAAE;QACxD,OAAO,IAAI,CAAC;KACZ;IACD,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAGF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC;AACF,MAAM,uCAAuC,GAAG,EAAE,CAAC;AAC5C,MAAM,6BAA6B,GAAG,CAAC,MAAc,EAAW,EAAE;IACxE,IAAI,8BAA8B,CAAC,QAAQ,CAAC,MAAiB,CAAC,EAAE;QAC/D,OAAO,IAAI,CAAC;KACZ;IACD,IAAI,uCAAuC,CAAC,MAAM,KAAK,CAAC,EAAE;QACzD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,6BAAY,CAAC,EAAE;YAEnD,IAAI,IAAA,+CAA8B,EAAC,QAAQ,CAAC,EAAE;gBAC7C,uCAAuC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClE;SACD;KACD;IACD,OAAO,uCAAuC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC;AAbW,QAAA,6BAA6B,iCAaxC","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { AllCardsService } from '@firestone-hs/reference-data';\nimport { BgsBattleInfo } from './bgs-battle-info';\nimport { hasDeathrattleSpawnEnchantment } from './cards/card.interface';\nimport { CardsData } from './cards/cards-data';\nimport { cardMappings } from './cards/impl/_card-mappings';\nimport { debugState } from './debug-state';\nimport { cloneInput3 } from './input-clone';\nimport { buildFinalInput } from './input-sanitation';\nimport { CardIds } from './services/card-ids';\nimport { SimulationResult } from './simulation-result';\nimport { FullGameState } from './simulation/internal-game-state';\nimport { SharedState } from './simulation/shared-state';\nimport { Simulator } from './simulation/simulator';\nimport { Spectator } from './simulation/spectator/spectator';\n\nlet globalCards = new AllCardsService();\n\nexport const assignCards = (cards: AllCardsService) => {\n\tglobalCards = cards;\n};\n\n// This example demonstrates a NodeJS 8.10 async handler[1], however of course you could use\n// the more traditional callback-style handler.\n// [1]: https://aws.amazon.com/blogs/compute/node-js-8-10-runtime-now-available-in-aws-lambda/\nexport default async (event): Promise<any> => {\n\tif (!event.body?.length) {\n\t\tconsole.warn('missing event body', event);\n\t\treturn;\n\t}\n\n\tconst battleInput: BgsBattleInfo = JSON.parse(event.body);\n\tconst cards = globalCards;\n\tawait cards.initializeCardsDb();\n\tconst cardsData = new CardsData(cards, false);\n\tcardsData.inititialize(\n\t\tbattleInput.gameState?.validTribes ?? battleInput.options?.validTribes,\n\t\tbattleInput.gameState?.anomalies ?? [],\n\t);\n\tconst battleIterator = simulateBattle(battleInput, cards, cardsData);\n\n\t// Iterate through all intermediate results to reach the final result\n\tlet result = battleIterator.next();\n\twhile (!result.done) {\n\t\tresult = battleIterator.next();\n\t}\n\n\tconst simulationResult = result.value;\n\t// console.debug('simulationResult', simulationResult);\n\n\tconst response = {\n\t\tstatusCode: 200,\n\t\tisBase64Encoded: false,\n\t\tbody: JSON.stringify(simulationResult),\n\t};\n\treturn response;\n};\n\nexport const simulateBattle = function* (\n\tbattleInput: BgsBattleInfo,\n\tcards: AllCardsService,\n\tcardsData: CardsData,\n): Generator<SimulationResult, SimulationResult, void> {\n\tif (!cards?.getCards()?.length) {\n\t\tconsole.error('[simulate-bgs-battle] reference cards are empty, cannot simulate battle', cards);\n\t\treturn null;\n\t}\n\t// !battleInput.options?.skipInfoLogs && console.time('full-sim');\n\tconst start = Date.now();\n\tconst maxAcceptableDuration = battleInput.options?.maxAcceptableDuration || 8000;\n\tconst hideMaxSimulationDurationWarning = battleInput.options?.hideMaxSimulationDurationWarning ?? false;\n\tconst numberOfSimulations = battleInput.options?.numberOfSimulations || 8000;\n\tconst intermediateSteps = battleInput.options?.intermediateResults ?? 200;\n\tconst damageConfidence = battleInput.options?.damageConfidence ?? 0.9;\n\tconst includeOutcomeSamples = battleInput.options?.includeOutcomeSamples ?? true;\n\tconst simulationResult: SimulationResult = {\n\t\twonLethal: 0,\n\t\twon: 0,\n\t\ttied: 0,\n\t\tlost: 0,\n\t\tlostLethal: 0,\n\t\tdamageWons: [],\n\t\tdamageWon: 0,\n\t\tdamageWonRange: null,\n\t\tdamageLosts: [],\n\t\tdamageLost: 0,\n\t\tdamageLostRange: null,\n\t\twonLethalPercent: undefined,\n\t\twonPercent: undefined,\n\t\ttiedPercent: undefined,\n\t\tlostPercent: undefined,\n\t\tlostLethalPercent: undefined,\n\t\taverageDamageWon: undefined,\n\t\taverageDamageLost: undefined,\n\t};\n\n\tconst spectator = new Spectator(includeOutcomeSamples);\n\tconst inputReady = buildFinalInput(battleInput, cards, cardsData);\n\n\t// Apply debug state from input when present (e.g. from bug report)\n\tif (battleInput.debugState) {\n\t\tdebugState.active = true;\n\t\tdebugState.forcedCurrentAttacker = battleInput.debugState.forcedCurrentAttacker;\n\t\tdebugState.forcedFaceOffBase = battleInput.debugState.forcedFaceOffBase.map((f) => ({\n\t\t\tattacker: { ...f.attacker },\n\t\t\tdefender: { ...f.defender },\n\t\t}));\n\t\tconst rawPicks = battleInput.debugState.forcedRandomPicks ?? [];\n\t\tdebugState.forcedRandomPicksBase = rawPicks.map((p) => ({\n\t\t\tsource: { ...p.source },\n\t\t\ttarget: { ...p.target },\n\t\t\t...(p.chosenCardId && { chosenCardId: p.chosenCardId }),\n\t\t}));\n\t}\n\n\ttry {\n\t\t!battleInput.options?.skipInfoLogs && console.time('simulation');\n\t\tconst outcomes = {};\n\t\tfor (let i = 0; i < numberOfSimulations; i++) {\n\t\t\tconst input: BgsBattleInfo = cloneInput3(inputReady);\n\t\t\tconst inputClone: BgsBattleInfo = cloneInput3(inputReady);\n\t\t\tconst gameState: FullGameState = {\n\t\t\t\tallCards: cards,\n\t\t\t\tcardsData: cardsData,\n\t\t\t\tspectator: spectator,\n\t\t\t\tsharedState: new SharedState(),\n\t\t\t\tcurrentTurn: input.gameState.currentTurn,\n\t\t\t\tvalidTribes: input.gameState.validTribes,\n\t\t\t\tanomalies: input.gameState.anomalies,\n\t\t\t\tgameState: {\n\t\t\t\t\tplayer: {\n\t\t\t\t\t\tplayer: input.playerBoard.player,\n\t\t\t\t\t\tboard: input.playerBoard.board,\n\t\t\t\t\t\tteammate: input.playerTeammateBoard,\n\t\t\t\t\t},\n\t\t\t\t\topponent: {\n\t\t\t\t\t\tplayer: input.opponentBoard.player,\n\t\t\t\t\t\tboard: input.opponentBoard.board,\n\t\t\t\t\t\tteammate: input.opponentTeammateBoard,\n\t\t\t\t\t},\n\t\t\t\t\tplayerInitial: {\n\t\t\t\t\t\tplayer: inputClone.playerBoard.player,\n\t\t\t\t\t\tboard: inputClone.playerBoard.board,\n\t\t\t\t\t\tteammate: inputClone.playerTeammateBoard,\n\t\t\t\t\t},\n\t\t\t\t\topponentInitial: {\n\t\t\t\t\t\tplayer: inputClone.opponentBoard.player,\n\t\t\t\t\t\tboard: inputClone.opponentBoard.board,\n\t\t\t\t\t\tteammate: inputClone.opponentTeammateBoard,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t\tconst simulator = new Simulator(gameState);\n\t\t\tconst battleResult = simulator.simulateSingleBattle(\n\t\t\t\tgameState.gameState.player,\n\t\t\t\tgameState.gameState.opponent,\n\t\t\t);\n\t\t\tif (Date.now() - start > maxAcceptableDuration && !hideMaxSimulationDurationWarning) {\n\t\t\t\t// Can happen in case of inifinite boards, or a bug. Don't hog the user's computer in that case\n\t\t\t\tconsole.warn('Stopping simulation after', i, 'iterations and ', Date.now() - start, 'ms');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!battleResult) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (battleResult.result === 'won') {\n\t\t\t\tsimulationResult.won++;\n\t\t\t\tsimulationResult.damageWon += battleResult.damageDealt;\n\t\t\t\tsimulationResult.damageWons.push(battleResult.damageDealt);\n\t\t\t\tif (battleResult.damageDealt >= battleInput.opponentBoard.player.hpLeft) {\n\t\t\t\t\tsimulationResult.wonLethal++;\n\t\t\t\t}\n\t\t\t} else if (battleResult.result === 'lost') {\n\t\t\t\tsimulationResult.lost++;\n\t\t\t\tsimulationResult.damageLost += battleResult.damageDealt;\n\t\t\t\tsimulationResult.damageLosts.push(battleResult.damageDealt);\n\t\t\t\toutcomes[battleResult.damageDealt] = (outcomes[battleResult.damageDealt] ?? 0) + 1;\n\t\t\t\tif (\n\t\t\t\t\tbattleInput.playerBoard.player.hpLeft &&\n\t\t\t\t\tbattleResult.damageDealt >= battleInput.playerBoard.player.hpLeft\n\t\t\t\t) {\n\t\t\t\t\tsimulationResult.lostLethal++;\n\t\t\t\t}\n\t\t\t} else if (battleResult.result === 'tied') {\n\t\t\t\tsimulationResult.tied++;\n\t\t\t}\n\t\t\tspectator.commitBattleResult(battleResult.result);\n\n\t\t\t// Yield intermediate result every 200 iterations\n\t\t\tif (!!intermediateSteps && i > 0 && i % intermediateSteps === 0) {\n\t\t\t\tupdateSimulationResult(simulationResult, inputReady, damageConfidence);\n\t\t\t\tyield simulationResult;\n\t\t\t}\n\t\t}\n\t\tupdateSimulationResult(simulationResult, inputReady, damageConfidence);\n\t\t!battleInput.options?.skipInfoLogs && console.timeEnd('simulation');\n\t\tspectator.prune();\n\t\tsimulationResult.outcomeSamples = spectator.buildOutcomeSamples(battleInput.gameState);\n\t\t// Avoid sending this verbose data\n\n\t\tsimulationResult.damageWons = [];\n\t\tsimulationResult.damageLosts = [];\n\t\t// !battleInput.options?.skipInfoLogs && console.timeEnd('full-sim');\n\t\treturn simulationResult;\n\t} finally {\n\t\tif (battleInput.debugState) {\n\t\t\tdebugState.active = false;\n\t\t}\n\t}\n};\n\nconst updateSimulationResult = (simulationResult: SimulationResult, input: BgsBattleInfo, damageConfidence: number) => {\n\tconst totalMatches = simulationResult.won + simulationResult.tied + simulationResult.lost;\n\tsimulationResult.wonPercent = checkRounding(\n\t\tMath.round((10 * (100 * simulationResult.won)) / totalMatches) / 10,\n\t\tsimulationResult.won,\n\t\ttotalMatches,\n\t);\n\tsimulationResult.wonLethalPercent = checkRounding(\n\t\tMath.round((10 * (100 * simulationResult.wonLethal)) / totalMatches) / 10,\n\t\tsimulationResult.wonLethal,\n\t\ttotalMatches,\n\t);\n\tsimulationResult.lostPercent = checkRounding(\n\t\tMath.round((10 * (100 * simulationResult.lost)) / totalMatches) / 10,\n\t\tsimulationResult.lost,\n\t\ttotalMatches,\n\t);\n\tsimulationResult.lostLethalPercent = checkRounding(\n\t\tMath.round((10 * (100 * simulationResult.lostLethal)) / totalMatches) / 10,\n\t\tsimulationResult.lostLethal,\n\t\ttotalMatches,\n\t);\n\tsimulationResult.tiedPercent = checkRounding(\n\t\tMath.max(0, 100 - simulationResult.lostPercent - simulationResult.wonPercent),\n\t\tsimulationResult.tied,\n\t\ttotalMatches,\n\t);\n\n\t// simulationResult.wonLethalPercent = Math.round((10 * (100 * simulationResult.wonLethal)) / totalMatches) / 10;\n\t// simulationResult.lostLethalPercent = Math.round((10 * (100 * simulationResult.lostLethal)) / totalMatches) / 10;\n\tconst totalDamageWon = simulationResult.damageWons.reduce((a, b) => a + b, 0);\n\tconst totalDamageLost = simulationResult.damageLosts.reduce((a, b) => a + b, 0);\n\tconst damageWonRange = calculateDamageRange(simulationResult.damageWons, damageConfidence);\n\tconst damageLostRange = calculateDamageRange(simulationResult.damageLosts, damageConfidence);\n\tsimulationResult.averageDamageWon = simulationResult.won ? totalDamageWon / simulationResult.won : 0;\n\tsimulationResult.averageDamageLost = simulationResult.lost ? totalDamageLost / simulationResult.lost : 0;\n\tsimulationResult.damageWonRange = simulationResult.won ? damageWonRange : null;\n\tsimulationResult.damageLostRange = simulationResult.lost ? damageLostRange : null;\n\n\tif (\n\t\tsimulationResult.averageDamageWon > 0 &&\n\t\tsimulationResult.averageDamageWon < input.playerBoard.player.tavernTier\n\t) {\n\t\tconsole.warn('average damage won issue');\n\t}\n\tif (\n\t\tsimulationResult.averageDamageLost > 0 &&\n\t\tsimulationResult.averageDamageLost < input.opponentBoard.player.tavernTier\n\t) {\n\t\tconsole.warn('average damage lost issue');\n\t}\n};\n\nconst calculateDamageRange = (damageArray: number[], damageConfidence: number): { min: number; max: number } => {\n\tif (damageArray.length === 0) {\n\t\treturn { min: 0, max: 0 };\n\t}\n\n\t// Sort the array\n\tconst sortedDamage = [...damageArray].sort((a, b) => a - b);\n\n\t// Calculate the 10th and 90th percentiles\n\tconst percentile = (arr: number[], p: number) => {\n\t\tconst index = Math.floor(p * arr.length);\n\t\treturn arr[index];\n\t};\n\n\tconst minDamage = percentile(sortedDamage, 1 - damageConfidence);\n\tconst maxDamage = percentile(sortedDamage, damageConfidence);\n\n\treturn { min: minDamage, max: maxDamage };\n};\n\nconst checkRounding = (roundedValue: number, initialValue: number, totalValue: number): number => {\n\tif (roundedValue === 0 && initialValue !== 0) {\n\t\treturn 0.01;\n\t}\n\tif (roundedValue === 100 && initialValue !== totalValue) {\n\t\treturn 99.9;\n\t}\n\treturn roundedValue;\n};\n\n// Used when triggering random deathrattles\nconst VALID_DEATHRATTLE_ENCHANTMENTS = [\n\tCardIds.ReplicatingMenace_ReplicatingMenaceEnchantment_BG_BOT_312e,\n\tCardIds.ReplicatingMenace_ReplicatingMenaceEnchantment_TB_BaconUps_032e,\n\tCardIds.LivingSpores_LivingSporesEnchantment,\n\tCardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000e,\n\tCardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000_Ge,\n\tCardIds.Sneed_SneedsReplicator,\n\tCardIds.SneedsReplicator_ReplicateEnchantment,\n\tCardIds.EarthRecollectionEnchantment, // Spirit Raptor\n\tCardIds.FireRecollectionEnchantment,\n\tCardIds.LightningRecollectionEnchantment,\n\tCardIds.WaterRecollectionEnchantment,\n\tCardIds.EarthInvocation_ElementEarthEnchantment, // Summon a 1/1\n\tCardIds.LightningInvocation, // Deal 1 damage to 5 enemy minions\n\t// CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004e,\n\t// CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004_Ge,\n\t// CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055e,\n\t// CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055_Ge,\n\tCardIds.BoonOfBeetles_BeetleSwarmEnchantment_BG28_603e,\n\tCardIds.RustyTrident_TridentsTreasureEnchantment_BG30_MagicItem_917e,\n\tCardIds.HoggyBank_GemInTheBankEnchantment_BG30_MagicItem_411e,\n\tCardIds.JarredFrostling_FrostyGlobeEnchantment_BG30_MagicItem_952e,\n\tCardIds.CaduceusReactor_CaduceusReactorEnchantment_BG31_HERO_801ptee,\n\tCardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172e,\n\tCardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172_Ge,\n\tCardIds.TamsinRoame_ImpendingSacrificeEnchantment_BG20_HERO_282e2,\n];\nconst validDeathrattleEnchantmentsFromMapping = [];\nexport const isValidDeathrattleEnchantment = (cardId: string): boolean => {\n\tif (VALID_DEATHRATTLE_ENCHANTMENTS.includes(cardId as CardIds)) {\n\t\treturn true;\n\t}\n\tif (validDeathrattleEnchantmentsFromMapping.length === 0) {\n\t\tfor (const cardImpl of Object.values(cardMappings)) {\n\t\t\t// Also includes non-enchantments, but since we only match this against the enchants list, it's fine\n\t\t\tif (hasDeathrattleSpawnEnchantment(cardImpl)) {\n\t\t\t\tvalidDeathrattleEnchantmentsFromMapping.push(...cardImpl.cardIds);\n\t\t\t}\n\t\t}\n\t}\n\treturn validDeathrattleEnchantmentsFromMapping.includes(cardId);\n};\n\n// const cleanEnchantmentsForEntity = (\n// \tenchantments: { cardId: string; originEntityId?: number; timing: number }[],\n// \tentityIds: readonly number[],\n// ): { cardId: string; originEntityId?: number; timing: number }[] => {\n// \treturn enchantments.filter(\n// \t\t(enchant) =>\n// \t\t\tentityIds.indexOf(enchant.originEntityId) !== -1 ||\n// \t\t\tvalidEnchantments.indexOf(enchant.cardId as CardIds) !== -1,\n// \t);\n// };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-minion-to-board.js","sourceRoot":"","sources":["../../../src/simulation/add-minion-to-board.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,4DAOiC;AACjC,oDAA8C;AAC9C,iEAA4D;AAC5D,6EAAkG;AAClG,6DAA+D;AAC/D,6CAAgD;AAEhD,6CAA+C;AAC/C,oCAA6F;AAE7F,mCAAiD;AACjD,mCAAsC;AAkB/B,MAAM,gBAAgB,GAAG,CAC/B,KAAoB,EACpB,SAA0B,EAC1B,UAAyB,EACzB,SAA0B,EAC1B,KAAa,EACb,WAAwB,EACxB,SAAwB,EACxB,cAAc,GAAG,IAAI,EACd,EAAE;IACT,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAGpC,IAAA,mCAA2B,EAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7G,IAAA,wBAAgB,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACpG,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B;AAEF,MAAM,iBAAiB,GAAG,CACzB,KAAoB,EACpB,SAA0B,EAC1B,UAAyB,EACzB,SAA0B,EAC1B,OAAoB,EACpB,SAAwB,EACxB,cAAc,GAAG,IAAI,EACd,EAAE;;IACT,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAA,OAAO,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,CAAC;IAGrE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,oBAAO,EAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;QAClE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,0BAA2C,CAAC,CAAC;QACtG,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,4BAA6C,CAAC,CAAC;QAC9G,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACnC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;KACH;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;QAE3B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;YACzC,SAAS;SACT;QAED,MAAM,kBAAkB,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,IAAA,kCAAiB,EAAC,kBAAkB,CAAC,EAAE;YAC1C,kBAAkB,CAAC,cAAc,CAAC,MAAM,EAAE;gBACzC,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,SAAS;gBACpB,cAAc;gBACd,SAAS;aACT,CAAC,CAAC;SACH;QAED,QAAQ,MAAM,CAAC,MAAM,EAAE;YACtB;gBACC,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAC5F,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;wBACzB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;qBACzE;oBACD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC/D,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBACrF;gBACD,MAAM;YASP,eAA8B;YAC9B;gBACC,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAC7F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,sBAAqC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/E,IAAA,mBAAW,EAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBAClF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBACrF;gBACD,MAAM;YASP,eAAgC;YAChC;gBACC,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAC7F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,sBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChF,IAAA,mBAAW,EAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBACzE,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBACrF;gBACD,MAAM;SACP;KACD;AACF,CAAC,CAAC;AACK,MAAM,2BAA2B,GAAG,CAC1C,KAAoB,EACpB,SAA0B,EAC1B,UAAyB,EACzB,SAA0B,EAC1B,OAAoB,EACpB,SAAwB,EACxB,cAAc,GAAG,IAAI,EACrB,iBAAiB,GAAG,IAAI,EACjB,EAAE;;IACT,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;QAC7C,QAAQ,SAAS,CAAC,MAAM,EAAE;YACzB;gBACC,IAAI,iBAAiB,EAAE;oBACtB,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBACnE,IAAA,mBAAW,EAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBACnE;gBACD,MAAM;SACP;KACD;IAED,IAAI,MAAA,SAAS,CAAC,YAAY,0CAAE,QAAQ,mBAA0C,EAAE;QAC/E,MAAM,qBAAqB,GAC1B,CAAA,MAAA,MAAA,SAAS,CAAC,mBAAmB,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAA6C,CAAC,0CAC9F,cAAc,KAAI,CAAC,CAAC;QACxB,IAAA,mBAAW,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;KAC3G;IAED,IAAI,iBAAiB,EAAE;QACtB,KAAK,MAAM,OAAO,IAAI,MAAA,SAAS,CAAC,QAAQ,mCAAI,EAAE,EAAE;YAC/C,MAAM,YAAY,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,IAAA,mDAAkC,EAAC,YAAY,CAAC,EAAE;gBACrD,YAAY,CAAC,wBAAwB,CAAC,OAAO,EAAE;oBAC9C,OAAO;oBACP,KAAK;oBACL,IAAI,EAAE,SAAS;oBACf,UAAU;oBACV,SAAS;oBACT,SAAS;iBACT,CAAC,CAAC;gBACH,SAAS;aACT;YACD,QAAQ,OAAO,CAAC,MAAM,EAAE;gBACvB;oBACC,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;wBAC5F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;wBAChE,IAAI,CAAC,CAAC,MAAM,EAAE;4BACb,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;yBACzE;qBACD;oBACD,MAAM;gBACP,0BAAgD;gBAChD;oBACC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;wBAC9B,OAAO,CAAC,gBAAgB,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;qBAC/C;oBACD,MAAM;aACP;SACD;KACD;IAGD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAA,OAAO,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,CAAC;IACrE,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE;QACpC,2BAA2B,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;KACpG;IAGD,IAAI,cAAc,EAAE;QAKnB,IAAA,wBAAgB,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;KACvD;IAED,IAAI,iBAAiB,EAAE;QACtB,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC7F,SAAS,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAChD,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;SAC9C;QACD,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC9F,SAAS,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;SAC/C;KACD;AACF,CAAC,CAAC;AArFW,QAAA,2BAA2B,+BAqFtC;AAEK,MAAM,gBAAgB,GAAG,CAC/B,OAAoB,EACpB,KAAoB,EACpB,SAA0B,EAC1B,SAAwB,EACjB,EAAE;;IACT,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAExD,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,YAAY,0CAAE,MAAM,CAAA,EAAE;QACrC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,YAAY,EAAE;YAC3C,QAAQ,KAAK,EAAE;gBACd;oBACC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;wBACzB,MAAM,oBAA2C;wBACjD,cAAc,EAAE,SAAS;wBACzB,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;qBAC/C,CAAC,CAAC;oBACH,MAAM;gBACP;oBACC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,MAAM;aACP;SACD;KACD;IAED,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,MAAM,CAAA,EAAE;QACjC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YACzC,QAAQ,OAAO,CAAC,MAAM,EAAE;gBACvB;oBACC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,MAAM;gBACP;oBACC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;oBACpB,MAAM;gBACP;oBACC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;oBAC9C,MAAM;gBACP;oBACC,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC5D,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;wBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;qBACpB;oBACD,MAAM;gBACP;oBACC,IACC,OAAO,CAAC,MAAM,eAA8C;wBAC5D,OAAO,CAAC,MAAM,uBAAsD,EACnE;wBACD,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;qBACpB;oBACD,MAAM;aACP;SACD;KACD;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,0BAA0B,GAAG,CAAC,EAAE;QACxD,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,0BAA0B,EAC/C,CAAC,EACD,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;KACF;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,0BAA0B,GAAG,CAAC,EAAE;QACxD,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,CAAC,EACD,SAAS,CAAC,UAAU,CAAC,0BAA0B,EAC/C,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;KACF;IACD,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC9F,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE;YAC/C,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,iBAAiB,EACtC,CAAC,EACD,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;SACF;KACD;IACD,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC9F,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE;YAC/C,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,iBAAiB,EACtC,CAAC,EACD,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;SACF;KACD;IACD,IAAI,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC7F,IAAI,SAAS,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,EAAE;YAC7C,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,eAAe,EACpC,SAAS,CAAC,UAAU,CAAC,kBAAkB,EACvC,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;YACF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC/E;KACD;IACD,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QAChD,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,MAAA,SAAS,CAAC,UAAU,CAAC,eAAe,mCAAI,CAAC,EACzC,MAAA,SAAS,CAAC,UAAU,CAAC,eAAe,mCAAI,CAAC,EACzC,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;QACF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KAC/E;IACD,IACC,IAAA,mBAAW,EAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;QAE/E,CAAC,IAAA,+BAAuB,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EACtD;QACD,IAAI,SAAS,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,EAAE;YACjG,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,MAAA,SAAS,CAAC,UAAU,CAAC,mBAAmB,mCAAI,CAAC,EAC7C,MAAA,SAAS,CAAC,UAAU,CAAC,mBAAmB,mCAAI,CAAC,EAC7C,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;YACF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC/E;KACD;IAQD,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACjE,MAAM,OAAO,GAAG,MAAA,SAAS,CAAC,UAAU,CAAC,uBAAuB,mCAAI,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,UAAU,CAAC,uBAAuB,mCAAI,CAAC,CAAC;QACrE,IAAA,mBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACvF;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;QAC3B,MAAM,kBAAkB,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,IAAA,sCAAqB,EAAC,kBAAkB,CAAC,EAAE;YAC9C,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBAC7C,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,SAAS;aACT,CAAC,CAAC;SACH;QACD,QAAQ,MAAM,CAAC,MAAM,EAAE;YACtB,kBAA8C;YAC9C;gBACC,IACC,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACzF,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EACnC;oBACD,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1F;gBACD,MAAM;YACP,mBAA+C;YAC/C;gBACC,IACC,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACzF,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EACnC;oBACD,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1F,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1F;gBACD,MAAM;YAUP,gBAAkC;YAClC;gBACC,IAAI,OAAO,CAAC,YAAY,EAAE;oBACzB,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5E;gBACD,MAAM;YACP,gBAAgC;YAChC;gBACC,IACC,IAAA,uBAAe,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACzF,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EACnC;oBACD,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;iBAClG;gBACD,MAAM;SACP;KACD;IAED,MAAM,aAAa,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,IAAA,6BAAY,EAAC,aAAa,CAAC,EAAE;QAChC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,SAAS;SACpB,CAAC,CAAC;KACH;IACD,QAAQ,OAAO,CAAC,MAAM,EAAE;QACvB,gBAAoC;QACpC;YACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAC5F,IAAA,mBAAW,EACV,OAAO,EACP,IAAI,EACJ,sCAAmB,GAAG,gBAAgB,EACtC,sCAAmB,GAAG,gBAAgB,EACtC,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;YACF,MAAM;QACP,gBAAwC;QACxC;YACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC1F,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACvG,MAAM;QACP,gBAA2C;QAC3C;YACC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,mBAAmB,GAAG,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC;YACtF,IAAA,mBAAW,EACV,OAAO,EACP,IAAI,EACJ,CAAC,GAAG,mBAAmB,EACvB,mBAAmB,EACnB,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;YACF,MAAM;QACP,eAAiC;QACjC;YACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,sBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACzF,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3G,MAAM;QACP,kBAAwC;QACxC;YACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,mBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,gCAAgC,GAAG,CAAC,CAAC,CAAC;YACxG,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3G,MAAM;QACP,gBAAmC;QACnC;YACC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,MAAM,eAAe,GACpB,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YACtG,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnF,MAAM;KACP;AACF,CAAC,CAAC;AArSW,QAAA,gBAAgB,oBAqS3B;AAIK,MAAM,mBAAmB,GAAG,CAClC,MAAmB,EACnB,KAAoB,EACpB,SAA0B,EAC1B,SAAwB,EACjB,EAAE;;IACT,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEpE,MAAM,eAAe,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,IAAA,+BAAc,EAAC,eAAe,CAAC,EAAE;QACpC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,KAAK;YACZ,SAAS;SACT,CAAC,CAAC;KACH;IAED,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,YAAY,0CAAE,MAAM,CAAA,EAAE;QACrC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,YAAY,EAAE;YAC3C,QAAQ,KAAK,EAAE;gBACd;oBACC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,uBAA8C,CAC7D,CAAC;oBACF,MAAM;gBACP;oBACC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM;gBACP;oBACC,IACC,MAAM,CAAC,MAAM,eAAyC;wBACtD,MAAM,CAAC,MAAM,iBAA2C,EACvD;wBACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;qBAC/C;oBACD,MAAM;aACP;SACD;KACD;IAED,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,MAAM,CAAA,EAAE;QACjC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YACzC,QAAQ,OAAO,CAAC,MAAM,EAAE;gBACvB;oBACC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM;gBACP;oBACC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM;gBACP;oBACC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACP;oBACC,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC3D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;qBAC/C;oBACD,MAAM;aACP;SACD;KACD;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,0BAA0B,GAAG,CAAC,EAAE;QACxD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;KAC7F;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,0BAA0B,GAAG,CAAC,EAAE;QACxD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;KAC7F;IACD,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC7F,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE;YAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SACpF;KACD;IACD,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,qBAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;QAC5F,IAAI,SAAS,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,EAAE;YAC7C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAClF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SACrF;KACD;IAED,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE;QAChC,QAAQ,WAAW,CAAC,MAAM,EAAE;YAC3B,kBAA8C;YAC9C;gBACC,IACC,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACxF,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EACvC;oBACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9F,CAAC;iBACF;gBACD,MAAM;YACP,mBAA+C;YAC/C;gBACC,IACC,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACxF,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EACvC;oBACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9F,CAAC;oBACF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9F,CAAC;iBACF;gBACD,MAAM;YAaP,gBAAkC;YAClC;gBACC,IAAI,MAAM,CAAC,YAAY,EAAE;oBACxB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;iBACF;gBACD,MAAM;YACP,gBAAgC;YAChC;gBACC,IACC,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACxF,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EACvC;oBACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,MAAM,CAAC,MAAM;wBACZ,CAAC,WAAW,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CACrF,CAAC;iBACF;gBACD,MAAM;SACP;KACD;IAED,QAAQ,MAAM,CAAC,MAAM,EAAE;QACtB,gBAAoC;QACpC;YACC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAC5F,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,sCAAmB,GAAG,gBAAgB,CAAC,CAAC;YACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,sCAAmB,GAAG,gBAAgB,CAAC,CAAC;YACpF,MAAM;QACP,gBAAwC;QACxC;YACC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC1F,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;YAClE,MAAM;QACP,gBAA2C;QAC3C;YACC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,mBAAmB,GAAG,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC;YACtF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;YACjE,MAAM;QACP,kBAAwC;QACxC;YACC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,mBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAGxF,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,gCAAgC,GAAG,CAAC,CAAC,CAAC;YACxG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;YAClE,MAAM;QACP,gBAAmC;QACnC;YACC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,MAAM,eAAe,GACpB,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YACrG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;YAC7D,MAAM;KACP;IAED,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE;QAC9C,QAAQ,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE;YAC5B;gBACC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBAC3E,MAAM;SACP;KACD;AACF,CAAC,CAAC;AAtMW,QAAA,mBAAmB,uBAsM9B;AAEF,MAAM,2BAA2B,GAAG,CACnC,aAAqB,EACrB,OAAoB,EACpB,KAAoB,EACpB,SAA0B,EAC1B,SAAwB,EACxB,iBAAiB,GAAG,IAAI,EACjB,EAAE;IACT,QAAQ,aAAa,EAAE;QACtB,mBAA+C;QAC/C;YACC,KAAK;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAElG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;iBAC9C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;YACJ,MAAM;QACP,kBAA8C;QAC9C;YACC,KAAK;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAClG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;iBAC9C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,sBAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;YACJ,MAAM;QAUP,gBAAkC;QAClC;YACC,KAAK;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC7B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;YACJ,MAAM;QAEP,gBAAgC;QAChC;YACC,KAAK;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,SAAS,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAClG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;iBAC9C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9F,CAAC,CAAC,CAAC;YACJ,MAAM;QACP,kBAAwC;QACxC;YAEC,IAAI,iBAAiB,EAAE;gBACtB,SAAS,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC;aACxD;YACD,KAAK;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;iBAC9C,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,iBAAuC;gBAC/C,CAAC,CAAC,MAAM,mBAAyC,CAClD;iBACA,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,mBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,IAAA,mBAAW,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;YACJ,MAAM;QACP,gBAAqC;QACrC;YACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,IAAA,mBAAW,EACV,OAAO,EACP,OAAO,EACP,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,kBAAkB,GAAG,gBAAgB,EAC9D,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,kBAAkB,GAAG,gBAAgB,EAC9D,KAAK,EACL,SAAS,EACT,SAAS,EACT,KAAK,CACL,CAAC;YACF,MAAM;KACP;AACF,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CACtC,KAAoB,EACpB,IAAqB,EACrB,UAAyB,EACzB,SAA0B,EAC1B,UAAkC,EAClC,SAAwB,EACjB,EAAE;IACT,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;QACjC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KAC/E;AACF,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC;AAEK,MAAM,gBAAgB,GAAG,CAAC,IAAqB,EAAE,KAAoB,EAAE,SAAwB,EAAQ,EAAE;;IAC/G,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QACnB,OAAO;KACP;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC3B,QAAQ,KAAK,CAAC,MAAM,EAAE;YACrB;gBACC,IAAA,8BAAsB,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBACtD,MAAM;SACP;KACD;AACF,CAAC,CAAC;AAbW,QAAA,gBAAgB,oBAa3B;AAEF,MAAM,sBAAsB,GAAG,CAC9B,KAAoB,EACpB,IAAqB,EACrB,UAAyB,EACzB,SAA0B,EAC1B,OAAoB,EACpB,SAAwB,EACjB,EAAE;;IAET,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAEhC,KAAK,MAAM,OAAO,IAAI,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,EAAE;QAC1C,MAAM,kBAAkB,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,IAAA,qCAAoB,EAAC,kBAAkB,CAAC,EAAE;YAC7C,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,EAAE;gBAC7C,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,UAAU;gBACtB,SAAS;gBACT,cAAc,EAAE,KAAK;aACrB,CAAC,CAAC;SACH;KACD;IAED,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;QAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;YACzC,SAAS;SACT;QAED,MAAM,kBAAkB,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,IAAA,qCAAoB,EAAC,kBAAkB,CAAC,EAAE;YAC7C,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,EAAE;gBAC5C,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,UAAU;gBACtB,SAAS;gBACT,cAAc,EAAE,KAAK;aACrB,CAAC,CAAC;SACH;QAED,QAAQ,MAAM,CAAC,MAAM,EAAE;YACtB,gBAAgC;YAChC;gBACC,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;oBACzC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;oBACtE,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC3E;gBACD,MAAM;YACP,gBAAsC;YACtC;gBACC,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;oBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/E,MAAM,CAAC,cAAc,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,SAAS,CAAC;iBACjE;gBACD,MAAM;YAQP,kCAA6D;YAC7D;gBACC,IACC,IAAA,uBAAe,EAAC,OAAO,EAAE,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACpF,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EACnC;oBACD,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,mCAA8D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrF,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;oBAClF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC5E;gBACD,MAAM;YAGP;gBACC,IACC,IAAA,uBAAe,EAAC,OAAO,EAAE,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;oBACpF,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EACnC;oBACD,IAAA,mBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;oBACnE,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC3E;gBACD,MAAM;SACP;KACD;IAED,KAAK,MAAM,OAAO,IAAI,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,IAAA,qCAAoB,EAAC,YAAY,CAAC,EAAE;YACvC,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE;gBACvC,OAAO;gBACP,IAAI;gBACJ,KAAK;gBACL,SAAS;gBACT,UAAU;gBACV,SAAS;gBACT,cAAc,EAAE,KAAK;aACrB,CAAC,CAAC;SACH;KACD;AACF,CAAC,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport {\r\n\thasAfterOtherSpawned,\r\n\thasOnDespawned,\r\n\thasOnFriendlyMinionSummonedTrinket,\r\n\thasOnOtherSpawned,\r\n\thasOnOtherAuraSpawned as hasOnOtherSpawnedAura,\r\n\thasOnSpawned,\r\n} from '../cards/card.interface';\r\nimport { isWhelp } from '../cards/cards-data';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { eternalKnightAttack, eternalKnightHealth } from '../cards/impl/trinket/eternal-portrait';\r\nimport { updateDivineShield } from '../keywords/divine-shield';\r\nimport { updateTaunt } from '../keywords/taunt';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { pickRandom } from '../services/utils';\r\nimport { alreadyHasVolumizerBuff, copyEntity, hasCorrectTribe, isVolumizer } from '../utils';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { onQuestProgressUpdated } from './quest';\r\nimport { modifyStats } from './stats';\r\n\r\n// export const addMinionsToBoard = (\r\n// \tboard: BoardEntity[],\r\n// \tboardHero: BgsPlayerEntity,\r\n// \totherBoard: BoardEntity[],\r\n// \totherHero: BgsPlayerEntity,\r\n// \tindex: number,\r\n// \tminionsToAdd: readonly BoardEntity[],\r\n// \tgameState: FullGameState,\r\n// ): void => {\r\n// \t// board.splice(index, 0, ...minionsToAdd);\r\n// \tfor (const minionToAdd of [...minionsToAdd].reverse()) {\r\n// \t\taddMinionToBoard(board, boardHero, otherBoard, otherHero, index, minionToAdd, gameState, false);\r\n// \t}\r\n// \thandleAfterSpawnEffects(board, boardHero, otherBoard, otherHero, minionsToAdd, gameState);\r\n// };\r\n\r\nexport const addMinionToBoard = (\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tindex: number,\r\n\tminionToAdd: BoardEntity,\r\n\tgameState: FullGameState,\r\n\tapplySelfAuras = true,\r\n): void => {\r\n\tboard.splice(index, 0, minionToAdd);\r\n\t// Minion has already been removed from the board in the previous step\r\n\t// Update the global \"SummonedThisGame/Combat\" info here\r\n\thandleAddedMinionAuraEffect(board, boardHero, otherBoard, otherHero, minionToAdd, gameState, applySelfAuras);\r\n\t// Important to do this here, so that \"attack immediately\" minions can be taken into account by the quests\r\n\tonMinionSummoned(boardHero, board, gameState);\r\n\thandleSpawnEffect(board, boardHero, otherBoard, otherHero, minionToAdd, gameState, applySelfAuras);\r\n};\r\n\r\nconst handleSpawnEffect = (\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tspawned: BoardEntity,\r\n\tgameState: FullGameState,\r\n\tapplySelfAuras = true,\r\n): void => {\r\n\tconst cardIds = [spawned.cardId, ...(spawned.additionalCards ?? [])];\r\n\r\n\t// https://twitter.com/LoewenMitchell/status/1491879869457879040\r\n\tif (cardIds.some((cardId) => isWhelp(cardId, gameState.allCards))) {\r\n\t\tconst manyWhelps = board.filter((entity) => entity.cardId === CardIds.ManyWhelps_BG22_HERO_305_Buddy);\r\n\t\tconst goldenManyWhelps = board.filter((entity) => entity.cardId === CardIds.ManyWhelps_BG22_HERO_305_Buddy_G);\r\n\t\tmanyWhelps.forEach((entity) => {\r\n\t\t\tmodifyStats(entity, entity, 2, 2, board, boardHero, gameState);\r\n\t\t});\r\n\t\tgoldenManyWhelps.forEach((entity) => {\r\n\t\t\tmodifyStats(entity, entity, 4, 4, board, boardHero, gameState);\r\n\t\t});\r\n\t}\r\n\r\n\tfor (const entity of board) {\r\n\t\t// The case for Reborns, and these shouldn't proc on themselves\r\n\t\tif (entity.entityId === spawned.entityId) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst onOtherSpawnedImpl = cardMappings[entity.cardId];\r\n\t\tif (hasOnOtherSpawned(onOtherSpawnedImpl)) {\r\n\t\t\tonOtherSpawnedImpl.onOtherSpawned(entity, {\r\n\t\t\t\tspawned: spawned,\r\n\t\t\t\thero: boardHero,\r\n\t\t\t\tboard: board,\r\n\t\t\t\totherBoard: otherBoard,\r\n\t\t\t\totherHero: otherHero,\r\n\t\t\t\tapplySelfAuras,\r\n\t\t\t\tgameState,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tswitch (entity.cardId) {\r\n\t\t\tcase CardIds.CobaltGuardian:\r\n\t\t\t\tif (hasCorrectTribe(spawned, boardHero, Race.MECH, gameState.anomalies, gameState.allCards)) {\r\n\t\t\t\t\tif (!entity.divineShield) {\r\n\t\t\t\t\t\tupdateDivineShield(entity, board, boardHero, otherHero, true, gameState);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmodifyStats(entity, entity, 2, 0, board, boardHero, gameState);\r\n\t\t\t\t\tgameState.spectator.registerPowerTarget(entity, entity, board, boardHero, otherHero);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t// case CardIds.Bigfernal_BGS_204:\r\n\t\t\t// case CardIds.Bigfernal_TB_BaconUps_304:\r\n\t\t\t// \tif (hasCorrectTribe(spawned, boardHero, Race.DEMON, gameState.anomalies, gameState.allCards)) {\r\n\t\t\t// \t\tconst statsBonus = entity.cardId === CardIds.Bigfernal_TB_BaconUps_304 ? 2 : 1;\r\n\t\t\t// \t\tmodifyStats(entity, entity, statsBonus, statsBonus, board, boardHero, gameState);\r\n\t\t\t// \t\tgameState.spectator.registerPowerTarget(entity, entity, board, boardHero, otherHero);\r\n\t\t\t// \t}\r\n\t\t\t// \tbreak;\r\n\t\t\tcase CardIds.MamaBear_BGS_021:\r\n\t\t\tcase CardIds.MamaBear_TB_BaconUps_090:\r\n\t\t\t\tif (hasCorrectTribe(spawned, boardHero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\t\t\t\tconst statsBonus = entity.cardId === CardIds.MamaBear_TB_BaconUps_090 ? 12 : 6;\r\n\t\t\t\t\tmodifyStats(spawned, entity, statsBonus, statsBonus, board, boardHero, gameState);\r\n\t\t\t\t\tgameState.spectator.registerPowerTarget(entity, entity, board, boardHero, otherHero);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t// case CardIds.PapaBear_BG27_509:\r\n\t\t\t// case CardIds.PapaBear_BG27_509_G:\r\n\t\t\t// \tif (hasCorrectTribe(spawned, boardHero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\t\t// \t\tconst statsBonus = entity.cardId === CardIds.PapaBear_BG27_509_G ? 16 : 8;\r\n\t\t\t// \t\tmodifyStats(spawned, entity, statsBonus, statsBonus, board, boardHero, gameState);\r\n\t\t\t// \t\tgameState.spectator.registerPowerTarget(entity, entity, board, boardHero, otherHero);\r\n\t\t\t// \t}\r\n\t\t\t// \tbreak;\r\n\t\t\tcase CardIds.PackLeader_BGS_017:\r\n\t\t\tcase CardIds.PackLeader_TB_BaconUps_086:\r\n\t\t\t\tif (hasCorrectTribe(spawned, boardHero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\t\t\t\tconst statsBonus = entity.cardId === CardIds.PackLeader_TB_BaconUps_086 ? 4 : 2;\r\n\t\t\t\t\tmodifyStats(spawned, entity, statsBonus, 0, board, boardHero, gameState);\r\n\t\t\t\t\tgameState.spectator.registerPowerTarget(entity, entity, board, boardHero, otherHero);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n};\r\nexport const handleAddedMinionAuraEffect = (\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tspawned: BoardEntity,\r\n\tgameState: FullGameState,\r\n\tapplySelfAuras = true,\r\n\tisActuallySpawned = true,\r\n): void => {\r\n\tfor (const heroPower of boardHero.heroPowers) {\r\n\t\tswitch (heroPower.cardId) {\r\n\t\t\tcase CardIds.SproutItOut:\r\n\t\t\t\tif (isActuallySpawned) {\r\n\t\t\t\t\tupdateTaunt(spawned, true, board, boardHero, otherHero, gameState);\r\n\t\t\t\t\tmodifyStats(spawned, boardHero, 1, 2, board, boardHero, gameState);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tif (boardHero.questRewards?.includes(CardIds.TumblingDisaster_BG28_Reward_505)) {\r\n\t\tconst tumblingDisasterBonus =\r\n\t\t\tboardHero.questRewardEntities?.find((e) => e.cardId === CardIds.TumblingDisaster_BG28_Reward_505)\r\n\t\t\t\t?.scriptDataNum1 || 1;\r\n\t\tmodifyStats(spawned, boardHero, tumblingDisasterBonus, tumblingDisasterBonus, board, boardHero, gameState);\r\n\t}\r\n\r\n\tif (isActuallySpawned) {\r\n\t\tfor (const trinket of boardHero.trinkets ?? []) {\r\n\t\t\tconst summonedImpl = cardMappings[trinket.cardId];\r\n\t\t\tif (hasOnFriendlyMinionSummonedTrinket(summonedImpl)) {\r\n\t\t\t\tsummonedImpl.onFriendlyMinionSummoned(trinket, {\r\n\t\t\t\t\tspawned,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero: boardHero,\r\n\t\t\t\t\totherBoard,\r\n\t\t\t\t\totherHero,\r\n\t\t\t\t\tgameState,\r\n\t\t\t\t});\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tswitch (trinket.cardId) {\r\n\t\t\t\tcase CardIds.BlingtronsSunglasses_BG30_MagicItem_978:\r\n\t\t\t\t\tif (hasCorrectTribe(spawned, boardHero, Race.MECH, gameState.anomalies, gameState.allCards)) {\r\n\t\t\t\t\t\tconst target = pickRandom(board.filter((e) => !e.divineShield));\r\n\t\t\t\t\t\tif (!!target) {\r\n\t\t\t\t\t\t\tupdateDivineShield(target, board, boardHero, otherHero, true, gameState);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.TwinSkyLanterns_BG30_MagicItem_822:\r\n\t\t\t\tcase CardIds.TwinSkyLanterns_TwinSkyLanternsToken_BG30_MagicItem_822t2:\r\n\t\t\t\t\tif (!trinket.rememberedMinion) {\r\n\t\t\t\t\t\ttrinket.rememberedMinion = copyEntity(spawned);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Apply auras to board\r\n\tconst cardIds = [spawned.cardId, ...(spawned.additionalCards ?? [])];\r\n\tfor (const spawnedCardId of cardIds) {\r\n\t\thandleMinionAddedAuraEffect(spawnedCardId, spawned, board, boardHero, gameState, isActuallySpawned);\r\n\t}\r\n\r\n\t// When we want to summon an \"exact copy\", we need to make sure we don't apply the aura twice\r\n\tif (applySelfAuras) {\r\n\t\t// The board here already contains the new minion\r\n\t\t// TODO: what if the additional part is a potential target for the aura effect?\r\n\t\t// 2024-08-27: changing the order to first handleMinionAddedAuraEffect so that the automatons get boosted,\r\n\t\t// then apply the aura\r\n\t\tapplyAurasToSelf(spawned, board, boardHero, gameState);\r\n\t}\r\n\r\n\tif (isActuallySpawned) {\r\n\t\tif (hasCorrectTribe(spawned, boardHero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\t\tboardHero.globalInfo.BeastsSummonedThisCombat++;\r\n\t\t\tboardHero.globalInfo.BeastsSummonedThisGame++;\r\n\t\t}\r\n\t\tif (hasCorrectTribe(spawned, boardHero, Race.PIRATE, gameState.anomalies, gameState.allCards)) {\r\n\t\t\tboardHero.globalInfo.PiratesSummonedThisGame++;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const applyAurasToSelf = (\r\n\tspawned: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tspawned.attack += boardHero.globalInfo.AdditionalAttack;\r\n\r\n\tif (!!boardHero.questRewards?.length) {\r\n\t\tfor (const quest of boardHero.questRewards) {\r\n\t\t\tswitch (quest) {\r\n\t\t\t\tcase CardIds.VolatileVenom:\r\n\t\t\t\t\tspawned.attack += 7;\r\n\t\t\t\t\tspawned.health += 7;\r\n\t\t\t\t\tspawned.enchantments.push({\r\n\t\t\t\t\t\tcardId: CardIds.VolatileVenom_VolatileEnchantment,\r\n\t\t\t\t\t\toriginEntityId: undefined,\r\n\t\t\t\t\t\ttiming: gameState.sharedState.currentEntityId++,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.TheSmokingGun:\r\n\t\t\t\t\tspawned.attack += 4;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (!!boardHero.trinkets?.length) {\r\n\t\tfor (const trinket of boardHero.trinkets) {\r\n\t\t\tswitch (trinket.cardId) {\r\n\t\t\t\tcase CardIds.FeralTalisman_BG30_MagicItem_880:\r\n\t\t\t\t\tspawned.attack += 2;\r\n\t\t\t\t\tspawned.health += 1;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.FeralTalisman_FeralTalismanToken_BG30_MagicItem_880t:\r\n\t\t\t\t\tspawned.attack += 8;\r\n\t\t\t\t\tspawned.health += 5;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.DazzlingDagger_BG32_MagicItem_934:\r\n\t\t\t\t\tspawned.attack += trinket.scriptDataNum1 || 1;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.HordeKeychainToken_BG30_MagicItem_843t:\r\n\t\t\t\t\tif (gameState.cardsData.getTavernLevel(spawned.cardId) <= 3) {\r\n\t\t\t\t\t\tspawned.attack += 7;\r\n\t\t\t\t\t\tspawned.health += 5;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.FlagbearerPortrait_BG30_MagicItem_921:\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tspawned.cardId === CardIds.Scallywag_SkyPirateToken_BGS_061t ||\r\n\t\t\t\t\t\tspawned.cardId === CardIds.Scallywag_SkyPirateToken_TB_BaconUps_141t\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tspawned.attack += 6;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (boardHero.globalInfo.HauntedCarapaceAttackBonus > 0) {\r\n\t\tmodifyStats(\r\n\t\t\tspawned,\r\n\t\t\tspawned,\r\n\t\t\tboardHero.globalInfo.HauntedCarapaceAttackBonus,\r\n\t\t\t0,\r\n\t\t\tboard,\r\n\t\t\tboardHero,\r\n\t\t\tgameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t}\r\n\tif (boardHero.globalInfo.HauntedCarapaceHealthBonus > 0) {\r\n\t\tmodifyStats(\r\n\t\t\tspawned,\r\n\t\t\tspawned,\r\n\t\t\t0,\r\n\t\t\tboardHero.globalInfo.HauntedCarapaceHealthBonus,\r\n\t\t\tboard,\r\n\t\t\tboardHero,\r\n\t\t\tgameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t}\r\n\tif (hasCorrectTribe(spawned, boardHero, Race.UNDEAD, gameState.anomalies, gameState.allCards)) {\r\n\t\tif (boardHero.globalInfo.UndeadAttackBonus > 0) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tspawned,\r\n\t\t\t\tboardHero.globalInfo.UndeadAttackBonus,\r\n\t\t\t\t0,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\tif (hasCorrectTribe(spawned, boardHero, Race.PIRATE, gameState.anomalies, gameState.allCards)) {\r\n\t\tif (boardHero.globalInfo.PirateAttackBonus > 0) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tspawned,\r\n\t\t\t\tboardHero.globalInfo.PirateAttackBonus,\r\n\t\t\t\t0,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\tif (hasCorrectTribe(spawned, boardHero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\tif (boardHero.globalInfo.GoldrinnBuffAtk > 0) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tspawned,\r\n\t\t\t\tboardHero.globalInfo.GoldrinnBuffAtk,\r\n\t\t\t\tboardHero.globalInfo.GoldrinnBuffHealth,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tgameState.spectator.registerPowerTarget(boardHero, spawned, board, null, null);\r\n\t\t}\r\n\t}\r\n\tif (isWhelp(spawned.cardId, gameState.allCards)) {\r\n\t\tmodifyStats(\r\n\t\t\tspawned,\r\n\t\t\tspawned,\r\n\t\t\tboardHero.globalInfo.WhelpAttackBuff ?? 0,\r\n\t\t\tboardHero.globalInfo.WhelpHealthBuff ?? 0,\r\n\t\t\tboard,\r\n\t\t\tboardHero,\r\n\t\t\tgameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t\tgameState.spectator.registerPowerTarget(boardHero, spawned, board, null, null);\r\n\t}\r\n\tif (\r\n\t\tisVolumizer(spawned.cardId, boardHero, gameState.anomalies, gameState.allCards) &&\r\n\t\t// https://replays.firestoneapp.com/?reviewId=75e82ef1-3442-4307-a3c8-4a3b72fcf6af&turn=11&action=2\r\n\t\t!alreadyHasVolumizerBuff(spawned, boardHero, gameState)\r\n\t) {\r\n\t\tif (boardHero.globalInfo.VolumizerAttackBuff > 0 || boardHero.globalInfo.VolumizerHealthBuff > 0) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tspawned,\r\n\t\t\t\tboardHero.globalInfo.VolumizerAttackBuff ?? 0,\r\n\t\t\t\tboardHero.globalInfo.VolumizerHealthBuff ?? 0,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tgameState.spectator.registerPowerTarget(boardHero, spawned, board, null, null);\r\n\t\t}\r\n\t}\r\n\r\n\t// In case Putricide spawns a stictched minion whose stitched part creates an aura effect\r\n\t// const potentialAuraSources: { cardId: string; entityId: number }[] = [\r\n\t// \t{ cardId: spawned.cardId, entityId: spawned.entityId },\r\n\t// \t...(spawned.additionalCards ?? []).map((cardId) => ({ cardId, entityId: spawned.entityId })),\r\n\t// ];\r\n\r\n\tif (gameState.cardsData.getTavernLevel(spawned.cardId) % 2 === 1) {\r\n\t\tconst atkBuff = boardHero.globalInfo.MutatedLasherAttackBuff ?? 0;\r\n\t\tconst healthBuff = boardHero.globalInfo.MutatedLasherHealthBuff ?? 0;\r\n\t\tmodifyStats(spawned, spawned, atkBuff, healthBuff, board, boardHero, gameState, false);\r\n\t}\r\n\tfor (const entity of board) {\r\n\t\tconst onOtherSpawnedImpl = cardMappings[entity.cardId];\r\n\t\tif (hasOnOtherSpawnedAura(onOtherSpawnedImpl)) {\r\n\t\t\tonOtherSpawnedImpl.onOtherSpawnedAura(entity, {\r\n\t\t\t\tspawned: spawned,\r\n\t\t\t\thero: boardHero,\r\n\t\t\t\tboard: board,\r\n\t\t\t\tgameState,\r\n\t\t\t});\r\n\t\t}\r\n\t\tswitch (entity.cardId) {\r\n\t\t\tcase CardIds.MurlocWarleaderLegacy_BG_EX1_507:\r\n\t\t\tcase CardIds.MurlocWarleaderLegacy_TB_BaconUps_008:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(spawned, boardHero, Race.MURLOC, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== spawned.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tspawned.attack += entity.cardId === CardIds.MurlocWarleaderLegacy_TB_BaconUps_008 ? 4 : 2;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase CardIds.SouthseaCaptainLegacy_BG_NEW1_027:\r\n\t\t\tcase CardIds.SouthseaCaptainLegacy_TB_BaconUps_136:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(spawned, boardHero, Race.PIRATE, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== spawned.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tspawned.attack += entity.cardId === CardIds.SouthseaCaptainLegacy_TB_BaconUps_136 ? 2 : 1;\r\n\t\t\t\t\tspawned.health += entity.cardId === CardIds.SouthseaCaptainLegacy_TB_BaconUps_136 ? 2 : 1;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t// case CardIds.Kathranatir_BG21_039:\r\n\t\t\t// case CardIds.Kathranatir_BG21_039_G:\r\n\t\t\t// \tif (\r\n\t\t\t// \t\thasCorrectTribe(spawned, boardHero, Race.DEMON, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t// \t\tentity.entityId !== spawned.entityId\r\n\t\t\t// \t) {\r\n\t\t\t// \t\tspawned.attack += entity.cardId === CardIds.Kathranatir_BG21_039_G ? 2 : 1;\r\n\t\t\t// \t}\r\n\t\t\t// \tbreak;\r\n\t\t\tcase CardIds.CyborgDrake_BG25_043:\r\n\t\t\tcase CardIds.CyborgDrake_BG25_043_G:\r\n\t\t\t\tif (spawned.divineShield) {\r\n\t\t\t\t\tspawned.attack += entity.cardId === CardIds.CyborgDrake_BG25_043_G ? 12 : 6;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase CardIds.SoreLoser_BG27_030:\r\n\t\t\tcase CardIds.SoreLoser_BG27_030_G:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(spawned, boardHero, Race.UNDEAD, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== spawned.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tspawned.attack += (entity.cardId === CardIds.SoreLoser_BG27_030_G ? 2 : 1) * boardHero.tavernTier;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tconst onSpawnedImpl = cardMappings[spawned.cardId];\r\n\tif (hasOnSpawned(onSpawnedImpl)) {\r\n\t\tonSpawnedImpl.onSpawned(spawned, {\r\n\t\t\thero: boardHero,\r\n\t\t\tboard: board,\r\n\t\t\tgameState: gameState,\r\n\t\t});\r\n\t}\r\n\tswitch (spawned.cardId) {\r\n\t\tcase CardIds.EternalKnight_BG25_008:\r\n\t\tcase CardIds.EternalKnight_BG25_008_G:\r\n\t\t\tconst multiplierKnight = spawned.cardId === CardIds.EternalKnight_BG25_008_G ? 2 : 1;\r\n\t\t\tconst statsBonusKnight = multiplierKnight * boardHero.globalInfo.EternalKnightsDeadThisGame;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tnull,\r\n\t\t\t\teternalKnightAttack * statsBonusKnight,\r\n\t\t\t\teternalKnightHealth * statsBonusKnight,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.EnsorcelledFungus_BG28_555:\r\n\t\tcase CardIds.EnsorcelledFungus_BG28_555_G:\r\n\t\t\tconst multiplierFungus = spawned.cardId === CardIds.EnsorcelledFungus_BG28_555_G ? 2 : 1;\r\n\t\t\tconst statsBonusFungus = multiplierFungus * boardHero.globalInfo.TavernSpellsCastThisGame;\r\n\t\t\tmodifyStats(spawned, null, statsBonusFungus, 2 * statsBonusFungus, board, boardHero, gameState, false);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.FlourishingFrostling_BG26_537:\r\n\t\tcase CardIds.FlourishingFrostling_BG26_537_G:\r\n\t\t\tconst multiplierFrostling = spawned.cardId === CardIds.FlourishingFrostling_BG26_537_G ? 2 : 1;\r\n\t\t\tconst statsBonusFrostling = multiplierFrostling * boardHero.globalInfo.FrostlingBonus;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tnull,\r\n\t\t\t\t2 * statsBonusFrostling,\r\n\t\t\t\tstatsBonusFrostling,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.SaltyLooter_BGS_081:\r\n\t\tcase CardIds.SaltyLooter_TB_BaconUps_143:\r\n\t\t\tconst multiplierLooter = spawned.cardId === CardIds.SaltyLooter_TB_BaconUps_143 ? 2 : 1;\r\n\t\t\tconst statsBonusLooter = multiplierLooter * boardHero.globalInfo.PiratesSummonedThisGame;\r\n\t\t\tmodifyStats(spawned, null, 2 * statsBonusLooter, 2 * multiplierLooter, board, boardHero, gameState, false);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.AstralAutomaton_BG_TTN_401:\r\n\t\tcase CardIds.AstralAutomaton_BG_TTN_401_G:\r\n\t\t\tconst multiplierAstral = spawned.cardId === CardIds.AstralAutomaton_BG_TTN_401_G ? 2 : 1;\r\n\t\t\t// Don't count the yourself\r\n\t\t\tconst statsBonusAstral = multiplierAstral * (boardHero.globalInfo.AstralAutomatonsSummonedThisGame - 1);\r\n\t\t\tmodifyStats(spawned, null, 3 * statsBonusAstral, 2 * statsBonusAstral, board, boardHero, gameState, false);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.RotHideGnoll_BG25_013:\r\n\t\tcase CardIds.RotHideGnoll_BG25_013_G:\r\n\t\t\tconst multiplierGnoll = spawned.cardId === CardIds.RotHideGnoll_BG25_013_G ? 2 : 1;\r\n\t\t\tconst statsBonusGnoll =\r\n\t\t\t\tmultiplierGnoll * gameState.sharedState.deaths.filter((e) => e.friendly === spawned.friendly).length;\r\n\t\t\tmodifyStats(spawned, null, statsBonusGnoll, 0, board, boardHero, gameState, false);\r\n\t\t\tbreak;\r\n\t}\r\n};\r\n\r\n// Introduced for Rapid Reanimation: since we will \"addMinionToBoard\" the minion afterwards, the auras will\r\n// be re-applied then, so we need to remove them first\r\nexport const removeAurasFromSelf = (\r\n\tentity: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tentity.attack -= Math.max(0, boardHero.globalInfo.AdditionalAttack);\r\n\r\n\tconst onDespawnedImpl = cardMappings[entity.cardId];\r\n\tif (hasOnDespawned(onDespawnedImpl)) {\r\n\t\tonDespawnedImpl.onDespawned(entity, {\r\n\t\t\thero: boardHero,\r\n\t\t\tboard: board,\r\n\t\t\tgameState,\r\n\t\t});\r\n\t}\r\n\r\n\tif (!!boardHero.questRewards?.length) {\r\n\t\tfor (const quest of boardHero.questRewards) {\r\n\t\t\tswitch (quest) {\r\n\t\t\t\tcase CardIds.VolatileVenom:\r\n\t\t\t\t\tentity.attack = Math.max(0, entity.attack - 7);\r\n\t\t\t\t\tentity.health = Math.max(1, entity.health - 7);\r\n\t\t\t\t\tentity.enchantments = entity.enchantments.filter(\r\n\t\t\t\t\t\t(e) => e.cardId !== CardIds.VolatileVenom_VolatileEnchantment,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.TheSmokingGun:\r\n\t\t\t\t\tentity.attack = Math.max(0, entity.attack - 7);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.FlagbearerPortrait_BG30_MagicItem_921:\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tentity.cardId === CardIds.SkyPirateFlagbearer_BG30_119 ||\r\n\t\t\t\t\t\tentity.cardId === CardIds.SkyPirateFlagbearer_BG30_119_G\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tentity.attack = Math.max(0, entity.attack - 8);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (!!boardHero.trinkets?.length) {\r\n\t\tfor (const trinket of boardHero.trinkets) {\r\n\t\t\tswitch (trinket.cardId) {\r\n\t\t\t\tcase CardIds.FeralTalisman_BG30_MagicItem_880:\r\n\t\t\t\t\tentity.attack = Math.max(0, entity.attack - 2);\r\n\t\t\t\t\tentity.health = Math.max(1, entity.health - 1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.FeralTalisman_FeralTalismanToken_BG30_MagicItem_880t:\r\n\t\t\t\t\tentity.attack = Math.max(0, entity.attack - 8);\r\n\t\t\t\t\tentity.health = Math.max(1, entity.health - 5);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.DazzlingDagger_BG32_MagicItem_934:\r\n\t\t\t\t\tentity.attack = Math.max(0, entity.attack - (trinket.scriptDataNum1 || 1));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase CardIds.HordeKeychainToken_BG30_MagicItem_843t:\r\n\t\t\t\t\tif (gameState.cardsData.getTavernLevel(entity.cardId) <= 3) {\r\n\t\t\t\t\t\tentity.attack = Math.max(0, entity.attack - 7);\r\n\t\t\t\t\t\tentity.health = Math.max(1, entity.health - 5);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (boardHero.globalInfo.HauntedCarapaceAttackBonus > 0) {\r\n\t\tentity.attack = Math.max(0, entity.attack - boardHero.globalInfo.HauntedCarapaceAttackBonus);\r\n\t}\r\n\tif (boardHero.globalInfo.HauntedCarapaceHealthBonus > 0) {\r\n\t\tentity.health = Math.max(1, entity.health - boardHero.globalInfo.HauntedCarapaceHealthBonus);\r\n\t}\r\n\tif (hasCorrectTribe(entity, boardHero, Race.UNDEAD, gameState.anomalies, gameState.allCards)) {\r\n\t\tif (boardHero.globalInfo.UndeadAttackBonus > 0) {\r\n\t\t\tentity.attack = Math.max(0, entity.attack - boardHero.globalInfo.UndeadAttackBonus);\r\n\t\t}\r\n\t}\r\n\tif (hasCorrectTribe(entity, boardHero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\tif (boardHero.globalInfo.GoldrinnBuffAtk > 0) {\r\n\t\t\tentity.attack = Math.max(0, entity.attack - boardHero.globalInfo.GoldrinnBuffAtk);\r\n\t\t\tentity.health = Math.max(1, entity.health - boardHero.globalInfo.GoldrinnBuffHealth);\r\n\t\t}\r\n\t}\r\n\r\n\tfor (const boardEntity of board) {\r\n\t\tswitch (boardEntity.cardId) {\r\n\t\t\tcase CardIds.MurlocWarleaderLegacy_BG_EX1_507:\r\n\t\t\tcase CardIds.MurlocWarleaderLegacy_TB_BaconUps_008:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(entity, boardHero, Race.MURLOC, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== boardEntity.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tentity.attack = Math.max(\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tentity.attack - (boardEntity.cardId === CardIds.MurlocWarleaderLegacy_TB_BaconUps_008 ? 4 : 2),\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase CardIds.SouthseaCaptainLegacy_BG_NEW1_027:\r\n\t\t\tcase CardIds.SouthseaCaptainLegacy_TB_BaconUps_136:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(entity, boardHero, Race.PIRATE, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== boardEntity.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tentity.attack = Math.max(\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tentity.attack - (boardEntity.cardId === CardIds.SouthseaCaptainLegacy_TB_BaconUps_136 ? 2 : 1),\r\n\t\t\t\t\t);\r\n\t\t\t\t\tentity.health = Math.max(\r\n\t\t\t\t\t\t1,\r\n\t\t\t\t\t\tentity.health - (boardEntity.cardId === CardIds.SouthseaCaptainLegacy_TB_BaconUps_136 ? 2 : 1),\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t// case CardIds.Kathranatir_BG21_039:\r\n\t\t\t// case CardIds.Kathranatir_BG21_039_G:\r\n\t\t\t// \tif (\r\n\t\t\t// \t\thasCorrectTribe(entity, boardHero, Race.DEMON, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t// \t\tentity.entityId !== boardEntity.entityId\r\n\t\t\t// \t) {\r\n\t\t\t// \t\tentity.attack = Math.max(\r\n\t\t\t// \t\t\t0,\r\n\t\t\t// \t\t\tentity.attack - (boardEntity.cardId === CardIds.Kathranatir_BG21_039_G ? 2 : 1),\r\n\t\t\t// \t\t);\r\n\t\t\t// \t}\r\n\t\t\t// \tbreak;\r\n\t\t\tcase CardIds.CyborgDrake_BG25_043:\r\n\t\t\tcase CardIds.CyborgDrake_BG25_043_G:\r\n\t\t\t\tif (entity.divineShield) {\r\n\t\t\t\t\tentity.attack = Math.max(\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tentity.attack - (boardEntity.cardId === CardIds.CyborgDrake_BG25_043_G ? 12 : 6),\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase CardIds.SoreLoser_BG27_030:\r\n\t\t\tcase CardIds.SoreLoser_BG27_030_G:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(entity, boardHero, Race.UNDEAD, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== boardEntity.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tentity.attack = Math.max(\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tentity.attack -\r\n\t\t\t\t\t\t\t(boardEntity.cardId === CardIds.SoreLoser_BG27_030_G ? 2 : 1) * boardHero.tavernTier,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tswitch (entity.cardId) {\r\n\t\tcase CardIds.EternalKnight_BG25_008:\r\n\t\tcase CardIds.EternalKnight_BG25_008_G:\r\n\t\t\tconst multiplierKnight = entity.cardId === CardIds.EternalKnight_BG25_008_G ? 2 : 1;\r\n\t\t\tconst statsBonusKnight = multiplierKnight * boardHero.globalInfo.EternalKnightsDeadThisGame;\r\n\t\t\tentity.attack = Math.max(0, entity.attack - eternalKnightAttack * statsBonusKnight);\r\n\t\t\tentity.health = Math.max(1, entity.health - eternalKnightHealth * statsBonusKnight);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.EnsorcelledFungus_BG28_555:\r\n\t\tcase CardIds.EnsorcelledFungus_BG28_555_G:\r\n\t\t\tconst multiplierFungus = entity.cardId === CardIds.EnsorcelledFungus_BG28_555_G ? 2 : 1;\r\n\t\t\tconst statsBonusFungus = multiplierFungus * boardHero.globalInfo.TavernSpellsCastThisGame;\r\n\t\t\tentity.attack = Math.max(0, entity.attack - statsBonusFungus);\r\n\t\t\tentity.health = Math.max(1, entity.health - 2 * statsBonusFungus);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.FlourishingFrostling_BG26_537:\r\n\t\tcase CardIds.FlourishingFrostling_BG26_537_G:\r\n\t\t\tconst multiplierFrostling = entity.cardId === CardIds.FlourishingFrostling_BG26_537_G ? 2 : 1;\r\n\t\t\tconst statsBonusFrostling = multiplierFrostling * boardHero.globalInfo.FrostlingBonus;\r\n\t\t\tentity.attack = Math.max(0, entity.attack - statsBonusFrostling);\r\n\t\t\tentity.health = Math.max(1, entity.health - statsBonusFrostling);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.AstralAutomaton_BG_TTN_401:\r\n\t\tcase CardIds.AstralAutomaton_BG_TTN_401_G:\r\n\t\t\tconst multiplierAstral = entity.cardId === CardIds.AstralAutomaton_BG_TTN_401_G ? 2 : 1;\r\n\t\t\t// We remove 1 because the AstralAutomatonsSummonedThisGame also includes the current one\r\n\t\t\t// and ancestral automaton only counts \"other\" automatons\r\n\t\t\tconst statsBonusAstral = multiplierAstral * (boardHero.globalInfo.AstralAutomatonsSummonedThisGame - 1);\r\n\t\t\tentity.attack = Math.max(0, entity.attack - 3 * statsBonusAstral);\r\n\t\t\tentity.health = Math.max(1, entity.health - 2 * statsBonusAstral);\r\n\t\t\tbreak;\r\n\t\tcase CardIds.RotHideGnoll_BG25_013:\r\n\t\tcase CardIds.RotHideGnoll_BG25_013_G:\r\n\t\t\tconst multiplierGnoll = entity.cardId === CardIds.RotHideGnoll_BG25_013_G ? 2 : 1;\r\n\t\t\tconst statsBonusGnoll =\r\n\t\t\t\tmultiplierGnoll * gameState.sharedState.deaths.filter((e) => e.friendly === entity.friendly).length;\r\n\t\t\tentity.attack = Math.max(0, entity.attack - statsBonusGnoll);\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tfor (const enchantment of entity.enchantments) {\r\n\t\tswitch (enchantment?.cardId) {\r\n\t\t\tcase CardIds.TavernLighting_TavernLightsEnchantment:\r\n\t\t\t\tentity.attack = Math.max(0, entity.attack - enchantment.tagScriptDataNum1);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst handleMinionAddedAuraEffect = (\r\n\tspawnedCardId: string,\r\n\tspawned: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\tisActuallySpawned = true,\r\n): void => {\r\n\tswitch (spawnedCardId) {\r\n\t\tcase CardIds.SouthseaCaptainLegacy_BG_NEW1_027:\r\n\t\tcase CardIds.SouthseaCaptainLegacy_TB_BaconUps_136:\r\n\t\t\tboard\r\n\t\t\t\t.filter((e) => hasCorrectTribe(e, boardHero, Race.PIRATE, gameState.anomalies, gameState.allCards))\r\n\t\t\t\t// Other\r\n\t\t\t\t.filter((e) => e.entityId !== spawned.entityId)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\te.attack += spawned.cardId === CardIds.SouthseaCaptainLegacy_TB_BaconUps_136 ? 2 : 1;\r\n\t\t\t\t\te.health += spawned.cardId === CardIds.SouthseaCaptainLegacy_TB_BaconUps_136 ? 2 : 1;\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\tcase CardIds.MurlocWarleaderLegacy_BG_EX1_507:\r\n\t\tcase CardIds.MurlocWarleaderLegacy_TB_BaconUps_008:\r\n\t\t\tboard\r\n\t\t\t\t.filter((e) => hasCorrectTribe(e, boardHero, Race.MURLOC, gameState.anomalies, gameState.allCards))\r\n\t\t\t\t.filter((e) => e.entityId !== spawned.entityId)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\te.attack += spawned.cardId === CardIds.MurlocWarleaderLegacy_TB_BaconUps_008 ? 4 : 2;\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\t// case CardIds.Kathranatir_BG21_039:\r\n\t\t// case CardIds.Kathranatir_BG21_039_G:\r\n\t\t// \tboard\r\n\t\t// \t\t.filter((e) => hasCorrectTribe(e, boardHero, Race.DEMON, gameState.anomalies, gameState.allCards))\r\n\t\t// \t\t.filter((e) => e.entityId !== spawned.entityId)\r\n\t\t// \t\t.forEach((e) => {\r\n\t\t// \t\t\te.attack += spawned.cardId === CardIds.Kathranatir_BG21_039_G ? 4 : 2;\r\n\t\t// \t\t});\r\n\t\t// \tbreak;\r\n\t\tcase CardIds.CyborgDrake_BG25_043:\r\n\t\tcase CardIds.CyborgDrake_BG25_043_G:\r\n\t\t\tboard\r\n\t\t\t\t.filter((e) => e.divineShield)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\te.attack += spawned.cardId === CardIds.CyborgDrake_BG25_043_G ? 12 : 6;\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\r\n\t\tcase CardIds.SoreLoser_BG27_030:\r\n\t\tcase CardIds.SoreLoser_BG27_030_G:\r\n\t\t\tboard\r\n\t\t\t\t.filter((e) => hasCorrectTribe(e, boardHero, Race.UNDEAD, gameState.anomalies, gameState.allCards))\r\n\t\t\t\t.filter((e) => e.entityId !== spawned.entityId)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\te.attack += (spawned.cardId === CardIds.SoreLoser_BG27_030_G ? 2 : 1) * boardHero.tavernTier;\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\tcase CardIds.AstralAutomaton_BG_TTN_401:\r\n\t\tcase CardIds.AstralAutomaton_BG_TTN_401_G:\r\n\t\t\t// TODO: move this somewhere else\r\n\t\t\tif (isActuallySpawned) {\r\n\t\t\t\tboardHero.globalInfo.AstralAutomatonsSummonedThisGame++;\r\n\t\t\t}\r\n\t\t\tboard\r\n\t\t\t\t.filter((e) => e.entityId !== spawned.entityId)\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.AstralAutomaton_BG_TTN_401 ||\r\n\t\t\t\t\t\te.cardId === CardIds.AstralAutomaton_BG_TTN_401_G,\r\n\t\t\t\t)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\tconst multiplierAstral = e.cardId === CardIds.AstralAutomaton_BG_TTN_401_G ? 2 : 1;\r\n\t\t\t\t\tmodifyStats(e, e, 3 * multiplierAstral, 2 * multiplierAstral, board, boardHero, gameState, false);\r\n\t\t\t\t});\r\n\t\t\tbreak;\r\n\t\tcase CardIds.DrBoomsMonster_BG31_176:\r\n\t\tcase CardIds.DrBoomsMonster_BG31_176_G:\r\n\t\t\tconst multiplierDrBoom = spawned.cardId === CardIds.DrBoomsMonster_BG31_176_G ? 2 : 1;\r\n\t\t\tmodifyStats(\r\n\t\t\t\tspawned,\r\n\t\t\t\tspawned,\r\n\t\t\t\t2 * boardHero.globalInfo.MagnetizedThisGame * multiplierDrBoom,\r\n\t\t\t\t2 * boardHero.globalInfo.MagnetizedThisGame * multiplierDrBoom,\r\n\t\t\t\tboard,\r\n\t\t\t\tboardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tbreak;\r\n\t}\r\n};\r\n\r\nexport const handleAfterSpawnEffects = (\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tallSpawned: readonly BoardEntity[],\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tfor (const spawned of allSpawned) {\r\n\t\thandleAfterSpawnEffect(board, hero, otherBoard, otherHero, spawned, gameState);\r\n\t}\r\n};\r\n\r\nexport const onMinionSummoned = (hero: BgsPlayerEntity, board: BoardEntity[], gameState: FullGameState): void => {\r\n\tconst quests = hero.questEntities ?? [];\r\n\tif (!quests.length) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tfor (const quest of quests) {\r\n\t\tswitch (quest.CardId) {\r\n\t\t\tcase CardIds.AssembleALineup:\r\n\t\t\t\tonQuestProgressUpdated(hero, quest, board, gameState);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst handleAfterSpawnEffect = (\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tspawned: BoardEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\t// So that spawns don't mess up the loop\r\n\tconst initialBoard = [...board];\r\n\r\n\tfor (const trinket of hero.trinkets ?? []) {\r\n\t\tconst onAfterSpawnedImpl = cardMappings[trinket.cardId];\r\n\t\tif (hasAfterOtherSpawned(onAfterSpawnedImpl)) {\r\n\t\t\tonAfterSpawnedImpl.afterOtherSpawned(trinket, {\r\n\t\t\t\tspawned: spawned,\r\n\t\t\t\thero: hero,\r\n\t\t\t\tboard: board,\r\n\t\t\t\totherHero: otherHero,\r\n\t\t\t\totherBoard: otherBoard,\r\n\t\t\t\tgameState,\r\n\t\t\t\tapplySelfAuras: false,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfor (const entity of initialBoard) {\r\n\t\tif (entity.entityId === spawned.entityId) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst onAfterSpawnedImpl = cardMappings[entity.cardId];\r\n\t\tif (hasAfterOtherSpawned(onAfterSpawnedImpl)) {\r\n\t\t\tonAfterSpawnedImpl.afterOtherSpawned(entity, {\r\n\t\t\t\tspawned: spawned,\r\n\t\t\t\thero: hero,\r\n\t\t\t\tboard: board,\r\n\t\t\t\totherHero: otherHero,\r\n\t\t\t\totherBoard: otherBoard,\r\n\t\t\t\tgameState,\r\n\t\t\t\tapplySelfAuras: false,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tswitch (entity.cardId) {\r\n\t\t\tcase CardIds.XyloBones_BG26_172:\r\n\t\t\tcase CardIds.XyloBones_BG26_172_G:\r\n\t\t\t\tif (entity.entityId !== spawned.entityId) {\r\n\t\t\t\t\tconst xylobonesBuff = entity.cardId === CardIds.XyloBones_BG26_172_G ? 4 : 2;\r\n\t\t\t\t\tmodifyStats(entity, entity, 0, xylobonesBuff, board, hero, gameState);\r\n\t\t\t\t\tgameState.spectator.registerPowerTarget(entity, entity, board, null, null);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase CardIds.OctosariWrapGod_BG26_804:\r\n\t\t\tcase CardIds.OctosariWrapGod_BG26_804_G:\r\n\t\t\t\tif (entity.entityId !== spawned.entityId) {\r\n\t\t\t\t\tconst octoStats = entity.cardId === CardIds.OctosariWrapGod_BG26_804_G ? 4 : 2;\r\n\t\t\t\t\tentity.scriptDataNum1 = (entity.scriptDataNum1 ?? 0) + octoStats;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t// case CardIds.ObserverOfMyths_BG_TTN_078:\r\n\t\t\t// case CardIds.ObserverOfMyths_BG_TTN_078_G:\r\n\t\t\t// \tif (spawned.attack > entity.attack) {\r\n\t\t\t// \t\tconst observerBuff = entity.cardId === CardIds.ObserverOfMyths_BG_TTN_078_G ? 2 : 1;\r\n\t\t\t// \t\taddStatsToBoard(entity, board, hero, observerBuff, 0, gameState);\r\n\t\t\t// \t}\r\n\t\t\t// \tbreak;\r\n\t\t\tcase CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy:\r\n\t\t\tcase CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy_G:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(spawned, hero, Race.DRAGON, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== spawned.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tconst valithriaBuff =\r\n\t\t\t\t\t\tentity.cardId === CardIds.ValithriaDreamwalker_TB_BaconShop_HERO_53_Buddy_G ? 3 : 2;\r\n\t\t\t\t\tmodifyStats(entity, entity, valithriaBuff, valithriaBuff, board, hero, gameState);\r\n\t\t\t\t\tgameState.spectator.registerPowerTarget(entity, spawned, board, null, null);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t// Putricide-only\r\n\t\t\tcase CardIds.ArmsDealer_BG26_RLK_824:\r\n\t\t\t\tif (\r\n\t\t\t\t\thasCorrectTribe(spawned, hero, Race.UNDEAD, gameState.anomalies, gameState.allCards) &&\r\n\t\t\t\t\tentity.entityId !== spawned.entityId\r\n\t\t\t\t) {\r\n\t\t\t\t\tmodifyStats(spawned, spawned, 1, 0, board, hero, gameState, false);\r\n\t\t\t\t\tgameState.spectator.registerPowerTarget(entity, entity, board, null, null);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tfor (const trinket of hero.trinkets ?? []) {\r\n\t\tconst resolvedImpl = cardMappings[trinket.cardId];\r\n\t\tif (hasAfterOtherSpawned(resolvedImpl)) {\r\n\t\t\tresolvedImpl.afterOtherSpawned(trinket, {\r\n\t\t\t\tspawned,\r\n\t\t\t\thero,\r\n\t\t\t\tboard,\r\n\t\t\t\totherHero,\r\n\t\t\t\totherBoard,\r\n\t\t\t\tgameState,\r\n\t\t\t\tapplySelfAuras: false,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport interface OnSpawnInput {\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\nexport interface OnOtherSpawnInput {\r\n\tspawned: BoardEntity;\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n\tapplySelfAuras: boolean;\r\n}\r\nexport interface OnOtherSpawnAuraInput {\r\n\tspawned: BoardEntity;\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\nexport interface OnDespawnInput {\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\n\r\n/** Trinket reaction when a minion is placed on the friendly board (`handleAddedMinionAuraEffect`, after hero power / quest hooks). */\r\nexport interface OnFriendlyMinionSummonedTrinketInput {\r\n\tspawned: BoardEntity;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"after-attack.js","sourceRoot":"","sources":["../../../src/simulation/after-attack.ts"],"names":[],"mappings":"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","sourcesContent":["import { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport { hasAfterAnotherMinionAttacks } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { updateStealth } from '../keywords/stealth';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { onQuestProgressUpdated } from './quest';\r\nimport { modifyStats } from './stats';\r\n\r\nexport const applyAfterAttackEffects = (\r\n\tattackingEntity: BoardEntity,\r\n\tattackingBoard: BoardEntity[],\r\n\tattackingBoardHero: BgsPlayerEntity,\r\n\tdefendingEntity: BoardEntity,\r\n\tdefendingBoard: BoardEntity[],\r\n\tdefendingBoardHero: BgsPlayerEntity,\r\n\tdamageDoneByAttacker: number,\r\n\tdamageDoneByDefender: number,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\t// https://replays.firestoneapp.com/?reviewId=9c3ba0f2-d049-4f79-8ec2-7b20ec8d0f68&turn=11&action=5\r\n\t// It looks like Stealth is removed only once the damage is dealt?\r\n\tupdateStealth(attackingEntity, false, attackingBoard, attackingBoardHero, defendingBoardHero, gameState);\r\n\r\n\tif (\r\n\t\tattackingEntity.cardId === CardIds.IncorporealCorporal_BG26_RLK_117 ||\r\n\t\tattackingEntity.cardId === CardIds.IncorporealCorporal_BG26_RLK_117_G\r\n\t) {\r\n\t\tattackingEntity.definitelyDead = true;\r\n\t}\r\n\t// Putricide-only\r\n\telse if (attackingEntity.additionalCards?.includes(CardIds.IncorporealCorporal_BG26_RLK_117)) {\r\n\t\tattackingEntity.definitelyDead = true;\r\n\t}\r\n\r\n\tattackingBoard\r\n\t\t.filter((e) => e.additionalCards?.includes(CardIds.FesterootHulk_BG_GIL_655))\r\n\t\t.forEach((e) => {\r\n\t\t\tmodifyStats(e, e, 1, 0, attackingBoard, attackingBoardHero, gameState);\r\n\t\t});\r\n\r\n\tlet secretTriggered = null;\r\n\tif (\r\n\t\t(secretTriggered = defendingBoardHero.secrets?.find(\r\n\t\t\t(secret) => !secret.triggered && secret?.cardId === CardIds.Reckoning_TB_Bacon_Secrets_14,\r\n\t\t)) != null\r\n\t) {\r\n\t\t// console.log('triggering secret?', damageDoneByAttacker, stringifySimpleCard(attackingEntity, allCards));\r\n\t\tif (damageDoneByAttacker >= 3 && !(attackingEntity.health <= 0 || attackingEntity.definitelyDead)) {\r\n\t\t\tsecretTriggered.triggered = true;\r\n\t\t\tattackingEntity.definitelyDead = true;\r\n\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\tsecretTriggered,\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyOnAttackQuest(attackingEntity, attackingBoard, attackingBoardHero, gameState);\r\n};\r\n\r\nexport const applyAfterAttackTrinkets = (\r\n\tattackingEntity: BoardEntity,\r\n\tattackingBoard: BoardEntity[],\r\n\tattackingBoardHero: BgsPlayerEntity,\r\n\tdefendingEntity: BoardEntity,\r\n\tdefendingBoard: BoardEntity[],\r\n\tdefendingBoardHero: BgsPlayerEntity,\r\n\tdamageDoneByAttacker: number,\r\n\tdamageDoneByDefender: number,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tconst trinkets = attackingBoardHero.trinkets ?? [];\r\n\tfor (const trinket of trinkets) {\r\n\t\tconst afterAttackImpl = cardMappings[trinket.cardId];\r\n\t\tif (hasAfterAnotherMinionAttacks(afterAttackImpl)) {\r\n\t\t\tafterAttackImpl.afterAnotherMinionAttacks(trinket, {\r\n\t\t\t\tattacker: attackingEntity,\r\n\t\t\t\tattackingBoard: attackingBoard,\r\n\t\t\t\tattackingHero: attackingBoardHero,\r\n\t\t\t\tdefendingEntity: defendingEntity,\r\n\t\t\t\tdefendingBoard: defendingBoard,\r\n\t\t\t\tdefendingHero: defendingBoardHero,\r\n\t\t\t\tgameState: gameState,\r\n\t\t\t\tplayerIsFriendly: attackingBoardHero.friendly,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst applyOnAttackQuest = (\r\n\tattackingEntity: BoardEntity,\r\n\tattackingBoard: BoardEntity[],\r\n\tattackingBoardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tconst quests = attackingBoardHero.questEntities ?? [];\r\n\tfor (const quest of quests) {\r\n\t\tswitch (quest.CardId) {\r\n\t\t\tcase CardIds.CrackTheCase:\r\n\t\t\t\tonQuestProgressUpdated(attackingBoardHero, quest, attackingBoard, gameState);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport interface OnAfterAttackInput {\r\n\tattacker: BoardEntity;\r\n\tattackingHero: BgsPlayerEntity;\r\n\tattackingBoard: BoardEntity[];\r\n\tdefendingEntity: BoardEntity;\r\n\tdefendingBoard: BoardEntity[];\r\n\tdefendingHero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n\tplayerIsFriendly: boolean;\r\n}\r\n"]}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { AllCardsService } from '@firestone-hs/reference-data';
|
|
2
|
-
import { BgsPlayerEntity } from '../bgs-player-entity';
|
|
3
|
-
import { BoardEntity } from '../board-entity';
|
|
4
|
-
import { FullGameState } from './internal-game-state';
|
|
5
|
-
export declare const simulateAttack: (attackingBoard: BoardEntity[], attackingBoardHero: BgsPlayerEntity, defendingBoard: BoardEntity[], defendingBoardHero: BgsPlayerEntity, gameState: FullGameState, options?: {
|
|
6
|
-
skipSummonWhenSpace?: boolean;
|
|
7
|
-
forceTarget?: BoardEntity;
|
|
8
|
-
}) => BoardEntity;
|
|
9
|
-
export declare const doFullAttack: (attackingEntity: BoardEntity, attackingBoard: BoardEntity[], attackingBoardHero: BgsPlayerEntity, defendingEntity: BoardEntity, defendingBoard: BoardEntity[], defendingBoardHero: BgsPlayerEntity, gameState: FullGameState, options?: {
|
|
10
|
-
skipSummonWhenSpace?: boolean;
|
|
11
|
-
}) => void;
|
|
12
|
-
export declare const findNearestEnemies: (attackingBoard: BoardEntity[], entity: BoardEntity, entityIndexFromRight: number, defendingBoard: BoardEntity[], numberOfTargets: number, allCards: AllCardsService) => BoardEntity[];
|
|
13
|
-
export declare const getNeighbours: (board: BoardEntity[], entity: BoardEntity, deadEntityIndexFromRight?: number, alwaysIncludeBoth?: boolean) => readonly BoardEntity[];
|
|
14
|
-
export declare const getLeftNeighbour: (board: BoardEntity[], entity: BoardEntity, deadEntityIndexFromRight?: number) => BoardEntity;
|
|
15
|
-
export declare const dealDamageToRandomEnemy: (boardToBeDamaged: BoardEntity[], boardToBeDamagedHero: BgsPlayerEntity, damageSource: BoardEntity, damage: number, boardWithAttackOrigin: BoardEntity[], boardWithAttackOriginHero: BgsPlayerEntity, gameState: FullGameState) => void;
|
|
16
|
-
export declare const dealDamageToMinion: (target: BoardEntity, board: BoardEntity[], hero: BgsPlayerEntity, damageSource: BoardEntity | BgsPlayerEntity, damage: number, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, gameState: FullGameState) => number;
|
|
17
|
-
export declare const dealDamageToMinions: (targets: BoardEntity[], board: BoardEntity[], hero: BgsPlayerEntity, damageSource: BoardEntity | BgsPlayerEntity, damage: number, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, gameState: FullGameState) => number;
|
|
18
|
-
export declare const getDefendingEntity: (defendingBoard: BoardEntity[], attackingEntity: BoardEntity, ignoreTaunts?: boolean) => BoardEntity;
|
|
19
|
-
export declare const bumpEntities: (entity: BoardEntity, bumpInto: BoardEntity, entityBoard: BoardEntity[], entityBoardHero: BgsPlayerEntity, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, gameState: FullGameState, applyVenomous?: boolean) => number;
|
|
20
|
-
export declare const processMinionDeath: (board1: BoardEntity[], board1Hero: BgsPlayerEntity, board2: BoardEntity[], board2Hero: BgsPlayerEntity, gameState: FullGameState, skipSummonWhenSpace?: boolean) => void;
|
|
21
|
-
export interface OnDeathInput {
|
|
22
|
-
readonly hero: BgsPlayerEntity;
|
|
23
|
-
readonly board: BoardEntity[];
|
|
24
|
-
readonly gameState: FullGameState;
|
|
25
|
-
}
|
|
26
|
-
export interface OnAfterDeathInput {
|
|
27
|
-
readonly hero: BgsPlayerEntity;
|
|
28
|
-
readonly board: BoardEntity[];
|
|
29
|
-
readonly otherHero: BgsPlayerEntity;
|
|
30
|
-
readonly otherBoard: BoardEntity[];
|
|
31
|
-
readonly deadEntities: BoardEntity[];
|
|
32
|
-
readonly gameState: FullGameState;
|
|
33
|
-
}
|
|
34
|
-
export interface OnAfterFriendlyMinionDeathInput {
|
|
35
|
-
readonly deadEntity: BoardEntity;
|
|
36
|
-
readonly board: BoardEntity[];
|
|
37
|
-
readonly hero: BgsPlayerEntity;
|
|
38
|
-
readonly gameState: FullGameState;
|
|
39
|
-
}
|
|
40
|
-
export interface OnMinionKilledInput {
|
|
41
|
-
readonly killer: BoardEntity;
|
|
42
|
-
readonly killerIsAttacking: boolean;
|
|
43
|
-
readonly minionKilled: BoardEntity;
|
|
44
|
-
readonly attackingHero: BgsPlayerEntity;
|
|
45
|
-
readonly attackingBoard: BoardEntity[];
|
|
46
|
-
readonly defendingHero: BgsPlayerEntity;
|
|
47
|
-
readonly defendingBoard: BoardEntity[];
|
|
48
|
-
readonly defenderNeighbours: readonly BoardEntity[];
|
|
49
|
-
readonly gameState: FullGameState;
|
|
50
|
-
readonly playerIsFriendly: boolean;
|
|
51
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attack.js","sourceRoot":"","sources":["../../../src/simulation/attack.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport { AllCardsService } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport { hasOnAfterDeath, hasOnDeath } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { debugState } from '../debug-state';\r\nimport { updateDivineShield } from '../keywords/divine-shield';\r\nimport { updateVenomous } from '../keywords/venomous';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { groupByFunction, pickRandom } from '../services/utils';\r\nimport { addImpliedMechanics, isFish } from '../utils';\r\nimport { applyAfterAttackEffects, applyAfterAttackTrinkets } from './after-attack';\r\nimport { onEntityDamaged } from './damage-effects';\r\nimport { rememberDeathrattles } from './deathrattle-effects';\r\nimport { orchestrateMinionDeathEffects } from './deathrattle-orchestration';\r\nimport { spawnEntities } from './deathrattle-spawns';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { makeMinionsDie } from './minion-death';\r\nimport { onMinionKill } from './minion-kill';\r\nimport { applyOnAttackEffects } from './on-attack';\r\nimport { applyOnBeingAttackedBuffs } from './on-being-attacked';\r\nimport { performEntitySpawns } from './spawns';\r\nimport { applyAfterStatsUpdate } from './stats';\r\nimport { handleSummonsWhenSpace } from './summon-when-space';\r\nimport { canAttack } from './utils/entity-utils';\r\n\r\n// Only use it to simulate actual attack. To simulate damage, or something similar, use bumpInto\r\nexport const simulateAttack = (\r\n\tattackingBoard: BoardEntity[],\r\n\tattackingBoardHero: BgsPlayerEntity,\r\n\tdefendingBoard: BoardEntity[],\r\n\tdefendingBoardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\toptions?: {\r\n\t\tskipSummonWhenSpace?: boolean;\r\n\t\tforceTarget?: BoardEntity;\r\n\t},\r\n): BoardEntity => {\r\n\t// console.debug(\r\n\t// \t'\\nsimulating attack',\r\n\t// \tstringifySimple(attackingBoard, gameState.allCards),\r\n\t// \t'\\n',\r\n\t// \tstringifySimple(defendingBoard, gameState.allCards),\r\n\t// );\r\n\tif (attackingBoard.length === 0 || defendingBoard.length === 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst attackingEntity = getAttackingEntity(attackingBoard, gameState.allCards);\r\n\tif (attackingEntity) {\r\n\t\tgameState.sharedState.currentAttackerEntityId = attackingEntity.entityId;\r\n\t\t// Get the left entities now, otherwise things might break if the attacker dies and/or other\r\n\t\t// entities pop\r\n\t\tconst attackingEntityIndex = attackingBoard.indexOf(attackingEntity);\r\n\t\tconst attackingEntitiesToTheLeft = attackingBoard.slice(0, attackingEntityIndex);\r\n\t\tconst isAttackingImmediately = attackingEntity.attackImmediately;\r\n\t\t// In case of Broodmother spawn, it spawns where the dead minion was, and has no influence on the\r\n\t\t// attack order\r\n\t\t// Situation this is trying to resolve by putting this right at the top of the loop:\r\n\t\t// - One scallywag attacks into another one, both die\r\n\t\t// - The first one attacks. To its left is a Harmless Bonehead with 1 HP. The scallywag attacks, and both scallys die\r\n\t\t// - The *other* sky pirate attacks first, and kills the bonehead. Two minions are spawned\r\n\t\t// - The first sy pirate attacks\r\n\t\t// - The initial loop is resolved. If this is at the end, the Harmless Bonehead is already dead, and not flagged\r\n\t\t// While having this right away, we immediately flag all minions to the left\r\n\t\tif (!isAttackingImmediately) {\r\n\t\t\t// Make sure they won't be able to attack until everyone has attacked\r\n\t\t\t// See http://replays.firestoneapp.com/?reviewId=a1b3066d-e806-44c1-ab4b-7ef9dbf9b5b9&turn=5&action=4\r\n\t\t\tattackingEntitiesToTheLeft.forEach((entity) => (entity.hasAttacked = 2));\r\n\t\t} else {\r\n\t\t\t// Change it right away so that new spawns don't trigger the \"attack immediately\" again\r\n\t\t\tattackingEntity.attackImmediately = false;\r\n\t\t}\r\n\r\n\t\tconst numberOfAttacks = attackingEntity.windfury ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfAttacks; i++) {\r\n\t\t\t// We refresh the entity in case of windfury\r\n\t\t\tif (attackingBoard.length === 0 || defendingBoard.length === 0) {\r\n\t\t\t\t// We still want to flag the entity as having attacked, so that it doesn't attack again\r\n\t\t\t\t// after teammate switch in Duos\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\t// Check that didn't die\r\n\t\t\tif (attackingBoard.find((entity) => entity.entityId === attackingEntity.entityId)) {\r\n\t\t\t\tconst defendingEntity: BoardEntity =\r\n\t\t\t\t\toptions?.forceTarget ?? getDefendingEntity(defendingBoard, attackingEntity);\r\n\t\t\t\t// Can happen with a single defender that has stealth\r\n\t\t\t\tif (defendingEntity && defendingEntity.health > 0 && !defendingEntity.definitelyDead) {\r\n\t\t\t\t\tdoFullAttack(\r\n\t\t\t\t\t\tattackingEntity,\r\n\t\t\t\t\t\tattackingBoard,\r\n\t\t\t\t\t\tattackingBoardHero,\r\n\t\t\t\t\t\tdefendingEntity,\r\n\t\t\t\t\t\tdefendingBoard,\r\n\t\t\t\t\t\tdefendingBoardHero,\r\n\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\toptions,\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Solves the edge case of Sky Pirate vs a stealth board\r\n\t\t\t\t\tattackingEntity.attackImmediately = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tgameState.sharedState.currentAttackerEntityId = null;\r\n\t\tattackingEntity.hasAttacked = 1;\r\n\t}\r\n\treturn attackingEntity;\r\n};\r\n\r\nexport const doFullAttack = (\r\n\tattackingEntity: BoardEntity,\r\n\tattackingBoard: BoardEntity[],\r\n\tattackingBoardHero: BgsPlayerEntity,\r\n\tdefendingEntity: BoardEntity,\r\n\tdefendingBoard: BoardEntity[],\r\n\tdefendingBoardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\toptions?: {\r\n\t\tskipSummonWhenSpace?: boolean;\r\n\t},\r\n) => {\r\n\tconst isAttackingImmediately = attackingEntity.attackImmediately;\r\n\tgameState.spectator.registerAttack(\r\n\t\tattackingEntity,\r\n\t\tdefendingEntity,\r\n\t\tattackingBoard,\r\n\t\tdefendingBoard,\r\n\t\tattackingBoardHero,\r\n\t\tdefendingBoardHero,\r\n\t);\r\n\t// http://replays.firestoneapp.com/?reviewId=50576a9f-2e6a-4600-87ba-6e737ca9853e&turn=21&action=4\r\n\t// Looks like onBeingAttacked effects apply before onAttack effects\r\n\tapplyOnBeingAttackedBuffs(\r\n\t\tattackingEntity,\r\n\t\tattackingBoard,\r\n\t\tattackingBoardHero,\r\n\t\tdefendingEntity,\r\n\t\tdefendingBoard,\r\n\t\tdefendingBoardHero,\r\n\t\tgameState,\r\n\t);\r\n\tconst { damageDoneByAttacker: damageDoneByAttacker1, damageDoneByDefender: damageDoneByDefender1 } =\r\n\t\tapplyOnAttackEffects(\r\n\t\t\tattackingEntity,\r\n\t\t\tattackingBoard,\r\n\t\t\tattackingBoardHero,\r\n\t\t\tdefendingEntity,\r\n\t\t\tdefendingBoard,\r\n\t\t\tdefendingBoardHero,\r\n\t\t\tgameState,\r\n\t\t);\r\n\tconst { damageDoneByAttacker: damageDoneByAttacker2, damageDoneByDefender: damageDoneByDefender2 } = performAttack(\r\n\t\tattackingEntity,\r\n\t\tdefendingEntity,\r\n\t\tattackingBoard,\r\n\t\tattackingBoardHero,\r\n\t\tdefendingBoard,\r\n\t\tdefendingBoardHero,\r\n\t\tgameState,\r\n\t);\r\n\tconst damageDoneByAttacker = damageDoneByAttacker1 + damageDoneByAttacker2;\r\n\tconst damageDoneByDefender = damageDoneByDefender1 + damageDoneByDefender2;\r\n\r\n\t// Process this after the minions die and deathrattles are triggered/spawned\r\n\t// https://replays.firestoneapp.com/?reviewId=dd4e9dbe-abca-434a-ab94-04777cbedefe&turn=29&action=3\r\n\t// BUT: the attacking entity's afterAttack (like Macaw) needs to be processed\r\n\t// To recap:\r\n\t// - Jar o'Gems procs after the deathrattles have spawned\r\n\t// - When Monstrous Macaw procs a deathrattle, it is still on board, thus limiting the spawn room\r\n\t// So not sure what the exact timings are. It could be:\r\n\t// 1. Trigger minion's after attack\r\n\t// 2. Make minions die\r\n\t// 3. Process trinkets after attack\r\n\t// I have asked on Discord - for now I will consider a \"minion after attack\" phase and a \"trinket after attack\" phase.\r\n\t// I'm not sure about the secrets / trinkets, they will need to be adapted\r\n\tapplyAfterAttackEffects(\r\n\t\tattackingEntity,\r\n\t\tattackingBoard,\r\n\t\tattackingBoardHero,\r\n\t\tdefendingEntity,\r\n\t\tdefendingBoard,\r\n\t\tdefendingBoardHero,\r\n\t\tdamageDoneByAttacker,\r\n\t\tdamageDoneByDefender,\r\n\t\tgameState,\r\n\t);\r\n\r\n\tprocessMinionDeath(\r\n\t\tattackingBoard,\r\n\t\tattackingBoardHero,\r\n\t\tdefendingBoard,\r\n\t\tdefendingBoardHero,\r\n\t\tgameState,\r\n\t\toptions?.skipSummonWhenSpace || isAttackingImmediately,\r\n\t);\r\n\r\n\tapplyAfterAttackTrinkets(\r\n\t\tattackingEntity,\r\n\t\tattackingBoard,\r\n\t\tattackingBoardHero,\r\n\t\tdefendingEntity,\r\n\t\tdefendingBoard,\r\n\t\tdefendingBoardHero,\r\n\t\tdamageDoneByAttacker,\r\n\t\tdamageDoneByDefender,\r\n\t\tgameState,\r\n\t);\r\n\tapplyAfterStatsUpdate(gameState);\r\n\tattackingEntity.immuneWhenAttackCharges = Math.max(0, (attackingEntity.immuneWhenAttackCharges ?? 0) - 1);\r\n\t// if (\r\n\t// \tdefendingEntity.health > 0 &&\r\n\t// \t!defendingEntity.definitelyDead\r\n\t// \t&& (defendingEntity.cardId === CardIds.YoHoOgre_BGS_060 ||\r\n\t// \t\tdefendingEntity.cardId === CardIds.YoHoOgre_TB_BaconUps_150)\r\n\t// ) {\r\n\t// \tdefendingEntity.attackImmediately = true;\r\n\t// \tif (defendingEntity.attackImmediately) {\r\n\t// \t\tsimulateAttack(defendingBoard, defendingBoardHero, attackingBoard, attackingBoardHero, gameState);\r\n\t// \t}\r\n\t// }\r\n};\r\n\r\nconst performAttack = (\r\n\tattackingEntity: BoardEntity,\r\n\tdefendingEntity: BoardEntity,\r\n\tattackingBoard: BoardEntity[],\r\n\tattackingBoardHero: BgsPlayerEntity,\r\n\tdefendingBoard: BoardEntity[],\r\n\tdefendingBoardHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): { damageDoneByAttacker: number; damageDoneByDefender: number } => {\r\n\tlet damageDoneByAttacker = 0;\r\n\tlet damageDoneByDefender = 0;\r\n\r\n\tif ([CardIds.BabyKrush_BG22_001, CardIds.BabyKrush_BG22_001_G].includes(attackingEntity.cardId as CardIds)) {\r\n\t\tconst spawns = spawnEntities(\r\n\t\t\tattackingEntity.cardId === CardIds.BabyKrush_BG22_001_G\r\n\t\t\t\t? CardIds.BabyKrush_BG22_001_G\r\n\t\t\t\t: CardIds.BabyKrush_DevilsaurToken,\r\n\t\t\t1,\r\n\t\t\tattackingBoard,\r\n\t\t\tattackingBoardHero,\r\n\t\t\tdefendingBoard,\r\n\t\t\tdefendingBoardHero,\r\n\t\t\tgameState,\r\n\t\t\ttrue,\r\n\t\t\ttrue,\r\n\t\t);\r\n\t\tif (spawns.length > 0) {\r\n\t\t\tconst sourceIndex = attackingBoard.indexOf(attackingEntity);\r\n\t\t\tconst actualSpawns = performEntitySpawns(\r\n\t\t\t\tspawns,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tsourceIndex,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t\tfor (const actualSpawn of actualSpawns) {\r\n\t\t\t\tif (defendingEntity.health > 0 && !defendingEntity.definitelyDead) {\r\n\t\t\t\t\tperformAttack(\r\n\t\t\t\t\t\tactualSpawn,\r\n\t\t\t\t\t\tdefendingEntity,\r\n\t\t\t\t\t\tattackingBoard,\r\n\t\t\t\t\t\tattackingBoardHero,\r\n\t\t\t\t\t\tdefendingBoard,\r\n\t\t\t\t\t\tdefendingBoardHero,\r\n\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// For Prestor\r\n\tconst defenderAliveBeforeAttack = defendingEntity.health > 0 && !defendingEntity.definitelyDead;\r\n\t// Because of Bristleback Knight, which changes its divine shield status during bumpEntities\r\n\tconst attackerHadDivineShield = attackingEntity.divineShield;\r\n\tconst defenderHadDivineShield = defendingEntity.divineShield;\r\n\t// For cleave\r\n\t// We do that now so that we don't include entities that spawn on entity damaged\r\n\tconst defenderNeighbours: readonly BoardEntity[] = getNeighbours(defendingBoard, defendingEntity);\r\n\tif (defenderAliveBeforeAttack) {\r\n\t\tif (!attackingEntity.immuneWhenAttackCharges) {\r\n\t\t\t// TODO: this bumpEntities approach doesn't work well, as it leads to code duplication\r\n\t\t\tdamageDoneByDefender += bumpEntities(\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tdefendingEntity,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\tdamageDoneByAttacker += bumpEntities(\r\n\t\t\tdefendingEntity,\r\n\t\t\tattackingEntity,\r\n\t\t\tdefendingBoard,\r\n\t\t\tdefendingBoardHero,\r\n\t\t\tattackingBoard,\r\n\t\t\tattackingBoardHero,\r\n\t\t\tgameState,\r\n\t\t);\r\n\t\tif (defendingEntity.attack > 0 && attackerHadDivineShield && !attackingEntity.immuneWhenAttackCharges) {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tfalse,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (attackingEntity.attack > 0 && defenderHadDivineShield) {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tdefendingEntity,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tfalse,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\t// Do it after the damage has been done, so that entities that update on DS lose / gain (CyborgDrake) don't\r\n\t\t// cause wrong results to happen\r\n\t\t// This whole logic is a MEEEEESSSSSSSSSSSSSSS\r\n\t\tif (damageDoneByDefender > 0) {\r\n\t\t\tonEntityDamaged(\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tdefendingEntity,\r\n\t\t\t\tdamageDoneByDefender,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (damageDoneByAttacker > 0) {\r\n\t\t\tonEntityDamaged(\r\n\t\t\t\tdefendingEntity,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tdamageDoneByAttacker,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (defendingEntity.health <= 0 || defendingEntity.definitelyDead) {\r\n\t\t\tconst { dmgDoneByAttacker, dmgDoneByDefender } = onMinionKill(\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\ttrue,\r\n\t\t\t\tdefendingEntity,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tdefenderNeighbours,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t\tdamageDoneByAttacker += dmgDoneByAttacker;\r\n\t\t\tdamageDoneByDefender += dmgDoneByDefender;\r\n\t\t}\r\n\t\tif (attackingEntity.health <= 0 || attackingEntity.definitelyDead) {\r\n\t\t\tconst { dmgDoneByAttacker, dmgDoneByDefender } = onMinionKill(\r\n\t\t\t\tdefendingEntity,\r\n\t\t\t\tfalse,\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tdefenderNeighbours,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t\tdamageDoneByAttacker += dmgDoneByAttacker;\r\n\t\t\tdamageDoneByDefender += dmgDoneByDefender;\r\n\t\t}\r\n\t}\r\n\t// Cleave\r\n\tif (attackingEntity.cleave) {\r\n\t\tfor (const neighbour of defenderNeighbours) {\r\n\t\t\tconst thisAttackDamage = bumpEntities(\r\n\t\t\t\tneighbour,\r\n\t\t\t\tattackingEntity,\r\n\t\t\t\tdefendingBoard,\r\n\t\t\t\tdefendingBoardHero,\r\n\t\t\t\tattackingBoard,\r\n\t\t\t\tattackingBoardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t\tdamageDoneByAttacker += thisAttackDamage;\r\n\t\t\t// Do it after the damage has been done, so that entities that update on DS lose / gain (CyborgDrake) don't\r\n\t\t\t// cause wrong results to happen\r\n\t\t\tif (attackingEntity.attack > 0 && neighbour.divineShield) {\r\n\t\t\t\tupdateDivineShield(neighbour, defendingBoard, defendingBoardHero, attackingBoardHero, false, gameState);\r\n\t\t\t}\r\n\t\t\tif (thisAttackDamage > 0) {\r\n\t\t\t\tonEntityDamaged(\r\n\t\t\t\t\tneighbour,\r\n\t\t\t\t\tdefendingBoard,\r\n\t\t\t\t\tdefendingBoardHero,\r\n\t\t\t\t\tattackingBoard,\r\n\t\t\t\t\tattackingBoardHero,\r\n\t\t\t\t\tattackingEntity,\r\n\t\t\t\t\tthisAttackDamage,\r\n\t\t\t\t\tgameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tif (neighbour.health <= 0 || neighbour.definitelyDead) {\r\n\t\t\t\tconst { dmgDoneByAttacker, dmgDoneByDefender } = onMinionKill(\r\n\t\t\t\t\tattackingEntity,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tneighbour,\r\n\t\t\t\t\tattackingBoard,\r\n\t\t\t\t\tattackingBoardHero,\r\n\t\t\t\t\tdefendingBoard,\r\n\t\t\t\t\tdefendingBoardHero,\r\n\t\t\t\t\tdefenderNeighbours,\r\n\t\t\t\t\tgameState,\r\n\t\t\t\t);\r\n\t\t\t\tdamageDoneByAttacker += dmgDoneByAttacker;\r\n\t\t\t\tdamageDoneByDefender += dmgDoneByDefender;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tattackingEntity.attackImmediately = false;\r\n\tif (attackingEntity.enchantments.some((e) => e.cardId === CardIds.VolatileVenom_VolatileEnchantment)) {\r\n\t\tattackingEntity.definitelyDead = true;\r\n\t}\r\n\treturn { damageDoneByAttacker, damageDoneByDefender };\r\n};\r\n\r\n// TODO: Could it be possible to store the index of the entity that last attacked? Probably not, because minion\r\n// spawns would mess this up? Could we update the indexes as each entity spawns / dies?\r\nconst getAttackingEntity = (attackingBoard: BoardEntity[], allCards: AllCardsService): BoardEntity => {\r\n\tlet validAttackers = attackingBoard.filter((entity) => canAttack(entity));\r\n\tif (validAttackers.length === 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (validAttackers.some((entity) => entity.attackImmediately)) {\r\n\t\tvalidAttackers = validAttackers.filter((entity) => entity.attackImmediately);\r\n\t} else if (validAttackers.every((e) => e.hasAttacked != null)) {\r\n\t\tattackingBoard.forEach((e) => (e.hasAttacked = undefined));\r\n\t} else {\r\n\t\tvalidAttackers = validAttackers.filter((entity) => entity.hasAttacked == undefined);\r\n\t}\r\n\tconst attacker = validAttackers[0];\r\n\treturn attacker;\r\n};\r\n\r\nexport const findNearestEnemies = (\r\n\tattackingBoard: BoardEntity[],\r\n\tentity: BoardEntity,\r\n\tentityIndexFromRight: number,\r\n\tdefendingBoard: BoardEntity[],\r\n\tnumberOfTargets: number,\r\n\tallCards: AllCardsService,\r\n): BoardEntity[] => {\r\n\tconst result = [];\r\n\tif (defendingBoard.length > 0) {\r\n\t\t// console.debug('defending board', numberOfTargets, stringifySimple(defendingBoard, allCards));\r\n\t\tconst attackerIndex = attackingBoard.length - entityIndexFromRight - 1;\r\n\t\tconst targetIndex = attackerIndex - (attackingBoard.length - defendingBoard.length) / 2;\r\n\t\t// console.debug('indexes', attackerIndex, entityIndexFromRight, targetIndex, attackingBoard.length);\r\n\r\n\t\tfor (let i = 0; i < numberOfTargets; i++) {\r\n\t\t\tconst possibleTargets = defendingBoard\r\n\t\t\t\t.filter((e) => !e.definitelyDead && e.health > 0)\r\n\t\t\t\t.filter((e) => !result.includes(e));\r\n\t\t\t// console.debug('possibleTargets', stringifySimple(possibleTargets, allCards));\r\n\t\t\tif (!possibleTargets.length) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tconst targetGroups = groupByFunction((e: BoardEntity) => Math.abs(defendingBoard.indexOf(e) - targetIndex))(\r\n\t\t\t\tpossibleTargets,\r\n\t\t\t);\r\n\t\t\tconst distances = Object.keys(targetGroups)\r\n\t\t\t\t.map((k) => +k)\r\n\t\t\t\t.sort();\r\n\t\t\tconst nearestDistance = distances[0];\r\n\t\t\tif (nearestDistance != null) {\r\n\t\t\t\t// console.debug(\r\n\t\t\t\t// \t'targetGroups[nearestDistance]',\r\n\t\t\t\t// \tnearestDistance,\r\n\t\t\t\t// \tstringifySimple(targetGroups[nearestDistance], allCards),\r\n\t\t\t\t// );\r\n\t\t\t\tconst target = pickRandom(targetGroups[nearestDistance]);\r\n\t\t\t\tresult.push(target);\r\n\t\t\t}\r\n\t\t\t// console.debug('\\n');\r\n\t\t}\r\n\t}\r\n\treturn result.filter((e) => !!e);\r\n};\r\n\r\nexport const getNeighbours = (\r\n\tboard: BoardEntity[],\r\n\tentity: BoardEntity,\r\n\tdeadEntityIndexFromRight?: number,\r\n\talwaysIncludeBoth = false,\r\n): readonly BoardEntity[] => {\r\n\tconst neighbours = [];\r\n\t// When triggering DR with Hawkstrider, the entity is still on the board\r\n\tif (deadEntityIndexFromRight != null && !board.includes(entity)) {\r\n\t\tconst leftNeighbourIndex = board.length - 1 - deadEntityIndexFromRight;\r\n\t\tconst leftNeighbour = board[leftNeighbourIndex];\r\n\t\tif (leftNeighbour) {\r\n\t\t\tneighbours.push(leftNeighbour);\r\n\t\t}\r\n\r\n\t\t// If the deadEntityIndexFromRight === 0 (right-most minion), no neighbour will be found\r\n\t\tconst rightNeighbourIndex = board.length - 1 - (deadEntityIndexFromRight - 1);\r\n\t\tconst rightNeighbour = board[rightNeighbourIndex];\r\n\t\tif (rightNeighbour) {\r\n\t\t\tneighbours.push(rightNeighbour);\r\n\t\t}\r\n\t} else {\r\n\t\tconst index = board.map((e) => e.entityId).indexOf(entity.entityId);\r\n\t\tif (index - 1 >= 0) {\r\n\t\t\tneighbours.push(board[index - 1]);\r\n\t\t} else if (alwaysIncludeBoth) {\r\n\t\t\tneighbours.push(null);\r\n\t\t}\r\n\t\t// neighbours.push(entity);\r\n\t\tif (index + 1 < board.length) {\r\n\t\t\tneighbours.push(board[index + 1]);\r\n\t\t} else if (alwaysIncludeBoth) {\r\n\t\t\tneighbours.push(null);\r\n\t\t}\r\n\t}\r\n\treturn neighbours;\r\n};\r\n\r\nexport const getLeftNeighbour = (\r\n\tboard: BoardEntity[],\r\n\tentity: BoardEntity,\r\n\tdeadEntityIndexFromRight?: number,\r\n): BoardEntity => {\r\n\t// When triggering DR with Hawkstrider, the entity is still on the board\r\n\tif (deadEntityIndexFromRight != null && !board.includes(entity)) {\r\n\t\tconst leftNeighbourIndex = board.length - 1 - deadEntityIndexFromRight;\r\n\t\tconst leftNeighbour = board[leftNeighbourIndex];\r\n\t\tif (leftNeighbour) {\r\n\t\t\treturn leftNeighbour;\r\n\t\t}\r\n\t} else {\r\n\t\tconst index = board.map((e) => e.entityId).indexOf(entity.entityId);\r\n\t\tif (index - 1 >= 0) {\r\n\t\t\treturn board[index - 1];\r\n\t\t}\r\n\t}\r\n\treturn null;\r\n};\r\n\r\nexport const dealDamageToRandomEnemy = (\r\n\tboardToBeDamaged: BoardEntity[],\r\n\tboardToBeDamagedHero: BgsPlayerEntity,\r\n\tdamageSource: BoardEntity,\r\n\tdamage: number,\r\n\tboardWithAttackOrigin: BoardEntity[],\r\n\tboardWithAttackOriginHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tif (boardToBeDamaged.length === 0) {\r\n\t\treturn;\r\n\t}\r\n\tconst validTargets = boardToBeDamaged.filter((e) => e.health > 0 && !e.definitelyDead);\r\n\tconst defendingEntity: BoardEntity = pickRandom(validTargets);\r\n\tif (defendingEntity) {\r\n\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\tdamageSource,\r\n\t\t\tdefendingEntity,\r\n\t\t\tboardToBeDamaged,\r\n\t\t\tboardToBeDamagedHero,\r\n\t\t\tboardWithAttackOriginHero,\r\n\t\t);\r\n\t\tdealDamageToMinion(\r\n\t\t\tdefendingEntity,\r\n\t\t\tboardToBeDamaged,\r\n\t\t\tboardToBeDamagedHero,\r\n\t\t\tdamageSource,\r\n\t\t\tdamage,\r\n\t\t\tboardWithAttackOrigin,\r\n\t\t\tboardWithAttackOriginHero,\r\n\t\t\tgameState,\r\n\t\t);\r\n\t}\r\n};\r\n\r\nexport const dealDamageToMinion = (\r\n\ttarget: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\tdamageSource: BoardEntity | BgsPlayerEntity,\r\n\tdamage: number,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): number => {\r\n\t// console.log('dealing damage to', damage, stringifySimpleCard(defendingEntity, allCards));\r\n\tif (!target) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tconst isDeadBeforeDamage = target.definitelyDead || target.health <= 0;\r\n\tconst spawns = [];\r\n\t// Why do we use a fakeAttacker? Is that for the \"attacking\" prop?\r\n\t// That prop is only used for Overkill, and even in that case it looks like it would work\r\n\t// without it\r\n\tconst fakeAttacker = {\r\n\t\t...(damageSource || {}),\r\n\t\tentityId: -1,\r\n\t\tattack: damage,\r\n\t\t// attacking: true,\r\n\t} as BoardEntity;\r\n\tconst actualDamageDone = bumpEntities(target, fakeAttacker, board, hero, otherBoard, otherHero, gameState);\r\n\r\n\t// Do it after the damage has been done, so that entities that update on DS lose / gain (CyborgDrake) don't\r\n\t// cause wrong results to happen\r\n\t// TODO: why isn't it done in bumpEntities?\r\n\t// Because of how \"bump\" works: we do it first for the attacker, then the defender, and we only want to update\r\n\t// the divine shield once both bumps are done\r\n\t// The problem is with the Frenzy: bumpEntities can trigger the frenzy, and which can act on the divine shield\r\n\tif (fakeAttacker.attack > 0 && target.divineShield) {\r\n\t\tupdateDivineShield(target, board, hero, otherHero, false, gameState);\r\n\t}\r\n\r\n\tif (actualDamageDone > 0) {\r\n\t\t// TODO: handle entities that have been spawned here to adjust the dead entity index from parent stack\r\n\t\tconst newSpawns = onEntityDamaged(\r\n\t\t\ttarget,\r\n\t\t\tboard,\r\n\t\t\thero,\r\n\t\t\totherBoard,\r\n\t\t\totherHero,\r\n\t\t\tdamageSource,\r\n\t\t\tactualDamageDone,\r\n\t\t\tgameState,\r\n\t\t);\r\n\t}\r\n\tif (!isDeadBeforeDamage && actualDamageDone > 0 && 'attack' in damageSource && 'health' in damageSource) {\r\n\t\ttarget.lastAffectedByEntity = damageSource as BoardEntity;\r\n\r\n\t\tif (target.health <= 0 || target.definitelyDead) {\r\n\t\t\tonMinionKill(damageSource as BoardEntity, false, target, otherBoard, otherHero, board, hero, [], gameState);\r\n\t\t}\r\n\t}\r\n\tconst defendingEntityIndex = board.map((entity) => entity.entityId).indexOf(target.entityId);\r\n\tboard[defendingEntityIndex] = target;\r\n\treturn actualDamageDone;\r\n};\r\n\r\n// Because the \"onEntityDamaged\" effect is only called once all the minions are damaged\r\nexport const dealDamageToMinions = (\r\n\ttargets: BoardEntity[],\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\tdamageSource: BoardEntity | BgsPlayerEntity,\r\n\tdamage: number,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): number => {\r\n\t// console.log('dealing damage to', damage, stringifySimpleCard(defendingEntity, allCards));\r\n\tif (!targets?.length) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tconst actualDamagesDone = [];\r\n\tconst areDeadBeforeDamage = targets.map((target) => target.definitelyDead || target.health <= 0);\r\n\r\n\tfor (const target of targets) {\r\n\t\t// Why do we use a fakeAttacker? Is that for the \"attacking\" prop?\r\n\t\t// That prop is only used for Overkill, and even in that case it looks like it would work\r\n\t\t// without it\r\n\t\tconst fakeAttacker = {\r\n\t\t\t...(damageSource || {}),\r\n\t\t\tentityId: -1,\r\n\t\t\tattack: damage,\r\n\t\t\t// attacking: true,\r\n\t\t} as BoardEntity;\r\n\t\tconst actualDamageDone = bumpEntities(target, fakeAttacker, board, hero, otherBoard, otherHero, gameState);\r\n\t\tactualDamagesDone.push(actualDamageDone);\r\n\r\n\t\t// Do it after the damage has been done, so that entities that update on DS lose / gain (CyborgDrake) don't\r\n\t\t// cause wrong results to happen\r\n\t\t// TODO: why isn't it done in bumpEntities?\r\n\t\t// Because of how \"bump\" works: we do it first for the attacker, then the defender, and we only want to update\r\n\t\t// the divine shield once both bumps are done\r\n\t\t// The problem is with the Frenzy: bumpEntities can trigger the frenzy, and which can act on the divine shield\r\n\t\tif (fakeAttacker.attack > 0 && target.divineShield) {\r\n\t\t\tupdateDivineShield(target, board, hero, otherHero, false, gameState);\r\n\t\t}\r\n\t}\r\n\r\n\tconst spawns = [];\r\n\tfor (let i = 0; i < targets.length; i++) {\r\n\t\tconst target = targets[i];\r\n\t\tconst actualDamageDone = actualDamagesDone[i];\r\n\t\tconst isDeadBeforeDamage = areDeadBeforeDamage[i];\r\n\t\tif (actualDamageDone > 0) {\r\n\t\t\t// TODO: handle entities that have been spawned here to adjust the dead entity index from parent stack\r\n\t\t\tconst newSpawns = onEntityDamaged(\r\n\t\t\t\ttarget,\r\n\t\t\t\tboard,\r\n\t\t\t\thero,\r\n\t\t\t\totherBoard,\r\n\t\t\t\totherHero,\r\n\t\t\t\tdamageSource,\r\n\t\t\t\tactualDamageDone,\r\n\t\t\t\tgameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (!isDeadBeforeDamage && actualDamageDone > 0 && 'attack' in damageSource && 'health' in damageSource) {\r\n\t\t\ttarget.lastAffectedByEntity = damageSource as BoardEntity;\r\n\r\n\t\t\tif (target.health <= 0 || target.definitelyDead) {\r\n\t\t\t\tonMinionKill(\r\n\t\t\t\t\tdamageSource as BoardEntity,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\totherBoard,\r\n\t\t\t\t\totherHero,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\t[],\r\n\t\t\t\t\tgameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst defendingEntityIndex = board.map((entity) => entity.entityId).indexOf(target.entityId);\r\n\t\tboard[defendingEntityIndex] = target;\r\n\t}\r\n\treturn actualDamagesDone.reduce((a, b) => a + b, 0);\r\n};\r\n\r\nexport const getDefendingEntity = (\r\n\tdefendingBoard: BoardEntity[],\r\n\tattackingEntity: BoardEntity,\r\n\tignoreTaunts = false,\r\n): BoardEntity => {\r\n\tif (debugState.active) {\r\n\t\tfor (const forcedFaceOff of debugState.forcedFaceOff) {\r\n\t\t\tif (debugState.isCorrectEntity(forcedFaceOff.attacker, attackingEntity)) {\r\n\t\t\t\t// if (attackingEntity.entityId === forcedFaceOff.attacker.entityId) {\r\n\t\t\t\tconst def = defendingBoard.find((e) => debugState.isCorrectEntity(forcedFaceOff.defender, e));\r\n\t\t\t\tif (!!def) {\r\n\t\t\t\t\t// Remove the face-off\r\n\t\t\t\t\tdebugState.forcedFaceOff = debugState.forcedFaceOff.filter((f) => f != forcedFaceOff);\r\n\t\t\t\t\treturn def;\r\n\t\t\t\t}\r\n\t\t\t\t// }\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tlet possibleDefenders: readonly BoardEntity[];\r\n\tif (\r\n\t\tattackingEntity.cardId === CardIds.ZappSlywick_BGS_022 ||\r\n\t\tattackingEntity.cardId === CardIds.ZappSlywick_TB_BaconUps_091 ||\r\n\t\tattackingEntity.cardId === CardIds.MercilessMammoth_BG33_845 ||\r\n\t\tattackingEntity.cardId === CardIds.MercilessMammoth_BG33_845_G\r\n\t) {\r\n\t\tconst minAttack = Math.min(...defendingBoard.map((entity) => entity.attack));\r\n\t\tpossibleDefenders = defendingBoard.filter((entity) => entity.attack === minAttack);\r\n\t} else if (\r\n\t\tattackingEntity.cardId === CardIds.WorgenVigilante_BG26_921 ||\r\n\t\tattackingEntity.cardId === CardIds.WorgenVigilante_BG26_921_G\r\n\t) {\r\n\t\tpossibleDefenders = defendingBoard\r\n\t\t\t.filter(\r\n\t\t\t\t(entity) =>\r\n\t\t\t\t\tentity.health <= attackingEntity.attack || attackingEntity.venomous || attackingEntity.poisonous,\r\n\t\t\t)\r\n\t\t\t.filter((e) => !e.divineShield);\r\n\t\tif (!possibleDefenders.length) {\r\n\t\t\tpossibleDefenders = defendingBoard;\r\n\t\t}\r\n\t} else {\r\n\t\tpossibleDefenders = defendingBoard.filter((e) => !e.stealth);\r\n\t\tif (!ignoreTaunts) {\r\n\t\t\tconst taunts = possibleDefenders.filter((entity) => entity.taunt);\r\n\t\t\tpossibleDefenders = taunts.length > 0 ? taunts : possibleDefenders;\r\n\t\t}\r\n\t}\r\n\r\n\tconst chosenDefender = pickRandom(possibleDefenders);\r\n\t// if (chosenDefender?.taunt) {\r\n\t// \tconst elistras = defendingBoard.filter(\r\n\t// \t\t(entity) =>\r\n\t// \t\t\tentity.cardId === CardIds.ElistraTheImmortal_BGS_205 ||\r\n\t// \t\t\tentity.cardId === CardIds.ElistraTheImmortal_TB_BaconUps_306,\r\n\t// \t);\r\n\t// \tif (elistras.length > 0) {\r\n\t// \t\tchosenDefender = elistras[Math.floor(Math.random() * elistras.length)];\r\n\t// \t}\r\n\t// }\r\n\treturn chosenDefender;\r\n};\r\n\r\nexport const bumpEntities = (\r\n\tentity: BoardEntity,\r\n\tbumpInto: BoardEntity,\r\n\tentityBoard: BoardEntity[],\r\n\tentityBoardHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\tapplyVenomous = true,\r\n): number => {\r\n\t// No attack has no impact\r\n\tconst debug = bumpInto.cardId === 'BG26_888';\r\n\tif (bumpInto.attack === 0) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\t// Matador effect has priority\r\n\tif (\r\n\t\tentity.abiityChargesLeft > 0 &&\r\n\t\t(entity.cardId === CardIds.MadMatador_BG28_404 || entity.cardId === CardIds.MadMatador_BG28_404_G)\r\n\t) {\r\n\t\tentity.abiityChargesLeft--;\r\n\t\tconst newTarget = pickRandom(otherBoard);\r\n\t\tif (newTarget) {\r\n\t\t\tgameState.spectator.registerPowerTarget(entity, newTarget, otherBoard, entityBoardHero, otherHero);\r\n\t\t\t// TODO: here the MadMatador is the source of the damage, not the initial attacker\r\n\t\t\t// Not sure exactly what the impact would be, as there is no counter\r\n\t\t\tconst newSource = {\r\n\t\t\t\t...entity,\r\n\t\t\t\tattack: bumpInto.attack,\r\n\t\t\t\t// attacking: true,\r\n\t\t\t} as BoardEntity;\r\n\t\t\tconst defenderHadDivineShield = newTarget.divineShield;\r\n\t\t\tconst damageDone = bumpEntities(\r\n\t\t\t\tnewTarget,\r\n\t\t\t\tnewSource,\r\n\t\t\t\totherBoard,\r\n\t\t\t\totherHero,\r\n\t\t\t\tentityBoard,\r\n\t\t\t\tentityBoardHero,\r\n\t\t\t\tgameState,\r\n\t\t\t\tfalse,\r\n\t\t\t);\r\n\t\t\tif (newSource.attack > 0 && defenderHadDivineShield) {\r\n\t\t\t\tupdateDivineShield(newTarget, otherBoard, otherHero, entityBoardHero, false, gameState);\r\n\t\t\t}\r\n\t\t\tif (damageDone > 0) {\r\n\t\t\t\tonEntityDamaged(\r\n\t\t\t\t\tnewTarget,\r\n\t\t\t\t\totherBoard,\r\n\t\t\t\t\totherHero,\r\n\t\t\t\t\tentityBoard,\r\n\t\t\t\t\tentityBoardHero,\r\n\t\t\t\t\tnewSource,\r\n\t\t\t\t\tdamageDone,\r\n\t\t\t\t\tgameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn damageDone;\r\n\t\t}\r\n\t}\r\n\r\n\tif (entity.divineShield) {\r\n\t\tgameState.spectator.registerDamageDealt(bumpInto, entity, 0, entityBoard);\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tconst damageDealt = (entity.damageMultiplier || 1) * bumpInto.attack;\r\n\tentity.health = entity.health - damageDealt;\r\n\t// FIXME: This will likely be incorrect in terms of timings, e.g. if the entity ends up\r\n\t// surviving following a buff like Spawn.\r\n\tgameState.spectator.registerDamageDealt(bumpInto, entity, damageDealt, entityBoard);\r\n\r\n\t// if (entity.cardId === CardIds.Bubblette_BG_TID_713 && bumpInto.attack === 1) {\r\n\t// \tentity.definitelyDead = true;\r\n\t// } else if (entity.cardId === CardIds.Bubblette_BG_TID_713_G && bumpInto.attack === 2) {\r\n\t// \tentity.definitelyDead = true;\r\n\t// }\r\n\t// Do it last, so that other effects are still processed\r\n\tif (bumpInto.poisonous) {\r\n\t\t// So that further buffs don't revive it\r\n\t\t// And we don't just set the health to avoid applying overkill effects\r\n\t\tentity.definitelyDead = true;\r\n\t}\r\n\tif (bumpInto.venomous && applyVenomous) {\r\n\t\t// So that further buffs don't revive it\r\n\t\t// And we don't just set the health to avoid applying overkill effects\r\n\t\tentity.definitelyDead = true;\r\n\t\tupdateVenomous(bumpInto, false, otherBoard, otherHero, entityBoardHero, gameState);\r\n\t}\r\n\t// Ideally we should do the Reckoning stuff here. However, at this point we only have half the damage\r\n\t// information, so it is possible that the entity deals more than 3 (which should trigger Reckoning)\r\n\t// but dies during the exchange (and Reckoning doesn't trigger then)\r\n\r\n\tentity.lastAffectedByEntity = bumpInto;\r\n\t// if (entity.frenzyChargesLeft > 0 && entity.health > 0 && !entity.definitelyDead) {\r\n\t// \tapplyFrenzy(entity, entityBoard, entityBoardHero, gameState);\r\n\t// \tentity.frenzyChargesLeft--;\r\n\t// }\r\n\r\n\t// We spawn them here, because it says \"whenever\", and so happens right away\r\n\t// FIXME: there could be a bug here, if a Cleave attacks several IGB at the same time. The current\r\n\t// implementation could spawn minions above the max board size. Fringe case though, so leaving it\r\n\t// like this for now\r\n\t// const entitySpawns = getWheneverEntitySpawns(\r\n\t// \tentity,\r\n\t// \tentityBoard,\r\n\t// \tentityBoardHero,\r\n\t// \totherBoard,\r\n\t// \totherHero,\r\n\t// \tgameState.allCards,\r\n\t// \tgameState.cardsData,\r\n\t// \tgameState.sharedState,\r\n\t// \tgameState.spectator,\r\n\t// );\r\n\t// if (!!entitySpawns?.length) {\r\n\t// \t// Spawn to the right\r\n\t// \tconst index = entityBoard.map((e) => e.entityId).indexOf(entity.entityId) + 1;\r\n\t// \taddMinionsToBoard(entityBoard, entityBoardHero, otherHero, index, entitySpawns, gameState);\r\n\t// \tgameState.spectator.registerMinionsSpawn(entity, entityBoard, entitySpawns);\r\n\t// }\r\n\treturn bumpInto.attack;\r\n};\r\n\r\n// const getWheneverEntitySpawns = (\r\n// \tentity: BoardEntity,\r\n// \tentityBoard: BoardEntity[],\r\n// \tentityBoardHero: BgsPlayerEntity,\r\n// \totherBoard: BoardEntity[],\r\n// \totherHero: BgsPlayerEntity,\r\n// \tallCards: AllCardsService,\r\n// \tcardsData: CardsData,\r\n// \tsharedState: SharedState,\r\n// \tspectator: Spectator,\r\n// ): readonly BoardEntity[] => {\r\n// \tif (entityBoard.length === 7) {\r\n// \t\treturn null;\r\n// \t}\r\n\r\n// \tif (entity.cardId === CardIds.ImpGangBoss_BRM_006) {\r\n// \t\treturn spawnEntities(\r\n// \t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n// \t\t\t1,\r\n// \t\t\tentityBoard,\r\n// \t\t\tentityBoardHero,\r\n// \t\t\totherBoard,\r\n// \t\t\totherHero,\r\n// \t\t\tallCards,\r\n// \t\t\tcardsData,\r\n// \t\t\tsharedState,\r\n// \t\t\tspectator,\r\n// \t\t\tentity.friendly,\r\n// \t\t\ttrue,\r\n// \t\t);\r\n// \t} else if (entity.cardId === CardIds.ImpGangBoss_TB_BaconUps_030) {\r\n// \t\treturn spawnEntities(\r\n// \t\t\tCardIds.ImpGangBoss_ImpToken_TB_BaconUps_030t,\r\n// \t\t\t1,\r\n// \t\t\tentityBoard,\r\n// \t\t\tentityBoardHero,\r\n// \t\t\totherBoard,\r\n// \t\t\totherHero,\r\n// \t\t\tallCards,\r\n// \t\t\tcardsData,\r\n// \t\t\tsharedState,\r\n// \t\t\tspectator,\r\n// \t\t\tentity.friendly,\r\n// \t\t\ttrue,\r\n// \t\t);\r\n// \t} else if (entity.cardId === CardIds.ImpMama_BGS_044) {\r\n// \t\treturn spawnEntities(\r\n// \t\t\tcardsData.impMamaSpawns[Math.floor(Math.random() * cardsData.impMamaSpawns.length)],\r\n// \t\t\t1,\r\n// \t\t\tentityBoard,\r\n// \t\t\tentityBoardHero,\r\n// \t\t\totherBoard,\r\n// \t\t\totherHero,\r\n// \t\t\tallCards,\r\n// \t\t\tcardsData,\r\n// \t\t\tsharedState,\r\n// \t\t\tspectator,\r\n// \t\t\tentity.friendly,\r\n// \t\t\ttrue,\r\n// \t\t).map((entity) => ({ ...entity, taunt: true }));\r\n// \t} else if (entity.cardId === CardIds.ImpMama_TB_BaconUps_116) {\r\n// \t\treturn spawnEntities(\r\n// \t\t\tcardsData.impMamaSpawns[Math.floor(Math.random() * cardsData.impMamaSpawns.length)],\r\n// \t\t\t2,\r\n// \t\t\tentityBoard,\r\n// \t\t\tentityBoardHero,\r\n// \t\t\totherBoard,\r\n// \t\t\totherHero,\r\n// \t\t\tallCards,\r\n// \t\t\tcardsData,\r\n// \t\t\tsharedState,\r\n// \t\t\tspectator,\r\n// \t\t\tentity.friendly,\r\n// \t\t\ttrue,\r\n// \t\t).map((entity) => ({ ...entity, taunt: true }));\r\n// \t} else if (entity.cardId === CardIds.SecurityRover_BOT_218) {\r\n// \t\treturn spawnEntities(\r\n// \t\t\tCardIds.SecurityRover_GuardBotToken_BOT_218t,\r\n// \t\t\t1,\r\n// \t\t\tentityBoard,\r\n// \t\t\tentityBoardHero,\r\n// \t\t\totherBoard,\r\n// \t\t\totherHero,\r\n// \t\t\tallCards,\r\n// \t\t\tcardsData,\r\n// \t\t\tsharedState,\r\n// \t\t\tspectator,\r\n// \t\t\tentity.friendly,\r\n// \t\t\ttrue,\r\n// \t\t);\r\n// \t} else if (entity.cardId === CardIds.SecurityRover_TB_BaconUps_041) {\r\n// \t\treturn spawnEntities(\r\n// \t\t\tCardIds.SecurityRover_GuardBotToken_TB_BaconUps_041t,\r\n// \t\t\t1,\r\n// \t\t\tentityBoard,\r\n// \t\t\tentityBoardHero,\r\n// \t\t\totherBoard,\r\n// \t\t\totherHero,\r\n// \t\t\tallCards,\r\n// \t\t\tcardsData,\r\n// \t\t\tsharedState,\r\n// \t\t\tspectator,\r\n// \t\t\tentity.friendly,\r\n// \t\t\ttrue,\r\n// \t\t);\r\n// \t}\r\n// \treturn null;\r\n// };\r\n\r\nexport const processMinionDeath = (\r\n\tboard1: BoardEntity[],\r\n\tboard1Hero: BgsPlayerEntity,\r\n\tboard2: BoardEntity[],\r\n\tboard2Hero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\t// When we're in an \"attack immediately\" phase, we wait until we're out of the phase to summon minions\r\n\tskipSummonWhenSpace = false,\r\n): void => {\r\n\t// const debug = board1.some((e) => e.health <= 0) || board2.some((e) => e.health <= 0);\r\n\t// debug && console.debug('\\nprocessing minions death');\r\n\t// debug && console.debug(stringifySimple(board1, gameState.allCards));\r\n\t// debug && console.debug(stringifySimple(board2, gameState.allCards));\r\n\tconst [deadMinionIndexesFromLeft1, deadMinionIndexesFromRights1, deadEntities1] = makeMinionsDie(\r\n\t\tboard1,\r\n\t\tboard1Hero,\r\n\t\tboard2,\r\n\t\tboard2Hero,\r\n\t\tgameState,\r\n\t);\r\n\tconst [deadMinionIndexesFromLeft2, deadMinionIndexesFromRights2, deadEntities2] = makeMinionsDie(\r\n\t\tboard2,\r\n\t\tboard2Hero,\r\n\t\tboard1,\r\n\t\tboard1Hero,\r\n\t\tgameState,\r\n\t);\r\n\t// debug && console.debug('after processing minions death');\r\n\t// debug && console.debug(stringifySimple(board1, gameState.allCards));\r\n\t// debug && console.debug(stringifySimple(board2, gameState.allCards));\r\n\t// debug && console.debug(deadMinionIndexesFromRights1);\r\n\t// debug && console.debug(deadMinionIndexesFromRights2);\r\n\t// console.debug('dead entities', stringifySimple(deadEntities1, allCards), stringifySimple(deadEntities2, allCards));\r\n\t// No death to process, we can return\r\n\tif (deadEntities1.length === 0 && deadEntities2.length === 0) {\r\n\t\treturn;\r\n\t\t// return [board1, board2];\r\n\t}\r\n\r\n\t// Remember them right away, so that subsequent deaths do not break the order\r\n\t// TODO: move this to the deathrattle-orchestration?\r\n\t// If the fish dies (from Scallywag for instance), it doesn't remember the deathrattle\r\n\t// console.debug(\r\n\t// \t'\\n\\ndeadEntities',\r\n\t// \tstringifySimple(deadEntities1, gameState.allCards),\r\n\t// \tstringifySimple(deadEntities2, gameState.allCards),\r\n\t// );\r\n\r\n\tgameState.spectator.registerDeadEntities(\r\n\t\tdeadMinionIndexesFromRights1,\r\n\t\tdeadEntities1,\r\n\t\tboard1,\r\n\t\tdeadMinionIndexesFromRights2,\r\n\t\tdeadEntities2,\r\n\t\tboard2,\r\n\t);\r\n\tgameState.sharedState.deaths.push(\r\n\t\t...deadEntities1.map((e, index) =>\r\n\t\t\taddImpliedMechanics(\r\n\t\t\t\t{\r\n\t\t\t\t\t...e,\r\n\t\t\t\t\thealth: e.maxHealth,\r\n\t\t\t\t\tdefinitelyDead: false,\r\n\t\t\t\t\tindexFromLeftAtTimeOfDeath: deadMinionIndexesFromLeft1[index],\r\n\t\t\t\t},\r\n\t\t\t\tgameState.cardsData,\r\n\t\t\t),\r\n\t\t),\r\n\t);\r\n\tgameState.sharedState.deaths.push(\r\n\t\t...deadEntities2.map((e, index) =>\r\n\t\t\taddImpliedMechanics(\r\n\t\t\t\t{\r\n\t\t\t\t\t...e,\r\n\t\t\t\t\thealth: e.maxHealth,\r\n\t\t\t\t\tdefinitelyDead: false,\r\n\t\t\t\t\tindexFromLeftAtTimeOfDeath: deadMinionIndexesFromLeft2[index],\r\n\t\t\t\t},\r\n\t\t\t\tgameState.cardsData,\r\n\t\t\t),\r\n\t\t),\r\n\t);\r\n\r\n\tfor (const deadEntity of deadEntities1) {\r\n\t\tconst onDeathImpl = cardMappings[deadEntity.cardId];\r\n\t\tif (hasOnDeath(onDeathImpl)) {\r\n\t\t\tonDeathImpl.onDeath(deadEntity, {\r\n\t\t\t\thero: board1Hero,\r\n\t\t\t\tboard: board1,\r\n\t\t\t\tgameState: gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tfor (const deadEntity of deadEntities2) {\r\n\t\tconst onDeathImpl = cardMappings[deadEntity.cardId];\r\n\t\tif (hasOnDeath(onDeathImpl)) {\r\n\t\t\tonDeathImpl.onDeath(deadEntity, {\r\n\t\t\t\thero: board2Hero,\r\n\t\t\t\tboard: board2,\r\n\t\t\t\tgameState: gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tboard1Hero.globalInfo.EternalKnightsDeadThisGame =\r\n\t\tboard1Hero.globalInfo.EternalKnightsDeadThisGame +\r\n\t\tdeadEntities1.filter(\r\n\t\t\t(e) => e.cardId === CardIds.EternalKnight_BG25_008 || e.cardId === CardIds.EternalKnight_BG25_008_G,\r\n\t\t).length;\r\n\tboard2Hero.globalInfo.EternalKnightsDeadThisGame =\r\n\t\tboard2Hero.globalInfo.EternalKnightsDeadThisGame +\r\n\t\tdeadEntities2.filter(\r\n\t\t\t(e) => e.cardId === CardIds.EternalKnight_BG25_008 || e.cardId === CardIds.EternalKnight_BG25_008_G,\r\n\t\t).length;\r\n\r\n\torchestrateMinionDeathEffects({\r\n\t\tgameState: gameState,\r\n\t\tplayerDeadEntities: board1Hero.friendly ? deadEntities1 : deadEntities2,\r\n\t\tplayerDeadEntityIndexesFromRight: board1Hero.friendly\r\n\t\t\t? deadMinionIndexesFromRights1\r\n\t\t\t: deadMinionIndexesFromRights2,\r\n\t\topponentDeadEntities: board1Hero.friendly ? deadEntities2 : deadEntities1,\r\n\t\topponentDeadEntityIndexesFromRight: board1Hero.friendly\r\n\t\t\t? deadMinionIndexesFromRights2\r\n\t\t\t: deadMinionIndexesFromRights1,\r\n\t});\r\n\r\n\t// Make sure we only return when there are no more deaths to process\r\n\t// Make sure to do this right before the end of the process\r\n\t// FIXME: this will propagate the killer between rounds, which is incorrect. For instance,\r\n\t// if a dragon kills a Ghoul, then the Ghoul's deathrattle kills a Kaboom, the killer should\r\n\t// now be the ghoul. Then if the Kaboom kills someone, the killer should again change. You could\r\n\t// also have multiple killers, which is not taken into account here.\r\n\t// The current assumption is that it's a suffienctly fringe case to not matter too much\r\n\tprocessMinionDeath(board1, board1Hero, board2, board2Hero, gameState);\r\n\r\n\t// Not sure about the timing here, but I have bothered Mitchell quite a lot already recently :)\r\n\tif (!skipSummonWhenSpace) {\r\n\t\thandleSummonsWhenSpace(board1, board1Hero, board2, board2Hero, gameState);\r\n\t}\r\n\r\n\t// Apply \"after minion death\" effects\r\n\thandleAfterMinionsDeaths(board1, deadEntities1, board1Hero, board2, deadEntities2, board2Hero, gameState);\r\n\r\n\t// Only when all deathrattles have resolved\r\n\t// 2025-12-20: https://replays.firestoneapp.com/?reviewId=7d8f9af4-b484-4256-976b-ff9df8847b50&turn=5&action=0\r\n\t// Confirmed by dev that the fish doesn't get the deathrattle in this case\r\n\tboard1\r\n\t\t.filter((entity) => isFish(entity))\r\n\t\t.forEach((entity) =>\r\n\t\t\trememberDeathrattles(entity, deadEntities1, gameState.cardsData, gameState.allCards, gameState.sharedState),\r\n\t\t);\r\n\tboard2\r\n\t\t.filter((entity) => isFish(entity))\r\n\t\t.forEach((entity) =>\r\n\t\t\trememberDeathrattles(entity, deadEntities2, gameState.cardsData, gameState.allCards, gameState.sharedState),\r\n\t\t);\r\n};\r\n\r\nconst handleAfterMinionsDeaths = (\r\n\tboard1: BoardEntity[],\r\n\tdeadEntities1: BoardEntity[],\r\n\theroEntity1: BgsPlayerEntity,\r\n\tboard2: BoardEntity[],\r\n\tdeadEntities2: BoardEntity[],\r\n\theroEntity2: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tconst random = Math.random() > 0.5;\r\n\thandleAfterMinionsDeathsForBoard(\r\n\t\trandom ? board1 : board2,\r\n\t\trandom ? deadEntities1 : deadEntities2,\r\n\t\trandom ? heroEntity1 : heroEntity2,\r\n\t\trandom ? board2 : board1,\r\n\t\trandom ? deadEntities2 : deadEntities1,\r\n\t\trandom ? heroEntity2 : heroEntity1,\r\n\t\tgameState,\r\n\t);\r\n\thandleAfterMinionsDeathsForBoard(\r\n\t\t!random ? board1 : board2,\r\n\t\t!random ? deadEntities1 : deadEntities2,\r\n\t\t!random ? heroEntity1 : heroEntity2,\r\n\t\t!random ? board2 : board1,\r\n\t\t!random ? deadEntities2 : deadEntities1,\r\n\t\t!random ? heroEntity2 : heroEntity1,\r\n\t\tgameState,\r\n\t);\r\n};\r\n\r\nconst handleAfterMinionsDeathsForBoard = (\r\n\tfriendlyBoard: BoardEntity[],\r\n\tfriendlyDeadEntities: BoardEntity[],\r\n\tfriendlyHeroEntity: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherDeadEntities: BoardEntity[],\r\n\totherHeroEntity: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tconst candidateEntities = [];\r\n\r\n\tfor (const trinket of friendlyHeroEntity.trinkets ?? []) {\r\n\t\tconst onAfterDeathImpl = cardMappings[trinket.cardId];\r\n\t\tif (hasOnAfterDeath(onAfterDeathImpl)) {\r\n\t\t\tonAfterDeathImpl.onAfterDeath(trinket, {\r\n\t\t\t\thero: friendlyHeroEntity,\r\n\t\t\t\tboard: friendlyBoard,\r\n\t\t\t\totherHero: otherHeroEntity,\r\n\t\t\t\totherBoard: otherBoard,\r\n\t\t\t\tdeadEntities: friendlyDeadEntities,\r\n\t\t\t\tgameState: gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tfor (const entity of friendlyBoard) {\r\n\t\tconst onAfterDeathImpl = cardMappings[entity.cardId];\r\n\t\tif (hasOnAfterDeath(onAfterDeathImpl)) {\r\n\t\t\tonAfterDeathImpl.onAfterDeath(entity, {\r\n\t\t\t\thero: friendlyHeroEntity,\r\n\t\t\t\tboard: friendlyBoard,\r\n\t\t\t\totherHero: otherHeroEntity,\r\n\t\t\t\totherBoard: otherBoard,\r\n\t\t\t\tdeadEntities: friendlyDeadEntities,\r\n\t\t\t\tgameState: gameState,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tconst secretTriggered = null;\r\n\t// if (\r\n\t// \t(secretTriggered = friendlyHeroEntity.secrets?.find(\r\n\t// \t\t(secret) => !secret.triggered && secret?.cardId === CardIds.MagicBlackSoulstone,\r\n\t// \t)) != null\r\n\t// ) {\r\n\t// \tif (friendlyBoard.length === 0) {\r\n\t// \t\tsecretTriggered.triggered = true;\r\n\t// \t\tfor (let i = 0; i < 2; i++) {\r\n\t// \t\t\tconst toSummon = pickRandom(gameState.cardsData.demonSpawns);\r\n\t// \t\t\tcandidateEntities.push(\r\n\t// \t\t\t\t...spawnEntities(\r\n\t// \t\t\t\t\ttoSummon,\r\n\t// \t\t\t\t\t1,\r\n\t// \t\t\t\t\tfriendlyBoard,\r\n\t// \t\t\t\t\tfriendlyHeroEntity,\r\n\t// \t\t\t\t\totherBoard,\r\n\t// \t\t\t\t\totherHeroEntity,\r\n\t// \t\t\t\t\tgameState,\r\n\t// \t\t\t\t\tfriendlyHeroEntity.friendly,\r\n\t// \t\t\t\t\tfalse,\r\n\t// \t\t\t\t),\r\n\t// \t\t\t);\r\n\t// \t\t}\r\n\t// \t}\r\n\t// }\r\n\tperformEntitySpawns(\r\n\t\tcandidateEntities,\r\n\t\tfriendlyBoard,\r\n\t\tfriendlyHeroEntity,\r\n\t\tsecretTriggered,\r\n\t\t0,\r\n\t\totherBoard,\r\n\t\totherHeroEntity,\r\n\t\tgameState,\r\n\t);\r\n};\r\n\r\nexport interface OnDeathInput {\r\n\treadonly hero: BgsPlayerEntity;\r\n\treadonly board: BoardEntity[];\r\n\treadonly gameState: FullGameState;\r\n}\r\nexport interface OnAfterDeathInput {\r\n\treadonly hero: BgsPlayerEntity;\r\n\treadonly board: BoardEntity[];\r\n\treadonly otherHero: BgsPlayerEntity;\r\n\treadonly otherBoard: BoardEntity[];\r\n\treadonly deadEntities: BoardEntity[];\r\n\treadonly gameState: FullGameState;\r\n}\r\n\r\n/** A friendly board minion just died (during death processing). Implementations filter (e.g. Taunt) as needed. */\r\nexport interface OnAfterFriendlyMinionDeathInput {\r\n\treadonly deadEntity: BoardEntity;\r\n\treadonly board: BoardEntity[];\r\n\treadonly hero: BgsPlayerEntity;\r\n\treadonly gameState: FullGameState;\r\n}\r\nexport interface OnMinionKilledInput {\r\n\treadonly killer: BoardEntity;\r\n\treadonly killerIsAttacking: boolean;\r\n\treadonly minionKilled: BoardEntity;\r\n\treadonly attackingHero: BgsPlayerEntity;\r\n\treadonly attackingBoard: BoardEntity[];\r\n\treadonly defendingHero: BgsPlayerEntity;\r\n\treadonly defendingBoard: BoardEntity[];\r\n\treadonly defenderNeighbours: readonly BoardEntity[];\r\n\treadonly gameState: FullGameState;\r\n\treadonly playerIsFriendly: boolean;\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auras.js","sourceRoot":"","sources":["../../../src/simulation/auras.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport { AllCardsService, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport { CardsData } from '../cards/cards-data';\r\nimport { updateStealth } from '../keywords/stealth';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { addImpliedMechanics, hasCorrectTribe } from '../utils';\r\nimport { FullGameState } from './internal-game-state';\r\n\r\nexport const setMissingAuras = (\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\tanomalies: readonly string[],\r\n\tallCards: AllCardsService,\r\n): void => {\r\n\tsetMissingMinionsAura(board, boardHero, anomalies, allCards);\r\n\tsetMissingHeroPowerAura(board, boardHero);\r\n\tsetMissingTrinketAura(board, boardHero);\r\n};\r\n\r\nexport const setMissingTrinketAura = (board: BoardEntity[], boardHero: BgsPlayerEntity): void => {\r\n\tfor (const trinket of boardHero.trinkets ?? []) {\r\n\t\t// switch (trinket.cardId) {\r\n\t\t// \tcase CardIds.WindrunnerNecklace_BG30_MagicItem_997:\r\n\t\t// \tcase CardIds.WindrunnerNecklace_WindrunnerNecklaceToken_BG30_MagicItem_997t:\r\n\t\t// \t\tconst enchantment =\r\n\t\t// \t\t\ttrinket.cardId === CardIds.WindrunnerNecklace_BG30_MagicItem_997\r\n\t\t// \t\t\t\t? CardIds.WindrunnerNecklace_RunningLikeTheWindEnchantment_BG30_MagicItem_997e\r\n\t\t// \t\t\t\t: CardIds.WindrunnerNecklace_RunningLikeTheWindEnchantment_BG30_MagicItem_997e2;\r\n\t\t// \t\tconst buff = trinket.cardId === CardIds.WindrunnerNecklace_BG30_MagicItem_997 ? 8 : 20;\r\n\t\t// \t\tconst target = board[0];\r\n\t\t// \t\tif (!!target && !target.enchantments?.find((e) => e.cardId === enchantment)) {\r\n\t\t// \t\t\ttarget.attack += buff;\r\n\t\t// \t\t\ttarget.enchantments.push({\r\n\t\t// \t\t\t\tcardId: enchantment,\r\n\t\t// \t\t\t\toriginEntityId: trinket.entityId,\r\n\t\t// \t\t\t\ttiming: 0,\r\n\t\t// \t\t\t});\r\n\t\t// \t\t}\r\n\t\t// \t\tbreak;\r\n\t\t// }\r\n\t}\r\n};\r\n\r\nexport const setMissingHeroPowerAura = (board: BoardEntity[], boardHero: BgsPlayerEntity): void => {\r\n\tfor (const heroPower of boardHero.heroPowers) {\r\n\t\tif (heroPower.cardId === CardIds.TheSmokingGun) {\r\n\t\t\tboard\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t!e.enchantments.find(\r\n\t\t\t\t\t\t\t(ench) => ench.cardId === CardIds.TheSmokingGun_ArmedAndStillSmokingEnchantment,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\te.attack += 4;\r\n\t\t\t\t});\r\n\t\t}\r\n\t\tif (heroPower.cardId === CardIds.VolatileVenom) {\r\n\t\t\tboard\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) => !e.enchantments.find((ench) => ench.cardId === CardIds.VolatileVenom_VolatileEnchantment),\r\n\t\t\t\t)\r\n\t\t\t\t.forEach((e) => {\r\n\t\t\t\t\te.attack += 7;\r\n\t\t\t\t\te.health += 7;\r\n\t\t\t\t\te.enchantments.push({\r\n\t\t\t\t\t\tcardId: CardIds.VolatileVenom_VolatileEnchantment,\r\n\t\t\t\t\t\toriginEntityId: undefined,\r\n\t\t\t\t\t\ttiming: 0,\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst setMissingMinionsAura = (\r\n\tboard: BoardEntity[],\r\n\tboardHero: BgsPlayerEntity,\r\n\tanomalies: readonly string[],\r\n\tallCards: AllCardsService,\r\n): void => {\r\n\tsetMissingAura(\r\n\t\tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.PIRATE, anomalies, allCards)),\r\n\t\tCardIds.SouthseaCaptainLegacy_BG_NEW1_027,\r\n\t\tCardIds.SouthseaCaptain_YarrrVanillaEnchantment,\r\n\t\t1,\r\n\t\t1,\r\n\t);\r\n\tsetMissingAura(\r\n\t\tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.PIRATE, anomalies, allCards)),\r\n\t\tCardIds.SouthseaCaptainLegacy_TB_BaconUps_136,\r\n\t\tCardIds.SouthseaCaptain_YarrrEnchantment,\r\n\t\t2,\r\n\t\t2,\r\n\t);\r\n\tsetMissingAura(\r\n\t\tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.MURLOC, anomalies, allCards)),\r\n\t\tCardIds.MurlocWarleaderLegacy_BG_EX1_507,\r\n\t\tCardIds.MurlocWarleader_MrgglaarglLegacyEnchantment,\r\n\t\t2,\r\n\t\t0,\r\n\t);\r\n\t// setMissingAura(\r\n\t// \tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.MURLOC, anomalies, allCards)),\r\n\t// \tCardIds.MurlocWarleaderLegacy_BG_EX1_507,\r\n\t// \tCardIds.MurlocWarleader_MrgglaarglEnchantment,\r\n\t// \t4,\r\n\t// \t0,\r\n\t// );\r\n\t// setMissingAura(\r\n\t// \tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.DEMON, anomalies, allCards)),\r\n\t// \tCardIds.Kathranatir_BG21_039,\r\n\t// \tCardIds.Kathranatir_GraspOfKathranatirEnchantment_BG21_039e,\r\n\t// \t2,\r\n\t// \t0,\r\n\t// );\r\n\t// setMissingAura(\r\n\t// \tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.DEMON, anomalies, allCards)),\r\n\t// \tCardIds.Kathranatir_BG21_039_G,\r\n\t// \tCardIds.Kathranatir_GraspOfKathranatirEnchantment_BG21_039_Ge,\r\n\t// \t4,\r\n\t// \t0,\r\n\t// );\r\n\tsetMissingAura(\r\n\t\tboard.filter((e) => e.divineShield),\r\n\t\tCardIds.CyborgDrake_BG25_043,\r\n\t\tCardIds.CyborgDrake_CyborgEnhancementEnchantment_BG25_043e,\r\n\t\t6,\r\n\t\t0,\r\n\t\tfalse,\r\n\t);\r\n\t// setMissingAura(\r\n\t// \tboard.filter((e) => e.divineShield),\r\n\t// \tCardIds.CyborgDrake_BG25_043_G,\r\n\t// \tCardIds.CyborgDrake_CyborgEnhancementEnchantment_BG25_043_Ge,\r\n\t// \t12,\r\n\t// \t0,\r\n\t// \tfalse,\r\n\t// );\r\n\tsetMissingAura(\r\n\t\tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.UNDEAD, anomalies, allCards)),\r\n\t\tCardIds.SoreLoser_BG27_030,\r\n\t\tCardIds.SoreLoser_NoImWinningEnchantment_BG27_030e,\r\n\t\tboardHero.tavernTier,\r\n\t\t0,\r\n\t);\r\n\tsetMissingAura(\r\n\t\tboard.filter((e) => hasCorrectTribe(e, boardHero, Race.UNDEAD, anomalies, allCards)),\r\n\t\tCardIds.SoreLoser_BG27_030_G,\r\n\t\tCardIds.SoreLoser_NoImWinningEnchantment_BG27_030e,\r\n\t\t2 * boardHero.tavernTier,\r\n\t\t0,\r\n\t);\r\n};\r\n\r\nconst setMissingAura = (\r\n\tboard: BoardEntity[],\r\n\tminionCardId: string,\r\n\tenchantmentCardId: string,\r\n\tattack: number,\r\n\thealth: number,\r\n\tignoreSelf = true,\r\n\tallCards: AllCardsService = null,\r\n): void => {\r\n\tconst buffers = board.filter((e) => e.cardId === minionCardId);\r\n\tfor (const buffer of buffers) {\r\n\t\tboard\r\n\t\t\t.filter((e) => !e.enchantments.find((ench) => ench.cardId === enchantmentCardId))\r\n\t\t\t.filter((e) => (ignoreSelf ? e.entityId !== buffer.entityId : true))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\te.attack += attack;\r\n\t\t\t\te.health += health;\r\n\t\t\t});\r\n\t}\r\n};\r\n\r\nexport const setImplicitDataHero = (\r\n\thero: BgsPlayerEntity,\r\n\tcardsData: CardsData,\r\n\tisPlayer: boolean,\r\n\tentityIdContainer: { entityId: number },\r\n): void => {\r\n\tfor (const heroPower of hero.heroPowers) {\r\n\t\tconst avengeValue = cardsData.avengeValue(heroPower.cardId);\r\n\t\tif (avengeValue > 0) {\r\n\t\t\theroPower.avengeCurrent = avengeValue - (heroPower.scoreValue2 ?? 0);\r\n\t\t\theroPower.avengeDefault = avengeValue;\r\n\t\t}\r\n\t\tif ((heroPower.info as BoardEntity)?.health) {\r\n\t\t\taddImpliedMechanics(heroPower.info as BoardEntity, cardsData);\r\n\t\t}\r\n\t}\r\n\t// Backward compatibility\r\n\tif (!!hero.questRewards?.length && !Array.isArray(hero.questRewards)) {\r\n\t\thero.questRewards = [hero.questRewards as any];\r\n\t}\r\n\r\n\t// Because Denathrius can send a quest reward as its hero power (I think)\r\n\t// For now deactivating this, until I have a scenario where this matters. It feels like\r\n\t// this should be a display issue only, as quest rewards are also handled in the code\r\n\tconst heroPowerAsReward = null; // hero.cardId === CardIds.SireDenathrius_BG24_HERO_100 ? hero.heroPowers[0]?.cardId : null;\r\n\thero.questRewards = [...(hero.questRewards ?? []), heroPowerAsReward].filter((e) => !!e);\r\n\thero.questRewardEntities = hero.questRewardEntities\r\n\t\t? hero.questRewardEntities.map((reward: any) => ({\r\n\t\t\t\tcardId: reward.CardId,\r\n\t\t\t\tscriptDataNum1: reward.ScriptDataNum1 ?? 0,\r\n\t\t\t\tentityId: entityIdContainer.entityId--,\r\n\t\t\t\tavengeDefault: cardsData.avengeValue(reward.CardId),\r\n\t\t\t\tavengeCurrent: cardsData.avengeValue(reward.CardId),\r\n\t\t }))\r\n\t\t: hero.questRewards.map((reward) => ({\r\n\t\t\t\tcardId: reward,\r\n\t\t\t\tentityId: entityIdContainer.entityId--,\r\n\t\t\t\tavengeCurrent: cardsData.avengeValue(reward),\r\n\t\t\t\tavengeDefault: cardsData.avengeValue(reward),\r\n\t\t\t\tscriptDataNum1: cardsData.defaultScriptDataNum(reward),\r\n\t\t }));\r\n\thero.trinkets = (hero.trinkets ?? []).map((trinket) => ({\r\n\t\t...trinket,\r\n\t\tavengeDefault: cardsData.avengeValue(trinket.cardId),\r\n\t\tavengeCurrent: cardsData.avengeValue(trinket.cardId),\r\n\t\t// Use scriptDataNum1 to keep the info from the input\r\n\t\tscriptDataNum1: trinket.scriptDataNum1 || cardsData.defaultScriptDataNum(trinket.cardId),\r\n\t}));\r\n\t// 0 is not a valid entityId\r\n\thero.entityId = hero.entityId || entityIdContainer.entityId--;\r\n\thero.hand = hero.hand ?? [];\r\n\thero.enchantments = hero.enchantments ?? [];\r\n\tif (!hero.globalInfo) {\r\n\t\thero.globalInfo = {};\r\n\t}\r\n\r\n\thero.globalInfo.EternalKnightsDeadThisGame = hero.globalInfo.EternalKnightsDeadThisGame ?? 0;\r\n\thero.globalInfo.SanlaynScribesDeadThisGame = hero.globalInfo.SanlaynScribesDeadThisGame ?? 0;\r\n\thero.globalInfo.BeastsSummonedThisGame = hero.globalInfo.BeastsSummonedThisGame ?? 0;\r\n\thero.globalInfo.BeastsSummonedThisCombat = hero.globalInfo.BeastsSummonedThisCombat ?? 0;\r\n\thero.globalInfo.MagnetizedThisGame = hero.globalInfo.MagnetizedThisGame ?? 0;\r\n\thero.globalInfo.PiratesSummonedThisGame = hero.globalInfo.PiratesSummonedThisGame ?? 0;\r\n\thero.globalInfo.BattlecriesTriggeredThisGame = hero.globalInfo.BattlecriesTriggeredThisGame ?? 0;\r\n\thero.globalInfo.DeathrattlesTriggeredThisGame = hero.globalInfo.DeathrattlesTriggeredThisGame ?? 0;\r\n\thero.globalInfo.BeetleAttackBuff = hero.globalInfo.BeetleAttackBuff ?? 0;\r\n\thero.globalInfo.BeetleHealthBuff = hero.globalInfo.BeetleHealthBuff ?? 0;\r\n\thero.globalInfo.ElementalAttackBuff = hero.globalInfo.ElementalAttackBuff ?? 0;\r\n\thero.globalInfo.ElementalHealthBuff = hero.globalInfo.ElementalHealthBuff ?? 0;\r\n\thero.globalInfo.PirateAttackBuff = hero.globalInfo.PirateAttackBuff ?? 0;\r\n\thero.globalInfo.PirateHealthBuff = hero.globalInfo.PirateHealthBuff ?? 0;\r\n\thero.globalInfo.TavernSpellAttackBuff = hero.globalInfo.TavernSpellAttackBuff ?? 0;\r\n\thero.globalInfo.TavernSpellHealthBuff = hero.globalInfo.TavernSpellHealthBuff ?? 0;\r\n\thero.globalInfo.MutatedLasherAttackBuff = hero.globalInfo.MutatedLasherAttackBuff ?? 0;\r\n\thero.globalInfo.MutatedLasherHealthBuff = hero.globalInfo.MutatedLasherHealthBuff ?? 0;\r\n\thero.globalInfo.TavernSpellsCastThisGame = hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\thero.globalInfo.TavernSpellsCastThisTurn = hero.globalInfo.TavernSpellsCastThisTurn ?? 0;\r\n\thero.globalInfo.CardsPlayedThisTurn = hero.globalInfo.CardsPlayedThisTurn ?? 0;\r\n\thero.globalInfo.MrrgltonsPlayedThisGame = hero.globalInfo.MrrgltonsPlayedThisGame ?? 0;\r\n\thero.globalInfo.AdditionalAttack = hero.globalInfo.AdditionalAttack ?? 0;\r\n\thero.globalInfo.SpellsCastThisGame = hero.globalInfo.SpellsCastThisGame ?? 0;\r\n\thero.globalInfo.UndeadAttackBonus = hero.globalInfo.UndeadAttackBonus ?? 0;\r\n\thero.globalInfo.HauntedCarapaceAttackBonus = hero.globalInfo.HauntedCarapaceAttackBonus ?? 0;\r\n\thero.globalInfo.HauntedCarapaceHealthBonus = hero.globalInfo.HauntedCarapaceHealthBonus ?? 0;\r\n\thero.globalInfo.FrostlingBonus = hero.globalInfo.FrostlingBonus ?? 0;\r\n\thero.globalInfo.BloodGemAttackBonus =\r\n\t\t(hero.globalInfo.BloodGemAttackBonus ?? 0) +\r\n\t\t// Not sure why, but this isn't reflected in the player enchant\r\n\t\t(hero.questRewardEntities?.filter((e) => e.cardId === CardIds.EndlessBloodMoon).length ?? 0);\r\n\thero.globalInfo.BloodGemHealthBonus =\r\n\t\t(hero.globalInfo.BloodGemHealthBonus ?? 0) +\r\n\t\t(hero.questRewardEntities?.filter((e) => e.cardId === CardIds.EndlessBloodMoon).length ?? 0);\r\n\thero.globalInfo.GoldrinnBuffAtk = hero.globalInfo.GoldrinnBuffAtk ?? 0;\r\n\thero.globalInfo.GoldrinnBuffHealth = hero.globalInfo.GoldrinnBuffHealth ?? 0;\r\n\thero.globalInfo.WhelpAttackBuff = hero.globalInfo.WhelpAttackBuff ?? 0;\r\n\thero.globalInfo.WhelpHealthBuff = hero.globalInfo.WhelpHealthBuff ?? 0;\r\n\thero.globalInfo.GoldSpentThisGame = hero.globalInfo.GoldSpentThisGame ?? 0;\r\n\thero.globalInfo.VolumizerAttackBuff = hero.globalInfo.VolumizerAttackBuff ?? 0;\r\n\thero.globalInfo.VolumizerHealthBuff = hero.globalInfo.VolumizerHealthBuff ?? 0;\r\n\thero.globalInfo.DeepBluesPlayed = hero.globalInfo.DeepBluesPlayed ?? 0;\r\n\thero.globalInfo.DeathrattlesTriggeredThisGame = hero.globalInfo.DeathrattlesTriggeredThisGame ?? 0;\r\n\thero.globalInfo.BackToBackCastThisGame = hero.globalInfo.BackToBackCastThisGame ?? 0;\r\n\thero.globalInfo.TavernSpellsCastThisTurn = hero.globalInfo.TavernSpellsCastThisTurn ?? 0;\r\n\thero.globalInfo.CardsPlayedThisTurn = hero.globalInfo.CardsPlayedThisTurn ?? 0;\r\n\thero.globalInfo.MrrgltonsPlayedThisGame = hero.globalInfo.MrrgltonsPlayedThisGame ?? 0;\r\n};\r\n\r\nexport const clearStealthIfNeeded = (\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\t// https://twitter.com/DCalkosz/status/1562194944688660481?s=20&t=100I8IVZmBKgYQWkdK8nIA\r\n\tif (board.every((entity) => entity.stealth && !entity.attack)) {\r\n\t\tboard.forEach((e) => updateStealth(e, false, board, hero, otherHero, gameState));\r\n\t}\r\n\tif (otherBoard.every((entity) => entity.stealth && !entity.attack)) {\r\n\t\totherBoard.forEach((e) => updateStealth(e, false, otherBoard, otherHero, hero, gameState));\r\n\t}\r\n\tif (board.every((e) => e.stealth) && otherBoard.every((e) => e.stealth)) {\r\n\t\tboard.forEach((e) => updateStealth(e, false, board, hero, otherHero, gameState));\r\n\t\totherBoard.forEach((e) => updateStealth(e, false, otherBoard, otherHero, hero, gameState));\r\n\t}\r\n};\r\n"]}
|