@firestone-hs/simulate-bgs-battle 1.1.565 → 1.1.566
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-player-entity.d.ts +2 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/cards/card.interface.d.ts +32 -6
- package/dist/cards/card.interface.js +13 -1
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/cards-data.d.ts +1 -0
- package/dist/cards/cards-data.js +8 -0
- package/dist/cards/cards-data.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +116 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/bg-spell/sharing-is-caring.js +1 -1
- package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
- package/dist/cards/impl/hero-power/all-will-burn.js +2 -4
- package/dist/cards/impl/hero-power/all-will-burn.js.map +1 -1
- package/dist/cards/impl/hero-power/fragrant-phylactery.js +1 -2
- package/dist/cards/impl/hero-power/fragrant-phylactery.js.map +1 -1
- package/dist/cards/impl/hero-power/wax-warband.d.ts +3 -0
- package/dist/cards/impl/hero-power/wax-warband.js +4 -4
- package/dist/cards/impl/hero-power/wax-warband.js.map +1 -1
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js +1 -2
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -1
- package/dist/cards/impl/minion/alleycat.d.ts +2 -0
- package/dist/cards/impl/minion/alleycat.js +24 -0
- package/dist/cards/impl/minion/alleycat.js.map +1 -0
- package/dist/cards/impl/minion/amber-guardian.js +1 -2
- package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
- package/dist/cards/impl/minion/apprentice-of-sefin.d.ts +6 -0
- package/dist/cards/impl/minion/apprentice-of-sefin.js +78 -0
- package/dist/cards/impl/minion/apprentice-of-sefin.js.map +1 -0
- package/dist/cards/impl/minion/ashen-corruptor.d.ts +2 -0
- package/dist/cards/impl/minion/ashen-corruptor.js +10 -0
- package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -0
- package/dist/cards/impl/minion/assistant-guard.js +2 -1
- package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
- package/dist/cards/impl/minion/auto-assembler-enchantment.d.ts +2 -0
- package/dist/cards/impl/minion/auto-assembler-enchantment.js +17 -0
- package/dist/cards/impl/minion/auto-assembler-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/auto-assembler.d.ts +2 -0
- package/dist/cards/impl/minion/auto-assembler.js +14 -0
- package/dist/cards/impl/minion/auto-assembler.js.map +1 -0
- package/dist/cards/impl/minion/battlecruiser.js +2 -3
- package/dist/cards/impl/minion/battlecruiser.js.map +1 -1
- package/dist/cards/impl/minion/beetle.js +1 -1
- package/dist/cards/impl/minion/beetle.js.map +1 -1
- package/dist/cards/impl/minion/bellowing-tyrant.js +2 -2
- package/dist/cards/impl/minion/bellowing-tyrant.js.map +1 -1
- package/dist/cards/impl/minion/blazing-skyfin.js +1 -1
- package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
- package/dist/cards/impl/minion/bonker.d.ts +2 -0
- package/dist/cards/impl/minion/bonker.js +18 -0
- package/dist/cards/impl/minion/bonker.js.map +1 -0
- package/dist/cards/impl/minion/bronze-steward.d.ts +2 -0
- package/dist/cards/impl/minion/bronze-steward.js +29 -0
- package/dist/cards/impl/minion/bronze-steward.js.map +1 -0
- package/dist/cards/impl/minion/bubble-gunner.js +3 -34
- package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
- package/dist/cards/impl/minion/carrier.js +1 -1
- package/dist/cards/impl/minion/carrier.js.map +1 -1
- package/dist/cards/impl/minion/choral-mrrrglr.js +1 -2
- package/dist/cards/impl/minion/choral-mrrrglr.js.map +1 -1
- package/dist/cards/impl/minion/clunker-junker.js +2 -1
- package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
- package/dist/cards/impl/minion/coilskar-sapper.d.ts +2 -0
- package/dist/cards/impl/minion/coilskar-sapper.js +13 -0
- package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -0
- package/dist/cards/impl/minion/corrupted-bristler.d.ts +2 -0
- package/dist/cards/impl/minion/corrupted-bristler.js +32 -0
- package/dist/cards/impl/minion/corrupted-bristler.js.map +1 -0
- package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -2
- package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
- package/dist/cards/impl/minion/crabby.js +1 -2
- package/dist/cards/impl/minion/crabby.js.map +1 -1
- package/dist/cards/impl/minion/dastardly-drust.d.ts +2 -0
- package/dist/cards/impl/minion/dastardly-drust.js +20 -0
- package/dist/cards/impl/minion/dastardly-drust.js.map +1 -0
- package/dist/cards/impl/minion/deadstomper.js +1 -2
- package/dist/cards/impl/minion/deadstomper.js.map +1 -1
- package/dist/cards/impl/minion/deflecto-bot.js +1 -2
- package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
- package/dist/cards/impl/minion/diremuck-forager.js +1 -2
- package/dist/cards/impl/minion/diremuck-forager.js.map +1 -1
- package/dist/cards/impl/minion/dreaming-thornweaver.d.ts +2 -0
- package/dist/cards/impl/minion/dreaming-thornweaver.js +17 -0
- package/dist/cards/impl/minion/dreaming-thornweaver.js.map +1 -0
- package/dist/cards/impl/minion/drustfallen-butcher.d.ts +2 -0
- package/dist/cards/impl/minion/drustfallen-butcher.js +14 -0
- package/dist/cards/impl/minion/drustfallen-butcher.js.map +1 -0
- package/dist/cards/impl/minion/echoing-roar.js +1 -2
- package/dist/cards/impl/minion/echoing-roar.js.map +1 -1
- package/dist/cards/impl/minion/efficient-engineer.js +6 -1
- package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
- package/dist/cards/impl/minion/elder-taggawag.js +1 -2
- package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
- package/dist/cards/impl/minion/electric-synthesizer.js +3 -2
- package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
- package/dist/cards/impl/minion/elite-navigator.d.ts +2 -0
- package/dist/cards/impl/minion/elite-navigator.js +24 -0
- package/dist/cards/impl/minion/elite-navigator.js.map +1 -0
- package/dist/cards/impl/minion/fauna-whisperer.d.ts +2 -0
- package/dist/cards/impl/minion/fauna-whisperer.js +29 -0
- package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -0
- package/dist/cards/impl/minion/fire-forged-evoker.d.ts +2 -0
- package/dist/cards/impl/minion/fire-forged-evoker.js +14 -0
- package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -0
- package/dist/cards/impl/minion/firescale-hoarder.d.ts +2 -0
- package/dist/cards/impl/minion/firescale-hoarder.js +19 -0
- package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -0
- package/dist/cards/impl/minion/flighty-scout.d.ts +2 -0
- package/dist/cards/impl/minion/flighty-scout.js +24 -0
- package/dist/cards/impl/minion/flighty-scout.js.map +1 -0
- package/dist/cards/impl/minion/forest-rover.js +2 -1
- package/dist/cards/impl/minion/forest-rover.js.map +1 -1
- package/dist/cards/impl/minion/fountain-chiller.js +2 -2
- package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
- package/dist/cards/impl/minion/gem-smuggler.js +1 -0
- package/dist/cards/impl/minion/gem-smuggler.js.map +1 -1
- package/dist/cards/impl/minion/general-drakkisath.js +1 -0
- package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
- package/dist/cards/impl/minion/gentle-djinni.js +1 -0
- package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
- package/dist/cards/impl/minion/gentle-stag.js +7 -3
- package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
- package/dist/cards/impl/minion/glowgullet-warlord.d.ts +2 -0
- package/dist/cards/impl/minion/glowgullet-warlord.js +15 -0
- package/dist/cards/impl/minion/glowgullet-warlord.js.map +1 -0
- package/dist/cards/impl/minion/goldgrubber.d.ts +2 -0
- package/dist/cards/impl/minion/goldgrubber.js +16 -0
- package/dist/cards/impl/minion/goldgrubber.js.map +1 -0
- package/dist/cards/impl/minion/gormling-gourmet.d.ts +2 -0
- package/dist/cards/impl/minion/gormling-gourmet.js +19 -0
- package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -0
- package/dist/cards/impl/minion/grease-bot.js +1 -2
- package/dist/cards/impl/minion/grease-bot.js.map +1 -1
- package/dist/cards/impl/minion/greenskeeper.d.ts +2 -0
- package/dist/cards/impl/minion/greenskeeper.js +18 -0
- package/dist/cards/impl/minion/greenskeeper.js.map +1 -0
- package/dist/cards/impl/minion/grimscale-elegist.d.ts +2 -0
- package/dist/cards/impl/minion/grimscale-elegist.js +20 -0
- package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -0
- package/dist/cards/impl/minion/gritty-headhunter.js +1 -0
- package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
- package/dist/cards/impl/minion/hackerfin.js +3 -2
- package/dist/cards/impl/minion/hackerfin.js.map +1 -1
- package/dist/cards/impl/minion/hawkstrider-herald.js +1 -1
- package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
- package/dist/cards/impl/minion/hoarding-hatespawn.js +1 -1
- package/dist/cards/impl/minion/hoarding-hatespawn.js.map +1 -1
- package/dist/cards/impl/minion/hungry-snapjaw.js +1 -1
- package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
- package/dist/cards/impl/minion/hydralisk.js +1 -1
- package/dist/cards/impl/minion/hydralisk.js.map +1 -1
- package/dist/cards/impl/minion/ignition-specialist.d.ts +2 -0
- package/dist/cards/impl/minion/ignition-specialist.js +16 -0
- package/dist/cards/impl/minion/ignition-specialist.js.map +1 -0
- package/dist/cards/impl/minion/immortal.js +1 -2
- package/dist/cards/impl/minion/immortal.js.map +1 -1
- package/dist/cards/impl/minion/implant-subject.js +1 -1
- package/dist/cards/impl/minion/implant-subject.js.map +1 -1
- package/dist/cards/impl/minion/imposing-percussionist.js +1 -0
- package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
- package/dist/cards/impl/minion/impulsive-trickster.js +13 -1
- package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -1
- package/dist/cards/impl/minion/inspiring-underdog.js +2 -2
- package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
- package/dist/cards/impl/minion/irate-rooster.js +1 -1
- package/dist/cards/impl/minion/irate-rooster.js.map +1 -1
- package/dist/cards/impl/minion/king-bagurgle.js +4 -3
- package/dist/cards/impl/minion/king-bagurgle.js.map +1 -1
- package/dist/cards/impl/minion/lightfang-enforcer.js +1 -1
- package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
- package/dist/cards/impl/minion/lokholar-frostforger.d.ts +2 -0
- package/dist/cards/impl/minion/lokholar-frostforger.js +17 -0
- package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -0
- package/dist/cards/impl/minion/lovesick-balladist.js +6 -3
- package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
- package/dist/cards/impl/minion/low-flier.js +1 -1
- package/dist/cards/impl/minion/low-flier.js.map +1 -1
- package/dist/cards/impl/minion/lurker.js +1 -1
- package/dist/cards/impl/minion/lurker.js.map +1 -1
- package/dist/cards/impl/minion/mantid-queen.js +1 -1
- package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
- package/dist/cards/impl/minion/maw-caster.d.ts +2 -0
- package/dist/cards/impl/minion/maw-caster.js +25 -0
- package/dist/cards/impl/minion/maw-caster.js.map +1 -0
- package/dist/cards/impl/minion/mecha-jaraxxus.js +1 -0
- package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
- package/dist/cards/impl/minion/mechagnome-interpreter.d.ts +2 -0
- package/dist/cards/impl/minion/mechagnome-interpreter.js +12 -0
- package/dist/cards/impl/minion/mechagnome-interpreter.js.map +1 -0
- package/dist/cards/impl/minion/menagerie-jug.js +1 -0
- package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
- package/dist/cards/impl/minion/metallic-hunter.d.ts +2 -0
- package/dist/cards/impl/minion/metallic-hunter.js +13 -0
- package/dist/cards/impl/minion/metallic-hunter.js.map +1 -0
- package/dist/cards/impl/minion/misfit-dragonling.js +1 -2
- package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
- package/dist/cards/impl/minion/monstrous-macaw.d.ts +2 -0
- package/dist/cards/impl/minion/monstrous-macaw.js +36 -0
- package/dist/cards/impl/minion/monstrous-macaw.js.map +1 -0
- package/dist/cards/impl/minion/murkbrine-expeditioner.d.ts +2 -0
- package/dist/cards/impl/minion/murkbrine-expeditioner.js +18 -0
- package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -0
- package/dist/cards/impl/minion/murky.js +3 -2
- package/dist/cards/impl/minion/murky.js.map +1 -1
- package/dist/cards/impl/minion/mutalisk.js +1 -1
- package/dist/cards/impl/minion/mutalisk.js.map +1 -1
- package/dist/cards/impl/minion/mutated-lasher.js +1 -2
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
- package/dist/cards/impl/minion/mythrax.js +1 -2
- package/dist/cards/impl/minion/mythrax.js.map +1 -1
- package/dist/cards/impl/minion/nerubian-deathswarmer.js +1 -0
- package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -1
- package/dist/cards/impl/minion/nightmare-par-tea-guest.d.ts +2 -0
- package/dist/cards/impl/minion/nightmare-par-tea-guest.js +19 -0
- package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -0
- package/dist/cards/impl/minion/noisul-of-the-many-faces.d.ts +2 -0
- package/dist/cards/impl/minion/noisul-of-the-many-faces.js +22 -0
- package/dist/cards/impl/minion/noisul-of-the-many-faces.js.map +1 -0
- package/dist/cards/impl/minion/oozeling-gladiator.js +1 -0
- package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -1
- package/dist/cards/impl/minion/parched-wanderer.js +2 -1
- package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
- package/dist/cards/impl/minion/peggy-sturdybone.js +1 -2
- package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -1
- package/dist/cards/impl/minion/primalfin-lookout.js +1 -0
- package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
- package/dist/cards/impl/minion/prized-promo-drake.js +1 -2
- package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
- package/dist/cards/impl/minion/razorfen-geomancer.js +1 -0
- package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -1
- package/dist/cards/impl/minion/razorgore-the-untamed.js +1 -2
- package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
- package/dist/cards/impl/minion/rickety-repairbot.d.ts +2 -0
- package/dist/cards/impl/minion/rickety-repairbot.js +16 -0
- package/dist/cards/impl/minion/rickety-repairbot.js.map +1 -0
- package/dist/cards/impl/minion/ripsnarl-captain.js +1 -2
- package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -1
- package/dist/cards/impl/minion/roach.js +1 -1
- package/dist/cards/impl/minion/roach.js.map +1 -1
- package/dist/cards/impl/minion/rodeo-performer.js +1 -0
- package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
- package/dist/cards/impl/minion/runed-progenitor.js +1 -1
- package/dist/cards/impl/minion/runed-progenitor.js.map +1 -1
- package/dist/cards/impl/minion/salty-hog.js +1 -2
- package/dist/cards/impl/minion/salty-hog.js.map +1 -1
- package/dist/cards/impl/minion/sanctum-rester.js +1 -2
- package/dist/cards/impl/minion/sanctum-rester.js.map +1 -1
- package/dist/cards/impl/minion/sanlayn-scribe.js +2 -2
- package/dist/cards/impl/minion/sanlayn-scribe.js.map +1 -1
- package/dist/cards/impl/minion/selfless-hero.d.ts +2 -0
- package/dist/cards/impl/minion/selfless-hero.js +25 -0
- package/dist/cards/impl/minion/selfless-hero.js.map +1 -0
- package/dist/cards/impl/minion/shadowdancer.d.ts +2 -0
- package/dist/cards/impl/minion/shadowdancer.js +13 -0
- package/dist/cards/impl/minion/shadowdancer.js.map +1 -0
- package/dist/cards/impl/minion/shell-collector.js +1 -0
- package/dist/cards/impl/minion/shell-collector.js.map +1 -1
- package/dist/cards/impl/minion/silithid-burrower.d.ts +2 -0
- package/dist/cards/impl/minion/silithid-burrower.js +18 -0
- package/dist/cards/impl/minion/silithid-burrower.js.map +1 -0
- package/dist/cards/impl/minion/silky-shimmermoth.d.ts +2 -0
- package/dist/cards/impl/minion/silky-shimmermoth.js +20 -0
- package/dist/cards/impl/minion/silky-shimmermoth.js.map +1 -0
- package/dist/cards/impl/minion/silver-handed-recruit.js +2 -1
- package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
- package/dist/cards/impl/minion/skulking-bristlemane.d.ts +2 -0
- package/dist/cards/impl/minion/skulking-bristlemane.js +17 -0
- package/dist/cards/impl/minion/skulking-bristlemane.js.map +1 -0
- package/dist/cards/impl/minion/slumber-sorcerer.d.ts +2 -0
- package/dist/cards/impl/minion/slumber-sorcerer.js +13 -0
- package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -0
- package/dist/cards/impl/minion/smolderwing.js +2 -1
- package/dist/cards/impl/minion/smolderwing.js.map +1 -1
- package/dist/cards/impl/minion/soul-rewinder.js +5 -1
- package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
- package/dist/cards/impl/minion/spacefarer.js +1 -1
- package/dist/cards/impl/minion/spacefarer.js.map +1 -1
- package/dist/cards/impl/minion/spirited-whimsydrake.d.ts +2 -0
- package/dist/cards/impl/minion/spirited-whimsydrake.js +19 -0
- package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -0
- package/dist/cards/impl/minion/springy-spriggan.d.ts +2 -0
- package/dist/cards/impl/minion/springy-spriggan.js +21 -0
- package/dist/cards/impl/minion/springy-spriggan.js.map +1 -0
- package/dist/cards/impl/minion/surfing-slyvar.d.ts +2 -0
- package/dist/cards/impl/minion/surfing-slyvar.js +18 -0
- package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -0
- package/dist/cards/impl/minion/swampstriker.js +1 -1
- package/dist/cards/impl/minion/swampstriker.js.map +1 -1
- package/dist/cards/impl/minion/thorncaller.d.ts +2 -0
- package/dist/cards/impl/minion/thorncaller.js +19 -0
- package/dist/cards/impl/minion/thorncaller.js.map +1 -0
- package/dist/cards/impl/minion/thousandth-paper-drake.js +1 -2
- package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
- package/dist/cards/impl/minion/thundering-abomination.js +1 -2
- package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
- package/dist/cards/impl/minion/turquoise-skitterer.js +1 -1
- package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -1
- package/dist/cards/impl/minion/twilight-primordium.js +2 -2
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
- package/dist/cards/impl/minion/ultralisk.js +1 -2
- package/dist/cards/impl/minion/ultralisk.js.map +1 -1
- package/dist/cards/impl/minion/ultraviolet-ascendant.js +1 -1
- package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -1
- package/dist/cards/impl/minion/vaelastrasz.js +1 -2
- package/dist/cards/impl/minion/vaelastrasz.js.map +1 -1
- package/dist/cards/impl/minion/valiant-tiger.d.ts +2 -0
- package/dist/cards/impl/minion/valiant-tiger.js +18 -0
- package/dist/cards/impl/minion/valiant-tiger.js.map +1 -0
- package/dist/cards/impl/minion/void-ray.js +2 -2
- package/dist/cards/impl/minion/void-ray.js.map +1 -1
- package/dist/cards/impl/minion/vorkai-guardian.d.ts +2 -0
- package/dist/cards/impl/minion/vorkai-guardian.js +19 -0
- package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -0
- package/dist/cards/impl/minion/wandering-wight.js +1 -2
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
- package/dist/cards/impl/minion/whelp-smuggler.js +1 -2
- package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
- package/dist/cards/impl/minion/wisp-in-the-shell.js +2 -1
- package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
- package/dist/cards/impl/quest-reward/staff-of-origination.js +1 -2
- package/dist/cards/impl/quest-reward/staff-of-origination.js.map +1 -1
- package/dist/cards/impl/trinket/all-purpose-kibble.d.ts +2 -0
- package/dist/cards/impl/trinket/all-purpose-kibble.js +14 -0
- package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -0
- package/dist/cards/impl/trinket/arm-of-the-empire.js +1 -2
- package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
- package/dist/cards/impl/trinket/baleful-incense.d.ts +2 -0
- package/dist/cards/impl/trinket/baleful-incense.js +22 -0
- package/dist/cards/impl/trinket/baleful-incense.js.map +1 -0
- package/dist/cards/impl/trinket/bassgill-portrait.d.ts +2 -0
- package/dist/cards/impl/trinket/bassgill-portrait.js +16 -0
- package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -0
- package/dist/cards/impl/trinket/battle-horn.d.ts +2 -0
- package/dist/cards/impl/trinket/battle-horn.js +20 -0
- package/dist/cards/impl/trinket/battle-horn.js.map +1 -0
- package/dist/cards/impl/trinket/beetle-band.d.ts +2 -0
- package/dist/cards/impl/trinket/beetle-band.js +18 -0
- package/dist/cards/impl/trinket/beetle-band.js.map +1 -0
- package/dist/cards/impl/trinket/bird-feeder.d.ts +2 -0
- package/dist/cards/impl/trinket/bird-feeder.js +13 -0
- package/dist/cards/impl/trinket/bird-feeder.js.map +1 -0
- package/dist/cards/impl/trinket/bronze-timepiece.js +1 -3
- package/dist/cards/impl/trinket/bronze-timepiece.js.map +1 -1
- package/dist/cards/impl/trinket/crocheted-sungill.d.ts +2 -0
- package/dist/cards/impl/trinket/crocheted-sungill.js +31 -0
- package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -0
- package/dist/cards/impl/trinket/divine-signet.d.ts +2 -0
- package/dist/cards/impl/trinket/divine-signet.js +14 -0
- package/dist/cards/impl/trinket/divine-signet.js.map +1 -0
- package/dist/cards/impl/trinket/eclectic-shrine.d.ts +2 -0
- package/dist/cards/impl/trinket/eclectic-shrine.js +36 -0
- package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -0
- package/dist/cards/impl/trinket/faerie-dragon-scale.d.ts +2 -0
- package/dist/cards/impl/trinket/faerie-dragon-scale.js +20 -0
- package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -0
- package/dist/cards/impl/trinket/herald-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/herald-sticker.js +21 -0
- package/dist/cards/impl/trinket/herald-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/hogwash-basin.d.ts +2 -0
- package/dist/cards/impl/trinket/hogwash-basin.js +14 -0
- package/dist/cards/impl/trinket/hogwash-basin.js.map +1 -0
- package/dist/cards/impl/trinket/rivendare-portrait.js +1 -2
- package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/sthara-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/sthara-sticker.js +32 -0
- package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -0
- package/dist/cards/impl/trinket/tinyfin-onesie.js +1 -1
- package/dist/cards/impl/trinket/tinyfin-onesie.js.map +1 -1
- package/dist/cards/impl/trinket/unholy-sanctum.d.ts +2 -0
- package/dist/cards/impl/trinket/unholy-sanctum.js +15 -0
- package/dist/cards/impl/trinket/unholy-sanctum.js.map +1 -0
- package/dist/cards/impl/trinket/vashjir-anemone.d.ts +2 -0
- package/dist/cards/impl/trinket/vashjir-anemone.js +13 -0
- package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -0
- package/dist/cards/impl/trinket/yulon-sticker.d.ts +2 -0
- package/dist/cards/impl/trinket/yulon-sticker.js +20 -0
- package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -0
- package/dist/keywords/divine-shield.js +19 -6
- package/dist/keywords/divine-shield.js.map +1 -1
- package/dist/keywords/venomous.js +1 -1
- package/dist/keywords/venomous.js.map +1 -1
- package/dist/services/utils.d.ts +3 -0
- package/dist/services/utils.js.map +1 -1
- package/dist/simulate-bgs-battle.js +2 -0
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.js +48 -29
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/after-attack.d.ts +11 -1
- package/dist/simulation/after-attack.js +20 -25
- package/dist/simulation/after-attack.js.map +1 -1
- package/dist/simulation/attack.d.ts +8 -0
- package/dist/simulation/attack.js +16 -3
- package/dist/simulation/attack.js.map +1 -1
- package/dist/simulation/auras.js +14 -12
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/avenge.js +12 -13
- package/dist/simulation/avenge.js.map +1 -1
- package/dist/simulation/battlecries.d.ts +1 -0
- package/dist/simulation/battlecries.js +28 -36
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/blood-gems.js +8 -3
- package/dist/simulation/blood-gems.js.map +1 -1
- package/dist/simulation/cards-in-hand.js +1 -2
- package/dist/simulation/cards-in-hand.js.map +1 -1
- package/dist/simulation/damage-effects.js +4 -8
- package/dist/simulation/damage-effects.js.map +1 -1
- package/dist/simulation/death-effects.js +1 -2
- package/dist/simulation/death-effects.js.map +1 -1
- package/dist/simulation/deathrattle-effects.js +25 -55
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-on-trigger.js +16 -2
- package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.d.ts +1 -0
- package/dist/simulation/deathrattle-spawns.js +7 -1
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/deathrattle-utils.d.ts +2 -1
- package/dist/simulation/deathrattle-utils.js +7 -3
- package/dist/simulation/deathrattle-utils.js.map +1 -1
- package/dist/simulation/discover.js +1 -1
- package/dist/simulation/discover.js.map +1 -1
- package/dist/simulation/magnetize.d.ts +9 -1
- package/dist/simulation/magnetize.js +17 -3
- package/dist/simulation/magnetize.js.map +1 -1
- package/dist/simulation/minion-death.js +1 -2
- package/dist/simulation/minion-death.js.map +1 -1
- package/dist/simulation/minion-kill.js +3 -3
- package/dist/simulation/minion-kill.js.map +1 -1
- package/dist/simulation/on-attack.js +24 -9
- package/dist/simulation/on-attack.js.map +1 -1
- package/dist/simulation/on-being-attacked.js +5 -10
- package/dist/simulation/on-being-attacked.js.map +1 -1
- package/dist/simulation/reborn.js +2 -4
- package/dist/simulation/reborn.js.map +1 -1
- package/dist/simulation/spawn-fail.js +1 -1
- package/dist/simulation/spawn-fail.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-action-processor.js +0 -4
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-illidan-hero-power.js +2 -4
- package/dist/simulation/start-of-combat/soc-illidan-hero-power.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-minion.js +10 -2
- package/dist/simulation/start-of-combat/soc-minion.js.map +1 -1
- package/dist/simulation/start-of-combat/start-of-combat.js +23 -17
- package/dist/simulation/start-of-combat/start-of-combat.js.map +1 -1
- package/dist/simulation/stats.d.ts +3 -3
- package/dist/simulation/stats.js +13 -3
- package/dist/simulation/stats.js.map +1 -1
- package/dist/simulation/summon-when-space.js +15 -0
- package/dist/simulation/summon-when-space.js.map +1 -1
- package/dist/simulation/utils/golden.js +1 -1
- package/dist/simulation/utils/golden.js.map +1 -1
- package/dist/utils.js +11 -16
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/cards/impl/trinket/artisanal-urn.d.ts +0 -5
- package/dist/cards/impl/trinket/artisanal-urn.js +0 -13
- package/dist/cards/impl/trinket/artisanal-urn.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/F,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;aACpE;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const AmberGuardian = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// First try to get a target without divine shield, and if none is available, pick one with divine shield\r\n\t\tconst otherDragons = input.playerBoard\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId);\r\n\t\tconst loops = minion.cardId === CardIds.AmberGuardian_BG24_500_G ? 2 : 1;\r\n\t\tconst dragonsToConsider = otherDragons;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst otherDragon =\r\n\t\t\t\tpickRandom(dragonsToConsider.filter((e) => !e.divineShield)) ?? pickRandom(dragonsToConsider);\r\n\t\t\tif (otherDragon) {\r\n\t\t\t\tif (!otherDragon.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\totherDragon,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tmodifyStats(otherDragon, minion, 2, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tdragonsToConsider.splice(dragonsToConsider.indexOf(otherDragon), 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BgsPlayerEntity } from '../../../bgs-player-entity';
|
|
2
|
+
import { BoardEntity } from '../../../board-entity';
|
|
3
|
+
import { FullGameState } from '../../../simulation/internal-game-state';
|
|
4
|
+
import { BattlecryCard } from '../../card.interface';
|
|
5
|
+
export declare const ApprenticeOfSefin: BattlecryCard;
|
|
6
|
+
export declare const grantRandomBonusKeywords: (target: BoardEntity, mult: number, board: BoardEntity[], hero: BgsPlayerEntity, otherHero: BgsPlayerEntity, gameState: FullGameState) => void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.grantRandomBonusKeywords = exports.ApprenticeOfSefin = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
6
|
+
const reborn_1 = require("../../../keywords/reborn");
|
|
7
|
+
const stealth_1 = require("../../../keywords/stealth");
|
|
8
|
+
const taunt_1 = require("../../../keywords/taunt");
|
|
9
|
+
const venomous_1 = require("../../../keywords/venomous");
|
|
10
|
+
const windfury_1 = require("../../../keywords/windfury");
|
|
11
|
+
const utils_1 = require("../../../services/utils");
|
|
12
|
+
const stats_1 = require("../../../simulation/stats");
|
|
13
|
+
const utils_2 = require("../../../utils");
|
|
14
|
+
const cards_data_1 = require("../../cards-data");
|
|
15
|
+
exports.ApprenticeOfSefin = {
|
|
16
|
+
cardIds: ["BG32_332", "BG32_332_G"],
|
|
17
|
+
battlecry: (minion, input) => {
|
|
18
|
+
const murlocs = input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.anomalies, input.gameState.allCards));
|
|
19
|
+
const target = (0, utils_1.pickRandom)(murlocs);
|
|
20
|
+
if (!target) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
const mult = minion.cardId === "BG32_332_G" ? 2 : 1;
|
|
24
|
+
(0, exports.grantRandomBonusKeywords)(target, mult, input.board, input.hero, input.otherHero, input.gameState);
|
|
25
|
+
(0, stats_1.modifyStats)(target, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);
|
|
26
|
+
return true;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
const grantRandomBonusKeywords = (target, mult, board, hero, otherHero, gameState) => {
|
|
30
|
+
let possibleKeywords = [...cards_data_1.validBonusKeywords];
|
|
31
|
+
for (let i = 0; i < mult; i++) {
|
|
32
|
+
if (target.divineShield) {
|
|
33
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.DIVINE_SHIELD);
|
|
34
|
+
}
|
|
35
|
+
if (target.taunt) {
|
|
36
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.TAUNT);
|
|
37
|
+
}
|
|
38
|
+
if (target.venomous) {
|
|
39
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.VENOMOUS);
|
|
40
|
+
}
|
|
41
|
+
if (target.windfury) {
|
|
42
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.WINDFURY);
|
|
43
|
+
}
|
|
44
|
+
if (target.stealth) {
|
|
45
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.STEALTH);
|
|
46
|
+
}
|
|
47
|
+
if (target.reborn) {
|
|
48
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== reference_data_1.GameTag.REBORN);
|
|
49
|
+
}
|
|
50
|
+
if (possibleKeywords.length === 0) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const targetKeyword = (0, utils_1.pickRandom)(possibleKeywords);
|
|
54
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);
|
|
55
|
+
switch (targetKeyword) {
|
|
56
|
+
case reference_data_1.GameTag.DIVINE_SHIELD:
|
|
57
|
+
(0, divine_shield_1.updateDivineShield)(target, board, hero, otherHero, true, gameState);
|
|
58
|
+
break;
|
|
59
|
+
case reference_data_1.GameTag.TAUNT:
|
|
60
|
+
(0, taunt_1.updateTaunt)(target, true, board, hero, otherHero, gameState);
|
|
61
|
+
break;
|
|
62
|
+
case reference_data_1.GameTag.VENOMOUS:
|
|
63
|
+
(0, venomous_1.updateVenomous)(target, true, board, hero, otherHero, gameState);
|
|
64
|
+
break;
|
|
65
|
+
case reference_data_1.GameTag.WINDFURY:
|
|
66
|
+
(0, windfury_1.updateWindfury)(target, true, board, hero, otherHero, gameState);
|
|
67
|
+
break;
|
|
68
|
+
case reference_data_1.GameTag.STEALTH:
|
|
69
|
+
(0, stealth_1.updateStealth)(target, true, board, hero, otherHero, gameState);
|
|
70
|
+
break;
|
|
71
|
+
case reference_data_1.GameTag.REBORN:
|
|
72
|
+
(0, reborn_1.updateReborn)(target, true, board, hero, otherHero, gameState);
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.grantRandomBonusKeywords = grantRandomBonusKeywords;
|
|
78
|
+
//# sourceMappingURL=apprentice-of-sefin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apprentice-of-sefin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/apprentice-of-sefin.ts"],"names":[],"mappings":";;;AAAA,iEAAsE;AAGtE,mEAAqE;AACrE,qDAAwD;AACxD,uDAA0D;AAC1D,mDAAsD;AACtD,yDAA4D;AAC5D,yDAA4D;AAC5D,mDAAqD;AAGrD,qDAAwD;AACxD,0CAAiD;AAEjD,iDAAsD;AAEzC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAA,gCAAwB,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClG,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC;AAEK,MAAM,wBAAwB,GAAG,CACvC,MAAmB,EACnB,IAAY,EACZ,KAAoB,EACpB,IAAqB,EACrB,SAA0B,EAC1B,SAAwB,EACvB,EAAE;IACH,IAAI,gBAAgB,GAAG,CAAC,GAAG,+BAAkB,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC,YAAY,EAAE;YACxB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,wBAAO,CAAC,aAAa,CAAC,CAAC;SAC3G;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YACjB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,wBAAO,CAAC,KAAK,CAAC,CAAC;SACnG;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE;YACpB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,wBAAO,CAAC,QAAQ,CAAC,CAAC;SACtG;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE;YACpB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,wBAAO,CAAC,QAAQ,CAAC,CAAC;SACtG;QACD,IAAI,MAAM,CAAC,OAAO,EAAE;YACnB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,wBAAO,CAAC,OAAO,CAAC,CAAC;SACrG;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YAClB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,wBAAO,CAAC,MAAM,CAAC,CAAC;SACpG;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,SAAS;SACT;QACD,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;QACnD,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC;QACnG,QAAQ,aAAa,EAAE;YACtB,KAAK,wBAAO,CAAC,aAAa;gBACzB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,wBAAO,CAAC,KAAK;gBACjB,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC7D,MAAM;YACP,KAAK,wBAAO,CAAC,QAAQ;gBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM;YACP,KAAK,wBAAO,CAAC,QAAQ;gBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM;YACP,KAAK,wBAAO,CAAC,OAAO;gBACnB,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC/D,MAAM;YACP,KAAK,wBAAO,CAAC,MAAM;gBAClB,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC9D,MAAM;SACP;KACD;AACF,CAAC,CAAC;AAtDW,QAAA,wBAAwB,4BAsDnC","sourcesContent":["import { CardIds, GameTag, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateStealth } from '../../../keywords/stealth';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { validBonusKeywords } from '../../cards-data';\r\n\r\nexport const ApprenticeOfSefin: BattlecryCard = {\r\n\tcardIds: [CardIds.ApprenticeOfSefin_BG32_332, CardIds.ApprenticeOfSefin_BG32_332_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst murlocs = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = pickRandom(murlocs);\r\n\t\tif (!target) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.ApprenticeOfSefin_BG32_332_G ? 2 : 1;\r\n\t\tgrantRandomBonusKeywords(target, mult, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\tmodifyStats(target, minion, 4 * mult, 4 * mult, input.board, input.hero, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n\r\nexport const grantRandomBonusKeywords = (\r\n\ttarget: BoardEntity,\r\n\tmult: number,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tlet possibleKeywords = [...validBonusKeywords];\r\n\tfor (let i = 0; i < mult; i++) {\r\n\t\tif (target.divineShield) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.DIVINE_SHIELD);\r\n\t\t}\r\n\t\tif (target.taunt) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.TAUNT);\r\n\t\t}\r\n\t\tif (target.venomous) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.VENOMOUS);\r\n\t\t}\r\n\t\tif (target.windfury) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.WINDFURY);\r\n\t\t}\r\n\t\tif (target.stealth) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.STEALTH);\r\n\t\t}\r\n\t\tif (target.reborn) {\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== GameTag.REBORN);\r\n\t\t}\r\n\t\tif (possibleKeywords.length === 0) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tconst targetKeyword = pickRandom(possibleKeywords);\r\n\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);\r\n\t\tswitch (targetKeyword) {\r\n\t\t\tcase GameTag.DIVINE_SHIELD:\r\n\t\t\t\tupdateDivineShield(target, board, hero, otherHero, true, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.TAUNT:\r\n\t\t\t\tupdateTaunt(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.VENOMOUS:\r\n\t\t\t\tupdateVenomous(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.WINDFURY:\r\n\t\t\t\tupdateWindfury(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.STEALTH:\r\n\t\t\t\tupdateStealth(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t\tcase GameTag.REBORN:\r\n\t\t\t\tupdateReborn(target, true, board, hero, otherHero, gameState);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n};\r\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AshenCorruptor = void 0;
|
|
4
|
+
exports.AshenCorruptor = {
|
|
5
|
+
cardIds: ["BG32_873", "BG32_873_G"],
|
|
6
|
+
afterHeroDamaged: (minion, input) => {
|
|
7
|
+
input.hero.hpLeft = input.hero.hpLeft + input.damage;
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=ashen-corruptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ashen-corruptor.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ashen-corruptor.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACvE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const AshenCorruptor: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.AshenCorruptor_BG32_873, CardIds.AshenCorruptor_BG32_873_G],\r\n\tafterHeroDamaged: (minion: BoardEntity, input: AfterHeroDamagedInput) => {\r\n\t\tinput.hero.hpLeft = input.hero.hpLeft + input.damage;\r\n\t},\r\n};\r\n"]}
|
|
@@ -15,8 +15,9 @@ exports.AssistantGuard = {
|
|
|
15
15
|
input.gameState.spectator.registerPowerTarget(minion, assistantGuardTarget, input.board, input.hero, input.otherHero);
|
|
16
16
|
}
|
|
17
17
|
for (const entity of input.board.filter((e) => !!e.taunt)) {
|
|
18
|
-
(0, stats_1.modifyStats)(entity, assistantGuardMultiplier * 2, assistantGuardMultiplier * 3, input.board, input.hero, input.gameState);
|
|
18
|
+
(0, stats_1.modifyStats)(entity, minion, assistantGuardMultiplier * 2, assistantGuardMultiplier * 3, input.board, input.hero, input.gameState);
|
|
19
19
|
}
|
|
20
|
+
return true;
|
|
20
21
|
},
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=assistant-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAA,mBAAW,EACV,MAAM,EACN,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;
|
|
1
|
+
{"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,qDAAwD;AAG3C,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const AssistantGuard: BattlecryCard = {\r\n\tcardIds: [CardIds.AssistantGuard_BG29_845, CardIds.AssistantGuard_BG29_845_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst assistantGuardMultiplier = minion.cardId === CardIds.AssistantGuard_BG29_845 ? 1 : 2;\r\n\t\tconst assistantGuardTarget = pickRandom(allMinions);\r\n\t\tif (assistantGuardTarget) {\r\n\t\t\tupdateTaunt(assistantGuardTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardTarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\tfor (const entity of input.board.filter((e) => !!e.taunt)) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tentity,\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardMultiplier * 2,\r\n\t\t\t\tassistantGuardMultiplier * 3,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AutoAssemblerEnchantment = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.AutoAssemblerEnchantment = {
|
|
6
|
+
cardIds: [
|
|
7
|
+
"BG32_172e",
|
|
8
|
+
"BG32_172_Ge",
|
|
9
|
+
],
|
|
10
|
+
deathrattleSpawnEnchantmentEffect: (minion, input) => {
|
|
11
|
+
const cardIdToSpawn = minion.cardId === "BG32_172_Ge"
|
|
12
|
+
? "BG_TTN_401_G"
|
|
13
|
+
: "BG_TTN_401";
|
|
14
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardIdToSpawn, 1, input);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=auto-assembler-enchantment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-assembler-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/auto-assembler-enchantment.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,wBAAwB,GAAoC;IACxE,OAAO,EAAE;;;KAGR;IACD,iCAAiC,EAAE,CAClC,MAAmB,EACnB,KAAgC,EACP,EAAE;QAC3B,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,kBAA+D;YAC3E,CAAC;YACD,CAAC,aAAmC,CAAC;QACvC,OAAO,IAAA,4CAAuB,EAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnEnchantmentCard } from '../../card.interface';\r\n\r\nexport const AutoAssemblerEnchantment: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [\r\n\t\tCardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172e,\r\n\t\tCardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172_Ge,\r\n\t],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): readonly BoardEntity[] => {\r\n\t\tconst cardIdToSpawn =\r\n\t\t\tminion.cardId === CardIds.AutoAssembler_AutoAssemblerEnchantment_BG32_172_Ge\r\n\t\t\t\t? CardIds.AstralAutomaton_BG_TTN_401_G\r\n\t\t\t\t: CardIds.AstralAutomaton_BG_TTN_401;\r\n\t\treturn simplifiedSpawnEntities(cardIdToSpawn, 1, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AutoAssembler = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.AutoAssembler = {
|
|
6
|
+
cardIds: ["BG32_172", "BG32_172_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const cardIdToSpawn = minion.cardId === "BG32_172_G"
|
|
9
|
+
? "BG_TTN_401_G"
|
|
10
|
+
: "BG_TTN_401";
|
|
11
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardIdToSpawn, 1, input);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=auto-assembler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-assembler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/auto-assembler.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,aAAa,GAClB,MAAM,CAAC,MAAM,iBAAqC;YACjD,CAAC;YACD,CAAC,aAAmC,CAAC;QACvC,OAAO,IAAA,4CAAuB,EAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const AutoAssembler: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.AutoAssembler_BG32_172, CardIds.AutoAssembler_BG32_172_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst cardIdToSpawn =\r\n\t\t\tminion.cardId === CardIds.AutoAssembler_BG32_172_G\r\n\t\t\t\t? CardIds.AstralAutomaton_BG_TTN_401_G\r\n\t\t\t\t: CardIds.AstralAutomaton_BG_TTN_401;\r\n\t\treturn simplifiedSpawnEntities(cardIdToSpawn, 1, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -64,7 +64,7 @@ exports.Battlecruiser = {
|
|
|
64
64
|
const buff = advancedBallistics.map((e) => { var _a; return (_a = e.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0);
|
|
65
65
|
const targets = input.attackingBoard.filter((entity) => entity !== minion);
|
|
66
66
|
for (const target of targets) {
|
|
67
|
-
(0, stats_1.modifyStats)(target, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);
|
|
67
|
+
(0, stats_1.modifyStats)(target, minion, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);
|
|
68
68
|
}
|
|
69
69
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
70
70
|
},
|
|
@@ -80,8 +80,7 @@ exports.Battlecruiser = {
|
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
82
|
const buff = caduceusReactors.map((e) => { var _a; return (_a = e.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0);
|
|
83
|
-
(0, stats_1.modifyStats)(target, buff, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
84
|
-
input.gameState.spectator.registerPowerTarget(minion, target, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
|
|
83
|
+
(0, stats_1.modifyStats)(target, minion, buff, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
85
84
|
},
|
|
86
85
|
};
|
|
87
86
|
//# sourceMappingURL=battlecruiser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"battlecruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/battlecruiser.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RebornEffectInput } from '../../../simulation/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getRandomMinionWithHighestHealth } from '../../../utils';\r\nimport { DeathrattleEffectCard, OnAttackCard, RebornSelfEffectCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Battlecruiser: StartOfCombatCard & RebornSelfEffectCard & OnAttackCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.LiftOff_BattlecruiserToken_BG31_HERO_801pt, CardIds.Battlecruiser_BG31_HERO_801pt_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// Enchantments can appear multiple times???\r\n\t\tconst yamatoCannons = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.YamatoCannon_YamatoCannonEnchantment_BG31_HERO_801ptce);\r\n\t\tif (!yamatoCannons?.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Still not sure how these should be processed\r\n\t\t// In some cases, it feels like it takes the sum of the damage, in other cases it runs them one after the other\r\n\t\t// (but maybe that's just the replay aggregating the values)\r\n\t\t// I'm not sure about the BACON_YAMATO_CANNON tag; it seems like it indicates multiple cannons, but I'm not sure\r\n\t\t// Other issues: looks like that if there are multiple cannon enchantments but no divine shield, everything is applied to the same target\r\n\t\t// So it looks as if the target is selected first, then everything targets it\r\n\t\t// https://replays.firestoneapp.com/?reviewId=e8f38ab0-3380-4275-88d8-0715d69d3f08&turn=21&action=1\r\n\t\t// Even more than that: the target is the same between multiple battlecruisers\r\n\t\t// https://replays.firestoneapp.com/?reviewId=cbfd6fe9-1a58-400a-a593-6b8852df5427&turn=9&action=0\r\n\t\t// However I'm pretty sure I've seen another behavior\r\n\t\t// Get the highest health opponent minion at the start of the phase\r\n\t\tconst aliveEntities = input.opponentBoard\r\n\t\t\t.filter((entity) => entity.health > 0 && !entity.definitelyDead)\r\n\t\t\t.map((e) => e.entityId);\r\n\t\tconst targetEntityId = getRandomMinionWithHighestHealth(\r\n\t\t\tinput.opponentBoardBefore.filter((e) => aliveEntities.includes(e.entityId)),\r\n\t\t)?.entityId;\r\n\t\t// const numberOfCannons = yamatoCannons.length;\r\n\t\tconst cannonDamage = Math.max(...yamatoCannons.map((e) => e.tagScriptDataNum1));\r\n\t\tfor (const yamatoCannon of yamatoCannons) {\r\n\t\t\t// const damage = yamatoCannon.tagScriptDataNum1;\r\n\t\t\t// Could this simply be tagScriptDataNum2 on the battlecruiser?\r\n\t\t\t// I don't understand how this relates to the number enchants in the cruiser itself\r\n\t\t\tconst loops = minion.tags?.[GameTag.BACON_YAMATO_CANNON] === 1 ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\t\tlet target = input.opponentBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\t\tif (!target || target.health <= 0 || target.definitelyDead) {\r\n\t\t\t\t\ttarget = getRandomMinionWithHighestHealth(input.opponentBoard);\r\n\t\t\t\t}\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tcannonDamage,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\trebornSelfEffect: (minion: BoardEntity, input: RebornEffectInput) => {\r\n\t\tconst ultraCapacitors = [...(input.rebornEntity.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.UltraCapacitor_UltraCapacitorEnchantment_BG31_HERO_801ptje);\r\n\t\tif (!ultraCapacitors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.enchantments = input.rebornEntity.enchantments;\r\n\t\tminion.attack = input.rebornEntity.maxAttack;\r\n\t\tminion.maxAttack = input.rebornEntity.maxAttack;\r\n\t\tminion.health = input.rebornEntity.maxHealth;\r\n\t\tminion.maxHealth = input.rebornEntity.maxHealth;\r\n\t\tminion.divineShield = input.rebornEntity.hadDivineShield;\r\n\t\tminion.taunt = input.rebornEntity.taunt;\r\n\t\tminion.windfury = input.rebornEntity.windfury;\r\n\t\tminion.poisonous = input.rebornEntity.poisonous;\r\n\t},\r\n\tonAnyMinionAttack: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnAttackInput,\r\n\t): {\r\n\t\tdmgDoneByAttacker: number;\r\n\t\tdmgDoneByDefender: number;\r\n\t} => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst advancedBallistics = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.AdvancedBallistics_AdvancedBallisticsEnchantment_BG31_HERO_801ptde);\r\n\t\tif (!advancedBallistics?.length) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = advancedBallistics.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tconst targets = input.attackingBoard.filter((entity) => entity !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst caduceusReactors = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.CaduceusReactor_CaduceusReactorEnchantment_BG31_HERO_801ptee);\r\n\t\tif (!caduceusReactors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst target = input.boardWithDeadEntity.filter((e) => e.health > 0 && !e.definitelyDead)[0];\r\n\t\tif (!target) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst buff = caduceusReactors.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tmodifyStats(target, buff, buff, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\ttarget,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.otherBoardHero,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"battlecruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/battlecruiser.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RebornEffectInput } from '../../../simulation/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getRandomMinionWithHighestHealth } from '../../../utils';\r\nimport { DeathrattleEffectCard, OnAttackCard, RebornSelfEffectCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Battlecruiser: StartOfCombatCard & RebornSelfEffectCard & OnAttackCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.LiftOff_BattlecruiserToken_BG31_HERO_801pt, CardIds.Battlecruiser_BG31_HERO_801pt_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// Enchantments can appear multiple times???\r\n\t\tconst yamatoCannons = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.YamatoCannon_YamatoCannonEnchantment_BG31_HERO_801ptce);\r\n\t\tif (!yamatoCannons?.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Still not sure how these should be processed\r\n\t\t// In some cases, it feels like it takes the sum of the damage, in other cases it runs them one after the other\r\n\t\t// (but maybe that's just the replay aggregating the values)\r\n\t\t// I'm not sure about the BACON_YAMATO_CANNON tag; it seems like it indicates multiple cannons, but I'm not sure\r\n\t\t// Other issues: looks like that if there are multiple cannon enchantments but no divine shield, everything is applied to the same target\r\n\t\t// So it looks as if the target is selected first, then everything targets it\r\n\t\t// https://replays.firestoneapp.com/?reviewId=e8f38ab0-3380-4275-88d8-0715d69d3f08&turn=21&action=1\r\n\t\t// Even more than that: the target is the same between multiple battlecruisers\r\n\t\t// https://replays.firestoneapp.com/?reviewId=cbfd6fe9-1a58-400a-a593-6b8852df5427&turn=9&action=0\r\n\t\t// However I'm pretty sure I've seen another behavior\r\n\t\t// Get the highest health opponent minion at the start of the phase\r\n\t\tconst aliveEntities = input.opponentBoard\r\n\t\t\t.filter((entity) => entity.health > 0 && !entity.definitelyDead)\r\n\t\t\t.map((e) => e.entityId);\r\n\t\tconst targetEntityId = getRandomMinionWithHighestHealth(\r\n\t\t\tinput.opponentBoardBefore.filter((e) => aliveEntities.includes(e.entityId)),\r\n\t\t)?.entityId;\r\n\t\t// const numberOfCannons = yamatoCannons.length;\r\n\t\tconst cannonDamage = Math.max(...yamatoCannons.map((e) => e.tagScriptDataNum1));\r\n\t\tfor (const yamatoCannon of yamatoCannons) {\r\n\t\t\t// const damage = yamatoCannon.tagScriptDataNum1;\r\n\t\t\t// Could this simply be tagScriptDataNum2 on the battlecruiser?\r\n\t\t\t// I don't understand how this relates to the number enchants in the cruiser itself\r\n\t\t\tconst loops = minion.tags?.[GameTag.BACON_YAMATO_CANNON] === 1 ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\t\tlet target = input.opponentBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\t\tif (!target || target.health <= 0 || target.definitelyDead) {\r\n\t\t\t\t\ttarget = getRandomMinionWithHighestHealth(input.opponentBoard);\r\n\t\t\t\t}\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tcannonDamage,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\trebornSelfEffect: (minion: BoardEntity, input: RebornEffectInput) => {\r\n\t\tconst ultraCapacitors = [...(input.rebornEntity.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.UltraCapacitor_UltraCapacitorEnchantment_BG31_HERO_801ptje);\r\n\t\tif (!ultraCapacitors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminion.enchantments = input.rebornEntity.enchantments;\r\n\t\tminion.attack = input.rebornEntity.maxAttack;\r\n\t\tminion.maxAttack = input.rebornEntity.maxAttack;\r\n\t\tminion.health = input.rebornEntity.maxHealth;\r\n\t\tminion.maxHealth = input.rebornEntity.maxHealth;\r\n\t\tminion.divineShield = input.rebornEntity.hadDivineShield;\r\n\t\tminion.taunt = input.rebornEntity.taunt;\r\n\t\tminion.windfury = input.rebornEntity.windfury;\r\n\t\tminion.poisonous = input.rebornEntity.poisonous;\r\n\t},\r\n\tonAnyMinionAttack: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnAttackInput,\r\n\t): {\r\n\t\tdmgDoneByAttacker: number;\r\n\t\tdmgDoneByDefender: number;\r\n\t} => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst advancedBallistics = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.AdvancedBallistics_AdvancedBallisticsEnchantment_BG31_HERO_801ptde);\r\n\t\tif (!advancedBallistics?.length) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = advancedBallistics.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tconst targets = input.attackingBoard.filter((entity) => entity !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, minion, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst caduceusReactors = [...(minion.enchantments ?? [])]\r\n\t\t\t// .reverse()\r\n\t\t\t.filter((e) => e.cardId === CardIds.CaduceusReactor_CaduceusReactorEnchantment_BG31_HERO_801ptee);\r\n\t\tif (!caduceusReactors?.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst target = input.boardWithDeadEntity.filter((e) => e.health > 0 && !e.definitelyDead)[0];\r\n\t\tif (!target) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst buff = caduceusReactors.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\tmodifyStats(\r\n\t\t\ttarget,\r\n\t\t\tminion,\r\n\t\t\tbuff,\r\n\t\t\tbuff,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,7 @@ exports.Beetle = {
|
|
|
6
6
|
cardIds: ["BG28_603t", "BG28_603t_G"],
|
|
7
7
|
onSpawned: (minion, input) => {
|
|
8
8
|
var _a, _b;
|
|
9
|
-
(0, stats_1.modifyStats)(minion, 1 * ((_a = input.hero.globalInfo.BeetleAttackBuff) !== null && _a !== void 0 ? _a : 0), 1 * ((_b = input.hero.globalInfo.BeetleHealthBuff) !== null && _b !== void 0 ? _b : 0), input.board, input.hero, input.gameState);
|
|
9
|
+
(0, stats_1.modifyStats)(minion, minion, 1 * ((_a = input.hero.globalInfo.BeetleAttackBuff) !== null && _a !== void 0 ? _a : 0), 1 * ((_b = input.hero.globalInfo.BeetleHealthBuff) !== null && _b !== void 0 ? _b : 0), input.board, input.hero, input.gameState, false);
|
|
10
10
|
},
|
|
11
11
|
onDespawned: (minion, input) => {
|
|
12
12
|
minion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,MAAM,GAAoC;IACtD,OAAO,EAAE,4BAAyE;IAClF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,MAAM,GAAoC;IACtD,OAAO,EAAE,4BAAyE;IAClF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const Beetle: OnSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\t1 * (input.hero.globalInfo.BeetleAttackBuff ?? 0),\r\n\t\t\t1 * (input.hero.globalInfo.BeetleHealthBuff ?? 0),\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tminion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);\r\n\t\tminion.health = Math.max(1, minion.health - input.hero.globalInfo.BeetleHealthBuff);\r\n\t},\r\n};\r\n"]}
|
|
@@ -10,7 +10,7 @@ exports.BellowingTyrant = {
|
|
|
10
10
|
input.hero.globalInfo.BeastsSummonedThisGame += 1;
|
|
11
11
|
const mult = minion.cardId === "BG31_361_G" ? 2 : 1;
|
|
12
12
|
const statsBonus = mult * input.hero.globalInfo.BeastsSummonedThisGame;
|
|
13
|
-
(0, stats_1.modifyStats)(minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
|
|
13
|
+
(0, stats_1.modifyStats)(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
|
|
14
14
|
},
|
|
15
15
|
onDespawned: (minion, input) => {
|
|
16
16
|
const mult = minion.cardId === "BG31_361_G" ? 2 : 1;
|
|
@@ -24,7 +24,7 @@ exports.BellowingTyrant = {
|
|
|
24
24
|
input.hero.globalInfo.BeastsSummonedThisGame += 1;
|
|
25
25
|
const mult = minion.cardId === "BG31_361_G" ? 2 : 1;
|
|
26
26
|
const statsBonus = mult * 1;
|
|
27
|
-
(0, stats_1.modifyStats)(minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
|
|
27
|
+
(0, stats_1.modifyStats)(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=bellowing-tyrant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bellowing-tyrant.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bellowing-tyrant.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAyD;IACpF,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bellowing-tyrant.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bellowing-tyrant.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAyD;IACpF,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACvE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACrG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACtG,CAAC;IACD,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,IACC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,OAAO;SACP;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;QAC5B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnDespawnedCard, OnOtherSpawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const BellowingTyrant: OnSpawnedCard & OnOtherSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BellowingTyrant_BG31_361, CardIds.BellowingTyrant_BG31_361_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tinput.hero.globalInfo.BeastsSummonedThisGame += 1;\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tconst statsBonus = mult * input.hero.globalInfo.BeastsSummonedThisGame;\r\n\t\tmodifyStats(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tminion.attack = Math.max(0, minion.attack - 3 * mult * input.hero.globalInfo.BeastsSummonedThisGame);\r\n\t\tminion.health = Math.max(1, minion.health - 2 * mult * input.hero.globalInfo.BeastsSummonedThisGame);\r\n\t},\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tinput.hero.globalInfo.BeastsSummonedThisGame += 1;\r\n\t\tconst mult = minion.cardId === CardIds.BellowingTyrant_BG31_361_G ? 2 : 1;\r\n\t\tconst statsBonus = mult * 1;\r\n\t\tmodifyStats(minion, minion, 3 * statsBonus, 2 * statsBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,7 @@ exports.BlazingSkyfin = {
|
|
|
6
6
|
cardIds: ["BG25_040", "BG25_040_G"],
|
|
7
7
|
onBattlecryTriggered: (minion, input) => {
|
|
8
8
|
const buff = minion.cardId === "BG25_040" ? 1 : 2;
|
|
9
|
-
(0, stats_1.modifyStats)(minion, buff, buff, input.board, input.hero, input.gameState);
|
|
9
|
+
(0, stats_1.modifyStats)(minion, minion, buff, buff, input.board, input.hero, input.gameState);
|
|
10
10
|
},
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=blazing-skyfin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const BlazingSkyfin: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.BlazingSkyfin_BG25_040, CardIds.BlazingSkyfin_BG25_040_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BlazingSkyfin_BG25_040 ? 1 : 2;\r\n\t\tmodifyStats(minion, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bonker = void 0;
|
|
4
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
5
|
+
exports.Bonker = {
|
|
6
|
+
cardIds: ["BG20_104", "BG20_104_G"],
|
|
7
|
+
onAnyMinionAttack: (minion, input) => {
|
|
8
|
+
if (minion !== input.attacker) {
|
|
9
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
+
}
|
|
11
|
+
const mult = minion.cardId === "BG20_104_G" ? 2 : 1;
|
|
12
|
+
for (const target of input.attackingBoard) {
|
|
13
|
+
(0, blood_gems_1.playBloodGemsOn)(minion, target, 1 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
14
|
+
}
|
|
15
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=bonker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bonker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bonker.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAIpD,QAAA,MAAM,GAAiB;IACnC,OAAO,EAAE,0BAAoD;IAC7D,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE;YAC1C,IAAA,4BAAe,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QAED,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const Bonker: OnAttackCard = {\r\n\tcardIds: [CardIds.Bonker_BG20_104, CardIds.Bonker_BG20_104_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.Bonker_BG20_104_G ? 2 : 1;\r\n\t\tfor (const target of input.attackingBoard) {\r\n\t\t\tplayBloodGemsOn(minion, target, 1 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BronzeSteward = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const stats_1 = require("../../../simulation/stats");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.BronzeSteward = {
|
|
8
|
+
cardIds: ["BG32_824", "BG32_824_G"],
|
|
9
|
+
battlecry: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG32_824_G" ? 2 : 1;
|
|
11
|
+
const targets = input.board
|
|
12
|
+
.filter((e) => e.entityId !== minion.entityId)
|
|
13
|
+
.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
|
|
14
|
+
targets.forEach((target) => {
|
|
15
|
+
(0, stats_1.modifyStats)(target, minion, 7 * mult, 0, input.board, input.hero, input.gameState);
|
|
16
|
+
});
|
|
17
|
+
return true;
|
|
18
|
+
},
|
|
19
|
+
deathrattleEffect: (minion, input) => {
|
|
20
|
+
const mult = minion.cardId === "BG32_824_G" ? 2 : 1;
|
|
21
|
+
const targets = input.boardWithDeadEntity
|
|
22
|
+
.filter((e) => e.entityId !== minion.entityId)
|
|
23
|
+
.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
|
|
24
|
+
targets.forEach((target) => {
|
|
25
|
+
(0, stats_1.modifyStats)(target, minion, 7 * mult, 0, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=bronze-steward.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bronze-steward.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bronze-steward.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAI7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0C;IACnE,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,EACD,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const BronzeSteward: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.BronzeSteward_BG32_824, CardIds.BronzeSteward_BG32_824_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(target, minion, 7 * mult, 0, input.board, input.hero, input.gameState);\r\n\t\t});\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BronzeSteward_BG32_824_G ? 2 : 1;\r\n\t\tconst targets = input.boardWithDeadEntity\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\ttargets.forEach((target) => {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t7 * mult,\r\n\t\t\t\t0,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t});\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,44 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BubbleGunner = void 0;
|
|
4
|
-
const
|
|
5
|
-
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
6
|
-
const reborn_1 = require("../../../keywords/reborn");
|
|
7
|
-
const stealth_1 = require("../../../keywords/stealth");
|
|
8
|
-
const taunt_1 = require("../../../keywords/taunt");
|
|
9
|
-
const venomous_1 = require("../../../keywords/venomous");
|
|
10
|
-
const windfury_1 = require("../../../keywords/windfury");
|
|
11
|
-
const utils_1 = require("../../../services/utils");
|
|
12
|
-
const cards_data_1 = require("../../cards-data");
|
|
4
|
+
const apprentice_of_sefin_1 = require("./apprentice-of-sefin");
|
|
13
5
|
exports.BubbleGunner = {
|
|
14
6
|
cardIds: ["BG31_149", "BG31_149_G"],
|
|
15
7
|
battlecry: (minion, input) => {
|
|
16
|
-
let possibleKeywords = [...cards_data_1.validBonusKeywords];
|
|
17
8
|
const iterations = minion.cardId === "BG31_149_G" ? 2 : 1;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);
|
|
21
|
-
switch (targetKeyword) {
|
|
22
|
-
case reference_data_1.GameTag.DIVINE_SHIELD:
|
|
23
|
-
(0, divine_shield_1.updateDivineShield)(minion, input.board, input.hero, input.otherHero, true, input.gameState);
|
|
24
|
-
break;
|
|
25
|
-
case reference_data_1.GameTag.TAUNT:
|
|
26
|
-
(0, taunt_1.updateTaunt)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
27
|
-
break;
|
|
28
|
-
case reference_data_1.GameTag.VENOMOUS:
|
|
29
|
-
(0, venomous_1.updateVenomous)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
30
|
-
break;
|
|
31
|
-
case reference_data_1.GameTag.WINDFURY:
|
|
32
|
-
(0, windfury_1.updateWindfury)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
33
|
-
break;
|
|
34
|
-
case reference_data_1.GameTag.STEALTH:
|
|
35
|
-
(0, stealth_1.updateStealth)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
36
|
-
break;
|
|
37
|
-
case reference_data_1.GameTag.REBORN:
|
|
38
|
-
(0, reborn_1.updateReborn)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
9
|
+
(0, apprentice_of_sefin_1.grantRandomBonusKeywords)(minion, iterations, input.board, input.hero, input.otherHero, input.gameState);
|
|
10
|
+
return true;
|
|
42
11
|
},
|
|
43
12
|
};
|
|
44
13
|
//# sourceMappingURL=bubble-gunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAIA,+DAAiE;AAEpD,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,8CAAwB,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { grantRandomBonusKeywords } from './apprentice-of-sefin';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [CardIds.BubbleGunner_BG31_149, CardIds.BubbleGunner_BG31_149_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst iterations = minion.cardId === CardIds.BubbleGunner_BG31_149_G ? 2 : 1;\r\n\t\tgrantRandomBonusKeywords(minion, iterations, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -23,7 +23,7 @@ exports.Carrier = {
|
|
|
23
23
|
: "BG31_HERO_802pt1t";
|
|
24
24
|
const spawned = (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cardId, 1, spawnInput);
|
|
25
25
|
spawned.forEach((e) => {
|
|
26
|
-
(0, stats_1.modifyStats)(e, statBuff, statBuff, input.board, input.hero, input.gameState);
|
|
26
|
+
(0, stats_1.modifyStats)(e, minion, statBuff, statBuff, input.board, input.hero, input.gameState, false);
|
|
27
27
|
});
|
|
28
28
|
minion.scriptDataNum1 = statBuff + singleStatBuff;
|
|
29
29
|
return spawned;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carrier.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/carrier.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,OAAO,GAAe;IAClC,OAAO,EAAE,0CAAoF;IAC7F,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAA0B,EAAE;;QAC3E,MAAM,UAAU,GAA8B;YAC7C,mBAAmB,EAAE,KAAK,CAAC,KAAK;YAChC,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,yBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,yBAAuC;YACnD,CAAC;YACD,CAAC,oBAAmD,CAAC;QACvD,MAAM,OAAO,GAAG,IAAA,4CAAuB,EAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,IAAA,mBAAW,EAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"carrier.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/carrier.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,OAAO,GAAe;IAClC,OAAO,EAAE,0CAAoF;IAC7F,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAA0B,EAAE;;QAC3E,MAAM,UAAU,GAA8B;YAC7C,mBAAmB,EAAE,KAAK,CAAC,KAAK;YAChC,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,yBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GACX,MAAM,CAAC,MAAM,yBAAuC;YACnD,CAAC;YACD,CAAC,oBAAmD,CAAC;QACvD,MAAM,OAAO,GAAG,IAAA,4CAAuB,EAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;QAClD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const Carrier: AvengeCard = {\r\n\tcardIds: [CardIds.WarpGate_CarrierToken_BG31_HERO_802pt1, CardIds.Carrier_BG31_HERO_802pt1_G],\r\n\tbaseAvengeValue: (cardId: string) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput): readonly BoardEntity[] => {\r\n\t\tconst spawnInput: DeathrattleTriggeredInput = {\r\n\t\t\tboardWithDeadEntity: input.board,\r\n\t\t\tboardWithDeadEntityHero: input.hero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\tdeadEntity: minion, // weird\r\n\t\t\totherBoard: input.otherBoard,\r\n\t\t\totherBoardHero: input.otherHero,\r\n\t\t};\r\n\t\tconst singleStatBuff = minion.cardId === CardIds.Carrier_BG31_HERO_802pt1_G ? 6 : 3;\r\n\t\tconst statBuff = minion.scriptDataNum1 ?? 0;\r\n\t\tconst cardId =\r\n\t\t\tminion.cardId === CardIds.Carrier_BG31_HERO_802pt1_G\r\n\t\t\t\t? CardIds.Interceptor_BG31_HERO_802pt1t_G\r\n\t\t\t\t: CardIds.Carrier_InterceptorToken_BG31_HERO_802pt1t;\r\n\t\tconst spawned = simplifiedSpawnEntities(cardId, 1, spawnInput);\r\n\t\tspawned.forEach((e) => {\r\n\t\t\tmodifyStats(e, minion, statBuff, statBuff, input.board, input.hero, input.gameState, false);\r\n\t\t});\r\n\t\tminion.scriptDataNum1 = statBuff + singleStatBuff;\r\n\t\treturn spawned;\r\n\t},\r\n};\r\n"]}
|
|
@@ -10,8 +10,7 @@ exports.ChoralMrrrglr = {
|
|
|
10
10
|
((_b = input.playerEntity.hand) === null || _b === void 0 ? void 0 : _b.map((e) => { var _a; return (_a = e.attack) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0)))) !== null && _c !== void 0 ? _c : 0;
|
|
11
11
|
const healthBuff = (_f = (((_d = input.playerEntity.globalInfo) === null || _d === void 0 ? void 0 : _d.ChoralHealthBuff) ||
|
|
12
12
|
((_e = input.playerEntity.hand) === null || _e === void 0 ? void 0 : _e.map((e) => { var _a; return (_a = e.health) !== null && _a !== void 0 ? _a : 0; }).reduce((a, b) => a + b, 0)))) !== null && _f !== void 0 ? _f : 0;
|
|
13
|
-
(0, stats_1.modifyStats)(minion, multiplier * attackBuff, multiplier * healthBuff, input.playerBoard, input.playerEntity, input.gameState);
|
|
14
|
-
input.gameState.spectator.registerPowerTarget(minion, minion, input.playerBoard, input.playerEntity, input.opponentEntity);
|
|
13
|
+
(0, stats_1.modifyStats)(minion, minion, multiplier * attackBuff, multiplier * healthBuff, input.playerBoard, input.playerEntity, input.gameState);
|
|
15
14
|
return true;
|
|
16
15
|
},
|
|
17
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choral-mrrrglr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/choral-mrrrglr.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAE3C,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,IAAA,mBAAW,EACV,MAAM,EACN,UAAU,GAAG,UAAU,EACvB,UAAU,GAAG,UAAU,EACvB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,
|
|
1
|
+
{"version":3,"file":"choral-mrrrglr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/choral-mrrrglr.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAE3C,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,MAAM,UAAU,GACf,MAAA,CAAC,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,0CAAE,gBAAgB;aAC/C,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAA,EAAA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,mCAC/E,CAAC,CAAC;QACH,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,UAAU,EACvB,UAAU,GAAG,UAAU,EACvB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\n\r\nexport const ChoralMrrrglr = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.ChoralMrrrglr_BG26_354_G ? 2 : 1;\r\n\t\t// When it's summoned by Y'Shaarj hero power, the info isn't set\r\n\t\tconst attackBuff =\r\n\t\t\t(input.playerEntity.globalInfo?.ChoralAttackBuff ||\r\n\t\t\t\tinput.playerEntity.hand?.map((e) => e.attack ?? 0).reduce((a, b) => a + b, 0)) ??\r\n\t\t\t0;\r\n\t\tconst healthBuff =\r\n\t\t\t(input.playerEntity.globalInfo?.ChoralHealthBuff ||\r\n\t\t\t\tinput.playerEntity.hand?.map((e) => e.health ?? 0).reduce((a, b) => a + b, 0)) ??\r\n\t\t\t0;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tmultiplier * attackBuff,\r\n\t\t\tmultiplier * healthBuff,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|