@firestone-hs/simulate-bgs-battle 1.1.618 → 1.1.620
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 +10 -3
- package/dist/cards/card.interface.js +5 -3
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/impl/minion/admiral-eliza-goreblade.d.ts +2 -2
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js +14 -8
- package/dist/cards/impl/minion/admiral-eliza-goreblade.js.map +1 -1
- package/dist/cards/impl/minion/arcane-cannoneer.d.ts +2 -2
- package/dist/cards/impl/minion/arcane-cannoneer.js +1 -4
- package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -1
- package/dist/cards/impl/minion/battlecruiser.d.ts +2 -2
- package/dist/cards/impl/minion/battlecruiser.js +1 -4
- package/dist/cards/impl/minion/battlecruiser.js.map +1 -1
- package/dist/cards/impl/minion/bigwig-bandit.d.ts +2 -2
- package/dist/cards/impl/minion/bigwig-bandit.js +1 -4
- package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -1
- package/dist/cards/impl/minion/bile-spitter.d.ts +2 -2
- package/dist/cards/impl/minion/bile-spitter.js +1 -4
- package/dist/cards/impl/minion/bile-spitter.js.map +1 -1
- package/dist/cards/impl/minion/bloodsnout-warlord.d.ts +2 -2
- package/dist/cards/impl/minion/bloodsnout-warlord.js +1 -1
- package/dist/cards/impl/minion/bloodsnout-warlord.js.map +1 -1
- package/dist/cards/impl/minion/blue-whelp.d.ts +2 -2
- package/dist/cards/impl/minion/blue-whelp.js +1 -4
- package/dist/cards/impl/minion/blue-whelp.js.map +1 -1
- package/dist/cards/impl/minion/bonker.d.ts +2 -2
- package/dist/cards/impl/minion/bonker.js +1 -4
- package/dist/cards/impl/minion/bonker.js.map +1 -1
- package/dist/cards/impl/minion/campfire-shadow.d.ts +2 -2
- package/dist/cards/impl/minion/campfire-shadow.js +1 -4
- package/dist/cards/impl/minion/campfire-shadow.js.map +1 -1
- package/dist/cards/impl/minion/charmwing.d.ts +2 -2
- package/dist/cards/impl/minion/charmwing.js +1 -4
- package/dist/cards/impl/minion/charmwing.js.map +1 -1
- package/dist/cards/impl/minion/choral-mrrrglr.js +4 -6
- package/dist/cards/impl/minion/choral-mrrrglr.js.map +1 -1
- package/dist/cards/impl/minion/colossus.d.ts +2 -2
- package/dist/cards/impl/minion/colossus.js +1 -4
- package/dist/cards/impl/minion/colossus.js.map +1 -1
- package/dist/cards/impl/minion/exceptionnal-caretaker.d.ts +2 -2
- package/dist/cards/impl/minion/exceptionnal-caretaker.js +1 -4
- package/dist/cards/impl/minion/exceptionnal-caretaker.js.map +1 -1
- package/dist/cards/impl/minion/geared-guard.d.ts +2 -2
- package/dist/cards/impl/minion/geared-guard.js +1 -4
- package/dist/cards/impl/minion/geared-guard.js.map +1 -1
- package/dist/cards/impl/minion/greedy-snaketongue.d.ts +2 -2
- package/dist/cards/impl/minion/greedy-snaketongue.js +1 -4
- package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -1
- package/dist/cards/impl/minion/greenskeeper.d.ts +2 -2
- package/dist/cards/impl/minion/greenskeeper.js +1 -4
- package/dist/cards/impl/minion/greenskeeper.js.map +1 -1
- package/dist/cards/impl/minion/holo-rover.d.ts +2 -2
- package/dist/cards/impl/minion/holo-rover.js +1 -4
- package/dist/cards/impl/minion/holo-rover.js.map +1 -1
- package/dist/cards/impl/minion/hydralisk.d.ts +2 -2
- package/dist/cards/impl/minion/hydralisk.js +1 -4
- package/dist/cards/impl/minion/hydralisk.js.map +1 -1
- package/dist/cards/impl/minion/monstrous-macaw.d.ts +2 -2
- package/dist/cards/impl/minion/monstrous-macaw.js +1 -4
- package/dist/cards/impl/minion/monstrous-macaw.js.map +1 -1
- package/dist/cards/impl/minion/neon-agent.d.ts +2 -2
- package/dist/cards/impl/minion/neon-agent.js +1 -4
- package/dist/cards/impl/minion/neon-agent.js.map +1 -1
- package/dist/cards/impl/minion/niuzao.d.ts +2 -2
- package/dist/cards/impl/minion/niuzao.js +1 -4
- package/dist/cards/impl/minion/niuzao.js.map +1 -1
- package/dist/cards/impl/minion/primeval-monstrosity.d.ts +2 -2
- package/dist/cards/impl/minion/primeval-monstrosity.js +1 -1
- package/dist/cards/impl/minion/primeval-monstrosity.js.map +1 -1
- package/dist/cards/impl/minion/prodigious-tusker.d.ts +2 -2
- package/dist/cards/impl/minion/prodigious-tusker.js +1 -1
- package/dist/cards/impl/minion/prodigious-tusker.js.map +1 -1
- package/dist/cards/impl/minion/raptor-elder.js +2 -2
- package/dist/cards/impl/minion/raptor-elder.js.map +1 -1
- package/dist/cards/impl/minion/razorfen-vineweaver.d.ts +2 -2
- package/dist/cards/impl/minion/razorfen-vineweaver.js +1 -4
- package/dist/cards/impl/minion/razorfen-vineweaver.js.map +1 -1
- package/dist/cards/impl/minion/ripsnarl-captain.d.ts +2 -2
- package/dist/cards/impl/minion/ripsnarl-captain.js +12 -6
- package/dist/cards/impl/minion/ripsnarl-captain.js.map +1 -1
- package/dist/cards/impl/minion/roadboar.d.ts +2 -2
- package/dist/cards/impl/minion/roadboar.js +1 -4
- package/dist/cards/impl/minion/roadboar.js.map +1 -1
- package/dist/cards/impl/minion/sanguine-refiner.d.ts +2 -2
- package/dist/cards/impl/minion/sanguine-refiner.js +1 -4
- package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -1
- package/dist/cards/impl/minion/scourge-harvester.js.map +1 -1
- package/dist/cards/impl/minion/sinodorei-straight-shot.d.ts +2 -2
- package/dist/cards/impl/minion/sinodorei-straight-shot.js +1 -4
- package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -1
- package/dist/cards/impl/minion/sleepy-supporter.d.ts +2 -2
- package/dist/cards/impl/minion/sleepy-supporter.js +1 -4
- package/dist/cards/impl/minion/sleepy-supporter.js.map +1 -1
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.d.ts +2 -2
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.js +1 -4
- package/dist/cards/impl/minion/stomping-stegodon-enchantment.js.map +1 -1
- package/dist/cards/impl/minion/stomping-stegodon.d.ts +2 -2
- package/dist/cards/impl/minion/stomping-stegodon.js +1 -4
- package/dist/cards/impl/minion/stomping-stegodon.js.map +1 -1
- package/dist/cards/impl/minion/transmuted-bramblewitch.d.ts +2 -2
- package/dist/cards/impl/minion/transmuted-bramblewitch.js +1 -4
- package/dist/cards/impl/minion/transmuted-bramblewitch.js.map +1 -1
- package/dist/cards/impl/minion/tusked-camper.d.ts +2 -2
- package/dist/cards/impl/minion/tusked-camper.js +1 -4
- package/dist/cards/impl/minion/tusked-camper.js.map +1 -1
- package/dist/cards/impl/minion/twilight-watcher.d.ts +2 -2
- package/dist/cards/impl/minion/twilight-watcher.js +16 -10
- package/dist/cards/impl/minion/twilight-watcher.js.map +1 -1
- package/dist/cards/impl/minion/vengeful-protector.d.ts +2 -2
- package/dist/cards/impl/minion/vengeful-protector.js +1 -4
- package/dist/cards/impl/minion/vengeful-protector.js.map +1 -1
- package/dist/cards/impl/minion/void-ray.d.ts +2 -2
- package/dist/cards/impl/minion/void-ray.js +11 -5
- package/dist/cards/impl/minion/void-ray.js.map +1 -1
- package/dist/cards/impl/minion/whirring-protector-enchantment.d.ts +2 -2
- package/dist/cards/impl/minion/whirring-protector-enchantment.js +1 -4
- package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -1
- package/dist/cards/impl/minion/whirring-protector.d.ts +2 -2
- package/dist/cards/impl/minion/whirring-protector.js +1 -4
- package/dist/cards/impl/minion/whirring-protector.js.map +1 -1
- package/dist/cards/impl/minion/yrel.d.ts +2 -2
- package/dist/cards/impl/minion/yrel.js +1 -4
- package/dist/cards/impl/minion/yrel.js.map +1 -1
- package/dist/cards/impl/trinket/all-purpose-kibble.d.ts +2 -2
- package/dist/cards/impl/trinket/all-purpose-kibble.js +6 -1
- package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
- package/dist/cards/impl/trinket/faerie-dragon-scale.d.ts +2 -2
- package/dist/cards/impl/trinket/faerie-dragon-scale.js +1 -1
- package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
- package/dist/cards/impl/trinket/unholy-sanctum.js +3 -0
- package/dist/cards/impl/trinket/unholy-sanctum.js.map +1 -1
- package/dist/simulation/deathrattle-effects.js +2 -0
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-orchestration.js +3 -2
- package/dist/simulation/deathrattle-orchestration.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +11 -3
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/on-attack.d.ts +0 -1
- package/dist/simulation/on-attack.js +121 -90
- package/dist/simulation/on-attack.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Colossus:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const Colossus: RallyCard;
|
|
@@ -4,10 +4,7 @@ exports.Colossus = void 0;
|
|
|
4
4
|
const attack_1 = require("../../../simulation/attack");
|
|
5
5
|
exports.Colossus = {
|
|
6
6
|
cardIds: ["BG31_HERO_802pt", "BG31_HERO_802pt_G"],
|
|
7
|
-
|
|
8
|
-
if (minion !== input.attacker) {
|
|
9
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
-
}
|
|
7
|
+
rally: (minion, input) => {
|
|
11
8
|
let dmgDoneByAttacker = 0;
|
|
12
9
|
const neighbours = (0, attack_1.getNeighbours)(input.defendingBoard, input.defendingEntity);
|
|
13
10
|
const damage = minion.scriptDataNum1 || 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colossus.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/colossus.ts"],"names":[],"mappings":";;;AAEA,uDAA+E;AAIlE,QAAA,QAAQ,
|
|
1
|
+
{"version":3,"file":"colossus.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/colossus.ts"],"names":[],"mappings":";;;AAEA,uDAA+E;AAIlE,QAAA,QAAQ,GAAc;IAClC,OAAO,EAAE,wCAAoF;IAC7F,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QAC9G,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAChC,MAAM,GAAG,GAAG,IAAA,2BAAkB,EAC7B,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,MAAM,EACN,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;YACF,iBAAiB,IAAI,GAAG,CAAC;SACzB;QACD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { dealDamageToMinion, getNeighbours } from '../../../simulation/attack';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Colossus: RallyCard = {\r\n\tcardIds: [CardIds.WarpGate_ColossusToken_BG31_HERO_802pt, CardIds.Colossus_BG31_HERO_802pt_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tlet dmgDoneByAttacker = 0;\r\n\t\tconst neighbours = getNeighbours(input.defendingBoard, input.defendingEntity);\r\n\t\tconst damage = minion.scriptDataNum1 || 1;\r\n\t\tfor (const target of neighbours) {\r\n\t\t\tconst dmg = dealDamageToMinion(\r\n\t\t\t\ttarget,\r\n\t\t\t\tinput.defendingBoard,\r\n\t\t\t\tinput.defendingHero,\r\n\t\t\t\tminion,\r\n\t\t\t\tdamage,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t\tdmgDoneByAttacker += dmg;\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { BattlecryCard, DeathrattleSpawnCard,
|
|
2
|
-
export declare const ExceptionalCaretaker:
|
|
1
|
+
import { BattlecryCard, DeathrattleSpawnCard, RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const ExceptionalCaretaker: RallyCard & DeathrattleSpawnCard & BattlecryCard;
|
|
@@ -6,10 +6,7 @@ const attackBuff = 2;
|
|
|
6
6
|
const healthBuff = 2;
|
|
7
7
|
exports.ExceptionalCaretaker = {
|
|
8
8
|
cardIds: ["BG33_701", "BG33_701_G"],
|
|
9
|
-
|
|
10
|
-
if (minion !== input.attacker) {
|
|
11
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
12
|
-
}
|
|
9
|
+
rally: (minion, input) => {
|
|
13
10
|
const mult = minion.cardId === "BG33_701_G" ? 2 : 1;
|
|
14
11
|
const targets = input.attackingBoard.filter((e) => e !== minion);
|
|
15
12
|
for (const target of targets) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptionnal-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/exceptionnal-caretaker.ts"],"names":[],"mappings":";;;AAKA,qDAAwD;AAGxD,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,CAAC,CAAC;AAER,QAAA,oBAAoB,
|
|
1
|
+
{"version":3,"file":"exceptionnal-caretaker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/exceptionnal-caretaker.ts"],"names":[],"mappings":";;;AAKA,qDAAwD;AAGxD,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,CAAC,CAAC;AAER,QAAA,oBAAoB,GAAqD;IACrF,OAAO,EAAE,0BAAgF;IACzF,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,UAAU,GAAG,IAAI,EACjB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC5G;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAA,mBAAW,EACV,MAAM,EACN,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,UAAU,GAAG,IAAI,EACjB,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,CAAC;IACX,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 { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { BattlecryCard, DeathrattleSpawnCard, RallyCard } from '../../card.interface';\r\n\r\nconst attackBuff = 2;\r\nconst healthBuff = 2;\r\n\r\nexport const ExceptionalCaretaker: RallyCard & DeathrattleSpawnCard & BattlecryCard = {\r\n\tcardIds: [CardIds.ExceptionalCaretaker_BG33_701, CardIds.ExceptionalCaretaker_BG33_701_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ExceptionalCaretaker_BG33_701_G ? 2 : 1;\r\n\t\tconst targets = input.attackingBoard.filter((e) => e !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\tattackBuff * mult,\r\n\t\t\t\thealthBuff * mult,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.ExceptionalCaretaker_BG33_701_G ? 2 : 1;\r\n\t\tconst targets = input.board.filter((e) => e !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(target, minion, attackBuff * mult, healthBuff * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.ExceptionalCaretaker_BG33_701_G ? 2 : 1;\r\n\t\tconst targets = input.boardWithDeadEntity.filter((e) => e !== minion);\r\n\t\tfor (const target of targets) {\r\n\t\t\tmodifyStats(\r\n\t\t\t\ttarget,\r\n\t\t\t\tminion,\r\n\t\t\t\tattackBuff * mult,\r\n\t\t\t\thealthBuff * mult,\r\n\t\t\t\tinput.boardWithDeadEntity,\r\n\t\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn [];\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const GearedGuard:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const GearedGuard: RallyCard;
|
|
@@ -5,10 +5,7 @@ const divine_shield_1 = require("../../../keywords/divine-shield");
|
|
|
5
5
|
const utils_1 = require("../../../services/utils");
|
|
6
6
|
exports.GearedGuard = {
|
|
7
7
|
cardIds: ["BG33_325", "BG33_325_G"],
|
|
8
|
-
|
|
9
|
-
if (minion !== input.attacker) {
|
|
10
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
11
|
-
}
|
|
8
|
+
rally: (minion, input) => {
|
|
12
9
|
const mult = minion.cardId === "BG33_325_G" ? 2 : 1;
|
|
13
10
|
for (let i = 0; i < mult; i++) {
|
|
14
11
|
const possibleTargets = input.attackingBoard.filter((e) => e !== minion && !e.divineShield);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geared-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/geared-guard.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,mDAAqD;AAIxC,QAAA,WAAW,
|
|
1
|
+
{"version":3,"file":"geared-guard.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/geared-guard.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,mDAAqD;AAIxC,QAAA,WAAW,GAAc;IACrC,OAAO,EAAE,0BAA8D;IACvE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC5F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC;gBAC3C,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,EACnB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;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 { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const GearedGuard: RallyCard = {\r\n\tcardIds: [CardIds.GearedGuard_BG33_325, CardIds.GearedGuard_BG33_325_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GearedGuard_BG33_325_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst possibleTargets = input.attackingBoard.filter((e) => e !== minion && !e.divineShield);\r\n\t\t\tif (possibleTargets.length > 0) {\r\n\t\t\t\tconst target = pickRandom(possibleTargets);\r\n\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\ttrue,\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\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const GreedySnaketongue:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const GreedySnaketongue: RallyCard;
|
|
@@ -4,10 +4,7 @@ exports.GreedySnaketongue = void 0;
|
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.GreedySnaketongue = {
|
|
6
6
|
cardIds: ["BG33_315", "BG33_315_G"],
|
|
7
|
-
|
|
8
|
-
if (minion !== input.attacker) {
|
|
9
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
-
}
|
|
7
|
+
rally: (minion, input) => {
|
|
11
8
|
const mult = minion.cardId === "BG33_315_G" ? 2 : 1;
|
|
12
9
|
const cardsToAdd = Array(mult).fill("BG28_810");
|
|
13
10
|
(0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greedy-snaketongue.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/greedy-snaketongue.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,iBAAiB,
|
|
1
|
+
{"version":3,"file":"greedy-snaketongue.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/greedy-snaketongue.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,iBAAiB,GAAc;IAC3C,OAAO,EAAE,0BAA0E;IACnF,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAA6B,CAAC;QACjE,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvF,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 { RallyCard } from '../../card.interface';\r\n\r\nexport const GreedySnaketongue: RallyCard = {\r\n\tcardIds: [CardIds.GreedySnaketongue_BG33_315, CardIds.GreedySnaketongue_BG33_315_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.GreedySnaketongue_BG33_315_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(mult).fill(CardIds.TavernCoin_BG28_810);\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Greenskeeper:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const Greenskeeper: RallyCard;
|
|
@@ -5,10 +5,7 @@ const battlecries_1 = require("../../../simulation/battlecries");
|
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
exports.Greenskeeper = {
|
|
7
7
|
cardIds: ["BG30_008", "BG30_008_G"],
|
|
8
|
-
|
|
9
|
-
if (minion !== input.attacker) {
|
|
10
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
11
|
-
}
|
|
8
|
+
rally: (minion, input) => {
|
|
12
9
|
const loops = minion.cardId === "BG30_008" ? 1 : 2;
|
|
13
10
|
for (let i = 0; i < loops; i++) {
|
|
14
11
|
const battlecries = input.attackingBoard.filter((e) => !(0, utils_1.isDead)(e) && (0, battlecries_1.hasMinionBattlecry)(e, input.gameState));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greenskeeper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/greenskeeper.ts"],"names":[],"mappings":";;;AAEA,iEAAuF;AAEvF,0CAAwC;AAG3B,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"greenskeeper.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/greenskeeper.ts"],"names":[],"mappings":";;;AAEA,iEAAuF;AAEvF,0CAAwC;AAG3B,QAAA,YAAY,GAAc;IACtC,OAAO,EAAE,0BAAgE;IACzE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,IAAI,IAAA,gCAAkB,EAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAC3D,CAAC;YACF,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,SAAS,EAAE;gBAChB,IAAA,8BAAgB,EACf,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,SAAS,EACT,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QAED,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 { hasMinionBattlecry, triggerBattlecry } from '../../../simulation/battlecries';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { isDead } from '../../../utils';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Greenskeeper: RallyCard = {\r\n\tcardIds: [CardIds.Greenskeeper_BG30_008, CardIds.Greenskeeper_BG30_008_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.Greenskeeper_BG30_008 ? 1 : 2;\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tconst battlecries = input.attackingBoard.filter(\r\n\t\t\t\t(e) => !isDead(e) && hasMinionBattlecry(e, input.gameState),\r\n\t\t\t);\r\n\t\t\tconst candidate = battlecries[battlecries.length - 1];\r\n\t\t\tif (!!candidate) {\r\n\t\t\t\ttriggerBattlecry(\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tcandidate,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\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\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const HoloRover:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const HoloRover: RallyCard;
|
|
@@ -4,10 +4,7 @@ exports.HoloRover = void 0;
|
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.HoloRover = {
|
|
6
6
|
cardIds: ["BG31_175", "BG31_175_G"],
|
|
7
|
-
|
|
8
|
-
if (minion !== input.attacker) {
|
|
9
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
-
}
|
|
7
|
+
rally: (minion, input) => {
|
|
11
8
|
const numberOfCard = minion.cardId === "BG31_175_G" ? 2 : 1;
|
|
12
9
|
for (let i = 0; i < numberOfCard; i++) {
|
|
13
10
|
const magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,SAAS,
|
|
1
|
+
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,SAAS,GAAc;IACnC,OAAO,EAAE,0BAA0D;IACnE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QAC9G,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 { RallyCard } from '../../card.interface';\r\n\r\nexport const HoloRover: RallyCard = {\r\n\tcardIds: [CardIds.HoloRover_BG31_175, CardIds.HoloRover_BG31_175_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\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"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Hydralisk:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const Hydralisk: RallyCard;
|
|
@@ -4,10 +4,7 @@ exports.Hydralisk = void 0;
|
|
|
4
4
|
const stats_1 = require("../../../simulation/stats");
|
|
5
5
|
exports.Hydralisk = {
|
|
6
6
|
cardIds: ["BG31_HERO_811t4", "BG31_HERO_811t4_G"],
|
|
7
|
-
|
|
8
|
-
if (minion !== input.attacker) {
|
|
9
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
-
}
|
|
7
|
+
rally: (minion, input) => {
|
|
11
8
|
const mult = minion.cardId === "BG31_HERO_811t4_G" ? 2 : 1;
|
|
12
9
|
const buff = input.attackingHero.tavernTier;
|
|
13
10
|
(0, stats_1.modifyStats)(minion, minion, buff * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydralisk.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hydralisk.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,
|
|
1
|
+
{"version":3,"file":"hydralisk.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hydralisk.ts"],"names":[],"mappings":";;;AAGA,qDAAwD;AAG3C,QAAA,SAAS,GAAc;IACnC,OAAO,EAAE,wCAAmG;IAC5G,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,wBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;QAC5C,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxG,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 { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Hydralisk: RallyCard = {\r\n\tcardIds: [CardIds.KerriganQueenOfBlades_HydraliskToken_BG31_HERO_811t4, CardIds.Hydralisk_BG31_HERO_811t4_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Hydralisk_BG31_HERO_811t4_G ? 2 : 1;\r\n\t\tconst buff = input.attackingHero.tavernTier;\r\n\t\tmodifyStats(minion, minion, buff * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const MonstrousMacaw:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const MonstrousMacaw: RallyCard;
|
|
@@ -6,11 +6,8 @@ const deathrattle_orchestration_1 = require("../../../simulation/deathrattle-orc
|
|
|
6
6
|
const deathrattle_utils_1 = require("../../../simulation/deathrattle-utils");
|
|
7
7
|
exports.MonstrousMacaw = {
|
|
8
8
|
cardIds: ["BGS_078", "TB_BaconUps_135"],
|
|
9
|
-
|
|
9
|
+
rally: (minion, input) => {
|
|
10
10
|
var _a;
|
|
11
|
-
if (input.attacker !== minion) {
|
|
12
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
13
|
-
}
|
|
14
11
|
const loops = minion.cardId === "TB_BaconUps_135" ? 2 : 1;
|
|
15
12
|
const targetBoard = input.attackingBoard.filter((e) => e.entityId !== minion.entityId);
|
|
16
13
|
const validDeathrattles = (0, deathrattle_utils_1.getValidDeathrattles)(targetBoard, input.attackingHero, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monstrous-macaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/monstrous-macaw.ts"],"names":[],"mappings":";;;AAEA,iEAAuF;AACvF,6FAA4F;AAC5F,6EAA6E;AAIhE,QAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"monstrous-macaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/monstrous-macaw.ts"],"names":[],"mappings":";;;AAEA,iEAAuF;AACvF,6FAA4F;AAC5F,6EAA6E;AAIhE,QAAA,cAAc,GAAc;IACxC,OAAO,EAAE,8BAAwE;IACjF,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,sBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvF,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,WAAW,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClG,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,CAAC,mBAAmB,EAAE;gBAC1B,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,mBAAmB,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;gBACF,MAAM,cAAc,GACnB,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvF,IAAA,uDAA2B,EAC1B,mBAAmB,EACnB,cAAc,EACd,CAAC,mBAAmB,CAAC,EACrB,mBAAmB,CAAC,QAAQ;oBAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;oBAClC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EACrC,mBAAmB,CAAC,QAAQ;oBAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ;oBACpC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EACnC,KAAK,CAAC,SAAS,EACf,KAAK,CACL,CAAC;aACF;YAED,IAAI,MAAA,KAAK,CAAC,aAAa,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAA6C,CAAC,EAAE;gBACrG,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAkB,EAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3F,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,CAAC,iBAAiB,EAAE;oBACxB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,iBAAiB,EACjB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;oBACF,IAAA,8BAAgB,EACf,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,iBAAiB,EACjB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;iBACF;aACD;SACD;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 { hasMinionBattlecry, triggerBattlecry } from '../../../simulation/battlecries';\r\nimport { processDeathrattleForMinion } from '../../../simulation/deathrattle-orchestration';\r\nimport { getValidDeathrattles } from '../../../simulation/deathrattle-utils';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const MonstrousMacaw: RallyCard = {\r\n\tcardIds: [CardIds.MonstrousMacaw_BGS_078, CardIds.MonstrousMacaw_TB_BaconUps_135],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst loops = minion.cardId === CardIds.MonstrousMacaw_TB_BaconUps_135 ? 2 : 1;\r\n\t\tconst targetBoard = input.attackingBoard.filter((e) => e.entityId !== minion.entityId);\r\n\r\n\t\tconst validDeathrattles = getValidDeathrattles(targetBoard, input.attackingHero, input.gameState);\r\n\t\tconst leftMostDeathrattle = validDeathrattles[0];\r\n\t\tfor (let i = 0; i < loops; i++) {\r\n\t\t\tif (!!leftMostDeathrattle) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tleftMostDeathrattle,\r\n\t\t\t\t\tinput.attackingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t);\r\n\t\t\t\tconst indexFromRight =\r\n\t\t\t\t\tinput.attackingBoard.length - (input.attackingBoard.indexOf(leftMostDeathrattle) + 1);\r\n\t\t\t\tprocessDeathrattleForMinion(\r\n\t\t\t\t\tleftMostDeathrattle,\r\n\t\t\t\t\tindexFromRight,\r\n\t\t\t\t\t[leftMostDeathrattle],\r\n\t\t\t\t\tleftMostDeathrattle.friendly\r\n\t\t\t\t\t\t? input.gameState.gameState.player\r\n\t\t\t\t\t\t: input.gameState.gameState.opponent,\r\n\t\t\t\t\tleftMostDeathrattle.friendly\r\n\t\t\t\t\t\t? input.gameState.gameState.opponent\r\n\t\t\t\t\t\t: input.gameState.gameState.player,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\tfalse,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (input.attackingHero.trinkets?.some((t) => t.cardId === CardIds.MacawPortrait_BG32_MagicItem_803)) {\r\n\t\t\t\tconst validBattlecries = targetBoard.filter((e) => hasMinionBattlecry(e, input.gameState));\r\n\t\t\t\tconst leftMostBattlecry = validBattlecries[0];\r\n\t\t\t\tif (!!leftMostBattlecry) {\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tleftMostBattlecry,\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.defendingHero,\r\n\t\t\t\t\t);\r\n\t\t\t\t\ttriggerBattlecry(\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\tleftMostBattlecry,\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.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const NeonAgent:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const NeonAgent: RallyCard;
|
|
@@ -5,10 +5,7 @@ const utils_1 = require("../../../services/utils");
|
|
|
5
5
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
6
|
exports.NeonAgent = {
|
|
7
7
|
cardIds: ["BG31_146", "BG31_146_G"],
|
|
8
|
-
|
|
9
|
-
if (minion !== input.attacker) {
|
|
10
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
11
|
-
}
|
|
8
|
+
rally: (minion, input) => {
|
|
12
9
|
const cards = [];
|
|
13
10
|
const numberOfCards = minion.cardId === "BG31_146_G" ? 2 : 1;
|
|
14
11
|
for (let i = 0; i < numberOfCards; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon-agent.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/neon-agent.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,qEAAmE;AAItD,QAAA,SAAS,
|
|
1
|
+
{"version":3,"file":"neon-agent.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/neon-agent.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,qEAAmE;AAItD,QAAA,SAAS,GAAc;IACnC,OAAO,EAAE,0BAA0D;IACnE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QAC9G,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACnE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,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 { pickRandom } from '../../../services/utils';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const NeonAgent: RallyCard = {\r\n\tcardIds: [CardIds.NeonAgent_BG31_146, CardIds.NeonAgent_BG31_146_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.NeonAgent_BG31_146_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.battlecryMinions));\r\n\t\t}\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cards, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Niuzao:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const Niuzao: RallyCard;
|
|
@@ -5,10 +5,7 @@ const utils_1 = require("../../../services/utils");
|
|
|
5
5
|
const attack_1 = require("../../../simulation/attack");
|
|
6
6
|
exports.Niuzao = {
|
|
7
7
|
cardIds: ["BG27_822", "BG27_822_G"],
|
|
8
|
-
|
|
9
|
-
if (minion !== input.attacker) {
|
|
10
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
11
|
-
}
|
|
8
|
+
rally: (minion, input) => {
|
|
12
9
|
const multiplier = minion.cardId === "BG27_822_G" ? 2 : 1;
|
|
13
10
|
let dmgDoneByAttacker = 0;
|
|
14
11
|
for (let i = 0; i < multiplier; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"niuzao.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/niuzao.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"niuzao.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/niuzao.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,GAAc;IAChC,OAAO,EAAE,0BAAoD;IAC7D,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QAC9G,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5G,IAAI,MAAM,EAAE;gBACX,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,aAAa,CACnB,CAAC;gBACF,iBAAiB,IAAI,IAAA,2BAAkB,EACtC,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,MAAM,EACN,MAAM,CAAC,MAAM,EACb,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const Niuzao: RallyCard = {\r\n\tcardIds: [CardIds.Niuzao_BG27_822, CardIds.Niuzao_BG27_822_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst multiplier = minion.cardId === CardIds.Niuzao_BG27_822_G ? 2 : 1;\r\n\t\tlet dmgDoneByAttacker = 0;\r\n\t\tfor (let i = 0; i < multiplier; i++) {\r\n\t\t\tconst target = pickRandom(input.defendingBoard.filter((e) => e.entityId != input.defendingEntity.entityId));\r\n\t\t\tif (target) {\r\n\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.attackingHero,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t);\r\n\t\t\t\tdmgDoneByAttacker += dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.defendingBoard,\r\n\t\t\t\t\tinput.defendingHero,\r\n\t\t\t\t\tminion,\r\n\t\t\t\t\tminion.attack,\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}\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const PrimevalMonstrosity:
|
|
1
|
+
import { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';
|
|
2
|
+
export declare const PrimevalMonstrosity: OnWheneverAnotherMinionAttacksCard;
|
|
@@ -5,7 +5,7 @@ const reference_data_1 = require("@firestone-hs/reference-data");
|
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
exports.PrimevalMonstrosity = {
|
|
7
7
|
cardIds: ["BG33_320", "BG33_320_G"],
|
|
8
|
-
|
|
8
|
+
onWheneverAnotherMinionAttacks: (minion, input) => {
|
|
9
9
|
if ((0, utils_1.hasEntityMechanic)(input.attacker, reference_data_1.GameTag.BACON_RALLY, input.gameState.allCards)) {
|
|
10
10
|
const mult = minion.cardId === "BG33_320_G" ? 2 : 1;
|
|
11
11
|
(0, utils_1.grantStatsToMinionsOfEachType)(minion, input.attackingBoard, input.attackingHero, 3 * mult, 3 * mult, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primeval-monstrosity.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/primeval-monstrosity.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAGhE,0CAAkF;AAGrE,QAAA,mBAAmB,
|
|
1
|
+
{"version":3,"file":"primeval-monstrosity.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/primeval-monstrosity.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAGhE,0CAAkF;AAGrE,QAAA,mBAAmB,GAAuC;IACtE,OAAO,EAAE,0BAA8E;IACvF,8BAA8B,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAC7E,IAAI,IAAA,yBAAiB,EAAC,KAAK,CAAC,QAAQ,EAAE,wBAAO,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAA,qCAA6B,EAC5B,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,CAAC,GAAG,IAAI,EACR,CAAC,GAAG,IAAI,EACR,KAAK,CAAC,SAAS,CACf,CAAC;SACF;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { grantStatsToMinionsOfEachType, hasEntityMechanic } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nexport const PrimevalMonstrosity: OnWheneverAnotherMinionAttacksCard = {\r\n\tcardIds: [CardIds.PrimevalMonstrosity_BG33_320, CardIds.PrimevalMonstrosity_BG33_320_G],\r\n\tonWheneverAnotherMinionAttacks: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (hasEntityMechanic(input.attacker, GameTag.BACON_RALLY, input.gameState.allCards)) {\r\n\t\t\tconst mult = minion.cardId === CardIds.PrimevalMonstrosity_BG33_320_G ? 2 : 1;\r\n\t\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\t\tminion,\r\n\t\t\t\tinput.attackingBoard,\r\n\t\t\t\tinput.attackingHero,\r\n\t\t\t\t3 * mult,\r\n\t\t\t\t3 * mult,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const ProdigiousTusker:
|
|
1
|
+
import { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';
|
|
2
|
+
export declare const ProdigiousTusker: OnWheneverAnotherMinionAttacksCard;
|
|
@@ -6,7 +6,7 @@ const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
exports.ProdigiousTusker = {
|
|
8
8
|
cardIds: ["BG33_430", "BG33_430_G"],
|
|
9
|
-
|
|
9
|
+
onWheneverAnotherMinionAttacks: (minion, input) => {
|
|
10
10
|
if ((0, utils_1.hasEntityMechanic)(input.attacker, reference_data_1.GameTag.BACON_RALLY, input.gameState.allCards)) {
|
|
11
11
|
const mult = minion.cardId === "BG33_430_G" ? 2 : 1;
|
|
12
12
|
(0, blood_gems_1.playBloodGemsOn)(minion, minion, 2 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prodigious-tusker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prodigious-tusker.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,+DAAiE;AAEjE,0CAAmD;AAGtC,QAAA,gBAAgB,
|
|
1
|
+
{"version":3,"file":"prodigious-tusker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/prodigious-tusker.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAEhE,+DAAiE;AAEjE,0CAAmD;AAGtC,QAAA,gBAAgB,GAAuC;IACnE,OAAO,EAAE,0BAAwE;IACjF,8BAA8B,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAC7E,IAAI,IAAA,yBAAiB,EAAC,KAAK,CAAC,QAAQ,EAAE,wBAAO,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAA,4BAAe,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACtG;QACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, GameTag } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { hasEntityMechanic } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard } from '../../card.interface';\r\n\r\nexport const ProdigiousTusker: OnWheneverAnotherMinionAttacksCard = {\r\n\tcardIds: [CardIds.ProdigiousTusker_BG33_430, CardIds.ProdigiousTusker_BG33_430_G],\r\n\tonWheneverAnotherMinionAttacks: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tif (hasEntityMechanic(input.attacker, GameTag.BACON_RALLY, input.gameState.allCards)) {\r\n\t\t\tconst mult = minion.cardId === CardIds.ProdigiousTusker_BG33_430_G ? 2 : 1;\r\n\t\t\tplayBloodGemsOn(minion, minion, 2 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\t}\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RaptorElder = void 0;
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
|
-
const attackBuff =
|
|
7
|
-
const healthBuff =
|
|
6
|
+
const attackBuff = 2;
|
|
7
|
+
const healthBuff = 2;
|
|
8
8
|
exports.RaptorElder = {
|
|
9
9
|
cardIds: ["BG33_842", "BG33_842_G"],
|
|
10
10
|
onSpawned: (minion, input) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raptor-elder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/raptor-elder.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnDespawnedCard, OnOtherSpawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nconst attackBuff =
|
|
1
|
+
{"version":3,"file":"raptor-elder.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/raptor-elder.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnDespawnedCard, OnOtherSpawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nconst attackBuff = 2;\r\nconst healthBuff = 2;\r\n\r\nexport const RaptorElder: OnSpawnedCard & OnOtherSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.RaptorElder_BG33_842, CardIds.RaptorElder_BG33_842_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.RaptorElder_BG33_842_G ? 2 : 1;\r\n\t\tconst baseBuff = input.hero.globalInfo.BeastsSummonedThisCombat * mult;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e !== minion)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.attack += attackBuff * baseBuff;\r\n\t\t\ttarget.health += healthBuff * baseBuff;\r\n\t\t}\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.RaptorElder_BG33_842_G ? 2 : 1;\r\n\t\tconst baseBuff = input.hero.globalInfo.BeastsSummonedThisCombat * mult;\r\n\t\tconst targets = input.board\r\n\t\t\t.filter((e) => e !== minion)\r\n\t\t\t.filter((e) =>\r\n\t\t\t\thasCorrectTribe(e, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t\t);\r\n\t\tfor (const target of targets) {\r\n\t\t\ttarget.attack = Math.max(0, target.attack - attackBuff * baseBuff);\r\n\t\t\ttarget.health = Math.max(1, target.health - healthBuff * baseBuff);\r\n\t\t}\r\n\t},\r\n\tonOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.RaptorElder_BG33_842_G ? 2 : 1;\r\n\t\tconst baseBuff = input.hero.globalInfo.BeastsSummonedThisCombat * mult;\r\n\t\t// First put the minion itself in the aura\r\n\t\tif (\r\n\t\t\tinput.applySelfAuras &&\r\n\t\t\thasCorrectTribe(input.spawned, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards)\r\n\t\t) {\r\n\t\t\tinput.spawned.attack += attackBuff * baseBuff;\r\n\t\t\tinput.spawned.health += healthBuff * baseBuff;\r\n\t\t}\r\n\r\n\t\t// Then update the aura\r\n\t\tconst allTargets = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (const target of allTargets) {\r\n\t\t\t// Only the new spawn should increase the data, as we've already applied the aura before\r\n\t\t\ttarget.attack += attackBuff * mult;\r\n\t\t\ttarget.health += healthBuff * mult;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const RazorfenVineweaver:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const RazorfenVineweaver: RallyCard;
|
|
@@ -4,10 +4,7 @@ exports.RazorfenVineweaver = void 0;
|
|
|
4
4
|
const blood_gems_1 = require("../../../simulation/blood-gems");
|
|
5
5
|
exports.RazorfenVineweaver = {
|
|
6
6
|
cardIds: ["BG33_883", "BG33_883_G"],
|
|
7
|
-
|
|
8
|
-
if (input.attacker !== minion) {
|
|
9
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
-
}
|
|
7
|
+
rally: (minion, input) => {
|
|
11
8
|
const mult = minion.cardId === "BG33_883_G" ? 2 : 1;
|
|
12
9
|
(0, blood_gems_1.playBloodGemsOn)(minion, minion, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);
|
|
13
10
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"razorfen-vineweaver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/razorfen-vineweaver.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAIpD,QAAA,kBAAkB,
|
|
1
|
+
{"version":3,"file":"razorfen-vineweaver.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/razorfen-vineweaver.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AAIpD,QAAA,kBAAkB,GAAc;IAC5C,OAAO,EAAE,0BAA4E;IACrF,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAA,4BAAe,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,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 { playBloodGemsOn } from '../../../simulation/blood-gems';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { RallyCard } from '../../card.interface';\r\n\r\nexport const RazorfenVineweaver: RallyCard = {\r\n\tcardIds: [CardIds.RazorfenVineweaver_BG33_883, CardIds.RazorfenVineweaver_BG33_883_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.RazorfenVineweaver_BG33_883_G ? 2 : 1;\r\n\t\tplayBloodGemsOn(minion, minion, 3 * mult, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const RipsnarlCaptain:
|
|
1
|
+
import { OnWheneverAnotherMinionAttacksCard, RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const RipsnarlCaptain: OnWheneverAnotherMinionAttacksCard & RallyCard;
|
|
@@ -6,12 +6,18 @@ const stats_1 = require("../../../simulation/stats");
|
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
7
|
exports.RipsnarlCaptain = {
|
|
8
8
|
cardIds: ["BGS_056", "TB_BaconUps_139"],
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const mult = minion.cardId === "TB_BaconUps_139" ? 2 : 1;
|
|
12
|
-
(0, stats_1.modifyStats)(input.attacker, minion, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);
|
|
13
|
-
}
|
|
14
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
9
|
+
onWheneverAnotherMinionAttacks: (minion, input) => {
|
|
10
|
+
return process(minion, input);
|
|
15
11
|
},
|
|
12
|
+
rally: (minion, input) => {
|
|
13
|
+
return process(minion, input);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const process = (minion, input) => {
|
|
17
|
+
if ((0, utils_1.hasCorrectTribe)(input.attacker, input.attackingHero, reference_data_1.Race.PIRATE, input.gameState.anomalies, input.gameState.allCards)) {
|
|
18
|
+
const mult = minion.cardId === "TB_BaconUps_139" ? 2 : 1;
|
|
19
|
+
(0, stats_1.modifyStats)(input.attacker, minion, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);
|
|
20
|
+
}
|
|
21
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
16
22
|
};
|
|
17
23
|
//# sourceMappingURL=ripsnarl-captain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripsnarl-captain.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ripsnarl-captain.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"ripsnarl-captain.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/ripsnarl-captain.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,eAAe,GAAmD;IAC9E,OAAO,EAAE,8BAA0E;IACnF,8BAA8B,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;CACD,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;IAC7D,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,qBAAI,CAAC,MAAM,EACX,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,sBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;KAC7G;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { OnWheneverAnotherMinionAttacksCard, RallyCard } from '../../card.interface';\r\n\r\nexport const RipsnarlCaptain: OnWheneverAnotherMinionAttacksCard & RallyCard = {\r\n\tcardIds: [CardIds.RipsnarlCaptain_BGS_056, CardIds.RipsnarlCaptain_TB_BaconUps_139],\r\n\tonWheneverAnotherMinionAttacks: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\treturn process(minion, input);\r\n\t},\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\treturn process(minion, input);\r\n\t},\r\n};\r\n\r\nconst process = (minion: BoardEntity, input: OnAttackInput) => {\r\n\tif (\r\n\t\thasCorrectTribe(\r\n\t\t\tinput.attacker,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tRace.PIRATE,\r\n\t\t\tinput.gameState.anomalies,\r\n\t\t\tinput.gameState.allCards,\r\n\t\t)\r\n\t) {\r\n\t\tconst mult = minion.cardId === CardIds.RipsnarlCaptain_TB_BaconUps_139 ? 2 : 1;\r\n\t\tmodifyStats(input.attacker, minion, 3 * mult, 0, input.attackingBoard, input.attackingHero, input.gameState);\r\n\t}\r\n\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Roadboar:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const Roadboar: RallyCard;
|
|
@@ -4,10 +4,7 @@ exports.Roadboar = void 0;
|
|
|
4
4
|
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
5
|
exports.Roadboar = {
|
|
6
6
|
cardIds: ["BG20_101", "BG20_101_G"],
|
|
7
|
-
|
|
8
|
-
if (input.attacker !== minion) {
|
|
9
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
10
|
-
}
|
|
7
|
+
rally: (minion, input) => {
|
|
11
8
|
const mult = minion.cardId === "BG20_101_G" ? 2 : 1;
|
|
12
9
|
const cardsToAdd = Array(3 * mult).fill("BG20_GEM");
|
|
13
10
|
(0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/roadboar.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,QAAQ,
|
|
1
|
+
{"version":3,"file":"roadboar.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/roadboar.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,QAAQ,GAAc;IAClC,OAAO,EAAE,0BAAwD;IACjE,KAAK,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,YAAkB,CAAC;QAC1D,IAAA,8BAAc,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvF,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 { RallyCard } from '../../card.interface';\r\n\r\nexport const Roadboar: RallyCard = {\r\n\tcardIds: [CardIds.Roadboar_BG20_101, CardIds.Roadboar_BG20_101_G],\r\n\trally: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Roadboar_BG20_101_G ? 2 : 1;\r\n\t\tconst cardsToAdd = Array(3 * mult).fill(CardIds.BloodGem);\r\n\t\taddCardsInHand(input.attackingHero, input.attackingBoard, cardsToAdd, input.gameState);\r\n\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const SanguineRefiner:
|
|
1
|
+
import { RallyCard } from '../../card.interface';
|
|
2
|
+
export declare const SanguineRefiner: RallyCard;
|