@firestone-hs/simulate-bgs-battle 1.1.753 → 1.1.755
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 +1 -1
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +5 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/enchantments/deaths-embrace.js +0 -2
- package/dist/cards/impl/enchantments/deaths-embrace.js.map +1 -1
- package/dist/cards/impl/enchantments/doppelganger.d.ts +2 -0
- package/dist/cards/impl/enchantments/doppelganger.js +26 -0
- package/dist/cards/impl/enchantments/doppelganger.js.map +1 -0
- package/dist/cards/impl/minion/abyssal-bruiser.js +0 -2
- package/dist/cards/impl/minion/abyssal-bruiser.js.map +1 -1
- package/dist/cards/impl/minion/cthrax-wrecker.js +2 -3
- package/dist/cards/impl/minion/cthrax-wrecker.js.map +1 -1
- package/dist/cards/impl/minion/cutthroat-kthir.js +2 -3
- package/dist/cards/impl/minion/cutthroat-kthir.js.map +1 -1
- package/dist/cards/impl/minion/dark-paradox.js +2 -3
- package/dist/cards/impl/minion/dark-paradox.js.map +1 -1
- package/dist/cards/impl/minion/dark-puppeteer.js +3 -3
- package/dist/cards/impl/minion/dark-puppeteer.js.map +1 -1
- package/dist/cards/impl/minion/de-volition-ist.js +0 -3
- package/dist/cards/impl/minion/de-volition-ist.js.map +1 -1
- package/dist/cards/impl/minion/drifting-sacrifice.js +2 -3
- package/dist/cards/impl/minion/drifting-sacrifice.js.map +1 -1
- package/dist/cards/impl/minion/drustfallen-butcher.js +1 -1
- package/dist/cards/impl/minion/drustfallen-butcher.js.map +1 -1
- package/dist/cards/impl/minion/echoing-roar.js +1 -2
- package/dist/cards/impl/minion/echoing-roar.js.map +1 -1
- package/dist/cards/impl/minion/faceless-converter.js +2 -3
- package/dist/cards/impl/minion/faceless-converter.js.map +1 -1
- package/dist/cards/impl/minion/harbinger-aphlass.js +3 -4
- package/dist/cards/impl/minion/harbinger-aphlass.js.map +1 -1
- package/dist/cards/impl/minion/hopebringer.js +4 -6
- package/dist/cards/impl/minion/hopebringer.js.map +1 -1
- package/dist/cards/impl/minion/joyous.js +2 -3
- package/dist/cards/impl/minion/joyous.js.map +1 -1
- package/dist/cards/impl/minion/lurking-leviathan.js +1 -2
- package/dist/cards/impl/minion/lurking-leviathan.js.map +1 -1
- package/dist/cards/impl/minion/maritime-extortionist.js +0 -2
- package/dist/cards/impl/minion/maritime-extortionist.js.map +1 -1
- package/dist/cards/impl/minion/mindbender-ghursha.js +2 -3
- package/dist/cards/impl/minion/mindbender-ghursha.js.map +1 -1
- package/dist/cards/impl/minion/mysterious-kthir.js +4 -4
- package/dist/cards/impl/minion/mysterious-kthir.js.map +1 -1
- package/dist/cards/impl/minion/ravaging-scorpid.js +1 -1
- package/dist/cards/impl/minion/ravaging-scorpid.js.map +1 -1
- package/dist/cards/impl/minion/sha-of-fear.js +2 -3
- package/dist/cards/impl/minion/sha-of-fear.js.map +1 -1
- package/dist/cards/impl/minion/skeletal-strafer.js +4 -6
- package/dist/cards/impl/minion/skeletal-strafer.js.map +1 -1
- package/dist/cards/impl/minion/the-shadow-of-doubt.js +2 -3
- package/dist/cards/impl/minion/the-shadow-of-doubt.js.map +1 -1
- package/dist/cards/impl/minion/twilight-primordium.js +1 -2
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
- package/dist/cards/impl/minion/vicious-mindslasher.js +4 -4
- package/dist/cards/impl/minion/vicious-mindslasher.js.map +1 -1
- package/dist/cards/impl/trinket/archaic-scroll.js +3 -3
- package/dist/cards/impl/trinket/archaic-scroll.js.map +1 -1
- package/dist/cards/impl/trinket/bloodbound-earrings.js +1 -2
- package/dist/cards/impl/trinket/bloodbound-earrings.js.map +1 -1
- package/dist/cards/impl/trinket/copper-coil.js +5 -5
- package/dist/cards/impl/trinket/copper-coil.js.map +1 -1
- package/dist/cards/impl/trinket/eclectic-shrine.js +2 -3
- package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
- package/dist/cards/impl/trinket/hammer-of-twilight.d.ts +3 -0
- package/dist/cards/impl/trinket/hammer-of-twilight.js +80 -0
- package/dist/cards/impl/trinket/hammer-of-twilight.js.map +1 -0
- package/dist/cards/impl/trinket/tide-raiser-portrait.js +1 -2
- package/dist/cards/impl/trinket/tide-raiser-portrait.js.map +1 -1
- package/dist/simulation/battlecries.js +9 -9
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/death-effects.js +6 -2
- package/dist/simulation/death-effects.js.map +1 -1
- package/dist/simulation/deity.d.ts +5 -0
- package/dist/simulation/deity.js +28 -10
- package/dist/simulation/deity.js.map +1 -1
- package/dist/simulation/discard.js +7 -1
- package/dist/simulation/discard.js.map +1 -1
- package/dist/simulation/reborn.js +7 -0
- package/dist/simulation/reborn.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,20 +6,18 @@ exports.SkeletalStrafer = {
|
|
|
6
6
|
cardIds: ["BG35_334", "BG35_334_G"],
|
|
7
7
|
baseAvengeValue: () => 1,
|
|
8
8
|
avenge: (minion, _input) => {
|
|
9
|
-
var _a, _b;
|
|
10
9
|
const isG = minion.cardId === "BG35_334_G";
|
|
11
10
|
const dAtk = isG ? 2 : 1;
|
|
12
11
|
const dHp = isG ? 2 : 1;
|
|
13
12
|
const baseAtk = isG ? 2 : 1;
|
|
14
13
|
const baseHp = isG ? 2 : 1;
|
|
15
|
-
minion.scriptDataNum1 = (
|
|
16
|
-
minion.scriptDataNum2 = (
|
|
14
|
+
minion.scriptDataNum1 = (minion.scriptDataNum1 || baseAtk) + dAtk;
|
|
15
|
+
minion.scriptDataNum2 = (minion.scriptDataNum2 || baseHp) + dHp;
|
|
17
16
|
},
|
|
18
17
|
endOfTurn: (minion, input) => {
|
|
19
|
-
var _a, _b;
|
|
20
18
|
const isG = minion.cardId === "BG35_334_G";
|
|
21
|
-
const atk =
|
|
22
|
-
const hp =
|
|
19
|
+
const atk = minion.scriptDataNum1 || (isG ? 2 : 1);
|
|
20
|
+
const hp = minion.scriptDataNum2 || (isG ? 2 : 1);
|
|
23
21
|
for (const e of input.board) {
|
|
24
22
|
(0, stats_1.modifyStats)(e, minion, atk, hp, input.board, input.hero, input.gameState);
|
|
25
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeletal-strafer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/skeletal-strafer.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,eAAe,GAA+B;IAC1D,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,MAAmB,EAAE,MAAmB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"skeletal-strafer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/skeletal-strafer.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,eAAe,GAA+B;IAC1D,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,MAAmB,EAAE,MAAmB,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC;QAClE,MAAM,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC;IACjE,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAA,mBAAW,EAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { AvengeCard, EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const SkeletalStrafer: AvengeCard & EndOfTurnCard = {\r\n\tcardIds: [CardIds.SkeletalStrafer_BG35_334, CardIds.SkeletalStrafer_BG35_334_G],\r\n\tbaseAvengeValue: () => 1,\r\n\tavenge: (minion: BoardEntity, _input: AvengeInput) => {\r\n\t\tconst isG = minion.cardId === CardIds.SkeletalStrafer_BG35_334_G;\r\n\t\tconst dAtk = isG ? 2 : 1;\r\n\t\tconst dHp = isG ? 2 : 1;\r\n\t\tconst baseAtk = isG ? 2 : 1;\r\n\t\tconst baseHp = isG ? 2 : 1;\r\n\t\tminion.scriptDataNum1 = (minion.scriptDataNum1 || baseAtk) + dAtk;\r\n\t\tminion.scriptDataNum2 = (minion.scriptDataNum2 || baseHp) + dHp;\r\n\t},\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst isG = minion.cardId === CardIds.SkeletalStrafer_BG35_334_G;\r\n\t\tconst atk = minion.scriptDataNum1 || (isG ? 2 : 1);\r\n\t\tconst hp = minion.scriptDataNum2 || (isG ? 2 : 1);\r\n\t\tfor (const e of input.board) {\r\n\t\t\tmodifyStats(e, minion, atk, hp, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -5,9 +5,8 @@ const deity_1 = require("../../../simulation/deity");
|
|
|
5
5
|
exports.TheShadowOfDoubt = {
|
|
6
6
|
cardIds: ["BG36_109", "BG36_109_G"],
|
|
7
7
|
onCardAddedToHand: (minion, input) => {
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const hp = (_b = minion.scriptDataNum2) !== null && _b !== void 0 ? _b : (minion.cardId === "BG36_109_G" ? 8 : 4);
|
|
8
|
+
const atk = minion.scriptDataNum1 || (minion.cardId === "BG36_109_G" ? 10 : 5);
|
|
9
|
+
const hp = minion.scriptDataNum2 || (minion.cardId === "BG36_109_G" ? 10 : 5);
|
|
11
10
|
(0, deity_1.buffYourDeity)(input.hero, input.board, minion, atk, hp, input.gameState);
|
|
12
11
|
},
|
|
13
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"the-shadow-of-doubt.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/the-shadow-of-doubt.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"the-shadow-of-doubt.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/the-shadow-of-doubt.ts"],"names":[],"mappings":";;;AAUA,qDAA0D;AAG7C,QAAA,gBAAgB,GAA0B;IACtD,OAAO,EAAE,0BAAwE;IACjF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAA6B,EAAE,EAAE;QACzE,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAA,qBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * The Shadow of Doubt (Tier 6, 6/8)\r\n * Whenever a card is added to your hand, give your Deity +3/+4.\r\n *\r\n * Golden The Shadow of Doubt (Tier 6, 12/16)\r\n * Whenever a card is added to your hand, give your Deity +6/+8.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { buffYourDeity } from '../../../simulation/deity';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const TheShadowOfDoubt: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.TheShadowOfDoubt_BG36_109, CardIds.TheShadowOfDoubt_BG36_109_G],\r\n\tonCardAddedToHand: (minion: BoardEntity, input: OnCardAddedToHandInput) => {\r\n\t\tconst atk = minion.scriptDataNum1 || (minion.cardId === CardIds.TheShadowOfDoubt_BG36_109_G ? 10 : 5);\r\n\t\tconst hp = minion.scriptDataNum2 || (minion.cardId === CardIds.TheShadowOfDoubt_BG36_109_G ? 10 : 5);\r\n\t\tbuffYourDeity(input.hero, input.board, minion, atk, hp, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -8,8 +8,7 @@ const utils_2 = require("../../../utils");
|
|
|
8
8
|
exports.TwilightPrimordium = {
|
|
9
9
|
cardIds: ["BG31_813", "BG31_813_G"],
|
|
10
10
|
battlecry: (minion, input) => {
|
|
11
|
-
|
|
12
|
-
const currentBuffValue = (_a = minion.scriptDataNum1) !== null && _a !== void 0 ? _a : 1;
|
|
11
|
+
const currentBuffValue = minion.scriptDataNum1 || 1;
|
|
13
12
|
const mult = minion.cardId === "BG31_813_G" ? 2 : 1;
|
|
14
13
|
const candidates = [
|
|
15
14
|
...input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twilight-primordium.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-primordium.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"twilight-primordium.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/twilight-primordium.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,kBAAkB,GAAkB;IAChD,OAAO,EAAE,0BAA4E;IACrF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG;YAClB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACnG;SACD,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,CAAC,GAAG,IAAI,GAAG,gBAAgB,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\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 TwilightPrimordium: BattlecryCard = {\r\n\tcardIds: [CardIds.TwilightPrimordium_BG31_813, CardIds.TwilightPrimordium_BG31_813_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst currentBuffValue = minion.scriptDataNum1 || 1;\r\n\t\tconst mult = minion.cardId === CardIds.TwilightPrimordium_BG31_813_G ? 2 : 1;\r\n\t\tconst candidates = [\r\n\t\t\t...input.board.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t\t...input.otherBoard.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.ELEMENTAL, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t),\r\n\t\t];\r\n\t\tconst target = pickRandom(candidates);\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\t2 * mult * currentBuffValue,\r\n\t\t\t\t2 * mult * currentBuffValue,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,12 +7,12 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
7
7
|
exports.ViciousMindslasher = {
|
|
8
8
|
cardIds: ["BG36_108", "BG36_108_G"],
|
|
9
9
|
onTavernSpellCast: (minion, input) => {
|
|
10
|
-
var _a
|
|
11
|
-
const atk =
|
|
12
|
-
const hp =
|
|
10
|
+
var _a;
|
|
11
|
+
const atk = minion.scriptDataNum1 || (minion.cardId === "BG36_108_G" ? 2 : 1);
|
|
12
|
+
const hp = minion.scriptDataNum2 || (minion.cardId === "BG36_108_G" ? 6 : 3);
|
|
13
13
|
(0, stats_1.modifyStats)(minion, minion, atk, hp, input.board, input.hero, input.gameState);
|
|
14
14
|
(0, deity_1.buffYourDeity)(input.hero, input.board, minion, atk, hp, input.gameState);
|
|
15
|
-
if ((
|
|
15
|
+
if ((_a = input.hero.trinkets) === null || _a === void 0 ? void 0 : _a.some((t) => t.cardId === "BG36_MagicItem_402")) {
|
|
16
16
|
for (const neighbour of (0, attack_1.getNeighbours)(input.board, minion)) {
|
|
17
17
|
(0, stats_1.modifyStats)(neighbour, minion, atk, hp, input.board, input.hero, input.gameState);
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vicious-mindslasher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vicious-mindslasher.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"vicious-mindslasher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/vicious-mindslasher.ts"],"names":[],"mappings":";;;AAWA,uDAA2D;AAC3D,qDAA0D;AAC1D,qDAAwD;AAG3C,QAAA,kBAAkB,GAA0B;IACxD,OAAO,EAAE,0BAA4E;IACrF,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/E,IAAA,qBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAmD,CAAC,EAAE;YAClG,KAAK,MAAM,SAAS,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;gBAC3D,IAAA,mBAAW,EAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAClF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Vicious Mindslasher (Tier 3, 3/1)\r\n * Whenever you cast a Tavern spell, give this and your Deity +1/+3.\r\n *\r\n * Golden Vicious Mindslasher (Tier 3, 6/2)\r\n * Whenever you cast a Tavern spell, give this and your Deity +2/+6.\r\n *\r\n * Mindslasher Portrait: also give the stats to adjacent minions.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { getNeighbours } from '../../../simulation/attack';\r\nimport { buffYourDeity } from '../../../simulation/deity';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nexport const ViciousMindslasher: OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ViciousMindslasher_BG36_108, CardIds.ViciousMindslasher_BG36_108_G],\r\n\tonTavernSpellCast: (minion: BoardEntity, input: CastSpellInput) => {\r\n\t\tconst atk = minion.scriptDataNum1 || (minion.cardId === CardIds.ViciousMindslasher_BG36_108_G ? 2 : 1);\r\n\t\tconst hp = minion.scriptDataNum2 || (minion.cardId === CardIds.ViciousMindslasher_BG36_108_G ? 6 : 3);\r\n\t\tmodifyStats(minion, minion, atk, hp, input.board, input.hero, input.gameState);\r\n\t\tbuffYourDeity(input.hero, input.board, minion, atk, hp, input.gameState);\r\n\t\tif (input.hero.trinkets?.some((t) => t.cardId === CardIds.MindslasherPortrait_BG36_MagicItem_402)) {\r\n\t\t\tfor (const neighbour of getNeighbours(input.board, minion)) {\r\n\t\t\t\tmodifyStats(neighbour, minion, atk, hp, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,11 +7,11 @@ const spellsToCast = 8;
|
|
|
7
7
|
exports.ArchaicScroll = {
|
|
8
8
|
cardIds: ["BG32_MagicItem_930"],
|
|
9
9
|
afterTavernSpellCast: (trinket, input) => {
|
|
10
|
-
var _a
|
|
11
|
-
trinket.scriptDataNum1 = (
|
|
10
|
+
var _a;
|
|
11
|
+
trinket.scriptDataNum1 = (trinket.scriptDataNum1 || spellsToCast) - 1;
|
|
12
12
|
if (trinket.scriptDataNum1 <= 0) {
|
|
13
13
|
trinket.scriptDataNum1 = spellsToCast;
|
|
14
|
-
const tier = (
|
|
14
|
+
const tier = (_a = input.hero.tavernTier) !== null && _a !== void 0 ? _a : 6;
|
|
15
15
|
const cardId = input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.NAGA, tier, []);
|
|
16
16
|
if (cardId) {
|
|
17
17
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, [cardId], input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archaic-scroll.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/archaic-scroll.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qEAAmE;AAGnE,MAAM,YAAY,GAAG,CAAC,CAAC;AAEV,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,sBAA0C;IACnD,oBAAoB,EAAE,CAAC,OAAmC,EAAE,KAAqB,EAAE,EAAE;;QACpF,OAAO,CAAC,cAAc,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"archaic-scroll.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/archaic-scroll.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qEAAmE;AAGnE,MAAM,YAAY,GAAG,CAAC,CAAC;AAEV,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,sBAA0C;IACnD,oBAAoB,EAAE,CAAC,OAAmC,EAAE,KAAqB,EAAE,EAAE;;QACpF,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC;YACtC,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACtF,IAAI,MAAM,EAAE;gBACX,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACnE;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nconst spellsToCast = 8;\r\n\r\nexport const ArchaicScroll: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.ArchaicScroll_BG32_MagicItem_930],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket | BoardEntity, input: CastSpellInput) => {\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || spellsToCast) - 1;\r\n\t\tif (trinket.scriptDataNum1 <= 0) {\r\n\t\t\ttrinket.scriptDataNum1 = spellsToCast;\r\n\t\t\tconst tier = input.hero.tavernTier ?? 6;\r\n\t\t\tconst cardId = input.gameState.cardsData.getRandomMinionForTribe(Race.NAGA, tier, []);\r\n\t\t\tif (cardId) {\r\n\t\t\t\taddCardsInHand(input.hero, input.board, [cardId], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -8,10 +8,9 @@ exports.BloodboundEarrings = {
|
|
|
8
8
|
"BG32_MagicItem_808t",
|
|
9
9
|
],
|
|
10
10
|
afterTavernSpellCast: (trinket, input) => {
|
|
11
|
-
var _a;
|
|
12
11
|
if (input.source !== input.hero)
|
|
13
12
|
return;
|
|
14
|
-
trinket.scriptDataNum1 = (
|
|
13
|
+
trinket.scriptDataNum1 = (trinket.scriptDataNum1 || 4) - 1;
|
|
15
14
|
if (trinket.scriptDataNum1 <= 0) {
|
|
16
15
|
trinket.scriptDataNum1 = 4;
|
|
17
16
|
const isUpgraded = trinket.cardId === "BG32_MagicItem_808t";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bloodbound-earrings.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bloodbound-earrings.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAGpD,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE;;;KAGR;IACD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"bloodbound-earrings.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bloodbound-earrings.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAGpD,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE;;;KAGR;IACD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;YAAE,OAAO;QAExC,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YAC3B,MAAM,UAAU,GACf,OAAO,CAAC,MAAM,0BAA2E,CAAC;YAC3F,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;gBACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;oBAAE,SAAS;gBAC1D,IAAA,4BAAe,EACd,OAAO,EACP,MAAM,EACN,aAAa,EACb,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const BloodboundEarrings: AfterTavernSpellCastCard = {\r\n\tcardIds: [\r\n\t\tCardIds.BloodboundEarrings_BG32_MagicItem_808,\r\n\t\tCardIds.BloodboundEarrings_BloodboundEarringsToken_BG32_MagicItem_808t,\r\n\t],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) return;\r\n\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 4) - 1;\r\n\t\tif (trinket.scriptDataNum1 <= 0) {\r\n\t\t\ttrinket.scriptDataNum1 = 4;\r\n\t\t\tconst isUpgraded =\r\n\t\t\t\ttrinket.cardId === CardIds.BloodboundEarrings_BloodboundEarringsToken_BG32_MagicItem_808t;\r\n\t\t\tconst gemsPerMinion = isUpgraded ? 2 : 1;\r\n\t\t\tfor (const entity of input.board) {\r\n\t\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\t\tplayBloodGemsOn(\r\n\t\t\t\t\ttrinket,\r\n\t\t\t\t\tentity,\r\n\t\t\t\t\tgemsPerMinion,\r\n\t\t\t\t\tinput.board,\r\n\t\t\t\t\tinput.hero,\r\n\t\t\t\t\tinput.otherBoard,\r\n\t\t\t\t\tinput.otherHero,\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},\r\n};\r\n"]}
|
|
@@ -4,15 +4,15 @@ exports.CopperCoil = void 0;
|
|
|
4
4
|
exports.CopperCoil = {
|
|
5
5
|
cardIds: ["BG35_MagicItem_300", "BG35_MagicItem_300t"],
|
|
6
6
|
onBeforeMagnetize: (trinket, input) => {
|
|
7
|
-
var _a, _b
|
|
7
|
+
var _a, _b;
|
|
8
8
|
const additionalAttackBuff = trinket.cardId === "BG35_MagicItem_300" ? 1 : 3;
|
|
9
9
|
const additionalHealthBuff = trinket.cardId === "BG35_MagicItem_300" ? 1 : 23;
|
|
10
|
-
const currentAttackBuff =
|
|
11
|
-
const currentHealthBuff =
|
|
10
|
+
const currentAttackBuff = trinket.scriptDataNum1 || additionalAttackBuff;
|
|
11
|
+
const currentHealthBuff = trinket.scriptDataNum2 || additionalHealthBuff;
|
|
12
12
|
input.magnetizedCard.attack += currentAttackBuff;
|
|
13
13
|
input.magnetizedCard.health += currentHealthBuff;
|
|
14
|
-
trinket.scriptDataNum1 = ((
|
|
15
|
-
trinket.scriptDataNum2 = ((
|
|
14
|
+
trinket.scriptDataNum1 = ((_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : 0) + additionalAttackBuff;
|
|
15
|
+
trinket.scriptDataNum2 = ((_b = trinket.scriptDataNum2) !== null && _b !== void 0 ? _b : 0) + additionalHealthBuff;
|
|
16
16
|
},
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=copper-coil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copper-coil.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/copper-coil.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAA0B;IAChD,OAAO,EAAE,6CAA+F;IACxG,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;;QAC3E,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"copper-coil.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/copper-coil.ts"],"names":[],"mappings":";;;AAKa,QAAA,UAAU,GAA0B;IAChD,OAAO,EAAE,6CAA+F;IACxG,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;;QAC3E,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,yBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC;QACzE,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC;QACzE,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,iBAAiB,CAAC;QACjD,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,iBAAiB,CAAC;QACjD,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,oBAAoB,CAAC;QAC9E,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,oBAAoB,CAAC;IAC/E,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnBeforeMagnetizeInput } from '../../../simulation/magnetize';\r\nimport { OnBeforeMagnetizeCard } from '../../card.interface';\r\n\r\nexport const CopperCoil: OnBeforeMagnetizeCard = {\r\n\tcardIds: [CardIds.CopperCoil_BG35_MagicItem_300, CardIds.CopperCoil_CopperCoilToken_BG35_MagicItem_300t],\r\n\tonBeforeMagnetize: (trinket: BoardTrinket, input: OnBeforeMagnetizeInput) => {\r\n\t\tconst additionalAttackBuff = trinket.cardId === CardIds.CopperCoil_BG35_MagicItem_300 ? 1 : 3;\r\n\t\tconst additionalHealthBuff = trinket.cardId === CardIds.CopperCoil_BG35_MagicItem_300 ? 1 : 23;\r\n\t\tconst currentAttackBuff = trinket.scriptDataNum1 || additionalAttackBuff;\r\n\t\tconst currentHealthBuff = trinket.scriptDataNum2 || additionalHealthBuff;\r\n\t\tinput.magnetizedCard.attack += currentAttackBuff;\r\n\t\tinput.magnetizedCard.health += currentHealthBuff;\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? 0) + additionalAttackBuff;\r\n\t\ttrinket.scriptDataNum2 = (trinket.scriptDataNum2 ?? 0) + additionalHealthBuff;\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,11 +7,10 @@ exports.EclecticShrine = {
|
|
|
7
7
|
startOfCombatTiming: 'pre-combat',
|
|
8
8
|
cardIds: ["BG32_MagicItem_280"],
|
|
9
9
|
startOfCombat: (trinket, input) => {
|
|
10
|
-
var _a, _b;
|
|
11
10
|
if (input.playerBoard.length > 0) {
|
|
12
11
|
const allMinions = (0, utils_1.getMinionsOfDifferentTypes)(input.playerBoard, input.playerEntity, input.gameState, true, 99, trinket);
|
|
13
|
-
const atk =
|
|
14
|
-
const health =
|
|
12
|
+
const atk = trinket.scriptDataNum1 || 3;
|
|
13
|
+
const health = trinket.scriptDataNum2 || 2;
|
|
15
14
|
allMinions.forEach((e) => {
|
|
16
15
|
(0, stats_1.modifyStats)(e, trinket, atk, health, input.playerBoard, input.playerEntity, input.gameState);
|
|
17
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eclectic-shrine.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eclectic-shrine.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AACxD,0CAA4D;AAG/C,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"eclectic-shrine.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eclectic-shrine.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AACxD,0CAA4D;AAG/C,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,IAAA,kCAA0B,EAC5C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,EACf,IAAI,EACJ,EAAE,EACF,OAAO,CACP,CAAC;YACF,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;YAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAA,mBAAW,EAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getMinionsOfDifferentTypes } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const EclecticShrine: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EclecticShrine_BG32_MagicItem_280],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst allMinions = getMinionsOfDifferentTypes(\r\n\t\t\t\tinput.playerBoard,\r\n\t\t\t\tinput.playerEntity,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t\ttrue,\r\n\t\t\t\t99,\r\n\t\t\t\ttrinket,\r\n\t\t\t);\r\n\t\t\tconst atk = trinket.scriptDataNum1 || 3;\r\n\t\t\tconst health = trinket.scriptDataNum2 || 2;\r\n\t\t\tallMinions.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, trinket, atk, health, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t});\r\n\t\t\ttrinket.scriptDataNum1++;\r\n\t\t\ttrinket.scriptDataNum2++;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { OnDespawnedEnchantmentCard, OnDiscardCard, OnOtherSpawnedCard, OnSpawnedEnchantmentCard } from '../../card.interface';
|
|
2
|
+
export declare const TwilightOfLife: OnSpawnedEnchantmentCard & OnDespawnedEnchantmentCard;
|
|
3
|
+
export declare const HammerOfTwilight: OnOtherSpawnedCard & OnDiscardCard;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HammerOfTwilight = exports.TwilightOfLife = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
const ENCHANTMENT_ID = "BG36_MagicItem_403e";
|
|
6
|
+
const isGreater = (cardId) => cardId === "BG36_MagicItem_403t";
|
|
7
|
+
const printedAura = (cardId) => {
|
|
8
|
+
return isGreater(cardId) ? { attack: 2, health: 1 } : { attack: 1, health: 0 };
|
|
9
|
+
};
|
|
10
|
+
const currentAura = (trinket) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const printed = printedAura(trinket.cardId);
|
|
13
|
+
return {
|
|
14
|
+
attack: (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : printed.attack,
|
|
15
|
+
health: isGreater(trinket.cardId) ? (_b = trinket.scriptDataNum2) !== null && _b !== void 0 ? _b : printed.health : 0,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
exports.TwilightOfLife = {
|
|
19
|
+
cardIds: [ENCHANTMENT_ID],
|
|
20
|
+
onSpawnedEnchantment: (minion, enchantment, input) => {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
(0, stats_1.modifyStats)(minion, null, input.applyAttackAuras ? (_a = enchantment.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0 : 0, input.applyHealthAuras ? (_b = enchantment.tagScriptDataNum2) !== null && _b !== void 0 ? _b : 0 : 0, input.board, input.hero, input.gameState, false);
|
|
23
|
+
},
|
|
24
|
+
onDespawnedEnchantment: (minion, enchantment, input) => {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const attack = (_a = enchantment.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0;
|
|
27
|
+
const health = (_b = enchantment.tagScriptDataNum2) !== null && _b !== void 0 ? _b : 0;
|
|
28
|
+
if (input.applyAttackAuras) {
|
|
29
|
+
minion.attack = Math.max(0, minion.attack - attack);
|
|
30
|
+
}
|
|
31
|
+
if (input.applyHealthAuras) {
|
|
32
|
+
minion.health = Math.max(Math.min(minion.health, 1), minion.health - health);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
exports.HammerOfTwilight = {
|
|
37
|
+
cardIds: [
|
|
38
|
+
"BG36_MagicItem_403",
|
|
39
|
+
"BG36_MagicItem_403t",
|
|
40
|
+
],
|
|
41
|
+
onOtherSpawned: (trinket, input) => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
if (!input.applySelfAuras) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if ((_a = input.spawned.enchantments) === null || _a === void 0 ? void 0 : _a.some((e) => e.cardId === ENCHANTMENT_ID)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const { attack, health } = currentAura(trinket);
|
|
50
|
+
input.spawned.enchantments = (_b = input.spawned.enchantments) !== null && _b !== void 0 ? _b : [];
|
|
51
|
+
input.spawned.enchantments.push({
|
|
52
|
+
cardId: ENCHANTMENT_ID,
|
|
53
|
+
originEntityId: trinket.entityId,
|
|
54
|
+
tagScriptDataNum1: attack,
|
|
55
|
+
tagScriptDataNum2: health,
|
|
56
|
+
timing: input.gameState.sharedState.currentEntityId++,
|
|
57
|
+
});
|
|
58
|
+
(0, stats_1.modifyStats)(input.spawned, trinket, input.applyAttackAuras ? attack : 0, input.applyHealthAuras ? health : 0, input.board, input.hero, input.gameState);
|
|
59
|
+
},
|
|
60
|
+
onDiscard: (trinket, input) => {
|
|
61
|
+
var _a, _b, _c, _d, _e;
|
|
62
|
+
const increment = printedAura(trinket.cardId);
|
|
63
|
+
trinket.scriptDataNum1 = ((_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : increment.attack) + increment.attack;
|
|
64
|
+
if (isGreater(trinket.cardId)) {
|
|
65
|
+
trinket.scriptDataNum2 = ((_b = trinket.scriptDataNum2) !== null && _b !== void 0 ? _b : increment.health) + increment.health;
|
|
66
|
+
}
|
|
67
|
+
for (const minion of input.board) {
|
|
68
|
+
if (minion.health <= 0 || minion.definitelyDead) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
(0, stats_1.modifyStats)(minion, trinket, increment.attack, increment.health, input.board, input.hero, input.gameState);
|
|
72
|
+
const enchantment = (_c = minion.enchantments) === null || _c === void 0 ? void 0 : _c.find((e) => e.cardId === ENCHANTMENT_ID);
|
|
73
|
+
if (enchantment) {
|
|
74
|
+
enchantment.tagScriptDataNum1 = ((_d = enchantment.tagScriptDataNum1) !== null && _d !== void 0 ? _d : 0) + increment.attack;
|
|
75
|
+
enchantment.tagScriptDataNum2 = ((_e = enchantment.tagScriptDataNum2) !== null && _e !== void 0 ? _e : 0) + increment.health;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=hammer-of-twilight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hammer-of-twilight.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/hammer-of-twilight.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Hammer of Twilight (lesser): Your minions have +1 Attack. (Improved by each card you've discarded this game!)\r\n * Hammer of Twilight (greater): Your minions have +2/+1. (Improved by each card you've discarded this game!)\r\n *\r\n * Starting-board stats already include the current aura. Combat summons get it here, and combat\r\n * discards improve the aura and the board.\r\n */\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport {\r\n\tDiscardInput,\r\n\tOnDespawnedEnchantmentCard,\r\n\tOnDiscardCard,\r\n\tOnOtherSpawnedCard,\r\n\tOnSpawnedEnchantmentCard,\r\n} from '../../card.interface';\r\n\r\nconst ENCHANTMENT_ID = CardIds.HammerOfTwilight_TwilightOfLifeEnchantment_BG36_MagicItem_403e;\r\n\r\nconst isGreater = (cardId: string): boolean =>\r\n\tcardId === CardIds.HammerOfTwilight_HammerOfTwilightToken_BG36_MagicItem_403t;\r\n\r\nconst printedAura = (cardId: string): { attack: number; health: number } => {\r\n\treturn isGreater(cardId) ? { attack: 2, health: 1 } : { attack: 1, health: 0 };\r\n};\r\n\r\nconst currentAura = (trinket: BoardTrinket): { attack: number; health: number } => {\r\n\tconst printed = printedAura(trinket.cardId);\r\n\treturn {\r\n\t\tattack: trinket.scriptDataNum1 ?? printed.attack,\r\n\t\thealth: isGreater(trinket.cardId) ? trinket.scriptDataNum2 ?? printed.health : 0,\r\n\t};\r\n};\r\n\r\nexport const TwilightOfLife: OnSpawnedEnchantmentCard & OnDespawnedEnchantmentCard = {\r\n\tcardIds: [ENCHANTMENT_ID],\r\n\tonSpawnedEnchantment: (minion: BoardEntity, enchantment: BoardEnchantment, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tnull,\r\n\t\t\tinput.applyAttackAuras ? enchantment.tagScriptDataNum1 ?? 0 : 0,\r\n\t\t\tinput.applyHealthAuras ? enchantment.tagScriptDataNum2 ?? 0 : 0,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t},\r\n\tonDespawnedEnchantment: (minion: BoardEntity, enchantment: BoardEnchantment, input: OnDespawnInput) => {\r\n\t\tconst attack = enchantment.tagScriptDataNum1 ?? 0;\r\n\t\tconst health = enchantment.tagScriptDataNum2 ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack = Math.max(0, minion.attack - attack);\r\n\t\t\t// minion.maxAttack = Math.max(0, minion.maxAttack - attack);\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health = Math.max(Math.min(minion.health, 1), minion.health - health);\r\n\t\t\t// minion.maxHealth = Math.max(1, minion.maxHealth - health);\r\n\t\t}\r\n\t},\r\n};\r\n\r\nexport const HammerOfTwilight: OnOtherSpawnedCard & OnDiscardCard = {\r\n\tcardIds: [\r\n\t\tCardIds.HammerOfTwilight_BG36_MagicItem_403,\r\n\t\tCardIds.HammerOfTwilight_HammerOfTwilightToken_BG36_MagicItem_403t,\r\n\t],\r\n\tonOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (!input.applySelfAuras) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.spawned.enchantments?.some((e) => e.cardId === ENCHANTMENT_ID)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst { attack, health } = currentAura(trinket);\r\n\t\tinput.spawned.enchantments = input.spawned.enchantments ?? [];\r\n\t\tinput.spawned.enchantments.push({\r\n\t\t\tcardId: ENCHANTMENT_ID,\r\n\t\t\toriginEntityId: trinket.entityId,\r\n\t\t\ttagScriptDataNum1: attack,\r\n\t\t\ttagScriptDataNum2: health,\r\n\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t});\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\ttrinket,\r\n\t\t\tinput.applyAttackAuras ? attack : 0,\r\n\t\t\tinput.applyHealthAuras ? health : 0,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n\tonDiscard: (trinket: BoardTrinket, input: DiscardInput) => {\r\n\t\tconst increment = printedAura(trinket.cardId);\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? increment.attack) + increment.attack;\r\n\t\tif (isGreater(trinket.cardId)) {\r\n\t\t\ttrinket.scriptDataNum2 = (trinket.scriptDataNum2 ?? increment.health) + increment.health;\r\n\t\t}\r\n\t\tfor (const minion of input.board) {\r\n\t\t\tif (minion.health <= 0 || minion.definitelyDead) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tmodifyStats(minion, trinket, increment.attack, increment.health, input.board, input.hero, input.gameState);\r\n\t\t\tconst enchantment = minion.enchantments?.find((e) => e.cardId === ENCHANTMENT_ID);\r\n\t\t\tif (enchantment) {\r\n\t\t\t\tenchantment.tagScriptDataNum1 = (enchantment.tagScriptDataNum1 ?? 0) + increment.attack;\r\n\t\t\t\tenchantment.tagScriptDataNum2 = (enchantment.tagScriptDataNum2 ?? 0) + increment.health;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -5,8 +5,7 @@ const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
|
5
5
|
exports.TideRaiserPortrait = {
|
|
6
6
|
cardIds: ["BG35_MagicItem_922"],
|
|
7
7
|
afterTavernSpellCast: (trinket, input) => {
|
|
8
|
-
|
|
9
|
-
const remaining = (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : 3;
|
|
8
|
+
const remaining = trinket.scriptDataNum1 || 3;
|
|
10
9
|
if (remaining <= 0)
|
|
11
10
|
return;
|
|
12
11
|
trinket.scriptDataNum1 = remaining - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tide-raiser-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/tide-raiser-portrait.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE,sBAA+C;IACxD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"tide-raiser-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/tide-raiser-portrait.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,kBAAkB,GAA6B;IAC3D,OAAO,EAAE,sBAA+C;IACxD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO;QAC3B,OAAO,CAAC,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;QACvC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const TideRaiserPortrait: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.TideRaiserPortrait_BG35_MagicItem_922],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tconst remaining = trinket.scriptDataNum1 || 3;\r\n\t\tif (remaining <= 0) return;\r\n\t\ttrinket.scriptDataNum1 = remaining - 1;\r\n\t\taddCardsInHand(input.hero, input.board, [input.spellCardId], input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,10 +6,10 @@ const card_interface_1 = require("../cards/card.interface");
|
|
|
6
6
|
const _card_mappings_1 = require("../cards/impl/_card-mappings");
|
|
7
7
|
const dragons_eye_1 = require("../cards/impl/trinket/dragons-eye");
|
|
8
8
|
const taunt_1 = require("../keywords/taunt");
|
|
9
|
+
const player_global_effects_1 = require("../mechanics/player-global-effects");
|
|
9
10
|
const utils_1 = require("../services/utils");
|
|
10
11
|
const utils_2 = require("../utils");
|
|
11
12
|
const attack_1 = require("./attack");
|
|
12
|
-
const player_global_effects_1 = require("../mechanics/player-global-effects");
|
|
13
13
|
const cards_in_hand_1 = require("./cards-in-hand");
|
|
14
14
|
const damage_to_hero_1 = require("./damage-to-hero");
|
|
15
15
|
const deathrattle_spawns_1 = require("./deathrattle-spawns");
|
|
@@ -48,7 +48,7 @@ const computeBattlecryMultiplier = (board, boardHero, sharedState, entity, gameS
|
|
|
48
48
|
};
|
|
49
49
|
exports.computeBattlecryMultiplier = computeBattlecryMultiplier;
|
|
50
50
|
const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState) => {
|
|
51
|
-
var _a, _b, _c, _d, _e, _f
|
|
51
|
+
var _a, _b, _c, _d, _e, _f;
|
|
52
52
|
hero.globalInfo.CardsPlayedThisTurn = ((_a = hero.globalInfo.CardsPlayedThisTurn) !== null && _a !== void 0 ? _a : 0) + 1;
|
|
53
53
|
const allMinions = [...board, ...otherBoard];
|
|
54
54
|
const totalTriggers = (0, exports.computeBattlecryMultiplier)(board, hero, gameState.sharedState, entity, gameState);
|
|
@@ -178,7 +178,7 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
|
|
|
178
178
|
const targetBoard = board.includes(emergentFlameTarget) ? board : otherBoard;
|
|
179
179
|
const targetHero = board.includes(emergentFlameTarget) ? hero : otherHero;
|
|
180
180
|
const emergentFlameMultiplier = entity.cardId === "BG27_018" ? 1 : 2;
|
|
181
|
-
const emergentFlameStats = (
|
|
181
|
+
const emergentFlameStats = (entity.scriptDataNum1 || 1) * emergentFlameMultiplier;
|
|
182
182
|
(0, stats_1.modifyStats)(emergentFlameTarget, entity, emergentFlameStats, emergentFlameStats, targetBoard, targetHero, gameState);
|
|
183
183
|
}
|
|
184
184
|
break;
|
|
@@ -204,8 +204,8 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
|
|
|
204
204
|
gameState.spectator.registerPowerTarget(entity, target, board, hero, otherHero);
|
|
205
205
|
const minionTier = gameState.cardsData.getTavernLevel(target.cardId);
|
|
206
206
|
const targetTier = entity.cardId === "BG24_719" ? minionTier + 1 : minionTier + 2;
|
|
207
|
-
const maxTier = !!((
|
|
208
|
-
((
|
|
207
|
+
const maxTier = !!((_c = gameState.anomalies) === null || _c === void 0 ? void 0 : _c.includes("BG27_Anomaly_504")) ||
|
|
208
|
+
((_d = hero.questRewardEntities) === null || _d === void 0 ? void 0 : _d.some((r) => r.cardId === "BG33_Reward_010"))
|
|
209
209
|
? 7
|
|
210
210
|
: 6;
|
|
211
211
|
const newMinionId = gameState.cardsData.getRandomMinionForTavernTier(Math.min(maxTier, targetTier));
|
|
@@ -261,8 +261,8 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
|
|
|
261
261
|
const targetBoard = board.includes(conductorTarget) ? board : otherBoard;
|
|
262
262
|
const targetHero = board.includes(conductorTarget) ? hero : otherHero;
|
|
263
263
|
const multiplier = entity.cardId === "BGDUO_119" ? 1 : 2;
|
|
264
|
-
const attackStats = 2 * (
|
|
265
|
-
const healthStats = 2 * (
|
|
264
|
+
const attackStats = 2 * (entity.scriptDataNum1 || 1) * multiplier;
|
|
265
|
+
const healthStats = 2 * (entity.scriptDataNum1 || 1) * multiplier;
|
|
266
266
|
(0, stats_1.modifyStats)(conductorTarget, entity, attackStats, healthStats, targetBoard, targetHero, gameState);
|
|
267
267
|
}
|
|
268
268
|
break;
|
|
@@ -333,8 +333,8 @@ const triggerBattlecry = (board, hero, entity, otherBoard, otherHero, gameState)
|
|
|
333
333
|
const spawns = (0, spawns_1.performEntitySpawns)(newMinions, board, hero, entity, indexFromRight, otherBoard, otherHero, gameState);
|
|
334
334
|
break;
|
|
335
335
|
default:
|
|
336
|
-
const hasBattlecry = (
|
|
337
|
-
.getCard(entity.cardId)) === null ||
|
|
336
|
+
const hasBattlecry = (_f = (_e = gameState.allCards
|
|
337
|
+
.getCard(entity.cardId)) === null || _e === void 0 ? void 0 : _e.mechanics) === null || _f === void 0 ? void 0 : _f.includes(reference_data_1.GameTag[reference_data_1.GameTag.BATTLECRY]);
|
|
338
338
|
hasTriggered = hasBattlecry;
|
|
339
339
|
break;
|
|
340
340
|
}
|