@firestone-hs/simulate-bgs-battle 1.1.501 → 1.1.502
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/bgs-player-entity.d.ts +6 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/cards/card.interface.d.ts +110 -1
- package/dist/cards/card.interface.js +45 -0
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/cards-data.d.ts +5 -1
- package/dist/cards/cards-data.js +39 -6
- package/dist/cards/cards-data.js.map +1 -1
- package/dist/cards/impl/_card-mappings.d.ts +4 -0
- package/dist/cards/impl/_card-mappings.js +120 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -0
- package/dist/cards/impl/anomaly/blessed-or-blighted.js +3 -2
- package/dist/cards/impl/anomaly/blessed-or-blighted.js.map +1 -1
- package/dist/cards/impl/bg-spell/boon-of-beetles.js +1 -1
- package/dist/cards/impl/bg-spell/boon-of-beetles.js.map +1 -1
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.d.ts +2 -0
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js +16 -0
- package/dist/cards/impl/enchantments/crystal-infuser-enchantment.js.map +1 -0
- package/dist/cards/impl/hero-power/reborn-rites.js +2 -1
- package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
- package/dist/cards/impl/hero-power/swatting-insects.js +5 -3
- package/dist/cards/impl/hero-power/swatting-insects.js.map +1 -1
- package/dist/cards/impl/hero-power/water-invocation.js +1 -1
- package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
- package/dist/cards/impl/minion/amber-guardian.js +1 -1
- package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
- package/dist/cards/impl/minion/arcane-cannoneer.d.ts +2 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js +15 -0
- package/dist/cards/impl/minion/arcane-cannoneer.js.map +1 -0
- package/dist/cards/impl/minion/bannerboar.d.ts +2 -0
- package/dist/cards/impl/minion/bannerboar.js +16 -0
- package/dist/cards/impl/minion/bannerboar.js.map +1 -0
- package/dist/cards/impl/minion/beetle.d.ts +2 -0
- package/dist/cards/impl/minion/beetle.js +16 -0
- package/dist/cards/impl/minion/beetle.js.map +1 -0
- package/dist/cards/impl/minion/bird-buddy.d.ts +2 -0
- package/dist/cards/impl/minion/bird-buddy.js +14 -0
- package/dist/cards/impl/minion/bird-buddy.js.map +1 -0
- package/dist/cards/impl/minion/boar-gamer.d.ts +2 -0
- package/dist/cards/impl/minion/boar-gamer.js +12 -0
- package/dist/cards/impl/minion/boar-gamer.js.map +1 -0
- package/dist/cards/impl/minion/bubble-gunner.d.ts +2 -0
- package/dist/cards/impl/minion/bubble-gunner.js +44 -0
- package/dist/cards/impl/minion/bubble-gunner.js.map +1 -0
- package/dist/cards/impl/minion/buzzing-vermin.d.ts +2 -0
- package/dist/cards/impl/minion/buzzing-vermin.js +12 -0
- package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -0
- package/dist/cards/impl/minion/cadaver-caretaker.d.ts +2 -0
- package/dist/cards/impl/minion/cadaver-caretaker.js +12 -0
- package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -0
- package/dist/cards/impl/minion/deathly-striker.d.ts +2 -0
- package/dist/cards/impl/minion/deathly-striker.js +32 -0
- package/dist/cards/impl/minion/deathly-striker.js.map +1 -0
- package/dist/cards/impl/minion/efficient-engineer.d.ts +2 -0
- package/dist/cards/impl/minion/efficient-engineer.js +24 -0
- package/dist/cards/impl/minion/efficient-engineer.js.map +1 -0
- package/dist/cards/impl/minion/electric-synthesizer.d.ts +2 -0
- package/dist/cards/impl/minion/electric-synthesizer.js +24 -0
- package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -0
- package/dist/cards/impl/minion/fairy-gillmother.d.ts +2 -0
- package/dist/cards/impl/minion/fairy-gillmother.js +18 -0
- package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -0
- package/dist/cards/impl/minion/forest-rover.d.ts +2 -0
- package/dist/cards/impl/minion/forest-rover.js +23 -0
- package/dist/cards/impl/minion/forest-rover.js.map +1 -0
- package/dist/cards/impl/minion/fountain-chiller.d.ts +2 -0
- package/dist/cards/impl/minion/fountain-chiller.js +27 -0
- package/dist/cards/impl/minion/fountain-chiller.js.map +1 -0
- package/dist/cards/impl/minion/gem-rat.d.ts +2 -0
- package/dist/cards/impl/minion/gem-rat.js +12 -0
- package/dist/cards/impl/minion/gem-rat.js.map +1 -0
- package/dist/cards/impl/minion/gentle-djinni.d.ts +2 -0
- package/dist/cards/impl/minion/gentle-djinni.js +25 -0
- package/dist/cards/impl/minion/gentle-djinni.js.map +1 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.d.ts +2 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js +15 -0
- package/dist/cards/impl/minion/goldrinn-the-great-wolf.js.map +1 -0
- package/dist/cards/impl/minion/gritty-headhunter.d.ts +2 -0
- package/dist/cards/impl/minion/gritty-headhunter.js +14 -0
- package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -0
- package/dist/cards/impl/minion/hackerfin.d.ts +2 -0
- package/dist/cards/impl/minion/hackerfin.js +21 -0
- package/dist/cards/impl/minion/hackerfin.js.map +1 -0
- package/dist/cards/impl/minion/handless-forsaken.d.ts +2 -0
- package/dist/cards/impl/minion/handless-forsaken.js +12 -0
- package/dist/cards/impl/minion/handless-forsaken.js.map +1 -0
- package/dist/cards/impl/minion/harmless-bonehead.d.ts +2 -0
- package/dist/cards/impl/minion/harmless-bonehead.js +12 -0
- package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -0
- package/dist/cards/impl/minion/holo-rover.d.ts +2 -0
- package/dist/cards/impl/minion/holo-rover.js +16 -0
- package/dist/cards/impl/minion/holo-rover.js.map +1 -0
- package/dist/cards/impl/minion/humming-bird.d.ts +2 -5
- package/dist/cards/impl/minion/humming-bird.js +1 -0
- package/dist/cards/impl/minion/humming-bird.js.map +1 -1
- package/dist/cards/impl/minion/hungry-snapjaw.d.ts +2 -0
- package/dist/cards/impl/minion/hungry-snapjaw.js +17 -0
- package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -0
- package/dist/cards/impl/minion/implant-subject.d.ts +2 -0
- package/dist/cards/impl/minion/implant-subject.js +42 -0
- package/dist/cards/impl/minion/implant-subject.js.map +1 -0
- package/dist/cards/impl/minion/indomitable-mount.d.ts +2 -0
- package/dist/cards/impl/minion/indomitable-mount.js +23 -0
- package/dist/cards/impl/minion/indomitable-mount.js.map +1 -0
- package/dist/cards/impl/minion/interrogator-whitemane.js +5 -4
- package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
- package/dist/cards/impl/minion/karmic-chameleon.d.ts +2 -0
- package/dist/cards/impl/minion/karmic-chameleon.js +27 -0
- package/dist/cards/impl/minion/karmic-chameleon.js.map +1 -0
- package/dist/cards/impl/minion/manasaber.d.ts +2 -0
- package/dist/cards/impl/minion/manasaber.js +14 -0
- package/dist/cards/impl/minion/manasaber.js.map +1 -0
- package/dist/cards/impl/minion/mantid-queen.js +6 -3
- package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
- package/dist/cards/impl/minion/marquee-ticker.d.ts +2 -0
- package/dist/cards/impl/minion/marquee-ticker.js +12 -0
- package/dist/cards/impl/minion/marquee-ticker.js.map +1 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.d.ts +2 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.js +13 -0
- package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -0
- package/dist/cards/impl/minion/mechorse.d.ts +2 -0
- package/dist/cards/impl/minion/mechorse.js +16 -0
- package/dist/cards/impl/minion/mechorse.js.map +1 -0
- package/dist/cards/impl/minion/moonsteel-juggernaut.d.ts +2 -0
- package/dist/cards/impl/minion/moonsteel-juggernaut.js +15 -0
- package/dist/cards/impl/minion/moonsteel-juggernaut.js.map +1 -0
- package/dist/cards/impl/minion/mutated-lasher.d.ts +2 -0
- package/dist/cards/impl/minion/mutated-lasher.js +26 -0
- package/dist/cards/impl/minion/mutated-lasher.js.map +1 -0
- package/dist/cards/impl/minion/neon-agent.d.ts +2 -0
- package/dist/cards/impl/minion/neon-agent.js +18 -0
- package/dist/cards/impl/minion/neon-agent.js.map +1 -0
- package/dist/cards/impl/minion/nest-swarmer.d.ts +2 -0
- package/dist/cards/impl/minion/nest-swarmer.js +12 -0
- package/dist/cards/impl/minion/nest-swarmer.js.map +1 -0
- package/dist/cards/impl/minion/nether-drake.d.ts +2 -0
- package/dist/cards/impl/minion/nether-drake.js +15 -0
- package/dist/cards/impl/minion/nether-drake.js.map +1 -0
- package/dist/cards/impl/minion/niuzao.d.ts +2 -0
- package/dist/cards/impl/minion/niuzao.js +21 -0
- package/dist/cards/impl/minion/niuzao.js.map +1 -0
- package/dist/cards/impl/minion/outback-smolderer.d.ts +2 -0
- package/dist/cards/impl/minion/outback-smolderer.js +17 -0
- package/dist/cards/impl/minion/outback-smolderer.js.map +1 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.d.ts +2 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.js +20 -0
- package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.d.ts +2 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.js +19 -0
- package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -0
- package/dist/cards/impl/minion/runed-progenitor.d.ts +2 -0
- package/dist/cards/impl/minion/runed-progenitor.js +24 -0
- package/dist/cards/impl/minion/runed-progenitor.js.map +1 -0
- package/dist/cards/impl/minion/rylak-metalhead.d.ts +2 -0
- package/dist/cards/impl/minion/rylak-metalhead.js +22 -0
- package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -0
- package/dist/cards/impl/minion/salty-hog.d.ts +2 -0
- package/dist/cards/impl/minion/salty-hog.js +17 -0
- package/dist/cards/impl/minion/salty-hog.js.map +1 -0
- package/dist/cards/impl/minion/showy-cyclist.d.ts +2 -0
- package/dist/cards/impl/minion/showy-cyclist.js +14 -0
- package/dist/cards/impl/minion/showy-cyclist.js.map +1 -0
- package/dist/cards/impl/minion/silver-handed-recruit.d.ts +2 -0
- package/dist/cards/impl/minion/silver-handed-recruit.js +17 -0
- package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -0
- package/dist/cards/impl/minion/sly-raptor.d.ts +2 -0
- package/dist/cards/impl/minion/sly-raptor.js +18 -0
- package/dist/cards/impl/minion/sly-raptor.js.map +1 -0
- package/dist/cards/impl/minion/soulsplitter.js +2 -1
- package/dist/cards/impl/minion/soulsplitter.js.map +1 -1
- package/dist/cards/impl/minion/spacefarer.d.ts +2 -0
- package/dist/cards/impl/minion/spacefarer.js +20 -0
- package/dist/cards/impl/minion/spacefarer.js.map +1 -0
- package/dist/cards/impl/minion/sun-screener.js +1 -1
- package/dist/cards/impl/minion/sun-screener.js.map +1 -1
- package/dist/cards/impl/minion/thousandth-paper-drake.js +2 -1
- package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
- package/dist/cards/impl/minion/turquoise-skitterer.d.ts +2 -0
- package/dist/cards/impl/minion/turquoise-skitterer.js +25 -0
- package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -0
- package/dist/cards/impl/minion/twilight-primordium.d.ts +2 -0
- package/dist/cards/impl/minion/twilight-primordium.js +24 -0
- package/dist/cards/impl/minion/twilight-primordium.js.map +1 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.d.ts +2 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.js +14 -0
- package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -0
- package/dist/cards/impl/minion/wandering-wight.d.ts +2 -0
- package/dist/cards/impl/minion/wandering-wight.js +12 -0
- package/dist/cards/impl/minion/wandering-wight.js.map +1 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.d.ts +2 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.js +19 -0
- package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -0
- package/dist/cards/impl/trinket/eternal-portrait.js +4 -2
- package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
- package/dist/cards/impl/trinket/holly-mallet.js +1 -1
- package/dist/cards/impl/trinket/holly-mallet.js.map +1 -1
- package/dist/{divine-shield.d.ts → keywords/divine-shield.d.ts} +9 -3
- package/dist/{divine-shield.js → keywords/divine-shield.js} +17 -4
- package/dist/keywords/divine-shield.js.map +1 -0
- package/dist/keywords/reborn.d.ts +10 -0
- package/dist/keywords/reborn.js +22 -0
- package/dist/keywords/reborn.js.map +1 -0
- package/dist/keywords/stealth.d.ts +10 -0
- package/dist/keywords/stealth.js +22 -0
- package/dist/keywords/stealth.js.map +1 -0
- package/dist/keywords/taunt.d.ts +10 -0
- package/dist/keywords/taunt.js +22 -0
- package/dist/keywords/taunt.js.map +1 -0
- package/dist/keywords/venomous.d.ts +10 -0
- package/dist/keywords/venomous.js +33 -0
- package/dist/keywords/venomous.js.map +1 -0
- package/dist/keywords/windfury.d.ts +10 -0
- package/dist/keywords/windfury.js +22 -0
- package/dist/keywords/windfury.js.map +1 -0
- package/dist/simulate-bgs-battle.d.ts +2 -2
- package/dist/simulate-bgs-battle.js +19 -2
- package/dist/simulate-bgs-battle.js.map +1 -1
- package/dist/simulation/add-minion-to-board.d.ts +16 -0
- package/dist/simulation/add-minion-to-board.js +40 -11
- package/dist/simulation/add-minion-to-board.js.map +1 -1
- package/dist/simulation/after-attack.js +2 -1
- package/dist/simulation/after-attack.js.map +1 -1
- package/dist/simulation/attack.js +7 -24
- package/dist/simulation/attack.js.map +1 -1
- package/dist/simulation/auras.d.ts +1 -1
- package/dist/simulation/auras.js +21 -15
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/avenge.d.ts +7 -0
- package/dist/simulation/avenge.js +223 -229
- package/dist/simulation/avenge.js.map +1 -1
- package/dist/simulation/battlecries.d.ts +8 -0
- package/dist/simulation/battlecries.js +634 -609
- package/dist/simulation/battlecries.js.map +1 -1
- package/dist/simulation/blood-gems.js +1 -1
- package/dist/simulation/blood-gems.js.map +1 -1
- package/dist/simulation/cards-in-hand.d.ts +7 -1
- package/dist/simulation/cards-in-hand.js +14 -0
- package/dist/simulation/cards-in-hand.js.map +1 -1
- package/dist/simulation/damage-effects.js +1 -1
- package/dist/simulation/damage-effects.js.map +1 -1
- package/dist/simulation/deathrattle-effects.d.ts +1 -1
- package/dist/simulation/deathrattle-effects.js +498 -516
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-on-trigger.d.ts +1 -0
- package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.d.ts +2 -0
- package/dist/simulation/deathrattle-spawns.js +324 -384
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/deathrattle-utils.js +1 -1
- package/dist/simulation/deathrattle-utils.js.map +1 -1
- package/dist/simulation/frenzy.js +1 -1
- package/dist/simulation/frenzy.js.map +1 -1
- package/dist/simulation/magnetize.js.map +1 -1
- package/dist/simulation/on-attack.d.ts +13 -1
- package/dist/simulation/on-attack.js +21 -1
- package/dist/simulation/on-attack.js.map +1 -1
- package/dist/simulation/on-being-attacked.js +7 -4
- package/dist/simulation/on-being-attacked.js.map +1 -1
- package/dist/simulation/simulator.js +1 -1
- package/dist/simulation/simulator.js.map +1 -1
- package/dist/simulation/start-of-combat/soc-action-processor.js +6 -4
- package/dist/simulation/start-of-combat/soc-action-processor.js.map +1 -1
- package/dist/simulation/stats.d.ts +8 -0
- package/dist/simulation/stats.js +21 -4
- package/dist/simulation/stats.js.map +1 -1
- package/dist/temp-card-ids.d.ts +70 -0
- package/dist/temp-card-ids.js.map +1 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.js +30 -36
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/divine-shield.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forest-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/forest-rover.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AACjF,qDAAwD;AAI3C,QAAA,WAAW,GAAyC;IAChE,OAAO,EAAE,gCAAoD;IAC7D,gBAAgB,EAAE,CAAC,UAAuB,EAAE,KAAgC,EAA0B,EAAE;QACvG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,oBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAA,4CAAuB,iBAA0B,cAAc,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IACD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,oBAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3F,KAAK,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAoD,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;aACrG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAA,mBAAW,EAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard, DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const ForestRover: DeathrattleSpawnCard & BattlecryCard = {\r\n\tcardIds: [TempCardIds.ForestRover, TempCardIds.ForestRover_G],\r\n\tdeathrattleSpawn: (deadEntity: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst numberOfSpawns = deadEntity.cardId === TempCardIds.ForestRover_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(TempCardIds.BeetleToken, numberOfSpawns, input);\r\n\t},\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.ForestRover_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.BeetleAttackBuff = input.hero.globalInfo.BeetleAttackBuff + 2 * mult;\r\n\t\tinput.hero.globalInfo.BeetleHealthBuff = input.hero.globalInfo.BeetleHealthBuff + 1 * mult;\r\n\t\tinput.board\r\n\t\t\t.filter((e) => [TempCardIds.BeetleToken, TempCardIds.BeetleToken_G].includes(e.cardId as TempCardIds))\r\n\t\t\t.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, 2 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t});\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FountainChiller = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../services/utils");
|
|
6
|
+
const stats_1 = require("../../../simulation/stats");
|
|
7
|
+
const utils_2 = require("../../../utils");
|
|
8
|
+
const cards_data_1 = require("../../cards-data");
|
|
9
|
+
exports.FountainChiller = {
|
|
10
|
+
cardIds: ["FountainChiller", "FountainChiller_G"],
|
|
11
|
+
battlecry: (minion, input) => {
|
|
12
|
+
const mult = minion.cardId === "FountainChiller_G" ? 2 : 1;
|
|
13
|
+
let totalKeywords = 0;
|
|
14
|
+
for (const bonusKeyword of cards_data_1.validBonusKeywords) {
|
|
15
|
+
if (input.board.some((e) => (0, cards_data_1.hasKeyword)(e, bonusKeyword))) {
|
|
16
|
+
totalKeywords++;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const candidates = input.board.filter((e) => (0, utils_2.hasCorrectTribe)(e, input.hero, reference_data_1.Race.MURLOC, input.gameState.allCards));
|
|
20
|
+
const target = (0, utils_1.pickRandom)(candidates);
|
|
21
|
+
if (!!target) {
|
|
22
|
+
(0, stats_1.modifyStats)(target, totalKeywords * mult, totalKeywords * mult, input.board, input.hero, input.gameState);
|
|
23
|
+
input.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=fountain-chiller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fountain-chiller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fountain-chiller.ts"],"names":[],"mappings":";;;AAAA,iEAAoD;AAEpD,mDAAqD;AAErD,qDAAwD;AAExD,0CAAiD;AAEjD,iDAAkE;AAErD,QAAA,eAAe,GAAkB;IAC7C,OAAO,EAAE,wCAA4D;IACrE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,wBAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;YAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE;gBACzD,aAAa,EAAE,CAAC;aAChB;SACD;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACrE,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,EAAE;YACb,IAAA,mBAAW,EAAC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1G,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACxG;IACF,CAAC;CACD,CAAC","sourcesContent":["import { Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nexport const FountainChiller: BattlecryCard = {\r\n\tcardIds: [TempCardIds.FountainChiller, TempCardIds.FountainChiller_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst mult = minion.cardId === TempCardIds.FountainChiller_G ? 2 : 1;\r\n\t\tlet totalKeywords = 0;\r\n\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\tif (input.board.some((e) => hasKeyword(e, bonusKeyword))) {\r\n\t\t\t\ttotalKeywords++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst candidates = input.board.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.hero, Race.MURLOC, input.gameState.allCards),\r\n\t\t);\r\n\t\tconst target = pickRandom(candidates);\r\n\t\tif (!!target) {\r\n\t\t\tmodifyStats(target, totalKeywords * mult, totalKeywords * mult, input.board, input.hero, input.gameState);\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(minion, target, input.board, input.hero, input.otherHero);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GemRat = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.GemRat = {
|
|
6
|
+
cardIds: ["", ""],
|
|
7
|
+
endOfTurn: (minion, input) => {
|
|
8
|
+
const cards = minion.cardId === "" ? ["", ""] : [""];
|
|
9
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=gem-rat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gem-rat.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gem-rat.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAItD,QAAA,MAAM,GAAkB;IACpC,OAAO,EAAE,QAA0C;IACnD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,OAAyB,CAAC,CAAC,CAAC,QAAwC,CAAC,CAAC,CAAC,IAAoB,CAAC;QAC1G,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { EndOfTurnCard, EndOfTurnInput } from '../../card.interface';\r\n\r\nexport const GemRat: EndOfTurnCard = {\r\n\tcardIds: [TempCardIds.GemRat, TempCardIds.GemRat_G],\r\n\tendOfTurn: (minion: BoardEntity, input: EndOfTurnInput) => {\r\n\t\tconst cards =\r\n\t\t\tminion.cardId === TempCardIds.GemRat_G ? [TempCardIds.GemDay, TempCardIds.GemDay] : [TempCardIds.GemDay];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GentleDjinni = void 0;
|
|
4
|
+
const utils_1 = require("../../../services/utils");
|
|
5
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
6
|
+
exports.GentleDjinni = {
|
|
7
|
+
cardIds: ["BGS_121", "TB_BaconUps_165"],
|
|
8
|
+
battlecry: (minion, input) => {
|
|
9
|
+
const cards = [];
|
|
10
|
+
const numberOfCards = minion.cardId === "TB_BaconUps_165" ? 2 : 1;
|
|
11
|
+
for (let i = 0; i < numberOfCards; i++) {
|
|
12
|
+
cards.push((0, utils_1.pickRandom)(input.gameState.cardsData.gentleDjinniSpawns));
|
|
13
|
+
}
|
|
14
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
15
|
+
},
|
|
16
|
+
deathrattleEffect: (minion, input) => {
|
|
17
|
+
const cards = [];
|
|
18
|
+
const numberOfCards = minion.cardId === "TB_BaconUps_165" ? 2 : 1;
|
|
19
|
+
for (let i = 0; i < numberOfCards; i++) {
|
|
20
|
+
cards.push((0, utils_1.pickRandom)(input.gameState.cardsData.gentleDjinniSpawns));
|
|
21
|
+
}
|
|
22
|
+
(0, cards_in_hand_1.addCardsInHand)(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=gentle-djinni.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gentle-djinni.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gentle-djinni.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AAErD,qEAAmE;AAItD,QAAA,YAAY,GAA0C;IAClE,OAAO,EAAE,8BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,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,kBAAkB,CAAC,CAAC,CAAC;SACrE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,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,kBAAkB,CAAC,CAAC,CAAC;SACrE;QACD,IAAA,8BAAc,EAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { BattlecryCard, DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const GentleDjinni: BattlecryCard & DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.GentleDjinni_BGS_121, CardIds.GentleDjinni_TB_BaconUps_165],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.GentleDjinni_TB_BaconUps_165 ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.gentleDjinniSpawns));\r\n\t\t}\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst cards = [];\r\n\t\tconst numberOfCards = minion.cardId === CardIds.GentleDjinni_TB_BaconUps_165 ? 2 : 1;\r\n\t\tfor (let i = 0; i < numberOfCards; i++) {\r\n\t\t\tcards.push(pickRandom(input.gameState.cardsData.gentleDjinniSpawns));\r\n\t\t}\r\n\t\taddCardsInHand(input.boardWithDeadEntityHero, input.boardWithDeadEntity, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GoldrinnTheGreatWolf = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.GoldrinnTheGreatWolf = {
|
|
7
|
+
cardIds: ["BGS_018", "TB_BaconUps_085"],
|
|
8
|
+
deathrattleEffect: (minion, input) => {
|
|
9
|
+
const goldrinnBuff = minion.cardId === "TB_BaconUps_085" ? 6 : 3;
|
|
10
|
+
(0, utils_1.addStatsToBoard)(minion, input.boardWithDeadEntity, input.boardWithDeadEntityHero, goldrinnBuff, goldrinnBuff, input.gameState, reference_data_1.Race[reference_data_1.Race.BEAST]);
|
|
11
|
+
input.boardWithDeadEntityHero.globalInfo.GoldrinnBuffAtk += goldrinnBuff;
|
|
12
|
+
input.boardWithDeadEntityHero.globalInfo.GoldrinnBuffHealth += goldrinnBuff;
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=goldrinn-the-great-wolf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goldrinn-the-great-wolf.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/goldrinn-the-great-wolf.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,oBAAoB,GAA0B;IAC1D,OAAO,EAAE,8BAAoF;IAC7F,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,sBAAiD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,YAAY,EACZ,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,KAAK,CAAC,CAChB,CAAC;QACF,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,eAAe,IAAI,YAAY,CAAC;QACzE,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,kBAAkB,IAAI,YAAY,CAAC;IAC7E,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { DeathrattleEffectCard } from '../../card.interface';\r\n\r\nexport const GoldrinnTheGreatWolf: DeathrattleEffectCard = {\r\n\tcardIds: [CardIds.GoldrinnTheGreatWolf_BGS_018, CardIds.GoldrinnTheGreatWolf_TB_BaconUps_085],\r\n\tdeathrattleEffect: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst goldrinnBuff = minion.cardId === CardIds.GoldrinnTheGreatWolf_TB_BaconUps_085 ? 6 : 3;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.boardWithDeadEntity,\r\n\t\t\tinput.boardWithDeadEntityHero,\r\n\t\t\tgoldrinnBuff,\r\n\t\t\tgoldrinnBuff,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.BEAST],\r\n\t\t);\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.GoldrinnBuffAtk += goldrinnBuff;\r\n\t\tinput.boardWithDeadEntityHero.globalInfo.GoldrinnBuffHealth += goldrinnBuff;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GrittyHeadhunter = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.GrittyHeadhunter = {
|
|
6
|
+
cardIds: ["GrittyHeadhunter", "GrittyHeadhunter_G"],
|
|
7
|
+
battlecry: (entity, input) => {
|
|
8
|
+
const cards = entity.cardId === "GrittyHeadhunter_G"
|
|
9
|
+
? ["MaraudersContract", "MaraudersContract"]
|
|
10
|
+
: ["MaraudersContract"];
|
|
11
|
+
(0, cards_in_hand_1.addCardsInHand)(input.hero, input.board, cards, input.gameState);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=gritty-headhunter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gritty-headhunter.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/gritty-headhunter.ts"],"names":[],"mappings":";;;AAEA,qEAAmE;AAItD,QAAA,gBAAgB,GAAkB;IAC9C,OAAO,EAAE,0CAA8D;IACvE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,MAAM,KAAK,GACV,MAAM,CAAC,MAAM,yBAAmC;YAC/C,CAAC,CAAC,0CAA8D;YAChE,CAAC,CAAC,qBAA+B,CAAC;QACpC,IAAA,8BAAc,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\n\r\nexport const GrittyHeadhunter: BattlecryCard = {\r\n\tcardIds: [TempCardIds.GrittyHeadhunter, TempCardIds.GrittyHeadhunter_G],\r\n\tbattlecry: (entity: BoardEntity, input: BattlecryInput) => {\r\n\t\tconst cards =\r\n\t\t\tentity.cardId === TempCardIds.GrittyHeadhunter_G\r\n\t\t\t\t? [TempCardIds.MaraudersContract, TempCardIds.MaraudersContract]\r\n\t\t\t\t: [TempCardIds.MaraudersContract];\r\n\t\taddCardsInHand(input.hero, input.board, cards, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Hackerfin = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
const cards_data_1 = require("../../cards-data");
|
|
6
|
+
exports.Hackerfin = {
|
|
7
|
+
cardIds: ["Hackerfin", "Hackerfin_G"],
|
|
8
|
+
battlecry: (minion, input) => {
|
|
9
|
+
for (const entity of input.board) {
|
|
10
|
+
const mult = minion.cardId === "Hackerfin_G" ? 2 : 1;
|
|
11
|
+
let totalKeywords = 0;
|
|
12
|
+
for (const bonusKeyword of cards_data_1.validBonusKeywords) {
|
|
13
|
+
if ((0, cards_data_1.hasKeyword)(entity, bonusKeyword)) {
|
|
14
|
+
totalKeywords++;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
(0, stats_1.modifyStats)(minion, totalKeywords * mult * 2, totalKeywords * mult * 2, input.board, input.hero, input.gameState);
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=hackerfin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hackerfin.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hackerfin.ts"],"names":[],"mappings":";;;AAEA,qDAAwD;AAGxD,iDAAkE;AAErD,QAAA,SAAS,GAAkB;IACvC,OAAO,EAAE,4BAAgD;IACzD,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,YAAY,IAAI,+BAAkB,EAAE;gBAC9C,IAAI,IAAA,uBAAU,EAAC,MAAM,EAAE,YAAY,CAAC,EAAE;oBACrC,aAAa,EAAE,CAAC;iBAChB;aACD;YACD,IAAA,mBAAW,EACV,MAAM,EACN,aAAa,GAAG,IAAI,GAAG,CAAC,EACxB,aAAa,GAAG,IAAI,GAAG,CAAC,EACxB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CACf,CAAC;SACF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { BattlecryInput } from '../../../simulation/battlecries';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { BattlecryCard } from '../../card.interface';\r\nimport { hasKeyword, validBonusKeywords } from '../../cards-data';\r\n\r\nexport const Hackerfin: BattlecryCard = {\r\n\tcardIds: [TempCardIds.Hackerfin, TempCardIds.Hackerfin_G],\r\n\tbattlecry: (minion: BoardEntity, input: BattlecryInput) => {\r\n\t\tfor (const entity of input.board) {\r\n\t\t\tconst mult = minion.cardId === TempCardIds.Hackerfin_G ? 2 : 1;\r\n\t\t\tlet totalKeywords = 0;\r\n\t\t\tfor (const bonusKeyword of validBonusKeywords) {\r\n\t\t\t\tif (hasKeyword(entity, bonusKeyword)) {\r\n\t\t\t\t\ttotalKeywords++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmodifyStats(\r\n\t\t\t\tminion,\r\n\t\t\t\ttotalKeywords * mult * 2,\r\n\t\t\t\ttotalKeywords * mult * 2,\r\n\t\t\t\tinput.board,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tinput.gameState,\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandlessForsaken = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.HandlessForsaken = {
|
|
6
|
+
cardIds: ["BG25_010", "BG25_010_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG25_010" ? 1 : 2;
|
|
9
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG25_010t", mult, input);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=handless-forsaken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handless-forsaken.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/handless-forsaken.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,eAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,IAAA,4CAAuB,eAAsD,IAAI,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const HandlessForsaken: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.HandlessForsaken_BG25_010, CardIds.HandlessForsaken_BG25_010_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.HandlessForsaken_BG25_010 ? 1 : 2;\r\n\t\treturn simplifiedSpawnEntities(CardIds.HandlessForsaken_HelpingHandToken_BG25_010t, mult, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HarmlessBonehead = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.HarmlessBonehead = {
|
|
6
|
+
cardIds: ["BG28_300", "BG28_300_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const mult = minion.cardId === "BG28_300_G" ? 2 : 1;
|
|
9
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)("BG_ICC_026t", 2 * mult, input);
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=harmless-bonehead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harmless-bonehead.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/harmless-bonehead.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAA,4CAAuB,iBAAwB,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const HarmlessBonehead: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.HarmlessBonehead_BG28_300, CardIds.HarmlessBonehead_BG28_300_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tconst mult = minion.cardId === CardIds.HarmlessBonehead_BG28_300_G ? 2 : 1;\r\n\t\treturn simplifiedSpawnEntities(CardIds.SkeletonToken, 2 * mult, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HoloRover = void 0;
|
|
4
|
+
const cards_in_hand_1 = require("../../../simulation/cards-in-hand");
|
|
5
|
+
exports.HoloRover = {
|
|
6
|
+
cardIds: ["HoloRover", "HoloRover_G"],
|
|
7
|
+
onAttack: (minion, input) => {
|
|
8
|
+
const numberOfCard = minion.cardId === "HoloRover_G" ? 2 : 1;
|
|
9
|
+
for (let i = 0; i < numberOfCard; i++) {
|
|
10
|
+
const magneticMech = input.gameState.cardsData.getRandomMechToMagnetize(input.attackingHero.tavernTier);
|
|
11
|
+
(0, cards_in_hand_1.addCardsInHand)(input.attackingHero, input.attackingBoard, [magneticMech], input.gameState);
|
|
12
|
+
}
|
|
13
|
+
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=holo-rover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"holo-rover.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/holo-rover.ts"],"names":[],"mappings":";;;AACA,qEAAmE;AAKtD,QAAA,SAAS,GAAiB;IACtC,OAAO,EAAE,4BAAgD;IACzD,QAAQ,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAA4D,EAAE;QACjH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,kBAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,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 { BoardEntity } from '../../../board-entity';\r\nimport { addCardsInHand } from '../../../simulation/cards-in-hand';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport { OnAttackCard } from '../../card.interface';\r\n\r\nexport const HoloRover: OnAttackCard = {\r\n\tcardIds: [TempCardIds.HoloRover, TempCardIds.HoloRover_G],\r\n\tonAttack: (minion: BoardEntity, input: OnAttackInput): { dmgDoneByAttacker: number; dmgDoneByDefender: number } => {\r\n\t\tconst numberOfCard = minion.cardId === TempCardIds.HoloRover_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,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const HummingBird: {
|
|
4
|
-
startOfCombat: (minion: BoardEntity, input: SoCInput) => boolean;
|
|
5
|
-
};
|
|
1
|
+
import { StartOfCombatCard } from '../../card.interface';
|
|
2
|
+
export declare const HummingBird: StartOfCombatCard;
|
|
@@ -5,6 +5,7 @@ const reference_data_1 = require("@firestone-hs/reference-data");
|
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
const attackGranted = 1;
|
|
7
7
|
exports.HummingBird = {
|
|
8
|
+
cardIds: ["BG26_805", "BG26_805_G"],
|
|
8
9
|
startOfCombat: (minion, input) => {
|
|
9
10
|
const multiplier = minion.cardId === "BG26_805_G" ? 2 : 1;
|
|
10
11
|
(0, utils_1.addStatsToBoard)(minion, input.playerBoard, input.playerEntity, attackGranted * multiplier, 0, input.gameState, reference_data_1.Race[reference_data_1.Race.BEAST]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"humming-bird.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/humming-bird.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;
|
|
1
|
+
{"version":3,"file":"humming-bird.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/humming-bird.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGjD,MAAM,aAAa,GAAG,CAAC,CAAC;AAEX,QAAA,WAAW,GAAsB;IAC7C,OAAO,EAAE,0BAA8D;IACvE,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,aAAa,GAAG,UAAU,EAC1B,CAAC,EACD,KAAK,CAAC,SAAS,EACf,qBAAI,CAAC,qBAAI,CAAC,KAAK,CAAC,CAChB,CAAC;QACF,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,IAAI,aAAa,GAAG,UAAU,CAAC;QAC5E,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { addStatsToBoard } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nconst attackGranted = 1;\r\n\r\nexport const HummingBird: StartOfCombatCard = {\r\n\tcardIds: [CardIds.HummingBird_BG26_805, CardIds.HummingBird_BG26_805_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst multiplier = minion.cardId === CardIds.HummingBird_BG26_805_G ? 2 : 1;\r\n\t\taddStatsToBoard(\r\n\t\t\tminion,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tattackGranted * multiplier,\r\n\t\t\t0,\r\n\t\t\tinput.gameState,\r\n\t\t\tRace[Race.BEAST],\r\n\t\t);\r\n\t\tinput.playerEntity.globalInfo.GoldrinnBuffAtk += attackGranted * multiplier;\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HungrySnapjaw = void 0;
|
|
4
|
+
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const stats_1 = require("../../../simulation/stats");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
exports.HungrySnapjaw = {
|
|
8
|
+
cardIds: ["BG26_370", "BG26_370_G"],
|
|
9
|
+
afterOtherSpawned: (minion, input) => {
|
|
10
|
+
const mult = minion.cardId === "BG26_370_G" ? 2 : 1;
|
|
11
|
+
if ((0, utils_1.hasCorrectTribe)(input.spawned, input.playerEntity, reference_data_1.Race.BEAST, input.gameState.allCards) &&
|
|
12
|
+
minion.entityId !== input.spawned.entityId) {
|
|
13
|
+
(0, stats_1.modifyStats)(minion, 0, 1 * mult, input.playerBoard, input.playerEntity, input.gameState);
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=hungry-snapjaw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hungry-snapjaw.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/hungry-snapjaw.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,aAAa,GAA0B;IACnD,OAAO,EAAE,0BAAkE;IAC3E,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAwB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IACC,IAAA,uBAAe,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;YACxF,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,EACzC;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACzF;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnOtherSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterOtherSpawnedCard } from '../../card.interface';\r\n\r\nexport const HungrySnapjaw: AfterOtherSpawnedCard = {\r\n\tcardIds: [CardIds.HungrySnapjaw_BG26_370, CardIds.HungrySnapjaw_BG26_370_G],\r\n\tafterOtherSpawned: (minion: BoardEntity, input: OnOtherSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.HungrySnapjaw_BG26_370_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(input.spawned, input.playerEntity, Race.BEAST, input.gameState.allCards) &&\r\n\t\t\tminion.entityId !== input.spawned.entityId\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, 0, 1 * mult, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { OnDivineShieldUpdatedCard, OnRebornUpdatedCard, OnStealthUpdatedCard, OnTauntUpdatedCard, OnVenomousUpdatedCard, OnWindfuryUpdatedCard } from '../../card.interface';
|
|
2
|
+
export declare const ImplantSubject: OnTauntUpdatedCard & OnDivineShieldUpdatedCard & OnVenomousUpdatedCard & OnWindfuryUpdatedCard & OnStealthUpdatedCard & OnRebornUpdatedCard;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImplantSubject = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
exports.ImplantSubject = {
|
|
6
|
+
cardIds: ["ImplantSubject", "ImplantSubject_G"],
|
|
7
|
+
onTauntUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
8
|
+
if (previousValue && !impactedEntity.taunt) {
|
|
9
|
+
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
onDivineShieldUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
13
|
+
if (previousValue && !impactedEntity.divineShield) {
|
|
14
|
+
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
onRebornUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
18
|
+
if (previousValue && !impactedEntity.reborn) {
|
|
19
|
+
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
onStealthUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
23
|
+
if (previousValue && !impactedEntity.stealth) {
|
|
24
|
+
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
onVenomousUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
28
|
+
if (previousValue && !impactedEntity.venomous) {
|
|
29
|
+
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
onWindfuryUpdated: (entity, impactedEntity, previousValue, input) => {
|
|
33
|
+
if (previousValue && !impactedEntity.windfury) {
|
|
34
|
+
updateEntity(entity, input.board, input.hero, input.gameState);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const updateEntity = (entity, board, hero, gameState) => {
|
|
39
|
+
const mult = entity.cardId === "ImplantSubject_G" ? 2 : 1;
|
|
40
|
+
(0, stats_1.modifyStats)(entity, mult * 2, mult * 2, board, hero, gameState);
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=implant-subject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implant-subject.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/implant-subject.ts"],"names":[],"mappings":";;;AAMA,qDAAwD;AAW3C,QAAA,cAAc,GAKJ;IACtB,OAAO,EAAE,sCAA0D;IACnE,cAAc,EAAE,CACf,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA0B,EACzB,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,qBAAqB,EAAE,CACtB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAAiC,EAChC,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClD,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,eAAe,EAAE,CAChB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC5C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,gBAAgB,EAAE,CACjB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC7C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;IACD,iBAAiB,EAAE,CAClB,MAAmB,EACnB,cAA2B,EAC3B,aAAsB,EACtB,KAA2B,EAC1B,EAAE;QACH,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/D;IACF,CAAC;CACD,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,KAAoB,EAAE,IAAqB,EAAE,SAAwB,EAAE,EAAE;IACnH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,uBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC","sourcesContent":["import { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDivineShieldUpdatedInput } from '../../../keywords/divine-shield';\r\nimport { OnRebornUpdatedInput } from '../../../keywords/reborn';\r\nimport { OnTauntUpdatedInput } from '../../../keywords/taunt';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { TempCardIds } from '../../../temp-card-ids';\r\nimport {\r\n\tOnDivineShieldUpdatedCard,\r\n\tOnRebornUpdatedCard,\r\n\tOnStealthUpdatedCard,\r\n\tOnTauntUpdatedCard,\r\n\tOnVenomousUpdatedCard,\r\n\tOnWindfuryUpdatedCard,\r\n} from '../../card.interface';\r\n\r\nexport const ImplantSubject: OnTauntUpdatedCard &\r\n\tOnDivineShieldUpdatedCard &\r\n\tOnVenomousUpdatedCard &\r\n\tOnWindfuryUpdatedCard &\r\n\tOnStealthUpdatedCard &\r\n\tOnRebornUpdatedCard = {\r\n\tcardIds: [TempCardIds.ImplantSubject, TempCardIds.ImplantSubject_G],\r\n\tonTauntUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnTauntUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.taunt) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonDivineShieldUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnDivineShieldUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.divineShield) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonRebornUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.reborn) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonStealthUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.stealth) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonVenomousUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.venomous) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n\tonWindfuryUpdated: (\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t) => {\r\n\t\tif (previousValue && !impactedEntity.windfury) {\r\n\t\t\tupdateEntity(entity, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst updateEntity = (entity: BoardEntity, board: BoardEntity[], hero: BgsPlayerEntity, gameState: FullGameState) => {\r\n\tconst mult = entity.cardId === TempCardIds.ImplantSubject_G ? 2 : 1;\r\n\tmodifyStats(entity, mult * 2, mult * 2, board, hero, gameState);\r\n};\r\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IndomitableMount = void 0;
|
|
4
|
+
const utils_1 = require("../../../services/utils");
|
|
5
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
6
|
+
exports.IndomitableMount = {
|
|
7
|
+
cardIds: ["BG30_105", "BG30_105_G"],
|
|
8
|
+
deathrattleSpawn: (minion, input) => {
|
|
9
|
+
const tiersToSummon = [3, 4, 5];
|
|
10
|
+
const output = [];
|
|
11
|
+
for (const tier of tiersToSummon) {
|
|
12
|
+
const candidates = input.gameState.cardsData.beastSpawns.filter((id) => input.gameState.allCards.getCard(id).techLevel === tier);
|
|
13
|
+
let spawnId = (0, utils_1.pickRandom)(candidates);
|
|
14
|
+
if (minion.cardId === "BG30_105_G") {
|
|
15
|
+
const premiumDbfId = input.gameState.allCards.getCard(spawnId).battlegroundsPremiumDbfId;
|
|
16
|
+
spawnId = input.gameState.allCards.getCard(premiumDbfId).id;
|
|
17
|
+
}
|
|
18
|
+
output.push(...(0, deathrattle_spawns_1.simplifiedSpawnEntities)(spawnId, 1, input));
|
|
19
|
+
}
|
|
20
|
+
return output;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=indomitable-mount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indomitable-mount.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/indomitable-mount.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AAErD,+EAAiF;AAGpE,QAAA,gBAAgB,GAAyB;IACrD,OAAO,EAAE,0BAAwE;IACjF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;YACjC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAC9D,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,CAC/D,CAAC;YACF,IAAI,OAAO,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,MAAM,iBAAwC,EAAE;gBAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC;gBACzF,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;aAC5D;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,4CAAuB,EAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SAC3D;QACD,OAAO,MAAM,CAAC;IACf,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 { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const IndomitableMount: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.IndomitableMount_BG30_105, CardIds.IndomitableMount_BG30_105_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst tiersToSummon = [3, 4, 5];\r\n\t\tconst output = [];\r\n\t\tfor (const tier of tiersToSummon) {\r\n\t\t\tconst candidates = input.gameState.cardsData.beastSpawns.filter(\r\n\t\t\t\t(id) => input.gameState.allCards.getCard(id).techLevel === tier,\r\n\t\t\t);\r\n\t\t\tlet spawnId = pickRandom(candidates);\r\n\t\t\tif (minion.cardId === CardIds.IndomitableMount_BG30_105_G) {\r\n\t\t\t\tconst premiumDbfId = input.gameState.allCards.getCard(spawnId).battlegroundsPremiumDbfId;\r\n\t\t\t\tspawnId = input.gameState.allCards.getCard(premiumDbfId).id;\r\n\t\t\t}\r\n\t\t\toutput.push(...simplifiedSpawnEntities(spawnId, 1, input));\r\n\t\t}\r\n\t\treturn output;\r\n\t},\r\n};\r\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InterrogatorWhitemane = void 0;
|
|
4
|
+
const taunt_1 = require("../../../keywords/taunt");
|
|
4
5
|
const utils_1 = require("../../../services/utils");
|
|
5
6
|
exports.InterrogatorWhitemane = {
|
|
6
7
|
startOfCombat: (minion, input) => {
|
|
@@ -10,7 +11,7 @@ exports.InterrogatorWhitemane = {
|
|
|
10
11
|
for (let i = 0; i < numberOfPicks; i++) {
|
|
11
12
|
const target = (0, utils_1.pickRandom)(validTargets);
|
|
12
13
|
if (!!target) {
|
|
13
|
-
castImpure(target, minion, input.playerBoard, input.gameState
|
|
14
|
+
castImpure(target, minion, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
14
15
|
const targetIndex = validTargets.findIndex((e) => e.entityId === target.entityId);
|
|
15
16
|
validTargets.splice(targetIndex, 1);
|
|
16
17
|
}
|
|
@@ -19,15 +20,15 @@ exports.InterrogatorWhitemane = {
|
|
|
19
20
|
return true;
|
|
20
21
|
},
|
|
21
22
|
};
|
|
22
|
-
const castImpure = (entity, source, board,
|
|
23
|
+
const castImpure = (entity, source, board, hero, otherHero, gameState) => {
|
|
23
24
|
var _a;
|
|
24
25
|
if (!entity) {
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
28
|
const multiplier = source.cardId === "BG24_704_G" ? 3 : 2;
|
|
28
|
-
entity
|
|
29
|
+
(0, taunt_1.updateTaunt)(entity, true, board, hero, otherHero, gameState);
|
|
29
30
|
entity.damageMultiplier = (_a = entity.damageMultiplier) !== null && _a !== void 0 ? _a : 1;
|
|
30
31
|
entity.damageMultiplier *= multiplier;
|
|
31
|
-
spectator.registerPowerTarget(source, entity, board, null, null);
|
|
32
|
+
gameState.spectator.registerPowerTarget(source, entity, board, null, null);
|
|
32
33
|
};
|
|
33
34
|
//# sourceMappingURL=interrogator-whitemane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrogator-whitemane.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/interrogator-whitemane.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interrogator-whitemane.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/interrogator-whitemane.ts"],"names":[],"mappings":";;;AAGA,mDAAsD;AACtD,mDAAqD;AAIxC,QAAA,qBAAqB,GAAG;IACpC,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9D,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,MAAM,EAAE;oBACb,UAAU,CACT,MAAM,EACN,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;oBACF,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClF,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACpC;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC;AAEF,MAAM,UAAU,GAAG,CAClB,MAAmB,EACnB,MAAmB,EACnB,KAAoB,EACpB,IAAqB,EACrB,SAA0B,EAC1B,SAAwB,EACvB,EAAE;;IACH,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO;KACP;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,CAAC,gBAAgB,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC;IACtC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../../../bgs-player-entity';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { FullGameState } from '../../../simulation/internal-game-state';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\n\r\nexport const InterrogatorWhitemane = {\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (input.opponentBoard.length > 0) {\r\n\t\t\tconst validTargets = input.opponentBoard.filter(\r\n\t\t\t\t(e) => input.gameState.cardsData.getTavernLevel(e.cardId) >= 5,\r\n\t\t\t);\r\n\t\t\tconst numberOfPicks = minion.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 2 : 1;\r\n\t\t\tfor (let i = 0; i < numberOfPicks; i++) {\r\n\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\tif (!!target) {\r\n\t\t\t\t\tcastImpure(\r\n\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\tminion,\r\n\t\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\t\tinput.gameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst targetIndex = validTargets.findIndex((e) => e.entityId === target.entityId);\r\n\t\t\t\t\tvalidTargets.splice(targetIndex, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n\r\nconst castImpure = (\r\n\tentity: BoardEntity,\r\n\tsource: BoardEntity,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n) => {\r\n\tif (!entity) {\r\n\t\treturn;\r\n\t}\r\n\tconst multiplier = source.cardId === CardIds.InterrogatorWhitemane_BG24_704_G ? 3 : 2;\r\n\tupdateTaunt(entity, true, board, hero, otherHero, gameState);\r\n\tentity.damageMultiplier = entity.damageMultiplier ?? 1;\r\n\tentity.damageMultiplier *= multiplier;\r\n\tgameState.spectator.registerPowerTarget(source, entity, board, null, null);\r\n};\r\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KarmicChameleon = void 0;
|
|
4
|
+
const golden_1 = require("../../../simulation/utils/golden");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.KarmicChameleon = {
|
|
7
|
+
cardIds: ["BG31_802", "BG31_802_G"],
|
|
8
|
+
baseAvengeValue: (cardId) => 5,
|
|
9
|
+
avenge: (minion, input) => {
|
|
10
|
+
const chameleonIndex = input.board.findIndex((entity) => entity.entityId === minion.entityId);
|
|
11
|
+
if (chameleonIndex > 0) {
|
|
12
|
+
const minionToTheLeft = input.board[chameleonIndex - 1];
|
|
13
|
+
const clone = (0, utils_1.addImpliedMechanics)({
|
|
14
|
+
...minionToTheLeft,
|
|
15
|
+
lastAffectedByEntity: null,
|
|
16
|
+
definitelyDead: false,
|
|
17
|
+
attackImmediately: false,
|
|
18
|
+
}, input.gameState.cardsData);
|
|
19
|
+
if (minion.cardId === "BG31_802_G") {
|
|
20
|
+
(0, golden_1.makeMinionGolden)(clone, minion, input.board, input.hero, input.otherHero, input.gameState);
|
|
21
|
+
}
|
|
22
|
+
input.gameState.spectator.registerPowerTarget(clone, clone, input.board, input.hero, input.otherHero);
|
|
23
|
+
input.board.splice(chameleonIndex, 1, clone);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=karmic-chameleon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"karmic-chameleon.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/karmic-chameleon.ts"],"names":[],"mappings":";;;AAGA,6DAAoE;AACpE,0CAAqD;AAGxC,QAAA,eAAe,GAAe;IAC1C,OAAO,EAAE,0BAAsE;IAC/E,eAAe,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9F,IAAI,cAAc,GAAG,CAAC,EAAE;YACvB,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAgB,IAAA,2BAAmB,EAC7C;gBACC,GAAG,eAAe;gBAClB,oBAAoB,EAAE,IAAI;gBAC1B,cAAc,EAAE,KAAK;gBACrB,iBAAiB,EAAE,KAAK;aACxB,EACD,KAAK,CAAC,SAAS,CAAC,SAAS,CACzB,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,iBAAuC,EAAE;gBACzD,IAAA,yBAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC3F;YACD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SAC7C;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { makeMinionGolden } from '../../../simulation/utils/golden';\r\nimport { addImpliedMechanics } from '../../../utils';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const KarmicChameleon: AvengeCard = {\r\n\tcardIds: [CardIds.KarmicChameleon_BG31_802, CardIds.KarmicChameleon_BG31_802_G],\r\n\tbaseAvengeValue: (cardId: string) => 5,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst chameleonIndex = input.board.findIndex((entity) => entity.entityId === minion.entityId);\r\n\t\tif (chameleonIndex > 0) {\r\n\t\t\tconst minionToTheLeft = input.board[chameleonIndex - 1];\r\n\t\t\tconst clone: BoardEntity = addImpliedMechanics(\r\n\t\t\t\t{\r\n\t\t\t\t\t...minionToTheLeft,\r\n\t\t\t\t\tlastAffectedByEntity: null,\r\n\t\t\t\t\tdefinitelyDead: false,\r\n\t\t\t\t\tattackImmediately: false,\r\n\t\t\t\t},\r\n\t\t\t\tinput.gameState.cardsData,\r\n\t\t\t);\r\n\t\t\tif (minion.cardId === CardIds.KarmicChameleon_BG31_802_G) {\r\n\t\t\t\tmakeMinionGolden(clone, minion, input.board, input.hero, input.otherHero, input.gameState);\r\n\t\t\t}\r\n\t\t\tinput.gameState.spectator.registerPowerTarget(clone, clone, input.board, input.hero, input.otherHero);\r\n\t\t\tinput.board.splice(chameleonIndex, 1, clone);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Manasaber = void 0;
|
|
4
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
5
|
+
exports.Manasaber = {
|
|
6
|
+
cardIds: ["BG26_800", "BG26_800_G"],
|
|
7
|
+
deathrattleSpawn: (minion, input) => {
|
|
8
|
+
const cublingId = minion.cardId === "BG26_800_G"
|
|
9
|
+
? "BG26_800_Gt"
|
|
10
|
+
: "BG26_800t";
|
|
11
|
+
return (0, deathrattle_spawns_1.simplifiedSpawnEntities)(cublingId, 2, input);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=manasaber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manasaber.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/manasaber.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,SAAS,GAAyB;IAC9C,OAAO,EAAE,0BAA0D;IACnE,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAAE,EAAE;QAC3E,MAAM,SAAS,GACd,MAAM,CAAC,MAAM,iBAAiC;YAC7C,CAAC;YACD,CAAC,YAAyC,CAAC;QAC7C,OAAO,IAAA,4CAAuB,EAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport { simplifiedSpawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { DeathrattleSpawnCard } from '../../card.interface';\r\n\r\nexport const Manasaber: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.Manasaber_BG26_800, CardIds.Manasaber_BG26_800_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput) => {\r\n\t\tconst cublingId =\r\n\t\t\tminion.cardId === CardIds.Manasaber_BG26_800_G\r\n\t\t\t\t? CardIds.Manasaber_CublingToken_BG26_800_Gt\r\n\t\t\t\t: CardIds.Manasaber_CublingToken_BG26_800t;\r\n\t\treturn simplifiedSpawnEntities(cublingId, 2, input);\r\n\t},\r\n};\r\n"]}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MantidQueen = void 0;
|
|
4
4
|
const reference_data_1 = require("@firestone-hs/reference-data");
|
|
5
|
+
const reborn_1 = require("../../../keywords/reborn");
|
|
6
|
+
const taunt_1 = require("../../../keywords/taunt");
|
|
7
|
+
const windfury_1 = require("../../../keywords/windfury");
|
|
5
8
|
const utils_1 = require("../../../services/utils");
|
|
6
9
|
const stats_1 = require("../../../simulation/stats");
|
|
7
10
|
exports.MantidQueen = {
|
|
@@ -21,13 +24,13 @@ exports.MantidQueen = {
|
|
|
21
24
|
(0, stats_1.modifyStats)(minion, 5, 5, input.playerBoard, input.playerEntity, input.gameState);
|
|
22
25
|
break;
|
|
23
26
|
case 'reborn':
|
|
24
|
-
minion.
|
|
27
|
+
(0, reborn_1.updateReborn)(minion, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
25
28
|
break;
|
|
26
29
|
case 'taunt':
|
|
27
|
-
minion.
|
|
30
|
+
(0, taunt_1.updateTaunt)(minion, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
28
31
|
break;
|
|
29
32
|
case 'windfury':
|
|
30
|
-
minion.
|
|
33
|
+
(0, windfury_1.updateWindfury)(minion, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
|
|
31
34
|
break;
|
|
32
35
|
}
|
|
33
36
|
input.gameState.spectator.registerPowerTarget(minion, minion, input.playerBoard, input.playerEntity, input.opponentEntity);
|