@firestone-hs/simulate-bgs-battle 1.1.501 → 1.1.503
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bgs-player-entity.d.ts +6 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/cards/card.interface.d.ts +114 -1
- package/dist/cards/card.interface.js +47 -0
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/cards-data.d.ts +5 -1
- package/dist/cards/cards-data.js +39 -6
- package/dist/cards/cards-data.js.map +1 -1
- package/dist/cards/impl/_card-mappings.d.ts +4 -0
- package/dist/cards/impl/_card-mappings.js +154 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -0
- package/dist/cards/impl/anomaly/blessed-or-blighted.js +3 -2
- package/dist/cards/impl/anomaly/blessed-or-blighted.js.map +1 -1
- package/dist/cards/impl/bg-spell/boon-of-beetles.js +1 -1
- package/dist/cards/impl/bg-spell/boon-of-beetles.js.map +1 -1
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.d.ts +2 -0
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js +16 -0
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +1 -0
- package/dist/cards/impl/hero-power/reborn-rites.js +2 -1
- package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
- package/dist/cards/impl/hero-power/swatting-insects.js +5 -3
- package/dist/cards/impl/hero-power/swatting-insects.js.map +1 -1
- package/dist/cards/impl/hero-power/water-invocation.js +1 -1
- package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
- package/dist/cards/impl/minion/amber-guardian.js +1 -1
- package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
- package/dist/cards/impl/minion/arcane-cannoneer.d.ts +2 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js +15 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -0
- package/dist/cards/impl/minion/bannerboar.d.ts +2 -0
- package/dist/cards/impl/minion/bannerboar.js +16 -0
- package/dist/cards/impl/minion/bannerboar.js.map +1 -0
- package/dist/cards/impl/minion/beetle.d.ts +2 -0
- package/dist/cards/impl/minion/beetle.js +16 -0
- package/dist/cards/impl/minion/beetle.js.map +1 -0
- package/dist/cards/impl/minion/bird-buddy.d.ts +2 -0
- package/dist/cards/impl/minion/bird-buddy.js +14 -0
- package/dist/cards/impl/minion/bird-buddy.js.map +1 -0
- package/dist/cards/impl/minion/blazing-skyfin.d.ts +2 -0
- package/dist/cards/impl/minion/blazing-skyfin.js +12 -0
- package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -0
- package/dist/cards/impl/minion/boar-gamer.d.ts +2 -0
- package/dist/cards/impl/minion/boar-gamer.js +12 -0
- package/dist/cards/impl/minion/boar-gamer.js.map +1 -0
- package/dist/cards/impl/minion/bubble-gunner.d.ts +2 -0
- package/dist/cards/impl/minion/bubble-gunner.js +44 -0
- package/dist/cards/impl/minion/bubble-gunner.js.map +1 -0
- package/dist/cards/impl/minion/buzzing-vermin.d.ts +2 -0
- package/dist/cards/impl/minion/buzzing-vermin.js +12 -0
- package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -0
- package/dist/cards/impl/minion/cadaver-caretaker.d.ts +2 -0
- package/dist/cards/impl/minion/cadaver-caretaker.js +12 -0
- package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -0
- package/dist/cards/impl/minion/clunker-junker.d.ts +2 -0
- package/dist/cards/impl/minion/clunker-junker.js +24 -0
- package/dist/cards/impl/minion/clunker-junker.js.map +1 -0
- package/dist/cards/impl/minion/deathly-striker.d.ts +2 -0
- package/dist/cards/impl/minion/deathly-striker.js +32 -0
- package/dist/cards/impl/minion/deathly-striker.js.map +1 -0
- package/dist/cards/impl/minion/deflecto-bot.d.ts +2 -0
- package/dist/cards/impl/minion/deflecto-bot.js +21 -0
- package/dist/cards/impl/minion/deflecto-bot.js.map +1 -0
- package/dist/cards/impl/minion/efficient-engineer.d.ts +2 -0
- package/dist/cards/impl/minion/efficient-engineer.js +24 -0
- package/dist/cards/impl/minion/efficient-engineer.js.map +1 -0
- package/dist/cards/impl/minion/electric-synthesizer.d.ts +2 -0
- package/dist/cards/impl/minion/electric-synthesizer.js +24 -0
- package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -0
- package/dist/cards/impl/minion/fairy-gillmother.d.ts +2 -0
- package/dist/cards/impl/minion/fairy-gillmother.js +18 -0
- package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -0
- package/dist/cards/impl/minion/forest-rover.d.ts +2 -0
- package/dist/cards/impl/minion/forest-rover.js +23 -0
- package/dist/cards/impl/minion/forest-rover.js.map +1 -0
- package/dist/cards/impl/minion/fountain-chiller.d.ts +2 -0
- package/dist/cards/impl/minion/fountain-chiller.js +27 -0
- package/dist/cards/impl/minion/fountain-chiller.js.map +1 -0
- package/dist/cards/impl/minion/gem-rat.d.ts +2 -0
- package/dist/cards/impl/minion/gem-rat.js +12 -0
- package/dist/cards/impl/minion/gem-rat.js.map +1 -0
- package/dist/cards/impl/minion/general-drakkisath.d.ts +2 -0
- package/dist/cards/impl/minion/general-drakkisath.js +17 -0
- package/dist/cards/impl/minion/general-drakkisath.js.map +1 -0
- package/dist/cards/impl/minion/gentle-djinni.d.ts +2 -0
- package/dist/cards/impl/minion/gentle-djinni.js +25 -0
- package/dist/cards/impl/minion/gentle-djinni.js.map +1 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.d.ts +2 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js +15 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -0
- package/dist/cards/impl/minion/grease-bot.d.ts +2 -0
- package/dist/cards/impl/minion/grease-bot.js +13 -0
- package/dist/cards/impl/minion/grease-bot.js.map +1 -0
- package/dist/cards/impl/minion/gritty-headhunter.d.ts +2 -0
- package/dist/cards/impl/minion/gritty-headhunter.js +14 -0
- package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -0
- package/dist/cards/impl/minion/hackerfin.d.ts +2 -0
- package/dist/cards/impl/minion/hackerfin.js +21 -0
- package/dist/cards/impl/minion/hackerfin.js.map +1 -0
- package/dist/cards/impl/minion/handless-forsaken.d.ts +2 -0
- package/dist/cards/impl/minion/handless-forsaken.js +12 -0
- package/dist/cards/impl/minion/handless-forsaken.js.map +1 -0
- package/dist/cards/impl/minion/harmless-bonehead.d.ts +2 -0
- package/dist/cards/impl/minion/harmless-bonehead.js +12 -0
- package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -0
- package/dist/cards/impl/minion/holo-rover.d.ts +2 -0
- package/dist/cards/impl/minion/holo-rover.js +16 -0
- package/dist/cards/impl/minion/holo-rover.js.map +1 -0
- package/dist/cards/impl/minion/humming-bird.d.ts +2 -5
- package/dist/cards/impl/minion/humming-bird.js +1 -0
- package/dist/cards/impl/minion/humming-bird.js.map +1 -1
- package/dist/cards/impl/minion/hungry-snapjaw.d.ts +2 -0
- package/dist/cards/impl/minion/hungry-snapjaw.js +17 -0
- package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -0
- package/dist/cards/impl/minion/hunter-of-gatherers.d.ts +2 -0
- package/dist/cards/impl/minion/hunter-of-gatherers.js +13 -0
- package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -0
- package/dist/cards/impl/minion/implant-subject.d.ts +2 -0
- package/dist/cards/impl/minion/implant-subject.js +42 -0
- package/dist/cards/impl/minion/implant-subject.js.map +1 -0
- package/dist/cards/impl/minion/impulsive-trickster.d.ts +2 -0
- package/dist/cards/impl/minion/impulsive-trickster.js +14 -0
- package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -0
- package/dist/cards/impl/minion/indomitable-mount.d.ts +2 -0
- package/dist/cards/impl/minion/indomitable-mount.js +23 -0
- package/dist/cards/impl/minion/indomitable-mount.js.map +1 -0
- package/dist/cards/impl/minion/interrogator-whitemane.js +5 -4
- package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
- package/dist/cards/impl/minion/kalecgos-arcane-aspect.d.ts +2 -0
- package/dist/cards/impl/minion/kalecgos-arcane-aspect.js +13 -0
- package/dist/cards/impl/minion/kalecgos-arcane-aspect.js.map +1 -0
- package/dist/cards/impl/minion/kangors-apprentice.d.ts +2 -0
- package/dist/cards/impl/minion/kangors-apprentice.js +21 -0
- package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -0
- package/dist/cards/impl/minion/karmic-chameleon.d.ts +2 -0
- package/dist/cards/impl/minion/karmic-chameleon.js +27 -0
- package/dist/cards/impl/minion/karmic-chameleon.js.map +1 -0
- package/dist/cards/impl/minion/manasaber.d.ts +2 -0
- package/dist/cards/impl/minion/manasaber.js +14 -0
- package/dist/cards/impl/minion/manasaber.js.map +1 -0
- package/dist/cards/impl/minion/mantid-queen.js +6 -3
- package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
- package/dist/cards/impl/minion/marquee-ticker.d.ts +2 -0
- package/dist/cards/impl/minion/marquee-ticker.js +12 -0
- package/dist/cards/impl/minion/marquee-ticker.js.map +1 -0
- package/dist/cards/impl/minion/mecha-jaraxxus.d.ts +2 -0
- package/dist/cards/impl/minion/mecha-jaraxxus.js +12 -0
- package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.d.ts +2 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.js +13 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -0
- package/dist/cards/impl/minion/mechorse.d.ts +2 -0
- package/dist/cards/impl/minion/mechorse.js +16 -0
- package/dist/cards/impl/minion/mechorse.js.map +1 -0
- package/dist/cards/impl/minion/misfit-dragonling.d.ts +2 -5
- package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
- package/dist/cards/impl/minion/moonsteel-juggernaut.d.ts +2 -0
- package/dist/cards/impl/minion/moonsteel-juggernaut.js +15 -0
- package/dist/cards/impl/minion/moonsteel-juggernaut.js.map +1 -0
- package/dist/cards/impl/minion/murky.d.ts +2 -0
- package/dist/cards/impl/minion/murky.js +20 -0
- package/dist/cards/impl/minion/murky.js.map +1 -0
- package/dist/cards/impl/minion/mutated-lasher.d.ts +2 -0
- package/dist/cards/impl/minion/mutated-lasher.js +26 -0
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -0
- package/dist/cards/impl/minion/neon-agent.d.ts +2 -0
- package/dist/cards/impl/minion/neon-agent.js +18 -0
- package/dist/cards/impl/minion/neon-agent.js.map +1 -0
- package/dist/cards/impl/minion/nest-swarmer.d.ts +2 -0
- package/dist/cards/impl/minion/nest-swarmer.js +12 -0
- package/dist/cards/impl/minion/nest-swarmer.js.map +1 -0
- package/dist/cards/impl/minion/nether-drake.d.ts +2 -0
- package/dist/cards/impl/minion/nether-drake.js +15 -0
- package/dist/cards/impl/minion/nether-drake.js.map +1 -0
- package/dist/cards/impl/minion/niuzao.d.ts +2 -0
- package/dist/cards/impl/minion/niuzao.js +21 -0
- package/dist/cards/impl/minion/niuzao.js.map +1 -0
- package/dist/cards/impl/minion/operatic-belcher.d.ts +2 -0
- package/dist/cards/impl/minion/operatic-belcher.js +26 -0
- package/dist/cards/impl/minion/operatic-belcher.js.map +1 -0
- package/dist/cards/impl/minion/outback-smolderer.d.ts +2 -0
- package/dist/cards/impl/minion/outback-smolderer.js +17 -0
- package/dist/cards/impl/minion/outback-smolderer.js.map +1 -0
- package/dist/cards/impl/minion/parched-wanderer.d.ts +2 -0
- package/dist/cards/impl/minion/parched-wanderer.js +20 -0
- package/dist/cards/impl/minion/parched-wanderer.js.map +1 -0
- package/dist/cards/impl/minion/prized-promo-drake.d.ts +2 -5
- package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
- package/dist/cards/impl/minion/razorgore-the-untamed.d.ts +2 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.js +20 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.d.ts +2 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.js +19 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -0
- package/dist/cards/impl/minion/runed-progenitor.d.ts +2 -0
- package/dist/cards/impl/minion/runed-progenitor.js +24 -0
- package/dist/cards/impl/minion/runed-progenitor.js.map +1 -0
- package/dist/cards/impl/minion/rylak-metalhead.d.ts +2 -0
- package/dist/cards/impl/minion/rylak-metalhead.js +22 -0
- package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -0
- package/dist/cards/impl/minion/salty-hog.d.ts +2 -0
- package/dist/cards/impl/minion/salty-hog.js +17 -0
- package/dist/cards/impl/minion/salty-hog.js.map +1 -0
- package/dist/cards/impl/minion/showy-cyclist.d.ts +2 -0
- package/dist/cards/impl/minion/showy-cyclist.js +14 -0
- package/dist/cards/impl/minion/showy-cyclist.js.map +1 -0
- package/dist/cards/impl/minion/silver-handed-recruit.d.ts +2 -0
- package/dist/cards/impl/minion/silver-handed-recruit.js +17 -0
- package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -0
- package/dist/cards/impl/minion/sly-raptor.d.ts +2 -0
- package/dist/cards/impl/minion/sly-raptor.js +18 -0
- package/dist/cards/impl/minion/sly-raptor.js.map +1 -0
- package/dist/cards/impl/minion/smolderwing.d.ts +2 -0
- package/dist/cards/impl/minion/smolderwing.js +25 -0
- package/dist/cards/impl/minion/smolderwing.js.map +1 -0
- package/dist/cards/impl/minion/soulsplitter.js +2 -1
- package/dist/cards/impl/minion/soulsplitter.js.map +1 -1
- package/dist/cards/impl/minion/spacefarer.d.ts +2 -0
- package/dist/cards/impl/minion/spacefarer.js +20 -0
- package/dist/cards/impl/minion/spacefarer.js.map +1 -0
- package/dist/cards/impl/minion/sun-screener.js +1 -1
- package/dist/cards/impl/minion/sun-screener.js.map +1 -1
- package/dist/cards/impl/minion/swampstriker.d.ts +2 -0
- package/dist/cards/impl/minion/swampstriker.js +21 -0
- package/dist/cards/impl/minion/swampstriker.js.map +1 -0
- package/dist/cards/impl/minion/thousandth-paper-drake.js +2 -1
- package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
- package/dist/cards/impl/minion/turquoise-skitterer.d.ts +2 -0
- package/dist/cards/impl/minion/turquoise-skitterer.js +25 -0
- package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -0
- package/dist/cards/impl/minion/twilight-primordium.d.ts +2 -0
- package/dist/cards/impl/minion/twilight-primordium.js +24 -0
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.d.ts +2 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.js +14 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -0
- package/dist/cards/impl/minion/wandering-wight.d.ts +2 -0
- package/dist/cards/impl/minion/wandering-wight.js +12 -0
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -0
- package/dist/cards/impl/minion/whelp-smuggler.d.ts +2 -0
- package/dist/cards/impl/minion/whelp-smuggler.js +17 -0
- package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.d.ts +2 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.js +19 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -0
- package/dist/cards/impl/trinket/eternal-portrait.js +4 -2
- package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/holly-mallet.js +1 -1
- package/dist/cards/impl/trinket/holly-mallet.js.map +1 -1
- package/dist/{divine-shield.d.ts → keywords/divine-shield.d.ts} +11 -3
- package/dist/{divine-shield.js → keywords/divine-shield.js} +19 -14
- package/dist/keywords/divine-shield.js.map +1 -0
- package/dist/keywords/reborn.d.ts +10 -0
- package/dist/keywords/reborn.js +22 -0
- package/dist/keywords/reborn.js.map +1 -0
- package/dist/keywords/stealth.d.ts +10 -0
- package/dist/keywords/stealth.js +22 -0
- package/dist/keywords/stealth.js.map +1 -0
- package/dist/keywords/taunt.d.ts +10 -0
- package/dist/keywords/taunt.js +22 -0
- package/dist/keywords/taunt.js.map +1 -0
- package/dist/keywords/venomous.d.ts +10 -0
- package/dist/keywords/venomous.js +33 -0
- package/dist/keywords/venomous.js.map +1 -0
- package/dist/keywords/windfury.d.ts +10 -0
- package/dist/keywords/windfury.js +22 -0
- package/dist/keywords/windfury.js.map +1 -0
- package/dist/simulate-bgs-battle.d.ts +2 -2
- package/dist/simulate-bgs-battle.js +20 -5
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.d.ts +23 -0
- package/dist/simulation/add-minion-to-board.js +50 -33
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/after-attack.js +2 -1
- package/dist/simulation/after-attack.js.map +1 -1
- package/dist/simulation/attack.js +7 -24
- package/dist/simulation/attack.js.map +1 -1
- package/dist/simulation/auras.d.ts +1 -1
- package/dist/simulation/auras.js +21 -15
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/avenge.d.ts +7 -0
- package/dist/simulation/avenge.js +223 -229
- package/dist/simulation/avenge.js.map +1 -1
- package/dist/simulation/battlecries.d.ts +8 -0
- package/dist/simulation/battlecries.js +574 -623
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/blood-gems.js +1 -1
- package/dist/simulation/blood-gems.js.map +1 -1
- package/dist/simulation/cards-in-hand.d.ts +7 -1
- package/dist/simulation/cards-in-hand.js +14 -0
- package/dist/simulation/cards-in-hand.js.map +1 -1
- package/dist/simulation/damage-effects.js +1 -1
- package/dist/simulation/damage-effects.js.map +1 -1
- package/dist/simulation/deathrattle-effects.d.ts +1 -1
- package/dist/simulation/deathrattle-effects.js +468 -517
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-on-trigger.d.ts +1 -0
- package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.d.ts +2 -0
- package/dist/simulation/deathrattle-spawns.js +308 -384
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/deathrattle-utils.js +1 -1
- package/dist/simulation/deathrattle-utils.js.map +1 -1
- package/dist/simulation/frenzy.js +1 -1
- package/dist/simulation/frenzy.js.map +1 -1
- package/dist/simulation/magnetize.js.map +1 -1
- package/dist/simulation/on-attack.d.ts +13 -1
- package/dist/simulation/on-attack.js +21 -1
- package/dist/simulation/on-attack.js.map +1 -1
- package/dist/simulation/on-being-attacked.js +7 -4
- package/dist/simulation/on-being-attacked.js.map +1 -1
- package/dist/simulation/simulator.js +1 -1
- package/dist/simulation/simulator.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-action-processor.js +6 -12
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/simulation/stats.d.ts +9 -0
- package/dist/simulation/stats.js +23 -14
- package/dist/simulation/stats.js.map +1 -1
- package/dist/temp-card-ids.d.ts +70 -0
- package/dist/temp-card-ids.js.map +1 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.js +30 -36
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/divine-shield.js.map +0 -1
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BlessedOrBlighted = void 0;
|
|
4
|
-
const divine_shield_1 = require("../../../divine-shield");
|
|
4
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
5
|
+
const reborn_1 = require("../../../keywords/reborn");
|
|
5
6
|
exports.BlessedOrBlighted = {
|
|
6
7
|
startOfCombat: (trinket, input) => {
|
|
7
8
|
if (input.playerBoard.length > 0) {
|
|
8
9
|
const dsTarget = input.playerBoard[0];
|
|
9
10
|
(0, divine_shield_1.updateDivineShield)(dsTarget, input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);
|
|
10
11
|
const rebornTarget = input.playerBoard[input.playerBoard.length - 1];
|
|
11
|
-
rebornTarget.
|
|
12
|
+
(0, reborn_1.updateReborn)(rebornTarget, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
12
13
|
return true;
|
|
13
14
|
}
|
|
14
15
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blessed-or-blighted.js","sourceRoot":"","sources":["../../../../src/cards/impl/anomaly/blessed-or-blighted.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"blessed-or-blighted.js","sourceRoot":"","sources":["../../../../src/cards/impl/anomaly/blessed-or-blighted.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AACrE,qDAAwD;AAG3C,QAAA,iBAAiB,GAAG;IAChC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,kCAAkB,EACjB,QAAQ,EACR,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;YACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,IAAA,qBAAY,EACX,YAAY,EACZ,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const BlessedOrBlighted = {\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst dsTarget = input.playerBoard[0];\r\n\t\t\tupdateDivineShield(\r\n\t\t\t\tdsTarget,\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\tconst rebornTarget = input.playerBoard[input.playerBoard.length - 1];\r\n\t\t\tupdateReborn(\r\n\t\t\t\trebornTarget,\r\n\t\t\t\ttrue,\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\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boon-of-beetles.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/boon-of-beetles.ts"],"names":[],"mappings":";;;AAGa,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QAEvD,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardSecret } from '../../../board-secret';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const BoonOfBeetles = {\r\n\tstartOfCombat: (secret: BoardSecret, input: SoCInput) => {\r\n\t\t// Add the scriptDataNum1 only on the start of combat phase, so that it doesn't trigger too soon\r\n\t\tsecret.scriptDataNum1 =
|
|
1
|
+
{"version":3,"file":"boon-of-beetles.js","sourceRoot":"","sources":["../../../../src/cards/impl/bg-spell/boon-of-beetles.ts"],"names":[],"mappings":";;;AAGa,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QAEvD,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardSecret } from '../../../board-secret';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const BoonOfBeetles = {\r\n\tstartOfCombat: (secret: BoardSecret, input: SoCInput) => {\r\n\t\t// Add the scriptDataNum1 only on the start of combat phase, so that it doesn't trigger too soon\r\n\t\tsecret.scriptDataNum1 = 2;\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrystalInfuserEnchantment = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.CrystalInfuserEnchantment = {
|
|
6
|
+
cardIds: ["CrystalInfuserEnchantment", "CrystalInfuserEnchantment_G"],
|
|
7
|
+
deathrattleEnchantmentEffect: (enchantment, input) => {
|
|
8
|
+
const mult = enchantment.cardId === "CrystalInfuserEnchantment" ? 1 : 2;
|
|
9
|
+
const cards = [];
|
|
10
|
+
for (let i = 0; i < 2 * mult; i++) {
|
|
11
|
+
cards.push("BG20_GEM");
|
|
12
|
+
}
|
|
13
|
+
(0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=crystal-infuser-enchantment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crystal-infuser-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/crystal-infuser-enchantment.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAKtD,QAAA,yBAAyB,GAAqC;IAC1E,OAAO,EAAE,4DAAgF;IACzF,4BAA4B,EAAE,CAAC,WAA+B,EAAE,KAAgC,EAAE,EAAE;QACnG,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,gCAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,IAAI,YAAkB,CAAC;SAC7B;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { DeathrattleEnchantmentEffectCard } from '../../card.interface';\r\n\r\nexport const CrystalInfuserEnchantment: DeathrattleEnchantmentEffectCard = {\r\n\tcardIds: [TempCardIds.CrystalInfuserEnchantment, TempCardIds.CrystalInfuserEnchantment_G],\r\n\tdeathrattleEnchantmentEffect: (enchantment: { cardId: string }, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = enchantment.cardId === TempCardIds.CrystalInfuserEnchantment ? 1 : 2;\r\n\t\tconst cards = [];\r\n\t\tfor (let i = 0; i < 2 * mult; i++) {\r\n\t\t\tcards.push(CardIds.BloodGem);\r\n\t\t}\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RebornRites = void 0;
|
|
4
|
+
const reborn_1 = require("../../../keywords/reborn");
|
|
4
5
|
exports.RebornRites = {
|
|
5
6
|
startOfCombatTiming: 'pre-combat',
|
|
6
7
|
startOfCombat: (trinket, input) => {
|
|
@@ -10,7 +11,7 @@ exports.RebornRites = {
|
|
|
10
11
|
if (!target || target.reborn) {
|
|
11
12
|
return false;
|
|
12
13
|
}
|
|
13
|
-
target.
|
|
14
|
+
(0, reborn_1.updateReborn)(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
14
15
|
input.gameState.spectator.registerPowerTarget(input.playerEntity, target, input.playerBoard, input.playerEntity, input.opponentEntity);
|
|
15
16
|
return true;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reborn-rites.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/reborn-rites.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"reborn-rites.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/reborn-rites.ts"],"names":[],"mappings":";;;AACA,qDAAwD;AAI3C,QAAA,WAAW,GAAsB;IAC7C,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE;YACrC,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,aAAuB,CAAC;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBAC7B,OAAO,KAAK,CAAC;aACb;YAED,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const RebornRites: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerEntity.heroPowerUsed) {\r\n\t\t\tconst targetEntityId = input.playerEntity.heroPowerInfo as number;\r\n\t\t\tconst target = input.playerBoard.find((entity) => entity.entityId === targetEntityId);\r\n\t\t\tif (!target || target.reborn) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tupdateReborn(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tinput.playerEntity,\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);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SwattingInsects = void 0;
|
|
4
|
-
const divine_shield_1 = require("../../../divine-shield");
|
|
4
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
5
|
+
const taunt_1 = require("../../../keywords/taunt");
|
|
6
|
+
const windfury_1 = require("../../../keywords/windfury");
|
|
5
7
|
exports.SwattingInsects = {
|
|
6
8
|
startOfCombatTiming: 'pre-combat',
|
|
7
9
|
startOfCombat: (trinket, input) => {
|
|
8
10
|
if (input.playerBoard.length > 0) {
|
|
9
11
|
const firstEntity = input.playerBoard[0];
|
|
10
12
|
if (!firstEntity.windfury || !firstEntity.divineShield || !firstEntity.taunt) {
|
|
11
|
-
firstEntity.
|
|
12
|
-
firstEntity.
|
|
13
|
+
(0, windfury_1.updateWindfury)(firstEntity, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
14
|
+
(0, taunt_1.updateTaunt)(firstEntity, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
13
15
|
if (!firstEntity.divineShield) {
|
|
14
16
|
(0, divine_shield_1.updateDivineShield)(firstEntity, input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);
|
|
15
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swatting-insects.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/swatting-insects.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"swatting-insects.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/swatting-insects.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AACrE,mDAAsD;AACtD,yDAA4D;AAI/C,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC7E,IAAA,yBAAc,EACb,WAAW,EACX,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,IAAA,mBAAW,EACV,WAAW,EACX,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,WAAW,EACX,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const SwattingInsects: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst firstEntity = input.playerBoard[0];\r\n\t\t\tif (!firstEntity.windfury || !firstEntity.divineShield || !firstEntity.taunt) {\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\tfirstEntity,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tupdateTaunt(\r\n\t\t\t\t\tfirstEntity,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tif (!firstEntity.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\tfirstEntity,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tfirstEntity,\r\n\t\t\t\t\tfirstEntity,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,7 @@ exports.WaterInvocation = {
|
|
|
6
6
|
startOfCombatTiming: 'pre-combat',
|
|
7
7
|
startOfCombat: (trinket, input) => {
|
|
8
8
|
if (input.playerEntity.heroPowerUsed) {
|
|
9
|
-
(0, deathrattle_effects_1.applyWaterInvocationEnchantment)(input.playerBoard, input.playerEntity, null, input.playerEntity, input.gameState);
|
|
9
|
+
(0, deathrattle_effects_1.applyWaterInvocationEnchantment)(input.playerBoard, input.playerEntity, null, null, input.playerEntity, input.gameState);
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
12
12
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"water-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/water-invocation.ts"],"names":[],"mappings":";;;AACA,iFAA0F;AAI7E,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE;YACrC,IAAA,qDAA+B,EAC9B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyWaterInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const WaterInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerEntity.heroPowerUsed) {\r\n\t\t\tapplyWaterInvocationEnchantment(\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tnull,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"water-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/water-invocation.ts"],"names":[],"mappings":";;;AACA,iFAA0F;AAI7E,QAAA,eAAe,GAAsB;IACjD,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE;YACrC,IAAA,qDAA+B,EAC9B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyWaterInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const WaterInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerEntity.heroPowerUsed) {\r\n\t\t\tapplyWaterInvocationEnchantment(\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tnull,\r\n\t\t\t\tnull,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AmberGuardian = void 0;
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
-
const divine_shield_1 = require("../../../divine-shield");
|
|
5
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
6
6
|
const utils_1 = require("../../../services/utils");
|
|
7
7
|
const stats_1 = require("../../../simulation/stats");
|
|
8
8
|
const utils_2 = require("../../../utils");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,
|
|
1
|
+
{"version":3,"file":"amber-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/amber-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AACrE,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC5F,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAChB,MAAA,IAAA,kBAAU,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,mCAAI,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;YAC/F,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC9B,IAAA,kCAAkB,EACjB,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;gBACD,IAAA,mBAAW,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,WAAW,EACX,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;aACpE;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const AmberGuardian = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// First try to get a target without divine shield, and if none is available, pick one with divine shield\r\n\t\tconst otherDragons = input.playerBoard\r\n\t\t\t.filter((e) => hasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.allCards))\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId);\r\n\t\tconst loops = minion.cardId === CardIds.AmberGuardian_BG24_500_G ? 2 : 1;\r\n\t\tconst dragonsToConsider = otherDragons;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst otherDragon =\r\n\t\t\t\tpickRandom(dragonsToConsider.filter((e) => !e.divineShield)) ?? pickRandom(dragonsToConsider);\r\n\t\t\tif (otherDragon) {\r\n\t\t\t\tif (!otherDragon.divineShield) {\r\n\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\totherDragon,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tmodifyStats(otherDragon, 3, 3, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\totherDragon,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t\tdragonsToConsider.splice(dragonsToConsider.indexOf(otherDragon), 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArcaneCannoneer = void 0;
|
|
4
|
+
const attack_1 = require("../../../simulation/attack");
|
|
5
|
+
exports.ArcaneCannoneer = {
|
|
6
|
+
cardIds: ["ArcaneCannoneer", "ArcaneCannoneer_G"],
|
|
7
|
+
onAttack: (minion, input) => {
|
|
8
|
+
const baseBuff = minion.scriptDataNum1;
|
|
9
|
+
const mult = minion.cardId === "ArcaneCannoneer_G" ? 2 : 1;
|
|
10
|
+
const buff = baseBuff * mult;
|
|
11
|
+
(0, attack_1.dealDamageToMinion)(input.defendingEntity, input.defendingBoard, input.defendingHero, minion, 1 * buff, input.attackingBoard, input.attackingHero, input.gameState);
|
|
12
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=arcane-cannoneer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcane-cannoneer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/arcane-cannoneer.ts"],"names":[],"mappings":";;;AACA,uDAAgE;AAKnD,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,wCAA4D;IACrE,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,wBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAA,2BAAkB,EACjB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,MAAM,EACN,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const ArcaneCannoneer: OnAttackCard = {\r\n\tcardIds: [TempCardIds.ArcaneCannoneer, TempCardIds.ArcaneCannoneer_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst baseBuff = minion.scriptDataNum1;\r\n\t\tconst mult = minion.cardId === TempCardIds.ArcaneCannoneer_G ? 2 : 1;\r\n\t\tconst buff = baseBuff * mult;\r\n\t\tdealDamageToMinion(\r\n\t\t\tinput.defendingEntity,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tminion,\r\n\t\t\t1 * buff,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Banerboar = void 0;
|
|
4
|
+
const attack_1 = require("../../../simulation/attack");
|
|
5
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
6
|
+
exports.Banerboar = {
|
|
7
|
+
cardIds: ["", ""],
|
|
8
|
+
endOfTurn: (minion, input) => {
|
|
9
|
+
const mult = minion.cardId === "" ? 1 : 2;
|
|
10
|
+
const neighbors = (0, attack_1.getNeighbours)(input.board, minion);
|
|
11
|
+
for (const neighbor of neighbors) {
|
|
12
|
+
(0, blood_gems_1.playBloodGemsOn)(minion, neighbor, 1 * mult, input.board, input.hero, input.gameState, true);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=bannerboar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bannerboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bannerboar.ts"],"names":[],"mappings":";;;AACA,uDAA2D;AAC3D,+DAAiE;AAIpD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,QAAgD;IACzD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,OAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YACjC,IAAA,4BAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAC5F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const Banerboar: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.Banerboar, TempCardIds.Banerboar_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.Banerboar ? 1 : 2;\r\n\t\tconst neighbors = getNeighbours(input.board, minion);\r\n\t\tfor (const neighbor of neighbors) {\r\n\t\t\tplayBloodGemsOn(minion, neighbor, 1 * mult, input.board, input.hero, input.gameState, true);\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.Beetle = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.Beetle = {
|
|
6
|
+
cardIds: ["BeetleToken", "BeetleToken_G"],
|
|
7
|
+
onSpawned: (minion, input) => {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
(0, stats_1.modifyStats)(minion, 2 * ((_a = input.hero.globalInfo.BeetleAttackBuff) !== null && _a !== void 0 ? _a : 0), 1 * ((_b = input.hero.globalInfo.BeetleHealthBuff) !== null && _b !== void 0 ? _b : 0), input.playerBoard, input.hero, input.board);
|
|
10
|
+
},
|
|
11
|
+
onDespawned: (minion, input) => {
|
|
12
|
+
minion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);
|
|
13
|
+
minion.health = Math.max(1, minion.health - input.hero.globalInfo.BeetleHealthBuff);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=beetle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAI3C,QAAA,MAAM,GAAoC;IACtD,OAAO,EAAE,gCAAoD;IAC7D,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,CACX,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const Beetle: OnSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [TempCardIds.BeetleToken, TempCardIds.BeetleToken_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\t2 * (input.hero.globalInfo.BeetleAttackBuff ?? 0),\r\n\t\t\t1 * (input.hero.globalInfo.BeetleHealthBuff ?? 0),\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.board,\r\n\t\t);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tminion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);\r\n\t\tminion.health = Math.max(1, minion.health - input.hero.globalInfo.BeetleHealthBuff);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BirdBuddy = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.BirdBuddy = {
|
|
7
|
+
cardIds: ["BG21_002", "BG21_002_G"],
|
|
8
|
+
baseAvengeValue: (cardId) => 1,
|
|
9
|
+
avenge: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG21_002_G" ? 2 : 1;
|
|
11
|
+
(0, utils_1.addStatsToBoard)(minion, input.board, input.hero, 1 * mult, 1 * mult, input.gameState, reference_data_1.Race[reference_data_1.Race.BEAST]);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=bird-buddy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bird-buddy.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bird-buddy.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,SAAS,GAAe;IACpC,OAAO,EAAE,0BAA0D;IACnE,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const BirdBuddy: AvengeCard = {\r\n\tcardIds: [CardIds.BirdBuddy_BG21_002, CardIds.BirdBuddy_BG21_002_G],\r\n\tbaseAvengeValue: (cardId: string) => 1,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BirdBuddy_BG21_002_G ? 2 : 1;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, 1 * mult, 1 * mult, input.gameState, Race[Race.BEAST]);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlazingSkyfin = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.BlazingSkyfin = {
|
|
6
|
+
cardIds: ["BG25_040", "BG25_040_G"],
|
|
7
|
+
onBattlecryTriggered: (minion, input) => {
|
|
8
|
+
const buff = minion.cardId === "BG25_040" ? 1 : 2;
|
|
9
|
+
(0, stats_1.modifyStats)(minion, buff, buff, input.board, input.hero, input.gameState);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=blazing-skyfin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blazing-skyfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/blazing-skyfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,0BAAkE;IAC3E,oBAAoB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnBattlecryTriggeredCard } from '../../card.interface';\r\n\r\nexport const BlazingSkyfin: OnBattlecryTriggeredCard = {\r\n\tcardIds: [CardIds.BlazingSkyfin_BG25_040, CardIds.BlazingSkyfin_BG25_040_G],\r\n\tonBattlecryTriggered: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.BlazingSkyfin_BG25_040 ? 1 : 2;\r\n\t\tmodifyStats(minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BoarGamer = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.BoarGamer = {
|
|
6
|
+
cardIds: ["", ""],
|
|
7
|
+
endOfTurn: (minion, input) => {
|
|
8
|
+
const cards = minion.cardId === "" ? [null, null] : [null];
|
|
9
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=boar-gamer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boar-gamer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/boar-gamer.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAItD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,QAAgD;IACzD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,OAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BoarGamer: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.BoarGamer, TempCardIds.BoarGamer_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards = minion.cardId === TempCardIds.GemRat_G ? [null, null] : [null];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BubbleGunner = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
6
|
+
const reborn_1 = require("../../../keywords/reborn");
|
|
7
|
+
const stealth_1 = require("../../../keywords/stealth");
|
|
8
|
+
const taunt_1 = require("../../../keywords/taunt");
|
|
9
|
+
const venomous_1 = require("../../../keywords/venomous");
|
|
10
|
+
const windfury_1 = require("../../../keywords/windfury");
|
|
11
|
+
const utils_1 = require("../../../services/utils");
|
|
12
|
+
const cards_data_1 = require("../../cards-data");
|
|
13
|
+
exports.BubbleGunner = {
|
|
14
|
+
cardIds: ["BubbleGunner", "BubbleGunner_G"],
|
|
15
|
+
battlecry: (minion, input) => {
|
|
16
|
+
let possibleKeywords = [...cards_data_1.validBonusKeywords];
|
|
17
|
+
const iterations = minion.cardId === "BubbleGunner_G" ? 2 : 1;
|
|
18
|
+
for (let i = 0; i < iterations; i++) {
|
|
19
|
+
const targetKeyword = (0, utils_1.pickRandom)(possibleKeywords);
|
|
20
|
+
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);
|
|
21
|
+
switch (targetKeyword) {
|
|
22
|
+
case reference_data_1.GameTag.DIVINE_SHIELD:
|
|
23
|
+
(0, divine_shield_1.updateDivineShield)(minion, input.board, input.hero, input.otherHero, true, input.gameState);
|
|
24
|
+
break;
|
|
25
|
+
case reference_data_1.GameTag.TAUNT:
|
|
26
|
+
(0, taunt_1.updateTaunt)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
27
|
+
break;
|
|
28
|
+
case reference_data_1.GameTag.VENOMOUS:
|
|
29
|
+
(0, venomous_1.updateVenomous)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
30
|
+
break;
|
|
31
|
+
case reference_data_1.GameTag.WINDFURY:
|
|
32
|
+
(0, windfury_1.updateWindfury)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
33
|
+
break;
|
|
34
|
+
case reference_data_1.GameTag.STEALTH:
|
|
35
|
+
(0, stealth_1.updateStealth)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
36
|
+
break;
|
|
37
|
+
case reference_data_1.GameTag.REBORN:
|
|
38
|
+
(0, reborn_1.updateReborn)(minion, true, input.board, input.hero, input.otherHero, input.gameState);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=bubble-gunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AAEvD,mEAAqE;AACrE,qDAAwD;AACxD,uDAA0D;AAC1D,mDAAsD;AACtD,yDAA4D;AAC5D,yDAA4D;AAC5D,mDAAqD;AAIrD,iDAAsD;AAEzC,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,kCAAsD;IAC/D,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAI,gBAAgB,GAAG,CAAC,GAAG,+BAAkB,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,qBAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;YACnD,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC;YACnG,QAAQ,aAAa,EAAE;gBACtB,KAAK,wBAAO,CAAC,aAAa;oBACzB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC5F,MAAM;gBACP,KAAK,wBAAO,CAAC,KAAK;oBACjB,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACrF,MAAM;gBACP,KAAK,wBAAO,CAAC,QAAQ;oBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACP,KAAK,wBAAO,CAAC,QAAQ;oBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACP,KAAK,wBAAO,CAAC,OAAO;oBACnB,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACvF,MAAM;gBACP,KAAK,wBAAO,CAAC,MAAM;oBAClB,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACtF,MAAM;aACP;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateStealth } from '../../../keywords/stealth';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { validBonusKeywords } from '../../cards-data';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [TempCardIds.BubbleGunner, TempCardIds.BubbleGunner_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tlet possibleKeywords = [...validBonusKeywords];\r\n\t\tconst iterations = minion.cardId === TempCardIds.BubbleGunner_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < iterations; i++) {\r\n\t\t\tconst targetKeyword = pickRandom(possibleKeywords);\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);\r\n\t\t\tswitch (targetKeyword) {\r\n\t\t\t\tcase GameTag.DIVINE_SHIELD:\r\n\t\t\t\t\tupdateDivineShield(minion, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.TAUNT:\r\n\t\t\t\t\tupdateTaunt(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.VENOMOUS:\r\n\t\t\t\t\tupdateVenomous(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.WINDFURY:\r\n\t\t\t\t\tupdateWindfury(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.STEALTH:\r\n\t\t\t\t\tupdateStealth(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.REBORN:\r\n\t\t\t\t\tupdateReborn(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\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.BuzzingVermin = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.BuzzingVermin = {
|
|
6
|
+
cardIds: ["BuzzingVermin", "BuzzingVermin_G"],
|
|
7
|
+
deathrattleSpawn: (deadEntity, input) => {
|
|
8
|
+
const numberOfSpawns = deadEntity.cardId === "BuzzingVermin_G" ? 2 : 1;
|
|
9
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BeetleToken", numberOfSpawns, input);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=buzzing-vermin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buzzing-vermin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/buzzing-vermin.ts"],"names":[],"mappings":";;;AAEA,+EAAiF;AAIpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,oCAAwD;IACjE,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,sBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,IAAA,4CAAuB,iBAA0B,cAAc,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const BuzzingVermin: DeathrattleSpawnCard = {\r\n\tcardIds: [TempCardIds.BuzzingVermin, TempCardIds.BuzzingVermin_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === TempCardIds.BuzzingVermin_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(TempCardIds.BeetleToken, numberOfSpawns, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CadaverCaretaker = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.CadaverCaretaker = {
|
|
6
|
+
cardIds: ["BG30_125", "BG30_125_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG30_125_G" ? 2 : 1;
|
|
9
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG_ICC_026t", 3 * mult, input);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=cadaver-caretaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cadaver-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/cadaver-caretaker.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAA,4CAAuB,iBAAwB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const CadaverCaretaker: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.CadaverCaretaker_BG30_125, CardIds.CadaverCaretaker_BG30_125_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.CadaverCaretaker_BG30_125_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.SkeletonToken, 3 * mult, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClunkerJunker = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../services/utils");
|
|
6
|
+
const magnetize_1 = require("../../../simulation/magnetize");
|
|
7
|
+
const utils_2 = require("../../../utils");
|
|
8
|
+
exports.ClunkerJunker = {
|
|
9
|
+
cardIds: ["BG29_503", "BG29_503_G"],
|
|
10
|
+
battlecry: (minion, input) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const boardWithMechs = input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MECH, input.gameState.allCards));
|
|
13
|
+
const junkerTarget = (0, utils_1.pickRandom)(boardWithMechs);
|
|
14
|
+
if (junkerTarget) {
|
|
15
|
+
const numberOfMagnetizes = minion.cardId === "BG29_503" ? 1 : 2;
|
|
16
|
+
for (let i = 0; i < numberOfMagnetizes; i++) {
|
|
17
|
+
const minionToMagnetize = input.gameState.cardsData.getRandomMechToMagnetize((_a = input.hero.tavernTier) !== null && _a !== void 0 ? _a : 1);
|
|
18
|
+
input.gameState.spectator.registerPowerTarget(minion, junkerTarget, input.board, null, null);
|
|
19
|
+
(0, magnetize_1.magnetizeToTarget)(junkerTarget, minionToMagnetize, input.board, input.hero, input.gameState);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=clunker-junker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clunker-junker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/clunker-junker.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,6DAAkE;AAClE,0CAAiD;AAGpC,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnE,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,cAAc,CAAC,CAAC;QAChD,IAAI,YAAY,EAAE;YACjB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,eAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAC3E,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAC1B,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC7F,IAAA,6BAAiB,EAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7F;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const ClunkerJunker: BattlecryCard = {\r\n\tcardIds: [CardIds.ClunkerJunker_BG29_503, CardIds.ClunkerJunker_BG29_503_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst boardWithMechs = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.MECH, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst junkerTarget = pickRandom(boardWithMechs);\r\n\t\tif (junkerTarget) {\r\n\t\t\tconst numberOfMagnetizes = minion.cardId === CardIds.ClunkerJunker_BG29_503 ? 1 : 2;\r\n\t\t\tfor (let i = 0; i < numberOfMagnetizes; i++) {\r\n\t\t\t\tconst minionToMagnetize = input.gameState.cardsData.getRandomMechToMagnetize(\r\n\t\t\t\t\tinput.hero.tavernTier ?? 1,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, junkerTarget, input.board, null, null);\r\n\t\t\t\tmagnetizeToTarget(junkerTarget, minionToMagnetize, 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,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeathlyStriker = 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 deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
7
|
+
exports.DeathlyStriker = {
|
|
8
|
+
cardIds: ["", ""],
|
|
9
|
+
baseAvengeValue: (cardId) => 4,
|
|
10
|
+
avenge: (minion, input) => {
|
|
11
|
+
const mult = minion.cardId === "" ? 1 : 2;
|
|
12
|
+
const cards = [];
|
|
13
|
+
for (let i = 0; i < mult; i++) {
|
|
14
|
+
cards.push(input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.UNDEAD, input.hero.tavernTier));
|
|
15
|
+
}
|
|
16
|
+
const addedCards = (0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
17
|
+
for (const card of addedCards) {
|
|
18
|
+
card.locked = false;
|
|
19
|
+
card.lastAffectedByEntity = minion;
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
deathrattleSpawn: (minion, input) => {
|
|
23
|
+
const targets = input.boardWithDeadEntityHero.hand.filter((e) => { var _a; return !e.locked && ((_a = e.lastAffectedByEntity) === null || _a === void 0 ? void 0 : _a.entityId) === minion.entityId; });
|
|
24
|
+
const spawned = [];
|
|
25
|
+
for (const target of targets) {
|
|
26
|
+
spawned.push(...(0, deathrattle_spawns_1.simplifiedSpawnEntities)(target.cardId, 1, input, { ...target }));
|
|
27
|
+
target.locked = true;
|
|
28
|
+
}
|
|
29
|
+
return spawned;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=deathly-striker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deathly-striker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/deathly-striker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qEAAmE;AAEnE,+EAAiF;AAIpE,QAAA,cAAc,GAAsC;IAChE,OAAO,EAAE,QAA0D;IACnE,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,OAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SAClG;QACD,MAAM,UAAU,GAAG,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;SACnC;IACF,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,OAAO,GAAG,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,CAAC,MAAM,IAAI,CAAA,MAAA,CAAC,CAAC,oBAAoB,0CAAE,QAAQ,MAAK,MAAM,CAAC,QAAQ,CAAA,EAAA,CACxE,CAAC;QACF,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,4CAAuB,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACrB;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { AvengeCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const DeathlyStriker: AvengeCard & DeathrattleSpawnCard = {\r\n\tcardIds: [TempCardIds.DeathlyStriker, TempCardIds.DeathlyStriker_G],\r\n\tbaseAvengeValue: (cardId: string) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.DeathlyStriker ? 1 : 2;\r\n\t\tconst cards = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tcards.push(input.gameState.cardsData.getRandomMinionForTribe(Race.UNDEAD, input.hero.tavernTier));\r\n\t\t}\r\n\t\tconst addedCards = addCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t\tfor (const card of addedCards) {\r\n\t\t\tcard.locked = false;\r\n\t\t\tcard.lastAffectedByEntity = minion;\r\n\t\t}\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst targets = input.boardWithDeadEntityHero.hand.filter(\r\n\t\t\t(e) => !e.locked && e.lastAffectedByEntity?.entityId === minion.entityId,\r\n\t\t);\r\n\t\tconst spawned: BoardEntity[] = [];\r\n\t\tfor (const target of targets) {\r\n\t\t\tspawned.push(...simplifiedSpawnEntities(target.cardId, 1, input, { ...target }));\r\n\t\t\ttarget.locked = true;\r\n\t\t}\r\n\t\treturn spawned;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeflectoBot = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
6
|
+
const stats_1 = require("../../../simulation/stats");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
exports.DeflectoBot = {
|
|
9
|
+
cardIds: ["BGS_071", "TB_BaconUps_123"],
|
|
10
|
+
onOtherSpawned: (minion, input) => {
|
|
11
|
+
if ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.MECH, input.gameState.allCards)) {
|
|
12
|
+
const statsBonus = minion.cardId === "TB_BaconUps_123" ? 4 : 2;
|
|
13
|
+
if (!minion.divineShield) {
|
|
14
|
+
(0, divine_shield_1.updateDivineShield)(minion, input.board, input.hero, input.otherHero, true, input.gameState);
|
|
15
|
+
}
|
|
16
|
+
(0, stats_1.modifyStats)(minion, statsBonus, 0, input.board, input.hero, input.gameState);
|
|
17
|
+
input.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, input.otherHero);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=deflecto-bot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deflecto-bot.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/deflecto-bot.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AAErE,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,WAAW,GAAuB;IAC9C,OAAO,EAAE,8BAAkE;IAC3E,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,IAAI,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,sBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACzB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC5F;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7E,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACxG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const DeflectoBot: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.DeflectOBot_BGS_071, CardIds.DeflectOBot_TB_BaconUps_123],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tif (hasCorrectTribe(input.spawned, input.hero, Race.MECH, input.gameState.allCards)) {\r\n\t\t\tconst statsBonus = minion.cardId === CardIds.DeflectOBot_TB_BaconUps_123 ? 4 : 2;\r\n\t\t\tif (!minion.divineShield) {\r\n\t\t\t\tupdateDivineShield(minion, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\t}\r\n\t\t\tmodifyStats(minion, statsBonus, 0, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, minion, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|