@firestone-hs/simulate-bgs-battle 1.1.506 → 1.1.507
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/impl/enchantments/crystal-infuser-enchantment.js +5 -2
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +1 -1
- package/dist/cards/impl/hero-power/rapid-reanimation.js +0 -2
- package/dist/cards/impl/hero-power/rapid-reanimation.js.map +1 -1
- package/dist/cards/impl/minion/arcane-cannoneer.js +2 -2
- package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -1
- package/dist/cards/impl/minion/beetle.js +1 -1
- package/dist/cards/impl/minion/beetle.js.map +1 -1
- package/dist/cards/impl/minion/boar-gamer.js +2 -2
- package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
- package/dist/cards/impl/minion/bubble-gunner.js +2 -2
- package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
- package/dist/cards/impl/minion/buzzing-vermin.js +3 -3
- package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -1
- package/dist/cards/impl/minion/deathly-striker.js +2 -2
- package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
- package/dist/cards/impl/minion/efficient-engineer.js +2 -2
- package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
- package/dist/cards/impl/minion/forest-rover.js +5 -5
- package/dist/cards/impl/minion/forest-rover.js.map +1 -1
- package/dist/cards/impl/minion/fountain-chiller.js +2 -2
- package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
- package/dist/cards/impl/minion/gem-rat.js +4 -2
- package/dist/cards/impl/minion/gem-rat.js.map +1 -1
- package/dist/cards/impl/minion/gritty-headhunter.js +4 -4
- package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
- package/dist/cards/impl/minion/hackerfin.js +2 -2
- package/dist/cards/impl/minion/hackerfin.js.map +1 -1
- package/dist/cards/impl/minion/holo-rover.js +2 -2
- package/dist/cards/impl/minion/holo-rover.js.map +1 -1
- package/dist/cards/impl/minion/implant-subject.js +2 -2
- package/dist/cards/impl/minion/implant-subject.js.map +1 -1
- package/dist/cards/impl/minion/marquee-ticker.js +2 -2
- package/dist/cards/impl/minion/marquee-ticker.js.map +1 -1
- package/dist/cards/impl/minion/moonsteel-juggernaut.js +8 -5
- package/dist/cards/impl/minion/moonsteel-juggernaut.js.map +1 -1
- package/dist/cards/impl/minion/mutated-lasher.js +3 -3
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
- package/dist/cards/impl/minion/neon-agent.js +2 -2
- package/dist/cards/impl/minion/neon-agent.js.map +1 -1
- package/dist/cards/impl/minion/nest-swarmer.js +3 -3
- package/dist/cards/impl/minion/nest-swarmer.js.map +1 -1
- package/dist/cards/impl/minion/reckless-cliffdiver.js +4 -4
- package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -1
- package/dist/cards/impl/minion/runed-progenitor.js +5 -5
- package/dist/cards/impl/minion/runed-progenitor.js.map +1 -1
- package/dist/cards/impl/minion/salty-hog.js +2 -2
- package/dist/cards/impl/minion/salty-hog.js.map +1 -1
- package/dist/cards/impl/minion/showy-cyclist.js +2 -2
- package/dist/cards/impl/minion/showy-cyclist.js.map +1 -1
- package/dist/cards/impl/minion/silver-handed-recruit.js +2 -2
- package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
- package/dist/cards/impl/minion/spacefarer.js +2 -2
- package/dist/cards/impl/minion/spacefarer.js.map +1 -1
- package/dist/cards/impl/minion/turquoise-skitterer.js +5 -5
- package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -1
- package/dist/cards/impl/minion/twilight-primordium.js +2 -2
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
- package/dist/cards/impl/minion/ultraviolet-ascendant.js +2 -2
- package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -1
- package/dist/cards/impl/minion/wandering-wight.js +2 -2
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
- package/dist/cards/impl/minion/wisp-in-the-shell.js +2 -2
- package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
- package/dist/simulation/summon-when-space.js +10 -0
- package/dist/simulation/summon-when-space.js.map +1 -1
- package/dist/temp-card-ids.d.ts +0 -70
- package/dist/temp-card-ids.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,9 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CrystalInfuserEnchantment = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.CrystalInfuserEnchantment = {
|
|
6
|
-
cardIds: [
|
|
6
|
+
cardIds: [
|
|
7
|
+
"BG31_325_Ge",
|
|
8
|
+
"BG31_325_Ge",
|
|
9
|
+
],
|
|
7
10
|
deathrattleEffectEnchantmentEffect: (enchantment, input) => {
|
|
8
|
-
const mult = enchantment.cardId === "
|
|
11
|
+
const mult = enchantment.cardId === "BG31_325_Ge" ? 1 : 2;
|
|
9
12
|
const cards = [];
|
|
10
13
|
for (let i = 0; i < 2 * mult; i++) {
|
|
11
14
|
cards.push("BG20_GEM");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crystal-infuser-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/crystal-infuser-enchantment.ts"],"names":[],"mappings":";;;AACA,qEAAmE;
|
|
1
|
+
{"version":3,"file":"crystal-infuser-enchantment.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/crystal-infuser-enchantment.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAItD,QAAA,yBAAyB,GAAqC;IAC1E,OAAO,EAAE;;;KAGR;IACD,kCAAkC,EAAE,CAAC,WAA+B,EAAE,KAAgC,EAAE,EAAE;QACzG,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,kBAA0D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAClC,KAAK,CAAC,IAAI,YAAkB,CAAC;SAC7B;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { DeathrattleEnchantmentEffectCard } from '../../card.interface';\r\n\r\nexport const CrystalInfuserEnchantment: DeathrattleEnchantmentEffectCard = {\r\n\tcardIds: [\r\n\t\tCardIds.CrystalInfuser_InfusedEnchantment_BG31_325_Ge,\r\n\t\tCardIds.CrystalInfuser_InfusedEnchantment_BG31_325_Ge,\r\n\t],\r\n\tdeathrattleEffectEnchantmentEffect: (enchantment: { cardId: string }, input: DeathrattleTriggeredInput) => {\r\n\t\tconst mult = enchantment.cardId === CardIds.CrystalInfuser_InfusedEnchantment_BG31_325_Ge ? 1 : 2;\r\n\t\tconst cards = [];\r\n\t\tfor (let i = 0; i < 2 * mult; i++) {\r\n\t\t\tcards.push(CardIds.BloodGem);\r\n\t\t}\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RapidReanimation = void 0;
|
|
4
|
-
const add_minion_to_board_1 = require("../../../simulation/add-minion-to-board");
|
|
5
4
|
const utils_1 = require("../../../utils");
|
|
6
5
|
exports.RapidReanimation = {
|
|
7
6
|
startOfCombatTiming: 'pre-combat',
|
|
@@ -18,7 +17,6 @@ exports.RapidReanimation = {
|
|
|
18
17
|
input.playerEntity.rapidReanimationIndexFromRight =
|
|
19
18
|
input.playerBoard.length - 1 - rapidReanimationIndexFromLeft;
|
|
20
19
|
const minionToCopy = (0, utils_1.copyEntity)(minionThatWillDie);
|
|
21
|
-
(0, add_minion_to_board_1.removeAurasFromSelf)(minionToCopy, input.playerBoard, input.playerEntity, input.gameState);
|
|
22
20
|
input.playerEntity.rapidReanimationMinion = minionToCopy;
|
|
23
21
|
minionThatWillDie.definitelyDead = true;
|
|
24
22
|
input.gameState.spectator.registerPowerTarget(input.playerEntity, minionThatWillDie, input.playerBoard, input.playerEntity, input.opponentEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rapid-reanimation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/rapid-reanimation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"rapid-reanimation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/rapid-reanimation.ts"],"names":[],"mappings":";;;AAGA,0CAA4C;AAG/B,QAAA,gBAAgB,GAAsB;IAClD,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE;YAMrC,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW;iBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC,CAC3F;iBACA,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC;iBACzF,cAAc;gBACf,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC;qBACzF,cAAc,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC;YACN,IAAI,iBAAiB,EAAE;gBAUtB,MAAM,6BAA6B,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACnF,KAAK,CAAC,YAAY,CAAC,8BAA8B;oBAChD,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,6BAA6B,CAAC;gBAC9D,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;gBAGnD,KAAK,CAAC,YAAY,CAAC,sBAAsB,GAAG,YAAY,CAAC;gBACzD,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;gBACxC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,iBAAiB,EACjB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;gBACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;aACpE;SACD;IACF,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 { copyEntity } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const RapidReanimation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerEntity.heroPowerUsed) {\r\n\t\t\t// Getting the right enchantment can be tricky. The RapidReanimation enchantment can sometimes be\r\n\t\t\t// in the Graveyard zone, so we can't filter them out. In that case, we can have multiple\r\n\t\t\t// enchantments\r\n\t\t\t// However, because of how things are handled in the logs, we should be able to always take the one *\r\n\t\t\t// with the biggest entityId\r\n\t\t\tconst minionThatWillDie = input.playerBoard\r\n\t\t\t\t.filter((m) =>\r\n\t\t\t\t\tm.enchantments.some((e) => e.cardId === CardIds.RapidReanimation_ImpendingDeathEnchantment),\r\n\t\t\t\t)\r\n\t\t\t\t.sort(\r\n\t\t\t\t\t(a, b) =>\r\n\t\t\t\t\t\tb.enchantments.find((e) => e.cardId === CardIds.RapidReanimation_ImpendingDeathEnchantment)\r\n\t\t\t\t\t\t\t.originEntityId -\r\n\t\t\t\t\t\t\ta.enchantments.find((e) => e.cardId === CardIds.RapidReanimation_ImpendingDeathEnchantment)\r\n\t\t\t\t\t\t\t\t.originEntityId || b.entityId - a.entityId,\r\n\t\t\t\t)[0];\r\n\t\t\tif (minionThatWillDie) {\r\n\t\t\t\t// So this is a bit tricky (as all the stuff with indices...). Because in practice it's more likely that players use Rapid Reanimation\r\n\t\t\t\t// on minions that they want to die quickly, most of the time they will be placed\r\n\t\t\t\t// to the left of the board\r\n\t\t\t\t// So using a left-based index (usually 0) is more likely to be correct after minions spawn on the board\r\n\t\t\t\t// Update: this looks like it's not the case, and looking at\r\n\t\t\t\t// http://replays.firestoneapp.com/?reviewId=2e6b389f-d904-43a2-a7cd-928a60d973ce&turn=11&action=1\r\n\t\t\t\t// the index seems to be right-based at least in some cases\r\n\t\t\t\t// Looks like even this is wrong:\r\n\t\t\t\t// http://replays.firestoneapp.com/?reviewId=9a46ab39-ccf0-478c-a010-68f2abb06c6f&turn=9&action=0\r\n\t\t\t\tconst rapidReanimationIndexFromLeft = input.playerBoard.indexOf(minionThatWillDie);\r\n\t\t\t\tinput.playerEntity.rapidReanimationIndexFromRight =\r\n\t\t\t\t\tinput.playerBoard.length - 1 - rapidReanimationIndexFromLeft;\r\n\t\t\t\tconst minionToCopy = copyEntity(minionThatWillDie);\r\n\t\t\t\t// We don't reapply auras when resummoning\r\n\t\t\t\t// removeAurasFromSelf(minionToCopy, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\tinput.playerEntity.rapidReanimationMinion = minionToCopy;\r\n\t\t\t\tminionThatWillDie.definitelyDead = true;\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tminionThatWillDie,\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\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ArcaneCannoneer = void 0;
|
|
4
4
|
const attack_1 = require("../../../simulation/attack");
|
|
5
5
|
exports.ArcaneCannoneer = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_928", "BG31_928_G"],
|
|
7
7
|
onAttack: (minion, input) => {
|
|
8
8
|
if (minion !== input.attacker) {
|
|
9
9
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
10
|
}
|
|
11
11
|
const baseBuff = minion.scriptDataNum1;
|
|
12
|
-
const mult = minion.cardId === "
|
|
12
|
+
const mult = minion.cardId === "BG31_928_G" ? 2 : 1;
|
|
13
13
|
const buff = baseBuff * mult;
|
|
14
14
|
(0, attack_1.dealDamageToMinion)(input.defendingEntity, input.defendingBoard, input.defendingHero, minion, 1 * buff, input.attackingBoard, input.attackingHero, input.gameState);
|
|
15
15
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcane-cannoneer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/arcane-cannoneer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"arcane-cannoneer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/arcane-cannoneer.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,eAAe,GAAiB;IAC5C,OAAO,EAAE,0BAAsE;IAC/E,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAA,2BAAkB,EACjB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,MAAM,EACN,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,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 { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const ArcaneCannoneer: OnAttackCard = {\r\n\tcardIds: [CardIds.ArcaneCannoneer_BG31_928, CardIds.ArcaneCannoneer_BG31_928_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\t\tconst baseBuff = minion.scriptDataNum1;\r\n\t\tconst mult = minion.cardId === CardIds.ArcaneCannoneer_BG31_928_G ? 2 : 1;\r\n\t\tconst buff = baseBuff * mult;\r\n\t\tdealDamageToMinion(\r\n\t\t\tinput.defendingEntity,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tminion,\r\n\t\t\t1 * buff,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Beetle = void 0;
|
|
4
4
|
const stats_1 = require("../../../simulation/stats");
|
|
5
5
|
exports.Beetle = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG28_603t", "BG28_603t_G"],
|
|
7
7
|
onSpawned: (minion, input) => {
|
|
8
8
|
var _a, _b;
|
|
9
9
|
(0, stats_1.modifyStats)(minion, 2 * ((_a = input.hero.globalInfo.BeetleAttackBuff) !== null && _a !== void 0 ? _a : 0), 1 * ((_b = input.hero.globalInfo.BeetleHealthBuff) !== null && _b !== void 0 ? _b : 0), input.playerBoard, input.hero, input.board);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"beetle.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/beetle.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,MAAM,GAAoC;IACtD,OAAO,EAAE,4BAAyE;IAClF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,IAAA,mBAAW,EACV,MAAM,EACN,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,mCAAI,CAAC,CAAC,EACjD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,CACX,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const Beetle: OnSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.BoonOfBeetles_BeetleToken_BG28_603t, CardIds.Beetle_BG28_603t_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\t2 * (input.hero.globalInfo.BeetleAttackBuff ?? 0),\r\n\t\t\t1 * (input.hero.globalInfo.BeetleHealthBuff ?? 0),\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.board,\r\n\t\t);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tminion.attack = Math.max(0, minion.attack - input.hero.globalInfo.BeetleAttackBuff);\r\n\t\tminion.health = Math.max(1, minion.health - input.hero.globalInfo.BeetleHealthBuff);\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BoarGamer = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.BoarGamer = {
|
|
6
|
-
cardIds: ["", ""],
|
|
6
|
+
cardIds: ["BG31_329", "BG31_329_G"],
|
|
7
7
|
endOfTurn: (minion, input) => {
|
|
8
|
-
const cards = minion.cardId === "" ? [null, null] : [null];
|
|
8
|
+
const cards = minion.cardId === "BG31_329_G" ? [null, null] : [null];
|
|
9
9
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
10
10
|
},
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boar-gamer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/boar-gamer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"boar-gamer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/boar-gamer.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const BoarGamer: EndOfTurnCard = {\r\n\tcardIds: [CardIds.BoarGamer_BG31_329, CardIds.BoarGamer_BG31_329_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards = minion.cardId === CardIds.BoarGamer_BG31_329_G ? [null, null] : [null];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -11,10 +11,10 @@ const windfury_1 = require("../../../keywords/windfury");
|
|
|
11
11
|
const utils_1 = require("../../../services/utils");
|
|
12
12
|
const cards_data_1 = require("../../cards-data");
|
|
13
13
|
exports.BubbleGunner = {
|
|
14
|
-
cardIds: ["
|
|
14
|
+
cardIds: ["BG31_149", "BG31_149_G"],
|
|
15
15
|
battlecry: (minion, input) => {
|
|
16
16
|
let possibleKeywords = [...cards_data_1.validBonusKeywords];
|
|
17
|
-
const iterations = minion.cardId === "
|
|
17
|
+
const iterations = minion.cardId === "BG31_149_G" ? 2 : 1;
|
|
18
18
|
for (let i = 0; i < iterations; i++) {
|
|
19
19
|
const targetKeyword = (0, utils_1.pickRandom)(possibleKeywords);
|
|
20
20
|
possibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"bubble-gunner.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/bubble-gunner.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mEAAqE;AACrE,qDAAwD;AACxD,uDAA0D;AAC1D,mDAAsD;AACtD,yDAA4D;AAC5D,yDAA4D;AAC5D,mDAAqD;AAGrD,iDAAsD;AAEzC,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,IAAI,gBAAgB,GAAG,CAAC,GAAG,+BAAkB,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;YACnD,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,aAAa,CAAC,CAAC;YACnG,QAAQ,aAAa,EAAE;gBACtB,KAAK,wBAAO,CAAC,aAAa;oBACzB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC5F,MAAM;gBACP,KAAK,wBAAO,CAAC,KAAK;oBACjB,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACrF,MAAM;gBACP,KAAK,wBAAO,CAAC,QAAQ;oBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACP,KAAK,wBAAO,CAAC,QAAQ;oBACpB,IAAA,yBAAc,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACP,KAAK,wBAAO,CAAC,OAAO;oBACnB,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACvF,MAAM;gBACP,KAAK,wBAAO,CAAC,MAAM;oBAClB,IAAA,qBAAY,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACtF,MAAM;aACP;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { updateReborn } from '../../../keywords/reborn';\r\nimport { updateStealth } from '../../../keywords/stealth';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateVenomous } from '../../../keywords/venomous';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { validBonusKeywords } from '../../cards-data';\r\n\r\nexport const BubbleGunner: BattlecryCard = {\r\n\tcardIds: [CardIds.BubbleGunner_BG31_149, CardIds.BubbleGunner_BG31_149_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tlet possibleKeywords = [...validBonusKeywords];\r\n\t\tconst iterations = minion.cardId === CardIds.BubbleGunner_BG31_149_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < iterations; i++) {\r\n\t\t\tconst targetKeyword = pickRandom(possibleKeywords);\r\n\t\t\tpossibleKeywords = possibleKeywords.filter((possibleKeyword) => possibleKeyword !== targetKeyword);\r\n\t\t\tswitch (targetKeyword) {\r\n\t\t\t\tcase GameTag.DIVINE_SHIELD:\r\n\t\t\t\t\tupdateDivineShield(minion, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.TAUNT:\r\n\t\t\t\t\tupdateTaunt(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.VENOMOUS:\r\n\t\t\t\t\tupdateVenomous(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.WINDFURY:\r\n\t\t\t\t\tupdateWindfury(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.STEALTH:\r\n\t\t\t\t\tupdateStealth(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase GameTag.REBORN:\r\n\t\t\t\t\tupdateReborn(minion, true, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BuzzingVermin = void 0;
|
|
4
4
|
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
5
|
exports.BuzzingVermin = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_803", "BG31_803_G"],
|
|
7
7
|
deathrattleSpawn: (deadEntity, input) => {
|
|
8
|
-
const numberOfSpawns = deadEntity.cardId === "
|
|
9
|
-
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("
|
|
8
|
+
const numberOfSpawns = deadEntity.cardId === "BG31_803_G" ? 2 : 1;
|
|
9
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG28_603t", numberOfSpawns, input);
|
|
10
10
|
},
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=buzzing-vermin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buzzing-vermin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/buzzing-vermin.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"buzzing-vermin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/buzzing-vermin.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,IAAA,4CAAuB,eAA8C,cAAc,EAAE,KAAK,CAAC,CAAC;IACpG,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 { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const BuzzingVermin: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.BuzzingVermin_BG31_803, CardIds.BuzzingVermin_BG31_803_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === CardIds.BuzzingVermin_BG31_803_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, numberOfSpawns, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -5,10 +5,10 @@ const reference_data_1 = require("@firestone-hs/reference-data");
|
|
|
5
5
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
6
|
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
7
7
|
exports.DeathlyStriker = {
|
|
8
|
-
cardIds: ["", ""],
|
|
8
|
+
cardIds: ["BG31_835", "BG31_835_G"],
|
|
9
9
|
baseAvengeValue: (cardId) => 4,
|
|
10
10
|
avenge: (minion, input) => {
|
|
11
|
-
const mult = minion.cardId === "" ? 1 : 2;
|
|
11
|
+
const mult = minion.cardId === "BG31_835" ? 1 : 2;
|
|
12
12
|
const cards = [];
|
|
13
13
|
for (let i = 0; i < mult; i++) {
|
|
14
14
|
cards.push(input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.UNDEAD, input.hero.tavernTier));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deathly-striker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/deathly-striker.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"deathly-striker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/deathly-striker.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qEAAmE;AAEnE,+EAAiF;AAGpE,QAAA,cAAc,GAAsC;IAChE,OAAO,EAAE,0BAAoE;IAC7E,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SAClG;QACD,MAAM,UAAU,GAAG,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;SACnC;IACF,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,OAAO,GAAG,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,CAAC,MAAM,IAAI,CAAA,MAAA,CAAC,CAAC,oBAAoB,0CAAE,QAAQ,MAAK,MAAM,CAAC,QAAQ,CAAA,EAAA,CACxE,CAAC;QACF,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,4CAAuB,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACrB;QACD,OAAO,OAAO,CAAC;IAChB,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 { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { AvengeCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const DeathlyStriker: AvengeCard & DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.DeathlyStriker_BG31_835, CardIds.DeathlyStriker_BG31_835_G],\r\n\tbaseAvengeValue: (cardId: string) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.DeathlyStriker_BG31_835 ? 1 : 2;\r\n\t\tconst cards = [];\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tcards.push(input.gameState.cardsData.getRandomMinionForTribe(Race.UNDEAD, input.hero.tavernTier));\r\n\t\t}\r\n\t\tconst addedCards = addCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t\tfor (const card of addedCards) {\r\n\t\t\tcard.locked = false;\r\n\t\t\tcard.lastAffectedByEntity = minion;\r\n\t\t}\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst targets = input.boardWithDeadEntityHero.hand.filter(\r\n\t\t\t(e) => !e.locked && e.lastAffectedByEntity?.entityId === minion.entityId,\r\n\t\t);\r\n\t\tconst spawned: BoardEntity[] = [];\r\n\t\tfor (const target of targets) {\r\n\t\t\tspawned.push(...simplifiedSpawnEntities(target.cardId, 1, input, { ...target }));\r\n\t\t\ttarget.locked = true;\r\n\t\t}\r\n\t\treturn spawned;\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,9 +6,9 @@ const utils_1 = require("../../../services/utils");
|
|
|
6
6
|
const card_interface_1 = require("../../card.interface");
|
|
7
7
|
const _card_mappings_1 = require("../_card-mappings");
|
|
8
8
|
exports.EfficientEngineer = {
|
|
9
|
-
cardIds: ["
|
|
9
|
+
cardIds: ["BG31_301", "BG31_301_G"],
|
|
10
10
|
battlecry: (minion, input) => {
|
|
11
|
-
const mult = minion.cardId === "
|
|
11
|
+
const mult = minion.cardId === "BG31_301_G" ? 2 : 1;
|
|
12
12
|
for (let i = 0; i < mult; i++) {
|
|
13
13
|
const candidates = input.board
|
|
14
14
|
.filter((e) => { var _a; return (_a = input.gameState.allCards.getCard(e.cardId).mechanics) === null || _a === void 0 ? void 0 : _a.includes(reference_data_1.GameTag[reference_data_1.GameTag.END_OF_TURN]); })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efficient-engineer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/efficient-engineer.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mDAAqD;
|
|
1
|
+
{"version":3,"file":"efficient-engineer.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/efficient-engineer.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,mDAAqD;AAErD,yDAAmE;AACnE,sDAAiD;AAEpC,QAAA,iBAAiB,GAAkB;IAC/C,OAAO,EAAE,0BAA0E;IACnF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WACb,OAAA,MAAA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,0CAAE,QAAQ,CAAC,wBAAO,CAAC,wBAAO,CAAC,WAAW,CAAC,CAAC,CAAA,EAAA,CAC5F;iBACA,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,0BAAgE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CAChG,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,IAAA,6BAAY,EAAC,aAAa,CAAC,EAAE;gBAChC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,qBAA6C,CAAC;oBACnG,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,mBAA2C,CAAC;wBAC9E,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,CAAC,CAAC;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;oBACvC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;iBACvC;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { BattlecryCard, hasEndOfTurn } from '../../card.interface';\r\nimport { cardMappings } from '../_card-mappings';\r\n\r\nexport const EfficientEngineer: BattlecryCard = {\r\n\tcardIds: [CardIds.EfficientEngineer_BG31_301, CardIds.EfficientEngineer_BG31_301_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.EfficientEngineer_BG31_301_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst candidates = input.board\r\n\t\t\t\t.filter((e) =>\r\n\t\t\t\t\tinput.gameState.allCards.getCard(e.cardId).mechanics?.includes(GameTag[GameTag.END_OF_TURN]),\r\n\t\t\t\t)\r\n\t\t\t\t.filter(\r\n\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t![CardIds.YoungMurkEye_BG22_403, CardIds.YoungMurkEye_BG22_403_G].includes(e.cardId as CardIds),\r\n\t\t\t\t);\r\n\t\t\tconst target = pickRandom(candidates);\r\n\t\t\tconst endOfTurnImpl = cardMappings[target.cardId];\r\n\t\t\tif (hasEndOfTurn(endOfTurnImpl)) {\r\n\t\t\t\tconst numberOfLoops = input.board.some((e) => e.cardId === CardIds.DrakkariEnchanter_BG26_ICC_901_G)\r\n\t\t\t\t\t? 3\r\n\t\t\t\t\t: input.board.some((e) => e.cardId === CardIds.DrakkariEnchanter_BG26_ICC_901)\r\n\t\t\t\t\t? 2\r\n\t\t\t\t\t: 1;\r\n\t\t\t\tfor (let i = 0; i < numberOfLoops; i++) {\r\n\t\t\t\t\tendOfTurnImpl.endOfTurn(target, input);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,17 +4,17 @@ exports.ForestRover = void 0;
|
|
|
4
4
|
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
5
|
const stats_1 = require("../../../simulation/stats");
|
|
6
6
|
exports.ForestRover = {
|
|
7
|
-
cardIds: ["
|
|
7
|
+
cardIds: ["BG31_801", "BG31_801_G"],
|
|
8
8
|
deathrattleSpawn: (deadEntity, input) => {
|
|
9
|
-
const numberOfSpawns = deadEntity.cardId === "
|
|
10
|
-
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("
|
|
9
|
+
const numberOfSpawns = deadEntity.cardId === "BG31_801_G" ? 2 : 1;
|
|
10
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG28_603t", numberOfSpawns, input);
|
|
11
11
|
},
|
|
12
12
|
battlecry: (minion, input) => {
|
|
13
|
-
const mult = minion.cardId === "
|
|
13
|
+
const mult = minion.cardId === "BG31_801_G" ? 2 : 1;
|
|
14
14
|
input.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 2 * mult;
|
|
15
15
|
input.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 1 * mult;
|
|
16
16
|
input.board
|
|
17
|
-
.filter((e) => ["
|
|
17
|
+
.filter((e) => ["BG28_603t", "BG28_603t_G"].includes(e.cardId))
|
|
18
18
|
.forEach((e) => {
|
|
19
19
|
(0, stats_1.modifyStats)(e, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);
|
|
20
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forest-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forest-rover.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"forest-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forest-rover.ts"],"names":[],"mappings":";;;AAIA,+EAAiF;AACjF,qDAAwD;AAG3C,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,0BAA8D;IACvE,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,IAAA,4CAAuB,eAA8C,cAAc,EAAE,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,KAAK;aACT,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,EAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ForestRover: DeathrattleSpawnCard & BattlecryCard = {\r\n\tcardIds: [CardIds.ForestRover_BG31_801, CardIds.ForestRover_BG31_801_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === CardIds.ForestRover_BG31_801_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.BoonOfBeetles_BeetleToken_BG28_603t, numberOfSpawns, input);\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ForestRover_BG31_801_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 2 * mult;\r\n\t\tinput.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 1 * mult;\r\n\t\tinput.board\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(e, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t});\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,9 +7,9 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
7
7
|
const utils_2 = require("../../../utils");
|
|
8
8
|
const cards_data_1 = require("../../cards-data");
|
|
9
9
|
exports.FountainChiller = {
|
|
10
|
-
cardIds: ["
|
|
10
|
+
cardIds: ["BG31_145", "BG31_145_G"],
|
|
11
11
|
battlecry: (minion, input) => {
|
|
12
|
-
const mult = minion.cardId === "
|
|
12
|
+
const mult = minion.cardId === "BG31_145_G" ? 2 : 1;
|
|
13
13
|
let totalKeywords = 0;
|
|
14
14
|
for (const bonusKeyword of cards_data_1.validBonusKeywords) {
|
|
15
15
|
if (input.board.some((e) => (0, cards_data_1.hasKeyword)(e, bonusKeyword))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fountain-chiller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fountain-chiller.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fountain-chiller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fountain-chiller.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAqD;AAErD,qDAAwD;AACxD,0CAAiD;AAEjD,iDAAkE;AAErD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,0BAAsE;IAC/E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;YAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE;gBACzD,aAAa,EAAE,CAAC;aAChB;SACD;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrE,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EAAC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1G,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACxG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nexport const FountainChiller: BattlecryCard = {\r\n\tcardIds: [CardIds.FountainChiller_BG31_145, CardIds.FountainChiller_BG31_145_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FountainChiller_BG31_145_G ? 2 : 1;\r\n\t\tlet totalKeywords = 0;\r\n\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\tif (input.board.some((e) => hasKeyword(e, bonusKeyword))) {\r\n\t\t\t\ttotalKeywords++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst candidates = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(target, totalKeywords * mult, totalKeywords * mult, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GemRat = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.GemRat = {
|
|
6
|
-
cardIds: ["", ""],
|
|
6
|
+
cardIds: ["BG31_326", "BG31_326_G"],
|
|
7
7
|
endOfTurn: (minion, input) => {
|
|
8
|
-
const cards = minion.cardId === ""
|
|
8
|
+
const cards = minion.cardId === "BG31_326_G"
|
|
9
|
+
? ["BG31_893", "BG31_893"]
|
|
10
|
+
: ["BG31_893"];
|
|
9
11
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
10
12
|
},
|
|
11
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gem-rat.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gem-rat.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"gem-rat.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gem-rat.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,MAAM,GAAkB;IACpC,OAAO,EAAE,0BAAoD;IAC7D,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAA8B;YAC1C,CAAC,CAAC,wBAAkD;YACpD,CAAC,CAAC,YAAyB,CAAC;QAC9B,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const GemRat: EndOfTurnCard = {\r\n\tcardIds: [CardIds.GemRat_BG31_326, CardIds.GemRat_BG31_326_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards =\r\n\t\t\tminion.cardId === CardIds.GemRat_BG31_326_G\r\n\t\t\t\t? [CardIds.GemDay_BG31_893, CardIds.GemDay_BG31_893]\r\n\t\t\t\t: [CardIds.GemDay_BG31_893];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GrittyHeadhunter = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.GrittyHeadhunter = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_822", "BG31_822_G"],
|
|
7
7
|
battlecry: (entity, input) => {
|
|
8
|
-
const cards = entity.cardId === "
|
|
9
|
-
? ["
|
|
10
|
-
: ["
|
|
8
|
+
const cards = entity.cardId === "BG31_822_G"
|
|
9
|
+
? ["BG31_891", "BG31_891"]
|
|
10
|
+
: ["BG31_891"];
|
|
11
11
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
12
12
|
},
|
|
13
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gritty-headhunter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gritty-headhunter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"gritty-headhunter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gritty-headhunter.ts"],"names":[],"mappings":";;;AAGA,qEAAmE;AAGtD,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,0BAAwE;IACjF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAAwC;YACpD,CAAC,CAAC,wBAAwE;YAC1E,CAAC,CAAC,YAAoC,CAAC;QACzC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GrittyHeadhunter: BattlecryCard = {\r\n\tcardIds: [CardIds.GrittyHeadhunter_BG31_822, CardIds.GrittyHeadhunter_BG31_822_G],\r\n\tbattlecry: (entity: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards =\r\n\t\t\tentity.cardId === CardIds.GrittyHeadhunter_BG31_822_G\r\n\t\t\t\t? [CardIds.MaraudersContract_BG31_891, CardIds.MaraudersContract_BG31_891]\r\n\t\t\t\t: [CardIds.MaraudersContract_BG31_891];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,10 +4,10 @@ exports.Hackerfin = void 0;
|
|
|
4
4
|
const stats_1 = require("../../../simulation/stats");
|
|
5
5
|
const cards_data_1 = require("../../cards-data");
|
|
6
6
|
exports.Hackerfin = {
|
|
7
|
-
cardIds: ["
|
|
7
|
+
cardIds: ["BG31_148", "BG31_148_G"],
|
|
8
8
|
battlecry: (minion, input) => {
|
|
9
9
|
for (const entity of input.board) {
|
|
10
|
-
const mult = minion.cardId === "
|
|
10
|
+
const mult = minion.cardId === "BG31_148_G" ? 2 : 1;
|
|
11
11
|
let totalKeywords = 0;
|
|
12
12
|
for (const bonusKeyword of cards_data_1.validBonusKeywords) {
|
|
13
13
|
if ((0, cards_data_1.hasKeyword)(entity, bonusKeyword)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hackerfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hackerfin.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hackerfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hackerfin.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAExD,iDAAkE;AAErD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;gBAC9C,IAAI,IAAA,uBAAU,EAAC,MAAM,EAAE,YAAY,CAAC,EAAE;oBACrC,aAAa,EAAE,CAAC;iBAChB;aACD;YACD,IAAA,mBAAW,EACV,MAAM,EACN,aAAa,GAAG,IAAI,GAAG,CAAC,EACxB,aAAa,GAAG,IAAI,GAAG,CAAC,EACxB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nexport const Hackerfin: BattlecryCard = {\r\n\tcardIds: [CardIds.Hackerfin_BG31_148, CardIds.Hackerfin_BG31_148_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tconst mult = minion.cardId === CardIds.Hackerfin_BG31_148_G ? 2 : 1;\r\n\t\t\tlet totalKeywords = 0;\r\n\t\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\t\tif (hasKeyword(entity, bonusKeyword)) {\r\n\t\t\t\t\ttotalKeywords++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\ttotalKeywords * mult * 2,\r\n\t\t\t\ttotalKeywords * mult * 2,\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},\r\n};\r\n"]}
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HoloRover = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.HoloRover = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_175", "BG31_175_G"],
|
|
7
7
|
onAttack: (minion, input) => {
|
|
8
8
|
if (minion !== input.attacker) {
|
|
9
9
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
10
|
}
|
|
11
|
-
const numberOfCard = minion.cardId === "
|
|
11
|
+
const numberOfCard = minion.cardId === "BG31_175_G" ? 2 : 1;
|
|
12
12
|
for (let i = 0; i < numberOfCard; i++) {
|
|
13
13
|
const magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);
|
|
14
14
|
(0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, [magneticMech], input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,0BAA0D;IACnE,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxG,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const HoloRover: OnAttackCard = {\r\n\tcardIds: [CardIds.HoloRover_BG31_175, CardIds.HoloRover_BG31_175_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (minion !== input.attacker) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\t\tconst numberOfCard = minion.cardId === CardIds.HoloRover_BG31_175_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCard; i++) {\r\n\t\t\tconst magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);\r\n\t\t\taddCardsInHand(input.attackingHero, input.attackingBoard, [magneticMech], input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ImplantSubject = void 0;
|
|
4
4
|
const stats_1 = require("../../../simulation/stats");
|
|
5
5
|
exports.ImplantSubject = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_147", "BG31_147_G"],
|
|
7
7
|
onTauntUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
8
8
|
if (previousValue && !impactedEntity.taunt) {
|
|
9
9
|
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
@@ -36,7 +36,7 @@ exports.ImplantSubject = {
|
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
const updateEntity = (entity, board, hero, gameState) => {
|
|
39
|
-
const mult = entity.cardId === "
|
|
39
|
+
const mult = entity.cardId === "BG31_147_G" ? 2 : 1;
|
|
40
40
|
(0, stats_1.modifyStats)(entity, mult * 2, mult * 2, board, hero, gameState);
|
|
41
41
|
};
|
|
42
42
|
//# sourceMappingURL=implant-subject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implant-subject.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/implant-subject.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"implant-subject.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/implant-subject.ts"],"names":[],"mappings":";;;AAOA,qDAAwD;AAU3C,QAAA,cAAc,GAKJ;IACtB,OAAO,EAAE,0BAAoE;IAC7E,cAAc,EAAE,CACf,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA0B,EACzB,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,qBAAqB,EAAE,CAAC,MAAmB,EAAE,KAAiC,EAAE,EAAE;QACjF,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;YACtD,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,eAAe,EAAE,CAChB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC5C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,gBAAgB,EAAE,CACjB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC7C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,IAAqB,EAAE,SAAwB,EAAE,EAAE;IACnH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { OnRebornUpdatedInput } from '../../../keywords/reborn';\r\nimport { OnTauntUpdatedInput } from '../../../keywords/taunt';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport {\r\n\tOnDivineShieldUpdatedCard,\r\n\tOnRebornUpdatedCard,\r\n\tOnStealthUpdatedCard,\r\n\tOnTauntUpdatedCard,\r\n\tOnVenomousUpdatedCard,\r\n\tOnWindfuryUpdatedCard,\r\n} from '../../card.interface';\r\n\r\nexport const ImplantSubject: OnTauntUpdatedCard &\r\n\tOnDivineShieldUpdatedCard &\r\n\tOnVenomousUpdatedCard &\r\n\tOnWindfuryUpdatedCard &\r\n\tOnStealthUpdatedCard &\r\n\tOnRebornUpdatedCard = {\r\n\tcardIds: [CardIds.ImplantSubject_BG31_147, CardIds.ImplantSubject_BG31_147_G],\r\n\tonTauntUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnTauntUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.taunt) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonDivineShieldUpdated: (entity: BoardEntity, input: OnDivineShieldUpdatedInput) => {\r\n\t\tif (input.previousValue && !input.target.divineShield) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonRebornUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.reborn) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonStealthUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.stealth) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonVenomousUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.venomous) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonWindfuryUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.windfury) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst updateEntity = (entity: BoardEntity, board: BoardEntity[], hero: BgsPlayerEntity, gameState: FullGameState) => {\r\n\tconst mult = entity.cardId === CardIds.ImplantSubject_BG31_147_G ? 2 : 1;\r\n\tmodifyStats(entity, mult * 2, mult * 2, board, hero, gameState);\r\n};\r\n"]}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MarqueeTicker = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.MarqueeTicker = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_178", "BG31_178_G"],
|
|
7
7
|
endOfTurn: (minion, input) => {
|
|
8
|
-
const cards = minion.cardId === "
|
|
8
|
+
const cards = minion.cardId === "BG31_178_G" ? [null, null] : [null];
|
|
9
9
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
10
10
|
},
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marquee-ticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/marquee-ticker.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"marquee-ticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/marquee-ticker.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,aAAa,GAAkB;IAC3C,OAAO,EAAE,0BAAkE;IAC3E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzF,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const MarqueeTicker: EndOfTurnCard = {\r\n\tcardIds: [CardIds.MarqueeTicker_BG31_178, CardIds.MarqueeTicker_BG31_178_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards = minion.cardId === CardIds.MarqueeTicker_BG31_178_G ? [null, null] : [null];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MoonsteelJuggernaut = void 0;
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.MoonsteelJuggernaut = {
|
|
6
|
-
cardIds: ["
|
|
6
|
+
cardIds: ["BG31_171", "BG31_171_G"],
|
|
7
7
|
endOfTurn: (minion, input) => {
|
|
8
|
-
const buff = minion.cardId === "
|
|
9
|
-
const cards = minion.cardId === "
|
|
10
|
-
? [
|
|
11
|
-
|
|
8
|
+
const buff = minion.cardId === "BG31_171_G" ? 2 : 1;
|
|
9
|
+
const cards = minion.cardId === "BG31_171_G"
|
|
10
|
+
? [
|
|
11
|
+
"BG31_171t",
|
|
12
|
+
"BG31_171t",
|
|
13
|
+
]
|
|
14
|
+
: ["BG31_171t"];
|
|
12
15
|
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
13
16
|
},
|
|
14
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moonsteel-juggernaut.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/moonsteel-juggernaut.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"moonsteel-juggernaut.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/moonsteel-juggernaut.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAGtD,QAAA,mBAAmB,GAAkB;IACjD,OAAO,EAAE,0BAA8E;IACvF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,iBAA2C;YACvD,CAAC,CAAC;;;aAGC;YACH,CAAC,CAAC,aAA+D,CAAC;QACpE,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,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 { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const MoonsteelJuggernaut: EndOfTurnCard = {\r\n\tcardIds: [CardIds.MoonsteelJuggernaut_BG31_171, CardIds.MoonsteelJuggernaut_BG31_171_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst buff = minion.cardId === CardIds.MoonsteelJuggernaut_BG31_171_G ? 2 : 1;\r\n\t\tconst cards =\r\n\t\t\tminion.cardId === CardIds.MoonsteelJuggernaut_BG31_171_G\r\n\t\t\t\t? [\r\n\t\t\t\t\t\tCardIds.MoonsteelJuggernaut_MoonsteelSatelliteToken_BG31_171t,\r\n\t\t\t\t\t\tCardIds.MoonsteelJuggernaut_MoonsteelSatelliteToken_BG31_171t,\r\n\t\t\t\t ]\r\n\t\t\t\t: [CardIds.MoonsteelJuggernaut_MoonsteelSatelliteToken_BG31_171t];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|