@firestone-hs/simulate-bgs-battle 1.1.502 → 1.1.504
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/cards/card.interface.d.ts +7 -3
- package/dist/cards/card.interface.js +3 -1
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/cards-data.js +0 -2
- package/dist/cards/cards-data.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +101 -1
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/minion/admiral-eliza-goreblade.d.ts +2 -0
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js +20 -0
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -0
- package/dist/cards/impl/minion/anubarak-nerubian-king.d.ts +2 -0
- package/dist/cards/impl/minion/anubarak-nerubian-king.js +15 -0
- package/dist/cards/impl/minion/anubarak-nerubian-king.js.map +1 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js +3 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -1
- package/dist/cards/impl/minion/arid-atrocity.d.ts +2 -0
- package/dist/cards/impl/minion/arid-atrocity.js +22 -0
- package/dist/cards/impl/minion/arid-atrocity.js.map +1 -0
- package/dist/cards/impl/minion/assistant-guard.d.ts +2 -0
- package/dist/cards/impl/minion/assistant-guard.js +20 -0
- package/dist/cards/impl/minion/assistant-guard.js.map +1 -0
- package/dist/cards/impl/minion/bannerboar.d.ts +1 -1
- package/dist/cards/impl/minion/bannerboar.js +4 -4
- package/dist/cards/impl/minion/bannerboar.js.map +1 -1
- package/dist/cards/impl/minion/beetle.js +3 -3
- package/dist/cards/impl/minion/beetle.js.map +1 -1
- 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/bongo-bopper.d.ts +2 -0
- package/dist/cards/impl/minion/bongo-bopper.js +15 -0
- package/dist/cards/impl/minion/bongo-bopper.js.map +1 -0
- package/dist/cards/impl/minion/champion-of-the-primus.d.ts +2 -0
- package/dist/cards/impl/minion/champion-of-the-primus.js +15 -0
- package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -0
- package/dist/cards/impl/minion/charlga.d.ts +2 -0
- package/dist/cards/impl/minion/charlga.js +15 -0
- package/dist/cards/impl/minion/charlga.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/corrupted-myrmidon.d.ts +2 -5
- package/dist/cards/impl/minion/corrupted-myrmidon.js +1 -0
- package/dist/cards/impl/minion/corrupted-myrmidon.js.map +1 -1
- package/dist/cards/impl/minion/cruise-controller.d.ts +2 -0
- package/dist/cards/impl/minion/cruise-controller.js +11 -0
- package/dist/cards/impl/minion/cruise-controller.js.map +1 -0
- package/dist/cards/impl/minion/defiant-shipwright.d.ts +2 -0
- package/dist/cards/impl/minion/defiant-shipwright.js +13 -0
- package/dist/cards/impl/minion/defiant-shipwright.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.js +8 -1
- package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
- package/dist/cards/impl/minion/fairy-gillmother.js +2 -2
- package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
- package/dist/cards/impl/minion/gem-smuggler.d.ts +2 -0
- package/dist/cards/impl/minion/gem-smuggler.js +14 -0
- package/dist/cards/impl/minion/gem-smuggler.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/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/holo-rover.js +3 -0
- package/dist/cards/impl/minion/holo-rover.js.map +1 -1
- package/dist/cards/impl/minion/hungry-snapjaw.js +2 -2
- package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
- 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.js +2 -2
- package/dist/cards/impl/minion/implant-subject.js.map +1 -1
- 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/inspiring-underdog.d.ts +2 -0
- package/dist/cards/impl/minion/inspiring-underdog.js +18 -0
- package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -0
- package/dist/cards/impl/minion/interrogator-whitemane.d.ts +2 -5
- package/dist/cards/impl/minion/interrogator-whitemane.js +1 -0
- 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/king-bagurgle.d.ts +2 -0
- package/dist/cards/impl/minion/king-bagurgle.js +12 -0
- package/dist/cards/impl/minion/king-bagurgle.js.map +1 -0
- package/dist/cards/impl/minion/leeroy-the-reckless.d.ts +2 -0
- package/dist/cards/impl/minion/leeroy-the-reckless.js +12 -0
- package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -0
- package/dist/cards/impl/minion/lightfang-enforcer.d.ts +2 -0
- package/dist/cards/impl/minion/lightfang-enforcer.js +13 -0
- package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -0
- package/dist/cards/impl/minion/lovesick-balladist.d.ts +2 -0
- package/dist/cards/impl/minion/lovesick-balladist.js +25 -0
- package/dist/cards/impl/minion/lovesick-balladist.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/misfit-dragonling.d.ts +2 -5
- package/dist/cards/impl/minion/misfit-dragonling.js +1 -0
- package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
- package/dist/cards/impl/minion/mummifier.d.ts +2 -0
- package/dist/cards/impl/minion/mummifier.js +25 -0
- package/dist/cards/impl/minion/mummifier.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 -2
- package/dist/cards/impl/minion/mutated-lasher.js +3 -3
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
- package/dist/cards/impl/minion/neon-agent.js +3 -0
- package/dist/cards/impl/minion/neon-agent.js.map +1 -1
- package/dist/cards/impl/minion/nerubian-deathswarmer.d.ts +2 -0
- package/dist/cards/impl/minion/nerubian-deathswarmer.js +16 -0
- package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -0
- package/dist/cards/impl/minion/niuzao.js +3 -0
- package/dist/cards/impl/minion/niuzao.js.map +1 -1
- package/dist/cards/impl/minion/oozeling-gladiator.d.ts +2 -0
- package/dist/cards/impl/minion/oozeling-gladiator.js +14 -0
- package/dist/cards/impl/minion/oozeling-gladiator.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/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/peggy-sturdybone.d.ts +2 -0
- package/dist/cards/impl/minion/peggy-sturdybone.js +17 -0
- package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -0
- package/dist/cards/impl/minion/primalfin-lookout.d.ts +2 -0
- package/dist/cards/impl/minion/primalfin-lookout.js +27 -0
- package/dist/cards/impl/minion/primalfin-lookout.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 +1 -0
- package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
- package/dist/cards/impl/minion/rapscallion-recruiter.d.ts +2 -0
- package/dist/cards/impl/minion/rapscallion-recruiter.js +13 -0
- package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -0
- package/dist/cards/impl/minion/razorfen-geomancer.d.ts +2 -0
- package/dist/cards/impl/minion/razorfen-geomancer.js +14 -0
- package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.js +1 -1
- package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -1
- package/dist/cards/impl/minion/ripsnarl-captain.d.ts +2 -0
- package/dist/cards/impl/minion/ripsnarl-captain.js +18 -0
- package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -0
- package/dist/cards/impl/minion/rodeo-performer.d.ts +2 -0
- package/dist/cards/impl/minion/rodeo-performer.js +12 -0
- package/dist/cards/impl/minion/rodeo-performer.js.map +1 -0
- package/dist/cards/impl/minion/scallywag.d.ts +2 -0
- package/dist/cards/impl/minion/scallywag.js +13 -0
- package/dist/cards/impl/minion/scallywag.js.map +1 -0
- package/dist/cards/impl/minion/shell-collector.d.ts +2 -0
- package/dist/cards/impl/minion/shell-collector.js +14 -0
- package/dist/cards/impl/minion/shell-collector.js.map +1 -0
- package/dist/cards/impl/minion/sinodorei-straight-shot.d.ts +2 -0
- package/dist/cards/impl/minion/sinodorei-straight-shot.js +14 -0
- package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.d.ts +2 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js +16 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer-enchantment.js.map +1 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer.d.ts +2 -5
- package/dist/cards/impl/minion/sky-pirate-flagbearer.js +1 -0
- package/dist/cards/impl/minion/sky-pirate-flagbearer.js.map +1 -1
- 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/spacefarer.js +4 -2
- package/dist/cards/impl/minion/spacefarer.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/three-lil-quilboar.d.ts +2 -0
- package/dist/cards/impl/minion/three-lil-quilboar.js +16 -0
- package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -0
- package/dist/cards/impl/minion/thundering-abomination.d.ts +2 -0
- package/dist/cards/impl/minion/thundering-abomination.js +13 -0
- package/dist/cards/impl/minion/thundering-abomination.js.map +1 -0
- package/dist/cards/impl/minion/tunnel-blaster.d.ts +2 -0
- package/dist/cards/impl/minion/tunnel-blaster.js +20 -0
- package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -0
- package/dist/cards/impl/minion/wandering-wight.js +1 -1
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
- package/dist/cards/impl/minion/whelp-smuggler.d.ts +2 -0
- package/dist/cards/impl/minion/whelp-smuggler.js +18 -0
- package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -0
- package/dist/cards/impl/trinket/automaton-portrait.js +1 -0
- package/dist/cards/impl/trinket/automaton-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/karazhan-chess-set.js +2 -1
- package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
- package/dist/cards/impl/trinket/rusty-trident.js +1 -0
- package/dist/cards/impl/trinket/rusty-trident.js.map +1 -1
- package/dist/keywords/divine-shield.d.ts +2 -0
- package/dist/keywords/divine-shield.js +3 -11
- package/dist/keywords/divine-shield.js.map +1 -1
- package/dist/simulate-bgs-battle.js +1 -5
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.d.ts +13 -6
- package/dist/simulation/add-minion-to-board.js +20 -38
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/avenge.js +0 -6
- package/dist/simulation/avenge.js.map +1 -1
- package/dist/simulation/battlecries.js +16 -188
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/cards-in-hand.js +0 -9
- package/dist/simulation/cards-in-hand.js.map +1 -1
- package/dist/simulation/deathrattle-effects.js +0 -103
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +0 -48
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/on-attack.d.ts +1 -0
- package/dist/simulation/on-attack.js +16 -42
- package/dist/simulation/on-attack.js.map +1 -1
- package/dist/simulation/on-being-attacked.js +0 -7
- package/dist/simulation/on-being-attacked.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-action-processor.js +0 -16
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/simulation/stats.d.ts +1 -0
- package/dist/simulation/stats.js +5 -18
- package/dist/simulation/stats.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/assistant-guard.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,mDAAqD;AAErD,0CAAiD;AAGpC,QAAA,cAAc,GAAkB;IAC5C,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACpD,IAAI,oBAAoB,EAAE;YACzB,IAAA,mBAAW,EAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACpC,KAAK,CAAC,IAAI,EACV,wBAAwB,GAAG,CAAC,EAC5B,wBAAwB,GAAG,CAAC,EAC5B,KAAK,CAAC,SAAS,CACf,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const AssistantGuard: BattlecryCard = {\r\n\tcardIds: [CardIds.AssistantGuard_BG29_845, CardIds.AssistantGuard_BG29_845_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst assistantGuardMultiplier = minion.cardId === CardIds.AssistantGuard_BG29_845 ? 1 : 2;\r\n\t\tconst assistantGuardTarget = pickRandom(allMinions);\r\n\t\tif (assistantGuardTarget) {\r\n\t\t\tupdateTaunt(assistantGuardTarget, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tassistantGuardTarget,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.board.filter((e) => !!e.taunt),\r\n\t\t\tinput.hero,\r\n\t\t\tassistantGuardMultiplier * 2,\r\n\t\t\tassistantGuardMultiplier * 3,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { EndOfTurnCard } from '../../card.interface';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const Bannerboar: EndOfTurnCard;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Bannerboar = void 0;
|
|
4
4
|
const attack_1 = require("../../../simulation/attack");
|
|
5
5
|
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
6
|
-
exports.
|
|
7
|
-
cardIds: ["", ""],
|
|
6
|
+
exports.Bannerboar = {
|
|
7
|
+
cardIds: ["BG20_201", "BG20_201_G"],
|
|
8
8
|
endOfTurn: (minion, input) => {
|
|
9
|
-
const mult = minion.cardId === "" ? 1 : 2;
|
|
9
|
+
const mult = minion.cardId === "BG20_201" ? 1 : 2;
|
|
10
10
|
const neighbors = (0, attack_1.getNeighbours)(input.board, minion);
|
|
11
11
|
for (const neighbor of neighbors) {
|
|
12
12
|
(0, blood_gems_1.playBloodGemsOn)(minion, neighbor, 1 * mult, input.board, input.hero, input.gameState, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bannerboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bannerboar.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bannerboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bannerboar.ts"],"names":[],"mappings":";;;AAEA,uDAA2D;AAC3D,+DAAiE;AAGpD,QAAA,UAAU,GAAkB;IACxC,OAAO,EAAE,0BAA4D;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,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 { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const Bannerboar: EndOfTurnCard = {\r\n\tcardIds: [CardIds.Bannerboar_BG20_201, CardIds.Bannerboar_BG20_201_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Bannerboar_BG20_201 ? 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"]}
|
|
@@ -6,11 +6,11 @@ exports.Beetle = {
|
|
|
6
6
|
cardIds: ["BeetleToken", "BeetleToken_G"],
|
|
7
7
|
onSpawned: (minion, input) => {
|
|
8
8
|
var _a, _b;
|
|
9
|
-
(0, stats_1.modifyStats)(minion, 2 * ((_a = input.
|
|
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
10
|
},
|
|
11
11
|
onDespawned: (minion, input) => {
|
|
12
|
-
minion.attack = Math.max(0, minion.attack - input.
|
|
13
|
-
minion.health = Math.max(1, minion.health - 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
14
|
},
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=beetle.js.map
|
|
@@ -1 +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,
|
|
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,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,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BongoBopper = void 0;
|
|
4
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
5
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
|
+
exports.BongoBopper = {
|
|
7
|
+
cardIds: ["BG26_531", "BG26_531_G"],
|
|
8
|
+
endOfTurn: (minion, input) => {
|
|
9
|
+
const mult = minion.cardId === "BG26_531" ? 1 : 2;
|
|
10
|
+
(0, blood_gems_1.playBloodGemsOn)(minion, minion, 2 * mult, input.board, input.hero, input.gameState);
|
|
11
|
+
const cardsToAdd = Array(2 * mult).fill("BG20_GEM");
|
|
12
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cardsToAdd, input.gameState);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=bongo-bopper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bongo-bopper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bongo-bopper.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AACjE,qEAAmE;AAGtD,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAA,4BAAe,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QAC1D,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtE,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BongoBopper: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BongoBopper_BG26_531, CardIds.BongoBopper_BG26_531_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.BongoBopper_BG26_531 ? 1 : 2;\r\n\t\tplayBloodGemsOn(minion, minion, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\tconst cardsToAdd = Array(2 * mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChampionOfThePrimus = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.ChampionOfThePrimus = {
|
|
7
|
+
cardIds: ["BG27_029", "BG27_029_G"],
|
|
8
|
+
baseAvengeValue: (cardId) => 3,
|
|
9
|
+
avenge: (minion, input) => {
|
|
10
|
+
const championPrimusStat = minion.cardId === "BG27_029_G" ? 2 : 1;
|
|
11
|
+
input.hero.globalInfo.UndeadAttackBonus += championPrimusStat;
|
|
12
|
+
(0, utils_1.addStatsToBoard)(minion, input.board, input.hero, championPrimusStat, 0, input.gameState, reference_data_1.Race[reference_data_1.Race.UNDEAD]);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=champion-of-the-primus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"champion-of-the-primus.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/champion-of-the-primus.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,mBAAmB,GAAe;IAC9C,OAAO,EAAE,0BAA8E;IACvF,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,kBAAkB,CAAC;QAC9D,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7G,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 ChampionOfThePrimus: AvengeCard = {\r\n\tcardIds: [CardIds.ChampionOfThePrimus_BG27_029, CardIds.ChampionOfThePrimus_BG27_029_G],\r\n\tbaseAvengeValue: (cardId: string) => 3,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst championPrimusStat = minion.cardId === CardIds.ChampionOfThePrimus_BG27_029_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.UndeadAttackBonus += championPrimusStat;\r\n\t\taddStatsToBoard(minion, input.board, input.hero, championPrimusStat, 0, input.gameState, Race[Race.UNDEAD]);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Charlga = void 0;
|
|
4
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
5
|
+
exports.Charlga = {
|
|
6
|
+
cardIds: ["BG20_303", "BG20_303_G"],
|
|
7
|
+
endOfTurn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG20_303" ? 1 : 2;
|
|
9
|
+
const targets = input.board.filter((e) => e.entityId !== minion.entityId);
|
|
10
|
+
for (const neighbor of targets) {
|
|
11
|
+
(0, blood_gems_1.playBloodGemsOn)(minion, neighbor, 1 * mult, input.board, input.hero, input.gameState, true);
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=charlga.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charlga.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/charlga.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAGpD,QAAA,OAAO,GAAkB;IACrC,OAAO,EAAE,0BAAsD;IAC/D,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1E,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;YAC/B,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 { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const Charlga: EndOfTurnCard = {\r\n\tcardIds: [CardIds.Charlga_BG20_303, CardIds.Charlga_BG20_303_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Charlga_BG20_303 ? 1 : 2;\r\n\t\tconst targets = input.board.filter((e) => e.entityId !== minion.entityId);\r\n\t\tfor (const neighbor of targets) {\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,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"]}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const CorruptedMyrmidon: {
|
|
4
|
-
startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
|
|
5
|
-
};
|
|
1
|
+
import { StartOfCombatCard } from '../../card.interface';
|
|
2
|
+
export declare const CorruptedMyrmidon: StartOfCombatCard;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CorruptedMyrmidon = void 0;
|
|
4
4
|
const stats_1 = require("../../../simulation/stats");
|
|
5
5
|
exports.CorruptedMyrmidon = {
|
|
6
|
+
cardIds: ["BG23_012", "BG23_012_G"],
|
|
6
7
|
startOfCombat: (minion, input) => {
|
|
7
8
|
const multiplier = minion.cardId === "BG23_012_G" ? 2 : 1;
|
|
8
9
|
(0, stats_1.modifyStats)(minion, multiplier * minion.attack, multiplier * minion.health, input.playerBoard, input.playerEntity, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corrupted-myrmidon.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/corrupted-myrmidon.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;
|
|
1
|
+
{"version":3,"file":"corrupted-myrmidon.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/corrupted-myrmidon.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,iBAAiB,GAAsB;IACnD,OAAO,EAAE,0BAA0E;IACnF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,IAAA,mBAAW,EACV,MAAM,EACN,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,UAAU,GAAG,MAAM,CAAC,MAAM,EAC1B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const CorruptedMyrmidon: StartOfCombatCard = {\r\n\tcardIds: [CardIds.CorruptedMyrmidon_BG23_012, CardIds.CorruptedMyrmidon_BG23_012_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.CorruptedMyrmidon_BG23_012_G ? 2 : 1;\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tmultiplier * minion.attack,\r\n\t\t\tmultiplier * minion.health,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentEntity,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CruiseController = void 0;
|
|
4
|
+
exports.CruiseController = {
|
|
5
|
+
cardIds: ["BG31_821", "BG31_821_G"],
|
|
6
|
+
deathrattleEffect: (minion, input) => {
|
|
7
|
+
input.boardWithDeadEntityHero.globalInfo.PirateAttackBonus +=
|
|
8
|
+
minion.cardId === "BG31_821_G" ? 10 : 5;
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=cruise-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cruise-controller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/cruise-controller.ts"],"names":[],"mappings":";;;AAKa,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,0BAAwE;IACjF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,iBAAiB;YACzD,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,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 { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const CruiseController: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.CruiseController_BG31_821, CardIds.CruiseController_BG31_821_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.PirateAttackBonus +=\r\n\t\t\tminion.cardId === CardIds.CruiseController_BG31_821_G ? 10 : 5;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefiantShipwright = void 0;
|
|
4
|
+
exports.DefiantShipwright = {
|
|
5
|
+
cardIds: ["BG21_018", "BG21_018_G"],
|
|
6
|
+
onStatsChanged: (minion, input) => {
|
|
7
|
+
if (minion === input.target && input.attackAmount > 0) {
|
|
8
|
+
const stat = minion.cardId === "BG21_018_G" ? 2 : 1;
|
|
9
|
+
minion.health += stat;
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=defiant-shipwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defiant-shipwright.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/defiant-shipwright.ts"],"names":[],"mappings":";;;AAKa,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,0BAA0E;IACnF,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;SACtB;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const DefiantShipwright: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.DefiantShipwright_BG21_018, CardIds.DefiantShipwright_BG21_018_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (minion === input.target && input.attackAmount > 0) {\r\n\t\t\tconst stat = minion.cardId === CardIds.DefiantShipwright_BG21_018_G ? 2 : 1;\r\n\t\t\tminion.health += stat;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.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"]}
|
|
@@ -16,7 +16,14 @@ exports.EfficientEngineer = {
|
|
|
16
16
|
const target = (0, utils_1.pickRandom)(candidates);
|
|
17
17
|
const endOfTurnImpl = _card_mappings_1.cardMappings[target.cardId];
|
|
18
18
|
if ((0, card_interface_1.hasEndOfTurn)(endOfTurnImpl)) {
|
|
19
|
-
|
|
19
|
+
const numberOfLoops = input.board.some((e) => e.cardId === "BG26_ICC_901_G")
|
|
20
|
+
? 3
|
|
21
|
+
: input.board.some((e) => e.cardId === "BG26_ICC_901")
|
|
22
|
+
? 2
|
|
23
|
+
: 1;
|
|
24
|
+
for (let i = 0; i < numberOfLoops; i++) {
|
|
25
|
+
endOfTurnImpl.endOfTurn(target, input);
|
|
26
|
+
}
|
|
20
27
|
}
|
|
21
28
|
}
|
|
22
29
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efficient-engineer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/efficient-engineer.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mDAAqD;AAGrD,yDAAmE;AACnE,sDAAiD;AAEpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,4CAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,0BAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WACb,OAAA,MAAA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,0CAAE,QAAQ,CAAC,wBAAO,CAAC,wBAAO,CAAC,WAAW,CAAC,CAAC,CAAA,EAAA,CAC5F;iBACA,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,0BAAgE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CAChG,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,IAAA,6BAAY,EAAC,aAAa,CAAC,EAAE;gBAChC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"efficient-engineer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/efficient-engineer.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mDAAqD;AAGrD,yDAAmE;AACnE,sDAAiD;AAEpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,4CAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,0BAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WACb,OAAA,MAAA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,0CAAE,QAAQ,CAAC,wBAAO,CAAC,wBAAO,CAAC,WAAW,CAAC,CAAC,CAAA,EAAA,CAC5F;iBACA,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,0BAAgE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CAChG,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,IAAA,6BAAY,EAAC,aAAa,CAAC,EAAE;gBAChC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,qBAA6C,CAAC;oBACnG,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,mBAA2C,CAAC;wBAC9E,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,CAAC,CAAC;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;oBACvC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;iBACvC;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } 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 { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard, hasEndOfTurn } from '../../card.interface';\r\nimport { cardMappings } from '../_card-mappings';\r\n\r\nexport const EfficientEngineer: BattlecryCard = {\r\n\tcardIds: [TempCardIds.EfficientEngineer, TempCardIds.EfficientEngineer_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.EfficientEngineer_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst candidates = input.board\r\n\t\t\t\t.filter((e) =>\r\n\t\t\t\t\tinput.gameState.allCards.getCard(e.cardId).mechanics?.includes(GameTag[GameTag.END_OF_TURN]),\r\n\t\t\t\t)\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t![CardIds.YoungMurkEye_BG22_403, CardIds.YoungMurkEye_BG22_403_G].includes(e.cardId as CardIds),\r\n\t\t\t\t);\r\n\t\t\tconst target = pickRandom(candidates);\r\n\t\t\tconst endOfTurnImpl = cardMappings[target.cardId];\r\n\t\t\tif (hasEndOfTurn(endOfTurnImpl)) {\r\n\t\t\t\tconst numberOfLoops = input.board.some((e) => e.cardId === CardIds.DrakkariEnchanter_BG26_ICC_901_G)\r\n\t\t\t\t\t? 3\r\n\t\t\t\t\t: input.board.some((e) => e.cardId === CardIds.DrakkariEnchanter_BG26_ICC_901)\r\n\t\t\t\t\t? 2\r\n\t\t\t\t\t: 1;\r\n\t\t\t\tfor (let i = 0; i < numberOfLoops; i++) {\r\n\t\t\t\t\tendOfTurnImpl.endOfTurn(target, input);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,9 +4,9 @@ exports.FairyGillmother = void 0;
|
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
5
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
6
|
exports.FairyGillmother = {
|
|
7
|
-
cardIds: ["
|
|
7
|
+
cardIds: ["BG29_029", "BG29_029_G"],
|
|
8
8
|
endOfTurn: (minion, input) => {
|
|
9
|
-
const numberOfCards = minion.cardId === "
|
|
9
|
+
const numberOfCards = minion.cardId === "BG29_029_G" ? 2 : 1;
|
|
10
10
|
const cards = [];
|
|
11
11
|
for (let i = 0; i < numberOfCards; i++) {
|
|
12
12
|
const card = input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MURLOC, input.hero.tavernTier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fairy-gillmother.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fairy-gillmother.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fairy-gillmother.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fairy-gillmother.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,qEAAmE;AAGtD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const FairyGillmother: EndOfTurnCard = {\r\n\tcardIds: [CardIds.FairyGillmother_BG29_029, CardIds.FairyGillmother_BG29_029_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst numberOfCards = minion.cardId === CardIds.FairyGillmother_BG29_029_G ? 2 : 1;\r\n\t\tconst cards = [];\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tconst card = input.gameState.cardsData.getRandomMinionForTribe(Race.MURLOC, input.hero.tavernTier);\r\n\t\t\tcards.push(card);\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GemSmuggler = void 0;
|
|
4
|
+
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
5
|
+
exports.GemSmuggler = {
|
|
6
|
+
cardIds: ["BG25_155", "BG25_155_G"],
|
|
7
|
+
battlecry: (minion, input) => {
|
|
8
|
+
const gemSmugglerBloodGems = minion.cardId === "BG25_155" ? 1 : 2;
|
|
9
|
+
input.board
|
|
10
|
+
.filter((e) => e.entityId !== minion.entityId)
|
|
11
|
+
.forEach((e) => (0, blood_gems_1.playBloodGemsOn)(minion, e, gemSmugglerBloodGems, input.board, input.hero, input.gameState));
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=gem-smuggler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gem-smuggler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gem-smuggler.ts"],"names":[],"mappings":";;;AAGA,+DAAiE;AAGpD,QAAA,WAAW,GAAkB;IACzC,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,eAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;aAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAe,EAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9G,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 { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GemSmuggler: BattlecryCard = {\r\n\tcardIds: [CardIds.GemSmuggler_BG25_155, CardIds.GemSmuggler_BG25_155_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst gemSmugglerBloodGems = minion.cardId === CardIds.GemSmuggler_BG25_155 ? 1 : 2;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => e.entityId !== minion.entityId)\r\n\t\t\t.forEach((e) => playBloodGemsOn(minion, e, gemSmugglerBloodGems, input.board, input.hero, input.gameState));\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeneralDrakkisath = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.GeneralDrakkisath = {
|
|
6
|
+
cardIds: ["BG25_309", "BG25_309_G"],
|
|
7
|
+
battlecry: (minion, input) => {
|
|
8
|
+
const generalDrakkisathCardsToAdd = minion.cardId === "BG25_309"
|
|
9
|
+
? ["BG25_309t"]
|
|
10
|
+
: [
|
|
11
|
+
"BG25_309t",
|
|
12
|
+
"BG25_309t",
|
|
13
|
+
];
|
|
14
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, generalDrakkisathCardsToAdd, input.gameState);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=general-drakkisath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general-drakkisath.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/general-drakkisath.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,2BAA2B,GAChC,MAAM,CAAC,MAAM,eAAuC;YACnD,CAAC,CAAC,aAAsD;YACxD,CAAC,CAAC;;;aAGC,CAAC;QACN,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,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 { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GeneralDrakkisath: BattlecryCard = {\r\n\tcardIds: [CardIds.GeneralDrakkisath_BG25_309, CardIds.GeneralDrakkisath_BG25_309_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst generalDrakkisathCardsToAdd =\r\n\t\t\tminion.cardId === CardIds.GeneralDrakkisath_BG25_309\r\n\t\t\t\t? [CardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t]\r\n\t\t\t\t: [\r\n\t\t\t\t\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\t\t\t\t\tCardIds.GeneralDrakkisath_SmolderwingToken_BG25_309t,\r\n\t\t\t\t ];\r\n\t\taddCardsInHand(input.hero, input.board, generalDrakkisathCardsToAdd, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GreaseBot = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.GreaseBot = {
|
|
6
|
+
cardIds: ["BG21_024", "BG21_024_G"],
|
|
7
|
+
onDivineShieldUpdated: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG21_024" ? 1 : 2;
|
|
9
|
+
(0, stats_1.modifyStats)(input.target, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);
|
|
10
|
+
input.gameState.spectator.registerPowerTarget(minion, input.target, input.board, input.hero, input.otherHero);
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=grease-bot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grease-bot.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/grease-bot.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAA8B;IACnD,OAAO,EAAE,0BAA0D;IACnE,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAA,mBAAW,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/G,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDivineShieldUpdatedCard } from '../../card.interface';\r\n\r\nexport const GreaseBot: OnDivineShieldUpdatedCard = {\r\n\tcardIds: [CardIds.GreaseBot_BG21_024, CardIds.GreaseBot_BG21_024_G],\r\n\tonDivineShieldUpdated: (minion: BoardEntity, input: OnDivineShieldUpdatedInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GreaseBot_BG21_024 ? 1 : 2;\r\n\t\tmodifyStats(input.target, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\tinput.gameState.spectator.registerPowerTarget(minion, input.target, input.board, input.hero, input.otherHero);\r\n\t},\r\n};\r\n"]}
|
|
@@ -5,6 +5,9 @@ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
|
5
5
|
exports.HoloRover = {
|
|
6
6
|
cardIds: ["HoloRover", "HoloRover_G"],
|
|
7
7
|
onAttack: (minion, input) => {
|
|
8
|
+
if (minion !== input.attacker) {
|
|
9
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
+
}
|
|
8
11
|
const numberOfCard = minion.cardId === "HoloRover_G" ? 2 : 1;
|
|
9
12
|
for (let i = 0; i < numberOfCard; i++) {
|
|
10
13
|
const magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAKtD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,4BAAgD;IACzD,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxG,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\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 HoloRover: OnAttackCard = {\r\n\tcardIds: [TempCardIds.HoloRover, TempCardIds.HoloRover_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst numberOfCard = minion.cardId === TempCardIds.HoloRover_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCard; i++) {\r\n\t\t\tconst magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);\r\n\t\t\taddCardsInHand(input.attackingHero, input.attackingBoard, [magneticMech], input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAKtD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,4BAAgD;IACzD,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxG,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\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 HoloRover: OnAttackCard = {\r\n\tcardIds: [TempCardIds.HoloRover, TempCardIds.HoloRover_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\t\tconst numberOfCard = minion.cardId === TempCardIds.HoloRover_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCard; i++) {\r\n\t\t\tconst magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);\r\n\t\t\taddCardsInHand(input.attackingHero, input.attackingBoard, [magneticMech], input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -8,9 +8,9 @@ exports.HungrySnapjaw = {
|
|
|
8
8
|
cardIds: ["BG26_370", "BG26_370_G"],
|
|
9
9
|
afterOtherSpawned: (minion, input) => {
|
|
10
10
|
const mult = minion.cardId === "BG26_370_G" ? 2 : 1;
|
|
11
|
-
if ((0, utils_1.hasCorrectTribe)(input.spawned, input.
|
|
11
|
+
if ((0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.allCards) &&
|
|
12
12
|
minion.entityId !== input.spawned.entityId) {
|
|
13
|
-
(0, stats_1.modifyStats)(minion, 0, 1 * mult, input.
|
|
13
|
+
(0, stats_1.modifyStats)(minion, 0, 1 * mult, input.board, input.hero, input.gameState);
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hungry-snapjaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hungry-snapjaw.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,0BAAkE;IAC3E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"hungry-snapjaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hungry-snapjaw.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,0BAAkE;IAC3E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA4B,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YAChF,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,EACzC;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3E;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnAuraInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const HungrySnapjaw: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.HungrySnapjaw_BG26_370, CardIds.HungrySnapjaw_BG26_370_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnAuraInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HungrySnapjaw_BG26_370_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.allCards) &&\r\n\t\t\tminion.entityId !== input.spawned.entityId\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, 0, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HunterOfGatherers = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
exports.HunterOfGatherers = {
|
|
6
|
+
cardIds: ["BG25_027", "BG25_027_G"],
|
|
7
|
+
onStatsChanged: (minion, input) => {
|
|
8
|
+
if (input.attackAmount > 0 && input.target === minion) {
|
|
9
|
+
(0, utils_1.addStatsToBoard)(minion, input.board, input.hero, 0, minion.cardId === "BG25_027_G" ? 4 : 2, input.gameState);
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=hunter-of-gatherers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hunter-of-gatherers.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hunter-of-gatherers.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,0BAA0E;IACnF,cAAc,EAAE,CAAC,MAAmB,EAAE,KAA0B,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YACtD,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,CAAC,EACD,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9D,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnStatsChangedInput } from '../../../simulation/stats';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { OnStatsChangedCard } from '../../card.interface';\r\n\r\nexport const HunterOfGatherers: OnStatsChangedCard = {\r\n\tcardIds: [CardIds.HunterOfGatherers_BG25_027, CardIds.HunterOfGatherers_BG25_027_G],\r\n\tonStatsChanged: (minion: BoardEntity, input: OnStatsChangedInput) => {\r\n\t\tif (input.attackAmount > 0 && input.target === minion) {\r\n\t\t\taddStatsToBoard(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\t0,\r\n\t\t\t\tminion.cardId === CardIds.HunterOfGatherers_BG25_027_G ? 4 : 2,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -9,8 +9,8 @@ exports.ImplantSubject = {
|
|
|
9
9
|
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
onDivineShieldUpdated: (entity,
|
|
13
|
-
if (previousValue && !
|
|
12
|
+
onDivineShieldUpdated: (entity, input) => {
|
|
13
|
+
if (input.previousValue && !input.target.divineShield) {
|
|
14
14
|
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
15
15
|
}
|
|
16
16
|
},
|