@firestone-hs/simulate-bgs-battle 1.1.600 → 1.1.602
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bgs-player-entity.d.ts +2 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/board-entity.d.ts +10 -9
- package/dist/board-entity.js.map +1 -1
- package/dist/cards/card.interface.d.ts +7 -7
- package/dist/cards/card.interface.js +3 -3
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/cards-data.d.ts +1 -0
- package/dist/cards/cards-data.js +8 -10
- package/dist/cards/cards-data.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +112 -2
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/minion/all-seeing-elder.d.ts +2 -0
- package/dist/cards/impl/minion/all-seeing-elder.js +18 -0
- package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -0
- package/dist/cards/impl/minion/avalanche-caller.d.ts +2 -0
- package/dist/cards/impl/minion/avalanche-caller.js +14 -0
- package/dist/cards/impl/minion/avalanche-caller.js.map +1 -0
- package/dist/cards/impl/minion/bigwig-bandit.d.ts +2 -0
- package/dist/cards/impl/minion/bigwig-bandit.js +14 -0
- package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -0
- package/dist/cards/impl/minion/bile-spitter.d.ts +2 -0
- package/dist/cards/impl/minion/bile-spitter.js +28 -0
- package/dist/cards/impl/minion/bile-spitter.js.map +1 -0
- package/dist/cards/impl/minion/bloodsnout-warlord.d.ts +2 -0
- package/dist/cards/impl/minion/bloodsnout-warlord.js +18 -0
- package/dist/cards/impl/minion/bloodsnout-warlord.js.map +1 -0
- package/dist/cards/impl/minion/blue-whelp.d.ts +2 -0
- package/dist/cards/impl/minion/blue-whelp.js +15 -0
- package/dist/cards/impl/minion/blue-whelp.js.map +1 -0
- package/dist/cards/impl/minion/campfire-shadow.d.ts +2 -0
- package/dist/cards/impl/minion/campfire-shadow.js +20 -0
- package/dist/cards/impl/minion/campfire-shadow.js.map +1 -0
- package/dist/cards/impl/minion/canopy-swinger.d.ts +2 -0
- package/dist/cards/impl/minion/canopy-swinger.js +19 -0
- package/dist/cards/impl/minion/canopy-swinger.js.map +1 -0
- package/dist/cards/impl/minion/carapace-raiser.d.ts +2 -0
- package/dist/cards/impl/minion/carapace-raiser.js +14 -0
- package/dist/cards/impl/minion/carapace-raiser.js.map +1 -0
- package/dist/cards/impl/minion/charmwing.d.ts +2 -0
- package/dist/cards/impl/minion/charmwing.js +29 -0
- package/dist/cards/impl/minion/charmwing.js.map +1 -0
- package/dist/cards/impl/minion/coldlight-diver.d.ts +2 -0
- package/dist/cards/impl/minion/coldlight-diver.js +20 -0
- package/dist/cards/impl/minion/coldlight-diver.js.map +1 -0
- package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/cupcake-peddler.d.ts +2 -0
- package/dist/cards/impl/minion/cupcake-peddler.js +14 -0
- package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -0
- package/dist/cards/impl/minion/deathly-striker.js +1 -1
- package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
- package/dist/cards/impl/minion/devout-hellcaller.d.ts +2 -0
- package/dist/cards/impl/minion/devout-hellcaller.js +17 -0
- package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -0
- package/dist/cards/impl/minion/drakkari-embalmer.d.ts +2 -0
- package/dist/cards/impl/minion/drakkari-embalmer.js +24 -0
- package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -0
- package/dist/cards/impl/minion/exceptionnal-caretaker.d.ts +2 -0
- package/dist/cards/impl/minion/exceptionnal-caretaker.js +37 -0
- package/dist/cards/impl/minion/exceptionnal-caretaker.js.map +1 -0
- package/dist/cards/impl/minion/fauna-whisperer.js +11 -8
- package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -1
- package/dist/cards/impl/minion/fire-forged-evoker.js +1 -1
- package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -1
- package/dist/cards/impl/minion/flotsam-flinger.d.ts +2 -0
- package/dist/cards/impl/minion/flotsam-flinger.js +17 -0
- package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -0
- package/dist/cards/impl/minion/friendly-geist.d.ts +2 -0
- package/dist/cards/impl/minion/friendly-geist.js +12 -0
- package/dist/cards/impl/minion/friendly-geist.js.map +1 -0
- package/dist/cards/impl/minion/geared-guard.d.ts +2 -0
- package/dist/cards/impl/minion/geared-guard.js +23 -0
- package/dist/cards/impl/minion/geared-guard.js.map +1 -0
- package/dist/cards/impl/minion/gleaming-trader.d.ts +2 -0
- package/dist/cards/impl/minion/gleaming-trader.js +13 -0
- package/dist/cards/impl/minion/gleaming-trader.js.map +1 -0
- package/dist/cards/impl/minion/goldgrubber.js +1 -1
- package/dist/cards/impl/minion/goldgrubber.js.map +1 -1
- package/dist/cards/impl/minion/greedy-snaketongue.d.ts +2 -0
- package/dist/cards/impl/minion/greedy-snaketongue.js +17 -0
- package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -0
- package/dist/cards/impl/minion/greenskeeper.d.ts +2 -2
- package/dist/cards/impl/minion/greenskeeper.js +3 -2
- package/dist/cards/impl/minion/greenskeeper.js.map +1 -1
- package/dist/cards/impl/minion/hoarding-hatespawn.js +1 -1
- package/dist/cards/impl/minion/hoarding-hatespawn.js.map +1 -1
- package/dist/cards/impl/minion/hog-watcher.d.ts +2 -0
- package/dist/cards/impl/minion/hog-watcher.js +20 -0
- package/dist/cards/impl/minion/hog-watcher.js.map +1 -0
- package/dist/cards/impl/minion/hot-springer.d.ts +2 -0
- package/dist/cards/impl/minion/hot-springer.js +19 -0
- package/dist/cards/impl/minion/hot-springer.js.map +1 -0
- package/dist/cards/impl/minion/lightfeather-screecher.d.ts +2 -0
- package/dist/cards/impl/minion/lightfeather-screecher.js +23 -0
- package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -0
- package/dist/cards/impl/minion/lokholar-frostforger.d.ts +1 -1
- package/dist/cards/impl/minion/lokholar-frostforger.js +3 -3
- package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -1
- package/dist/cards/impl/minion/lord-of-the-ruins.d.ts +2 -0
- package/dist/cards/impl/minion/lord-of-the-ruins.js +19 -0
- package/dist/cards/impl/minion/lord-of-the-ruins.js.map +1 -0
- package/dist/cards/impl/minion/lost-city-looter.d.ts +2 -0
- package/dist/cards/impl/minion/lost-city-looter.js +13 -0
- package/dist/cards/impl/minion/lost-city-looter.js.map +1 -0
- package/dist/cards/impl/minion/monstrous-macaw.d.ts +2 -2
- package/dist/cards/impl/minion/monstrous-macaw.js +3 -2
- package/dist/cards/impl/minion/monstrous-macaw.js.map +1 -1
- package/dist/cards/impl/minion/nimble-hatchling.d.ts +2 -0
- package/dist/cards/impl/minion/nimble-hatchling.js +14 -0
- package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -0
- package/dist/cards/impl/minion/noisul-of-the-many-faces.js +1 -1
- package/dist/cards/impl/minion/noisul-of-the-many-faces.js.map +1 -1
- package/dist/cards/impl/minion/oranomonos-the-wilted.d.ts +2 -0
- package/dist/cards/impl/minion/oranomonos-the-wilted.js +11 -0
- package/dist/cards/impl/minion/oranomonos-the-wilted.js.map +1 -0
- package/dist/cards/impl/minion/poultron.d.ts +2 -0
- package/dist/cards/impl/minion/poultron.js +20 -0
- package/dist/cards/impl/minion/poultron.js.map +1 -0
- package/dist/cards/impl/minion/primeval-monstrosity.d.ts +2 -0
- package/dist/cards/impl/minion/primeval-monstrosity.js +16 -0
- package/dist/cards/impl/minion/primeval-monstrosity.js.map +1 -0
- package/dist/cards/impl/minion/prodigious-tusker.d.ts +2 -0
- package/dist/cards/impl/minion/prodigious-tusker.js +16 -0
- package/dist/cards/impl/minion/prodigious-tusker.js.map +1 -0
- package/dist/cards/impl/minion/raptor-elder.d.ts +2 -0
- package/dist/cards/impl/minion/raptor-elder.js +42 -0
- package/dist/cards/impl/minion/raptor-elder.js.map +1 -0
- package/dist/cards/impl/minion/razorfen-vineweaver.d.ts +2 -0
- package/dist/cards/impl/minion/razorfen-vineweaver.js +16 -0
- package/dist/cards/impl/minion/razorfen-vineweaver.js.map +1 -0
- package/dist/cards/impl/minion/red-whelp.js +1 -1
- package/dist/cards/impl/minion/red-whelp.js.map +1 -1
- package/dist/cards/impl/minion/ride-or-die.d.ts +2 -0
- package/dist/cards/impl/minion/ride-or-die.js +35 -0
- package/dist/cards/impl/minion/ride-or-die.js.map +1 -0
- package/dist/cards/impl/minion/roadboar.d.ts +2 -0
- package/dist/cards/impl/minion/roadboar.js +17 -0
- package/dist/cards/impl/minion/roadboar.js.map +1 -0
- package/dist/cards/impl/minion/ruins-renovator.d.ts +2 -0
- package/dist/cards/impl/minion/ruins-renovator.js +17 -0
- package/dist/cards/impl/minion/ruins-renovator.js.map +1 -0
- package/dist/cards/impl/minion/sanctum-rester.js +1 -1
- package/dist/cards/impl/minion/sanctum-rester.js.map +1 -1
- package/dist/cards/impl/minion/sanguine-refiner.d.ts +2 -0
- package/dist/cards/impl/minion/sanguine-refiner.js +16 -0
- package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -0
- package/dist/cards/impl/minion/scourge-harvester.d.ts +2 -0
- package/dist/cards/impl/minion/scourge-harvester.js +16 -0
- package/dist/cards/impl/minion/scourge-harvester.js.map +1 -0
- package/dist/cards/impl/minion/sharp-eyed-sabretooth.d.ts +2 -0
- package/dist/cards/impl/minion/sharp-eyed-sabretooth.js +20 -0
- package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -0
- package/dist/cards/impl/minion/ship-master-eudora.d.ts +2 -0
- package/dist/cards/impl/minion/ship-master-eudora.js +13 -0
- package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -0
- package/dist/cards/impl/minion/shipwrecked-rascal.d.ts +2 -0
- package/dist/cards/impl/minion/shipwrecked-rascal.js +20 -0
- package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -0
- package/dist/cards/impl/minion/silent-enforcer.d.ts +2 -0
- package/dist/cards/impl/minion/silent-enforcer.js +23 -0
- package/dist/cards/impl/minion/silent-enforcer.js.map +1 -0
- package/dist/cards/impl/minion/sleepy-supporter.d.ts +2 -0
- package/dist/cards/impl/minion/sleepy-supporter.js +24 -0
- package/dist/cards/impl/minion/sleepy-supporter.js.map +1 -0
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.d.ts +2 -0
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.js +32 -0
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/stomping-stegodon.d.ts +2 -0
- package/dist/cards/impl/minion/stomping-stegodon.js +29 -0
- package/dist/cards/impl/minion/stomping-stegodon.js.map +1 -0
- package/dist/cards/impl/minion/stray-satyr.d.ts +2 -0
- package/dist/cards/impl/minion/stray-satyr.js +16 -0
- package/dist/cards/impl/minion/stray-satyr.js.map +1 -0
- package/dist/cards/impl/minion/tusked-camper.d.ts +2 -0
- package/dist/cards/impl/minion/tusked-camper.js +16 -0
- package/dist/cards/impl/minion/tusked-camper.js.map +1 -0
- package/dist/cards/impl/minion/twilight-watcher.d.ts +2 -0
- package/dist/cards/impl/minion/twilight-watcher.js +21 -0
- package/dist/cards/impl/minion/twilight-watcher.js.map +1 -0
- package/dist/cards/impl/minion/vengeful-protector.d.ts +2 -0
- package/dist/cards/impl/minion/vengeful-protector.js +19 -0
- package/dist/cards/impl/minion/vengeful-protector.js.map +1 -0
- package/dist/cards/impl/minion/void-earl.d.ts +2 -0
- package/dist/cards/impl/minion/void-earl.js +12 -0
- package/dist/cards/impl/minion/void-earl.js.map +1 -0
- package/dist/cards/impl/minion/whirring-protector-enchantment.d.ts +2 -0
- package/dist/cards/impl/minion/whirring-protector-enchantment.js +19 -0
- package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/whirring-protector.d.ts +2 -0
- package/dist/cards/impl/minion/whirring-protector.js +16 -0
- package/dist/cards/impl/minion/whirring-protector.js.map +1 -0
- package/dist/cards/impl/minion/wrathscale-rogue.d.ts +2 -0
- package/dist/cards/impl/minion/wrathscale-rogue.js +20 -0
- package/dist/cards/impl/minion/wrathscale-rogue.js.map +1 -0
- package/dist/cards/impl/minion/yorik-smite.d.ts +2 -0
- package/dist/cards/impl/minion/yorik-smite.js +16 -0
- package/dist/cards/impl/minion/yorik-smite.js.map +1 -0
- package/dist/cards/impl/minion/young-murk-eye.d.ts +2 -0
- package/dist/cards/impl/minion/young-murk-eye.js +22 -0
- package/dist/cards/impl/minion/young-murk-eye.js.map +1 -0
- package/dist/cards/impl/minion/yrel.d.ts +2 -0
- package/dist/cards/impl/minion/yrel.js +16 -0
- package/dist/cards/impl/minion/yrel.js.map +1 -0
- package/dist/cards/impl/quest-reward/stand-as-one.d.ts +2 -0
- package/dist/cards/impl/quest-reward/stand-as-one.js +18 -0
- package/dist/cards/impl/quest-reward/stand-as-one.js.map +1 -0
- package/dist/cards/impl/trinket/eternal-portrait.d.ts +1 -1
- package/dist/cards/impl/trinket/eternal-portrait.js +1 -1
- package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
- package/dist/keywords/divine-shield.js +1 -16
- package/dist/keywords/divine-shield.js.map +1 -1
- package/dist/simulate-bgs-battle.js +0 -4
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.js +11 -49
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/after-attack.js +1 -35
- package/dist/simulation/after-attack.js.map +1 -1
- package/dist/simulation/attack.js +14 -63
- package/dist/simulation/attack.js.map +1 -1
- package/dist/simulation/auras.js +25 -70
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/avenge.js +0 -50
- package/dist/simulation/avenge.js.map +1 -1
- package/dist/simulation/battlecries.js +11 -131
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/damage-effects.d.ts +9 -1
- package/dist/simulation/damage-effects.js +43 -83
- package/dist/simulation/damage-effects.js.map +1 -1
- package/dist/simulation/damage-to-hero.js +11 -0
- package/dist/simulation/damage-to-hero.js.map +1 -1
- package/dist/simulation/deathrattle-effects.js +7 -76
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-orchestration.js +2 -3
- package/dist/simulation/deathrattle-orchestration.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +4 -65
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/frenzy.js +0 -6
- package/dist/simulation/frenzy.js.map +1 -1
- package/dist/simulation/on-attack.d.ts +1 -0
- package/dist/simulation/on-attack.js +113 -92
- package/dist/simulation/on-attack.js.map +1 -1
- package/dist/simulation/on-being-attacked.js +1 -25
- package/dist/simulation/on-being-attacked.js.map +1 -1
- package/dist/simulation/reborn.js +1 -1
- package/dist/simulation/reborn.js.map +1 -1
- package/dist/simulation/remove-minion-from-board.js +0 -9
- package/dist/simulation/remove-minion-from-board.js.map +1 -1
- package/dist/simulation/simulator.js +3 -0
- package/dist/simulation/simulator.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-action-processor.js +0 -12
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/utils.js +2 -11
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +0 -1
- /package/dist/cards/impl/{enchantments → minion}/crystal-infuser-enchantment.d.ts +0 -0
- /package/dist/cards/impl/{enchantments → minion}/crystal-infuser-enchantment.js +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RideOrDie = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
const attackBuff = 1;
|
|
7
|
+
exports.RideOrDie = {
|
|
8
|
+
cardIds: ["BG33_115", "BG33_115_G"],
|
|
9
|
+
onSpawned: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG33_115_G" ? 2 : 1;
|
|
11
|
+
const targets = input.board
|
|
12
|
+
.filter((e) => e !== minion)
|
|
13
|
+
.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards));
|
|
14
|
+
for (const target of targets) {
|
|
15
|
+
target.attack += attackBuff * mult;
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
onDespawned: (minion, input) => {
|
|
19
|
+
const mult = minion.cardId === "BG33_115_G" ? 2 : 1;
|
|
20
|
+
const targets = input.board
|
|
21
|
+
.filter((e) => e !== minion)
|
|
22
|
+
.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards));
|
|
23
|
+
for (const target of targets) {
|
|
24
|
+
target.attack = Math.max(0, target.attack - attackBuff * mult);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
onOtherSpawned: (minion, input) => {
|
|
28
|
+
if (!(0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const mult = minion.cardId === "BG33_115_G" ? 2 : 1;
|
|
32
|
+
input.spawned.attack += attackBuff * mult;
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=ride-or-die.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ride-or-die.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ride-or-die.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGjD,MAAM,UAAU,GAAG,CAAC,CAAC;AAER,QAAA,SAAS,GAAyD;IAC9E,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;SACnC;IACF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChG,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACjE,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;IAC3C,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnDespawnedCard, OnOtherSpawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nconst attackBuff = 1;\r\n\r\nexport const RideOrDie: OnSpawnedCard & OnOtherSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.RideOrDie_BG33_115, CardIds.RideOrDie_BG33_115_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.RideOrDie_BG33_115_G ? 2 : 1;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e !== minion)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.attack += attackBuff * mult;\r\n\t\t}\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.RideOrDie_BG33_115_G ? 2 : 1;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e !== minion)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.attack = Math.max(0, target.attack - attackBuff * mult);\r\n\t\t}\r\n\t},\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.spawned,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.UNDEAD,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = minion.cardId === CardIds.RideOrDie_BG33_115_G ? 2 : 1;\r\n\t\tinput.spawned.attack += attackBuff * mult;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Roadboar = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.Roadboar = {
|
|
6
|
+
cardIds: ["BG20_101", "BG20_101_G"],
|
|
7
|
+
onAnyMinionAttack: (minion, input) => {
|
|
8
|
+
if (input.attacker !== minion) {
|
|
9
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
+
}
|
|
11
|
+
const mult = minion.cardId === "BG20_101_G" ? 2 : 1;
|
|
12
|
+
const cardsToAdd = Array(3 * mult).fill("BG20_GEM");
|
|
13
|
+
(0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);
|
|
14
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=roadboar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/roadboar.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,QAAQ,GAAiB;IACrC,OAAO,EAAE,0BAAwD;IACjE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QAC1D,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const Roadboar: OnAttackCard = {\r\n\tcardIds: [CardIds.Roadboar_BG20_101, CardIds.Roadboar_BG20_101_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (input.attacker !== minion) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.Roadboar_BG20_101_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(3 * mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RuinsRenovator = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.RuinsRenovator = {
|
|
6
|
+
cardIds: ["BG33_802", "BG33_802_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG33_802_G" ? 2 : 1;
|
|
9
|
+
const spawns = [];
|
|
10
|
+
for (let i = 0; i < mult; i++) {
|
|
11
|
+
const spawnId = input.gameState.cardsData.getRandomDivineShield(input.boardWithDeadEntityHero.tavernTier);
|
|
12
|
+
spawns.push(...(0, deathrattle_spawns_1.simplifiedSpawnEntities)(spawnId, 1, input));
|
|
13
|
+
}
|
|
14
|
+
return spawns;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=ruins-renovator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ruins-renovator.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ruins-renovator.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAC1G,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,4CAAuB,EAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SAC3D;QACD,OAAO,MAAM,CAAC;IACf,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 RuinsRenovator: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.RuinsRenovator_BG33_802, CardIds.RuinsRenovator_BG33_802_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.RuinsRenovator_BG33_802_G ? 2 : 1;\r\n\t\tconst spawns = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst spawnId = input.gameState.cardsData.getRandomDivineShield(input.boardWithDeadEntityHero.tavernTier);\r\n\t\t\tspawns.push(...simplifiedSpawnEntities(spawnId, 1, input));\r\n\t\t}\r\n\t\treturn spawns;\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,7 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
exports.SanctumRester = {
|
|
8
8
|
startOfCombat: (minion, input) => {
|
|
9
|
-
const buff =
|
|
9
|
+
const buff = 10;
|
|
10
10
|
const dragons = input.playerBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.playerEntity, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
|
|
11
11
|
dragons.forEach((otherDragon) => {
|
|
12
12
|
(0, stats_1.modifyStats)(otherDragon, minion, buff, 0, input.playerBoard, input.playerEntity, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanctum-rester.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sanctum-rester.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"sanctum-rester.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sanctum-rester.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,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,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC/B,IAAA,mBAAW,EAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const SanctumRester = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst buff = 10; //minion.cardId === CardIds.SanctumRester_BG26_356_G ? 20 : 10;\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 dragons = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tdragons.forEach((otherDragon) => {\r\n\t\t\tmodifyStats(otherDragon, minion, buff, 0, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t});\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.SanguineRefiner = void 0;
|
|
4
|
+
exports.SanguineRefiner = {
|
|
5
|
+
cardIds: ["BG33_885", "BG33_885_G"],
|
|
6
|
+
onAnyMinionAttack: (minion, input) => {
|
|
7
|
+
if (input.attacker !== minion) {
|
|
8
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
9
|
+
}
|
|
10
|
+
const mult = minion.cardId === "BG33_885_G" ? 2 : 1;
|
|
11
|
+
input.attackingHero.globalInfo.BloodGemAttackBonus += 1 * mult;
|
|
12
|
+
input.attackingHero.globalInfo.BloodGemHealthBonus += 2 * mult;
|
|
13
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=sanguine-refiner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanguine-refiner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sanguine-refiner.ts"],"names":[],"mappings":";;;AAKa,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/D,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/D,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const SanguineRefiner: OnAttackCard = {\r\n\tcardIds: [CardIds.SanguineRefiner_BG33_885, CardIds.SanguineRefiner_BG33_885_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (input.attacker !== minion) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.SanguineRefiner_BG33_885_G ? 2 : 1;\r\n\t\tinput.attackingHero.globalInfo.BloodGemAttackBonus += 1 * mult;\r\n\t\tinput.attackingHero.globalInfo.BloodGemHealthBonus += 2 * mult;\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.ScourgeHarvester = 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.ScourgeHarvester = {
|
|
8
|
+
cardIds: ["BG33_114", "BG33_114_G"],
|
|
9
|
+
onOtherSpawned: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG33_114_G" ? 2 : 1;
|
|
11
|
+
if ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards)) {
|
|
12
|
+
(0, stats_1.modifyStats)(minion, minion, input.spawned.attack * mult, input.spawned.health * mult, input.board, input.hero, input.gameState);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=scourge-harvester.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scourge-harvester.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/scourge-harvester.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAuB;IACnD,OAAO,EAAE,0BAAwE;IACjF,cAAc,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAQ,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC3G;YACD,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\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 ScourgeHarvester: OnOtherSpawnedCard = {\r\n\tcardIds: [CardIds.ScourgeHarvester_BG33_114, CardIds.ScourgeHarvester_BG33_114_G],\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput): void => {\r\n\t\tconst mult = minion.cardId === CardIds.ScourgeHarvester_BG33_114_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.UNDEAD, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.spawned.attack * mult,\r\n\t\t\t\tinput.spawned.health * mult,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SharpEyedSabretooth = void 0;
|
|
4
|
+
const utils_1 = require("../../../services/utils");
|
|
5
|
+
const stats_1 = require("../../../simulation/stats");
|
|
6
|
+
exports.SharpEyedSabretooth = {
|
|
7
|
+
cardIds: ["BG33_846", "BG33_846_G"],
|
|
8
|
+
battlecry: (minion, input) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const target = (0, utils_1.pickRandomAlive)(input.board);
|
|
11
|
+
if (!!target) {
|
|
12
|
+
const mult = minion.cardId === "BG33_846_G" ? 2 : 1;
|
|
13
|
+
const baseValue = 1 + ((_a = input.hero.globalInfo.FriendlyMinionsDeadLastCombat) !== null && _a !== void 0 ? _a : 0);
|
|
14
|
+
const buff = 2 * mult * baseValue;
|
|
15
|
+
(0, stats_1.modifyStats)(target, minion, buff, buff, input.board, input.hero, input.gameState);
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=sharp-eyed-sabretooth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharp-eyed-sabretooth.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharp-eyed-sabretooth.ts"],"names":[],"mappings":";;;AAEA,mDAA0D;AAE1D,qDAAwD;AAG3C,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,mCAAI,CAAC,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandomAlive } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const SharpEyedSabretooth: BattlecryCard = {\r\n\tcardIds: [CardIds.SharpEyedSabretooth_BG33_846, CardIds.SharpEyedSabretooth_BG33_846_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst target = pickRandomAlive(input.board);\r\n\t\tif (!!target) {\r\n\t\t\tconst mult = minion.cardId === CardIds.SharpEyedSabretooth_BG33_846_G ? 2 : 1;\r\n\t\t\tconst baseValue = 1 + (input.hero.globalInfo.FriendlyMinionsDeadLastCombat ?? 0);\r\n\t\t\tconst buff = 2 * mult * baseValue;\r\n\t\t\tmodifyStats(target, minion, buff, buff, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShipMasterEudora = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
exports.ShipMasterEudora = {
|
|
6
|
+
cardIds: ["BG33_828", "BG33_828_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG33_828_G" ? 2 : 1;
|
|
9
|
+
(0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, 5 * mult, 5 * mult, input.gameState);
|
|
10
|
+
return [];
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ship-master-eudora.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ship-master-eudora.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ship-master-eudora.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,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,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,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 { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipMasterEudora: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipMasterEudora_BG33_828, CardIds.ShipMasterEudora_BG33_828_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipMasterEudora_BG33_828_G ? 2 : 1;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t5 * mult,\r\n\t\t\t5 * mult,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShipwreckedRascal = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.ShipwreckedRascal = {
|
|
6
|
+
cardIds: ["BG33_821", "BG33_821_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG33_821_G" ? 2 : 1;
|
|
9
|
+
const cardsToAdd = Array(mult).fill(null);
|
|
10
|
+
(0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);
|
|
11
|
+
return [];
|
|
12
|
+
},
|
|
13
|
+
battlecry: (minion, input) => {
|
|
14
|
+
const mult = minion.cardId === "BG33_821_G" ? 2 : 1;
|
|
15
|
+
const cardsToAdd = Array(mult).fill(null);
|
|
16
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cardsToAdd, input.gameState);
|
|
17
|
+
return true;
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=shipwrecked-rascal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shipwrecked-rascal.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shipwrecked-rascal.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,iBAAiB,GAAyC;IACtE,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShipwreckedRascal: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShipwreckedRascal_BG33_821, CardIds.ShipwreckedRascal_BG33_821_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.ShipwreckedRascal_BG33_821_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(null);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SilentEnforcer = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const attack_1 = require("../../../simulation/attack");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.SilentEnforcer = {
|
|
8
|
+
cardIds: ["BG33_156", "BG33_156_G"],
|
|
9
|
+
deathrattleSpawn: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG33_156_G" ? 2 : 1;
|
|
11
|
+
for (let i = 0; i < mult; i++) {
|
|
12
|
+
const targets = [
|
|
13
|
+
...input.boardWithDeadEntity.filter((e) => !(0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.DEMON, input.gameState.anomalies, input.gameState.allCards)),
|
|
14
|
+
...input.otherBoard.filter((e) => !(0, utils_1.hasCorrectTribe)(e, input.otherBoardHero, reference_data_1.Race.DEMON, input.gameState.anomalies, input.gameState.allCards)),
|
|
15
|
+
];
|
|
16
|
+
for (const target of targets) {
|
|
17
|
+
(0, attack_1.dealDamageToMinion)(target, input.boardWithDeadEntity, input.boardWithDeadEntityHero, minion, 4, input.otherBoard, input.otherBoardHero, input.gameState);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return [];
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=silent-enforcer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"silent-enforcer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silent-enforcer.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,uDAAgE;AAEhE,0CAAiD;AAGpC,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG;gBACf,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,IAAA,uBAAe,EACf,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF;gBACD,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,IAAA,uBAAe,EACf,CAAC,EACD,KAAK,CAAC,cAAc,EACpB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF;aACD,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,MAAM,EACN,CAAC,EACD,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SilentEnforcer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SilentEnforcer_BG33_156, CardIds.SilentEnforcer_BG33_156_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.SilentEnforcer_BG33_156_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst targets = [\r\n\t\t\t\t...input.boardWithDeadEntity.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t!hasCorrectTribe(\r\n\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\tRace.DEMON,\r\n\t\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t),\r\n\t\t\t\t...input.otherBoard.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t!hasCorrectTribe(\r\n\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\t\t\tRace.DEMON,\r\n\t\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t\t),\r\n\t\t\t\t),\r\n\t\t\t];\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t4,\r\n\t\t\t\t\tinput.otherBoard,\r\n\t\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SleepySupporter = 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.SleepySupporter = {
|
|
9
|
+
cardIds: ["BG33_241", "BG33_241_G"],
|
|
10
|
+
onAnyMinionAttack: (minion, input) => {
|
|
11
|
+
if (input.attacker !== minion) {
|
|
12
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
13
|
+
}
|
|
14
|
+
const mult = minion.cardId === "BG33_241_G" ? 2 : 1;
|
|
15
|
+
const candidates = input.attackingBoard.filter((e) => e !== minion &&
|
|
16
|
+
(0, utils_2.hasCorrectTribe)(e, input.attackingHero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
|
|
17
|
+
const target = (0, utils_1.pickRandom)(candidates);
|
|
18
|
+
if (!!target) {
|
|
19
|
+
(0, stats_1.modifyStats)(target, minion, 2 * mult, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
20
|
+
}
|
|
21
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=sleepy-supporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleepy-supporter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sleepy-supporter.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,MAAM;YACZ,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,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 { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const SleepySupporter: OnAttackCard = {\r\n\tcardIds: [CardIds.SleepySupporter_BG33_241, CardIds.SleepySupporter_BG33_241_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (input.attacker !== minion) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.SleepySupporter_BG33_241_G ? 2 : 1;\r\n\t\tconst candidates = input.attackingBoard.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te !== minion &&\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.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t),\r\n\t\t);\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(target, minion, 2 * mult, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StompingStegodonEnchantment = 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.StompingStegodonEnchantment = {
|
|
8
|
+
cardIds: [
|
|
9
|
+
"BG33_840e2",
|
|
10
|
+
"BG33_840_Ge2",
|
|
11
|
+
],
|
|
12
|
+
onAnyMinionAttack: (minion, input) => {
|
|
13
|
+
if (!input.isSelfAttacking) {
|
|
14
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
15
|
+
}
|
|
16
|
+
const mult = minion.cardId === "BG33_840_Ge2" ? 2 : 1;
|
|
17
|
+
const candidates = input.attackingBoard.filter((e) => e !== input.attacker &&
|
|
18
|
+
(0, utils_1.hasCorrectTribe)(e, input.attackingHero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards));
|
|
19
|
+
for (const candidate of candidates) {
|
|
20
|
+
(0, stats_1.modifyStats)(candidate, input.attacker, 2 * mult, 2 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
21
|
+
candidate.enchantments.push({
|
|
22
|
+
cardId: input.attacker.cardId === "BG33_840_G"
|
|
23
|
+
? "BG33_840_Ge2"
|
|
24
|
+
: "BG33_840e2",
|
|
25
|
+
originEntityId: input.attacker.entityId,
|
|
26
|
+
timing: input.gameState.sharedState.currentEntityId++,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=stomping-stegodon-enchantment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stomping-stegodon-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stomping-stegodon-enchantment.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,2BAA2B,GAAiB;IACxD,OAAO,EAAE;;;KAGR;IACD,iBAAiB,EAAE,CAAC,MAAwB,EAAE,KAAoB,EAAE,EAAE;QACrE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,mBAA8D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,KAAK,CAAC,QAAQ;YACpB,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,IAAA,mBAAW,EACV,SAAS,EACT,KAAK,CAAC,QAAQ,EACd,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC3B,MAAM,EACL,KAAK,CAAC,QAAQ,CAAC,MAAM,iBAAwC;oBAC5D,CAAC;oBACD,CAAC,aAAwD;gBAC3D,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;gBACvC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;SACH;QAED,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEnchantment } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const StompingStegodonEnchantment: OnAttackCard = {\r\n\tcardIds: [\r\n\t\tCardIds.StompingStegodon_StompingEnchantment_BG33_840e2,\r\n\t\tCardIds.StompingStegodon_StompingEnchantment_BG33_840_Ge2,\r\n\t],\r\n\tonAnyMinionAttack: (minion: BoardEnchantment, input: OnAttackInput) => {\r\n\t\tif (!input.isSelfAttacking) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.StompingStegodon_StompingEnchantment_BG33_840_Ge2 ? 2 : 1;\r\n\t\tconst candidates = input.attackingBoard.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te !== input.attacker &&\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.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);\r\n\t\tfor (const candidate of candidates) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tcandidate,\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\t2 * mult,\r\n\t\t\t\t2 * mult,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tcandidate.enchantments.push({\r\n\t\t\t\tcardId:\r\n\t\t\t\t\tinput.attacker.cardId === CardIds.StompingStegodon_BG33_840_G\r\n\t\t\t\t\t\t? CardIds.StompingStegodon_StompingEnchantment_BG33_840_Ge2\r\n\t\t\t\t\t\t: CardIds.StompingStegodon_StompingEnchantment_BG33_840e2,\r\n\t\t\t\toriginEntityId: input.attacker.entityId,\r\n\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StompingStegodon = 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.StompingStegodon = {
|
|
8
|
+
cardIds: ["BG33_840", "BG33_840_G"],
|
|
9
|
+
onAnyMinionAttack: (minion, input) => {
|
|
10
|
+
if (input.attacker !== minion) {
|
|
11
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
12
|
+
}
|
|
13
|
+
const mult = minion.cardId === "BG33_840_G" ? 2 : 1;
|
|
14
|
+
const candidates = input.attackingBoard.filter((e) => e !== minion &&
|
|
15
|
+
(0, utils_1.hasCorrectTribe)(e, input.attackingHero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards));
|
|
16
|
+
for (const candidate of candidates) {
|
|
17
|
+
(0, stats_1.modifyStats)(candidate, minion, 2 * mult, 2 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
18
|
+
candidate.enchantments.push({
|
|
19
|
+
cardId: minion.cardId === "BG33_840_G"
|
|
20
|
+
? "BG33_840_Ge2"
|
|
21
|
+
: "BG33_840e2",
|
|
22
|
+
originEntityId: minion.entityId,
|
|
23
|
+
timing: input.gameState.sharedState.currentEntityId++,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=stomping-stegodon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stomping-stegodon.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stomping-stegodon.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAiB;IAC7C,OAAO,EAAE,0BAAwE;IACjF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,MAAM;YACZ,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,IAAA,mBAAW,EACV,SAAS,EACT,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC3B,MAAM,EACL,MAAM,CAAC,MAAM,iBAAwC;oBACpD,CAAC;oBACD,CAAC,aAAwD;gBAC3D,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;aACrD,CAAC,CAAC;SACH;QAED,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const StompingStegodon: OnAttackCard = {\r\n\tcardIds: [CardIds.StompingStegodon_BG33_840, CardIds.StompingStegodon_BG33_840_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (input.attacker !== minion) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.StompingStegodon_BG33_840_G ? 2 : 1;\r\n\t\tconst candidates = input.attackingBoard.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te !== minion &&\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.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);\r\n\t\tfor (const candidate of candidates) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\tcandidate,\r\n\t\t\t\tminion,\r\n\t\t\t\t2 * mult,\r\n\t\t\t\t2 * mult,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tcandidate.enchantments.push({\r\n\t\t\t\tcardId:\r\n\t\t\t\t\tminion.cardId === CardIds.StompingStegodon_BG33_840_G\r\n\t\t\t\t\t\t? CardIds.StompingStegodon_StompingEnchantment_BG33_840_Ge2\r\n\t\t\t\t\t\t: CardIds.StompingStegodon_StompingEnchantment_BG33_840e2,\r\n\t\t\t\toriginEntityId: minion.entityId,\r\n\t\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t\t});\r\n\t\t}\r\n\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.StraySatyr = 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.StraySatyr = {
|
|
8
|
+
cardIds: ["BG33_151", "BG33_151_G"],
|
|
9
|
+
afterDealDamage: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG33_151_G" ? 2 : 1;
|
|
11
|
+
if ((0, utils_1.hasCorrectTribe)(input.damageDealer, input.hero, reference_data_1.Race.DEMON, input.gameState.anomalies, input.gameState.allCards)) {
|
|
12
|
+
(0, stats_1.modifyStats)(minion, minion, 2 * mult, 0, input.board, input.hero, input.gameState);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=stray-satyr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stray-satyr.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/stray-satyr.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,UAAU,GAAwB;IAC9C,OAAO,EAAE,0BAA4D;IACrE,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACnF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const StraySatyr: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.StraySatyr_BG33_151, CardIds.StraySatyr_BG33_151_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.StraySatyr_BG33_151_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, minion, 2 * mult, 0, input.board, input.hero, input.gameState);\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.TuskedCamper = void 0;
|
|
4
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
5
|
+
exports.TuskedCamper = {
|
|
6
|
+
cardIds: ["BG33_886", "BG33_886_G"],
|
|
7
|
+
onAnyMinionAttack: (minion, input) => {
|
|
8
|
+
if (minion !== input.attacker) {
|
|
9
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
+
}
|
|
11
|
+
const mult = minion.cardId === "BG33_886_G" ? 2 : 1;
|
|
12
|
+
(0, blood_gems_1.playBloodGemsOn)(minion, minion, 1 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
13
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=tusked-camper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tusked-camper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tusked-camper.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAIpD,QAAA,YAAY,GAAiB;IACzC,OAAO,EAAE,0BAAgE;IACzE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAA,4BAAe,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const TuskedCamper: OnAttackCard = {\r\n\tcardIds: [CardIds.TuskedCamper_BG33_886, CardIds.TuskedCamper_BG33_886_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.TuskedCamper_BG33_886_G ? 2 : 1;\r\n\t\tplayBloodGemsOn(minion, minion, 1 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TwilightWatcher = 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.TwilightWatcher = {
|
|
8
|
+
cardIds: ["BG33_245", "BG33_245_G"],
|
|
9
|
+
onAnyMinionAttack: (minion, input) => {
|
|
10
|
+
if (!(0, utils_1.hasCorrectTribe)(minion, input.attackingHero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards)) {
|
|
11
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
12
|
+
}
|
|
13
|
+
const mult = minion.cardId === "BG33_245_G" ? 2 : 1;
|
|
14
|
+
const candidates = input.attackingBoard.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.attackingHero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards));
|
|
15
|
+
for (const target of candidates) {
|
|
16
|
+
(0, stats_1.modifyStats)(target, minion, 1 * mult, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
17
|
+
}
|
|
18
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=twilight-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twilight-watcher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-watcher.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,0BAAsE;IAC/E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IACC,CAAC,IAAA,uBAAe,EACf,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzG,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const TwilightWatcher: OnAttackCard = {\r\n\tcardIds: [CardIds.TwilightWatcher_BG33_245, CardIds.TwilightWatcher_BG33_245_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tRace.DRAGON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.TwilightWatcher_BG33_245_G ? 2 : 1;\r\n\t\tconst candidates = input.attackingBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.attackingHero, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (const target of candidates) {\r\n\t\t\tmodifyStats(target, minion, 1 * mult, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VengefulProtector = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.VengefulProtector = {
|
|
6
|
+
cardIds: ["BG33_247", "BG33_247_G"],
|
|
7
|
+
onAnyMinionAttack: (minion, input) => {
|
|
8
|
+
if (input.attacker !== minion) {
|
|
9
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
+
}
|
|
11
|
+
const mult = minion.cardId === "BG33_247_G" ? 2 : 1;
|
|
12
|
+
const candidates = input.attackingBoard.filter((e) => e !== minion);
|
|
13
|
+
for (const target of candidates) {
|
|
14
|
+
(0, stats_1.modifyStats)(target, minion, 3 * mult, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
15
|
+
}
|
|
16
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=vengeful-protector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vengeful-protector.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vengeful-protector.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,iBAAiB,GAAiB;IAC9C,OAAO,EAAE,0BAA0E;IACnF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const VengefulProtector: OnAttackCard = {\r\n\tcardIds: [CardIds.VengefulProtector_BG33_247, CardIds.VengefulProtector_BG33_247_G],\r\n\tonAnyMinionAttack: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (input.attacker !== minion) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.VengefulProtector_BG33_247_G ? 2 : 1;\r\n\t\tconst candidates = input.attackingBoard.filter((e) => e !== minion);\r\n\t\tfor (const target of candidates) {\r\n\t\t\tmodifyStats(target, minion, 3 * mult, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VoidEarl = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.VoidEarl = {
|
|
6
|
+
cardIds: ["BG33_157", "BG33_157_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG33_157_G" ? 2 : 1;
|
|
9
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG_CS2_065", 2 * mult, input);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=void-earl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"void-earl.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/void-earl.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,QAAQ,GAAyB;IAC7C,OAAO,EAAE,0BAAwD;IACjE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,IAAA,4CAAuB,gBAAsC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtF,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 VoidEarl: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.VoidEarl_BG33_157, CardIds.VoidEarl_BG33_157_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.VoidEarl_BG33_157_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.VoidwalkerLegacy_BG_CS2_065, 2 * mult, input);\r\n\t},\r\n};\r\n"]}
|