@firestone-hs/simulate-bgs-battle 1.1.503 → 1.1.505
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 +10 -1
- package/dist/cards/card.interface.js +4 -2
- 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 +68 -2
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js +1 -1
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.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/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/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/efficient-engineer.js +8 -1
- package/dist/cards/impl/minion/efficient-engineer.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/holo-rover.js +3 -0
- package/dist/cards/impl/minion/holo-rover.js.map +1 -1
- 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/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/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/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/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.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/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/spacefarer.js +4 -2
- package/dist/cards/impl/minion/spacefarer.js.map +1 -1
- 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/whelp-smuggler.js +2 -1
- package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
- 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/simulate-bgs-battle.js +0 -2
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.js +0 -6
- 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 -114
- 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 +1 -73
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +18 -32
- 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 -8
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/simulation/stats.js +0 -5
- 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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -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"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InspiringUnderdog = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.InspiringUnderdog = {
|
|
6
|
+
cardIds: ["BG30_127", "BG30_127_G"],
|
|
7
|
+
battlecry: (minion, input) => {
|
|
8
|
+
const targets = input.board.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) <= 3);
|
|
9
|
+
if (targets.length > 0) {
|
|
10
|
+
const multiplier = minion.cardId === "BG30_127" ? 1 : 2;
|
|
11
|
+
targets.forEach((target) => {
|
|
12
|
+
(0, stats_1.modifyStats)(target, multiplier * 2, multiplier * 1, input.board, input.hero, input.gameState);
|
|
13
|
+
input.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=inspiring-underdog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspiring-underdog.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/inspiring-underdog.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,eAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAA,mBAAW,EAAC,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9F,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;YACzG,CAAC,CAAC,CAAC;SACH;IACF,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 { BattlecryCard } from '../../card.interface';\r\n\r\nexport const InspiringUnderdog: BattlecryCard = {\r\n\tcardIds: [CardIds.InspiringUnderdog_BG30_127, CardIds.InspiringUnderdog_BG30_127_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst targets = input.board.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) <= 3);\r\n\t\tif (targets.length > 0) {\r\n\t\t\tconst multiplier = minion.cardId === CardIds.InspiringUnderdog_BG30_127 ? 1 : 2;\r\n\t\t\ttargets.forEach((target) => {\r\n\t\t\t\tmodifyStats(target, multiplier * 2, multiplier * 1, input.board, input.hero, input.gameState);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);\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 InterrogatorWhitemane: {
|
|
4
|
-
startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
|
|
5
|
-
};
|
|
1
|
+
import { StartOfCombatCard } from '../../card.interface';
|
|
2
|
+
export declare const InterrogatorWhitemane: StartOfCombatCard;
|
|
@@ -4,6 +4,7 @@ exports.InterrogatorWhitemane = void 0;
|
|
|
4
4
|
const taunt_1 = require("../../../keywords/taunt");
|
|
5
5
|
const utils_1 = require("../../../services/utils");
|
|
6
6
|
exports.InterrogatorWhitemane = {
|
|
7
|
+
cardIds: ["BG24_704", "BG24_704_G"],
|
|
7
8
|
startOfCombat: (minion, input) => {
|
|
8
9
|
if (input.opponentBoard.length > 0) {
|
|
9
10
|
const validTargets = input.opponentBoard.filter((e) => input.gameState.cardsData.getTavernLevel(e.cardId) >= 5);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrogator-whitemane.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/interrogator-whitemane.ts"],"names":[],"mappings":";;;AAGA,mDAAsD;AACtD,mDAAqD;
|
|
1
|
+
{"version":3,"file":"interrogator-whitemane.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/interrogator-whitemane.ts"],"names":[],"mappings":";;;AAGA,mDAAsD;AACtD,mDAAqD;AAKxC,QAAA,qBAAqB,GAAsB;IACvD,OAAO,EAAE,0BAAkF;IAC3F,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9D,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,MAAM,EAAE;oBACb,UAAU,CACT,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;oBACF,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClF,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACpC;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC;AAEF,MAAM,UAAU,GAAG,CAClB,MAAmB,EACnB,MAAmB,EACnB,KAAoB,EACpB,IAAqB,EACrB,SAA0B,EAC1B,SAAwB,EACvB,EAAE;;IACH,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO;KACP;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,CAAC,gBAAgB,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const InterrogatorWhitemane: StartOfCombatCard = {\r\n\tcardIds: [CardIds.InterrogatorWhitemane_BG24_704, CardIds.InterrogatorWhitemane_BG24_704_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.opponentBoard.length > 0) {\r\n\t\t\tconst validTargets = input.opponentBoard.filter(\r\n\t\t\t\t(e) => input.gameState.cardsData.getTavernLevel(e.cardId) >= 5,\r\n\t\t\t);\r\n\t\t\tconst numberOfPicks = minion.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < numberOfPicks; i++) {\r\n\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tcastImpure(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst targetIndex = validTargets.findIndex((e) => e.entityId === target.entityId);\r\n\t\t\t\t\tvalidTargets.splice(targetIndex, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n\r\nconst castImpure = (\r\n\tentity: BoardEntity,\r\n\tsource: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tif (!entity) {\r\n\t\treturn;\r\n\t}\r\n\tconst multiplier = source.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 3 : 2;\r\n\tupdateTaunt(entity, true, board, hero, otherHero, gameState);\r\n\tentity.damageMultiplier = entity.damageMultiplier ?? 1;\r\n\tentity.damageMultiplier *= multiplier;\r\n\tgameState.spectator.registerPowerTarget(source, entity, board, null, null);\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KingBagurgle = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.KingBagurgle = {
|
|
7
|
+
cardIds: ["BGS_030", "TB_BaconUps_100"],
|
|
8
|
+
battlecry: (minion, input) => {
|
|
9
|
+
(0, utils_1.addStatsToBoard)(minion, input.board.filter((e) => e.entityId != minion.entityId), input.hero, minion.cardId === "BGS_030" ? 3 : 6, minion.cardId === "BGS_030" ? 3 : 6, input.gameState, reference_data_1.Race[reference_data_1.Race.MURLOC]);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=king-bagurgle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"king-bagurgle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/king-bagurgle.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,8BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EACxD,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,MAAM,cAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,MAAM,CAAC,MAAM,cAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CACjB,CAAC;IACH,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const KingBagurgle: BattlecryCard = {\r\n\tcardIds: [CardIds.KingBagurgle_BGS_030, CardIds.KingBagurgle_TB_BaconUps_100],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.board.filter((e) => e.entityId != minion.entityId),\r\n\t\t\tinput.hero,\r\n\t\t\tminion.cardId === CardIds.KingBagurgle_BGS_030 ? 3 : 6,\r\n\t\t\tminion.cardId === CardIds.KingBagurgle_BGS_030 ? 3 : 6,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.MURLOC],\r\n\t\t);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeeroyTheReckless = void 0;
|
|
4
|
+
exports.LeeroyTheReckless = {
|
|
5
|
+
cardIds: ["BG23_318", "BG23_318_G"],
|
|
6
|
+
deathrattleEffect: (minion, input) => {
|
|
7
|
+
if (minion.lastAffectedByEntity) {
|
|
8
|
+
minion.lastAffectedByEntity.definitelyDead = true;
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=leeroy-the-reckless.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leeroy-the-reckless.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/leeroy-the-reckless.ts"],"names":[],"mappings":";;;AAKa,QAAA,iBAAiB,GAA0B;IACvD,OAAO,EAAE,0BAA0E;IACnF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,IACC,MAAM,CAAC,oBAAoB,EAI1B;YACD,MAAM,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SAClD;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 { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const LeeroyTheReckless: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.LeeroyTheReckless_BG23_318, CardIds.LeeroyTheReckless_BG23_318_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tif (\r\n\t\t\tminion.lastAffectedByEntity\r\n\t\t\t// http://replays.firestoneapp.com/?reviewId=c6121cdd-5cb6-4321-807e-4ff644568a8c&turn=25&action=7\r\n\t\t\t// Update 02/05/2024: this is a bug, and friendly units should be killed\r\n\t\t\t// deadEntity.friendly !== deadEntity.lastAffectedByEntity.friendly\r\n\t\t) {\r\n\t\t\tminion.lastAffectedByEntity.definitelyDead = true;\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.LightfangEnforcer = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
exports.LightfangEnforcer = {
|
|
6
|
+
cardIds: ["BGS_009", "TB_BaconUps_082"],
|
|
7
|
+
endOfTurn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "TB_BaconUps_082" ? 2 : 1;
|
|
9
|
+
const targets = (0, utils_1.getMinionsOfDifferentTypes)(input.board, input.hero, input.gameState);
|
|
10
|
+
(0, utils_1.addStatsToBoard)(minion, targets, input.hero, 4 * mult, 4 * mult, input.gameState);
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=lightfang-enforcer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightfang-enforcer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lightfang-enforcer.ts"],"names":[],"mappings":";;;AAEA,0CAA6E;AAGhE,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,8BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrF,IAAA,uBAAe,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addStatsToBoard, getMinionsOfDifferentTypes } from '../../../utils';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const LightfangEnforcer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.LightfangEnforcer_BGS_009, CardIds.LightfangEnforcer_TB_BaconUps_082],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.LightfangEnforcer_TB_BaconUps_082 ? 2 : 1;\r\n\t\tconst targets = getMinionsOfDifferentTypes(input.board, input.hero, input.gameState);\r\n\t\taddStatsToBoard(minion, targets, input.hero, 4 * mult, 4 * mult, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LovesickBalladist = 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.LovesickBalladist = {
|
|
9
|
+
cardIds: ["BG26_814", "BG26_814_G"],
|
|
10
|
+
battlecry: (minion, input) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const allMinions = [...input.board, ...input.otherBoard];
|
|
13
|
+
const balladistMultiplier = minion.cardId === "BG26_814" ? 1 : 2;
|
|
14
|
+
const balladistStats = balladistMultiplier * ((_a = minion.scriptDataNum1) !== null && _a !== void 0 ? _a : 0);
|
|
15
|
+
const balladistTargets = allMinions.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.PIRATE, input.gameState.allCards));
|
|
16
|
+
const balladistTarget = (0, utils_1.pickRandom)(balladistTargets);
|
|
17
|
+
if (balladistTarget) {
|
|
18
|
+
const targetBoard = input.board.includes(balladistTarget) ? input.board : input.otherBoard;
|
|
19
|
+
const targetHero = input.board.includes(balladistTarget) ? input.hero : input.otherHero;
|
|
20
|
+
(0, stats_1.modifyStats)(balladistTarget, 0, balladistStats, targetBoard, targetHero, input.gameState);
|
|
21
|
+
input.gameState.spectator.registerPowerTarget(minion, balladistTarget, targetBoard, targetHero, input.otherHero);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=lovesick-balladist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lovesick-balladist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lovesick-balladist.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,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,mBAAmB,GAAG,MAAM,CAAC,MAAM,eAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,mBAAmB,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrE,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,eAAe,EAAE;YACpB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YACxF,IAAA,mBAAW,EAAC,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1F,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,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 { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const LovesickBalladist: BattlecryCard = {\r\n\tcardIds: [CardIds.LovesickBalladist_BG26_814, CardIds.LovesickBalladist_BG26_814_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst allMinions = [...input.board, ...input.otherBoard];\r\n\t\tconst balladistMultiplier = minion.cardId === CardIds.LovesickBalladist_BG26_814 ? 1 : 2;\r\n\t\tconst balladistStats = balladistMultiplier * (minion.scriptDataNum1 ?? 0);\r\n\t\tconst balladistTargets = allMinions.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.PIRATE, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst balladistTarget = pickRandom(balladistTargets);\r\n\t\tif (balladistTarget) {\r\n\t\t\tconst targetBoard = input.board.includes(balladistTarget) ? input.board : input.otherBoard;\r\n\t\t\tconst targetHero = input.board.includes(balladistTarget) ? input.hero : input.otherHero;\r\n\t\t\tmodifyStats(balladistTarget, 0, balladistStats, targetBoard, targetHero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\tminion,\r\n\t\t\t\tballadistTarget,\r\n\t\t\t\ttargetBoard,\r\n\t\t\t\ttargetHero,\r\n\t\t\t\tinput.otherHero,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MisfitDragonling = void 0;
|
|
4
4
|
const stats_1 = require("../../../simulation/stats");
|
|
5
5
|
exports.MisfitDragonling = {
|
|
6
|
+
cardIds: ["BG29_814", "BG29_814_G"],
|
|
6
7
|
startOfCombat: (minion, input) => {
|
|
7
8
|
const multiplier = minion.cardId === "BG29_814_G" ? 2 : 1;
|
|
8
9
|
const tier = input.playerEntity.tavernTier;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misfit-dragonling.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/misfit-dragonling.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,gBAAgB,GAAsB;IAClD,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;QAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,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 MisfitDragonling: StartOfCombatCard = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.MisfitDragonling_BG29_814_G ? 2 : 1;\r\n\t\tconst tier = input.playerEntity.tavernTier;\r\n\t\tconst stats = multiplier * tier;\r\n\t\tmodifyStats(minion, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\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"]}
|
|
1
|
+
{"version":3,"file":"misfit-dragonling.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/misfit-dragonling.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;QAChC,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,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 MisfitDragonling: StartOfCombatCard = {\r\n\tcardIds: [CardIds.MisfitDragonling_BG29_814, CardIds.MisfitDragonling_BG29_814_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.MisfitDragonling_BG29_814_G ? 2 : 1;\r\n\t\tconst tier = input.playerEntity.tavernTier;\r\n\t\tconst stats = multiplier * tier;\r\n\t\tmodifyStats(minion, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\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,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mummifier = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const reborn_1 = require("../../../keywords/reborn");
|
|
6
|
+
const utils_1 = require("../../../services/utils");
|
|
7
|
+
const utils_2 = require("../../../utils");
|
|
8
|
+
exports.Mummifier = {
|
|
9
|
+
cardIds: ["BG28_309", "BG28_309_G"],
|
|
10
|
+
deathrattleEffect: (minion, input) => {
|
|
11
|
+
const mummifierBuff = minion.cardId === "BG28_309_G" ? 2 : 1;
|
|
12
|
+
for (let j = 0; j < mummifierBuff; j++) {
|
|
13
|
+
const targets = input.boardWithDeadEntity
|
|
14
|
+
.filter((e) => e.cardId !== "BG28_309" && e.cardId !== "BG28_309_G")
|
|
15
|
+
.filter((e) => !e.reborn)
|
|
16
|
+
.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.UNDEAD, input.gameState.allCards));
|
|
17
|
+
const target = (0, utils_1.pickRandom)(targets);
|
|
18
|
+
if (target) {
|
|
19
|
+
(0, reborn_1.updateReborn)(target, true, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, input.gameState);
|
|
20
|
+
input.gameState.spectator.registerPowerTarget(minion, target, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=mummifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mummifier.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/mummifier.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,qDAAwD;AACxD,mDAAqD;AAErD,0CAAiD;AAGpC,QAAA,SAAS,GAA0B;IAC/C,OAAO,EAAE,0BAA0D;IACnE,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB;iBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,eAA+B,IAAI,CAAC,CAAC,MAAM,iBAAiC,CAAC;iBACnG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxF,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE;gBACX,IAAA,qBAAY,EACX,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,CACpB,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const Mummifier: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.Mummifier_BG28_309, CardIds.Mummifier_BG28_309_G],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mummifierBuff = minion.cardId === CardIds.Mummifier_BG28_309_G ? 2 : 1;\r\n\t\tfor (let j = 0; j < mummifierBuff; j++) {\r\n\t\t\tconst targets = input.boardWithDeadEntity\r\n\t\t\t\t.filter((e) => e.cardId !== CardIds.Mummifier_BG28_309 && e.cardId !== CardIds.Mummifier_BG28_309_G)\r\n\t\t\t\t.filter((e) => !e.reborn)\r\n\t\t\t\t.filter((e) =>\r\n\t\t\t\t\thasCorrectTribe(e, input.boardWithDeadEntityHero, Race.UNDEAD, input.gameState.allCards),\r\n\t\t\t\t);\r\n\t\t\tconst target = pickRandom(targets);\r\n\t\t\tif (target) {\r\n\t\t\t\tupdateReborn(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\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\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\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\tinput.otherBoardHero,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,6 +6,9 @@ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
|
6
6
|
exports.NeonAgent = {
|
|
7
7
|
cardIds: ["NeonAgent", "NeonAgent_G"],
|
|
8
8
|
onAttack: (minion, input) => {
|
|
9
|
+
if (minion !== input.attacker) {
|
|
10
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
11
|
+
}
|
|
9
12
|
const cards = [];
|
|
10
13
|
const numberOfCards = minion.cardId === "NeonAgent_G" ? 2 : 1;
|
|
11
14
|
for (let i = 0; i < numberOfCards; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon-agent.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/neon-agent.ts"],"names":[],"mappings":";;;AACA,mDAAqD;AACrD,qEAAmE;AAKtD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,4BAAgD;IACzD,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACnE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\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 NeonAgent: OnAttackCard = {\r\n\tcardIds: [TempCardIds.NeonAgent, TempCardIds.NeonAgent_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === TempCardIds.NeonAgent_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.battlecryMinions));\r\n\t\t}\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cards, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"neon-agent.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/neon-agent.ts"],"names":[],"mappings":";;;AACA,mDAAqD;AACrD,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,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACnE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\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 NeonAgent: OnAttackCard = {\r\n\tcardIds: [TempCardIds.NeonAgent, TempCardIds.NeonAgent_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 cards = [];\r\n\t\tconst numberOfCards = minion.cardId === TempCardIds.NeonAgent_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.battlecryMinions));\r\n\t\t}\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cards, input.gameState);\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.NerubianDeathswarmer = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.NerubianDeathswarmer = {
|
|
7
|
+
cardIds: ["BG25_011", "BG25_011_G"],
|
|
8
|
+
battlecry: (minion, input) => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
const nerubianDeathswarmerStats = minion.cardId === "BG25_011" ? 1 : 2;
|
|
11
|
+
input.hero.globalInfo.UndeadAttackBonus =
|
|
12
|
+
((_b = (_a = input.hero.globalInfo) === null || _a === void 0 ? void 0 : _a.UndeadAttackBonus) !== null && _b !== void 0 ? _b : 0) + nerubianDeathswarmerStats;
|
|
13
|
+
(0, utils_1.addStatsToBoard)(minion, input.board, input.hero, nerubianDeathswarmerStats, 0, input.gameState, reference_data_1.Race[reference_data_1.Race.UNDEAD]);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=nerubian-deathswarmer.js.map
|