@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,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudSerpentHorn = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../services/utils");
|
|
6
|
+
const stats_1 = require("../../../simulation/stats");
|
|
7
|
+
const utils_2 = require("../../../utils");
|
|
8
|
+
exports.CloudSerpentHorn = {
|
|
9
|
+
cardIds: ["BG35_MagicItem_849"],
|
|
10
|
+
baseAvengeValue: () => 3,
|
|
11
|
+
avenge: (_minion, input) => {
|
|
12
|
+
const rightMost = input.board[input.board.length - 1];
|
|
13
|
+
if (!rightMost)
|
|
14
|
+
return;
|
|
15
|
+
const attackToGive = rightMost.attack;
|
|
16
|
+
const dragons = input.board.filter((e) => e !== rightMost &&
|
|
17
|
+
e.health > 0 &&
|
|
18
|
+
!e.definitelyDead &&
|
|
19
|
+
(0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
|
|
20
|
+
const target = (0, utils_1.pickRandom)(dragons);
|
|
21
|
+
if (target) {
|
|
22
|
+
(0, stats_1.modifyStats)(target, rightMost, attackToGive, 0, input.board, input.hero, input.gameState);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=cloud-serpent-horn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-serpent-horn.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/cloud-serpent-horn.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAe;IAC3C,OAAO,EAAE,sBAA6C;IACtD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAoB,EAAE,KAAkB,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,SAAS;YACf,CAAC,CAAC,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC,cAAc;YACjB,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,CACjG,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const CloudSerpentHorn: AvengeCard = {\r\n\tcardIds: [CardIds.CloudSerpentHorn_BG35_MagicItem_849],\r\n\tbaseAvengeValue: () => 3,\r\n\tavenge: (_minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst rightMost = input.board[input.board.length - 1];\r\n\t\tif (!rightMost) return;\r\n\t\tconst attackToGive = rightMost.attack;\r\n\t\tconst dragons = input.board.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te !== rightMost &&\r\n\t\t\t\te.health > 0 &&\r\n\t\t\t\t!e.definitelyDead &&\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = pickRandom(dragons);\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(target, rightMost, attackToGive, 0, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ComfyCoffin = void 0;
|
|
4
|
+
const global_info_helpers_1 = require("../../../simulation/global-info-helpers");
|
|
5
|
+
exports.ComfyCoffin = {
|
|
6
|
+
cardIds: ["BG30_MagicItem_547", "BG30_MagicItem_547t"],
|
|
7
|
+
afterTavernSpellCast: (trinket, input) => {
|
|
8
|
+
const buff = trinket.cardId === "BG30_MagicItem_547t" ? 2 : 1;
|
|
9
|
+
(0, global_info_helpers_1.increaseUndeadAttackBonus)(input.hero, input.board, input.hero, buff, input.gameState);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=comfy-coffin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comfy-coffin.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/comfy-coffin.ts"],"names":[],"mappings":";;;AAEA,iFAAoF;AAGvE,QAAA,WAAW,GAA6B;IACpD,OAAO,EAAE,6CAAkG;IAC3G,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,0BAA6D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,IAAA,+CAAyB,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { increaseUndeadAttackBonus } from '../../../simulation/global-info-helpers';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const ComfyCoffin: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ComfyCoffin_BG30_MagicItem_547, CardIds.ComfyCoffin_ComfyCoffinToken_BG30_MagicItem_547t],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst buff = trinket.cardId === CardIds.ComfyCoffin_ComfyCoffinToken_BG30_MagicItem_547t ? 2 : 1;\r\n\t\tincreaseUndeadAttackBonus(input.hero, input.board, input.hero, buff, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CopperCoil = void 0;
|
|
4
|
+
exports.CopperCoil = {
|
|
5
|
+
cardIds: ["BG35_MagicItem_300", "BG35_MagicItem_300t"],
|
|
6
|
+
onBeforeMagnetize: (trinket, input) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const additionalBuff = trinket.cardId === "BG35_MagicItem_300" ? 1 : 2;
|
|
9
|
+
const currentBuff = (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : additionalBuff;
|
|
10
|
+
input.magnetizedCard.attack += currentBuff;
|
|
11
|
+
input.magnetizedCard.health += currentBuff;
|
|
12
|
+
trinket.scriptDataNum1 = ((_b = trinket.scriptDataNum1) !== null && _b !== void 0 ? _b : 0) + additionalBuff;
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=copper-coil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copper-coil.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/copper-coil.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAA0B;IAChD,OAAO,EAAE,6CAA+F;IACxG,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;;QAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,cAAc,CAAC;QAC7D,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC;QAC3C,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC;QAC3C,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,cAAc,CAAC;IACzE,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeInput } from '../../../simulation/magnetize';\r\nimport { OnBeforeMagnetizeCard } from '../../card.interface';\r\n\r\nexport const CopperCoil: OnBeforeMagnetizeCard = {\r\n\tcardIds: [CardIds.CopperCoil_BG35_MagicItem_300, CardIds.CopperCoil_CopperCoilToken_BG35_MagicItem_300t],\r\n\tonBeforeMagnetize: (trinket: BoardTrinket, input: OnBeforeMagnetizeInput) => {\r\n\t\tconst additionalBuff = trinket.cardId === CardIds.CopperCoil_BG35_MagicItem_300 ? 1 : 2;\r\n\t\tconst currentBuff = trinket.scriptDataNum1 ?? additionalBuff;\r\n\t\tinput.magnetizedCard.attack += currentBuff;\r\n\t\tinput.magnetizedCard.health += currentBuff;\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? 0) + additionalBuff;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoralSpear = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const cast_tavern_spell_1 = require("../../../mechanics/cast-tavern-spell");
|
|
6
|
+
exports.CoralSpear = {
|
|
7
|
+
cardIds: ["BG35_MagicItem_925"],
|
|
8
|
+
onTavernSpellCast: (trinket, input) => {
|
|
9
|
+
if (input.source !== input.hero) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const spellCard = input.gameState.allCards.getCard(input.spellCardId);
|
|
13
|
+
if ((spellCard === null || spellCard === void 0 ? void 0 : spellCard.spellSchool) !== reference_data_1.SpellSchool[reference_data_1.SpellSchool.SPELLCRAFT])
|
|
14
|
+
return;
|
|
15
|
+
(0, cast_tavern_spell_1.castTavernSpell)("BG35_951", {
|
|
16
|
+
...input,
|
|
17
|
+
spellCardId: "BG35_951",
|
|
18
|
+
source: input.hero,
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=coral-spear.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coral-spear.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/coral-spear.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAE3D,4EAAuE;AAI1D,QAAA,UAAU,GAA0B;IAChD,OAAO,EAAE,sBAAuC;IAChD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,4BAAW,CAAC,4BAAW,CAAC,UAAU,CAAC;YAAE,OAAO;QAE3E,IAAA,mCAAe,cAAoC;YAClD,GAAG,KAAK;YACR,WAAW,YAAmC;YAC9C,MAAM,EAAE,KAAK,CAAC,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC","sourcesContent":["import { SpellSchool } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { castTavernSpell } from '../../../mechanics/cast-tavern-spell';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const CoralSpear: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.CoralSpear_BG35_MagicItem_925],\r\n\tonTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst spellCard = input.gameState.allCards.getCard(input.spellCardId);\r\n\t\tif (spellCard?.spellSchool !== SpellSchool[SpellSchool.SPELLCRAFT]) return;\r\n\r\n\t\tcastTavernSpell(CardIds.MightOfStormwind_BG35_951, {\r\n\t\t\t...input,\r\n\t\t\tspellCardId: CardIds.MightOfStormwind_BG35_951,\r\n\t\t\tsource: input.hero,\r\n\t\t});\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DramalocSticker = 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.DramalocSticker = {
|
|
8
|
+
cardIds: ["BG35_MagicItem_754"],
|
|
9
|
+
startOfCombat: (trinket, input) => {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const hand = (_a = input.playerEntity.hand) !== null && _a !== void 0 ? _a : [];
|
|
12
|
+
if (hand.length === 0) {
|
|
13
|
+
return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
|
|
14
|
+
}
|
|
15
|
+
let highestAttack = 0;
|
|
16
|
+
for (const card of hand) {
|
|
17
|
+
const refCard = input.gameState.allCards.getCard(card.cardId);
|
|
18
|
+
const attack = (_b = refCard === null || refCard === void 0 ? void 0 : refCard.attack) !== null && _b !== void 0 ? _b : 0;
|
|
19
|
+
if (attack > highestAttack) {
|
|
20
|
+
highestAttack = attack;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (highestAttack === 0) {
|
|
24
|
+
return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
|
|
25
|
+
}
|
|
26
|
+
let triggered = false;
|
|
27
|
+
for (const entity of input.playerBoard) {
|
|
28
|
+
if ((0, utils_1.hasCorrectTribe)(entity, input.playerEntity, reference_data_1.Race.MURLOC, input.gameState.anomalies, input.gameState.allCards)) {
|
|
29
|
+
(0, stats_1.modifyStats)(entity, trinket, highestAttack, 0, input.playerBoard, input.playerEntity, input.gameState);
|
|
30
|
+
triggered = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=dramaloc-sticker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dramaloc-sticker.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/dramaloc-sticker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AAExD,0CAAiD;AAGpC,QAAA,eAAe,GAAsB;IACjD,OAAO,EAAE,sBAA4C;IACrD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,YAAY,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;SACtE;QACD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,CAAC,CAAC;YACpC,IAAI,MAAM,GAAG,aAAa,EAAE;gBAC3B,aAAa,GAAG,MAAM,CAAC;aACvB;SACD;QACD,IAAI,aAAa,KAAK,CAAC,EAAE;YACxB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;SACtE;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;YACvC,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAClH,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvG,SAAS,GAAG,IAAI,CAAC;aACjB;SACD;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 { modifyStats } from '../../../simulation/stats';\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 DramalocSticker: StartOfCombatCard = {\r\n\tcardIds: [CardIds.DramalocSticker_BG35_MagicItem_754],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst hand = input.playerEntity.hand ?? [];\r\n\t\tif (hand.length === 0) {\r\n\t\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t\t}\r\n\t\tlet highestAttack = 0;\r\n\t\tfor (const card of hand) {\r\n\t\t\tconst refCard = input.gameState.allCards.getCard(card.cardId);\r\n\t\t\tconst attack = refCard?.attack ?? 0;\r\n\t\t\tif (attack > highestAttack) {\r\n\t\t\t\thighestAttack = attack;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (highestAttack === 0) {\r\n\t\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t\t}\r\n\t\tlet triggered = false;\r\n\t\tfor (const entity of input.playerBoard) {\r\n\t\t\tif (hasCorrectTribe(entity, input.playerEntity, Race.MURLOC, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(entity, trinket, highestAttack, 0, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\ttriggered = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FangAnklet = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const global_info_helpers_1 = require("../../../simulation/global-info-helpers");
|
|
6
|
+
const stats_1 = require("../../../simulation/stats");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
exports.FangAnklet = {
|
|
9
|
+
cardIds: ["BG35_MagicItem_701"],
|
|
10
|
+
startOfCombat: (trinket, input) => {
|
|
11
|
+
const buff = trinket.scriptDataNum1 || 1;
|
|
12
|
+
let triggered = false;
|
|
13
|
+
for (const entity of input.playerBoard) {
|
|
14
|
+
if ((0, utils_1.hasCorrectTribe)(entity, input.playerEntity, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
|
|
15
|
+
(0, stats_1.modifyStats)(entity, trinket, buff, buff, input.playerBoard, input.playerEntity, input.gameState);
|
|
16
|
+
triggered = true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
input.playerEntity.globalInfo.GoldrinnBuffAtk += buff;
|
|
20
|
+
input.playerEntity.globalInfo.GoldrinnBuffHealth += buff;
|
|
21
|
+
return { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };
|
|
22
|
+
},
|
|
23
|
+
afterOtherSpawned: (trinket, input) => {
|
|
24
|
+
if ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
|
|
25
|
+
(0, global_info_helpers_1.increaseGoldrinnBuff)(trinket, input.board, input.hero, 1, 1, input.gameState);
|
|
26
|
+
trinket.scriptDataNum1 = (trinket.scriptDataNum1 || 1) + 1;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=fang-anklet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fang-anklet.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/fang-anklet.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,iFAA+E;AAE/E,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAA8C;IACpE,OAAO,EAAE,sBAAuC;IAChD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QAEzD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE;YACvC,IACC,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,YAAY,EAClB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;gBACD,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjG,SAAS,GAAG,IAAI,CAAC;aACjB;SACD;QACD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,IAAI,IAAI,CAAC;QACtD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,IAAI,IAAI,CAAC;QACzD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;IACD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAwB,EAAE,EAAE;QACtE,IACC,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,EAC1G;YACD,IAAA,0CAAoB,EAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAE9E,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3D;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 { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { increaseGoldrinnBuff } from '../../../simulation/global-info-helpers';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard, StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const FangAnklet: StartOfCombatCard & AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.FangAnklet_BG35_MagicItem_701],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\t// Can be permanently buffed in previous combats\r\n\t\tconst buff = trinket.scriptDataNum1 || 1;\r\n\t\tlet triggered = false;\r\n\t\tfor (const entity of input.playerBoard) {\r\n\t\t\tif (\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tRace.BEAST,\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\tmodifyStats(entity, trinket, buff, buff, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\ttriggered = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tinput.playerEntity.globalInfo.GoldrinnBuffAtk += buff;\r\n\t\tinput.playerEntity.globalInfo.GoldrinnBuffHealth += buff;\r\n\t\treturn { hasTriggered: triggered, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n\tafterOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\tincreaseGoldrinnBuff(trinket, input.board, input.hero, 1, 1, input.gameState);\r\n\t\t\t// Not used in the simulation, but can be useful for debugging\r\n\t\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 1) + 1;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FelburnedLedger = void 0;
|
|
4
|
+
exports.FelburnedLedger = {
|
|
5
|
+
cardIds: ["BG35_MagicItem_155"],
|
|
6
|
+
afterHeroDamaged: (trinket, input) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
input.hero.globalInfo.TavernSpellAttackBuff = ((_a = input.hero.globalInfo.TavernSpellAttackBuff) !== null && _a !== void 0 ? _a : 0) + 1;
|
|
9
|
+
input.hero.globalInfo.TavernSpellHealthBuff = ((_b = input.hero.globalInfo.TavernSpellHealthBuff) !== null && _b !== void 0 ? _b : 0) + 1;
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=felburned-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"felburned-ledger.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/felburned-ledger.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,sBAA4C;IACrD,gBAAgB,EAAE,CAAC,OAAqB,EAAE,KAA4B,EAAE,EAAE;;QACzE,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 { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AfterHeroDamagedInput } from '../../../simulation/damage-to-hero';\r\nimport { AfterHeroDamagedCard } from '../../card.interface';\r\n\r\nexport const FelburnedLedger: AfterHeroDamagedCard = {\r\n\tcardIds: [CardIds.FelburnedLedger_BG35_MagicItem_155],\r\n\tafterHeroDamaged: (trinket: BoardTrinket, input: AfterHeroDamagedInput) => {\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,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FridgeMagnet = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.FridgeMagnet = {
|
|
6
|
+
cardIds: ["BG30_MagicItem_545"],
|
|
7
|
+
baseAvengeValue: () => 3,
|
|
8
|
+
avenge: (_entity, input) => {
|
|
9
|
+
const randomMagnetic = input.gameState.cardsData.getRandomMechToMagnetize(input.hero.tavernTier);
|
|
10
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [randomMagnetic], input.gameState);
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=fridge-magnet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fridge-magnet.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/fridge-magnet.ts"],"names":[],"mappings":";;;AAIA,qEAAmE;AAGtD,QAAA,YAAY,GAAe;IACvC,OAAO,EAAE,sBAAyC;IAClD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAmC,EAAE,KAAkB,EAAE,EAAE;QACnE,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjG,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const FridgeMagnet: AvengeCard = {\r\n\tcardIds: [CardIds.FridgeMagnet_BG30_MagicItem_545],\r\n\tbaseAvengeValue: () => 3,\r\n\tavenge: (_entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tconst randomMagnetic = input.gameState.cardsData.getRandomMechToMagnetize(input.hero.tavernTier);\r\n\t\taddCardsInHand(input.hero, input.board, [randomMagnetic], input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GilneanThornedRose = void 0;
|
|
4
|
+
const attack_1 = require("../../../simulation/attack");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.GilneanThornedRose = {
|
|
7
|
+
cardIds: ["BG30_MagicItem_864"],
|
|
8
|
+
baseAvengeValue: () => 3,
|
|
9
|
+
avenge: (entity, input) => {
|
|
10
|
+
const source = entity;
|
|
11
|
+
const { board, hero, otherBoard, otherHero, gameState } = input;
|
|
12
|
+
(0, utils_1.addStatsToBoard)(source, board, hero, 3, 3, gameState);
|
|
13
|
+
for (const minion of board) {
|
|
14
|
+
(0, attack_1.dealDamageToMinion)(minion, board, hero, source, 1, otherBoard, otherHero, gameState);
|
|
15
|
+
gameState.spectator.registerPowerTarget(source, minion, board, hero, otherHero);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=gilnean-thorned-rose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gilnean-thorned-rose.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/gilnean-thorned-rose.ts"],"names":[],"mappings":";;;AAGA,uDAAgE;AAEhE,0CAAiD;AAGpC,QAAA,kBAAkB,GAAe;IAC7C,OAAO,EAAE,sBAA+C;IACxD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,MAAkC,EAAE,KAAkB,EAAE,EAAE;QAClE,MAAM,MAAM,GAAG,MAAqB,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAChE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YAC3B,IAAA,2BAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACrF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SAChF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const GilneanThornedRose: AvengeCard = {\r\n\tcardIds: [CardIds.GilneanThornedRose_BG30_MagicItem_864],\r\n\tbaseAvengeValue: () => 3,\r\n\tavenge: (entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tconst source = entity as BoardEntity;\r\n\t\tconst { board, hero, otherBoard, otherHero, gameState } = input;\r\n\t\taddStatsToBoard(source, board, hero, 3, 3, gameState);\r\n\t\tfor (const minion of board) {\r\n\t\t\tdealDamageToMinion(minion, board, hero, source, 1, otherBoard, otherHero, gameState);\r\n\t\t\tgameState.spectator.registerPowerTarget(source, minion, board, hero, otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlowscalePortrait = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const stats_1 = require("../../../simulation/stats");
|
|
6
|
+
exports.GlowscalePortrait = {
|
|
7
|
+
cardIds: ["BG30_MagicItem_548"],
|
|
8
|
+
afterTavernSpellCast: (trinket, input) => {
|
|
9
|
+
const spellCard = input.gameState.allCards.getCard(input.spellCardId);
|
|
10
|
+
if ((spellCard === null || spellCard === void 0 ? void 0 : spellCard.spellSchool) !== reference_data_1.SpellSchool[reference_data_1.SpellSchool.SPELLCRAFT])
|
|
11
|
+
return;
|
|
12
|
+
for (const entity of input.board) {
|
|
13
|
+
if (entity.health <= 0 || entity.definitelyDead)
|
|
14
|
+
continue;
|
|
15
|
+
if (entity.divineShield) {
|
|
16
|
+
(0, stats_1.modifyStats)(entity, trinket, 3, 3, input.board, input.hero, input.gameState);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=glowscale-portrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glowscale-portrait.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/glowscale-portrait.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAG3D,qDAAwD;AAG3C,QAAA,iBAAiB,GAA6B;IAC1D,OAAO,EAAE,sBAA8C;IACvD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,4BAAW,CAAC,4BAAW,CAAC,UAAU,CAAC;YAAE,OAAO;QAC3E,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,IAAI,MAAM,CAAC,YAAY,EAAE;gBACxB,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { SpellSchool } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const GlowscalePortrait: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.GlowscalePortrait_BG30_MagicItem_548],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst spellCard = input.gameState.allCards.getCard(input.spellCardId);\r\n\t\tif (spellCard?.spellSchool !== SpellSchool[SpellSchool.SPELLCRAFT]) return;\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tif (entity.divineShield) {\r\n\t\t\t\tmodifyStats(entity, trinket, 3, 3, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeartOfTheForest = void 0;
|
|
4
|
+
exports.HeartOfTheForest = {
|
|
5
|
+
cardIds: ["BG32_MagicItem_801t"],
|
|
6
|
+
afterTavernSpellCast: (trinket, input) => {
|
|
7
|
+
var _a, _b, _c, _d, _e;
|
|
8
|
+
input.hero.globalInfo.TavernSpellAttackBuff = ((_a = input.hero.globalInfo.TavernSpellAttackBuff) !== null && _a !== void 0 ? _a : 0) + 1;
|
|
9
|
+
input.hero.globalInfo.TavernSpellHealthBuff = ((_b = input.hero.globalInfo.TavernSpellHealthBuff) !== null && _b !== void 0 ? _b : 0) + ((_c = trinket.scriptDataNum2) !== null && _c !== void 0 ? _c : 1);
|
|
10
|
+
trinket.scriptDataNum1 = ((_d = trinket.scriptDataNum1) !== null && _d !== void 0 ? _d : 5) - 1;
|
|
11
|
+
if (trinket.scriptDataNum1 <= 0) {
|
|
12
|
+
trinket.scriptDataNum1 = 5;
|
|
13
|
+
trinket.scriptDataNum2 = ((_e = trinket.scriptDataNum2) !== null && _e !== void 0 ? _e : 1) + 1;
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=heart-of-the-forest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heart-of-the-forest.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/heart-of-the-forest.ts"],"names":[],"mappings":";;;AAIa,QAAA,gBAAgB,GAA6B;IACzD,OAAO,EAAE,uBAAoE;IAC7E,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;;QACtE,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,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC;QAEjI,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YAC3B,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3D;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const HeartOfTheForest: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.HeartOfTheForest_HeartOfTheForestToken_BG32_MagicItem_801t],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\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) + (trinket.scriptDataNum2 ?? 1);\r\n\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? 5) - 1;\r\n\t\tif (trinket.scriptDataNum1 <= 0) {\r\n\t\t\ttrinket.scriptDataNum1 = 5;\r\n\t\t\ttrinket.scriptDataNum2 = (trinket.scriptDataNum2 ?? 1) + 1;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JarOGems = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.JarOGems = {
|
|
8
|
+
cardIds: ["BG30_MagicItem_546"],
|
|
9
|
+
defaultScriptDataNum: (cardId) => 2,
|
|
10
|
+
afterAnotherMinionAttacks: (trinket, input) => {
|
|
11
|
+
const t = trinket;
|
|
12
|
+
t.scriptDataNum1--;
|
|
13
|
+
if (t.scriptDataNum1 <= 0) {
|
|
14
|
+
for (const entity of input.attackingBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.attackingHero, reference_data_1.Race.QUILBOAR, input.gameState.anomalies, input.gameState.allCards))) {
|
|
15
|
+
(0, blood_gems_1.playBloodGemsOn)(t, entity, 1, input.attackingBoard, input.attackingHero, input.defendingBoard, input.defendingHero, input.gameState);
|
|
16
|
+
input.gameState.spectator.registerPowerTarget(t, entity, input.attackingBoard, input.attackingHero, input.attackingHero);
|
|
17
|
+
}
|
|
18
|
+
t.scriptDataNum1 = input.gameState.cardsData.defaultScriptDataNum(t.cardId);
|
|
19
|
+
}
|
|
20
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=jar-o-gems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jar-o-gems.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/jar-o-gems.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,+DAAiE;AAEjE,0CAAiD;AAGpC,QAAA,QAAQ,GAA6D;IACjF,OAAO,EAAE,sBAAqC;IAC9C,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,yBAAyB,EAAE,CAAC,OAAsD,EAAE,KAAoB,EAAE,EAAE;QAC3G,MAAM,CAAC,GAAG,OAAuB,CAAC;QAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,EAAE;YAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,QAAQ,EACb,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,EAAE;gBACF,IAAA,4BAAe,EACd,CAAC,EACD,MAAM,EACN,CAAC,EACD,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,CAAC,EACD,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;aACF;YACD,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC5E;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterAnotherMinionAttacksCard, DefaultScriptDataNumCard } from '../../card.interface';\r\n\r\nexport const JarOGems: AfterAnotherMinionAttacksCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.JarOGems_BG30_MagicItem_546],\r\n\tdefaultScriptDataNum: (cardId: string) => 2,\r\n\tafterAnotherMinionAttacks: (trinket: BoardEntity | BoardTrinket | BoardEnchantment, input: OnAttackInput) => {\r\n\t\tconst t = trinket as BoardTrinket;\r\n\t\tt.scriptDataNum1--;\r\n\t\tif (t.scriptDataNum1 <= 0) {\r\n\t\t\tfor (const entity of input.attackingBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tRace.QUILBOAR,\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\tplayBloodGemsOn(\r\n\t\t\t\t\tt,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\t1,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tt,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tt.scriptDataNum1 = input.gameState.cardsData.defaultScriptDataNum(t.cardId);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LorewalkerScroll = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.LorewalkerScroll = {
|
|
6
|
+
cardIds: [
|
|
7
|
+
"BG30_MagicItem_422",
|
|
8
|
+
"BG30_MagicItem_422t",
|
|
9
|
+
],
|
|
10
|
+
onTavernSpellCast: (trinket, input) => {
|
|
11
|
+
if (input.source !== input.hero) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (!input.target || input.target.health <= 0 || input.target.definitelyDead)
|
|
15
|
+
return;
|
|
16
|
+
const isUpgraded = trinket.cardId === "BG30_MagicItem_422t";
|
|
17
|
+
const attack = isUpgraded ? 7 : 2;
|
|
18
|
+
const health = isUpgraded ? 7 : 1;
|
|
19
|
+
(0, stats_1.modifyStats)(input.target, trinket, attack, health, input.board, input.hero, input.gameState);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=lorewalker-scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lorewalker-scroll.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/lorewalker-scroll.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAG3C,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE;;;KAGR;IACD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO;QACrF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,0BAAuE,CAAC;QACzG,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9F,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const LorewalkerScroll: OnTavernSpellCastCard = {\r\n\tcardIds: [\r\n\t\tCardIds.LorewalkerScroll_BG30_MagicItem_422,\r\n\t\tCardIds.LorewalkerScroll_LorewalkerScrollToken_BG30_MagicItem_422t,\r\n\t],\r\n\tonTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!input.target || input.target.health <= 0 || input.target.definitelyDead) return;\r\n\t\tconst isUpgraded = trinket.cardId === CardIds.LorewalkerScroll_LorewalkerScrollToken_BG30_MagicItem_422t;\r\n\t\tconst attack = isUpgraded ? 7 : 2;\r\n\t\tconst health = isUpgraded ? 7 : 1;\r\n\t\tmodifyStats(input.target, trinket, attack, health, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MiniatureShip = 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.MiniatureShip = {
|
|
8
|
+
cardIds: ["BG35_MagicItem_710"],
|
|
9
|
+
afterTavernSpellCast: (trinket, input) => {
|
|
10
|
+
for (const entity of input.board) {
|
|
11
|
+
if (entity.health <= 0 || entity.definitelyDead)
|
|
12
|
+
continue;
|
|
13
|
+
if ((0, utils_1.hasCorrectTribe)(entity, input.hero, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {
|
|
14
|
+
(0, stats_1.modifyStats)(entity, trinket, 2, 3, input.board, input.hero, input.gameState);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=miniature-ship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"miniature-ship.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/miniature-ship.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,sBAA0C;IACnD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1G,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;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 { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const MiniatureShip: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.MiniatureShip_BG35_MagicItem_710],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tif (hasCorrectTribe(entity, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(entity, trinket, 2, 3, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PowderKegEnchantment = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.PowderKegEnchantment = {
|
|
6
|
+
cardIds: ["BG35_MagicItem_714"],
|
|
7
|
+
deathrattleSpawnEnchantmentEffect: (enchantment, minion, input) => {
|
|
8
|
+
const spawns = (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BGS_061t", 1, input);
|
|
9
|
+
if (spawns.length > 0 && minion) {
|
|
10
|
+
spawns[0].attack = minion.attack;
|
|
11
|
+
spawns[0].attackImmediately = true;
|
|
12
|
+
}
|
|
13
|
+
return spawns;
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=powder-keg-enchantment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"powder-keg-enchantment.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/powder-keg-enchantment.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,oBAAoB,GAAoC;IACpE,OAAO,EAAE,sBAAsC;IAC/C,iCAAiC,EAAE,CAClC,WAA+B,EAC/B,MAAsC,EACtC,KAAgC,EAC/B,EAAE;QACH,MAAM,MAAM,GAAG,IAAA,4CAAuB,cAA4C,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;YAChC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\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 PowderKegEnchantment: DeathrattleSpawnEnchantmentCard = {\r\n\tcardIds: [CardIds.PowderKeg_BG35_MagicItem_714],\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tenchantment: { cardId: string },\r\n\t\tminion: BoardEntity | null | undefined,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t) => {\r\n\t\tconst spawns = simplifiedSpawnEntities(CardIds.Scallywag_SkyPirateToken_BGS_061t, 1, input);\r\n\t\tif (spawns.length > 0 && minion) {\r\n\t\t\tspawns[0].attack = minion.attack;\r\n\t\t\tspawns[0].attackImmediately = true;\r\n\t\t}\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PowderKeg = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../services/utils");
|
|
6
|
+
const utils_2 = require("../../../utils");
|
|
7
|
+
exports.PowderKeg = {
|
|
8
|
+
cardIds: ["BG35_MagicItem_714"],
|
|
9
|
+
startOfCombat: (trinket, input) => {
|
|
10
|
+
const pirates = input.playerBoard.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards));
|
|
11
|
+
const targets = (0, utils_1.pickMultipleRandomAlive)(pirates, 2);
|
|
12
|
+
for (const target of targets) {
|
|
13
|
+
target.enchantments.push({
|
|
14
|
+
cardId: "BG35_700",
|
|
15
|
+
originEntityId: trinket.entityId,
|
|
16
|
+
repeats: 1,
|
|
17
|
+
timing: input.gameState.sharedState.currentEntityId++,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=powder-keg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"powder-keg.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/powder-keg.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAAkE;AAElE,0CAAiD;AAGpC,QAAA,SAAS,GAAsB;IAC3C,OAAO,EAAE,sBAAsC;IAC/C,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;gBAExB,MAAM,YAA6B;gBACnC,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;SACH;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,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 { pickMultipleRandomAlive } from '../../../services/utils';\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 PowderKeg: StartOfCombatCard = {\r\n\tcardIds: [CardIds.PowderKeg_BG35_MagicItem_714],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst pirates = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst targets = pickMultipleRandomAlive(pirates, 2);\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.enchantments.push({\r\n\t\t\t\t// TODO: probably not correct, needs testing\r\n\t\t\t\tcardId: CardIds.ShipJumper_BG35_700,\r\n\t\t\t\toriginEntityId: trinket.entityId,\r\n\t\t\t\trepeats: 1,\r\n\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProtectiveRing = 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("../../../services/utils");
|
|
7
|
+
const utils_2 = require("../../../utils");
|
|
8
|
+
exports.ProtectiveRing = {
|
|
9
|
+
cardIds: ["BG35_MagicItem_711"],
|
|
10
|
+
startOfCombat: (trinket, input) => {
|
|
11
|
+
const pirates = input.playerBoard.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards));
|
|
12
|
+
const targets = (0, utils_1.pickMultipleRandomAlive)(pirates, 3);
|
|
13
|
+
for (const target of targets) {
|
|
14
|
+
(0, divine_shield_1.updateDivineShield)(target, input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);
|
|
15
|
+
}
|
|
16
|
+
return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=protective-ring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protective-ring.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/protective-ring.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,mEAAqE;AAErE,mDAAkE;AAElE,0CAAiD;AAGpC,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickMultipleRandomAlive } from '../../../services/utils';\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 ProtectiveRing: StartOfCombatCard = {\r\n\tcardIds: [CardIds.ProtectiveRing_BG35_MagicItem_711],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst pirates = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst targets = pickMultipleRandomAlive(pirates, 3);\r\n\t\tfor (const target of targets) {\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.opponentEntity,\r\n\t\t\t\ttrue,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuilligraphySetToken = exports.QuilligraphySet = void 0;
|
|
4
|
+
exports.QuilligraphySet = {
|
|
5
|
+
cardIds: ["BG30_MagicItem_410"],
|
|
6
|
+
baseAvengeValue: () => 4,
|
|
7
|
+
avenge: (_entity, input) => {
|
|
8
|
+
input.hero.globalInfo.BloodGemHealthBonus += 1;
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
exports.QuilligraphySetToken = {
|
|
12
|
+
cardIds: ["BG30_MagicItem_410t2"],
|
|
13
|
+
baseAvengeValue: () => 4,
|
|
14
|
+
avenge: (_entity, input) => {
|
|
15
|
+
input.hero.globalInfo.BloodGemAttackBonus += 1;
|
|
16
|
+
input.hero.globalInfo.BloodGemHealthBonus += 1;
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=quilligraphy-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quilligraphy-set.js","sourceRoot":"","sources":["../../../../../src/cards/impl/trinket/quilligraphy-set.ts"],"names":[],"mappings":";;;AAMa,QAAA,eAAe,GAAe;IAC1C,OAAO,EAAE,sBAA4C;IACrD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAmC,EAAE,KAAkB,EAAE,EAAE;QACnE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;IAChD,CAAC;CACD,CAAC;AAEW,QAAA,oBAAoB,GAAe;IAC/C,OAAO,EAAE,wBAAmE;IAC5E,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,OAAmC,EAAE,KAAkB,EAAE,EAAE;QACnE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,CAAC;IAChD,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { 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 QuilligraphySet: AvengeCard = {\r\n\tcardIds: [CardIds.QuilligraphySet_BG30_MagicItem_410],\r\n\tbaseAvengeValue: () => 4,\r\n\tavenge: (_entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tinput.hero.globalInfo.BloodGemHealthBonus += 1;\r\n\t},\r\n};\r\n\r\nexport const QuilligraphySetToken: AvengeCard = {\r\n\tcardIds: [CardIds.QuilligraphySet_QuilligraphySetToken_BG30_MagicItem_410t2],\r\n\tbaseAvengeValue: () => 4,\r\n\tavenge: (_entity: BoardEntity | BoardTrinket, input: AvengeInput) => {\r\n\t\tinput.hero.globalInfo.BloodGemAttackBonus += 1;\r\n\t\tinput.hero.globalInfo.BloodGemHealthBonus += 1;\r\n\t},\r\n};\r\n"]}
|