@firestone-hs/simulate-bgs-battle 1.1.696 → 1.1.697
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/src/bgs-player-entity.d.ts +4 -10
- package/dist/src/bgs-player-entity.js.map +1 -1
- package/dist/src/cards/card.interface.d.ts +21 -6
- package/dist/src/cards/card.interface.js +8 -1
- package/dist/src/cards/card.interface.js.map +1 -1
- package/dist/src/cards/cards-data.js +1 -12
- package/dist/src/cards/cards-data.js.map +1 -1
- package/dist/src/cards/impl/_card-mappings.js +152 -63
- package/dist/src/cards/impl/_card-mappings.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.d.ts +2 -2
- package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.js +1 -8
- package/dist/src/cards/impl/bg-spell/arcane-absorption-bg352.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/back-to-back.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/back-to-back.js +20 -0
- package/dist/src/cards/impl/bg-spell/back-to-back.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-divine-shield.js +2 -3
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-divine-shield.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-reborn.js +2 -3
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-reborn.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-taunt.js +2 -3
- package/dist/src/cards/impl/bg-spell/blood-gem-quilboar-taunt.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/butchering.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/butchering.js +23 -0
- package/dist/src/cards/impl/bg-spell/butchering.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/conflagration-bg352.js +7 -10
- package/dist/src/cards/impl/bg-spell/conflagration-bg352.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/deepwater-clan.js +13 -9
- package/dist/src/cards/impl/bg-spell/deepwater-clan.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/friendly-bounty.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/friendly-bounty.js +44 -0
- package/dist/src/cards/impl/bg-spell/friendly-bounty.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/healthy-bounty.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/healthy-bounty.js +15 -0
- package/dist/src/cards/impl/bg-spell/healthy-bounty.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/hostile-bounty.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/hostile-bounty.js +15 -0
- package/dist/src/cards/impl/bg-spell/hostile-bounty.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/jailer-sticker-306.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/jailer-sticker-306.js +27 -0
- package/dist/src/cards/impl/bg-spell/jailer-sticker-306.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/jailer-sticker-733.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/jailer-sticker-733.js +32 -0
- package/dist/src/cards/impl/bg-spell/jailer-sticker-733.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/might-of-stormwind.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/might-of-stormwind.js +15 -0
- package/dist/src/cards/impl/bg-spell/might-of-stormwind.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/natural-blessing.js +10 -0
- package/dist/src/cards/impl/bg-spell/natural-blessing.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/ophidian-staff.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/ophidian-staff.js +20 -0
- package/dist/src/cards/impl/bg-spell/ophidian-staff.js.map +1 -0
- package/dist/src/cards/impl/bg-spell/queens-command.js +4 -4
- package/dist/src/cards/impl/bg-spell/queens-command.js.map +1 -1
- package/dist/src/cards/impl/bg-spell/selfish-bounty.d.ts +2 -0
- package/dist/src/cards/impl/bg-spell/selfish-bounty.js +14 -0
- package/dist/src/cards/impl/bg-spell/selfish-bounty.js.map +1 -0
- package/dist/src/cards/impl/minion/abyssal-bruiser.js +3 -4
- package/dist/src/cards/impl/minion/abyssal-bruiser.js.map +1 -1
- package/dist/src/cards/impl/minion/alert-alarmist.js +1 -2
- package/dist/src/cards/impl/minion/alert-alarmist.js.map +1 -1
- package/dist/src/cards/impl/minion/anubarak-nerubian-king.js +2 -4
- package/dist/src/cards/impl/minion/anubarak-nerubian-king.js.map +1 -1
- package/dist/src/cards/impl/minion/balinda-stonehearth.js +1 -2
- package/dist/src/cards/impl/minion/balinda-stonehearth.js.map +1 -1
- package/dist/src/cards/impl/minion/bg352-chromadrake-pool.js +5 -6
- package/dist/src/cards/impl/minion/bg352-chromadrake-pool.js.map +1 -1
- package/dist/src/cards/impl/minion/black-chromadrake.js +2 -3
- package/dist/src/cards/impl/minion/black-chromadrake.js.map +1 -1
- package/dist/src/cards/impl/minion/blue-chromadrake.js +2 -3
- package/dist/src/cards/impl/minion/blue-chromadrake.js.map +1 -1
- package/dist/src/cards/impl/minion/brazen-buccaneer.js +2 -3
- package/dist/src/cards/impl/minion/brazen-buccaneer.js.map +1 -1
- package/dist/src/cards/impl/minion/bristleback-bully.js +5 -6
- package/dist/src/cards/impl/minion/bristleback-bully.js.map +1 -1
- package/dist/src/cards/impl/minion/bronze-chromadrake.js +2 -3
- package/dist/src/cards/impl/minion/bronze-chromadrake.js.map +1 -1
- package/dist/src/cards/impl/minion/cataclysmic-harbinger.js +2 -3
- package/dist/src/cards/impl/minion/cataclysmic-harbinger.js.map +1 -1
- package/dist/src/cards/impl/minion/champion-of-the-primus.js +2 -4
- package/dist/src/cards/impl/minion/champion-of-the-primus.js.map +1 -1
- package/dist/src/cards/impl/minion/charging-czarina.js +4 -1
- package/dist/src/cards/impl/minion/charging-czarina.js.map +1 -1
- package/dist/src/cards/impl/minion/consummate-conqueror.js +1 -2
- package/dist/src/cards/impl/minion/consummate-conqueror.js.map +1 -1
- package/dist/src/cards/impl/minion/cousin-errgl.js +4 -5
- package/dist/src/cards/impl/minion/cousin-errgl.js.map +1 -1
- package/dist/src/cards/impl/minion/cruise-controller.js +3 -2
- package/dist/src/cards/impl/minion/cruise-controller.js.map +1 -1
- package/dist/src/cards/impl/minion/deepwater-chieftain.js +9 -10
- package/dist/src/cards/impl/minion/deepwater-chieftain.js.map +1 -1
- package/dist/src/cards/impl/minion/demon-fodder.js +1 -2
- package/dist/src/cards/impl/minion/demon-fodder.js.map +1 -1
- package/dist/src/cards/impl/minion/determined-defender.js +2 -3
- package/dist/src/cards/impl/minion/determined-defender.js.map +1 -1
- package/dist/src/cards/impl/minion/diremuck-forager.d.ts +2 -4
- package/dist/src/cards/impl/minion/diremuck-forager.js +3 -3
- package/dist/src/cards/impl/minion/diremuck-forager.js.map +1 -1
- package/dist/src/cards/impl/minion/draconic-warden.js +3 -4
- package/dist/src/cards/impl/minion/draconic-warden.js.map +1 -1
- package/dist/src/cards/impl/minion/dustbone-devastator.js +4 -6
- package/dist/src/cards/impl/minion/dustbone-devastator.js.map +1 -1
- package/dist/src/cards/impl/minion/earthsong-shaman.js +2 -3
- package/dist/src/cards/impl/minion/earthsong-shaman.js.map +1 -1
- package/dist/src/cards/impl/minion/egg-of-the-endtimes.js +1 -2
- package/dist/src/cards/impl/minion/egg-of-the-endtimes.js.map +1 -1
- package/dist/src/cards/impl/minion/enchanted-sentinel.js +2 -3
- package/dist/src/cards/impl/minion/enchanted-sentinel.js.map +1 -1
- package/dist/src/cards/impl/minion/falling-sky-golem.js +3 -4
- package/dist/src/cards/impl/minion/falling-sky-golem.js.map +1 -1
- package/dist/src/cards/impl/minion/firelands-fugitive.js +5 -6
- package/dist/src/cards/impl/minion/firelands-fugitive.js.map +1 -1
- package/dist/src/cards/impl/minion/forsaken-weaver.js +2 -1
- package/dist/src/cards/impl/minion/forsaken-weaver.js.map +1 -1
- package/dist/src/cards/impl/minion/gluttonous-trogg.js +1 -2
- package/dist/src/cards/impl/minion/gluttonous-trogg.js.map +1 -1
- package/dist/src/cards/impl/minion/goldrinn-the-great-wolf.js +2 -5
- package/dist/src/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -1
- package/dist/src/cards/impl/minion/green-chromadrake.js +2 -3
- package/dist/src/cards/impl/minion/green-chromadrake.js.map +1 -1
- package/dist/src/cards/impl/minion/hired-ritualist.js +1 -2
- package/dist/src/cards/impl/minion/hired-ritualist.js.map +1 -1
- package/dist/src/cards/impl/minion/hog-watcher.js +1 -2
- package/dist/src/cards/impl/minion/hog-watcher.js.map +1 -1
- package/dist/src/cards/impl/minion/humming-bird.js +2 -4
- package/dist/src/cards/impl/minion/humming-bird.js.map +1 -1
- package/dist/src/cards/impl/minion/incubation-researcher.js +2 -3
- package/dist/src/cards/impl/minion/incubation-researcher.js.map +1 -1
- package/dist/src/cards/impl/minion/laboratory-assistant.d.ts +2 -2
- package/dist/src/cards/impl/minion/laboratory-assistant.js +1 -5
- package/dist/src/cards/impl/minion/laboratory-assistant.js.map +1 -1
- package/dist/src/cards/impl/minion/leyline-surfacer.js +9 -10
- package/dist/src/cards/impl/minion/leyline-surfacer.js.map +1 -1
- package/dist/src/cards/impl/minion/living-azerite.d.ts +2 -2
- package/dist/src/cards/impl/minion/living-azerite.js +17 -0
- package/dist/src/cards/impl/minion/living-azerite.js.map +1 -1
- package/dist/src/cards/impl/minion/lurking-leviathan.js +2 -3
- package/dist/src/cards/impl/minion/lurking-leviathan.js.map +1 -1
- package/dist/src/cards/impl/minion/maelstrom-emergent.js +1 -2
- package/dist/src/cards/impl/minion/maelstrom-emergent.js.map +1 -1
- package/dist/src/cards/impl/minion/mama-mrrglton.js +2 -3
- package/dist/src/cards/impl/minion/mama-mrrglton.js.map +1 -1
- package/dist/src/cards/impl/minion/nalaa-the-redeemer.js +5 -1
- package/dist/src/cards/impl/minion/nalaa-the-redeemer.js.map +1 -1
- package/dist/src/cards/impl/minion/nerubian-deathswarmer.js +2 -6
- package/dist/src/cards/impl/minion/nerubian-deathswarmer.js.map +1 -1
- package/dist/src/cards/impl/minion/old-soul.js +1 -2
- package/dist/src/cards/impl/minion/old-soul.js.map +1 -1
- package/dist/src/cards/impl/minion/oranomonos-the-wilted.js +2 -4
- package/dist/src/cards/impl/minion/oranomonos-the-wilted.js.map +1 -1
- package/dist/src/cards/impl/minion/papa-mrrglton.js +2 -3
- package/dist/src/cards/impl/minion/papa-mrrglton.js.map +1 -1
- package/dist/src/cards/impl/minion/plaguerunner.js +4 -6
- package/dist/src/cards/impl/minion/plaguerunner.js.map +1 -1
- package/dist/src/cards/impl/minion/pufferquil.js +1 -2
- package/dist/src/cards/impl/minion/pufferquil.js.map +1 -1
- package/dist/src/cards/impl/minion/red-chromadrake.js +2 -3
- package/dist/src/cards/impl/minion/red-chromadrake.js.map +1 -1
- package/dist/src/cards/impl/minion/redtusk-thornraiser.js +5 -6
- package/dist/src/cards/impl/minion/redtusk-thornraiser.js.map +1 -1
- package/dist/src/cards/impl/minion/ring-bearer.js +2 -3
- package/dist/src/cards/impl/minion/ring-bearer.js.map +1 -1
- package/dist/src/cards/impl/minion/roving-sailor.js +2 -3
- package/dist/src/cards/impl/minion/roving-sailor.js.map +1 -1
- package/dist/src/cards/impl/minion/ruthless-queensguard.js +6 -7
- package/dist/src/cards/impl/minion/ruthless-queensguard.js.map +1 -1
- package/dist/src/cards/impl/minion/scarlet-survivor.js +1 -2
- package/dist/src/cards/impl/minion/scarlet-survivor.js.map +1 -1
- package/dist/src/cards/impl/minion/seafloor-recruiter.js +2 -3
- package/dist/src/cards/impl/minion/seafloor-recruiter.js.map +1 -1
- package/dist/src/cards/impl/minion/sewer-lord.js +2 -3
- package/dist/src/cards/impl/minion/sewer-lord.js.map +1 -1
- package/dist/src/cards/impl/minion/ship-jumper.js +2 -3
- package/dist/src/cards/impl/minion/ship-jumper.js.map +1 -1
- package/dist/src/cards/impl/minion/skeletal-strafer.js +3 -4
- package/dist/src/cards/impl/minion/skeletal-strafer.js.map +1 -1
- package/dist/src/cards/impl/minion/tide-raiser.js +2 -3
- package/dist/src/cards/impl/minion/tide-raiser.js.map +1 -1
- package/dist/src/cards/impl/minion/timewarped-caretaker.js +2 -4
- package/dist/src/cards/impl/minion/timewarped-caretaker.js.map +1 -1
- package/dist/src/cards/impl/minion/timewarped-deathswarmer.js +2 -5
- package/dist/src/cards/impl/minion/timewarped-deathswarmer.js.map +1 -1
- package/dist/src/cards/impl/minion/timewarped-goldrinn.js +3 -7
- package/dist/src/cards/impl/minion/timewarped-goldrinn.js.map +1 -1
- package/dist/src/cards/impl/minion/twisted-wrathguard.js +1 -2
- package/dist/src/cards/impl/minion/twisted-wrathguard.js.map +1 -1
- package/dist/src/cards/impl/minion/very-hungry-winterfinner.js +2 -3
- package/dist/src/cards/impl/minion/very-hungry-winterfinner.js.map +1 -1
- package/dist/src/cards/impl/minion/vinespeaker.js +2 -3
- package/dist/src/cards/impl/minion/vinespeaker.js.map +1 -1
- package/dist/src/cards/impl/minion/void-pup-trainer.js +1 -2
- package/dist/src/cards/impl/minion/void-pup-trainer.js.map +1 -1
- package/dist/src/cards/impl/minion/woodland-defiler.js +1 -2
- package/dist/src/cards/impl/minion/woodland-defiler.js.map +1 -1
- package/dist/src/cards/impl/minion/wyvern-outrider.js +1 -2
- package/dist/src/cards/impl/minion/wyvern-outrider.js.map +1 -1
- package/dist/src/cards/impl/trinket/archaic-scroll.d.ts +2 -0
- package/dist/src/cards/impl/trinket/archaic-scroll.js +21 -0
- package/dist/src/cards/impl/trinket/archaic-scroll.js.map +1 -0
- package/dist/src/cards/impl/trinket/artisanal-urn.js +2 -1
- package/dist/src/cards/impl/trinket/artisanal-urn.js.map +1 -1
- package/dist/src/cards/impl/trinket/bewitched-ribbon.d.ts +2 -0
- package/dist/src/cards/impl/trinket/bewitched-ribbon.js +15 -0
- package/dist/src/cards/impl/trinket/bewitched-ribbon.js.map +1 -0
- package/dist/src/cards/impl/trinket/blood-amulet.d.ts +2 -0
- package/dist/src/cards/impl/trinket/blood-amulet.js +15 -0
- package/dist/src/cards/impl/trinket/blood-amulet.js.map +1 -0
- package/dist/src/cards/impl/trinket/bloodbound-earrings.d.ts +2 -0
- package/dist/src/cards/impl/trinket/bloodbound-earrings.js +22 -0
- package/dist/src/cards/impl/trinket/bloodbound-earrings.js.map +1 -0
- package/dist/src/cards/impl/trinket/bluegill-flippers.d.ts +2 -0
- package/dist/src/cards/impl/trinket/bluegill-flippers.js +21 -0
- package/dist/src/cards/impl/trinket/bluegill-flippers.js.map +1 -0
- package/dist/src/cards/impl/trinket/bubble-crown.d.ts +2 -0
- package/dist/src/cards/impl/trinket/bubble-crown.js +18 -0
- package/dist/src/cards/impl/trinket/bubble-crown.js.map +1 -0
- package/dist/src/cards/impl/trinket/cloud-serpent-horn.d.ts +2 -0
- package/dist/src/cards/impl/trinket/cloud-serpent-horn.js +26 -0
- package/dist/src/cards/impl/trinket/cloud-serpent-horn.js.map +1 -0
- package/dist/src/cards/impl/trinket/comfy-coffin.d.ts +2 -0
- package/dist/src/cards/impl/trinket/comfy-coffin.js +12 -0
- package/dist/src/cards/impl/trinket/comfy-coffin.js.map +1 -0
- package/dist/src/cards/impl/trinket/copper-coil.d.ts +2 -0
- package/dist/src/cards/impl/trinket/copper-coil.js +15 -0
- package/dist/src/cards/impl/trinket/copper-coil.js.map +1 -0
- package/dist/src/cards/impl/trinket/coral-spear.d.ts +2 -0
- package/dist/src/cards/impl/trinket/coral-spear.js +22 -0
- package/dist/src/cards/impl/trinket/coral-spear.js.map +1 -0
- package/dist/src/cards/impl/trinket/dramaloc-sticker.d.ts +2 -0
- package/dist/src/cards/impl/trinket/dramaloc-sticker.js +36 -0
- package/dist/src/cards/impl/trinket/dramaloc-sticker.js.map +1 -0
- package/dist/src/cards/impl/trinket/fang-anklet.d.ts +2 -0
- package/dist/src/cards/impl/trinket/fang-anklet.js +30 -0
- package/dist/src/cards/impl/trinket/fang-anklet.js.map +1 -0
- package/dist/src/cards/impl/trinket/felburned-ledger.d.ts +2 -0
- package/dist/src/cards/impl/trinket/felburned-ledger.js +12 -0
- package/dist/src/cards/impl/trinket/felburned-ledger.js.map +1 -0
- package/dist/src/cards/impl/trinket/fridge-magnet.d.ts +2 -0
- package/dist/src/cards/impl/trinket/fridge-magnet.js +13 -0
- package/dist/src/cards/impl/trinket/fridge-magnet.js.map +1 -0
- package/dist/src/cards/impl/trinket/gilnean-thorned-rose.d.ts +2 -0
- package/dist/src/cards/impl/trinket/gilnean-thorned-rose.js +19 -0
- package/dist/src/cards/impl/trinket/gilnean-thorned-rose.js.map +1 -0
- package/dist/src/cards/impl/trinket/glowscale-portrait.d.ts +2 -0
- package/dist/src/cards/impl/trinket/glowscale-portrait.js +21 -0
- package/dist/src/cards/impl/trinket/glowscale-portrait.js.map +1 -0
- package/dist/src/cards/impl/trinket/heart-of-the-forest.d.ts +2 -0
- package/dist/src/cards/impl/trinket/heart-of-the-forest.js +17 -0
- package/dist/src/cards/impl/trinket/heart-of-the-forest.js.map +1 -0
- package/dist/src/cards/impl/trinket/jar-o-gems.d.ts +2 -0
- package/dist/src/cards/impl/trinket/jar-o-gems.js +23 -0
- package/dist/src/cards/impl/trinket/jar-o-gems.js.map +1 -0
- package/dist/src/cards/impl/trinket/lorewalker-scroll.d.ts +2 -0
- package/dist/src/cards/impl/trinket/lorewalker-scroll.js +22 -0
- package/dist/src/cards/impl/trinket/lorewalker-scroll.js.map +1 -0
- package/dist/src/cards/impl/trinket/miniature-ship.d.ts +2 -0
- package/dist/src/cards/impl/trinket/miniature-ship.js +19 -0
- package/dist/src/cards/impl/trinket/miniature-ship.js.map +1 -0
- package/dist/src/cards/impl/trinket/powder-keg-enchantment.d.ts +2 -0
- package/dist/src/cards/impl/trinket/powder-keg-enchantment.js +16 -0
- package/dist/src/cards/impl/trinket/powder-keg-enchantment.js.map +1 -0
- package/dist/src/cards/impl/trinket/powder-keg.d.ts +2 -0
- package/dist/src/cards/impl/trinket/powder-keg.js +23 -0
- package/dist/src/cards/impl/trinket/powder-keg.js.map +1 -0
- package/dist/src/cards/impl/trinket/protective-ring.d.ts +2 -0
- package/dist/src/cards/impl/trinket/protective-ring.js +19 -0
- package/dist/src/cards/impl/trinket/protective-ring.js.map +1 -0
- package/dist/src/cards/impl/trinket/quilligraphy-set.d.ts +3 -0
- package/dist/src/cards/impl/trinket/quilligraphy-set.js +19 -0
- package/dist/src/cards/impl/trinket/quilligraphy-set.js.map +1 -0
- package/dist/src/cards/impl/trinket/reinforced-shield.d.ts +2 -0
- package/dist/src/cards/impl/trinket/reinforced-shield.js +15 -0
- package/dist/src/cards/impl/trinket/reinforced-shield.js.map +1 -0
- package/dist/src/cards/impl/trinket/slamma-sticker.d.ts +2 -0
- package/dist/src/cards/impl/trinket/slamma-sticker.js +18 -0
- package/dist/src/cards/impl/trinket/slamma-sticker.js.map +1 -0
- package/dist/src/cards/impl/trinket/stegodon-portrait.d.ts +2 -0
- package/dist/src/cards/impl/trinket/stegodon-portrait.js +19 -0
- package/dist/src/cards/impl/trinket/stegodon-portrait.js.map +1 -0
- package/dist/src/cards/impl/trinket/tarecgosa-sticker.d.ts +2 -0
- package/dist/src/cards/impl/trinket/tarecgosa-sticker.js +7 -0
- package/dist/src/cards/impl/trinket/tarecgosa-sticker.js.map +1 -0
- package/dist/src/cards/impl/trinket/thornspike-pauldron.d.ts +2 -0
- package/dist/src/cards/impl/trinket/thornspike-pauldron.js +11 -0
- package/dist/src/cards/impl/trinket/thornspike-pauldron.js.map +1 -0
- package/dist/src/cards/impl/trinket/tide-raiser-portrait.d.ts +2 -0
- package/dist/src/cards/impl/trinket/tide-raiser-portrait.js +16 -0
- package/dist/src/cards/impl/trinket/tide-raiser-portrait.js.map +1 -0
- package/dist/src/cards/impl/trinket/tiger-carving-token.d.ts +2 -0
- package/dist/src/cards/impl/trinket/tiger-carving-token.js +16 -0
- package/dist/src/cards/impl/trinket/tiger-carving-token.js.map +1 -0
- package/dist/src/cards/impl/trinket/trusty-crowbar.d.ts +2 -0
- package/dist/src/cards/impl/trinket/trusty-crowbar.js +19 -0
- package/dist/src/cards/impl/trinket/trusty-crowbar.js.map +1 -0
- package/dist/src/cards/impl/trinket/unholy-sanctum.js +1 -1
- package/dist/src/cards/impl/trinket/unholy-sanctum.js.map +1 -1
- package/dist/src/cards/impl/trinket/wicked-tome.d.ts +2 -0
- package/dist/src/cards/impl/trinket/wicked-tome.js +13 -0
- package/dist/src/cards/impl/trinket/wicked-tome.js.map +1 -0
- package/dist/src/cards/impl/trinket/wildfeather-duster.d.ts +2 -0
- package/dist/src/cards/impl/trinket/wildfeather-duster.js +25 -0
- package/dist/src/cards/impl/trinket/wildfeather-duster.js.map +1 -0
- package/dist/src/mechanics/cast-tavern-spell.js +13 -0
- package/dist/src/mechanics/cast-tavern-spell.js.map +1 -1
- package/dist/src/mechanics/tavern-spell-repeat.js +4 -5
- package/dist/src/mechanics/tavern-spell-repeat.js.map +1 -1
- package/dist/src/services/card-ids.d.ts +724 -5
- package/dist/src/services/card-ids.js.map +1 -1
- package/dist/src/simulation/add-minion-to-board.d.ts +8 -0
- package/dist/src/simulation/add-minion-to-board.js +28 -18
- package/dist/src/simulation/add-minion-to-board.js.map +1 -1
- package/dist/src/simulation/after-attack.js +14 -14
- package/dist/src/simulation/after-attack.js.map +1 -1
- package/dist/src/simulation/auras.js +6 -1
- package/dist/src/simulation/auras.js.map +1 -1
- package/dist/src/simulation/avenge.js +0 -18
- package/dist/src/simulation/avenge.js.map +1 -1
- package/dist/src/simulation/blood-gems.d.ts +1 -0
- package/dist/src/simulation/blood-gems.js +11 -1
- package/dist/src/simulation/blood-gems.js.map +1 -1
- package/dist/src/simulation/cards-in-hand.js +14 -4
- package/dist/src/simulation/cards-in-hand.js.map +1 -1
- package/dist/src/simulation/damage-effects.d.ts +6 -0
- package/dist/src/simulation/damage-effects.js +11 -9
- package/dist/src/simulation/damage-effects.js.map +1 -1
- package/dist/src/simulation/damage-to-hero.js +12 -0
- package/dist/src/simulation/damage-to-hero.js.map +1 -1
- package/dist/src/simulation/death-effects.js +25 -2
- package/dist/src/simulation/death-effects.js.map +1 -1
- package/dist/src/simulation/global-info-helpers.d.ts +7 -0
- package/dist/src/simulation/global-info-helpers.js +25 -0
- package/dist/src/simulation/global-info-helpers.js.map +1 -0
- package/dist/src/simulation/magnetize.js +28 -1
- package/dist/src/simulation/magnetize.js.map +1 -1
- package/dist/src/simulation/start-of-combat/soc-action-processor.js +0 -4
- package/dist/src/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/src/temp-card-ids.d.ts +1 -118
- package/dist/src/temp-card-ids.js +1 -118
- package/dist/src/temp-card-ids.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReinforcedShield = void 0;
|
|
4
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
5
|
+
exports.ReinforcedShield = {
|
|
6
|
+
cardIds: ["BG30_MagicItem_886"],
|
|
7
|
+
defaultScriptDataNum: () => 5,
|
|
8
|
+
onFriendlyMinionSummoned: (trinket, input) => {
|
|
9
|
+
if (trinket.scriptDataNum1 > 0 && !input.spawned.divineShield) {
|
|
10
|
+
(0, divine_shield_1.updateDivineShield)(input.spawned, input.board, input.hero, input.otherHero, true, input.gameState);
|
|
11
|
+
trinket.scriptDataNum1--;
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=reinforced-shield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reinforced-shield.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/reinforced-shield.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAKxD,QAAA,gBAAgB,GAAmE;IAC/F,OAAO,EAAE,sBAA6C;IACtD,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,wBAAwB,EAAE,CAAC,OAAqB,EAAE,KAA2C,EAAE,EAAE;QAChG,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE;YAC9D,IAAA,kCAAkB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,OAAO,CAAC,cAAc,EAAE,CAAC;SACzB;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnFriendlyMinionSummonedTrinketInput } from '../../../simulation/add-minion-to-board';\r\nimport { DefaultScriptDataNumCard, OnFriendlyMinionSummonedTrinketCard } from '../../card.interface';\r\n\r\nexport const ReinforcedShield: OnFriendlyMinionSummonedTrinketCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.ReinforcedShield_BG30_MagicItem_886],\r\n\tdefaultScriptDataNum: () => 5,\r\n\tonFriendlyMinionSummoned: (trinket: BoardTrinket, input: OnFriendlyMinionSummonedTrinketInput) => {\r\n\t\tif (trinket.scriptDataNum1 > 0 && !input.spawned.divineShield) {\r\n\t\t\tupdateDivineShield(input.spawned, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\ttrinket.scriptDataNum1--;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SlammaSticker = 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.SlammaSticker = {
|
|
8
|
+
cardIds: ["BG30_MagicItem_540"],
|
|
9
|
+
afterOtherSpawned: (_trinket, input) => {
|
|
10
|
+
const { spawned, board, hero, gameState } = input;
|
|
11
|
+
if (!(0, utils_1.hasCorrectTribe)(spawned, hero, reference_data_1.Race.BEAST, gameState.anomalies, gameState.allCards)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
(0, stats_1.setEntityStats)(spawned, spawned.attack * 2, spawned.health, board, hero, gameState);
|
|
15
|
+
gameState.spectator.registerPowerTarget(hero, spawned, board, null, null);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=slamma-sticker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slamma-sticker.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/slamma-sticker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAA2D;AAC3D,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,sBAA0C;IACnD,iBAAiB,EAAE,CAAC,QAAsB,EAAE,KAAwB,EAAE,EAAE;QACvE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAClD,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,EAAE,IAAI,EAAE,qBAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;YACzF,OAAO;SACP;QACD,IAAA,sBAAc,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACpF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { setEntityStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const SlammaSticker: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.SlammaSticker_BG30_MagicItem_540],\r\n\tafterOtherSpawned: (_trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tconst { spawned, board, hero, gameState } = input;\r\n\t\tif (!hasCorrectTribe(spawned, hero, Race.BEAST, gameState.anomalies, gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tsetEntityStats(spawned, spawned.attack * 2, spawned.health, board, hero, gameState);\r\n\t\tgameState.spectator.registerPowerTarget(hero, spawned, board, null, null);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StegodonPortrait = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.StegodonPortrait = {
|
|
8
|
+
cardIds: ["BG35_MagicItem_702"],
|
|
9
|
+
startOfCombat: (trinket, input) => {
|
|
10
|
+
const beasts = input.playerBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards));
|
|
11
|
+
let triggered = false;
|
|
12
|
+
for (let i = 0; i < 2 && i < beasts.length; i++) {
|
|
13
|
+
(0, divine_shield_1.updateDivineShield)(beasts[i], input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);
|
|
14
|
+
triggered = true;
|
|
15
|
+
}
|
|
16
|
+
return { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=stegodon-portrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stegodon-portrait.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/stegodon-portrait.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,sBAA6C;IACtD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC9G,CAAC;QACF,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAA,kCAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClH,SAAS,GAAG,IAAI,CAAC;SACjB;QACD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const StegodonPortrait: StartOfCombatCard = {\r\n\tcardIds: [CardIds.StegodonPortrait_BG35_MagicItem_702],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst beasts = input.playerBoard.filter(\r\n\t\t\t(e) => hasCorrectTribe(e, input.playerEntity, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tlet triggered = false;\r\n\t\tfor (let i = 0; i < 2 && i < beasts.length; i++) {\r\n\t\t\tupdateDivineShield(beasts[i], input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);\r\n\t\t\ttriggered = true;\r\n\t\t}\r\n\t\treturn { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarecgosa-sticker.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/tarecgosa-sticker.ts"],"names":[],"mappings":";;;AAGa,QAAA,gBAAgB,GAAS;IACrC,OAAO,EAAE,sBAA6C;CACtD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { Card } from '../../card.interface';\r\n\r\nexport const TarecgosaSticker: Card = {\r\n\tcardIds: [CardIds.TarecgosaSticker_BG32_MagicItem_417],\r\n};\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ThornspikePauldron = void 0;
|
|
4
|
+
exports.ThornspikePauldron = {
|
|
5
|
+
cardIds: ["BG35_MagicItem_431t"],
|
|
6
|
+
onDeathrattleTriggered: (trinket, input) => {
|
|
7
|
+
input.boardWithDeadEntityHero.globalInfo.BloodGemAttackBonus += 2;
|
|
8
|
+
input.boardWithDeadEntityHero.globalInfo.BloodGemHealthBonus += 1;
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=thornspike-pauldron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thornspike-pauldron.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/thornspike-pauldron.ts"],"names":[],"mappings":";;;AAKa,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE,uBAAqD;IAC9D,sBAAsB,EAAE,CAAC,OAAqB,EAAE,KAAgC,EAAE,EAAE;QACnF,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAClE,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;IACnE,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleTriggeredCard } from '../../card.interface';\r\n\r\nexport const ThornspikePauldron: DeathrattleTriggeredCard = {\r\n\tcardIds: [CardIds.ThornspikePauldronToken_BG35_MagicItem_431t],\r\n\tonDeathrattleTriggered: (trinket: BoardTrinket, input: DeathrattleTriggeredInput) => {\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.BloodGemAttackBonus += 2;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.BloodGemHealthBonus += 1;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TideRaiserPortrait = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.TideRaiserPortrait = {
|
|
6
|
+
cardIds: ["BG35_MagicItem_922"],
|
|
7
|
+
afterTavernSpellCast: (trinket, input) => {
|
|
8
|
+
var _a;
|
|
9
|
+
const remaining = (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : 3;
|
|
10
|
+
if (remaining <= 0)
|
|
11
|
+
return;
|
|
12
|
+
trinket.scriptDataNum1 = remaining - 1;
|
|
13
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [input.spellCardId], input.gameState);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=tide-raiser-portrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tide-raiser-portrait.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/tide-raiser-portrait.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE,sBAA+C;IACxD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;;QACtE,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO;QAC3B,OAAO,CAAC,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;QACvC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const TideRaiserPortrait: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.TideRaiserPortrait_BG35_MagicItem_922],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst remaining = trinket.scriptDataNum1 ?? 3;\r\n\t\tif (remaining <= 0) return;\r\n\t\ttrinket.scriptDataNum1 = remaining - 1;\r\n\t\taddCardsInHand(input.hero, input.board, [input.spellCardId], input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TigerCarving = void 0;
|
|
4
|
+
const utils_1 = require("../../../services/utils");
|
|
5
|
+
const stats_1 = require("../../../simulation/stats");
|
|
6
|
+
exports.TigerCarving = {
|
|
7
|
+
cardIds: ["BG30_MagicItem_427", "BG30_MagicItem_427t"],
|
|
8
|
+
afterFriendlyMinionDamaged: (trinket, input) => {
|
|
9
|
+
const target = (0, utils_1.pickRandomAlive)(input.board);
|
|
10
|
+
if (target) {
|
|
11
|
+
const buff = trinket.cardId === "BG30_MagicItem_427t" ? 4 : 2;
|
|
12
|
+
(0, stats_1.modifyStats)(target, trinket, buff, 0, input.board, input.hero, input.gameState);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=tiger-carving-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiger-carving-token.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/tiger-carving-token.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAC1D,qDAAwD;AAG3C,QAAA,YAAY,GAA0C;IAClE,OAAO,EAAE,6CAAqG;IAC9G,0BAA0B,EAAE,CAAC,OAAqB,EAAE,KAAK,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACX,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,0BAA+D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAChF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterFriendlyMinionDamagedTrinketCard } from '../../card.interface';\r\n\r\nexport const TigerCarving: AfterFriendlyMinionDamagedTrinketCard = {\r\n\tcardIds: [CardIds.TigerCarving_BG30_MagicItem_427, CardIds.TigerCarving_TigerCarvingToken_BG30_MagicItem_427t],\r\n\tafterFriendlyMinionDamaged: (trinket: BoardTrinket, input) => {\r\n\t\tconst target = pickRandomAlive(input.board);\r\n\t\tif (target) {\r\n\t\t\tconst buff = trinket.cardId === CardIds.TigerCarving_TigerCarvingToken_BG30_MagicItem_427t ? 4 : 2;\r\n\t\t\tmodifyStats(target, trinket, buff, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrustyCrowbar = 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.TrustyCrowbar = {
|
|
8
|
+
cardIds: ["BG35_MagicItem_713"],
|
|
9
|
+
onCardAddedToHand: (trinket, input) => {
|
|
10
|
+
if (!(0, utils_1.hasCorrectTribe)(input.addedCard, input.hero, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const leftMost = input.board[0];
|
|
14
|
+
if (leftMost) {
|
|
15
|
+
(0, stats_1.modifyStats)(leftMost, trinket, 10, 10, input.board, input.hero, input.gameState);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=trusty-crowbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusty-crowbar.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/trusty-crowbar.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,sBAA0C;IACnD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;QAC3E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,QAAQ,EAAE;YACb,IAAA,mBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const TrustyCrowbar: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.TrustyCrowbar_BG35_MagicItem_713],\r\n\tonCardAddedToHand: (trinket: BoardTrinket, input: OnCardAddedToHandInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.addedCard,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.PIRATE,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst leftMost = input.board[0];\r\n\t\tif (leftMost) {\r\n\t\t\tmodifyStats(leftMost, trinket, 10, 10, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,7 +7,7 @@ exports.UnholySanctum = {
|
|
|
7
7
|
onDeathrattleTriggered: (trinket, input) => {
|
|
8
8
|
const target = input.boardWithDeadEntity[input.boardWithDeadEntity.length - 1];
|
|
9
9
|
if (!!target) {
|
|
10
|
-
(0, stats_1.modifyStats)(target, trinket, trinket.cardId === "BG32_MagicItem_862" ? 3 : 6, trinket.cardId === "BG32_MagicItem_862" ? 2 :
|
|
10
|
+
(0, stats_1.modifyStats)(target, trinket, trinket.cardId === "BG32_MagicItem_862" ? 3 : 6, trinket.cardId === "BG32_MagicItem_862" ? 2 : 4, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
11
11
|
const afterMod = target.attack;
|
|
12
12
|
if (afterMod > 10) {
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unholy-sanctum.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/unholy-sanctum.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,6CAAwG;IACjH,sBAAsB,EAAE,CAAC,OAAqB,EAAE,KAAgC,EAAE,EAAE;QACnF,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,OAAO,EACP,OAAO,CAAC,MAAM,yBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,OAAO,CAAC,MAAM,yBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,IAAI,QAAQ,GAAG,EAAE,EAAE;aAElB;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DeathrattleTriggeredCard } from '../../card.interface';\r\n\r\nexport const UnholySanctum: DeathrattleTriggeredCard = {\r\n\tcardIds: [CardIds.UnholySanctum_BG32_MagicItem_862, CardIds.UnholySanctum_UnholySanctumToken_BG32_MagicItem_862t],\r\n\tonDeathrattleTriggered: (trinket: BoardTrinket, input: DeathrattleTriggeredInput) => {\r\n\t\tconst target = input.boardWithDeadEntity[input.boardWithDeadEntity.length - 1];\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\ttrinket,\r\n\t\t\t\ttrinket.cardId === CardIds.UnholySanctum_BG32_MagicItem_862 ? 3 : 6,\r\n\t\t\t\ttrinket.cardId === CardIds.UnholySanctum_BG32_MagicItem_862 ? 2 :
|
|
1
|
+
{"version":3,"file":"unholy-sanctum.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/unholy-sanctum.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,6CAAwG;IACjH,sBAAsB,EAAE,CAAC,OAAqB,EAAE,KAAgC,EAAE,EAAE;QACnF,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,OAAO,EACP,OAAO,CAAC,MAAM,yBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,OAAO,CAAC,MAAM,yBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,IAAI,QAAQ,GAAG,EAAE,EAAE;aAElB;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '../../../services/card-ids';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DeathrattleTriggeredCard } from '../../card.interface';\r\n\r\nexport const UnholySanctum: DeathrattleTriggeredCard = {\r\n\tcardIds: [CardIds.UnholySanctum_BG32_MagicItem_862, CardIds.UnholySanctum_UnholySanctumToken_BG32_MagicItem_862t],\r\n\tonDeathrattleTriggered: (trinket: BoardTrinket, input: DeathrattleTriggeredInput) => {\r\n\t\tconst target = input.boardWithDeadEntity[input.boardWithDeadEntity.length - 1];\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\ttrinket,\r\n\t\t\t\ttrinket.cardId === CardIds.UnholySanctum_BG32_MagicItem_862 ? 3 : 6,\r\n\t\t\t\ttrinket.cardId === CardIds.UnholySanctum_BG32_MagicItem_862 ? 2 : 4,\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\tconst afterMod = target.attack;\r\n\t\t\tif (afterMod > 10) {\r\n\t\t\t\t// Nothing\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WickedTome = void 0;
|
|
4
|
+
exports.WickedTome = {
|
|
5
|
+
cardIds: ["BG32_MagicItem_270t"],
|
|
6
|
+
baseAvengeValue: () => 4,
|
|
7
|
+
avenge: (_minion, input) => {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
input.hero.globalInfo.TavernSpellAttackBuff = ((_a = input.hero.globalInfo.TavernSpellAttackBuff) !== null && _a !== void 0 ? _a : 0) + 1;
|
|
10
|
+
input.hero.globalInfo.TavernSpellHealthBuff = ((_b = input.hero.globalInfo.TavernSpellHealthBuff) !== null && _b !== void 0 ? _b : 0) + 1;
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=wicked-tome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wicked-tome.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/wicked-tome.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAAe;IACrC,OAAO,EAAE,uBAAwD;IACjE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAoB,EAAE,KAAkB,EAAE,EAAE;;QACpD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const WickedTome: AvengeCard = {\r\n\tcardIds: [CardIds.WickedTome_WickedTomeToken_BG32_MagicItem_270t],\r\n\tbaseAvengeValue: () => 4,\r\n\tavenge: (_minion: BoardEntity, input: AvengeInput) => {\r\n\t\tinput.hero.globalInfo.TavernSpellAttackBuff = (input.hero.globalInfo.TavernSpellAttackBuff ?? 0) + 1;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff = (input.hero.globalInfo.TavernSpellHealthBuff ?? 0) + 1;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WildfeatherDuster = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.WildfeatherDuster = {
|
|
8
|
+
cardIds: ["BG35_MagicItem_700"],
|
|
9
|
+
afterOtherSpawned: (trinket, input) => {
|
|
10
|
+
var _a;
|
|
11
|
+
if (!(0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
trinket.scriptDataNum1 = (trinket.scriptDataNum1 || 0) + 1;
|
|
15
|
+
if (trinket.scriptDataNum1 >= 6) {
|
|
16
|
+
trinket.scriptDataNum1 = 0;
|
|
17
|
+
const tier = (_a = input.hero.tavernTier) !== null && _a !== void 0 ? _a : 6;
|
|
18
|
+
const cardId = input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.BEAST, tier, []);
|
|
19
|
+
if (cardId) {
|
|
20
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [cardId], input.gameState);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=wildfeather-duster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wildfeather-duster.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/wildfeather-duster.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qEAAmE;AAEnE,0CAAiD;AAGpC,QAAA,iBAAiB,GAA0B;IACvD,OAAO,EAAE,sBAA8C;IACvD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;;QACtE,IAAI,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,EAAE;YACjH,OAAO;SACP;QACD,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACvF,IAAI,MAAM,EAAE;gBACX,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACnE;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const WildfeatherDuster: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.WildfeatherDuster_BG35_MagicItem_700],\r\n\tafterOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (!hasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 0) + 1;\r\n\t\tif (trinket.scriptDataNum1 >= 6) {\r\n\t\t\ttrinket.scriptDataNum1 = 0;\r\n\t\t\tconst tier = input.hero.tavernTier ?? 6;\r\n\t\t\tconst cardId = input.gameState.cardsData.getRandomMinionForTribe(Race.BEAST, tier, []);\r\n\t\t\tif (cardId) {\r\n\t\t\t\taddCardsInHand(input.hero, input.board, [cardId], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -24,6 +24,7 @@ const castTavernSpell = (spellCardId, input) => {
|
|
|
24
24
|
};
|
|
25
25
|
exports.castTavernSpell = castTavernSpell;
|
|
26
26
|
const onTavernSpellCast = (spellCardId, input) => {
|
|
27
|
+
var _a, _b;
|
|
27
28
|
if (input.source === input.hero) {
|
|
28
29
|
for (const boardEntity of input.board) {
|
|
29
30
|
const onSpellCastImpl = _card_mappings_1.cardMappings[boardEntity.cardId];
|
|
@@ -31,6 +32,12 @@ const onTavernSpellCast = (spellCardId, input) => {
|
|
|
31
32
|
onSpellCastImpl.onTavernSpellCast(boardEntity, input);
|
|
32
33
|
}
|
|
33
34
|
}
|
|
35
|
+
for (const trinket of (_a = input.hero.trinkets) !== null && _a !== void 0 ? _a : []) {
|
|
36
|
+
const onSpellCastImpl = _card_mappings_1.cardMappings[trinket.cardId];
|
|
37
|
+
if ((0, card_interface_1.hasOnTavernSpellCast)(onSpellCastImpl)) {
|
|
38
|
+
onSpellCastImpl.onTavernSpellCast(trinket, input);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
34
41
|
}
|
|
35
42
|
if (input.source === input.hero) {
|
|
36
43
|
for (const boardEntity of input.board) {
|
|
@@ -39,6 +46,12 @@ const onTavernSpellCast = (spellCardId, input) => {
|
|
|
39
46
|
afterSpellCastImpl.afterTavernSpellCast(boardEntity, input);
|
|
40
47
|
}
|
|
41
48
|
}
|
|
49
|
+
for (const trinket of (_b = input.hero.trinkets) !== null && _b !== void 0 ? _b : []) {
|
|
50
|
+
const afterSpellCastImpl = _card_mappings_1.cardMappings[trinket.cardId];
|
|
51
|
+
if ((0, card_interface_1.hasAfterTavernSpellCast)(afterSpellCastImpl)) {
|
|
52
|
+
afterSpellCastImpl.afterTavernSpellCast(trinket, input);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
42
55
|
}
|
|
43
56
|
};
|
|
44
57
|
exports.onTavernSpellCast = onTavernSpellCast;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast-tavern-spell.js","sourceRoot":"","sources":["../../../src/mechanics/cast-tavern-spell.ts"],"names":[],"mappings":";;;AAAA,4DAKiC;AACjC,iEAA4D;AAC5D,+DAAwE;AAEjE,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,KAAqB,EAAE,EAAE;;IAC7E,MAAM,SAAS,GAAG,6BAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,qDAA+B,EAAC,KAAK,CAAC,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAA,mCAAkB,EAAC,SAAS,CAAC,EAAE;YAClC,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SAC9C;KACD;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,WAAW,CAAC;KAC1D;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAE3C,IAAA,yBAAiB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEK,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,KAAqB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"cast-tavern-spell.js","sourceRoot":"","sources":["../../../src/mechanics/cast-tavern-spell.ts"],"names":[],"mappings":";;;AAAA,4DAKiC;AACjC,iEAA4D;AAC5D,+DAAwE;AAEjE,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,KAAqB,EAAE,EAAE;;IAC7E,MAAM,SAAS,GAAG,6BAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,qDAA+B,EAAC,KAAK,CAAC,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAA,mCAAkB,EAAC,SAAS,CAAC,EAAE;YAClC,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SAC9C;KACD;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,WAAW,CAAC;KAC1D;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAE3C,IAAA,yBAAiB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEK,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,KAAqB,EAAE,EAAE;;IAI/E,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;QAChC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE;YACtC,MAAM,eAAe,GAAG,6BAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,IAAA,qCAAoB,EAAC,eAAe,CAAC,EAAE;gBAC1C,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aACtD;SACD;QACD,KAAK,MAAM,OAAO,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,mCAAI,EAAE,EAAE;YAChD,MAAM,eAAe,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,IAAA,qCAAoB,EAAC,eAAe,CAAC,EAAE;gBAC1C,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aAClD;SACD;KACD;IAGD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;QAChC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE;YACtC,MAAM,kBAAkB,GAAG,6BAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,IAAA,wCAAuB,EAAC,kBAAkB,CAAC,EAAE;gBAChD,kBAAkB,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC5D;SACD;QACD,KAAK,MAAM,OAAO,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,mCAAI,EAAE,EAAE;YAChD,MAAM,kBAAkB,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,IAAA,wCAAuB,EAAC,kBAAkB,CAAC,EAAE;gBAChD,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACxD;SACD;KACD;AACF,CAAC,CAAC;AAlCW,QAAA,iBAAiB,qBAkC5B","sourcesContent":["import {\r\n\tCastSpellInput,\r\n\thasAfterTavernSpellCast,\r\n\thasCastTavernSpell,\r\n\thasOnTavernSpellCast,\r\n} from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { getTavernSpellEffectRepeatCount } from './tavern-spell-repeat';\r\n\r\nexport const castTavernSpell = (spellCardId: string, input: CastSpellInput) => {\r\n\tconst spellImpl = cardMappings[spellCardId];\r\n\tconst repeatCount = getTavernSpellEffectRepeatCount(input);\r\n\tfor (let i = 0; i < repeatCount; i++) {\r\n\t\tif (hasCastTavernSpell(spellImpl)) {\r\n\t\t\tspellImpl.castTavernSpell(spellCardId, input);\r\n\t\t}\r\n\t}\r\n\r\n\tif (input.source === input.hero) {\r\n\t\tinput.hero.globalInfo.CardsPlayedThisTurn = (input.hero.globalInfo.CardsPlayedThisTurn ?? 0) + 1;\r\n\t\tinput.hero.globalInfo.TavernSpellsCastThisTurn = (input.hero.globalInfo.TavernSpellsCastThisTurn ?? 0) + 1;\r\n\t\tinput.hero.globalInfo.TavernSpellsCastThisGame = (input.hero.globalInfo.TavernSpellsCastThisGame ?? 0) + 1;\r\n\t\tinput.hero.globalInfo.LastTavernSpellCardId = spellCardId;\r\n\t}\r\n\tinput.hero.globalInfo.SpellsCastThisGame++;\r\n\r\n\tonTavernSpellCast(spellCardId, input);\r\n};\r\n\r\nexport const onTavernSpellCast = (spellCardId: string, input: CastSpellInput) => {\r\n\t// Added in case other minions react to spells being cast\r\n\t// I thought Charging Czarina would be in that case, but it specifically says \"whenever *you* cast\"\r\n\t// 2025-11-25: cards that simply says \"cast\" means \"you cast\". Otherwise, it will say \"this casts\".\r\n\tif (input.source === input.hero) {\r\n\t\tfor (const boardEntity of input.board) {\r\n\t\t\tconst onSpellCastImpl = cardMappings[boardEntity.cardId];\r\n\t\t\tif (hasOnTavernSpellCast(onSpellCastImpl)) {\r\n\t\t\t\tonSpellCastImpl.onTavernSpellCast(boardEntity, input);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (const trinket of input.hero.trinkets ?? []) {\r\n\t\t\tconst onSpellCastImpl = cardMappings[trinket.cardId];\r\n\t\t\tif (hasOnTavernSpellCast(onSpellCastImpl)) {\r\n\t\t\t\tonSpellCastImpl.onTavernSpellCast(trinket, input);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Not sure about the timing of \"after spell cast\", but at least make sure they trigger after the \"whenever you cast\" effects\r\n\tif (input.source === input.hero) {\r\n\t\tfor (const boardEntity of input.board) {\r\n\t\t\tconst afterSpellCastImpl = cardMappings[boardEntity.cardId];\r\n\t\t\tif (hasAfterTavernSpellCast(afterSpellCastImpl)) {\r\n\t\t\t\tafterSpellCastImpl.afterTavernSpellCast(boardEntity, input);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (const trinket of input.hero.trinkets ?? []) {\r\n\t\t\tconst afterSpellCastImpl = cardMappings[trinket.cardId];\r\n\t\t\tif (hasAfterTavernSpellCast(afterSpellCastImpl)) {\r\n\t\t\t\tafterSpellCastImpl.afterTavernSpellCast(trinket, input);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n"]}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTavernSpellEffectRepeatCount = void 0;
|
|
4
|
-
const temp_card_ids_1 = require("../temp-card-ids");
|
|
5
4
|
const getTavernSpellEffectRepeatCount = (input) => {
|
|
6
5
|
var _a;
|
|
7
6
|
if (input.source !== input.hero) {
|
|
8
7
|
return 1;
|
|
9
8
|
}
|
|
10
9
|
let repeats = 1;
|
|
11
|
-
const hasGoldenBalinda = input.board.some((e) => e.cardId ===
|
|
12
|
-
const hasNormalBalinda = input.board.some((e) => e.cardId ===
|
|
10
|
+
const hasGoldenBalinda = input.board.some((e) => e.cardId === "BG35_883_G");
|
|
11
|
+
const hasNormalBalinda = input.board.some((e) => e.cardId === "BG35_883");
|
|
13
12
|
if ((hasGoldenBalinda || hasNormalBalinda) &&
|
|
14
13
|
input.target &&
|
|
15
14
|
input.board.some((e) => e.entityId === input.target.entityId)) {
|
|
16
15
|
repeats = hasGoldenBalinda ? 3 : 2;
|
|
17
16
|
}
|
|
18
|
-
const maelstromExtra = input.board.filter((e) => e.cardId ===
|
|
19
|
-
2 * input.board.filter((e) => e.cardId ===
|
|
17
|
+
const maelstromExtra = input.board.filter((e) => e.cardId === "BG34_922").length +
|
|
18
|
+
2 * input.board.filter((e) => e.cardId === "BG34_922_G").length;
|
|
20
19
|
repeats += maelstromExtra;
|
|
21
20
|
const spellCard = input.gameState.allCards.getCard(input.spellCardId);
|
|
22
21
|
const isBountySpell = (_a = spellCard === null || spellCard === void 0 ? void 0 : spellCard.mechanics) === null || _a === void 0 ? void 0 : _a.includes('BACON_BOUNTY');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tavern-spell-repeat.js","sourceRoot":"","sources":["../../../src/mechanics/tavern-spell-repeat.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tavern-spell-repeat.js","sourceRoot":"","sources":["../../../src/mechanics/tavern-spell-repeat.ts"],"names":[],"mappings":";;;AAOO,MAAM,+BAA+B,GAAG,CAAC,KAAqB,EAAU,EAAE;;IAChF,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;QAChC,OAAO,CAAC,CAAC;KACT;IACD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAA0C,CAAC,CAAC;IACrG,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,eAAwC,CAAC,CAAC;IACnG,IACC,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;QACtC,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC5D;QACD,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;IACD,MAAM,cAAc,GACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,eAAuC,CAAC,CAAC,MAAM;QACjF,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAyC,CAAC,CAAC,MAAM,CAAC;IACzF,OAAO,IAAI,cAAc,CAAC;IAE1B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAErE,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;QACjD,MAAM,mBAAmB,GACxB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,eAAoC,CAAC,CAAC,MAAM;YAC9E,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAsC,CAAC,CAAC,MAAM,CAAC;QACtF,OAAO,IAAI,mBAAmB,CAAC;KAC/B;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AA9BW,QAAA,+BAA+B,mCA8B1C","sourcesContent":["import { CastSpellInput } from '../cards/card.interface';\r\nimport { CardIds } from '../services/card-ids';\r\n\r\n/**\r\n * Balinda Stonehearth: extra spell effect resolutions for spells you cast that target a friendly board minion.\r\n * Maelstrom Emergent: each copy adds +1 extra resolution (golden +2) for tavern spells you cast; stacks additively with Balinda.\r\n */\r\nexport const getTavernSpellEffectRepeatCount = (input: CastSpellInput): number => {\r\n\tif (input.source !== input.hero) {\r\n\t\treturn 1;\r\n\t}\r\n\tlet repeats = 1;\r\n\tconst hasGoldenBalinda = input.board.some((e) => e.cardId === CardIds.BalindaStonehearth_BG35_883_G);\r\n\tconst hasNormalBalinda = input.board.some((e) => e.cardId === CardIds.BalindaStonehearth_BG35_883);\r\n\tif (\r\n\t\t(hasGoldenBalinda || hasNormalBalinda) &&\r\n\t\tinput.target &&\r\n\t\tinput.board.some((e) => e.entityId === input.target.entityId)\r\n\t) {\r\n\t\trepeats = hasGoldenBalinda ? 3 : 2;\r\n\t}\r\n\tconst maelstromExtra =\r\n\t\tinput.board.filter((e) => e.cardId === CardIds.MaelstromEmergent_BG34_922).length +\r\n\t\t2 * input.board.filter((e) => e.cardId === CardIds.MaelstromEmergent_BG34_922_G).length;\r\n\trepeats += maelstromExtra;\r\n\r\n\tconst spellCard = input.gameState.allCards.getCard(input.spellCardId);\r\n\tconst isBountySpell = spellCard?.mechanics?.includes('BACON_BOUNTY');\r\n\t// Proud Privateer only affects bounties *you* (the hero) cast — same as Balinda / onTavernSpellCast.\r\n\tif (isBountySpell && input.source === input.hero) {\r\n\t\tconst proudPrivateerExtra =\r\n\t\t\tinput.board.filter((e) => e.cardId === CardIds.ProudPrivateer_BG33_825).length +\r\n\t\t\t2 * input.board.filter((e) => e.cardId === CardIds.ProudPrivateer_BG33_825_G).length;\r\n\t\trepeats += proudPrivateerExtra;\r\n\t}\r\n\r\n\treturn repeats;\r\n};\r\n"]}
|