@firestone-hs/simulate-bgs-battle 1.1.747 → 1.1.749
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 +19 -1
- package/dist/cards/card.interface.js +12 -2
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +8 -2
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/bg-spell/mighty-dragonbreath.js +3 -1
- package/dist/cards/impl/bg-spell/mighty-dragonbreath.js.map +1 -1
- package/dist/cards/impl/enchantments/deaths-embrace.d.ts +2 -2
- package/dist/cards/impl/enchantments/deaths-embrace.js +35 -6
- package/dist/cards/impl/enchantments/deaths-embrace.js.map +1 -1
- package/dist/cards/impl/enchantments/spell-siphon.d.ts +2 -0
- package/dist/cards/impl/enchantments/spell-siphon.js +22 -0
- package/dist/cards/impl/enchantments/spell-siphon.js.map +1 -0
- package/dist/cards/impl/minion/captain-cookie.d.ts +2 -0
- package/dist/cards/impl/minion/captain-cookie.js +14 -0
- package/dist/cards/impl/minion/captain-cookie.js.map +1 -0
- package/dist/cards/impl/minion/devout-hellcaller.js +1 -1
- package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
- package/dist/cards/impl/minion/diremuck-forager.js +4 -1
- package/dist/cards/impl/minion/diremuck-forager.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/eredar-escapist.js +5 -21
- package/dist/cards/impl/minion/eredar-escapist.js.map +1 -1
- package/dist/cards/impl/minion/expert-aviator.js +1 -1
- package/dist/cards/impl/minion/expert-aviator.js.map +1 -1
- package/dist/cards/impl/minion/fire-forged-evoker.js +1 -1
- package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -1
- package/dist/cards/impl/minion/forsaken-weaver.js +1 -1
- package/dist/cards/impl/minion/forsaken-weaver.js.map +1 -1
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js +1 -1
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -1
- package/dist/cards/impl/minion/jailbird-juggernaut.js +1 -4
- package/dist/cards/impl/minion/jailbird-juggernaut.js.map +1 -1
- package/dist/cards/impl/minion/sanguine-champion.d.ts +2 -0
- package/dist/cards/impl/minion/sanguine-champion.js +21 -0
- package/dist/cards/impl/minion/sanguine-champion.js.map +1 -0
- package/dist/cards/impl/minion/sanguine-refiner.js +1 -1
- package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -1
- package/dist/cards/impl/minion/showy-cyclist.d.ts +2 -2
- package/dist/cards/impl/minion/showy-cyclist.js +9 -3
- package/dist/cards/impl/minion/showy-cyclist.js.map +1 -1
- package/dist/cards/impl/minion/soul-rewinder.js +3 -2
- package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
- package/dist/cards/impl/minion/tasty-lobster.d.ts +2 -0
- package/dist/cards/impl/minion/tasty-lobster.js +5 -3
- package/dist/cards/impl/minion/tasty-lobster.js.map +1 -1
- package/dist/cards/impl/minion/tichondrius.js +1 -1
- package/dist/cards/impl/minion/tichondrius.js.map +1 -1
- package/dist/cards/impl/minion/utility-drone.js +1 -1
- package/dist/cards/impl/minion/utility-drone.js.map +1 -1
- package/dist/cards/impl/minion/wildfire-elemental.js +8 -3
- package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -1
- package/dist/cards/impl/trinket/all-purpose-kibble.js +3 -2
- package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
- package/dist/cards/impl/trinket/archaic-scroll.js +1 -1
- package/dist/cards/impl/trinket/archaic-scroll.js.map +1 -1
- package/dist/cards/impl/trinket/bubble-crown.js +1 -1
- package/dist/cards/impl/trinket/bubble-crown.js.map +1 -1
- package/dist/cards/impl/trinket/lionfish-portrait.js +3 -2
- package/dist/cards/impl/trinket/lionfish-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/miniature-ship.js +1 -1
- package/dist/cards/impl/trinket/miniature-ship.js.map +1 -1
- package/dist/cards/impl/trinket/stormcoil-sticker.js +2 -1
- package/dist/cards/impl/trinket/stormcoil-sticker.js.map +1 -1
- package/dist/cards/impl/trinket/training-certificate.js +1 -1
- package/dist/cards/impl/trinket/training-certificate.js.map +1 -1
- package/dist/cards/impl/trinket/trusty-crowbar.js +1 -1
- package/dist/cards/impl/trinket/trusty-crowbar.js.map +1 -1
- package/dist/simulation/add-minion-to-board.js +34 -10
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/attack.d.ts +1 -0
- package/dist/simulation/attack.js +12 -8
- package/dist/simulation/attack.js.map +1 -1
- package/dist/simulation/auras.js +4 -1
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/battlecries.js +0 -6
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +0 -6
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/global-info-helpers.js +11 -0
- package/dist/simulation/global-info-helpers.js.map +1 -1
- package/dist/simulation/minion-kill.d.ts +1 -1
- package/dist/simulation/minion-kill.js +2 -1
- package/dist/simulation/minion-kill.js.map +1 -1
- package/dist/simulation/remove-minion-from-board.js +12 -0
- package/dist/simulation/remove-minion-from-board.js.map +1 -1
- package/dist/simulation/utils/golden.d.ts +9 -0
- package/dist/simulation/utils/golden.js +14 -0
- package/dist/simulation/utils/golden.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility-drone.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/utility-drone.ts"],"names":[],"mappings":";;;AAEA,6DAAkE;AAClE,qDAAwD;AAG3C,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,cAAc,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,cAAc,GAAG,CAAC,EAAE;gBACvB,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,cAAc,GAAG,IAAI,EACzB,CAAC,GAAG,cAAc,GAAG,IAAI,EACzB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { getMagnetizations } from '../../../simulation/magnetize';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const UtilityDrone: EndOfTurnCard = {\r\n\tcardIds: [CardIds.UtilityDrone_BG26_152, CardIds.UtilityDrone_BG26_152_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.UtilityDrone_BG26_152_G ? 2 : 1;\r\n\t\tfor (const target of input.board) {\r\n\t\t\tconst magnetizations = getMagnetizations(target, input.gameState);\r\n\t\t\tif (magnetizations > 0) {\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t4 * magnetizations * mult,\r\n\t\t\t\t\
|
|
1
|
+
{"version":3,"file":"utility-drone.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/utility-drone.ts"],"names":[],"mappings":";;;AAEA,6DAAkE;AAClE,qDAAwD;AAG3C,QAAA,YAAY,GAAkB;IAC1C,OAAO,EAAE,0BAAgE;IACzE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,cAAc,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,cAAc,GAAG,CAAC,EAAE;gBACvB,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,CAAC,GAAG,cAAc,GAAG,IAAI,EACzB,CAAC,GAAG,cAAc,GAAG,IAAI,EACzB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { getMagnetizations } from '../../../simulation/magnetize';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const UtilityDrone: EndOfTurnCard = {\r\n\tcardIds: [CardIds.UtilityDrone_BG26_152, CardIds.UtilityDrone_BG26_152_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.UtilityDrone_BG26_152_G ? 2 : 1;\r\n\t\tfor (const target of input.board) {\r\n\t\t\tconst magnetizations = getMagnetizations(target, input.gameState);\r\n\t\t\tif (magnetizations > 0) {\r\n\t\t\t\tmodifyStats(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\t4 * magnetizations * mult,\r\n\t\t\t\t\t5 * magnetizations * mult,\r\n\t\t\t\t\tinput.board,\r\n\t\t\t\t\tinput.hero,\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"]}
|
|
@@ -8,17 +8,22 @@ exports.WildfireElemental = {
|
|
|
8
8
|
if (input.killer !== minion || !input.killerIsAttacking) {
|
|
9
9
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
10
|
}
|
|
11
|
+
const hadVenomous = input.hadVenomous;
|
|
11
12
|
const excessDamage = -input.minionKilled.health;
|
|
12
13
|
let damageDoneByAttacker = 0;
|
|
13
14
|
if (input.defenderNeighbours.length > 0) {
|
|
14
15
|
if (minion.cardId === "BGS_126") {
|
|
15
16
|
const randomTarget = input.defenderNeighbours[Math.floor(Math.random() * input.defenderNeighbours.length)];
|
|
17
|
+
input.minionKilled.lastAffectedByEntity.venomous = hadVenomous;
|
|
16
18
|
damageDoneByAttacker += (0, attack_1.dealDamageToMinion)(randomTarget, input.defendingBoard, input.defendingHero, input.minionKilled.lastAffectedByEntity, excessDamage, input.attackingBoard, input.attackingHero, input.gameState);
|
|
19
|
+
input.minionKilled.lastAffectedByEntity.venomous = false;
|
|
17
20
|
}
|
|
18
21
|
else {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
for (const neighbour of input.defenderNeighbours) {
|
|
23
|
+
input.minionKilled.lastAffectedByEntity.venomous = hadVenomous;
|
|
24
|
+
damageDoneByAttacker += (0, attack_1.dealDamageToMinion)(neighbour, input.defendingBoard, input.defendingHero, input.minionKilled.lastAffectedByEntity, excessDamage, input.attackingBoard, input.attackingHero, input.gameState);
|
|
25
|
+
input.minionKilled.lastAffectedByEntity.venomous = false;
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
return { dmgDoneByAttacker: damageDoneByAttacker, dmgDoneByDefender: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildfire-elemental.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wildfire-elemental.ts"],"names":[],"mappings":";;;AAEA,uDAAqF;AAGxE,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,8BAA8E;IACvF,cAAc,EAAE,CACf,MAAmB,EACnB,KAA0B,EACiC,EAAE;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAChD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,cAAsC,EAAE;gBACxD,MAAM,YAAY,GACjB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvF,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"wildfire-elemental.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/wildfire-elemental.ts"],"names":[],"mappings":";;;AAEA,uDAAqF;AAGxE,QAAA,iBAAiB,GAAuB;IACpD,OAAO,EAAE,8BAA8E;IACvF,cAAc,EAAE,CACf,MAAmB,EACnB,KAA0B,EACiC,EAAE;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAChD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,cAAsC,EAAE;gBACxD,MAAM,YAAY,GACjB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvF,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC/D,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,GAAG,KAAK,CAAC;aACzD;iBAAM;gBACN,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,kBAAkB,EAAE;oBACjD,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,GAAG,WAAW,CAAC;oBAC/D,oBAAoB,IAAI,IAAA,2BAAkB,EACzC,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EACvC,YAAY,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;oBACF,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACzD;aACD;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { dealDamageToMinion, OnMinionKilledInput } from '../../../simulation/attack';\r\nimport { OnMinionKilledCard } from '../../card.interface';\r\n\r\nexport const WildfireElemental: OnMinionKilledCard = {\r\n\tcardIds: [CardIds.WildfireElemental_BGS_126, CardIds.WildfireElemental_TB_BaconUps_166],\r\n\tonMinionKilled: (\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tif (input.killer !== minion || !input.killerIsAttacking) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst hadVenomous = input.hadVenomous;\r\n\t\tconst excessDamage = -input.minionKilled.health;\r\n\t\tlet damageDoneByAttacker = 0;\r\n\t\t// console.log('neighbours', stringifySimple(neighbours, allCards));\r\n\t\tif (input.defenderNeighbours.length > 0) {\r\n\t\t\tif (minion.cardId === CardIds.WildfireElemental_BGS_126) {\r\n\t\t\t\tconst randomTarget =\r\n\t\t\t\t\tinput.defenderNeighbours[Math.floor(Math.random() * input.defenderNeighbours.length)];\r\n\t\t\t\tinput.minionKilled.lastAffectedByEntity.venomous = hadVenomous;\r\n\t\t\t\tdamageDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\trandomTarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\texcessDamage,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.minionKilled.lastAffectedByEntity.venomous = false;\r\n\t\t\t} else {\r\n\t\t\t\tfor (const neighbour of input.defenderNeighbours) {\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity.venomous = hadVenomous;\r\n\t\t\t\t\tdamageDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\t\tneighbour,\r\n\t\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\t\tinput.minionKilled.lastAffectedByEntity,\r\n\t\t\t\t\t\texcessDamage,\r\n\t\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tinput.minionKilled.lastAffectedByEntity.venomous = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: damageDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,15 +4,16 @@ exports.AllPurposeKibble = void 0;
|
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
5
|
const stats_1 = require("../../../simulation/stats");
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
|
+
const attackBuff = 3;
|
|
7
8
|
exports.AllPurposeKibble = {
|
|
8
9
|
cardIds: ["BG32_MagicItem_200"],
|
|
9
10
|
onWheneverAnotherMinionAttacks: (trinket, input) => {
|
|
10
11
|
if (!(0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
|
|
11
12
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
12
13
|
}
|
|
13
|
-
const buff = trinket.scriptDataNum1 ||
|
|
14
|
+
const buff = (trinket.scriptDataNum1 || 0) + attackBuff;
|
|
14
15
|
(0, stats_1.modifyStats)(input.attacker, trinket, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);
|
|
15
|
-
trinket.scriptDataNum1 =
|
|
16
|
+
trinket.scriptDataNum1 = buff + attackBuff;
|
|
16
17
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
17
18
|
},
|
|
18
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-purpose-kibble.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/all-purpose-kibble.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"all-purpose-kibble.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/all-purpose-kibble.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGjD,MAAM,UAAU,GAAG,CAAC,CAAC;AAER,QAAA,gBAAgB,GAAuC;IACnE,OAAO,EAAE,sBAA6C;IACtD,8BAA8B,EAAE,CAAC,OAAqB,EAAE,KAAoB,EAAE,EAAE;QAC/E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;QACxD,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1G,OAAO,CAAC,cAAc,GAAG,IAAI,GAAG,UAAU,CAAC;QAC3C,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nconst attackBuff = 3;\r\n\r\nexport const AllPurposeKibble: OnWheneverAnotherMinionAttacksCard = {\r\n\tcardIds: [CardIds.AllPurposeKibble_BG32_MagicItem_200],\r\n\tonWheneverAnotherMinionAttacks: (trinket: BoardTrinket, input: OnAttackInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tRace.BEAST,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tconst buff = (trinket.scriptDataNum1 || 0) + attackBuff;\r\n\t\tmodifyStats(input.attacker, trinket, buff, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\ttrinket.scriptDataNum1 = buff + attackBuff;\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.ArchaicScroll = void 0;
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
5
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
|
-
const spellsToCast =
|
|
6
|
+
const spellsToCast = 8;
|
|
7
7
|
exports.ArchaicScroll = {
|
|
8
8
|
cardIds: ["BG32_MagicItem_930"],
|
|
9
9
|
afterTavernSpellCast: (trinket, input) => {
|
|
@@ -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,MAAA,OAAO,CAAC,cAAc,mCAAI,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 =
|
|
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,MAAA,OAAO,CAAC,cAAc,mCAAI,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"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BubbleCrown = void 0;
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
-
const spellsToCast =
|
|
5
|
+
const spellsToCast = 14;
|
|
6
6
|
exports.BubbleCrown = {
|
|
7
7
|
cardIds: ["BG35_MagicItem_920"],
|
|
8
8
|
onBeforeTavernSpellCast: (trinket, input) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble-crown.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bubble-crown.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AAMvD,MAAM,YAAY,GAAG,EAAE,CAAC;AAEX,QAAA,WAAW,GAAgC;IACvD,OAAO,EAAE,sBAAwC;IAGjD,uBAAuB,EAAE,CAAC,OAAmC,EAAE,KAAqB,EAAE,EAAE;;QAEvF,IAAI,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAG,wBAAO,CAAC,cAAc,CAAC,MAAK,CAAC,EAAE;YACjD,OAAO;SACP;QAgBD,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,wBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACzC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { GameTag } 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 { CastSpellInput, OnBeforeTavernSpellCastCard } from '../../card.interface';\r\n\r\nconst spellsToCast =
|
|
1
|
+
{"version":3,"file":"bubble-crown.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/bubble-crown.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AAMvD,MAAM,YAAY,GAAG,EAAE,CAAC;AAEX,QAAA,WAAW,GAAgC;IACvD,OAAO,EAAE,sBAAwC;IAGjD,uBAAuB,EAAE,CAAC,OAAmC,EAAE,KAAqB,EAAE,EAAE;;QAEvF,IAAI,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAG,wBAAO,CAAC,cAAc,CAAC,MAAK,CAAC,EAAE;YACjD,OAAO;SACP;QAgBD,OAAO,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;YAChC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,wBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACzC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { GameTag } 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 { CastSpellInput, OnBeforeTavernSpellCastCard } from '../../card.interface';\r\n\r\nconst spellsToCast = 14;\r\n\r\nexport const BubbleCrown: OnBeforeTavernSpellCastCard = {\r\n\tcardIds: [CardIds.BubbleCrown_BG35_MagicItem_920],\r\n\t// This seems to trigger before the first spell is cast\r\n\t// https://replays.firestoneapp.com/?reviewId=2503f562-e0e1-4564-8218-d36cbf09cbb0&turn=17&action=2\r\n\tonBeforeTavernSpellCast: (trinket: BoardTrinket | BoardEntity, input: CastSpellInput) => {\r\n\t\t// It has already triggered once\r\n\t\tif (trinket.tags?.[GameTag.TRIGGER_VISUAL] === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// When we get the board state from the opponent, sometimes we have the trinket at 0, and this seems to mean that\r\n\t\t// it will proc on the next spell (eg https://replays.firestoneapp.com/?reviewId=0cff125a-7419-40c6-8c50-edfba59d1559&turn=17&action=4)\r\n\t\t/*\r\n\t\t\tD 20:39:27.1063034 PowerTaskList.DebugPrintPower() - SHOW_ENTITY - Updating Entity=[entityName=泡泡王冠 id=6141 zone=SETASIDE zonePos=0 cardId=BG35_MagicItem_920 player=4] CardID=BG35_MagicItem_920\r\n\t\t\tD 20:39:27.1063034 PowerTaskList.DebugPrintPower() - tag=TAG_SCRIPT_DATA_NUM_1 value=0\r\n\t\t\t...\r\n\t\t\tD 20:39:27.1643122 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[entityName=赶潮纳迦 id=6449 zone=PLAY zonePos=5 cardId=BG34_920 player=12] EffectCardId=System.Collections.Generic.List`1[System.String] EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=DEATHRATTLE\r\n\t\t\t...\r\n\t\t\tD 20:39:27.1643122 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[entityName=泡泡王冠 id=6141 zone=PLAY zonePos=0 cardId=BG35_MagicItem_920 player=12] EffectCardId=System.Collections.Generic.List`1[System.String] EffectIndex=0 Target=0 SubOption=-1 TriggerKeyword=TRIGGER_VISUAL\r\n\t\t\t...\r\n\t\t\tD 20:39:27.1643122 GameState.DebugPrintPower() - TAG_CHANGE Entity=wellwelc tag=TAVERN_SPELL_ATTACK_INCREASE value=5 \r\n\t\t\tD 20:39:27.1643122 GameState.DebugPrintPower() - TAG_CHANGE Entity=wellwelc tag=TAVERN_SPELL_HEALTH_INCREASE value=5 \r\n\t\t\t...\r\n\t\t*/\r\n\t\t// I'm not yet sure if this only happens under specific conditions\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? 0) - 1;\r\n\t\tif (trinket.scriptDataNum1 <= 0) {\r\n\t\t\ttrinket.scriptDataNum1 = spellsToCast;\r\n\t\t\tinput.hero.globalInfo.TavernSpellAttackBuff += 4;\r\n\t\t\tinput.hero.globalInfo.TavernSpellHealthBuff += 4;\r\n\t\t\ttrinket.tags[GameTag.TRIGGER_VISUAL] = 0;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,14 +4,15 @@ exports.LionfishPortrait = void 0;
|
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
5
|
const stats_1 = require("../../../simulation/stats");
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
|
-
const
|
|
7
|
+
const attackBuff = 4;
|
|
8
|
+
const healthBuff = 2;
|
|
8
9
|
exports.LionfishPortrait = {
|
|
9
10
|
cardIds: ["BG36_MagicItem_201"],
|
|
10
11
|
onWheneverAnotherMinionAttacks: (trinket, input) => {
|
|
11
12
|
if (!(0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
|
|
12
13
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
13
14
|
}
|
|
14
|
-
(0, stats_1.modifyStats)(input.attacker, trinket,
|
|
15
|
+
(0, stats_1.modifyStats)(input.attacker, trinket, attackBuff, healthBuff, input.attackingBoard, input.attackingHero, input.gameState);
|
|
15
16
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
16
17
|
},
|
|
17
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lionfish-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/lionfish-portrait.ts"],"names":[],"mappings":";;;AAMA,iEAAoD;
|
|
1
|
+
{"version":3,"file":"lionfish-portrait.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/lionfish-portrait.ts"],"names":[],"mappings":";;;AAMA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGjD,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,CAAC,CAAC;AAER,QAAA,gBAAgB,GAAuC;IACnE,OAAO,EAAE,sBAA6C;IACtD,8BAA8B,EAAE,CAAC,OAAqB,EAAE,KAAoB,EAAE,EAAE;QAC/E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QAED,IAAA,mBAAW,EACV,KAAK,CAAC,QAAQ,EACd,OAAO,EACP,UAAU,EACV,UAAU,EACV,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":["/**\r\n * Lionfish Portrait (3 gold)\r\n * Get a Lurking Lionfish. Whenever a friendly Beast attacks, give it +2/+2.\r\n *\r\n * Only the second half is simulated; getting the Lionfish happens in the tavern.\r\n */\r\nimport { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nconst attackBuff = 4;\r\nconst healthBuff = 2;\r\n\r\nexport const LionfishPortrait: OnWheneverAnotherMinionAttacksCard = {\r\n\tcardIds: [CardIds.LionfishPortrait_BG36_MagicItem_201],\r\n\tonWheneverAnotherMinionAttacks: (trinket: BoardTrinket, input: OnAttackInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.attacker,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tRace.BEAST,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\r\n\t\tmodifyStats(\r\n\t\t\tinput.attacker,\r\n\t\t\ttrinket,\r\n\t\t\tattackBuff,\r\n\t\t\thealthBuff,\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"]}
|
|
@@ -11,7 +11,7 @@ exports.MiniatureShip = {
|
|
|
11
11
|
if (entity.health <= 0 || entity.definitelyDead)
|
|
12
12
|
continue;
|
|
13
13
|
if ((0, utils_1.hasCorrectTribe)(entity, input.hero, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {
|
|
14
|
-
(0, stats_1.modifyStats)(entity, trinket,
|
|
14
|
+
(0, stats_1.modifyStats)(entity, trinket, 3, 3, input.board, input.hero, input.gameState);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miniature-ship.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/miniature-ship.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,sBAA0C;IACnD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1G,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const MiniatureShip: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.MiniatureShip_BG35_MagicItem_710],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tif (hasCorrectTribe(entity, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(entity, trinket,
|
|
1
|
+
{"version":3,"file":"miniature-ship.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/miniature-ship.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAGpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA6B;IACtD,OAAO,EAAE,sBAA0C;IACnD,oBAAoB,EAAE,CAAC,OAAqB,EAAE,KAAqB,EAAE,EAAE;QACtE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc;gBAAE,SAAS;YAC1D,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC1G,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterTavernSpellCastCard, CastSpellInput } from '../../card.interface';\r\n\r\nexport const MiniatureShip: AfterTavernSpellCastCard = {\r\n\tcardIds: [CardIds.MiniatureShip_BG35_MagicItem_710],\r\n\tafterTavernSpellCast: (trinket: BoardTrinket, input: CastSpellInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tif (entity.health <= 0 || entity.definitelyDead) continue;\r\n\t\t\tif (hasCorrectTribe(entity, input.hero, Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {\r\n\t\t\t\tmodifyStats(entity, trinket, 3, 3, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.StormcoilSticker = void 0;
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
5
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
|
+
const threshold = 6;
|
|
6
7
|
exports.StormcoilSticker = {
|
|
7
8
|
cardIds: ["BG35_MagicItem_302"],
|
|
8
9
|
onAfterFriendlyMinionDeath: (listener, input) => {
|
|
9
10
|
var _a;
|
|
10
11
|
const trinket = listener;
|
|
11
12
|
trinket.scriptDataNum1 = (trinket.scriptDataNum1 || 0) + 1;
|
|
12
|
-
if (trinket.scriptDataNum1 >=
|
|
13
|
+
if (trinket.scriptDataNum1 >= threshold) {
|
|
13
14
|
trinket.scriptDataNum1 = 0;
|
|
14
15
|
const randomMech = input.gameState.cardsData.getRandomMinionForTribe(reference_data_1.Race.MECH, (_a = input.hero.tavernTier) !== null && _a !== void 0 ? _a : 6, []);
|
|
15
16
|
if (randomMech) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stormcoil-sticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/stormcoil-sticker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAKpD,qEAAmE;
|
|
1
|
+
{"version":3,"file":"stormcoil-sticker.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/stormcoil-sticker.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAKpD,qEAAmE;AAGnE,MAAM,SAAS,GAAG,CAAC,CAAC;AAEP,QAAA,gBAAgB,GAAmC;IAC/D,OAAO,EAAE,sBAA6C;IACtD,0BAA0B,EAAE,CAAC,QAAoC,EAAE,KAAsC,EAAE,EAAE;;QAC5G,MAAM,OAAO,GAAG,QAAwB,CAAC;QACzC,OAAO,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,cAAc,IAAI,SAAS,EAAE;YACxC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CACnE,qBAAI,CAAC,IAAI,EACT,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAI,CAAC,EAC1B,EAAE,CACF,CAAC;YACF,IAAI,UAAU,EAAE;gBACf,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACvE;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 { OnAfterFriendlyMinionDeathInput } from '../../../simulation/attack';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAfterFriendlyMinionDeathCard } from '../../card.interface';\r\n\r\nconst threshold = 6;\r\n\r\nexport const StormcoilSticker: OnAfterFriendlyMinionDeathCard = {\r\n\tcardIds: [CardIds.StormcoilSticker_BG35_MagicItem_302],\r\n\tonAfterFriendlyMinionDeath: (listener: BoardEntity | BoardTrinket, input: OnAfterFriendlyMinionDeathInput) => {\r\n\t\tconst trinket = listener as BoardTrinket;\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 || 0) + 1;\r\n\t\tif (trinket.scriptDataNum1 >= threshold) {\r\n\t\t\ttrinket.scriptDataNum1 = 0;\r\n\t\t\tconst randomMech = input.gameState.cardsData.getRandomMinionForTribe(\r\n\t\t\t\tRace.MECH,\r\n\t\t\t\tinput.hero.tavernTier ?? 6,\r\n\t\t\t\t[],\r\n\t\t\t);\r\n\t\t\tif (randomMech) {\r\n\t\t\t\taddCardsInHand(input.hero, input.board, [randomMech], input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,7 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
6
6
|
exports.TrainingCertificate = {
|
|
7
7
|
startOfCombat: (trinket, input) => {
|
|
8
8
|
if (input.playerBoard.length > 0) {
|
|
9
|
-
const baseBoard = (0, utils_1.shuffleArray)(input.playerBoard);
|
|
9
|
+
const baseBoard = (0, utils_1.shuffleArray)([...input.playerBoard]);
|
|
10
10
|
const minionsByAttack = baseBoard.sort((a, b) => a.attack - b.attack);
|
|
11
11
|
const firstTarget = minionsByAttack[0];
|
|
12
12
|
(0, stats_1.setEntityStats)(firstTarget, 2 * firstTarget.maxAttack, 2 * firstTarget.maxHealth, input.playerBoard, input.playerEntity, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"training-certificate.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/training-certificate.ts"],"names":[],"mappings":";;;AACA,mDAAuD;AAEvD,qDAA2D;AAE9C,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAEjC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"training-certificate.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/training-certificate.ts"],"names":[],"mappings":";;;AACA,mDAAuD;AAEvD,qDAA2D;AAE9C,QAAA,mBAAmB,GAAG;IAClC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAEjC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACvC,IAAA,sBAAc,EACb,WAAW,EACX,CAAC,GAAG,WAAW,CAAC,SAAS,EACzB,CAAC,GAAG,WAAW,CAAC,SAAS,EACzB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAA,sBAAc,EACb,YAAY,EACZ,CAAC,GAAG,YAAY,CAAC,SAAS,EAC1B,CAAC,GAAG,YAAY,CAAC,SAAS,EAC1B,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACpG;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { shuffleArray } from '../../../services/utils';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { setEntityStats } from '../../../simulation/stats';\r\n\r\nexport const TrainingCertificate = {\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\t// In cae of ties, it should be random\r\n\t\t\tconst baseBoard = shuffleArray([...input.playerBoard]);\r\n\t\t\tconst minionsByAttack = baseBoard.sort((a, b) => a.attack - b.attack);\r\n\t\t\tconst firstTarget = minionsByAttack[0];\r\n\t\t\tsetEntityStats(\r\n\t\t\t\tfirstTarget,\r\n\t\t\t\t2 * firstTarget.maxAttack,\r\n\t\t\t\t2 * firstTarget.maxHealth,\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);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(trinket, firstTarget, input.playerBoard, null, null);\r\n\t\t\tif (baseBoard.length > 1) {\r\n\t\t\t\tconst secondTarget = minionsByAttack[1];\r\n\t\t\t\tsetEntityStats(\r\n\t\t\t\t\tsecondTarget,\r\n\t\t\t\t\t2 * secondTarget.maxAttack,\r\n\t\t\t\t\t2 * secondTarget.maxHealth,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(trinket, secondTarget, input.playerBoard, null, null);\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -12,7 +12,7 @@ exports.TrustyCrowbar = {
|
|
|
12
12
|
}
|
|
13
13
|
const leftMost = input.board[0];
|
|
14
14
|
if (leftMost) {
|
|
15
|
-
(0, stats_1.modifyStats)(leftMost, trinket,
|
|
15
|
+
(0, stats_1.modifyStats)(leftMost, trinket, 16, 16, input.board, input.hero, input.gameState);
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trusty-crowbar.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/trusty-crowbar.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,sBAA0C;IACnD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;QAC3E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,QAAQ,EAAE;YACb,IAAA,mBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const TrustyCrowbar: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.TrustyCrowbar_BG35_MagicItem_713],\r\n\tonCardAddedToHand: (trinket: BoardTrinket, input: OnCardAddedToHandInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.addedCard,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.PIRATE,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst leftMost = input.board[0];\r\n\t\tif (leftMost) {\r\n\t\t\tmodifyStats(leftMost, trinket,
|
|
1
|
+
{"version":3,"file":"trusty-crowbar.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/trusty-crowbar.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAIpD,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,sBAA0C;IACnD,iBAAiB,EAAE,CAAC,OAAqB,EAAE,KAA6B,EAAE,EAAE;QAC3E,IACC,CAAC,IAAA,uBAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,OAAO;SACP;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,QAAQ,EAAE;YACb,IAAA,mBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnCardAddedToHandInput } from '../../../simulation/cards-in-hand';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnCardAddedToHandCard } from '../../card.interface';\r\n\r\nexport const TrustyCrowbar: OnCardAddedToHandCard = {\r\n\tcardIds: [CardIds.TrustyCrowbar_BG35_MagicItem_713],\r\n\tonCardAddedToHand: (trinket: BoardTrinket, input: OnCardAddedToHandInput) => {\r\n\t\tif (\r\n\t\t\t!hasCorrectTribe(\r\n\t\t\t\tinput.addedCard,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.PIRATE,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst leftMost = input.board[0];\r\n\t\tif (leftMost) {\r\n\t\t\tmodifyStats(leftMost, trinket, 16, 16, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -361,6 +361,18 @@ const applyAurasToSelf = (spawned, board, boardHero, gameState, applyAttackAuras
|
|
|
361
361
|
applyHealthAuras,
|
|
362
362
|
});
|
|
363
363
|
}
|
|
364
|
+
for (const enchantment of spawned.enchantments) {
|
|
365
|
+
const onSpawnedEnchantmentImpl = _card_mappings_1.cardMappings[enchantment.cardId];
|
|
366
|
+
if ((0, card_interface_1.hasOnSpawnedEnchantment)(onSpawnedEnchantmentImpl)) {
|
|
367
|
+
onSpawnedEnchantmentImpl.onSpawnedEnchantment(spawned, enchantment, {
|
|
368
|
+
hero: boardHero,
|
|
369
|
+
board: board,
|
|
370
|
+
gameState: gameState,
|
|
371
|
+
applyAttackAuras,
|
|
372
|
+
applyHealthAuras,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
}
|
|
364
376
|
switch (spawned.cardId) {
|
|
365
377
|
case "BG25_008":
|
|
366
378
|
case "BG25_008_G":
|
|
@@ -415,6 +427,28 @@ const removeAurasFromSelf = (entity, board, boardHero, gameState, applyAttackAur
|
|
|
415
427
|
applyHealthAuras,
|
|
416
428
|
});
|
|
417
429
|
}
|
|
430
|
+
for (const enchantment of entity.enchantments) {
|
|
431
|
+
const onDespawnedEnchantmentImpl = _card_mappings_1.cardMappings[enchantment.cardId];
|
|
432
|
+
if ((0, card_interface_1.hasOnDespawnedEnchantment)(onDespawnedEnchantmentImpl)) {
|
|
433
|
+
onDespawnedEnchantmentImpl.onDespawnedEnchantment(entity, enchantment, {
|
|
434
|
+
hero: boardHero,
|
|
435
|
+
board: board,
|
|
436
|
+
gameState: gameState,
|
|
437
|
+
applyAttackAuras,
|
|
438
|
+
applyHealthAuras,
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
for (const enchantment of entity.enchantments) {
|
|
443
|
+
switch (enchantment === null || enchantment === void 0 ? void 0 : enchantment.cardId) {
|
|
444
|
+
case "TB_BaconShop_HP_085e":
|
|
445
|
+
if (applyAttackAuras) {
|
|
446
|
+
entity.attack = Math.max(0, entity.attack - enchantment.tagScriptDataNum1);
|
|
447
|
+
entity.maxAttack = Math.max(0, entity.maxAttack - enchantment.tagScriptDataNum1);
|
|
448
|
+
}
|
|
449
|
+
break;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
418
452
|
if (!!((_a = boardHero.questRewards) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
419
453
|
for (const quest of boardHero.questRewards) {
|
|
420
454
|
switch (quest) {
|
|
@@ -639,16 +673,6 @@ const removeAurasFromSelf = (entity, board, boardHero, gameState, applyAttackAur
|
|
|
639
673
|
}
|
|
640
674
|
break;
|
|
641
675
|
}
|
|
642
|
-
for (const enchantment of entity.enchantments) {
|
|
643
|
-
switch (enchantment === null || enchantment === void 0 ? void 0 : enchantment.cardId) {
|
|
644
|
-
case "TB_BaconShop_HP_085e":
|
|
645
|
-
if (applyAttackAuras) {
|
|
646
|
-
entity.attack = Math.max(0, entity.attack - enchantment.tagScriptDataNum1);
|
|
647
|
-
entity.maxAttack = Math.max(0, entity.maxAttack - enchantment.tagScriptDataNum1);
|
|
648
|
-
}
|
|
649
|
-
break;
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
676
|
};
|
|
653
677
|
exports.removeAurasFromSelf = removeAurasFromSelf;
|
|
654
678
|
const handleMinionAddedAuraEffect = (spawnedCardId, spawned, board, boardHero, gameState, isActuallySpawned = true) => {
|