@firestone-hs/simulate-bgs-battle 1.1.664 → 1.1.666
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.
|
@@ -22,7 +22,7 @@ exports.ApexisGuardian = {
|
|
|
22
22
|
!e.definitelyDead &&
|
|
23
23
|
e !== minion &&
|
|
24
24
|
(0, utils_2.hasCorrectTribe)(e, input.boardWithDeadEntityHero, reference_data_1.Race.MECH, input.gameState.anomalies, input.gameState.allCards));
|
|
25
|
-
(0, magnetize_1.magnetizeToTarget)(() => (0, utils_1.pickMultipleRandomDifferent)(possibleTargets,
|
|
25
|
+
(0, magnetize_1.magnetizeToTarget)(() => (0, utils_1.pickMultipleRandomDifferent)(possibleTargets, 2), minion, cardsToMagnetize, input.boardWithDeadEntity, input.boardWithDeadEntityHero, input.otherBoard, input.otherBoardHero, input.gameState);
|
|
26
26
|
return [];
|
|
27
27
|
},
|
|
28
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apexis-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/apexis-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AAGnE,mDAA+E;AAE/E,6DAAkE;AAClE,0CAAiD;AAGpC,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,eAAe,GAA2B;gBAC/C,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,cAAwD;aAC3F,CAAC;YACF,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC,cAAc;YACjB,CAAC,KAAK,MAAM;YACZ,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,IAAI,EACT,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;QACF,IAAA,6BAAiB,EAChB,GAAG,EAAE,CAAC,IAAA,mCAA2B,EAAC,eAAe,EAAE,CAAC,CAAC,EACrD,MAAM,EACN,gBAAgB,EAChB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { Race, ReferenceCard } from '@firestone-hs/reference-data';\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 { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ApexisGuardian: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ApexisGuardian_BG34_173, CardIds.ApexisGuardian_BG34_173_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ApexisGuardian_BG34_173_G ? 2 : 1;\r\n\t\tconst cardsToMagnetize = [];\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst cardToMagnetize: Mutable<ReferenceCard> = {\r\n\t\t\t\t...input.gameState.allCards.getCard(CardIds.AutoAccelerator_GreenVolumizerToken_BG34_170t3),\r\n\t\t\t};\r\n\t\t\tcardToMagnetize.attack = 0;\r\n\t\t\tcardToMagnetize.health = 0;\r\n\t\t\tcardsToMagnetize.push(cardToMagnetize);\r\n\t\t}\r\n\t\tconst possibleTargets = input.boardWithDeadEntity.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te.health > 0 &&\r\n\t\t\t\t!e.definitelyDead &&\r\n\t\t\t\te !== minion &&\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tRace.MECH,\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);\r\n\t\tmagnetizeToTarget(\r\n\t\t\t() => pickMultipleRandomDifferent(possibleTargets,
|
|
1
|
+
{"version":3,"file":"apexis-guardian.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/apexis-guardian.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AAGnE,mDAA+E;AAE/E,6DAAkE;AAClE,0CAAiD;AAGpC,QAAA,cAAc,GAAyB;IACnD,OAAO,EAAE,0BAAoE;IAC7E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,eAAe,GAA2B;gBAC/C,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,cAAwD;aAC3F,CAAC;YACF,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC,cAAc;YACjB,CAAC,KAAK,MAAM;YACZ,IAAA,uBAAe,EACd,CAAC,EACD,KAAK,CAAC,uBAAuB,EAC7B,qBAAI,CAAC,IAAI,EACT,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CACF,CAAC;QACF,IAAA,6BAAiB,EAChB,GAAG,EAAE,CAAC,IAAA,mCAA2B,EAAC,eAAe,EAAE,CAAC,CAAC,EACrD,MAAM,EACN,gBAAgB,EAChB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC","sourcesContent":["import { Race, ReferenceCard } from '@firestone-hs/reference-data';\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 { magnetizeToTarget } from '../../../simulation/magnetize';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ApexisGuardian: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.ApexisGuardian_BG34_173, CardIds.ApexisGuardian_BG34_173_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.ApexisGuardian_BG34_173_G ? 2 : 1;\r\n\t\tconst cardsToMagnetize = [];\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst cardToMagnetize: Mutable<ReferenceCard> = {\r\n\t\t\t\t...input.gameState.allCards.getCard(CardIds.AutoAccelerator_GreenVolumizerToken_BG34_170t3),\r\n\t\t\t};\r\n\t\t\tcardToMagnetize.attack = 0;\r\n\t\t\tcardToMagnetize.health = 0;\r\n\t\t\tcardsToMagnetize.push(cardToMagnetize);\r\n\t\t}\r\n\t\tconst possibleTargets = input.boardWithDeadEntity.filter(\r\n\t\t\t(e) =>\r\n\t\t\t\te.health > 0 &&\r\n\t\t\t\t!e.definitelyDead &&\r\n\t\t\t\te !== minion &&\r\n\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\te,\r\n\t\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\t\tRace.MECH,\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);\r\n\t\tmagnetizeToTarget(\r\n\t\t\t() => pickMultipleRandomDifferent(possibleTargets, 2),\r\n\t\t\tminion,\r\n\t\t\tcardsToMagnetize,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tinput.otherBoard,\r\n\t\t\tinput.otherBoardHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -15,23 +15,27 @@ exports.BluesySiren = {
|
|
|
15
15
|
},
|
|
16
16
|
};
|
|
17
17
|
const process = (minion, input) => {
|
|
18
|
+
if (minion.abiityChargesLeft <= 0) {
|
|
19
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
20
|
+
}
|
|
18
21
|
if (!(0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.NAGA, input.gameState.anomalies, input.gameState.allCards)) {
|
|
19
22
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
20
23
|
}
|
|
21
24
|
minion.abiityChargesLeft = minion.abiityChargesLeft - 1;
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
const mult = minion.cardId === "BG34_931_G" ? 2 : 1;
|
|
26
|
+
for (let i = 0; i < mult; i++) {
|
|
27
|
+
const spellCast = "BG26_502t";
|
|
28
|
+
(0, cast_tavern_spell_1.castTavernSpell)(spellCast, {
|
|
29
|
+
spellCardId: spellCast,
|
|
30
|
+
source: input.attackingHero,
|
|
31
|
+
target: input.attacker,
|
|
32
|
+
board: input.attackingBoard,
|
|
33
|
+
hero: input.attackingHero,
|
|
34
|
+
otherBoard: input.defendingBoard,
|
|
35
|
+
otherHero: input.defendingHero,
|
|
36
|
+
gameState: input.gameState,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
35
39
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
36
40
|
};
|
|
37
41
|
//# sourceMappingURL=bluesy-siren.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluesy-siren.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bluesy-siren.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,4EAAuE;AAGvE,0CAAiD;AAGpC,QAAA,WAAW,GAAwE;IAC/F,OAAO,EAAE,0BAA8D;IACvE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC;IAC1C,8BAA8B,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;CACD,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;IAC7D,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,IAAI,EACT,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;KACtD;IAED,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACxD,MAAM,
|
|
1
|
+
{"version":3,"file":"bluesy-siren.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bluesy-siren.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,4EAAuE;AAGvE,0CAAiD;AAGpC,QAAA,WAAW,GAAwE;IAC/F,OAAO,EAAE,0BAA8D;IACvE,cAAc,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,CAAC;IAC1C,8BAA8B,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;CACD,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;IAC7D,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE;QAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;KACtD;IAED,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,IAAI,EACT,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;KACtD;IAED,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,SAAS,cAAmD,CAAC;QACnE,IAAA,mCAAe,EAAC,SAAS,EAAE;YAC1B,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,cAAc;YAC3B,IAAI,EAAE,KAAK,CAAC,aAAa;YACzB,UAAU,EAAE,KAAK,CAAC,cAAc;YAChC,SAAS,EAAE,KAAK,CAAC,aAAa;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC,CAAC;KACH;IAED,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { castTavernSpell } from '../../../mechanics/cast-tavern-spell';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { DefaultChargesCard, OnWheneverAnotherMinionAttacksCard, RallyCard } from '../../card.interface';\r\n\r\nexport const BluesySiren: OnWheneverAnotherMinionAttacksCard & RallyCard & DefaultChargesCard = {\r\n\tcardIds: [CardIds.BluesySiren_BG34_931, CardIds.BluesySiren_BG34_931_G],\r\n\tdefaultCharges: (entity: BoardEntity) => 3,\r\n\tonWheneverAnotherMinionAttacks: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\treturn process(minion, input);\r\n\t},\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\treturn process(minion, input);\r\n\t},\r\n};\r\n\r\nconst process = (minion: BoardEntity, input: OnAttackInput) => {\r\n\tif (minion.abiityChargesLeft <= 0) {\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t}\r\n\r\n\tif (\r\n\t\t!hasCorrectTribe(\r\n\t\t\tinput.attacker,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tRace.NAGA,\r\n\t\t\tinput.gameState.anomalies,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t)\r\n\t) {\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t}\r\n\r\n\tminion.abiityChargesLeft = minion.abiityChargesLeft - 1;\r\n\tconst mult = minion.cardId === CardIds.BluesySiren_BG34_931_G ? 2 : 1;\r\n\tfor (let i = 0; i < mult; i++) {\r\n\t\tconst spellCast = CardIds.DeepBlueCrooner_DeepBluesToken_BG26_502t;\r\n\t\tcastTavernSpell(spellCast, {\r\n\t\t\tspellCardId: spellCast,\r\n\t\t\tsource: input.attackingHero,\r\n\t\t\ttarget: input.attacker,\r\n\t\t\tboard: input.attackingBoard,\r\n\t\t\thero: input.attackingHero,\r\n\t\t\totherBoard: input.defendingBoard,\r\n\t\t\totherHero: input.defendingHero,\r\n\t\t\tgameState: input.gameState,\r\n\t\t});\r\n\t}\r\n\r\n\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n};\r\n"]}
|