@firestone-hs/simulate-bgs-battle 1.1.571 → 1.1.573
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bgs-player-entity.d.ts +1 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/cards/card.interface.d.ts +0 -13
- package/dist/cards/card.interface.js +1 -5
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +2 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.d.ts +2 -2
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js +2 -1
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +1 -1
- package/dist/cards/impl/minion/amber-guardian.js +1 -0
- package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
- package/dist/cards/impl/minion/anubarak-nerubian-king.d.ts +2 -2
- package/dist/cards/impl/minion/anubarak-nerubian-king.js +2 -1
- package/dist/cards/impl/minion/anubarak-nerubian-king.js.map +1 -1
- package/dist/cards/impl/minion/baneling.d.ts +2 -2
- package/dist/cards/impl/minion/baneling.js +2 -1
- package/dist/cards/impl/minion/baneling.js.map +1 -1
- package/dist/cards/impl/minion/battlecruiser.d.ts +2 -2
- package/dist/cards/impl/minion/battlecruiser.js +4 -3
- package/dist/cards/impl/minion/battlecruiser.js.map +1 -1
- package/dist/cards/impl/minion/bronze-steward.d.ts +2 -2
- package/dist/cards/impl/minion/bronze-steward.js +2 -1
- package/dist/cards/impl/minion/bronze-steward.js.map +1 -1
- package/dist/cards/impl/minion/coilskar-sapper.d.ts +2 -2
- package/dist/cards/impl/minion/coilskar-sapper.js +2 -1
- package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -1
- package/dist/cards/impl/minion/cruise-controller.d.ts +2 -2
- package/dist/cards/impl/minion/cruise-controller.js +2 -1
- package/dist/cards/impl/minion/cruise-controller.js.map +1 -1
- package/dist/cards/impl/minion/firescale-hoarder.d.ts +2 -2
- package/dist/cards/impl/minion/firescale-hoarder.js +2 -1
- package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -1
- package/dist/cards/impl/minion/flighty-scout.js +1 -1
- package/dist/cards/impl/minion/flighty-scout.js.map +1 -1
- package/dist/cards/impl/minion/gentle-djinni.d.ts +2 -2
- package/dist/cards/impl/minion/gentle-djinni.js +2 -1
- package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
- package/dist/cards/impl/minion/glowing-cinder.d.ts +2 -2
- package/dist/cards/impl/minion/glowing-cinder.js +2 -1
- package/dist/cards/impl/minion/glowing-cinder.js.map +1 -1
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.d.ts +2 -2
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js +2 -1
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -1
- package/dist/cards/impl/minion/gormling-gourmet.d.ts +2 -2
- package/dist/cards/impl/minion/gormling-gourmet.js +2 -1
- package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -1
- package/dist/cards/impl/minion/impulsive-trickster.d.ts +2 -2
- package/dist/cards/impl/minion/impulsive-trickster.js +2 -1
- package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -1
- package/dist/cards/impl/minion/leeroy-the-reckless.d.ts +2 -2
- package/dist/cards/impl/minion/leeroy-the-reckless.js +2 -1
- package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -1
- package/dist/cards/impl/minion/metallic-hunter.d.ts +2 -2
- package/dist/cards/impl/minion/metallic-hunter.js +2 -1
- package/dist/cards/impl/minion/metallic-hunter.js.map +1 -1
- package/dist/cards/impl/minion/mummifier.d.ts +2 -2
- package/dist/cards/impl/minion/mummifier.js +2 -1
- package/dist/cards/impl/minion/mummifier.js.map +1 -1
- package/dist/cards/impl/minion/mutated-lasher.d.ts +2 -2
- package/dist/cards/impl/minion/mutated-lasher.js +2 -1
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
- package/dist/cards/impl/minion/nightmare-par-tea-guest.d.ts +2 -2
- package/dist/cards/impl/minion/nightmare-par-tea-guest.js +2 -1
- package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -1
- package/dist/cards/impl/minion/operatic-belcher.d.ts +2 -2
- package/dist/cards/impl/minion/operatic-belcher.js +2 -1
- package/dist/cards/impl/minion/operatic-belcher.js.map +1 -1
- package/dist/cards/impl/minion/rylak-metalhead.d.ts +2 -2
- package/dist/cards/impl/minion/rylak-metalhead.js +2 -1
- package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -1
- package/dist/cards/impl/minion/selfless-hero.d.ts +2 -2
- package/dist/cards/impl/minion/selfless-hero.js +2 -1
- package/dist/cards/impl/minion/selfless-hero.js.map +1 -1
- package/dist/cards/impl/minion/shadowdancer.d.ts +2 -2
- package/dist/cards/impl/minion/shadowdancer.js +2 -1
- package/dist/cards/impl/minion/shadowdancer.js.map +1 -1
- package/dist/cards/impl/minion/sharptooth-snapper.d.ts +2 -2
- package/dist/cards/impl/minion/sharptooth-snapper.js +5 -1
- package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -1
- package/dist/cards/impl/minion/showy-cyclist.d.ts +2 -2
- package/dist/cards/impl/minion/showy-cyclist.js +2 -1
- package/dist/cards/impl/minion/showy-cyclist.js.map +1 -1
- package/dist/cards/impl/minion/silithid-burrower.d.ts +2 -2
- package/dist/cards/impl/minion/silithid-burrower.js +2 -1
- package/dist/cards/impl/minion/silithid-burrower.js.map +1 -1
- package/dist/cards/impl/minion/slumber-sorcerer.d.ts +2 -2
- package/dist/cards/impl/minion/slumber-sorcerer.js +2 -1
- package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -1
- package/dist/cards/impl/minion/thorncaller.d.ts +2 -2
- package/dist/cards/impl/minion/thorncaller.js +2 -1
- package/dist/cards/impl/minion/thorncaller.js.map +1 -1
- package/dist/cards/impl/minion/thousandth-paper-drake.js +2 -1
- package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
- package/dist/cards/impl/minion/three-lil-quilboar.d.ts +2 -2
- package/dist/cards/impl/minion/three-lil-quilboar.js +2 -1
- package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -1
- package/dist/cards/impl/minion/tunnel-blaster.d.ts +2 -2
- package/dist/cards/impl/minion/tunnel-blaster.js +2 -1
- package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -1
- package/dist/cards/impl/minion/turquoise-skitterer.d.ts +2 -2
- package/dist/cards/impl/minion/turquoise-skitterer.js +2 -5
- package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -1
- package/dist/cards/impl/minion/valiant-tiger.d.ts +2 -2
- package/dist/cards/impl/minion/valiant-tiger.js +2 -1
- package/dist/cards/impl/minion/valiant-tiger.js.map +1 -1
- package/dist/cards/impl/trinket/faerie-dragon-scale.js +2 -1
- package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
- package/dist/cards/impl/trinket/vashjir-anemone.js +2 -1
- package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -1
- package/dist/simulate-bgs-battle.js +1 -1
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/deathrattle-effects.d.ts +2 -1
- package/dist/simulation/deathrattle-effects.js +3 -481
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-orchestration.js +1 -2
- package/dist/simulation/deathrattle-orchestration.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.d.ts +1 -1
- package/dist/simulation/deathrattle-spawns.js +320 -9
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,11 +15,12 @@ exports.SelflessHero = {
|
|
|
15
15
|
}
|
|
16
16
|
return true;
|
|
17
17
|
},
|
|
18
|
-
|
|
18
|
+
deathrattleSpawn: (minion, input) => {
|
|
19
19
|
const mult = minion.cardId === "TB_BaconUps_014" ? 2 : 1;
|
|
20
20
|
for (let i = 0; i < mult; i++) {
|
|
21
21
|
(0, divine_shield_1.grantRandomDivineShield)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoardHero, input.gameState);
|
|
22
22
|
}
|
|
23
|
+
return [];
|
|
23
24
|
},
|
|
24
25
|
};
|
|
25
26
|
//# sourceMappingURL=selfless-hero.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfless-hero.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/selfless-hero.ts"],"names":[],"mappings":";;;AAEA,mEAA0E;AAK7D,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"selfless-hero.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/selfless-hero.ts"],"names":[],"mappings":";;;AAEA,mEAA0E;AAK7D,QAAA,YAAY,GAAyC;IACjE,OAAO,EAAE,gCAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACzD,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAgD,CAAC,CAAA,EAAE;YAChG,OAAO,KAAK,CAAC;SACb;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,uCAAuB,EACtB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { grantRandomDivineShield } from '../../../keywords/divine-shield';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SelflessHero: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SelflessHero_BG_OG_221, CardIds.SelflessHero_TB_BaconUps_014],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tif (!input.hero.trinkets?.some((t) => t.cardId === CardIds.SelflessPortrait_BG32_MagicItem_804)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst mult = minion.cardId === CardIds.SelflessHero_TB_BaconUps_014 ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tgrantRandomDivineShield(minion, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SelflessHero_TB_BaconUps_014 ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tgrantRandomDivineShield(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.otherBoardHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Shadowdancer:
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const Shadowdancer: DeathrattleSpawnCard;
|
|
@@ -4,10 +4,11 @@ exports.Shadowdancer = void 0;
|
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.Shadowdancer = {
|
|
6
6
|
cardIds: ["BG32_891", "BG32_891_G"],
|
|
7
|
-
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
8
|
const mult = minion.cardId === "BG32_891_G" ? 2 : 1;
|
|
9
9
|
const cardsToAdd = Array(mult).fill("BG28_886");
|
|
10
10
|
(0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);
|
|
11
|
+
return [];
|
|
11
12
|
},
|
|
12
13
|
};
|
|
13
14
|
//# sourceMappingURL=shadowdancer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowdancer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shadowdancer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"shadowdancer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/shadowdancer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAoC,CAAC;QACxE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Shadowdancer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Shadowdancer_BG32_891, CardIds.Shadowdancer_BG32_891_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Shadowdancer_BG32_891_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.StaffOfEnrichment_BG28_886);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const SharptoothSnapper:
|
|
1
|
+
import { StartOfCombatCard } from '../../card.interface';
|
|
2
|
+
export declare const SharptoothSnapper: StartOfCombatCard;
|
|
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SharptoothSnapper = void 0;
|
|
4
4
|
exports.SharptoothSnapper = {
|
|
5
5
|
cardIds: ["BG32_201", "BG32_201_G"],
|
|
6
|
-
|
|
6
|
+
startOfCombatTiming: 'start-of-combat',
|
|
7
|
+
startOfCombat: (minion, input) => {
|
|
8
|
+
minion.scriptDataNum1 = minion.cardId === "BG32_201_G" ? 2 : 1;
|
|
9
|
+
return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
|
|
10
|
+
},
|
|
7
11
|
};
|
|
8
12
|
//# sourceMappingURL=sharptooth-snapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharptooth-snapper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharptooth-snapper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sharptooth-snapper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/sharptooth-snapper.ts"],"names":[],"mappings":";;;AAMa,QAAA,iBAAiB,GAAsB;IACnD,OAAO,EAAE,0BAA0E;IACnF,mBAAmB,EAAE,iBAAiB;IACtC,aAAa,EAAE,CACd,MAAmB,EACnB,KAAe,EACsD,EAAE;QACvE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACvE,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 { StartOfCombatCard } from '../../card.interface';\r\n\r\n// Use this instead of DefaultScriptDataNumCard so that it doesn't trigger before the Start of Combat minions phase\r\nexport const SharptoothSnapper: StartOfCombatCard = {\r\n\tcardIds: [CardIds.SharptoothSnapper_BG32_201, CardIds.SharptoothSnapper_BG32_201_G],\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tstartOfCombat: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: SoCInput,\r\n\t): { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean } => {\r\n\t\tminion.scriptDataNum1 = minion.cardId === CardIds.SharptoothSnapper_BG32_201_G ? 2 : 1;\r\n\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const ShowyCyclist:
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const ShowyCyclist: DeathrattleSpawnCard;
|
|
@@ -5,13 +5,14 @@ const reference_data_1 = require("@firestone-hs/reference-data");
|
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
exports.ShowyCyclist = {
|
|
7
7
|
cardIds: ["BG31_925", "BG31_925_G"],
|
|
8
|
-
|
|
8
|
+
deathrattleSpawn: (minion, input) => {
|
|
9
9
|
var _a;
|
|
10
10
|
const base = minion.cardId === "BG31_925_G" ? 2 : 1;
|
|
11
11
|
const baseBuff = (_a = minion.scriptDataNum2) !== null && _a !== void 0 ? _a : base;
|
|
12
12
|
const mult = 1;
|
|
13
13
|
const buff = baseBuff * mult;
|
|
14
14
|
(0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, 1 * buff, 1 * buff, input.gameState, reference_data_1.Race[reference_data_1.Race.NAGA]);
|
|
15
|
+
return [];
|
|
15
16
|
},
|
|
16
17
|
};
|
|
17
18
|
//# sourceMappingURL=showy-cyclist.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"showy-cyclist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/showy-cyclist.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"showy-cyclist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/showy-cyclist.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAIvE,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,IAAI,CAAC;QAE/C,MAAM,IAAI,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ShowyCyclist: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ShowyCyclist_BG31_925, CardIds.ShowyCyclist_BG31_925_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst base = minion.cardId === CardIds.ShowyCyclist_BG31_925_G ? 2 : 1;\r\n\t\t// Can be null when created in game\r\n\t\t// This is not exact, and the actual info should somehow come from the game state, but at least we\r\n\t\t// prevent issues\r\n\t\tconst baseBuff = minion.scriptDataNum2 ?? base;\r\n\t\t// The info is already included in the scriptDataNum2\r\n\t\tconst mult = 1;\r\n\t\tconst buff = baseBuff * mult;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t1 * buff,\r\n\t\t\t1 * buff,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.NAGA],\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AvengeCard,
|
|
2
|
-
export declare const SilithidBurrower:
|
|
1
|
+
import { AvengeCard, DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const SilithidBurrower: DeathrattleSpawnCard & AvengeCard;
|
|
@@ -6,10 +6,11 @@ const utils_1 = require("../../../utils");
|
|
|
6
6
|
exports.SilithidBurrower = {
|
|
7
7
|
cardIds: ["BG29_871", "BG29_871_G"],
|
|
8
8
|
baseAvengeValue: (cardId) => 3,
|
|
9
|
-
|
|
9
|
+
deathrattleSpawn: (minion, input) => {
|
|
10
10
|
const mult = minion.cardId === "BG29_871_G" ? 2 : 1;
|
|
11
11
|
const baseBuff = minion.scriptDataNum1 || 1;
|
|
12
12
|
(0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, baseBuff * mult, baseBuff * mult, input.gameState, reference_data_1.Race[reference_data_1.Race.BEAST]);
|
|
13
|
+
return [];
|
|
13
14
|
},
|
|
14
15
|
avenge: (minion, input) => {
|
|
15
16
|
minion.scriptDataNum1 = (minion.scriptDataNum1 || 1) + 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"silithid-burrower.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silithid-burrower.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAI7D,0CAAiD;AAGpC,QAAA,gBAAgB,
|
|
1
|
+
{"version":3,"file":"silithid-burrower.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/silithid-burrower.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAI7D,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsC;IAClE,OAAO,EAAE,0BAAwE;IACjF,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QAC5C,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EACf,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,KAAK,CAAC,CAChB,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { AvengeCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SilithidBurrower: DeathrattleSpawnCard & AvengeCard = {\r\n\tcardIds: [CardIds.SilithidBurrower_BG29_871, CardIds.SilithidBurrower_BG29_871_G],\r\n\tbaseAvengeValue: (cardId: string) => 3,\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SilithidBurrower_BG29_871_G ? 2 : 1;\r\n\t\tconst baseBuff = minion.scriptDataNum1 || 1;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tbaseBuff * mult,\r\n\t\t\tbaseBuff * mult,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.BEAST],\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tminion.scriptDataNum1 = (minion.scriptDataNum1 || 1) + 1;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const SlumberSorcerer:
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const SlumberSorcerer: DeathrattleSpawnCard;
|
|
@@ -4,10 +4,11 @@ exports.SlumberSorcerer = void 0;
|
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.SlumberSorcerer = {
|
|
6
6
|
cardIds: ["BG32_833", "BG32_833_G"],
|
|
7
|
-
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
8
|
const mult = minion.cardId === "BG32_833_G" ? 2 : 1;
|
|
9
9
|
const cardsToAdd = Array(mult).fill("BG32_815");
|
|
10
10
|
(0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);
|
|
11
|
+
return [];
|
|
11
12
|
},
|
|
12
13
|
};
|
|
13
14
|
//# sourceMappingURL=slumber-sorcerer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slumber-sorcerer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/slumber-sorcerer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"slumber-sorcerer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/slumber-sorcerer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,eAAe,GAAyB;IACpD,OAAO,EAAE,0BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA+B,CAAC;QACnE,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const SlumberSorcerer: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.SlumberSorcerer_BG32_833, CardIds.SlumberSorcerer_BG32_833_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.SlumberSorcerer_BG32_833_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.ShiftingTide_BG32_815);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { BattlecryCard,
|
|
2
|
-
export declare const Thorncaller: BattlecryCard &
|
|
1
|
+
import { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const Thorncaller: BattlecryCard & DeathrattleSpawnCard;
|
|
@@ -10,10 +10,11 @@ exports.Thorncaller = {
|
|
|
10
10
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cardsToAdd, input.gameState);
|
|
11
11
|
return true;
|
|
12
12
|
},
|
|
13
|
-
|
|
13
|
+
deathrattleSpawn: (minion, input) => {
|
|
14
14
|
const mult = minion.cardId === "BG20_105_G" ? 2 : 1;
|
|
15
15
|
const cardsToAdd = Array(mult).fill("BG20_GEM");
|
|
16
16
|
(0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);
|
|
17
|
+
return [];
|
|
17
18
|
},
|
|
18
19
|
};
|
|
19
20
|
//# sourceMappingURL=thorncaller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thorncaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thorncaller.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,WAAW,
|
|
1
|
+
{"version":3,"file":"thorncaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thorncaller.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAItD,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAW,EAAE;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QACtD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Thorncaller: BattlecryCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Thorncaller_BG20_105, CardIds.Thorncaller_BG20_105_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput): boolean => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.hero, input.board, cardsToAdd, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Thorncaller_BG20_105_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cardsToAdd, input.gameState);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -14,8 +14,9 @@ exports.ThousandthPaperDrake = {
|
|
|
14
14
|
const target = dragons.filter((e) => !pickedTargets.includes(e))[0];
|
|
15
15
|
if (!!target) {
|
|
16
16
|
(0, stats_1.modifyStats)(target, minion, 1, 2, input.playerBoard, input.playerEntity, input.gameState);
|
|
17
|
-
(0, windfury_1.updateWindfury)(
|
|
17
|
+
(0, windfury_1.updateWindfury)(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
18
18
|
pickedTargets.push(target);
|
|
19
|
+
input.gameState.spectator.registerPowerTarget(minion, target, input.playerBoard, input.playerEntity, input.opponentEntity);
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thousandth-paper-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thousandth-paper-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,yDAA4D;AAE5D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,oBAAoB,GAAG;IACnC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"thousandth-paper-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/thousandth-paper-drake.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,yDAA4D;AAE5D,qDAAwD;AACxD,0CAAiD;AAEpC,QAAA,oBAAoB,GAAG;IACnC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACxG,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1F,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,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;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\n\r\nexport const ThousandthPaperDrake = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ThousandthPaperDrake_BG29_810_G ? 2 : 1;\r\n\t\tconst pickedTargets = [];\r\n\t\tconst dragons = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.DRAGON, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst target = dragons.filter((e) => !pickedTargets.includes(e))[0];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tmodifyStats(target, minion, 1, 2, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tpickedTargets.push(target);\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.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const ThreeLilQuilboar:
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const ThreeLilQuilboar: DeathrattleSpawnCard;
|
|
@@ -6,11 +6,12 @@ const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
exports.ThreeLilQuilboar = {
|
|
8
8
|
cardIds: ["BG26_867", "BG26_867_G"],
|
|
9
|
-
|
|
9
|
+
deathrattleSpawn: (minion, input) => {
|
|
10
10
|
const numberOfBloodGems = minion.cardId === "BG26_867_G" ? 6 : 3;
|
|
11
11
|
for (const entity of input.boardWithDeadEntity.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.QUILBOAR, input.gameState.anomalies, input.gameState.allCards))) {
|
|
12
12
|
(0, blood_gems_1.playBloodGemsOn)(minion, entity, numberOfBloodGems, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
13
13
|
}
|
|
14
|
+
return [];
|
|
14
15
|
},
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=three-lil-quilboar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three-lil-quilboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/three-lil-quilboar.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,+DAAiE;AAEjE,0CAAiD;AAGpC,QAAA,gBAAgB,
|
|
1
|
+
{"version":3,"file":"three-lil-quilboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/three-lil-quilboar.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,+DAAiE;AAEjE,0CAAiD;AAGpC,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,QAAQ,EACb,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,EAAE;YACF,IAAA,4BAAe,EACd,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ThreeLilQuilboar: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ThreeLilQuilboar_BG26_867, CardIds.ThreeLilQuilboar_BG26_867_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst numberOfBloodGems = minion.cardId === CardIds.ThreeLilQuilboar_BG26_867_G ? 6 : 3;\r\n\t\tfor (const entity of input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\te,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tRace.QUILBOAR,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t),\r\n\t\t)) {\r\n\t\t\tplayBloodGemsOn(\r\n\t\t\t\tminion,\r\n\t\t\t\tentity,\r\n\t\t\t\tnumberOfBloodGems,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const TunnelBlaster:
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const TunnelBlaster: DeathrattleSpawnCard;
|
|
@@ -4,7 +4,7 @@ exports.TunnelBlaster = void 0;
|
|
|
4
4
|
const attack_1 = require("../../../simulation/attack");
|
|
5
5
|
exports.TunnelBlaster = {
|
|
6
6
|
cardIds: ["BG_DAL_775", "BG_DAL_775_G"],
|
|
7
|
-
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
8
|
const loops = minion.cardId === "BG_DAL_775_G" ? 2 : 1;
|
|
9
9
|
const minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];
|
|
10
10
|
for (let j = 0; j < loops; j++) {
|
|
@@ -15,6 +15,7 @@ exports.TunnelBlaster = {
|
|
|
15
15
|
(0, attack_1.dealDamageToMinion)(target, board, hero, minion, 3, isSameSide ? input.otherBoard : input.boardWithDeadEntity, isSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero, input.gameState);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
return [];
|
|
18
19
|
},
|
|
19
20
|
};
|
|
20
21
|
//# sourceMappingURL=tunnel-blaster.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,
|
|
1
|
+
{"version":3,"file":"tunnel-blaster.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/tunnel-blaster.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,8BAAsE;IAC/E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,mBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;gBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC/E,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EACzD,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,EACjE,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const TunnelBlaster: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TunnelBlaster_BG_DAL_775, CardIds.TunnelBlaster_BG_DAL_775_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.TunnelBlaster_BG_DAL_775_G ? 2 : 1;\r\n\t\t// In case there are spawns, don't target them\r\n\t\tconst minionsToDamage = [...input.boardWithDeadEntity, ...input.otherBoard];\r\n\t\tfor (let j = 0; j < loops; j++) {\r\n\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\tconst isSameSide = target.friendly === minion.friendly;\r\n\t\t\t\tconst board = isSameSide ? input.boardWithDeadEntity : input.otherBoard;\r\n\t\t\t\tconst hero = isSameSide ? input.boardWithDeadEntityHero : input.otherBoardHero;\r\n\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tboard,\r\n\t\t\t\t\thero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t3,\r\n\t\t\t\t\tisSameSide ? input.otherBoard : input.boardWithDeadEntity,\r\n\t\t\t\t\tisSameSide ? input.otherBoardHero : input.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const TurquoiseSkitterer: DeathrattleSpawnCard &
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const TurquoiseSkitterer: DeathrattleSpawnCard & DeathrattleSpawnCard;
|
|
@@ -7,11 +7,7 @@ const atkBuff = 1;
|
|
|
7
7
|
const hpBuff = 2;
|
|
8
8
|
exports.TurquoiseSkitterer = {
|
|
9
9
|
cardIds: ["BG31_809", "BG31_809_G"],
|
|
10
|
-
deathrattleSpawn: (
|
|
11
|
-
const numberOfSpawns = deadEntity.cardId === "BG31_809_G" ? 2 : 1;
|
|
12
|
-
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG28_603t", numberOfSpawns, input);
|
|
13
|
-
},
|
|
14
|
-
deathrattleEffect: (minion, input) => {
|
|
10
|
+
deathrattleSpawn: (minion, input) => {
|
|
15
11
|
const mult = minion.cardId === "BG31_809_G" ? 2 : 1;
|
|
16
12
|
input.boardWithDeadEntityHero.globalInfo.BeetleAttackBuff =
|
|
17
13
|
input.boardWithDeadEntityHero.globalInfo.BeetleAttackBuff + atkBuff * mult;
|
|
@@ -22,6 +18,7 @@ exports.TurquoiseSkitterer = {
|
|
|
22
18
|
.forEach((e) => {
|
|
23
19
|
(0, stats_1.modifyStats)(e, minion, atkBuff * mult, hpBuff * mult, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
24
20
|
});
|
|
21
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG28_603t", mult, input);
|
|
25
22
|
},
|
|
26
23
|
};
|
|
27
24
|
//# sourceMappingURL=turquoise-skitterer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turquoise-skitterer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/turquoise-skitterer.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AACjF,qDAAwD;AAGxD,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,MAAM,GAAG,CAAC,CAAC;AAEJ,QAAA,kBAAkB,
|
|
1
|
+
{"version":3,"file":"turquoise-skitterer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/turquoise-skitterer.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AACjF,qDAAwD;AAGxD,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,MAAM,GAAG,CAAC,CAAC;AAEJ,QAAA,kBAAkB,GAAgD;IAC9E,OAAO,EAAE,0BAA4E;IACrF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,gBAAgB;YACxD,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC;QAC5E,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,gBAAgB;YACxD,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC;QAC3E,KAAK,CAAC,mBAAmB;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,4BAAyE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CACvG;aACA,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EACV,CAAC,EACD,MAAM,EACN,OAAO,GAAG,IAAI,EACd,MAAM,GAAG,IAAI,EACb,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;QACH,CAAC,CAAC,CAAC;QACJ,OAAO,IAAA,4CAAuB,eAA8C,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nconst atkBuff = 1;\r\nconst hpBuff = 2;\r\n\r\nexport const TurquoiseSkitterer: DeathrattleSpawnCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.TurquoiseSkitterer_BG31_809, CardIds.TurquoiseSkitterer_BG31_809_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.TurquoiseSkitterer_BG31_809_G ? 2 : 1;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.BeetleAttackBuff =\r\n\t\t\tinput.boardWithDeadEntityHero.globalInfo.BeetleAttackBuff + atkBuff * mult;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.BeetleHealthBuff =\r\n\t\t\tinput.boardWithDeadEntityHero.globalInfo.BeetleHealthBuff + hpBuff * mult;\r\n\t\tinput.boardWithDeadEntity\r\n\t\t\t.filter((e) =>\r\n\t\t\t\t[CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G].includes(e.cardId as CardIds),\r\n\t\t\t)\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tatkBuff * mult,\r\n\t\t\t\t\thpBuff * mult,\r\n\t\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, mult, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const ValiantTiger:
|
|
1
|
+
import { DeathrattleSpawnCard } from '../../card.interface';
|
|
2
|
+
export declare const ValiantTiger: DeathrattleSpawnCard;
|
|
@@ -6,13 +6,14 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
exports.ValiantTiger = {
|
|
8
8
|
cardIds: ["BG32_202", "BG32_202_G"],
|
|
9
|
-
|
|
9
|
+
deathrattleSpawn: (minion, input) => {
|
|
10
10
|
const mult = minion.cardId === "BG32_202" ? 1 : 2;
|
|
11
11
|
const beasts = input.boardWithDeadEntity.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards));
|
|
12
12
|
const target = beasts[beasts.length - 1];
|
|
13
13
|
if (target) {
|
|
14
14
|
(0, stats_1.modifyStats)(target, minion, 4 * mult, 3 * mult, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.gameState);
|
|
15
15
|
}
|
|
16
|
+
return [];
|
|
16
17
|
},
|
|
17
18
|
};
|
|
18
19
|
//# sourceMappingURL=valiant-tiger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valiant-tiger.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/valiant-tiger.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"valiant-tiger.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/valiant-tiger.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,YAAY,GAAyB;IACjD,OAAO,EAAE,0BAAgE;IACzE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACX,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ValiantTiger: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ValiantTiger_BG32_202, CardIds.ValiantTiger_BG32_202_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ValiantTiger_BG32_202 ? 1 : 2;\r\n\t\tconst beasts = input.boardWithDeadEntity.filter((e) =>\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\te,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tRace.BEAST,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t),\r\n\t\t);\r\n\t\tconst target = beasts[beasts.length - 1];\r\n\t\tif (target) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\t4 * mult,\r\n\t\t\t\t3 * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -9,7 +9,8 @@ exports.FaerieDragonScale = {
|
|
|
9
9
|
defaultScriptDataNum: (cardId) => 3,
|
|
10
10
|
onAnyMinionAttack: (trinket, input) => {
|
|
11
11
|
if (trinket.scriptDataNum1 > 0) {
|
|
12
|
-
if (
|
|
12
|
+
if (!input.attacker.divineShield &&
|
|
13
|
+
(0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.DRAGON, input.gameState.anomalies, input.gameState.allCards)) {
|
|
13
14
|
(0, divine_shield_1.updateDivineShield)(input.attacker, input.attackingBoard, input.attackingHero, input.defendingHero, true, input.gameState);
|
|
14
15
|
trinket.scriptDataNum1--;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faerie-dragon-scale.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/faerie-dragon-scale.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,iBAAiB,GAA4C;IACzE,OAAO,EAAE,sBAA8C;IACvD,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,iBAAiB,EAAE,CAClB,OAAqB,EACrB,KAAoB,EACuC,EAAE;QAC7D,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE;YAC/B,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;gBACD,IAAA,kCAAkB,EACjB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,CAAC,cAAc,EAAE,CAAC;aACzB;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DefaultScriptDataNumCard, OnAttackCard } from '../../card.interface';\r\n\r\nexport const FaerieDragonScale: OnAttackCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.FaerieDragonScale_BG32_MagicItem_363],\r\n\tdefaultScriptDataNum: (cardId: string) => 3,\r\n\tonAnyMinionAttack: (\r\n\t\ttrinket: BoardTrinket,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (trinket.scriptDataNum1 > 0) {\r\n\t\t\tif (\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\ttrinket.scriptDataNum1--;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"faerie-dragon-scale.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/faerie-dragon-scale.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mEAAqE;AAErE,0CAAiD;AAGpC,QAAA,iBAAiB,GAA4C;IACzE,OAAO,EAAE,sBAA8C;IACvD,oBAAoB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,iBAAiB,EAAE,CAClB,OAAqB,EACrB,KAAoB,EACuC,EAAE;QAC7D,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE;YAC/B,IACC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY;gBAC5B,IAAA,uBAAe,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;gBACD,IAAA,kCAAkB,EACjB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,CAAC,cAAc,EAAE,CAAC;aACzB;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DefaultScriptDataNumCard, OnAttackCard } from '../../card.interface';\r\n\r\nexport const FaerieDragonScale: OnAttackCard & DefaultScriptDataNumCard = {\r\n\tcardIds: [CardIds.FaerieDragonScale_BG32_MagicItem_363],\r\n\tdefaultScriptDataNum: (cardId: string) => 3,\r\n\tonAnyMinionAttack: (\r\n\t\ttrinket: BoardTrinket,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (trinket.scriptDataNum1 > 0) {\r\n\t\t\tif (\r\n\t\t\t\t!input.attacker.divineShield &&\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\tinput.attacker,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\ttrinket.scriptDataNum1--;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -5,7 +5,8 @@ const utils_1 = require("../../../utils");
|
|
|
5
5
|
exports.VashjirAnemone = {
|
|
6
6
|
cardIds: ["BG32_MagicItem_932"],
|
|
7
7
|
startOfCombat: (trinket, input) => {
|
|
8
|
-
|
|
8
|
+
var _a;
|
|
9
|
+
const buff = 1 + Math.floor(((_a = input.playerEntity.globalInfo.SpellsCastThisGame) !== null && _a !== void 0 ? _a : 0) / 4);
|
|
9
10
|
(0, utils_1.addStatsToBoard)(trinket, input.playerBoard, input.playerEntity, 0, buff, input.gameState);
|
|
10
11
|
return true;
|
|
11
12
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vashjir-anemone.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/vashjir-anemone.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"vashjir-anemone.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/vashjir-anemone.ts"],"names":[],"mappings":";;;AAGA,0CAAiD;AAGpC,QAAA,cAAc,GAAsB;IAChD,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAA,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzF,IAAA,uBAAe,EAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const VashjirAnemone: StartOfCombatCard = {\r\n\tcardIds: [CardIds.VashjirAnemone_BG32_MagicItem_932],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tconst buff = 1 + Math.floor((input.playerEntity.globalInfo.SpellsCastThisGame ?? 0) / 4);\r\n\t\taddStatsToBoard(trinket, input.playerBoard, input.playerEntity, 0, buff, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -233,7 +233,7 @@ const isValidDeathrattleEnchantment = (cardId) => {
|
|
|
233
233
|
}
|
|
234
234
|
if (validDeathrattleEnchantmentsFromMapping.length === 0) {
|
|
235
235
|
for (const cardImpl of Object.values(_card_mappings_1.cardMappings)) {
|
|
236
|
-
if ((0, card_interface_1.
|
|
236
|
+
if ((0, card_interface_1.hasDeathrattleSpawnEnchantment)(cardImpl)) {
|
|
237
237
|
validDeathrattleEnchantmentsFromMapping.push(...cardImpl.cardIds);
|
|
238
238
|
}
|
|
239
239
|
}
|