@firestone-hs/simulate-bgs-battle 1.1.690 → 1.1.691
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.
|
@@ -29,21 +29,21 @@ exports.ApexisGuardian = {
|
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
31
|
const handleEffect = (minion, input) => {
|
|
32
|
-
const
|
|
32
|
+
const mult = minion.cardId === "BG34_173_G" ? 2 : 1;
|
|
33
33
|
const cardsToMagnetize = [];
|
|
34
34
|
const possibleTargets = input.board.filter((e) => e.health > 0 &&
|
|
35
35
|
!e.definitelyDead &&
|
|
36
36
|
e !== minion &&
|
|
37
37
|
(0, utils_2.hasCorrectTribe)(e, input.otherHero, reference_data_1.Race.MECH, input.gameState.anomalies, input.gameState.allCards));
|
|
38
|
-
const targets = (0, utils_1.pickMultipleRandomDifferent)(possibleTargets,
|
|
39
|
-
for (
|
|
38
|
+
const targets = (0, utils_1.pickMultipleRandomDifferent)(possibleTargets, mult);
|
|
39
|
+
for (const target of targets) {
|
|
40
40
|
const cardIdToMagnetize = input.gameState.cardsData.getRandomMagneticVolumizer(input.otherHero, input.gameState.anomalies, 6);
|
|
41
41
|
const cardToMagnetize = {
|
|
42
42
|
...input.gameState.allCards.getCard(cardIdToMagnetize),
|
|
43
43
|
};
|
|
44
44
|
cardsToMagnetize.push(cardToMagnetize);
|
|
45
|
+
(0, magnetize_1.magnetizeToTarget)([target], minion, cardsToMagnetize, input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);
|
|
45
46
|
}
|
|
46
|
-
(0, magnetize_1.magnetizeToTarget)(targets, minion, cardsToMagnetize, input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);
|
|
47
47
|
return [];
|
|
48
48
|
};
|
|
49
49
|
//# sourceMappingURL=apexis-guardian.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apexis-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/apexis-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AAInE,mDAA+E;AAG/E,6DAAkE;AAElE,0CAAiD;AAGpC,QAAA,cAAc,GAAqC;IAC/D,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,YAAY,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,KAAK,CAAC,mBAAmB;YAChC,IAAI,EAAE,KAAK,CAAC,uBAAuB;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,cAAc;SAC/B,CAAC,CAAC;QACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"apexis-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/apexis-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AAInE,mDAA+E;AAG/E,6DAAkE;AAElE,0CAAiD;AAGpC,QAAA,cAAc,GAAqC;IAC/D,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,YAAY,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,KAAK,CAAC,mBAAmB;YAChC,IAAI,EAAE,KAAK,CAAC,uBAAuB;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,cAAc;SAC/B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACX,CAAC;IACD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,YAAY,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,KAAK,CAAC,cAAc;YAC3B,IAAI,EAAE,KAAK,CAAC,aAAa;YACzB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,cAAc;YAChC,SAAS,EAAE,KAAK,CAAC,aAAa;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAG,CACpB,MAAmB,EACnB,KAMC,EACA,EAAE;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAE5B,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC,cAAc;QACjB,CAAC,KAAK,MAAM;QACZ,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACpG,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,mCAA2B,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,0BAA0B,CAC7E,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,CAAC,CACD,CAAC;QACF,MAAM,eAAe,GAA2B;YAC/C,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;SACtD,CAAC;QAGF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,IAAA,6BAAiB,EAChB,CAAC,MAAM,CAAC,EACR,MAAM,EACN,gBAAgB,EAChB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CACf,CAAC;KACF;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC","sourcesContent":["import { Race, ReferenceCard } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { Mutable, pickMultipleRandomDifferent } from '../../../services/utils';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard, RallyCard } from '../../card.interface';\r\n\r\nexport const ApexisGuardian: DeathrattleSpawnCard & RallyCard = {\r\n\tcardIds: [CardIds.ApexisGuardian_BG34_173, CardIds.ApexisGuardian_BG34_173_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\thandleEffect(minion, {\r\n\t\t\tboard: input.boardWithDeadEntity,\r\n\t\t\thero: input.boardWithDeadEntityHero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\totherBoard: input.otherBoard,\r\n\t\t\totherHero: input.otherBoardHero,\r\n\t\t});\r\n\t\treturn [];\r\n\t},\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\thandleEffect(minion, {\r\n\t\t\tboard: input.attackingBoard,\r\n\t\t\thero: input.attackingHero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t\totherBoard: input.defendingBoard,\r\n\t\t\totherHero: input.defendingHero,\r\n\t\t});\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n\r\nconst handleEffect = (\r\n\tminion: BoardEntity,\r\n\tinput: {\r\n\t\tboard: BoardEntity[];\r\n\t\thero: BgsPlayerEntity;\r\n\t\tgameState: FullGameState;\r\n\t\totherBoard: BoardEntity[];\r\n\t\totherHero: BgsPlayerEntity;\r\n\t},\r\n) => {\r\n\tconst mult = minion.cardId === CardIds.ApexisGuardian_BG34_173_G ? 2 : 1;\r\n\tconst cardsToMagnetize = [];\r\n\t// Magnetizes to the same targets\r\n\tconst possibleTargets = input.board.filter(\r\n\t\t(e) =>\r\n\t\t\te.health > 0 &&\r\n\t\t\t!e.definitelyDead &&\r\n\t\t\te !== minion &&\r\n\t\t\thasCorrectTribe(e, input.otherHero, Race.MECH, input.gameState.anomalies, input.gameState.allCards),\r\n\t);\r\n\tconst targets = pickMultipleRandomDifferent(possibleTargets, mult);\r\n\tfor (const target of targets) {\r\n\t\tconst cardIdToMagnetize = input.gameState.cardsData.getRandomMagneticVolumizer(\r\n\t\t\tinput.otherHero,\r\n\t\t\tinput.gameState.anomalies,\r\n\t\t\t6,\r\n\t\t);\r\n\t\tconst cardToMagnetize: Mutable<ReferenceCard> = {\r\n\t\t\t...input.gameState.allCards.getCard(cardIdToMagnetize),\r\n\t\t};\r\n\t\t// cardToMagnetize.attack = 0;\r\n\t\t// cardToMagnetize.health = 0;\r\n\t\tcardsToMagnetize.push(cardToMagnetize);\r\n\t\tmagnetizeToTarget(\r\n\t\t\t[target],\r\n\t\t\tminion,\r\n\t\t\tcardsToMagnetize,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.otherBoard,\r\n\t\t\tinput.otherHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t}\r\n\treturn [];\r\n};\r\n"]}
|
|
@@ -5,10 +5,9 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
5
5
|
exports.TimewarpedStoneDrake = {
|
|
6
6
|
cardIds: ["BG34_Giant_675", "BG34_Giant_675_G"],
|
|
7
7
|
startOfCombat: (minion, input) => {
|
|
8
|
-
const mult = minion.cardId === "BG34_Giant_675_G" ? 2 : 1;
|
|
9
8
|
const attackGain = minion.scriptDataNum1;
|
|
10
9
|
const healthGain = minion.scriptDataNum2;
|
|
11
|
-
(0, stats_1.modifyStats)(minion, minion, attackGain
|
|
10
|
+
(0, stats_1.modifyStats)(minion, minion, attackGain, healthGain, input.playerBoard, input.playerEntity, input.gameState);
|
|
12
11
|
return true;
|
|
13
12
|
},
|
|
14
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timewarped-stone-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-stone-drake.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,oBAAoB,GAAsB;IACtD,OAAO,EAAE,sCAA4F;IACrG,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"timewarped-stone-drake.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/timewarped-stone-drake.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,oBAAoB,GAAsB;IACtD,OAAO,EAAE,sCAA4F;IACrG,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;QACzC,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-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 { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const TimewarpedStoneDrake: StartOfCombatCard = {\r\n\tcardIds: [CardIds.TimewarpedStoneDrake_BG34_Giant_675, CardIds.TimewarpedStoneDrake_BG34_Giant_675_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\t// const mult = minion.cardId === CardIds.TimewarpedStoneDrake_BG34_Giant_675_G ? 2 : 1;\r\n\t\tconst attackGain = minion.scriptDataNum1;\r\n\t\tconst healthGain = minion.scriptDataNum2;\r\n\t\tmodifyStats(minion, minion, attackGain, healthGain, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|